36 changes: 26 additions & 10 deletions lld/test/ELF/basic.s
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ _start:
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Entry: [[ENTRY:0x[0-9A-F]+]]
# CHECK-NEXT: ProgramHeaderOffset: 0x40
# CHECK-NEXT: SectionHeaderOffset: 0x1070
# CHECK-NEXT: SectionHeaderOffset: 0x1080
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: HeaderSize: 64
# CHECK-NEXT: ProgramHeaderEntrySize: 56
# CHECK-NEXT: ProgramHeaderCount: 4
# CHECK-NEXT: SectionHeaderEntrySize: 64
# CHECK-NEXT: SectionHeaderCount: 5
# CHECK-NEXT: StringTableSectionIndex: 3
# CHECK-NEXT: SectionHeaderCount: 6
# CHECK-NEXT: StringTableSectionIndex: 4
# CHECK-NEXT: }
# CHECK-NEXT: Sections [
# CHECK-NEXT: Section {
Expand Down Expand Up @@ -70,40 +70,56 @@ _start:
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 2
# CHECK-NEXT: Name: .comment
# CHECK-NEXT: Type: SHT_PROGBITS (0x1)
# CHECK-NEXT: Flags [ (0x30)
# CHECK-NEXT: SHF_MERGE (0x10)
# CHECK-NEXT: SHF_STRINGS (0x20)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 8
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
# CHECK-NEXT: AddressAlignment: 1
# CHECK-NEXT: EntrySize: 1
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 3
# CHECK-NEXT: Name: .symtab
# CHECK-NEXT: Type: SHT_SYMTAB (0x2)
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Offset: 0x1018
# CHECK-NEXT: Size: 48
# CHECK-NEXT: Link: 4
# CHECK-NEXT: Link: 5
# CHECK-NEXT: Info: 1
# CHECK-NEXT: AddressAlignment: 8
# CHECK-NEXT: EntrySize: 24
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 3
# CHECK-NEXT: Index: 4
# CHECK-NEXT: Name: .shstrtab
# CHECK-NEXT: Type: SHT_STRTAB (0x3)
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x1040
# CHECK-NEXT: Size: 33
# CHECK-NEXT: Offset: 0x1048
# CHECK-NEXT: Size: 42
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
# CHECK-NEXT: AddressAlignment: 1
# CHECK-NEXT: EntrySize: 0
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 4
# CHECK-NEXT: Index: 5
# CHECK-NEXT: Name: .strtab
# CHECK-NEXT: Type: SHT_STRTAB (0x3)
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x1061
# CHECK-NEXT: Offset: 0x1072
# CHECK-NEXT: Size: 8
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
Expand Down
36 changes: 26 additions & 10 deletions lld/test/ELF/basic32.s
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ _start:
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Entry: 0x11000
# CHECK-NEXT: ProgramHeaderOffset: 0x34
# CHECK-NEXT: SectionHeaderOffset: 0x1058
# CHECK-NEXT: SectionHeaderOffset: 0x1068
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: HeaderSize: 52
# CHECK-NEXT: ProgramHeaderEntrySize: 32
# CHECK-NEXT: ProgramHeaderCount: 4
# CHECK-NEXT: SectionHeaderEntrySize: 40
# CHECK-NEXT: SectionHeaderCount: 5
# CHECK-NEXT: StringTableSectionIndex: 3
# CHECK-NEXT: SectionHeaderCount: 6
# CHECK-NEXT: StringTableSectionIndex: 4
# CHECK-NEXT: }
# CHECK-NEXT: Sections [
# CHECK-NEXT: Section {
Expand Down Expand Up @@ -68,40 +68,56 @@ _start:
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 2
# CHECK-NEXT: Name: .comment
# CHECK-NEXT: Type: SHT_PROGBITS (0x1)
# CHECK-NEXT: Flags [ (0x30)
# CHECK-NEXT: SHF_MERGE (0x10)
# CHECK-NEXT: SHF_STRINGS (0x20)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x100C
# CHECK-NEXT: Size: 8
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
# CHECK-NEXT: AddressAlignment: 1
# CHECK-NEXT: EntrySize: 1
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 3
# CHECK-NEXT: Name: .symtab
# CHECK-NEXT: Type: SHT_SYMTAB
# CHECK-NEXT: Flags [
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x100C
# CHECK-NEXT: Offset: 0x1014
# CHECK-NEXT: Size: 32
# CHECK-NEXT: Link: 4
# CHECK-NEXT: Link: 5
# CHECK-NEXT: Info: 1
# CHECK-NEXT: AddressAlignment: 4
# CHECK-NEXT: EntrySize: 16
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 3
# CHECK-NEXT: Index: 4
# CHECK-NEXT: Name: .shstrtab
# CHECK-NEXT: Type: SHT_STRTAB (0x3)
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x102C
# CHECK-NEXT: Size: 33
# CHECK-NEXT: Offset: 0x1034
# CHECK-NEXT: Size: 42
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
# CHECK-NEXT: AddressAlignment: 1
# CHECK-NEXT: EntrySize: 0
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 4
# CHECK-NEXT: Index: 5
# CHECK-NEXT: Name: .strtab
# CHECK-NEXT: Type: SHT_STRTAB (0x3)
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x104D
# CHECK-NEXT: Offset: 0x105E
# CHECK-NEXT: Size: 8
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
Expand Down
39 changes: 29 additions & 10 deletions lld/test/ELF/basic64be.s
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ _start:
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Entry: 0x10020040
# CHECK-NEXT: ProgramHeaderOffset: 0x40
# CHECK-NEXT: SectionHeaderOffset: 0x200C8
# CHECK-NEXT: SectionHeaderOffset: 0x200D8
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: HeaderSize: 64
# CHECK-NEXT: ProgramHeaderEntrySize: 56
# CHECK-NEXT: ProgramHeaderCount: 6
# CHECK-NEXT: SectionHeaderEntrySize: 64
# CHECK-NEXT: SectionHeaderCount: 9
# CHECK-NEXT: StringTableSectionIndex: 7
# CHECK-NEXT: SectionHeaderCount: 10
# CHECK-NEXT: StringTableSectionIndex: 8
# CHECK-NEXT: }
# CHECK-NEXT: Sections [
# CHECK-NEXT: Section {
Expand Down Expand Up @@ -163,29 +163,48 @@ _start:
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 6
# CHECK-NEXT: Name: .comment
# CHECK-NEXT: Type: SHT_PROGBITS (0x1)
# CHECK-NEXT: Flags [ (0x30)
# CHECK-NEXT: SHF_MERGE (0x10)
# CHECK-NEXT: SHF_STRINGS (0x20)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x20058
# CHECK-NEXT: Size: 8
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
# CHECK-NEXT: AddressAlignment: 1
# CHECK-NEXT: EntrySize: 1
# CHECK-NEXT: SectionData (
# CHECK-NEXT: 0000: 4C4C4420 312E3000 |LLD 1.0.|
# CHECK-NEXT: )
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 7
# CHECK-NEXT: Name: .symtab
# CHECK-NEXT: Type: SHT_SYMTAB (0x2)
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x20058
# CHECK-NEXT: Offset: 0x20060
# CHECK-NEXT: Size: 48
# CHECK-NEXT: Link: 8
# CHECK-NEXT: Link: 9
# CHECK-NEXT: Info: 1
# CHECK-NEXT: AddressAlignment: 8
# CHECK-NEXT: EntrySize: 24
# CHECK-NEXT: SectionData (
# CHECK: )
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 7
# CHECK-NEXT: Index: 8
# CHECK-NEXT: Name: .shstrtab
# CHECK-NEXT: Type: SHT_STRTAB
# CHECK-NEXT: Flags [
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x20088
# CHECK-NEXT: Size: 54
# CHECK-NEXT: Offset: 0x20090
# CHECK-NEXT: Size: 63
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
# CHECK-NEXT: AddressAlignment: 1
Expand All @@ -194,13 +213,13 @@ _start:
# CHECK: )
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 8
# CHECK-NEXT: Index: 9
# CHECK-NEXT: Name: .strtab
# CHECK-NEXT: Type: SHT_STRTAB
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
# CHECK-NEXT: Offset: 0x200BE
# CHECK-NEXT: Offset: 0x200CF
# CHECK-NEXT: Size: 8
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
Expand Down
10 changes: 3 additions & 7 deletions lld/test/ELF/build-id.s
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,15 @@ _start:
# DEFAULT: Contents of section .note.test:
# DEFAULT: Contents of section .note.gnu.build-id:
# DEFAULT-NEXT: 04000000 08000000 03000000 474e5500 ............GNU.
# DEFAULT-NEXT: ab
# DEFAULT-NEXT: 6a

