MCContext &Ctx = Asm.getContext();
MCDataFragment *F;
- WriteRelocations(Asm, Layout);
-
const MCSection *SymtabSection;
unsigned EntrySize = Is64Bit ? ELF::SYMENTRY_SIZE64 : ELF::SYMENTRY_SIZE32;
StrtabSD.setAlignment(1);
StringTableIndex = Asm.size();
+ WriteRelocations(Asm, Layout);
// Symbol table
F = new MCDataFragment(&SymtabSD);
; 32: (('sh_name', 0) # ''
; 32: # '.text'
+
+; 32: ('st_bind', 0)
+; 32: ('st_type', 3)
+
+; 32: ('st_bind', 0)
+; 32: ('st_type', 3)
+
+; 32: ('st_bind', 0)
+; 32: ('st_type', 3)
+
+; 32: # 'main'
+; 32: ('st_bind', 1)
+; 32-NEXT: ('st_type', 2)
+
+; 32: # 'puts'
+; 32: ('st_bind', 1)
+; 32-NEXT: ('st_type', 0)
+
; 32: # '.rel.text'
; 32: ('_relocations', [
; 32: ),
; 32: ])
-; 32: ('st_bind', 0)
-; 32: ('st_type', 3)
-
-; 32: ('st_bind', 0)
-; 32: ('st_type', 3)
-
-; 32: ('st_bind', 0)
-; 32: ('st_type', 3)
-
-; 32: # 'main'
-; 32: ('st_bind', 1)
-; 32-NEXT: ('st_type', 2)
-
-; 32: # 'puts'
-; 32: ('st_bind', 1)
-; 32-NEXT: ('st_type', 0)
-
-
; 64: ('e_indent[EI_CLASS]', 2)
; 64: ('e_indent[EI_DATA]', 1)
; 64: ('e_indent[EI_VERSION]', 1)
; 64: (('sh_name', 0) # ''
; 64: # '.text'
+
+; 64: ('st_bind', 0)
+; 64: ('st_type', 3)
+
+; 64: ('st_bind', 0)
+; 64: ('st_type', 3)
+
+; 64: ('st_bind', 0)
+; 64: ('st_type', 3)
+
+; 64: # 'main'
+; 64-NEXT: ('st_bind', 1)
+; 64-NEXT: ('st_type', 2)
+
+; 64: # 'puts'
+; 64-NEXT: ('st_bind', 1)
+; 64-NEXT: ('st_type', 0)
+
; 64: # '.rela.text'
; 64: ('_relocations', [
; 64: ('r_addend', -4)
; 64: ),
; 64: ])
-
-; 64: ('st_bind', 0)
-; 64: ('st_type', 3)
-
-; 64: ('st_bind', 0)
-; 64: ('st_type', 3)
-
-; 64: ('st_bind', 0)
-; 64: ('st_type', 3)
-
-; 64: # 'main'
-; 64-NEXT: ('st_bind', 1)
-; 64-NEXT: ('st_type', 2)
-
-; 64: # 'puts'
-; 64-NEXT: ('st_bind', 1)
-; 64-NEXT: ('st_type', 0)
// CHECK: # Section 1
// CHECK-next: (('sh_name', 1) # '.text'
+// Symbol number 2 is section number 1
+// CHECK: # Symbol 2
+// CHECK-NEXT: (('st_name', 0) # ''
+// CHECK-NEXT: ('st_bind', 0)
+// CHECK-NEXT: ('st_type', 3)
+// CHECK-NEXT: ('st_other', 0)
+// CHECK-NEXT: ('st_shndx', 1)
+// CHECK-NEXT: ('st_value', 0)
+// CHECK-NEXT: ('st_size', 0)
// Relocation refers to symbol number 2
// CHECK: ('_relocations', [
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// CHECK-NEXT: ])
-
-// Symbol number 2 is section number 1
-// CHECK: # Symbol 2
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 3)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
.text
movsd .Lfoo(%rip), %xmm1
+// Symbol number 1 is .Lfoo
+
+// CHECK: # Symbol 1
+// CHECK-NEXT: (('st_name', 1) # '.Lfoo'
+
// Relocation refers to symbol 1
// CHECK: ('_relocations', [
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// CHECK-NEXT: ])
-
-// Symbol number 1 is .Lfoo
-
-// CHECK: # Symbol 1
-// CHECK-NEXT: (('st_name', 1) # '.Lfoo'