yaml2obj-elf-symbol-basic.yaml 1.2 KB

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