# MD5: Contents of section .note.gnu.build-id:
# MD5-NEXT: 04000000 10000000 03000000 474e5500 ............GNU.
# MD5-NEXT: 29
# MD5-NEXT: 37

# SHA1: Contents of section .note.gnu.build-id:
# SHA1-NEXT: 04000000 14000000 03000000 474e5500 ............GNU.
# SHA1-NEXT: b1

# TREE: Contents of section .note.gnu.build-id:
# TREE-NEXT: 04000000 14000000 03000000 474e5500 ............GNU.
# TREE-NEXT: 18
# SHA1-NEXT: 79

# UUID: Contents of section .note.gnu.build-id:
# UUID-NEXT: 04000000 10000000 03000000 474e5500 ............GNU.
Expand Down
3 changes: 2 additions & 1 deletion lld/test/ELF/comment-gc.s
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
# RUN: llvm-objdump -s %t1 | FileCheck %s

# CHECK: Contents of section .comment:
# CHECK-NEXT: 0000 00666f6f 00626172 00 .foo.bar.
# CHECK-NEXT: 0000 00666f6f 00626172 004c4c44 20312e30 .foo.bar.LLD 1.0
# CHECK-NEXT: 0010 00 .

.ident "foo"

Expand Down
2 changes: 1 addition & 1 deletion lld/test/ELF/gnu-ifunc-i386.s
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
// CHECK-NEXT: Address: [[RELA:.*]]
// CHECK-NEXT: Offset: 0xD4
// CHECK-NEXT: Size: 16
// CHECK-NEXT: Link: 5
// CHECK-NEXT: Link: 6
// CHECK-NEXT: Info: 0
// CHECK-NEXT: AddressAlignment: 4
// CHECK-NEXT: EntrySize: 8
Expand Down
2 changes: 1 addition & 1 deletion lld/test/ELF/gnu-ifunc.s
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
// CHECK-NEXT: Address: [[RELA:.*]]
// CHECK-NEXT: Offset: 0x158
// CHECK-NEXT: Size: 48
// CHECK-NEXT: Link: 5
// CHECK-NEXT: Link: 6
// CHECK-NEXT: Info: 0
// CHECK-NEXT: AddressAlignment: 8
// CHECK-NEXT: EntrySize: 24
Expand Down
14 changes: 8 additions & 6 deletions lld/test/ELF/linkerscript/sections-keep.s
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,10 @@
# MIXED1-NEXT: 1 .keep 00000004
# MIXED1-NEXT: 2 .text 00000007 00000000000000ec TEXT DATA
# MIXED1-NEXT: 3 .temp 00000004 00000000000000f3 DATA
# MIXED1-NEXT: 4 .symtab 00000060 0000000000000000
# MIXED1-NEXT: 5 .shstrtab 0000002d 0000000000000000
# MIXED1-NEXT: 6 .strtab 00000012 0000000000000000
# MIXED1-NEXT: 4 .comment 00000008 0000000000000000
# MIXED1-NEXT: 5 .symtab 00000060 0000000000000000
# MIXED1-NEXT: 6 .shstrtab 00000036 0000000000000000
# MIXED1-NEXT: 7 .strtab 00000012 0000000000000000

