Skip to content
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,14 +111,14 @@ jobs:
name: ppc64el
# 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"
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
[b|B]uild
Debug
Release
.cache
8 changes: 8 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -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
--------------

Expand Down
4 changes: 0 additions & 4 deletions Test/UnexpectedException.m
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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
}
Loading