# 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: ]