xref: /llvm-project/llvm/test/tools/llvm-size/common.test (revision a8eef4e5f50009f9b4387c8e617f34493549a781)
1*a8eef4e5SJames Henderson## Check that with the common switch common symbols are added to bss (Berkeley
2*a8eef4e5SJames Henderson## output) or shown as *COM* (sysv output). Otherwise their size is ignored.
3*a8eef4e5SJames Henderson
4*a8eef4e5SJames Henderson# RUN: yaml2obj %s -o %t.o
5*a8eef4e5SJames Henderson# RUN: llvm-size -A --common %t.o | FileCheck --check-prefix=SYSV %s
6*a8eef4e5SJames Henderson# RUN: llvm-size -B --common %t.o | FileCheck --check-prefix=BSD %s
7*a8eef4e5SJames Henderson# RUN: llvm-size -A %t.o | FileCheck --check-prefix=SYSVNOCOMM %s
8*a8eef4e5SJames Henderson# RUN: llvm-size -B %t.o | FileCheck --check-prefix=BSDNOCOMM %s
9*a8eef4e5SJames Henderson
10*a8eef4e5SJames Henderson# SYSV:      {{.*}}.o  :
11*a8eef4e5SJames Henderson# SYSV-NEXT: section     size   addr
12*a8eef4e5SJames Henderson# SYSV-NEXT: .text          0      0
13*a8eef4e5SJames Henderson# SYSV-NEXT: *COM*          8      0
14*a8eef4e5SJames Henderson# SYSV-NEXT: Total          8
15*a8eef4e5SJames Henderson
16*a8eef4e5SJames Henderson# SYSVNOCOMM:      {{.*}}.o  :
17*a8eef4e5SJames Henderson# SYSVNOCOMM-NEXT: section     size   addr
18*a8eef4e5SJames Henderson# SYSVNOCOMM-NEXT: .text          0      0
19*a8eef4e5SJames Henderson# SYSVNOCOMM-NEXT: Total          0
20*a8eef4e5SJames Henderson
21*a8eef4e5SJames Henderson# BSD:      text    data     bss     dec     hex filename
22*a8eef4e5SJames Henderson# BSD-NEXT:    0       0       8       8       8 {{.*}}.o
23*a8eef4e5SJames Henderson
24*a8eef4e5SJames Henderson# BSDNOCOMM:      text    data     bss     dec     hex filename
25*a8eef4e5SJames Henderson# BSDNOCOMM-NEXT:    0       0       0       0       0 {{.*}}.o
26*a8eef4e5SJames Henderson
27*a8eef4e5SJames Henderson--- !ELF
28*a8eef4e5SJames HendersonFileHeader:
29*a8eef4e5SJames Henderson  Class:   ELFCLASS64
30*a8eef4e5SJames Henderson  Data:    ELFDATA2LSB
31*a8eef4e5SJames Henderson  Type:    ET_EXEC
32*a8eef4e5SJames Henderson  Machine: EM_X86_64
33*a8eef4e5SJames HendersonSections:
34*a8eef4e5SJames Henderson  - Name: .text
35*a8eef4e5SJames Henderson    Type: SHT_PROGBITS
36*a8eef4e5SJames HendersonSymbols:
37*a8eef4e5SJames Henderson  - Name:  y
38*a8eef4e5SJames Henderson    Type:  STT_OBJECT
39*a8eef4e5SJames Henderson    Size:  4
40*a8eef4e5SJames Henderson    Index: SHN_COMMON
41*a8eef4e5SJames Henderson  - Name:  z
42*a8eef4e5SJames Henderson    Type:  STT_OBJECT
43*a8eef4e5SJames Henderson    Size:  4
44*a8eef4e5SJames Henderson    Index: SHN_COMMON
45