171 lines
5.9 KiB
Plaintext
171 lines
5.9 KiB
Plaintext
## Show that llvm-size prints sizes in different radixes when requested.
|
|
|
|
# RUN: yaml2obj %s --docnum=1 -o %t1.o
|
|
# RUN: yaml2obj %s --docnum=2 -o %t2.o
|
|
|
|
## Case 1: Octal radix (Berkeley).
|
|
# RUN: llvm-size %t1.o %t2.o --totals -B --radix=8 \
|
|
# RUN: | FileCheck %s --check-prefix=OCT-BERK -DFILE1=%t1.o -DFILE2=%t2.o
|
|
# RUN: llvm-size %t1.o %t2.o --totals -B -o \
|
|
# RUN: | FileCheck %s --check-prefix=OCT-BERK -DFILE1=%t1.o -DFILE2=%t2.o
|
|
|
|
# OCT-BERK: text data bss oct hex filename
|
|
# OCT-BERK-NEXT: 01 02 04 7 7 [[FILE1]]
|
|
# OCT-BERK-NEXT: 010 020 040 70 38 [[FILE2]]
|
|
# OCT-BERK-NEXT: 011 022 044 77 3f (TOTALS)
|
|
|
|
## Case 2: Decimal radix (Berkeley).
|
|
# RUN: llvm-size %t1.o %t2.o --totals -B --radix=10 \
|
|
# RUN: | FileCheck %s --check-prefix=DEC-BERK -DFILE1=%t1.o -DFILE2=%t2.o
|
|
# RUN: llvm-size %t1.o %t2.o --totals -B -d \
|
|
# RUN: | FileCheck %s --check-prefix=DEC-BERK -DFILE1=%t1.o -DFILE2=%t2.o
|
|
|
|
# DEC-BERK: text data bss dec hex filename
|
|
# DEC-BERK-NEXT: 1 2 4 7 7 [[FILE1]]
|
|
# DEC-BERK-NEXT: 8 16 32 56 38 [[FILE2]]
|
|
# DEC-BERK-NEXT: 9 18 36 63 3f (TOTALS)
|
|
|
|
## Case 3: Hexadecimal radix (Berkeley).
|
|
# RUN: llvm-size %t1.o %t2.o --totals -B --radix=16 \
|
|
# RUN: | FileCheck %s --check-prefix=HEX-BERK -DFILE1=%t1.o -DFILE2=%t2.o
|
|
# RUN: llvm-size %t1.o %t2.o --totals -B -x \
|
|
# RUN: | FileCheck %s --check-prefix=HEX-BERK -DFILE1=%t1.o -DFILE2=%t2.o
|
|
|
|
# HEX-BERK: text data bss dec hex filename
|
|
# HEX-BERK-NEXT: 0x1 0x2 0x4 7 7 [[FILE1]]
|
|
# HEX-BERK-NEXT: 0x8 0x10 0x20 56 38 [[FILE2]]
|
|
# HEX-BERK-NEXT: 0x9 0x12 0x24 63 3f (TOTALS)
|
|
|
|
## Case 4: Octal radix (sysv).
|
|
# RUN: llvm-size %t1.o %t2.o -A --radix=8 \
|
|
# RUN: | FileCheck %s --check-prefix=OCT-SYSV -DFILE1=%t1.o -DFILE2=%t2.o
|
|
# RUN: llvm-size %t1.o %t2.o -A -o \
|
|
# RUN: | FileCheck %s --check-prefix=OCT-SYSV -DFILE1=%t1.o -DFILE2=%t2.o
|
|
|
|
# OCT-SYSV: [[FILE1]] :
|
|
# OCT-SYSV-NEXT: section size addr
|
|
# OCT-SYSV-NEXT: .text 01 04
|
|
# OCT-SYSV-NEXT: .data 02 02
|
|
# OCT-SYSV-NEXT: .bss 04 01
|
|
# OCT-SYSV-NEXT: Total 07
|
|
# OCT-SYSV-EMPTY:
|
|
# OCT-SYSV-EMPTY:
|
|
# OCT-SYSV-NEXT: [[FILE2]] :
|
|
# OCT-SYSV-NEXT: section size addr
|
|
# OCT-SYSV-NEXT: .blob 010 040
|
|
# OCT-SYSV-NEXT: .blab 020 020
|
|
# OCT-SYSV-NEXT: .blib 040 010
|
|
# OCT-SYSV-NEXT: Total 070
|
|
|
|
## Case 5: Decimal radix (sysv).
|
|
# RUN: llvm-size %t1.o %t2.o -A --radix=10 \
|
|
# RUN: | FileCheck %s --check-prefix=DEC-SYSV -DFILE1=%t1.o -DFILE2=%t2.o
|
|
# RUN: llvm-size %t1.o %t2.o -A -d \
|
|
# RUN: | FileCheck %s --check-prefix=DEC-SYSV -DFILE1=%t1.o -DFILE2=%t2.o
|
|
|
|
# DEC-SYSV: [[FILE1]] :
|
|
# DEC-SYSV-NEXT: section size addr
|
|
# DEC-SYSV-NEXT: .text 1 4
|
|
# DEC-SYSV-NEXT: .data 2 2
|
|
# DEC-SYSV-NEXT: .bss 4 1
|
|
# DEC-SYSV-NEXT: Total 7
|
|
# DEC-SYSV-EMPTY:
|
|
# DEC-SYSV-EMPTY:
|
|
# DEC-SYSV-NEXT: [[FILE2]] :
|
|
# DEC-SYSV-NEXT: section size addr
|
|
# DEC-SYSV-NEXT: .blob 8 32
|
|
# DEC-SYSV-NEXT: .blab 16 16
|
|
# DEC-SYSV-NEXT: .blib 32 8
|
|
# DEC-SYSV-NEXT: Total 56
|
|
|
|
## Case 6: Hexadecimal radix (sysv).
|
|
# RUN: llvm-size %t1.o %t2.o -A --radix=16 \
|
|
# RUN: | FileCheck %s --check-prefix=HEX-SYSV -DFILE1=%t1.o -DFILE2=%t2.o
|
|
# RUN: llvm-size %t1.o %t2.o -A -x \
|
|
# RUN: | FileCheck %s --check-prefix=HEX-SYSV -DFILE1=%t1.o -DFILE2=%t2.o
|
|
|
|
# HEX-SYSV: [[FILE1]] :
|
|
# HEX-SYSV-NEXT: section size addr
|
|
# HEX-SYSV-NEXT: .text 0x1 0x4
|
|
# HEX-SYSV-NEXT: .data 0x2 0x2
|
|
# HEX-SYSV-NEXT: .bss 0x4 0x1
|
|
# HEX-SYSV-NEXT: Total 0x7
|
|
# HEX-SYSV-EMPTY:
|
|
# HEX-SYSV-EMPTY:
|
|
# HEX-SYSV-NEXT: [[FILE2]] :
|
|
# HEX-SYSV-NEXT: section size addr
|
|
# HEX-SYSV-NEXT: .blob 0x8 0x20
|
|
# HEX-SYSV-NEXT: .blab 0x10 0x10
|
|
# HEX-SYSV-NEXT: .blib 0x20 0x8
|
|
# HEX-SYSV-NEXT: Total 0x38
|
|
|
|
## Case 7: Default Berkeley is decimal.
|
|
# RUN: llvm-size %t1.o %t2.o --totals -B \
|
|
# RUN: | FileCheck %s --check-prefix=DEC-BERK -DFILE1=%t1.o -DFILE2=%t2.o
|
|
|
|
## Case 8: Default sysv is decimal.
|
|
# RUN: llvm-size %t1.o %t2.o -A \
|
|
# RUN: | FileCheck %s --check-prefix=DEC-SYSV -DFILE1=%t1.o -DFILE2=%t2.o
|
|
|
|
## Case 9: Bad values.
|
|
# RUN: not llvm-size %t1.o --radix=0 2>&1 \
|
|
# RUN: | FileCheck %s --check-prefix=BAD-VAL -DNUM=0
|
|
# RUN: not llvm-size %t1.o --radix=1 2>&1 \
|
|
# RUN: | FileCheck %s --check-prefix=BAD-VAL -DNUM=1
|
|
# RUN: not llvm-size %t1.o --radix=2 2>&1 \
|
|
# RUN: | FileCheck %s --check-prefix=BAD-VAL -DNUM=2
|
|
# RUN: not llvm-size %t1.o --radix=32 2>&1 \
|
|
# RUN: | FileCheck %s --check-prefix=BAD-VAL -DNUM=32
|
|
# RUN: not llvm-size %t1.o --radix=-1 2>&1 \
|
|
# RUN: | FileCheck %s --check-prefix=BAD-VAL -DNUM=-1
|
|
# RUN: not llvm-size %t1.o --radix=bad 2>&1 \
|
|
# RUN: | FileCheck %s --check-prefix=BAD-VAL -DNUM=bad
|
|
|
|
# BAD-VAL: {{.*}}llvm-size{{.*}}: for the --radix option: Cannot find option named '[[NUM]]'!
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [SHF_ALLOC, SHF_EXECINSTR]
|
|
Size: 1
|
|
Address: 4
|
|
- Name: .data
|
|
Type: SHT_PROGBITS
|
|
Flags: [SHF_ALLOC, SHF_WRITE]
|
|
Size: 2
|
|
Address: 2
|
|
- Name: .bss
|
|
Type: SHT_NOBITS
|
|
Flags: [SHF_ALLOC, SHF_WRITE]
|
|
Size: 4
|
|
Address: 1
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .blob
|
|
Type: SHT_PROGBITS
|
|
Flags: [SHF_ALLOC, SHF_EXECINSTR]
|
|
Size: 8
|
|
Address: 32
|
|
- Name: .blab
|
|
Type: SHT_PROGBITS
|
|
Flags: [SHF_ALLOC, SHF_WRITE]
|
|
Size: 16
|
|
Address: 16
|
|
- Name: .blib
|
|
Type: SHT_NOBITS
|
|
Flags: [SHF_ALLOC, SHF_WRITE]
|
|
Size: 32
|
|
Address: 8
|