summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2019-03-24 14:41:45 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2019-03-24 14:41:45 +0000
commit272571718c07625206c4d57138c1cd1c1467f203 (patch)
tree6ef9e54b778ed0b7bb23649774d8c4ae9bd21a2e /llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test
parent7d676dfd86fa9192a34983de14978d453d6e4638 (diff)
downloadbcm5719-llvm-272571718c07625206c4d57138c1cd1c1467f203.tar.gz
bcm5719-llvm-272571718c07625206c4d57138c1cd1c1467f203.zip
Recommit r356738 "[llvm-objcopy] - Implement replaceSectionReferences for GroupSection class."
Fix: r356853 + set AddressAlign to 4 in Inputs/compress-debug-sections.yaml for the new group section introduced. Original commit message: Currently, llvm-objcopy incorrectly handles compression and decompression of the sections from COMDAT groups, because we do not implement the replaceSectionReferences for this type of the sections. The patch does that. Differential revision: https://reviews.llvm.org/D59638 llvm-svn: 356856
Diffstat (limited to 'llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test')
-rw-r--r--llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test53
1 files changed, 53 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test b/llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test
new file mode 100644
index 00000000000..a72ecbfc04c
--- /dev/null
+++ b/llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test
@@ -0,0 +1,53 @@
+# REQUIRES: zlib
+
+## In this test, we check how llvm-objcopy handles compression/decompression
+## of debug sections included in a COMDAT group.
+
+# RUN: yaml2obj %p/Inputs/compress-debug-sections.yaml -o %t.o
+
+## Check compression of debug sections.
+# RUN: llvm-objcopy --compress-debug-sections %t.o %t-compressed.o
+# RUN: llvm-readobj -s -elf-section-groups %t-compressed.o | \
+# RUN: FileCheck %s --check-prefixes=CHECK,COMPRESS
+
+## Check zlib-gnu compression of debug sections.
+# RUN: llvm-objcopy --compress-debug-sections=zlib-gnu %t.o %t-compressed-gnu.o
+# RUN: llvm-readobj -s -elf-section-groups %t-compressed-gnu.o | \
+# RUN: FileCheck %s --check-prefixes=CHECK,COMPRESSZLIB
+
+## Check decompression of debug sections.
+# RUN: llvm-objcopy --decompress-debug-sections %t-compressed.o %t-decompressed.o
+# RUN: llvm-readobj -elf-section-groups %t-decompressed.o | \
+# RUN: FileCheck %s --check-prefixes=CHECK,DECOMPRESS
+
+## Check decompression of zlib-gnu debug sections.
+# RUN: llvm-objcopy --decompress-debug-sections %t-compressed-gnu.o %t-decompressed-gnu.o
+# RUN: llvm-readobj -elf-section-groups %t-decompressed-gnu.o | \
+# RUN: FileCheck %s --check-prefixes=CHECK,DECOMPRESS
+
+# COMPRESSZLIB: Name: .zdebug_in_group
+# COMPRESSZLIB-NEXT: Type: SHT_PROGBITS
+# COMPRESSZLIB-NEXT: Flags [
+# COMPRESSZLIB-NEXT: SHF_GROUP
+# COMPRESSZLIB-NEXT: ]
+
+# COMPRESS: Name: .debug_in_group
+# COMPRESS-NEXT: Type: SHT_PROGBITS
+# COMPRESS-NEXT: Flags [
+# COMPRESS-NEXT: SHF_COMPRESSED
+# COMPRESS-NEXT: SHF_GROUP
+# COMPRESS-NEXT: ]
+
+# CHECK: Group {
+# CHECK-NEXT: Name: .group
+# CHECK-NEXT: Index:
+# CHECK-NEXT: Link:
+# CHECK-NEXT: Info:
+# CHECK-NEXT: Type: COMDAT
+# CHECK-NEXT: Signature: groupname
+# CHECK-NEXT: Section(s) in group [
+# CHECK-NEXT: .text.in.group
+# COMPRESSZLIB-NEXT: .zdebug_in_group
+# COMPRESS-NEXT: .debug_in_group
+# DECOMPRESS-NEXT: .debug_in_group
+# CHECK-NEXT: ]
OpenPOWER on IntegriCloud