brintos

brintos / llvm-project-archived public Read only

0
0
Text · 17.0 KiB · 462ac5f Raw
496 lines · plain
1## This file tests the ability of llvm-readobj to display the symbol table for a2## 64-bit XCOFF object file.3 4# RUN: yaml2obj %s -o %t5# RUN: llvm-readobj --symbols %t | FileCheck --check-prefix=SYMBOL64 %s6 7--- !XCOFF8FileHeader:9  MagicNumber: 0x1F710Sections:11  - Name: .text12Symbols:13## The C_FILE symbol with File auxiliary entries.14  - Name:               .file15    Value:              0x016    Section:            N_DEBUG17    Type:               0x018    StorageClass:       C_FILE19    NumberOfAuxEntries: 320    AuxEntries:21      - Type:             AUX_FILE22        FileNameOrString: "test"23        FileStringType:   XFT_FN24      - Type:             AUX_FILE25        FileNameOrString: "foo"26        FileStringType:   XFT_CT27      - Type:             AUX_FILE28        FileNameOrString: "bar"29        FileStringType:   XFT_CV30## The C_HIDEXT symbol with a CSECT auxiliary entry.31  - Name:               .fun32    Value:              0x033    Section:            .text34    Type:               0x035    StorageClass:       C_HIDEXT36    NumberOfAuxEntries: 137    AuxEntries:38      - Type:                   AUX_CSECT39        ParameterHashIndex:     240        TypeChkSectNum:         341        SymbolAlignmentAndType: 142        StorageMappingClass:    XMC_PR43        SectionOrLengthLo:      444        SectionOrLengthHi:      545## The C_EXT symbol with a CSECT auxiliary entry.46  - Name:               .fun147    Value:              0x048    Section:            .text49    Type:               0x2050    StorageClass:       C_EXT51    NumberOfAuxEntries: 152    AuxEntries:53      - Type:                   AUX_CSECT54        ParameterHashIndex:     255        TypeChkSectNum:         356        SymbolAlignmentAndType: 157        StorageMappingClass:    XMC_PR58        SectionOrLengthLo:      459        SectionOrLengthHi:      560## The C_WEAKEXT symbol with a CSECT auxiliary entry.61  - Name:               .fun262    Value:              0x063    Section:            .text64    Type:               0x2065    StorageClass:       C_WEAKEXT66    NumberOfAuxEntries: 167    AuxEntries:68      - Type:                   AUX_CSECT69        ParameterHashIndex:     870        TypeChkSectNum:         971        SymbolAlignmentAndType: 172        StorageMappingClass:    XMC_PR73        SectionOrLengthLo:      274        SectionOrLengthHi:      375## The C_WEAKEXT symbol with a Function auxiliary entry and a CSECT auxiliary entry.76  - Name:               .fun377    Value:              0x078    Section:            N_DEBUG79    Type:               0x2080    StorageClass:       C_WEAKEXT81    NumberOfAuxEntries: 282    AuxEntries:83      - Type:                 AUX_FCN84        SizeOfFunction:       385        SymIdxOfNextBeyond:   486        PtrToLineNum:         587      - Type:                   AUX_CSECT88        ParameterHashIndex:     289        TypeChkSectNum:         390        SymbolAlignmentAndType: 191        StorageMappingClass:    XMC_PR92        SectionOrLengthLo:      493        SectionOrLengthHi:      594## The C_EXT symbol with a Function auxiliary entry, a CSECT auxiliary entry, and an Exception auxiliary entry.95  - Name:               .fun496    Value:              0x097    Section:            .text98    Type:               0x2099    StorageClass:       C_EXT100    NumberOfAuxEntries: 3101    AuxEntries:102      - Type:                 AUX_FCN103        SizeOfFunction:       3104        SymIdxOfNextBeyond:   4105        PtrToLineNum:         5106      - Type:                 AUX_EXCEPT107        OffsetToExceptionTbl: 2108        SizeOfFunction:       3109        SymIdxOfNextBeyond:   4110      - Type:                   AUX_CSECT111        ParameterHashIndex:     2112        TypeChkSectNum:         3113        SymbolAlignmentAndType: 1114        StorageMappingClass:    XMC_PR115        SectionOrLengthLo:      4116        SectionOrLengthHi:      5117## The C_DWARF symbol with a SECT auxiliary entry.118  - Name:               .fun5119    Section:            N_DEBUG120    StorageClass:       C_DWARF121    NumberOfAuxEntries: 1122    AuxEntries:123      - Type:                   AUX_SECT124        LengthOfSectionPortion: 2125        NumberOfRelocEnt:       3126## The C_BLOCK symbol with a Block auxiliary entry.127  - Name:               .fun6128    StorageClass:       C_BLOCK129    NumberOfAuxEntries: 1130    AuxEntries:131      - Type:    AUX_SYM132        LineNum: 3133## The C_FCN symbol with a Block auxiliary entry.134  - Name:               .fun7135    StorageClass:       C_FCN136    NumberOfAuxEntries: 1137    AuxEntries:138      - Type:    AUX_SYM139        LineNum: 3140 141  - Name:               bstat142    Value:              0x0143    Section:            N_DEBUG144    Type:               0x00145    StorageClass:       C_BSTAT146 147  - Name:               cfun148    Value:              0x0149    Section:            N_DEBUG150    Type:               0x00151    StorageClass:       C_FUN152 153  - Name:               stsym154    Value:              0x05155    Section:            N_DEBUG156    Type:               0x00157    StorageClass:       C_STSYM158 159  - Name:               bincl160    Value:              0x06161    Section:            .text162    Type:               0x00163    StorageClass:       C_BINCL164 165  - Name:               eincl166    Value:              0x06167    Section:            .text168    Type:               0x00169    StorageClass:       C_EINCL170 171  - Name:               lsym172    Value:              0x07173    Section:            N_DEBUG174    Type:               0x00175    StorageClass:       C_LSYM176 177  - Name:               psym178    Value:              0x07179    Section:            N_DEBUG180    Type:               0x00181    StorageClass:       C_PSYM182 183  - Name:               rsym184    Value:              0x08185    Section:            N_DEBUG186    Type:               0x00187    StorageClass:       C_RSYM188 189  - Name:               rpsym190    Value:              0x08191    Section:            N_DEBUG192    Type:               0x00193    StorageClass:       C_RPSYM194 195  - Name:               ecoml196    Value:              0x09197    Section:            .text198    Type:               0x00199    StorageClass:       C_ECOML200 201  - Name:               cinfo202    Value:              0x02203    Section:            .text204    Type:               0x00205    StorageClass:       C_INFO206 207 208# SYMBOL64:      Symbols [209# SYMBOL64-NEXT:   Symbol {210# SYMBOL64-NEXT:     Index: 0211# SYMBOL64-NEXT:     Name: .file212# SYMBOL64-NEXT:     Value (SymbolTableIndex): 0x0213# SYMBOL64-NEXT:     Section: N_DEBUG214# SYMBOL64-NEXT:     Source Language ID: TB_C (0x0)215# SYMBOL64-NEXT:     CPU Version ID: TCPU_INVALID (0x0)216# SYMBOL64-NEXT:     StorageClass: C_FILE (0x67)217# SYMBOL64-NEXT:     NumberOfAuxEntries: 3218# SYMBOL64-NEXT:     File Auxiliary Entry {219# SYMBOL64-NEXT:       Index: 1220# SYMBOL64-NEXT:       Name: test221# SYMBOL64-NEXT:       Type: XFT_FN (0x0)222# SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)223# SYMBOL64-NEXT:     }224# SYMBOL64-NEXT:     File Auxiliary Entry {225# SYMBOL64-NEXT:       Index: 2226# SYMBOL64-NEXT:       Name: foo227# SYMBOL64-NEXT:       Type: XFT_CT (0x1)228# SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)229# SYMBOL64-NEXT:     }230# SYMBOL64-NEXT:     File Auxiliary Entry {231# SYMBOL64-NEXT:       Index: 3232# SYMBOL64-NEXT:       Name: bar233# SYMBOL64-NEXT:       Type: XFT_CV (0x2)234# SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)235# SYMBOL64-NEXT:     }236# SYMBOL64-NEXT:   }237# SYMBOL64-NEXT:   Symbol {238# SYMBOL64-NEXT:     Index: 4239# SYMBOL64-NEXT:     Name: .fun240# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0241# SYMBOL64-NEXT:     Section: .text242# SYMBOL64-NEXT:     Type: 0x0243# SYMBOL64-NEXT:     StorageClass: C_HIDEXT (0x6B)244# SYMBOL64-NEXT:     NumberOfAuxEntries: 1245# SYMBOL64-NEXT:     CSECT Auxiliary Entry {246# SYMBOL64-NEXT:       Index: 5247# SYMBOL64-NEXT:       SectionLen: 21474836484248# SYMBOL64-NEXT:       ParameterHashIndex: 0x2249# SYMBOL64-NEXT:       TypeChkSectNum: 0x3250# SYMBOL64-NEXT:       SymbolAlignmentLog2: 0251# SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)252# SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)253# SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)254# SYMBOL64-NEXT:     }255# SYMBOL64-NEXT:   }256# SYMBOL64-NEXT:   Symbol {257# SYMBOL64-NEXT:     Index: 6258# SYMBOL64-NEXT:     Name: .fun1259# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0260# SYMBOL64-NEXT:     Section: .text261# SYMBOL64-NEXT:     Type: 0x20262# SYMBOL64-NEXT:     StorageClass: C_EXT (0x2)263# SYMBOL64-NEXT:     NumberOfAuxEntries: 1264# SYMBOL64-NEXT:     CSECT Auxiliary Entry {265# SYMBOL64-NEXT:       Index: 7266# SYMBOL64-NEXT:       SectionLen: 21474836484267# SYMBOL64-NEXT:       ParameterHashIndex: 0x2268# SYMBOL64-NEXT:       TypeChkSectNum: 0x3269# SYMBOL64-NEXT:       SymbolAlignmentLog2: 0270# SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)271# SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)272# SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)273# SYMBOL64-NEXT:     }274# SYMBOL64-NEXT:   }275# SYMBOL64-NEXT:   Symbol {276# SYMBOL64-NEXT:     Index: 8277# SYMBOL64-NEXT:     Name: .fun2278# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0279# SYMBOL64-NEXT:     Section: .text280# SYMBOL64-NEXT:     Type: 0x20281# SYMBOL64-NEXT:     StorageClass: C_WEAKEXT (0x6F)282# SYMBOL64-NEXT:     NumberOfAuxEntries: 1283# SYMBOL64-NEXT:     CSECT Auxiliary Entry {284# SYMBOL64-NEXT:       Index: 9285# SYMBOL64-NEXT:       SectionLen: 12884901890286# SYMBOL64-NEXT:       ParameterHashIndex: 0x8287# SYMBOL64-NEXT:       TypeChkSectNum: 0x9288# SYMBOL64-NEXT:       SymbolAlignmentLog2: 0289# SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)290# SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)291# SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)292# SYMBOL64-NEXT:     }293# SYMBOL64-NEXT:   }294# SYMBOL64-NEXT:   Symbol {295# SYMBOL64-NEXT:     Index: 10296# SYMBOL64-NEXT:     Name: .fun3297# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0298# SYMBOL64-NEXT:     Section: N_DEBUG299# SYMBOL64-NEXT:     Type: 0x20300# SYMBOL64-NEXT:     StorageClass: C_WEAKEXT (0x6F)301# SYMBOL64-NEXT:     NumberOfAuxEntries: 2302# SYMBOL64-NEXT:     Function Auxiliary Entry {303# SYMBOL64-NEXT:       Index: 11304# SYMBOL64-NEXT:       SizeOfFunction: 0x3305# SYMBOL64-NEXT:       PointerToLineNum: 0x5306# SYMBOL64-NEXT:       SymbolIndexOfNextBeyond: 4307# SYMBOL64-NEXT:       Auxiliary Type: AUX_FCN (0xFE)308# SYMBOL64-NEXT:     }309# SYMBOL64-NEXT:     CSECT Auxiliary Entry {310# SYMBOL64-NEXT:       Index: 12311# SYMBOL64-NEXT:       SectionLen: 21474836484312# SYMBOL64-NEXT:       ParameterHashIndex: 0x2313# SYMBOL64-NEXT:       TypeChkSectNum: 0x3314# SYMBOL64-NEXT:       SymbolAlignmentLog2: 0315# SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)316# SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)317# SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)318# SYMBOL64-NEXT:     }319# SYMBOL64-NEXT:   }320# SYMBOL64-NEXT:   Symbol {321# SYMBOL64-NEXT:     Index: 13322# SYMBOL64-NEXT:     Name: .fun4323# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0324# SYMBOL64-NEXT:     Section: .text325# SYMBOL64-NEXT:     Type: 0x20326# SYMBOL64-NEXT:     StorageClass: C_EXT (0x2)327# SYMBOL64-NEXT:     NumberOfAuxEntries: 3328# SYMBOL64-NEXT:     Function Auxiliary Entry {329# SYMBOL64-NEXT:       Index: 14330# SYMBOL64-NEXT:       SizeOfFunction: 0x3331# SYMBOL64-NEXT:       PointerToLineNum: 0x5332# SYMBOL64-NEXT:       SymbolIndexOfNextBeyond: 4333# SYMBOL64-NEXT:       Auxiliary Type: AUX_FCN (0xFE)334# SYMBOL64-NEXT:     }335# SYMBOL64-NEXT:     Exception Auxiliary Entry {336# SYMBOL64-NEXT:       Index: 15337# SYMBOL64-NEXT:       OffsetToExceptionTable: 0x2338# SYMBOL64-NEXT:       SizeOfFunction: 0x3339# SYMBOL64-NEXT:       SymbolIndexOfNextBeyond: 4340# SYMBOL64-NEXT:       Auxiliary Type: AUX_EXCEPT (0xFF)341# SYMBOL64-NEXT:     }342# SYMBOL64-NEXT:     CSECT Auxiliary Entry {343# SYMBOL64-NEXT:       Index: 16344# SYMBOL64-NEXT:       SectionLen: 21474836484345# SYMBOL64-NEXT:       ParameterHashIndex: 0x2346# SYMBOL64-NEXT:       TypeChkSectNum: 0x3347# SYMBOL64-NEXT:       SymbolAlignmentLog2: 0348# SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)349# SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)350# SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)351# SYMBOL64-NEXT:     }352# SYMBOL64-NEXT:   }353# SYMBOL64-NEXT:   Symbol {354# SYMBOL64-NEXT:     Index: 17355# SYMBOL64-NEXT:     Name: .fun5356# SYMBOL64-NEXT:     Value (OffsetInDWARF): 0x0357# SYMBOL64-NEXT:     Section: N_DEBUG358# SYMBOL64-NEXT:     Type: 0x0359# SYMBOL64-NEXT:     StorageClass: C_DWARF (0x70)360# SYMBOL64-NEXT:     NumberOfAuxEntries: 1361# SYMBOL64-NEXT:     Sect Auxiliary Entry For DWARF {362# SYMBOL64-NEXT:       Index: 18363# SYMBOL64-NEXT:       LengthOfSectionPortion: 0x2364# SYMBOL64-NEXT:       NumberOfRelocEntries: 3365# SYMBOL64-NEXT:       Auxiliary Type: AUX_SECT (0xFA)366# SYMBOL64-NEXT:     }367# SYMBOL64-NEXT:   }368# SYMBOL64-NEXT:   Symbol {369# SYMBOL64-NEXT:     Index: 19370# SYMBOL64-NEXT:     Name: .fun6371# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0372# SYMBOL64-NEXT:     Section: N_UNDEF373# SYMBOL64-NEXT:     Type: 0x0374# SYMBOL64-NEXT:     StorageClass: C_BLOCK (0x64)375# SYMBOL64-NEXT:     NumberOfAuxEntries: 1376# SYMBOL64-NEXT:     Block Auxiliary Entry {377# SYMBOL64-NEXT:       Index: 20378# SYMBOL64-NEXT:       LineNumber: 0x3379# SYMBOL64-NEXT:       Auxiliary Type: AUX_SYM (0xFD)380# SYMBOL64-NEXT:     }381# SYMBOL64-NEXT:   }382# SYMBOL64-NEXT:   Symbol {383# SYMBOL64-NEXT:     Index: 21384# SYMBOL64-NEXT:     Name: .fun7385# SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0386# SYMBOL64-NEXT:     Section: N_UNDEF387# SYMBOL64-NEXT:     Type: 0x0388# SYMBOL64-NEXT:     StorageClass: C_FCN (0x65)389# SYMBOL64-NEXT:     NumberOfAuxEntries: 1390# SYMBOL64-NEXT:     Block Auxiliary Entry {391# SYMBOL64-NEXT:       Index: 22392# SYMBOL64-NEXT:       LineNumber: 0x3393# SYMBOL64-NEXT:       Auxiliary Type: AUX_SYM (0xFD)394# SYMBOL64-NEXT:     }395# SYMBOL64-NEXT:   }396# SYMBOL64-NEXT:   Symbol {397# SYMBOL64-NEXT:     Index: 23398# SYMBOL64-NEXT:     Name: Unimplemented Debug Name399# SYMBOL64-NEXT:     Value (SymbolTableIndex): 0x0400# SYMBOL64-NEXT:     Section: N_DEBUG401# SYMBOL64-NEXT:     Type: 0x0402# SYMBOL64-NEXT:     StorageClass: C_BSTAT (0x8F)403# SYMBOL64-NEXT:     NumberOfAuxEntries: 0404# SYMBOL64-NEXT:   }405# SYMBOL64-NEXT:   Symbol {406# SYMBOL64-NEXT:     Index: 24407# SYMBOL64-NEXT:     Name: Unimplemented Debug Name408# SYMBOL64-NEXT:     Value (OffsetInCSect): 0x0409# SYMBOL64-NEXT:     Section: N_DEBUG410# SYMBOL64-NEXT:     Type: 0x0411# SYMBOL64-NEXT:     StorageClass: C_FUN (0x8E)412# SYMBOL64-NEXT:     NumberOfAuxEntries: 0413# SYMBOL64-NEXT:   }414# SYMBOL64-NEXT:   Symbol {415# SYMBOL64-NEXT:     Index: 25416# SYMBOL64-NEXT:     Name: Unimplemented Debug Name417# SYMBOL64-NEXT:     Value (OffsetInCSect): 0x5418# SYMBOL64-NEXT:     Section: N_DEBUG419# SYMBOL64-NEXT:     Type: 0x0420# SYMBOL64-NEXT:     StorageClass: C_STSYM (0x85)421# SYMBOL64-NEXT:     NumberOfAuxEntries: 0422# SYMBOL64-NEXT:   }423# SYMBOL64-NEXT:   Symbol {424# SYMBOL64-NEXT:     Index: 26425# SYMBOL64-NEXT:     Name: bincl426# SYMBOL64-NEXT:     Value (OffsetInFile): 0x6427# SYMBOL64-NEXT:     Section: .text428# SYMBOL64-NEXT:     Type: 0x0429# SYMBOL64-NEXT:     StorageClass: C_BINCL (0x6C)430# SYMBOL64-NEXT:     NumberOfAuxEntries: 0431# SYMBOL64-NEXT:   }432# SYMBOL64-NEXT:   Symbol {433# SYMBOL64-NEXT:     Index: 27434# SYMBOL64-NEXT:     Name: eincl435# SYMBOL64-NEXT:     Value (OffsetInFile): 0x6436# SYMBOL64-NEXT:     Section: .text437# SYMBOL64-NEXT:     Type: 0x0438# SYMBOL64-NEXT:     StorageClass: C_EINCL (0x6D)439# SYMBOL64-NEXT:     NumberOfAuxEntries: 0440# SYMBOL64-NEXT:   }441# SYMBOL64-NEXT:   Symbol {442# SYMBOL64-NEXT:     Index: 28443# SYMBOL64-NEXT:     Name: Unimplemented Debug Name444# SYMBOL64-NEXT:     Value (OffsetRelToStackFrame): 0x7445# SYMBOL64-NEXT:     Section: N_DEBUG446# SYMBOL64-NEXT:     Type: 0x0447# SYMBOL64-NEXT:     StorageClass: C_LSYM (0x81)448# SYMBOL64-NEXT:     NumberOfAuxEntries: 0449# SYMBOL64-NEXT:   }450# SYMBOL64-NEXT:   Symbol {451# SYMBOL64-NEXT:     Index: 29452# SYMBOL64-NEXT:     Name: Unimplemented Debug Name453# SYMBOL64-NEXT:     Value (OffsetRelToStackFrame): 0x7454# SYMBOL64-NEXT:     Section: N_DEBUG455# SYMBOL64-NEXT:     Type: 0x0456# SYMBOL64-NEXT:     StorageClass: C_PSYM (0x82)457# SYMBOL64-NEXT:     NumberOfAuxEntries: 0458# SYMBOL64-NEXT:   }459# SYMBOL64-NEXT:   Symbol {460# SYMBOL64-NEXT:     Index: 30461# SYMBOL64-NEXT:     Name: Unimplemented Debug Name462# SYMBOL64-NEXT:     Value (RegisterNumber): 0x8463# SYMBOL64-NEXT:     Section: N_DEBUG464# SYMBOL64-NEXT:     Type: 0x0465# SYMBOL64-NEXT:     StorageClass: C_RSYM (0x83)466# SYMBOL64-NEXT:     NumberOfAuxEntries: 0467# SYMBOL64-NEXT:   }468# SYMBOL64-NEXT:   Symbol {469# SYMBOL64-NEXT:     Index: 31470# SYMBOL64-NEXT:     Name: Unimplemented Debug Name471# SYMBOL64-NEXT:     Value (RegisterNumber): 0x8472# SYMBOL64-NEXT:     Section: N_DEBUG473# SYMBOL64-NEXT:     Type: 0x0474# SYMBOL64-NEXT:     StorageClass: C_RPSYM (0x84)475# SYMBOL64-NEXT:     NumberOfAuxEntries: 0476# SYMBOL64-NEXT:   }477# SYMBOL64-NEXT:   Symbol {478# SYMBOL64-NEXT:     Index: 32479# SYMBOL64-NEXT:     Name: Unimplemented Debug Name480# SYMBOL64-NEXT:     Value (OffsetInCommBlock): 0x9481# SYMBOL64-NEXT:     Section: .text482# SYMBOL64-NEXT:     Type: 0x0483# SYMBOL64-NEXT:     StorageClass: C_ECOML (0x88)484# SYMBOL64-NEXT:     NumberOfAuxEntries: 0485# SYMBOL64-NEXT:   }486# SYMBOL64-NEXT:   Symbol {487# SYMBOL64-NEXT:     Index: 33488# SYMBOL64-NEXT:     Name: cinfo489# SYMBOL64-NEXT:     Value (OffsetInCommentSection): 0x2490# SYMBOL64-NEXT:     Section: .text491# SYMBOL64-NEXT:     Type: 0x0492# SYMBOL64-NEXT:     StorageClass: C_INFO (0x6E)493# SYMBOL64-NEXT:     NumberOfAuxEntries: 0494# SYMBOL64-NEXT:   }495# SYMBOL64-NEXT: ]496