1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -n -triple x86_64-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r -macho-segment | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker// Test case for rdar://10062261 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker// Must be no base, non-temporary, symbol before the reference to Lbar at the 6*9880d681SAndroid Build Coastguard Worker// start of the section. What we are testing for is that the reference does not 7*9880d681SAndroid Build Coastguard Worker// create a relocation entry. 8*9880d681SAndroid Build Coastguard Worker.text 9*9880d681SAndroid Build Coastguard WorkerLadd: 10*9880d681SAndroid Build Coastguard Worker nop 11*9880d681SAndroid Build Coastguard Worker jmp Lbar 12*9880d681SAndroid Build Coastguard Worker .byte 0x0f,0x1f,0x40,0x00 13*9880d681SAndroid Build Coastguard Worker .byte 0x0f,0x1f,0x40,0x00 14*9880d681SAndroid Build Coastguard WorkerLbar: 15*9880d681SAndroid Build Coastguard Worker mov $1, %eax 16*9880d681SAndroid Build Coastguard Worker ret 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker// CHECK: File: <stdin> 19*9880d681SAndroid Build Coastguard Worker// CHECK: Format: Mach-O 64-bit x86-64 20*9880d681SAndroid Build Coastguard Worker// CHECK: Arch: x86_64 21*9880d681SAndroid Build Coastguard Worker// CHECK: AddressSize: 64bit 22*9880d681SAndroid Build Coastguard Worker// CHECK: MachHeader { 23*9880d681SAndroid Build Coastguard Worker// CHECK: Magic: Magic64 (0xFEEDFACF) 24*9880d681SAndroid Build Coastguard Worker// CHECK: CpuType: X86-64 (0x1000007) 25*9880d681SAndroid Build Coastguard Worker// CHECK: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3) 26*9880d681SAndroid Build Coastguard Worker// CHECK: FileType: Relocatable (0x1) 27*9880d681SAndroid Build Coastguard Worker// CHECK: NumOfLoadCommands: 2 28*9880d681SAndroid Build Coastguard Worker// CHECK: SizeOfLoadCommands: 168 29*9880d681SAndroid Build Coastguard Worker// CHECK: Flags [ (0x0) 30*9880d681SAndroid Build Coastguard Worker// CHECK: ] 31*9880d681SAndroid Build Coastguard Worker// CHECK: Reserved: 0x0 32*9880d681SAndroid Build Coastguard Worker// CHECK: } 33*9880d681SAndroid Build Coastguard Worker// CHECK: Sections [ 34*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 35*9880d681SAndroid Build Coastguard Worker// CHECK: Index: 0 36*9880d681SAndroid Build Coastguard Worker// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) 37*9880d681SAndroid Build Coastguard Worker// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 38*9880d681SAndroid Build Coastguard Worker// CHECK: Address: 0x0 39*9880d681SAndroid Build Coastguard Worker// CHECK: Size: 0x11 40*9880d681SAndroid Build Coastguard Worker// CHECK: Offset: 200 41*9880d681SAndroid Build Coastguard Worker// CHECK: Alignment: 0 42*9880d681SAndroid Build Coastguard Worker// CHECK: RelocationOffset: 0x0 43*9880d681SAndroid Build Coastguard Worker// CHECK: RelocationCount: 0 44*9880d681SAndroid Build Coastguard Worker// CHECK: Type: 0x0 45*9880d681SAndroid Build Coastguard Worker// CHECK: Attributes [ (0x800004) 46*9880d681SAndroid Build Coastguard Worker// CHECK: PureInstructions (0x800000) 47*9880d681SAndroid Build Coastguard Worker// CHECK: SomeInstructions (0x4) 48*9880d681SAndroid Build Coastguard Worker// CHECK: ] 49*9880d681SAndroid Build Coastguard Worker// CHECK: Reserved1: 0x0 50*9880d681SAndroid Build Coastguard Worker// CHECK: Reserved2: 0x0 51*9880d681SAndroid Build Coastguard Worker// CHECK: Reserved3: 0x0 52*9880d681SAndroid Build Coastguard Worker// CHECK: SectionData ( 53*9880d681SAndroid Build Coastguard Worker// CHECK: 0000: 90EB080F 1F40000F 1F4000B8 01000000 |.....@...@......| 54*9880d681SAndroid Build Coastguard Worker// CHECK: 0010: C3 |.| 55*9880d681SAndroid Build Coastguard Worker// CHECK: ) 56*9880d681SAndroid Build Coastguard Worker// CHECK: } 57*9880d681SAndroid Build Coastguard Worker// CHECK: ] 58*9880d681SAndroid Build Coastguard Worker// CHECK: Relocations [ 59*9880d681SAndroid Build Coastguard Worker// CHECK: ] 60*9880d681SAndroid Build Coastguard Worker// CHECK: Segment { 61*9880d681SAndroid Build Coastguard Worker// CHECK: Cmd: LC_SEGMENT_64 62*9880d681SAndroid Build Coastguard Worker// CHECK: Name: 63*9880d681SAndroid Build Coastguard Worker// CHECK: Size: 152 64*9880d681SAndroid Build Coastguard Worker// CHECK: vmaddr: 0x0 65*9880d681SAndroid Build Coastguard Worker// CHECK: vmsize: 0x11 66*9880d681SAndroid Build Coastguard Worker// CHECK: fileoff: 200 67*9880d681SAndroid Build Coastguard Worker// CHECK: filesize: 17 68*9880d681SAndroid Build Coastguard Worker// CHECK: maxprot: rwx 69*9880d681SAndroid Build Coastguard Worker// CHECK: initprot: rwx 70*9880d681SAndroid Build Coastguard Worker// CHECK: nsects: 1 71*9880d681SAndroid Build Coastguard Worker// CHECK: flags: 0x0 72*9880d681SAndroid Build Coastguard Worker// CHECK: } 73