dw2-simple-locdesc.S 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. /* This testcase is part of GDB, the GNU debugger.
  2. Copyright 2011-2022 Free Software Foundation, Inc.
  3. This program is free software; you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation; either version 3 of the License, or
  6. (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>. */
  13. /* This source file was generated by:
  14. echo 'struct s { char a[1<<24]; int b; } s;' \
  15. | gcc -dA -o dw2-simple-locdesc.S -S -gdwarf-2 -x c -
  16. */
  17. .text
  18. var:
  19. .section .debug_info
  20. .Ldebug_info0:
  21. d:
  22. .4byte .Lcu_end - 1f /* Length of Compilation Unit Info */
  23. 1:
  24. .2byte 0x3 /* DWARF version number */
  25. .4byte .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
  26. .byte 0x4 /* Pointer Size (in bytes) */
  27. .uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
  28. .4byte .LASF2 /* DW_AT_producer: "GNU C 4.7.0 20110727 (experimental)" */
  29. .byte 0x1 /* DW_AT_language */
  30. .Ldie19:
  31. .uleb128 0x2 /* (DIE (0x19) DW_TAG_structure_type) */
  32. .ascii "s\0" /* DW_AT_name */
  33. .4byte 0x1000004 /* DW_AT_byte_size */
  34. .byte 0x1 /* DW_AT_decl_file (<stdin>) */
  35. .byte 0x1 /* DW_AT_decl_line */
  36. .Ldie30:
  37. .uleb128 0x4 /* (DIE (0x30) DW_TAG_member) */
  38. .ascii "data4\0" /* DW_AT_name */
  39. .byte 0x1 /* DW_AT_decl_file (<stdin>) */
  40. .byte 0x1 /* DW_AT_decl_line */
  41. .4byte .Ldie62 - d /* DW_AT_type */
  42. .4byte 0x10000 /* DW_AT_data_member_location */
  43. .Ldie32:
  44. .uleb128 0x3 /* (DIE (0x32) DW_TAG_member) */
  45. .ascii "shl\0" /* DW_AT_name */
  46. .byte 0x1 /* DW_AT_decl_file (<stdin>) */
  47. .byte 0x1 /* DW_AT_decl_line */
  48. .4byte .Ldie62 - d /* DW_AT_type */
  49. .byte 0x4 /* DW_AT_data_member_location */
  50. .byte 0x40 /* DW_OP_lit16 */
  51. .byte 0x44 /* DW_OP_lit20 */
  52. .byte 0x24 /* DW_OP_shl */
  53. .byte 0x22 /* DW_OP_plus */
  54. .byte 0 /* end of children of DIE 0x19 */
  55. .Ldie62:
  56. .uleb128 0x7 /* (DIE (0x62) DW_TAG_base_type) */
  57. .byte 0x4 /* DW_AT_byte_size */
  58. .byte 0x5 /* DW_AT_encoding */
  59. .ascii "int\0" /* DW_AT_name */
  60. .Ldie69:
  61. .uleb128 0x8 /* (DIE (0x69) DW_TAG_variable) */
  62. .ascii "s\0" /* DW_AT_name */
  63. .byte 0x1 /* DW_AT_decl_file (<stdin>) */
  64. .byte 0x1 /* DW_AT_decl_line */
  65. .4byte .Ldie19 - d /* DW_AT_type */
  66. .byte 0x1 /* DW_AT_external */
  67. .byte 2f - 1f /* DW_AT_location */
  68. 1:
  69. .byte 0x3 /* DW_OP_addr */
  70. .4byte var
  71. 2:
  72. .byte 0 /* end of children of DIE 0xb */
  73. .Lcu_end:
  74. .section .debug_abbrev
  75. .Ldebug_abbrev0:
  76. .uleb128 0x1 /* (abbrev code) */
  77. .uleb128 0x11 /* (TAG: DW_TAG_compile_unit) */
  78. .byte 0x1 /* DW_children_yes */
  79. .uleb128 0x25 /* (DW_AT_producer) */
  80. .uleb128 0xe /* (DW_FORM_strp) */
  81. .uleb128 0x13 /* (DW_AT_language) */
  82. .uleb128 0xb /* (DW_FORM_data1) */
  83. .byte 0
  84. .byte 0
  85. .uleb128 0x2 /* (abbrev code) */
  86. .uleb128 0x13 /* (TAG: DW_TAG_structure_type) */
  87. .byte 0x1 /* DW_children_yes */
  88. .uleb128 0x3 /* (DW_AT_name) */
  89. .uleb128 0x8 /* (DW_FORM_string) */
  90. .uleb128 0xb /* (DW_AT_byte_size) */
  91. .uleb128 0x6 /* (DW_FORM_data4) */
  92. .uleb128 0x3a /* (DW_AT_decl_file) */
  93. .uleb128 0xb /* (DW_FORM_data1) */
  94. .uleb128 0x3b /* (DW_AT_decl_line) */
  95. .uleb128 0xb /* (DW_FORM_data1) */
  96. .byte 0
  97. .byte 0
  98. .uleb128 0x3 /* (abbrev code) */
  99. .uleb128 0xd /* (TAG: DW_TAG_member) */
  100. .byte 0 /* DW_children_no */
  101. .uleb128 0x3 /* (DW_AT_name) */
  102. .uleb128 0x8 /* (DW_FORM_string) */
  103. .uleb128 0x3a /* (DW_AT_decl_file) */
  104. .uleb128 0xb /* (DW_FORM_data1) */
  105. .uleb128 0x3b /* (DW_AT_decl_line) */
  106. .uleb128 0xb /* (DW_FORM_data1) */
  107. .uleb128 0x49 /* (DW_AT_type) */
  108. .uleb128 0x13 /* (DW_FORM_ref4) */
  109. .uleb128 0x38 /* (DW_AT_data_member_location) */
  110. .uleb128 0xa /* (DW_FORM_block1) */
  111. .byte 0
  112. .byte 0
  113. .uleb128 0x4 /* (abbrev code) */
  114. .uleb128 0xd /* (TAG: DW_TAG_member) */
  115. .byte 0 /* DW_children_no */
  116. .uleb128 0x3 /* (DW_AT_name) */
  117. .uleb128 0x8 /* (DW_FORM_string) */
  118. .uleb128 0x3a /* (DW_AT_decl_file) */
  119. .uleb128 0xb /* (DW_FORM_data1) */
  120. .uleb128 0x3b /* (DW_AT_decl_line) */
  121. .uleb128 0xb /* (DW_FORM_data1) */
  122. .uleb128 0x49 /* (DW_AT_type) */
  123. .uleb128 0x13 /* (DW_FORM_ref4) */
  124. .uleb128 0x38 /* (DW_AT_data_member_location) */
  125. .uleb128 0x6 /* (DW_FORM_data4) */
  126. .byte 0
  127. .byte 0
  128. .uleb128 0x7 /* (abbrev code) */
  129. .uleb128 0x24 /* (TAG: DW_TAG_base_type) */
  130. .byte 0 /* DW_children_no */
  131. .uleb128 0xb /* (DW_AT_byte_size) */
  132. .uleb128 0xb /* (DW_FORM_data1) */
  133. .uleb128 0x3e /* (DW_AT_encoding) */
  134. .uleb128 0xb /* (DW_FORM_data1) */
  135. .uleb128 0x3 /* (DW_AT_name) */
  136. .uleb128 0x8 /* (DW_FORM_string) */
  137. .byte 0
  138. .byte 0
  139. .uleb128 0x8 /* (abbrev code) */
  140. .uleb128 0x34 /* (TAG: DW_TAG_variable) */
  141. .byte 0 /* DW_children_no */
  142. .uleb128 0x3 /* (DW_AT_name) */
  143. .uleb128 0x8 /* (DW_FORM_string) */
  144. .uleb128 0x3a /* (DW_AT_decl_file) */
  145. .uleb128 0xb /* (DW_FORM_data1) */
  146. .uleb128 0x3b /* (DW_AT_decl_line) */
  147. .uleb128 0xb /* (DW_FORM_data1) */
  148. .uleb128 0x49 /* (DW_AT_type) */
  149. .uleb128 0x13 /* (DW_FORM_ref4) */
  150. .uleb128 0x3f /* (DW_AT_external) */
  151. .uleb128 0xc /* (DW_FORM_flag) */
  152. .uleb128 0x2 /* (DW_AT_location) */
  153. .uleb128 0xa /* (DW_FORM_block1) */
  154. .byte 0
  155. .byte 0
  156. .byte 0
  157. .section .debug_str
  158. .LASF2:
  159. .string "GNU C 4.7.0 20110727 (experimental)"
  160. .LASF0:
  161. .string "sizetype"
  162. .LASF1:
  163. .string "char"