yaml2obj-elf-symbol-visibility.yaml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. # RUN: yaml2obj -format=elf %s | llvm-readobj -symbols - | \
  2. # RUN: FileCheck --check-prefix OBJ %s
  3. # RUN: yaml2obj -format=elf %s | obj2yaml - | FileCheck --check-prefix YAML %s
  4. # OBJ: Symbol {
  5. # OBJ: Name: default1 (36)
  6. # OBJ-NEXT: Value: 0x0
  7. # OBJ-NEXT: Size: 4
  8. # OBJ-NEXT: Binding: Global (0x1)
  9. # OBJ-NEXT: Type: Object (0x1)
  10. # OBJ-NEXT: Other: 0
  11. # OBJ-NEXT: Section: .data (0x1)
  12. # OBJ-NEXT: }
  13. # OBJ-NEXT: Symbol {
  14. # OBJ-NEXT: Name: default2 (27)
  15. # OBJ-NEXT: Value: 0x4
  16. # OBJ-NEXT: Size: 4
  17. # OBJ-NEXT: Binding: Global (0x1)
  18. # OBJ-NEXT: Type: Object (0x1)
  19. # OBJ-NEXT: Other: 0
  20. # OBJ-NEXT: Section: .data (0x1)
  21. # OBJ-NEXT: }
  22. # OBJ-NEXT: Symbol {
  23. # OBJ-NEXT: Name: internal (8)
  24. # OBJ-NEXT: Value: 0x8
  25. # OBJ-NEXT: Size: 4
  26. # OBJ-NEXT: Binding: Global (0x1)
  27. # OBJ-NEXT: Type: Object (0x1)
  28. # OBJ-NEXT: Other: 1
  29. # OBJ-NEXT: Section: .data (0x1)
  30. # OBJ-NEXT: }
  31. # OBJ-NEXT: Symbol {
  32. # OBJ-NEXT: Name: hidden (1)
  33. # OBJ-NEXT: Value: 0xC
  34. # OBJ-NEXT: Size: 4
  35. # OBJ-NEXT: Binding: Global (0x1)
  36. # OBJ-NEXT: Type: Object (0x1)
  37. # OBJ-NEXT: Other: 2
  38. # OBJ-NEXT: Section: .data (0x1)
  39. # OBJ-NEXT: }
  40. # OBJ-NEXT: Symbol {
  41. # OBJ-NEXT: Name: protected (17)
  42. # OBJ-NEXT: Value: 0x10
  43. # OBJ-NEXT: Size: 4
  44. # OBJ-NEXT: Binding: Global (0x1)
  45. # OBJ-NEXT: Type: Object (0x1)
  46. # OBJ-NEXT: Other: 163
  47. # OBJ-NEXT: Section: .data (0x1)
  48. # OBJ-NEXT: }
  49. # YAML: Symbols:
  50. # YAML-NEXT: Global:
  51. # YAML-NEXT: - Name: default1
  52. # YAML-NEXT: Type: STT_OBJECT
  53. # YAML-NEXT: Section: .data
  54. # YAML-NEXT: Size: 0x0000000000000004
  55. # YAML-NEXT: - Name: default2
  56. # YAML-NEXT: Type: STT_OBJECT
  57. # YAML-NEXT: Section: .data
  58. # YAML-NEXT: Value: 0x0000000000000004
  59. # YAML-NEXT: Size: 0x0000000000000004
  60. # YAML-NEXT: - Name: internal
  61. # YAML-NEXT: Type: STT_OBJECT
  62. # YAML-NEXT: Section: .data
  63. # YAML-NEXT: Value: 0x0000000000000008
  64. # YAML-NEXT: Size: 0x0000000000000004
  65. # YAML-NEXT: Visibility: STV_INTERNAL
  66. # YAML-NEXT: - Name: hidden
  67. # YAML-NEXT: Type: STT_OBJECT
  68. # YAML-NEXT: Section: .data
  69. # YAML-NEXT: Value: 0x000000000000000C
  70. # YAML-NEXT: Size: 0x0000000000000004
  71. # YAML-NEXT: Visibility: STV_HIDDEN
  72. # YAML-NEXT: - Name: protected
  73. # YAML-NEXT: Type: STT_OBJECT
  74. # YAML-NEXT: Section: .data
  75. # YAML-NEXT: Value: 0x0000000000000010
  76. # YAML-NEXT: Size: 0x0000000000000004
  77. # YAML-NEXT: Visibility: STV_PROTECTED
  78. # YAML-NEXT: Other: [ STO_MIPS_PIC, STO_MIPS_MICROMIPS ]
  79. ---
  80. FileHeader:
  81. Class: ELFCLASS32
  82. Data: ELFDATA2LSB
  83. Type: ET_REL
  84. Machine: EM_MIPS
  85. Flags: [ EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ]
  86. Sections:
  87. - Name: .data
  88. Type: SHT_PROGBITS
  89. Flags: [ SHF_ALLOC, SHF_WRITE ]
  90. AddressAlign: 0x04
  91. Size: 0x14
  92. Symbols:
  93. Global:
  94. - Name: default1
  95. Type: STT_OBJECT
  96. Visibility: STV_DEFAULT
  97. Section: .data
  98. Value: 0x00
  99. Size: 0x04
  100. - Name: default2
  101. Type: STT_OBJECT
  102. Section: .data
  103. Value: 0x04
  104. Size: 0x04
  105. - Name: internal
  106. Type: STT_OBJECT
  107. Visibility: STV_INTERNAL
  108. Section: .data
  109. Value: 0x08
  110. Size: 0x04
  111. - Name: hidden
  112. Type: STT_OBJECT
  113. Visibility: STV_HIDDEN
  114. Section: .data
  115. Value: 0x0C
  116. Size: 0x04
  117. - Name: protected
  118. Type: STT_OBJECT
  119. Visibility: STV_PROTECTED
  120. Other: [ STO_MIPS_MICROMIPS, STO_MIPS_PIC ]
  121. Section: .data
  122. Value: 0x10
  123. Size: 0x04