llvm-for-llvmta/test/tools/llvm-readobj/ELF/mips-symbols-stother.test

40 lines
1.4 KiB
Plaintext

## 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 ]