Compare commits

...

No commits in common. "c8-stream-rhel8" and "a10s-riscv" have entirely different histories.

25 changed files with 876 additions and 216 deletions

17
.copr/Makefile Normal file
View File

@ -0,0 +1,17 @@
# See https://docs.pagure.org/copr.copr/user_documentation.html#make-srpm
# See for the --setopt option in the enabling of copr repo see:
# https://pagure.io/copr/copr/issue/184
COPR_USERNAME=$(shell rpm --eval %copr_username)
COPR_PROJECT=$(shell rpm --eval %copr_projectname)
.PHONY: srpm
srpm:
dnf install -y dnf-plugins-core fedora-packager
dnf copr enable -y --setopt=reposdir=/tmp/yum.repos.d $(COPR_USERNAME)/$(COPR_PROJECT)
dnf install -y --setopt=reposdir=/tmp/yum.repos.d llvm-snapshot-builder
rpmbuild \
--define "_srcrpmdir $(outdir)" \
--define "_sourcedir $(shell pwd)" \
--define "_disable_source_fetch 0" \
-bs $(spec)

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

9
.gitignore vendored
View File

@ -1,2 +1,7 @@
SOURCES/llvm-project-19.1.7.src.tar.xz
SOURCES/llvm-project-19.1.7.src.tar.xz.sig
/*.src.rpm
/*.src.tar.xz
/*.src.tar.xz.sig
/cmake/
/llvm-*.src/
/results_llvm/
/third-party/

View File

@ -1,2 +0,0 @@
6e4033d8b76a89e82220b5445bff58cdce64300e SOURCES/llvm-project-19.1.7.src.tar.xz
48f839c6e47a34a1138862a9db6274c150179532 SOURCES/llvm-project-19.1.7.src.tar.xz.sig

View File

@ -0,0 +1,51 @@
From 90a05f32166c4a45224a5eedbec9c5c7e21d2dbf Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov@redhat.com>
Date: Fri, 17 Jan 2025 09:26:49 +0100
Subject: [PATCH] [openmp] Support CET in z_Linux_asm.S (#123213)
When libomp is built with -cf-protection, add endbr instructions to the
start of functions for Intel CET support.
---
openmp/runtime/src/z_Linux_asm.S | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/openmp/runtime/src/z_Linux_asm.S b/openmp/runtime/src/z_Linux_asm.S
index cc5344cdd124..0bf9f07a13f1 100644
--- a/openmp/runtime/src/z_Linux_asm.S
+++ b/openmp/runtime/src/z_Linux_asm.S
@@ -19,6 +19,16 @@
#if KMP_ARCH_X86 || KMP_ARCH_X86_64
+# if defined(__ELF__) && defined(__CET__) && defined(__has_include)
+# if __has_include(<cet.h>)
+# include <cet.h>
+# endif
+# endif
+
+# if !defined(_CET_ENDBR)
+# define _CET_ENDBR
+# endif
+
# if KMP_MIC
// the 'delay r16/r32/r64' should be used instead of the 'pause'.
// The delay operation has the effect of removing the current thread from
@@ -66,6 +76,7 @@
ALIGN 4
.globl KMP_PREFIX_UNDERSCORE($0)
KMP_PREFIX_UNDERSCORE($0):
+ _CET_ENDBR
.endmacro
# else // KMP_OS_DARWIN
# define KMP_PREFIX_UNDERSCORE(x) x //no extra underscore for Linux* OS symbols
@@ -92,6 +103,7 @@ KMP_PREFIX_UNDERSCORE($0):
.globl KMP_PREFIX_UNDERSCORE(\proc)
KMP_PREFIX_UNDERSCORE(\proc):
.cfi_startproc
+ _CET_ENDBR
.endm
.macro KMP_CFI_DEF_OFFSET sz
.cfi_def_cfa_offset \sz
--
2.47.1

18
gating.yaml Normal file
View File

@ -0,0 +1,18 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_stable
- bodhi_update_push_stable_critpath
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier0-tmt-x86_64-aarch64.functional}
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier0-tmt-s390x-ppc64le.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build.rebuild.validation}

18
llvm.rpmlintrc Normal file
View File

@ -0,0 +1,18 @@
# This library has no dependencies.
addFilter("llvm-libs.x86_64: E: shared-lib-without-dependency-information /usr/lib64/libRemarks.so.[0-9]+")
addFilter("llvm-googletest.x86_64: W: devel-file-in-non-devel-package")
# same for llvm-test utilities
addFilter("llvm-test.x86_64: W: no-manual-page-for-binary")
# Don't warn about libs in llvm-libs
addFilter("llvm-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/lib")
# These is ok in the llvm gold plugin
addFilter("llvm-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/LLVMgold.so")
addFilter("llvm-libs.x86_64: W: no-soname /usr/lib64/LLVMgold.so")
# These are without documentation
addFilter("llvm-googletest.x86_64: W: no-documentation")
addFilter("llvm-libs.x86_64: W: no-documentation")
addFilter("llvm-static.x86_64: W: no-documentation")
addFilter("llvm-test.x86_64: W: no-documentation")

File diff suppressed because it is too large Load Diff

20
rpminspect.yaml Normal file
View File

@ -0,0 +1,20 @@
---
badfuncs:
# For compiler-rt, we allow the following forbidden functions:
# - gethostbyname
# - gethostbyname2
# - gethostbyaddr
# - inet_aton
# These are never actually used, and are installed just as interceptors.
allowed:
/usr/lib*/clang/*/lib/*/libclang_rt.?san.so:
- gethostbyaddr
- gethostbyname
- gethostbyname2
- inet_aton
/usr/lib*/clang/*/lib/*/libclang_rt.memprof.so:
- gethostbyaddr
- gethostbyname
- gethostbyname2
- inet_aton

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (llvm-project-19.1.7.src.tar.xz) = c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
SHA512 (llvm-project-19.1.7.src.tar.xz.sig) = 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda

