[cfe-commits] r161038 - in /cfe/trunk: lib/Driver/ test/Driver/ test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/ test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/lib/ test/Driver/Inputs/ubuntu_12.04_LTS_multiarch_tree/lib/arm-linux-gnueabi/

Chandler Carruth chandlerc at google.com
Tue Jul 31 01:16:10 PDT 2012


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 <jiangning.liu at arm.com>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
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120731/90c97f3a/attachment.html>


More information about the cfe-commits mailing list