; ASM-NEXT: .type _MergedGlobals,%object @ @_MergedGlobals
-; OBJ: Sections [
-; OBJ: Section {
-; OBJ: Index: 4
-; OBJ-NEXT: Name: .bss
-
; OBJ: Symbols [
; OBJ: Symbol {
; OBJ: Name: array00
; accessing function-scoped variable si.
;
; CHECK: Relocations [
-; CHECK: Section (2) .rela.text {
+; CHECK: Section {{.*}} .rela.text {
; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_HA [[SYM2:[^ ]+]]
; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO_DS [[SYM2]]
; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO [[SYM2]]
; accessing external variable ei.
;
; MEDIUM: Relocations [
-; MEDIUM: Section (2) .rela.text {
+; MEDIUM: Section {{.*}} .rela.text {
; MEDIUM-NEXT: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_HA [[SYM1:[^ ]+]]
; MEDIUM-NEXT: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO_DS [[SYM1]]
;
; LARGE: Relocations [
-; LARGE: Section (2) .rela.text {
+; LARGE: Section {{.*}} .rela.text {
; LARGE-NEXT: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_HA [[SYM1:[^ ]+]]
; LARGE-NEXT: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO_DS [[SYM1]]
; v9abs-obj: ]
; pic-obj: Relocations [
-; pic-obj: Section (2) .rela.text {
+; pic-obj: Section {{.*}} .rela.text {
; pic-obj: 0x{{[0-9,A-F]+}} R_SPARC_PC22 _GLOBAL_OFFSET_TABLE_ 0x4
; pic-obj: 0x{{[0-9,A-F]+}} R_SPARC_PC10 _GLOBAL_OFFSET_TABLE_ 0x8
; pic-obj: 0x{{[0-9,A-F]+}} R_SPARC_TLS_LDO_HIX22 local_symbol 0x0
b.eq somewhere
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rela.text {
+// OBJ-NEXT: Section {{.*}} .rela.text {
// OBJ-NEXT: 0x0 R_AARCH64_CONDBR19 somewhere 0x0
// OBJ-NEXT: }
// OBJ-NEXT: ]
// CHECK: Relocations [
-// CHECK: Section (2) .rela.text {
+// CHECK: Section {{.*}} .rela.text {
// CHECK: 0x{{[0-9,A-F]+}} R_AARCH64_CALL26 memcpy
// CHECK: }
// CHECK: ]
; OBJ: }
; OBJ: Relocations [
-; OBJ: Section (2) .rela.text {
+; OBJ: Section {{.*}} .rela.text {
; OBJ: 0x{{[0-9,A-F]+}} R_AARCH64_ADR_PREL_PG_HI21 var8
; OBJ: 0x{{[0-9,A-F]+}} R_AARCH64_LDST8_ABS_LO12_NC var8
; OBJ: 0x{{[0-9,A-F]+}} R_AARCH64_ADR_PREL_PG_HI21 var16
add x2, x3, #:lo12:some_label
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rela.text {
+// OBJ-NEXT: Section {{.*}} .rela.text {
// OBJ-NEXT: 0x0 R_AARCH64_ADD_ABS_LO12_NC some_label 0x0
// OBJ-NEXT: }
// OBJ-NEXT: ]
prfm pldl3keep, some_label
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rela.text {
+// OBJ-NEXT: Section {{.*}} .rela.text {
// OBJ-NEXT: 0x0 R_AARCH64_LD_PREL_LO19 some_label 0x0
// OBJ-NEXT: 0x4 R_AARCH64_LD_PREL_LO19 some_label 0x0
// OBJ-NEXT: 0x8 R_AARCH64_LD_PREL_LO19 some_label 0x0
str q0, [sp, #:lo12:some_label]
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rela.text {
+// OBJ-NEXT: Section {{.*}} .rela.text {
// OBJ-NEXT: 0x0 R_AARCH64_LDST8_ABS_LO12_NC some_label 0x0
// OBJ-NEXT: 0x4 R_AARCH64_LDST16_ABS_LO12_NC some_label 0x0
// OBJ-NEXT: 0x8 R_AARCH64_LDST32_ABS_LO12_NC some_label 0x0
movn x19, #:abs_g2_s:some_label
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rela.text {
+// OBJ-NEXT: Section {{.*}} .rela.text {
// OBJ-NEXT: 0x0 R_AARCH64_MOVW_UABS_G0 some_label 0x0
// OBJ-NEXT: 0x4 R_AARCH64_MOVW_UABS_G0_NC some_label 0x0
// OBJ-NEXT: 0x8 R_AARCH64_MOVW_UABS_G1 some_label 0x0
ldr x0, [x5, #:got_lo12:some_label]
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rela.text {
+// OBJ-NEXT: Section {{.*}} .rela.text {
// OBJ-NEXT: 0x0 R_AARCH64_ADR_PREL_LO21 some_label 0x0
// OBJ-NEXT: 0x4 R_AARCH64_ADR_PREL_PG_HI21 some_label 0x0
// OBJ-NEXT: 0x8 R_AARCH64_ADR_GOT_PAGE some_label 0x0
tbnz w3, #15, somewhere
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rela.text {
+// OBJ-NEXT: Section {{.*}} .rela.text {
// OBJ-NEXT: 0x0 R_AARCH64_TSTBR14 somewhere 0x0
// OBJ-NEXT: 0x4 R_AARCH64_TSTBR14 somewhere 0x0
// OBJ-NEXT: }
bl somewhere
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rela.text {
+// OBJ-NEXT: Section {{.*}} .rela.text {
// OBJ-NEXT: 0x0 R_AARCH64_JUMP26 somewhere 0x0
// OBJ-NEXT: 0x4 R_AARCH64_CALL26 somewhere 0x0
// OBJ-NEXT: }
// CHECK: // fixup A - offset: 0, value: :dtprel_g2:var, kind: fixup_aarch64_movw
// CHECK-ELF: Relocations [
-// CHECK-ELF-NEXT: Section (2) .rela.text {
+// CHECK-ELF-NEXT: Section {{.*}} .rela.text {
// CHECK-ELF-NEXT: 0x0 R_AARCH64_TLSLD_MOVW_DTPREL_G2 [[VARSYM:[^ ]+]]
// CHECK-ELF-NEXT: 0x4 R_AARCH64_TLSLD_MOVW_DTPREL_G2 [[VARSYM]]
// CHECK-ELF-NEXT: 0x8 R_AARCH64_TLSLD_MOVW_DTPREL_G2 [[VARSYM]]
// CHECK-NEXT: 0000: 00482DE9 000000E3 000040E3 FEFFFFEB
// CHECK-NEXT: 0010: 0088BDE8
// CHECK-NEXT: )
+// CHECK: Name: .rel.text
// CHECK: Relocations [
// CHECK-NEXT: 0x4 R_ARM_MOVW_ABS_NC a
// CHECK-NEXT: 0x8 R_ARM_MOVT_ABS
global1:
@ CHECK: Relocations [
-@ CHECK-NEXT: Section (2) .rel.text {
+@ CHECK-NEXT: Section {{.*}} .rel.text {
@ CHECK-NEXT: 0x0 R_ARM_ABS32 .text 0x0
@ CHECK-NEXT: 0x4 R_ARM_ABS32 bar2@zed 0x0
@ CHECK-NEXT: 0x8 R_ARM_ABS32 .text 0x0
@ CHECK-NEXT: Binding: Local (0x0)
@ CHECK-NEXT: Type: Section (0x3)
@ CHECK-NEXT: Other: 0
-@ CHECK-NEXT: Section: .data (0x3)
+@ CHECK-NEXT: Section: .data
@ CHECK-NEXT: }
@ CHECK-NEXT: Symbol {
@ CHECK-NEXT: Name: .bss (0)
@ CHECK-NEXT: Binding: Local (0x0)
@ CHECK-NEXT: Type: Section (0x3)
@ CHECK-NEXT: Other: 0
-@ CHECK-NEXT: Section: .bss (0x4)
+@ CHECK-NEXT: Section: .bss
@ CHECK-NEXT: }
@ CHECK-NEXT: Symbol {
@ CHECK-NEXT: Name: g1@@zed
@ OBJ-NEXT: 0000: F00F0FE3 F40F4FE3
@ OBJ-NEXT: )
@ OBJ-NEXT: }
-@ OBJ-NEXT: Section {
-@ OBJ-NEXT: Index: 2
-@ OBJ-NEXT: Name: .rel.text (1)
+@ OBJ: Section {
+@ OBJ: Index:
+@ OBJ: Name: .rel.text
@ OBJ-NEXT: Type: SHT_REL (0x9)
@ OBJ-NEXT: Flags [ (0x0)
@ OBJ-NEXT: ]
declare void @exit(i32) noreturn nounwind
; OBJ: Relocations [
-; OBJ: Section (2) .rel.text {
+; OBJ: Section {{.*}} .rel.text {
; OBJ: 0x{{[0-9,A-F]+}} R_ARM_MOVW_ABS_NC _MergedGlobals
; OBJ: }
; OBJ: ]
declare void @exit(i32) noreturn nounwind
;; OBJ: Relocations [
-;; OBJ: Section (2) .rel.text {
+;; OBJ: Section {{.*}} .rel.text {
;; OBJ-NEXT: 0x{{[0-9,A-F]+}} R_ARM_MOVW_ABS_NC .L.str
;; OBJ: }
;; OBJ: ]
declare void @exit(i32) noreturn nounwind
;; OBJ: Relocations [
-;; OBJ: Section (2) .rel.text {
+;; OBJ: Section {{.*}} .rel.text {
;; OBJ: 0x{{[0-9,A-F]+}} R_ARM_MOVW_ABS_NC vtable
;; OBJ: }
;; OBJ: ]
b some_label
// OBJ: Relocations [
-// OBJ-NEXT: Section (2) .rel.text {
+// OBJ-NEXT: Section {{.*}} .rel.text {
// OBJ-NEXT: 0x0 R_ARM_JUMP24 some_label 0x0
// OBJ-NEXT: 0x4 R_ARM_CALL some_label 0x0
// OBJ-NEXT: 0x8 R_ARM_CALL some_label 0x0
; CHECK: ]
; CHECK: Relocations [
-; CHECK-NEXT: Section (2) .rel.text {
+; CHECK-NEXT: Section {{.*}} .rel.text {
; CHECK-NEXT: 0x8 R_ARM_THM_CALL foo 0x0
; CHECK-NEXT: }
-; CHECK-NEXT: Section (7) .rel.ARM.exidx {
+; CHECK-NEXT: Section {{.*}} .rel.ARM.exidx {
; CHECK-NEXT: 0x0 R_ARM_PREL31 .text 0x0
; CHECK-NEXT: 0x8 R_ARM_PREL31 .text 0x0
; CHECK-NEXT: }
@@ make sure an R_ARM_THM_CALL relocation is generated for the call to g
@CHECK: Relocations [
-@CHECK-NEXT: Section (2) .rel.text {
+@CHECK-NEXT: Section {{.*}} .rel.text {
@CHECK-NEXT: 0x4 R_ARM_THM_CALL g 0x0
@CHECK-NEXT: }
// CHECK: Name: .rel.text
// CHECK: Relocations [
-// CHECK: Section (2) .rel.text {
+// CHECK: Section {{.*}} .rel.text {
// CHECK: 0x6 R_386_32 .L.str1
// CHECK: 0xB R_386_PC32 puts
// CHECK: 0x12 R_386_32 .L.str2
// CHECK: Name: .rela.text
// CHECK: Relocations [
-// CHECK: Section (2) .rela.text {
+// CHECK: Section {{.*}} .rela.text {
// CHECK: 0x5 R_X86_64_32 .rodata.str1.1 0x0
// CHECK: 0xA R_X86_64_PC32 puts 0xFFFFFFFFFFFFFFFC
// CHECK: 0xF R_X86_64_32 .rodata.str1.1 0x6
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: Object
// CHECK-NEXT: Other: 0
-// CHECK-NEXT: Section: .bss (0x4)
+// CHECK-NEXT: Section: .bss
// CHECK-NEXT: }
// Check for the 'ZLIB' file magic at the start of the section only
// CHECK-NEXT: ZLIB
// CHECK-NOT: ZLIB
-// CHECK: Contents of
// Don't compress small sections, such as this simple debug_abbrev example
// CHECK: Contents of section .debug_abbrev:
callq sym
// CHECK: Relocations [
-// CHECK-NEXT: Section (2) .rela.text {
+// CHECK-NEXT: Section {{.*}} .rela.text {
// CHECK-NEXT: 0x1 R_X86_64_PC32 sym 0xFFFFFFFFFFFFFFFC
// CHECK-NEXT: }
// CHECK-NEXT: ]
foo:
// CHECK: Relocations [
-// CHECK: Section (2) .rela.text {
+// CHECK: Section {{.*}} .rela.text {
// CHECK-NEXT: 0x{{[^ ]+}} R_X86_64_32S .text 0x{{[^ ]+}}
// CHECK-NEXT: }
// CHECK-NEXT: ]
foo:
// CHECK: Relocations [
-// CHECK-NEXT: Section (2) .rela.text {
+// CHECK-NEXT: Section {{.*}} .rela.text {
// CHECK-NEXT: 0x{{[^ ]+}} R_X86_64_PC32 .Lfoo 0x{{[^ ]+}}
// CHECK-NEXT: 0x{{[^ ]+}} R_X86_64_32 .sec1 0x{{[^ ]+}}
// CHECK-NEXT: 0x{{[^ ]+}} R_X86_64_32 .Lfoo 0x{{[^ ]+}}
// correctly point to the section or the symbol.
// CHECK: Relocations [
-// CHECK-NEXT: Section (2) .rel.text {
+// CHECK-NEXT: Section {{.*}} .rel.text {
// CHECK-NEXT: 0x2 R_386_GOTOFF .Lfoo 0x0
// CHECK-NEXT: 0x{{[^ ]+}} R_386_PLT32 bar2 0x0
// CHECK-NEXT: 0x{{[^ ]+}} R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: TLS
// CHECK-NEXT: Other: 0
-// CHECK-NEXT: Section: zedsec (0x5)
+// CHECK-NEXT: Section: zedsec
// CHECK-NEXT: }
// Symbol 7 is section 4
// CHECK: Symbol {
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: Section
// CHECK-NEXT: Other: 0
-// CHECK-NEXT: Section: .bss (0x4)
+// CHECK-NEXT: Section: .bss
// CHECK-NEXT: }
.text
// CHECK-NEXT: }
// CHECK: Section {
-// CHECK: Index: 2
-// CHECK-NEXT: Name: .rela.text
+// CHECK: Index:
+// CHECK: Name: .rela.text
// CHECK-NEXT: Type: SHT_RELA
// CHECK-NEXT: Flags [
// CHECK-NEXT: ]
.global defined1
-// Section 1 is .text
// CHECK: Section {
-// CHECK: Index: 1
-// CHECK-NEXT: 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: 4
-// CHECK-NEXT: Link: 0
-// CHECK-NEXT: Info: 0
-// CHECK-NEXT: AddressAlignment: 4
-// CHECK-NEXT: EntrySize: 0
-// CHECK-NEXT: Relocations [
-// CHECK-NEXT: ]
-// CHECK-NEXT: }
-// CHECK-NEXT: Section {
-// CHECK-NEXT: Index: 2
-// CHECK-NEXT: Name: .rela.text (1)
+// CHECK: Index:
+// CHECK: Name: .rela.text
// CHECK-NEXT: Type: SHT_RELA (0x4)
// CHECK-NEXT: Flags [ (0x0)
// CHECK-NEXT: ]
// CHECK-NEXT: 0x0 R_X86_64_32 .text 0x0
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
-
-// Symbol 2 is section 1
-// CHECK: Symbol {
-// CHECK: Name: .text (0)
-// CHECK-NEXT: Value: 0x0
-// CHECK-NEXT: Size: 0
-// CHECK-NEXT: Binding: Local
-// CHECK-NEXT: Type: Section
-// CHECK-NEXT: Other: 0
-// CHECK-NEXT: Section: .text (0x1)
-// CHECK-NEXT: }
.section .rodata
// CHECK:Relocations [
-// CHECK: Section (2) .rela.text {
+// CHECK: Section {{.*}} .rela.text {
// CHECK: Relocation {
// CHECK: Offset: 0x4
// CHECK: Type: R_X86_64_32S (11)
// CHECK: Relocations [
-// CHECK-NEXT: Section (2) .rela.text {
+// CHECK-NEXT: Section {{.*}} .rela.text {
// CHECK-NEXT: 0x0 R_X86_64_32 ??_R0?AVexception@std@@@8 0x0
// CHECK-NEXT: 0x4 R_X86_64_32 @??_R0?AVinvalid_argument@std@@@8 0x0
// CHECK-NEXT: 0x8 R_X86_64_32 __imp_??_R0?AVlogic_error@std@@@8 0x0
global1:
// CHECK: Relocations [
-// CHECK-NEXT: Section (2) .rela.text {
+// CHECK-NEXT: Section {{.*}} .rela.text {
// CHECK-NEXT: 0x0 R_X86_64_32 .text 0x0
// CHECK-NEXT: 0x4 R_X86_64_32 bar2@zed 0x0
// CHECK-NEXT: 0x8 R_X86_64_32 .text 0x0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: TLS
// CHECK-NEXT: Other: 0
-// CHECK-NEXT: Section: .zed (0x5)
+// CHECK-NEXT: Section: .zed
// CHECK-NEXT: }
// CHECK: Symbol {
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: Section
// CHECK-NEXT: Other: 0
-// CHECK-NEXT: Section: .data (0x3)
+// CHECK-NEXT: Section: .data
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: .bss
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: Section
// CHECK-NEXT: Other: 0
-// CHECK-NEXT: Section: .bss (0x4)
+// CHECK-NEXT: Section: .bss
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: bar10
// Check that the appropriate relocations were created.
// CHECK: Relocations [
-// CHECK: Section (2) .rel.text {
+// CHECK: Section {{.*}} .rel.text {
// CHECK: R_MIPS_TLS_LDM
// CHECK: R_MIPS_TLS_DTPREL_HI16
// CHECK: R_MIPS_TLS_DTPREL_LO16
.size foo, . - foo
# CHECK: Relocations [
-# CHECK-NEXT: Section (2) .rela.text {
+# CHECK-NEXT: Section {{.*}} .rela.text {
# CHECK-NEXT: 0x0 R_PPC_PLTREL24 printf 0x0
# CHECK-NEXT: 0x4 R_PPC_LOCAL24PC _GLOBAL_OFFSET_TABLE_ 0xFFFFFFFC
# CHECK-NEXT: }
// for the call to __tls_get_addr.
//
// CHECK: Relocations [
-// CHECK: Section (2) .rela.text {
+// CHECK: Section {{.*}} .rela.text {
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_GOT_TLSGD16_HA a
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_GOT_TLSGD16_LO a
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TLSGD a
// accessing external variable a.
//
// CHECK: Relocations [
-// CHECK: Section (2) .rela.text {
+// CHECK: Section {{.*}} .rela.text {
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_GOT_TPREL16_HA a
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_GOT_TPREL16_LO_DS a
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TLS a
// __tls_get_addr.
//
// CHECK: Relocations [
-// CHECK: Section (2) .rela.text {
+// CHECK: Section {{.*}} .rela.text {
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_GOT_TLSLD16_HA a
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_GOT_TLSLD16_LO a
// CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TLSLD a
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux < %s | llvm-readobj -r | FileCheck %s
-// CHECK: Section (2) .rela.text {
+// CHECK: Section {{.*}} .rela.text {
// CHECK-NEXT: 0x0 R_X86_64_32 d 0x0
// CHECK-NEXT: }
.long bar
// ELF: Relocations [
-// ELF-NEXT: Section (2) .rela.text {
+// ELF-NEXT: Section {{.*}} .rela.text {
// ELF-NEXT: 0x0 R_X86_64_32 foo 0x4
// ELF-NEXT: }
// ELF-NEXT: ]