diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-09-20 15:08:24 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-09-20 15:08:24 +0000 |
| commit | 1b87995f3181c1bb84264e3916b85f14c99f060a (patch) | |
| tree | 16649cf386675bab39fd52c69d13c8b9200d9d2a | |
| parent | 3d9c7638161c69c409dd862f676289cd969b6f11 (diff) | |
| download | bcm5719-llvm-1b87995f3181c1bb84264e3916b85f14c99f060a.tar.gz bcm5719-llvm-1b87995f3181c1bb84264e3916b85f14c99f060a.zip | |
Make tests less dependent on the exact layout.
In most cases that means just not checking the address when we don't
need it.
For some tests it is easier to just set . to a known value.
llvm-svn: 281976
| -rw-r--r-- | lld/test/ELF/arm-blx.s | 1 | ||||
| -rw-r--r-- | lld/test/ELF/arm-branch.s | 1 | ||||
| -rw-r--r-- | lld/test/ELF/arm-thumb-branch.s | 1 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/eh-frame-hdr.s | 4 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/exclude-multiple.s | 12 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/filename-spec.s | 4 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/fill.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/input-sec-dup.s | 8 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/merge-sections.s | 26 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/sections-constraint.s | 22 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/sections-keep.s | 50 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/sections-padding.s | 8 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/sizeof.s | 12 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/sort-nested.s | 8 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/sort.s | 58 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/symbol-assignexpr.s | 4 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/symbols.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/wildcards.s | 46 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/wildcards2.s | 8 |
19 files changed, 145 insertions, 132 deletions
diff --git a/lld/test/ELF/arm-blx.s b/lld/test/ELF/arm-blx.s index cccb1324fc8..159eee51c74 100644 --- a/lld/test/ELF/arm-blx.s +++ b/lld/test/ELF/arm-blx.s @@ -1,6 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %S/Inputs/far-arm-thumb-abs.s -o %tfar // RUN: echo "SECTIONS { \ +// RUN: . = 0xb4; \ // RUN: .callee1 : { *(.callee_low) } \ // RUN: .callee2 : { *(.callee_arm_low) } \ // RUN: .caller : { *(.text) } \ diff --git a/lld/test/ELF/arm-branch.s b/lld/test/ELF/arm-branch.s index 38266fabf85..986863d3d80 100644 --- a/lld/test/ELF/arm-branch.s +++ b/lld/test/ELF/arm-branch.s @@ -1,6 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %S/Inputs/far-arm-abs.s -o %tfar // RUN: echo "SECTIONS { \ +// RUN: . = 0xb4; \ // RUN: .callee1 : { *(.callee_low) } \ // RUN: .caller : { *(.text) } \ // RUN: .callee2 : { *(.callee_high) } } " > %t.script diff --git a/lld/test/ELF/arm-thumb-branch.s b/lld/test/ELF/arm-thumb-branch.s index 94be9ecb6e5..4dc0280b22f 100644 --- a/lld/test/ELF/arm-thumb-branch.s +++ b/lld/test/ELF/arm-thumb-branch.s @@ -1,6 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=thumbv7a-none-linux-gnueabi %s -o %t // RUN: llvm-mc -filetype=obj -triple=thumbv7a-none-linux-gnueabi %S/Inputs/far-arm-thumb-abs.s -o %tfar // RUN: echo "SECTIONS { \ +// RUN: . = 0xb4; \ // RUN: .callee1 : { *(.callee_low) } \ // RUN: .caller : { *(.text) } \ // RUN: .callee2 : { *(.callee_high) } } " > %t.script diff --git a/lld/test/ELF/linkerscript/eh-frame-hdr.s b/lld/test/ELF/linkerscript/eh-frame-hdr.s index 51e0b484c99..d1545be632a 100644 --- a/lld/test/ELF/linkerscript/eh-frame-hdr.s +++ b/lld/test/ELF/linkerscript/eh-frame-hdr.s @@ -7,8 +7,8 @@ # RUN: ld.lld -o %t1 --eh-frame-hdr --script %t.script %t # RUN: llvm-objdump -s -section=".eh_frame_hdr" %t1 | FileCheck %s -# CHECK: 0158 011b033b 14000000 01000000 49000000 -# CHECK-NEXT: 0168 30000000 +# CHECK: 011b033b 14000000 01000000 49000000 +# CHECK-NEXT: 30000000 .global _start _start: diff --git a/lld/test/ELF/linkerscript/exclude-multiple.s b/lld/test/ELF/linkerscript/exclude-multiple.s index 24c7f2faeea..14272bf4b02 100644 --- a/lld/test/ELF/linkerscript/exclude-multiple.s +++ b/lld/test/ELF/linkerscript/exclude-multiple.s @@ -9,14 +9,14 @@ # RUN: llvm-objdump -s %t1.o | FileCheck %s # CHECK: Contents of section .foo: -# CHECK-NEXT: 0120 01000000 00000000 04000000 00000000 -# CHECK-NEXT: 0130 07000000 00000000 05000000 00000000 -# CHECK-NEXT: 0140 08000000 00000000 03000000 00000000 -# CHECK-NEXT: 0150 09000000 00000000 +# CHECK-NEXT: 01000000 00000000 04000000 00000000 +# CHECK-NEXT: 07000000 00000000 05000000 00000000 +# CHECK-NEXT: 08000000 00000000 03000000 00000000 +# CHECK-NEXT: 09000000 00000000 # CHECK-NEXT: Contents of section .foo.2: -# CHECK-NEXT: 0158 02000000 00000000 +# CHECK-NEXT: 02000000 00000000 # CHECK-NEXT: Contents of section .foo.3: -# CHECK-NEXT: 0160 06000000 00000000 +# CHECK-NEXT: 06000000 00000000 .section .foo.1,"a" .quad 1 diff --git a/lld/test/ELF/linkerscript/filename-spec.s b/lld/test/ELF/linkerscript/filename-spec.s index be1755815bb..d4bc495efb8 100644 --- a/lld/test/ELF/linkerscript/filename-spec.s +++ b/lld/test/ELF/linkerscript/filename-spec.s @@ -9,7 +9,7 @@ # RUN: ld.lld -o %t1 --script %t1.script %tfirst.o %tsecond.o # RUN: llvm-objdump -s %t1 | FileCheck --check-prefix=FIRSTSECOND %s # FIRSTSECOND: Contents of section .foo: -# FIRSTSECOND-NEXT: 0120 01000000 00000000 11000000 00000000 +# FIRSTSECOND-NEXT: 01000000 00000000 11000000 00000000 # RUN: echo "SECTIONS { .foo : { \ # RUN: KEEP(*second.o(.foo)) \ @@ -17,7 +17,7 @@ # RUN: ld.lld -o %t2 --script %t2.script %tfirst.o %tsecond.o # RUN: llvm-objdump -s %t2 | FileCheck --check-prefix=SECONDFIRST %s # SECONDFIRST: Contents of section .foo: -# SECONDFIRST-NEXT: 0120 11000000 00000000 01000000 00000000 +# SECONDFIRST-NEXT: 11000000 00000000 01000000 00000000 ## Now the same tests but without KEEP. Checking that file name inside ## KEEP is parsed fine. diff --git a/lld/test/ELF/linkerscript/fill.s b/lld/test/ELF/linkerscript/fill.s index e6d93b8f57c..57a19e0943d 100644 --- a/lld/test/ELF/linkerscript/fill.s +++ b/lld/test/ELF/linkerscript/fill.s @@ -15,7 +15,7 @@ # RUN: llvm-objdump -s %t | FileCheck %s # CHECK: Contents of section .out: -# CHECK-NEXT: 0120 aa222222 22bb2222 22222222 2222 +# CHECK-NEXT: aa222222 22bb2222 22222222 2222 .text .globl _start diff --git a/lld/test/ELF/linkerscript/input-sec-dup.s b/lld/test/ELF/linkerscript/input-sec-dup.s index f6f8c9c8d4e..fd889393c74 100644 --- a/lld/test/ELF/linkerscript/input-sec-dup.s +++ b/lld/test/ELF/linkerscript/input-sec-dup.s @@ -5,10 +5,10 @@ # RUN: ld.lld -o %t1 --script %t.script %t # RUN: llvm-objdump -section-headers %t1 | FileCheck %s # CHECK: Sections: -# CHECK-NEXT: Idx Name Size Address Type -# CHECK-NEXT: 0 00000000 0000000000000000 -# CHECK-NEXT: 1 .foo 00000004 0000000000000120 DATA -# CHECK-NEXT: 2 .text 00000001 0000000000000124 TEXT DATA +# CHECK-NEXT: Idx Name Size +# CHECK-NEXT: 0 00000000 +# CHECK-NEXT: 1 .foo 00000004 +# CHECK-NEXT: 2 .text 00000001 .global _start _start: diff --git a/lld/test/ELF/linkerscript/merge-sections.s b/lld/test/ELF/linkerscript/merge-sections.s index f9da04c6d23..4d0658abbba 100644 --- a/lld/test/ELF/linkerscript/merge-sections.s +++ b/lld/test/ELF/linkerscript/merge-sections.s @@ -12,8 +12,8 @@ # CHECK-NEXT: SHF_MERGE # CHECK-NEXT: SHF_STRINGS # CHECK-NEXT: ] -# CHECK-NEXT: Address: 0x1C8 -# CHECK-NEXT: Offset: 0x1C8 +# CHECK-NEXT: Address: 0x[[ADDR1:.*]] +# CHECK-NEXT: Offset: 0x[[ADDR1]] # CHECK-NEXT: Size: 4 # CHECK-NEXT: Link: 0 # CHECK-NEXT: Info: 0 @@ -28,8 +28,8 @@ # CHECK-NEXT: SHF_ALLOC # CHECK-NEXT: SHF_MERGE # CHECK-NEXT: ] -# CHECK-NEXT: Address: 0x1CC -# CHECK-NEXT: Offset: 0x1CC +# CHECK-NEXT: Address: 0x +# CHECK-NEXT: Offset: 0x # CHECK-NEXT: Size: 1 # CHECK-NEXT: Link: 0 # CHECK-NEXT: Info: 0 @@ -44,20 +44,30 @@ # CHECK-NEXT: SHF_ALLOC # CHECK-NEXT: SHF_MERGE # CHECK-NEXT: ] -# CHECK-NEXT: Address: 0x1CE -# CHECK-NEXT: Offset: 0x1CE +# CHECK-NEXT: Address: 0x +# CHECK-NEXT: Offset: 0x # CHECK-NEXT: Size: 2 # CHECK-NEXT: Link: 0 # CHECK-NEXT: Info: 0 # CHECK-NEXT: AddressAlignment: 2 # CHECK-NEXT: EntrySize: 2 +# CHECK-NEXT: } +# CHECK-NEXT: Section { +# CHECK-NEXT: Index: +# CHECK-NEXT: Name: +# CHECK-NEXT: Type: +# CHECK-NEXT: Flags [ +# CHECK-NEXT: SHF_ALLOC +# CHECK-NEXT: ] +# CHECK-NEXT: Address: 0x[[ADDR2:.*]] +# CHECK-NEXT: Offset: 0x[[ADDR2]] # CHECK: Name: begin -# CHECK-NEXT: Value: 0x1C8 +# CHECK-NEXT: Value: 0x[[ADDR1]] # CHECK: Name: end -# CHECK-NEXT: Value: 0x1D0 +# CHECK-NEXT: Value: 0x[[ADDR2]] .section .foo.1a,"aMS",@progbits,1 .asciz "foo" diff --git a/lld/test/ELF/linkerscript/sections-constraint.s b/lld/test/ELF/linkerscript/sections-constraint.s index 75c192c32a5..0c1d4072d0c 100644 --- a/lld/test/ELF/linkerscript/sections-constraint.s +++ b/lld/test/ELF/linkerscript/sections-constraint.s @@ -7,10 +7,10 @@ # RUN: llvm-objdump -section-headers %t1 | \ # RUN: FileCheck -check-prefix=BASE %s # BASE: Sections: -# BASE-NEXT: Idx Name Size Address Type -# BASE-NEXT: 0 00000000 0000000000000000 -# BASE-NEXT: 1 .writable 00000004 0000000000000200 DATA -# BASE-NEXT: 2 .readable 00000004 0000000000000204 DATA +# BASE-NEXT: Idx Name Size +# BASE-NEXT: 0 00000000 +# BASE-NEXT: 1 .writable 00000004 +# BASE-NEXT: 2 .readable 00000004 # RUN: echo "SECTIONS { \ # RUN: .foo : ONLY_IF_RO { *(.foo.*) } \ @@ -20,13 +20,13 @@ # RUN: llvm-objdump -section-headers %t2 | \ # RUN: FileCheck -check-prefix=NO1 %s # NO1: Sections: -# NO1-NEXT: Idx Name Size Address Type -# NO1-NEXT: 0 00000000 0000000000000000 -# NO1-NEXT: 1 .writable 00000004 0000000000000200 DATA -# NO1-NEXT: 2 .readable 00000004 0000000000000204 DATA -# NO1-NEXT: 3 .text 00000001 0000000000000208 TEXT DATA -# NO1-NEXT: 4 .foo.2 00000004 0000000000000209 DATA -# NO1-NEXT: 5 .foo.1 00000004 000000000000020d TEXT DATA +# NO1-NEXT: Idx Name Size +# NO1-NEXT: 0 00000000 +# NO1-NEXT: 1 .writable 00000004 +# NO1-NEXT: 2 .readable 00000004 +# NO1-NEXT: 3 .text 00000001 +# NO1-NEXT: 4 .foo.2 00000004 +# NO1-NEXT: 5 .foo.1 00000004 .global _start _start: diff --git a/lld/test/ELF/linkerscript/sections-keep.s b/lld/test/ELF/linkerscript/sections-keep.s index fae6383ca49..c8d69b8a23e 100644 --- a/lld/test/ELF/linkerscript/sections-keep.s +++ b/lld/test/ELF/linkerscript/sections-keep.s @@ -10,10 +10,10 @@ # RUN: llvm-objdump -section-headers %t1 | \ # RUN: FileCheck -check-prefix=SECGC %s # SECGC: Sections: -# SECGC-NEXT: Idx Name Size Address Type -# SECGC-NEXT: 0 00000000 0000000000000000 -# SECGC-NEXT: 1 .text 00000007 0000000000000158 TEXT DATA -# SECGC-NEXT: 2 .temp 00000004 000000000000015f DATA +# SECGC-NEXT: Idx Name Size +# SECGC-NEXT: 0 00000000 +# SECGC-NEXT: 1 .text 00000007 +# SECGC-NEXT: 2 .temp 00000004 ## Now apply KEEP command to preserve the section. # RUN: echo "SECTIONS { \ @@ -24,11 +24,11 @@ # RUN: llvm-objdump -section-headers %t1 | \ # RUN: FileCheck -check-prefix=SECNOGC %s # SECNOGC: Sections: -# SECNOGC-NEXT: Idx Name Size Address Type -# SECNOGC-NEXT: 0 00000000 0000000000000000 -# SECNOGC-NEXT: 1 .text 00000007 0000000000000158 TEXT DATA -# SECNOGC-NEXT: 2 .keep 00000004 000000000000015f DATA -# SECNOGC-NEXT: 3 .temp 00000004 0000000000000163 DATA +# SECNOGC-NEXT: Idx Name Size +# SECNOGC-NEXT: 0 00000000 +# SECNOGC-NEXT: 1 .text 00000007 +# SECNOGC-NEXT: 2 .keep 00000004 +# SECNOGC-NEXT: 3 .temp 00000004 ## A section name matches two entries in the SECTIONS directive. The ## first one doesn't have KEEP, the second one does. If section that have @@ -39,14 +39,14 @@ # RUN: ld.lld --gc-sections -o %t1 --script %t.script %t # RUN: llvm-objdump -section-headers %t1 | FileCheck -check-prefix=MIXED1 %s # MIXED1: Sections: -# MIXED1-NEXT: Idx Name Size Address Type -# MIXED1-NEXT: 0 00000000 0000000000000000 -# MIXED1-NEXT: 1 .keep 00000004 0000000000000120 DATA -# MIXED1-NEXT: 2 .temp 00000004 0000000000000124 DATA -# MIXED1-NEXT: 3 .text 00000007 0000000000000128 TEXT DATA -# MIXED1-NEXT: 4 .symtab 00000060 0000000000000000 -# MIXED1-NEXT: 5 .shstrtab 0000002d 0000000000000000 -# MIXED1-NEXT: 6 .strtab 00000012 0000000000000000 +# MIXED1-NEXT: Idx Name Size +# MIXED1-NEXT: 0 00000000 +# MIXED1-NEXT: 1 .keep 00000004 +# MIXED1-NEXT: 2 .temp 00000004 +# MIXED1-NEXT: 3 .text 00000007 +# MIXED1-NEXT: 4 .symtab 00000060 +# MIXED1-NEXT: 5 .shstrtab 0000002d +# MIXED1-NEXT: 6 .strtab 00000012 ## The same, but now section without KEEP is at first place. ## gold and bfd linkers disagree here. gold collects .keep while @@ -58,14 +58,14 @@ # RUN: ld.lld --gc-sections -o %t1 --script %t.script %t # RUN: llvm-objdump -section-headers %t1 | FileCheck -check-prefix=MIXED2 %s # MIXED2: Sections: -# MIXED2-NEXT: Idx Name Size Address Type -# MIXED2-NEXT: 0 00000000 0000000000000000 -# MIXED2-NEXT: 1 .nokeep 00000004 0000000000000120 DATA -# MIXED2-NEXT: 2 .temp 00000004 0000000000000124 DATA -# MIXED2-NEXT: 3 .text 00000007 0000000000000128 TEXT DATA -# MIXED2-NEXT: 4 .symtab 00000060 0000000000000000 -# MIXED2-NEXT: 5 .shstrtab 0000002f 0000000000000000 -# MIXED2-NEXT: 6 .strtab 00000012 0000000000000000 +# MIXED2-NEXT: Idx Name Size +# MIXED2-NEXT: 0 00000000 +# MIXED2-NEXT: 1 .nokeep 00000004 +# MIXED2-NEXT: 2 .temp 00000004 +# MIXED2-NEXT: 3 .text 00000007 +# MIXED2-NEXT: 4 .symtab 00000060 +# MIXED2-NEXT: 5 .shstrtab 0000002f +# MIXED2-NEXT: 6 .strtab 00000012 .global _start _start: diff --git a/lld/test/ELF/linkerscript/sections-padding.s b/lld/test/ELF/linkerscript/sections-padding.s index a209227622d..e9efc75bd7f 100644 --- a/lld/test/ELF/linkerscript/sections-padding.s +++ b/lld/test/ELF/linkerscript/sections-padding.s @@ -5,25 +5,25 @@ # RUN: echo "SECTIONS { .mysec : { *(.mysec*) } =0x1122 }" > %t.script # RUN: ld.lld -o %t.out --script %t.script %t # RUN: llvm-objdump -s %t.out | FileCheck -check-prefix=YES %s -# YES: 0120 66001122 00001122 00001122 00001122 +# YES: 66001122 00001122 00001122 00001122 ## Confirming that address was correct: # RUN: echo "SECTIONS { .mysec : { *(.mysec*) } =0x99887766 }" > %t.script # RUN: ld.lld -o %t.out --script %t.script %t # RUN: llvm-objdump -s %t.out | FileCheck -check-prefix=YES2 %s -# YES2: 0120 66887766 99887766 99887766 99887766 +# YES2: 66887766 99887766 99887766 99887766 ## Default padding value is 0x00: # RUN: echo "SECTIONS { .mysec : { *(.mysec*) } }" > %t.script # RUN: ld.lld -o %t.out --script %t.script %t # RUN: llvm-objdump -s %t.out | FileCheck -check-prefix=NO %s -# NO: 0120 66000000 00000000 00000000 00000000 +# NO: 66000000 00000000 00000000 00000000 ## Decimal value. # RUN: echo "SECTIONS { .mysec : { *(.mysec*) } =777 }" > %t.script # RUN: ld.lld -o %t.out --script %t.script %t # RUN: llvm-objdump -s %t.out | FileCheck -check-prefix=DEC %s -# DEC: 0120 66000309 00000309 00000309 00000309 +# DEC: 66000309 00000309 00000309 00000309 ## Invalid hex value: # RUN: echo "SECTIONS { .mysec : { *(.mysec*) } =0x99XX }" > %t.script diff --git a/lld/test/ELF/linkerscript/sizeof.s b/lld/test/ELF/linkerscript/sizeof.s index f7420ddfe64..57e0ad7693e 100644 --- a/lld/test/ELF/linkerscript/sizeof.s +++ b/lld/test/ELF/linkerscript/sizeof.s @@ -12,14 +12,14 @@ # RUN: ld.lld -o %t1 --script %t.script %t # RUN: llvm-objdump -t -section-headers %t1 | FileCheck %s # CHECK: Sections: -# CHECK-NEXT: Idx Name Size Address Type -# CHECK-NEXT: 0 00000000 0000000000000000 -# CHECK-NEXT: 1 .aaa 00000008 0000000000000120 DATA -# CHECK-NEXT: 2 .bbb 00000010 0000000000000128 DATA -# CHECK-NEXT: 3 .ccc 00000018 0000000000000138 DATA +# CHECK-NEXT: Idx Name Size +# CHECK-NEXT: 0 00000000 +# CHECK-NEXT: 1 .aaa 00000008 +# CHECK-NEXT: 2 .bbb 00000010 +# CHECK-NEXT: 3 .ccc 00000018 # CHECK: SYMBOL TABLE: # CHECK-NEXT: 0000000000000000 *UND* 00000000 -# CHECK-NEXT: 0000000000000150 .text 00000000 _start +# CHECK-NEXT: .text 00000000 _start # CHECK-NEXT: 0000000000000008 *ABS* 00000000 _aaa # CHECK-NEXT: 0000000000000010 *ABS* 00000000 _bbb # CHECK-NEXT: 0000000000000018 *ABS* 00000000 _ccc diff --git a/lld/test/ELF/linkerscript/sort-nested.s b/lld/test/ELF/linkerscript/sort-nested.s index e155a9166ce..fb1d1a3dd07 100644 --- a/lld/test/ELF/linkerscript/sort-nested.s +++ b/lld/test/ELF/linkerscript/sort-nested.s @@ -8,10 +8,10 @@ # RUN: ld.lld -o %t1 --script %t1.script %t1.o %t2.o # RUN: llvm-objdump -s %t1 | FileCheck -check-prefix=SORTED_AN %s # SORTED_AN: Contents of section .aaa: -# SORTED_AN-NEXT: 0120 01000000 00000000 00000000 00000000 -# SORTED_AN-NEXT: 0130 11000000 00000000 00000000 00000000 -# SORTED_AN-NEXT: 0140 55000000 00000000 22000000 00000000 -# SORTED_AN-NEXT: 0150 02000000 00000000 +# SORTED_AN-NEXT: 01000000 00000000 00000000 00000000 +# SORTED_AN-NEXT: 11000000 00000000 00000000 00000000 +# SORTED_AN-NEXT: 55000000 00000000 22000000 00000000 +# SORTED_AN-NEXT: 02000000 00000000 ## Check sorting first by name and then by alignment. # RUN: echo "SECTIONS { .aaa : { *(SORT_BY_NAME(SORT_BY_ALIGNMENT(.aaa.*))) } }" > %t2.script diff --git a/lld/test/ELF/linkerscript/sort.s b/lld/test/ELF/linkerscript/sort.s index 3886d849127..34bdc2fd88d 100644 --- a/lld/test/ELF/linkerscript/sort.s +++ b/lld/test/ELF/linkerscript/sort.s @@ -7,26 +7,26 @@ # RUN: ld.lld -o %t1 --script %t1.script %t2.o %t1.o # RUN: llvm-objdump -s %t1 | FileCheck -check-prefix=UNSORTED %s # UNSORTED: Contents of section .aaa: -# UNSORTED-NEXT: 0120 55000000 00000000 00000000 00000000 -# UNSORTED-NEXT: 0130 00000000 00000000 00000000 00000000 -# UNSORTED-NEXT: 0140 11000000 00000000 33000000 00000000 -# UNSORTED-NEXT: 0150 22000000 00000000 44000000 00000000 -# UNSORTED-NEXT: 0160 05000000 00000000 01000000 00000000 -# UNSORTED-NEXT: 0170 03000000 00000000 02000000 00000000 -# UNSORTED-NEXT: 0180 04000000 00000000 +# UNSORTED-NEXT: 55000000 00000000 00000000 00000000 +# UNSORTED-NEXT: 00000000 00000000 00000000 00000000 +# UNSORTED-NEXT: 11000000 00000000 33000000 00000000 +# UNSORTED-NEXT: 22000000 00000000 44000000 00000000 +# UNSORTED-NEXT: 05000000 00000000 01000000 00000000 +# UNSORTED-NEXT: 03000000 00000000 02000000 00000000 +# UNSORTED-NEXT: 04000000 00000000 ## Check that SORT works (sorted by name of section). # RUN: echo "SECTIONS { .aaa : { *(SORT(.aaa.*)) } }" > %t2.script # RUN: ld.lld -o %t2 --script %t2.script %t2.o %t1.o # RUN: llvm-objdump -s %t2 | FileCheck -check-prefix=SORTED_A %s # SORTED_A: Contents of section .aaa: -# SORTED_A-NEXT: 0120 11000000 00000000 01000000 00000000 -# SORTED_A-NEXT: 0130 22000000 00000000 02000000 00000000 -# SORTED_A-NEXT: 0140 33000000 00000000 03000000 00000000 -# SORTED_A-NEXT: 0150 44000000 00000000 00000000 00000000 -# SORTED_A-NEXT: 0160 04000000 00000000 55000000 00000000 -# SORTED_A-NEXT: 0170 00000000 00000000 00000000 00000000 -# SORTED_A-NEXT: 0180 05000000 00000000 +# SORTED_A-NEXT: 11000000 00000000 01000000 00000000 +# SORTED_A-NEXT: 22000000 00000000 02000000 00000000 +# SORTED_A-NEXT: 33000000 00000000 03000000 00000000 +# SORTED_A-NEXT: 44000000 00000000 00000000 00000000 +# SORTED_A-NEXT: 04000000 00000000 55000000 00000000 +# SORTED_A-NEXT: 00000000 00000000 00000000 00000000 +# SORTED_A-NEXT: 05000000 00000000 ## When we switch the order of files, check that sorting by ## section names is stable. @@ -34,13 +34,13 @@ # RUN: ld.lld -o %t3 --script %t3.script %t1.o %t2.o # RUN: llvm-objdump -s %t3 | FileCheck -check-prefix=SORTED_B %s # SORTED_B: Contents of section .aaa: -# SORTED_B-NEXT: 0120 01000000 00000000 00000000 00000000 -# SORTED_B-NEXT: 0130 00000000 00000000 00000000 00000000 -# SORTED_B-NEXT: 0140 11000000 00000000 02000000 00000000 -# SORTED_B-NEXT: 0150 22000000 00000000 03000000 00000000 -# SORTED_B-NEXT: 0160 33000000 00000000 00000000 00000000 -# SORTED_B-NEXT: 0170 04000000 00000000 44000000 00000000 -# SORTED_B-NEXT: 0180 05000000 00000000 55000000 00000000 +# SORTED_B-NEXT: 01000000 00000000 00000000 00000000 +# SORTED_B-NEXT: 00000000 00000000 00000000 00000000 +# SORTED_B-NEXT: 11000000 00000000 02000000 00000000 +# SORTED_B-NEXT: 22000000 00000000 03000000 00000000 +# SORTED_B-NEXT: 33000000 00000000 00000000 00000000 +# SORTED_B-NEXT: 04000000 00000000 44000000 00000000 +# SORTED_B-NEXT: 05000000 00000000 55000000 00000000 ## Check that SORT surrounded with KEEP also works. # RUN: echo "SECTIONS { .aaa : { KEEP (*(SORT(.aaa.*))) } }" > %t3.script @@ -57,14 +57,14 @@ # RUN: ld.lld -o %t5 --script %t5.script %t1.o %t2.o # RUN: llvm-objdump -s %t5 | FileCheck -check-prefix=SORTED_ALIGNMENT %s # SORTED_ALIGNMENT: Contents of section .aaa: -# SORTED_ALIGNMENT-NEXT: 0120 05000000 00000000 00000000 00000000 -# SORTED_ALIGNMENT-NEXT: 0130 00000000 00000000 00000000 00000000 -# SORTED_ALIGNMENT-NEXT: 0140 11000000 00000000 00000000 00000000 -# SORTED_ALIGNMENT-NEXT: 0150 04000000 00000000 00000000 00000000 -# SORTED_ALIGNMENT-NEXT: 0160 22000000 00000000 03000000 00000000 -# SORTED_ALIGNMENT-NEXT: 0170 33000000 00000000 02000000 00000000 -# SORTED_ALIGNMENT-NEXT: 0180 44000000 00000000 01000000 00000000 -# SORTED_ALIGNMENT-NEXT: 0190 55000000 00000000 +# SORTED_ALIGNMENT-NEXT: 05000000 00000000 00000000 00000000 +# SORTED_ALIGNMENT-NEXT: 00000000 00000000 00000000 00000000 +# SORTED_ALIGNMENT-NEXT: 11000000 00000000 00000000 00000000 +# SORTED_ALIGNMENT-NEXT: 04000000 00000000 00000000 00000000 +# SORTED_ALIGNMENT-NEXT: 22000000 00000000 03000000 00000000 +# SORTED_ALIGNMENT-NEXT: 33000000 00000000 02000000 00000000 +# SORTED_ALIGNMENT-NEXT: 44000000 00000000 01000000 00000000 +# SORTED_ALIGNMENT-NEXT: 55000000 00000000 ## SORT_NONE itself does not sort anything. # RUN: echo "SECTIONS { .aaa : { *(SORT_NONE(.aaa.*)) } }" > %t6.script diff --git a/lld/test/ELF/linkerscript/symbol-assignexpr.s b/lld/test/ELF/linkerscript/symbol-assignexpr.s index 6e256e6a5e8..74e9275beeb 100644 --- a/lld/test/ELF/linkerscript/symbol-assignexpr.s +++ b/lld/test/ELF/linkerscript/symbol-assignexpr.s @@ -19,8 +19,8 @@ # CHECK: SYMBOL TABLE: # CHECK-NEXT: 0000000000000000 *UND* 00000000 -# CHECK-NEXT: 0000000000000120 .text 00000000 _start -# CHECK-NEXT: 0000000000000121 .text 00000000 foo +# CHECK-NEXT: .text 00000000 _start +# CHECK-NEXT: .text 00000000 foo # CHECK-NEXT: 0000000000200000 *ABS* 00000000 symbol # CHECK-NEXT: 0000000000201234 *ABS* 00000000 symbol2 # CHECK-NEXT: 0000000000201234 *ABS* 00000000 symbol3 diff --git a/lld/test/ELF/linkerscript/symbols.s b/lld/test/ELF/linkerscript/symbols.s index f8b0a31e3b9..ef6004cc84b 100644 --- a/lld/test/ELF/linkerscript/symbols.s +++ b/lld/test/ELF/linkerscript/symbols.s @@ -7,7 +7,7 @@ # RUN: echo "SECTIONS {.text : {*(.text.*)} text_end = .;}" > %t.script # RUN: ld.lld -o %t1 --script %t.script %t # RUN: llvm-objdump -t %t1 | FileCheck --check-prefix=SIMPLE %s -# SIMPLE: 0000000000000121 *ABS* 00000000 text_end +# SIMPLE: *ABS* 00000000 text_end # The symbol is not referenced. Don't provide it. # RUN: echo "SECTIONS { PROVIDE(newsym = 1);}" > %t.script diff --git a/lld/test/ELF/linkerscript/wildcards.s b/lld/test/ELF/linkerscript/wildcards.s index 2fe0f881bf4..018eec84828 100644 --- a/lld/test/ELF/linkerscript/wildcards.s +++ b/lld/test/ELF/linkerscript/wildcards.s @@ -8,15 +8,15 @@ # RUN: llvm-objdump -section-headers %t.out | \ # RUN: FileCheck -check-prefix=SEC-DEFAULT %s # SEC-DEFAULT: Sections: -# SEC-DEFAULT-NEXT: Idx Name Size Address Type -# SEC-DEFAULT-NEXT: 0 00000000 0000000000000000 -# SEC-DEFAULT-NEXT: 1 .text 00000008 0000000000000120 TEXT DATA -# SEC-DEFAULT-NEXT: 2 .abcd 00000004 0000000000000128 TEXT DATA -# SEC-DEFAULT-NEXT: 3 .ad 00000004 000000000000012c TEXT DATA -# SEC-DEFAULT-NEXT: 4 .ag 00000004 0000000000000130 TEXT DATA -# SEC-DEFAULT-NEXT: 5 .symtab 00000030 0000000000000000 -# SEC-DEFAULT-NEXT: 6 .shstrtab 0000002f 0000000000000000 -# SEC-DEFAULT-NEXT: 7 .strtab 00000008 0000000000000000 +# SEC-DEFAULT-NEXT: Idx Name Size +# SEC-DEFAULT-NEXT: 0 00000000 +# SEC-DEFAULT-NEXT: 1 .text 00000008 +# SEC-DEFAULT-NEXT: 2 .abcd 00000004 +# SEC-DEFAULT-NEXT: 3 .ad 00000004 +# SEC-DEFAULT-NEXT: 4 .ag 00000004 +# SEC-DEFAULT-NEXT: 5 .symtab 00000030 +# SEC-DEFAULT-NEXT: 6 .shstrtab 0000002f +# SEC-DEFAULT-NEXT: 7 .strtab 00000008 ## Now replace the symbol with '?' and check that results are the same. # RUN: echo "SECTIONS { \ @@ -32,14 +32,14 @@ # RUN: llvm-objdump -section-headers %t.out | \ # RUN: FileCheck -check-prefix=SEC-ALL %s # SEC-ALL: Sections: -# SEC-ALL-NEXT: Idx Name Size Address Type -# SEC-ALL-NEXT: 0 00000000 0000000000000000 -# SEC-ALL-NEXT: 1 .text 0000000c 0000000000000120 TEXT DATA -# SEC-ALL-NEXT: 2 .ad 00000004 000000000000012c TEXT DATA -# SEC-ALL-NEXT: 3 .ag 00000004 0000000000000130 TEXT DATA -# SEC-ALL-NEXT: 4 .symtab 00000030 0000000000000000 -# SEC-ALL-NEXT: 5 .shstrtab 00000029 0000000000000000 -# SEC-ALL-NEXT: 6 .strtab 00000008 0000000000000000 +# SEC-ALL-NEXT: Idx Name Size +# SEC-ALL-NEXT: 0 00000000 +# SEC-ALL-NEXT: 1 .text 0000000c +# SEC-ALL-NEXT: 2 .ad 00000004 +# SEC-ALL-NEXT: 3 .ag 00000004 +# SEC-ALL-NEXT: 4 .symtab 00000030 +# SEC-ALL-NEXT: 5 .shstrtab 00000029 +# SEC-ALL-NEXT: 6 .strtab 00000008 ## All sections started with .a are merged. # RUN: echo "SECTIONS { \ @@ -48,12 +48,12 @@ # RUN: llvm-objdump -section-headers %t.out | \ # RUN: FileCheck -check-prefix=SEC-NO %s # SEC-NO: Sections: -# SEC-NO-NEXT: Idx Name Size Address Type -# SEC-NO-NEXT: 0 00000000 0000000000000000 -# SEC-NO-NEXT: 1 .text 00000014 0000000000000120 TEXT DATA -# SEC-NO-NEXT: 2 .symtab 00000030 0000000000000000 -# SEC-NO-NEXT: 3 .shstrtab 00000021 0000000000000000 -# SEC-NO-NEXT: 4 .strtab 00000008 0000000000000000 +# SEC-NO-NEXT: Idx Name Size +# SEC-NO-NEXT: 0 00000000 +# SEC-NO-NEXT: 1 .text 00000014 +# SEC-NO-NEXT: 2 .symtab 00000030 +# SEC-NO-NEXT: 3 .shstrtab 00000021 +# SEC-NO-NEXT: 4 .strtab 00000008 .text .section .abc,"ax",@progbits diff --git a/lld/test/ELF/linkerscript/wildcards2.s b/lld/test/ELF/linkerscript/wildcards2.s index e8a0f58c52e..5e8d6a3d309 100644 --- a/lld/test/ELF/linkerscript/wildcards2.s +++ b/lld/test/ELF/linkerscript/wildcards2.s @@ -8,10 +8,10 @@ # RUN: llvm-objdump -section-headers %t.out | \ # RUN: FileCheck %s # CHECK: Sections: -# CHECK-NEXT: Idx Name Size Address Type -# CHECK-NEXT: 0 00000000 0000000000000000 -# CHECK-NEXT: 1 .text 00000004 0000000000000120 TEXT DATA -# CHECK-NEXT: 2 aabc 00000004 0000000000000124 TEXT DATA +# CHECK-NEXT: Idx Name Size +# CHECK-NEXT: 0 00000000 +# CHECK-NEXT: 1 .text 00000004 +# CHECK-NEXT: 2 aabc 00000004 .text .section .abc,"ax",@progbits |

