[llvm] 6923b0a - Revert "[AIX][XCOFF] emit symbol visibility for xcoff object file."
via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 27 08:08:46 PDT 2020
Author: diggerlin
Date: 2020-08-27T11:07:58-04:00
New Revision: 6923b0a76e068f5953e067b9af3c11efe55f6fcd
URL: https://github.com/llvm/llvm-project/commit/6923b0a76e068f5953e067b9af3c11efe55f6fcd
DIFF: https://github.com/llvm/llvm-project/commit/6923b0a76e068f5953e067b9af3c11efe55f6fcd.diff
LOG: Revert "[AIX][XCOFF] emit symbol visibility for xcoff object file."
This reverts commit a0818689213234d5a078641432d10eccccf61a13.
Based on the Hubert Tong'comment https://reviews.llvm.org/D84265#inline-799085
Added:
Modified:
llvm/include/llvm/MC/MCSectionXCOFF.h
llvm/lib/MC/XCOFFObjectWriter.cpp
llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
Removed:
################################################################################
diff --git a/llvm/include/llvm/MC/MCSectionXCOFF.h b/llvm/include/llvm/MC/MCSectionXCOFF.h
index babb2dcb24d1..4ad9aa76a210 100644
--- a/llvm/include/llvm/MC/MCSectionXCOFF.h
+++ b/llvm/include/llvm/MC/MCSectionXCOFF.h
@@ -66,11 +66,6 @@ class MCSectionXCOFF final : public MCSection {
XCOFF::StorageClass getStorageClass() const {
return QualName->getStorageClass();
}
-
- XCOFF::VisibilityType getVisibilityType() const {
- return QualName->getVisibilityType();
- }
-
XCOFF::SymbolType getCSectType() const { return Type; }
MCSymbolXCOFF *getQualNameSymbol() const { return QualName; }
diff --git a/llvm/lib/MC/XCOFFObjectWriter.cpp b/llvm/lib/MC/XCOFFObjectWriter.cpp
index e0dee7e20d02..5047b5041aa7 100644
--- a/llvm/lib/MC/XCOFFObjectWriter.cpp
+++ b/llvm/lib/MC/XCOFFObjectWriter.cpp
@@ -69,11 +69,6 @@ struct Symbol {
XCOFF::StorageClass getStorageClass() const {
return MCSym->getStorageClass();
}
-
- XCOFF::VisibilityType getVisibilityType() const {
- return MCSym->getVisibilityType();
- }
-
StringRef getSymbolTableName() const { return MCSym->getSymbolTableName(); }
Symbol(const MCSymbolXCOFF *MCSym) : MCSym(MCSym), SymbolTableIndex(-1) {}
};
@@ -574,12 +569,13 @@ void XCOFFObjectWriter::writeSymbolTableEntryForCsectMemberLabel(
W.write<uint32_t>(CSectionRef.Address + SymbolOffset);
W.write<int16_t>(SectionIndex);
// Basic/Derived type. See the description of the n_type field for symbol
- // table entries for a detailed description. Since we support visibility, and
- // all other bits are either optionally set or reserved, we only set bits 0-3
- // for symbol's visibility and leave other bits to zero.
+ // table entries for a detailed description. Since we don't yet support
+ // visibility, and all other bits are either optionally set or reserved, this
+ // is always zero.
+ // TODO FIXME How to assert a symbol's visibilty is default?
// TODO Set the function indicator (bit 10, 0x0020) for functions
// when debugging is enabled.
- W.write<uint16_t>(SymbolRef.getVisibilityType());
+ W.write<uint16_t>(0);
W.write<uint8_t>(SymbolRef.getStorageClass());
// Always 1 aux entry for now.
W.write<uint8_t>(1);
@@ -610,12 +606,13 @@ void XCOFFObjectWriter::writeSymbolTableEntryForControlSection(
// n_scnum
W.write<int16_t>(SectionIndex);
// Basic/Derived type. See the description of the n_type field for symbol
- // table entries for a detailed description. Since we support visibility, and
- // all other bits are either optionally set or reserved, we only set bits 0-3
- // for symbol's visibility and leave other bits to zero.
+ // table entries for a detailed description. Since we don't yet support
+ // visibility, and all other bits are either optionally set or reserved, this
+ // is always zero.
+ // TODO FIXME How to assert a symbol's visibilty is default?
// TODO Set the function indicator (bit 10, 0x0020) for functions
// when debugging is enabled.
- W.write<uint16_t>(CSectionRef.MCCsect->getVisibilityType());
+ W.write<uint16_t>(0);
// n_sclass
W.write<uint8_t>(StorageClass);
// Always 1 aux entry for now.
diff --git a/llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll b/llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
index 42bdf5d22a2a..04c2e0cfe22b 100644
--- a/llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
+++ b/llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
@@ -3,16 +3,6 @@
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec < %s |\
; RUN: FileCheck %s
-; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
-; RUN: -mattr=-altivec -filetype=obj -o %t.o < %s
-; RUN: llvm-readobj --symbols %t.o | \
-; RUN: FileCheck --check-prefix=XCOFF32 %s
-
-; RUN: not --crash llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff \
-; RUN: -mcpu=pwr4 -mattr=-altivec -filetype=obj -o %t.o 2>&1 < %s | \
-; RUN: FileCheck --check-prefix=XCOFF64 %s
-; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
-
@b = global i32 0, align 4
@b_h = hidden global i32 0, align 4
@@ -66,446 +56,3 @@ declare hidden i32 @bar_h(i32*)
; CHECK: .weak zoo_weak_extern_h[DS],hidden
; CHECK: .extern .bar_h[PR],hidden
; CHECK: .extern bar_h[DS],hidden
-
-; XCOFF32: Symbols [
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index:]]
-; XCOFF32-NEXT: Name: .bar_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x0
-; XCOFF32-NEXT: Section: N_UNDEF
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+1]]
-; XCOFF32-NEXT: SectionLen: 0
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_ER (0x0)
-; XCOFF32-NEXT: StorageMappingClass: XMC_PR (0x0)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+2]]
-; XCOFF32-NEXT: Name: zoo_weak_extern_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x0
-; XCOFF32-NEXT: Section: N_UNDEF
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_WEAKEXT (0x6F)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+3]]
-; XCOFF32-NEXT: SectionLen: 0
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_ER (0x0)
-; XCOFF32-NEXT: StorageMappingClass: XMC_DS (0xA)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+4]]
-; XCOFF32-NEXT: Name: .zoo_weak_extern_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x0
-; XCOFF32-NEXT: Section: N_UNDEF
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_WEAKEXT (0x6F)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+5]]
-; XCOFF32-NEXT: SectionLen: 0
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_ER (0x0)
-; XCOFF32-NEXT: StorageMappingClass: XMC_PR (0x0)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+6]]
-; XCOFF32-NEXT: Name: bar_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x0
-; XCOFF32-NEXT: Section: N_UNDEF
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+7]]
-; XCOFF32-NEXT: SectionLen: 0
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_ER (0x0)
-; XCOFF32-NEXT: StorageMappingClass: XMC_DS (0xA)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+8]]
-; XCOFF32-NEXT: Name: .text
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x0
-; XCOFF32-NEXT: Section: .text
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_HIDEXT (0x6B)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+9]]
-; XCOFF32-NEXT: SectionLen: 152
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 4
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_PR (0x0)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+10]]
-; XCOFF32-NEXT: Name: .foo
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x0
-; XCOFF32-NEXT: Section: .text
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+11]]
-; XCOFF32-NEXT: ContainingCsectSymbolIndex: 8
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_LD (0x2)
-; XCOFF32-NEXT: StorageMappingClass: XMC_PR (0x0)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+12]]
-; XCOFF32-NEXT: Name: .foo_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x10
-; XCOFF32-NEXT: Section: .text
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+13]]
-; XCOFF32-NEXT: ContainingCsectSymbolIndex: 8
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_LD (0x2)
-; XCOFF32-NEXT: StorageMappingClass: XMC_PR (0x0)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+14]]
-; XCOFF32-NEXT: Name: .foo_protected
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x20
-; XCOFF32-NEXT: Section: .text
-; XCOFF32-NEXT: Type: 0x3000
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+15]]
-; XCOFF32-NEXT: ContainingCsectSymbolIndex: 8
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_LD (0x2)
-; XCOFF32-NEXT: StorageMappingClass: XMC_PR (0x0)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+16]]
-; XCOFF32-NEXT: Name: .foo_weak_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x30
-; XCOFF32-NEXT: Section: .text
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_WEAKEXT (0x6F)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+17]]
-; XCOFF32-NEXT: ContainingCsectSymbolIndex: 8
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_LD (0x2)
-; XCOFF32-NEXT: StorageMappingClass: XMC_PR (0x0)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+18]]
-; XCOFF32-NEXT: Name: .main
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x40
-; XCOFF32-NEXT: Section: .text
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+19]]
-; XCOFF32-NEXT: ContainingCsectSymbolIndex: 8
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_LD (0x2)
-; XCOFF32-NEXT: StorageMappingClass: XMC_PR (0x0)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+20]]
-; XCOFF32-NEXT: Name: .data
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x98
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_HIDEXT (0x6B)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+21]]
-; XCOFF32-NEXT: SectionLen: 12
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_RW (0x5)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+22]]
-; XCOFF32-NEXT: Name: b
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x98
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+23]]
-; XCOFF32-NEXT: ContainingCsectSymbolIndex: 20
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_LD (0x2)
-; XCOFF32-NEXT: StorageMappingClass: XMC_RW (0x5)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+24]]
-; XCOFF32-NEXT: Name: b_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0x9C
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+25]]
-; XCOFF32-NEXT: ContainingCsectSymbolIndex: 20
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_LD (0x2)
-; XCOFF32-NEXT: StorageMappingClass: XMC_RW (0x5)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+26]]
-; XCOFF32-NEXT: Name: foo_p
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xA0
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+27]]
-; XCOFF32-NEXT: ContainingCsectSymbolIndex: 20
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 0
-; XCOFF32-NEXT: SymbolType: XTY_LD (0x2)
-; XCOFF32-NEXT: StorageMappingClass: XMC_RW (0x5)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+28]]
-; XCOFF32-NEXT: Name: foo
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xA4
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+29]]
-; XCOFF32-NEXT: SectionLen: 12
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_DS (0xA)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+30]]
-; XCOFF32-NEXT: Name: foo_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xB0
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+31]]
-; XCOFF32-NEXT: SectionLen: 12
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_DS (0xA)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+32]]
-; XCOFF32-NEXT: Name: foo_protected
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xBC
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x3000
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+33]]
-; XCOFF32-NEXT: SectionLen: 12
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_DS (0xA)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+34]]
-; XCOFF32-NEXT: Name: foo_weak_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xC8
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x2000
-; XCOFF32-NEXT: StorageClass: C_WEAKEXT (0x6F)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+35]]
-; XCOFF32-NEXT: SectionLen: 12
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_DS (0xA)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+36]]
-; XCOFF32-NEXT: Name: main
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xD4
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_EXT (0x2)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+37]]
-; XCOFF32-NEXT: SectionLen: 12
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_DS (0xA)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+38]]
-; XCOFF32-NEXT: Name: TOC
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xE0
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_HIDEXT (0x6B)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+39]]
-; XCOFF32-NEXT: SectionLen: 0
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_TC0 (0xF)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+40]]
-; XCOFF32-NEXT: Name: b_h
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xE0
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_HIDEXT (0x6B)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+41]]
-; XCOFF32-NEXT: SectionLen: 4
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_TC (0x3)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: Symbol {
-; XCOFF32-NEXT: Index: [[#Index+42]]
-; XCOFF32-NEXT: Name: foo_p
-; XCOFF32-NEXT: Value (RelocatableAddress): 0xE4
-; XCOFF32-NEXT: Section: .data
-; XCOFF32-NEXT: Type: 0x0
-; XCOFF32-NEXT: StorageClass: C_HIDEXT (0x6B)
-; XCOFF32-NEXT: NumberOfAuxEntries: 1
-; XCOFF32-NEXT: CSECT Auxiliary Entry {
-; XCOFF32-NEXT: Index: [[#Index+43]]
-; XCOFF32-NEXT: SectionLen: 4
-; XCOFF32-NEXT: ParameterHashIndex: 0x0
-; XCOFF32-NEXT: TypeChkSectNum: 0x0
-; XCOFF32-NEXT: SymbolAlignmentLog2: 2
-; XCOFF32-NEXT: SymbolType: XTY_SD (0x1)
-; XCOFF32-NEXT: StorageMappingClass: XMC_TC (0x3)
-; XCOFF32-NEXT: StabInfoIndex: 0x0
-; XCOFF32-NEXT: StabSectNum: 0x0
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: }
-; XCOFF32-NEXT: ]
More information about the llvm-commits
mailing list