diff options
104 files changed, 149 insertions, 139 deletions
diff --git a/lld/ELF/Config.h b/lld/ELF/Config.h index b18aaa00729..a8d0dd46b52 100644 --- a/lld/ELF/Config.h +++ b/lld/ELF/Config.h @@ -118,7 +118,7 @@ struct Configuration { bool FatalWarnings; bool GcSections; bool GdbIndex; - bool GnuHash; + bool GnuHash = false; bool HasDynamicList = false; bool HasDynSymTab; bool ICF; @@ -137,7 +137,7 @@ struct Configuration { bool SingleRoRx; bool Shared; bool Static = false; - bool SysvHash; + bool SysvHash = false; bool Target1Rel; bool Threads; bool Trace; diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index d1412756c96..0a003ee6225 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -561,17 +561,6 @@ static SortSectionPolicy getSortSection(opt::InputArgList &Args) { return SortSectionPolicy::Default; } -static std::pair<bool, bool> getHashStyle(opt::InputArgList &Args) { - StringRef S = Args.getLastArgValue(OPT_hash_style, "sysv"); - if (S == "sysv") - return {true, false}; - if (S == "gnu") - return {false, true}; - if (S != "both") - error("unknown -hash-style: " + S); - return {true, true}; -} - // Parse --build-id or --build-id=<style>. We handle "tree" as a // synonym for "sha1" because all our hash functions including // -build-id=sha1 are actually tree hashes for performance reasons. @@ -750,6 +739,19 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) { Config->Emulation = S; } + // Parse -hash-style={sysv,gnu,both}. + if (auto *Arg = Args.getLastArg(OPT_hash_style)) { + StringRef S = Arg->getValue(); + if (S == "sysv") + Config->SysvHash = true; + else if (S == "gnu") + Config->GnuHash = true; + else if (S == "both") + Config->SysvHash = Config->GnuHash = true; + else + error("unknown -hash-style: " + S); + } + if (Args.hasArg(OPT_print_map)) Config->MapFile = "-"; @@ -760,7 +762,6 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) { if (Config->Omagic) Config->ZRelro = false; - std::tie(Config->SysvHash, Config->GnuHash) = getHashStyle(Args); std::tie(Config->BuildId, Config->BuildIdVector) = getBuildId(Args); if (auto *Arg = Args.getLastArg(OPT_symbol_ordering_file)) @@ -994,6 +995,15 @@ template <class ELFT> void LinkerDriver::link(opt::InputArgList &Args) { Config->MaxPageSize = getMaxPageSize(Args); Config->ImageBase = getImageBase(Args); + // If a -hash-style option was not given, set to a default value, + // which varies depending on the target. + if (!Args.hasArg(OPT_hash_style)) { + if (Config->EMachine == EM_MIPS) + Config->SysvHash = true; + else + Config->SysvHash = Config->GnuHash = true; + } + // Default output filename is "a.out" by the Unix tradition. if (Config->OutputFile.empty()) Config->OutputFile = "a.out"; diff --git a/lld/test/ELF/aarch64-gnu-ifunc-plt.s b/lld/test/ELF/aarch64-gnu-ifunc-plt.s index be9a8a7e674..5138675676d 100644 --- a/lld/test/ELF/aarch64-gnu-ifunc-plt.s +++ b/lld/test/ELF/aarch64-gnu-ifunc-plt.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux-gnu %S/Inputs/shared2.s -o %t1.o // RUN: ld.lld %t1.o --shared -o %t.so // RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux-gnu %s -o %t.o -// RUN: ld.lld %t.so %t.o -o %tout +// RUN: ld.lld --hash-style=sysv %t.so %t.o -o %tout // RUN: llvm-objdump -d %tout | FileCheck %s --check-prefix=DISASM // RUN: llvm-objdump -s %tout | FileCheck %s --check-prefix=GOTPLT // RUN: llvm-readobj -r -dynamic-table %tout | FileCheck %s diff --git a/lld/test/ELF/aarch64-got-relocations.s b/lld/test/ELF/aarch64-got-relocations.s index 13ee09a892e..a7745b05904 100644 --- a/lld/test/ELF/aarch64-got-relocations.s +++ b/lld/test/ELF/aarch64-got-relocations.s @@ -1,6 +1,6 @@ # REQUIRES: aarch64 # RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-cloudabi %s -o %t.o -# RUN: ld.lld -pie %t.o -o %t +# RUN: ld.lld --hash-style=sysv -pie %t.o -o %t # RUN: llvm-readobj -r %t | FileCheck %s # If we're addressing a global relatively through the GOT, we still need to diff --git a/lld/test/ELF/aarch64-tls-gdie.s b/lld/test/ELF/aarch64-tls-gdie.s index c66ea6cfcad..ab7461ac297 100644 --- a/lld/test/ELF/aarch64-tls-gdie.s +++ b/lld/test/ELF/aarch64-tls-gdie.s @@ -2,7 +2,7 @@ // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=aarch64-pc-linux // RUN: llvm-mc %p/Inputs/aarch64-tls-gdie.s -o %t2.o -filetype=obj -triple=aarch64-pc-linux // RUN: ld.lld %t2.o -o %t2.so -shared -// RUN: ld.lld %t.o %t2.so -o %t +// RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t // RUN: llvm-readobj -s %t | FileCheck --check-prefix=SEC %s // RUN: llvm-objdump -d %t | FileCheck %s diff --git a/lld/test/ELF/aarch64-tls-ie.s b/lld/test/ELF/aarch64-tls-ie.s index 81ca326aff5..8b7431093a2 100644 --- a/lld/test/ELF/aarch64-tls-ie.s +++ b/lld/test/ELF/aarch64-tls-ie.s @@ -2,7 +2,7 @@ # RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-freebsd %p/Inputs/aarch64-tls-ie.s -o %tdso.o # RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-freebsd %s -o %tmain.o # RUN: ld.lld -shared %tdso.o -o %tdso.so -# RUN: ld.lld %tmain.o %tdso.so -o %tout +# RUN: ld.lld --hash-style=sysv %tmain.o %tdso.so -o %tout # RUN: llvm-objdump -d %tout | FileCheck %s # RUN: llvm-readobj -s -r %tout | FileCheck -check-prefix=RELOC %s # REQUIRES: aarch64 diff --git a/lld/test/ELF/aarch64-tls-static.s b/lld/test/ELF/aarch64-tls-static.s index 24306d5d7ee..309a2e9f56c 100644 --- a/lld/test/ELF/aarch64-tls-static.s +++ b/lld/test/ELF/aarch64-tls-static.s @@ -1,6 +1,6 @@ // REQUIRES: aarch64 // RUN: llvm-mc %s -o %t.o -triple aarch64-pc-linux -filetype=obj -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -s %t.so | FileCheck --check-prefix=SEC %s // RUN: llvm-objdump -d %t.so | FileCheck %s diff --git a/lld/test/ELF/aarch64-tlsdesc.s b/lld/test/ELF/aarch64-tlsdesc.s index 09dfd04d8ac..b7c2e65a164 100644 --- a/lld/test/ELF/aarch64-tlsdesc.s +++ b/lld/test/ELF/aarch64-tlsdesc.s @@ -1,6 +1,6 @@ // REQUIRES: aarch64 // RUN: llvm-mc -filetype=obj -triple=aarch64-pc-linux %s -o %t.o -// RUN: ld.lld -shared %t.o -o %t.so +// RUN: ld.lld --hash-style=sysv -shared %t.o -o %t.so // RUN: llvm-objdump -d %t.so | FileCheck %s // RUN: llvm-readobj -r %t.so | FileCheck --check-prefix=REL %s diff --git a/lld/test/ELF/abs-hidden.s b/lld/test/ELF/abs-hidden.s index 5fad4cf6c40..82d19cdc015 100644 --- a/lld/test/ELF/abs-hidden.s +++ b/lld/test/ELF/abs-hidden.s @@ -1,7 +1,7 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/abs-hidden.s -o %t2.o -// RUN: ld.lld %t.o %t2.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o %t2.o -o %t.so -shared // RUN: llvm-readobj -r -s -section-data %t.so | FileCheck %s .quad foo diff --git a/lld/test/ELF/amdgpu-relocs.s b/lld/test/ELF/amdgpu-relocs.s index 1adb1faf20f..2e85ff7b194 100644 --- a/lld/test/ELF/amdgpu-relocs.s +++ b/lld/test/ELF/amdgpu-relocs.s @@ -1,5 +1,5 @@ # RUN: llvm-mc -filetype=obj -triple=amdgcn--amdhsa -mcpu=fiji %s -o %t.o -# RUN: ld.lld -shared %t.o -o %t.so +# RUN: ld.lld --hash-style=sysv -shared %t.o -o %t.so # RUN: llvm-readobj -r %t.so | FileCheck %s # RUN: llvm-objdump -s %t.so | FileCheck %s --check-prefix=OBJDUMP diff --git a/lld/test/ELF/arm-copy.s b/lld/test/ELF/arm-copy.s index e5ce1577bab..dc9e3628de4 100644 --- a/lld/test/ELF/arm-copy.s +++ b/lld/test/ELF/arm-copy.s @@ -2,7 +2,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %p/Inputs/relocation-copy-arm.s -o %t2.o // RUN: ld.lld -shared %t2.o -o %t2.so -// RUN: ld.lld %t.o %t2.so -o %t3 +// RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t3 // RUN: llvm-readobj -s -r --expand-relocs -symbols %t3 | FileCheck %s // RUN: llvm-objdump -d -triple=armv7a-none-linux-gnueabi %t3 | FileCheck -check-prefix=CODE %s // RUN: llvm-objdump -s -triple=armv7a-none-linux-gnueabi -section=.rodata %t3 | FileCheck -check-prefix=RODATA %s diff --git a/lld/test/ELF/arm-exidx-shared.s b/lld/test/ELF/arm-exidx-shared.s index e06733352a3..b43575eaa18 100644 --- a/lld/test/ELF/arm-exidx-shared.s +++ b/lld/test/ELF/arm-exidx-shared.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t -// RUN: ld.lld %t --shared -o %t2 2>&1 +// RUN: ld.lld --hash-style=sysv %t --shared -o %t2 2>&1 // RUN: llvm-readobj --relocations %t2 | FileCheck %s // RUN: llvm-objdump -s -triple=armv7a-none-linux-gnueabi %t2 | FileCheck -check-prefix=CHECK-EXTAB %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-gnu-ifunc-plt.s b/lld/test/ELF/arm-gnu-ifunc-plt.s index efcaee1e988..01ffc600bf0 100644 --- a/lld/test/ELF/arm-gnu-ifunc-plt.s +++ b/lld/test/ELF/arm-gnu-ifunc-plt.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-linux-gnueabihf %S/Inputs/arm-shared.s -o %t1.o // RUN: ld.lld %t1.o --shared -o %t.so // RUN: llvm-mc -filetype=obj -triple=armv7a-linux-gnueabihf %s -o %t.o -// RUN: ld.lld %t.so %t.o -o %tout +// RUN: ld.lld --hash-style=sysv %t.so %t.o -o %tout // RUN: llvm-objdump -triple=armv7a-linux-gnueabihf -d %tout | FileCheck %s --check-prefix=DISASM // RUN: llvm-objdump -s %tout | FileCheck %s --check-prefix=GOTPLT // RUN: llvm-readobj -r -dynamic-table %tout | FileCheck %s diff --git a/lld/test/ELF/arm-got-relative.s b/lld/test/ELF/arm-got-relative.s index 46a3ca97d08..cf8b0a64a96 100644 --- a/lld/test/ELF/arm-got-relative.s +++ b/lld/test/ELF/arm-got-relative.s @@ -1,6 +1,6 @@ // REQUIRES: arm // RUN: llvm-mc -position-independent -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o -// RUN: ld.lld %t.o -shared -o %t +// RUN: ld.lld --hash-style=sysv %t.o -shared -o %t // RUN: llvm-readobj -s -symbols -dyn-relocations %t | FileCheck %s // RUN: llvm-objdump -d -triple=armv7a-none-linux-gnueabi %t | FileCheck -check-prefix=CODE %s .syntax unified diff --git a/lld/test/ELF/arm-pie-relative.s b/lld/test/ELF/arm-pie-relative.s index f965c24f4fa..f225015eb5f 100644 --- a/lld/test/ELF/arm-pie-relative.s +++ b/lld/test/ELF/arm-pie-relative.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t -// RUN: ld.lld %t --pie -o %t2 +// RUN: ld.lld --hash-style=sysv %t --pie -o %t2 // RUN: llvm-readobj -r %t2 | FileCheck %s // RUN: llvm-objdump -s %t2 | FileCheck %s --check-prefix=GOT // REQUIRES: arm diff --git a/lld/test/ELF/arm-plt-reloc.s b/lld/test/ELF/arm-plt-reloc.s index 1588f745f22..217979e9fe7 100644 --- a/lld/test/ELF/arm-plt-reloc.s +++ b/lld/test/ELF/arm-plt-reloc.s @@ -2,7 +2,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t2 // RUN: ld.lld %t1 %t2 -o %t // RUN: llvm-objdump -triple=armv7a-none-linux-gnueabi -d %t | FileCheck %s -// RUN: ld.lld -shared %t1 %t2 -o %t3 +// RUN: ld.lld --hash-style=sysv -shared %t1 %t2 -o %t3 // RUN: llvm-objdump -triple=armv7a-none-linux-gnueabi -d %t3 | FileCheck -check-prefix=DSO %s // RUN: llvm-readobj -s -r %t3 | FileCheck -check-prefix=DSOREL %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-thumb-plt-reloc.s b/lld/test/ELF/arm-thumb-plt-reloc.s index f9afbb9c0ce..b92cf0deb9b 100644 --- a/lld/test/ELF/arm-thumb-plt-reloc.s +++ b/lld/test/ELF/arm-thumb-plt-reloc.s @@ -2,7 +2,7 @@ // RUN: llvm-mc -filetype=obj -triple=thumbv7a-none-linux-gnueabi %s -o %t2 // RUN: ld.lld %t1 %t2 -o %t // RUN: llvm-objdump -triple=thumbv7a-none-linux-gnueabi -d %t | FileCheck %s -// RUN: ld.lld -shared %t1 %t2 -o %t3 +// RUN: ld.lld --hash-style=sysv -shared %t1 %t2 -o %t3 // RUN: llvm-objdump -triple=thumbv7a-none-linux-gnueabi -d %t3 | FileCheck -check-prefix=DSOTHUMB %s // RUN: llvm-objdump -triple=armv7a-none-linux-gnueabi -d %t3 | FileCheck -check-prefix=DSOARM %s // RUN: llvm-readobj -s -r %t3 | FileCheck -check-prefix=DSOREL %s diff --git a/lld/test/ELF/arm-tls-gd-nonpreemptible.s b/lld/test/ELF/arm-tls-gd-nonpreemptible.s index 650c0080026..ebaad4788c7 100644 --- a/lld/test/ELF/arm-tls-gd-nonpreemptible.s +++ b/lld/test/ELF/arm-tls-gd-nonpreemptible.s @@ -2,7 +2,7 @@ // RUN: ld.lld %t -o %t2 // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7a-linux-gnueabi // RUN: llvm-objdump -s %t2 | FileCheck %s -// RUN: ld.lld %t --shared -o %t3.so +// RUN: ld.lld --hash-style=sysv %t --shared -o %t3.so // RUN: llvm-objdump -s %t3.so | FileCheck -check-prefix=CHECK-SHARED %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-tls-gd32.s b/lld/test/ELF/arm-tls-gd32.s index 206b65d05af..a32e26f2aeb 100644 --- a/lld/test/ELF/arm-tls-gd32.s +++ b/lld/test/ELF/arm-tls-gd32.s @@ -1,5 +1,5 @@ // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7a-linux-gnueabi -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -s -dyn-relocations %t.so | FileCheck --check-prefix=SEC %s // RUN: llvm-objdump -d -triple=armv7a-linux-gnueabi %t.so | FileCheck %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-tls-ie32.s b/lld/test/ELF/arm-tls-ie32.s index 48120fa682d..26e1265568c 100644 --- a/lld/test/ELF/arm-tls-ie32.s +++ b/lld/test/ELF/arm-tls-ie32.s @@ -1,5 +1,5 @@ // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7a-linux-gnueabi -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -s -dyn-relocations %t.so | FileCheck --check-prefix=SEC %s // RUN: llvm-objdump -d -triple=armv7a-linux-gnueabi %t.so | FileCheck %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-tls-ldm32.s b/lld/test/ELF/arm-tls-ldm32.s index 47e87910270..629dcd03889 100644 --- a/lld/test/ELF/arm-tls-ldm32.s +++ b/lld/test/ELF/arm-tls-ldm32.s @@ -1,5 +1,5 @@ // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7a-linux-gnueabi -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -s -dyn-relocations %t.so | FileCheck --check-prefix=SEC %s // RUN: llvm-objdump -d -triple=armv7a-linux-gnueabi %t.so | FileCheck %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-tls-norelax-gd-ie.s b/lld/test/ELF/arm-tls-norelax-gd-ie.s index 2617089b408..bcee5616595 100644 --- a/lld/test/ELF/arm-tls-norelax-gd-ie.s +++ b/lld/test/ELF/arm-tls-norelax-gd-ie.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %p/Inputs/arm-tls-get-addr.s -o %t1 // RUN: ld.lld %t1 --shared -o %t1.so // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7a-linux-gnueabi -// RUN: ld.lld %t1.so %t.o -o %t +// RUN: ld.lld --hash-style=sysv %t1.so %t.o -o %t // RUN: llvm-readobj -s -dyn-relocations %t | FileCheck %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-tls-norelax-gd-le.s b/lld/test/ELF/arm-tls-norelax-gd-le.s index 41df72494f8..ba6c9003468 100644 --- a/lld/test/ELF/arm-tls-norelax-gd-le.s +++ b/lld/test/ELF/arm-tls-norelax-gd-le.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %p/Inputs/arm-tls-get-addr.s -o %t1 // RUN: ld.lld %t1 --shared -o %t1.so // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7a-linux-gnueabi -// RUN: ld.lld %t1.so %t.o -o %t +// RUN: ld.lld --hash-style=sysv %t1.so %t.o -o %t // RUN: llvm-objdump -s %t | FileCheck %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-tls-norelax-ie-le.s b/lld/test/ELF/arm-tls-norelax-ie-le.s index e8c528b401c..eb96aa0fad5 100644 --- a/lld/test/ELF/arm-tls-norelax-ie-le.s +++ b/lld/test/ELF/arm-tls-norelax-ie-le.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %p/Inputs/arm-tls-get-addr.s -o %t1 // RUN: ld.lld %t1 --shared -o %t1.so // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7a-linux-gnueabi -// RUN: ld.lld %t1.so %t.o -o %t +// RUN: ld.lld --hash-style=sysv %t1.so %t.o -o %t // RUN: llvm-objdump -s -triple=armv7a-linux-gnueabi %t | FileCheck %s // REQUIRES: arm diff --git a/lld/test/ELF/arm-tls-norelax-ld-le.s b/lld/test/ELF/arm-tls-norelax-ld-le.s index 9fd822aefef..fc5b72b80f9 100644 --- a/lld/test/ELF/arm-tls-norelax-ld-le.s +++ b/lld/test/ELF/arm-tls-norelax-ld-le.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %p/Inputs/arm-tls-get-addr.s -o %t1 // RUN: ld.lld %t1 --shared -o %t1.so // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7a-linux-gnueabi -// RUN: ld.lld %t1.so %t.o -o %t +// RUN: ld.lld --hash-style=sysv %t1.so %t.o -o %t // RUN: llvm-objdump -s %t | FileCheck %s // REQUIRES: arm diff --git a/lld/test/ELF/basic-ppc.s b/lld/test/ELF/basic-ppc.s index 4a36af99ed7..75704325f6e 100644 --- a/lld/test/ELF/basic-ppc.s +++ b/lld/test/ELF/basic-ppc.s @@ -1,5 +1,5 @@ # RUN: llvm-mc -filetype=obj -triple=powerpc-unknown-freebsd %s -o %t -# RUN: ld.lld -discard-all -shared %t -o %t2 +# RUN: ld.lld --hash-style=sysv -discard-all -shared %t -o %t2 # RUN: llvm-readobj -file-headers -sections -section-data -program-headers %t2 | FileCheck %s # REQUIRES: ppc diff --git a/lld/test/ELF/copy-rel-pie.s b/lld/test/ELF/copy-rel-pie.s index 769a2431d85..dcccf8e30b1 100644 --- a/lld/test/ELF/copy-rel-pie.s +++ b/lld/test/ELF/copy-rel-pie.s @@ -1,7 +1,7 @@ // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux // RUN: llvm-mc %p/Inputs/copy-rel-pie.s -o %t2.o -filetype=obj -triple=x86_64-pc-linux // RUN: ld.lld %t2.o -o %t2.so -shared -// RUN: ld.lld %t.o %t2.so -o %t.exe -pie +// RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t.exe -pie // RUN: llvm-readobj -s -r %t.exe | FileCheck %s // RUN: llvm-objdump -d %t.exe | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/dynamic-got.s b/lld/test/ELF/dynamic-got.s index c50c9022329..385394b9d34 100644 --- a/lld/test/ELF/dynamic-got.s +++ b/lld/test/ELF/dynamic-got.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t.o -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -s -l -section-data -r %t.so | FileCheck %s // CHECK: Name: .got diff --git a/lld/test/ELF/dynamic-list-preempt.s b/lld/test/ELF/dynamic-list-preempt.s index 300df4311b7..2bb10a3ed0a 100644 --- a/lld/test/ELF/dynamic-list-preempt.s +++ b/lld/test/ELF/dynamic-list-preempt.s @@ -3,7 +3,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o # RUN: echo "{ foo; zed; };" > %t.list # RUN: echo "{ global: foo; bar; local: *; };" > %t.vers -# RUN: ld.lld -fatal-warnings -dynamic-list %t.list -version-script %t.vers -shared %t.o -o %t.so +# RUN: ld.lld --hash-style=sysv -fatal-warnings -dynamic-list %t.list -version-script %t.vers -shared %t.o -o %t.so # RUN: llvm-readobj -r %t.so | FileCheck --check-prefix=RELOCS %s # RUN: llvm-readobj -dyn-symbols %t.so | FileCheck --check-prefix=DYNSYMS %s diff --git a/lld/test/ELF/dynamic-list.s b/lld/test/ELF/dynamic-list.s index 58848902a32..888508e270a 100644 --- a/lld/test/ELF/dynamic-list.s +++ b/lld/test/ELF/dynamic-list.s @@ -1,24 +1,24 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/shared.s -o %t2.o -# RUN: ld.lld -shared %t2.o -soname shared -o %t2.so +# RUN: ld.lld --hash-style=sysv -shared %t2.o -soname shared -o %t2.so # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t ## Check exporting only one symbol. # RUN: echo "{ foo1; };" > %t.list -# RUN: ld.lld --dynamic-list %t.list %t %t2.so -o %t.exe +# RUN: ld.lld --hash-style=sysv --dynamic-list %t.list %t %t2.so -o %t.exe # RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck %s ## And now using quoted strings (the output is the same since it does ## use any wildcard character). # RUN: echo "{ \"foo1\"; };" > %t.list -# RUN: ld.lld --dynamic-list %t.list %t %t2.so -o %t.exe +# RUN: ld.lld --hash-style=sysv --dynamic-list %t.list %t %t2.so -o %t.exe # RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck %s ## And now using --export-dynamic-symbol. -# RUN: ld.lld --export-dynamic-symbol foo1 %t %t2.so -o %t.exe +# RUN: ld.lld --hash-style=sysv --export-dynamic-symbol foo1 %t %t2.so -o %t.exe # RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck %s -# RUN: ld.lld --export-dynamic-symbol=foo1 %t %t2.so -o %t.exe +# RUN: ld.lld --hash-style=sysv --export-dynamic-symbol=foo1 %t %t2.so -o %t.exe # RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck %s # CHECK: DynamicSymbols [ @@ -45,11 +45,11 @@ ## Now export all the foo1, foo2, and foo31 symbols # RUN: echo "{ foo1; foo2; foo31; };" > %t.list -# RUN: ld.lld --dynamic-list %t.list %t %t2.so -o %t.exe +# RUN: ld.lld --hash-style=sysv --dynamic-list %t.list %t %t2.so -o %t.exe # RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck -check-prefix=CHECK2 %s # RUN: echo "{ foo1; foo2; };" > %t1.list # RUN: echo "{ foo31; };" > %t2.list -# RUN: ld.lld --dynamic-list %t1.list --dynamic-list %t2.list %t %t2.so -o %t.exe +# RUN: ld.lld --hash-style=sysv --dynamic-list %t1.list --dynamic-list %t2.list %t %t2.so -o %t.exe # RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck -check-prefix=CHECK2 %s # CHECK2: DynamicSymbols [ @@ -95,11 +95,11 @@ ## --export-dynamic overrides --dynamic-list, i.e. --export-dynamic with an ## incomplete dynamic-list still exports everything. # RUN: echo "{ foo2; };" > %t.list -# RUN: ld.lld --dynamic-list %t.list --export-dynamic %t %t2.so -o %t.exe +# RUN: ld.lld --hash-style=sysv --dynamic-list %t.list --export-dynamic %t %t2.so -o %t.exe # RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck -check-prefix=CHECK3 %s ## The same with --export-dynamic-symbol. -# RUN: ld.lld --export-dynamic-symbol=foo2 --export-dynamic %t %t2.so -o %t.exe +# RUN: ld.lld --hash-style=sysv --export-dynamic-symbol=foo2 --export-dynamic %t %t2.so -o %t.exe # RUN: llvm-readobj -dyn-symbols %t.exe | FileCheck -check-prefix=CHECK3 %s # CHECK3: DynamicSymbols [ diff --git a/lld/test/ELF/dynamic-reloc.s b/lld/test/ELF/dynamic-reloc.s index 939093c17b4..4d95e41fb80 100644 --- a/lld/test/ELF/dynamic-reloc.s +++ b/lld/test/ELF/dynamic-reloc.s @@ -2,7 +2,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/shared.s -o %t2.o // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/dynamic-reloc.s -o %t3.o // RUN: ld.lld -shared %t2.o -o %t2.so -// RUN: ld.lld %t.o %t3.o %t2.so -o %t +// RUN: ld.lld --hash-style=sysv %t.o %t3.o %t2.so -o %t // RUN: llvm-readobj -dynamic-table -r --expand-relocs -s %t | FileCheck %s // REQUIRES: x86 diff --git a/lld/test/ELF/eh-align-cie.s b/lld/test/ELF/eh-align-cie.s index 343dea5004f..9e6ac2dc17b 100644 --- a/lld/test/ELF/eh-align-cie.s +++ b/lld/test/ELF/eh-align-cie.s @@ -31,7 +31,7 @@ bar: // OBJ-NEXT: ) -// RUN: ld.lld %t.o -o %t -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t -shared // RUN: llvm-readobj -s -section-data %t | FileCheck %s // Check that the size of the CIE was changed to (0x1C + 4) and the FDE one was diff --git a/lld/test/ELF/eh-frame-hdr-augmentation.s b/lld/test/ELF/eh-frame-hdr-augmentation.s index 618f5e1a9d7..135f8119662 100644 --- a/lld/test/ELF/eh-frame-hdr-augmentation.s +++ b/lld/test/ELF/eh-frame-hdr-augmentation.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -// RUN: ld.lld --eh-frame-hdr %t.o -o %t -shared +// RUN: ld.lld --hash-style=sysv --eh-frame-hdr %t.o -o %t -shared // RUN: llvm-objdump --dwarf=frames %t | FileCheck %s // CHECK: .eh_frame contents: diff --git a/lld/test/ELF/eh-frame-merge.s b/lld/test/ELF/eh-frame-merge.s index addbb3f857f..4b54c173c69 100644 --- a/lld/test/ELF/eh-frame-merge.s +++ b/lld/test/ELF/eh-frame-merge.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -// RUN: ld.lld %t.o %t.o -o %t -shared +// RUN: ld.lld --hash-style=sysv %t.o %t.o -o %t -shared // RUN: llvm-readobj -s -section-data %t | FileCheck %s .section foo,"ax",@progbits diff --git a/lld/test/ELF/eh-frame-padding-no-rosegment.s b/lld/test/ELF/eh-frame-padding-no-rosegment.s index 951fed0a56e..e106f2989d4 100644 --- a/lld/test/ELF/eh-frame-padding-no-rosegment.s +++ b/lld/test/ELF/eh-frame-padding-no-rosegment.s @@ -31,7 +31,7 @@ bar: // OBJ-NEXT: 0020: 20000000 00000000 00000000 00000000 // OBJ-NEXT: ) -// RUN: ld.lld %t.o -no-rosegment -o %t -shared +// RUN: ld.lld --hash-style=sysv %t.o -no-rosegment -o %t -shared // Check that .eh_frame is in the same segment as .text // RUN: llvm-readobj -l --elf-output-style=GNU %t | FileCheck --check-prefix=PHDR %s diff --git a/lld/test/ELF/emit-relocs-shared.s b/lld/test/ELF/emit-relocs-shared.s index 7a0d7911831..65a12c15ee2 100644 --- a/lld/test/ELF/emit-relocs-shared.s +++ b/lld/test/ELF/emit-relocs-shared.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -# RUN: ld.lld --emit-relocs %t.o -o %t.so -shared +# RUN: ld.lld --hash-style=sysv --emit-relocs %t.o -o %t.so -shared # RUN: llvm-readobj -r %t.so | FileCheck %s .data diff --git a/lld/test/ELF/global-offset-table-position-aarch64.s b/lld/test/ELF/global-offset-table-position-aarch64.s index 624e9b516fe..68bc4a4254e 100644 --- a/lld/test/ELF/global-offset-table-position-aarch64.s +++ b/lld/test/ELF/global-offset-table-position-aarch64.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=aarch64-linux-gnu %s -o %t -// RUN: ld.lld -shared %t -o %t2 +// RUN: ld.lld --hash-style=sysv -shared %t -o %t2 // RUN: llvm-readobj -t %t2 | FileCheck %s // REQUIRES: aarch64 .globl a diff --git a/lld/test/ELF/global-offset-table-position-arm.s b/lld/test/ELF/global-offset-table-position-arm.s index 781d8ce5222..19619b2cc9e 100644 --- a/lld/test/ELF/global-offset-table-position-arm.s +++ b/lld/test/ELF/global-offset-table-position-arm.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-linux-gnueabihf %s -o %t -// RUN: ld.lld -shared %t -o %t2 +// RUN: ld.lld --hash-style=sysv -shared %t -o %t2 // RUN: llvm-readobj -t %t2 | FileCheck %s // REQUIRES: arm diff --git a/lld/test/ELF/global-offset-table-position-i386.s b/lld/test/ELF/global-offset-table-position-i386.s index 907105edcff..9f778e1efb5 100644 --- a/lld/test/ELF/global-offset-table-position-i386.s +++ b/lld/test/ELF/global-offset-table-position-i386.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t -// RUN: ld.lld -shared %t -o %t2 +// RUN: ld.lld --hash-style=sysv -shared %t -o %t2 // RUN: llvm-readobj -t %t2 | FileCheck %s // REQUIRES: x86 diff --git a/lld/test/ELF/global-offset-table-position.s b/lld/test/ELF/global-offset-table-position.s index b3317c7edd8..f1195b2cf67 100644 --- a/lld/test/ELF/global-offset-table-position.s +++ b/lld/test/ELF/global-offset-table-position.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t -// RUN: ld.lld -shared %t -o %t2 +// RUN: ld.lld --hash-style=sysv -shared %t -o %t2 // RUN: llvm-readobj -t %t2 | FileCheck %s // REQUIRES: x86 diff --git a/lld/test/ELF/global_offset_table_shared.s b/lld/test/ELF/global_offset_table_shared.s index 1ebc0110d4d..03af02e5805 100644 --- a/lld/test/ELF/global_offset_table_shared.s +++ b/lld/test/ELF/global_offset_table_shared.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t -// RUN: ld.lld -shared %t -o %t2 +// RUN: ld.lld --hash-style=sysv -shared %t -o %t2 // RUN: llvm-readobj -t %t2 | FileCheck %s .long _GLOBAL_OFFSET_TABLE_ - . diff --git a/lld/test/ELF/gnu-ifunc-gotpcrel.s b/lld/test/ELF/gnu-ifunc-gotpcrel.s index 2a5814a98bc..b506ffa8c39 100644 --- a/lld/test/ELF/gnu-ifunc-gotpcrel.s +++ b/lld/test/ELF/gnu-ifunc-gotpcrel.s @@ -2,7 +2,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %S/Inputs/gnu-ifunc-gotpcrel.s -o %t2.o # RUN: ld.lld -shared %t2.o -o %t2.so # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -# RUN: ld.lld %t.o %t2.so -o %t +# RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t # RUN: llvm-readobj -dyn-relocations %t | FileCheck %s # CHECK: Dynamic Relocations { diff --git a/lld/test/ELF/gnu-ifunc-plt-i386.s b/lld/test/ELF/gnu-ifunc-plt-i386.s index 50f10c5fe6c..243eff62fcb 100644 --- a/lld/test/ELF/gnu-ifunc-plt-i386.s +++ b/lld/test/ELF/gnu-ifunc-plt-i386.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %S/Inputs/shared2-x86-64.s -o %t1.o // RUN: ld.lld %t1.o --shared -o %t.so // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o -// RUN: ld.lld %t.so %t.o -o %tout +// RUN: ld.lld --hash-style=sysv %t.so %t.o -o %tout // RUN: llvm-objdump -d %tout | FileCheck %s --check-prefix=DISASM // RUN: llvm-objdump -s %tout | FileCheck %s --check-prefix=GOTPLT // RUN: llvm-readobj -r -dynamic-table %tout | FileCheck %s diff --git a/lld/test/ELF/gnu-ifunc-plt.s b/lld/test/ELF/gnu-ifunc-plt.s index cf46380d389..88a09931853 100644 --- a/lld/test/ELF/gnu-ifunc-plt.s +++ b/lld/test/ELF/gnu-ifunc-plt.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %S/Inputs/shared2-x86-64.s -o %t1.o // RUN: ld.lld %t1.o --shared -o %t.so // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o -// RUN: ld.lld %t.so %t.o -o %tout +// RUN: ld.lld --hash-style=sysv %t.so %t.o -o %tout // RUN: llvm-objdump -d %tout | FileCheck %s --check-prefix=DISASM // RUN: llvm-objdump -s %tout | FileCheck %s --check-prefix=GOTPLT // RUN: llvm-readobj -r -dynamic-table %tout | FileCheck %s diff --git a/lld/test/ELF/gnu-ifunc-shared.s b/lld/test/ELF/gnu-ifunc-shared.s index aee870c28e1..bde6807e4b4 100644 --- a/lld/test/ELF/gnu-ifunc-shared.s +++ b/lld/test/ELF/gnu-ifunc-shared.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o -// RUN: ld.lld --shared -o %t.so %t.o +// RUN: ld.lld --hash-style=sysv --shared -o %t.so %t.o // RUN: llvm-objdump -d %t.so | FileCheck %s --check-prefix=DISASM // RUN: llvm-readobj -r %t.so | FileCheck %s diff --git a/lld/test/ELF/got-aarch64.s b/lld/test/ELF/got-aarch64.s index ef6943881ed..f46946c9f4a 100644 --- a/lld/test/ELF/got-aarch64.s +++ b/lld/test/ELF/got-aarch64.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-linux %s -o %t.o -// RUN: ld.lld -shared %t.o -o %t.so +// RUN: ld.lld --hash-style=sysv -shared %t.o -o %t.so // RUN: llvm-readobj -s -r %t.so | FileCheck %s // RUN: llvm-objdump -d %t.so | FileCheck --check-prefix=DISASM %s // REQUIRES: aarch64 diff --git a/lld/test/ELF/got.s b/lld/test/ELF/got.s index 57c1baddfd0..f67ea13d3f4 100644 --- a/lld/test/ELF/got.s +++ b/lld/test/ELF/got.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/shared.s -o %t2.o // RUN: ld.lld -shared %t2.o -o %t2.so -// RUN: ld.lld %t.o %t2.so -o %t +// RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t // RUN: llvm-readobj -s -r %t | FileCheck %s // RUN: llvm-objdump -d %t | FileCheck --check-prefix=DISASM %s // REQUIRES: x86 diff --git a/lld/test/ELF/gotpc-relax-nopic.s b/lld/test/ELF/gotpc-relax-nopic.s index b54bc2515c7..e51b8bd9f4e 100644 --- a/lld/test/ELF/gotpc-relax-nopic.s +++ b/lld/test/ELF/gotpc-relax-nopic.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -relax-relocations -triple=x86_64-unknown-linux %s -o %t.o -# RUN: ld.lld %t.o -o %t1 +# RUN: ld.lld --hash-style=sysv %t.o -o %t1 # RUN: llvm-readobj -symbols -r %t1 | FileCheck --check-prefix=SYMRELOC %s # RUN: llvm-objdump -d %t1 | FileCheck --check-prefix=DISASM %s @@ -25,7 +25,7 @@ # DISASM-NEXT: 201031: {{.*}} xorq $2105344, %r8 # DISASM-NEXT: 201038: {{.*}} testq $2105344, %r15 -# RUN: ld.lld -shared %t.o -o %t2 +# RUN: ld.lld --hash-style=sysv -shared %t.o -o %t2 # RUN: llvm-readobj -s -r -d %t2 | FileCheck --check-prefix=SEC-PIC %s # RUN: llvm-objdump -d %t2 | FileCheck --check-prefix=DISASM-PIC %s # SEC-PIC: Section { diff --git a/lld/test/ELF/gotpc-relax-und-dso.s b/lld/test/ELF/gotpc-relax-und-dso.s index ed6c4bc9bb1..3c5c8ba8c49 100644 --- a/lld/test/ELF/gotpc-relax-und-dso.s +++ b/lld/test/ELF/gotpc-relax-und-dso.s @@ -2,7 +2,7 @@ # RUN: llvm-mc -filetype=obj -relax-relocations -triple=x86_64-unknown-linux %s -o %t.o # RUN: llvm-mc -filetype=obj -relax-relocations -triple=x86_64-pc-linux %S/Inputs/gotpc-relax-und-dso.s -o %tdso.o # RUN: ld.lld -shared %tdso.o -o %t.so -# RUN: ld.lld -shared %t.o %t.so -o %tout +# RUN: ld.lld --hash-style=sysv -shared %t.o %t.so -o %tout # RUN: llvm-readobj -r -s %tout | FileCheck --check-prefix=RELOC %s # RUN: llvm-objdump -d %tout | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/gotpcrelx.s b/lld/test/ELF/gotpcrelx.s index 95dbf663ffe..3ccbc56aba9 100644 --- a/lld/test/ELF/gotpcrelx.s +++ b/lld/test/ELF/gotpcrelx.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -relax-relocations -triple x86_64-pc-linux-gnu \ // RUN: %s -o %t.o // RUN: llvm-readobj -r %t.o | FileCheck --check-prefix=RELS %s -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -s -r %t.so | FileCheck %s movq foo@GOTPCREL(%rip), %rax diff --git a/lld/test/ELF/i386-got-and-copy.s b/lld/test/ELF/i386-got-and-copy.s index f5b0b8ec5bb..81bac22fd66 100644 --- a/lld/test/ELF/i386-got-and-copy.s +++ b/lld/test/ELF/i386-got-and-copy.s @@ -9,7 +9,7 @@ # RUN: %S/Inputs/copy-in-shared.s -o %t.so.o # RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t.o # RUN: ld.lld %t.so.o -shared -o %t.so -# RUN: ld.lld %t.o %t.so -o %t.exe +# RUN: ld.lld --hash-style=sysv %t.o %t.so -o %t.exe # RUN: llvm-readobj -r %t.exe | FileCheck %s # CHECK: Relocations [ diff --git a/lld/test/ELF/i386-gotoff-shared.s b/lld/test/ELF/i386-gotoff-shared.s index 01242ad01c3..c22bd6dd5d7 100644 --- a/lld/test/ELF/i386-gotoff-shared.s +++ b/lld/test/ELF/i386-gotoff-shared.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -s %t.so | FileCheck %s // RUN: llvm-objdump -d %t.so | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/i386-gotpc-dynamic.s b/lld/test/ELF/i386-gotpc-dynamic.s index da8a607d575..0ec737e701a 100644 --- a/lld/test/ELF/i386-gotpc-dynamic.s +++ b/lld/test/ELF/i386-gotpc-dynamic.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o -# RUN: ld.lld %t.o -o %t.so -shared +# RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared # RUN: llvm-readobj -s %t.so | FileCheck %s # RUN: llvm-objdump -d %t.so | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/i386-gotpc.s b/lld/test/ELF/i386-gotpc.s index 8222effd665..d2c5ef3d469 100644 --- a/lld/test/ELF/i386-gotpc.s +++ b/lld/test/ELF/i386-gotpc.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -s %t.so | FileCheck %s // RUN: llvm-objdump -d %t.so | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/i386-tls-ie-shared.s b/lld/test/ELF/i386-tls-ie-shared.s index f419eb45dfb..2b842a86eb0 100644 --- a/lld/test/ELF/i386-tls-ie-shared.s +++ b/lld/test/ELF/i386-tls-ie-shared.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %p/Inputs/tls-opt-iele-i686-nopic.s -o %tso.o // RUN: ld.lld -shared %tso.o -o %tso -// RUN: ld.lld -shared %t.o %tso -o %t1 +// RUN: ld.lld --hash-style=sysv -shared %t.o %tso -o %t1 // RUN: llvm-readobj -s -r -d %t1 | FileCheck --check-prefix=GOTRELSHARED %s // RUN: llvm-objdump -d %t1 | FileCheck --check-prefix=DISASMSHARED %s diff --git a/lld/test/ELF/icf-symbol-type.s b/lld/test/ELF/icf-symbol-type.s index edb8a37a2e2..dbc5eab589b 100644 --- a/lld/test/ELF/icf-symbol-type.s +++ b/lld/test/ELF/icf-symbol-type.s @@ -1,7 +1,7 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -# RUN: ld.lld %t.o -o %t --icf=all -shared +# RUN: ld.lld --hash-style=sysv %t.o -o %t --icf=all -shared # RUN: llvm-readelf --dyn-symbols %t | FileCheck %s # We used to mark bar as absolute. diff --git a/lld/test/ELF/linkerscript/data-segment-relro.s b/lld/test/ELF/linkerscript/data-segment-relro.s index 7f69319dde7..e835f42e22c 100644 --- a/lld/test/ELF/linkerscript/data-segment-relro.s +++ b/lld/test/ELF/linkerscript/data-segment-relro.s @@ -19,9 +19,9 @@ ## With relro or without DATA_SEGMENT_RELRO_END just aligns to ## page boundary. -# RUN: ld.lld -z norelro %t1.o %t2.so --script %t.script -o %t +# RUN: ld.lld --hash-style=sysv -z norelro %t1.o %t2.so --script %t.script -o %t # RUN: llvm-readobj -s %t | FileCheck %s -# RUN: ld.lld -z relro %t1.o %t2.so --script %t.script -o %t2 +# RUN: ld.lld --hash-style=sysv -z relro %t1.o %t2.so --script %t.script -o %t2 # RUN: llvm-readobj -s %t2 | FileCheck %s # CHECK: Section { diff --git a/lld/test/ELF/linkerscript/emit-reloc.s b/lld/test/ELF/linkerscript/emit-reloc.s index 725f314a977..2fe127af859 100644 --- a/lld/test/ELF/linkerscript/emit-reloc.s +++ b/lld/test/ELF/linkerscript/emit-reloc.s @@ -1,7 +1,7 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o # RUN: echo "SECTIONS { .rela.dyn : { *(.rela.data) } }" > %t.script -# RUN: ld.lld -T %t.script --emit-relocs %t.o -o %t.so -shared +# RUN: ld.lld --hash-style=sysv -T %t.script --emit-relocs %t.o -o %t.so -shared # RUN: llvm-readobj -r %t.so | FileCheck %s .data diff --git a/lld/test/ELF/linkerscript/extend-pt-load.s b/lld/test/ELF/linkerscript/extend-pt-load.s index f9a77c8c12b..fb9ea6fc09f 100644 --- a/lld/test/ELF/linkerscript/extend-pt-load.s +++ b/lld/test/ELF/linkerscript/extend-pt-load.s @@ -15,7 +15,7 @@ # RUN: . = ALIGN(0x1000); \ # RUN: .data.rel.ro : { *(.data.rel.ro) } \ # RUN: }" > %t.script -# RUN: ld.lld -o %t1 --script %t.script %t.o -shared +# RUN: ld.lld --hash-style=sysv -o %t1 --script %t.script %t.o -shared # RUN: llvm-readobj --elf-output-style=GNU -l -s %t1 | FileCheck --check-prefix=CHECK1 %s # CHECK1: .text PROGBITS 00000000000001bc 0001bc 000001 00 AX @@ -37,7 +37,7 @@ # RUN: bar : { HIDDEN(bar_sym = .); } \ # RUN: .data.rel.ro : { *(.data.rel.ro) } \ # RUN: }" > %t.script -# RUN: ld.lld -o %t2 --script %t.script %t.o -shared +# RUN: ld.lld --hash-style=sysv -o %t2 --script %t.script %t.o -shared # RUN: llvm-readobj --elf-output-style=GNU -l -s %t2 | FileCheck --check-prefix=CHECK2 %s # CHECK2: .text PROGBITS 00000000000001bc 0001bc 000001 00 AX @@ -60,7 +60,7 @@ # RUN: HIDDEN(bar_sym = .); \ # RUN: .data.rel.ro : { *(.data.rel.ro) } \ # RUN: }" > %t.script -# RUN: ld.lld -o %t3 --script %t.script %t.o -shared +# RUN: ld.lld --hash-style=sysv -o %t3 --script %t.script %t.o -shared # RUN: llvm-readobj --elf-output-style=GNU -l -s %t3 | FileCheck --check-prefix=CHECK1 %s nop diff --git a/lld/test/ELF/linkerscript/header-addr.s b/lld/test/ELF/linkerscript/header-addr.s index bf6ef23a18e..70e6f674baf 100644 --- a/lld/test/ELF/linkerscript/header-addr.s +++ b/lld/test/ELF/linkerscript/header-addr.s @@ -5,7 +5,7 @@ # RUN: . = 0x2000 + SIZEOF_HEADERS; \ # RUN: .text : {*(.text)} :all \ # RUN: }" > %t.script -# RUN: ld.lld -o %t.so --script %t.script %t.o -shared +# RUN: ld.lld --hash-style=sysv -o %t.so --script %t.script %t.o -shared # RUN: llvm-readobj -program-headers %t.so | FileCheck %s # CHECK: ProgramHeaders [ @@ -25,7 +25,7 @@ # CHECK-NEXT: } # CHECK-NEXT: ] -# RUN: ld.lld -o %t2.so --script %t.script %t.o -shared -z max-page-size=0x2000 +# RUN: ld.lld --hash-style=sysv -o %t2.so --script %t.script %t.o -shared -z max-page-size=0x2000 # RUN: llvm-readobj -program-headers %t2.so \ # RUN: | FileCheck --check-prefix=MAXPAGE %s diff --git a/lld/test/ELF/linkerscript/implicit-program-header.s b/lld/test/ELF/linkerscript/implicit-program-header.s index 9598a6abebb..95cdf142fe4 100644 --- a/lld/test/ELF/linkerscript/implicit-program-header.s +++ b/lld/test/ELF/linkerscript/implicit-program-header.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -# RUN: ld.lld -o %t1 --script %S/Inputs/implicit-program-header.script \ +# RUN: ld.lld --hash-style=sysv -o %t1 --script %S/Inputs/implicit-program-header.script \ # RUN: %t.o -shared # RUN: llvm-readobj -elf-output-style=GNU -l %t1 | FileCheck %s diff --git a/lld/test/ELF/linkerscript/no-space.s b/lld/test/ELF/linkerscript/no-space.s index fc9e5b13325..21a38e42b2a 100644 --- a/lld/test/ELF/linkerscript/no-space.s +++ b/lld/test/ELF/linkerscript/no-space.s @@ -2,11 +2,11 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o # RUN: echo "SECTIONS {foo 0 : {*(foo*)} }" > %t.script -# RUN: ld.lld -o %t --script %t.script %t.o -shared +# RUN: ld.lld --hash-style=sysv -o %t --script %t.script %t.o -shared # RUN: llvm-readobj -elf-output-style=GNU -l %t | FileCheck %s # RUN: echo "SECTIONS {foo : {*(foo*)} }" > %t.script -# RUN: ld.lld -o %t --script %t.script %t.o -shared +# RUN: ld.lld --hash-style=sysv -o %t --script %t.script %t.o -shared # RUN: llvm-readobj -elf-output-style=GNU -l %t | FileCheck %s # There is not enough address space available for the header, so just start the PT_LOAD diff --git a/lld/test/ELF/linkerscript/non-alloc.s b/lld/test/ELF/linkerscript/non-alloc.s index 861c74996b8..3257cb96556 100644 --- a/lld/test/ELF/linkerscript/non-alloc.s +++ b/lld/test/ELF/linkerscript/non-alloc.s @@ -2,7 +2,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t # RUN: echo "SECTIONS { .foo 0 : {*(foo)} }" > %t.script -# RUN: ld.lld -o %t1 --script %t.script %t -shared +# RUN: ld.lld --hash-style=sysv -o %t1 --script %t.script %t -shared # RUN: llvm-readobj -elf-output-style=GNU -s -l %t1 | FileCheck %s # Test that we create all necessary PT_LOAD. We use to stop at the first diff --git a/lld/test/ELF/linkerscript/orphan-report.s b/lld/test/ELF/linkerscript/orphan-report.s index 7c04fcd1f5e..a5a179d50c8 100644 --- a/lld/test/ELF/linkerscript/orphan-report.s +++ b/lld/test/ELF/linkerscript/orphan-report.s @@ -1,7 +1,7 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o # RUN: echo "SECTIONS { .text : { *(.text.1) } }" > %t.script -# RUN: ld.lld -shared -o %t.out --script %t.script %t.o --verbose | FileCheck %s +# RUN: ld.lld --hash-style=sysv -shared -o %t.out --script %t.script %t.o --verbose | FileCheck %s # CHECK: {{.*}}.o:(.text) is being placed in '.text' # CHECK-NEXT: {{.*}}.o:(.text.2) is being placed in '.text' diff --git a/lld/test/ELF/linkerscript/out-of-order.s b/lld/test/ELF/linkerscript/out-of-order.s index 6cfd533c4e1..c43df43e500 100644 --- a/lld/test/ELF/linkerscript/out-of-order.s +++ b/lld/test/ELF/linkerscript/out-of-order.s @@ -1,7 +1,7 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-linux %s -o %t.o # RUN: echo "SECTIONS { .data 0x4000 : { *(.data) } .text 0x2000 : { *(.text) } }" > %t.script -# RUN: ld.lld -o %t.so --script %t.script %t.o -shared +# RUN: ld.lld --hash-style=sysv -o %t.so --script %t.script %t.o -shared # RUN: llvm-objdump -section-headers %t.so | FileCheck %s # CHECK: Sections: diff --git a/lld/test/ELF/linkerscript/repsection-symbol.s b/lld/test/ELF/linkerscript/repsection-symbol.s index d2d8c9dd56e..195380be9ff 100644 --- a/lld/test/ELF/linkerscript/repsection-symbol.s +++ b/lld/test/ELF/linkerscript/repsection-symbol.s @@ -6,7 +6,7 @@ # RUN: .text : { *(.text) } \ # RUN: .foo : {foo1 = .; *(.foo.*) foo2 = .; *(.bar) foo3 = .;} \ # RUN: }" > %t.script -# RUN: ld.lld -o %t1 --script %t.script %t -shared +# RUN: ld.lld --hash-style=sysv -o %t1 --script %t.script %t -shared # RUN: llvm-readobj -t %t1 | FileCheck %s # CHECK: Name: foo1 diff --git a/lld/test/ELF/linkerscript/sections-sort.s b/lld/test/ELF/linkerscript/sections-sort.s index 0e99851910f..99bbbead925 100644 --- a/lld/test/ELF/linkerscript/sections-sort.s +++ b/lld/test/ELF/linkerscript/sections-sort.s @@ -2,7 +2,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o # RUN: echo "SECTIONS { .text : {*(.text)} foo : {*(foo)}}" > %t.script -# RUN: ld.lld -o %t --script %t.script %t.o -shared +# RUN: ld.lld --hash-style=sysv -o %t --script %t.script %t.o -shared # RUN: llvm-objdump --section-headers %t | FileCheck %s # Test the section order. This is a case where at least with libstdc++'s diff --git a/lld/test/ELF/linkerscript/segment-start.s b/lld/test/ELF/linkerscript/segment-start.s index e46c398f63f..69897d604b3 100644 --- a/lld/test/ELF/linkerscript/segment-start.s +++ b/lld/test/ELF/linkerscript/segment-start.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -// RUN: ld.lld %t.o %S/Inputs/segment-start.script -shared -o %t.so +// RUN: ld.lld --hash-style=sysv %t.o %S/Inputs/segment-start.script -shared -o %t.so // RUN: llvm-readobj --dyn-symbols %t.so | FileCheck %s // CHECK: Name: foobar1 diff --git a/lld/test/ELF/linkerscript/sort-non-script.s b/lld/test/ELF/linkerscript/sort-non-script.s index b0517608d51..4611b18d55e 100644 --- a/lld/test/ELF/linkerscript/sort-non-script.s +++ b/lld/test/ELF/linkerscript/sort-non-script.s @@ -2,7 +2,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t # RUN: echo "SECTIONS { foo : {*(foo)} }" > %t.script -# RUN: ld.lld -o %t1 --script %t.script %t -shared +# RUN: ld.lld --hash-style=sysv -o %t1 --script %t.script %t -shared # RUN: llvm-readobj -elf-output-style=GNU -s %t1 | FileCheck %s # CHECK: .text {{.*}} AX diff --git a/lld/test/ELF/local-got-pie.s b/lld/test/ELF/local-got-pie.s index 417f9d00203..b1b213af665 100644 --- a/lld/test/ELF/local-got-pie.s +++ b/lld/test/ELF/local-got-pie.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o -// RUN: ld.lld %t.o -o %t -pie +// RUN: ld.lld --hash-style=sysv %t.o -o %t -pie // RUN: llvm-readobj -s -r -d %t | FileCheck %s // RUN: llvm-objdump -d %t | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/local-got-shared.s b/lld/test/ELF/local-got-shared.s index e4fd4699751..c858424cfd9 100644 --- a/lld/test/ELF/local-got-shared.s +++ b/lld/test/ELF/local-got-shared.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o -// RUN: ld.lld %t.o -o %t -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t -shared // RUN: llvm-readobj -s -r -d %t | FileCheck %s // RUN: llvm-objdump -d %t | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/local-got.s b/lld/test/ELF/local-got.s index 7e6ef9e0be7..17517f6a70e 100644 --- a/lld/test/ELF/local-got.s +++ b/lld/test/ELF/local-got.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/shared.s -o %t2.o // RUN: ld.lld -shared %t2.o -o %t2.so -// RUN: ld.lld %t.o %t2.so -o %t +// RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t // RUN: llvm-readobj -s -r -section-data %t | FileCheck %s // RUN: llvm-objdump -d %t | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/noplt-pie.s b/lld/test/ELF/noplt-pie.s index 81e4410ac2c..7f6ccf23d5c 100644 --- a/lld/test/ELF/noplt-pie.s +++ b/lld/test/ELF/noplt-pie.s @@ -2,7 +2,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/shared.s -o %t2.o # RUN: ld.lld -shared %t2.o -o %t2.so -# RUN: ld.lld %t1.o %t2.so -o %t.out +# RUN: ld.lld --hash-style=sysv %t1.o %t2.so -o %t.out # RUN: llvm-readobj -s -r %t.out | FileCheck %s # CHECK: Section { diff --git a/lld/test/ELF/pie-weak.s b/lld/test/ELF/pie-weak.s index 1a024b916bc..c4d64e3ff28 100644 --- a/lld/test/ELF/pie-weak.s +++ b/lld/test/ELF/pie-weak.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -relax-relocations=false -triple=x86_64-unknown-linux %s -o %t.o -# RUN: ld.lld -pie %t.o -o %t +# RUN: ld.lld --hash-style=sysv -pie %t.o -o %t # RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOCS %s # RUN: llvm-objdump -d %t | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/pr34660.s b/lld/test/ELF/pr34660.s index 11191169659..7c78bbc11c7 100644 --- a/lld/test/ELF/pr34660.s +++ b/lld/test/ELF/pr34660.s @@ -1,7 +1,7 @@ # REQUIRES: aarch64 # RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o -# RUN: ld.lld -shared %t.o -o %t +# RUN: ld.lld --hash-style=sysv -shared %t.o -o %t # RUN: llvm-objdump %t -d | FileCheck %s --check-prefix=DISASM # RUN: llvm-readobj -elf-output-style=GNU %t -t | FileCheck %s --check-prefix=SYM diff --git a/lld/test/ELF/relocation-copy-alias.s b/lld/test/ELF/relocation-copy-alias.s index 15712e39bc9..edb1550dd20 100644 --- a/lld/test/ELF/relocation-copy-alias.s +++ b/lld/test/ELF/relocation-copy-alias.s @@ -1,8 +1,8 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/relocation-copy-alias.s -o %t2.o -// RUN: ld.lld -shared %t2.o -o %t.so -// RUN: ld.lld %t.o %t.so -o %t3 +// RUN: ld.lld --hash-style=sysv -shared %t2.o -o %t.so +// RUN: ld.lld --hash-style=sysv %t.o %t.so -o %t3 // RUN: llvm-readobj --dyn-symbols -r --expand-relocs %t3 | FileCheck %s .global _start diff --git a/lld/test/ELF/relocation-copy-align-common.s b/lld/test/ELF/relocation-copy-align-common.s index a94c208a8b2..56eab76cbf8 100644 --- a/lld/test/ELF/relocation-copy-align-common.s +++ b/lld/test/ELF/relocation-copy-align-common.s @@ -3,7 +3,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux \ # RUN: %p/Inputs/relocation-copy-align-common.s -o %t2.o # RUN: ld.lld -shared %t2.o -o %t.so -# RUN: ld.lld %t.o %t.so -o %t3 +# RUN: ld.lld --hash-style=sysv %t.o %t.so -o %t3 # RUN: llvm-readobj -s -r --expand-relocs %t3 | FileCheck %s # CHECK: Section { diff --git a/lld/test/ELF/relocation-copy-flags.s b/lld/test/ELF/relocation-copy-flags.s index 4d97e3d95d2..3f74bade334 100644 --- a/lld/test/ELF/relocation-copy-flags.s +++ b/lld/test/ELF/relocation-copy-flags.s @@ -3,7 +3,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/relocation-copy.s -o %t2.o // RUN: ld.lld %t2.o -o %t2.so -shared -// RUN: ld.lld %t.o %t2.so -o %t.exe +// RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t.exe // RUN: llvm-readobj -s -section-data -r %t.exe | FileCheck %s .global _start diff --git a/lld/test/ELF/relocation-copy-relro.s b/lld/test/ELF/relocation-copy-relro.s index 1684c409e34..947c6c73f67 100644 --- a/lld/test/ELF/relocation-copy-relro.s +++ b/lld/test/ELF/relocation-copy-relro.s @@ -2,7 +2,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/relocation-copy-relro.s -o %t2.o // RUN: ld.lld -shared %t2.o -o %t.so -// RUN: ld.lld %t.o %t.so -o %t3 +// RUN: ld.lld --hash-style=sysv %t.o %t.so -o %t3 // RUN: llvm-readobj -program-headers -s -r %t3 | FileCheck %s // CHECK: Name: .bss.rel.ro (48) diff --git a/lld/test/ELF/relocation-i686.s b/lld/test/ELF/relocation-i686.s index 4bb55d9684b..3986357d66f 100644 --- a/lld/test/ELF/relocation-i686.s +++ b/lld/test/ELF/relocation-i686.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t // RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux %p/Inputs/shared.s -o %t2.o // RUN: ld.lld -shared %t2.o -o %t2.so -// RUN: ld.lld %t %t2.so -o %t2 +// RUN: ld.lld --hash-style=sysv %t %t2.so -o %t2 // RUN: llvm-readobj -s %t2 | FileCheck --check-prefix=ADDR %s // RUN: llvm-objdump -d %t2 | FileCheck %s // REQUIRES: x86 diff --git a/lld/test/ELF/relocation.s b/lld/test/ELF/relocation.s index 77c766960f4..3359a8badda 100644 --- a/lld/test/ELF/relocation.s +++ b/lld/test/ELF/relocation.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/shared.s -o %t2 // RUN: ld.lld %t2 -o %t2.so -shared -// RUN: ld.lld %t %t2.so -o %t3 +// RUN: ld.lld --hash-style=sysv %t %t2.so -o %t3 // RUN: llvm-readobj -s %t3 | FileCheck --check-prefix=SEC %s // RUN: llvm-objdump -s -d %t3 | FileCheck %s // REQUIRES: x86 diff --git a/lld/test/ELF/relro-omagic.s b/lld/test/ELF/relro-omagic.s index 6e9d59a3527..97c3a812406 100644 --- a/lld/test/ELF/relro-omagic.s +++ b/lld/test/ELF/relro-omagic.s @@ -1,7 +1,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/shared.s -o %t2.o # RUN: ld.lld -shared %t2.o -o %t2.so -soname relro-omagic.s.tmp2.so -# RUN: ld.lld -N %t.o %t2.so -o %t +# RUN: ld.lld --hash-style=sysv -N %t.o %t2.so -o %t # RUN: llvm-objdump -section-headers %t | FileCheck --check-prefix=NORELRO %s # RUN: llvm-readobj --program-headers %t | FileCheck --check-prefix=NOPHDRS %s diff --git a/lld/test/ELF/resolution-end.s b/lld/test/ELF/resolution-end.s index aa1c999fb79..26858372ce0 100644 --- a/lld/test/ELF/resolution-end.s +++ b/lld/test/ELF/resolution-end.s @@ -1,7 +1,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t1.o # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/resolution-end.s -o %t2.o # RUN: ld.lld -shared -o %t2.so %t2.o -# RUN: ld.lld %t1.o %t2.so -o %t +# RUN: ld.lld --hash-style=sysv %t1.o %t2.so -o %t # RUN: llvm-readobj -t -s -section-data %t | FileCheck %s # REQUIRES: x86 diff --git a/lld/test/ELF/retain-symbols-file.s b/lld/test/ELF/retain-symbols-file.s index aa7d35d914e..79d569d69cd 100644 --- a/lld/test/ELF/retain-symbols-file.s +++ b/lld/test/ELF/retain-symbols-file.s @@ -2,11 +2,11 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t # RUN: echo "bar" > %t_retain.txt # RUN: echo "foo" >> %t_retain.txt -# RUN: ld.lld -shared --retain-symbols-file=%t_retain.txt %t -o %t2 +# RUN: ld.lld --hash-style=sysv -shared --retain-symbols-file=%t_retain.txt %t -o %t2 # RUN: llvm-readobj --dyn-symbols %t2 | FileCheck %s ## Check separate form. -# RUN: ld.lld -shared --retain-symbols-file %t_retain.txt %t -o %t2 +# RUN: ld.lld --hash-style=sysv -shared --retain-symbols-file %t_retain.txt %t -o %t2 # RUN: llvm-readobj --dyn-symbols %t2 | FileCheck %s # CHECK: DynamicSymbols [ diff --git a/lld/test/ELF/shared.s b/lld/test/ELF/shared.s index d4c79d914ff..65ad2c61359 100644 --- a/lld/test/ELF/shared.s +++ b/lld/test/ELF/shared.s @@ -1,10 +1,10 @@ // RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux %p/Inputs/shared.s -o %t2.o -// RUN: ld.lld -shared %t2.o -o %t2.so +// RUN: ld.lld --hash-style=sysv -shared %t2.o -o %t2.so // RUN: llvm-readobj -s %t2.so | FileCheck --check-prefix=SO %s -// RUN: ld.lld -dynamic-linker /lib64/ld-linux-x86-64.so.2 -rpath foo -rpath bar --export-dynamic %t.o %t2.so -o %t +// RUN: ld.lld --hash-style=sysv -dynamic-linker /lib64/ld-linux-x86-64.so.2 -rpath foo -rpath bar --export-dynamic %t.o %t2.so -o %t // RUN: llvm-readobj --program-headers --dynamic-table -t -s -dyn-symbols -section-data -hash-table %t | FileCheck %s -// RUN: ld.lld %t.o %t2.so %t2.so -o %t2 +// RUN: ld.lld --hash-style=sysv %t.o %t2.so %t2.so -o %t2 // RUN: llvm-readobj -dyn-symbols %t2 | FileCheck --check-prefix=DONT_EXPORT %s // REQUIRES: x86 diff --git a/lld/test/ELF/sort-norosegment.s b/lld/test/ELF/sort-norosegment.s index c5a759a08a7..bd74f2eb330 100644 --- a/lld/test/ELF/sort-norosegment.s +++ b/lld/test/ELF/sort-norosegment.s @@ -1,7 +1,7 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t -# RUN: ld.lld -no-rosegment -o %t1 %t -shared +# RUN: ld.lld --hash-style=sysv -no-rosegment -o %t1 %t -shared # RUN: llvm-readobj -elf-output-style=GNU -s %t1 | FileCheck %s # CHECK: .text {{.*}} AX diff --git a/lld/test/ELF/startstop.s b/lld/test/ELF/startstop.s index 250fb2cb3f5..1e75042a0c8 100644 --- a/lld/test/ELF/startstop.s +++ b/lld/test/ELF/startstop.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t -// RUN: ld.lld %t -o %tout -shared +// RUN: ld.lld --hash-style=sysv %t -o %tout -shared // RUN: llvm-objdump -d %tout | FileCheck -check-prefix=DISASM %s // RUN: llvm-readobj -symbols -r %tout | FileCheck -check-prefix=SYMBOL %s diff --git a/lld/test/ELF/synthetic-got.s b/lld/test/ELF/synthetic-got.s index 8d82f3177f8..375a4387f1c 100644 --- a/lld/test/ELF/synthetic-got.s +++ b/lld/test/ELF/synthetic-got.s @@ -1,7 +1,7 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o # RUN: echo "SECTIONS { }" > %t0.script -# RUN: ld.lld -shared %t.o -o %t0.out --script %t0.script +# RUN: ld.lld --hash-style=sysv -shared %t.o -o %t0.out --script %t0.script # RUN: llvm-objdump -section-headers %t0.out | FileCheck %s --check-prefix=GOT # RUN: llvm-objdump -s -section=.got -section=.got.plt %t0.out \ # RUN: | FileCheck %s --check-prefix=GOTDATA @@ -16,7 +16,7 @@ # GOTDATA-NEXT: 01d0 00000000 00000000 # RUN: echo "SECTIONS { .mygot : { *(.got) *(.got.plt) } }" > %t1.script -# RUN: ld.lld -shared %t.o -o %t1.out --script %t1.script +# RUN: ld.lld --hash-style=sysv -shared %t.o -o %t1.out --script %t1.script # RUN: llvm-objdump -section-headers %t1.out | FileCheck %s --check-prefix=MYGOT # RUN: llvm-objdump -s -section=.mygot %t1.out | FileCheck %s --check-prefix=MYGOTDATA diff --git a/lld/test/ELF/tls-dynamic-i686.s b/lld/test/ELF/tls-dynamic-i686.s index ac88e6eaed3..1b13f26cc13 100644 --- a/lld/test/ELF/tls-dynamic-i686.s +++ b/lld/test/ELF/tls-dynamic-i686.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t -// RUN: ld.lld -shared %t -o %tout +// RUN: ld.lld --hash-style=sysv -shared %t -o %tout // RUN: llvm-readobj -sections -relocations %tout | FileCheck %s // RUN: llvm-objdump -d %tout | FileCheck %s --check-prefix=DIS diff --git a/lld/test/ELF/tls-dynamic.s b/lld/test/ELF/tls-dynamic.s index 05473d4b5b1..167f7687451 100644 --- a/lld/test/ELF/tls-dynamic.s +++ b/lld/test/ELF/tls-dynamic.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t -// RUN: ld.lld -shared %t -o %tout +// RUN: ld.lld --hash-style=sysv -shared %t -o %tout // RUN: llvm-readobj -sections -relocations %tout | FileCheck %s // RUN: llvm-objdump -d %tout | FileCheck %s --check-prefix=DIS diff --git a/lld/test/ELF/tls-got.s b/lld/test/ELF/tls-got.s index 450dd634d7a..b1686cd6d5f 100644 --- a/lld/test/ELF/tls-got.s +++ b/lld/test/ELF/tls-got.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/tls-got.s -o %t2.o // RUN: ld.lld -shared %t2.o -o %t2.so -// RUN: ld.lld -e main %t1.o %t2.so -o %t3 +// RUN: ld.lld --hash-style=sysv -e main %t1.o %t2.so -o %t3 // RUN: llvm-readobj -s -r %t3 | FileCheck %s // RUN: llvm-objdump -d %t3 | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/tls-i686.s b/lld/test/ELF/tls-i686.s index 7f2dd605cac..c411fc74cd6 100644 --- a/lld/test/ELF/tls-i686.s +++ b/lld/test/ELF/tls-i686.s @@ -1,7 +1,7 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t // RUN: ld.lld %t -o %tout -// RUN: ld.lld %t -shared -o %tsharedout +// RUN: ld.lld --hash-style=sysv %t -shared -o %tsharedout // RUN: llvm-objdump -d %tout | FileCheck %s --check-prefix=DIS // RUN: llvm-readobj -r %tout | FileCheck %s --check-prefix=RELOC // RUN: llvm-objdump -d %tsharedout | FileCheck %s --check-prefix=DISSHARED diff --git a/lld/test/ELF/tls-initial-exec-local.s b/lld/test/ELF/tls-initial-exec-local.s index 0aef3c8237b..e65fb294bc1 100644 --- a/lld/test/ELF/tls-initial-exec-local.s +++ b/lld/test/ELF/tls-initial-exec-local.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -// RUN: ld.lld -shared %t.o -o %t +// RUN: ld.lld --hash-style=sysv -shared %t.o -o %t // RUN: llvm-readobj -r -s %t | FileCheck %s // RUN: llvm-objdump -d %t | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/tls-opt-gdie.s b/lld/test/ELF/tls-opt-gdie.s index c423a3e0f24..6e853125771 100644 --- a/lld/test/ELF/tls-opt-gdie.s +++ b/lld/test/ELF/tls-opt-gdie.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/tls-opt-gdie.s -o %tso.o // RUN: ld.lld -shared %tso.o -o %t.so -// RUN: ld.lld %t.o %t.so -o %t1 +// RUN: ld.lld --hash-style=sysv %t.o %t.so -o %t1 // RUN: llvm-readobj -s -r %t1 | FileCheck --check-prefix=RELOC %s // RUN: llvm-objdump -d %t1 | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/tls-opt-gdiele-i686.s b/lld/test/ELF/tls-opt-gdiele-i686.s index 1432a9607da..2dc3731eba5 100644 --- a/lld/test/ELF/tls-opt-gdiele-i686.s +++ b/lld/test/ELF/tls-opt-gdiele-i686.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %p/Inputs/tls-opt-gdiele-i686.s -o %tso.o // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o // RUN: ld.lld -shared %tso.o -o %tso -// RUN: ld.lld %t.o %tso -o %tout +// RUN: ld.lld --hash-style=sysv %t.o %tso -o %tout // RUN: llvm-readobj -r %tout | FileCheck --check-prefix=NORELOC %s // RUN: llvm-objdump -d %tout | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/tls-opt-iele-i686-nopic.s b/lld/test/ELF/tls-opt-iele-i686-nopic.s index b6608c16551..02148b5dbff 100644 --- a/lld/test/ELF/tls-opt-iele-i686-nopic.s +++ b/lld/test/ELF/tls-opt-iele-i686-nopic.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %p/Inputs/tls-opt-iele-i686-nopic.s -o %tso.o // RUN: ld.lld -shared %tso.o -o %tso -// RUN: ld.lld %t.o %tso -o %t1 +// RUN: ld.lld --hash-style=sysv %t.o %tso -o %t1 // RUN: llvm-readobj -s -r %t1 | FileCheck --check-prefix=GOTREL %s // RUN: llvm-objdump -d %t1 | FileCheck --check-prefix=DISASM %s diff --git a/lld/test/ELF/tls-two-relocs.s b/lld/test/ELF/tls-two-relocs.s index 7c5d6abf77f..d5687e9bf86 100644 --- a/lld/test/ELF/tls-two-relocs.s +++ b/lld/test/ELF/tls-two-relocs.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t -// RUN: ld.lld %t -o %tout -shared +// RUN: ld.lld --hash-style=sysv %t -o %tout -shared // RUN: llvm-readobj -r %tout | FileCheck %s data16 diff --git a/lld/test/ELF/verdef-defaultver.s b/lld/test/ELF/verdef-defaultver.s index c37c90a66d9..496a29e3db5 100644 --- a/lld/test/ELF/verdef-defaultver.s +++ b/lld/test/ELF/verdef-defaultver.s @@ -3,7 +3,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/verdef-defaultver.s -o %t1 # RUN: echo "V1 { global: a; local: *; };" > %t.script # RUN: echo "V2 { global: b; c; } V1;" >> %t.script -# RUN: ld.lld -shared -soname shared %t1 --version-script %t.script -o %t.so +# RUN: ld.lld --hash-style=sysv -shared -soname shared %t1 --version-script %t.script -o %t.so # RUN: llvm-readobj -V -dyn-symbols %t.so | FileCheck --check-prefix=DSO %s # DSO: DynamicSymbols [ @@ -107,7 +107,7 @@ ## Check that we can link against DSO produced. # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t2 -# RUN: ld.lld %t2 %t.so -o %t3 +# RUN: ld.lld --hash-style=sysv %t2 %t.so -o %t3 # RUN: llvm-readobj -V -dyn-symbols %t3 | FileCheck --check-prefix=EXE %s # EXE: DynamicSymbols [ diff --git a/lld/test/ELF/verdef.s b/lld/test/ELF/verdef.s index 7fd60a95d1d..b5d12ee3884 100644 --- a/lld/test/ELF/verdef.s +++ b/lld/test/ELF/verdef.s @@ -3,7 +3,7 @@ # RUN: echo "LIBSAMPLE_1.0 { global: a; local: *; };" > %t.script # RUN: echo "LIBSAMPLE_2.0 { global: b; local: *; };" >> %t.script # RUN: echo "LIBSAMPLE_3.0 { global: c; local: *; };" >> %t.script -# RUN: ld.lld --version-script %t.script -shared -soname shared %t.o -o %t.so +# RUN: ld.lld --hash-style=sysv --version-script %t.script -shared -soname shared %t.o -o %t.so # RUN: llvm-readobj -V -dyn-symbols %t.so | FileCheck --check-prefix=DSO %s # DSO: Version symbols { @@ -65,7 +65,7 @@ ## Check that we can link agains DSO we produced. # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/verdef.s -o %tmain.o -# RUN: ld.lld %tmain.o %t.so -o %tout +# RUN: ld.lld --hash-style=sysv %tmain.o %t.so -o %tout # RUN: llvm-readobj -V %tout | FileCheck --check-prefix=MAIN %s # MAIN: Version symbols { @@ -100,7 +100,7 @@ # RUN: echo "LIBSAMPLE_2.0 { global: b; local: *; };" >> %t.script # RUN: echo "LIBSAMPLE_3.0 { global: c; local: *; };" >> %t.script # RUN: echo "}" >> %t.script -# RUN: ld.lld --script %t.script -shared -soname shared %t.o -o %t2.so +# RUN: ld.lld --hash-style=sysv --script %t.script -shared -soname shared %t.o -o %t2.so # RUN: llvm-readobj -V -dyn-symbols %t2.so | FileCheck --check-prefix=DSO %s .globl a diff --git a/lld/test/ELF/verneed.s b/lld/test/ELF/verneed.s index 5d5089f1fdd..27ab047e822 100644 --- a/lld/test/ELF/verneed.s +++ b/lld/test/ELF/verneed.s @@ -6,7 +6,7 @@ # RUN: ld.lld -shared %t2.o --version-script %t.script -o %t2.so -soname verneed2.so.0 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -# RUN: ld.lld %t.o %t1.so %t2.so -o %t +# RUN: ld.lld --hash-style=sysv %t.o %t1.so %t2.so -o %t # RUN: llvm-readobj -V -sections -section-data -dyn-symbols -dynamic-table %t | FileCheck %s # CHECK: Section { diff --git a/lld/test/ELF/version-script-extern.s b/lld/test/ELF/version-script-extern.s index 2b89839c369..c63ff817fb4 100644 --- a/lld/test/ELF/version-script-extern.s +++ b/lld/test/ELF/version-script-extern.s @@ -7,7 +7,7 @@ # RUN: echo "LIBSAMPLE_2.0 { global:" >> %t.script # RUN: echo ' extern "C" { _Z3bari; };' >> %t.script # RUN: echo "};" >> %t.script -# RUN: ld.lld --version-script %t.script -shared %t.o -o %t.so +# RUN: ld.lld --hash-style=sysv --version-script %t.script -shared %t.o -o %t.so # RUN: llvm-readobj -V -dyn-symbols %t.so | FileCheck --check-prefix=DSO %s # DSO: DynamicSymbols [ diff --git a/lld/test/ELF/version-script.s b/lld/test/ELF/version-script.s index 72f9eeb944d..66e850620c0 100644 --- a/lld/test/ELF/version-script.s +++ b/lld/test/ELF/version-script.s @@ -142,12 +142,12 @@ # VERDSO-NEXT: ] # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o -# RUN: ld.lld -shared %t.o %t2.so -o %t.so +# RUN: ld.lld --hash-style=sysv -shared %t.o %t2.so -o %t.so # RUN: llvm-readobj -dyn-symbols %t.so | FileCheck --check-prefix=ALL %s # RUN: echo "{ global: foo1; foo3; };" > %t2.script # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o -# RUN: ld.lld --version-script %t2.script -shared %t.o %t2.so -o %t.so +# RUN: ld.lld --hash-style=sysv --version-script %t2.script -shared %t.o %t2.so -o %t.so # RUN: llvm-readobj -dyn-symbols %t.so | FileCheck --check-prefix=ALL %s # ALL: DynamicSymbols [ diff --git a/lld/test/ELF/x86-64-relax-got-abs.s b/lld/test/ELF/x86-64-relax-got-abs.s index c4291202f03..0caf6dcec1f 100644 --- a/lld/test/ELF/x86-64-relax-got-abs.s +++ b/lld/test/ELF/x86-64-relax-got-abs.s @@ -1,7 +1,7 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -relax-relocations -triple=x86_64-pc-linux %s \ // RUN: -o %t.o -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-objdump -d %t.so | FileCheck %s // We used to fail trying to relax this into a pc relocation to an absolute diff --git a/lld/test/ELF/x86-64-tls-gd-local.s b/lld/test/ELF/x86-64-tls-gd-local.s index ec6115dc2f7..8879737ad3f 100644 --- a/lld/test/ELF/x86-64-tls-gd-local.s +++ b/lld/test/ELF/x86-64-tls-gd-local.s @@ -1,6 +1,6 @@ // REQUIRES: x86 // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux -// RUN: ld.lld %t.o -o %t.so -shared +// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared // RUN: llvm-readobj -r -s -section-data %t.so | FileCheck %s .byte 0x66 |