Revert use of Clang config files
This reverts commit49db4a3a15,9f1f0104f1,4f95c14adf,c34dc64028,570fdcd251,4bff0298c5and6939aee0c0. When relying on Clang config files, two issues appeared: - Running the compiler-rt tests fails, because the compiler-rt tests disable any default config files, breaking the compiler in this case: https://github.com/llvm/llvm-project/blob/llvmorg-19.1.1/compiler-rt/test/lit.common.cfg.py#L983 - Wine fails to build using llvm-mingw as cross compiler, because Wine adds the --no-default-config flag to Clang while compiling, if supported: https://gitlab.winehq.org/wine/wine/-/blob/wine-9.19/configure.ac?ref_type=tags#L866-868 This causes llvm-mingw to omit the -rtlib=compiler-rt option (specified in a config file), making the compiler look for libgcc instead. Doing a check to see that linking succeeds doesn't necessarily help here - such a check already exists, but it tests linking with -nostdlib -nodefaultlibs: https://gitlab.winehq.org/wine/wine/-/blob/wine-9.19/aclocal.m4?ref_type=tags#L193-L206
This commit is contained in:
1 parent
49db4a3a15
commit
e0964ce24c
14 files changed
+119
-31
No files matched your search
@@ -67,6 +67,20 @@ c11)
|
||||
FLAGS="$FLAGS -std=c11"
|
||||
;;
|
||||
esac
|
||||
case $ARCH in
|
||||
i686)
|
||||
# Dwarf is the default for i686.
|
||||
;;
|
||||
x86_64)
|
||||
# SEH is the default for x86_64.
|
||||
;;
|
||||
armv7)
|
||||
# SEH is the default for armv7.
|
||||
;;
|
||||
aarch64)
|
||||
# SEH is the default for aarch64.
|
||||
;;
|
||||
esac
|
||||
LINKER_FLAGS=""
|
||||
case $TARGET_OS in
|
||||
mingw32uwp)
|
||||
@@ -93,6 +107,10 @@ mingw32uwp)
|
||||
esac
|
||||
|
||||
FLAGS="$FLAGS -target $TARGET"
|
||||
FLAGS="$FLAGS -rtlib=compiler-rt"
|
||||
FLAGS="$FLAGS -unwindlib=libunwind"
|
||||
FLAGS="$FLAGS -stdlib=libc++"
|
||||
FLAGS="$FLAGS -fuse-ld=lld"
|
||||
FLAGS="$FLAGS --end-no-unused-arguments"
|
||||
|
||||
$CCACHE "$CLANG" $FLAGS "$@" $LINKER_FLAGS
|
||||
Reference in new issue
Block a user