Compare commits

...

189 Commits

Author SHA1 Message Date
Fedora Release Engineering f9f0fb07de Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 12:55:16 +00:00
Tulio Magno Quites Machado Filho f9133b98bb Bump the release version 2023-07-10 18:38:50 -03:00
Nikita Popov bdb4929ebd Use LLVM_UNITTEST_LINK_FLAGS to reduce link times for unit tests
We currently spend a lot of time performing LTO on unit tests,
which is largely wasted effort. We can't disable LTO entirely,
because we don't have fat objects, but at least we can disable
post-link optimization.

For my local build, this reduces time in %build by about 30%.
2023-07-07 07:20:18 +00:00
Tulio Magno Quites Machado Filho cd99de7d35 Improve clang assembler error messages on s390x (rhbz#2216906)
Backport a patch from LLVM 17 that improves error messages from the
Clang assembler on s390x.

Also, disable LLVM_UNREACHABLE_OPTIMIZE in order to improve error
messages when llvm_unreachable() is called. There are many cases where
llvm_unreachable() is used as a error reporting function instead of the
recommended replacement for assert().

Fixes rhbz#2216906.
2023-07-03 15:09:05 -03:00
Tulio Magno Quites Machado Filho 61b03e8d59 Update to LLVM 16.0.6 2023-06-15 07:41:00 -03:00
Nikita Popov 236eac9d27 Split off llvm-cmake-utils package 2023-06-15 08:58:02 +02:00
Tulio Magno Quites Machado Filho ba5f101283 Update to LLVM 16.0.5 2023-06-05 14:26:35 -03:00
Yaakov Selkowitz bcf7ece4a8 Avoid recommonmark dependency in RHEL builds
python-recommonmark and its dependencies are unwanted in RHEL.
2023-05-22 11:57:51 -04:00
Tulio Magno Quites Machado Filho 85d29458f2 Update to LLVM 16.0.4 2023-05-18 21:54:20 -03:00
Tulio Magno Quites Machado Filho f98e61f997 Update to LLVM 16.0.3 2023-05-09 17:54:23 -03:00
Tulio Magno Quites Machado Filho 193ba1355d Update to LLVM 16.0.2 2023-04-25 17:19:37 -03:00
Nikita Popov 96037cf8ba Remove unused sources 2023-04-14 17:22:13 +02:00
Tulio Magno Quites Machado Filho 072d2198fb Update to LLVM 16.0.1 2023-04-12 17:39:44 +00:00
Jan200101 f51436a734
Stop installing gtest on compat builds 2023-04-12 14:13:53 +02:00
Tulio Magno Quites Machado Filho a4982d84f3 Stop distributing /usr/share/llvm/src/utils 2023-03-24 09:07:18 -03:00
Tulio Magno Quites Machado Filho a13a3551eb Distribute libllvm_gtest.a and libllvm_gtest_main.a with llvm-googletest 2023-03-24 09:04:53 -03:00
Tulio Magno Quites Machado Filho 0cd1abca26 Update to LLVM 16.0.0 2023-03-20 17:04:41 -03:00
Tulio Magno Quites Machado Filho 2f72d026a3 Fix the ppc64le triple 2023-03-16 22:07:43 -03:00
Tulio Magno Quites Machado Filho 59d2543cca Update the sources file 2023-03-15 09:06:18 -03:00
Tulio Magno Quites Machado Filho cc36c0869b Update to LLVM 16.0.0 RC4 2023-03-15 08:41:45 -03:00
Tulio Magno Quites Machado Filho 55d7730bb8 Fix llvm-exegesis failures on s390x 2023-03-15 08:41:45 -03:00
Tulio Magno Quites Machado Filho 3c4fee7794 Update to LLVM 16.0.0 RC3 2023-03-15 08:41:35 -03:00
Tulio Magno Quites Machado Filho 7f47caed9c Improve .gitignore
Replace many lines with a few with globs.
Add more entries in order to avoid adding files by mistake.
2023-02-16 16:43:01 -03:00
Tulio Magno Quites Machado Filho 780d2fc116 Remove unnecessary files
These files stopped being used in 2016 and are not necessary anymore.
2023-02-16 16:40:07 -03:00
Tulio Magno Quites Machado Filho a2100f44b7 Update to LLVM 16.0.0 RC1 2023-02-10 11:58:04 -03:00
Tulio Magno Quites Machado Filho 034719a43e Add the third-party source code 2023-02-01 18:49:54 -03:00
Konrad Kleine 3aef850832 Added libLLVMTestingAnnotations.a to googletest subpackage
See 3432f4bf86
2023-02-01 18:49:54 -03:00
Konrad Kleine c2901f71cb List third-party gmock/gtest files in install 2023-02-01 18:48:11 -03:00
Konrad Kleine 87fcbdde75 Manually add https://reviews.llvm.org/D137890 2023-02-01 18:48:11 -03:00
Konrad Kleine 9812a7f1ae bring back files to llvm-googletest package 2023-02-01 18:48:11 -03:00
Konrad Kleine c31ffc7ed1 Adapt to standalone third-party dir 2023-02-01 18:48:11 -03:00
Tulio Magno Quites Machado Filho b173c6109a Adopt SPDX identifiers in license
Also make it clear that Apache 2.0 with LLVM exceptions was adopted in
2019.
2023-01-19 16:45:58 -03:00
Fedora Release Engineering c92743ab8a Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 18:09:55 +00:00
Nikita Popov a20957b5eb Update to LLVM 15.0.7 2023-01-12 10:31:52 +01:00
Tom Stellard f543860321 Omit frame pointers when building 2023-01-09 20:33:24 +00:00
Nikita Popov 1862c052da Remove workaround for rbhz#2048440
It looks like this test passes now.
2022-12-19 16:35:33 +01:00
Timm Bäder 1d9fedd416 Enable LTO builds on s390x again
The PCRE limit problem has been fixed in redhat-rpm-config in
25ea080503?branch=rawhide
2022-12-05 17:07:40 +01:00
Nikita Popov 2fa672b23f Update to LLVM 15.0.6 2022-12-05 08:56:31 +01:00
Jan200101 920a8b1b56 Install cmake modules for compat builds 2022-11-15 09:40:45 +00:00
Nikita Popov 8e1f53d786 Copy CFLAGS to ASMFLAGs to enable CET in asm files 2022-11-11 10:23:47 +01:00
Nikita Popov 3c595192e2 Update to LLVM 15.0.4 2022-11-03 12:56:08 +01:00
Nikita Popov 0c4aa4a13c Remove abi_revision handling
We now longer ship rcs outside of copr, so this is no needed anymore.
2022-09-29 10:47:28 +00:00
Nikita Popov 6c4af9abec Drop GetHostTriple export again
This doesn't work by itself due to the config.guess dependency,
and I'm not longer sure this is the right approach. The runtimes
build should really be getting this from the exported
LLVM_HOST_TRIPLE variable.
2022-09-29 10:20:54 +02:00
Nikita Popov aec99db3ed Export GetHostTriple.cmake 2022-09-27 12:57:56 +02:00
Jesus Checa Hidalgo 2ce66b7035 Migrate tests to tests/llvm repo 2022-09-19 14:28:26 +00:00
Nikita Popov 5f0a6388b3 Fix compat build symlinks
Backport from llvm14 package.
2022-09-13 18:04:18 +02:00
Nikita Popov 81e2995efc Update to LLVM 15.0.0 2022-09-06 10:01:30 +02:00
Fedora Release Engineering 07f677a874 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 19:44:43 +00:00
Miro Hrončok dc7156ce5a Don't add -P to Python shebangs
Opt-out from https://fedoraproject.org/wiki/Changes/PythonSafePath

The executable Python scripts in /usr/share/opt-viewer/ import each other.
2022-07-19 12:49:30 +02:00
Timm Bäder 2e920ed4cb Release bump for new redhat-rpm-config 2022-06-17 08:38:20 +02:00
Timm Bäder af1b169c7b 14.0.5 release 2022-06-13 16:13:21 +02:00
Tom Stellard 4e05585009 14.0.3 Release 2022-05-19 15:21:52 +00:00
Jesus Checa Hidalgo 18f0d9a072 tests: do not use ninja-build for integration testsuite
ninja-build is distributed from extra repos such as epel.
Unfortunately this is not available in all supported archs
which makes it impossible to test with ninja-build.
2022-05-04 15:50:16 +02:00
Serge Guelton 3cf4c8d386 Merge #142 `tests: disable lld in llvm-integration-testsuite when arch is ppc64` 2022-05-03 08:56:06 +00:00
Jesus Checa Hidalgo c07be4ccdf tests: disable lld in llvm-integration-testsuite when arch is ppc64 2022-04-29 16:55:48 +02:00
Timm Bäder 0600540ab9 Remove llvm-cmake-devel package 2022-04-29 08:09:30 +02:00
Timm Bäder 33f597aab6 Remove some unused variables 2022-04-27 12:04:55 +02:00
Jesus Checa Hidalgo 965c7fbf2c tests: add llvm-toolset-14.0 requirements to tests and plans 2022-04-22 13:04:50 +02:00
sergesanspaille a6af40e6f6 Upload new sources 2022-03-29 10:04:53 +02:00
Timm Bäder 314c08660d Update to 14.0.0 2022-03-29 07:32:31 +00:00
Miloš Prchlík 77fe5f8af7 tests: fix libLLVM size threshold
Documentation says the threshold is 150MB, but the actual value was 200MB. Fixing this with a correct value, documentation (and previous commit message) are right here.

Thanks to vkadlcik@redhat.com for spotting the issue.
2022-03-29 07:27:29 +00:00
Miloš Prchlík c3eaca601e tests: ninja is not ninja on RHEL7/ppc64/Epel, but cmake knows
By using `cmake --build` instead of calling `ninja` directly, test
should run well on ppc64 even when `ninja-build` is all we have.
2022-03-04 10:44:16 +01:00
Miloš Prchlík b28a786b94 tests: bump libLLVM size threshold
The library size can vary a bit, 100MB is sort of correct, but e.g. RHSCL version is 106MB. Bumping the size threshold to 150MB, it should b still safely within the original bug report of 2GB.
2022-03-03 10:27:02 +00:00
sergesanspaille 1b6a55b39a More verbose test output 2022-02-17 08:07:56 +01:00
Jesus Checa Hidalgo 4c0fee8654 tests: remove unavailable requirements for s390x
lld and libomp are not shipped in s390x, hence causing provisioning
prepare step to fail as they are required in llvm-integration-testsuite.
The test should still run fine without those packages.
2022-02-09 18:22:40 +01:00
Miloš Prchlík e6d1a04f09 tests: CRB in CentOS has different name 2022-02-03 14:33:55 +01:00
Nikita Popov 35d886f8dc Update to LLVM 13.0.1 final 2022-02-02 16:35:08 +01:00
Nikita Popov 0ff4ac26b1 Switch to an unconditionally applied patch
It looks like conditionally applying a patch on a single arch is
a bit tricky, so instead use an unconditional patch with an
ifndef __aarch64__ block.
2022-01-31 11:57:41 +01:00
Nikita Popov ddad73a88a Revert "Set _package_note_linker on arm"
This reverts commit 6cee6aebe6.

This issue has now been addressed more generically on the
package-notes side by:
d26d18e6f4?branch=rawhide
2022-01-31 11:09:53 +01:00
Nikita Popov 410f5f1e9e Disable CrashRecoveryTest.DumpStackCleanup test on aarch64
It produces a non-reproducible failure on aarch64:
https://bugzilla.redhat.com/show_bug.cgi?id=2048440
2022-01-31 11:00:54 +01:00
Konrad Kleine 5d9e2b66ed Fix rpm build warning/error: absolute symlink
I noticed that warnings and errors show up in the `RPM build errors:`
output. When I produced an error I did see this warning about absolute
symlink showing up:

```
absolute symlink: /usr/lib64/bfd-plugins/LLVMgold.so -> /usr/lib64/LLVMgold.so
```

The upstream RPM fix to log warnings and errors separately is here:

https://github.com/rpm-software-management/rpm/pull/1590

Thanks to @sergesanspaille for the help.
2022-01-28 21:04:29 +00:00
Nikita Popov 6cee6aebe6 Set _package_note_linker on arm
On ARM, the default linker is lld when using the clange toolchain,
so specify that as the _package_note_linker. This will use the
-T rather than -dT option for the package note script.

Ideally this would be handled in a more central location.
2022-01-25 16:35:13 +01:00
Nikita Popov 3c9de0ccf8 Update to LLVM 13.0.1rc3 2022-01-25 14:56:25 +01:00
Fedora Release Engineering 445e24e13d - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 17:57:39 +00:00
Nikita Popov 097fdf9c79 Remove no longer necessary patch
This patch has been integrated in the rc2 release.
2022-01-13 04:16:17 -05:00
Nikita Popov cfd5d23c9d Update to LLVM 13.0.1rc2 2022-01-13 04:08:32 -05:00
Miloš Prchlík f97fd4bb29 tests: add extra repositories to allow installation of ninja/libstdc++ 2022-01-11 16:01:30 +00:00
Nikita Popov ab84d46730 Backport 46c947af7 reproducibility fix 2022-01-11 04:07:54 -05:00
Nikita Popov 49fba6acf2 Disable LTO build on s390x
Fails with pcre limit error otherwise
2022-01-10 15:41:41 -05:00
Nikita Popov 236248c006 Upstream 13.0.1 rc1 release 2022-01-10 08:23:04 -05:00
Miro Hrončok 3ba9f5e445 Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 2022-01-08 20:32:26 +01:00
Miloš Prchlík 978f4952dd tests: add support for SCL-ized LLVM 13 (llvm-toolset-13.0) 2021-12-13 12:29:21 +01:00
Milos Prchlik c3456fa4ca tests: unquote use of CMAKE_LIBCXX to avoid empty yet existing cmake argument 2021-11-25 14:56:57 +01:00
Milos Prchlik 9e0411bb7b tests: use `adjust` to handle libcxx requirement in Fedora and RHEL 2021-11-24 14:07:30 +01:00
Tom Stellard 1bdf054407 Enable lto on s390x and arm 2021-11-19 11:22:09 +00:00
Milos Prchlik 6564e5278d tests: rename default plan to build-gating to better eflect its current purpose
My expectation is that in the future, more tests will land in this git,
and not all of them would be useful in gating time. AFAIK, CI systems do
run everything they can, therefore adding `when` to control when the
plan is executed - `is not defined` bit should allow anyone to run it
manually, while the rest of the condition should limit its presence to
gating events.
2021-11-16 16:26:59 +01:00
Konrad Kleine 92512bd38e Added link to docs about 'toolchain' macro 2021-11-09 14:56:37 +01:00
Timm Bäder 3ac3f3b803 Add a few rpmlint exceptions 2021-11-03 14:12:06 +00:00
Milos Prchlik b7f7ff0fcb tests: use python3-lit rather than python-lit
Easier for downstream to adapt, one less difference.
2021-11-03 08:33:46 +01:00
Tom Stellard dd5bd14efc Build with Thin LTO
Full LTO is too memory intensive for most architectures, so use Thin LTO
instead.
2021-10-26 03:57:15 +00:00
Tom Stellard 6b3a1ab316 Build with clang 2021-10-21 23:32:02 +00:00
Tom Stellard e1056b533a Fix default triple on arm
clang and gcc disagree about what gnueabi means, so we need to make
sure to specify gnueabihf as the environment.
2021-10-08 03:25:22 +00:00
Tom Stellard 84398d5b48 Set default triple 2021-10-06 05:54:41 +00:00
Tom Stellard a26e75dfb6 Drop abi_revision from soname
This way we match the upstream soname for the final release.
2021-10-05 03:10:24 +00:00
Tom Stellard d7b923e36b 13.0.0 Release 2021-10-01 03:28:44 +00:00
Tom Stellard f13f5d4d08 Restore config.guess for host triple detection
The new detection method was omitting -gnu from the triples which caused
some behavior changes in clang.
2021-09-30 20:50:48 +00:00
Tom Stellard 2b9d762f80 13.0.0-rc4 Release 2021-09-30 03:52:09 +00:00
Timm Bäder 9e342d2430 Use %py3_shebang_fix instead of calling pathfix.py manually
As documented here:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_shebang_macros
2021-09-23 14:47:00 +02:00
Tom Stellard efdfe5532f 13.0.0-rc3 Release 2021-09-17 20:06:08 +00:00
Tom Stellard 20aa2e6b37 Pass LLVM_DEFAULT_TARGET_TRIPLE to cmake
This will ensure that clang always defaults the system gcc install.
2021-09-17 13:30:23 +00:00
Tom Stellard bbb00db171 gating.yaml: Modernize file and attempt to get gating to work again
Added bodhi_update_push_stable_critpath to decision_contexts in
attempt to re-enable gating.
See https://pagure.io/fedora-ci/general/issue/263
2021-09-17 13:26:31 +00:00
Milos Prchlik 14cd547cf5 tests: record HW requirements
This was originally stored in provision.fmf, but after the TMT
transition, this information should be preserved. It is probably not
honoured by that many CI systems, but things will get better over time.

See https://tmt.readthedocs.io/en/stable/spec/plans.html#hardware for
specification details.
2021-09-17 13:25:29 +00:00
Milos Prchlik 027da3930a tests: returning few comments dropped during TMT conversion
I find these comments useful, especially for my future self who would be
dealing with the subtle changes between Fedora and downstream.
2021-09-17 10:51:44 +02:00
Timm Bäder b7b4d3e66b Port tests to tmt 2021-09-15 08:01:11 +02:00
Milos Prchlik b21766edbc Cleanup of tests for easier future sync to downstream repos
* tests.yml => tests-llvm.yml, to allow composition by "dumping" tests
from several LLVM components when testing a module or collection;
* more comments, to highlight part where downstream maintaners and QEs
need to modify tests;
* fixed failing tests to get a clean table as a verification tests do
work after my changes.
2021-09-13 21:56:17 +00:00
Konrad Kleine 4c4fb40d31 Add --without=check option 2021-09-13 17:03:07 +02:00
Tom Stellard a11bd8ab2a Fix Source URLs 2021-08-11 02:14:17 +00:00
serge-sans-paille bbcd893d83 13.0.0-rc1 Release 2021-08-06 06:51:44 +00:00
serge-sans-paille dbd3134b54 Maintain versionned link to llvm-config 2021-07-22 16:15:34 +02:00
Fedora Release Engineering 87a4234571 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 13:03:04 +00:00
Tom Stellard ed9052f67d Add missing sources 2021-07-13 17:49:35 +00:00
Tom Stellard 1b6487a87e 12.0.1 Release 2021-07-12 21:37:05 +00:00
Tom Stellard 086ce6b60e 12.0.1-rc3 Release 2021-06-30 12:49:06 +00:00
Tom Stellard 57a0e89ab1 Stop installing lit tests
We don't use these for CI tests any more and extracting the debuginfo
from the unittests is slowing down the builds or causing them to fail
in some cases (s390x).

This also removes the circular depednecy between llvm-test and
python-lit.
2021-06-29 21:41:56 +00:00
serge-sans-paille 300a6166b6 Verbose test run for easier debugging
And endless build logs
2021-06-25 14:46:38 +02:00
serge-sans-paille c944d8e241 Extra dependencies for integration test suite 2021-06-24 14:09:35 +02:00
Tom Stellard 084eb9adc4 12.0.1-rc1 Release 2021-05-27 13:31:14 +00:00
serge-sans-paille 578fb20cb6 Fix handling of llvm-config 2021-05-19 13:38:35 +02:00
serge-sans-paille 9fc4be03e7 Use integration test suite instead of regression test suite 2021-05-12 10:28:12 +02:00
serge-sans-paille 04d8b95430 More verbose builds thanks to python3-psutil 2021-05-03 12:44:47 +02:00
Konrad Kleine 97343414c5 Fix missing Python psutil module
In most logs (e.g.
https://kojipkgs.fedoraproject.org//work/tasks/9788/66839788/build.log)
you can find this output:

```
llvm-lit: /builddir/build/BUILD/llvm-12.0.0.src/x86_64-redhat-linux-gnu/utils/lit/tests/lit.cfg:79: warning: Setting a timeout per test not supported. Requires the Python psutil module but it could not be found. Try installing it via pip or via your operating system's package manager. Some tests will be skipped and the --timeout command line argument will not work.
```
2021-05-03 10:17:24 +02:00
serge-sans-paille 12b27392ce Decrease debuginfo weight for s390x too 2021-05-02 19:05:31 +02:00
serge-sans-paille 41e2e79b74 Fix llvm-config install 2021-05-02 07:42:49 +02:00
serge-sans-paille a49938dcf5 Minimal CI test for llvm-config
Previous release broke llvm-config, make sure this does not happen again
2021-05-01 21:08:17 +02:00
serge-sans-paille 0aa1942cbc Provide default empty value for exec_suffix when not in compat mode 2021-04-30 13:57:57 +02:00
Timm Bäder 03470c82bf Remove unused parameter from cmake invocation 2021-04-28 08:27:29 +02:00
serge-sans-paille 5ebc8337ce Fix llvm-config install 2021-04-27 11:08:22 +02:00
serge-sans-paille ad503c449d Backport compat package fix 2021-04-23 12:03:50 +02:00
Tomas Hrnciar 43ddc8aad7 BuildRequire setuptools explicitly
See https://fedoraproject.org/wiki/Changes/Reduce_dependencies_on_python3-setuptools
2021-04-19 13:18:31 +02:00
Tom Stellard f096dec97c 12.0.0 Release 2021-04-16 04:58:30 +00:00
Tom Stellard c2438a9311 Add rpmlintrc file to silence an rpmlint error 2021-04-13 04:30:17 +00:00
Tom Stellard d3a7312537 Import tests from tests/llvm repository
It's not necessary to store the tests in a separate repository, since
other packages can just reference the tests in this repo.
2021-04-09 22:47:38 +00:00
serge-sans-paille 649f50d8ed New upstream release candidate 2021-04-08 14:19:56 +02:00
serge-sans-paille b87ea61a41 Patch test case for compatibility with llvm-test layout 2021-04-08 09:37:13 +02:00
serge-sans-paille 15b5503827 Add Missing sources 2021-04-02 14:12:59 +02:00
serge-sans-paille 8e9a96e915 New upstream release candidate 2021-04-02 12:32:15 +02:00
Jonathan Wakely b210b9df54 Rebuilt for removed libstdc++ symbols (#1937698) 2021-03-31 17:34:24 +01:00
serge-sans-paille f4bd827999 Fix LD_LIBRARY_PATH to be compatible with compat package
See https://src.fedoraproject.org/rpms/llvm11/pull-request/2
2021-03-31 08:48:12 +02:00
serge-sans-paille 2d7f1de486 Revert "Only ship llvm-config manpages for compat package"
This reverts commit 8a5849ef91.
2021-03-19 20:54:05 +01:00
serge-sans-paille 8a5849ef91 Only ship llvm-config manpages for compat package 2021-03-17 13:58:30 +01:00
serge-sans-paille 23ea0783cb LLVM 12.0.0 rc3 2021-03-11 14:54:27 +01:00
Kalev Lember 238c272915 Add llvm-static(major) provides to the -static subpackage
This is similar to how other subpackages have llvm(major),
llvm-devel(major) and llvm-test(major) provides.
2021-03-10 12:47:19 +01:00
serge-sans-paille cdd5e565ec rebuilt 2021-03-09 14:58:35 +01:00
serge-sans-paille d368d987d9 Change CI working dir 2021-03-02 11:37:53 +01:00
serge-sans-paille 5ed4f59a12 Revert "Fix gating test to use /var/tmp instead of /tmp"
This reverts commit 698638eb9e.

Doesn't seem to help much.
2021-03-02 11:37:09 +01:00
serge-sans-paille 5476c44af0 12.0.0-rc2 release 2021-02-24 09:16:46 +01:00
serge-sans-paille 698638eb9e Fix gating test to use /var/tmp instead of /tmp 2021-02-24 08:33:11 +01:00
Dave Airlie f200214110 Enable LLVM_USE_PERF to allow perf integration 2021-02-23 17:31:32 +00:00
serge-sans-paille 298958146f Backport compat package updates 2021-02-23 17:18:25 +01:00
serge-sans-paille f88ef7d17f Add webassembly to the rhel targets 2021-02-17 18:14:13 +01:00
serge-sans-paille d31813f419 12.0.0-rc1 release 2021-02-03 07:33:44 +01:00
serge-sans-paille 21e2a92c0d Parametrize targets to build 2021-01-28 21:37:32 +01:00
Fedora Release Engineering 7a04c726c3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 18:36:24 +00:00
serge-sans-paille f768ecb72d 11.1.0-rc2 release 2021-01-22 18:23:01 +01:00
serge-sans-paille 4799046978 11.1.0-rc1 release 2021-01-18 17:06:17 +01:00
serge-sans-paille 11cea8ec0d LLVM 11.0.1 final 2021-01-06 10:54:54 +01:00
serge-sans-paille 036db17a5c Waive extra test case 2021-01-05 13:52:34 +01:00
serge-sans-paille 056fb9e32b Remove a failing arm test case 2020-12-22 08:55:56 +01:00
serge-sans-paille c32dd93367 11.0.1-rc2 release 2020-12-21 09:57:36 +01:00
serge-sans-paille 86790c25da Add missing sources 2020-12-01 13:56:07 +00:00
serge-sans-paille 2698f34268 11.0.1-rc1 release 2020-12-01 13:40:45 +00:00
Jeff Law e1767ba62d Fix missing #include for gcc-11 2020-10-31 11:50:44 -06:00
Josh Stone 051ec63e7b Fix coreos-installer test crash on s390x (rhbz#1883457) 2020-10-14 17:37:34 -07:00
serge-sans-paille f5cf570384 llvm 11.0.0 - final release 2020-10-12 11:30:04 +00:00
serge-sans-paille 9e83c56016 11.0.0-rc6 2020-10-08 09:12:06 +00:00
serge-sans-paille 4720785554 11.0.0-rc5 Release 2020-10-02 07:14:52 +00:00
serge-sans-paille 00e1b0677e Fix NVR 2020-09-27 13:11:33 +00:00
serge-sans-paille 23f776ed73 Obsolete patch for rhbz#1862012 2020-09-24 17:11:05 +00:00
serge-sans-paille 493675c744 11.0.0-rc3 Release 2020-09-24 14:22:13 +00:00
serge-sans-paille 014d0253f8 Increase CI capacity 2020-09-15 08:29:19 +00:00
serge-sans-paille 12632088f8 Apply upstream patch for rhbz#1862012 2020-09-02 07:27:02 +00:00
serge-sans-paille 130685912f Fix source location 2020-09-01 10:40:54 +00:00
Tom Stellard 9095ad677f 11.0.0-rc2 Release 2020-08-24 11:10:01 -04:00
Tom Stellard afed217ebc Fix regression-tests CI tests 2020-08-21 13:24:07 +00:00
Tom Stellard 764a78bf46 Remove llvm-devel-cmake test
This test is no longer relevant since llvm-devel now Requires both
llvm-static and llvm-test.
2020-08-19 00:00:55 +00:00
Tom Stellard 13d84b331e Fix rust crash on ppc64le compiling firefox
rhbz#1862012
2020-08-18 17:58:01 +00:00
Tom Stellard 3ca69f5739 Install update_cc_test_checks.py script 2020-08-12 09:40:17 -04:00
Tom Stellard 992907b031 LLVM 11.0.0-rc1 Release
Also make llvm-devel require llvm-static and llvm-test.
2020-08-07 23:50:07 -04:00
Tom Stellard 40207a4ea9 Backport upstream patch to fix build with -flto.
Also disable LTO on s390x to work-around unit test failures.
2020-08-08 03:48:41 +00:00
serge-sans-paille a58113d73c Fix update-alternative uninstall script 2020-08-08 03:48:13 +00:00
serge-sans-paille 146561a8a6 Fix gpg verification, update ninja macro and use %license 2020-08-06 23:42:59 +00:00
Fedora Release Engineering 210d1cc82b - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 04:17:02 +00:00
Fedora Release Engineering edf13af9da - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 06:11:32 +00:00
Aleksandra Fedorova e89816ed7a Update gating test name
Messaging scheme has changed and old centos-related test names are now deprecated.

See https://pagure.io/fedora-ci/general/issue/110
2020-07-15 00:04:17 +00:00
serge-sans-paille d7400582fd Make llvm-test.tar.gz creation reproducible
Move arch-specific content out of the tarball, and build the tarball in a reproducible way.
2020-06-18 07:49:54 +00:00
serge-sans-paille 96783870dd Instruct cmake not to generate RPATH 2020-06-02 15:55:00 +00:00
Tom Stellard 71b43061fd Install LLVMgold.so symlink in bfd-plugins directory 2020-05-12 15:47:18 +00:00
serge-sans-paille 8e1d8d6581 Update testing to pass gating tests
- Backport bab5908df544680ada0a3cf431f55aeccfbdb321 (test portability)
- Fix indentation in tests/tests.yml
- Remove testing of update utility tools
2020-04-15 19:17:21 +00:00
serge-sans-paille 63f8be8e26 Apply changes needed for the compat build
Based on llvm9 package
2020-04-01 17:17:25 +00:00
25 changed files with 1102 additions and 580 deletions

77
.gitignore vendored
View File

@ -1,70 +1,7 @@
/cfe-*.src.tar.gz
/compiler-rt-*.src.tar.gz
/lldb-*.src.tar.gz
/llvm-*.src.tar.gz
/clang-3.4.src.tar.gz
/cfe-3.5.0.src.tar.xz
/compiler-rt-3.5.0.src.tar.xz
/lldb-3.5.0.src.tar.xz
/llvm-3.5.0.src.tar.xz
/cfe-3.6.0.src.tar.xz
/compiler-rt-3.6.0.src.tar.xz
/lldb-3.6.0.src.tar.xz
/llvm-3.6.0.src.tar.xz
/llvm-3.6.1.src.tar.xz
/compiler-rt-3.6.1.src.tar.xz
/cfe-3.6.1.src.tar.xz
/lldb-3.6.1.src.tar.xz
/cfe-3.6.2.src.tar.xz
/compiler-rt-3.6.2.src.tar.xz
/lldb-3.6.2.src.tar.xz
/llvm-3.6.2.src.tar.xz
/llvm-3.7.0.src.tar.xz
/cfe-3.7.0.src.tar.xz
/compiler-rt-3.7.0.src.tar.xz
/lldb-3.7.0.src.tar.xz
/llvm-3.7.1.src.tar.xz
/llvm-3.8.0rc2.src.tar.xz
/llvm-3.8.0rc3.src.tar.xz
/llvm-3.8.0.src.tar.xz
/llvm-3.8.1.src.tar.xz
/llvm-3.9.0.src.tar.xz
/llvm-3.9.1.src.tar.xz
/llvm-4.0.0.src.tar.xz
/llvm-4.0.1.src.tar.xz
/llvm-5.0.0.src.tar.xz
/llvm-5.0.1.src.tar.xz
/llvm-6.0.0rc1.src.tar.xz
/llvm-6.0.0rc2.src.tar.xz
/llvm-6.0.0.src.tar.xz
/llvm-6.0.1rc1.src.tar.xz
/llvm-6.0.1rc2.src.tar.xz
/llvm-6.0.1.src.tar.xz
/llvm-7.0.0rc1.src.tar.xz
/llvm-7.0.0rc2.src.tar.xz
/llvm-7.0.0rc3.src.tar.xz
/llvm-7.0.0.src.tar.xz
/llvm-7.0.1.src.tar.xz
/llvm-8.0.0rc1.src.tar.xz
/llvm-8.0.0rc2.src.tar.xz
/llvm-8.0.0rc3.src.tar.xz
/llvm-8.0.0rc4.src.tar.xz
/llvm-8.0.0.src.tar.xz
/llvm-9.0.0rc2.src.tar.xz
/llvm-9.0.0rc3.src.tar.xz
/llvm-9.0.0.src.tar.xz
/llvm-9.0.1.src.tar.xz
/llvm-10.0.0rc1.src.tar.xz
/llvm-10.0.0rc1.src.tar.xz.sig
/llvm-10.0.0rc2.src.tar.xz
/llvm-10.0.0rc2.src.tar.xz.sig
/llvm-10.0.0rc3.src.tar.xz
/llvm-10.0.0rc3.src.tar.xz.sig
/llvm-10.0.0rc4.src.tar.xz
/llvm-10.0.0rc4.src.tar.xz.sig
/llvm-10.0.0rc5.src.tar.xz
/llvm-10.0.0rc5.src.tar.xz.sig
/llvm-10.0.0rc6.src.tar.xz
/llvm-10.0.0rc6.src.tar.xz.sig
/llvm-10.0.0.src.tar.xz
/llvm-10.0.0.src.tar.xz.sig
/*.src.rpm
/*.src.tar.xz
/*.src.tar.xz.sig
/cmake/
/llvm-*.src/
/results_llvm/
/third-party/

View File

@ -1,66 +0,0 @@
From 8f6917ea11bd1bfbfe07f3577756d1c4abfdb916 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Fri, 6 Sep 2019 11:03:18 -0700
Subject: [PATCH] CMake: Split static library exports into their own export
file
---
llvm/cmake/modules/AddLLVM.cmake | 6 +++++-
llvm/cmake/modules/CMakeLists.txt | 3 +++
llvm/cmake/modules/LLVMConfig.cmake.in | 2 ++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 619e986..200fc45 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -691,7 +691,11 @@ macro(add_llvm_library name)
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
(in_llvm_libs AND "llvm-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS) OR
NOT LLVM_DISTRIBUTION_COMPONENTS)
- set(export_to_llvmexports EXPORT LLVMExports)
+ if (ARG_SHARED)
+ set(export_to_llvmexports EXPORT LLVMExports)
+ else()
+ set(export_to_llvmexports EXPORT LLVMStaticExports)
+ endif()
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
endif()
diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
index 9cf22b4..dc982d2 100644
--- a/llvm/cmake/modules/CMakeLists.txt
+++ b/llvm/cmake/modules/CMakeLists.txt
@@ -105,6 +105,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
+set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
configure_file(
LLVMConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
@@ -121,6 +122,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
if(llvm_has_exports)
install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
COMPONENT cmake-exports)
+ install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
+ COMPONENT cmake-exports)
endif()
install(FILES
diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
index 536031f..6ef54a0 100644
--- a/llvm/cmake/modules/LLVMConfig.cmake.in
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
@@ -89,6 +89,8 @@ if(NOT TARGET LLVMSupport)
set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
include("@LLVM_CONFIG_EXPORTS_FILE@")
@llvm_config_include_buildtree_only_exports@
+
+ include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
endif()
# By creating intrinsics_gen here, subprojects that depend on LLVM's
--
1.8.3.1

View File

@ -1,65 +0,0 @@
From 9d496e978f59e153bb76e92229d5a524d92dee04 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Tue, 10 Sep 2019 13:33:48 -0700
Subject: [PATCH] CMake: Split test binary exports into their own export file
---
llvm/cmake/modules/AddLLVM.cmake | 7 ++++++-
llvm/cmake/modules/CMakeLists.txt | 3 +++
llvm/cmake/modules/LLVMConfig.cmake.in | 1 +
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 200fc45..9eec7a7 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -953,7 +953,12 @@ macro(add_llvm_utility name)
set(export_to_llvmexports)
if (${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
NOT LLVM_DISTRIBUTION_COMPONENTS)
- set(export_to_llvmexports EXPORT LLVMExports)
+ if (${name} STREQUAL "not" OR ${name} STREQUAL "count" OR
+ ${name} STREQUAL "yaml-bench" OR ${name} STREQUAL "lli-child-target")
+ set(export_to_llvmexports EXPORT LLVMTestExports)
+ else()
+ set(export_to_llvmexports EXPORT LLVMExports)
+ endif()
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
endif()
diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
index dc982d2..c861f45 100644
--- a/llvm/cmake/modules/CMakeLists.txt
+++ b/llvm/cmake/modules/CMakeLists.txt
@@ -106,6 +106,7 @@ set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
+set(LLVM_CONFIG_TEST_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMTestExports.cmake")
configure_file(
LLVMConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
@@ -124,6 +125,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
COMPONENT cmake-exports)
install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
COMPONENT cmake-exports)
+ install(EXPORT LLVMTestExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
+ COMPONENT cmake-exports)
endif()
install(FILES
diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
index 6ef54a0..d81b09a 100644
--- a/llvm/cmake/modules/LLVMConfig.cmake.in
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
@@ -91,6 +91,7 @@ if(NOT TARGET LLVMSupport)
@llvm_config_include_buildtree_only_exports@
include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
+ include("@LLVM_CONFIG_TEST_EXPORTS_FILE@" OPTIONAL)
endif()
# By creating intrinsics_gen here, subprojects that depend on LLVM's
--
1.8.3.1

View File

@ -0,0 +1,184 @@
From efbaf8bc61f4c0e29a3eaafb11ac0ddda8bd3dff Mon Sep 17 00:00:00 2001
From: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date: Fri, 30 Jun 2023 16:02:56 +0200
Subject: [PATCH] [SystemZ] Improve error messages for unsupported relocations
In the SystemZMCObjectWriter, we currently just abort in case
some unsupported relocation in requested. However, as this
situation can be triggered by invalid (inline) assembler input,
we should really get a regular error message instead.
---
.../MCTargetDesc/SystemZMCObjectWriter.cpp | 59 +++++++++++--------
1 file changed, 35 insertions(+), 24 deletions(-)
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
index c23463ab9bde..0b11468afc52 100644
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
@@ -9,6 +9,7 @@
#include "MCTargetDesc/SystemZMCFixups.h"
#include "MCTargetDesc/SystemZMCTargetDesc.h"
#include "llvm/BinaryFormat/ELF.h"
+#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCELFObjectWriter.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCFixup.h"
@@ -40,7 +41,7 @@ SystemZObjectWriter::SystemZObjectWriter(uint8_t OSABI)
/*HasRelocationAddend_=*/ true) {}
// Return the relocation type for an absolute value of MCFixupKind Kind.
-static unsigned getAbsoluteReloc(unsigned Kind) {
+static unsigned getAbsoluteReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
switch (Kind) {
case FK_Data_1: return ELF::R_390_8;
case FK_Data_2: return ELF::R_390_16;
@@ -49,11 +50,12 @@ static unsigned getAbsoluteReloc(unsigned Kind) {
case SystemZ::FK_390_12: return ELF::R_390_12;
case SystemZ::FK_390_20: return ELF::R_390_20;
}
- llvm_unreachable("Unsupported absolute address");
+ Ctx.reportError(Loc, "Unsupported absolute address");
+ return 0;
}
// Return the relocation type for a PC-relative value of MCFixupKind Kind.
-static unsigned getPCRelReloc(unsigned Kind) {
+static unsigned getPCRelReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
switch (Kind) {
case FK_Data_2: return ELF::R_390_PC16;
case FK_Data_4: return ELF::R_390_PC32;
@@ -63,62 +65,69 @@ static unsigned getPCRelReloc(unsigned Kind) {
case SystemZ::FK_390_PC24DBL: return ELF::R_390_PC24DBL;
case SystemZ::FK_390_PC32DBL: return ELF::R_390_PC32DBL;
}
- llvm_unreachable("Unsupported PC-relative address");
+ Ctx.reportError(Loc, "Unsupported PC-relative address");
+ return 0;
}
// Return the R_390_TLS_LE* relocation type for MCFixupKind Kind.
-static unsigned getTLSLEReloc(unsigned Kind) {
+static unsigned getTLSLEReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
switch (Kind) {
case FK_Data_4: return ELF::R_390_TLS_LE32;
case FK_Data_8: return ELF::R_390_TLS_LE64;
}
- llvm_unreachable("Unsupported absolute address");
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-exec)");
+ return 0;
}
// Return the R_390_TLS_LDO* relocation type for MCFixupKind Kind.
-static unsigned getTLSLDOReloc(unsigned Kind) {
+static unsigned getTLSLDOReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
switch (Kind) {
case FK_Data_4: return ELF::R_390_TLS_LDO32;
case FK_Data_8: return ELF::R_390_TLS_LDO64;
}
- llvm_unreachable("Unsupported absolute address");
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-dynamic)");
+ return 0;
}
// Return the R_390_TLS_LDM* relocation type for MCFixupKind Kind.
-static unsigned getTLSLDMReloc(unsigned Kind) {
+static unsigned getTLSLDMReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
switch (Kind) {
case FK_Data_4: return ELF::R_390_TLS_LDM32;
case FK_Data_8: return ELF::R_390_TLS_LDM64;
case SystemZ::FK_390_TLS_CALL: return ELF::R_390_TLS_LDCALL;
}
- llvm_unreachable("Unsupported absolute address");
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-dynamic)");
+ return 0;
}
// Return the R_390_TLS_GD* relocation type for MCFixupKind Kind.
-static unsigned getTLSGDReloc(unsigned Kind) {
+static unsigned getTLSGDReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
switch (Kind) {
case FK_Data_4: return ELF::R_390_TLS_GD32;
case FK_Data_8: return ELF::R_390_TLS_GD64;
case SystemZ::FK_390_TLS_CALL: return ELF::R_390_TLS_GDCALL;
}
- llvm_unreachable("Unsupported absolute address");
+ Ctx.reportError(Loc, "Unsupported thread-local address (general-dynamic)");
+ return 0;
}
// Return the PLT relocation counterpart of MCFixupKind Kind.
-static unsigned getPLTReloc(unsigned Kind) {
+static unsigned getPLTReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
switch (Kind) {
case SystemZ::FK_390_PC12DBL: return ELF::R_390_PLT12DBL;
case SystemZ::FK_390_PC16DBL: return ELF::R_390_PLT16DBL;
case SystemZ::FK_390_PC24DBL: return ELF::R_390_PLT24DBL;
case SystemZ::FK_390_PC32DBL: return ELF::R_390_PLT32DBL;
}
- llvm_unreachable("Unsupported absolute address");
+ Ctx.reportError(Loc, "Unsupported PC-relative PLT address");
+ return 0;
}
unsigned SystemZObjectWriter::getRelocType(MCContext &Ctx,
const MCValue &Target,
const MCFixup &Fixup,
bool IsPCRel) const {
+ SMLoc Loc = Fixup.getLoc();
unsigned Kind = Fixup.getKind();
if (Kind >= FirstLiteralRelocationKind)
return Kind - FirstLiteralRelocationKind;
@@ -126,38 +135,40 @@ unsigned SystemZObjectWriter::getRelocType(MCContext &Ctx,
switch (Modifier) {
case MCSymbolRefExpr::VK_None:
if (IsPCRel)
- return getPCRelReloc(Kind);
- return getAbsoluteReloc(Kind);
+ return getPCRelReloc(Ctx, Loc, Kind);
+ return getAbsoluteReloc(Ctx, Loc, Kind);
case MCSymbolRefExpr::VK_NTPOFF:
assert(!IsPCRel && "NTPOFF shouldn't be PC-relative");
- return getTLSLEReloc(Kind);
+ return getTLSLEReloc(Ctx, Loc, Kind);
case MCSymbolRefExpr::VK_INDNTPOFF:
if (IsPCRel && Kind == SystemZ::FK_390_PC32DBL)
return ELF::R_390_TLS_IEENT;
- llvm_unreachable("Only PC-relative INDNTPOFF accesses are supported for now");
+ Ctx.reportError(Loc, "Only PC-relative INDNTPOFF accesses are supported for now");
+ return 0;
case MCSymbolRefExpr::VK_DTPOFF:
assert(!IsPCRel && "DTPOFF shouldn't be PC-relative");
- return getTLSLDOReloc(Kind);
+ return getTLSLDOReloc(Ctx, Loc, Kind);
case MCSymbolRefExpr::VK_TLSLDM:
assert(!IsPCRel && "TLSLDM shouldn't be PC-relative");
- return getTLSLDMReloc(Kind);
+ return getTLSLDMReloc(Ctx, Loc, Kind);
case MCSymbolRefExpr::VK_TLSGD:
assert(!IsPCRel && "TLSGD shouldn't be PC-relative");
- return getTLSGDReloc(Kind);
+ return getTLSGDReloc(Ctx, Loc, Kind);
case MCSymbolRefExpr::VK_GOT:
if (IsPCRel && Kind == SystemZ::FK_390_PC32DBL)
return ELF::R_390_GOTENT;
- llvm_unreachable("Only PC-relative GOT accesses are supported for now");
+ Ctx.reportError(Loc, "Only PC-relative GOT accesses are supported for now");
+ return 0;
case MCSymbolRefExpr::VK_PLT:
- assert(IsPCRel && "@PLT shouldt be PC-relative");
- return getPLTReloc(Kind);
+ assert(IsPCRel && "@PLT shouldn't be PC-relative");
+ return getPLTReloc(Ctx, Loc, Kind);
default:
llvm_unreachable("Modifier not supported");
--
2.41.0

View File

@ -0,0 +1,39 @@
From cf35b4622d31701d0c79e0441931518726f997f2 Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov@redhat.com>
Date: Fri, 30 Jun 2023 12:25:09 +0200
Subject: [PATCH] Add LLVM_UNITTEST_LINK_FLAGS option
This allows specifying linker flags that should only be applied
to unit tests, e.g. to disable LTO optimization for them.
---
llvm/cmake/modules/AddLLVM.cmake | 2 ++
llvm/cmake/modules/HandleLLVMOptions.cmake | 3 +++
2 files changed, 5 insertions(+)
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 94fc83db9344..7cf75223ce38 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -1592,6 +1592,8 @@ function(add_unittest test_suite test_name)
endif()
endif()
+ target_link_options(${test_name} PRIVATE "${LLVM_UNITTEST_LINK_FLAGS}")
+
set(outdir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
set_output_directory(${test_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir})
# libpthreads overrides some standard library symbols, so main
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index 6119ecdce0f4..eec98162c2d7 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -1274,3 +1274,6 @@ endif()
set(LLVM_THIRD_PARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../third-party CACHE STRING
"Directory containing third party software used by LLVM (e.g. googletest)")
+
+set(LLVM_UNITTEST_LINK_FLAGS "" CACHE STRING
+ "Additional linker flags for unit tests")
--
2.40.1

View File

@ -0,0 +1,32 @@
From 8cc3870f09d728d9017c72eba9520117a4283fee Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Thu, 17 Nov 2022 09:01:10 +0000
Subject: Add install targets for gtest
Stand-alone builds need an installed version of gtest in order to run
the unittests.
Differential Revision: https://reviews.llvm.org/D137890
---
llvm/CMakeLists.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 60e1f29620af..d91338532815 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -693,6 +693,11 @@ option(LLVM_BUILD_TESTS
"Build LLVM unit tests. If OFF, just generate build targets." OFF)
option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)
+option(LLVM_INSTALL_GTEST
+ "Install the llvm gtest library. This should be on if you want to do
+ stand-alone builds of the other projects and run their unit tests." OFF)
+
+
option(LLVM_BUILD_BENCHMARKS "Add LLVM benchmark targets to the list of default
targets. If OFF, benchmarks still could be built using Benchmarks target." OFF)
option(LLVM_INCLUDE_BENCHMARKS "Generate benchmark targets. If OFF, benchmarks can't be built." ON)
--
2.34.3

View File

@ -0,0 +1,25 @@
diff -Naur a/llvm/docs/conf.py b/llvm/docs/conf.py
--- a/llvm/docs/conf.py 2020-09-15 09:12:24.318287611 +0000
+++ b/llvm/docs/conf.py 2020-09-15 15:01:00.025893199 +0000
@@ -36,20 +36,7 @@
'.rst': 'restructuredtext',
}
-try:
- import recommonmark
-except ImportError:
- # manpages do not use any .md sources
- if not tags.has('builder-man'):
- raise
-else:
- import sphinx
- if sphinx.version_info >= (3, 0):
- # This requires 0.5 or later.
- extensions.append('recommonmark')
- else:
- source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser'}
- source_suffix['.md'] = 'markdown'
+import sphinx
# The encoding of source files.
#source_encoding = 'utf-8-sig'

View File

@ -0,0 +1,47 @@
From 8cc3870f09d728d9017c72eba9520117a4283fee Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Thu, 17 Nov 2022 09:01:10 +0000
Subject: Add install targets for gtest
Stand-alone builds need an installed version of gtest in order to run
the unittests.
Differential Revision: https://reviews.llvm.org/D137890
---
third-party/unittest/CMakeLists.txt | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/third-party/unittest/CMakeLists.txt b/third-party/unittest/CMakeLists.txt
index 0e54e0e57c35..1d2a52730d7d 100644
--- a/third-party/unittest/CMakeLists.txt
+++ b/third-party/unittest/CMakeLists.txt
@@ -65,12 +65,25 @@ if (NOT LLVM_ENABLE_THREADS)
endif ()
target_include_directories(llvm_gtest
- PUBLIC googletest/include googlemock/include
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/googletest/include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/googlemock/include>
+ $<INSTALL_INTERFACE:include/llvm-gtest/>
+ $<INSTALL_INTERFACE:include/llvm-gmock/>
PRIVATE googletest googlemock
)
add_subdirectory(UnitTestMain)
+if (LLVM_INSTALL_GTEST)
+export(TARGETS llvm_gtest llvm_gtest_main LLVMTestingSupport FILE LLVMGTestConfig.cmake)
+install(TARGETS llvm_gtest llvm_gtest_main LLVMTestingSupport EXPORT LLVMGTestConfig
+ ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" COMPONENT llvm_gtest)
+ install(EXPORT LLVMGTestConfig DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} COMPONENT llvm_gtest)
+ add_llvm_install_targets(install-llvm_gtest COMPONENT llvm_gtest DEPENDS llvm_gtest LLVMGTestConfig.cmake)
+ install(DIRECTORY googletest/include/gtest/ DESTINATION include/llvm-gtest/gtest/ COMPONENT llvm_gtest)
+ install(DIRECTORY googlemock/include/gmock/ DESTINATION include/llvm-gmock/gmock/ COMPONENT llvm_gtest)
+endif()
+
# When LLVM_LINK_LLVM_DYLIB is enabled, libLLVM.so is added to the interface
# link libraries for gtest and gtest_main. This means that any target, like
# unittests for example, that links against gtest will be forced to link
--
2.34.3

View File

@ -1,12 +1,10 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_stable
- bodhi_update_push_stable_critpath
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
rules:
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View File

@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
67H2IH//2sf8dw==
=ADVe
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,17 +0,0 @@
config.llvm_tools_dir = '/usr/bin'
config.llvm_shlib_dir = '%(llvm_shlib_dir)s' % lit_config.params
if hasattr(config, 'host_triple'):
# This means we are running lit regression tests
# Regression tests write output to this directory, so we need to be able to specify
# a temp directory when invoking lit. e.g. lit -Dllvm_obj_root=/tmp/lit
config.llvm_obj_root = "%(llvm_obj_root)s" % lit_config.params
lit_config.load_config(config, '%(llvm_test_root)s/lit.cfg.py' % lit_config.params)
else:
# This means we are running lit unit tests
# For unit tests, llvm_obj_root is used to find the unit test binaries.
config.llvm_obj_root = '%(llvm_unittest_bindir)s' % lit_config.params
lit_config.load_config(config, '%(llvm_test_root)s/Unit/lit.cfg.py' % lit_config.params)

View File

@ -1,9 +0,0 @@
#include <bits/wordsize.h>
#if __WORDSIZE == 32
#include "config-32.h"
#elif __WORDSIZE == 64
#include "config-64.h"
#else
#error "Unknown word size"
#endif

View File

@ -1,9 +0,0 @@
#include <bits/wordsize.h>
#if __WORDSIZE == 32
#include "llvm-config-32.h"
#elif __WORDSIZE == 64
#include "llvm-config-64.h"
#else
#error "Unknown word size"
#endif

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")

711
llvm.spec
View File

@ -1,3 +1,11 @@
# We are building with clang for faster/lower memory LTO builds.
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros
%global toolchain clang
# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
%undefine _include_frame_pointers
# Components enabled if supported by target architecture:
%define gold_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
%ifarch %{gold_arches}
@ -7,20 +15,20 @@
%endif
%bcond_with compat_build
%bcond_without check
%global llvm_libdir %{_libdir}/%{name}
%global build_llvm_libdir %{buildroot}%{llvm_libdir}
#%%global rc_ver 6
%global baserelease 1
%global llvm_srcdir llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src
%global maj_ver 10
#global rc_ver 4
%global maj_ver 16
%global min_ver 0
%global patch_ver 0
%global patch_ver 6
%global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global _lto_cflags -flto=thin
%if %{with compat_build}
%global pkg_name llvm%{maj_ver}.%{min_ver}
%global exec_suffix -%{maj_ver}.%{min_ver}
%global pkg_name llvm%{maj_ver}
%global exec_suffix -%{maj_ver}
%global install_prefix %{_libdir}/%{name}
%global install_bindir %{install_prefix}/bin
%global install_includedir %{install_prefix}/include
@ -29,47 +37,84 @@
%global pkg_bindir %{install_bindir}
%global pkg_includedir %{_includedir}/%{name}
%global pkg_libdir %{install_libdir}
%global pkg_datadir %{install_prefix}/share
%else
%global pkg_name llvm
%global install_prefix /usr
%global install_libdir %{_libdir}
%global pkg_bindir %{_bindir}
%global pkg_libdir %{install_libdir}
%global pkg_datadir %{_datadir}
%global exec_suffix %{nil}
%endif
%if 0%{?rhel}
%global targets_to_build "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF;WebAssembly"
%global experimental_targets_to_build ""
%else
%global targets_to_build "all"
%global experimental_targets_to_build "AVR"
%endif
%global build_install_prefix %{buildroot}%{install_prefix}
# Lower memory usage of dwz on s390x
%global _dwz_low_mem_die_limit_s390x 1
%global _dwz_max_die_limit_s390x 1000000
%ifarch %{arm}
# koji overrides the _gnu variable to be gnu, which is not correct for clang, so
# we need to hard-code the correct triple here.
%global llvm_triple armv7l-redhat-linux-gnueabihf
%else
%global llvm_triple %{_target_platform}
%endif
# https://fedoraproject.org/wiki/Changes/PythonSafePath#Opting_out
# Don't add -P to Python shebangs
# The executable Python scripts in /usr/share/opt-viewer/ import each other
%undefine _py3_shebang_P
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}
Release: 5%{?dist}
Summary: The Low Level Virtual Machine
License: NCSA
License: Apache-2.0 WITH LLVM-exception OR NCSA
URL: http://llvm.org
%if 0%{?rc_ver:1}
Source0: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{llvm_srcdir}.tar.xz
Source3: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{llvm_srcdir}.tar.xz.sig
%else
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{llvm_srcdir}.tar.xz
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{llvm_srcdir}.tar.xz.sig
%endif
%if %{without compat_build}
Source1: run-lit-tests
Source2: lit.fedora.cfg.py
%endif
Source4: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz.sig
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig
Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz
Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz.sig
Source6: release-keys.asc
Patch0: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch
Patch1: 0001-CMake-Split-test-binary-exports-into-their-own-expor.patch
# Backported from LLVM 17
Patch1: 0001-SystemZ-Improve-error-messages-for-unsupported-reloc.patch
# See https://reviews.llvm.org/D137890 for the next two patches
Patch2: 0001-llvm-Add-install-targets-for-gtest.patch
# Backport of https://reviews.llvm.org/D154212 from LLVM 17.
Patch3: 0001-cmake-Add-LLVM_UNITTEST_LINK_FLAGS-option.patch
# RHEL-specific patch to avoid unwanted recommonmark dep
Patch101: 0101-Deactivate-markdown-doc.patch
# Patching third-party dir with a 200 offset in patch number
Patch201: 0201-third-party-Add-install-targets-for-gtest.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: clang
BuildRequires: cmake
BuildRequires: ninja-build
BuildRequires: zlib-devel
BuildRequires: libffi-devel
BuildRequires: ncurses-devel
BuildRequires: python3-psutil
BuildRequires: python3-sphinx
%if %{undefined rhel}
BuildRequires: python3-recommonmark
%endif
BuildRequires: multilib-rpm-config
%if %{with gold}
BuildRequires: binutils-devel
@ -80,8 +125,13 @@ BuildRequires: valgrind-devel
%endif
# LLVM's LineEditor library will use libedit if it is available.
BuildRequires: libedit-devel
# We need python3-devel for pathfix.py.
# We need python3-devel for %%py3_shebang_fix
BuildRequires: python3-devel
BuildRequires: python3-setuptools
# For origin certification
BuildRequires: gnupg2
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
@ -101,6 +151,17 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# app that requires the libLLVMLineEditor, so we need to make sure
# libedit-devel is available.
Requires: libedit-devel
# The installed cmake files reference binaries from llvm-test and llvm-static.
# We tried in the past to split the cmake exports for these binaries out into
# separate files, so that llvm-devel would not need to Require these packages,
# but this caused bugs (rhbz#1773678) and forced us to carry two non-upstream
# patches.
Requires: %{name}-static%{?_isa} = %{version}-%{release}
%if %{without compat_build}
Requires: %{name}-test%{?_isa} = %{version}-%{release}
%endif
Requires(post): %{_sbindir}/alternatives
Requires(postun): %{_sbindir}/alternatives
@ -128,23 +189,24 @@ Shared libraries for the LLVM compiler infrastructure.
Summary: LLVM static libraries
Conflicts: %{name}-devel < 8
Provides: llvm-static(major) = %{maj_ver}
%description static
Static libraries for the LLVM compiler infrastructure.
%package cmake-utils
Summary: CMake utilities shared across LLVM subprojects
%description cmake-utils
CMake utilities shared across LLVM subprojects.
This is for internal use by LLVM packages only.
%if %{without compat_build}
%package test
Summary: LLVM regression tests
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: python3-lit
# The regression tests need gold.
Requires: binutils
# This is for llvm-config
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
# Bugpoint tests require gcc
Requires: gcc
Requires: findutils
Provides: llvm-test(major) = %{maj_ver}
@ -160,32 +222,43 @@ LLVM's modified googletest sources.
%endif
%prep
%autosetup -n %{llvm_srcdir} -p2
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE2}'
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}' --data='%{SOURCE4}'
%setup -T -q -b 2 -n %{cmake_srcdir}
# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir},
# but this is not a CACHED variable, so we can't actually set it externally :(
cd ..
mv %{cmake_srcdir} cmake
%setup -T -q -b 4 -n %{third_party_srcdir}
%autopatch -m200 -p2
cd ..
mv %{third_party_srcdir} third-party
pathfix.py -i %{__python3} -pn \
%setup -T -q -b 0 -n %{llvm_srcdir}
%autopatch -M%{?!rhel:100}%{?rhel:200} -p2
%py3_shebang_fix \
test/BugPoint/compile-custom.ll.py \
tools/opt-viewer/*.py
tools/opt-viewer/*.py \
utils/update_cc_test_checks.py
%build
mkdir -p _build
cd _build
%ifarch s390 %{arm} %ix86
%ifarch s390 s390x %{arm} %ix86
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
# Copy CFLAGS into ASMFLAGS, so -fcf-protection is used when compiling assembly files.
export ASMFLAGS=$CFLAGS
# force off shared libs as cmake macros turns it on.
#
# -DCMAKE_INSTALL_RPATH=";" is a workaround for llvm manually setting the
# rpath of libraries and binaries. llvm will skip the manual setting
# if CAMKE_INSTALL_RPATH is set to a value, but cmake interprets this value
# as nothing, so it sets the rpath to "" when installing.
%cmake .. -G Ninja \
%cmake -G Ninja \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DLLVM_PARALLEL_LINK_JOBS=1 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_RPATH=";" \
-DCMAKE_SKIP_RPATH:BOOL=ON \
%ifarch s390 %{arm} %ix86
-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
@ -198,15 +271,16 @@ cd _build
%endif
%endif
\
-DLLVM_TARGETS_TO_BUILD=all \
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \
-DLLVM_ENABLE_LIBCXX:BOOL=OFF \
-DLLVM_ENABLE_ZLIB:BOOL=ON \
-DLLVM_ENABLE_FFI:BOOL=ON \
-DLLVM_ENABLE_RTTI:BOOL=ON \
-DLLVM_USE_PERF:BOOL=ON \
%if %{with gold}
-DLLVM_BINUTILS_INCDIR=%{_includedir} \
%endif
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR \
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=%{experimental_targets_to_build} \
\
-DLLVM_BUILD_RUNTIME:BOOL=ON \
\
@ -215,6 +289,12 @@ cd _build
\
-DLLVM_INCLUDE_TESTS:BOOL=ON \
-DLLVM_BUILD_TESTS:BOOL=ON \
%if %{with compat_build}
-DLLVM_INSTALL_GTEST:BOOL=OFF \
%else
-DLLVM_INSTALL_GTEST:BOOL=ON \
%endif
-DLLVM_LIT_ARGS=-v \
\
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
@ -233,107 +313,73 @@ cd _build
-DLLVM_ENABLE_SPHINX:BOOL=ON \
-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
\
%if %{without compat_build}
-DLLVM_VERSION_SUFFIX='' \
%endif
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
-DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
\
-DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0"
# Build libLLVM.so first. This ensures that when libLLVM.so is linking, there
# are no other compile jobs running. This will help reduce OOM errors on the
# builders without having to artificially limit the number of concurrent jobs.
%ninja_build LLVM
%ninja_build
%cmake_build --target LLVM
%cmake_build
%install
%ninja_install -C _build
%cmake_install
mkdir -p %{buildroot}/%{_bindir}
%if %{without compat_build}
mkdir -p %{buildroot}/%{_bindir}
mv %{buildroot}/%{_bindir}/llvm-config %{buildroot}/%{_bindir}/llvm-config-%{__isa_bits}
# Fix some man pages
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config-%{__isa_bits}.1
mv %{buildroot}%{_mandir}/man1/tblgen.1 %{buildroot}%{_mandir}/man1/llvm-tblgen.1
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.1
# Install binaries needed for lit tests
%global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer
for f in %{test_binaries}
do
install -m 0755 ./_build/bin/$f %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/bin/$f %{buildroot}%{_bindir}
done
# Remove testing of update utility tools
rm -rf test/tools/UpdateTestChecks
%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h
# Install libraries needed for unittests
%if 0%{?__isa_bits} == 64
%global build_libdir _build/lib64
%global build_libdir %{_vpath_builddir}/lib64
%else
%global build_libdir _build/lib
%global build_libdir %{_vpath_builddir}/lib
%endif
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir}
%global install_srcdir %{buildroot}%{_datadir}/llvm/src
%global lit_cfg test/%{_arch}.site.cfg.py
%global lit_unit_cfg test/Unit/%{_arch}.site.cfg.py
%global lit_fedora_cfg %{_datadir}/llvm/lit.fedora.cfg.py
# Install gtest sources so clang can use them for gtest
install -d %{install_srcdir}
install -d %{install_srcdir}/utils/
cp -R utils/unittest %{install_srcdir}/utils/
# Generate lit config files. Strip off the last line that initiates the
# test run, so we can customize the configuration.
head -n -1 _build/test/lit.site.cfg.py >> %{lit_cfg}
head -n -1 _build/test/Unit/lit.site.cfg.py >> %{lit_unit_cfg}
# Install custom fedora config file
cp %{SOURCE2} %{buildroot}%{lit_fedora_cfg}
# Patch lit config files to load custom fedora config:
for f in %{lit_cfg} %{lit_unit_cfg}; do
echo "lit_config.load_config(config, '%{lit_fedora_cfg}')" >> $f
done
install -d %{buildroot}%{_libexecdir}/tests/llvm
install -m 0755 %{SOURCE1} %{buildroot}%{_libexecdir}/tests/llvm
# Install lit tests. We need to put these in a tarball otherwise rpm will complain
# about some of the test inputs having the wrong object file format.
install -d %{buildroot}%{_datadir}/llvm/
tar -czf %{install_srcdir}/test.tar.gz test/
# Install the unit test binaries
mkdir -p %{build_llvm_libdir}
cp -R _build/unittests %{build_llvm_libdir}/
rm -rf `find %{build_llvm_libdir} -iname 'cmake*'`
# Install libraries used for testing
install -m 0755 %{build_libdir}/BugpointPasses.so %{buildroot}%{_libdir}
install -m 0755 %{build_libdir}/LLVMHello.so %{buildroot}%{_libdir}
# Install test inputs for PDB tests
echo "%{_datadir}/llvm/src/unittests/DebugInfo/PDB" > %{build_llvm_libdir}/unittests/DebugInfo/PDB/llvm.srcdir.txt
mkdir -p %{buildroot}%{_datadir}/llvm/src/unittests/DebugInfo/PDB/
cp -R unittests/DebugInfo/PDB/Inputs %{buildroot}%{_datadir}/llvm/src/unittests/DebugInfo/PDB/
%if %{with gold}
# Add symlink to lto plugin in the binutils plugin directory.
%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/
ln -s -t %{buildroot}%{_libdir}/bfd-plugins/ ../LLVMgold.so
%endif
%else
# Add version suffix to binaries
mkdir -p %{buildroot}/%{_bindir}
for f in %{buildroot}/%{install_bindir}/*; do
filename=`basename $f`
ln -s %{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
done
# Move header files
@ -342,7 +388,6 @@ ln -s ../../../%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/llvm
ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
# Fix multi-lib
mv %{buildroot}%{_bindir}/llvm-config{%{exec_suffix},%{exec_suffix}-%{__isa_bits}}
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
# Create ld.so.conf.d entry
@ -353,7 +398,7 @@ EOF
# Add version suffix to man pages and move them to mandir.
mkdir -p %{buildroot}/%{_mandir}/man1
for f in `ls %{build_install_prefix}/share/man/man1/*`; do
for f in %{build_install_prefix}/share/man/man1/*; do
filename=`basename $f | cut -f 1 -d '.'`
mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1
done
@ -363,37 +408,83 @@ rm -Rf %{build_install_prefix}/share/opt-viewer
%endif
# llvm-config special casing. llvm-config is managed by update-alternatives.
# the original file must remain available for compatibility with the CMake
# infrastructure. Without compat, cmake points to the symlink, with compat it
# points to the original file.
%if %{without compat_build}
mv %{buildroot}/%{pkg_bindir}/llvm-config %{buildroot}/%{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
# We still maintain a versionned symlink for consistency across llvm versions.
# This is specific to the non-compat build and matches the exec prefix for
# compat builds. An isa-agnostic versionned symlink is also maintained in the (un)install
# steps.
(cd %{buildroot}/%{pkg_bindir} ; ln -s llvm-config%{exec_suffix}-%{__isa_bits} llvm-config-%{maj_ver}-%{__isa_bits} )
# ghost presence
touch %{buildroot}%{_bindir}/llvm-config-%{maj_ver}
%else
rm %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
(cd %{buildroot}/%{pkg_bindir} ; ln -s llvm-config llvm-config%{exec_suffix}-%{__isa_bits} )
%endif
# ghost presence
touch %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
mkdir -p %{buildroot}%{pkg_datadir}/llvm/cmake
cp -Rv ../cmake/* %{buildroot}%{pkg_datadir}/llvm/cmake
%check
# TODO: Fix test failures on arm
ninja check-all -C _build || \
# Disable check section on arm due to some kind of memory related failure.
# Possibly related to https://bugzilla.redhat.com/show_bug.cgi?id=1920183
%ifnarch %{arm}
# TODO: Fix the failures below
%ifarch %{arm}
:
%else
false
rm test/tools/llvm-readobj/ELF/dependent-libraries.test
%endif
# non reproducible errors
rm test/tools/dsymutil/X86/swift-interface.test
%if %{with check}
# FIXME: use %%cmake_build instead of %%__ninja
LD_LIBRARY_PATH=%{buildroot}/%{pkg_libdir} %{__ninja} check-all -C %{_vpath_builddir}
%endif
%endif
%ldconfig_scriptlets libs
%if %{without compat_build}
%post devel
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config llvm-config %{_bindir}/llvm-config-%{__isa_bits} %{__isa_bits}
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
%if %{without compat_build}
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
%endif
%postun devel
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives --remove llvm-config %{_bindir}/llvm-config
%{_sbindir}/update-alternatives --remove llvm-config%{exec_suffix} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
%if %{without compat_build}
%{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
%endif
fi
%endif
%files
%license LICENSE.TXT
%exclude %{_mandir}/man1/llvm-config*
%{_mandir}/man1/*
%{_bindir}/*
%exclude %{_bindir}/llvm-config%{exec_suffix}
%exclude %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
%if %{without compat_build}
%exclude %{_bindir}/llvm-config-%{__isa_bits}
%exclude %{_bindir}/llvm-config-%{maj_ver}
%exclude %{pkg_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
%exclude %{_bindir}/not
%exclude %{_bindir}/count
%exclude %{_bindir}/yaml-bench
@ -402,15 +493,16 @@ fi
%exclude %{_bindir}/llvm-opt-fuzzer
%{_datadir}/opt-viewer
%else
%exclude %{pkg_bindir}/llvm-config
%{pkg_bindir}
%endif
%files libs
%license LICENSE.TXT
%{pkg_libdir}/libLLVM-%{maj_ver}.so
%if %{without compat_build}
%if %{with gold}
%{_libdir}/LLVMgold.so
%{_libdir}/bfd-plugins/LLVMgold.so
%endif
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
%{_libdir}/libLTO.so*
@ -426,19 +518,20 @@ fi
%{pkg_libdir}/libRemarks.so*
%files devel
%if %{without compat_build}
%{_bindir}/llvm-config-%{__isa_bits}
%license LICENSE.TXT
%ghost %{_bindir}/llvm-config%{exec_suffix}
%{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
%{_mandir}/man1/llvm-config*
%if %{without compat_build}
%{_includedir}/llvm
%{_includedir}/llvm-c
%{_libdir}/libLLVM.so
%{_libdir}/cmake/llvm
%exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
%exclude %{_libdir}/cmake/llvm/LLVMTestExports.cmake
%{pkg_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
%ghost %{_bindir}/llvm-config-%{maj_ver}
%else
%{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
%{pkg_bindir}/llvm-config
%{_mandir}/man1/llvm-config%{exec_suffix}.1.gz
%{install_includedir}/llvm
%{install_includedir}/llvm-c
%{pkg_includedir}/llvm
@ -449,42 +542,376 @@ fi
%endif
%files doc
%license LICENSE.TXT
%doc %{_pkgdocdir}/html
%files static
%license LICENSE.TXT
%if %{without compat_build}
%{_libdir}/*.a
%exclude %{_libdir}/libLLVMTestingSupport.a
%{_libdir}/cmake/llvm/LLVMStaticExports.cmake
%exclude %{_libdir}/libLLVMTestingAnnotations.a
%exclude %{_libdir}/libllvm_gtest.a
%exclude %{_libdir}/libllvm_gtest_main.a
%else
%{_libdir}/%{name}/lib/*.a
%endif
%files cmake-utils
%license LICENSE.TXT
%{pkg_datadir}/llvm/cmake
%if %{without compat_build}
%files test
%{_libexecdir}/tests/llvm/
%{llvm_libdir}/unittests/
%{_datadir}/llvm/src/unittests
%{_datadir}/llvm/src/test.tar.gz
%{_datadir}/llvm/lit.fedora.cfg.py
%license LICENSE.TXT
%{_bindir}/not
%{_bindir}/count
%{_bindir}/yaml-bench
%{_bindir}/lli-child-target
%{_bindir}/llvm-isel-fuzzer
%{_bindir}/llvm-opt-fuzzer
%{_libdir}/BugpointPasses.so
%{_libdir}/LLVMHello.so
%{_libdir}/cmake/llvm/LLVMTestExports.cmake
%files googletest
%{_datadir}/llvm/src/utils
%license LICENSE.TXT
%{_libdir}/libLLVMTestingSupport.a
%{_libdir}/libLLVMTestingAnnotations.a
%{_libdir}/libllvm_gtest.a
%{_libdir}/libllvm_gtest_main.a
%{_includedir}/llvm-gtest
%{_includedir}/llvm-gmock
%endif
%changelog
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 16.0.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Jul 10 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-4
- Use LLVM_UNITTEST_LINK_FLAGS to reduce link times for unit tests
* Mon Jul 03 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-3
- Improve error messages for unsupported relocs on s390x (rhbz#2216906)
- Disable LLVM_UNREACHABLE_OPTIMIZE
* Wed Jun 14 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-1
- Update to LLVM 16.0.6
* Fri Jun 09 2023 Nikita Popov <npopov@redhat.com> - 16.0.5-2
- Split off llvm-cmake-utils package
* Mon Jun 05 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.5-1
- Update to LLVM 16.0.5
* Fri May 19 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 16.0.4-2
- Avoid recommonmark dependency in RHEL builds
* Thu May 18 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.4-1
- Update to LLVM 16.0.4
* Tue May 09 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.3-1
- Update to LLVM 16.0.3
* Tue Apr 25 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.2-1
- Update to LLVM 16.0.2
* Tue Apr 11 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.1-1
- Update to LLVM 16.0.1
* Thu Mar 23 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0-2
- Distribute libllvm_gtest.a and libllvm_gtest_main.a with llvm-googletest
- Stop distributing /usr/share/llvm/src/utils
* Mon Mar 20 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0-1
- Update to LLVM 16.0.0
* Thu Mar 16 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc4-2
- Fix the ppc64le triple
* Tue Mar 14 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc4-1
- Update to LLVM 16.0.0 RC4
* Fri Mar 10 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc3-2
- Fix llvm-exegesis failures on s390x
* Wed Feb 22 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc3-1
- Update to LLVM 16.0.0 RC3
* Wed Feb 01 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc1-1
- Update to LLVM 16.0.0 RC1
* Thu Jan 19 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 15.0.7-3
- Update license to SPDX identifiers.
- Include the Apache license adopted in 2019.
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 15.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jan 12 2023 Nikita Popov <npopov@redhat.com> - 15.0.7-1
- Update to LLVM 15.0.7
* Mon Jan 09 2023 Tom Stellard <tstellar@redhat.com> - 15.0.6-3
- Omit frame pointers when building
* Mon Dec 19 2022 Nikita Popov <npopov@redhat.com> - 15.0.6-2
- Remove workaround for rbhz#2048440
* Mon Dec 05 2022 Nikita Popov <npopov@redhat.com> - 15.0.6-1
- Update to LLVM 15.0.6
* Fri Nov 11 2022 Nikita Popov <npopov@redhat.com> - 15.0.4-2
- Copy CFLAGS to ASMFLAGs to enable CET in asm files
* Wed Nov 02 2022 Nikita Popov <npopov@redhat.com> - 15.0.4-1
- Update to LLVM 15.0.4
* Tue Sep 27 2022 Nikita Popov <npopov@redhat.com> - 15.0.0-2
- Export GetHostTriple.cmake
* Tue Sep 06 2022 Nikita Popov <npopov@redhat.com> - 15.0.0-1
- Update to LLVM 15.0.0
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 14.0.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jun 17 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.5-2
- Release bump for new redhat-rpm-config
* Mon Jun 13 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.5-1
- 14.0.5 Release
* Wed May 18 2022 Tom Stellard <tstellar@redhat.com> - 14.0.3-1
- 14.0.3 Release
* Fri Apr 29 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.0-2
- Remove llvm-cmake-devel package
* Wed Mar 23 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.0-1
- Update to LLVM 14.0.0
* Wed Feb 02 2022 Nikita Popov <npopov@redhat.com> - 13.0.1-1
- Update to LLVM 13.0.1 final
* Tue Jan 25 2022 Nikita Popov <npopov@redhat.com> - 13.0.1~rc3-1
- Update to LLVM 13.0.1rc3
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 13.0.1~rc2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jan 13 2022 Nikita Popov <npopov@redhat.com> - 13.0.1~rc2-1
- Update to LLVM 13.0.1rc2
* Mon Jan 10 2022 Nikita Popov <npopov@redhat.com> - 13.0.1~rc1-1
- Upstream 13.0.1 rc1 release
* Sat Jan 08 2022 Miro Hrončok <mhroncok@redhat.com> - 13.0.0-8
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34
* Thu Nov 11 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-7
- Enable lto on s390x and arm
* Mon Oct 25 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-6
- Build with Thin LTO
* Mon Oct 18 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-5
- Build with clang
* Fri Oct 08 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-4
- Fix default triple on arm
* Wed Oct 06 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-3
- Set default triple
* Mon Oct 04 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-2
- Drop abi_revision from soname
* Thu Sep 30 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-1
- 13.0.0 Release
* Thu Sep 30 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc4-2
- Restore config.guess for host triple detection
* Fri Sep 24 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc4-1
- 13.0.0-rc4 Release
* Fri Sep 17 2021 Tom Stellard <tstellar@redhta.com> - 13.0.0~rc3-1
- 13.0.0-rc3 Release
* Mon Sep 13 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-3
- Pass LLVM_DEFAULT_TARGET_TRIPLE to cmake
* Mon Sep 13 2021 Konrad Kleine <kkleine@redhat.com> - 13.0.0~rc1-2
- Add --without=check option
* Wed Aug 04 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-1
- 13.0.0-rc1 Release
* Thu Jul 22 2021 sguelton@redhat.com - 12.0.1-3
- Maintain versionned link to llvm-config
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 12.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jul 12 2021 Tom Stellard <tstellar@redhat.com> - 12.0.1-1
- 12.0.1 Release
* Wed Jun 30 2021 Tom Stellard <tstellar@redhat.com> - llvm-12.0.1~rc3-1
- 12.0.1-rc3 Release
* Fri May 28 2021 Tom Stellard <tstellar@redhat.com> - 12.0.1~rc1-2
- Stop installing lit tests
* Wed May 26 2021 Tom Stellard <tstellar@redhat.com> - llvm-12.0.1~rc1-1
- 12.0.1-rc1 Release
* Mon May 17 2021 sguelton@redhat.com - 12.0.0-7
- Fix handling of llvm-config
* Mon May 03 2021 kkleine@redhat.com - 12.0.0-6
- More verbose builds thanks to python3-psutil
* Sat May 01 2021 sguelton@redhat.com - 12.0.0-5
- Fix llvm-config install
* Tue Apr 27 2021 sguelton@redhat.com - 12.0.0-4
- Provide default empty value for exec_suffix when not in compat mode
* Tue Apr 27 2021 sguelton@redhat.com - 12.0.0-3
- Fix llvm-config install
* Tue Apr 20 2021 sguelton@redhat.com - 12.0.0-2
- Backport compat package fix
* Thu Apr 15 2021 Tom Stellard <tstellar@redhat.com> - 12.0.0-1
- 12.0.0 Release
* Thu Apr 08 2021 sguelton@redhat.com - 12.0.0-0.11.rc5
- New upstream release candidate
* Tue Apr 06 2021 sguelton@redhat.com - 12.0.0-0.10.rc4
- Patch test case for compatibility with llvm-test latout
* Fri Apr 02 2021 sguelton@redhat.com - 12.0.0-0.9.rc4
- New upstream release candidate
* Wed Mar 31 2021 Jonathan Wakely <jwakely@redhat.com> - 12.0.0-0.8.rc3
- Rebuilt for removed libstdc++ symbols (#1937698)
* Thu Mar 11 2021 sguelton@redhat.com - 12.0.0-0.7.rc3
- LLVM 12.0.0 rc3
* Wed Mar 10 2021 Kalev Lember <klember@redhat.com> - 12.0.0-0.6.rc2
- Add llvm-static(major) provides to the -static subpackage
* Tue Mar 09 2021 sguelton@redhat.com - 12.0.0-0.5.rc2
- rebuilt
* Tue Mar 02 2021 sguelton@redhat.com - 12.0.0-0.4.rc2
- Change CI working dir
* Wed Feb 24 2021 sguelton@redhat.com - 12.0.0-0.3.rc2
- 12.0.0-rc2 release
* Tue Feb 16 2021 Dave Airlie <airlied@redhat.com> - 12.0.0-0.2.rc1
- Enable LLVM_USE_PERF to allow perf integration
* Tue Feb 2 2021 Serge Guelton - 12.0.0-0.1.rc1
- 12.0.0-rc1 release
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.1.0-0.3.rc2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 22 2021 Serge Guelton - 11.1.0-0.2.rc2
- 11.1.0-rc2 release
* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1
- 11.1.0-rc1 release
* Tue Jan 05 2021 Serge Guelton - 11.0.1-3.rc2
- Waive extra test case
* Sun Dec 20 2020 sguelton@redhat.com - 11.0.1-2.rc2
- 11.0.1-rc2 release
* Tue Dec 01 2020 sguelton@redhat.com - 11.0.1-1.rc1
- 11.0.1-rc1 release
* Sat Oct 31 2020 Jeff Law <law@redhat.com> - 11.0.0-2
- Fix missing #include for gcc-11
* Wed Oct 14 2020 Josh Stone <jistone@redhat.com> - 11.0.0-1
- Fix coreos-installer test crash on s390x (rhbz#1883457)
* Mon Oct 12 2020 sguelton@redhat.com - 11.0.0-0.11
- llvm 11.0.0 - final release
* Thu Oct 08 2020 sguelton@redhat.com - 11.0.0-0.10.rc6
- 11.0.0-rc6
* Fri Oct 02 2020 sguelton@redhat.com - 11.0.0-0.9.rc5
- 11.0.0-rc5 Release
* Sun Sep 27 2020 sguelton@redhat.com - 11.0.0-0.8.rc3
- Fix NVR
* Thu Sep 24 2020 sguelton@redhat.com - 11.0.0-0.2.rc3
- Obsolete patch for rhbz#1862012
* Thu Sep 24 2020 sguelton@redhat.com - 11.0.0-0.1.rc3
- 11.0.0-rc3 Release
* Wed Sep 02 2020 sguelton@redhat.com - 11.0.0-0.7.rc2
- Apply upstream patch for rhbz#1862012
* Tue Sep 01 2020 sguelton@redhat.com - 11.0.0-0.6.rc2
- Fix source location
* Fri Aug 21 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-0.5.rc2
- 11.0.0-rc2 Release
* Wed Aug 19 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-0.4.rc1
- Fix regression-tests CI tests
* Tue Aug 18 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-0.3.rc1
- Fix rust crash on ppc64le compiling firefox
- rhbz#1862012
* Tue Aug 11 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-0.2.rc1
- Install update_cc_test_checks.py script
* Thu Aug 06 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-0.1-rc1
- LLVM 11.0.0-rc1 Release
- Make llvm-devel require llvm-static and llvm-test
* Tue Aug 04 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-10
- Backport upstream patch to fix build with -flto.
- Disable LTO on s390x to work-around unit test failures.
* Sat Aug 01 2020 sguelton@redhat.com - 10.0.0-9
- Fix update-alternative uninstall script
* Sat Aug 01 2020 sguelton@redhat.com - 10.0.0-8
- Fix gpg verification and update macro usage.
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-7
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jun 11 2020 sguelton@redhat.com - 10.0.0-5
- Make llvm-test.tar.gz creation reproducible.
* Tue Jun 02 2020 sguelton@redhat.com - 10.0.0-4
- Instruct cmake not to generate RPATH
* Thu Apr 30 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-3
- Install LLVMgold.so symlink in bfd-plugins directory
* Tue Apr 07 2020 sguelton@redhat.com - 10.0.0-2
- Do not package UpdateTestChecks tests in llvm-tests
- Apply upstream patch bab5908df to pass gating tests
* Wed Mar 25 2020 sguelton@redhat.com - 10.0.0-1
- 10.0.0 final

104
release-keys.asc Normal file
View File

@ -0,0 +1,104 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
=Lvw+
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=tMzl
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,58 +0,0 @@
#!/bin/bash
usage() {
echo "usage: `basename $0` [OPTIONS]"
echo " --threads NUM The number of threads to use for running tests."
echo " --multilib-arch ARCH Use this option to test 32-bit libs/binaries on"
echo " 64-bit hosts."
}
threads_arg=''
while [ $# -gt 0 ]; do
case $1 in
--threads)
shift
threads_arg="--threads $1"
;;
--multilib-arch)
shift
ARCH=$1
;;
* )
echo "unknown option: $1"
echo ""
usage
exit 1
;;
esac
shift
done
set -xe
if [ -z "$ARCH" ]; then
ARCH=`rpm --eval '%_arch'`
fi
case $ARCH in
arm)
;&
i686)
LIB_DIR="/usr/lib/"
;;
*)
LIB_DIR="/usr/lib64/"
;;
esac
cd $(mktemp -d)
ln -s /usr/include include
tar -xzf /usr/share/llvm/src/test.tar.gz
ln -s $ARCH.site.cfg.py test/lit.site.cfg.py
ln -s $ARCH.site.cfg.py test/Unit/lit.site.cfg.py
lit -v -s $threads_arg test \
-Dllvm_obj_root=`pwd` \
-Dllvm_test_root=`pwd`/test \
-Dllvm_unittest_bindir=$LIB_DIR/llvm \
-Dllvm_shlib_dir=$LIB_DIR

View File

@ -1,2 +1,6 @@
SHA512 (llvm-10.0.0.src.tar.xz) = 7dc961aacee3a01ecc002ff2b688a2ef50661856d2abd5ecc90566ffcad7566e4976736cd339ea96592e452cd5a17aaceba9712b2effec805661cca8ff020ee7
SHA512 (llvm-10.0.0.src.tar.xz.sig) = 2e4c61af5d84db4bc7a8ab51367210c529ae02e401b7a73a449f79bf9d92654ccf36fdef0f552c8850df0e94bcafce2359180ad0cdf720be7c874a782a936878
SHA512 (llvm-16.0.6.src.tar.xz) = 8d4cdadc9a1ad249fbf9248c8e56f3bcafab73a473a0b0ca73499ed8825c62e27668aac4f1d03341631e5ad93701621e834e9e196ca32eac3ef805cf1c860083
SHA512 (llvm-16.0.6.src.tar.xz.sig) = 9adda28085f4a2e2a64dab1d8e4ff23c5629bbb0bb6b34afc081e44f6f85ac4f3c6cd0c3488af98c0fad939c33f9d2a8a0cbef67a577cd7fe3013bc2200452b1
SHA512 (cmake-16.0.6.src.tar.xz) = 52ecd941d2d85a5b668caa5d0d40480cb6a97b3bf1174e634c2a93e9ef6d03670ca7e96abb0a60cb33ba537b93d5788754dab1f2f45c1f623f788162717d088b
SHA512 (cmake-16.0.6.src.tar.xz.sig) = d20c5e51315aa476775e6ce886684b9f882ce283fc40aa6c1b8f03964c77a1e745e2e1fb00b3488dddfe1a04378e2bfd090350de28e58088525a5305ecb1bea6
SHA512 (third-party-16.0.6.src.tar.xz) = 51683e92953eb57ed36ebc8a43cb688863edf4f24ba71965d57016cfdc17bad10f8f3942e9597a729329f89489597e79bb4653445ff1ec36ec03077adb1dd7b9
SHA512 (third-party-16.0.6.src.tar.xz.sig) = aefb22ee35b2299e77669d72557079630fba5df2c0031c72a025082de3c4ca56ea0e1ec870c42d9056752195ad0e5b68258b548caf801ef4269e2ec1cd9da513

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

View File

@ -1,16 +0,0 @@
#!/bin/bash
set -ex
dnf download --disablerepo=* --enablerepo=test-llvm --source llvm
# The src.rpm is available in the directory the test run from.
set +e
mock --resultdir=. --old-chroot --with compat_build --rebuild *.src.rpm
if [ $? -ne 0 ]; then
cat root.log
cat build.log
exit 1
fi
exit 0

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://src.fedoraproject.org/tests/llvm.git
ref: main
execute:
how: tmt
provision:
hardware:
memory: ">= 4 GiB"

View File

@ -1,5 +0,0 @@
---
standard-inventory-qcow2:
qemu:
m: 2G

View File

@ -1,30 +0,0 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
required_packages:
- llvm-test
- rust
- cargo
tests:
- regression-tests:
dir: ./
run: /usr/libexec/tests/llvm/run-lit-tests --threads 1
- rust-sanity:
dir: ./
run: cargo new hello && cd hello && cargo run
# There is a bug in the build process when it runs out of disk space
# while stripping binaries, which causes the strip to fail, but does
# not fail the build. This results in a libLLVM.so that is over 2GB
# which breaks the nightly compose. So this test checks that libLLVM.so
# is less than 100MB to ensure it was successfully stripped.
# https://bugzilla.redhat.com/show_bug.cgi?id=1793250
- libllvm-size:
dir: ./
run: test `stat -L -c %s /usr/lib64/libLLVM.so` -lt 100000000
# This test ensures that the spec file still builds correctly with
# %global compat_build 1
# FIXME: This fails, because the CI system has a hard-coded timeout of 4
# hours.
#- build-compat

View File

@ -1,31 +0,0 @@
- hosts: localhost
pre_tasks:
# Make sure we uninstall all sub-packages, so we can test that the cmake files
# in llvm-devel are useable when only llvm-devel is installed.
- name: Uninstall llvm sub-packages
package:
name: "{{ item }}"
state: absent
tags: classic
with_items:
- llvm
- llvm-devel
- llvm-doc
- llvm-googletest
- llvm-libs
- llvm-static
- llvm-test
roles:
- role: standard-test-basic
tags: classic
required_packages:
- llvm-devel
- cmake
- ninja-build
- gcc
- gcc-c++
repositories:
- repo: "https://src.fedoraproject.org/tests/llvm.git"
dest: "llvm"
tests:
- llvm/llvm-devel-cmake