1 // RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu %s -o - | elf-dump | FileCheck %s 2 3 .text 4 .globl main 5 .align 16, 0x90 6 .type main,@function 7 main: # @main 8 # BB#0: 9 subl $4, %esp 10 movl $.L.str1, (%esp) 11 calll puts 12 movl $.L.str2, (%esp) 13 calll puts 14 xorl %eax, %eax 15 addl $4, %esp 16 ret 17 .Ltmp0: 18 .size main, .Ltmp0-main 19 20 .type .L.str1,@object # @.str1 21 .section .rodata.str1.1,"aMS",@progbits,1 22 .L.str1: 23 .asciz "Hello" 24 .size .L.str1, 6 25 26 .type .L.str2,@object # @.str2 27 .L.str2: 28 .asciz "World!" 29 .size .L.str2, 7 30 31 .section .note.GNU-stack,"",@progbits 32 33 // CHECK: ('e_indent[EI_CLASS]', 0x01) 34 // CHECK: ('e_indent[EI_DATA]', 0x01) 35 // CHECK: ('e_indent[EI_VERSION]', 0x01) 36 // CHECK: ('_sections', [ 37 // CHECK: # Section 0 38 // CHECK: (('sh_name', 0x00000000) # '' 39 40 // CHECK: # '.text' 41 42 // CHECK: # '.rel.text' 43 44 // CHECK: ('_relocations', [ 45 // CHECK: # Relocation 0 46 // CHECK: (('r_offset', 0x00000006) 47 // CHECK: ('r_type', 0x01) 48 // CHECK: ), 49 // CHECK: # Relocation 1 50 // CHECK: (('r_offset', 0x0000000b) 51 // CHECK: ('r_type', 0x02) 52 // CHECK: ), 53 // CHECK: # Relocation 2 54 // CHECK: (('r_offset', 0x00000012) 55 // CHECK: ('r_type', 0x01) 56 // CHECK: ), 57 // CHECK: # Relocation 3 58 // CHECK: (('r_offset', 0x00000017) 59 // CHECK: ('r_type', 0x02) 60 // CHECK: ), 61 // CHECK: ]) 62 63 // CHECK: ('st_bind', 0x0) 64 // CHECK: ('st_type', 0x3) 65 66 // CHECK: ('st_bind', 0x0) 67 // CHECK: ('st_type', 0x3) 68 69 // CHECK: ('st_bind', 0x0) 70 // CHECK: ('st_type', 0x3) 71 72 // CHECK: # 'main' 73 // CHECK: ('st_bind', 0x1) 74 // CHECK-NEXT: ('st_type', 0x2) 75 76 // CHECK: # 'puts' 77 // CHECK: ('st_bind', 0x1) 78 // CHECK-NEXT: ('st_type', 0x0) 79