dw2-var-zero-addr.S 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. .data
  14. .section .debug_info
  15. .Lcu1_begin:
  16. /* CU header */
  17. .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
  18. .Lcu1_start:
  19. .2byte 2 /* DWARF Version */
  20. .4byte .Labbrev1_begin /* Offset into abbrev section */
  21. .byte 4 /* Pointer size */
  22. /* CU die */
  23. .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
  24. .ascii "dw2-var-zero-addr.c\0" /* DW_AT_name */
  25. .ascii "GNU C 4.3.2\0" /* DW_AT_producer */
  26. .byte 1 /* DW_AT_language (C) */
  27. .Ltype_uchar:
  28. .uleb128 2 /* Abbrev: DW_TAG_base_type */
  29. .ascii "int\0" /* DW_AT_name */
  30. .byte 4 /* DW_AT_byte_size */
  31. .byte 5 /* DW_AT_encoding */
  32. .uleb128 3 /* Abbrev: DW_TAG_variable (location) */
  33. .ascii "var\0" /* DW_AT_name */
  34. .byte 2f - 1f /* DW_AT_location */
  35. 1: .byte 3 /* DW_OP_addr */
  36. .4byte 0 /* <addr> */
  37. 2: .4byte .Ltype_uchar-.Lcu1_begin /* DW_AT_type */
  38. .byte 0 /* End of children of CU */
  39. .Lcu1_end:
  40. /* Abbrev table */
  41. .section .debug_abbrev
  42. .Labbrev1_begin:
  43. .uleb128 1 /* Abbrev code */
  44. .uleb128 0x11 /* DW_TAG_compile_unit */
  45. .byte 1 /* has_children */
  46. .uleb128 0x3 /* DW_AT_name */
  47. .uleb128 0x8 /* DW_FORM_string */
  48. .uleb128 0x25 /* DW_AT_producer */
  49. .uleb128 0x8 /* DW_FORM_string */
  50. .uleb128 0x13 /* DW_AT_language */
  51. .uleb128 0xb /* DW_FORM_data1 */
  52. .byte 0x0 /* Terminator */
  53. .byte 0x0 /* Terminator */
  54. .uleb128 2 /* Abbrev code */
  55. .uleb128 0x24 /* DW_TAG_base_type */
  56. .byte 0 /* has_children */
  57. .uleb128 0x3 /* DW_AT_name */
  58. .uleb128 0x8 /* DW_FORM_string */
  59. .uleb128 0xb /* DW_AT_byte_size */
  60. .uleb128 0xb /* DW_FORM_data1 */
  61. .uleb128 0x3e /* DW_AT_encoding */
  62. .uleb128 0xb /* DW_FORM_data1 */
  63. .byte 0x0 /* Terminator */
  64. .byte 0x0 /* Terminator */
  65. .uleb128 3 /* Abbrev code (location) */
  66. .uleb128 0x34 /* DW_TAG_variable */
  67. .byte 0 /* has_children */
  68. .uleb128 0x3 /* DW_AT_name */
  69. .uleb128 0x8 /* DW_FORM_string */
  70. .uleb128 0x2 /* DW_AT_location */
  71. .uleb128 0xa /* DW_FORM_block1 */
  72. .uleb128 0x49 /* DW_AT_type */
  73. .uleb128 0x13 /* DW_FORM_ref4 */
  74. .byte 0x0 /* Terminator */
  75. .byte 0x0 /* Terminator */
  76. .byte 0x0 /* Terminator */
  77. .byte 0x0 /* Terminator */