yaml2obj-elf-section-basic.yaml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # RUN: yaml2obj -format=elf %s | llvm-readobj -sections -section-data - | FileCheck %s
  2. # RUN: yaml2obj -format=elf -o %t %s
  3. # RUN: llvm-readobj -sections -section-data %t | FileCheck %s
  4. !ELF
  5. FileHeader:
  6. Class: ELFCLASS64
  7. Data: ELFDATA2LSB
  8. Type: ET_REL
  9. Machine: EM_X86_64
  10. Sections:
  11. - Name: .text
  12. Type: SHT_PROGBITS
  13. Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
  14. Address: 0xCAFEBABE
  15. Link: .text # Doesn't make sense for SHT_PROGBITS, but good enough for test.
  16. Content: EBFE
  17. AddressAlign: 2
  18. - Name: .data
  19. Type: SHT_PROGBITS
  20. Flags: [ SHF_ALLOC ]
  21. Address: 0xCAFECAFE
  22. Content: FEBF
  23. Size: 8
  24. AddressAlign: 2
  25. # CHECK: Section {
  26. # CHECK: Index: 0
  27. # CHECK: Type: SHT_NULL (0x0)
  28. #
  29. # CHECK: Section {
  30. # CHECK: Name: .text
  31. # CHECK: Type: SHT_PROGBITS (0x1)
  32. # CHECK-NEXT: Flags [ (0x6)
  33. # CHECK-NEXT: SHF_ALLOC (0x2)
  34. # CHECK-NEXT: SHF_EXECINSTR (0x4)
  35. # CHECK-NEXT: ]
  36. # CHECK-NEXT: Address: 0xCAFEBABE
  37. # CHECK: Size: 2
  38. # Check that Link != 0.
  39. # CHECK: Link: {{[1-9][0-9]*}}
  40. # CHECK: AddressAlignment: 2
  41. # CHECK: SectionData (
  42. # CHECK-NEXT: 0000: EBFE
  43. # CHECK-NEXT: )
  44. #
  45. # CHECK: Section {
  46. # CHECK: Name: .data
  47. # CHECK-NEXT: Type: SHT_PROGBITS (0x1)
  48. # CHECK-NEXT: Flags [ (0x2)
  49. # CHECK-NEXT: SHF_ALLOC (0x2)
  50. # CHECK-NEXT: ]
  51. # CHECK-NEXT: Address: 0xCAFECAFE
  52. # CHECK-NEXT: Offset: 0x{{[0-9A-F]+}}
  53. # CHECK-NEXT: Size: 8
  54. # CHECK-NEXT: Link: 0
  55. # CHECK-NEXT: Info: 0
  56. # CHECK-NEXT: AddressAlignment: 2
  57. # CHECK-NEXT: EntrySize: 0
  58. # CHECK-NEXT: SectionData (
  59. # CHECK-NEXT: 0000: FEBF0000 00000000 |........|
  60. # CHECK-NEXT: )
  61. #
  62. # CHECK: Section {
  63. # CHECK: Name: .symtab (25)
  64. # CHECK: Type: SHT_SYMTAB (0x2)
  65. # CHECK: AddressAlignment: 8
  66. # CHECK: }
  67. # CHECK: Section {
  68. # CHECK: Name: .strtab (17)
  69. # CHECK: Type: SHT_STRTAB (0x3)
  70. # CHECK: AddressAlignment: 1
  71. # CHECK: }
  72. # CHECK: Section {
  73. # CHECK: Name: .shstrtab (7)
  74. # CHECK: Type: SHT_STRTAB (0x3)
  75. # CHECK: AddressAlignment: 1
  76. # CHECK: }