From 5556f2e72a7ae229f0dfd6d14f2b4ef9e66f39c6 Mon Sep 17 00:00:00 2001 From: hmelder Date: Fri, 26 Apr 2024 08:17:50 +0200 Subject: [PATCH 1/5] Whitelist UnexpectedException test for all architectures --- Test/UnexpectedException.m | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Test/UnexpectedException.m b/Test/UnexpectedException.m index 9f2a2ba5..75afc56a 100644 --- a/Test/UnexpectedException.m +++ b/Test/UnexpectedException.m @@ -31,7 +31,6 @@ LONG WINAPI _UnhandledExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) int main(void) { -#if !(defined(__arm__) || defined(__ARM_ARCH_ISA_A64)) && !defined(__powerpc__) #if defined(_WIN32) && !defined(__MINGW32__) // also verify that an existing handler still gets called after we set ours SetUnhandledExceptionFilter(&_UnhandledExceptionFilter); @@ -50,7 +49,4 @@ int main(void) assert(0 && "should not be reached!"); return -1; -#endif - // FIXME: Test currently fails on ARM and AArch64 - return 77; // Skip test } From aa76b444c601a5d56d04d0ae3c453317aff486ff Mon Sep 17 00:00:00 2001 From: hmelder Date: Fri, 26 Apr 2024 08:18:02 +0200 Subject: [PATCH 2/5] Ignore clangd .cache dir --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a69c57ee..b0e3b3ca 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ [b|B]uild Debug Release +.cache \ No newline at end of file From 33425ade2bb3a78511a6c6454b39b8ed68f27a9d Mon Sep 17 00:00:00 2001 From: hmelder Date: Fri, 26 Apr 2024 09:06:16 +0200 Subject: [PATCH 3/5] Add CompilerRT and libunwind notice --- INSTALL | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/INSTALL b/INSTALL index a91268fa..9ec6a748 100644 --- a/INSTALL +++ b/INSTALL @@ -6,6 +6,14 @@ runtime. Note that although this runtime should build with gcc, it is strongly recommended that you compile it with clang and clang++ as your [Objective-]C and [Objective-]C++ compilers. +It is recommended that you use the LLVM runtime and unwinder or a recent version +of GCC (>= 14) on GNU/Linux to avoid a +[bug](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114843) in GCC and the libgcc +unwinder. + +If CompilerRT and libunwind are installed on your machine use +`-DCMAKE_EXE_LINKER_FLAGS="-rtlib=compiler-rt -unwindlib=libunwind"`. + Basic Building -------------- From d84ff18d0218576eaf0926084f314eba0fd34ef3 Mon Sep 17 00:00:00 2001 From: hmelder Date: Tue, 23 Jul 2024 11:40:35 +0200 Subject: [PATCH 4/5] CI: Bump qemu-crossbuild runner version --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 66d1a2d4..facb4a54 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -102,14 +102,14 @@ jobs: name: riscv64 # Don't abort runners if a single one fails fail-fast: false - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 name: Cross-build for ${{ matrix.arch.triple }} LLVM-${{ matrix.llvm-version}} ${{ matrix.build-type }} steps: - uses: actions/checkout@v3 - name: Install cross-compile toolchain and QEMU run: | sudo apt update - sudo apt install libstdc++-9-dev-${{ matrix.arch.name }}-cross qemu-user ninja-build + sudo apt install libstdc++-14-dev-${{ matrix.arch.name }}-cross qemu-user ninja-build - name: Configure CMake run: | export LDFLAGS="-L/usr/lib/llvm-${{ matrix.llvm-version }}/lib/ -fuse-ld=lld-${{ matrix.llvm-version}} -Wl,--dynamic-linker=/usr/${{ matrix.arch.triple }}/lib/${{ matrix.arch.rtld }},-rpath,/usr/${{ matrix.arch.triple }}/lib" From 8380610bdf392ccefef7ee2bb062c96ea4108097 Mon Sep 17 00:00:00 2001 From: hmelder Date: Tue, 23 Jul 2024 11:49:47 +0200 Subject: [PATCH 5/5] CI: Bump qemu-crossbuild llvm versions --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index facb4a54..7966c2d1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -72,7 +72,7 @@ jobs: strategy: matrix: build-type: [ Release, Debug ] - llvm-version: [13, 14, 15] + llvm-version: [16, 17, 18] arch: - name: armhf system-processor: arm