This broke build bots: http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/2183
On Tue, Jul 31, 2012 at 1:06 AM, Jiangning Liu <[email protected]>wrote: > Author: jiangning > Date: Tue Jul 31 03:06:29 2012 > New Revision: 161038 > > URL: http://llvm.org/viewvc/llvm-project?rev=161038&view=rev > Log: > Support ARM hard float (arm-linux-gnueabihf). > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/ > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/lib/ > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/lib/.keep > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/lib/arm-linux-gnueabi/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/lib/arm-linux-gnueabihf/ > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/include/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/include/.keep > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/include/arm-linux-gnueabi/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/include/arm-linux-gnueabihf/ > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/.keep > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crt1.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crti.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crtn.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crt1.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crti.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crtn.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabi/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabi/4.6.1/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabi/4.6.1/crtbegin.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabi/4.6.1/crtend.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabihf/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/ > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/crtbegin.o > > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/crtend.o > Modified: > cfe/trunk/lib/Driver/ToolChains.cpp > cfe/trunk/lib/Driver/Tools.cpp > cfe/trunk/test/Driver/linux-ld.c > > Modified: cfe/trunk/lib/Driver/ToolChains.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=161038&r1=161037&r2=161038&view=diff > > ============================================================================== > --- cfe/trunk/lib/Driver/ToolChains.cpp (original) > +++ cfe/trunk/lib/Driver/ToolChains.cpp Tue Jul 31 03:06:29 2012 > @@ -1103,6 +1103,9 @@ > "arm-linux-gnueabi", > "arm-linux-androideabi" > }; > + static const char *const ARMHFTriples[] = { > + "arm-linux-gnueabihf", > + }; > > static const char *const X86_64LibDirs[] = { "/lib64", "/lib" }; > static const char *const X86_64Triples[] = { > @@ -1159,8 +1162,13 @@ > case llvm::Triple::arm: > case llvm::Triple::thumb: > LibDirs.append(ARMLibDirs, ARMLibDirs + > llvm::array_lengthof(ARMLibDirs)); > - TripleAliases.append( > - ARMTriples, ARMTriples + llvm::array_lengthof(ARMTriples)); > + if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) { > + TripleAliases.append( > + ARMHFTriples, ARMHFTriples + llvm::array_lengthof(ARMHFTriples)); > + } else { > + TripleAliases.append( > + ARMTriples, ARMTriples + llvm::array_lengthof(ARMTriples)); > + } > break; > case llvm::Triple::x86_64: > LibDirs.append( > @@ -1912,8 +1920,13 @@ > // regardless of what the actual target triple is. > case llvm::Triple::arm: > case llvm::Triple::thumb: > - if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabi")) > - return "arm-linux-gnueabi"; > + if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) { > + if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabihf")) > + return "arm-linux-gnueabihf"; > + } else { > + if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabi")) > + return "arm-linux-gnueabi"; > + } > return TargetTriple.str(); > case llvm::Triple::x86: > if (llvm::sys::fs::exists(SysRoot + "/lib/i386-linux-gnu")) > @@ -2161,6 +2174,9 @@ > const StringRef ARMMultiarchIncludeDirs[] = { > "/usr/include/arm-linux-gnueabi" > }; > + const StringRef ARMHFMultiarchIncludeDirs[] = { > + "/usr/include/arm-linux-gnueabihf" > + }; > const StringRef MIPSMultiarchIncludeDirs[] = { > "/usr/include/mips-linux-gnu" > }; > @@ -2179,7 +2195,10 @@ > } else if (getTriple().getArch() == llvm::Triple::x86) { > MultiarchIncludeDirs = X86MultiarchIncludeDirs; > } else if (getTriple().getArch() == llvm::Triple::arm) { > - MultiarchIncludeDirs = ARMMultiarchIncludeDirs; > + if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) > + MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs; > + else > + MultiarchIncludeDirs = ARMMultiarchIncludeDirs; > } else if (getTriple().getArch() == llvm::Triple::mips) { > MultiarchIncludeDirs = MIPSMultiarchIncludeDirs; > } else if (getTriple().getArch() == llvm::Triple::mipsel) { > > Modified: cfe/trunk/lib/Driver/Tools.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=161038&r1=161037&r2=161038&view=diff > > ============================================================================== > --- cfe/trunk/lib/Driver/Tools.cpp (original) > +++ cfe/trunk/lib/Driver/Tools.cpp Tue Jul 31 03:06:29 2012 > @@ -629,16 +629,11 @@ > break; > } > > - case llvm::Triple::Linux: { > - if (Triple.getEnvironment() == llvm::Triple::GNUEABI) { > - FloatABI = "softfp"; > - break; > - } > - } > - // fall through > - > default: > switch(Triple.getEnvironment()) { > + case llvm::Triple::GNUEABIHF: > + FloatABI = "hard"; > + break; > case llvm::Triple::GNUEABI: > FloatABI = "softfp"; > break; > @@ -685,6 +680,7 @@ > switch(Triple.getEnvironment()) { > case llvm::Triple::ANDROIDEABI: > case llvm::Triple::GNUEABI: > + case llvm::Triple::GNUEABIHF: > ABIName = "aapcs-linux"; > break; > case llvm::Triple::EABI: > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/lib/.keep > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/lib/.keep?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/include/.keep > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/include/.keep?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/.keep > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/.keep?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crt1.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crt1.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crti.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crti.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crtn.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabi/crtn.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crt1.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crt1.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crti.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crti.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crtn.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/arm-linux-gnueabihf/crtn.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabi/4.6.1/crtbegin.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabi/4.6.1/crtbegin.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabi/4.6.1/crtend.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabi/4.6.1/crtend.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/crtbegin.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/crtbegin.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Added: > cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/crtend.o > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/crtend.o?rev=161038&view=auto > > ============================================================================== > (empty) > > Modified: cfe/trunk/test/Driver/linux-ld.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/linux-ld.c?rev=161038&r1=161037&r2=161038&view=diff > > ============================================================================== > --- cfe/trunk/test/Driver/linux-ld.c (original) > +++ cfe/trunk/test/Driver/linux-ld.c Tue Jul 31 03:06:29 2012 > @@ -174,6 +174,39 @@ > // CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/lib" > // CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib" > // > +// Check multi arch support on Ubuntu 12.04 LTS. > +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ > +// RUN: -target arm-unknown-linux-gnueabihf \ > +// RUN: --sysroot=%S/Inputs/ubuntu_12.04_LTS_multiarch_tree \ > +// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-12-04-ARM-HF %s > +// CHECK-UBUNTU-12-04-ARM-HF: "{{.*}}ld{{(.exe)?}}" > "--sysroot=[[SYSROOT:[^"]+]]" > +// CHECK-UBUNTU-12-04-ARM-HF: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../../arm-linux-gnueabihf/crt1.o" > +// CHECK-UBUNTU-12-04-ARM-HF: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../../arm-linux-gnueabihf/crti.o" > +// CHECK-UBUNTU-12-04-ARM-HF: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/crtbegin.o" > +// CHECK-UBUNTU-12-04-ARM-HF: > "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabihf/4.6.3" > +// CHECK-UBUNTU-12-04-ARM-HF: > "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../../arm-linux-gnueabihf" > +// CHECK-UBUNTU-12-04-ARM-HF: "-L[[SYSROOT]]/lib/arm-linux-gnueabihf" > +// CHECK-UBUNTU-12-04-ARM-HF: "-L[[SYSROOT]]/usr/lib/arm-linux-gnueabihf" > +// CHECK-UBUNTU-12-04-ARM-HF: > "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../.." > +// CHECK-UBUNTU-12-04-ARM-HF: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/crtend.o" > +// CHECK-UBUNTU-12-04-ARM-HF: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../../arm-linux-gnueabihf/crtn.o" > +// > +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ > +// RUN: -target arm-unknown-linux-gnueabi \ > +// RUN: --sysroot=%S/Inputs/ubuntu_12.04_LTS_multiarch_tree \ > +// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-12-04-ARM %s > +// CHECK-UBUNTU-12-04-ARM: "{{.*}}ld{{(.exe)?}}" > "--sysroot=[[SYSROOT:[^"]+]]" > +// CHECK-UBUNTU-12-04-ARM: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../arm-linux-gnueabi/crt1.o" > +// CHECK-UBUNTU-12-04-ARM: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../arm-linux-gnueabi/crti.o" > +// CHECK-UBUNTU-12-04-ARM: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1/crtbegin.o" > +// CHECK-UBUNTU-12-04-ARM: > "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabi/4.6.1" > +// CHECK-UBUNTU-12-04-ARM: > "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../arm-linux-gnueabi" > +// CHECK-UBUNTU-12-04-ARM: "-L[[SYSROOT]]/lib/arm-linux-gnueabi" > +// CHECK-UBUNTU-12-04-ARM: "-L[[SYSROOT]]/usr/lib/arm-linux-gnueabi" > +// CHECK-UBUNTU-12-04-ARM: > "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../.." > +// CHECK-UBUNTU-12-04-ARM: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1/crtend.o" > +// CHECK-UBUNTU-12-04-ARM: > "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../arm-linux-gnueabi/crtn.o" > +// > // Test the setup that shipped in SUSE 10.3 on ppc64. > // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ > // RUN: -target powerpc64-suse-linux \ > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
