# 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

RUN: llvm-readobj --symbols %p/Inputs/symbol.o | \
RUN: 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: ]
