[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