brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · bf69a07 Raw
142 lines · plain
1## Show how llvm-size behaves when passed in an archive.2 3# RUN: yaml2obj %s --docnum=1 -o %t14# RUN: yaml2obj %s --docnum=2 -o %t25 6## Case 1: Empty archive. No output expected.7# RUN: rm -f %t1.a8# RUN: llvm-ar rc %t1.a9 10# RUN: llvm-size -B %t1.a | count 011# RUN: llvm-size -A %t1.a | count 012 13## Case 2: Single member.14# RUN: rm -f %t2.a15# RUN: llvm-ar rc %t2.a %t116 17# RUN: llvm-size -B %t2.a | FileCheck %s -DARCHIVE=%t2.a --check-prefix=BERKELEY-118# RUN: llvm-size -A %t2.a | FileCheck %s -DARCHIVE=%t2.a --check-prefix=SYSV-119# RUN: llvm-size -m %t2.a | FileCheck %s -DARCHIVE=%t2.a --check-prefix=DARWIN-120 21## Case 3: Multiple members.22# RUN: rm -f %t3.a23# RUN: llvm-ar rc %t3.a %t1 %t224 25# RUN: llvm-size -B %t3.a | FileCheck %s -DARCHIVE=%t3.a --check-prefixes=BERKELEY-1,BERKELEY-226# RUN: llvm-size -A %t3.a | FileCheck %s -DARCHIVE=%t3.a --check-prefixes=SYSV-1,SYSV-227# RUN: llvm-size -m %t3.a | FileCheck %s -DARCHIVE=%t3.a --check-prefixes=DARWIN-1,DARWIN-228 29## Case 4: Mixing archives and non-archives produces sensible output:30# RUN: llvm-size -B %t1 %t2.a %t2 %t3.a \31# RUN:   | FileCheck %s -DARCHIVE=%t3.a -DARCHIVE2=%t2.a -DFILE1=%t1 -DFILE2=%t2 \32# RUN:                  --check-prefixes=BERKELEY-1,BERKELEY-2,BERKELEY-333# RUN: llvm-size -A %t1 %t2.a %t2 %t3.a \34# RUN:   | FileCheck %s -DARCHIVE=%t3.a -DARCHIVE2=%t2.a -DFILE1=%t1 -DFILE2=%t2 \35# RUN:                  --check-prefixes=SYSV-1,SYSV-2,SYSV-336# RUN: llvm-size -B %t1 %t2.a %t2 %t3.a \37# RUN:   | FileCheck %s -DARCHIVE=%t3.a -DARCHIVE2=%t2.a -DFILE1=%t1 -DFILE2=%t2 \38# RUN:                  --check-prefixes=DARWIN-1,DARWIN-2,DARWIN-339 40# BERKELEY-1:     text    data     bss     dec     hex filename41# BERKELEY-3-NEXT:   1       2       4       7       7 [[FILE1]]42# BERKELEY-3-NEXT:   1       2       4       7       7 archive.test.tmp1 (ex [[ARCHIVE2]])43# BERKELEY-3-NEXT:   8      16      32      56      38 [[FILE2]]44# BERKELEY-1-NEXT:   1       2       4       7       7 archive.test.tmp1 (ex [[ARCHIVE]])45# BERKELEY-2-NEXT:   8      16      32      56      38 archive.test.tmp2 (ex [[ARCHIVE]])46# BERKELEY-1-NOT:{{.}}47 48# SYSV-3:      [[FILE1]]  :49# SYSV-3-NEXT: section     size   addr50# SYSV-3-NEXT: .text          1      451# SYSV-3-NEXT: .data          2      252# SYSV-3-NEXT: .bss           4      153# SYSV-3-NEXT: Total          754# SYSV-3-EMPTY:55# SYSV-3-EMPTY:56# SYSV-3-NEXT: archive.test.tmp1   (ex [[ARCHIVE2]]):57# SYSV-3-NEXT: section     size   addr58# SYSV-3-NEXT: .text          1      459# SYSV-3-NEXT: .data          2      260# SYSV-3-NEXT: .bss           4      161# SYSV-3-NEXT: Total          762# SYSV-3-EMPTY:63# SYSV-3-EMPTY:64# SYSV-3-NEXT: [[FILE2]]  :65# SYSV-3-NEXT: section     size   addr66# SYSV-3-NEXT: .text          8      3267# SYSV-3-NEXT: .data         16      1668# SYSV-3-NEXT: .bss          32      869# SYSV-3-NEXT: Total         5670# SYSV-3-EMPTY:71 72# SYSV-1:      archive.test.tmp1   (ex [[ARCHIVE]]):73# SYSV-1-NEXT: section     size   addr74# SYSV-1-NEXT: .text          1      475# SYSV-1-NEXT: .data          2      276# SYSV-1-NEXT: .bss           4      177# SYSV-1-NEXT: Total          778# SYSV-1-EMPTY:79# SYSV-1-EMPTY:80 81# SYSV-2-NEXT: archive.test.tmp2   (ex [[ARCHIVE]]):82# SYSV-2-NEXT: section     size   addr83# SYSV-2-NEXT: .text          8      3284# SYSV-2-NEXT: .data         16      1685# SYSV-2-NEXT: .bss          32      886# SYSV-2-NEXT: Total         5687# SYSV-1-NOT:{{.}}88 89# DARWIN-1:     text    data     bss     dec     hex filename90# DARWIN-3-NEXT:   1       2       4       7       7 [[FILE1]]91# DARWIN-3-NEXT:   1       2       4       7       7 archive.test.tmp1 (ex [[ARCHIVE2]])92# DARWIN-3-NEXT:   8      16      32      56      38 [[FILE2]]93# DARWIN-1-NEXT:   1       2       4       7       7 archive.test.tmp1 (ex [[ARCHIVE]])94# DARWIN-2-NEXT:   8      16      32      56      38 archive.test.tmp2 (ex [[ARCHIVE]])95# DARWIN-1-NOT:{{.}}96 97--- !ELF98FileHeader:99  Class:   ELFCLASS64100  Data:    ELFDATA2LSB101  Type:    ET_REL102  Machine: EM_X86_64103Sections:104  - Name:    .text105    Type:    SHT_PROGBITS106    Flags:   [SHF_ALLOC, SHF_EXECINSTR]107    Size:    1108    Address: 4109  - Name:    .data110    Type:    SHT_PROGBITS111    Flags:   [SHF_ALLOC, SHF_WRITE]112    Size:    2113    Address: 2114  - Name:    .bss115    Type:    SHT_NOBITS116    Flags:   [SHF_ALLOC, SHF_WRITE]117    Size:    4118    Address: 1119 120--- !ELF121FileHeader:122  Class:   ELFCLASS64123  Data:    ELFDATA2LSB124  Type:    ET_REL125  Machine: EM_X86_64126Sections:127  - Name:    .text128    Type:    SHT_PROGBITS129    Flags:   [SHF_ALLOC, SHF_EXECINSTR]130    Size:    8131    Address: 32132  - Name:    .data133    Type:    SHT_PROGBITS134    Flags:   [SHF_ALLOC, SHF_WRITE]135    Size:    16136    Address: 16137  - Name:    .bss138    Type:    SHT_NOBITS139    Flags:   [SHF_ALLOC, SHF_WRITE]140    Size:    32141    Address: 8142