# Show that llvm-readobj can print symbol bindings correctly for both LLVM and
# GNU styles, including for symbol bindings that are not recognised.

# RUN: yaml2obj %s > %t
# RUN: llvm-readobj --symbols --dyn-symbols %t | FileCheck %s --check-prefix=LLVM
# RUN: llvm-readelf --symbols --dyn-symbols %t | FileCheck %s --check-prefix=GNU

# LLVM: Name:    local
# LLVM: Binding: Local
# LLVM: Name:    global
# LLVM: Binding: Global
# LLVM: Name:    weak
# LLVM: Binding: Weak
# LLVM: Name:    unknown
# LLVM: Binding: 0x3
# LLVM: Name:    unique
# LLVM: Binding: Unique (0xA)
# LLVM: Name:    os
# LLVM: Binding: 0xB
# LLVM: Name:    proc
# LLVM: Binding: 0xF

# GNU:      3      {{.*}} unknown
# GNU-NEXT: UNIQUE {{.*}} unique
# GNU-NEXT: b      {{.*}} os
# GNU-NEXT: f      {{.*}} proc
# GNU:      LOCAL  {{.*}} local
# GNU-NEXT: GLOBAL {{.*}} global
# GNU-NEXT: WEAK   {{.*}} weak

# yaml2obj doesn't have a way of specifying static symbols with custom bindings,
# so use a custom dynamic symbol table section instead.
--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_386
Sections:
  - Name: .dynstr
    Type: SHT_STRTAB
    #\0unknown\0unique\0os\0proc\0
    Content: "00756e6b6e6f776e00756e69717565006f730070726f6300"
  - Name: .dynsym
    Type: SHT_DYNSYM
    Link: .dynstr
    EntSize: 16
    # Null symbol
    # Symbol with st_name = 1, binding = 0x3
    # Symbol with st_name = 9, binding = 0xa
    # Symbol with st_name = 16, binding = 0xb
    # Symbol with st_name = 19, binding = 0xf
    Content: "0000000000000000000000000000000001000000000000000000000030000000090000000000000000000000a0000000100000000000000000000000b0000000130000000000000000000000f0000000"
Symbols:
  - Name:    local
  - Name:    global
    Binding: STB_GLOBAL
  - Name:    weak
    Binding: STB_WEAK
