Commit Graph

27 Commits

Author SHA256 Message Date
Ana Guerrero
85220898dc Accepting request 1195858 from devel:tools:compiler
- Split off clang shared runtime libraries into libclang_rtX, so
  that they can be used by other packages without requiring the
  entire compiler tool chain. This is still not ergonomical: the
  libraries don't sit in %{_libdir}, so an RPATH or setting
  LD_LIBRARY_PATH is required, and they don't have an SO version,
  so zypper won't know which version to is needed. (boo#1225784)
- Add minor version to Python shebangs. (boo#1212476)
- Remove shebang and executable bit where not needed.

OBS-URL: https://build.opensuse.org/request/show/1195858
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=8
2024-08-26 20:05:28 +00:00
Aaron Puchert
2fef1f329f - Some clang_rt files don't exist on all architectures.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=26
2024-08-24 21:45:48 +00:00
Aaron Puchert
cc2963bddf - Fix typo.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=25
2024-08-24 02:11:23 +00:00
Aaron Puchert
ba65734252 - Split off clang shared runtime libraries into libclang_rtX, so
that they can be used by other packages without requiring the
  entire compiler tool chain. This is still not ergonomical: the
  libraries don't sit in %{_libdir}, so an RPATH or setting
  LD_LIBRARY_PATH is required, and they don't have an SO version,
  so zypper won't know which version to is needed. (boo#1225784)

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=24
2024-08-23 22:46:50 +00:00
Aaron Puchert
2bcdc17738 - Fix quotes.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=23
2024-08-21 21:36:02 +00:00
Aaron Puchert
e82017e2cb - Make sure we also rewrite /usr/bin/python3 and not just
/usr/bin/python.
- Use correct conditional for lldb python bindings.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=22
2024-08-21 17:16:15 +00:00
Aaron Puchert
d4c29faf97 - Remove shebang from lldb python modules.
- Add proper conditionals.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=21
2024-08-21 00:52:48 +00:00
Aaron Puchert
e8d8e6eaa8 - Add minor version to Python shebangs. (boo#1212476)
- Remove shebang and executable bit where not needed.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=20
2024-08-20 23:23:41 +00:00
Aaron Puchert
7b38b2dadb - Fix shebang of the script to use the explicit version of Python
(bsc#1212476).

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=19
2024-08-19 21:04:11 +00:00
Ana Guerrero
82c3358398 Accepting request 1184151 from devel:tools:compiler
- Update to version 18.1.8.
  * Fix a regression from the 18.1.6 release, which could result in
    compiler crashes in the PPCMergeStringPool pass when compiling
    for PowerPC targets.
  * Fixes clang-format regressions (since 18.1.1) on breaking
    before a stream insertion operator (<<) when both operands are
    string literals.
  * Fixes a clang-format regression (since 17.0.6) on formatting
    goto labels in macro definitions.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/request/show/1184151
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=7
2024-07-03 18:26:27 +00:00
Aaron Puchert
d908d9fcff - Update to version 18.1.8.
* Fix a regression from the 18.1.6 release, which could result in
    compiler crashes in the PPCMergeStringPool pass when compiling
    for PowerPC targets.
  * Fixes clang-format regressions (since 18.1.1) on breaking
    before a stream insertion operator (<<) when both operands are
    string literals.
  * Fixes a clang-format regression (since 17.0.6) on formatting
    goto labels in macro definitions.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=17
2024-06-30 18:04:58 +00:00
Ana Guerrero
f396e9fb89 Accepting request 1175712 from devel:tools:compiler
- Update to version 18.1.6.
  * Fixes issues where LLVM is either generating the incorrect thunk
    for a function with aligned parameters or didn't correctly pass
    through the return value when StructRet was used.
  * `-Xclang -target-feature -Xclang +unaligned-scalar-mem` can be
    used to enable unaligned scalar memory accesses for CPUs that
    do not support unaligned vector accesses. `-mno-strict-align`
    will enable unaligned scalar and vector memory accesses.
  * Don't replace an aliasee with an alias that has weak linkage.
    This avoids incorrect linkage that can lead to using the wrong
    symbols during linking time.
  * Fixes build failures when compiling AVX512 code using
    `-march=native` on machines without AVX512. The problem was
    introduced in LLVM 18.1.5.
  * Fixes crash in AArch64 backend when having `true` or `false` as
    operand for `fcmp` instruction on IR level.
  * Fixes compiler crash when user specifies `-mno-evex512` with
    AVX512 features but no AVX512VL.
  * Fixes a bug that tries to do VBROADCAST_LOAD for `f16` without
    AVX2.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/request/show/1175712
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=6
2024-05-23 13:34:35 +00:00
Aaron Puchert
eec5053c44 - Update to version 18.1.6.
* Fixes issues where LLVM is either generating the incorrect thunk
    for a function with aligned parameters or didn't correctly pass
    through the return value when StructRet was used.
  * `-Xclang -target-feature -Xclang +unaligned-scalar-mem` can be
    used to enable unaligned scalar memory accesses for CPUs that
    do not support unaligned vector accesses. `-mno-strict-align`
    will enable unaligned scalar and vector memory accesses.
  * Don't replace an aliasee with an alias that has weak linkage.
    This avoids incorrect linkage that can lead to using the wrong
    symbols during linking time.
  * Fixes build failures when compiling AVX512 code using
    `-march=native` on machines without AVX512. The problem was
    introduced in LLVM 18.1.5.
  * Fixes crash in AArch64 backend when having `true` or `false` as
    operand for `fcmp` instruction on IR level.
  * Fixes compiler crash when user specifies `-mno-evex512` with
    AVX512 features but no AVX512VL.
  * Fixes a bug that tries to do VBROADCAST_LOAD for `f16` without
    AVX2.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=15
2024-05-22 00:16:52 +00:00
Dominique Leuenberger
bb9687421d Accepting request 1172615 from devel:tools:compiler
- Update to version 18.1.5.
  * This release contains bug-fixes for the LLVM 18.1.0 release.
    This release is API and ABI compatible with 18.1.0.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/request/show/1172615
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=5
2024-05-09 10:07:44 +00:00
Aaron Puchert
71d4264176 - Update to version 18.1.5.
* This release contains bug-fixes for the LLVM 18.1.0 release.
    This release is API and ABI compatible with 18.1.0.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=13
2024-05-07 22:56:09 +00:00
Ana Guerrero
800195152e Accepting request 1169036 from devel:tools:compiler
- Update to version 18.1.4.
  * Fixes an issue with Arm64EC code generation where calls to some
    intrinsics implemented in compiler-rt used the wrong name
    mangling, eventually resulting in unresolved symbol errors
    during linking.
  * Fixed an incorrect poison-generating flag preservation in
    `InstSimplify`. It will fix a miscompilation on RISCV, which
    turns the incorrect `or disjoint` into an `add`.
  * Save/restore routines for RV32E/RV64E are added to compiler-rt.
  * Fix regressions introduced in LLVM 18.1.3 in MIPS atomicrmw
    min/max codegen.
- Include module files for libc++ in libc++-devel.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/request/show/1169036
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=4
2024-04-21 18:24:21 +00:00
Aaron Puchert
47f93a59f6 - Update to version 18.1.4.
* Fixes an issue with Arm64EC code generation where calls to some
    intrinsics implemented in compiler-rt used the wrong name
    mangling, eventually resulting in unresolved symbol errors
    during linking.
  * Fixed an incorrect poison-generating flag preservation in
    `InstSimplify`. It will fix a miscompilation on RISCV, which
    turns the incorrect `or disjoint` into an `add`.
  * Save/restore routines for RV32E/RV64E are added to compiler-rt.
  * Fix regressions introduced in LLVM 18.1.3 in MIPS atomicrmw
    min/max codegen.
- Include module files for libc++ in libc++-devel.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=11
2024-04-18 22:37:36 +00:00
Ana Guerrero
d04136df17 Accepting request 1164981 from devel:tools:compiler
- Update to version 18.1.3.
  * Fixes ThreadSanitizer failures for glibc's LoongArch and
    certain RISC-V ports when fstat is used.
  * `transform.structured.convert_to_loops` now properly deletes
    its target op.
  * Fix a `llvm.usub.with.overflow.i128` wrong code generation
    regression that was introduced with LLVM 18.1.0.
  * MemorySanitizer on Linux can now run even when maximum-entropy
    address-space layout randomization is configured globally (as
    is becoming increasingly common). MemorySanitizer can
    automatically re-exec ASLR-off for the process if needed,
    instead of aborting.
  * Fixed a Clang 18.x regression which increased binary size and
    stack usage with `-ftrivial-auto-var-init`.
- Set directories for configuration files: /etc/clang for system-
  wide configuration and ~/.config/clang for users. For details see
  https://clang.llvm.org/docs/UsersManual.html#configuration-files.
- Use old conflicts/provides for python3-clang on Leap.

OBS-URL: https://build.opensuse.org/request/show/1164981
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=3
2024-04-05 18:24:31 +00:00
Aaron Puchert
fc1c271ced - Update to version 18.1.3.
* Fixes ThreadSanitizer failures for glibc's LoongArch and
    certain RISC-V ports when fstat is used.
  * `transform.structured.convert_to_loops` now properly deletes
    its target op.
  * Fix a `llvm.usub.with.overflow.i128` wrong code generation
    regression that was introduced with LLVM 18.1.0.
  * MemorySanitizer on Linux can now run even when maximum-entropy
    address-space layout randomization is configured globally (as
    is becoming increasingly common). MemorySanitizer can
    automatically re-exec ASLR-off for the process if needed,
    instead of aborting.
  * Fixed a Clang 18.x regression which increased binary size and
    stack usage with `-ftrivial-auto-var-init`.
- Set directories for configuration files: /etc/clang for system-
  wide configuration and ~/.config/clang for users. For details see
  https://clang.llvm.org/docs/UsersManual.html#configuration-files.
- Use old conflicts/provides for python3-clang on Leap.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=9
2024-04-04 14:42:23 +00:00
Ana Guerrero
d0da0cc792 Accepting request 1161128 from devel:tools:compiler
- Update to version 18.1.2.
  * This release contains bug-fixes for the LLVM 18.1.0 release.
    This release is API and ABI compatible with 18.1.0.
- Rebase patches:
  * llvm-do-not-install-static-libraries.patch
  * llvm-normally-versioned-libllvm.patch
- Prefer ld.bfd for now to get THP-compatible section layout.

OBS-URL: https://build.opensuse.org/request/show/1161128
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=2
2024-03-25 20:06:08 +00:00
Aaron Puchert
342a6531bc - Adapt change log.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=7
2024-03-24 13:57:39 +00:00
Aaron Puchert
76c5c0d6fa - Stick to ld.lld on %{arm}: ld.bfd + LLVMgold.so doesn't work.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=6
2024-03-24 13:52:56 +00:00
Aaron Puchert
697eceabb4 - Update to version 18.1.2.
* This release contains bug-fixes for the LLVM 18.1.0 release.
    This release is API and ABI compatible with 18.1.0.
- Rebase patches:
  * llvm-do-not-install-static-libraries.patch
  * llvm-normally-versioned-libllvm.patch
- Use ld.bfd for now to get THP-compatible section layout.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=5
2024-03-23 22:57:05 +00:00
Ana Guerrero
204ca550b9 Accepting request 1156747 from devel:tools:compiler
- New package based on version 18.1.1.
  * For details, see the release notes:
    - https://releases.llvm.org/18.1.0/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/clang/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/projects/libcxx/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/lld/docs/ReleaseNotes.html
  * New LLVM tool: llvm-readtapi, LLVM TAPI file reader and
    transformer.
  * Removed LLVM tools: llvm-tapi-diff, llvm-remark-size-diff.
  * New LLDB tool: lldb-dap debug adapter.
  * Removed LLDB tool: lldb-vscode.
- Rename libomp-devel symbolic name to libomp-devel-provider.
  We want to introduce a metapackage named libomp-devel.
- Rebase patches:
  * assume-opensuse.patch
  * link-clang-tools-extra-shared.patch
  * llvm_build_tablegen_component_as_shared_library.patch
  * llvm-do-not-install-static-libraries.patch
  * llvm-fix-find-gcc5-install.patch
  * llvm-normally-versioned-libllvm.patch
  * llvm-suse-implicit-gnu.patch
- Add patches to fix tests:
  * clang-fix-modules-test-riscv.patch
  * clang-fix-openmp-test-non-x86.patch
  * clang-fix-openmp-test.patch
  * llvm-fix-cov-test-i586.patch
- Restructure version macros in specfile for new versioning scheme.
- Fix packaging of ld.lld as ld alternative.
- Disable LLDB Python bindings on SLE/Leap. They now require Swig 4
  which isn't available there.

OBS-URL: https://build.opensuse.org/request/show/1156747
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=1
2024-03-15 19:28:13 +00:00
Aaron Puchert
651588ceaa - Disable LLDB Python bindings on SLE/Leap. They now require Swig 4
which isn't available there.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=3
2024-03-10 13:45:51 +00:00
Aaron Puchert
2a443a1721 - Update to version 18.1.1.
- Remove llvm-Remove-RC-suffix.patch that landed upstream.
- Fix generation of ld update-alternatives symlink.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=2
2024-03-10 01:18:49 +00:00
Aaron Puchert
8a40ab05bb Accepting request 1156665 from home:aaronpuchert:llvm-next
- New package based on version 18.1.0.
  * For details, see the release notes:
    - https://releases.llvm.org/18.1.0/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/clang/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/projects/libcxx/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/lld/docs/ReleaseNotes.html
  * New LLVM tool: llvm-readtapi, LLVM TAPI file reader and
    transformer.
  * Removed LLVM tools: llvm-tapi-diff, llvm-remark-size-diff.
  * New LLDB tool: lldb-dap debug adapter.
  * Removed LLDB tool: lldb-vscode.
- Rename libomp-devel symbolic name to libomp-devel-provider.
  We want to introduce a metapackage named libomp-devel.
- Rebase patches:
  * assume-opensuse.patch
  * link-clang-tools-extra-shared.patch
  * llvm_build_tablegen_component_as_shared_library.patch
  * llvm-do-not-install-static-libraries.patch
  * llvm-fix-find-gcc5-install.patch
  * llvm-normally-versioned-libllvm.patch
  * llvm-suse-implicit-gnu.patch
- Add patches to fix tests:
  * clang-fix-modules-test-riscv.patch
  * clang-fix-openmp-test-non-x86.patch
  * clang-fix-openmp-test.patch
  * llvm-fix-cov-test-i586.patch
- Add llvm-Remove-RC-suffix.patch to remove the "rc" suffix from
  library SO names. Upstream seems to have forgotten that.
- Restructure version macros in specfile for new versioning scheme.
- Fix packaging of ld.lld as ld alternative.

OBS-URL: https://build.opensuse.org/request/show/1156665
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=1
2024-03-09 22:15:02 +00:00