summaryrefslogtreecommitdiffstats
path: root/lld/test/ELF/basic64be.s
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2015-11-21 22:19:32 +0000
committerRui Ueyama <ruiu@google.com>2015-11-21 22:19:32 +0000
commite79b09a6163f3350757cd63087617d0cb77c4114 (patch)
tree44da9e90900f29248b409ce7c74a78b2fd0f9fee /lld/test/ELF/basic64be.s
parent6290dbc0f7f71dbf9e5408a1b4222cbbfba43bdb (diff)
downloadbcm5719-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/ELF/basic64be.s')
-rw-r--r--lld/test/ELF/basic64be.s29
1 files changed, 8 insertions, 21 deletions
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:]
OpenPOWER on IntegriCloud