| // RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu %s -o - | llvm-readobj -h -S -r --symbols - | 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: ElfHeader { |
| // CHECK: Class: 32-bit |
| // CHECK: DataEncoding: LittleEndian |
| // CHECK: FileVersion: 1 |
| // CHECK: } |
| // CHECK: Sections [ |
| // CHECK: Section { |
| // CHECK: Index: 0 |
| // CHECK: Name: (0) |
| |
| // CHECK: Name: .text |
| |
| // CHECK: Name: .rel.text |
| |
| // CHECK: Relocations [ |
| // CHECK: Section {{.*}} .rel.text { |
| // CHECK: 0x6 R_386_32 .rodata.str1.1 |
| // CHECK: 0xB R_386_PC32 puts |
| // CHECK: 0x12 R_386_32 .rodata.str1.1 |
| // CHECK: 0x17 R_386_PC32 puts |
| // CHECK: } |
| // CHECK: ] |
| |
| // CHECK: Symbols [ |
| |
| // CHECK: Symbol { |
| // CHECK: Name: main |
| // CHECK: Binding: Global |
| // CHECK: Type: Function |
| // CHECK: } |
| |
| // CHECK: Symbol { |
| // CHECK: Name: puts |
| // CHECK: Binding: Global |
| // CHECK: Type: None |
| // CHECK: } |