Commit Graph

5370 Commits

Author SHA1 Message Date
Gianfranco Costamagna
258c5837bb Bootstrap riscv64 too 2022-11-22 12:39:50 +01:00
Sylvestre Ledru
998f20ed5f Revert "Replace '|| true' by '-'"
This reverts commit 1edb50d91c.
2022-11-20 18:19:12 +01:00
Sylvestre Ledru
1edb50d91c Replace '|| true' by '-' 2022-11-20 13:10:48 +01:00
Gianfranco Costamagna
0cccf8a8f8 Reupload to sid now that mips64el is fixed 2022-11-20 06:55:23 +01:00
Gianfranco Costamagna
2381d41548 Revert the change, hopefully mips64el is bootstrapped now 2022-11-20 00:01:07 +01:00
Gianfranco Costamagna
17e904c4d9 Upload to sid 2022-11-19 23:56:46 +01:00
Gianfranco Costamagna
16b3160196 Update changelog 2022-11-19 23:53:38 +01:00
Gianfranco Costamagna
cc6c9b9776 Add two patches to unblock mesa build on arm* (Closes: #1022577) 2022-11-19 23:53:01 +01:00
Gianfranco Costamagna
8b4e09e299 Add spirv-14 to alternate dependencies for mips64el, to be reverted once a build of spirv-15 is available 2022-11-19 23:43:29 +01:00
Gianfranco Costamagna
09418e83d7 Update changelog 2022-11-19 23:25:23 +01:00
Gianfranco Costamagna
5a1ae8cca4 Add libomptarget to mips64el (Closes: #1023101) 2022-11-19 23:24:44 +01:00
Sylvestre Ledru
4134347b72 add the override 2022-11-19 19:06:05 +01:00
Sylvestre Ledru
2b5443eadb prepare upload 2022-11-19 10:23:25 +01:00
Sylvestre Ledru
92b5c74ce9 Merge branch '14-wasm-libcxx' into '14'
More WebAssembly (wasm32/wasm64) work, including libc++/libc++abi for wasm32-wasi

See merge request pkg-llvm-team/llvm-toolchain!103
2022-11-19 09:21:48 +00:00
Faidon Liambotis
c0beef7a9c Add changelog entries for recent WebAssembly changes
* More WebAssembly (wasm32/wasm64) work:
  - Update patch wasm-sysroot-usr to stop including /usr/include when
    building for the non-OS (unknown) wasm targets, to avoid inadvertently
    including the host's (glibc) headers.
  - Re-enable builds on all architectures, previously disabled for
    arm64 armel mips64el mipsel ppc64el armhf in 1:14.0.6-4, due to an FTBFS
    related to the /usr/include issue above.
  - Update patch wasm-sysroot-usr to adjust system include paths for C++
    headers as well.
  - Build libc++ and libc++abi for wasm32-wasi, generating two new binary
    packages, and introducing a build dependency on wasi-libc.
  - Misc code organization fixes to debian/rules.
2022-11-18 11:43:50 +02:00
Faidon Liambotis
97d60707ed Build libc++/libc++abi for wasm32-wasi
Do a standalone build of libcxx/libcxxabi, for wasm32-wasi. libcxx
requires a libc, and thus this requires a new build dependency on
wasi-libc. wasi-libc is not currently available for wasm64, so limit the
build to wasm32.

This introduces two new binary packages:
  - libc++-${LLVM_VERSION}-dev-wasm32
  - libc++abi-${LLVM_VERSION}-dev-wasm32
There isn't currently a naming convention in Debian for WebAssembly. Use
a "-dev-wasm32" suffix, which makes it consistent with packages such as
"libc6-dev-i386" and "libstd-rust-dev-wasm32".

Given these builds are specific to WASI, it can be argued that the names
should be something like "-dev-wasm32-wasi", or simplified to
"-dev-wasi" (not very future proof) or "-dev-wasi32" (not something
upstream uses). Something to think through later on.

WebAssembly only supports shared linking, hence why we -dev packages are
provided, shipping development headers and static archives.
2022-11-18 11:43:50 +02:00
Faidon Liambotis
9459395c21 d/rules: Makeify compiler-rt wasm target
Iterate on wasm32/wasm64 using make targets rather than shell, and place
build artifacts under a common "build-wasm" directory.
2022-11-17 21:05:07 +02:00
Faidon Liambotis
bbfc6cca07 d/rules: split override_dh_auto_build into multiple lines 2022-11-17 21:05:07 +02:00
Faidon Liambotis
6923a432bf d/rules: remove targets from .PHONY
We actually touch $@ at the end of these targets, so they are not phony.
2022-11-17 21:05:07 +02:00
Faidon Liambotis
ecbebd0a8f Patch the WebAssembly include paths for C++ as well
In wasm-sysroot-usr.diff we have changes to support compilation without
a sysroot and with system paths. These so far have applied to the C
include paths (among other things), i.e. /usr/include/<triple>. This was
mainly because that's what I had at hand to test and wanted to keep
things limited as a first iteration.

Now that we're iterated on it and cleared out some issues, make the
exact same changes for the C++ include paths as well, i.e.
/usr/include/<triple>/c++/v1. Nothing installs anything on those paths
there yet, so this is mostly preparatory for subsequent changes.
2022-11-17 21:04:52 +02:00
Faidon Liambotis
b91115bd58 Fix wasm include paths, unbreaking compiler-rt builds on !x86
compiler-rt WebAssembly builds were failing, and as a workaround commit
ca9dbba introduced COMPILER_RT_WASM_ENABLE, disabling its compilation on
several architectures (arm64 armel mips64el mipsel ppc64el armhf).

This was ultimately caused by the WebAssembly driver including paths in
bare /usr/include, when compiling for wasnNN-unknown-unknown targets.
This in turn resulted in this chain of include paths when building
compiler-rt, as one example out of many:
  1. compiler-rt/lib/builtins/divtf3.c:15                  #include "fp_lib.h"
  2. compiler-rt/lib/builtins/fp_lib.h:23                  #include "int_lib.h"
  3. compiler-rt/lib/builtins/int_lib.h:93                 #include <limits.h>
  4. /usr/lib/llvm-14/lib/clang/14.0.6/include/limits.h:20 #if __has_include_next(<limits.h>) #include_next <limits.h>
  5. /usr/include/limits.h:26                              #include <bits/libc-header-start.h>
  6. fatal error: 'bits/libc-header-start.h' file not found

/usr/include/stdint.h is the host's glibc header, and
bits/libc-header-start.h doesn't exist for the wasm targets. This is the
case with or without wasi-libc, as wasi-libc is musl-based and doesn't
have these paths at all.

The only reason builds worked on amd64 is accident:lly the B-D chain
brings in libc6-dev-i386 (through g++-multilib), which creates this
symlink:
  /usr/include/bits -> x86_64-linux-gnu/bits
This effectively meant that on amd64 builds, compiler-rt for wasm
targets was compiled with glibc x86_64 headers.

Ultimately this was rooted on the sysroot-based assumptions that the
upstream driver makes and that we are patching (evidently incompletely)
with our wasm-sysroot-usr.diff patch.

Update our patch to explicitly NOT include the bare /usr/include path on
non-OS targets (wasm32-unknown-unknown etc.), while keeping existing
behavior for backwards compatibility when --sysroot is passed.

Given this should (fingers crossed) address this invariance between
amd64 and other architectures, and unbreak those builds, revert commit
ca9dbba and the COMPILER_RT_WASM_ENABLE flag.
2022-11-17 21:00:23 +02:00
Sylvestre Ledru
4692b2aa3d Merge remote-tracking branch 'origin/14' into 15 2022-11-16 22:38:42 +01:00
Sylvestre Ledru
bde3d49c95 store the sccache results in /tmp/buildd/source/sccache-stats.json 2022-11-16 20:51:28 +01:00
Sylvestre Ledru
77a5b1824f Remove the swig patches (applied upstream) 2022-11-16 17:51:53 +01:00
Sylvestre Ledru
386696d0a0 New upstream release 2022-11-16 09:11:25 +01:00
Sylvestre Ledru
8ee2b70653 Merge remote-tracking branch 'origin/14' into 15 2022-11-16 09:08:58 +01:00
Sylvestre Ledru
eb4bb9e7a4 remove artifact 2022-11-15 18:25:04 +01:00
Sylvestre Ledru
e9f28b298e Disable the MLIR testsuite run because of a freeze (Closes: #1024154) See https://github.com/llvm/llvm-project/issues/58357 2022-11-15 18:24:02 +01:00
Sylvestre Ledru
19f47cc924 Adjust to protobuf 3.21 (Closes: #1023533) 2022-11-14 11:16:01 +01:00
Sylvestre Ledru
5e129ea18e pass sccache arg everywhere 2022-11-14 11:16:01 +01:00
Sylvestre Ledru
ada0fc6bb3 sccache: generate stats and publish them 2022-11-12 23:53:09 +01:00
Sylvestre Ledru
69277d9671 Merge remote-tracking branch 'origin/14' into 15 2022-11-11 23:30:14 +01:00
Sylvestre Ledru
160ea57318 Enable LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO to help with caching 2022-11-11 16:26:28 +01:00
Sylvestre Ledru
98697f3cf1 remove the sccache log dump 2022-11-11 08:45:08 +01:00
Sylvestre Ledru
0125c0be4d Merge remote-tracking branch 'origin/14' into 15 2022-11-10 23:12:57 +01:00
Sylvestre Ledru
9db77ce328 do not dump the content of sccache.log. we are good 2022-11-10 23:05:02 +01:00
Sylvestre Ledru
e9022e33bc remove old an old and useless patch 2022-11-10 16:17:50 +01:00
Sylvestre Ledru
9ea3878d01 use the upstream option to set the option 2022-11-10 15:21:22 +01:00
Sylvestre Ledru
3270880abd We want to set the clang extra version ONLY in stage 2
because we want the clang stage 1 to be as reproducible as possible
when building with sccache (because this tool do a hash using the
compiler binary and other things)
2022-11-10 15:19:49 +01:00
Sylvestre Ledru
63341e11a5 remove an old gcc 4.9 workaround 2022-11-10 13:54:02 +01:00
Sylvestre Ledru
ef8fc80088 remove non applied patch 2022-11-10 13:54:02 +01:00
Sylvestre Ledru
1e3332f2bf fix version 2022-11-04 19:44:02 +01:00
Sylvestre Ledru
875efbd5ba Fix the lldb swig issues (closes: #1023444) 2022-11-04 19:37:32 +01:00
Sylvestre Ledru
cb901ad961 add lldb swig patches 2022-11-04 19:36:47 +01:00
Sylvestre Ledru
2d8ec664ce move the lldb patches into a lldb dir 2022-11-04 19:36:34 +01:00
Sylvestre Ledru
e3106b14e1 add back lldb pacthes 2022-11-04 19:34:41 +01:00
Sylvestre Ledru
8409076b8f move all lldb patches into the same dir 2022-11-04 19:33:17 +01:00
Sylvestre Ledru
cdbc33a6e0 * New upstream release (Closes: #1023455)
* Cherry-pick patches to fix the FTBFS with swig + lldb (Closes: #1023444)
2022-11-04 19:23:33 +01:00
Sylvestre Ledru
5c0ae55f0f Merge branch 'libclc-15-spv-15-or-14' into '15'
Use llvm-spirv-15, but add a fall-back to use llvm-spirv-14

See merge request pkg-llvm-team/llvm-toolchain!101
2022-10-31 07:04:04 +00:00
Jordan Justen
b7f42769ed
d/control: Add llvm-spirv-14 as an alternative to llvm-spirv-15
Signed-off-by: Jordan Justen <jljusten@debian.org>
2022-10-30 22:07:58 -07:00