X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FMC%2FELF%2Frelax.s;h=49ee8e2eefe070b08ba2433a651bfbcb7f7b84e8;hb=9b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1;hp=ed9b7dcaffba1283a18092d18b8a8483eda7c255;hpb=e7d4a4c6c882907da11adcaaacf1a2f464214e87;p=oota-llvm.git diff --git a/test/MC/ELF/relax.s b/test/MC/ELF/relax.s index ed9b7dcaffb..49ee8e2eefe 100644 --- a/test/MC/ELF/relax.s +++ b/test/MC/ELF/relax.s @@ -1,38 +1,33 @@ -// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sd -t | FileCheck %s -// Test that we do a relaxation for foo but not for bar. Relaxing foo is -// probably not necessary, but matches what gnu as does. - -// Also test that the relaxation done for foo uses the symbol, not section and -// offset. +// Test that we do not relax these. bar: .globl foo foo: + .set zed,foo + jmp bar jmp foo + jmp zed -// CHECK: ('sh_name', 0x1) # '.text' -// CHECK-NEXT: ('sh_type', 0x1) -// CHECK-NEXT: ('sh_flags', 0x6) -// CHECK-NEXT: ('sh_addr', 0x0) -// CHECK-NEXT: ('sh_offset', 0x40) -// CHECK-NEXT: ('sh_size', 0x7) -// CHECK-NEXT: ('sh_link', 0x0) -// CHECK-NEXT: ('sh_info', 0x0) -// CHECK-NEXT: ('sh_addralign', 0x4) -// CHECK-NEXT: ('sh_entsize', 0x0) -// CHECK-NEXT: ('_section_data', 'ebfee900 000000') - -// CHECK: # Symbol 0x5 -// CHECK-NEXT: (('st_name', 0x5) # 'foo' - -// CHECK: .rela.text -// CHECK: ('_relocations', [ -// CHECK-NEXT: Relocation 0x0 -// CHECK-NEXT: (('r_offset', 0x3) -// CHECK-NEXT: ('r_sym', 0x5) -// CHECK-NEXT: ('r_type', 0x2) -// CHECK-NEXT: ('r_addend', -0x4) -// CHECK-NEXT: ), -// CHECK-NEXT: ]) +// CHECK: Section { +// CHECK: Name: .text +// CHECK-NEXT: Type: SHT_PROGBITS +// CHECK-NEXT: Flags [ +// CHECK-NEXT: SHF_ALLOC +// CHECK-NEXT: SHF_EXECINSTR +// CHECK-NEXT: ] +// CHECK-NEXT: Address: 0x0 +// CHECK-NEXT: Offset: 0x40 +// CHECK-NEXT: Size: 6 +// CHECK-NEXT: Link: 0 +// CHECK-NEXT: Info: 0 +// CHECK-NEXT: AddressAlignment: 4 +// CHECK-NEXT: EntrySize: 0 +// CHECK-NEXT: SectionData ( +// CHECK-NEXT: 0000: EBFEEBFC EBFA +// CHECK-NEXT: ) +// CHECK-NEXT: } +// CHECK: Symbol { +// CHECK: Name: foo (5)