207 lines · plain
1## Show that llvm-size prints the total sizes when --totals is specified.2 3# RUN: rm -f %t.a4# RUN: yaml2obj %s --docnum=1 -o %t.o5# RUN: yaml2obj %s --docnum=2 -o %t2.o6# RUN: llvm-ar rc %t.a %t.o %t2.o7# RUN: llvm-size --totals %t.o %t.a %t2.o \8# RUN: | FileCheck %s -DFILE1=%t.o -DFILE2=%t2.o -DARCHIVE=%t.a9# RUN: llvm-size -t %t.o %t.a %t2.o \10# RUN: | FileCheck %s -DFILE1=%t.o -DFILE2=%t2.o -DARCHIVE=%t.a11 12# CHECK: text data bss dec hex filename13# CHECK-NEXT: [[FILE1]]14# CHECK-NEXT: {{.*}}.o (ex [[ARCHIVE]])15# CHECK-NEXT: {{.*}}2.o (ex [[ARCHIVE]])16# CHECK-NEXT: [[FILE2]]17# CHECK-NEXT: 18 36 72 126 7e (TOTALS)18 19# RUN: yaml2obj %s --docnum=3 -o %t-macho.o20# RUN: yaml2obj %s --docnum=4 -o %t-macho2.o21# RUN: llvm-size --totals %t-macho.o %t-macho2.o | \22# RUN: FileCheck %s --check-prefix=MACHO-CHECK --strict-whitespace \23# RUN: --match-full-lines --implicit-check-not={{.}} -DFILE1=%t-macho.o -DFILE2=%t-macho2.o24 25# MACHO-CHECK:__TEXT __DATA __OBJC others dec hex26# MACHO-CHECK-NEXT:20 100 0 32 152 98 [[FILE1]]27# MACHO-CHECK-NEXT:20 200 0 32 252 fc [[FILE2]]28# MACHO-CHECK-NEXT:40 300 0 64 404 194 (TOTALS)29 30--- !ELF31FileHeader:32 Class: ELFCLASS6433 Data: ELFDATA2LSB34 Type: ET_REL35 Machine: EM_X86_6436Sections:37 - Name: .text38 Type: SHT_PROGBITS39 Flags: [SHF_ALLOC, SHF_EXECINSTR]40 Size: 141 - Name: .data42 Type: SHT_PROGBITS43 Flags: [SHF_ALLOC, SHF_WRITE]44 Size: 245 - Name: .bss46 Type: SHT_NOBITS47 Flags: [SHF_ALLOC, SHF_WRITE]48 Size: 449 50--- !ELF51FileHeader:52 Class: ELFCLASS6453 Data: ELFDATA2LSB54 Type: ET_REL55 Machine: EM_X86_6456Sections:57 - Name: .text58 Type: SHT_PROGBITS59 Flags: [SHF_ALLOC, SHF_EXECINSTR]60 Size: 861 - Name: .data62 Type: SHT_PROGBITS63 Flags: [SHF_ALLOC, SHF_WRITE]64 Size: 1665 - Name: .bss66 Type: SHT_NOBITS67 Flags: [SHF_ALLOC, SHF_WRITE]68 Size: 3269 70--- !mach-o71FileHeader:72 magic: 0xFEEDFACF73 cputype: 0x100000C74 cpusubtype: 0x075 filetype: 0x176 ncmds: 277 sizeofcmds: 35278 flags: 0x200079 reserved: 0x080LoadCommands:81 - cmd: LC_SEGMENT_6482 cmdsize: 31283 segname: ''84 vmaddr: 085 vmsize: 15286 fileoff: 38487 filesize: 15288 maxprot: 789 initprot: 790 nsects: 391 flags: 092 Sections:93 - sectname: __text94 segname: __TEXT95 addr: 0x096 size: 2097 offset: 0x18098 align: 299 reloff: 0x0100 nreloc: 0101 flags: 0x80000400102 reserved1: 0x0103 reserved2: 0x0104 reserved3: 0x0105 - sectname: __data106 segname: __DATA107 addr: 0x18108 size: 100109 offset: 0x198110 align: 2111 reloff: 0x0112 nreloc: 0113 flags: 0x0114 reserved1: 0x0115 reserved2: 0x0116 reserved3: 0x0117 - sectname: __compact_unwind118 segname: __LD119 addr: 0x20120 size: 32121 offset: 0x200122 align: 3123 reloff: 0x0124 nreloc: 0125 flags: 0x2000000126 reserved1: 0x0127 reserved2: 0x0128 reserved3: 0x0129 - cmd: LC_BUILD_VERSION130 cmdsize: 32131 platform: 1132 minos: 851968133 sdk: 983040134 ntools: 1135 Tools:136 - tool: 3137 version: 68157696138 139--- !mach-o140FileHeader:141 magic: 0xFEEDFACF142 cputype: 0x100000C143 cpusubtype: 0x0144 filetype: 0x1145 ncmds: 2146 sizeofcmds: 352147 flags: 0x2000148 reserved: 0x0149LoadCommands:150 - cmd: LC_SEGMENT_64151 cmdsize: 312152 segname: ''153 vmaddr: 0154 vmsize: 252155 fileoff: 384156 filesize: 252157 maxprot: 7158 initprot: 7159 nsects: 3160 flags: 0161 Sections:162 - sectname: __text163 segname: __TEXT164 addr: 0x0165 size: 20166 offset: 0x180167 align: 2168 reloff: 0x0169 nreloc: 0170 flags: 0x80000400171 reserved1: 0x0172 reserved2: 0x0173 reserved3: 0x0174 - sectname: __data175 segname: __DATA176 addr: 0x18177 size: 200178 offset: 0x198179 align: 2180 reloff: 0x0181 nreloc: 0182 flags: 0x0183 reserved1: 0x0184 reserved2: 0x0185 reserved3: 0x0186 - sectname: __compact_unwind187 segname: __LD188 addr: 0x20189 size: 32190 offset: 0x260191 align: 3192 reloff: 0x0193 nreloc: 0194 flags: 0x2000000195 reserved1: 0x0196 reserved2: 0x0197 reserved3: 0x0198 - cmd: LC_BUILD_VERSION199 cmdsize: 32200 platform: 1201 minos: 851968202 sdk: 983040203 ntools: 1204 Tools:205 - tool: 3206 version: 68157696207