1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -h -s -r -t | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker .text 4*9880d681SAndroid Build Coastguard Worker .globl main 5*9880d681SAndroid Build Coastguard Worker .align 16, 0x90 6*9880d681SAndroid Build Coastguard Worker .type main,@function 7*9880d681SAndroid Build Coastguard Workermain: # @main 8*9880d681SAndroid Build Coastguard Worker# BB#0: 9*9880d681SAndroid Build Coastguard Worker subq $8, %rsp 10*9880d681SAndroid Build Coastguard Worker movl $.L.str1, %edi 11*9880d681SAndroid Build Coastguard Worker callq puts 12*9880d681SAndroid Build Coastguard Worker movl $.L.str2, %edi 13*9880d681SAndroid Build Coastguard Worker callq puts 14*9880d681SAndroid Build Coastguard Worker xorl %eax, %eax 15*9880d681SAndroid Build Coastguard Worker addq $8, %rsp 16*9880d681SAndroid Build Coastguard Worker ret 17*9880d681SAndroid Build Coastguard Worker.Ltmp0: 18*9880d681SAndroid Build Coastguard Worker .size main, .Ltmp0-main 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker .type .L.str1,@object # @.str1 21*9880d681SAndroid Build Coastguard Worker .section .rodata.str1.1,"aMS",@progbits,1 22*9880d681SAndroid Build Coastguard Worker.L.str1: 23*9880d681SAndroid Build Coastguard Worker .asciz "Hello" 24*9880d681SAndroid Build Coastguard Worker .size .L.str1, 6 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Worker .type .L.str2,@object # @.str2 27*9880d681SAndroid Build Coastguard Worker.L.str2: 28*9880d681SAndroid Build Coastguard Worker .asciz "World!" 29*9880d681SAndroid Build Coastguard Worker .size .L.str2, 7 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker .section .note.GNU-stack,"",@progbits 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker// CHECK: ElfHeader { 34*9880d681SAndroid Build Coastguard Worker// CHECK: Class: 64-bit 35*9880d681SAndroid Build Coastguard Worker// CHECK: DataEncoding: LittleEndian 36*9880d681SAndroid Build Coastguard Worker// CHECK: FileVersion: 1 37*9880d681SAndroid Build Coastguard Worker// CHECK: } 38*9880d681SAndroid Build Coastguard Worker// CHECK: Sections [ 39*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 40*9880d681SAndroid Build Coastguard Worker// CHECK: Index: 0 41*9880d681SAndroid Build Coastguard Worker// CHECK: Name: (0) 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .text 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .rela.text 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker// CHECK: Relocations [ 48*9880d681SAndroid Build Coastguard Worker// CHECK: Section {{.*}} .rela.text { 49*9880d681SAndroid Build Coastguard Worker// CHECK: 0x5 R_X86_64_32 .rodata.str1.1 0x0 50*9880d681SAndroid Build Coastguard Worker// CHECK: 0xA R_X86_64_PC32 puts 0xFFFFFFFFFFFFFFFC 51*9880d681SAndroid Build Coastguard Worker// CHECK: 0xF R_X86_64_32 .rodata.str1.1 0x6 52*9880d681SAndroid Build Coastguard Worker// CHECK: 0x14 R_X86_64_PC32 puts 0xFFFFFFFFFFFFFFFC 53*9880d681SAndroid Build Coastguard Worker// CHECK: } 54*9880d681SAndroid Build Coastguard Worker// CHECK: ] 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Worker// CHECK: Symbol { 57*9880d681SAndroid Build Coastguard Worker// CHECK: Binding: Local 58*9880d681SAndroid Build Coastguard Worker// CHECK: Type: Section 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker// CHECK: Symbol { 61*9880d681SAndroid Build Coastguard Worker// CHECK: Name: main 62*9880d681SAndroid Build Coastguard Worker// CHECK: Binding: Global 63*9880d681SAndroid Build Coastguard Worker// CHECK: Type: Function 64*9880d681SAndroid Build Coastguard Worker// CHECK: } 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard Worker// CHECK: Symbol { 67*9880d681SAndroid Build Coastguard Worker// CHECK: Name: puts 68*9880d681SAndroid Build Coastguard Worker// CHECK: Binding: Global 69*9880d681SAndroid Build Coastguard Worker// CHECK: Type: None 70*9880d681SAndroid Build Coastguard Worker// CHECK: } 71