67 lines · plain
1## Show that llvm-sizes works correctly on a typical ELF input for Berkeley2## format. It also shows that the formatting is correct (including using tabs as3## field separators).4 5# RUN: yaml2obj %s -o %t.o6 7# RUN: llvm-size -B %t.o \8# RUN: | FileCheck %s --match-full-lines --strict-whitespace -DFILE=%t.o --implicit-check-not={{.}}9# RUN: llvm-size --format=berkeley %t.o \10# RUN: | FileCheck %s --match-full-lines --strict-whitespace -DFILE=%t.o --implicit-check-not={{.}}11 12## Also show that the default output format is Berkeley.13# RUN: llvm-size %t.o \14# RUN: | FileCheck %s --match-full-lines --strict-whitespace -DFILE=%t.o --implicit-check-not={{.}}15 16## text is .text, .eh_frame, .unusual_name_for_code: 2 + 4 + 64 = 7017## data is .data, .init_array, .moar_stuff: 8 + 32 + 128 = 16818## bss is .bss: 119## total: 23920## unaccounted for (not affecting total) is .debug_info, .text.but_not_really21# CHECK: text data bss dec hex filename22# CHECK-NEXT: 70 168 1 239 ef [[FILE]]23 24!ELF25FileHeader:26 Class: ELFCLASS6427 Data: ELFDATA2LSB28 Type: ET_EXEC29 Machine: EM_X86_6430Sections:31 - Name: .bss32 Type: SHT_NOBITS33 Flags: [ SHF_ALLOC, SHF_WRITE ]34 Size: 135 - Name: .text36 Type: SHT_PROGBITS37 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]38 Size: 239 - Name: .unusual_name_for_code40 Type: SHT_PROGBITS41 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]42 Size: 6443 - Name: .eh_frame44 Type: SHT_PROGBITS45 Flags: [ SHF_ALLOC ]46 Size: 447 - Name: .data48 Type: SHT_PROGBITS49 Flags: [ SHF_ALLOC, SHF_WRITE ]50 Size: 851 - Name: .moar_stuff52 Type: SHT_PROGBITS53 Flags: [ SHF_ALLOC, SHF_WRITE ]54 Size: 12855 - Name: .text.but_not_really56 Type: SHT_PROGBITS57 Flags: [ ]58 Size: 25659 - Name: .debug_info60 Type: SHT_PROGBITS61 Flags: [ ]62 Size: 1663 - Name: .init_array64 Type: SHT_INIT_ARRAY65 Flags: [ SHF_ALLOC, SHF_WRITE ]66 Size: 3267