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/ELF/preserve-segment-contents-ehdr-phdrs.test2
-rw-r--r--llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test28
-rw-r--r--llvm/test/tools/llvm-objcopy/ELF/segment-shift-section-remove.test30
-rw-r--r--llvm/test/tools/llvm-objcopy/ELF/segment-test-remove-section.test30
-rw-r--r--llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test21
5 files changed, 24 insertions, 87 deletions
diff --git a/llvm/test/tools/llvm-objcopy/ELF/preserve-segment-contents-ehdr-phdrs.test b/llvm/test/tools/llvm-objcopy/ELF/preserve-segment-contents-ehdr-phdrs.test
index 9dc63d753f6..3352313c271 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/preserve-segment-contents-ehdr-phdrs.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/preserve-segment-contents-ehdr-phdrs.test
@@ -13,7 +13,7 @@
# BEFORE: Type: PT_LOAD
# BEFORE-NEXT: Offset: 0x240
-# AFTER: SectionHeaderCount: 5
+# AFTER: SectionHeaderCount: 3
# AFTER: Type: PT_LOAD
# AFTER-NEXT: Offset: 0x0
# AFTER: Type: PT_LOAD
diff --git a/llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test b/llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test
index 1f1bc4ce191..a162303ccac 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test
@@ -87,34 +87,6 @@ Sections:
# CHECK: }
# CHECK: Section {
# CHECK: Index: 4
-# CHECK: Name: .symtab
-# CHECK: Type: SHT_SYMTAB (0x2)
-# CHECK: Flags [ (0x0)
-# CHECK: ]
-# CHECK: Address: 0x0
-# CHECK: Offset:
-# CHECK: Size:
-# CHECK: Link: 5
-# CHECK: Info: 1
-# CHECK: AddressAlignment: 8
-# CHECK: EntrySize: 24
-# CHECK: }
-# CHECK: Section {
-# CHECK: Index: 5
-# CHECK: Name: .strtab
-# CHECK: Type: SHT_STRTAB (0x3)
-# CHECK: Flags [ (0x0)
-# CHECK: ]
-# CHECK: Address: 0x0
-# CHECK: Offset:
-# CHECK: Size:
-# CHECK: Link: 0
-# CHECK: Info: 0
-# CHECK: AddressAlignment: 1
-# CHECK: EntrySize: 0
-# CHECK: }
-# CHECK: Section {
-# CHECK: Index: 6
# CHECK: Name: .shstrtab
# CHECK: Type: SHT_STRTAB (0x3)
# CHECK: Flags [ (0x0)
diff --git a/llvm/test/tools/llvm-objcopy/ELF/segment-shift-section-remove.test b/llvm/test/tools/llvm-objcopy/ELF/segment-shift-section-remove.test
index 563a9e3f836..cef783cb9b2 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/segment-shift-section-remove.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/segment-shift-section-remove.test
@@ -41,7 +41,7 @@ ProgramHeaders:
Sections:
- Section: .text3
-#CHECK: SectionHeaderCount: 6
+#CHECK: SectionHeaderCount: 4
# CHECK: Sections [
# CHECK-NEXT: Section {
@@ -92,34 +92,6 @@ ProgramHeaders:
# 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: 0x3000
-# CHECK-NEXT: Size: 24
-# CHECK-NEXT: Link: 4
-# CHECK-NEXT: Info: 1
-# CHECK-NEXT: AddressAlignment: 8
-# CHECK-NEXT: EntrySize: 24
-# CHECK-NEXT: }
-# CHECK-NEXT: Section {
-# CHECK-NEXT: Index: 4
-# CHECK-NEXT: Name: .strtab
-# CHECK-NEXT: Type: SHT_STRTAB (0x3)
-# CHECK-NEXT: Flags [ (0x0)
-# CHECK-NEXT: ]
-# CHECK-NEXT: Address: 0x0
-# CHECK-NEXT: Offset: 0x3018
-# CHECK-NEXT: Size:
-# CHECK-NEXT: Link: 0
-# CHECK-NEXT: Info: 0
-# CHECK-NEXT: AddressAlignment: 1
-# CHECK-NEXT: EntrySize: 0
-# CHECK-NEXT: }
-# CHECK-NEXT: Section {
-# CHECK-NEXT: Index: 5
# CHECK-NEXT: Name: .shstrtab
# CHECK-NEXT: Type: SHT_STRTAB (0x3)
# CHECK-NEXT: Flags [ (0x0)
diff --git a/llvm/test/tools/llvm-objcopy/ELF/segment-test-remove-section.test b/llvm/test/tools/llvm-objcopy/ELF/segment-test-remove-section.test
index f9a5dd7811e..60cd5f3483d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/segment-test-remove-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/segment-test-remove-section.test
@@ -46,7 +46,7 @@ ProgramHeaders:
# Make sure that when we remove a section we overwrite it with zeros
# DATA: {{^[^[:blank:]]+}} 00 00 00 00
-#CHECK: SectionHeaderCount: 6
+#CHECK: SectionHeaderCount: 4
# CHECK: Sections [
# CHECK: Section {
@@ -97,34 +97,6 @@ ProgramHeaders:
# 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:
-# CHECK-NEXT: Size:
-# CHECK-NEXT: Link: 4
-# CHECK-NEXT: Info: 1
-# CHECK-NEXT: AddressAlignment: 8
-# CHECK-NEXT: EntrySize: 24
-# CHECK-NEXT: }
-# CHECK-NEXT: Section {
-# CHECK-NEXT: Index: 4
-# CHECK-NEXT: Name: .strtab
-# CHECK-NEXT: Type: SHT_STRTAB (0x3)
-# CHECK-NEXT: Flags [ (0x0)
-# CHECK-NEXT: ]
-# CHECK-NEXT: Address: 0x0
-# CHECK-NEXT: Offset:
-# CHECK-NEXT: Size:
-# CHECK-NEXT: Link: 0
-# CHECK-NEXT: Info: 0
-# CHECK-NEXT: AddressAlignment: 1
-# CHECK-NEXT: EntrySize: 0
-# CHECK-NEXT: }
-# CHECK-NEXT: Section {
-# CHECK-NEXT: Index: 5
# CHECK-NEXT: Name: .shstrtab
# CHECK-NEXT: Type: SHT_STRTAB (0x3)
# CHECK-NEXT: Flags [ (0x0)
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test b/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test
new file mode 100644
index 00000000000..e2fd4202115
--- /dev/null
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test
@@ -0,0 +1,21 @@
+## Stripping unneeded symbols from execuatble/DSO should
+## eliminate the static symbol table, because it's not used
+## by the dynamic loader.
+
+# RUN: yaml2obj %s > %t
+# RUN: cp %t %t1
+# RUN: llvm-objcopy --strip-unneeded %t %t2
+# RUN: llvm-readobj --section-headers %t2 | FileCheck %s
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+Symbols:
+ - Name: bar
+ - Name: foo
+ Binding: STB_GLOBAL
+
+# CHECK-NOT: .symtab
OpenPOWER on IntegriCloud