summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools')
-rw-r--r--llvm/test/tools/llvm-objcopy/binary-input-arch.test4
-rw-r--r--llvm/test/tools/llvm-objcopy/many-sections.test4
-rw-r--r--llvm/test/tools/llvm-objcopy/relocatable-phdr.test16
-rw-r--r--llvm/test/tools/llvm-objcopy/strip-sections.test2
4 files changed, 21 insertions, 5 deletions
diff --git a/llvm/test/tools/llvm-objcopy/binary-input-arch.test b/llvm/test/tools/llvm-objcopy/binary-input-arch.test
index 3cca1928911..08f02da882b 100644
--- a/llvm/test/tools/llvm-objcopy/binary-input-arch.test
+++ b/llvm/test/tools/llvm-objcopy/binary-input-arch.test
@@ -65,8 +65,8 @@
# CHECK-NEXT: ]
# 32-NEXT: HeaderSize: 52
# 64-NEXT: HeaderSize: 64
-# 32-NEXT: ProgramHeaderEntrySize: 32
-# 64-NEXT: ProgramHeaderEntrySize: 56
+# 32-NEXT: ProgramHeaderEntrySize: 0
+# 64-NEXT: ProgramHeaderEntrySize: 0
# CHECK-NEXT: ProgramHeaderCount: 0
# 32-NEXT: SectionHeaderEntrySize: 40
# 64-NEXT: SectionHeaderEntrySize: 64
diff --git a/llvm/test/tools/llvm-objcopy/many-sections.test b/llvm/test/tools/llvm-objcopy/many-sections.test
index 7aaa3a7fe7f..e9e12cf913f 100644
--- a/llvm/test/tools/llvm-objcopy/many-sections.test
+++ b/llvm/test/tools/llvm-objcopy/many-sections.test
@@ -22,12 +22,12 @@ EHDR-NEXT: Type: Relocatable (0x1)
EHDR-NEXT: Machine: EM_X86_64 (0x3E)
EHDR-NEXT: Version: 1
EHDR-NEXT: Entry: 0x0
-EHDR-NEXT: ProgramHeaderOffset: 0x40
+EHDR-NEXT: ProgramHeaderOffset: 0x0
EHDR-NEXT: SectionHeaderOffset:
EHDR-NEXT: Flags [ (0x0)
EHDR-NEXT: ]
EHDR-NEXT: HeaderSize: 64
-EHDR-NEXT: ProgramHeaderEntrySize: 56
+EHDR-NEXT: ProgramHeaderEntrySize: 0
EHDR-NEXT: ProgramHeaderCount: 0
EHDR-NEXT: SectionHeaderEntrySize: 64
EHDR-NEXT: SectionHeaderCount: 0
diff --git a/llvm/test/tools/llvm-objcopy/relocatable-phdr.test b/llvm/test/tools/llvm-objcopy/relocatable-phdr.test
new file mode 100644
index 00000000000..b6218956aff
--- /dev/null
+++ b/llvm/test/tools/llvm-objcopy/relocatable-phdr.test
@@ -0,0 +1,16 @@
+# This test ensures an object without a program header will retain zero values
+# for offset and header size when copied with llvm-objcopy.
+# RUN: yaml2obj %s > %t
+# RUN: llvm-objcopy %t %t2
+# RUN: llvm-readobj -file-headers %t2 | FileCheck %s
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+
+# CHECK: ProgramHeaderOffset: 0x0
+# CHECK: ProgramHeaderEntrySize: 0
+# CHECK-NEXT: ProgramHeaderCount: 0
diff --git a/llvm/test/tools/llvm-objcopy/strip-sections.test b/llvm/test/tools/llvm-objcopy/strip-sections.test
index 66cb34e89b0..fd8e224d27c 100644
--- a/llvm/test/tools/llvm-objcopy/strip-sections.test
+++ b/llvm/test/tools/llvm-objcopy/strip-sections.test
@@ -44,7 +44,7 @@ ProgramHeaders:
#CHECK-NEXT: HeaderSize: 64
#CHECK-NEXT: ProgramHeaderEntrySize: 56
#CHECK-NEXT: ProgramHeaderCount: 1
-#CHECK-NEXT: SectionHeaderEntrySize: 64
+#CHECK-NEXT: SectionHeaderEntrySize: 0
#CHECK-NEXT: SectionHeaderCount: 0
#CHECK-NEXT: StringTableSectionIndex: 0
#CHECK-NEXT: }
OpenPOWER on IntegriCloud