## The same, but now section without KEEP is at first place.
## gold and bfd linkers disagree here. gold collects .keep while
Expand All @@ -66,9 +67,10 @@
# MIXED2-NEXT: 1 .nokeep 00000004 00000000000000e8 DATA
# MIXED2-NEXT: 2 .text 00000007 00000000000000ec TEXT DATA
# MIXED2-NEXT: 3 .temp 00000004 00000000000000f3 DATA
# MIXED2-NEXT: 4 .symtab 00000060 0000000000000000
# MIXED2-NEXT: 5 .shstrtab 0000002f 0000000000000000
# MIXED2-NEXT: 6 .strtab 00000012 0000000000000000
# MIXED2-NEXT: 4 .comment 00000008 0000000000000000
# MIXED2-NEXT: 5 .symtab 00000060 0000000000000000
# MIXED2-NEXT: 6 .shstrtab 00000038 0000000000000000
# MIXED2-NEXT: 7 .strtab 00000012 0000000000000000

# Check file pattern for kept sections.
# RUN: echo "SECTIONS { \
Expand Down
7 changes: 4 additions & 3 deletions lld/test/ELF/linkerscript/sections-sort.s
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ nop
# CHECK-NEXT: 4 .hash
# CHECK-NEXT: 5 .dynstr
# CHECK-NEXT: 6 .dynamic
# CHECK-NEXT: 7 .symtab
# CHECK-NEXT: 8 .shstrtab
# CHECK-NEXT: 9 .strtab
# CHECK-NEXT: 7 .comment
# CHECK-NEXT: 8 .symtab
# CHECK-NEXT: 9 .shstrtab
# CHECK-NEXT: 10 .strtab
30 changes: 17 additions & 13 deletions lld/test/ELF/linkerscript/sections.s
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@
# SEC-DEFAULT: 3 other 00000003 {{[0-9a-f]*}} DATA
# SEC-DEFAULT: 4 .bss 00000002 {{[0-9a-f]*}} BSS
# SEC-DEFAULT: 5 .shstrtab 00000002 {{[0-9a-f]*}}
# SEC-DEFAULT: 6 .symtab 00000030 {{[0-9a-f]*}}
# SEC-DEFAULT: 7 .shstrtab 00000032 {{[0-9a-f]*}}
# SEC-DEFAULT: 8 .strtab 00000008 {{[0-9a-f]*}}
# SEC-DEFAULT: 6 .comment 00000008 {{[0-9a-f]*}}
# SEC-DEFAULT: 7 .symtab 00000030 {{[0-9a-f]*}}
# SEC-DEFAULT: 8 .shstrtab 0000003b {{[0-9a-f]*}}
# SEC-DEFAULT: 9 .strtab 00000008 {{[0-9a-f]*}}

