Commit Graph

6058 Commits

Author SHA1 Message Date
Sylvestre Ledru
97c059388e uploaded 2024-01-15 08:56:07 +01:00
Sylvestre Ledru
28be2cd7e6 Merge branch '17' into '17'
Enable flang on loong64

See merge request pkg-llvm-team/llvm-toolchain!131
2024-01-15 07:52:32 +00:00
chenli
2cd430f493 Enable flang on loong64 2024-01-15 14:14:05 +08:00
Sylvestre Ledru
e058c4fea4 Merge branch '17.0.6-4-fallout' into '17'
Fix FTBFSes on i386 and armel resulting from the 1:17.0.6-3 -> 1:17.0.6-4 changes

See merge request pkg-llvm-team/llvm-toolchain!130
2024-01-10 08:20:14 +00:00
Faidon Liambotis
9a997c5589 Fix i386 FTBFS resulting from COMPILER_RT_DEFAULT_TARGET_ONLY
> dh_install: warning: Cannot find (any matches for) "usr/lib/llvm-17/lib/clang/17/bin/hwasan_symbolize" (tried in ., debian/tmp)

hwasan_symbolize is actually an 64-bit-only feature, and was
accidentally included before. Replace the arch opt-out list, with an
opt-in one and a comment pointing to HWASAN_SUPPORTED_ARCH.

> dh_install: warning: Cannot find (any matches for) "usr/lib/llvm-17/lib/clang/17*/lib/linux/liborc_rt*" (tried in ., debian/tmp)

i386 is not in the ALL_ORC_SUPPORTED_ARCH list. Previously, the package
shipped liborc_rt-x86_64.a, but since we don't ship amd64 multilib
binaries anymore, remove the reference.

Addresses regressions introduced with commit:
  400d893908
  Enable COMPILER_RT_DEFAULT_TARGET_ONLY for all archs
2024-01-10 09:47:01 +02:00
Faidon Liambotis
bdfce0866c Revert "Enable COMPILER_RT_BUILD_BUILTINS for armel"
FTBFSes with:

FAILED: CMakeFiles/clang_rt.builtins-arm.dir/arm/sync_fetch_and_add_4.S.o
/<<PKGBUILDDIR>>/build-llvm/./bin/clang -target arm-linux-gnueabi -DVISIBILITY_HIDDEN  -O3 -DNDEBUG -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -DCOMPILER_RT_HAS_FLOAT16 -MD -MT CMakeFiles/clang_rt.builtins-arm.dir/arm/sync_fetch_and_add_4.S.o -MF CMakeFiles/clang_rt.builtins-arm.dir/arm/sync_fetch_and_add_4.S.o.d -o CMakeFiles/clang_rt.builtins-arm.dir/arm/sync_fetch_and_add_4.S.o -c /<<PKGBUILDDIR>>/compiler-rt/lib/builtins/arm/sync_fetch_and_add_4.S
In file included from /<<PKGBUILDDIR>>/compiler-rt/lib/builtins/arm/sync_fetch_and_add_4.S:14:
/<<PKGBUILDDIR>>/compiler-rt/lib/builtins/arm/sync-ops.h:22:2: error: DMB is only supported on ARMv6+
   22 | #error DMB is only supported on ARMv6+
      |  ^

This was despite an upstream commit labeled "[compiler-rt] support
armv4t". Perhaps something going on with the way we configure? Revert
for the time being, until (if) someone cares.

