xref: /aosp_15_r20/external/llvm/test/Object/yaml2obj-elf-symbol-basic.yaml (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: yaml2obj %s | llvm-readobj -symbols - | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker!ELF
3*9880d681SAndroid Build Coastguard WorkerFileHeader:
4*9880d681SAndroid Build Coastguard Worker  Class: ELFCLASS64
5*9880d681SAndroid Build Coastguard Worker  Data: ELFDATA2LSB
6*9880d681SAndroid Build Coastguard Worker  Type: ET_REL
7*9880d681SAndroid Build Coastguard Worker  Machine: EM_X86_64
8*9880d681SAndroid Build Coastguard WorkerSections:
9*9880d681SAndroid Build Coastguard Worker  - Name: .text
10*9880d681SAndroid Build Coastguard Worker    Type: SHT_PROGBITS
11*9880d681SAndroid Build Coastguard Worker    Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
12*9880d681SAndroid Build Coastguard Worker    AddressAlign: 0x4
13*9880d681SAndroid Build Coastguard Worker    Content: "90EBFE" # x86 machine code
14*9880d681SAndroid Build Coastguard Worker                      #   NOP ; To make main's `Value` non-zero (for testing).
15*9880d681SAndroid Build Coastguard Worker                      # main:
16*9880d681SAndroid Build Coastguard Worker                      #   JMP -2 ; (infloop)
17*9880d681SAndroid Build Coastguard Worker                      # This YAML file is a valid relocatable object that,
18*9880d681SAndroid Build Coastguard Worker                      # when linked and run on x86_64, will go into an
19*9880d681SAndroid Build Coastguard Worker                      # infloop.
20*9880d681SAndroid Build Coastguard WorkerSymbols:
21*9880d681SAndroid Build Coastguard Worker  Global:
22*9880d681SAndroid Build Coastguard Worker    - Name: main
23*9880d681SAndroid Build Coastguard Worker      Type: STT_FUNC
24*9880d681SAndroid Build Coastguard Worker      Section: .text
25*9880d681SAndroid Build Coastguard Worker      Value: 0x1
26*9880d681SAndroid Build Coastguard Worker      Size: 2
27*9880d681SAndroid Build Coastguard Worker    - Name: undefined_symbol
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker# CHECK:      Symbols [
30*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:   Symbol {
31*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Name:  (0)
32*9880d681SAndroid Build Coastguard Worker# CHECK:        Symbol {
33*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Name: main
34*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Value: 0x1
35*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Size: 2
36*9880d681SAndroid Build Coastguard Worker# CHECK:          Binding: Global
37*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Type: Function
38*9880d681SAndroid Build Coastguard Worker# CHECK:          Section: .text
39*9880d681SAndroid Build Coastguard Worker# CHECK:        Symbol {
40*9880d681SAndroid Build Coastguard Worker# CHECK:          Name: undefined_symbol
41*9880d681SAndroid Build Coastguard Worker# CHECK:          Section: Undefined (0x0)
42