blob: a72ecbfc04ca27a7d536344108167124a005e9ed [file] [log] [blame]
# 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: ]