[NFC][XCOFF][llvm-readobj] replace binaries with YAMLs (only tests for Symbols).
authorEsme-Yi <esme.yi@ibm.com>
Tue, 11 Jan 2022 06:17:16 +0000 (06:17 +0000)
committerEsme-Yi <esme.yi@ibm.com>
Tue, 11 Jan 2022 06:17:16 +0000 (06:17 +0000)
Summary: Since yaml2obj now supports converting AuxSymbols, we can use YAMLs as input for symbol-related tests of llvm-readobj instead of binaries.

Reviewed By: jhenderson, shchenz

Differential Revision: https://reviews.llvm.org/D114434

llvm/test/tools/llvm-readobj/XCOFF/Inputs/file-aux-wrong64.o [deleted file]
llvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol.o [deleted file]
llvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol64.o [deleted file]
llvm/test/tools/llvm-readobj/XCOFF/file-aux-wrong64.test [deleted file]
llvm/test/tools/llvm-readobj/XCOFF/symbols-invalid.test [new file with mode: 0644]
llvm/test/tools/llvm-readobj/XCOFF/symbols.test
llvm/test/tools/llvm-readobj/XCOFF/symbols64.test

diff --git a/llvm/test/tools/llvm-readobj/XCOFF/Inputs/file-aux-wrong64.o b/llvm/test/tools/llvm-readobj/XCOFF/Inputs/file-aux-wrong64.o
deleted file mode 100644 (file)
index dc5052f..0000000
Binary files a/llvm/test/tools/llvm-readobj/XCOFF/Inputs/file-aux-wrong64.o and /dev/null differ
diff --git a/llvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol.o b/llvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol.o
deleted file mode 100644 (file)
index ab438d6..0000000
Binary files a/llvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol.o and /dev/null differ
diff --git a/llvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol64.o b/llvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol64.o
deleted file mode 100644 (file)
index 60d4cd9..0000000
Binary files a/llvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol64.o and /dev/null differ
diff --git a/llvm/test/tools/llvm-readobj/XCOFF/file-aux-wrong64.test b/llvm/test/tools/llvm-readobj/XCOFF/file-aux-wrong64.test
deleted file mode 100644 (file)
index f17e27a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-## This file tests the raw data output ability when a file auxiliary entry does
-## not have the matching auxiliary type.
-
-# RUN: llvm-readobj --symbols %p/Inputs/file-aux-wrong64.o | FileCheck %s
-
-#      CHECK: Symbols [
-# CHECK-NEXT:   Symbol {
-# CHECK-NEXT:     Index: 0
-# CHECK-NEXT:     Name: .file
-# CHECK-NEXT:     Value (SymbolTableIndex): 0x0
-# CHECK-NEXT:     Section: N_DEBUG
-# CHECK-NEXT:     Source Language ID: 0xC
-# CHECK-NEXT:     CPU Version ID: TCPU_PPC64 (0x2)
-# CHECK-NEXT:     StorageClass: C_FILE (0x67)
-# CHECK-NEXT:     NumberOfAuxEntries: 1
-# CHECK-NEXT:     !Unexpected raw auxiliary entry data:
-# CHECK-NEXT:     612e7300 00000000 00000000 00000000 00fb
-# CHECK-NEXT:   }
-# CHECK-NEXT: ]
diff --git a/llvm/test/tools/llvm-readobj/XCOFF/symbols-invalid.test b/llvm/test/tools/llvm-readobj/XCOFF/symbols-invalid.test
new file mode 100644 (file)
index 0000000..b1e10af
--- /dev/null
@@ -0,0 +1,33 @@
+## This file tests the raw data output ability when a file auxiliary entry does
+## not have the matching auxiliary type.
+
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-readobj --syms %t | FileCheck %s
+
+# CHECK:      Symbols [
+# CHECK-NEXT:   Symbol {
+# CHECK-NEXT:     Index: 0
+# CHECK-NEXT:     Name: .fun
+# CHECK-NEXT:     Value (SymbolTableIndex): 0x0
+# CHECK-NEXT:     Section: N_UNDEF
+# CHECK-NEXT:     Source Language ID: TB_C (0x0)
+# CHECK-NEXT:     CPU Version ID: 0x0
+# CHECK-NEXT:     StorageClass: C_FILE (0x67)
+# CHECK-NEXT:     NumberOfAuxEntries: 1
+# CHECK-NEXT:     !Unexpected raw auxiliary entry data:
+# CHECK-NEXT:     00000000 00000001 00020300 00000000 00fb
+# CHECK-NEXT:   }
+# CHECK-NEXT: ]
+
+--- !XCOFF
+FileHeader:
+  MagicNumber: 0x1F7
+Symbols:
+  - Name:         .fun
+    StorageClass: C_FILE
+    AuxEntries:
+      - Type:                   AUX_CSECT
+        ParameterHashIndex:     1
+        TypeChkSectNum:         2
+        SymbolAlignmentAndType: 3
+        StorageMappingClass:    XMC_PR
index 6aef3ee..9abe480 100644 (file)
-# This file tests the ability of llvm-readobj to display the symbol table for a
-# 32-bit XCOFF object file.
-# The object file used is generated by the following source file
-# and command on AIX:
-#
-# > cat test8.c
-#
-# extern int i;
-# extern int TestforXcoff;
-# extern int fun(int i);
-# static int static_i;
-# char* p="abcd";
-# int fun1(int j) {
-#   static_i++;
-#   j++;
-#   j=j+*p;
-#   return j;
-# }
-#
-# int main() {
-#   i++;
-#   fun(i);
-#   return fun1(i);
-# }
-#
-# > xlc -c test8.c -o symbol.o
+## This file tests the ability of llvm-readobj to display the symbol table for a
+## 32-bit XCOFF object file.
 
