void MCObjectFileInfo::initXCOFFMCObjectFileInfo(const Triple &T) {
// The default csect for program code. Functions without a specified section
// get placed into this csect. The choice of csect name is not a property of
- // the ABI or object file format. For example, the XL compiler uses an unnamed
- // csect for program code.
+ // the ABI or object file format, but various tools rely on the section
+ // name being empty (considering named symbols to be "user symbol names").
TextSection = Ctx->getXCOFFSection(
- ".text", SectionKind::getText(),
+ "", SectionKind::getText(),
XCOFF::CsectProperties(XCOFF::StorageMappingClass::XMC_PR, XCOFF::XTY_SD),
/* MultiSymbolsAllowed*/ true);
; SYM: SYMBOL TABLE:
; SYM-NEXT: 00000000 df *DEBUG* 00000000 <stdin>
-; SYM-NEXT: 00000000 l .text 0000008a .text
-; SYM-NEXT: 00000000 g F .text (csect: .text) 00000000 .foo1
-; SYM-NEXT: 00000030 g F .text (csect: .text) 00000000 .foo2
-; SYM-NEXT: 00000060 g F .text (csect: .text) 00000000 .foo3
+; SYM-NEXT: 00000000 l .text 0000008a
+; SYM-NEXT: 00000000 g F .text (csect: ) 00000000 .foo1
+; SYM-NEXT: 00000030 g F .text (csect: ) 00000000 .foo2
+; SYM-NEXT: 00000060 g F .text (csect: ) 00000000 .foo3
; SYM-NEXT: 00000090 l .data 00000030 .data
; SYM-NEXT: 00000090 g O .data (csect: .data) 00000000 ConstVector
; SYM-NEXT: 00000098 g O .data (csect: .data) 00000000 var1
; SYM: SYMBOL TABLE:
; SYM-NEXT: 00000000 df *DEBUG* 00000000 <stdin>
-; SYM-NEXT: 00000000 l .text 00000029 .text
-; SYM-NEXT: 00000000 g F .text (csect: .text) 00000000 .foo
+; SYM-NEXT: 00000000 l .text 00000029
+; SYM-NEXT: 00000000 g F .text (csect: ) 00000000 .foo
; SYM-NEXT: 0000002c l .data 00000008 .data
; SYM-NEXT: 0000002c g O .data (csect: .data) 00000000 _MergedGlobals
; SYM-NEXT: 0000002c g O .data (csect: .data) 00000000 var1
; ASM-NEXT: .csect fun[DS]
; ASM-NEXT: fun_weak: # @fun
; ASM-NEXT: fun_hidden:
-; ASM: .csect .text[PR],5
+; ASM: .csect [PR],5
; ASM-NEXT: .fun:
; ASM-NEXT: .fun_weak:
; ASM-NEXT: .fun_hidden:
; ASM-NEXT: li 3, 0
; ASM-NEXT: blr
; ASM-NEXT: # -- End function
-; ASM: .csect .text[PR],5
+; ASM: .csect [PR],5
; ASM-NEXT: .test:
; ASM-NEXT: # %bb.0: # %entry
; ASM: bl .fun
; RELO-NEXT: OFFSET TYPE VALUE
; RELO-NEXT: 00000006 R_POS .dwabrev
; RELO-NEXT: 00000027 R_POS .dwline
-; RELO-NEXT: 00000009 R_POS .text
-; RELO-NEXT: 0000003a R_POS .text
+; RELO-NEXT: 00000009 R_POS
+; RELO-NEXT: 0000003a R_POS
; RELO: RELOCATION RECORDS FOR [.dwline]:
; RELO-NEXT: OFFSET TYPE VALUE
-; RELO-NEXT: 00000000 R_POS .text
+; RELO-NEXT: 00000000 R_POS
; RELO64: RELOCATION RECORDS FOR [.dwinfo]:
; RELO64-NEXT: OFFSET TYPE VALUE
; RELO64-NEXT: 000000000000000e R_POS .dwabrev
; RELO64-NEXT: 000000000000000b R_POS .dwline
-; RELO64-NEXT: 0000000000000041 R_POS .text
-; RELO64-NEXT: 000000000000004e R_POS .text
+; RELO64-NEXT: 0000000000000041 R_POS
+; RELO64-NEXT: 000000000000004e R_POS
; RELO64: RELOCATION RECORDS FOR [.dwline]:
; RELO64-NEXT: OFFSET TYPE VALUE
-; RELO64-NEXT: 000000000000000c R_POS .text
+; RELO64-NEXT: 000000000000000c R_POS
; COMMON-NEXT: .align 2
; COMMON-NEXT: .vbyte 4, 0
; COMMON-NEXT: .vbyte 4, 0
-; CHECK-ASM-NEXT: .csect .text[PR],5
+; CHECK-ASM-NEXT: .csect [PR],5
; CHECK-FUNC-NEXT: .csect .foov[PR],5
; COMMON-NEXT: # -- End function
; COMMON: .toc
; BIT64-NEXT: .vbyte 8, .main # @main
; BIT64-NEXT: .vbyte 8, TOC[TC0]
; BIT64-NEXT: .vbyte 8, 0
-; COMMON-NEXT: .csect .text[PR]
+; COMMON-NEXT: .csect [PR]
; COMMON-NEXT: .main:
; COMMON: .csect .data[RW]
; CHECKSYM-NEXT: }
; CHECKSYM-NEXT: Symbol {
; CHECKSYM-NEXT: Index: [[#Index+10]]
-; CHECKSYM-NEXT: Name: .text
+; CHECKSYM-NEXT: Name:
; CHECKSYM-NEXT: Value (RelocatableAddress): 0x0
; CHECKSYM-NEXT: Section: .text
; CHECKSYM-NEXT: Type: 0x0
; BIT64-NEXT: .vbyte 8, .foo # @foo
; BIT64-NEXT: .vbyte 8, TOC[TC0]
; BIT64-NEXT: .vbyte 8, 0
-; COMMON-NEXT: .csect .text[PR]
+; COMMON-NEXT: .csect [PR]
; COMMON-NEXT: .foo:
; COMMON: .globl main[DS] # -- Begin function main
; BIT64-NEXT: .vbyte 8, .main # @main
; BIT64-NEXT: .vbyte 8, TOC[TC0]
; BIT64-NEXT: .vbyte 8, 0
-; COMMON-NEXT: .csect .text[PR]
+; COMMON-NEXT: .csect [PR]
; COMMON-NEXT: .main:
; COMMON: .csect .data[RW]
; CHECKSYM-NEXT: }
; CHECKSYM-NEXT: Symbol {
; CHECKSYM-NEXT: Index: [[#Index+10]]
-; CHECKSYM-NEXT: Name: .text
+; CHECKSYM-NEXT: Name:
; CHECKSYM-NEXT: Value (RelocatableAddress): 0x0
; CHECKSYM-NEXT: Section: .text
; CHECKSYM-NEXT: Type: 0x0
ret i32 0
}
-; CHECK: .csect .text[PR],6
+; CHECK: .csect [PR],6
; CHECK-NEXT: .foo:
-; CHECK: .csect .text[PR],6
+; CHECK: .csect [PR],6
; CHECK-NEXT: .bar:
-; SYMS: Symbol {{[{][[:space:]] *}}Index: [[#INDX:]]{{[[:space:]] *}}Name: .text
+; SYMS: Symbol {{[{][[:space:]] *}}Index: [[#INDX:]]{{[[:space:]] *Name: $}}
; SYMS-NEXT: Value (RelocatableAddress): 0x0
; SYMS-NEXT: Section: .text
; SYMS-NEXT: Type: 0x0
; CHECK-NEXT: }
; CHECK-NEXT: Symbol {
; CHECK-NEXT: Index: [[#Index:]]
-; CHECK-NEXT: Name: .text
+; CHECK-NEXT: Name:
; CHECK-NEXT: Value (RelocatableAddress): 0x0
; CHECK-NEXT: Section: .text
; CHECK-NEXT: Type: 0x0
; SYM64: .vbyte 8, .__gxx_personality_v0
; SYM64: .vbyte 8, TOC[TC0]
; SYM64: .vbyte 8, 0
-; SYM: .csect .text[PR],5
+; SYM: .csect [PR],5
; SYM: .__gxx_personality_v0:
; SYM: .__xlcxx_personality_v1:
; SYM: # %bb.0: # %entry
--- /dev/null
+; RUN: llc -filetype=obj -mtriple powerpc-ibm-aix-xcoff -o %t.o < %s
+; RUN: llvm-objdump --syms --symbol-description %t.o | FileCheck --check-prefix=CHECK32 %s
+; RUN: llc -filetype=obj -mtriple powerpc64-ibm-aix-xcoff -o %t.o < %s
+; RUN: llvm-objdump --syms --symbol-description %t.o | FileCheck --check-prefix=CHECK64 %s
+
+define i32 @main() {
+entry:
+ %retval = alloca i32, align 4
+ store i32 0, ptr %retval, align 4
+ %call = call i32 @text()
+ ret i32 %call
+}
+
+declare i32 @text(...)
+
+; CHECK32: 00000000 *UND* 00000000 (idx: {{[[:digit:]]*}}) .text[PR]
+; CHECK32: 00000000 *UND* 00000000 (idx: {{[[:digit:]]*}}) text[DS]
+
+; CHECK64: 0000000000000000 *UND* 0000000000000000 (idx: {{[[:digit:]]*}}) .text[PR]
+; CHECK64: 0000000000000000 *UND* 0000000000000000 (idx: {{[[:digit:]]*}}) text[DS]
--- /dev/null
+; RUN: llc -filetype=obj --function-sections -mtriple powerpc-ibm-aix-xcoff -o %t.o < %s
+; RUN: llvm-objdump --syms --symbol-description %t.o | FileCheck --check-prefix=CHECKFS32 %s
+; RUN: llc -filetype=obj --function-sections -mtriple powerpc64-ibm-aix-xcoff -o %t.o < %s
+; RUN: llvm-objdump --syms --symbol-description %t.o | FileCheck --check-prefix=CHECKFS64 %s
+; RUN: llc -filetype=obj -mtriple powerpc-ibm-aix-xcoff -o %t.o < %s
+; RUN: llvm-objdump --syms --symbol-description %t.o | FileCheck --check-prefix=CHECK32 %s
+; RUN: llc -filetype=obj -mtriple powerpc64-ibm-aix-xcoff -o %t.o < %s
+; RUN: llvm-objdump --syms --symbol-description %t.o | FileCheck --check-prefix=CHECK64 %s
+
+define i32 @text() {
+entry:
+ ret i32 1
+}
+
+define i32 @text2() {
+entry:
+ ret i32 2
+}
+
+; CHECKFS32: 00000000 l .text 00000000 (idx: {{[[:digit:]]*}}) [PR]
+; CHECKFS32-NEXT: 00000000 g .text {{([[:xdigit:]]{8})}} (idx: {{[[:digit:]]*}}) .text[PR]
+; CHECKFS32-NEXT: {{([[:xdigit:]]{8})}} g .text {{([[:xdigit:]]{8})}} (idx: {{[[:digit:]]*}}) .text2[PR]
+
+; CHECKFS64: 0000000000000000 l .text 0000000000000000
+; CHECKFS64-NEXT: 0000000000000000 g .text {{([[:xdigit:]]{16})}} (idx: {{[[:digit:]]*}}) .text[PR]
+; CHECKFS64-NEXT: {{([[:xdigit:]]{16})}} g .text {{([[:xdigit:]]{16})}} (idx: {{[[:digit:]]*}}) .text2[PR]
+
+; CHECK32: 00000000 l .text {{([[:xdigit:]]{8})}} (idx: {{[[:digit:]]*}}) [PR]
+; CHECK32-NEXT: {{([[:xdigit:]]{8})}} g F .text (csect: (idx: {{[[:digit:]]*}}) [PR]) 00000000 (idx: {{[[:digit:]]*}}) .text
+; CHECK32-NEXT: {{([[:xdigit:]]{8})}} g F .text (csect: (idx: {{[[:digit:]]*}}) [PR]) 00000000 (idx: {{[[:digit:]]*}}) .text2
+
+; CHECK64: 0000000000000000 l .text {{([[:xdigit:]]{16})}} (idx: {{[[:digit:]]*}}) [PR]
+; CHECK64-NEXT: {{([[:xdigit:]]{16})}} g F .text (csect: (idx: {{[[:digit:]]*}}) [PR]) 0000000000000000 (idx: {{[[:digit:]]*}}) .text
+; CHECK64-NEXT: {{([[:xdigit:]]{8})}} g F .text (csect: (idx: {{[[:digit:]]*}}) [PR]) 0000000000000000 (idx: {{[[:digit:]]*}}) .text2
; SYM-NEXT: }
; SYM-NEXT: Symbol {
; SYM-NEXT: Index: 3
-; SYM-NEXT: Name: .text
+; SYM-NEXT: Name:
; SYM-NEXT: Value (RelocatableAddress): 0x0
; SYM-NEXT: Section: .text
; SYM-NEXT: Type: 0x0
; SYM-NEXT: }
; SYM-NEXT: Symbol {
; SYM-NEXT: Index: 3
-; SYM-NEXT: Name: .text
+; SYM-NEXT: Name:
; SYM-NEXT: Value (RelocatableAddress): 0x0
; SYM-NEXT: Section: .text
; SYM-NEXT: Type: 0x0
; SECTION-NEXT: Sections [
; SECTION-NEXT: Section {
; SECTION-NEXT: Index: 1
-; SECTION-NEXT: Name: .text
+; SECTION-NEXT: Name:
; SECTION-NEXT: PhysicalAddress: 0x0
; SECTION-NEXT: VirtualAddress: 0x0
; SECTION-NEXT: Size: 0x4
; SYMS-NEXT: Symbol {
; SYMS-NEXT: Index: [[#INDX+4]]
-; SYMS-NEXT: Name: .text
+; SYMS-NEXT: Name:
; SYMS-NEXT: Value (RelocatableAddress): 0x0
; SYMS-NEXT: Section: .text
; SYMS-NEXT: Type: 0x0
; BIT64-NEXT: .vbyte 8, .foo_weak # @foo_weak
; BIT64-NEXT: .vbyte 8, TOC[TC0]
; BIT64-NEXT: .vbyte 8, 0
-; COMMON-NEXT: .csect .text[PR]
+; COMMON-NEXT: .csect [PR]
; COMMON-NEXT: .foo_weak:
; COMMON: .weak foo_ref_weak[DS] # -- Begin function foo_ref_weak
; BIT64-NEXT: .vbyte 8, .foo_ref_weak # @foo_ref_weak
; BIT64-NEXT: .vbyte 8, TOC[TC0]
; BIT64-NEXT: .vbyte 8, 0
-; COMMON-NEXT: .csect .text[PR]
+; COMMON-NEXT: .csect [PR]
; COMMON-NEXT: .foo_ref_weak:
; COMMON: .globl main[DS] # -- Begin function main
; BIT64-NEXT: .vbyte 8, .main # @main
; BIT64-NEXT: .vbyte 8, TOC[TC0]
; BIT64-NEXT: .vbyte 8, 0
-; COMMON-NEXT: .csect .text[PR]
+; COMMON-NEXT: .csect [PR]
; COMMON-NEXT: .main:
; COMMON: .csect .data[RW]
; CHECKSYM-NEXT: }
; CHECKSYM-NEXT: Symbol {
; CHECKSYM-NEXT: Index: [[#Index:]]
-; CHECKSYM-NEXT: Name: .text
+; CHECKSYM-NEXT: Name:
; CHECKSYM-NEXT: Value (RelocatableAddress): 0x0
; CHECKSYM-NEXT: Section: .text
; CHECKSYM-NEXT: Type: 0x0
; CHECK: SYMBOL TABLE:
; CHECK-NEXT: 0000000000000000 df *DEBUG* 0000000000000000 <stdin>
-; CHECK-NEXT: 0000000000000000 l .text 000000000000001e .text
-; CHECK-NEXT: 0000000000000000 g F .text (csect: .text) 0000000000000000 .cold_fun
+; CHECK-NEXT: 0000000000000000 l .text 000000000000001e
+; CHECK-NEXT: 0000000000000000 g F .text (csect: ) 0000000000000000 .cold_fun
; CHECK-NEXT: 0000000000000020 g O .data 0000000000000018 cold_fun
define dso_local void @cold_fun() #1 {
; CHECK-NOT: .toc
-; CHECK: .csect .text[PR],5
+; CHECK: .csect [PR],5
; CHECK-NEXT: .file
; CHECK: .csect .data[RW],5
; SYMS-NEXT: }
; SYMS-NEXT: Symbol {
; SYMS-NEXT: Index: [[#INDX:]]
-; SYMS-NEXT: Name: .text
+; SYMS-NEXT: Name:
; SYMS-NEXT: Value (RelocatableAddress): 0x0
; SYMS-NEXT: Section: .text
; SYMS-NEXT: Type: 0x0
; XCOFF32-NEXT: 00000000 df *DEBUG* 00000000 (idx: 0) <stdin>
; XCOFF32-NEXT: 00000000 *UND* 00000000 (idx: 1) .extern_foo[PR]
; XCOFF32-NEXT: 00000000 *UND* 00000000 (idx: 3) extern_foo[DS]
-; XCOFF32-NEXT: 00000000 l .text 00000000 (idx: 5) .text[PR]
+; XCOFF32-NEXT: 00000000 l .text 00000000 (idx: 5) [PR]
; XCOFF32-NEXT: 00000000 g .text 00000019 (idx: 7) .foo[PR]
; XCOFF32-NEXT: 00000000 g F .text (csect: (idx: 7) .foo[PR]) 00000000 (idx: 9) .alias_foo
; XCOFF32-NEXT: 00000020 g .text 00000020 .hidden (idx: 11) .hidden_foo[PR]
; XCOFF64-NEXT: 0000000000000000 df *DEBUG* 0000000000000000 (idx: 0) <stdin>
; XCOFF64-NEXT: 0000000000000000 *UND* 0000000000000000 (idx: 1) .extern_foo[PR]
; XCOFF64-NEXT: 0000000000000000 *UND* 0000000000000000 (idx: 3) extern_foo[DS]
-; XCOFF64-NEXT: 0000000000000000 l .text 0000000000000000 (idx: 5) .text[PR]
+; XCOFF64-NEXT: 0000000000000000 l .text 0000000000000000 (idx: 5) [PR]
; XCOFF64-NEXT: 0000000000000000 g .text 0000000000000019 (idx: 7) .foo[PR]
; XCOFF64-NEXT: 0000000000000000 g F .text (csect: (idx: 7) .foo[PR]) 0000000000000000 (idx: 9) .alias_foo
; XCOFF64-NEXT: 0000000000000020 g .text 0000000000000020 .hidden (idx: 11) .hidden_foo[PR]
...
# RELOC: Relocation {{[{][[:space:]] *}}Virtual Address: 0x8
-# RELOC-NEXT: Symbol: .text ([[#TXT_INDX:]])
+# RELOC-NEXT: Symbol: ([[#TXT_INDX:]])
# RELOC-NEXT: IsSigned: No
# RELOC-NEXT: FixupBitValue: 0
# RELOC-NEXT: Length: 32
# RELOC-NEXT: Type: R_NEG (0x1)
# RELOC-NEXT: }
-# SYM: Symbol {{[{][[:space:]] *}}Index: [[#TXT_INDX]]{{[[:space:]] *}}Name: .text
+# SYM: Symbol {{[{][[:space:]] *}}Index: [[#TXT_INDX]]{{[[:space:]] *}}Name:
# SYM-NEXT: Value (RelocatableAddress): 0x0
# SYM-NEXT: Section: .text
# SYM-NEXT: Type: 0x0
; SYM-NEXT: }
; SYM-NEXT: Symbol {
; SYM-NEXT: Index: [[#INDX+4]]
-; SYM-NEXT: Name: .text
+; SYM-NEXT: Name:
; SYM-NEXT: Value (RelocatableAddress): 0x0
; SYM-NEXT: Section: .text
; SYM-NEXT: Type: 0x0
; ASM-NEXT: .vbyte 4, ._Renamed..24f_o # @"f$o"
; ASM-NEXT: .vbyte 4, TOC[TC0]
; ASM-NEXT: .vbyte 4, 0
-; ASM-NEXT: .csect .text[PR],5
+; ASM-NEXT: .csect [PR],5
; ASM-NEXT: ._Renamed..24f_o:
; ASM: bl ._Renamed..40f_o[PR]
; ASM-NEXT: nop
; ASM-NEXT: .vbyte 4, ._Renamed..26f_o # @"f&o"
; ASM-NEXT: .vbyte 4, TOC[TC0]
; ASM-NEXT: .vbyte 4, 0
-; ASM-NEXT: .csect .text[PR],5
+; ASM-NEXT: .csect [PR],5
; ASM-NEXT: ._Renamed..26f_o:
; ASM: bl ._Renamed..24f_o
; ASM: .globl _Renamed..265ff__o[DS] # -- Begin function f&_o
; ASM-NEXT: .vbyte 4, ._Renamed..265ff__o # @"f&_o"
; ASM-NEXT: .vbyte 4, TOC[TC0]
; ASM-NEXT: .vbyte 4, 0
-; ASM-NEXT: .csect .text[PR],5
+; ASM-NEXT: .csect [PR],5
; ASM-NEXT: ._Renamed..265ff__o:
; ASM: .csect .data[RW],2
; ASM-NEXT: .globl _Renamed..60f_o
; WITHVNDS-OBJ: SYMBOL TABLE:
; WITHVNDS-OBJ-NEXT: 00000000 df *DEBUG* 00000000 <stdin>
-; WITHVNDS-OBJ-NEXT: 00000000 l .text 00000008 .text
-; WITHVNDS-OBJ-NEXT: 00000000 g F .text (csect: .text) 00000000 .main
+; WITHVNDS-OBJ-NEXT: 00000000 l .text 00000008
+; WITHVNDS-OBJ-NEXT: 00000000 g F .text (csect: ) 00000000 .main
; WITHVNDS-OBJ-NEXT: 00000008 l .text 00000006 __llvm_prf_names
; WITHVNDS-OBJ-NEXT: 00000010 l O .data 00000008 __llvm_prf_cnts
; WITHVNDS-OBJ-NEXT: 00000018 l O .data 00000008 __llvm_prf_data
; 64BIT-NEXT: .vbyte 8, .foo
; 64BIT-NEXT: .vbyte 8, TOC[TC0]
; 64BIT-NEXT: .vbyte 8, 0
-; CHECK-NEXT: .csect .text[PR],5
+; CHECK-NEXT: .csect [PR],5
; CHECK-LABEL: .foo:
; CHECK: .globl main[DS]
; 64BIT-NEXT: .vbyte 8, .main
; 64BIT-NEXT: .vbyte 8, TOC[TC0]
; 64BIT-NEXT: .vbyte 8, 0
-; CHECK-NEXT: .csect .text[PR],5
+; CHECK-NEXT: .csect [PR],5
; CHECK-LABEL: .main:
; CHECK: bl .foo
; CHECK: bl .extern_foo
; 64BIT-NEXT: .vbyte 8, .static_foo
; 64BIT-NEXT: .vbyte 8, TOC[TC0]
; 64BIT-NEXT: .vbyte 8, 0
-; CHECK-NEXT: .csect .text[PR],5
+; CHECK-NEXT: .csect [PR],5
; CHECK-LABEL: .static_foo:
; CHECK-NOT: .csect extern_foo
!11 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!12 = !DILocation(line: 3, column: 3, scope: !8)
-; ASM32: .csect .text[PR],5
+; ASM32: .csect [PR],5
; ASM32-NEXT: .file "1.c"
; ASM32-NEXT: .globl main[DS] # -- Begin function main
; ASM32-NEXT: .globl .main
; ASM32-NEXT: .vbyte 4, .main # @main
; ASM32-NEXT: .vbyte 4, TOC[TC0]
; ASM32-NEXT: .vbyte 4, 0
-; ASM32-NEXT: .csect .text[PR],5
+; ASM32-NEXT: .csect [PR],5
; ASM32-NEXT: .main:
; ASM32-NEXT: L..func_begin0:
; ASM32-NEXT: # %bb.0: # %entry
; ASM32-NEXT: .byte 1
; ASM32-NEXT: L..debug_line_end0:
-; ASM64: .csect .text[PR],5
+; ASM64: .csect [PR],5
; ASM64-NEXT: .file "1.c"
; ASM64-NEXT: .globl main[DS] # -- Begin function main
; ASM64-NEXT: .globl .main
; ASM64-NEXT: .vbyte 8, .main # @main
; ASM64-NEXT: .vbyte 8, TOC[TC0]
; ASM64-NEXT: .vbyte 8, 0
-; ASM64-NEXT: .csect .text[PR],5
+; ASM64-NEXT: .csect [PR],5
; ASM64-NEXT: .main:
; ASM64-NEXT: L..func_begin0:
; ASM64-NEXT: # %bb.0: # %entry
!15 = !DILocation(line: 3, column: 10, scope: !14)
!16 = !DILocation(line: 3, column: 3, scope: !14)
-; CHECK: .csect .text[PR],5
+; CHECK: .csect [PR],5
; CHECK-NEXT: .file "2.c"
; CHECK-NEXT: .globl bar[DS] # -- Begin function bar
; CHECK-NEXT: .globl .bar
; CHECK-NEXT: .vbyte 4, .bar # @bar
; CHECK-NEXT: .vbyte 4, TOC[TC0]
; CHECK-NEXT: .vbyte 4, 0
-; CHECK-NEXT: .csect .text[PR],5
+; CHECK-NEXT: .csect [PR],5
; CHECK-NEXT: .bar:
; CHECK-NEXT: L..func_begin0:
; CHECK-NEXT: # %bb.0: # %entry
!13 = distinct !DISubprogram(name: "bar", scope: !1, file: !1, line: 6, type: !9, scopeLine: 7, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!14 = !DILocation(line: 8, column: 3, scope: !13)
-; CHECK: .csect .text[PR],5
+; CHECK: .csect [PR],5
; CHECK-NEXT: .file "1.c"
; CHECK-NEXT: .csect .foo[PR],5
; CHECK-NEXT: .globl foo[DS] # -- Begin function foo
# CHECK: SYMBOL TABLE:
# CHECK-NEXT: 00000000 df *DEBUG* 00000000 .file
-# CHECK-NEXT: 00000000 l .text 00000000 .text
-# CHECK-NEXT: 00000000 g F .text (csect: .text) 00000000 .var1
-# CHECK-NEXT: 00000000 g F .text (csect: .text) 00000000 .var2
+# CHECK-NEXT: 00000000 l .text 00000000
+# CHECK-NEXT: 00000000 g F .text (csect: ) 00000000 .var1
+# CHECK-NEXT: 00000000 g F .text (csect: ) 00000000 .var2
# CHECK-NEXT: 00000000 df *DEBUG* 00000000 1.c
# CHECK-NEXT: 00000000 df *DEBUG* 00000000 2.c
# CHECK-NEXT: 00000000 df *DEBUG* 00000000 3.c
-# CHECK-NEXT: 00000000 l .text 00000000 .text
-# CHECK-NEXT: 00000000 g F .text (csect: .text) 00000000 .var1
-# CHECK-NEXT: 00000000 g F .text (csect: .text) 00000000 .var2
+# CHECK-NEXT: 00000000 l .text 00000000
+# CHECK-NEXT: 00000000 g F .text (csect: ) 00000000 .var1
+# CHECK-NEXT: 00000000 g F .text (csect: ) 00000000 .var2
; SYM: SYMBOL TABLE:
; SYM-NEXT: 00000000 df *DEBUG* 00000000 <stdin>
; SYM-NEXT: 00000000 *UND* 00000000 ei
-; SYM-NEXT: 00000000 l .text 00000091 .text
-; SYM-NEXT: 00000000 g F .text (csect: .text) 00000000 .bar
-; SYM-NEXT: 00000050 g F .text (csect: .text) 00000000 .foo
+; SYM-NEXT: 00000000 l .text 00000091
+; SYM-NEXT: 00000000 g F .text (csect: ) 00000000 .bar
+; SYM-NEXT: 00000050 g F .text (csect: ) 00000000 .foo
; SYM-NEXT: 00000094 l .text 00000013 .rodata.str1.1L...str
; SYM-NEXT: 000000a8 g O .data 00000004 con
; SYM-NEXT: 000000ac w O .data 00000004 wi
; SYM-DES: SYMBOL TABLE:
; SYM-DES-NEXT: 00000000 df *DEBUG* 00000000 (idx: 0) <stdin>
; SYM-DES-NEXT: 00000000 *UND* 00000000 (idx: 1) ei[UA]
-; SYM-DES-NEXT: 00000000 l .text 00000091 (idx: 3) .text[PR]
-; SYM-DES-NEXT: 00000000 g F .text (csect: (idx: 3) .text[PR]) 00000000 (idx: 5) .bar
-; SYM-DES-NEXT: 00000050 g F .text (csect: (idx: 3) .text[PR]) 00000000 (idx: 7) .foo
+; SYM-DES-NEXT: 00000000 l .text 00000091 (idx: 3) [PR]
+; SYM-DES-NEXT: 00000000 g F .text (csect: (idx: 3) [PR]) 00000000 (idx: 5) .bar
+; SYM-DES-NEXT: 00000050 g F .text (csect: (idx: 3) [PR]) 00000000 (idx: 7) .foo
; SYM-DES-NEXT: 00000094 l .text 00000013 (idx: 9) .rodata.str1.1L...str[RO]
; SYM-DES-NEXT: 000000a8 g O .data 00000004 (idx: 11) con[RW]
; SYM-DES-NEXT: 000000ac w O .data 00000004 (idx: 13) wi[RW]