Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[llvm-objcopy] - Implement replaceSectionReferences for GroupSection …
…class. 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: 356738
- Loading branch information
George Rimar
committed
Mar 22, 2019
1 parent
c040d5d
commit 73e1c4a
Showing
4 changed files
with
81 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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: ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters