1/* Copyright 2017-2020 Free Software Foundation, Inc. 2 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 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 15 16 17/* DWARF will describe these contents as being inside a D module. */ 18 19typedef struct tstruct 20{ 21} tstruct; 22 23tstruct my_data; 24 25int _Dmain (void) 26{ 27 asm ("_Dmain_label: .globl _Dmain_label"); 28 return 0; 29} 30 31asm ("_Dmain_end: .globl _Dmain_end"); 32 33int 34main (void) 35{ 36 return _Dmain (); 37} 38 39/* The .debug_names-based index support depends on .debug_aranges 40 generated by GCC. (.gdb_index includes a gdb-generated map 41 instead.) */ 42asm ( 43" .pushsection .debug_info,\"\",%progbits \n" 44".Lcu1_begin:" 45" .popsection \n" 46" .pushsection .debug_aranges,\"\",%progbits \n" 47" .4byte .Laranges_end - .Laranges_start \n" // Length of Address Ranges Info 48".Laranges_start: \n" 49" .2byte 0x2 \n" // DWARF Version 50" .4byte .Lcu1_begin\n" // .Ldebug_info0 - Offset of Compilation Unit Info 51" .byte 4 \n" // Size of Address 52" .byte 0 \n" // Size of Segment Descriptor 53" .2byte 0 \n" // Pad to 16 byte boundary 54" .2byte 0 \n" 55" .4byte _Dmain \n" // Address 56" .4byte _Dmain_end - _Dmain \n" // Length 57" .4byte 0 \n" 58" .4byte 0 \n" 59".Laranges_end: \n" 60" .popsection \n" 61); 62