This reverts commit 1b0abffef7.
2024-01-10 09:32:21 +02:00
Sylvestre Ledru
556a6737b6 debian/qualify-clang.sh: remove the test of i386 - use libcompiler-rt:i386 instead 2024-01-09 13:04:50 +01:00
Sylvestre Ledru
70777a3fed fix package name 2024-01-09 11:54:56 +01:00
Sylvestre Ledru
ac5a7481d4 fix changelog 2024-01-09 11:53:43 +01:00
Sylvestre Ledru
0c176de6ac prepare upload 2024-01-09 09:45:59 +01:00
Sylvestre Ledru
f463aa4e23 Cherry pick the wasm fix from 16 (Closes: #1057838) 2024-01-09 09:42:47 +01:00
Sylvestre Ledru
1de36891cf Merge branch 'common-arch-all' into '17'
Convert libclang-common-*-dev to Arch: all/M-A: foreign

See merge request pkg-llvm-team/llvm-toolchain!129
2024-01-09 08:29:32 +00:00
Sylvestre Ledru
8fe0ffdaf1 Merge branch 'doc-m-a-foreign' into '17'
Mark documentation packages as Multi-Arch: foreign

See merge request pkg-llvm-team/llvm-toolchain!128
2024-01-09 08:29:23 +00:00
Sylvestre Ledru
e61452acd6 Merge branch 'clang-rt-armel' into '17'
Enable COMPILER_RT_BUILD_BUILTINS for armel

See merge request pkg-llvm-team/llvm-toolchain!126
2024-01-09 08:28:12 +00:00
Sylvestre Ledru
e9d8ac6c22 Merge branch 'clang-rt-default-only' into '17'
Enable COMPILER_RT_DEFAULT_TARGET_ONLY for all archs

See merge request pkg-llvm-team/llvm-toolchain!125
2024-01-08 14:01:59 +00:00
Sylvestre Ledru
4bad159356 Merge branch 'sparc-unreferenced' into '17'
Drop two unreferenced debian/patches

See merge request pkg-llvm-team/llvm-toolchain!127
2024-01-08 13:59:21 +00:00
Sylvestre Ledru
edf1bd3e98 Merge branch 'cxxdev-abi' into '17'
Add libc++-*-dev -> libc++abi-*-dev dependency

See merge request pkg-llvm-team/llvm-toolchain!124
2024-01-08 13:58:30 +00:00
Faidon Liambotis
c7d388292f Convert libclang-common-*-dev to Arch: all/M-A: foreign
libclang-common-*-dev is an Architecture: any package, possibly due to
the fact that it contained compiler-rt before it was split off to a
separate package. It is not marked as Multi-Arch: same, despite the
hinter suggesting to do so, presumably due to identical files.

Convert it to Architecture: all / Multi-Arch: foreign instead. This
requires the removal of the arch: any dependency libllvm17, which is
spurious anyway. However, for extra safety, add version specifiers to
other packages that do depend on (an unversioned) libllvm17, such as
clang.
2024-01-08 15:44:59 +02:00
Faidon Liambotis
84f2134e5c Mark documentation packages as Multi-Arch: foreign
..and convert clang-*-examples from Architecture: any -> all.

Identified by the multiarch hinter:
  * clang-17-examples could be converted to Architecture: all and marked Multi-Arch: foreign
  * clang-17-doc could be marked Multi-Arch: foreign
  * libomp-17-doc could be marked Multi-Arch: foreign
  * llvm-17-doc could be marked Multi-Arch: foreign
2024-01-08 15:44:06 +02:00
Faidon Liambotis
7b0348cfde Drop two unreferenced debian/patches
sparc/sparc-D98574-clang-def.patch and
sparc/sparc-D98575-compiler-rt.patch are not in debian/patches/series so
it's safe to drop them. D98574 is now merged, D98575 is abandoned, due
to it being fixed elsewhere, so there's no chance they're going to be
revived either.
2024-01-08 15:42:31 +02:00
Faidon Liambotis
1b0abffef7 Enable COMPILER_RT_BUILD_BUILTINS for armel
According to upstream commit aadec60ad9b81f00cf6fcdcbff61f1144d206769,
starting with LLVM 17, armv4t is now supported.

(untested)
2024-01-08 15:41:38 +02:00
Faidon Liambotis
400d893908 Enable COMPILER_RT_DEFAULT_TARGET_ONLY for all archs
This commit does two things in one go:
1) Enable COMPILER_RT_DEFAULT_TARGET_ONLY for i386 and amd64:

Right now i386/amd64 are building compiler-rt for each other, in
addition to themselves.:
 - libclang-rt-17-dev:amd64 is also shipping the i386 builtins, and
   Depending on libc6-i386:amd64/lib32stdc++:amd64.
 - libclang-rt-17-dev:i386 is also shipping the x86_64 built-ins, and
   Depending on libc6-amd64:i386/lib64stdc++6:i386/lib64atomic1:i386.

Beyond the extra cruft in files and dependencies, this means that the
amd64/i386 packages are shipping conflicting files, and dpkg is refusing
to unpack one in the presence of the other (an RC bug in itself). This
is also identified by the multiarch hinter with the following message:
   libclang-rt-17-dev conflicts on 78 files starting with /usr/lib/llvm-17/lib/clang/17/lib/linux/ on amd64 <-> i386

Let users who want to build e.g. 32-bit binaries in amd64 use multi-arch
for this use case, by installing libclang-rt-17-dev:i386. The
alternative would be to support multi-lib, and ship additional packages
such as libclang-rt-17-dev-i386:amd64 (and vice-versa), but this feels
like an overkill. Multi-lib remains still a possibility with (Debian's)
clang's default, libgcc (lib32gcc/lib64gcc) as well.

2) Enable COMPILER_RT_DEFAULT_TARGET_ONLY unconditionally:

This was being passed in an opt-in basis, via STAGE_ALL_CMAKE_EXTRA for
the following architectures:
  * armel
  * armhf
  * powerpc
  * sparc
  * sparc64
  * s390x
  * mips64el
  * hurd-i386

So, with i386/amd64 also opting-in, this leaves only a few remaining
Debian architectures.

Furthermore, upon inspecting compiler-rt/cmake/base-config-ix.cmake, it
looks like the only architectures that are actually building for
additional (non-default) targets are i386, amd64, powerpc (note: not
ppc64el!), mips*, and arm. Turns out we've disabled that for all of them
now.

