[PATCH] D53249: Force Hexagon to use default (hexagon-link) linker

2018-10-15 Thread Petr Hosek via Phabricator via cfe-commits
phosek added a comment.

In https://reviews.llvm.org/D53249#1264900, @sidneym wrote:

> https://reviews.llvm.org/D53219 added a check for either hexagon-ld or ld.  I 
> merged that change earlier today.  I can change the test to pass -fuse-ld, 
> let me know.  Thanks,


Passing `-fuse-ld=ld` is less error prone than checking for `hexagon-link` or 
`*ld*` in case someone sets the default linker to something else, e.g. 
`link.exe` on Windows or something like `foo-link` on some new platform.


Repository:
  rC Clang

https://reviews.llvm.org/D53249



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D53249: Force Hexagon to use default (hexagon-link) linker

2018-10-14 Thread Sid Manning via Phabricator via cfe-commits
sidneym added a comment.

https://reviews.llvm.org/D53219 added a check for either hexagon-ld or ld.  I 
merged that change earlier today.  I can change the test to pass -fuse-ld, let 
me know.  Thanks,


Repository:
  rC Clang

https://reviews.llvm.org/D53249



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D53249: Force Hexagon to use default (hexagon-link) linker

2018-10-14 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld added a comment.

As said on https://reviews.llvm.org/D53250 I think this is the right way to fix 
these tests: We already do the same for `-stdlib=platform` and 
`-rtlib=platform`.


Repository:
  rC Clang

https://reviews.llvm.org/D53249



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D53249: Force Hexagon to use default (hexagon-link) linker

2018-10-13 Thread Petr Hosek via Phabricator via cfe-commits
phosek added a comment.

This was introduced in https://reviews.llvm.org/D53038 which broke all our bots 
that use `CLANG_DEFAULT_LINKER="lld"`. The same solution was applied to other 
targets (e.g. https://reviews.llvm.org/D49899) and while isn't great it should 
at least unbreak vendors that use non-default linkers.


Repository:
  rC Clang

https://reviews.llvm.org/D53249



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D53249: Force Hexagon to use default (hexagon-link) linker

2018-10-13 Thread Petr Hosek via Phabricator via cfe-commits
phosek created this revision.
phosek added reviewers: sidneym, rsmith.
Herald added a subscriber: cfe-commits.

Hexagon relies on hexagon-link so invoke Clang to -fuse-ld=ld to
always use the default linker, otherwise tests break when the Clang
default linker is set to anything other than default.


Repository:
  rC Clang

https://reviews.llvm.org/D53249

Files:
  clang/test/Driver/hexagon-toolchain-elf.c
  clang/test/Driver/linux-ld.c

Index: clang/test/Driver/linux-ld.c
===
--- clang/test/Driver/linux-ld.c
+++ clang/test/Driver/linux-ld.c
@@ -877,7 +877,7 @@
 // Check that we do not pass --hash-style=gnu or --hash-style=both to
 // hexagon linux linker
 // RUN: %clang %s -### -o %t.o 2>&1 \
-// RUN: --target=hexagon-linux-gnu \
+// RUN: --target=hexagon-linux-gnu -fuse-ld=ld \
 // RUN:   | FileCheck --check-prefix=CHECK-HEXAGON %s
 // CHECK-HEXAGON: "{{.*}}hexagon-link{{(.exe)?}}"
 // CHECK-HEXAGON-NOT: "--hash-style={{gnu|both}}"
Index: clang/test/Driver/hexagon-toolchain-elf.c
===
--- clang/test/Driver/hexagon-toolchain-elf.c
+++ clang/test/Driver/hexagon-toolchain-elf.c
@@ -57,63 +57,63 @@
 // -
 // Test -mcpu= -mv
 // -
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv4 \
 // RUN:   %s 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK020 %s
 // CHECK020: "-cc1" {{.*}} "-target-cpu" "hexagonv4"
 // CHECK020: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v4/crt0
 
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv5 \
 // RUN:   %s 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK021 %s
 // CHECK021: "-cc1" {{.*}} "-target-cpu" "hexagonv5"
 // CHECK021: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v5/crt0
 
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv55 \
 // RUN:   %s 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK022 %s
 // CHECK022: "-cc1" {{.*}} "-target-cpu" "hexagonv55"
 // CHECK022: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v55/crt0
 
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   %s 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK023 %s
 // CHECK023: "-cc1" {{.*}} "-target-cpu" "hexagonv60"
 // CHECK023: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0
 
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv62 \
 // RUN:   %s 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK024 %s
 // CHECK024: "-cc1" {{.*}} "-target-cpu" "hexagonv62"
 // CHECK024: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v62/crt0
 
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv65 \
 // RUN:   %s 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK025 %s
 // CHECK025: "-cc1" {{.*}} "-target-cpu" "hexagonv65"
 // CHECK025: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v65/crt0
 
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -O3 \
 // RUN:   %s 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK026 %s
 // CHECK026-NOT: "-ffp-contract=fast"
 // CHECK026: hexagon-link
 
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -O3 -ffp-contract=off \
 // RUN:   %s 2>&1 \
@@ -128,7 +128,7 @@
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // Defaults for C
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN: %clang -### -target hexagon-unknown-elf -fuse-ld=ld \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   %s 2>&1 \
@@