Commit Graph

5756 Commits

Author SHA1 Message Date
Sylvestre Ledru
f1bb9e118a rebase of the patches 2022-12-07 09:34:29 +01:00
Gianfranco Costamagna
78fcc5f7bb Merge with experimental upload 1:14.0.6-10~exp1 2022-12-04 09:13:31 +01:00
Gianfranco Costamagna
ba4fb0b8e5 Upload 1:14.0.6-9 to sid, fixing the various RC bugs 2022-12-04 09:08:45 +01:00
Sylvestre Ledru
7bcbe441e1 Bring back -DBUILTINS_CMAKE_ARGS & -DRUNTIMES_CMAKE_ARGS options https://github.com/llvm/llvm-project/issues/59097 2022-12-03 10:11:53 +01:00
Sylvestre Ledru
59c423885a rebase of the patches 2022-12-01 23:39:56 +01:00
Gianfranco Costamagna
bf56f934f1 Riscv64 is now bootstrapped 2022-11-30 16:29:02 +01:00
Gianfranco Costamagna
9c051a37c9 Disable WASM on riscv64 to let it build there. 2022-11-30 15:32:20 +01:00
Sylvestre Ledru
b401ead6ed * experimental New snapshot release 2022-11-29 16:00:35 +01:00
Sylvestre Ledru
c828437b31 reorder patches 2022-11-27 21:18:21 +01:00
Sylvestre Ledru
e3000cf2ca enable the protobuf patch 2022-11-27 17:36:09 +01:00
Sylvestre Ledru
f41081df5b rebase of the patches 2022-11-26 16:16:58 +01:00
Sylvestre Ledru
7729b52cdd unbreak the libclc build 2022-11-26 16:02:07 +01:00
Sylvestre Ledru
f884c9906e Revert "Revert "fix the path""
This reverts commit e8d4c2afaa.
2022-11-25 19:32:55 +01:00
Sylvestre Ledru
051aef8c59 Revert "Revert "Replace LLVM_CONFIG by LLVM_CMAKE_DIR""
This reverts commit 3a129e657c.
2022-11-25 12:15:50 +01:00
Sylvestre Ledru
e436189caa help libclc to find llvm headers 2022-11-25 09:21:46 +01:00
Sylvestre Ledru
3a129e657c Revert "Replace LLVM_CONFIG by LLVM_CMAKE_DIR"
This reverts commit 6b546fd4c6.
2022-11-25 08:25:51 +01:00
Sylvestre Ledru
e8d4c2afaa Revert "fix the path"
This reverts commit c7dd8f78fe.
2022-11-25 08:25:42 +01:00
Sylvestre Ledru
c7dd8f78fe fix the path 2022-11-24 18:35:24 +01:00
Sylvestre Ledru
6b546fd4c6 Replace LLVM_CONFIG by LLVM_CMAKE_DIR 2022-11-24 17:01:00 +01:00
Sylvestre Ledru
a0ddbba8fe rebase of the patches 2022-11-23 08:23:06 +01:00
Sylvestre Ledru
b3de4711ef rebase of the patches 2022-11-22 22:53:38 +01:00
Gianfranco Costamagna
d3cdf73c57 Finish the bootstrap and upload again to sid with riscv64 architecture too 2022-11-22 12:42:00 +01:00
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
f445b2b0bc try to do the workaround later 2022-11-20 17:46:57 +01:00
Sylvestre Ledru
1edb50d91c Replace '|| true' by '-' 2022-11-20 13:10:48 +01:00
Sylvestre Ledru
82d26c045d temp: cat the log in case of error 2022-11-20 13:08:22 +01:00
Sylvestre Ledru
6494c346f8 create an empty file as workaround 2022-11-20 10:18:30 +01:00
Sylvestre Ledru
8fa5c4781d fix the workaround 2022-11-20 09:08:50 +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
b938a0de44 Workaround some missing files on buster 2022-11-19 23:08:57 +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
Sylvestre Ledru
5a8e878733 Adjust some path since upstream changed the path from /usr/lib/llvm-16/lib/clang/16.0.0/ to /usr/lib/llvm-16/lib/clang/16/
See https://reviews.llvm.org/D125860
2022-11-19 10:17:35 +01: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
Sylvestre Ledru
225b522d55 rebase of the patches 2022-11-17 21:09:47 +01: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