diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2021-03-24 18:08:12 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2021-03-24 18:08:24 -0400 |
commit | 328d42d87e97c75d6e52800bfd4bc1bfdfb745d2 (patch) | |
tree | 4dee500fe0bf6acd7dcb8153aabebaa27936c564 /gdb/solib-svr4.c | |
parent | d777bf0df22f1048fd24999ae563e30abcbcfbe7 (diff) | |
download | fsf-binutils-gdb-328d42d87e97c75d6e52800bfd4bc1bfdfb745d2.zip fsf-binutils-gdb-328d42d87e97c75d6e52800bfd4bc1bfdfb745d2.tar.gz fsf-binutils-gdb-328d42d87e97c75d6e52800bfd4bc1bfdfb745d2.tar.bz2 |
gdb: remove current_top_target function
The current_top_target function is a hidden dependency on the current
inferior. Since I'd like to slowly move towards reducing our dependency
on the global current state, remove this function and make callers use
current_inferior ()->top_target ()
There is no expected change in behavior, but this one step towards
making those callers use the inferior from their context, rather than
refer to the global current inferior.
gdb/ChangeLog:
* target.h (current_top_target): Remove, make callers use the
current inferior instead.
* target.c (current_top_target): Remove.
Change-Id: Iccd457036f84466cdaa3865aa3f9339a24ea001d
Diffstat (limited to 'gdb/solib-svr4.c')
-rw-r--r-- | gdb/solib-svr4.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index c7b3157..5314694 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -428,11 +428,14 @@ read_program_header (int type, int *p_arch_size, CORE_ADDR *base_addr) int pt_phdr_p = 0; /* Get required auxv elements from target. */ - if (target_auxv_search (current_top_target (), AT_PHDR, &at_phdr) <= 0) + if (target_auxv_search (current_inferior ()->top_target (), + AT_PHDR, &at_phdr) <= 0) return {}; - if (target_auxv_search (current_top_target (), AT_PHENT, &at_phent) <= 0) + if (target_auxv_search (current_inferior ()->top_target (), + AT_PHENT, &at_phent) <= 0) return {}; - if (target_auxv_search (current_top_target (), AT_PHNUM, &at_phnum) <= 0) + if (target_auxv_search (current_inferior ()->top_target (), + AT_PHNUM, &at_phnum) <= 0) return {}; if (!at_phdr || !at_phnum) return {}; @@ -1239,7 +1242,8 @@ svr4_current_sos_via_xfer_libraries (struct svr4_library_list *list, /* Fetch the list of shared libraries. */ gdb::optional<gdb::char_vector> svr4_library_document - = target_read_stralloc (current_top_target (), TARGET_OBJECT_LIBRARIES_SVR4, + = target_read_stralloc (current_inferior ()->top_target (), + TARGET_OBJECT_LIBRARIES_SVR4, annex); if (!svr4_library_document) return 0; @@ -2242,9 +2246,8 @@ enable_break (struct svr4_info *info, int from_tty) sym_addr = gdbarch_addr_bits_remove (target_gdbarch (), - gdbarch_convert_from_func_ptr_addr (target_gdbarch (), - sym_addr, - current_top_target ())); + gdbarch_convert_from_func_ptr_addr + (target_gdbarch (), sym_addr, current_inferior ()->top_target ())); /* On at least some versions of Solaris there's a dynamic relocation on _r_debug.r_brk and SYM_ADDR may not be relocated yet, e.g., if @@ -2353,7 +2356,8 @@ enable_break (struct svr4_info *info, int from_tty) /* If we were not able to find the base address of the loader from our so_list, then try using the AT_BASE auxilliary entry. */ if (!load_addr_found) - if (target_auxv_search (current_top_target (), AT_BASE, &load_addr) > 0) + if (target_auxv_search (current_inferior ()->top_target (), + AT_BASE, &load_addr) > 0) { int addr_bit = gdbarch_addr_bit (target_gdbarch ()); @@ -2474,9 +2478,8 @@ enable_break (struct svr4_info *info, int from_tty) && (BMSYMBOL_VALUE_ADDRESS (msymbol) != 0)) { sym_addr = BMSYMBOL_VALUE_ADDRESS (msymbol); - sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch (), - sym_addr, - current_top_target ()); + sym_addr = gdbarch_convert_from_func_ptr_addr + (target_gdbarch (), sym_addr, current_inferior ()->top_target ()); svr4_create_solib_event_breakpoints (info, target_gdbarch (), sym_addr); return 1; @@ -2492,9 +2495,9 @@ enable_break (struct svr4_info *info, int from_tty) && (BMSYMBOL_VALUE_ADDRESS (msymbol) != 0)) { sym_addr = BMSYMBOL_VALUE_ADDRESS (msymbol); - sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch (), - sym_addr, - current_top_target ()); + sym_addr = gdbarch_convert_from_func_ptr_addr + (target_gdbarch (), sym_addr, + current_inferior ()->top_target ()); svr4_create_solib_event_breakpoints (info, target_gdbarch (), sym_addr); return 1; @@ -2582,7 +2585,8 @@ svr4_exec_displacement (CORE_ADDR *displacementp) if ((bfd_get_file_flags (current_program_space->exec_bfd ()) & DYNAMIC) == 0) return 0; - if (target_auxv_search (current_top_target (), AT_ENTRY, &entry_point) <= 0) + if (target_auxv_search (current_inferior ()->top_target (), + AT_ENTRY, &entry_point) <= 0) return 0; exec_displacement |