6
tests/README.md Normal file
View File

@ -0,0 +1,6 @@
# Gating testplans for LLVM
The tests for LLVM are in a separate repo: https://src.fedoraproject.org/tests/llvm
This directory should contain only fmf plans (such as build-gating.fmf) which import
the tests from the tests repo. This can be done using the "url" parameter of the
plan's "discover" step. Reference: https://tmt.readthedocs.io/en/stable/spec/plans.html#fmf

59
tests/build-gating.fmf Normal file
View File

@ -0,0 +1,59 @@
#
# Build/PR gating tests for *LLVM 13*
#
# Compatible with various LLVM 13 distributions:
#
# * Fedora (ursine packages)
# * Centos 9 stream (ursine packages)
# * RHEL-9 (ursine packages)
# * RHEL-8 (Red Hat module)
# * RHEL-7 (software collection)
#
summary: LLVM tests for build/PR gating
adjust:
- because: "Plan to be ran when either executed locally, or executed by CI system to gate a build or PR."
when: >-
trigger is defined
and trigger != commit
and trigger != build
enabled: false
- because: "When testing SCL-ized LLVM, the collection must be enabled first"
environment+:
WITH_SCL: "scl enable llvm-toolset-13.0 rust-toolset-1.58"
when: "collection == llvm-toolset-13.0"
- because: "When testing SCL-ized LLVM, the collection must be enabled first"
environment+:
WITH_SCL: "scl enable llvm-toolset-14.0 rust-toolset-1.62"
when: "collection == llvm-toolset-14.0"
# Unfortunatelly, TMT does not support more declarative approach, we need to run commands on our own.
- because: "On CentOS, CRB must be enabled to provide rarer packages"
prepare+:
- name: Enable CRB
how: shell
script: dnf config-manager --set-enabled crb
when: >-
distro == centos
# Unfortunately, TMT does not support more declarative approach, we need to run commands on our own.
- because: "On RHEL, CRB must be enabled to provide rarer packages"
prepare+:
- name: Enable CRB
how: shell
script: dnf config-manager --set-enabled rhel-CRB
when: >-
distro == rhel-9
or distro == rhel-8
discover:
- name: llvm-tests
how: fmf
url: https://gitlab.com/redhat/centos-stream/tests/llvm.git
ref: main
execute:
how: tmt
provision:
hardware:
memory: ">= 4 GiB"