llvm.org GIT mirror llvm / master test / tools / llvm-readobj / symbols.test
master

Tree @master (Download .tar.gz)

symbols.test @masterraw · history · blame

RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.coff-i386 \
RUN:   | FileCheck %s -check-prefix COFF
RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.elf-i386 \
RUN:   | FileCheck %s -check-prefix ELF
RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.wasm \
RUN:   | FileCheck %s -check-prefix WASM

# Check flag aliases produce identical output.
RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.elf-i386 > %t.symbols
RUN: llvm-readobj --syms %p/Inputs/trivial.obj.elf-i386 > %t.syms
RUN: cmp %t.symbols %t.syms
RUN: llvm-readobj -t %p/Inputs/trivial.obj.elf-i386 > %t.t
RUN: cmp %t.symbols %t.t
RUN: llvm-readelf -s -elf-output-style LLVM %p/Inputs/trivial.obj.elf-i386 > %t.lowers
RUN: cmp %t.symbols %t.lowers

COFF:      Symbols [
COFF-NEXT:   Symbol {
COFF-NEXT:     Name: @comp.id
COFF-NEXT:    Value: 14766605
COFF-NEXT:    Section:  IMAGE_SYM_ABSOLUTE (-1)
COFF-NEXT:     BaseType: Null (0x0)
COFF-NEXT:     ComplexType: Null (0x0)
COFF-NEXT:    StorageClass: Static (0x3)
COFF-NEXT:    AuxSymbolCount: 0
COFF-NEXT:   }
COFF-NEXT:   Symbol {
COFF-NEXT:    Name: @feat.00
COFF-NEXT:    Value: 2147484049
COFF-NEXT:     Section:  IMAGE_SYM_ABSOLUTE (-1)
COFF-NEXT:     BaseType: Null (0x0)
COFF-NEXT:    ComplexType: Null (0x0)
COFF-NEXT:    StorageClass: Static (0x3)
COFF-NEXT:     AuxSymbolCount: 0
COFF-NEXT:   }
COFF-NEXT:   Symbol {
COFF-NEXT:     Name: .text
COFF-NEXT:     Value: 0
COFF-NEXT:     Section: .text (1)
COFF-NEXT:     BaseType: Null (0x0)
COFF-NEXT:     ComplexType: Null (0x0)
COFF-NEXT:     StorageClass: Static (0x3)
COFF-NEXT:     AuxSymbolCount: 1
COFF-NEXT:     AuxSectionDef {
COFF-NEXT:       Length: 22
COFF-NEXT:       RelocationCount: 3
COFF-NEXT:       LineNumberCount: 0
COFF-NEXT:       Checksum: 0x0
COFF-NEXT:       Number: 1
COFF-NEXT:       Selection: 0x0
COFF-NEXT:     }
COFF-NEXT:   }

ELF:      Symbols [
ELF-NEXT:   Symbol {
ELF-NEXT:     Name:  (0)
ELF-NEXT:     Value: 0x0
ELF-NEXT:     Size: 0
ELF-NEXT:     Binding: Local (0x0)
ELF-NEXT:     Type: None (0x0)
ELF-NEXT:     Other: 0
ELF-NEXT:     Section: Undefined (0x0)
ELF-NEXT:   }
ELF-NEXT:   Symbol {
ELF-NEXT:     Name: trivial.ll (1)
ELF-NEXT:     Value: 0x0
ELF-NEXT:     Size: 0
ELF-NEXT:     Binding: Local (0x0)
ELF-NEXT:     Type: File (0x4)
ELF-NEXT:     Other: 0
ELF-NEXT:     Section: Absolute (0xFFF1)
ELF-NEXT:   }
ELF-NEXT:   Symbol {
ELF-NEXT:     Name: .L.str (39)
ELF-NEXT:     Value: 0x0
ELF-NEXT:     Size: 13
ELF-NEXT:     Binding: Local (0x0)
ELF-NEXT:     Type: Object (0x1)
ELF-NEXT:     Other: 0
ELF-NEXT:     Section: .rodata.str1.1 (0x5)
ELF-NEXT:   }

WASM:      Symbols [
WASM-NEXT:   Symbol {
WASM-NEXT:     Name: main
WASM-NEXT:     Type: FUNCTION (0x0)
WASM-NEXT:     Flags [ (0x0)
WASM-NEXT:     ]
WASM-NEXT:     ElementIndex: 0x2
WASM-NEXT:   }
WASM-NEXT:   Symbol {
WASM-NEXT:     Name: .L.str
WASM-NEXT:     Type: DATA (0x1)
WASM-NEXT:     Flags [ (0x2)
WASM-NEXT:       BINDING_LOCAL (0x2)
WASM-NEXT:     ]
WASM-NEXT:     Offset: 0x0
WASM-NEXT:     Segment: 0x0
WASM-NEXT:     Size: 0xD
WASM-NEXT:   }
WASM-NEXT:   Symbol {
WASM-NEXT:     Name: puts
WASM-NEXT:     Type: FUNCTION (0x0)
WASM-NEXT:     Flags [ (0x10)
WASM-NEXT:       UNDEFINED (0x10)
WASM-NEXT:     ]
WASM-NEXT:     ImportName: puts
WASM-NEXT:     ImportModule: env
WASM-NEXT:     ElementIndex: 0x0
WASM-NEXT:   }
WASM-NEXT:   Symbol {
WASM-NEXT:     Name: .LSomeOtherFunction_bitcast
WASM-NEXT:     Type: FUNCTION (0x0)
WASM-NEXT:     Flags [ (0x2)
WASM-NEXT:       BINDING_LOCAL (0x2)
WASM-NEXT:     ]
WASM-NEXT:     ElementIndex: 0x3
WASM-NEXT:   }
WASM-NEXT:   Symbol {
WASM-NEXT:     Name: SomeOtherFunction
WASM-NEXT:     Type: FUNCTION (0x0)
WASM-NEXT:     Flags [ (0x10)
WASM-NEXT:       UNDEFINED (0x10)
WASM-NEXT:     ]
WASM-NEXT:     ImportName: SomeOtherFunction
WASM-NEXT:     ImportModule: env
WASM-NEXT:     ElementIndex: 0x1
WASM-NEXT:   }
WASM-NEXT: ]