# Sections are put in order specified in linker script, other than alloc
# sections going first.
Expand All @@ -43,7 +44,7 @@
# SEC-ORDER: 1 .bss 00000002 {{[0-9a-f]*}} BSS
# SEC-ORDER: 2 other 00000003 {{[0-9a-f]*}} DATA
# SEC-ORDER: 3 .shstrtab 00000002 {{[0-9a-f]*}}
# SEC-ORDER: 4 .shstrtab 00000032 {{[0-9a-f]*}}
# SEC-ORDER: 4 .shstrtab 0000003b {{[0-9a-f]*}}
# SEC-ORDER: 5 .symtab 00000030 {{[0-9a-f]*}}
# SEC-ORDER: 6 .strtab 00000008 {{[0-9a-f]*}}
# SEC-ORDER: 7 .data 00000020 {{[0-9a-f]*}} DATA
Expand All @@ -63,9 +64,10 @@
# SEC-SWAP-NAMES: 3 other 00000003 {{[0-9a-f]*}} DATA
# SEC-SWAP-NAMES: 4 .bss 00000002 {{[0-9a-f]*}} BSS
# SEC-SWAP-NAMES: 5 .shstrtab 00000002 {{[0-9a-f]*}}
# SEC-SWAP-NAMES: 6 .symtab 00000030 {{[0-9a-f]*}}
# SEC-SWAP-NAMES: 7 .shstrtab 00000032 {{[0-9a-f]*}}
# SEC-SWAP-NAMES: 8 .strtab 00000008 {{[0-9a-f]*}}
# SEC-SWAP-NAMES: 6 .comment 00000008 {{[0-9a-f]*}}
# SEC-SWAP-NAMES: 7 .symtab 00000030 {{[0-9a-f]*}}
# SEC-SWAP-NAMES: 8 .shstrtab 0000003b {{[0-9a-f]*}}
# SEC-SWAP-NAMES: 9 .strtab 00000008 {{[0-9a-f]*}}

# .shstrtab from the input object file is discarded.
# RUN: echo "SECTIONS { \
Expand All @@ -79,9 +81,10 @@
# SEC-DISCARD: 2 .data 00000020 {{[0-9a-f]*}} DATA
# SEC-DISCARD: 3 other 00000003 {{[0-9a-f]*}} DATA
# SEC-DISCARD: 4 .bss 00000002 {{[0-9a-f]*}} BSS
# SEC-DISCARD: 5 .symtab 00000030 {{[0-9a-f]*}}
# SEC-DISCARD: 6 .shstrtab 00000032 {{[0-9a-f]*}}
# SEC-DISCARD: 7 .strtab 00000008 {{[0-9a-f]*}}
# SEC-DISCARD: 5 .comment 00000008 {{[0-9a-f]*}}
# SEC-DISCARD: 6 .symtab 00000030 {{[0-9a-f]*}}
# SEC-DISCARD: 7 .shstrtab 0000003b {{[0-9a-f]*}}
# SEC-DISCARD: 8 .strtab 00000008 {{[0-9a-f]*}}

