| # 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 old-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 |
| - 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 |
| ... |