1 /* This testcase is derived from a similar test in GDB. 2 3 Copyright (C) 2008-2016 Free Software Foundation, Inc. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 18 /* This tests that gdb can read compressed sections. The contents 19 are a basic assembly file, but the .debug_abbrev section has been 20 comrpessed using zlib. */ 21 22 /* Dummy function to provide debug information for. */ 23 24 .text 25 .globl _start 26 _start: 27 .int 0 28 .Lbegin_text1: 29 .globl func_cu1 30 .type func_cu1, %function 31 func_cu1: 32 .Lbegin_func_cu1: 33 .int 0 34 .Lend_func_cu1: 35 .size func_cu1, .-func_cu1 36 .Lend_text1: 37 38 /* Debug information */ 39 40 .section .debug_info 41 .Lcu1_begin: 42 /* CU header */ 43 .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */ 44 .Lcu1_start: 45 .2byte 2 /* DWARF Version */ 46 .4byte .Labbrev1_begin /* Offset into abbrev section */ 47 .byte 4 /* Pointer size */ 48 49 /* CU die */ 50 .uleb128 1 /* Abbrev: DW_TAG_compile_unit */ 51 .4byte .Lline1_begin /* DW_AT_stmt_list */ 52 .4byte .Lend_text1 /* DW_AT_high_pc */ 53 .4byte .Lbegin_text1 /* DW_AT_low_pc */ 54 .ascii "file1.txt\0" /* DW_AT_name */ 55 .ascii "GNU C 3.3.3\0" /* DW_AT_producer */ 56 .byte 1 /* DW_AT_language (C) */ 57 58 /* func_cu1 */ 59 .uleb128 2 /* Abbrev: DW_TAG_subprogram */ 60 .byte 1 /* DW_AT_external */ 61 .byte 1 /* DW_AT_decl_file */ 62 .byte 2 /* DW_AT_decl_line */ 63 .ascii "func_cu1\0" /* DW_AT_name */ 64 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */ 65 .4byte .Lbegin_func_cu1 /* DW_AT_low_pc */ 66 .4byte .Lend_func_cu1 /* DW_AT_high_pc */ 67 .byte 1 /* DW_AT_frame_base: length */ 68 .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */ 69 70 .Ltype_int: 71 .uleb128 3 /* Abbrev: DW_TAG_base_type */ 72 .ascii "int\0" /* DW_AT_name */ 73 .byte 4 /* DW_AT_byte_size */ 74 .byte 5 /* DW_AT_encoding */ 75 76 .byte 0 /* End of children of CU */ 77 78 .Lcu1_end: 79 80 /* Line table */ 81 .section .debug_line 82 .Lline1_begin: 83 .4byte .Lline1_end - .Lline1_start /* Initial length */ 84 .Lline1_start: 85 .2byte 2 /* Version */ 86 .4byte .Lline1_lines - .Lline1_hdr /* header_length */ 87 .Lline1_hdr: 88 .byte 1 /* Minimum insn length */ 89 .byte 1 /* default_is_stmt */ 90 .byte 1 /* line_base */ 91 .byte 1 /* line_range */ 92 .byte 0x10 /* opcode_base */ 93 94 /* Standard lengths */ 95 .byte 0 96 .byte 1 97 .byte 1 98 .byte 1 99 .byte 1 100 .byte 0 101 .byte 0 102 .byte 0 103 .byte 1 104 .byte 0 105 .byte 0 106 .byte 1 107 .byte 0 108 .byte 0 109 .byte 0 110 111 /* Include directories */ 112 .byte 0 113 114 /* File names */ 115 .ascii "file1.txt\0" 116 .uleb128 0 117 .uleb128 0 118 .uleb128 0 119 120 .byte 0 121 122 .Lline1_lines: 123 .byte 0 /* DW_LNE_set_address */ 124 .uleb128 5 125 .byte 2 126 .4byte .Lbegin_func_cu1 127 128 .byte 3 /* DW_LNS_advance_line */ 129 .sleb128 3 /* ... to 4 */ 130 131 .byte 1 /* DW_LNS_copy */ 132 133 .byte 1 /* DW_LNS_copy (second time as an end-of-prologue marker) */ 134 135 .byte 0 /* DW_LNE_set_address */ 136 .uleb128 5 137 .byte 2 138 .4byte .Lend_func_cu1 139 140 .byte 0 /* DW_LNE_end_of_sequence */ 141 .uleb128 1 142 .byte 1 143 144 .Lline1_end: 145 146 /* Abbrev table -- compressed */ 147 .section .zdebug_abbrev 148 .Labbrev1_begin: 149 .ascii "ZLIB" 150 .4byte 0 151 .2byte 0 152 .byte 0 153 .byte 51 154 .byte 0x78 155 .byte 0x5e 156 .byte 0x63 157 .byte 0x14 158 .byte 0x64 159 .byte 0x14 160 .byte 0x60 161 .byte 0x13 162 .byte 0x62 163 .byte 0x14 164 .byte 0x64 165 .byte 0x64 166 .byte 0xe6 167 .byte 0x50 168 .byte 0xe5 169 .byte 0x10 170 .byte 0xe6 171 .byte 0x66 172 .byte 0x60 173 .byte 0x60 174 .byte 0xd2 175 .byte 0x63 176 .byte 0xb0 177 .byte 0xe7 178 .byte 0xb1 179 .byte 0xe2 180 .byte 0xb6 181 .byte 0xe6 182 .byte 0x66 183 .byte 0xe6 184 .byte 0xf0 185 .byte 0x14 186 .byte 0x16 187 .byte 0x64 188 .byte 0x14 189 .byte 0x62 190 .byte 0x74 191 .byte 0xe0 192 .byte 0x02 193 .byte 0x00 194 .byte 0x25 195 .byte 0x78 196 .byte 0x02 197 .byte 0x81 198 .byte 0x78 199 .byte 0x9c 200 .byte 0x63 201 .byte 0x60 202 .byte 0x60 203 .byte 0x56 204 .byte 0x61 205 .byte 0x60 206 .byte 0xe6 207 .byte 0xe0 208 .byte 0xe6 209 .byte 0xb6 210 .byte 0xe3 211 .byte 0x66 212 .byte 0x00 213 .byte 0x02 214 .byte 0x00 215 .byte 0x04 216 .byte 0x9c 217 .byte 0x00 218 .byte 0x92 219