diff options
| author | Rui Ueyama <ruiu@google.com> | 2015-11-21 22:19:32 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2015-11-21 22:19:32 +0000 |
| commit | e79b09a6163f3350757cd63087617d0cb77c4114 (patch) | |
| tree | 44da9e90900f29248b409ce7c74a78b2fd0f9fee /lld/test | |
| parent | 6290dbc0f7f71dbf9e5408a1b4222cbbfba43bdb (diff) | |
| download | bcm5719-llvm-e79b09a6163f3350757cd63087617d0cb77c4114.tar.gz bcm5719-llvm-e79b09a6163f3350757cd63087617d0cb77c4114.zip | |
ELF: Make .note.GNU-stack more compatible with traditional linkers.
With this patch, lld creates PT_GNU_STACK segments only when all input
files have .note.GNU-stack sections. This is in line with other linkers
with a minor difference (we don't care about .note.GNU-stack rwx bits as
you can always remove .note.GNU-stack sections instead of setting x bit.)
At least, NetBSD loader does not understand PT_GNU_STACK segments and
reject any executables that have the section. This patch makes lld
compatible with such operating systems.
llvm-svn: 253797
Diffstat (limited to 'lld/test')
| -rw-r--r-- | lld/test/ELF/basic-aarch64.s | 23 | ||||
| -rw-r--r-- | lld/test/ELF/basic-mips.s | 33 | ||||
| -rw-r--r-- | lld/test/ELF/basic.s | 23 | ||||
| -rw-r--r-- | lld/test/ELF/basic32.s | 23 | ||||
| -rw-r--r-- | lld/test/ELF/basic64be.s | 29 | ||||
| -rw-r--r-- | lld/test/ELF/eh-frame-merge.s | 6 | ||||
| -rw-r--r-- | lld/test/ELF/gnu-hash-table.s | 4 | ||||
| -rw-r--r-- | lld/test/ELF/gnustack.s | 25 | ||||
| -rw-r--r-- | lld/test/ELF/merge-shared.s | 4 | ||||
| -rw-r--r-- | lld/test/ELF/merge-string.s | 18 | ||||
| -rw-r--r-- | lld/test/ELF/merge-sym.s | 4 | ||||
| -rw-r--r-- | lld/test/ELF/merge.s | 50 | ||||
| -rw-r--r-- | lld/test/ELF/program-header-layout.s | 23 | ||||
| -rw-r--r-- | lld/test/ELF/relative-dynamic-reloc-ppc64.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/relative-dynamic-reloc.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/relocation-local.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/relocation.s | 4 | ||||
| -rw-r--r-- | lld/test/ELF/shared.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/string-table.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/symbols.s | 14 |
20 files changed, 102 insertions, 191 deletions
diff --git a/lld/test/ELF/basic-aarch64.s b/lld/test/ELF/basic-aarch64.s index 28fb10d82ed..36c363b28a5 100644 --- a/lld/test/ELF/basic-aarch64.s +++ b/lld/test/ELF/basic-aarch64.s @@ -31,7 +31,7 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: HeaderSize: 64 # CHECK-NEXT: ProgramHeaderEntrySize: 56 -# CHECK-NEXT: ProgramHeaderCount: 4 +# CHECK-NEXT: ProgramHeaderCount: 3 # CHECK-NEXT: SectionHeaderEntrySize: 64 # CHECK-NEXT: SectionHeaderCount: 5 # CHECK-NEXT: StringTableSectionIndex: 3 @@ -145,8 +145,8 @@ _start: # CHECK-NEXT: Offset: 0x40 # CHECK-NEXT: VirtualAddress: 0x10040 # CHECK-NEXT: PhysicalAddress: 0x10040 -# CHECK-NEXT: FileSize: 224 -# CHECK-NEXT: MemSize: 224 +# CHECK-NEXT: FileSize: 168 +# CHECK-NEXT: MemSize: 168 # CHECK-NEXT: Flags [ (0x4) # CHECK-NEXT: PF_R (0x4) # CHECK-NEXT: ] @@ -157,8 +157,8 @@ _start: # CHECK-NEXT: Offset: 0x0 # CHECK-NEXT: VirtualAddress: 0x10000 # CHECK-NEXT: PhysicalAddress: 0x10000 -# CHECK-NEXT: FileSize: 288 -# CHECK-NEXT: MemSize: 288 +# CHECK-NEXT: FileSize: 232 +# CHECK-NEXT: MemSize: 232 # CHECK-NEXT: Flags [ # CHECK-NEXT: PF_R # CHECK-NEXT: ] @@ -177,17 +177,4 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: Alignment: 4096 # CHECK-NEXT: } -# CHECK-NEXT: ProgramHeader { -# CHECK-NEXT: Type: PT_GNU_STACK -# CHECK-NEXT: Offset: 0x0 -# CHECK-NEXT: VirtualAddress: 0x0 -# CHECK-NEXT: PhysicalAddress: 0x0 -# CHECK-NEXT: FileSize: 0 -# CHECK-NEXT: MemSize: 0 -# CHECK-NEXT: Flags [ -# CHECK-NEXT: PF_R -# CHECK-NEXT: PF_W -# CHECK-NEXT: ] -# CHECK-NEXT: Alignment: 0 -# CHECK-NEXT: } # CHECK-NEXT: ] diff --git a/lld/test/ELF/basic-mips.s b/lld/test/ELF/basic-mips.s index aa2eaf9f59e..c809e9c85a7 100644 --- a/lld/test/ELF/basic-mips.s +++ b/lld/test/ELF/basic-mips.s @@ -32,7 +32,7 @@ __start: # CHECK-NEXT: ] # CHECK-NEXT: HeaderSize: 52 # CHECK-NEXT: ProgramHeaderEntrySize: 32 -# CHECK-NEXT: ProgramHeaderCount: 5 +# CHECK-NEXT: ProgramHeaderCount: 4 # CHECK-NEXT: SectionHeaderEntrySize: 40 # CHECK-NEXT: SectionHeaderCount: 9 # CHECK-NEXT: StringTableSectionIndex: 7 @@ -59,8 +59,8 @@ __start: # CHECK-NEXT: Flags [ (0x2) # CHECK-NEXT: SHF_ALLOC (0x2) # CHECK-NEXT: ] -# CHECK-NEXT: Address: 0x100D4 -# CHECK-NEXT: Offset: 0xD4 +# CHECK-NEXT: Address: 0x100B4 +# CHECK-NEXT: Offset: 0xB4 # CHECK-NEXT: Size: 24 # CHECK-NEXT: Link: 0 # CHECK-NEXT: Info: 0 @@ -74,8 +74,8 @@ __start: # CHECK-NEXT: Flags [ (0x2) # CHECK-NEXT: SHF_ALLOC (0x2) # CHECK-NEXT: ] -# CHECK-NEXT: Address: 0x100F0 -# CHECK-NEXT: Offset: 0xF0 +# CHECK-NEXT: Address: 0x100D0 +# CHECK-NEXT: Offset: 0xD0 # CHECK-NEXT: Size: 24 # CHECK-NEXT: Link: 0 # CHECK-NEXT: Info: 0 @@ -208,8 +208,8 @@ __start: # CHECK-NEXT: Offset: 0x34 # CHECK-NEXT: VirtualAddress: 0x10034 # CHECK-NEXT: PhysicalAddress: 0x10034 -# CHECK-NEXT: FileSize: 160 -# CHECK-NEXT: MemSize: 160 +# CHECK-NEXT: FileSize: 128 +# CHECK-NEXT: MemSize: 128 # CHECK-NEXT: Flags [ (0x4) # CHECK-NEXT: PF_R (0x4) # CHECK-NEXT: ] @@ -220,8 +220,8 @@ __start: # CHECK-NEXT: Offset: 0x0 # CHECK-NEXT: VirtualAddress: 0x10000 # CHECK-NEXT: PhysicalAddress: 0x10000 -# CHECK-NEXT: FileSize: 264 -# CHECK-NEXT: MemSize: 264 +# CHECK-NEXT: FileSize: 232 +# CHECK-NEXT: MemSize: 232 # CHECK-NEXT: Flags [ (0x4) # CHECK-NEXT: PF_R (0x4) # CHECK-NEXT: ] @@ -253,17 +253,4 @@ __start: # CHECK-NEXT: ] # CHECK-NEXT: Alignment: 65536 # CHECK-NEXT: } -# CHECK-NEXT: ProgramHeader { -# CHECK-NEXT: Type: PT_GNU_STACK -# CHECK-NEXT: Offset: 0x0 -# CHECK-NEXT: VirtualAddress: 0x0 -# CHECK-NEXT: PhysicalAddress: 0x0 -# CHECK-NEXT: FileSize: 0 -# CHECK-NEXT: MemSize: 0 -# CHECK-NEXT: Flags [ -# CHECK-NEXT: PF_R -# CHECK-NEXT: PF_W -# CHECK-NEXT: ] -# CHECK-NEXT: Alignment: 0 -# CHECK-NEXT: } -# CHECK-NEXT:] +# CHECK-NEXT: ] diff --git a/lld/test/ELF/basic.s b/lld/test/ELF/basic.s index 47b28d41b5b..f2453f95e87 100644 --- a/lld/test/ELF/basic.s +++ b/lld/test/ELF/basic.s @@ -32,7 +32,7 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: HeaderSize: 64 # CHECK-NEXT: ProgramHeaderEntrySize: 56 -# CHECK-NEXT: ProgramHeaderCount: 4 +# CHECK-NEXT: ProgramHeaderCount: 3 # CHECK-NEXT: SectionHeaderEntrySize: 64 # CHECK-NEXT: SectionHeaderCount: 5 # CHECK-NEXT: StringTableSectionIndex: 3 @@ -137,8 +137,8 @@ _start: # CHECK-NEXT: Offset: 0x40 # CHECK-NEXT: VirtualAddress: 0x10040 # CHECK-NEXT: PhysicalAddress: 0x10040 -# CHECK-NEXT: FileSize: 224 -# CHECK-NEXT: MemSize: 224 +# CHECK-NEXT: FileSize: 168 +# CHECK-NEXT: MemSize: 168 # CHECK-NEXT: Flags [ (0x4) # CHECK-NEXT: PF_R (0x4) # CHECK-NEXT: ] @@ -149,8 +149,8 @@ _start: # CHECK-NEXT: Offset: 0x0 # CHECK-NEXT: VirtualAddress: 0x10000 # CHECK-NEXT: PhysicalAddress: 0x10000 -# CHECK-NEXT: FileSize: 288 -# CHECK-NEXT: MemSize: 288 +# CHECK-NEXT: FileSize: 232 +# CHECK-NEXT: MemSize: 232 # CHECK-NEXT: Flags [ # CHECK-NEXT: PF_R # CHECK-NEXT: ] @@ -169,19 +169,6 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: Alignment: 4096 # CHECK-NEXT: } -# CHECK-NEXT: ProgramHeader { -# CHECK-NEXT: Type: PT_GNU_STACK -# CHECK-NEXT: Offset: 0x0 -# CHECK-NEXT: VirtualAddress: 0x0 -# CHECK-NEXT: PhysicalAddress: 0x0 -# CHECK-NEXT: FileSize: 0 -# CHECK-NEXT: MemSize: 0 -# CHECK-NEXT: Flags [ -# CHECK-NEXT: PF_R -# CHECK-NEXT: PF_W -# CHECK-NEXT: ] -# CHECK-NEXT: Alignment: 0 -# CHECK-NEXT: } # CHECK-NEXT: ] # Test for the response file diff --git a/lld/test/ELF/basic32.s b/lld/test/ELF/basic32.s index e5b5c359d59..9768f75e8f9 100644 --- a/lld/test/ELF/basic32.s +++ b/lld/test/ELF/basic32.s @@ -30,7 +30,7 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: HeaderSize: 52 # CHECK-NEXT: ProgramHeaderEntrySize: 32 -# CHECK-NEXT: ProgramHeaderCount: 4 +# CHECK-NEXT: ProgramHeaderCount: 3 # CHECK-NEXT: SectionHeaderEntrySize: 40 # CHECK-NEXT: SectionHeaderCount: 5 # CHECK-NEXT: StringTableSectionIndex: 3 @@ -115,8 +115,8 @@ _start: # CHECK-NEXT: Offset: 0x34 # CHECK-NEXT: VirtualAddress: 0x10034 # CHECK-NEXT: PhysicalAddress: 0x10034 -# CHECK-NEXT: FileSize: 128 -# CHECK-NEXT: MemSize: 128 +# CHECK-NEXT: FileSize: 96 +# CHECK-NEXT: MemSize: 96 # CHECK-NEXT: Flags [ (0x4) # CHECK-NEXT: PF_R (0x4) # CHECK-NEXT: ] @@ -127,8 +127,8 @@ _start: # CHECK-NEXT: Offset: 0x0 # CHECK-NEXT: VirtualAddress: 0x10000 # CHECK-NEXT: PhysicalAddress: 0x10000 -# CHECK-NEXT: FileSize: 180 -# CHECK-NEXT: MemSize: 180 +# CHECK-NEXT: FileSize: 148 +# CHECK-NEXT: MemSize: 148 # CHECK-NEXT: Flags [ # CHECK-NEXT: PF_R # CHECK-NEXT: ] @@ -147,17 +147,4 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: Alignment: 4096 # CHECK-NEXT: } -# CHECK-NEXT: ProgramHeader { -# CHECK-NEXT: Type: PT_GNU_STACK -# CHECK-NEXT: Offset: 0x0 -# CHECK-NEXT: VirtualAddress: 0x0 -# CHECK-NEXT: PhysicalAddress: 0x0 -# CHECK-NEXT: FileSize: 0 -# CHECK-NEXT: MemSize: 0 -# CHECK-NEXT: Flags [ -# CHECK-NEXT: PF_R -# CHECK-NEXT: PF_W -# CHECK-NEXT: ] -# CHECK-NEXT: Alignment: 0 -# CHECK-NEXT: } # CHECK-NEXT: ] diff --git a/lld/test/ELF/basic64be.s b/lld/test/ELF/basic64be.s index 9534e05b47e..e16969baa45 100644 --- a/lld/test/ELF/basic64be.s +++ b/lld/test/ELF/basic64be.s @@ -43,7 +43,7 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: HeaderSize: 64 # CHECK-NEXT: ProgramHeaderEntrySize: 56 -# CHECK-NEXT: ProgramHeaderCount: 5 +# CHECK-NEXT: ProgramHeaderCount: 4 # CHECK-NEXT: SectionHeaderEntrySize: 64 # CHECK-NEXT: SectionHeaderCount: 8 # CHECK-NEXT: StringTableSectionIndex: 6 @@ -199,8 +199,8 @@ _start: # CHECK-NEXT: Offset: 0x40 # CHECK-NEXT: VirtualAddress: 0x10000040 # CHECK-NEXT: PhysicalAddress: 0x10000040 -# CHECK-NEXT: FileSize: 280 -# CHECK-NEXT: MemSize: 280 +# CHECK-NEXT: FileSize: 224 +# CHECK-NEXT: MemSize: 224 # CHECK-NEXT: Flags [ (0x4) # CHECK-NEXT: PF_R (0x4) # CHECK-NEXT: ] @@ -211,8 +211,8 @@ _start: # CHECK-NEXT: Offset: 0x0 # CHECK-NEXT: VirtualAddress: 0x10000000 # CHECK-NEXT: PhysicalAddress: 0x10000000 -# CHECK-NEXT: FileSize: 344 -# CHECK-NEXT: MemSize: 344 +# CHECK-NEXT: FileSize: 288 +# CHECK-NEXT: MemSize: 288 # CHECK-NEXT: Flags [ # CHECK-NEXT: PF_R # CHECK-NEXT: ] @@ -220,7 +220,7 @@ _start: # CHECK-NEXT: } # CHECK-NEXT: ProgramHeader { # CHECK-NEXT: Type: PT_LOAD (0x1) -# CHECK-NEXT: Offset: 0x10000 +# CHECK-NEXT: Offset: 0x1000 # CHECK-NEXT: VirtualAddress: 0x10010000 # CHECK-NEXT: PhysicalAddress: 0x10010000 # CHECK-NEXT: FileSize: 12 @@ -233,7 +233,7 @@ _start: # CHECK-NEXT: } # CHECK-NEXT: ProgramHeader { # CHECK-NEXT: Type: PT_LOAD (0x1) -# CHECK-NEXT: Offset: 0x20000 +# CHECK-NEXT: Offset: 0x2000 # CHECK-NEXT: VirtualAddress: 0x10020000 # CHECK-NEXT: PhysicalAddress: 0x10020000 # CHECK-NEXT: FileSize: 88 @@ -244,17 +244,4 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: Alignment: 65536 # CHECK-NEXT: } -# CHECK-NEXT: ProgramHeader { -# CHECK-NEXT: Type: PT_GNU_STACK (0x6474E551) -# CHECK-NEXT: Offset: 0x0 -# CHECK-NEXT: VirtualAddress: 0x0 -# CHECK-NEXT: PhysicalAddress: 0x0 -# CHECK-NEXT: FileSize: 0 -# CHECK-NEXT: MemSize: 0 -# CHECK-NEXT: Flags [ (0x6) -# CHECK-NEXT: PF_R (0x4) -# CHECK-NEXT: PF_W (0x2) -# CHECK-NEXT: ] -# CHECK-NEXT: Alignment: 0 -# CHECK-NEXT: } -# CHECK-NEXT: ]
\ No newline at end of file +# CHECK-NEXT:] diff --git a/lld/test/ELF/eh-frame-merge.s b/lld/test/ELF/eh-frame-merge.s index 2855a3469dc..8f44561f90c 100644 --- a/lld/test/ELF/eh-frame-merge.s +++ b/lld/test/ELF/eh-frame-merge.s @@ -35,9 +35,9 @@ // CHECK-NEXT: SectionData ( // CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001 | // CHECK-NEXT: 0010: 1B0C0708 90010000 10000000 1C000000 | -// CHECK-NEXT: 0020: 500E0000 01000000 00000000 10000000 | -// CHECK-NEXT: 0030: 30000000 3E0E0000 02000000 00000000 | -// CHECK-NEXT: 0040: 10000000 44000000 290E0000 01000000 | +// CHECK-NEXT: 0020: 880E0000 01000000 00000000 10000000 | +// CHECK-NEXT: 0030: 30000000 760E0000 02000000 00000000 | +// CHECK-NEXT: 0040: 10000000 44000000 610E0000 01000000 | // CHECK-NEXT: 0050: 00000000 | // CHECK-NEXT: ) diff --git a/lld/test/ELF/gnu-hash-table.s b/lld/test/ELF/gnu-hash-table.s index aae0ce3698b..b6f73d76d5f 100644 --- a/lld/test/ELF/gnu-hash-table.s +++ b/lld/test/ELF/gnu-hash-table.s @@ -149,8 +149,8 @@ # PPC64-NEXT: Flags [ # PPC64-NEXT: SHF_ALLOC # PPC64-NEXT: ] -# PPC64-NEXT: Address: 0x1F0 -# PPC64-NEXT: Offset: 0x1F0 +# PPC64-NEXT: Address: 0x1B8 +# PPC64-NEXT: Offset: 0x1B8 # PPC64-NEXT: Size: 36 # PPC64-NEXT: Link: 1 # PPC64-NEXT: Info: 0 diff --git a/lld/test/ELF/gnustack.s b/lld/test/ELF/gnustack.s index 261d4157506..4d260cfa1c8 100644 --- a/lld/test/ELF/gnustack.s +++ b/lld/test/ELF/gnustack.s @@ -1,9 +1,14 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1 +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux /dev/null -o %t2 # RUN: ld.lld %t1 -z execstack -o %t # RUN: llvm-readobj --program-headers -s %t | FileCheck --check-prefix=CHECK_RWX %s # RUN: ld.lld %t1 -o %t # RUN: llvm-readobj --program-headers -s %t | FileCheck --check-prefix=CHECK_RW %s +# RUN: ld.lld %t1 %t2 -o %t +# RUN: llvm-readobj --program-headers -s %t | FileCheck --check-prefix=CHECK_RWX %s +# RUN: ld.lld %t1 %t2 -z noexecstack -o %t +# RUN: llvm-readobj --program-headers -s %t | FileCheck --check-prefix=CHECK_RW %s # CHECK_RW: Sections [ # CHECK_RW-NOT: Name: .note.GNU-stack @@ -23,24 +28,8 @@ # CHECK_RW-NEXT: } # CHECK_RW-NEXT: ] -# CHECK_RWX: Sections [ -# CHECK_RWX-NOT: Name: .note.GNU-stack -# CHECK_RWX: ProgramHeaders [ -# CHECK_RWX: ProgramHeader { -# CHECK_RWX: Type: PT_GNU_STACK -# CHECK_RWX-NEXT: Offset: 0x0 -# CHECK_RWX-NEXT: VirtualAddress: 0x0 -# CHECK_RWX-NEXT: PhysicalAddress: 0x0 -# CHECK_RWX-NEXT: FileSize: 0 -# CHECK_RWX-NEXT: MemSize: 0 -# CHECK_RWX-NEXT: Flags [ -# CHECK_RWX-NEXT: PF_R -# CHECK_RWX-NEXT: PF_W -# CHECK_RWX-NEXT: PF_X -# CHECK_RWX-NEXT: ] -# CHECK_RWX-NEXT: Alignment: 0 -# CHECK_RWX-NEXT: } -# CHECK_RWX-NEXT: ] +# CHECK_RWX-NOT: Type: PT_GNU_STACK .globl _start _start: +.section .note.GNU-stack,"" diff --git a/lld/test/ELF/merge-shared.s b/lld/test/ELF/merge-shared.s index 02ceb66493c..36bf5850763 100644 --- a/lld/test/ELF/merge-shared.s +++ b/lld/test/ELF/merge-shared.s @@ -17,10 +17,10 @@ // CHECK-NEXT: SHF_ALLOC // CHECK-NEXT: SHF_MERGE // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x190 +// CHECK-NEXT: Address: 0x158 // CHECK: Relocations [ // CHECK-NEXT: Section ({{.*}}) .rela.dyn { -// CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x192 +// CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x15A // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/lld/test/ELF/merge-string.s b/lld/test/ELF/merge-string.s index 731190c8d75..c47269b2b74 100644 --- a/lld/test/ELF/merge-string.s +++ b/lld/test/ELF/merge-string.s @@ -26,8 +26,8 @@ zed: // CHECK-NEXT: SHF_MERGE // CHECK-NEXT: SHF_STRINGS // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x190 -// CHECK-NEXT: Offset: 0x190 +// CHECK-NEXT: Address: 0x158 +// CHECK-NEXT: Offset: 0x158 // CHECK-NEXT: Size: 4 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 @@ -44,8 +44,8 @@ zed: // NOTAIL-NEXT: SHF_MERGE // NOTAIL-NEXT: SHF_STRINGS // NOTAIL-NEXT: ] -// NOTAIL-NEXT: Address: 0x190 -// NOTAIL-NEXT: Offset: 0x190 +// NOTAIL-NEXT: Address: 0x158 +// NOTAIL-NEXT: Offset: 0x158 // NOTAIL-NEXT: Size: 7 // NOTAIL-NEXT: Link: 0 // NOTAIL-NEXT: Info: 0 @@ -62,8 +62,8 @@ zed: // CHECK-NEXT: SHF_MERGE // CHECK-NEXT: SHF_STRINGS // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x194 -// CHECK-NEXT: Offset: 0x194 +// CHECK-NEXT: Address: 0x15C +// CHECK-NEXT: Offset: 0x15C // CHECK-NEXT: Size: 4 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 @@ -75,11 +75,11 @@ zed: // CHECK: Name: bar -// CHECK-NEXT: Value: 0x191 +// CHECK-NEXT: Value: 0x159 // CHECK: Name: foo -// CHECK-NEXT: Value: 0x190 +// CHECK-NEXT: Value: 0x158 // CHECK: Name: zed -// CHECK-NEXT: Value: 0x194 +// CHECK-NEXT: Value: 0x15C // CHECK-NEXT: Size: 0 diff --git a/lld/test/ELF/merge-sym.s b/lld/test/ELF/merge-sym.s index 9a47aa32547..80277d0b861 100644 --- a/lld/test/ELF/merge-sym.s +++ b/lld/test/ELF/merge-sym.s @@ -15,7 +15,7 @@ foo: // CHECK-NEXT: SHF_ALLOC // CHECK-NEXT: SHF_MERGE // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x190 +// CHECK-NEXT: Address: 0x158 // CHECK: Name: foo -// CHECK-NEXT: Value: 0x192 +// CHECK-NEXT: Value: 0x15A diff --git a/lld/test/ELF/merge.s b/lld/test/ELF/merge.s index 9cead642fa8..8251e7850f0 100644 --- a/lld/test/ELF/merge.s +++ b/lld/test/ELF/merge.s @@ -23,8 +23,8 @@ zed: // CHECK-NEXT: SHF_ALLOC // CHECK-NEXT: SHF_MERGE // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x10120 -// CHECK-NEXT: Offset: 0x120 +// CHECK-NEXT: Address: 0x100E8 +// CHECK-NEXT: Offset: 0xE8 // CHECK-NEXT: Size: 8 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 @@ -35,13 +35,13 @@ zed: // CHECK-NEXT: ) -// Address of the constant 0x10 = 0x10120 = 65824 -// Address of the constant 0x42 = 0x10124 = 65828 +// Address of the constant 0x10 = 0x100E8 = 65768 +// Address of the constant 0x42 = 0x100EC = 65772 // CHECK: Symbols [ // CHECK: Name: bar -// CHECK-NEXT: Value: 0x10124 +// CHECK-NEXT: Value: 0x100EC // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Loca // CHECK-NEXT: Type: None @@ -49,7 +49,7 @@ zed: // CHECK-NEXT: Section: .mysec // CHECK: Name: zed -// CHECK-NEXT: Value: 0x10124 +// CHECK-NEXT: Value: 0x100EC // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: None @@ -57,7 +57,7 @@ zed: // CHECK-NEXT: Section: .mysec // CHECK: Name: foo -// CHECK-NEXT: Value: 0x10124 +// CHECK-NEXT: Value: 0x100EC // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: None @@ -73,37 +73,37 @@ _start: // DISASM-NEXT: _start: movl .mysec, %eax -// addr(0x10) = 65824 -// DISASM-NEXT: movl 65824, %eax +// addr(0x10) = 65768 +// DISASM-NEXT: movl 65768, %eax movl .mysec+7, %eax -// addr(0x42) + 3 = 65828 + 3 = 65831 -// DISASM-NEXT: movl 65831, %eax +// addr(0x42) + 3 = 65772 + 3 = 65775 +// DISASM-NEXT: movl 65775, %eax movl .mysec+8, %eax -// addr(0x42) = 65828 -// DISASM-NEXT: movl 65828, %eax +// addr(0x42) = 65772 +// DISASM-NEXT: movl 65772, %eax movl bar+7, %eax -// addr(0x42) + 7 = 65828 + 7 = 65835 -// DISASM-NEXT: movl 65835, %eax +// addr(0x42) + 7 = 65772 + 7 = 65779 +// DISASM-NEXT: movl 65779, %eax movl bar+8, %eax -// addr(0x42) + 8 = 65828 + 8 = 65836 -// DISASM-NEXT: movl 65836, %eax +// addr(0x42) + 8 = 65772 + 8 = 65780 +// DISASM-NEXT: movl 65780, %eax movl foo, %eax -// addr(0x42) = 65828 -// DISASM-NEXT: movl 65828, %eax +// addr(0x42) = 65772 +// DISASM-NEXT: movl 65772, %eax movl foo+7, %eax -// addr(0x42) + 7 = = 65828 + 7 = 65835 -// DISASM-NEXT: movl 65835, %eax +// addr(0x42) + 7 = = 65772 + 7 = 65779 +// DISASM-NEXT: movl 65779, %eax movl foo+8, %eax -// addr(0x42) + 8 = = 65828 + 8 = 65836 -// DISASM-NEXT: movl 65836, %eax +// addr(0x42) + 8 = = 65772 + 8 = 65780 +// DISASM-NEXT: movl 65780, %eax // From the other file: movl .mysec, %eax -// addr(0x42) = 65828 -// DISASM-NEXT: movl 65828, %eax +// addr(0x42) = 65772 +// DISASM-NEXT: movl 65772, %eax diff --git a/lld/test/ELF/program-header-layout.s b/lld/test/ELF/program-header-layout.s index 8e32227ac74..38ff385a6cc 100644 --- a/lld/test/ELF/program-header-layout.s +++ b/lld/test/ELF/program-header-layout.s @@ -23,7 +23,7 @@ _start: # CHECK-NEXT: SHF_ALLOC # CHECK-NEXT: ] # CHECK-NEXT: Address: -# CHECK-NEXT: Offset: 0x158 +# CHECK-NEXT: Offset: 0x120 # CHECK-NEXT: Size: # CHECK-NEXT: Link: # CHECK-NEXT: Info: @@ -37,8 +37,8 @@ _start: # CHECK-NEXT: Offset: 0x40 # CHECK-NEXT: VirtualAddress: 0x10040 # CHECK-NEXT: PhysicalAddress: 0x10040 -# CHECK-NEXT: FileSize: 280 -# CHECK-NEXT: MemSize: 280 +# CHECK-NEXT: FileSize: 224 +# CHECK-NEXT: MemSize: 224 # CHECK-NEXT: Flags [ (0x4) # CHECK-NEXT: PF_R (0x4) # CHECK-NEXT: ] @@ -49,8 +49,8 @@ _start: # CHECK-NEXT: Offset: 0x0 # CHECK-NEXT: VirtualAddress: # CHECK-NEXT: PhysicalAddress: -# CHECK-NEXT: FileSize: 352 -# CHECK-NEXT: MemSize: 352 +# CHECK-NEXT: FileSize: 296 +# CHECK-NEXT: MemSize: 296 # CHECK-NEXT: Flags [ # CHECK-NEXT: PF_R # CHECK-NEXT: ] @@ -82,17 +82,4 @@ _start: # CHECK-NEXT: ] # CHECK-NEXT: Alignment: # CHECK-NEXT: } -# CHECK-NEXT: ProgramHeader { -# CHECK-NEXT: Type: PT_GNU_STACK -# CHECK-NEXT: Offset: 0x0 -# CHECK-NEXT: VirtualAddress: 0x0 -# CHECK-NEXT: PhysicalAddress: 0x0 -# CHECK-NEXT: FileSize: 0 -# CHECK-NEXT: MemSize: 0 -# CHECK-NEXT: Flags [ -# CHECK-NEXT: PF_R -# CHECK-NEXT: PF_W -# CHECK-NEXT: ] -# CHECK-NEXT: Alignment: 0 -# CHECK-NEXT: } # CHECK-NEXT: ] diff --git a/lld/test/ELF/relative-dynamic-reloc-ppc64.s b/lld/test/ELF/relative-dynamic-reloc-ppc64.s index 97f74ccab53..fc7d4c69907 100644 --- a/lld/test/ELF/relative-dynamic-reloc-ppc64.s +++ b/lld/test/ELF/relative-dynamic-reloc-ppc64.s @@ -13,7 +13,7 @@ // CHECK-NEXT: 0x10010 R_PPC64_RELATIVE - 0x10009 // CHECK-NEXT: 0x{{.*}} R_PPC64_RELATIVE - 0x[[ZED_ADDR:.*]] // CHECK-NEXT: 0x{{.*}} R_PPC64_RELATIVE - 0x[[FOO_ADDR]] -// CHECK-NEXT: 0x198 R_PPC64_ADDR64 external 0x0 +// CHECK-NEXT: 0x160 R_PPC64_ADDR64 external 0x0 // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/lld/test/ELF/relative-dynamic-reloc.s b/lld/test/ELF/relative-dynamic-reloc.s index 6760a4f796d..b790afd5194 100644 --- a/lld/test/ELF/relative-dynamic-reloc.s +++ b/lld/test/ELF/relative-dynamic-reloc.s @@ -12,7 +12,7 @@ // CHECK-NEXT: 0x1010 R_X86_64_RELATIVE - 0x1009 // CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x[[ZED_ADDR:.*]] // CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x[[FOO_ADDR]] -// CHECK-NEXT: 0x198 R_X86_64_64 external 0x0 +// CHECK-NEXT: 0x160 R_X86_64_64 external 0x0 // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/lld/test/ELF/relocation-local.s b/lld/test/ELF/relocation-local.s index 26e89fc12f8..c4187733756 100644 --- a/lld/test/ELF/relocation-local.s +++ b/lld/test/ELF/relocation-local.s @@ -35,4 +35,4 @@ R_X86_64_64: .quad R_X86_64_64 // CHECK: Contents of section .R_X86_64_64: -// CHECK-NEXT: 10120 20010100 00000000 +// CHECK-NEXT: 100e8 e8000100 00000000 diff --git a/lld/test/ELF/relocation.s b/lld/test/ELF/relocation.s index e201ee0577e..6a5d072cb03 100644 --- a/lld/test/ELF/relocation.s +++ b/lld/test/ELF/relocation.s @@ -104,7 +104,7 @@ R_X86_64_64: .quad R_X86_64_64 // CHECK: Contents of section .R_X86_64_64: -// CHECK-NEXT: 10190 90010100 00000000 +// CHECK-NEXT: 10158 58010100 00000000 .section .R_X86_64_GOTPCREL,"a",@progbits .global R_X86_64_GOTPCREL @@ -114,4 +114,4 @@ R_X86_64_GOTPCREL: // 0x120A8 - 0x10160 = 8008 // 8008 = 0x481f0000 in little endian // CHECK: Contents of section .R_X86_64_GOTPCREL -// CHECK-NEXT: 10198 481f0000 +// CHECK-NEXT: 10160 801f0000 diff --git a/lld/test/ELF/shared.s b/lld/test/ELF/shared.s index 5485559bb41..03b1d0a17b2 100644 --- a/lld/test/ELF/shared.s +++ b/lld/test/ELF/shared.s @@ -46,7 +46,7 @@ // CHECK-NEXT: SHF_ALLOC // CHECK-NEXT: ] // CHECK-NEXT: Address: [[DYNSYMADDR:.*]] -// CHECK-NEXT: Offset: 0x130 +// CHECK-NEXT: Offset: 0x110 // CHECK-NEXT: Size: // CHECK-NEXT: Link: [[DYNSTR:.*]] // CHECK-NEXT: Info: 1 diff --git a/lld/test/ELF/string-table.s b/lld/test/ELF/string-table.s index 52a40d790d8..5e085074a09 100644 --- a/lld/test/ELF/string-table.s +++ b/lld/test/ELF/string-table.s @@ -19,7 +19,7 @@ _start: // CHECK-NEXT: Flags [ // CHECK-NEXT: SHF_ALLOC // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x10120 +// CHECK-NEXT: Address: 0x100E8 // CHECK: Name: foobar // CHECK-NEXT: Type: SHT_PROGBITS diff --git a/lld/test/ELF/symbols.s b/lld/test/ELF/symbols.s index ccf83afdf56..f549ef84dc2 100644 --- a/lld/test/ELF/symbols.s +++ b/lld/test/ELF/symbols.s @@ -50,7 +50,7 @@ internal: // CHECK-NEXT: Flags [ // CHECK-NEXT: SHF_ALLOC // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x10158 +// CHECK-NEXT: Address: 0x10120 // CHECK: Name: .text // CHECK-NEXT: Type: SHT_PROGBITS @@ -82,7 +82,7 @@ internal: // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: hidden -// CHECK-NEXT: Value: 0x10160 +// CHECK-NEXT: Value: 0x10128 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: None @@ -91,7 +91,7 @@ internal: // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: internal -// CHECK-NEXT: Value: 0x10160 +// CHECK-NEXT: Value: 0x10128 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: None @@ -145,7 +145,7 @@ internal: // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: protected -// CHECK-NEXT: Value: 0x10160 +// CHECK-NEXT: Value: 0x10128 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None @@ -154,7 +154,7 @@ internal: // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: zed -// CHECK-NEXT: Value: 0x10158 +// CHECK-NEXT: Value: 0x10120 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Global (0x1) // CHECK-NEXT: Type: None @@ -163,7 +163,7 @@ internal: // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: zed2 -// CHECK-NEXT: Value: 0x1015C +// CHECK-NEXT: Value: 0x10124 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None @@ -172,7 +172,7 @@ internal: // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: zed3 -// CHECK-NEXT: Value: 0x10160 +// CHECK-NEXT: Value: 0x10128 // CHECK-NEXT: Size: 4 // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None |

