mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 13:56:22 +08:00
Fix end of CU calculation in cooked_indexer::index_dies
cooked_indexer::index_dies incorrect computes the end of the current CU in the .debug_info. This isn't readily testable without writing intentionally corrupt DWARF, but it's apparent through observation: it is currently based on 'info_ptr', which does not always point to the start of the CU. This patch fixes the expression. Tested on x86-64 Fedora 34.
This commit is contained in:
@ -18283,7 +18283,9 @@ cooked_indexer::index_dies (cutu_reader *reader,
|
||||
const cooked_index_entry *parent_entry,
|
||||
bool fully)
|
||||
{
|
||||
const gdb_byte *end_ptr = info_ptr + reader->cu->header.get_length ();
|
||||
const gdb_byte *end_ptr = (reader->buffer
|
||||
+ to_underlying (reader->cu->header.sect_off)
|
||||
+ reader->cu->header.get_length ());
|
||||
|
||||
while (info_ptr < end_ptr)
|
||||
{
|
||||
|
Reference in New Issue
Block a user