[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
sthibaul wrote: > > > Could you add some descriptions? > > > > > > What kind of description, where? > > The commit message/first comment. Currently it's "No description provided." Ah, ok, done so. https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/sthibaul edited https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/sthibaul updated https://github.com/llvm/llvm-project/pull/78065 >From fefe6175fa21c668f58d69b0acc9abb89af981ab Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 14 Jan 2024 19:01:52 +0100 Subject: [PATCH 1/3] hurd: Fix indent --- clang/test/Driver/hurd.cpp | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/clang/test/Driver/hurd.cpp b/clang/test/Driver/hurd.cpp index 1c4ba16af063d7..8934997b107aed 100644 --- a/clang/test/Driver/hurd.cpp +++ b/clang/test/Driver/hurd.cpp @@ -2,8 +2,8 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s -// CHECK: "-cc1" -// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK: "-cc1" +// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/c++/10" /// Debian specific - the path component after 'include' is i386-gnu even /// though the installation is i686-gnu. @@ -29,9 +29,9 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform -static 2>&1 | FileCheck --check-prefix=CHECK-STATIC %s -// CHECK-STATIC: "-cc1" -// CHECK-STATIC: "-static-define" -// CHECK-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-STATIC: "-cc1" +// CHECK-STATIC: "-static-define" +// CHECK-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/c++/10" /// Debian specific - the path component after 'include' is i386-gnu even /// though the installation is i686-gnu. @@ -57,9 +57,9 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: -shared 2>&1 | FileCheck --check-prefix=CHECK-SHARED %s -// CHECK-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" -// CHECK-SHARED: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginS.o" -// CHECK-SHARED: "-L +// CHECK-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-SHARED: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginS.o" +// CHECK-SHARED: "-L // CHECK-SHARED-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-gnu/10" // CHECK-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../lib32" // CHECK-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib/i386-gnu" >From 9f03f0ad3d9fdf20070664dcf68006fbeedd1f72 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 14 Jan 2024 19:02:30 +0100 Subject: [PATCH 2/3] hurd: Strengthen test --- clang/test/Driver/hurd.cpp | 26 +- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/clang/test/Driver/hurd.cpp b/clang/test/Driver/hurd.cpp index 8934997b107aed..da7f5526822e37 100644 --- a/clang/test/Driver/hurd.cpp +++ b/clang/test/Driver/hurd.cpp @@ -3,21 +3,21 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s // CHECK: "-cc1" -// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-SAME: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/c++/10" /// Debian specific - the path component after 'include' is i386-gnu even /// though the installation is i686-gnu. // CHECK-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/i386-gnu/c++/10" // CHECK-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/c++/10/backward" // CHECK-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" -// CHECK: "-internal-externc-isystem" +// CHECK-SAME: "-internal-externc-isystem" // CHECK-SAME: {{^}} "[[SYSROOT]]/usr/include/i386-gnu" // CHECK-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" // CHECK-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" // CHECK: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" -// CHECK: "-dynamic-linker" "/lib/ld.so" -// CHECK: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbegin.o" -// CHECK: "-L +// CHECK-SAME: "-dynamic-linker" "/lib/ld.so" +// CHECK-SAME: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbegin.o" +// CHECK-SAME: "-L // CHECK-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-gnu/10" // CHECK-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../lib32" // CHECK-SAME: {{^}} "-L[[SYSROOT]]/lib/i386-gnu" @@ -30,22 +30,22 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform -static 2>&1 | FileCheck --check-prefix=CHECK-STATIC %s // CHECK-STATIC: "-cc1" -// CHECK-STATIC: "-static-define" -// CHECK-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-STATIC-SAME: "-static-define" +// CHECK-STATIC-SAME: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -78,3 +78,82 @@ // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/bin/ld" {{.*}} "-m" "elf_i386" // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/crtbegin.o" // CHECK-CROSS: "-L{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/lib" + sthibaul wrote: it passes fine indeed https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
MaskRay wrote: Thanks for the patch. It's in a very good shape and I did not need to make many nitpicky comments like I had to do for other "support a new target triple" driver patch:) Could you add some descriptions? https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -78,3 +78,82 @@ // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/bin/ld" {{.*}} "-m" "elf_i386" // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/crtbegin.o" // CHECK-CROSS: "-L{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK-64 %s +// CHECK-64: "-cc1" +// CHECK-64: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10" +/// Debian specific - the path component after 'include' is x86_64-gnu even +/// though the installation is x86_64-gnu. +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/x86_64-gnu/c++/10" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10/backward" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-64: "-internal-externc-isystem" +// CHECK-64-SAME: {{^}} "[[SYSROOT]]/usr/include/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-64-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-64: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64: "-dynamic-linker" "/lib/ld-x86-64.so.1" MaskRay wrote: Use `-SAME` https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -2,8 +2,8 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s -// CHECK: "-cc1" -// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK: "-cc1" +// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" MaskRay wrote: Use `-SAME` https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -78,3 +78,82 @@ // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/bin/ld" {{.*}} "-m" "elf_i386" // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/crtbegin.o" // CHECK-CROSS: "-L{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/lib" + MaskRay wrote: I have checked, but can you try another build with `-DCLANG_DEFAULT_RTLIB=compiler-rt -DCLANG_DEFAULT_UNWINDLIB=libunwind -DCLANG_DEFAULT_CXX_STDLIB=libc++` and see whether the test still passes? https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -57,9 +57,9 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: -shared 2>&1 | FileCheck --check-prefix=CHECK-SHARED %s -// CHECK-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" -// CHECK-SHARED: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginS.o" -// CHECK-SHARED: "-L +// CHECK-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-SHARED: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginS.o" MaskRay wrote: Use `-SAME` https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/sthibaul updated https://github.com/llvm/llvm-project/pull/78065 >From fefe6175fa21c668f58d69b0acc9abb89af981ab Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 14 Jan 2024 19:01:52 +0100 Subject: [PATCH 1/3] hurd: Fix indent --- clang/test/Driver/hurd.cpp | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/clang/test/Driver/hurd.cpp b/clang/test/Driver/hurd.cpp index 1c4ba16af063d7e..8934997b107aed6 100644 --- a/clang/test/Driver/hurd.cpp +++ b/clang/test/Driver/hurd.cpp @@ -2,8 +2,8 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s -// CHECK: "-cc1" -// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK: "-cc1" +// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/c++/10" /// Debian specific - the path component after 'include' is i386-gnu even /// though the installation is i686-gnu. @@ -29,9 +29,9 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform -static 2>&1 | FileCheck --check-prefix=CHECK-STATIC %s -// CHECK-STATIC: "-cc1" -// CHECK-STATIC: "-static-define" -// CHECK-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-STATIC: "-cc1" +// CHECK-STATIC: "-static-define" +// CHECK-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/c++/10" /// Debian specific - the path component after 'include' is i386-gnu even /// though the installation is i686-gnu. @@ -57,9 +57,9 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: -shared 2>&1 | FileCheck --check-prefix=CHECK-SHARED %s -// CHECK-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" -// CHECK-SHARED: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginS.o" -// CHECK-SHARED: "-L +// CHECK-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-SHARED: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginS.o" +// CHECK-SHARED: "-L // CHECK-SHARED-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-gnu/10" // CHECK-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../lib32" // CHECK-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib/i386-gnu" >From 1f4e490c8160c36e0cba130f4587f8ab0b4cfecb Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 14 Jan 2024 19:02:30 +0100 Subject: [PATCH 2/3] hurd: Strengthen test --- clang/test/Driver/hurd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/test/Driver/hurd.cpp b/clang/test/Driver/hurd.cpp index 8934997b107aed6..f76d2cd73a01662 100644 --- a/clang/test/Driver/hurd.cpp +++ b/clang/test/Driver/hurd.cpp @@ -43,7 +43,7 @@ // CHECK-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" // CHECK-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" // CHECK-STATIC: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" -// CHECK-STATIC: "-static" +// CHECK-STATIC-SAME: "-static" // CHECK-STATIC: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginT.o" // CHECK-STATIC: "-L // CHECK-STATIC-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-gnu/10" >From 156ed9e34ba1cd6f6e83e485842a37d1c132450e Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 13 Jan 2024 20:16:03 +0100 Subject: [PATCH 3/3] Hurd: Add x86_64 support --- clang/lib/Basic/Targets.cpp | 2 + clang/lib/Driver/ToolChains/Gnu.cpp | 27 ++- clang/lib/Driver/ToolChains/Hurd.cpp | 16 +++- .../usr/lib/gcc/x86_64-gnu/10/crtbegin.o | 0 .../usr/x86_64-gnu/bin/as | 0 .../usr/x86_64-gnu/bin/ld | 0 .../usr/x86_64-gnu/lib/.keep | 0 .../basic_hurd_tree/lib/x86_64-gnu/.keep | 0 .../Driver/Inputs/basic_hurd_tree/lib64/.keep | 0 .../usr/include/x86_64-gnu/.keep | 0 .../usr/include/x86_64-gnu/c++/10/.keep | 0 .../usr/lib/gcc/x86_64-gnu/10/crtbegin.o | 0 .../usr/lib/gcc/x86_64-gnu/10/crtbeginS.o | 0 .../usr/lib/gcc/x86_64-gnu/10/crtbeginT.o | 0 .../basic_hurd_tree/usr/lib/x86_64-gnu/.keep | 0 .../Inputs/basic_hurd_tree/usr/lib64/.keep| 0 clang/test/Driver/hurd.cpp| 79 +++ llvm/unittests/TargetParser/TripleTest.cpp| 6 ++ 18 files changed, 127 insertions(+), 3 deletions(-) create mode 100644 clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbegin.o create mode 100755 clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/bin/as create mode 100755 clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/bin/ld create mode 100644 clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/lib/.keep create mode 100644 clang/test/Driver/Inputs/basic_hurd_tree/
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 270c6cbda2acf1f60891e10667af6d9741b62009 151e8d9325e68259bfbf227d148ed4b508125856 -- clang/lib/Basic/Targets.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Hurd.cpp clang/test/Driver/hurd.cpp llvm/unittests/TargetParser/TripleTest.cpp `` View the diff from clang-format here. ``diff diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index 16da6c0425..891a0278af 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -2659,11 +2659,9 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( switch (TargetTriple.getArch()) { case llvm::Triple::x86_64: LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); - TripleAliases.append(begin(X86_64HurdTriples), - end(X86_64HurdTriples)); + TripleAliases.append(begin(X86_64HurdTriples), end(X86_64HurdTriples)); BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs)); - BiarchTripleAliases.append(begin(X86HurdTriples), - end(X86HurdTriples)); + BiarchTripleAliases.append(begin(X86HurdTriples), end(X86HurdTriples)); break; case llvm::Triple::x86: LibDirs.append(begin(X86LibDirs), end(X86LibDirs)); `` https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -2477,7 +2477,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( "x86_64-redhat-linux","x86_64-suse-linux", "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux", "x86_64-unknown-linux", - "x86_64-amazon-linux"}; + "x86_64-amazon-linux","x86_64-gnu"}; sthibaul wrote: That was it indeed, I have replaced with some code. It's not debian that picked it up, but the GNU toolchains (GNU/Hurd was supposed to be the "pure GNU" system). https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -78,3 +78,82 @@ // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/bin/ld" {{.*}} "-m" "elf_i386" // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/crtbegin.o" // CHECK-CROSS: "-L{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK-64 %s +// CHECK-64: "-cc1" +// CHECK-64: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10" +/// Debian specific - the path component after 'include' is x86_64-gnu even +/// though the installation is x86_64-gnu. +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/x86_64-gnu/c++/10" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10/backward" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-64: "-internal-externc-isystem" +// CHECK-64-SAME: {{^}} "[[SYSROOT]]/usr/include/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-64-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-64: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64: "-dynamic-linker" "/lib/ld-x86-64.so.1" +// CHECK-64: "{{.*}}/usr/lib/gcc/x86_64-gnu/10/crtbegin.o" +// CHECK-64: "-L +// CHECK-64-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: --stdlib=platform -static 2>&1 | FileCheck --check-prefix=CHECK-64-STATIC %s +// CHECK-64-STATIC: "-cc1" +// CHECK-64-STATIC: "-static-define" +// CHECK-64-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10" +/// Debian specific - the path component after 'include' is x86_64-gnu even +/// though the installation is x86_64-gnu. +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/x86_64-gnu/c++/10" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10/backward" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-64-STATIC: "-internal-externc-isystem" +// CHECK-64-STATIC-SAME: {{^}} "[[SYSROOT]]/usr/include/x86_64-gnu" +// CHECK-64-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-64-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-64-STATIC: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64-STATIC: "-static" +// CHECK-64-STATIC: "{{.*}}/usr/lib/gcc/x86_64-gnu/10/crtbeginT.o" +// CHECK-64-STATIC: "-L +// CHECK-64-STATIC-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../lib64" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-gnu" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/x86_64-gnu" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/lib" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: -shared 2>&1 | FileCheck --check-prefix=CHECK-64-SHARED %s +// CHECK-64-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64-SHARED: "{{.*}}/usr/lib/gcc/x86_64-gnu/10/crtbeginS.o" +// CHECK-64-SHARED: "-L +// CHECK-64-SHARED-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../lib64" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-gnu" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/x86_64-gnu" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -### -o %t %s 2>&1 -no-integrated-as -fuse-ld=ld \ +// RUN: --gcc-toolchain=%S/Inputs/basic_cross_hurd_tree/usr \ +// RUN
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/sthibaul updated https://github.com/llvm/llvm-project/pull/78065 >From fefe6175fa21c668f58d69b0acc9abb89af981ab Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 14 Jan 2024 19:01:52 +0100 Subject: [PATCH 1/3] hurd: Fix indent --- clang/test/Driver/hurd.cpp | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/clang/test/Driver/hurd.cpp b/clang/test/Driver/hurd.cpp index 1c4ba16af063d7e..8934997b107aed6 100644 --- a/clang/test/Driver/hurd.cpp +++ b/clang/test/Driver/hurd.cpp @@ -2,8 +2,8 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s -// CHECK: "-cc1" -// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK: "-cc1" +// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/c++/10" /// Debian specific - the path component after 'include' is i386-gnu even /// though the installation is i686-gnu. @@ -29,9 +29,9 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: --stdlib=platform -static 2>&1 | FileCheck --check-prefix=CHECK-STATIC %s -// CHECK-STATIC: "-cc1" -// CHECK-STATIC: "-static-define" -// CHECK-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-STATIC: "-cc1" +// CHECK-STATIC: "-static-define" +// CHECK-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../include/c++/10" /// Debian specific - the path component after 'include' is i386-gnu even /// though the installation is i686-gnu. @@ -57,9 +57,9 @@ // RUN: %clang -### %s --target=i686-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ // RUN: -shared 2>&1 | FileCheck --check-prefix=CHECK-SHARED %s -// CHECK-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" -// CHECK-SHARED: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginS.o" -// CHECK-SHARED: "-L +// CHECK-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-SHARED: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginS.o" +// CHECK-SHARED: "-L // CHECK-SHARED-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-gnu/10" // CHECK-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/i686-gnu/10/../../../../lib32" // CHECK-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib/i386-gnu" >From 1f4e490c8160c36e0cba130f4587f8ab0b4cfecb Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 14 Jan 2024 19:02:30 +0100 Subject: [PATCH 2/3] hurd: Strengthen test --- clang/test/Driver/hurd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/test/Driver/hurd.cpp b/clang/test/Driver/hurd.cpp index 8934997b107aed6..f76d2cd73a01662 100644 --- a/clang/test/Driver/hurd.cpp +++ b/clang/test/Driver/hurd.cpp @@ -43,7 +43,7 @@ // CHECK-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" // CHECK-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" // CHECK-STATIC: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" -// CHECK-STATIC: "-static" +// CHECK-STATIC-SAME: "-static" // CHECK-STATIC: "{{.*}}/usr/lib/gcc/i686-gnu/10/crtbeginT.o" // CHECK-STATIC: "-L // CHECK-STATIC-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-gnu/10" >From 151e8d9325e68259bfbf227d148ed4b508125856 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 13 Jan 2024 20:16:03 +0100 Subject: [PATCH 3/3] Hurd: Add x86_64 support --- clang/lib/Basic/Targets.cpp | 2 + clang/lib/Driver/ToolChains/Gnu.cpp | 29 ++- clang/lib/Driver/ToolChains/Hurd.cpp | 16 +++- .../usr/lib/gcc/x86_64-gnu/10/crtbegin.o | 0 .../usr/x86_64-gnu/bin/as | 0 .../usr/x86_64-gnu/bin/ld | 0 .../usr/x86_64-gnu/lib/.keep | 0 .../basic_hurd_tree/lib/x86_64-gnu/.keep | 0 .../Driver/Inputs/basic_hurd_tree/lib64/.keep | 0 .../usr/include/x86_64-gnu/.keep | 0 .../usr/include/x86_64-gnu/c++/10/.keep | 0 .../usr/lib/gcc/x86_64-gnu/10/crtbegin.o | 0 .../usr/lib/gcc/x86_64-gnu/10/crtbeginS.o | 0 .../usr/lib/gcc/x86_64-gnu/10/crtbeginT.o | 0 .../basic_hurd_tree/usr/lib/x86_64-gnu/.keep | 0 .../Inputs/basic_hurd_tree/usr/lib64/.keep| 0 clang/test/Driver/hurd.cpp| 79 +++ llvm/unittests/TargetParser/TripleTest.cpp| 6 ++ 18 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbegin.o create mode 100755 clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/bin/as create mode 100755 clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/bin/ld create mode 100644 clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/lib/.keep create mode 100644 clang/test/Driver/Inputs/basic_hurd_tree/
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -78,3 +78,82 @@ // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/bin/ld" {{.*}} "-m" "elf_i386" // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/crtbegin.o" // CHECK-CROSS: "-L{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK-64 %s +// CHECK-64: "-cc1" +// CHECK-64: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10" +/// Debian specific - the path component after 'include' is x86_64-gnu even +/// though the installation is x86_64-gnu. +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/x86_64-gnu/c++/10" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10/backward" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-64: "-internal-externc-isystem" +// CHECK-64-SAME: {{^}} "[[SYSROOT]]/usr/include/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-64-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-64: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64: "-dynamic-linker" "/lib/ld-x86-64.so.1" +// CHECK-64: "{{.*}}/usr/lib/gcc/x86_64-gnu/10/crtbegin.o" +// CHECK-64: "-L +// CHECK-64-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: --stdlib=platform -static 2>&1 | FileCheck --check-prefix=CHECK-64-STATIC %s +// CHECK-64-STATIC: "-cc1" +// CHECK-64-STATIC: "-static-define" +// CHECK-64-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10" +/// Debian specific - the path component after 'include' is x86_64-gnu even +/// though the installation is x86_64-gnu. +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/x86_64-gnu/c++/10" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10/backward" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-64-STATIC: "-internal-externc-isystem" +// CHECK-64-STATIC-SAME: {{^}} "[[SYSROOT]]/usr/include/x86_64-gnu" +// CHECK-64-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-64-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-64-STATIC: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64-STATIC: "-static" +// CHECK-64-STATIC: "{{.*}}/usr/lib/gcc/x86_64-gnu/10/crtbeginT.o" +// CHECK-64-STATIC: "-L +// CHECK-64-STATIC-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../lib64" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-gnu" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/x86_64-gnu" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/lib" +// CHECK-64-STATIC-SAME: {{^}} "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: -shared 2>&1 | FileCheck --check-prefix=CHECK-64-SHARED %s +// CHECK-64-SHARED: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64-SHARED: "{{.*}}/usr/lib/gcc/x86_64-gnu/10/crtbeginS.o" +// CHECK-64-SHARED: "-L +// CHECK-64-SHARED-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../lib64" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-gnu" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/x86_64-gnu" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/lib" +// CHECK-64-SHARED-SAME: {{^}} "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -### -o %t %s 2>&1 -no-integrated-as -fuse-ld=ld \ +// RUN: --gcc-toolchain=%S/Inputs/basic_cross_hurd_tree/usr \ +// RUN
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -78,3 +78,82 @@ // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/bin/ld" {{.*}} "-m" "elf_i386" // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/crtbegin.o" // CHECK-CROSS: "-L{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK-64 %s +// CHECK-64: "-cc1" +// CHECK-64: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10" +/// Debian specific - the path component after 'include' is x86_64-gnu even +/// though the installation is x86_64-gnu. +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/x86_64-gnu/c++/10" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10/backward" +// CHECK-64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-64: "-internal-externc-isystem" +// CHECK-64-SAME: {{^}} "[[SYSROOT]]/usr/include/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-64-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-64: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64: "-dynamic-linker" "/lib/ld-x86-64.so.1" +// CHECK-64: "{{.*}}/usr/lib/gcc/x86_64-gnu/10/crtbegin.o" +// CHECK-64: "-L +// CHECK-64-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/x86_64-gnu" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/lib" +// CHECK-64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: --stdlib=platform -static 2>&1 | FileCheck --check-prefix=CHECK-64-STATIC %s +// CHECK-64-STATIC: "-cc1" +// CHECK-64-STATIC: "-static-define" +// CHECK-64-STATIC: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10" +/// Debian specific - the path component after 'include' is x86_64-gnu even +/// though the installation is x86_64-gnu. +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/x86_64-gnu/c++/10" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-gnu/10/../../../../include/c++/10/backward" +// CHECK-64-STATIC-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" +// CHECK-64-STATIC: "-internal-externc-isystem" +// CHECK-64-STATIC-SAME: {{^}} "[[SYSROOT]]/usr/include/x86_64-gnu" +// CHECK-64-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/include" +// CHECK-64-STATIC-SAME: {{^}} "-internal-externc-isystem" "[[SYSROOT]]/usr/include" +// CHECK-64-STATIC: "{{.*}}ld" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-64-STATIC: "-static" MaskRay wrote: Omitted `-SAME` https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -78,3 +78,82 @@ // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/bin/ld" {{.*}} "-m" "elf_i386" // CHECK-CROSS: "{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/crtbegin.o" // CHECK-CROSS: "-L{{.*}}/Inputs/basic_cross_hurd_tree/usr/lib/gcc/i686-gnu/10/../../../../i686-gnu/lib" + +// RUN: %clang -### %s --target=x86_64-pc-hurd-gnu --sysroot=%S/Inputs/basic_hurd_tree \ +// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK-64 %s +// CHECK-64: "-cc1" MaskRay wrote: indent "-cc1" https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
@@ -2477,7 +2477,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( "x86_64-redhat-linux","x86_64-suse-linux", "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux", "x86_64-unknown-linux", - "x86_64-amazon-linux"}; + "x86_64-amazon-linux","x86_64-gnu"}; MaskRay wrote: There is a comment above that we should not add new elements to these arrays. Is it here so that a target triple of `x86_64-pc-hurd-gnu` can find a GCC installation named `x86_64-gnu` for Debian? If that's the case, use code to indicate the special case for Hurd so that the logic will not affect other x86_64 OS triples. https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] Hurd: Add x86_64 support (PR #78065)
brad0 wrote: Looks pretty good to me. https://github.com/llvm/llvm-project/pull/78065 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits