Files
clang-p2996/llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test
Fangrui Song 45ae553109 [llvm-objcopy] Remove support for legacy .zdebug sections
clang 14 removed -gz=zlib-gnu support and ld.lld removed linker input support
for zlib-gnu in D126793. Now let's remove zlib-gnu from llvm-objcopy.

* .zdebug* sections are no longer recognized as debug sections. --strip* don't remove them.
  They are copied like other opaque sections
* --decompress-debug-sections does not uncompress .zdebug* sections
* --compress-debug-sections=zlib-gnu is not supported

It is very rare but in case a user has object files using .zdebug . They can use
llvm-objcopy<15 or GNU objcopy for uncompression.
--compress-debug-sections=zlib-gnu is unlikely ever used by anyone, so I do not
add a custom diagnostic.

Differential Revision: https://reviews.llvm.org/D128688
2022-06-29 10:42:55 -07:00

37 lines
1.2 KiB
Plaintext

# 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 --section-groups %t-compressed.o | \
# RUN: FileCheck %s --check-prefixes=CHECK,COMPRESS
## Check decompression of debug sections.
# RUN: llvm-objcopy --decompress-debug-sections %t-compressed.o %t-decompressed.o
# RUN: llvm-readobj --section-groups %t-decompressed.o | \
# RUN: FileCheck %s --check-prefixes=CHECK,DECOMPRESS
# 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
# COMPRESS-NEXT: .debug_in_group
# DECOMPRESS-NEXT: .debug_in_group
# CHECK-NEXT: ]