- 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
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
- 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
* 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
- 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
* 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
- 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
* 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
- 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
* 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
* 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