# Multiple SECTIONS command specifying additional input section descriptions
# for the same output section description - input sections are merged into
Expand All @@ -100,9 +103,10 @@
# SEC-MULTI: 2 .data 00000023 {{[0-9a-f]*}} DATA
# SEC-MULTI: 3 .bss 00000002 {{[0-9a-f]*}} BSS
# SEC-MULTI: 4 .shstrtab 00000002 {{[0-9a-f]*}}
# SEC-MULTI: 5 .symtab 00000030 {{[0-9a-f]*}}
# SEC-MULTI: 6 .shstrtab 0000002c {{[0-9a-f]*}}
# SEC-MULTI: 7 .strtab 00000008 {{[0-9a-f]*}}
# SEC-MULTI: 5 .comment 00000008 {{[0-9a-f]*}}
# SEC-MULTI: 6 .symtab 00000030 {{[0-9a-f]*}}
# SEC-MULTI: 7 .shstrtab 00000035 {{[0-9a-f]*}}
# SEC-MULTI: 8 .strtab 00000008 {{[0-9a-f]*}}

.globl _start
_start:
Expand Down
21 changes: 12 additions & 9 deletions lld/test/ELF/linkerscript/wildcards.s
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@
# 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
# SEC-DEFAULT-NEXT: 5 .comment 00000008 {{[0-9a-f]*}}
# SEC-DEFAULT-NEXT: 6 .symtab 00000030
# SEC-DEFAULT-NEXT: 7 .shstrtab 00000038
# SEC-DEFAULT-NEXT: 8 .strtab 00000008

## Now replace the symbol with '?' and check that results are the same.
# RUN: echo "SECTIONS { \
Expand All @@ -37,9 +38,10 @@
# 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
# SEC-ALL-NEXT: 4 .comment 00000008
# SEC-ALL-NEXT: 5 .symtab 00000030
# SEC-ALL-NEXT: 6 .shstrtab 00000032
# SEC-ALL-NEXT: 7 .strtab 00000008

## All sections started with .a are merged.
# RUN: echo "SECTIONS { \
Expand All @@ -51,9 +53,10 @@
# 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
# SEC-NO-NEXT: 2 .comment 00000008
# SEC-NO-NEXT: 3 .symtab 00000030
# SEC-NO-NEXT: 4 .shstrtab 0000002a
# SEC-NO-NEXT: 5 .strtab 00000008

.text
.section .abc,"ax",@progbits
Expand Down
6 changes: 3 additions & 3 deletions lld/test/ELF/pie.s
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Entry: 0x1000
# CHECK-NEXT: ProgramHeaderOffset: 0x40
# CHECK-NEXT: SectionHeaderOffset: 0x1110
# CHECK-NEXT: SectionHeaderOffset: 0x1120
# CHECK-NEXT: Flags [
# CHECK-NEXT: ]
# CHECK-NEXT: HeaderSize: 64
# CHECK-NEXT: ProgramHeaderEntrySize: 56
# CHECK-NEXT: ProgramHeaderCount: 7
# CHECK-NEXT: SectionHeaderEntrySize: 64
# CHECK-NEXT: SectionHeaderCount: 9
# CHECK-NEXT: StringTableSectionIndex: 7
# CHECK-NEXT: SectionHeaderCount: 10
# CHECK-NEXT: StringTableSectionIndex: 8
# CHECK-NEXT: }

