[Driver] Enable getOSLibDir() lib32 workaround for SPARC on Linux
authorJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Tue, 24 Nov 2020 03:25:36 +0000 (19:25 -0800)
committerFangrui Song <i@maskray.me>
Tue, 24 Nov 2020 03:25:36 +0000 (19:25 -0800)
commitc2fb114475d15a1d39545f700b8c6d6e18367ca9
tree7544a182b4a320a075ceeb0cd7d0da8e2a643569
parentbb1341161478dc589893cda9f808e5f5b859b5ae
[Driver] Enable getOSLibDir() lib32 workaround for SPARC on Linux

This fixes the Builtins-sparc-linux testsuite failures on Linux
SPARC which occur because clang cannot find the 32-bit runtime
libraries when -m32 is passed on the command line. The same
workaround is already being used on X86 and PPC.

Also, switch the CHECK-DEBIAN-SPARC tests to use debian_multiarch_tree
as both sparc and sparc64 are using the MultiArch mechanism on modern Debian
systems the same way as x86_64, powerpc64el and others. Thus, switch the
CHECK-DEBIAN-SPARC32 and CHECK-DEBIAN-SPARC64 tests to use the files from
the debian_multiarch_tree directory for the header and linker path tests.

Finally, rename CHECK-DEBIAN-SPARC32 to CHECK-DEBIAN-SPARC to match the naming
scheme of the Debian MultiArch checks for the other Debian architectures.

Reviewed By: MaskRay, phosek

Differential Revision: https://reviews.llvm.org/D90524
26 files changed:
clang/lib/Driver/ToolChains/Linux.cpp
clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/gcc/sparc64-linux-gnu/4.9/crtbegin.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/gcc/sparc64-linux-gnu/4.9/crtend.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crt1.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crti.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crtn.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtend.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/crtend.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crt1.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crti.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crtn.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crt1.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crti.o [deleted file]
clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crtn.o [deleted file]
clang/test/Driver/Inputs/debian_multiarch_tree/lib/sparc-linux-gnu/.keep [moved from clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/include/sparc-linux-gnu/c++/4.9/64/.keep with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/lib/sparc64-linux-gnu/.keep [moved from clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/include/c++/4.9/backward/.keep with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/sparc-linux-gnu/.keep [moved from clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/lib64/.keep with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/sparc64-linux-gnu/.keep [moved from clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/lib/sparc-linux-gnu/.keep with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/sparc-linux-gnu/.keep [moved from clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/include/sparc64-linux-gnu/c++/4.9/.keep with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/sparc64-linux-gnu/.keep [moved from clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/include/c++/4.9/.keep with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/sparc-linux-gnu/4.5/crtbegin.o [moved from clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/crtbegin.o with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/sparc64-linux-gnu/4.5/crtbegin.o [moved from clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtbegin.o with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/usr/lib/sparc-linux-gnu/.keep [moved from clang/test/Driver/Inputs/debian_8_sparc64_tree/lib64/.keep with 100% similarity]
clang/test/Driver/Inputs/debian_multiarch_tree/usr/lib/sparc64-linux-gnu/.keep [moved from clang/test/Driver/Inputs/debian_8_sparc64_tree/lib/sparc64-linux-gnu/.keep with 100% similarity]
clang/test/Driver/linux-header-search.cpp
clang/test/Driver/linux-ld.c