From: Tom de Vries Date: Sat, 23 Aug 2025 04:11:41 +0000 (+0200) Subject: [gdb/symtab] Detect overlapping ranges in create_addrmap_from_gdb_index X-Git-Tag: gdb-17-branchpoint~200 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=20676c004435b93feee78ca37171aa0eb85c5484;p=thirdparty%2Fbinutils-gdb.git [gdb/symtab] Detect overlapping ranges in create_addrmap_from_gdb_index In create_addrmap_from_gdb_index, use the return value of addrmap_mutable::insert_empty to detect overlapping ranges. Tested on x86_64-linux. Approved-By: Simon Marchi --- diff --git a/gdb/dwarf2/read-gdb-index.c b/gdb/dwarf2/read-gdb-index.c index 7db2834f4d3..79d19a3abaa 100644 --- a/gdb/dwarf2/read-gdb-index.c +++ b/gdb/dwarf2/read-gdb-index.c @@ -1434,7 +1434,15 @@ create_addrmap_from_gdb_index (dwarf2_per_objfile *per_objfile, return false; } - mutable_map.set_empty (lo, hi - 1, index->units[cu_index]); + bool full_range_p + = mutable_map.set_empty (lo, hi - 1, index->units[cu_index]); + if (!full_range_p) + { + complaint (_(".gdb_index address table has a range (%s - %s) that" + " overlaps with an earlier range"), + hex_string (lo), hex_string (hi)); + return false; + } } index->index_addrmap