yaml2obj-elf-rel.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # RUN: yaml2obj -format=elf %s | llvm-readobj -sections -relocations - | FileCheck %s
  2. !ELF
  3. FileHeader: !FileHeader
  4. Class: ELFCLASS32
  5. Data: ELFDATA2MSB
  6. Type: ET_REL
  7. Machine: EM_MIPS
  8. Sections:
  9. - Name: .text
  10. Type: SHT_PROGBITS
  11. Content: "0000000000000000"
  12. AddressAlign: 16
  13. Flags: [SHF_ALLOC]
  14. - Name: .rel.text
  15. Type: SHT_REL
  16. Info: .text
  17. AddressAlign: 4
  18. Relocations:
  19. - Offset: 0x1
  20. Symbol: glob1
  21. Type: R_MIPS_32
  22. - Offset: 0x1
  23. Symbol: glob2
  24. Type: R_MIPS_CALL16
  25. - Offset: 0x2
  26. Symbol: loc1
  27. Type: R_MIPS_LO16
  28. - Name: .rela.text
  29. Type: SHT_RELA
  30. Link: .symtab
  31. Info: .text
  32. AddressAlign: 4
  33. Relocations:
  34. - Offset: 0x1
  35. Addend: 1
  36. Symbol: glob1
  37. Type: R_MIPS_32
  38. - Offset: 0x1
  39. Addend: 2
  40. Symbol: glob2
  41. Type: R_MIPS_CALL16
  42. - Offset: 0x2
  43. Addend: 3
  44. Symbol: loc1
  45. Type: R_MIPS_LO16
  46. Symbols:
  47. Local:
  48. - Name: loc1
  49. - Name: loc2
  50. Global:
  51. - Name: glob1
  52. Section: .text
  53. Value: 0x0
  54. Size: 4
  55. - Name: glob2
  56. Weak:
  57. - Name: weak1
  58. # CHECK: Section {
  59. # CHECK-NEXT: Index: 0
  60. # CHECK: }
  61. # CHECK: Section {
  62. # CHECK-NEXT: Index: 1
  63. # CHECK-NEXT: Name: .text (16)
  64. # CHECK: }
  65. # CHECK-NEXT: Section {
  66. # CHECK-NEXT: Index: 2
  67. # CHECK-NEXT: Name: .rel.text (1)
  68. # CHECK-NEXT: Type: SHT_REL (0x9)
  69. # CHECK-NEXT: Flags [ (0x0)
  70. # CHECK-NEXT: ]
  71. # CHECK-NEXT: Address: 0x0
  72. # CHECK-NEXT: Offset: 0x{{[0-9A-F]+}}
  73. # CHECK-NEXT: Size: 24
  74. # CHECK-NEXT: Link: 4
  75. # CHECK-NEXT: Info: 1
  76. # CHECK-NEXT: AddressAlignment: 4
  77. # CHECK-NEXT: EntrySize: 8
  78. # CHECK-NEXT: }
  79. # CHECK-NEXT: Section {
  80. # CHECK-NEXT: Index: 3
  81. # CHECK-NEXT: Name: .rela.text (11)
  82. # CHECK-NEXT: Type: SHT_RELA (0x4)
  83. # CHECK-NEXT: Flags [ (0x0)
  84. # CHECK-NEXT: ]
  85. # CHECK-NEXT: Address: 0x0
  86. # CHECK-NEXT: Offset: 0x{{[0-9A-F]+}}
  87. # CHECK-NEXT: Size: 36
  88. # CHECK-NEXT: Link: 4
  89. # CHECK-NEXT: Info: 1
  90. # CHECK-NEXT: AddressAlignment: 4
  91. # CHECK-NEXT: EntrySize: 12
  92. # CHECK-NEXT: }
  93. # CHECK-NEXT: Section {
  94. # CHECK-NEXT: Index: 4
  95. # CHECK-NEXT: Name: .symtab (40)
  96. # CHECK: }
  97. # CHECK-NEXT: Section {
  98. # CHECK-NEXT: Index: 5
  99. # CHECK-NEXT: Name: .strtab (32)
  100. # CHECK: }
  101. # CHECK: Relocations [
  102. # CHECK-NEXT: Section (2) .rel.text {
  103. # CHECK-NEXT: 0x1 R_MIPS_32 glob1 0x0
  104. # CHECK-NEXT: 0x1 R_MIPS_CALL16 glob2 0x0
  105. # CHECK-NEXT: 0x2 R_MIPS_LO16 loc1 0x0
  106. # CHECK-NEXT: }
  107. # CHECK-NEXT: Section (3) .rela.text {
  108. # CHECK-NEXT: 0x1 R_MIPS_32 glob1 0x1
  109. # CHECK-NEXT: 0x1 R_MIPS_CALL16 glob2 0x2
  110. # CHECK-NEXT: 0x2 R_MIPS_LO16 loc1 0x3
  111. # CHECK-NEXT: }
  112. # CHECK-NEXT: ]