Therefore, pass COMPILER_RT_DEFAULT_TARGET_ONLY=ON to all architectures
unconditionally, and thus reduce an additional variation factor.
2024-01-08 15:40:12 +02:00
Faidon Liambotis
4c6dc0ef68 Add libc++-*-dev -> libc++abi-*-dev dependency
libc++abi-*-dev is necessary when using libc++-*-dev:
  $ apt install clang-17 libc++-17-dev
  $ clang++-17 -stdlib=libc++ -o hello hello.cpp
  /usr/bin/ld: cannot find -lc++abi: No such file or directory
  clang++-17: error: linker command failed with exit code 1 (use -v to see invocation)

Note that the libc++1-* -> libc++abi-* dependency already exists.
2024-01-08 15:36:56 +02:00
Matthias Klose
e20f4b1bba * libclang1-17: Remove the full version symlinks. 2023-12-11 22:56:07 +01:00
Sylvestre Ledru
5a842ba5c2 prepare upload 2023-12-09 23:15:50 +01:00
Sylvestre Ledru
395e9a3e89 qualify-clang.sh: fix the filename 2023-12-09 22:58:13 +01:00
Sylvestre Ledru
e080ef40f3 fix https://github.com/llvm/llvm-project/issues/74766 2023-12-08 09:55:23 +01:00
Gianfranco Costamagna
142b0f07b4 Update changelog 2023-12-08 09:49:20 +01:00
Gianfranco Costamagna
92c2f79260 Drop sed command, useless now 2023-12-08 09:48:50 +01:00
Sylvestre Ledru
9622f7635a Also add back /usr/lib/llvm-17/lib/libclang-17.so.1 2023-12-06 17:56:50 +01:00
Sylvestre Ledru
55b75cf44f Fix the EmitBackendOutput test in debian/qualify-clang.sh 2023-12-06 15:10:01 +01:00
Sylvestre Ledru
ee43996aae remove old break/replaces 2023-12-06 11:23:10 +01:00
Sylvestre Ledru
5643163c61 refresh debian/control 2023-12-06 11:22:19 +01:00
Sylvestre Ledru
2d79706115 Move the symlink /usr/lib/*/libc++experimental.a from libc++abi-17-dev to libc++-17-dev 2023-12-06 11:20:00 +01:00
Sylvestre Ledru
dd52f2e40c rename of the patch 2023-12-06 10:33:00 +01:00
Sylvestre Ledru
f82e3a2f95 libc++experimental.a is in libc++-17-dev, not libc++abi-17-dev 2023-12-06 10:26:21 +01:00
Sylvestre Ledru
b3f5e896b1 qualify-clang.sh : add missing package 2023-12-06 10:26:21 +01:00
Matthias Klose
5e253166ac * Apply the proposed fix for D158491, build failure on mips64el, still
unreviewed upstream. Addresses: #1056116.
2023-12-06 09:59:55 +01:00
Gianfranco Costamagna
d7e966255e Merge branch 'riscv64-parallel' into '17'
Do not limit the parallel links on riscv64

See merge request pkg-llvm-team/llvm-toolchain!122
2023-12-05 10:49:12 +00:00
Matthias Klose
01a06b481e * Set the cpu defaults for the ARM32 architectures:
- armel: arm926ej-s. Closes: #1056115.
    - armhf: cortex-a8.
    Thanks to Arnd Bergmann and Ard Biesheuvel for the fixes.
2023-12-05 09:42:31 +01:00
Sylvestre Ledru
e03dd05554 fix changelog 2023-12-05 07:45:54 +01:00
Sylvestre Ledru
04b600fe3b Revert " * Set the cpu defaults for the ARM32 architectures:"
for causing this issue:
https://lore.kernel.org/lkml/20231204225148.GA2094126@dev-arch.thelio-3990X/T/

This reverts commit 97633b6d51.
2023-12-05 07:41:52 +01:00
Matthias Klose
695fe3013f * libclang1-17: Hard-code the last full versions for the symlinks. 2023-12-04 13:23:09 +01:00
Matthias Klose
97633b6d51 * Set the cpu defaults for the ARM32 architectures:
- armel: arm9e. Closes: #1056115.
    - armhf: cortex-a7.
2023-12-02 23:20:35 +01:00
Gianfranco Costamagna
bb32f75327 Fix typo 2023-12-01 23:38:00 +01:00
Matthias Klose
e6bb61d217 * Also use the free swap to determine the number of parallel processes. 2023-12-01 19:11:33 +01:00
Gianfranco Costamagna
83ad62f9cf Update changelog 2023-12-01 10:50:39 +01:00
Gianfranco Costamagna
a483a6798a Try to fix Debian bug #1057151 2023-12-01 10:49:34 +01:00
Gianfranco Costamagna
81ad460681 Add missing dependency for new test 2023-11-30 22:21:20 +01:00
Gianfranco Costamagna
70032f71d7 Add new cmake-clang-test to spot issues such as https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1057151 2023-11-30 22:04:50 +01:00