llvm-project/lld/test/elf/strip-all.test

110 lines
3.5 KiB
Plaintext

# Tests the --strip-all (-s) flag.
# We expect that .symtab and .strtab are stripped from the final executable.
#
# The following code was used to generate the object.
# $ clang -c blah.c -o blah
#
# void
# callMeMaybe(int *v)
# {
# *v += 1;
# }
#
# int
# main(void)
# {
#
# int blah = 42;
# callMeMaybe(&blah);
# }
#RUN: yaml2obj -format=elf %s -o=%t.o
#RUN: lld -flavor gnu -target x86_64 %t.o -e=main --strip-all -o %t1
#RUN: llvm-objdump -section-headers %t1 | FileCheck %s
#CHECK: 14 .shstrtab 0000007d 0000000000000000
#CHECK-NOT: 15 .symtab 00000198 0000000000000000
#CHECK-NOT: 16 .strtab 000000e4 0000000000000000
---
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_FREEBSD
Type: ET_REL
Machine: EM_X86_64
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x0000000000000010
Content: 554889E548897DF8488B7DF88B07050100000089075DC3660F1F840000000000554889E54883EC10488D7DFCC745FC2A000000E8C8FFFFFFB8000000004883C4105DC3
- Name: .data
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
AddressAlign: 0x0000000000000004
Content: ''
- Name: .bss
Type: SHT_NOBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
AddressAlign: 0x0000000000000004
Content: ''
- Name: .comment
Type: SHT_PROGBITS
Flags: [ SHF_MERGE, SHF_STRINGS ]
AddressAlign: 0x0000000000000001
Content: 004672656542534420636C616E672076657273696F6E20332E342E312028746167732F52454C454153455F33342F646F74312D66696E616C203230383033322920323031343035313200
- Name: .note.GNU-stack
Type: SHT_PROGBITS
AddressAlign: 0x0000000000000001
Content: ''
- Name: .eh_frame
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
AddressAlign: 0x0000000000000008
Content: 1400000000000000017A5200017810011B0C070890010000180000001C000000000000001700000000410E108602430D060000001800000038000000000000002300000000410E108602430D06000000
- Name: .rela.eh_frame
Type: SHT_RELA
Link: .symtab
AddressAlign: 0x0000000000000008
Info: .eh_frame
Relocations:
- Offset: 0x0000000000000020
Symbol: .text
Type: R_X86_64_PC32
- Offset: 0x000000000000003C
Symbol: .text
Type: R_X86_64_PC32
Addend: 32
Symbols:
Local:
- Name: .text
Type: STT_SECTION
Section: .text
- Name: .data
Type: STT_SECTION
Section: .data
- Name: .bss
Type: STT_SECTION
Section: .bss
- Name: .comment
Type: STT_SECTION
Section: .comment
- Name: .note.GNU-stack
Type: STT_SECTION
Section: .note.GNU-stack
- Name: .eh_frame
Type: STT_SECTION
Section: .eh_frame
Global:
- Name: callMeMaybe
Type: STT_FUNC
Section: .text
Size: 0x0000000000000017
- Name: main
Type: STT_FUNC
Section: .text
Value: 0x0000000000000020
Size: 0x0000000000000023
...