diff options
Diffstat (limited to 'test/old-elf/X86_64')
114 files changed, 0 insertions, 2759 deletions
diff --git a/test/old-elf/X86_64/ExampleTarget/triple.test b/test/old-elf/X86_64/ExampleTarget/triple.test deleted file mode 100644 index aec09eae3a30..000000000000 --- a/test/old-elf/X86_64/ExampleTarget/triple.test +++ /dev/null @@ -1,32 +0,0 @@ -# Check that the Example Target is actually used. - -# RUN: yaml2obj -format=elf %s -o %t.o -# RUN: lld -flavor old-gnu -target x86_64-example-freebsd9 %t.o -o %t.exe -# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s -# -# CHECK: Type: 0xFF00 - -# object - -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E5B864000000C745FC000000005DC366666666662E0F1F840000000000554889E531C05DC3 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - Global: - - Name: _start - Type: STT_FUNC - Section: .text - Size: 0x0000000000000000 diff --git a/test/old-elf/X86_64/Inputs/constint.c b/test/old-elf/X86_64/Inputs/constint.c deleted file mode 100644 index 9fc0ebcf6591..000000000000 --- a/test/old-elf/X86_64/Inputs/constint.c +++ /dev/null @@ -1 +0,0 @@ -const int b = 20; diff --git a/test/old-elf/X86_64/Inputs/constint.o b/test/old-elf/X86_64/Inputs/constint.o Binary files differdeleted file mode 100644 index 8324b73014d0..000000000000 --- a/test/old-elf/X86_64/Inputs/constint.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/debug0.c b/test/old-elf/X86_64/Inputs/debug0.c deleted file mode 100644 index 1ebe50087383..000000000000 --- a/test/old-elf/X86_64/Inputs/debug0.c +++ /dev/null @@ -1,5 +0,0 @@ -int adena(); - -int main() { -return adena(); -} diff --git a/test/old-elf/X86_64/Inputs/debug0.x86-64 b/test/old-elf/X86_64/Inputs/debug0.x86-64 Binary files differdeleted file mode 100644 index 914f5224b9a2..000000000000 --- a/test/old-elf/X86_64/Inputs/debug0.x86-64 +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/debug1.c b/test/old-elf/X86_64/Inputs/debug1.c deleted file mode 100644 index 281b8a361dbb..000000000000 --- a/test/old-elf/X86_64/Inputs/debug1.c +++ /dev/null @@ -1,3 +0,0 @@ -int adena() { -return 0; -} diff --git a/test/old-elf/X86_64/Inputs/debug1.x86-64 b/test/old-elf/X86_64/Inputs/debug1.x86-64 Binary files differdeleted file mode 100644 index bfc81458a034..000000000000 --- a/test/old-elf/X86_64/Inputs/debug1.x86-64 +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/externtls.c b/test/old-elf/X86_64/Inputs/externtls.c deleted file mode 100644 index 499a645a9217..000000000000 --- a/test/old-elf/X86_64/Inputs/externtls.c +++ /dev/null @@ -1,6 +0,0 @@ -extern __thread int extern_tls; - -int main() { - extern_tls = 1; - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/externtls.x86-64 b/test/old-elf/X86_64/Inputs/externtls.x86-64 Binary files differdeleted file mode 100644 index 3019aa0ca27c..000000000000 --- a/test/old-elf/X86_64/Inputs/externtls.x86-64 +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/fn.c b/test/old-elf/X86_64/Inputs/fn.c deleted file mode 100644 index 54939a2426b2..000000000000 --- a/test/old-elf/X86_64/Inputs/fn.c +++ /dev/null @@ -1,4 +0,0 @@ -int fn() -{ - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/fn.o b/test/old-elf/X86_64/Inputs/fn.o Binary files differdeleted file mode 100644 index 4b67d459dfdb..000000000000 --- a/test/old-elf/X86_64/Inputs/fn.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/generaltls-so.o.yaml b/test/old-elf/X86_64/Inputs/generaltls-so.o.yaml deleted file mode 100644 index 53a7fb6435e9..000000000000 --- a/test/old-elf/X86_64/Inputs/generaltls-so.o.yaml +++ /dev/null @@ -1,67 +0,0 @@ ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E566488D3D00000000666648E8000000008B005DC3 - - Name: .rela.text - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .text - Relocations: - - Offset: 0x0000000000000008 - Symbol: mynumber - Type: R_X86_64_TLSGD - Addend: -4 - - Offset: 0x0000000000000010 - Symbol: __tls_get_addr - Type: R_X86_64_PLT32 - Addend: -4 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - - Name: .tdata - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC, SHF_TLS ] - AddressAlign: 0x0000000000000004 - Content: '21000000' -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - - Name: .tdata - Type: STT_SECTION - Section: .tdata - Global: - - Name: getnumber - Type: STT_FUNC - Section: .text - Size: 0x0000000000000018 - - Name: mynumber - Type: STT_TLS - Section: .tdata - Size: 0x0000000000000004 - - Name: _GLOBAL_OFFSET_TABLE_ - - Name: __tls_get_addr -... diff --git a/test/old-elf/X86_64/Inputs/group/1.c b/test/old-elf/X86_64/Inputs/group/1.c deleted file mode 100644 index f5e618bc4a85..000000000000 --- a/test/old-elf/X86_64/Inputs/group/1.c +++ /dev/null @@ -1,8 +0,0 @@ -int _start() { - return 0; -} - -int main() { -fn(); -return 0; -} diff --git a/test/old-elf/X86_64/Inputs/group/1.o b/test/old-elf/X86_64/Inputs/group/1.o Binary files differdeleted file mode 100644 index 743518eb0fa3..000000000000 --- a/test/old-elf/X86_64/Inputs/group/1.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/group/fn.c b/test/old-elf/X86_64/Inputs/group/fn.c deleted file mode 100644 index e443c73a1ee0..000000000000 --- a/test/old-elf/X86_64/Inputs/group/fn.c +++ /dev/null @@ -1,4 +0,0 @@ -int fn() { -fn1(); -return 0; -} diff --git a/test/old-elf/X86_64/Inputs/group/fn.o b/test/old-elf/X86_64/Inputs/group/fn.o Binary files differdeleted file mode 100644 index 1134432449cd..000000000000 --- a/test/old-elf/X86_64/Inputs/group/fn.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/group/fn1.c b/test/old-elf/X86_64/Inputs/group/fn1.c deleted file mode 100644 index cca0df7fd277..000000000000 --- a/test/old-elf/X86_64/Inputs/group/fn1.c +++ /dev/null @@ -1,3 +0,0 @@ -int fn1() { -fn2(); -} diff --git a/test/old-elf/X86_64/Inputs/group/fn1.o b/test/old-elf/X86_64/Inputs/group/fn1.o Binary files differdeleted file mode 100644 index 2b02310003db..000000000000 --- a/test/old-elf/X86_64/Inputs/group/fn1.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/group/fn2.c b/test/old-elf/X86_64/Inputs/group/fn2.c deleted file mode 100644 index a60370ed1e6b..000000000000 --- a/test/old-elf/X86_64/Inputs/group/fn2.c +++ /dev/null @@ -1,3 +0,0 @@ -int fn2() { -return 0; -} diff --git a/test/old-elf/X86_64/Inputs/group/fn2.o b/test/old-elf/X86_64/Inputs/group/fn2.o Binary files differdeleted file mode 100644 index fabec849a775..000000000000 --- a/test/old-elf/X86_64/Inputs/group/fn2.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/group/group.sh b/test/old-elf/X86_64/Inputs/group/group.sh deleted file mode 100755 index 2eba1030160b..000000000000 --- a/test/old-elf/X86_64/Inputs/group/group.sh +++ /dev/null @@ -1,38 +0,0 @@ -cat > 1.c << \! -int _start() { - return 0; -} - -int main() { -fn(); -return 0; -} -! - -cat > fn.c << \! -int fn() { -fn1(); -return 0; -} -! - -cat > fn2.c << \! -int fn2() { -return 0; -} -! - -cat > fn1.c << \! -int fn1() { -fn2(); -} -! - -gcc -c 1.c fn.c fn2.c fn1.c -ar cr libfn.a fn.o fn2.o -ar cr libfn1.a fn1.o -lld -flavor gnu -target x86_64 -shared -o libfn2.so fn2.o -lld -flavor gnu -target x86_64 1.o libfn.a libfn1.a -o x -lld -flavor gnu -target x86_64 1.o --start-group libfn.a libfn1.a --end-group -o x -lld -flavor gnu -target x86_64 1.o --start-group fn.o fn2.o fn1.o --end-group -o x -lld -flavor gnu -target x86_64 1.o --start-group --whole-archive libfn.a --no-whole-archive libfn1.a --end-group -o x diff --git a/test/old-elf/X86_64/Inputs/group/libfn.a b/test/old-elf/X86_64/Inputs/group/libfn.a Binary files differdeleted file mode 100644 index c157c3babed9..000000000000 --- a/test/old-elf/X86_64/Inputs/group/libfn.a +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/group/libfn.so b/test/old-elf/X86_64/Inputs/group/libfn.so Binary files differdeleted file mode 100755 index fcbd11fe5519..000000000000 --- a/test/old-elf/X86_64/Inputs/group/libfn.so +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/group/libfn1.a b/test/old-elf/X86_64/Inputs/group/libfn1.a Binary files differdeleted file mode 100644 index 69b9c75b5d16..000000000000 --- a/test/old-elf/X86_64/Inputs/group/libfn1.a +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/group/libfn2.so b/test/old-elf/X86_64/Inputs/group/libfn2.so Binary files differdeleted file mode 100755 index 7ce867373910..000000000000 --- a/test/old-elf/X86_64/Inputs/group/libfn2.so +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/initfini-option.c b/test/old-elf/X86_64/Inputs/initfini-option.c deleted file mode 100644 index e9a6c08c12ac..000000000000 --- a/test/old-elf/X86_64/Inputs/initfini-option.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -void init() { - printf("%s\n", __FUNCTION__); -} - -void fini() { - printf("%s\n", __FUNCTION__); -} - -int main() { -} - diff --git a/test/old-elf/X86_64/Inputs/initfini-option.o b/test/old-elf/X86_64/Inputs/initfini-option.o Binary files differdeleted file mode 100644 index b1ba0557353c..000000000000 --- a/test/old-elf/X86_64/Inputs/initfini-option.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/initfini.c b/test/old-elf/X86_64/Inputs/initfini.c deleted file mode 100644 index 9427a86b6c9b..000000000000 --- a/test/old-elf/X86_64/Inputs/initfini.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdio.h> - -void __attribute__ ((constructor)) constructor() { - printf("%s\n", __FUNCTION__); -} - -void __attribute__ ((destructor)) destructor() { - printf("%s\n", __FUNCTION__); -} - -int main() { - return 0; -} - diff --git a/test/old-elf/X86_64/Inputs/initfini.o b/test/old-elf/X86_64/Inputs/initfini.o Binary files differdeleted file mode 100644 index f0e55a90b8b6..000000000000 --- a/test/old-elf/X86_64/Inputs/initfini.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/largebss.c b/test/old-elf/X86_64/Inputs/largebss.c deleted file mode 100644 index 157d01755b6a..000000000000 --- a/test/old-elf/X86_64/Inputs/largebss.c +++ /dev/null @@ -1,3 +0,0 @@ -int largebss[1000] = { 0 }; -int largecommon[1000]; -__thread int largetbss[1000] = { 0 }; diff --git a/test/old-elf/X86_64/Inputs/largebss.o b/test/old-elf/X86_64/Inputs/largebss.o Binary files differdeleted file mode 100644 index 377370ec2db2..000000000000 --- a/test/old-elf/X86_64/Inputs/largebss.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/layoutpass/1.c b/test/old-elf/X86_64/Inputs/layoutpass/1.c deleted file mode 100644 index fec984503214..000000000000 --- a/test/old-elf/X86_64/Inputs/layoutpass/1.c +++ /dev/null @@ -1,8 +0,0 @@ -int main() { - a(); - return 0; -} - -int b() { - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/layoutpass/1.o b/test/old-elf/X86_64/Inputs/layoutpass/1.o Binary files differdeleted file mode 100644 index 848a5b3321ac..000000000000 --- a/test/old-elf/X86_64/Inputs/layoutpass/1.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/layoutpass/2.c b/test/old-elf/X86_64/Inputs/layoutpass/2.c deleted file mode 100644 index fb9dbcc28aa6..000000000000 --- a/test/old-elf/X86_64/Inputs/layoutpass/2.c +++ /dev/null @@ -1,7 +0,0 @@ -int a() { - return 0; -} - -int c() { - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/layoutpass/2.o b/test/old-elf/X86_64/Inputs/layoutpass/2.o Binary files differdeleted file mode 100644 index 4c5ef8679581..000000000000 --- a/test/old-elf/X86_64/Inputs/layoutpass/2.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/layoutpass/3.c b/test/old-elf/X86_64/Inputs/layoutpass/3.c deleted file mode 100644 index 054029fe5cfe..000000000000 --- a/test/old-elf/X86_64/Inputs/layoutpass/3.c +++ /dev/null @@ -1,3 +0,0 @@ -int d() { - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/layoutpass/3.o b/test/old-elf/X86_64/Inputs/layoutpass/3.o Binary files differdeleted file mode 100644 index 76ef76e97901..000000000000 --- a/test/old-elf/X86_64/Inputs/layoutpass/3.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/layoutpass/lib2.a b/test/old-elf/X86_64/Inputs/layoutpass/lib2.a Binary files differdeleted file mode 100644 index 5f076c869817..000000000000 --- a/test/old-elf/X86_64/Inputs/layoutpass/lib2.a +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/libfn.a b/test/old-elf/X86_64/Inputs/libfn.a Binary files differdeleted file mode 100644 index 380844b0838d..000000000000 --- a/test/old-elf/X86_64/Inputs/libfn.a +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/libfn.so b/test/old-elf/X86_64/Inputs/libfn.so Binary files differdeleted file mode 100755 index dc02480aa690..000000000000 --- a/test/old-elf/X86_64/Inputs/libfn.so +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/main.c b/test/old-elf/X86_64/Inputs/main.c deleted file mode 100644 index 0280c9127076..000000000000 --- a/test/old-elf/X86_64/Inputs/main.c +++ /dev/null @@ -1,4 +0,0 @@ -int main() { - fn(); - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/main.o b/test/old-elf/X86_64/Inputs/main.o Binary files differdeleted file mode 100644 index ec8929f4b51d..000000000000 --- a/test/old-elf/X86_64/Inputs/main.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/multi-ovrd.c b/test/old-elf/X86_64/Inputs/multi-ovrd.c deleted file mode 100644 index cf6c0b6ac361..000000000000 --- a/test/old-elf/X86_64/Inputs/multi-ovrd.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> -void f(void) -{ - printf("overridden f!\n"); -} - -void g(void) -{ - printf("overridden g!\n"); -} diff --git a/test/old-elf/X86_64/Inputs/multi-ovrd.o b/test/old-elf/X86_64/Inputs/multi-ovrd.o Binary files differdeleted file mode 100644 index e4c4d6037fdd..000000000000 --- a/test/old-elf/X86_64/Inputs/multi-ovrd.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/multi-weak.c b/test/old-elf/X86_64/Inputs/multi-weak.c deleted file mode 100644 index 10b9160352d9..000000000000 --- a/test/old-elf/X86_64/Inputs/multi-weak.c +++ /dev/null @@ -1,20 +0,0 @@ -int fn() -{ - return 0; -} - -void __attribute__((weak)) f() -{ - printf("original f..\n"); -} - -void __attribute__((weak)) g() -{ - printf("original f..\n"); -} - -int main(void) -{ - f(); - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/multi-weak.o b/test/old-elf/X86_64/Inputs/multi-weak.o Binary files differdeleted file mode 100644 index d5677b699ac4..000000000000 --- a/test/old-elf/X86_64/Inputs/multi-weak.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/multiweaksyms.o b/test/old-elf/X86_64/Inputs/multiweaksyms.o Binary files differdeleted file mode 100644 index 5e2e54d66b0d..000000000000 --- a/test/old-elf/X86_64/Inputs/multiweaksyms.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/nmagic.c b/test/old-elf/X86_64/Inputs/nmagic.c deleted file mode 100644 index 3ad15f0c4971..000000000000 --- a/test/old-elf/X86_64/Inputs/nmagic.c +++ /dev/null @@ -1,8 +0,0 @@ -int a = 10; -__thread int b = 20; -__thread int c; -__thread int d; - -int main() { - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/nmagic.o b/test/old-elf/X86_64/Inputs/nmagic.o Binary files differdeleted file mode 100644 index af28e0ada8b3..000000000000 --- a/test/old-elf/X86_64/Inputs/nmagic.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/no-interp-section.c b/test/old-elf/X86_64/Inputs/no-interp-section.c deleted file mode 100644 index 3981c038ed33..000000000000 --- a/test/old-elf/X86_64/Inputs/no-interp-section.c +++ /dev/null @@ -1 +0,0 @@ -int c = 10; diff --git a/test/old-elf/X86_64/Inputs/no-interp-section.o b/test/old-elf/X86_64/Inputs/no-interp-section.o Binary files differdeleted file mode 100644 index 063eb3244f22..000000000000 --- a/test/old-elf/X86_64/Inputs/no-interp-section.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/note.o b/test/old-elf/X86_64/Inputs/note.o Binary files differdeleted file mode 100644 index d86b0cf85d19..000000000000 --- a/test/old-elf/X86_64/Inputs/note.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/note.s b/test/old-elf/X86_64/Inputs/note.s deleted file mode 100644 index 0a0b03da6bb7..000000000000 --- a/test/old-elf/X86_64/Inputs/note.s +++ /dev/null @@ -1,11 +0,0 @@ - .section ".note.ident", "a" - .p2align 2 - .long 1f - 0f # name size (not including padding) - .long 3f - 2f # desc size (not including padding) - .long 0x01234567 # type -0: .asciz "NaMe" # name -1: .p2align 2 -2: .long 0x76543210 # desc - .long 0x89abcdef -3: .p2align 2 - diff --git a/test/old-elf/X86_64/Inputs/note_ro_rw.o b/test/old-elf/X86_64/Inputs/note_ro_rw.o Binary files differdeleted file mode 100644 index 76f2486d2736..000000000000 --- a/test/old-elf/X86_64/Inputs/note_ro_rw.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/note_ro_rw.s b/test/old-elf/X86_64/Inputs/note_ro_rw.s deleted file mode 100644 index 2a0eff5dfb2b..000000000000 --- a/test/old-elf/X86_64/Inputs/note_ro_rw.s +++ /dev/null @@ -1,21 +0,0 @@ - .section ".note.ro", "a" - .p2align 2 - .long 1f - 0f # name size (not including padding) - .long 3f - 2f # desc size (not including padding) - .long 0x01234567 # type -0: .asciz "NaMe" # name -1: .p2align 2 -2: .long 0x76543210 # desc - .long 0x89abcdef -3: .p2align 2 - .section ".note.rw", "aw" - .p2align 2 - .long 1f - 0f # name size (not including padding) - .long 3f - 2f # desc size (not including padding) - .long 0x01234567 # type -0: .asciz "NaMe" # name -1: .p2align 2 -2: .long 0x76543210 # desc - .long 0x89abcdef -3: .p2align 2 - diff --git a/test/old-elf/X86_64/Inputs/ovrd.c b/test/old-elf/X86_64/Inputs/ovrd.c deleted file mode 100644 index a3d721dac2aa..000000000000 --- a/test/old-elf/X86_64/Inputs/ovrd.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <stdio.h> -void f(void) -{ - printf("overridden f!\n"); -} - diff --git a/test/old-elf/X86_64/Inputs/ovrd.o b/test/old-elf/X86_64/Inputs/ovrd.o Binary files differdeleted file mode 100644 index ea7353d94ed9..000000000000 --- a/test/old-elf/X86_64/Inputs/ovrd.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/rodata.c b/test/old-elf/X86_64/Inputs/rodata.c deleted file mode 100644 index 01489fe550c8..000000000000 --- a/test/old-elf/X86_64/Inputs/rodata.c +++ /dev/null @@ -1,3 +0,0 @@ -const char _nl_default_default_domain[] __attribute__ ((visibility ("hidden"))) = "messages"; -const char *_nl_current_default_domain __attribute__ ((visibility ("hidden"))) = _nl_default_default_domain; -const char _nl_default_default_dirname[] = "/usr/local"; diff --git a/test/old-elf/X86_64/Inputs/rodata.o b/test/old-elf/X86_64/Inputs/rodata.o Binary files differdeleted file mode 100644 index 660606cdc9c0..000000000000 --- a/test/old-elf/X86_64/Inputs/rodata.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/rodata.s b/test/old-elf/X86_64/Inputs/rodata.s deleted file mode 100644 index e1a2eb702736..000000000000 --- a/test/old-elf/X86_64/Inputs/rodata.s +++ /dev/null @@ -1,24 +0,0 @@ - .file "x.c" - .hidden _nl_default_default_domain - .globl _nl_default_default_domain - .section .rodata._nl_default_default_domain,"ams",@progbits,1 - .type _nl_default_default_domain, @object - .size _nl_default_default_domain, 9 -_nl_default_default_domain: - .string "messages" - .hidden _nl_current_default_domain - .globl _nl_current_default_domain - .section .data._nl_current_default_domain,"aw",@progbits - .align 8 - .type _nl_current_default_domain, @object - .size _nl_current_default_domain, 8 -_nl_current_default_domain: - .quad _nl_default_default_domain - .globl _nl_default_default_dirname - .section .rodata._nl_default_default_dirname,"ams",@progbits,1 - .type _nl_default_default_dirname, @object - .size _nl_default_default_dirname, 11 -_nl_default_default_dirname: - .string "/usr/local" - .ident "GCC: (Ubuntu 4.8.1-2ubuntu1~10.04.1) 4.8.1" - .section .note.GNU-stack,"",@progbits diff --git a/test/old-elf/X86_64/Inputs/rwint.c b/test/old-elf/X86_64/Inputs/rwint.c deleted file mode 100644 index d1cf7d62c801..000000000000 --- a/test/old-elf/X86_64/Inputs/rwint.c +++ /dev/null @@ -1 +0,0 @@ -int a = 10; diff --git a/test/old-elf/X86_64/Inputs/rwint.o b/test/old-elf/X86_64/Inputs/rwint.o Binary files differdeleted file mode 100644 index 9fba51f07add..000000000000 --- a/test/old-elf/X86_64/Inputs/rwint.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/sectionmap.c b/test/old-elf/X86_64/Inputs/sectionmap.c deleted file mode 100644 index c4f530148949..000000000000 --- a/test/old-elf/X86_64/Inputs/sectionmap.c +++ /dev/null @@ -1,4 +0,0 @@ -int foo __attribute__((section(".gcc_except_table.foo"))) = 4; -const int bar __attribute__((section(".data.rel.local"))) = 2; -const int baz __attribute__((section(".data.rel.ro"))) = 2; -const int bak __attribute__((section(".data.xyz"))) = 2; diff --git a/test/old-elf/X86_64/Inputs/sectionmap.o b/test/old-elf/X86_64/Inputs/sectionmap.o Binary files differdeleted file mode 100644 index 599cf2cca563..000000000000 --- a/test/old-elf/X86_64/Inputs/sectionmap.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/undefcpp.c b/test/old-elf/X86_64/Inputs/undefcpp.c deleted file mode 100644 index ce84c2a592b6..000000000000 --- a/test/old-elf/X86_64/Inputs/undefcpp.c +++ /dev/null @@ -1 +0,0 @@ -int foo() { return _Z3fooPKc(); } diff --git a/test/old-elf/X86_64/Inputs/undefcpp.o b/test/old-elf/X86_64/Inputs/undefcpp.o Binary files differdeleted file mode 100644 index 6b8ebf5b6ab0..000000000000 --- a/test/old-elf/X86_64/Inputs/undefcpp.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/weak-zero-sized.o b/test/old-elf/X86_64/Inputs/weak-zero-sized.o Binary files differdeleted file mode 100644 index 7c10c6a509ed..000000000000 --- a/test/old-elf/X86_64/Inputs/weak-zero-sized.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/weak.c b/test/old-elf/X86_64/Inputs/weak.c deleted file mode 100644 index ae07ffc745d8..000000000000 --- a/test/old-elf/X86_64/Inputs/weak.c +++ /dev/null @@ -1,14 +0,0 @@ -int fn() -{ - return 0; -} - -void __attribute__((weak)) f() -{ - printf("original f..\n"); -} -int main(void) -{ - f(); - return 0; -} diff --git a/test/old-elf/X86_64/Inputs/weak.o b/test/old-elf/X86_64/Inputs/weak.o Binary files differdeleted file mode 100644 index 41cc88a0c482..000000000000 --- a/test/old-elf/X86_64/Inputs/weak.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/weak.s b/test/old-elf/X86_64/Inputs/weak.s deleted file mode 100644 index 64ce779553b6..000000000000 --- a/test/old-elf/X86_64/Inputs/weak.s +++ /dev/null @@ -1,21 +0,0 @@ - .file "weak.s" - .text - .p2align 4,,15 - .globl test - .type test, @function -test: - ret - .size test, .-test - .weak myfn2 - .data - .align 8 - .type myfn2, @object - .size myfn2, 8 -myfn2: - .quad test - .weak myfn1 - .align 8 - .type myfn1, @object - .size myfn1, 8 -myfn1: - .quad test diff --git a/test/old-elf/X86_64/Inputs/zerosizedsection.o b/test/old-elf/X86_64/Inputs/zerosizedsection.o Binary files differdeleted file mode 100644 index a0f2f13a307a..000000000000 --- a/test/old-elf/X86_64/Inputs/zerosizedsection.o +++ /dev/null diff --git a/test/old-elf/X86_64/Inputs/zerosizedsection.s b/test/old-elf/X86_64/Inputs/zerosizedsection.s deleted file mode 100644 index 651ee3aab503..000000000000 --- a/test/old-elf/X86_64/Inputs/zerosizedsection.s +++ /dev/null @@ -1,3 +0,0 @@ -.text -.data -.word .text diff --git a/test/old-elf/X86_64/alignoffset.test b/test/old-elf/X86_64/alignoffset.test deleted file mode 100644 index 53e29211af67..000000000000 --- a/test/old-elf/X86_64/alignoffset.test +++ /dev/null @@ -1,118 +0,0 @@ -# Checks that segments are aligned as per ELF spec. The segment virtual address -# modulo page alignment should be equal to offset modulo page alignment. - -# Build executable -# RUN: yaml2obj -format=elf -docnum 1 %s -o %t.o -# RUN: lld -flavor old-gnu -target x86_64 %t.o -o %t.exe -static \ -# RUN: --no-align-segments --rosegment --noinhibit-exec -# RUN: llvm-readobj -program-headers %t.exe | FileCheck %s -# -#CHECK: Offset: 0x15C -#CHECK: VirtualAddress: 0x40015C -#CHECK: PhysicalAddress: 0x40015C -# -# -#const int a = 0; -#int main() { -# foo(); -# return 0; -#} -# -#int foo() { return 0; } - -# object ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E54883EC10C745FC00000000E81C000000B9000000008945F889C84883C4105DC36666662E0F1F840000000000554889E5B8000000005DC3 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - - Name: .rodata - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '00000000' - - Name: .comment - Type: SHT_PROGBITS - Flags: [ SHF_MERGE, SHF_STRINGS ] - AddressAlign: 0x0000000000000001 - Content: 005562756E747520636C616E672076657273696F6E20332E352E302D73766E3231373330342D317E6578703120286272616E636865732F72656C656173655F33352920286261736564206F6E204C4C564D20332E352E302900 - - Name: .note.GNU-stack - Type: SHT_PROGBITS - AddressAlign: 0x0000000000000001 - Content: '' - - Name: .eh_frame - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: 1400000000000000037A5200017810011B0C070890010000180000001C000000000000002400000000410E108602430D060000001800000038000000000000000B00000000410E108602430D06000000 - - Name: .rela.eh_frame - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .eh_frame - Relocations: - - Offset: 0x0000000000000020 - Symbol: .text - Type: R_X86_64_PC32 - Addend: 0 - - Offset: 0x000000000000003C - Symbol: .text - Type: R_X86_64_PC32 - Addend: 48 -Symbols: - Local: - - Name: 1.c - Type: STT_FILE - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - - Name: .rodata - Type: STT_SECTION - Section: .rodata - - Name: .comment - Type: STT_SECTION - Section: .comment - - Name: .note.GNU-stack - Type: STT_SECTION - Section: .note.GNU-stack - - Name: .eh_frame - Type: STT_SECTION - Section: .eh_frame - Global: - - Name: a - Type: STT_OBJECT - Section: .rodata - Size: 0x0000000000000004 - - Name: foo - Type: STT_FUNC - Section: .text - Value: 0x0000000000000030 - Size: 0x000000000000000B - - Name: main - Type: STT_FUNC - Section: .text - Size: 0x0000000000000024 -... diff --git a/test/old-elf/X86_64/debug.test b/test/old-elf/X86_64/debug.test deleted file mode 100644 index 26ba367da574..000000000000 --- a/test/old-elf/X86_64/debug.test +++ /dev/null @@ -1,57 +0,0 @@ -# Test that debug info is assigned typeNoAlloc and that the output sections have -# a virtual address of 0. -RUN: lld -flavor old-gnu -target x86_64 -e main --output-filetype=yaml \ -RUN: %p/Inputs/debug0.x86-64 %p/Inputs/debug1.x86-64 -o %t -RUN: FileCheck %s -check-prefix YAML < %t - -RUN: lld -flavor old-gnu -target x86_64 -e main %p/Inputs/debug0.x86-64 \ -RUN: %p/Inputs/debug1.x86-64 -o %t1 -RUN: llvm-readobj -sections %t1 | FileCheck %s -check-prefix ELF -# Verify that non SHF_ALLOC sections are relocated correctly. -RUN: llvm-objdump -s %t1 | FileCheck %s -check-prefix RELOC - -YAML: type: no-alloc - -ELF: Section { -ELF: Name: .debug_info -ELF: Type: SHT_PROGBITS (0x1) -ELF: Flags [ (0x0) -ELF: ] -ELF: Address: 0x0 -ELF: } -ELF: Section { -ELF: Name: .debug_abbrev -ELF: Type: SHT_PROGBITS (0x1) -ELF: Flags [ (0x0) -ELF: ] -ELF: Address: 0x0 -ELF: } -ELF: Section { -ELF: Name: .debug_aranges -ELF: Type: SHT_PROGBITS (0x1) -ELF: Flags [ (0x0) -ELF: ] -ELF: Address: 0x0 -ELF: } -ELF: Section { -ELF: Name: .debug_line -ELF: Type: SHT_PROGBITS (0x1) -ELF: Flags [ (0x0) -ELF: ] -ELF: Address: 0x0 -ELF: } -ELF: Section { -ELF: Name: .debug_str -ELF: Type: SHT_PROGBITS (0x1) -ELF: Flags [ (0x0) -ELF: ] -ELF: Address: 0x0 -ELF: } - -RELOC: Contents of section .debug_info: -RELOC: 0000 4e000000 04000000 00000801 3a000000 N...........:... -# ^^ Relocation: ._debug_str + 0x3a -RELOC: 0010 01780000 00000000 00dc0140 00000000 .x.........@.... -# ^^ Relocation: .debug_str + 0x78 -RELOC: 0020 00100000 00000000 00000000 00028100 ................ -# ^^ Relocation: .debug_str + 0x81 diff --git a/test/old-elf/X86_64/defsym.test b/test/old-elf/X86_64/defsym.test deleted file mode 100644 index d98abf39d428..000000000000 --- a/test/old-elf/X86_64/defsym.test +++ /dev/null @@ -1,22 +0,0 @@ -RUN: lld -flavor old-gnu -target x86_64 --defsym=main=fn --noinhibit-exec \ -RUN: %p/Inputs/fn.o -o %t -RUN: llvm-readobj -symbols %t | FileCheck %s - -CHECK: Symbol { -CHECK: Name: main (1) -CHECK: Value: 0x4001E0 -CHECK: Size: 0 -CHECK: Binding: Global (0x1) -CHECK: Type: Function (0x2) -CHECK: Other: 0 -CHECK: Section: .text (0x5) -CHECK: } -CHECK: Symbol { -CHECK: Name: fn (6) -CHECK: Value: 0x4001E0 -CHECK: Size: 6 -CHECK: Binding: Global (0x1) -CHECK: Type: Function (0x2) -CHECK: Other: 0 -CHECK: Section: .text (0x5) -CHECK: } diff --git a/test/old-elf/X86_64/demangle.test b/test/old-elf/X86_64/demangle.test deleted file mode 100644 index caae8256d99a..000000000000 --- a/test/old-elf/X86_64/demangle.test +++ /dev/null @@ -1,12 +0,0 @@ -# XFAIL: win32 -# -# Check that the linker is able to demangle strings properly. -# Once there is a way to add undefined symbols using yaml2obj, the test will be -# changed. - -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/undefcpp.o --noinhibit-exec 2>&1 | FileCheck -check-prefix=DEMANGLE %s -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/undefcpp.o --noinhibit-exec --no-demangle 2>&1 | FileCheck -check-prefix=NODEMANGLE %s -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/undefcpp.o --noinhibit-exec --demangle 2>&1 | FileCheck -check-prefix=DEMANGLE %s - -#DEMANGLE: undefcpp.o: foo(char const*) -#NODEMANGLE: undefcpp.o: _Z3fooPKc diff --git a/test/old-elf/X86_64/dontignorezerosize-sections.test b/test/old-elf/X86_64/dontignorezerosize-sections.test deleted file mode 100644 index f3042b5508fd..000000000000 --- a/test/old-elf/X86_64/dontignorezerosize-sections.test +++ /dev/null @@ -1,9 +0,0 @@ -# This tests that lld is not ignoring zero sized sections -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/zerosizedsection.o \ -RUN: --noinhibit-exec --output-filetype=yaml -o %t -RUN: FileCheck %s < %t - -CHECK: references: -CHECK: - kind: R_X86_64_16 -CHECK: offset: 0 -CHECK: target: L000 diff --git a/test/old-elf/X86_64/dynamicvars.test b/test/old-elf/X86_64/dynamicvars.test deleted file mode 100644 index c6f679038320..000000000000 --- a/test/old-elf/X86_64/dynamicvars.test +++ /dev/null @@ -1,123 +0,0 @@ -# Tests that the dynamic variables created by the linker are set to the right -# values. - -#RUN: yaml2obj --format elf -docnum 1 %s -o %t.o -#RUN: lld -flavor old-gnu -target x86_64 -e main %t.o -o %t1 --noinhibit-exec -#RUN: llvm-readobj -sections -symbols %t1 | FileCheck -check-prefix CHECKSYMS %s - - -#CHECKSYMS: Name: .dynamic -#CHECKSYMS: Type: SHT_DYNAMIC -#CHECKSYMS: Address: [[TARGETA:[0xa-fA-f0-9]+]] -#CHECKSYMS: Name: .got.plt -#CHECKSYMS: Type: SHT_PROGBITS -#CHECKSYMS: Address: [[TARGETB:[0xa-fA-f0-9]+]] -#CHECKSYMS: Name: _DYNAMIC -#CHECKSYMS: Value: [[TARGETA]] -#CHECKSYMS: Section: .dynamic -#CHECKSYMS: Name: _GLOBAL_OFFSET_TABLE_ -#CHECKSYMS: Value: [[TARGETB]] -#CHECKSYMS: Section: .got.plt - ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E54883EC10488B0500000000C745FC00000000C7000A000000E80000000031C98945F889C84883C4105DC36690554889E531C05DC3 - - Name: .rela.text - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .text - Relocations: - - Offset: 0x000000000000000B - Symbol: a - Type: R_X86_64_GOTPCREL - Addend: -4 - - Offset: 0x000000000000001D - Symbol: foo - Type: R_X86_64_PLT32 - Addend: -4 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - - Name: .comment - Type: SHT_PROGBITS - Flags: [ SHF_MERGE, SHF_STRINGS ] - AddressAlign: 0x0000000000000001 - Content: 00636C616E672076657273696F6E20332E362E302000 - - Name: .note.GNU-stack - Type: SHT_PROGBITS - AddressAlign: 0x0000000000000001 - Content: '' - - Name: .eh_frame - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: 1400000000000000037A5200017810011B0C070890010000180000001C000000000000002E00000000410E108602430D060000001800000038000000000000000800000000410E108602430D06000000 - - Name: .rela.eh_frame - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .eh_frame - Relocations: - - Offset: 0x0000000000000020 - Symbol: .text - Type: R_X86_64_PC32 - Addend: 0 - - Offset: 0x000000000000003C - Symbol: .text - Type: R_X86_64_PC32 - Addend: 48 -Symbols: - Local: - - Name: 1.c - Type: STT_FILE - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - - Name: .comment - Type: STT_SECTION - Section: .comment - - Name: .note.GNU-stack - Type: STT_SECTION - Section: .note.GNU-stack - - Name: .eh_frame - Type: STT_SECTION - Section: .eh_frame - Global: - - Name: a - Type: STT_OBJECT - Value: 0x0000000000000004 - Size: 0x0000000000000004 - - Name: foo - Type: STT_FUNC - Section: .text - Value: 0x0000000000000030 - Size: 0x0000000000000008 - - Name: main - Type: STT_FUNC - Section: .text - Size: 0x000000000000002E - - Name: _GLOBAL_OFFSET_TABLE_ -... diff --git a/test/old-elf/X86_64/dynlib-nointerp-section.test b/test/old-elf/X86_64/dynlib-nointerp-section.test deleted file mode 100644 index c23d283d2a6d..000000000000 --- a/test/old-elf/X86_64/dynlib-nointerp-section.test +++ /dev/null @@ -1,4 +0,0 @@ -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/no-interp-section.o -o %t -shared -RUN: llvm-objdump -section-headers %t | FileCheck %s - -CHECK-NOT: .interp diff --git a/test/old-elf/X86_64/dynlib-search.test b/test/old-elf/X86_64/dynlib-search.test deleted file mode 100644 index efd7272fb145..000000000000 --- a/test/old-elf/X86_64/dynlib-search.test +++ /dev/null @@ -1,6 +0,0 @@ -# This tests the functionality for finding the shared library libfn.so for ELF -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/main.o -L%p/Inputs/ -lfn -o %t \ -RUN: --noinhibit-exec -t 2> %t1 -RUN: FileCheck %s < %t1 - -CHECK: {{[\/0-9A-Za-z_]+}}libfn.so diff --git a/test/old-elf/X86_64/dynsym-weak.test b/test/old-elf/X86_64/dynsym-weak.test deleted file mode 100644 index 8e1cc9fa8ec9..000000000000 --- a/test/old-elf/X86_64/dynsym-weak.test +++ /dev/null @@ -1,118 +0,0 @@ -# Check that a symbol declared as a week in a shared library gets a dynamic -# symbol table record in an executable file if this executabe file declares the -# symbol as strong. - -# RUN: yaml2obj -format=elf -docnum 1 %s > %t.foo.o -# RUN: lld -flavor old-gnu -target x86_64 -shared -o %t.so %t.foo.o -# RUN: yaml2obj -format=elf -docnum 2 %s > %t.main.o -# -# Link executable file with strong symbol. Weak symbol is in the shared lib. -# RUN: lld -flavor old-gnu -target x86_64 -e main -o %t1.exe %t.main.o %t.so -# RUN: llvm-readobj -dyn-symbols %t1.exe | FileCheck -check-prefix=EXE %s -# -# Link executable file. Strong and weak symbol come from different object files. -# RUN: lld -flavor old-gnu -target x86_64 -e main -o %t2.exe %t.main.o %t.foo.o -# RUN: llvm-readobj -dyn-symbols %t2.exe | FileCheck -check-prefix=OBJ %s -# -# Link shared library. Weak symbol is in the another shared lib. -# RUN: lld -flavor old-gnu -target x86_64 -shared -o %t.res.so %t.main.o %t.so -# RUN: llvm-readobj -dyn-symbols %t.res.so | FileCheck -check-prefix=SO %s - -# EXE: Symbol { -# EXE: Name: flag@ ({{[0-9]+}}) -# EXE-NEXT: Value: 0x{{[0-9A-F]+}} -# EXE-NEXT: Size: 4 -# EXE-NEXT: Binding: Global (0x1) -# EXE-NEXT: Type: Object (0x1) -# EXE-NEXT: Other: 0 -# EXE-NEXT: Section: .data (0x{{[0-9A-F]+}}) -# EXE-NEXT: } - -# OBJ-NOT: Name: flag@ ({{[0-9]+}}) - -# SO: Symbol { -# SO: Name: flag@ ({{[0-9]+}}) -# SO-NEXT: Value: 0x{{[0-9A-F]+}} -# SO-NEXT: Size: 4 -# SO-NEXT: Binding: Global (0x1) -# SO-NEXT: Type: Object (0x1) -# SO-NEXT: Other: 0 -# SO-NEXT: Section: .data (0x{{[0-9A-F]+}}) -# SO-NEXT: } - -# foo.o ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_X86_64 - -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x04 - Size: 0x08 - - Name: .rela.text - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x08 - Info: .text - Relocations: - - Offset: 0x00 - Symbol: flag - Type: R_X86_64_GOTPCREL - Addend: -4 - -Symbols: - Global: - - Name: foo - Type: STT_FUNC - Section: .text - Size: 0x08 - Weak: - - Name: flag - -# main.o ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_X86_64 - -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x04 - Size: 0x08 - - Name: .rela.text - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x08 - Info: .text - Relocations: - - Offset: 0x00 - Symbol: foo - Type: R_X86_64_PLT32 - Addend: -4 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x04 - Size: 0x04 - -Symbols: - Global: - - Name: flag - Type: STT_OBJECT - Section: .data - Size: 0x04 - - Name: main - Type: STT_FUNC - Section: .text - Size: 0x08 - - Name: foo -... diff --git a/test/old-elf/X86_64/extern-tls.test b/test/old-elf/X86_64/extern-tls.test deleted file mode 100644 index d22b06057a9a..000000000000 --- a/test/old-elf/X86_64/extern-tls.test +++ /dev/null @@ -1,16 +0,0 @@ -# This tests verifies that TLS variables have correct offsets -# when variables the TLS variables are not defined in the program -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/externtls.x86-64 -static \ -RUN: --output-filetype=yaml --noinhibit-exec | FileCheck %s -check-prefix=CHECKGOT - -# Currently x86_64 relocation pass handles the R_X86_64_GOTTPOFF by -# creatng R_X86_64_TPOFF64 dynamic ones. For output yaml, this is -# not changed. - - name: __got_tls_extern_tls -CHECKGOT: alignment: 4 -CHECKGOT: section-name: .text -CHECKGOT: references: -CHECKGOT: - kind: R_X86_64_GOTTPOFF -CHECKGOT: offset: 7 -CHECKGOT: target: extern_tls -CHECKGOT: addend: -4 diff --git a/test/old-elf/X86_64/general-dynamic-tls.test b/test/old-elf/X86_64/general-dynamic-tls.test deleted file mode 100644 index 12ad1071ae1e..000000000000 --- a/test/old-elf/X86_64/general-dynamic-tls.test +++ /dev/null @@ -1,128 +0,0 @@ -# This test exercises a simple general dynamic TLS access model in X86_64. -# -# It is composed of two parts: a program and a shared library. The shared -# library uses TLS, but the program does not. -# -# The shared library should import __tls_get_addr, since it uses the general -# dynamic TLS access mode (see www.akkadia.org/drepper/tls.pdf). Notice that -# once we support TLS strength reduction, this test should be updated, since -# this can be converted into a local dynamic TLS model. - -# Prepare inputs -#RUN: yaml2obj -format=elf %p/Inputs/generaltls-so.o.yaml -o=%t.o.so -#RUN: lld -flavor old-gnu -target x86_64 -shared %t.o.so -o %T/libgeneraltls.so -#RUN: yaml2obj -format=elf %s -o=%t.o - -# Link - (we supply --defsym=__tls_get_addr to avoid the need to link with -# system libraries) -#RUN: lld -flavor old-gnu -target x86_64 -e main %t.o -L%T -lgeneraltls -o %t1 \ -#RUN: --defsym=__tls_get_addr=0 - -# Check -#RUN: llvm-readobj -dyn-symbols %t1 | FileCheck -check-prefix CHECKPROG %s -#RUN: llvm-readobj -relocations -dyn-symbols %T/libgeneraltls.so | FileCheck \ -#RUN: -check-prefix CHECKDSO %s - -# Test case generated with the following code: -# -# DSO: (file %p/Inputs/generaltls-so.o.yaml) -# -# __thread int mynumber=33; -# -# int getnumber() { -# return mynumber; -# } -# -# Program: (this file). Note: The printf() relocation was removed to simplify -# this test and allow us to test this without libc. -# -# #include <stdio.h> -# int getnumber(); -# -# int main() { -# printf("getnumber() = %d\n", getnumber()); -# return 0; -# } -# ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E54883EC10C745FC00000000B000E80000000048BF000000000000000089C6B000E80000000031F68945F889F04883C4105DC3 - - Name: .rela.text - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .text - Relocations: - - Offset: 0x0000000000000012 - Symbol: getnumber - Type: R_X86_64_PC32 - Addend: -4 - - Offset: 0x0000000000000018 - Symbol: .rodata.str1.1 - Type: R_X86_64_64 - Addend: 0 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - - Name: .rodata.str1.1 - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ] - AddressAlign: 0x0000000000000001 - Content: 6765746E756D6265722829203D2025640A00 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - - Name: .rodata.str1.1 - Type: STT_SECTION - Section: .rodata.str1.1 - Global: - - Name: main - Type: STT_FUNC - Section: .text - Size: 0x0000000000000036 - - Name: getnumber - -# Program should import the function defined in the shared library -#CHECKPROG: getnumber@ -# Program should not import __tls_get_addr, since it does not directly use TLS -#CHECKPROG-NOT: __tls_get_addr@ - -# Check for the presence of X86_64 TLS relocations in the shared library -#CHECKDSO: R_X86_64_DTPMOD64 -#CHECKDSO: R_X86_64_DTPOFF64 -#CHECKDSO: R_X86_64_JUMP_SLOT - -# The shared library should import __tls_get_addr, since it uses the general -# dynamic TLS access mode. -#CHECKDSO: Name: __tls_get_addr@ -#CHECKDSO-NEXT: Value: 0x0 -#CHECKDSO-NEXT: Size: 0 -#CHECKDSO-NEXT: Binding: Global -#CHECKDSO-NEXT: Type: None -#CHECKDSO-NEXT: Other: 0 -#CHECKDSO-NEXT: Section: Undefined - diff --git a/test/old-elf/X86_64/imagebase.test b/test/old-elf/X86_64/imagebase.test deleted file mode 100644 index 7b6f7318d72d..000000000000 --- a/test/old-elf/X86_64/imagebase.test +++ /dev/null @@ -1,94 +0,0 @@ -# Checks that segments start at the image address specified. - -# Build executable -# RUN: yaml2obj -format=elf -docnum 1 %s -o %t.o -# RUN: lld -flavor old-gnu -target x86_64 %t.o -o %t.exe -static \ -# RUN: --no-align-segments --noinhibit-exec --image-base 0x600000 -# RUN: llvm-readobj -program-headers %t.exe | FileCheck %s -# -#CHECK: VirtualAddress: 0x600000 -#CHECK: PhysicalAddress: 0x600000 -#CHECK: VirtualAddress: 0x600178 -#CHECK: PhysicalAddress: 0x600178 - -# object ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E5B864000000C745FC000000005DC366666666662E0F1F840000000000554889E531C05DC3 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Size: 4 - - Name: .rodata - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '64000000' - - Name: .eh_frame - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: 1400000000000000037A5200017810011B0C070890010000180000001C000000000000001200000000410E108602430D060000001800000038000000000000000800000000410E108602430D06000000 - - Name: .rela.eh_frame - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .eh_frame - Relocations: - - Offset: 0x0000000000000020 - Symbol: .text - Type: R_X86_64_PC32 - Addend: 0 - - Offset: 0x000000000000003C - Symbol: .text - Type: R_X86_64_PC32 - Addend: 32 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - - Name: .eh_frame - Type: STT_SECTION - Section: .eh_frame - Global: - - Name: foo - Type: STT_FUNC - Section: .text - Value: 0x0000000000000020 - Size: 0x0000000000000008 - - Name: main - Type: STT_FUNC - Section: .text - Size: 0x0000000000000012 - - Name: myval - Type: STT_OBJECT - Section: .bss - Size: 0x0000000000000004 - - Name: val - Type: STT_OBJECT - Section: .rodata - Size: 0x0000000000000004 -... diff --git a/test/old-elf/X86_64/initfini-order.test b/test/old-elf/X86_64/initfini-order.test deleted file mode 100644 index e6afcf644346..000000000000 --- a/test/old-elf/X86_64/initfini-order.test +++ /dev/null @@ -1,10 +0,0 @@ -# This tests the functionality that lld is able to emit -# init_array/fini_array sections in the right order. - -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/initfini.o \ -RUN: --noinhibit-exec -o %t -RUN: llvm-objdump -t -section-headers %t | FileCheck %s - -CHECK: {{[0-9]+}} .eh_frame {{[0-9a-z]+}} {{[0-9a-z]+}} DATA -CHECK: {{[0-9]+}} .init_array {{[0-9a-z]+}} {{[0-9a-z]+}} DATA -CHECK: {{[0-9]+}} .fini_array {{[0-9a-z]+}} {{[0-9a-z]+}} DATA diff --git a/test/old-elf/X86_64/initfini.test b/test/old-elf/X86_64/initfini.test deleted file mode 100644 index 09d2bc129c25..000000000000 --- a/test/old-elf/X86_64/initfini.test +++ /dev/null @@ -1,23 +0,0 @@ -# This tests the functionality that lld is able to read -# init_array/fini_array sections in the input ELF. This -# corresponds to the the .init_array/.fini_array sections -# in the output ELF. - -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/initfini.o \ -RUN: --noinhibit-exec --output-filetype=yaml -o %t -RUN: FileCheck %s < %t - -CHECK: - type: data -CHECK: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ] -CHECK: section-name: .init_array -CHECK: references: -CHECK: - kind: R_X86_64_64 -CHECK: offset: 0 -CHECK: target: constructor -CHECK: - type: data -CHECK: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ] -CHECK: section-name: .fini_array -CHECK: references: -CHECK: - kind: R_X86_64_64 -CHECK: offset: 0 -CHECK: target: destructor diff --git a/test/old-elf/X86_64/largebss.test b/test/old-elf/X86_64/largebss.test deleted file mode 100644 index 722ec1c72bf9..000000000000 --- a/test/old-elf/X86_64/largebss.test +++ /dev/null @@ -1,20 +0,0 @@ -# This tests the functionality of handling BSS symbols -# BSS symbols don't occupy file content and are associated with typeZeroFill -# Any typeZeroFill content wouldn't have space reserved in the file to store -# its content - -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/largebss.o --output-filetype=yaml --noinhibit-exec | FileCheck %s - -CHECK: - name: largecommon -CHECK: scope: global -CHECK: type: zero-fill -CHECK: size: 4000 -CHECK: merge: as-tentative -CHECK: - name: largebss -CHECK: scope: global -CHECK: type: zero-fill -CHECK: size: 4000 -CHECK: - name: largetbss -CHECK: scope: global -CHECK: type: thread-zero-fill -CHECK: size: 4000 diff --git a/test/old-elf/X86_64/layoutpass-order.test b/test/old-elf/X86_64/layoutpass-order.test deleted file mode 100644 index ec180c970e78..000000000000 --- a/test/old-elf/X86_64/layoutpass-order.test +++ /dev/null @@ -1,14 +0,0 @@ -# This test checks that we follow the command line order of layouting -# symbols in the output file - -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/layoutpass/1.o \ -RUN: %p/Inputs/layoutpass/lib2.a %p/Inputs/layoutpass/3.o -o %t \ -RUN: --noinhibit-exec -static - -RUN: llvm-nm -n %t | FileCheck -check-prefix=SYMBOLSORDER %s - -SYMBOLSORDER: {{[A-Fa-f0-9]+}} T main -SYMBOLSORDER: {{[A-Fa-f0-9]+}} T b -SYMBOLSORDER: {{[A-Fa-f0-9]+}} T a -SYMBOLSORDER: {{[A-Fa-f0-9]+}} T c -SYMBOLSORDER: {{[A-Fa-f0-9]+}} T d diff --git a/test/old-elf/X86_64/maxpagesize.test b/test/old-elf/X86_64/maxpagesize.test deleted file mode 100644 index 303bd86eec0b..000000000000 --- a/test/old-elf/X86_64/maxpagesize.test +++ /dev/null @@ -1,113 +0,0 @@ -# Checks that segments are aligned as per ELF spec when the user specifies -# max-page-size option, and the segment alignment is set to the page size -# specified by the user. - -# Build executable -# RUN: yaml2obj -format=elf -docnum 1 %s -o %t.o -# RUN: not lld -flavor old-gnu -target x86_64 %t.o -o %t.exe -static \ -# RUN: --no-align-segments --noinhibit-exec -z max-page-size=0 -# RUN: not lld -flavor old-gnu -target x86_64 %t.o -o %t.exe -static \ -# RUN: --no-align-segments --noinhibit-exec -z max-page-size=0xFF -# RUN: not lld -flavor old-gnu -target x86_64 %t.o -o %t.exe -static \ -# RUN: --no-align-segments --noinhibit-exec -z max-page-size=0x1010 -# RUN: lld -flavor old-gnu -target x86_64 %t.o -o %t1.exe -static \ -# RUN: --no-align-segments --noinhibit-exec -z max-page-size=0x100000 -# RUN: lld -flavor old-gnu -target x86_64 %t.o -o %t.exe -static \ -# RUN: --no-align-segments --noinhibit-exec -z max-page-size=0x10000 -# RUN: llvm-readobj -program-headers %t.exe | FileCheck %s -# RUN: llvm-readobj -program-headers %t1.exe | FileCheck %s -check-prefix=CHECKLARGE -# -#CHECK: VirtualAddress: 0x400000 -#CHECK: PhysicalAddress: 0x400000 -#CHECK: Alignment: 65536 -#CHECK: VirtualAddress: 0x400178 -#CHECK: PhysicalAddress: 0x400178 -#CHECK: Alignment: 65536 -#CHECKLARGE: VirtualAddress: 0x400000 -#CHECKLARGE: PhysicalAddress: 0x400000 -#CHECKLARGE: Alignment: 1048576 -#CHECKLARGE: VirtualAddress: 0x400178 -#CHECKLARGE: PhysicalAddress: 0x400178 -#CHECKLARGE: Alignment: 1048576 - -# object ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E5B864000000C745FC000000005DC366666666662E0F1F840000000000554889E531C05DC3 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Size: 4 - - Name: .rodata - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '64000000' - - Name: .eh_frame - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: 1400000000000000037A5200017810011B0C070890010000180000001C000000000000001200000000410E108602430D060000001800000038000000000000000800000000410E108602430D06000000 - - Name: .rela.eh_frame - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .eh_frame - Relocations: - - Offset: 0x0000000000000020 - Symbol: .text - Type: R_X86_64_PC32 - Addend: 0 - - Offset: 0x000000000000003C - Symbol: .text - Type: R_X86_64_PC32 - Addend: 32 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - - Name: .eh_frame - Type: STT_SECTION - Section: .eh_frame - Global: - - Name: foo - Type: STT_FUNC - Section: .text - Value: 0x0000000000000020 - Size: 0x0000000000000008 - - Name: main - Type: STT_FUNC - Section: .text - Size: 0x0000000000000012 - - Name: myval - Type: STT_OBJECT - Section: .bss - Size: 0x0000000000000004 - - Name: val - Type: STT_OBJECT - Section: .rodata - Size: 0x0000000000000004 -... diff --git a/test/old-elf/X86_64/mergesimilarstrings.test b/test/old-elf/X86_64/mergesimilarstrings.test deleted file mode 100644 index 2b9b08faa23f..000000000000 --- a/test/old-elf/X86_64/mergesimilarstrings.test +++ /dev/null @@ -1,47 +0,0 @@ -# Check that relocations to section that contains strings is properly handled -# when merging strings is enabled. -# -# RUN: yaml2obj -format=elf %s > %t.o -# RUN: lld -flavor old-gnu -target x86_64 %t.o --noinhibit-exec -o %t1.out -# RUN: llvm-readobj -sections %t1.out | FileCheck %s -# RUN: lld -flavor old-gnu -target x86_64 %t.o --noinhibit-exec -o %t2.out --output-filetype=yaml -# RUN: FileCheck %s -check-prefix=CHECKRELOCS < %t2.out - -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x04 - Content: 54889e5488d3d00000000e80000000088d3d00000000e800000000b8000000005dc3 - - Name: .rela.text - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x04 - Info: .text - Relocations: - - Offset: 0x07 - Symbol: .rodata - Type: R_X86_64_PC32 - Addend: -4 - - Name: .rodata - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ] - AddressAlign: 0x01 - Content: 48656c6c6f20576f726c6400576f726c6400 -Symbols: - Global: - - Name: .rodata - Section: .rodata - -#CHECK: Name: .rodata -#CHECK: Size: 18 -#CHECKRELOCS: references: -#CHECKRELOCS: - kind: R_X86_64_PC32 -#CHECKRELOCS: offset: 7 -#CHECKRELOCS: target: .rodata -#CHECKRELOCS: addend: -4 diff --git a/test/old-elf/X86_64/multi-weak-layout.test b/test/old-elf/X86_64/multi-weak-layout.test deleted file mode 100644 index 879b4b1b3052..000000000000 --- a/test/old-elf/X86_64/multi-weak-layout.test +++ /dev/null @@ -1,52 +0,0 @@ -# Test that we are able to layout multiple weak symbols -# properly - -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/multiweaksyms.o \ -RUN: --noinhibit-exec -static --output-filetype=yaml -o %t -RUN: FileCheck %s -check-prefix=WEAKSYMS < %t - -WEAKSYMS: - type: data -WEAKSYMS: alignment: 8 -WEAKSYMS: references: -WEAKSYMS: - kind: layout-after -WEAKSYMS: offset: 0 -WEAKSYMS: target: [[L001:[-a-zA-Z0-9_]+]] -WEAKSYMS: - name: myfn2 -WEAKSYMS: scope: global -WEAKSYMS: type: data -WEAKSYMS: merge: as-weak -WEAKSYMS: alignment: 8 -WEAKSYMS: references: -WEAKSYMS: - kind: layout-after -WEAKSYMS: offset: 0 -WEAKSYMS: target: [[L001]] -WEAKSYMS: - ref-name: [[L001]] -WEAKSYMS: scope: global -WEAKSYMS: type: data -WEAKSYMS: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ] -WEAKSYMS: alignment: 8 -WEAKSYMS: references: -WEAKSYMS: - kind: R_X86_64_64 -WEAKSYMS: offset: 0 -WEAKSYMS: target: test -WEAKSYMS: - kind: layout-after -WEAKSYMS: offset: 0 -WEAKSYMS: target: [[L003:[-a-zA-Z0-9_]+]] -WEAKSYMS: - name: myfn1 -WEAKSYMS: scope: global -WEAKSYMS: type: data -WEAKSYMS: merge: as-weak -WEAKSYMS: alignment: 8 -WEAKSYMS: references: -WEAKSYMS: - kind: layout-after -WEAKSYMS: offset: 0 -WEAKSYMS: target: [[L003]] -WEAKSYMS: - ref-name: [[L003]] -WEAKSYMS: scope: global -WEAKSYMS: type: data -WEAKSYMS: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ] -WEAKSYMS: alignment: 8 -WEAKSYMS: references: -WEAKSYMS: - kind: R_X86_64_64 -WEAKSYMS: offset: 0 -WEAKSYMS: target: test diff --git a/test/old-elf/X86_64/multi-weak-override.test b/test/old-elf/X86_64/multi-weak-override.test deleted file mode 100644 index 75c86e7e405f..000000000000 --- a/test/old-elf/X86_64/multi-weak-override.test +++ /dev/null @@ -1,16 +0,0 @@ -# Test for weak symbol getting overridden -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/multi-weak.o \ -RUN: %p/Inputs/multi-ovrd.o -o %t -e main --noinhibit-exec -RUN: llvm-nm -n %t | FileCheck -check-prefix=WEAKORDER %s -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/multi-weak.o \ -RUN: %p/Inputs/multi-ovrd.o --output-filetype=yaml -o %t2 --noinhibit-exec -RUN: FileCheck -check-prefix=WEAKATOMSORDER %s < %t2 - -WEAKORDER: {{[0-9a-f]+}} T f -WEAKORDER: {{[0-9a-f]+}} T g - -WEAKATOMSORDER: - ref-name: {{[A-Z0-9]+}} -WEAKATOMSORDER: - ref-name: {{[A-Z0-9]+}} -WEAKATOMSORDER: - name: f -WEAKATOMSORDER: - name: g - diff --git a/test/old-elf/X86_64/multi-weak-syms-order.test b/test/old-elf/X86_64/multi-weak-syms-order.test deleted file mode 100644 index a8e21e13f870..000000000000 --- a/test/old-elf/X86_64/multi-weak-syms-order.test +++ /dev/null @@ -1,13 +0,0 @@ -# Test for weak symbol getting overridden -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/multi-weak.o -o %t --noinhibit-exec -RUN: llvm-nm -n %t | FileCheck -check-prefix=WEAKORDER %s -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/multi-weak.o -o %t2 --output-filetype=yaml --noinhibit-exec -RUN: FileCheck -check-prefix=WEAKATOMSORDER %s < %t2 - -WEAKORDER: {{[0-9a-f]+}} T fn -WEAKORDER: {{[0-9a-f]+}} T f -WEAKORDER: {{[0-9a-f]+}} T g -WEAKORDER: {{[0-9a-f]+}} T main - -WEAKATOMSORDER: - name: f -WEAKATOMSORDER: - name: g diff --git a/test/old-elf/X86_64/nmagic.test b/test/old-elf/X86_64/nmagic.test deleted file mode 100644 index 3ed9228fa787..000000000000 --- a/test/old-elf/X86_64/nmagic.test +++ /dev/null @@ -1,91 +0,0 @@ -# This tests verifies functionality of NMAGIC that we create only two segments, -# PT_LOAD, PT_TLS -# The data segment should be aligned to a page boundary -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/nmagic.o \ -RUN: --noinhibit-exec -o %t --nmagic -static -RUN: llvm-readobj -sections %t | FileCheck -check-prefix=NMAGICSECTIONS %s -RUN: llvm-readobj -program-headers %t | FileCheck -check-prefix=NMAGICPROGRAMHEADERS %s - -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Index: 0 -NMAGICSECTIONS: Name: (0) -NMAGICSECTIONS: Type: SHT_NULL (0x0) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .text -NMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .eh_frame -NMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .tdata -NMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .tbss -NMAGICSECTIONS: Type: SHT_NOBITS (0x8) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .got.plt -NMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .data -NMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .bss -NMAGICSECTIONS: Type: SHT_NOBITS (0x8) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .comment -NMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .note.GNU-stack -NMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .shstrtab -NMAGICSECTIONS: Type: SHT_STRTAB (0x3) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .symtab -NMAGICSECTIONS: Type: SHT_SYMTAB (0x2) -NMAGICSECTIONS: } -NMAGICSECTIONS: Section { -NMAGICSECTIONS: Name: .strtab -NMAGICSECTIONS: Type: SHT_STRTAB (0x3) -NMAGICSECTIONS: } - -NMAGICPROGRAMHEADERS: ProgramHeaders [ -NMAGICPROGRAMHEADERS: ProgramHeader { -NMAGICPROGRAMHEADERS: Type: PT_LOAD (0x1) -NMAGICPROGRAMHEADERS: Offset: 0x0 -NMAGICPROGRAMHEADERS: VirtualAddress: 0x400000 -NMAGICPROGRAMHEADERS: PhysicalAddress: 0x400000 -NMAGICPROGRAMHEADERS: FileSize: 4108 -NMAGICPROGRAMHEADERS: MemSize: 4108 -NMAGICPROGRAMHEADERS: Flags [ (0x7) -NMAGICPROGRAMHEADERS: PF_R (0x4) -NMAGICPROGRAMHEADERS: PF_W (0x2) -NMAGICPROGRAMHEADERS: PF_X (0x1) -NMAGICPROGRAMHEADERS: ] -NMAGICPROGRAMHEADERS: Alignment: 8 -NMAGICPROGRAMHEADERS: } -NMAGICPROGRAMHEADERS: ProgramHeader { -NMAGICPROGRAMHEADERS: Type: PT_TLS (0x7) -NMAGICPROGRAMHEADERS: Offset: 0x1000 -NMAGICPROGRAMHEADERS: VirtualAddress: 0x401000 -NMAGICPROGRAMHEADERS: PhysicalAddress: 0x401000 -NMAGICPROGRAMHEADERS: FileSize: 4 -NMAGICPROGRAMHEADERS: MemSize: 12 -NMAGICPROGRAMHEADERS: Flags [ (0x6) -NMAGICPROGRAMHEADERS: PF_R (0x4) -NMAGICPROGRAMHEADERS: PF_W (0x2) -NMAGICPROGRAMHEADERS: ] -NMAGICPROGRAMHEADERS: Alignment: 4 -NMAGICPROGRAMHEADERS: } -NMAGICPROGRAMHEADERS: ] diff --git a/test/old-elf/X86_64/noalignsegments.test b/test/old-elf/X86_64/noalignsegments.test deleted file mode 100644 index 4963575b674b..000000000000 --- a/test/old-elf/X86_64/noalignsegments.test +++ /dev/null @@ -1,95 +0,0 @@ -# Checks that segments are aligned as per ELF spec than aligning each -# segment fileoffset / virtual address to a page. - -# Build executable -# RUN: yaml2obj -format=elf -docnum 1 %s -o %t.o -# RUN: lld -flavor old-gnu -target x86_64 %t.o -o %t.exe -static \ -# RUN: --no-align-segments --noinhibit-exec -# RUN: llvm-readobj -program-headers %t.exe | FileCheck %s -# -#CHECK: VirtualAddress: 0x400000 -#CHECK: PhysicalAddress: 0x400000 -#CHECK: VirtualAddress: 0x400178 -#CHECK: PhysicalAddress: 0x400178 - -# object ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E5B864000000C745FC000000005DC366666666662E0F1F840000000000554889E531C05DC3 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Size: 4 - - Name: .rodata - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '64000000' - - Name: .eh_frame - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: 1400000000000000037A5200017810011B0C070890010000180000001C000000000000001200000000410E108602430D060000001800000038000000000000000800000000410E108602430D06000000 - - Name: .rela.eh_frame - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .eh_frame - Relocations: - - Offset: 0x0000000000000020 - Symbol: .text - Type: R_X86_64_PC32 - Addend: 0 - - Offset: 0x000000000000003C - Symbol: .text - Type: R_X86_64_PC32 - Addend: 32 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - - Name: .eh_frame - Type: STT_SECTION - Section: .eh_frame - Global: - - Name: foo - Type: STT_FUNC - Section: .text - Value: 0x0000000000000020 - Size: 0x0000000000000008 - - Name: main - Type: STT_FUNC - Section: .text - Size: 0x0000000000000012 - - Name: myval - Type: STT_OBJECT - Section: .bss - Size: 0x0000000000000004 - - Name: val - Type: STT_OBJECT - Section: .rodata - Size: 0x0000000000000004 -... diff --git a/test/old-elf/X86_64/note-sections-ro_plus_rw.test b/test/old-elf/X86_64/note-sections-ro_plus_rw.test deleted file mode 100644 index b4eafaf277c4..000000000000 --- a/test/old-elf/X86_64/note-sections-ro_plus_rw.test +++ /dev/null @@ -1,42 +0,0 @@ -# This tests the functionality that lld is able to recreate the note sections -# if they appear in the input, it looks like we need to differentiate RO note -# sections from RW note sections, and each creating a segment of its own - -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/note_ro_rw.o \ -RUN: --noinhibit-exec -o %t -static -RUN: llvm-readobj -sections %t | FileCheck -check-prefix=NOTESECTIONS %s -RUN: llvm-readobj -program-headers %t | FileCheck -check-prefix=NOTESEGMENT %s - -NOTESECTIONS: Section { -NOTESECTIONS: Name: .note.ro (1) -NOTESECTIONS: Type: SHT_NOTE (0x7) -NOTESECTIONS: Flags [ (0x2) -NOTESECTIONS: SHF_ALLOC (0x2) -NOTESECTIONS: ] -NOTESECTIONS: AddressAlignment: 4 -NOTESECTIONS: } -NOTESECTIONS: Section { -NOTESECTIONS: Name: .note.rw (31) -NOTESECTIONS: Type: SHT_NOTE (0x7) -NOTESECTIONS: Flags [ (0x3) -NOTESECTIONS: SHF_ALLOC (0x2) -NOTESECTIONS: SHF_WRITE (0x1) -NOTESECTIONS: ] -NOTESECTIONS: Size: 28 -NOTESECTIONS: AddressAlignment: 4 -NOTESECTIONS: } -NOTESEGMENT: ProgramHeader { -NOTESEGMENT: Type: PT_NOTE (0x4) -NOTESEGMENT: Flags [ (0x4) -NOTESEGMENT: PF_R (0x4) -NOTESEGMENT: ] -NOTESEGMENT: Alignment: 4 -NOTESEGMENT: } -NOTESEGMENT: ProgramHeader { -NOTESEGMENT: Type: PT_NOTE (0x4) -NOTESEGMENT: Flags [ (0x6) -NOTESEGMENT: PF_R (0x4) -NOTESEGMENT: PF_W (0x2) -NOTESEGMENT: ] -NOTESEGMENT: Alignment: 4 -NOTESEGMENT: } diff --git a/test/old-elf/X86_64/note-sections.test b/test/old-elf/X86_64/note-sections.test deleted file mode 100644 index b831e7e192b4..000000000000 --- a/test/old-elf/X86_64/note-sections.test +++ /dev/null @@ -1,23 +0,0 @@ -# This tests the functionality that lld is able to recreate the note sections -# if they appear in the input - -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/note.o \ -RUN: --noinhibit-exec -o %t -static -RUN: llvm-readobj -sections %t | FileCheck -check-prefix=NOTESECTIONS %s -RUN: llvm-readobj -program-headers %t | FileCheck -check-prefix=NOTESEGMENT %s - - -NOTESECTIONS: Section { -NOTESECTIONS: Index: 1 -NOTESECTIONS: Name: .note.ident (1) -NOTESECTIONS: Type: SHT_NOTE (0x7) -NOTESECTIONS: Size: 28 -NOTESECTIONS: AddressAlignment: 4 -NOTESECTIONS: } - -NOTESEGMENT: ProgramHeader { -NOTESEGMENT: Type: PT_NOTE (0x4) -NOTESEGMENT: FileSize: 28 -NOTESEGMENT: MemSize: 28 -NOTESEGMENT: Alignment: 4 -NOTESEGMENT: } diff --git a/test/old-elf/X86_64/omagic.test b/test/old-elf/X86_64/omagic.test deleted file mode 100644 index fe2633e67a95..000000000000 --- a/test/old-elf/X86_64/omagic.test +++ /dev/null @@ -1,237 +0,0 @@ -# This tests verifies functionality of omagic that we create only two segments, -# PT_LOAD, PT_TLS -# The data segment should not be aligned to a page boundary -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/nmagic.o \ -RUN: --noinhibit-exec -o %t --omagic -static -RUN: llvm-readobj -sections %t | FileCheck -check-prefix=OMAGICSECTIONS %s -RUN: llvm-readobj -program-headers %t | FileCheck -check-prefix=OMAGICPROGRAMHEADERS %s - -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: (0) -OMAGICSECTIONS: Type: SHT_NULL (0x0) -OMAGICSECTIONS: Flags [ (0x0) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x0 -OMAGICSECTIONS: Offset: 0x0 -OMAGICSECTIONS: Size: 0 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 0 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .text -OMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -OMAGICSECTIONS: Flags [ (0x6) -OMAGICSECTIONS: SHF_ALLOC (0x2) -OMAGICSECTIONS: SHF_EXECINSTR (0x4) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x4000E8 -OMAGICSECTIONS: Offset: 0xE8 -OMAGICSECTIONS: Size: 11 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 4 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .eh_frame -OMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -OMAGICSECTIONS: Flags [ (0x2) -OMAGICSECTIONS: SHF_ALLOC (0x2) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x4000F8 -OMAGICSECTIONS: Offset: 0xF8 -OMAGICSECTIONS: Size: 56 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 8 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .eh_frame_hdr -OMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -OMAGICSECTIONS: Flags [ (0x2) -OMAGICSECTIONS: SHF_ALLOC (0x2) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x400130 -OMAGICSECTIONS: Offset: 0x130 -OMAGICSECTIONS: Size: 8 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 8 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .tdata -OMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -OMAGICSECTIONS: Flags [ (0x403) -OMAGICSECTIONS: SHF_ALLOC (0x2) -OMAGICSECTIONS: SHF_TLS (0x400) -OMAGICSECTIONS: SHF_WRITE (0x1) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x400138 -OMAGICSECTIONS: Offset: 0x138 -OMAGICSECTIONS: Size: 4 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 4 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .tbss -OMAGICSECTIONS: Type: SHT_NOBITS (0x8) -OMAGICSECTIONS: Flags [ (0x403) -OMAGICSECTIONS: SHF_ALLOC (0x2) -OMAGICSECTIONS: SHF_TLS (0x400) -OMAGICSECTIONS: SHF_WRITE (0x1) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x40013C -OMAGICSECTIONS: Offset: 0x13C -OMAGICSECTIONS: Size: 8 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 4 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .got.plt -OMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -OMAGICSECTIONS: Flags [ (0x3) -OMAGICSECTIONS: SHF_ALLOC (0x2) -OMAGICSECTIONS: SHF_WRITE (0x1) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x400140 -OMAGICSECTIONS: Offset: 0x140 -OMAGICSECTIONS: Size: 0 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 8 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .data -OMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -OMAGICSECTIONS: Flags [ (0x3) -OMAGICSECTIONS: SHF_ALLOC (0x2) -OMAGICSECTIONS: SHF_WRITE (0x1) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x400140 -OMAGICSECTIONS: Offset: 0x140 -OMAGICSECTIONS: Size: 4 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 4 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .bss -OMAGICSECTIONS: Type: SHT_NOBITS (0x8) -OMAGICSECTIONS: Flags [ (0x3) -OMAGICSECTIONS: SHF_ALLOC (0x2) -OMAGICSECTIONS: SHF_WRITE (0x1) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x400144 -OMAGICSECTIONS: Offset: 0x144 -OMAGICSECTIONS: Size: 0 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 4 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .comment -OMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -OMAGICSECTIONS: Flags [ (0x0) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x0 -OMAGICSECTIONS: Offset: 0x144 -OMAGICSECTIONS: Size: 43 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 1 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .note.GNU-stack -OMAGICSECTIONS: Type: SHT_PROGBITS (0x1) -OMAGICSECTIONS: Flags [ (0x0) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x0 -OMAGICSECTIONS: Offset: 0x16F -OMAGICSECTIONS: Size: 0 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 1 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .shstrtab -OMAGICSECTIONS: Type: SHT_STRTAB (0x3) -OMAGICSECTIONS: Flags [ (0x0) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x0 -OMAGICSECTIONS: Offset: 0x16F -OMAGICSECTIONS: Size: 115 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 1 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .symtab -OMAGICSECTIONS: Type: SHT_SYMTAB (0x2) -OMAGICSECTIONS: Flags [ (0x0) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x0 -OMAGICSECTIONS: Offset: 0x1E8 -OMAGICSECTIONS: Size: 504 -OMAGICSECTIONS: Link: 13 -OMAGICSECTIONS: Info: 8 -OMAGICSECTIONS: AddressAlignment: 8 -OMAGICSECTIONS: EntrySize: 24 -OMAGICSECTIONS: } -OMAGICSECTIONS: Section { -OMAGICSECTIONS: Name: .strtab -OMAGICSECTIONS: Type: SHT_STRTAB (0x3) -OMAGICSECTIONS: Flags [ (0x0) -OMAGICSECTIONS: ] -OMAGICSECTIONS: Address: 0x0 -OMAGICSECTIONS: Offset: 0x3E0 -OMAGICSECTIONS: Size: 231 -OMAGICSECTIONS: Link: 0 -OMAGICSECTIONS: Info: 0 -OMAGICSECTIONS: AddressAlignment: 1 -OMAGICSECTIONS: EntrySize: 0 -OMAGICSECTIONS: } -OMAGICSECTIONS: ] - -OMAGICPROGRAMHEADERS: ProgramHeaders [ -OMAGICPROGRAMHEADERS: ProgramHeader { -OMAGICPROGRAMHEADERS: Type: PT_LOAD (0x1) -OMAGICPROGRAMHEADERS: Offset: 0x0 -OMAGICPROGRAMHEADERS: VirtualAddress: 0x400000 -OMAGICPROGRAMHEADERS: PhysicalAddress: 0x400000 -OMAGICPROGRAMHEADERS: FileSize: 324 -OMAGICPROGRAMHEADERS: MemSize: 324 -OMAGICPROGRAMHEADERS: Flags [ (0x7) -OMAGICPROGRAMHEADERS: PF_R (0x4) -OMAGICPROGRAMHEADERS: PF_W (0x2) -OMAGICPROGRAMHEADERS: PF_X (0x1) -OMAGICPROGRAMHEADERS: ] -OMAGICPROGRAMHEADERS: Alignment: 8 -OMAGICPROGRAMHEADERS: } -OMAGICPROGRAMHEADERS: ProgramHeader { -OMAGICPROGRAMHEADERS: Type: PT_TLS (0x7) -OMAGICPROGRAMHEADERS: Offset: 0x138 -OMAGICPROGRAMHEADERS: VirtualAddress: 0x400138 -OMAGICPROGRAMHEADERS: PhysicalAddress: 0x400138 -OMAGICPROGRAMHEADERS: FileSize: 4 -OMAGICPROGRAMHEADERS: MemSize: 12 -OMAGICPROGRAMHEADERS: Flags [ (0x6) -OMAGICPROGRAMHEADERS: PF_R (0x4) -OMAGICPROGRAMHEADERS: PF_W (0x2) -OMAGICPROGRAMHEADERS: ] -OMAGICPROGRAMHEADERS: Alignment: 4 -OMAGICPROGRAMHEADERS: } -OMAGICPROGRAMHEADERS: ] diff --git a/test/old-elf/X86_64/outputsegments.test b/test/old-elf/X86_64/outputsegments.test deleted file mode 100644 index 1c76b6eb855c..000000000000 --- a/test/old-elf/X86_64/outputsegments.test +++ /dev/null @@ -1,188 +0,0 @@ -# Tests that lld does not create separate segment if the input sections are part -# of the same output section - -# Build executable -# RUN: yaml2obj -format=elf -docnum 1 %s -o %t.o -# RUN: lld -flavor old-gnu -target x86_64 %t.o -o %t1.exe -static \ -# RUN: --no-align-segments --noinhibit-exec -# RUN: lld -flavor old-gnu -target x86_64 %t.o -o %t2.exe -static \ -# RUN: --noinhibit-exec -# RUN: llvm-readobj -program-headers %t1.exe | FileCheck %s -check-prefix=SEGMENTS -# RUN: llvm-readobj -program-headers %t2.exe | FileCheck %s -check-prefix=SEGMENTS -# -#SEGMENTS: VirtualAddress: 0x400000 -#SEGMENTS: PhysicalAddress: 0x400000 -#SEGMENTS: FileSize: 288 -#SEGMENTS: MemSize: 288 -#SEGMENTS: VirtualAddress: 0x404000 -#SEGMENTS: PhysicalAddress: 0x404000 -#SEGMENTS: FileSize: 16608 -#SEGMENTS: MemSize: 16608 -#SEGMENTS: Alignment: 16384 -# -# object ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - - Name: .text.foo - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000002000 - Content: 554889E54883EC1048BF0000000000000000B000E800000000B9000000008945FC89C84883C4105DC3 - - Name: .rela.text.foo - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .text.foo - Relocations: - - Offset: 0x000000000000000A - Symbol: .rodata.str1.1 - Type: R_X86_64_64 - Addend: 0 - - Offset: 0x0000000000000015 - Symbol: printf - Type: R_X86_64_PC32 - Addend: -4 - - Name: .text.bar - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000004000 - Content: 554889E54883EC1048BF0000000000000000B000E800000000B9000000008945FC89C84883C4105DC3 - - Name: .rela.text.bar - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .text.bar - Relocations: - - Offset: 0x000000000000000A - Symbol: .rodata.str1.1 - Type: R_X86_64_64 - Addend: 7 - - Offset: 0x0000000000000015 - Symbol: printf - Type: R_X86_64_PC32 - Addend: -4 - - Name: .text.main - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E54883EC10C745FC00000000E8000000008945F8E8000000008B4DF801C189C84883C4105DC3 - - Name: .rela.text.main - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .text.main - Relocations: - - Offset: 0x0000000000000010 - Symbol: foo - Type: R_X86_64_PC32 - Addend: -4 - - Offset: 0x0000000000000018 - Symbol: bar - Type: R_X86_64_PC32 - Addend: -4 - - Name: .rodata.str1.1 - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ] - AddressAlign: 0x0000000000000001 - Content: 48656C6C6F0A00576F726C640A00 - - Name: .comment - Type: SHT_PROGBITS - Flags: [ SHF_MERGE, SHF_STRINGS ] - AddressAlign: 0x0000000000000001 - Content: 005562756E747520636C616E672076657273696F6E20332E352E302D73766E3231373330342D317E6578703120286272616E636865732F72656C656173655F33352920286261736564206F6E204C4C564D20332E352E302900 - - Name: .note.GNU-stack - Type: SHT_PROGBITS - AddressAlign: 0x0000000000000001 - Content: '' - - Name: .eh_frame - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: 1400000000000000037A5200017810011B0C070890010000180000001C000000000000002900000000410E108602430D060000001800000038000000000000002900000000410E108602430D060000001C00000054000000000000002900000000410E108602430D0600000000000000 - - Name: .rela.eh_frame - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .eh_frame - Relocations: - - Offset: 0x0000000000000020 - Symbol: .text.foo - Type: R_X86_64_PC32 - Addend: 0 - - Offset: 0x000000000000003C - Symbol: .text.bar - Type: R_X86_64_PC32 - Addend: 0 - - Offset: 0x0000000000000058 - Symbol: .text.main - Type: R_X86_64_PC32 - Addend: 0 -Symbols: - Local: - - Name: 1.c - Type: STT_FILE - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - - Name: .text.foo - Type: STT_SECTION - Section: .text.foo - - Name: .text.bar - Type: STT_SECTION - Section: .text.bar - - Name: .text.main - Type: STT_SECTION - Section: .text.main - - Name: .rodata.str1.1 - Type: STT_SECTION - Section: .rodata.str1.1 - - Name: .comment - Type: STT_SECTION - Section: .comment - - Name: .note.GNU-stack - Type: STT_SECTION - Section: .note.GNU-stack - - Name: .eh_frame - Type: STT_SECTION - Section: .eh_frame - Global: - - Name: bar - Type: STT_FUNC - Section: .text.bar - Size: 0x0000000000000029 - - Name: foo - Type: STT_FUNC - Section: .text.foo - Size: 0x0000000000000029 - - Name: main - Type: STT_FUNC - Section: .text.main - Size: 0x0000000000000029 - - Name: printf -... diff --git a/test/old-elf/X86_64/reloc_r_x86_64_16.test b/test/old-elf/X86_64/reloc_r_x86_64_16.test deleted file mode 100644 index 093fbeb4f137..000000000000 --- a/test/old-elf/X86_64/reloc_r_x86_64_16.test +++ /dev/null @@ -1,59 +0,0 @@ -# Tests that lld can handle relocations of type R_X86_64_16 -#RUN: yaml2obj -format=elf -docnum 1 %s -o %t1.o -#RUN: lld -flavor old-gnu -target x86_64 %t1.o --noinhibit-exec -o %t2.out -static -#RUN: llvm-objdump -s %t2.out | FileCheck %s -#CHECK: Contents of section .data: -#CHECK: 401000 0210 ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: '0000' - - Name: .rela.data - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .data - Relocations: - - Offset: 0x0000000000000000 - Symbol: foo - Type: R_X86_64_16 - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - Global: - - Name: bar - Type: STT_OBJECT - Section: .data - Size: 0x0000000000000008 - - Name: foo - Type: STT_OBJECT - Section: .data - Value: 0x0000000000000002 - Size: 0x0000000000000002 -... diff --git a/test/old-elf/X86_64/reloc_r_x86_64_pc16.test b/test/old-elf/X86_64/reloc_r_x86_64_pc16.test deleted file mode 100644 index c6e53ad636e8..000000000000 --- a/test/old-elf/X86_64/reloc_r_x86_64_pc16.test +++ /dev/null @@ -1,60 +0,0 @@ -# Tests that lld can handle relocations of type R_X86_64_PC16 -#RUN: yaml2obj -format=elf -docnum 1 %s -o %t1.o -#RUN: lld -flavor old-gnu -target x86_64 %t1.o --noinhibit-exec -o %t2.out -static -#RUN: llvm-objdump -s %t2.out | FileCheck %s -#CHECK: Contents of section .data: -#CHECK: 401000 0700 ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: '0000' - - Name: .rela.data - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .data - Relocations: - - Offset: 0x0000000000000000 - Symbol: foo - Type: R_X86_64_PC16 - Addend: 5 - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - Global: - - Name: bar - Type: STT_OBJECT - Section: .data - Size: 0x0000000000000008 - - Name: foo - Type: STT_OBJECT - Section: .data - Value: 0x0000000000000002 - Size: 0x0000000000000002 -... diff --git a/test/old-elf/X86_64/reloc_r_x86_64_pc64.test b/test/old-elf/X86_64/reloc_r_x86_64_pc64.test deleted file mode 100644 index a7c5e88965c5..000000000000 --- a/test/old-elf/X86_64/reloc_r_x86_64_pc64.test +++ /dev/null @@ -1,60 +0,0 @@ -# Tests that lld can handle relocations of type R_X86_64_PC64 -#RUN: yaml2obj -format=elf -docnum 1 %s -o %t1.o -#RUN: lld -flavor old-gnu -target x86_64 %t1.o --noinhibit-exec -o %t2.out -static -#RUN: llvm-objdump -s %t2.out | FileCheck %s -#CHECK: Contents of section .data: -#CHECK: 401000 0a00 ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000008 - Content: '0000' - - Name: .rela.data - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .data - Relocations: - - Offset: 0x0000000000000000 - Symbol: foo - Type: R_X86_64_PC64 - Addend: 8 - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - Global: - - Name: bar - Type: STT_OBJECT - Section: .data - Size: 0x0000000000000008 - - Name: foo - Type: STT_OBJECT - Section: .data - Value: 0x0000000000000002 - Size: 0x0000000000000002 -... diff --git a/test/old-elf/X86_64/rodata.test b/test/old-elf/X86_64/rodata.test deleted file mode 100644 index 6f85ac0423fd..000000000000 --- a/test/old-elf/X86_64/rodata.test +++ /dev/null @@ -1,9 +0,0 @@ -# This tests that the ordinals for all merge atoms and defined atoms have been -# set properly - -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/rodata.o --noinhibit-exec \ -RUN: --merge-strings -static -o %t1 -RUN: llvm-nm -n %t1 | FileCheck %s - -CHECK: {{[0-9a-f]+}} R _nl_default_default_domain -CHECK: {{[0-9a-f]+}} R _nl_default_default_dirname diff --git a/test/old-elf/X86_64/sectionchoice.test b/test/old-elf/X86_64/sectionchoice.test deleted file mode 100644 index 7ff838fed98d..000000000000 --- a/test/old-elf/X86_64/sectionchoice.test +++ /dev/null @@ -1,7 +0,0 @@ -# This tests that we are able to properly set the sectionChoice for DefinedAtoms -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/zerosizedsection.o \ -RUN: --noinhibit-exec -o %t --output-filetype=yaml -RUN: FileCheck %s < %t - -CHECK-NOT: section-choice: sectionCustomRequired - diff --git a/test/old-elf/X86_64/sectionmap.test b/test/old-elf/X86_64/sectionmap.test deleted file mode 100644 index 5fa04bd87051..000000000000 --- a/test/old-elf/X86_64/sectionmap.test +++ /dev/null @@ -1,22 +0,0 @@ -# This tests that we are able to merge the section .gcc_except_table, -# .data.rel.local, .data.rel.ro, any other sections that belong to .data -# into appropriate output sections -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/sectionmap.o \ -RUN: --noinhibit-exec -o %t -RUN: llvm-readobj -sections %t | FileCheck %s -check-prefix=VERIFYSECTIONHEADERS - -VERIFYSECTIONHEADERS: Section { -VERIFYSECTIONHEADERS: Name: .data -VERIFYSECTIONHEADERS: } -VERIFYSECTIONHEADERS: Section { -VERIFYSECTIONHEADERS: Name: .gcc_except_table -VERIFYSECTIONHEADERS: } -VERIFYSECTIONHEADERS: Section { -VERIFYSECTIONHEADERS: Name: .data.rel.local -VERIFYSECTIONHEADERS: } -VERIFYSECTIONHEADERS: Section { -VERIFYSECTIONHEADERS: Name: .data.rel.ro -VERIFYSECTIONHEADERS: } -VERIFYSECTIONHEADERS: Section { -VERIFYSECTIONHEADERS: Name: .bss -VERIFYSECTIONHEADERS: } diff --git a/test/old-elf/X86_64/startGroupEndGroup.test b/test/old-elf/X86_64/startGroupEndGroup.test deleted file mode 100644 index e79e436a6513..000000000000 --- a/test/old-elf/X86_64/startGroupEndGroup.test +++ /dev/null @@ -1,48 +0,0 @@ -# This tests functionality of --start-group, --end-group - -# This link should fail with unresolve symbol -RUN: not lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o \ -RUN: %p/Inputs/group/libfn.a %p/Inputs/group/libfn1.a -o x 2> %t.err - -# Test group -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o --start-group \ -RUN: %p/Inputs/group/libfn.a %p/Inputs/group/libfn1.a --end-group -o %t1 - -# Mix object files in group -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o --start-group \ -RUN: %p/Inputs/group/fn.o %p/Inputs/group/fn2.o \ -RUN: %p/Inputs/group/fn1.o --end-group -o %t2 - -# Mix Whole archive input, the group should not iterate the file libfn.a -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o --start-group \ -RUN: --whole-archive %p/Inputs/group/libfn.a --no-whole-archive \ -RUN: %p/Inputs/group/libfn1.a --end-group -o %t3 - -# Defined symbols in a shared library. -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o --start-group \ -RUN: %p/Inputs/group/libfn2.so %p/Inputs/group/fn1.o %p/Inputs/group/fn.o \ -RUN: --end-group -o %t4 - -# Test alias options too, as they are more widely used -# Test group -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o '-(' \ -RUN: %p/Inputs/group/libfn.a %p/Inputs/group/libfn1.a '-)' -o %t1.alias - -# Mix object files in group -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o '-(' \ -RUN: %p/Inputs/group/fn.o %p/Inputs/group/fn2.o \ -RUN: %p/Inputs/group/fn1.o '-)' -o %t2.alias - -# Mix Whole archive input, the group should not iterate the file libfn.a -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o '-(' \ -RUN: --whole-archive %p/Inputs/group/libfn.a --no-whole-archive \ -RUN: %p/Inputs/group/libfn1.a '-)' -o %t3.alias - -RUN: llvm-nm %t1 | FileCheck -check-prefix=RESOLVEDEXTERNAL %s -RUN: llvm-nm %t2 | FileCheck -check-prefix=RESOLVEDEXTERNAL %s -RUN: llvm-nm %t3 | FileCheck -check-prefix=RESOLVEDEXTERNAL %s -RUN: llvm-nm %t1.alias | FileCheck -check-prefix=RESOLVEDEXTERNAL %s -RUN: llvm-nm %t2.alias | FileCheck -check-prefix=RESOLVEDEXTERNAL %s -RUN: llvm-nm %t3.alias | FileCheck -check-prefix=RESOLVEDEXTERNAL %s - -RESOLVEDEXTERNAL: {{[0-9a-z]+}} T fn2 diff --git a/test/old-elf/X86_64/startGroupEndGroupWithDynlib.test b/test/old-elf/X86_64/startGroupEndGroupWithDynlib.test deleted file mode 100644 index 30bfe1530f8e..000000000000 --- a/test/old-elf/X86_64/startGroupEndGroupWithDynlib.test +++ /dev/null @@ -1,10 +0,0 @@ -# This tests functionality of --start-group, --end-group with a dynamic library - -# Mix dynamic libraries/object files in group -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/group/1.o --start-group \ -RUN: %p/Inputs/group/libfn.so %p/Inputs/group/fn2.o \ -RUN: %p/Inputs/group/fn1.o --end-group -o %t1 - -RUN: llvm-nm %t1 | FileCheck -check-prefix=RESOLVEDEXTERNAL %s - -RESOLVEDEXTERNAL: {{[0-9a-z]+}} T fn2 diff --git a/test/old-elf/X86_64/staticlib-search.test b/test/old-elf/X86_64/staticlib-search.test deleted file mode 100644 index b84bd299f385..000000000000 --- a/test/old-elf/X86_64/staticlib-search.test +++ /dev/null @@ -1,6 +0,0 @@ -# This tests the functionality for finding the static library libfn.a for ELF -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/main.o -L%p/Inputs/ -lfn -o %t \ -RUN: --noinhibit-exec -static -t 2> %t1 -RUN: FileCheck %s < %t1 - -CHECK: {{[\/0-9A-Za-z_]+}}libfn.a diff --git a/test/old-elf/X86_64/undef.test b/test/old-elf/X86_64/undef.test deleted file mode 100644 index f948286a339b..000000000000 --- a/test/old-elf/X86_64/undef.test +++ /dev/null @@ -1,18 +0,0 @@ -# This tests the functionality that an undefined symbol thats defined in the -# commmand line pulls in the required object file from the archive library -# which is usually the usecase for it -RUN: lld -flavor old-gnu -target x86_64 -u fn %p/Inputs/libfn.a -o %t --noinhibit-exec -RUN: llvm-readobj -symbols %t | FileCheck -check-prefix=SYMFROMARCHIVE %s -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/libfn.a -o %t --noinhibit-exec -RUN: llvm-readobj -symbols %t | FileCheck %s - -SYMFROMARCHIVE: Symbol { -SYMFROMARCHIVE: Name: fn ({{[0-9]+}} -SYMFROMARCHIVE: Size: 11 -SYMFROMARCHIVE: Binding: Global (0x1) -SYMFROMARCHIVE: Type: Function (0x2) -SYMFROMARCHIVE: Other: 0 -SYMFROMARCHIVE: Section: .text -SYMFROMARCHIVE: } - -CHECK-NOT: Name: fn diff --git a/test/old-elf/X86_64/underscore-end.test b/test/old-elf/X86_64/underscore-end.test deleted file mode 100644 index 4ca0c94013ea..000000000000 --- a/test/old-elf/X86_64/underscore-end.test +++ /dev/null @@ -1,81 +0,0 @@ -# This tests verifies that the value of _end symbol is point to the right value -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/nmagic.o \ -RUN: --noinhibit-exec -o %t --nmagic -RUN: llvm-readobj -symbols %t | FileCheck -check-prefix=NMAGICABSSYMBOLS %s -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/nmagic.o \ -RUN: --noinhibit-exec -o %t --omagic -RUN: llvm-readobj -symbols %t | FileCheck -check-prefix=OMAGICABSSYMBOLS %s - -NMAGICABSSYMBOLS: Symbol { -NMAGICABSSYMBOLS: Name: __bss_start ({{[0-9]+}} -NMAGICABSSYMBOLS: Value: 0x40100C -NMAGICABSSYMBOLS: Size: 0 -NMAGICABSSYMBOLS: Binding: Global (0x1) -NMAGICABSSYMBOLS: Type: Object (0x1) -NMAGICABSSYMBOLS: Other: 0 -NMAGICABSSYMBOLS: Section: Absolute (0xFFF1) -NMAGICABSSYMBOLS: } -NMAGICABSSYMBOLS: Symbol { -NMAGICABSSYMBOLS: Name: __bss_end ({{[0-9]+}} -NMAGICABSSYMBOLS: Value: 0x40100C -NMAGICABSSYMBOLS: Size: 0 -NMAGICABSSYMBOLS: Binding: Global (0x1) -NMAGICABSSYMBOLS: Type: Object (0x1) -NMAGICABSSYMBOLS: Other: 0 -NMAGICABSSYMBOLS: Section: Absolute (0xFFF1) -NMAGICABSSYMBOLS: } -NMAGICABSSYMBOLS: Symbol { -NMAGICABSSYMBOLS: Name: _end ({{[0-9]+}} -NMAGICABSSYMBOLS: Value: 0x40100C -NMAGICABSSYMBOLS: Size: 0 -NMAGICABSSYMBOLS: Binding: Global (0x1) -NMAGICABSSYMBOLS: Type: Object (0x1) -NMAGICABSSYMBOLS: Other: 0 -NMAGICABSSYMBOLS: Section: Absolute (0xFFF1) -NMAGICABSSYMBOLS: } -NMAGICABSSYMBOLS: Symbol { -NMAGICABSSYMBOLS: Name: end ({{[0-9]+}} -NMAGICABSSYMBOLS: Value: 0x40100C -NMAGICABSSYMBOLS: Size: 0 -NMAGICABSSYMBOLS: Binding: Global (0x1) -NMAGICABSSYMBOLS: Type: Object (0x1) -NMAGICABSSYMBOLS: Other: 0 -NMAGICABSSYMBOLS: Section: Absolute (0xFFF1) -NMAGICABSSYMBOLS: } - -OMAGICABSSYMBOLS: Symbol { -OMAGICABSSYMBOLS: Name: __bss_start ({{[0-9]+}}) -OMAGICABSSYMBOLS: Value: 0x400144 -OMAGICABSSYMBOLS: Size: 0 -OMAGICABSSYMBOLS: Binding: Global (0x1) -OMAGICABSSYMBOLS: Type: Object (0x1) -OMAGICABSSYMBOLS: Other: 0 -OMAGICABSSYMBOLS: Section: Absolute (0xFFF1) -OMAGICABSSYMBOLS: } -OMAGICABSSYMBOLS: Symbol { -OMAGICABSSYMBOLS: Name: __bss_end ({{[0-9]+}} -OMAGICABSSYMBOLS: Value: 0x400144 -OMAGICABSSYMBOLS: Size: 0 -OMAGICABSSYMBOLS: Binding: Global (0x1) -OMAGICABSSYMBOLS: Type: Object (0x1) -OMAGICABSSYMBOLS: Other: 0 -OMAGICABSSYMBOLS: Section: Absolute (0xFFF1) -OMAGICABSSYMBOLS: } -OMAGICABSSYMBOLS: Symbol { -OMAGICABSSYMBOLS: Name: _end ({{[0-9]+}} -OMAGICABSSYMBOLS: Value: 0x400144 -OMAGICABSSYMBOLS: Size: 0 -OMAGICABSSYMBOLS: Binding: Global (0x1) -OMAGICABSSYMBOLS: Type: Object (0x1) -OMAGICABSSYMBOLS: Other: 0 -OMAGICABSSYMBOLS: Section: Absolute (0xFFF1) -OMAGICABSSYMBOLS: } -OMAGICABSSYMBOLS: Symbol { -OMAGICABSSYMBOLS: Name: end ({{[0-9]+}} -OMAGICABSSYMBOLS: Value: 0x400144 -OMAGICABSSYMBOLS: Size: 0 -OMAGICABSSYMBOLS: Binding: Global (0x1) -OMAGICABSSYMBOLS: Type: Object (0x1) -OMAGICABSSYMBOLS: Other: 0 -OMAGICABSSYMBOLS: Section: Absolute (0xFFF1) -OMAGICABSSYMBOLS: } diff --git a/test/old-elf/X86_64/weak-override.test b/test/old-elf/X86_64/weak-override.test deleted file mode 100644 index 25cb9d5d687f..000000000000 --- a/test/old-elf/X86_64/weak-override.test +++ /dev/null @@ -1,45 +0,0 @@ -# Test for weak symbol getting overridden -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/weak.o %p/Inputs/ovrd.o \ -RUN: -o %t --noinhibit-exec -RUN: llvm-nm %t | FileCheck -check-prefix=WEAKORDER %s -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/weak.o \ -RUN: %p/Inputs/ovrd.o -o %t2 --output-filetype=yaml --noinhibit-exec -RUN: FileCheck -check-prefix=WEAKATOMSORDER %s < %t2 - -WEAKORDER: {{[0-9a-c]+}} T f - -WEAKATOMSORDER: references: -WEAKATOMSORDER: - kind: layout-after -WEAKATOMSORDER: offset: 0 -WEAKATOMSORDER: target: fn -WEAKATOMSORDER: - name: fn -WEAKATOMSORDER: references: -WEAKATOMSORDER: - kind: layout-after -WEAKATOMSORDER: offset: 0 -WEAKATOMSORDER: target: [[CONSTSTRA:[-a-zA-Z0-9_]+]] -WEAKATOMSORDER: - ref-name: [[CONSTSTRA]] -WEAKATOMSORDER: scope: global -WEAKATOMSORDER: content: [ 55, 48, 89, E5, BF, 00, 00, 00, 00, E8, 00, 00, -WEAKATOMSORDER: 00, 00, 5D, C3 ] -WEAKATOMSORDER: references: -WEAKATOMSORDER: - kind: layout-after -WEAKATOMSORDER: offset: 0 -WEAKATOMSORDER: target: main -WEAKATOMSORDER: - name: main -WEAKATOMSORDER: scope: global -WEAKATOMSORDER: content: [ 55, 48, 89, E5, B8, 00, 00, 00, 00, E8, 00, 00, -WEAKATOMSORDER: 00, 00, B8, 00, 00, 00, 00, 5D, C3 ] -WEAKATOMSORDER: references: -WEAKATOMSORDER: - kind: R_X86_64_PC32 -WEAKATOMSORDER: offset: 10 -WEAKATOMSORDER: target: f -WEAKATOMSORDER: addend: -4 -WEAKATOMSORDER: - ref-name: {{[0-9A-Z]+}} -WEAKATOMSORDER: references: -WEAKATOMSORDER: - kind: layout-after -WEAKATOMSORDER: offset: 0 -WEAKATOMSORDER: target: f -WEAKATOMSORDER: - name: f -WEAKATOMSORDER: scope: global -WEAKATOMSORDER: content: [ 55, 48, 89, E5, BF, 00, 00, 00, 00, E8, 00, 00, -WEAKATOMSORDER: 00, 00, 5D, C3 ] diff --git a/test/old-elf/X86_64/weak-zero-sized.test b/test/old-elf/X86_64/weak-zero-sized.test deleted file mode 100644 index 93e27a355d64..000000000000 --- a/test/old-elf/X86_64/weak-zero-sized.test +++ /dev/null @@ -1,26 +0,0 @@ -# Test for zero sized weak atoms, there is only a single weak atom -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/weak-zero-sized.o -o %t \ -RUN: --noinhibit-exec -RUN: llvm-nm %t | FileCheck -check-prefix=WEAKORDER %s -RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/weak-zero-sized.o \ -RUN: --output-filetype=yaml -o %t2 --noinhibit-exec -RUN: FileCheck -check-prefix=WEAKATOMSORDER %s < %t2 - -WEAKORDER: 004001a4 T _start - -WEAKATOMSORDER: alignment: 4 -WEAKATOMSORDER: - kind: layout-after -WEAKATOMSORDER: offset: 0 -WEAKATOMSORDER: target: [[TARGETC:[-a-zA-Z0-9_]+]] -WEAKATOMSORDER: - name: [[TARGETA:[-a-zA-Z0-9_]+]] -WEAKATOMSORDER: scope: global -WEAKATOMSORDER: merge: as-weak -WEAKATOMSORDER: alignment: 4 -WEAKATOMSORDER: references: -WEAKATOMSORDER: - kind: layout-after -WEAKATOMSORDER: offset: 0 -WEAKATOMSORDER: target: [[TARGETC]] -WEAKATOMSORDER: - ref-name: [[TARGETC]] -WEAKATOMSORDER: scope: global -WEAKATOMSORDER: content: [ C3 ] -WEAKATOMSORDER: alignment: 4 diff --git a/test/old-elf/X86_64/weaksym.test b/test/old-elf/X86_64/weaksym.test deleted file mode 100644 index 9e4f2da9bdba..000000000000 --- a/test/old-elf/X86_64/weaksym.test +++ /dev/null @@ -1,77 +0,0 @@ -# Tests that an executable with a weak undefine will put this symbol in the -# dynamic symbol table if the executable has a dynamic relocation against this -# symbol. - -#RUN: yaml2obj --format elf %s -o %t.o -#RUN: lld -flavor old-gnu -target x86_64 -e main %t.o -o %t1 -#RUN: llvm-readobj -dt %t1 | FileCheck -check-prefix CHECKSYMS %s - -#CHECKSYMS: Name: x@ -#CHECKSYMS-NEXT: Value: 0x0 -#CHECKSYMS-NEXT: Size: 0 -#CHECKSYMS-NEXT: Binding: Weak (0x2) -#CHECKSYMS-NEXT: Type: None (0x0) -#CHECKSYMS-NEXT: Other: 0 -#CHECKSYMS-NEXT: Section: Undefined (0x0) - -# The object file above corresponds to the following C program compiled with -# -fPIC: -# extern int *x __attribute__((weak)); -# -# int main() { -# if (x) -# return 1; -# return 0; -# } - ---- -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x0000000000000010 - Content: 554889E5488B0500000000C745FC00000000488138000000000F840C000000C745FC01000000E907000000C745FC000000008B45FC5DC3 - - Name: .rela.text - Type: SHT_RELA - Link: .symtab - AddressAlign: 0x0000000000000008 - Info: .text - Relocations: - - Offset: 0x0000000000000007 - Symbol: x - Type: R_X86_64_GOTPCREL - Addend: -4 - - Name: .data - Type: SHT_PROGBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 - Content: '' - - Name: .bss - Type: SHT_NOBITS - Flags: [ SHF_WRITE, SHF_ALLOC ] - AddressAlign: 0x0000000000000004 -Symbols: - Local: - - Name: .text - Type: STT_SECTION - Section: .text - - Name: .data - Type: STT_SECTION - Section: .data - - Name: .bss - Type: STT_SECTION - Section: .bss - Global: - - Name: main - Type: STT_FUNC - Section: .text - Size: 0x0000000000000037 - - Name: _GLOBAL_OFFSET_TABLE_ - Weak: - - Name: x diff --git a/test/old-elf/X86_64/yamlinput.test b/test/old-elf/X86_64/yamlinput.test deleted file mode 100644 index 1c51811eec95..000000000000 --- a/test/old-elf/X86_64/yamlinput.test +++ /dev/null @@ -1,166 +0,0 @@ -# This tests the functionality that lld is able to read -# an input YAML from a previous link - -RUN: lld -flavor old-gnu -target x86_64-linux %p/Inputs/initfini.o \ -RUN: --noinhibit-exec --output-filetype=yaml -o %t.objtxt -RUN: lld -flavor old-gnu -target x86_64-linux %t.objtxt \ -RUN: --noinhibit-exec -o %t1 -RUN: llvm-readobj -sections %t1 | FileCheck %s -check-prefix=SECTIONS - -SECTIONS: Section { -SECTIONS: Index: 0 -SECTIONS: Name: (0) -SECTIONS: Type: SHT_NULL (0x0) -SECTIONS: Flags [ (0x0) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 1 -SECTIONS: Name: .interp -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x2) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 2 -SECTIONS: Name: .hash -SECTIONS: Type: SHT_HASH (0x5) -SECTIONS: Flags [ (0x2) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 3 -SECTIONS: Name: .dynsym -SECTIONS: Type: SHT_DYNSYM (0xB) -SECTIONS: Flags [ (0x2) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 4 -SECTIONS: Name: .dynstr -SECTIONS: Type: SHT_STRTAB (0x3) -SECTIONS: Flags [ (0x2) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 5 -SECTIONS: Name: .text -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x6) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: SHF_EXECINSTR (0x4) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 6 -SECTIONS: Name: .rodata -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x2) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 7 -SECTIONS: Name: .eh_frame -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x2) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 8 -SECTIONS: Name: .eh_frame_hdr -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 9 -SECTIONS: Name: .init_array -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x3) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: SHF_WRITE (0x1) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 10 -SECTIONS: Name: .fini_array -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x3) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: SHF_WRITE (0x1) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 11 -SECTIONS: Name: .dynamic -SECTIONS: Type: SHT_DYNAMIC (0x6) -SECTIONS: Flags [ (0x3) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: SHF_WRITE (0x1) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 12 -SECTIONS: Name: .got.plt -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x3) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: SHF_WRITE (0x1) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 13 -SECTIONS: Name: .data -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x3) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: SHF_WRITE (0x1) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 14 -SECTIONS: Name: .bss -SECTIONS: Type: SHT_NOBITS (0x8) -SECTIONS: Flags [ (0x3) -SECTIONS: SHF_ALLOC (0x2) -SECTIONS: SHF_WRITE (0x1) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 15 -SECTIONS: Name: .comment -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x0) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 16 -SECTIONS: Name: .note.GNU-stack -SECTIONS: Type: SHT_PROGBITS (0x1) -SECTIONS: Flags [ (0x0) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 17 -SECTIONS: Name: .shstrtab -SECTIONS: Type: SHT_STRTAB (0x3) -SECTIONS: Flags [ (0x0) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 18 -SECTIONS: Name: .symtab -SECTIONS: Type: SHT_SYMTAB (0x2) -SECTIONS: Flags [ (0x0) -SECTIONS: ] -SECTIONS: } -SECTIONS: Section { -SECTIONS: Index: 19 -SECTIONS: Name: .strtab -SECTIONS: Type: SHT_STRTAB (0x3) -SECTIONS: Flags [ (0x0) -SECTIONS: ] -SECTIONS: } |