mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 22:07:58 +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,
|
const cooked_index_entry *parent_entry,
|
||||||
bool fully)
|
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)
|
while (info_ptr < end_ptr)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user