diff options
-rw-r--r-- | lld/test/ELF/i386-merge.s | 13 | ||||
-rw-r--r-- | lld/test/ELF/i386-relative.s | 1 | ||||
-rw-r--r-- | lld/test/ELF/i386-tls-ie-shared.s | 64 | ||||
-rw-r--r-- | lld/test/ELF/merge-shared-str.s | 2 | ||||
-rw-r--r-- | lld/test/ELF/merge-shared.s | 2 | ||||
-rw-r--r-- | lld/test/ELF/merge-string-error.s | 2 | ||||
-rw-r--r-- | lld/test/ELF/relative-dynamic-reloc-pie.s | 7 | ||||
-rw-r--r-- | lld/test/ELF/relative-dynamic-reloc-ppc64.s | 5 | ||||
-rw-r--r-- | lld/test/ELF/relative-dynamic-reloc.s | 5 | ||||
-rw-r--r-- | lld/test/ELF/relocation-past-merge-end.s | 1 | ||||
-rw-r--r-- | lld/test/ELF/section-symbol.s | 2 | ||||
-rw-r--r-- | lld/test/ELF/startstop-shared.s | 3 | ||||
-rw-r--r-- | lld/test/ELF/startstop.s | 12 |
13 files changed, 63 insertions, 56 deletions
diff --git a/lld/test/ELF/i386-merge.s b/lld/test/ELF/i386-merge.s index 6255a9d8c9c..5d48d4d07f0 100644 --- a/lld/test/ELF/i386-merge.s +++ b/lld/test/ELF/i386-merge.s @@ -21,26 +21,27 @@ // CHECK-NEXT: ) -// CHECK: Name: .text +// CHECK: Name: .data // CHECK-NEXT: Type: SHT_PROGBITS // CHECK-NEXT: Flags [ // CHECK-NEXT: SHF_ALLOC -// CHECK-NEXT: SHF_EXECINSTR +// CHECK-NEXT: SHF_WRITE // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x1000 -// CHECK-NEXT: Offset: 0x1000 +// CHECK-NEXT: Address: 0x2000 +// CHECK-NEXT: Offset: 0x2000 // CHECK-NEXT: Size: 4 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 -// CHECK-NEXT: AddressAlignment: 4 +// CHECK-NEXT: AddressAlignment: 1 // CHECK-NEXT: EntrySize: 0 // CHECK-NEXT: SectionData ( // CHECK-NEXT: 0000: 14010000 | // CHECK-NEXT: ) -// The content of .text should be the address of .mysec. 14010000 is 0x114 in +// The content of .data should be the address of .mysec. 14010000 is 0x114 in // little endian. + .data .long .mysec+4 .section .mysec,"aM",@progbits,4 diff --git a/lld/test/ELF/i386-relative.s b/lld/test/ELF/i386-relative.s index b829d1d3dae..d814b5b6786 100644 --- a/lld/test/ELF/i386-relative.s +++ b/lld/test/ELF/i386-relative.s @@ -9,5 +9,6 @@ // CHECK-NEXT: } // CHECK-NEXT: ] + .data foo: .long foo diff --git a/lld/test/ELF/i386-tls-ie-shared.s b/lld/test/ELF/i386-tls-ie-shared.s index 3d46fdff2dc..c45baab103c 100644 --- a/lld/test/ELF/i386-tls-ie-shared.s +++ b/lld/test/ELF/i386-tls-ie-shared.s @@ -13,8 +13,8 @@ // GOTRELSHARED-NEXT: SHF_ALLOC // GOTRELSHARED-NEXT: SHF_WRITE // GOTRELSHARED-NEXT: ] -// GOTRELSHARED-NEXT: Address: 0x2050 -// GOTRELSHARED-NEXT: Offset: 0x2050 +// GOTRELSHARED-NEXT: Address: 0x1050 +// GOTRELSHARED-NEXT: Offset: 0x1050 // GOTRELSHARED-NEXT: Size: 16 // GOTRELSHARED-NEXT: Link: 0 // GOTRELSHARED-NEXT: Info: 0 @@ -23,43 +23,43 @@ // GOTRELSHARED-NEXT: } // GOTRELSHARED: Relocations [ // GOTRELSHARED-NEXT: Section ({{.*}}) .rel.dyn { -// GOTRELSHARED-NEXT: 0x1002 R_386_RELATIVE - 0x0 -// GOTRELSHARED-NEXT: 0x2050 R_386_TLS_TPOFF tlslocal0 0x0 -// GOTRELSHARED-NEXT: 0x100A R_386_RELATIVE - 0x0 -// GOTRELSHARED-NEXT: 0x1013 R_386_RELATIVE - 0x0 -// GOTRELSHARED-NEXT: 0x101C R_386_RELATIVE - 0x0 -// GOTRELSHARED-NEXT: 0x2054 R_386_TLS_TPOFF tlslocal1 0x0 -// GOTRELSHARED-NEXT: 0x1024 R_386_RELATIVE - 0x0 -// GOTRELSHARED-NEXT: 0x102D R_386_RELATIVE - 0x0 -// GOTRELSHARED-NEXT: 0x1036 R_386_RELATIVE - 0x0 -// GOTRELSHARED-NEXT: 0x2058 R_386_TLS_TPOFF tlsshared0 0x0 -// GOTRELSHARED-NEXT: 0x103F R_386_RELATIVE - 0x0 -// GOTRELSHARED-NEXT: 0x205C R_386_TLS_TPOFF tlsshared1 0x0 +// GOTRELSHARED-NEXT: 0x2002 R_386_RELATIVE - 0x0 +// GOTRELSHARED-NEXT: 0x1050 R_386_TLS_TPOFF tlslocal0 0x0 +// GOTRELSHARED-NEXT: 0x200A R_386_RELATIVE - 0x0 +// GOTRELSHARED-NEXT: 0x2013 R_386_RELATIVE - 0x0 +// GOTRELSHARED-NEXT: 0x201C R_386_RELATIVE - 0x0 +// GOTRELSHARED-NEXT: 0x1054 R_386_TLS_TPOFF tlslocal1 0x0 +// GOTRELSHARED-NEXT: 0x2024 R_386_RELATIVE - 0x0 +// GOTRELSHARED-NEXT: 0x202D R_386_RELATIVE - 0x0 +// GOTRELSHARED-NEXT: 0x2036 R_386_RELATIVE - 0x0 +// GOTRELSHARED-NEXT: 0x1058 R_386_TLS_TPOFF tlsshared0 0x0 +// GOTRELSHARED-NEXT: 0x203F R_386_RELATIVE - 0x0 +// GOTRELSHARED-NEXT: 0x105C R_386_TLS_TPOFF tlsshared1 0x0 // GOTRELSHARED-NEXT: } // GOTRELSHARED-NEXT: ] -// DISASMSHARED: Disassembly of section .text: +// DISASMSHARED: Disassembly of section test: // DISASMSHARED-NEXT: _start: // (.got)[0] = 0x2050 = 8272 // (.got)[1] = 0x2054 = 8276 // (.got)[2] = 0x2058 = 8280 // (.got)[3] = 0x205C = 8284 -// DISASMSHARED-NEXT: 1000: 8b 0d 50 20 00 00 movl 8272, %ecx -// DISASMSHARED-NEXT: 1006: 65 8b 01 movl %gs:(%ecx), %eax -// DISASMSHARED-NEXT: 1009: a1 50 20 00 00 movl 8272, %eax -// DISASMSHARED-NEXT: 100e: 65 8b 00 movl %gs:(%eax), %eax -// DISASMSHARED-NEXT: 1011: 03 0d 50 20 00 00 addl 8272, %ecx -// DISASMSHARED-NEXT: 1017: 65 8b 01 movl %gs:(%ecx), %eax -// DISASMSHARED-NEXT: 101a: 8b 0d 54 20 00 00 movl 8276, %ecx -// DISASMSHARED-NEXT: 1020: 65 8b 01 movl %gs:(%ecx), %eax -// DISASMSHARED-NEXT: 1023: a1 54 20 00 00 movl 8276, %eax -// DISASMSHARED-NEXT: 1028: 65 8b 00 movl %gs:(%eax), %eax -// DISASMSHARED-NEXT: 102b: 03 0d 54 20 00 00 addl 8276, %ecx -// DISASMSHARED-NEXT: 1031: 65 8b 01 movl %gs:(%ecx), %eax -// DISASMSHARED-NEXT: 1034: 8b 0d 58 20 00 00 movl 8280, %ecx -// DISASMSHARED-NEXT: 103a: 65 8b 01 movl %gs:(%ecx), %eax -// DISASMSHARED-NEXT: 103d: 03 0d 5c 20 00 00 addl 8284, %ecx -// DISASMSHARED-NEXT: 1043: 65 8b 01 movl %gs:(%ecx), %eax +// DISASMSHARED-NEXT: 2000: 8b 0d 50 10 00 00 movl 4176, %ecx +// DISASMSHARED-NEXT: 2006: 65 8b 01 movl %gs:(%ecx), %eax +// DISASMSHARED-NEXT: 2009: a1 50 10 00 00 movl 4176, %eax +// DISASMSHARED-NEXT: 200e: 65 8b 00 movl %gs:(%eax), %eax +// DISASMSHARED-NEXT: 2011: 03 0d 50 10 00 00 addl 4176, %ecx +// DISASMSHARED-NEXT: 2017: 65 8b 01 movl %gs:(%ecx), %eax +// DISASMSHARED-NEXT: 201a: 8b 0d 54 10 00 00 movl 4180, %ecx +// DISASMSHARED-NEXT: 2020: 65 8b 01 movl %gs:(%ecx), %eax +// DISASMSHARED-NEXT: 2023: a1 54 10 00 00 movl 4180, %eax +// DISASMSHARED-NEXT: 2028: 65 8b 00 movl %gs:(%eax), %eax +// DISASMSHARED-NEXT: 202b: 03 0d 54 10 00 00 addl 4180, %ecx +// DISASMSHARED-NEXT: 2031: 65 8b 01 movl %gs:(%ecx), %eax +// DISASMSHARED-NEXT: 2034: 8b 0d 58 10 00 00 movl 4184, %ecx +// DISASMSHARED-NEXT: 203a: 65 8b 01 movl %gs:(%ecx), %eax +// DISASMSHARED-NEXT: 203d: 03 0d 5c 10 00 00 addl 4188, %ecx +// DISASMSHARED-NEXT: 2043: 65 8b 01 movl %gs:(%ecx), %eax .type tlslocal0,@object .section .tbss,"awT",@nobits @@ -82,7 +82,7 @@ tlslocal1: .type ___tls_get_addr,@function ___tls_get_addr: -.section .text +.section test, "axw" .globl _start _start: movl tlslocal0@indntpoff,%ecx diff --git a/lld/test/ELF/merge-shared-str.s b/lld/test/ELF/merge-shared-str.s index 01251253bbc..2ab03a4d66a 100644 --- a/lld/test/ELF/merge-shared-str.s +++ b/lld/test/ELF/merge-shared-str.s @@ -8,7 +8,7 @@ .asciz "bar" .asciz "ar" - .text + .data .quad foo + 4 diff --git a/lld/test/ELF/merge-shared.s b/lld/test/ELF/merge-shared.s index 702a4e195f3..4c1d7c06a0b 100644 --- a/lld/test/ELF/merge-shared.s +++ b/lld/test/ELF/merge-shared.s @@ -7,7 +7,7 @@ .long 42 .long 42 - .text + .data .quad foo + 6 diff --git a/lld/test/ELF/merge-string-error.s b/lld/test/ELF/merge-string-error.s index 235a3d7383c..c5088acf63b 100644 --- a/lld/test/ELF/merge-string-error.s +++ b/lld/test/ELF/merge-string-error.s @@ -5,7 +5,7 @@ .section .rodata.str1.1,"aMS",@progbits,1 .asciz "abc" - .text + .data .long .rodata.str1.1 + 4 // CHECK: entry is past the end of the section diff --git a/lld/test/ELF/relative-dynamic-reloc-pie.s b/lld/test/ELF/relative-dynamic-reloc-pie.s index 1c3c6ab119c..d9967af52eb 100644 --- a/lld/test/ELF/relative-dynamic-reloc-pie.s +++ b/lld/test/ELF/relative-dynamic-reloc-pie.s @@ -5,9 +5,9 @@ ## Test that we create R_X86_64_RELATIVE relocations with -pie. # CHECK: Relocations [ # CHECK-NEXT: Section ({{.*}}) .rela.dyn { -# CHECK-NEXT: 0x1001 R_X86_64_RELATIVE - 0x1001 -# CHECK-NEXT: 0x1009 R_X86_64_RELATIVE - 0x1009 -# CHECK-NEXT: 0x1011 R_X86_64_RELATIVE - 0x100A +# CHECK-NEXT: 0x3000 R_X86_64_RELATIVE - 0x3000 +# CHECK-NEXT: 0x3008 R_X86_64_RELATIVE - 0x3008 +# CHECK-NEXT: 0x3010 R_X86_64_RELATIVE - 0x3009 # CHECK-NEXT: } # CHECK-NEXT: ] @@ -15,6 +15,7 @@ _start: nop + .data foo: .quad foo diff --git a/lld/test/ELF/relative-dynamic-reloc-ppc64.s b/lld/test/ELF/relative-dynamic-reloc-ppc64.s index cbad5a81392..81a7a7027bb 100644 --- a/lld/test/ELF/relative-dynamic-reloc-ppc64.s +++ b/lld/test/ELF/relative-dynamic-reloc-ppc64.s @@ -10,10 +10,10 @@ // CHECK-NEXT: Section ({{.*}}) .rela.dyn { // CHECK-NEXT: 0x[[FOO_ADDR:.*]] R_PPC64_RELATIVE - 0x[[FOO_ADDR]] // CHECK-NEXT: 0x[[BAR_ADDR:.*]] R_PPC64_RELATIVE - 0x[[BAR_ADDR]] -// CHECK-NEXT: 0x10010 R_PPC64_RELATIVE - 0x10009 +// CHECK-NEXT: 0x20010 R_PPC64_RELATIVE - 0x20009 // CHECK-NEXT: 0x{{.*}} R_PPC64_RELATIVE - 0x[[ZED_ADDR:.*]] // CHECK-NEXT: 0x{{.*}} R_PPC64_RELATIVE - 0x[[FOO_ADDR]] -// CHECK-NEXT: 0x30008 R_PPC64_ADDR64 external 0x0 +// CHECK-NEXT: 0x20028 R_PPC64_ADDR64 external 0x0 // CHECK-NEXT: } // CHECK-NEXT: ] @@ -47,6 +47,7 @@ // CHECK-NEXT: } // CHECK-NEXT: ] + .data foo: .quad foo diff --git a/lld/test/ELF/relative-dynamic-reloc.s b/lld/test/ELF/relative-dynamic-reloc.s index 4e7d5585c70..aac55669bb1 100644 --- a/lld/test/ELF/relative-dynamic-reloc.s +++ b/lld/test/ELF/relative-dynamic-reloc.s @@ -9,10 +9,10 @@ // CHECK-NEXT: Section ({{.*}}) .rela.dyn { // CHECK-NEXT: 0x[[FOO_ADDR:.*]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]] // CHECK-NEXT: 0x[[BAR_ADDR:.*]] R_X86_64_RELATIVE - 0x[[BAR_ADDR]] -// CHECK-NEXT: 0x1010 R_X86_64_RELATIVE - 0x1009 +// CHECK-NEXT: 0x2010 R_X86_64_RELATIVE - 0x2009 // CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x[[ZED_ADDR:.*]] // CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x[[FOO_ADDR]] -// CHECK-NEXT: 0x3008 R_X86_64_64 external 0x0 +// CHECK-NEXT: 0x2028 R_X86_64_64 external 0x0 // CHECK-NEXT: } // CHECK-NEXT: ] @@ -46,6 +46,7 @@ // CHECK-NEXT: } // CHECK-NEXT: ] + .data foo: .quad foo diff --git a/lld/test/ELF/relocation-past-merge-end.s b/lld/test/ELF/relocation-past-merge-end.s index 409b4e2ed2a..993b071f62d 100644 --- a/lld/test/ELF/relocation-past-merge-end.s +++ b/lld/test/ELF/relocation-past-merge-end.s @@ -3,5 +3,6 @@ // RUN: not ld.lld %t.o -o %t.so -shared 2>&1 | FileCheck %s // CHECK: entry is past the end of the section + .data .long .foo + 1 .section .foo,"aM",@progbits,4 diff --git a/lld/test/ELF/section-symbol.s b/lld/test/ELF/section-symbol.s index 5e546f571ba..5cf71aceec7 100644 --- a/lld/test/ELF/section-symbol.s +++ b/lld/test/ELF/section-symbol.s @@ -37,4 +37,4 @@ // CHECK-NEXT: ] foo: - .quad foo + .quad foo - . diff --git a/lld/test/ELF/startstop-shared.s b/lld/test/ELF/startstop-shared.s index 0e52bac2621..77411f3f25c 100644 --- a/lld/test/ELF/startstop-shared.s +++ b/lld/test/ELF/startstop-shared.s @@ -3,8 +3,9 @@ // RUN: ld.lld %t.o -o %t.so -shared // RUN: llvm-readobj -r -t %t.so | FileCheck %s + .data .quad __start_foo - .section foo,"a" + .section foo,"aw" // By default the symbol is hidden. // CHECK: R_X86_64_RELATIVE - 0x[[ADDR1:.*]] diff --git a/lld/test/ELF/startstop.s b/lld/test/ELF/startstop.s index 3ef0028fb30..a7b2e43e6a5 100644 --- a/lld/test/ELF/startstop.s +++ b/lld/test/ELF/startstop.s @@ -22,10 +22,10 @@ // SYMBOL: Relocations [ // SYMBOL-NEXT: Section ({{.*}}) .rela.dyn { -// SYMBOL-NEXT: 0x1015 R_X86_64_RELATIVE - 0x1035 -// SYMBOL-NEXT: 0x101D R_X86_64_RELATIVE - 0x1036 -// SYMBOL-NEXT: 0x1025 R_X86_64_RELATIVE - 0x1025 -// SYMBOL-NEXT: 0x102D R_X86_64_RELATIVE - 0x1026 +// SYMBOL-NEXT: 0x3000 R_X86_64_RELATIVE - 0x3020 +// SYMBOL-NEXT: 0x3008 R_X86_64_RELATIVE - 0x3021 +// SYMBOL-NEXT: 0x3010 R_X86_64_RELATIVE - 0x3010 +// SYMBOL-NEXT: 0x3018 R_X86_64_RELATIVE - 0x3011 // SYMBOL-NEXT: } // SYMBOL-NEXT: ] @@ -66,10 +66,10 @@ _start: nop nop -.section zed1, "ax" +.section zed1, "aw" .quad __stop_zed2 .quad __stop_zed2 + 1 -.section zed2, "ax" +.section zed2, "aw" .quad __stop_zed1 .quad __stop_zed1 + 1 |