| ## Check that we are able to dump MIPS STO_* flags correctly when dumping symbols. |
| |
| # RUN: yaml2obj %s -o %t.o |
| # RUN: llvm-readobj --symbols %t.o | FileCheck %s --strict-whitespace --check-prefix=MIPS-LLVM |
| # RUN: llvm-readelf --symbols %t.o | FileCheck %s --strict-whitespace --check-prefix=MIPS-GNU |
| |
| # MIPS-LLVM:Name: foo |
| # MIPS-LLVM:Other [ |
| # MIPS-LLVM-NEXT: STO_MIPS_MICROMIPS (0x80) |
| # MIPS-LLVM-NEXT: STO_MIPS_OPTIONAL (0x4) |
| # MIPS-LLVM-NEXT: STO_MIPS_PIC (0x20) |
| # MIPS-LLVM-NEXT: STO_MIPS_PLT (0x8) |
| # MIPS-LLVM-NEXT:] |
| |
| # MIPS-LLVM:Name: bar |
| # MIPS-LLVM:Other [ |
| # MIPS-LLVM-NEXT: STO_MIPS_MIPS16 (0xF0) |
| # MIPS-LLVM-NEXT:] |
| |
| # MIPS-GNU:Symbol table '.symtab' contains 3 entries: |
| # MIPS-GNU-NEXT: Num: Value Size Type Bind Vis Ndx Name |
| # MIPS-GNU-NEXT: 0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
| # MIPS-GNU-NEXT: 1: 00000000 0 NOTYPE LOCAL DEFAULT [<other: 0xac>] UND foo |
| # MIPS-GNU-NEXT: 2: 00000000 0 NOTYPE LOCAL DEFAULT [<other: 0xf0>] UND bar |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS32 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_MIPS |
| Symbols: |
| - Name: foo |
| Other: [ STO_MIPS_MICROMIPS, STO_MIPS_PIC, |
| STO_MIPS_PLT, STO_MIPS_OPTIONAL] |
| ## Use a different symbol for STO_MIPS_MIPS16 (0xf0) as it interferes |
| ## with STO_MIPS_PIC (0x20) and STO_MIPS_MICROMIPS (0x80). |
| - Name: bar |
| Other: [ STO_MIPS_MIPS16 ] |