# CHECK: ProgramHeaders [
Expand Down
2 changes: 1 addition & 1 deletion lld/test/ELF/relocatable-bss.s
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# CHECK-NEXT: Version:
# CHECK-NEXT: Entry:
# CHECK-NEXT: ProgramHeaderOffset:
# CHECK-NEXT: SectionHeaderOffset: 0xA8
# CHECK-NEXT: SectionHeaderOffset: 0xB8
# CHECK-NEXT: Flags [
# CHECK-NEXT: ]
# CHECK-NEXT: HeaderSize:
Expand Down
12 changes: 6 additions & 6 deletions lld/test/ELF/relocatable.s
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Entry: 0x0
# CHECK-NEXT: ProgramHeaderOffset: 0x0
# CHECK-NEXT: SectionHeaderOffset: 0x2C0
# CHECK-NEXT: SectionHeaderOffset: 0x2D0
# CHECK-NEXT: Flags [
# CHECK-NEXT: ]
# CHECK-NEXT: HeaderSize: 64
# CHECK-NEXT: ProgramHeaderEntrySize: 0
# CHECK-NEXT: ProgramHeaderCount: 0
# CHECK-NEXT: SectionHeaderEntrySize: 64
# CHECK-NEXT: SectionHeaderCount: 7
# CHECK-NEXT: StringTableSectionIndex: 5
# CHECK-NEXT: SectionHeaderCount: 8
# CHECK-NEXT: StringTableSectionIndex: 6
# CHECK-NEXT: }

# CHECK: Relocations [
Expand Down Expand Up @@ -81,15 +81,15 @@
# CHECKEXE-NEXT: Version: 1
# CHECKEXE-NEXT: Entry: 0x11000
# CHECKEXE-NEXT: ProgramHeaderOffset: 0x40
# CHECKEXE-NEXT: SectionHeaderOffset: 0x11E8
# CHECKEXE-NEXT: SectionHeaderOffset: 0x11F8
# CHECKEXE-NEXT: Flags [
# CHECKEXE-NEXT: ]
# CHECKEXE-NEXT: HeaderSize: 64
# CHECKEXE-NEXT: ProgramHeaderEntrySize: 56
# CHECKEXE-NEXT: ProgramHeaderCount: 5
# CHECKEXE-NEXT: SectionHeaderEntrySize: 64
# CHECKEXE-NEXT: SectionHeaderCount: 6
# CHECKEXE-NEXT: StringTableSectionIndex: 4
# CHECKEXE-NEXT: SectionHeaderCount: 7
# CHECKEXE-NEXT: StringTableSectionIndex: 5
# CHECKEXE-NEXT: }

.text
Expand Down
7 changes: 4 additions & 3 deletions lld/test/ELF/section-name.s
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ _start:
// CHECK: 9 .foo 00000001
// CHECK: 10 .bss 00000001
// CHECK: 11 .bss 00000001
// CHECK: 12 .symtab 00000060
// CHECK: 13 .shstrtab 0000006c
// CHECK: 14 .strtab 0000001d
// CHECK: 12 .comment 00000008
// CHECK: 13 .symtab 00000060
// CHECK: 14 .shstrtab 00000075
// CHECK: 15 .strtab 0000001d
2 changes: 1 addition & 1 deletion lld/test/ELF/shared.s
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
// SO-NEXT: Flags [
// SO-NEXT: ]
// SO-NEXT: Address:
// SO-NEXT: Offset: 0x1030
// SO-NEXT: Offset: 0x1038
// SO-NEXT: Size:
// SO-NEXT: Link:
// SO-NEXT: Info:
Expand Down
5 changes: 3 additions & 2 deletions lld/test/ELF/string-table.s
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,9 @@ _start:
// CHECK-NEXT: EntrySize: 0
// CHECK-NEXT: SectionData (
// CHECK-NEXT: 0000: 00626172 002E7465 78740066 6F6F6261 |.bar..text.fooba|
// CHECK-NEXT: 0010: 72002E73 796D7461 62002E73 68737472 |r..symtab..shstr|
// CHECK-NEXT: 0020: 74616200 2E737472 74616200 |tab..strtab.|
// CHECK-NEXT: 0010: 72002E63 6F6D6D65 6E74002E 73796D74 |r..comment..symt|
// CHECK-NEXT: 0020: 6162002E 73687374 72746162 002E7374 |ab..shstrtab..st|
// CHECK-NEXT: 0030: 72746162 00 |rtab.|
// CHECK-NEXT: )
// CHECK-NEXT:}
// CHECK: Name: .strtab
Expand Down
3 changes: 3 additions & 0 deletions lld/test/lit.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,9 @@ if re.search(r'AMDGPU', archs):
config.available_features.add('amdgpu')
llvm_config_cmd.wait()

# Set a fake constant version so that we get consitent output.
config.environment['LLD_VERSION'] = 'LLD 1.0'

# Check if Windows resource file compiler exists.
cvtres = lit.util.which('cvtres', config.environment['PATH'])
rc = lit.util.which('rc', config.environment['PATH'])
Expand Down