Use libunwind's built-in SEH support instead of libgcc

This commit is contained in:
Martin Storsjö committed 2018-08-31 12:15:28 +03:00
1 parent cdd5409cad
commit 6bff543bd9
3 files changed
-23

No files matched your search

-1
View File
@@ -5,7 +5,6 @@ libunwind
libcxxabi libcxxabi
libcxx libcxx
libssp libssp
libgcc
*.exe *.exe
*.dll *.dll
*.lib *.lib
-1
View File
@@ -5,4 +5,3 @@ libunwind
libcxxabi libcxxabi
libcxx libcxx
libssp libssp
libgcc
-21
View File
@@ -24,9 +24,6 @@ if [ ! -d libcxx ]; then
git clone -b master https://github.com/llvm-mirror/libcxx.git git clone -b master https://github.com/llvm-mirror/libcxx.git
CHECKOUT_LIBCXX=1 CHECKOUT_LIBCXX=1
fi fi
if [ ! -d libgcc ]; then
svn checkout -q svn://gcc.gnu.org/svn/gcc/tags/gcc_7_3_0_release/libgcc
fi
if [ -n "$SYNC" ] || [ -n "$CHECKOUT_LIBUNWIND" ]; then if [ -n "$SYNC" ] || [ -n "$CHECKOUT_LIBUNWIND" ]; then
cd libunwind cd libunwind
[ -z "$SYNC" ] || git fetch [ -z "$SYNC" ] || git fetch
@@ -51,24 +48,6 @@ MERGE_ARCHIVES=$(pwd)/merge-archives.sh
cd libunwind cd libunwind
for arch in $ARCHS; do for arch in $ARCHS; do
if $arch-w64-mingw32-clang -E -dM - < /dev/null 2>/dev/null | grep -q __SEH__; then
cd ../libgcc
mkdir -p build-$arch
cd build-$arch
rm -f *.h
cp ../unwind-seh.c .
cp ../unwind-generic.h unwind.h
touch tconfig.h
touch tsystem.h
touch coretypes.h
touch tm.h
echo "#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))" >> tconfig.h
$arch-w64-mingw32-clang -O2 -Wall -c unwind-seh.c -o unwind-seh.o
llvm-ar rcs libunwind.a unwind-seh.o
cp libunwind.a $PREFIX/$arch-w64-mingw32/lib
cd ../../libunwind
continue
fi
mkdir -p build-$arch mkdir -p build-$arch
cd build-$arch cd build-$arch
# If llvm-config and the llvm cmake files are available, -w gets added # If llvm-config and the llvm cmake files are available, -w gets added