[X86] Make sure the prologue does not clobber EFLAGS when it lives accross it.
[oota-llvm.git] / test / Object / size-trivial-macho.test
index 6ecdf5c2a8c41b8175f3cb60635a80059bcc23df..a6d3d1c43304731cdb254b8ce206babcef5f2748 100644 (file)
@@ -2,6 +2,22 @@ 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
@@ -11,5 +27,63 @@ A: __compact_unwind       32     16
 A: __eh_frame             64     48
 A: Total                 116
 
-B:   text    data     bss     dec     hex filename
-B:     12     100       4     116      74 
+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)