mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
Relocate block range start and end addresses
gdb/ChangeLog: * objfiles.c (objfile_relocate1): Relocate start and end addresses for each range in a block.
This commit is contained in:
parent
59adbf5d03
commit
9644dc3a47
@ -49,6 +49,14 @@
|
||||
* tracepoint.c (info_scope_command): Likewise.
|
||||
* value.c (value_fn_field): Likewise.
|
||||
|
||||
* infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
|
||||
in place of find_pc_partial_function.
|
||||
* blockframe.c (find_function_entry_range_from_pc): New function.
|
||||
* symtab.h (find_function_entry_range_from_pc): Declare and document.
|
||||
* objfiles.c (objfile_relocate1): Relocate start and end addresses
|
||||
for each range in a block.
|
||||
|
||||
|
||||
2018-08-23 Xavier Roirand <roirand@adacore.com>
|
||||
|
||||
* machoread.c (macho_symfile_read_all_oso): Remove uneeded
|
||||
|
@ -831,6 +831,14 @@ objfile_relocate1 (struct objfile *objfile,
|
||||
BLOCK_START (b) += ANOFFSET (delta, block_line_section);
|
||||
BLOCK_END (b) += ANOFFSET (delta, block_line_section);
|
||||
|
||||
if (BLOCK_RANGES (b) != nullptr)
|
||||
for (int j = 0; j < BLOCK_NRANGES (b); j++)
|
||||
{
|
||||
BLOCK_RANGE_START (b, j)
|
||||
+= ANOFFSET (delta, block_line_section);
|
||||
BLOCK_RANGE_END (b, j) += ANOFFSET (delta, block_line_section);
|
||||
}
|
||||
|
||||
/* We only want to iterate over the local symbols, not any
|
||||
symbols in included symtabs. */
|
||||
ALL_DICT_SYMBOLS (BLOCK_DICT (b), iter, sym)
|
||||
|
Loading…
Reference in New Issue
Block a user