diff options
Diffstat (limited to 'test/ELF/linkerscript/compress-debug-sections.s')
| -rw-r--r-- | test/ELF/linkerscript/compress-debug-sections.s | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/ELF/linkerscript/compress-debug-sections.s b/test/ELF/linkerscript/compress-debug-sections.s new file mode 100644 index 000000000000..6798a217b5ac --- /dev/null +++ b/test/ELF/linkerscript/compress-debug-sections.s @@ -0,0 +1,36 @@ +# REQUIRES: x86, zlib + +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux \ +# RUN: %S/Inputs/compress-debug-sections.s -o %t1.o +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t2.o + +## .debug_str section is mergeable. LLD would combine all of them into single +## mergeable synthetic section. We use -O0 here to disable merging, that +## allows to check that input sections has correctly assigned offsets. + +# RUN: echo "SECTIONS { }" > %t.script +# RUN: ld.lld -O0 %t1.o %t2.o %t.script -o %t1 --compress-debug-sections=zlib +# RUN: llvm-dwarfdump %t1 | FileCheck %s +# RUN: llvm-readobj -s %t1 | FileCheck %s --check-prefix=ZLIBFLAGS + +# RUN: echo "SECTIONS { .debug_str 0 : { *(.debug_str) } }" > %t2.script +# RUN: ld.lld -O0 %t1.o %t2.o %t2.script -o %t2 --compress-debug-sections=zlib +# RUN: llvm-dwarfdump %t2 | FileCheck %s +# RUN: llvm-readobj -s %t2 | FileCheck %s --check-prefix=ZLIBFLAGS + +# CHECK: .debug_str contents: +# CHECK-NEXT: CCC +# CHECK-NEXT: DDD +# CHECK-NEXT: AAA +# CHECK-NEXT: BBB + +# ZLIBFLAGS: Section { +# ZLIBFLAGS: Index: +# ZLIBFLAGS: Name: .debug_str +# ZLIBFLAGS-NEXT: Type: SHT_PROGBITS +# ZLIBFLAGS-NEXT: Flags [ +# ZLIBFLAGS-NEXT: SHF_COMPRESSED + +.section .debug_str + .asciz "AAA" + .asciz "BBB" |
