- Name: .debug_bar
Type: SHT_PROGBITS
Content: 0000000000000000
- - Name: .group
- Type: SHT_GROUP
- Link: .symtab
- EntSize: 0x0000000000000004
- Info: groupname
- Members:
- - SectionOrType: GRP_COMDAT
- - SectionOrType: .text.in.group
- - SectionOrType: .debug_in_group
- - Name: .text.in.group
- Type: SHT_PROGBITS
- Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
- Content: '00'
- - Name: .debug_in_group
- Type: SHT_PROGBITS
- Flags: [ SHF_GROUP ]
- Content: '00'
Symbols:
Global:
- Name: .debug_foo
Section: .notdebug_foo
- Name: .Linfo_string0
Section: .debug_bar
- - Name: groupname
- Section: .group
...
+++ /dev/null
-# 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: ]
void finalize() override;
Error removeSymbols(function_ref<bool(const Symbol &)> ToRemove) override;
void markSymbols() override;
- void replaceSectionReferences(
- const DenseMap<SectionBase *, SectionBase *> &FromTo) override;
static bool classof(const SectionBase *S) {
return S->Type == ELF::SHT_GROUP;