diff options
author | Kevin Buettner <kevinb@redhat.com> | 2018-08-23 16:00:49 -0700 |
---|---|---|
committer | Kevin Buettner <kevinb@redhat.com> | 2018-08-23 16:19:18 -0700 |
commit | 2b1ffcfd6fe5b88d50b6ad1c2ab3e9623ede5e35 (patch) | |
tree | 187eea088cb843119ac725f8efdb15819a6db63c /gdb/printcmd.c | |
parent | e94802301b37de0e75e9329a96b0e70d38e5ead9 (diff) | |
download | gdb-2b1ffcfd6fe5b88d50b6ad1c2ab3e9623ede5e35.zip gdb-2b1ffcfd6fe5b88d50b6ad1c2ab3e9623ede5e35.tar.gz gdb-2b1ffcfd6fe5b88d50b6ad1c2ab3e9623ede5e35.tar.bz2 |
Use BLOCK_ENTRY_PC in place of most uses of BLOCK_START
This change/patch substitues BLOCK_ENTRY_PC for BLOCK_START in
places where BLOCK_START is used to obtain the address at which
execution should enter the block. Since blocks can now contain
non-contiguous ranges, the BLOCK_START - which is still be the
very lowest address in the block - might not be the same as
BLOCK_ENTRY_PC.
There is a change to infrun.c which is less obvious and less mechanical.
I'm posting it as a separate patch.
gdb/ChangeLog:
* ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
BLOCK_START.
* blockframe.c (get_pc_function_start): Likewise.
* compile/compile-c-symbols.c (convert_one_symbol): Likewise.
(gcc_symbol_address): Likewise.
* compile/compile-object-run.c (compile_object_run): Likewise.
* compile/compile.c (get_expr_block_and_pc): Likewise.
* dwarf2loc.c (dwarf2_find_location_expression): Likewise.
(func_addr_to_tail_call_list): Likewise.
* findvar.c (default_read_var_value): Likewise.
* inline-frame.c (inline_frame_this_id): Likewise.
(skip-inline_frames): Likewise.
* infcmd.c (until_next_command): Likewise.
* linespec.c (convert_linespec_to_sals): Likewise.
* parse.c (parse_exp_in_context_1): Likewise.
* printcmd.c (build_address_symbolic): likewise.
(info_address_command): Likewise.
symtab.c (find_function_start_sal): Likewise.
(skip_prologue_sal): Likewise.
(find_function_alias_target): Likewise.
(find_gnu_ifunc): Likewise.
* stack.c (find_frame_funname): Likewise.
* symtab.c (fixup_symbol_section): Likewise.
(find_function_start_sal): Likewise.
(skip_prologue_sal): Likewsie.
(find_function_alias_target): Likewise.
(find_gnu_ifunc): Likewise.
* tracepoint.c (info_scope_command): Likewise.
* value.c (value_fn_field): Likewise.
Diffstat (limited to 'gdb/printcmd.c')
-rw-r--r-- | gdb/printcmd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 2ecbd54..1a3d972 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -609,7 +609,7 @@ build_address_symbolic (struct gdbarch *gdbarch, pointer is <function+3>. This matches the ISA behavior. */ addr = gdbarch_addr_bits_remove (gdbarch, addr); - name_location = BLOCK_START (SYMBOL_BLOCK_VALUE (symbol)); + name_location = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (symbol)); if (do_demangle || asm_demangle) name_temp = SYMBOL_PRINT_NAME (symbol); else @@ -1519,7 +1519,7 @@ info_address_command (const char *exp, int from_tty) case LOC_BLOCK: printf_filtered (_("a function at address ")); - load_addr = BLOCK_START (SYMBOL_BLOCK_VALUE (sym)); + load_addr = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym)); fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout); if (section_is_overlay (section)) { |