-RUN: llvm-readobj --symbols %p/Inputs/symbol.o | \
-RUN: FileCheck --check-prefix=SYMBOL32 %s
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-readobj --symbols %t | FileCheck --check-prefix=SYMBOL32 %s
 
-SYMBOL32: File: {{.*}}symbol.o
-SYMBOL32-NEXT: Format: aixcoff-rs6000
-SYMBOL32-NEXT: Arch: powerpc
-SYMBOL32-NEXT: AddressSize: 32bit
-SYMBOL32-NEXT: Symbols [
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 0
-SYMBOL32-NEXT:     Name: .file
-SYMBOL32-NEXT:     Value (SymbolTableIndex): 0x0
-SYMBOL32-NEXT:     Section: N_DEBUG
-SYMBOL32-NEXT:     Source Language ID: TB_C (0x0)
-SYMBOL32-NEXT:     CPU Version ID: TCPU_COM (0x3)
-SYMBOL32-NEXT:     StorageClass: C_FILE (0x67)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 3
-SYMBOL32-NEXT:     File Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 1
-SYMBOL32-NEXT:       Name: test8.c
-SYMBOL32-NEXT:       Type: XFT_FN (0x0)
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:     File Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 2
-SYMBOL32-NEXT:       Name: Sun Apr 28 15:56:49 2019
-SYMBOL32-NEXT:       Type: XFT_CT (0x1)
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:     File Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 3
-SYMBOL32-NEXT:       Name: IBM XL C for AIX, Version 16.1.0.2
-SYMBOL32-NEXT:       Type: XFT_CV (0x2)
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 4
-SYMBOL32-NEXT:     Name: .text
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
-SYMBOL32-NEXT:     Section: .text
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_STAT (0x3)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     Sect Auxiliary Entry For Stat {
-SYMBOL32-NEXT:       Index: 5
-SYMBOL32-NEXT:       SectionLength: 256
-SYMBOL32-NEXT:       NumberOfRelocEnt: 4
-SYMBOL32-NEXT:       NumberOfLineNum: 0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 6
-SYMBOL32-NEXT:     Name: .data
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x100
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_STAT (0x3)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     Sect Auxiliary Entry For Stat {
-SYMBOL32-NEXT:       Index: 7
-SYMBOL32-NEXT:       SectionLength: 60
-SYMBOL32-NEXT:       NumberOfRelocEnt: 11
-SYMBOL32-NEXT:       NumberOfLineNum: 0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 8
-SYMBOL32-NEXT:     Name: .bss
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x13C
-SYMBOL32-NEXT:     Section: .bss
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_STAT (0x3)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     Sect Auxiliary Entry For Stat {
-SYMBOL32-NEXT:       Index: 9
-SYMBOL32-NEXT:       SectionLength: 4
-SYMBOL32-NEXT:       NumberOfRelocEnt: 0
-SYMBOL32-NEXT:       NumberOfLineNum: 0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 10
-SYMBOL32-NEXT:     Name:
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
-SYMBOL32-NEXT:     Section: .text
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 11
-SYMBOL32-NEXT:       SectionLen: 256
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 7
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_PR (0x0)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 12
-SYMBOL32-NEXT:     Name: .fun1
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
-SYMBOL32-NEXT:     Section: .text
-SYMBOL32-NEXT:     Type: 0x20
-SYMBOL32-NEXT:     StorageClass: C_EXT (0x2)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 13
-SYMBOL32-NEXT:       ContainingCsectSymbolIndex: 10
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 0
-SYMBOL32-NEXT:       SymbolType: XTY_LD (0x2)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_PR (0x0)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 14
-SYMBOL32-NEXT:     Name: .main
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x60
-SYMBOL32-NEXT:     Section: .text
-SYMBOL32-NEXT:     Type: 0x20
-SYMBOL32-NEXT:     StorageClass: C_EXT (0x2)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 15
-SYMBOL32-NEXT:       ContainingCsectSymbolIndex: 10
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 0
-SYMBOL32-NEXT:       SymbolType: XTY_LD (0x2)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_PR (0x0)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 16
-SYMBOL32-NEXT:     Name: TOC
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x100
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 17
-SYMBOL32-NEXT:       SectionLen: 0
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_TC0 (0xF)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 18
-SYMBOL32-NEXT:     Name:
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x114
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 19
-SYMBOL32-NEXT:       SectionLen: 4
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_TC (0x3)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 20
-SYMBOL32-NEXT:     Name:
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x134
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 21
-SYMBOL32-NEXT:       SectionLen: 5
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 3
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_RO (0x1)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 22
-SYMBOL32-NEXT:     Name: _$STATIC_BSS
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x13C
-SYMBOL32-NEXT:     Section: .bss
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 23
-SYMBOL32-NEXT:       SectionLen: 4
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_CM (0x3)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_RW (0x5)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 24
-SYMBOL32-NEXT:     Name: _$STATIC_BSS
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x104
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 25
-SYMBOL32-NEXT:       SectionLen: 4
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_TC (0x3)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 26
-SYMBOL32-NEXT:     Name: fun1
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x118
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_EXT (0x2)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 27
-SYMBOL32-NEXT:       SectionLen: 12
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_DS (0xA)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 28
-SYMBOL32-NEXT:     Name: fun1
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x100
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 29
-SYMBOL32-NEXT:       SectionLen: 4
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_TC (0x3)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 30
-SYMBOL32-NEXT:     Name: p
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x130
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_EXT (0x2)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 31
-SYMBOL32-NEXT:       SectionLen: 4
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_RW (0x5)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 32
-SYMBOL32-NEXT:     Name: p
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x108
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 33
-SYMBOL32-NEXT:       SectionLen: 4
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_TC (0x3)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 34
-SYMBOL32-NEXT:     Name: main
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x124
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_EXT (0x2)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 35
-SYMBOL32-NEXT:       SectionLen: 12
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_DS (0xA)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 36
-SYMBOL32-NEXT:     Name: main
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x10C
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 37
-SYMBOL32-NEXT:       SectionLen: 4
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_TC (0x3)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 38
-SYMBOL32-NEXT:     Name: i
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
-SYMBOL32-NEXT:     Section: N_UNDEF
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_EXT (0x2)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 39
-SYMBOL32-NEXT:       SectionLen: 0
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 0
-SYMBOL32-NEXT:       SymbolType: XTY_ER (0x0)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_UA (0x4)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 40
-SYMBOL32-NEXT:     Name: i
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x110
-SYMBOL32-NEXT:     Section: .data
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 41
-SYMBOL32-NEXT:       SectionLen: 4
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 2
-SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_TC (0x3)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT:   Symbol {
-SYMBOL32-NEXT:     Index: 42
-SYMBOL32-NEXT:     Name: .fun
-SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
-SYMBOL32-NEXT:     Section: N_UNDEF
-SYMBOL32-NEXT:     Type: 0x0
-SYMBOL32-NEXT:     StorageClass: C_EXT (0x2)
-SYMBOL32-NEXT:     NumberOfAuxEntries: 1
-SYMBOL32-NEXT:     CSECT Auxiliary Entry {
-SYMBOL32-NEXT:       Index: 43
-SYMBOL32-NEXT:       SectionLen: 0
-SYMBOL32-NEXT:       ParameterHashIndex: 0x0
-SYMBOL32-NEXT:       TypeChkSectNum: 0x0
-SYMBOL32-NEXT:       SymbolAlignmentLog2: 0
-SYMBOL32-NEXT:       SymbolType: XTY_ER (0x0)
-SYMBOL32-NEXT:       StorageMappingClass: XMC_PR (0x0)
-SYMBOL32-NEXT:       StabInfoIndex: 0x0
-SYMBOL32-NEXT:       StabSectNum: 0x0
-SYMBOL32-NEXT:     }
-SYMBOL32-NEXT:   }
-SYMBOL32-NEXT: ]
+--- !XCOFF
+FileHeader:
+  MagicNumber: 0x1DF
+Sections:
+  - Name: .text
+Symbols:
+## The C_FILE symbol with File auxiliary entries.
+  - Name:               .file
+    Value:              0x0
+    Section:            N_DEBUG
+    Type:               0x0
+    StorageClass:       C_FILE
+    NumberOfAuxEntries: 3
+    AuxEntries:
+      - Type:             AUX_FILE
+        FileNameOrString: "test"
+        FileStringType:   XFT_FN
+      - Type:             AUX_FILE
+        FileNameOrString: "foo"
+        FileStringType:   XFT_CT
+      - Type:             AUX_FILE
+        FileNameOrString: "bar"
+        FileStringType:   XFT_CV
+## The C_STAT symbol with a SECT auxiliary entry.
+  - Name:               .text
+    Value:              0x0
+    Section:            .text
+    Type:               0x0
+    StorageClass:       C_STAT
+    NumberOfAuxEntries: 1
+    AuxEntries:
+      - Type:             AUX_STAT
+        SectionLength:    256
+        NumberOfRelocEnt: 4
+        NumberOfLineNum:  4
+## The C_HIDEXT symbol with a CSECT auxiliary entry.
+  - Name:               .fun
+    Value:              0x0
+    Section:            .text
+    Type:               0x0
+    StorageClass:       C_HIDEXT
+    NumberOfAuxEntries: 1
+    AuxEntries:
+      - Type:                   AUX_CSECT
+        ParameterHashIndex:     2
+        TypeChkSectNum:         3
+        SymbolAlignmentAndType: 7
+        StorageMappingClass:    XMC_PR
+        SectionOrLength:        256
+        StabInfoIndex:          5
+        StabSectNum:            6
+## The C_EXT symbol with a CSECT auxiliary entry.
+  - Name:               .fun1
+    Value:              0x0
+    Section:            .text
+    Type:               0x20
+    StorageClass:       C_EXT
+    NumberOfAuxEntries: 1
+    AuxEntries:
+      - Type:                   AUX_CSECT
+        ParameterHashIndex:     1
+        TypeChkSectNum:         2
+        SymbolAlignmentAndType: 3
+        StorageMappingClass:    XMC_PR
+        SectionOrLength:        256
+        StabInfoIndex:          4
+        StabSectNum:            5
+## The C_WEAKEXT symbol with a CSECT auxiliary entry.
+  - Name:               .fun2
+    Value:              0x0
+    Section:            .text
+    Type:               0x20
+    StorageClass:       C_WEAKEXT
+    NumberOfAuxEntries: 1
+    AuxEntries:
+      - Type:                   AUX_CSECT
+        ParameterHashIndex:     8
+        TypeChkSectNum:         9
+        SymbolAlignmentAndType: 1
+        StorageMappingClass:    XMC_PR
+        SectionOrLength:        256
+        StabInfoIndex:          2
+        StabSectNum:            3
+
+# SYMBOL32:      Symbols [
+# SYMBOL32-NEXT:   Symbol {
+# SYMBOL32-NEXT:     Index: 0
+# SYMBOL32-NEXT:     Name: .file
+# SYMBOL32-NEXT:     Value (SymbolTableIndex): 0x0
+# SYMBOL32-NEXT:     Section: N_DEBUG
+# SYMBOL32-NEXT:     Source Language ID: TB_C (0x0)
+# SYMBOL32-NEXT:     CPU Version ID: 0x0
+# SYMBOL32-NEXT:     StorageClass: C_FILE (0x67)
+# SYMBOL32-NEXT:     NumberOfAuxEntries: 3
+# SYMBOL32-NEXT:     File Auxiliary Entry {
+# SYMBOL32-NEXT:       Index: 1
+# SYMBOL32-NEXT:       Name: test
+# SYMBOL32-NEXT:       Type: XFT_FN (0x0)
+# SYMBOL32-NEXT:     }
+# SYMBOL32-NEXT:     File Auxiliary Entry {
+# SYMBOL32-NEXT:       Index: 2
+# SYMBOL32-NEXT:       Name: foo
+# SYMBOL32-NEXT:       Type: XFT_CT (0x1)
+# SYMBOL32-NEXT:     }
+# SYMBOL32-NEXT:     File Auxiliary Entry {
+# SYMBOL32-NEXT:       Index: 3
+# SYMBOL32-NEXT:       Name: bar
+# SYMBOL32-NEXT:       Type: XFT_CV (0x2)
+# SYMBOL32-NEXT:     }
+# SYMBOL32-NEXT:   }
+# SYMBOL32-NEXT:   Symbol {
+# SYMBOL32-NEXT:     Index: 4
+# SYMBOL32-NEXT:     Name: .text
+# SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
+# SYMBOL32-NEXT:     Section: .text
+# SYMBOL32-NEXT:     Type: 0x0
+# SYMBOL32-NEXT:     StorageClass: C_STAT (0x3)
+# SYMBOL32-NEXT:     NumberOfAuxEntries: 1
+# SYMBOL32-NEXT:     Sect Auxiliary Entry For Stat {
+# SYMBOL32-NEXT:       Index: 5
+# SYMBOL32-NEXT:       SectionLength: 256
+# SYMBOL32-NEXT:       NumberOfRelocEnt: 4
+# SYMBOL32-NEXT:       NumberOfLineNum: 4
+# SYMBOL32-NEXT:     }
+# SYMBOL32-NEXT:   }
+# SYMBOL32-NEXT:   Symbol {
+# SYMBOL32-NEXT:     Index: 6
+# SYMBOL32-NEXT:     Name: .fun
+# SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
+# SYMBOL32-NEXT:     Section: .text
+# SYMBOL32-NEXT:     Type: 0x0
+# SYMBOL32-NEXT:     StorageClass: C_HIDEXT (0x6B)
+# SYMBOL32-NEXT:     NumberOfAuxEntries: 1
+# SYMBOL32-NEXT:     CSECT Auxiliary Entry {
+# SYMBOL32-NEXT:       Index: 7
+# SYMBOL32-NEXT:       SectionLen: 256
+# SYMBOL32-NEXT:       ParameterHashIndex: 0x2
+# SYMBOL32-NEXT:       TypeChkSectNum: 0x3
+# SYMBOL32-NEXT:       SymbolAlignmentLog2: 0
+# SYMBOL32-NEXT:       SymbolType: 0x7
+# SYMBOL32-NEXT:       StorageMappingClass: XMC_PR (0x0)
+# SYMBOL32-NEXT:       StabInfoIndex: 0x5
+# SYMBOL32-NEXT:       StabSectNum: 0x6
+# SYMBOL32-NEXT:     }
+# SYMBOL32-NEXT:   }
+# SYMBOL32-NEXT:   Symbol {
+# SYMBOL32-NEXT:     Index: 8
+# SYMBOL32-NEXT:     Name: .fun1
+# SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
+# SYMBOL32-NEXT:     Section: .text
+# SYMBOL32-NEXT:     Type: 0x20
+# SYMBOL32-NEXT:     StorageClass: C_EXT (0x2)
+# SYMBOL32-NEXT:     NumberOfAuxEntries: 1
+# SYMBOL32-NEXT:     CSECT Auxiliary Entry {
+# SYMBOL32-NEXT:       Index: 9
+# SYMBOL32-NEXT:       SectionLen: 256
+# SYMBOL32-NEXT:       ParameterHashIndex: 0x1
+# SYMBOL32-NEXT:       TypeChkSectNum: 0x2
+# SYMBOL32-NEXT:       SymbolAlignmentLog2: 0
+# SYMBOL32-NEXT:       SymbolType: XTY_CM (0x3)
+# SYMBOL32-NEXT:       StorageMappingClass: XMC_PR (0x0)
+# SYMBOL32-NEXT:       StabInfoIndex: 0x4
+# SYMBOL32-NEXT:       StabSectNum: 0x5
+# SYMBOL32-NEXT:     }
+# SYMBOL32-NEXT:   }
+# SYMBOL32-NEXT:   Symbol {
+# SYMBOL32-NEXT:     Index: 10
+# SYMBOL32-NEXT:     Name: .fun2
+# SYMBOL32-NEXT:     Value (RelocatableAddress): 0x0
+# SYMBOL32-NEXT:     Section: .text
+# SYMBOL32-NEXT:     Type: 0x20
+# SYMBOL32-NEXT:     StorageClass: C_WEAKEXT (0x6F)
+# SYMBOL32-NEXT:     NumberOfAuxEntries: 1
+# SYMBOL32-NEXT:     CSECT Auxiliary Entry {
+# SYMBOL32-NEXT:       Index: 11
+# SYMBOL32-NEXT:       SectionLen: 256
+# SYMBOL32-NEXT:       ParameterHashIndex: 0x8
+# SYMBOL32-NEXT:       TypeChkSectNum: 0x9
+# SYMBOL32-NEXT:       SymbolAlignmentLog2: 0
+# SYMBOL32-NEXT:       SymbolType: XTY_SD (0x1)
+# SYMBOL32-NEXT:       StorageMappingClass: XMC_PR (0x0)
+# SYMBOL32-NEXT:       StabInfoIndex: 0x2
+# SYMBOL32-NEXT:       StabSectNum: 0x3
+# SYMBOL32-NEXT:     }
+# SYMBOL32-NEXT:   }
+# SYMBOL32-NEXT: ]
index f3cfcda..617f9ed 100644 (file)
 ## This file tests the ability of llvm-readobj to display the symbol table for a
 ## 64-bit XCOFF object file.
-## The object file used is generated by the following source file
-## and command on AIX:
-##
-## > cat test8.c
-##
-## extern int i;
-## extern int TestforXcoff;
-## extern int fun(int i);
-## static int static_i;
-## char* p="abcd";
-## int fun1(int j) {
-##   static_i++;
-##   j++;
-##   j=j+*p;
-##   return j;
-## }
-##
-## int main() {
-##   i++;
-##   fun(i);
-##   return fun1(i);
-## }
-##
-## > xlc -q64 -c test8.c -o symbol64.o
 
-# RUN: llvm-readobj --symbols %p/Inputs/symbol64.o | \
-# RUN:   FileCheck --check-prefix=SYMBOL64 %s
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-readobj --symbols %t | FileCheck --check-prefix=SYMBOL64 %s
 
-# SYMBOL64:       File: {{.*}}symbol64.o
-# SYMBOL64-NEXT:  Format: aix5coff64-rs6000
-# SYMBOL64-NEXT:  Arch: powerpc64
-# SYMBOL64-NEXT:  AddressSize: 64bit
-# SYMBOL64-NEXT:  Symbols [
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 0
-# SYMBOL64-NEXT:      Name: .file
-# SYMBOL64-NEXT:      Value (SymbolTableIndex): 0x0
-# SYMBOL64-NEXT:      Section: N_DEBUG
-# SYMBOL64-NEXT:      Source Language ID: TB_C (0x0)
-# SYMBOL64-NEXT:      CPU Version ID: TCPU_PPC64 (0x2)
-# SYMBOL64-NEXT:      StorageClass: C_FILE (0x67)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 3
-# SYMBOL64-NEXT:      File Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 1
-# SYMBOL64-NEXT:        Name: test64.c
-# SYMBOL64-NEXT:        Type: XFT_FN (0x0)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_FILE (0xFC)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:      File Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 2
-# SYMBOL64-NEXT:        Name: Mon Aug 10 16:07:48 2020
-# SYMBOL64-NEXT:        Type: XFT_CT (0x1)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_FILE (0xFC)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:      File Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 3
-# SYMBOL64-NEXT:        Name: IBM XL C for AIX, Version 16.1.0.6
-# SYMBOL64-NEXT:        Type: XFT_CV (0x2)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_FILE (0xFC)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 4
-# SYMBOL64-NEXT:      Name:
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x0
-# SYMBOL64-NEXT:      Section: .text
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 5
-# SYMBOL64-NEXT:        SectionLen: 256
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 7
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_PR (0x0)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 6
-# SYMBOL64-NEXT:      Name: .fun1
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x0
-# SYMBOL64-NEXT:      Section: .text
-# SYMBOL64-NEXT:      Type: 0x20
-# SYMBOL64-NEXT:      StorageClass: C_EXT (0x2)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 7
-# SYMBOL64-NEXT:        ContainingCsectSymbolIndex: 4
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 0
-# SYMBOL64-NEXT:        SymbolType: XTY_LD (0x2)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_PR (0x0)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 8
-# SYMBOL64-NEXT:      Name: .main
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x80
-# SYMBOL64-NEXT:      Section: .text
-# SYMBOL64-NEXT:      Type: 0x20
-# SYMBOL64-NEXT:      StorageClass: C_EXT (0x2)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 9
-# SYMBOL64-NEXT:        ContainingCsectSymbolIndex: 4
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 0
-# SYMBOL64-NEXT:        SymbolType: XTY_LD (0x2)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_PR (0x0)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 10
-# SYMBOL64-NEXT:      Name: TOC
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x100
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 11
-# SYMBOL64-NEXT:        SectionLen: 0
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 2
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_TC0 (0xF)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 12
-# SYMBOL64-NEXT:      Name:
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x128
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 13
-# SYMBOL64-NEXT:        SectionLen: 8
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_TC (0x3)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 14
-# SYMBOL64-NEXT:      Name:
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x168
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 15
-# SYMBOL64-NEXT:        SectionLen: 5
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_RO (0x1)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 16
-# SYMBOL64-NEXT:      Name: _$STATIC_BSS
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x170
-# SYMBOL64-NEXT:      Section: .bss
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 17
-# SYMBOL64-NEXT:        SectionLen: 4
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 2
-# SYMBOL64-NEXT:        SymbolType: XTY_CM (0x3)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_RW (0x5)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 18
-# SYMBOL64-NEXT:      Name: _$STATIC_BSS
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x108
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 19
-# SYMBOL64-NEXT:        SectionLen: 8
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_TC (0x3)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 20
-# SYMBOL64-NEXT:      Name: fun1
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x130
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_EXT (0x2)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 21
-# SYMBOL64-NEXT:        SectionLen: 24
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_DS (0xA)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 22
-# SYMBOL64-NEXT:      Name: fun1
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x100
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 23
-# SYMBOL64-NEXT:        SectionLen: 8
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_TC (0x3)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 24
-# SYMBOL64-NEXT:      Name: p
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x160
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_EXT (0x2)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 25
-# SYMBOL64-NEXT:        SectionLen: 8
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_RW (0x5)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 26
-# SYMBOL64-NEXT:      Name: p
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x110
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 27
-# SYMBOL64-NEXT:        SectionLen: 8
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_TC (0x3)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 28
-# SYMBOL64-NEXT:      Name: main
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x148
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_EXT (0x2)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 29
-# SYMBOL64-NEXT:        SectionLen: 24
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_DS (0xA)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 30
-# SYMBOL64-NEXT:      Name: main
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x118
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 31
-# SYMBOL64-NEXT:        SectionLen: 8
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_TC (0x3)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 32
-# SYMBOL64-NEXT:      Name: i
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x0
-# SYMBOL64-NEXT:      Section: N_UNDEF
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_EXT (0x2)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 33
-# SYMBOL64-NEXT:        SectionLen: 0
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 0
-# SYMBOL64-NEXT:        SymbolType: XTY_ER (0x0)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_UA (0x4)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 34
-# SYMBOL64-NEXT:      Name: i
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x120
-# SYMBOL64-NEXT:      Section: .data
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_HIDEXT (0x6B)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 35
-# SYMBOL64-NEXT:        SectionLen: 8
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 3
-# SYMBOL64-NEXT:        SymbolType: XTY_SD (0x1)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_TC (0x3)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:    Symbol {
-# SYMBOL64-NEXT:      Index: 36
-# SYMBOL64-NEXT:      Name: .fun
-# SYMBOL64-NEXT:      Value (RelocatableAddress): 0x0
-# SYMBOL64-NEXT:      Section: N_UNDEF
-# SYMBOL64-NEXT:      Type: 0x0
-# SYMBOL64-NEXT:      StorageClass: C_EXT (0x2)
-# SYMBOL64-NEXT:      NumberOfAuxEntries: 1
-# SYMBOL64-NEXT:      CSECT Auxiliary Entry {
-# SYMBOL64-NEXT:        Index: 37
-# SYMBOL64-NEXT:        SectionLen: 0
-# SYMBOL64-NEXT:        ParameterHashIndex: 0x0
-# SYMBOL64-NEXT:        TypeChkSectNum: 0x0
-# SYMBOL64-NEXT:        SymbolAlignmentLog2: 0
-# SYMBOL64-NEXT:        SymbolType: XTY_ER (0x0)
-# SYMBOL64-NEXT:        StorageMappingClass: XMC_PR (0x0)
-# SYMBOL64-NEXT:        Auxiliary Type: AUX_CSECT (0xFB)
-# SYMBOL64-NEXT:      }
-# SYMBOL64-NEXT:    }
-# SYMBOL64-NEXT:  ]
+--- !XCOFF
+FileHeader:
+  MagicNumber: 0x1F7
+Sections:
+  - Name: .text
+Symbols:
+## The C_FILE symbol with File auxiliary entries.
+  - Name:               .file
+    Value:              0x0
+    Section:            N_DEBUG
+    Type:               0x0
+    StorageClass:       C_FILE
+    NumberOfAuxEntries: 3
+    AuxEntries:
+      - Type:             AUX_FILE
+        FileNameOrString: "test"
+        FileStringType:   XFT_FN
+      - Type:             AUX_FILE
+        FileNameOrString: "foo"
+        FileStringType:   XFT_CT
+      - Type:             AUX_FILE
+        FileNameOrString: "bar"
+        FileStringType:   XFT_CV
+## The C_HIDEXT symbol with a CSECT auxiliary entry.
+  - Name:               .fun
+    Value:              0x0
+    Section:            .text
+    Type:               0x0
+    StorageClass:       C_HIDEXT
+    NumberOfAuxEntries: 1
+    AuxEntries:
+      - Type:                   AUX_CSECT
+        ParameterHashIndex:     2
+        TypeChkSectNum:         3
+        SymbolAlignmentAndType: 1
+        StorageMappingClass:    XMC_PR
+        SectionOrLengthLo:      4
+        SectionOrLengthHi:      5
+## The C_EXT symbol with a CSECT auxiliary entry.
+  - Name:               .fun1
+    Value:              0x0
+    Section:            .text
+    Type:               0x20
+    StorageClass:       C_EXT
+    NumberOfAuxEntries: 1
+    AuxEntries:
+      - Type:                   AUX_CSECT
+        ParameterHashIndex:     2
+        TypeChkSectNum:         3
+        SymbolAlignmentAndType: 1
+        StorageMappingClass:    XMC_PR
+        SectionOrLengthLo:      4
+        SectionOrLengthHi:      5
+## The C_WEAKEXT symbol with a CSECT auxiliary entry.
+  - Name:               .fun2
+    Value:              0x0
+    Section:            .text
+    Type:               0x20
+    StorageClass:       C_WEAKEXT
+    NumberOfAuxEntries: 1
+    AuxEntries:
+      - Type:                   AUX_CSECT
+        ParameterHashIndex:     8
+        TypeChkSectNum:         9
+        SymbolAlignmentAndType: 1
+        StorageMappingClass:    XMC_PR
+        SectionOrLengthLo:      2
+        SectionOrLengthHi:      3
+
+# SYMBOL64:      Symbols [
+# SYMBOL64-NEXT:   Symbol {
+# SYMBOL64-NEXT:     Index: 0
+# SYMBOL64-NEXT:     Name: .file
+# SYMBOL64-NEXT:     Value (SymbolTableIndex): 0x0
+# SYMBOL64-NEXT:     Section: N_DEBUG
+# SYMBOL64-NEXT:     Source Language ID: TB_C (0x0)
+# SYMBOL64-NEXT:     CPU Version ID: 0x0
+# SYMBOL64-NEXT:     StorageClass: C_FILE (0x67)
+# SYMBOL64-NEXT:     NumberOfAuxEntries: 3
+# SYMBOL64-NEXT:     File Auxiliary Entry {
+# SYMBOL64-NEXT:       Index: 1
+# SYMBOL64-NEXT:       Name: test
+# SYMBOL64-NEXT:       Type: XFT_FN (0x0)
+# SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)
+# SYMBOL64-NEXT:     }
+# SYMBOL64-NEXT:     File Auxiliary Entry {
+# SYMBOL64-NEXT:       Index: 2
+# SYMBOL64-NEXT:       Name: foo
+# SYMBOL64-NEXT:       Type: XFT_CT (0x1)
+# SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)
+# SYMBOL64-NEXT:     }
+# SYMBOL64-NEXT:     File Auxiliary Entry {
+# SYMBOL64-NEXT:       Index: 3
+# SYMBOL64-NEXT:       Name: bar
+# SYMBOL64-NEXT:       Type: XFT_CV (0x2)
+# SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)
+# SYMBOL64-NEXT:     }
+# SYMBOL64-NEXT:   }
+# SYMBOL64-NEXT:   Symbol {
+# SYMBOL64-NEXT:     Index: 4
+# SYMBOL64-NEXT:     Name: .fun
+# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
+# SYMBOL64-NEXT:     Section: .text
+# SYMBOL64-NEXT:     Type: 0x0
+# SYMBOL64-NEXT:     StorageClass: C_HIDEXT (0x6B)
+# SYMBOL64-NEXT:     NumberOfAuxEntries: 1
+# SYMBOL64-NEXT:     CSECT Auxiliary Entry {
+# SYMBOL64-NEXT:       Index: 5
+# SYMBOL64-NEXT:       SectionLen: 21474836484
+# SYMBOL64-NEXT:       ParameterHashIndex: 0x2
+# SYMBOL64-NEXT:       TypeChkSectNum: 0x3
+# SYMBOL64-NEXT:       SymbolAlignmentLog2: 0
+# SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)
+# SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)
+# SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)
+# SYMBOL64-NEXT:     }
+# SYMBOL64-NEXT:   }
+# SYMBOL64-NEXT:   Symbol {
+# SYMBOL64-NEXT:     Index: 6
+# SYMBOL64-NEXT:     Name: .fun1
+# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
+# SYMBOL64-NEXT:     Section: .text
+# SYMBOL64-NEXT:     Type: 0x20
+# SYMBOL64-NEXT:     StorageClass: C_EXT (0x2)
+# SYMBOL64-NEXT:     NumberOfAuxEntries: 1
+# SYMBOL64-NEXT:     CSECT Auxiliary Entry {
+# SYMBOL64-NEXT:       Index: 7
+# SYMBOL64-NEXT:       SectionLen: 21474836484
+# SYMBOL64-NEXT:       ParameterHashIndex: 0x2
+# SYMBOL64-NEXT:       TypeChkSectNum: 0x3
+# SYMBOL64-NEXT:       SymbolAlignmentLog2: 0
+# SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)
+# SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)
+# SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)
+# SYMBOL64-NEXT:     }
+# SYMBOL64-NEXT:   }
+# SYMBOL64-NEXT:   Symbol {
+# SYMBOL64-NEXT:     Index: 8
+# SYMBOL64-NEXT:     Name: .fun2
+# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
+# SYMBOL64-NEXT:     Section: .text
+# SYMBOL64-NEXT:     Type: 0x20
+# SYMBOL64-NEXT:     StorageClass: C_WEAKEXT (0x6F)
+# SYMBOL64-NEXT:     NumberOfAuxEntries: 1
+# SYMBOL64-NEXT:     CSECT Auxiliary Entry {
+# SYMBOL64-NEXT:       Index: 9
+# SYMBOL64-NEXT:       SectionLen: 12884901890
+# SYMBOL64-NEXT:       ParameterHashIndex: 0x8
+# SYMBOL64-NEXT:       TypeChkSectNum: 0x9
+# SYMBOL64-NEXT:       SymbolAlignmentLog2: 0
+# SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)
+# SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)
+# SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)
+# SYMBOL64-NEXT:     }
+# SYMBOL64-NEXT:   }
+# SYMBOL64-NEXT: ]