Handle _GLOBAL_OFFSET_TABLE_ in 64 bit mode.
[oota-llvm.git] / test / MC / ELF / relax.s
index ed9b7dcaffba1283a18092d18b8a8483eda7c255..49ee8e2eefe070b08ba2433a651bfbcb7f7b84e8 100644 (file)
@@ -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)