[gdb/testsuite] Fix .debug_aranges in watch-loc.c
[external/binutils.git] / gdb / testsuite / gdb.dlang / watch-loc.c
index 0ffc377..5dd05b4 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright 2017 Free Software Foundation, Inc.
+/* Copyright 2017-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -34,3 +34,26 @@ main (void)
   return _Dmain ();
 }
 
+/* The .debug_names-based index support depends on .debug_aranges
+   generated by GCC.  (.gdb_index includes a gdb-generated map
+   instead.)  */
+asm (
+"      .pushsection    .debug_info,\"\",%progbits \n"
+".Lcu1_begin:"
+"      .popsection \n"
+"      .pushsection    .debug_aranges,\"\",%progbits \n"
+"      .4byte  .Laranges_end - .Laranges_start \n"     // Length of Address Ranges Info
+".Laranges_start: \n"
+"      .2byte  0x2 \n" // DWARF Version
+"      .4byte  .Lcu1_begin\n" // .Ldebug_info0 - Offset of Compilation Unit Info
+"      .byte   4 \n"   // Size of Address
+"      .byte   0 \n"   // Size of Segment Descriptor
+"      .2byte  0 \n"   // Pad to 16 byte boundary
+"      .2byte  0 \n"
+"      .4byte  _Dmain \n"      // Address
+"      .4byte  0x1000 \n"      // Length
+"      .4byte  0 \n"
+"      .4byte  0 \n"
+".Laranges_end: \n"
+"      .popsection \n"
+);