| // RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu %s -o - | elf-dump | FileCheck %s |
| |
| .text |
| .globl main |
| .align 16, 0x90 |
| .type main,@function |
| main: # @main |
| # BB#0: |
| subl $4, %esp |
| movl $.L.str1, (%esp) |
| calll puts |
| movl $.L.str2, (%esp) |
| calll puts |
| xorl %eax, %eax |
| addl $4, %esp |
| ret |
| .Ltmp0: |
| .size main, .Ltmp0-main |
| |
| .type .L.str1,@object # @.str1 |
| .section .rodata.str1.1,"aMS",@progbits,1 |
| .L.str1: |
| .asciz "Hello" |
| .size .L.str1, 6 |
| |
| .type .L.str2,@object # @.str2 |
| .L.str2: |
| .asciz "World!" |
| .size .L.str2, 7 |
| |
| .section .note.GNU-stack,"",@progbits |
| |
| // CHECK: ('e_indent[EI_CLASS]', 0x01) |
| // CHECK: ('e_indent[EI_DATA]', 0x01) |
| // CHECK: ('e_indent[EI_VERSION]', 0x01) |
| // CHECK: ('_sections', [ |
| // CHECK: # Section 0 |
| // CHECK: (('sh_name', 0x00000000) # '' |
| |
| // CHECK: # '.text' |
| |
| // CHECK: # '.rel.text' |
| |
| // CHECK: ('_relocations', [ |
| // CHECK: # Relocation 0 |
| // CHECK: (('r_offset', 0x00000006) |
| // CHECK: ('r_type', 0x01) |
| // CHECK: ), |
| // CHECK: # Relocation 1 |
| // CHECK: (('r_offset', 0x0000000b) |
| // CHECK: ('r_type', 0x02) |
| // CHECK: ), |
| // CHECK: # Relocation 2 |
| // CHECK: (('r_offset', 0x00000012) |
| // CHECK: ('r_type', 0x01) |
| // CHECK: ), |
| // CHECK: # Relocation 3 |
| // CHECK: (('r_offset', 0x00000017) |
| // CHECK: ('r_type', 0x02) |
| // CHECK: ), |
| // CHECK: ]) |
| |
| // CHECK: ('st_bind', 0x0) |
| // CHECK: ('st_type', 0x3) |
| |
| // CHECK: ('st_bind', 0x0) |
| // CHECK: ('st_type', 0x3) |
| |
| // CHECK: ('st_bind', 0x0) |
| // CHECK: ('st_type', 0x3) |
| |
| // CHECK: # 'main' |
| // CHECK: ('st_bind', 0x1) |
| // CHECK-NEXT: ('st_type', 0x2) |
| |
| // CHECK: # 'puts' |
| // CHECK: ('st_bind', 0x1) |
| // CHECK-NEXT: ('st_type', 0x0) |