llvm/test/Object/size-trivial-macho.test
Kevin Enderby adaa88ecc5 Add the -arch flag support to llvm-size like what was done to llvm-nm
to select the slice out of a Mach-O universal file.  This also includes
support for -arch all, selecting the host architecture by default from
a universal file and checking if -arch is used with a standard Mach-O
it matches that architecture.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212108 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-01 17:19:10 +00:00

90 lines
3.6 KiB
Plaintext

RUN: llvm-size -A %p/Inputs/macho-text-data-bss.macho-x86_64 \
RUN: | FileCheck %s -check-prefix A
RUN: llvm-size -B %p/Inputs/macho-text-data-bss.macho-x86_64 \
RUN: | FileCheck %s -check-prefix B
RUN: llvm-size -format darwin %p/Inputs/macho-text-data-bss.macho-x86_64 \
RUN: | FileCheck %s -check-prefix m
RUN: llvm-size %p/Inputs/macho-archive-x86_64.a \
RUN: | FileCheck %s -check-prefix AR
RUN: llvm-size -format darwin %p/Inputs/macho-archive-x86_64.a \
RUN: | FileCheck %s -check-prefix mAR
RUN: llvm-size -m -x -l %p/Inputs/hello-world.macho-x86_64 \
RUN: | FileCheck %s -check-prefix mxl
RUN: llvm-size -arch all %p/Inputs/macho-universal.x86_64.i386 \
RUN: | FileCheck %s -check-prefix u
RUN: llvm-size -arch i386 %p/Inputs/macho-universal.x86_64.i386 \
RUN: | FileCheck %s -check-prefix u-i386
RUN: llvm-size -arch all %p/Inputs/macho-universal-archive.x86_64.i386 \
RUN: | FileCheck %s -check-prefix uAR
RUN: llvm-size -arch x86_64 %p/Inputs/macho-universal-archive.x86_64.i386 \
RUN: | FileCheck %s -check-prefix uAR-x86_64
A: section size addr
A: __text 12 0
A: __data 4 12
A: __bss 4 112
A: __compact_unwind 32 16
A: __eh_frame 64 48
A: Total 116
B: __TEXT __DATA __OBJC others dec hex
B: 76 8 0 32 116 74
m: Segment : 116
m: Section (__TEXT, __text): 12
m: Section (__DATA, __data): 4
m: Section (__DATA, __bss): 4
m: Section (__LD, __compact_unwind): 32
m: Section (__TEXT, __eh_frame): 64
m: total 116
m: total 116
AR: __TEXT __DATA __OBJC others dec hex
AR: 70 0 0 32 102 66 {{.*}}/macho-archive-x86_64.a(foo.o)
AR: 0 4 0 0 4 4 {{.*}}/macho-archive-x86_64.a(bar.o)
mAR: {{.*}}/macho-archive-x86_64.a(foo.o):
mAR: Segment : 104
mAR: Section (__TEXT, __text): 6
mAR: Section (__LD, __compact_unwind): 32
mAR: Section (__TEXT, __eh_frame): 64
mAR: total 102
mAR: total 104
mAR: {{.*}}/macho-archive-x86_64.a(bar.o):
mAR: Segment : 4
mAR: Section (__TEXT, __text): 0
mAR: Section (__DATA, __data): 4
mAR: total 4
mAR: total 4
mxl: Segment __PAGEZERO: 0x100000000 (vmaddr 0x0 fileoff 0)
mxl: Segment __TEXT: 0x1000 (vmaddr 0x100000000 fileoff 0)
mxl: Section __text: 0x3b (addr 0x100000f30 offset 3888)
mxl: Section __stubs: 0x6 (addr 0x100000f6c offset 3948)
mxl: Section __stub_helper: 0x1a (addr 0x100000f74 offset 3956)
mxl: Section __cstring: 0xd (addr 0x100000f8e offset 3982)
mxl: Section __unwind_info: 0x48 (addr 0x100000f9b offset 3995)
mxl: Section __eh_frame: 0x18 (addr 0x100000fe8 offset 4072)
mxl: total 0xc8
mxl: Segment __DATA: 0x1000 (vmaddr 0x100001000 fileoff 4096)
mxl: Section __nl_symbol_ptr: 0x10 (addr 0x100001000 offset 4096)
mxl: Section __la_symbol_ptr: 0x8 (addr 0x100001010 offset 4112)
mxl: total 0x18
mxl: Segment __LINKEDIT: 0x1000 (vmaddr 0x100002000 fileoff 8192)
mxl: total 0x100003000
u: __TEXT __DATA __OBJC others dec hex
u: 4096 0 0 4294971392 4294975488 100002000 {{.*}}/macho-universal.x86_64.i386 (for architecture x86_64)
u: 4096 0 0 8192 12288 3000 {{.*}}/macho-universal.x86_64.i386 (for architecture i386)
u-i386: __TEXT __DATA __OBJC others dec hex
u-i386: 4096 0 0 8192 12288 3000
uAR: __TEXT __DATA __OBJC others dec hex
uAR: 136 0 0 32 168 a8 {{.*}}/macho-universal-archive.x86_64.i386(hello.o) (for architecture x86_64)
uAR: 5 4 0 0 9 9 {{.*}}/macho-universal-archive.x86_64.i386(foo.o) (for architecture i386)
uAR-x86_64: __TEXT __DATA __OBJC others dec hex
uAR-x86_64: 136 0 0 32 168 a8 {{.*}}/macho-universal-archive.x86_64.i386(hello.o)