brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 1df482d Raw
50 lines · plain
1# REQUIRES: x862# RUN: rm -rf %t; split-file %s %t3# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/defs.s -o %t/defs.o4# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/refs1.s -o %t/refs1.o5# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/refs2.s -o %t/refs2.o6# RUN: %lld -lSystem -dylib %t/defs.o -o %t/libdefs.dylib7# RUN: %lld -lSystem -dylib --icf=all %t/refs1.o %t/refs2.o %t/libdefs.dylib -o %t/out8# RUN: llvm-otool -o %t/out | FileCheck %s9 10## Check that we only have 3 (unique) entries, of which two are bound at runtime11## (i.e. they are entries that have a static value of 0x0).12# CHECK:       Contents of (__DATA,__objc_classrefs) section13# CHECK-NEXT:  0000000000001008 0x0    _OBJC_CLASS_$_Foo14# CHECK-NEXT:  0000000000001010 0x0    _OBJC_CLASS_$_Bar15# CHECK-NEXT:  0000000000001018 0x1000 _OBJC_CLASS_$_Baz16# CHECK-EMPTY:17 18#--- defs.s19.globl _OBJC_CLASS_$_Foo, _OBJC_CLASS_$_Bar20.section __DATA,__objc_data21_OBJC_CLASS_$_Foo:22 .quad 12323 24_OBJC_CLASS_$_Bar:25 .quad 45626 27.subsections_via_symbols28 29#--- refs1.s30.globl _OBJC_CLASS_$_Baz31 32.section __DATA,__objc_data33_OBJC_CLASS_$_Baz:34 .quad 78935 36.section __DATA,__objc_classrefs37.quad _OBJC_CLASS_$_Foo38.quad _OBJC_CLASS_$_Bar39.quad _OBJC_CLASS_$_Baz40.quad _OBJC_CLASS_$_Baz41 42.subsections_via_symbols43 44#--- refs2.s45.section __DATA,__objc_classrefs46.quad _OBJC_CLASS_$_Foo47.quad _OBJC_CLASS_$_Bar48 49.subsections_via_symbols50