Age | Commit message (Collapse) | Author | Files | Lines |
|
(in_plt_section): Remove name argument, replace prototype with
static inline function.
* mips-tdep.h: Include "objfiles.h".
(in_mips_stubs_section): New function.
* hppa-tdep.h (gdbarch_tdep): Remove name argument of
in_solib_call_trampoline member.
(hppa_in_solib_call_trampoline): Remove name argument.
* objfiles.c (pc_in_section): New function.
(in_plt_section): Remove function.
* mips-linux-tdep.c: Include "objfiles.h".
(mips_linux_in_dynsym_stub): Call in_mips_stubs_section. Remove
name argument. Return 1 rather than the low 16-bit halfword of
any instruction examined.
(mips_linux_in_dynsym_resolve_code): Update
mips_linux_in_dynsym_stub call accordingly.
* mips-tdep.c (mips_stub_frame_sniffer): Use in_mips_stubs_section
rather than an equivalent hand-coded sequence.
* hppa-hpux-tdep.c (in_opd_section): Remove function.
(hppa32_hpux_in_solib_call_trampoline): Remove name argument.
(hppa64_hpux_in_solib_call_trampoline): Likewise.
(hppa64_hpux_find_global_pointer): Use pc_in_section rather than
in_opd_section.
* hppa-tdep.c (hppa_stub_unwind_sniffer): Remove name argument
on call to tdep->in_solib_call_trampoline.
(hppa_in_solib_call_trampoline): Remove name argument, update
according to in_plt_section change.
(hppa_skip_trampoline_code): Update according to in_plt_section
change.
* aarch64-tdep.c (aarch64_stub_unwind_sniffer): Likewise.
* arm-symbian-tdep.c (arm_symbian_skip_trampoline_code):
Likewise.
* arm-tdep.c (arm_stub_unwind_sniffer): Likewise.
* hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
* hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise.
* nios2-tdep.c (nios2_stub_frame_sniffer): Likewise.
* nto-tdep.c (nto_relocate_section_addresses): Likewise.
* s390-tdep.c (s390_stub_frame_sniffer): Likewise.
* sh-tdep.c (sh_stub_unwind_sniffer): Likewise.
* solib-dsbt.c (dsbt_in_dynsym_resolve_code): Likewise.
* solib-frv.c (frv_in_dynsym_resolve_code): Likewise.
* solib-svr4.c (svr4_in_dynsym_resolve_code): Likewise.
* solib-target.c (solib_target_in_dynsym_resolve_code): Likewise.
* sparc-tdep.c (sparc_analyze_prologue): Likewise.
* tic6x-tdep.c (tic6x_stub_unwind_sniffer): Likewise.
|
|
* breakpoint.h (handle_solib_event): Moved function declaration
to solib.h.
* breakpoint.c (handle_solib_event): Moved function to solib.c.
(bpstat_stop_status): Pass new argument to handle_solib_event.
* solib.h (update_solib_breakpoints): New function declaration.
(handle_solib_event): Moved function declaration from
breakpoint.h.
* solib.c (update_solib_breakpoints): New function.
(handle_solib_event): Moved function from breakpoint.c.
Updated to call solib_ops->handle_event if not NULL.
* solist.h (target_so_ops): New fields "update_breakpoints" and
"handle_event".
* infrun.c (set_stop_on_solib_events): New function.
(_initialize_infrun): Use the above for "set
stop-on-solib-events".
(handle_inferior_event): Pass new argument to handle_solib_event.
* solib-svr4.c (probe.h): New include.
(svr4_free_library_list): New forward declaration.
(probe_action): New enum.
(probe_info): New struct.
(probe_info): New static variable.
(NUM_PROBES): New definition.
(svr4_info): New fields "using_xfer", "probes_table" and
"solib_list".
(free_probes_table): New function.
(free_solib_list): New function.
(svr4_pspace_data_cleanup): Free probes table and solib list.
(svr4_copy_library_list): New function.
(svr4_current_sos_via_xfer_libraries): New parameter "annex".
(svr4_read_so_list): New parameter "prev_lm".
(svr4_current_sos_direct): Renamed from "svr4_current_sos".
(svr4_current_sos): New function.
(probe_and_action): New struct.
(hash_probe_and_action): New function.
(equal_probe_and_action): Likewise.
(register_solib_event_probe): Likewise.
(solib_event_probe_at): Likewise.
(solib_event_probe_action): Likewise.
(solist_update_full): Likewise.
(solist_update_incremental): Likewise.
(disable_probes_interface_cleanup): Likewise.
(svr4_handle_solib_event): Likewise.
(svr4_update_solib_event_breakpoint): Likewise.
(svr4_update_solib_event_breakpoints): Likewise.
(svr4_create_solib_event_breakpoints): Likewise.
(enable_break): Free probes table before creating breakpoints.
Use svr4_create_solib_event_breakpoints to create breakpoints.
(svr4_solib_create_inferior_hook): Free the solib list.
(_initialize_svr4_solib): Initialise
svr4_so_ops.handle_solib_event and svr4_so_ops.update_breakpoints.
|
|
* solib-svr4.c (svr4_free_so): Protect against NULL dereference.
|
|
* solib-svr4.c (svr4_clear_so): New function.
(_initialize_svr4_solib): Set svr4_so_ops.clear_so.
* solib.c (clear_so): Renamed from free_so_symbols.
All callers updated. Call target clear_so if it exists.
|
|
This is sort of the opposite of the previous patch. Places that
manipulate strings or interfaces that return strings are changed to
use char* instead of gdb_byte*.
gdb/
2013-04-19 Pedro Alves <palves@redhat.com>
* avr-tdep.c (avr_io_reg_read_command): New local 'bufstr'. Use
it to get a string view of the byte buffer.
* i386-cygwin-tdep.c (core_process_module_section): Change local 'buf'
type to gdb_byte *. Adjust.
* linux-tdep.c (linux_info_proc, linux_find_memory_regions_full):
Change local to char *.
* solib-darwin.c (find_program_interpreter): Change return type to
char *. Adjust.
(darwin_solib_get_all_image_info_addr_at_init): Adjust.
* solib-dsbt.c (enable_break2): Change local 'buf' to char *.
* solib-frv.c (enable_break2): Change local 'buf' to char *.
* solib-spu.c (spu_current_sos): Add gdb_byte * cast.
* solib-svr4.c (find_program_interpreter): Change return type to
char *. Adjust.
(enable_break): Change local 'interp_name' to char *.
* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
* spu-tdep.c (spu_pseudo_register_read_spu): Add cast to 'char *'.
(spu_pseudo_register_write_spu): Use char for string buffer.
Adjust.
(info_spu_event_command, info_spu_signal_command): Add casts to
'char *'.
|
|
* solib-svr4.c (lm_addr_check): Add const qualifier to 'so' arg.
|
|
Code cleanup.
* bfd-target.c (target_bfd_xclose): Remove parameter quitting.
* bsd-kvm.c (bsd_kvm_close): Likewise.
* bsd-uthread.c (bsd_uthread_close): Likewise.
* corelow.c (core_close): Likewise.
(core_close_cleanup): Remove parameter quitting from a caller.
* event-top.c (async_disconnect): Likewise.
* exec.c (exec_close_1): Remove parameter quitting.
* go32-nat.c (go32_close): Likewise.
* linux-nat.c (linux_nat_close): Remove parameter quitting. Remove
parameter quitting from a caller.
* mips-linux-nat.c (super_close): Remove parameter quitting from the
variable.
(mips_linux_close): Remove parameter quitting. Remove parameter
quitting from a caller.
* monitor.c (monitor_close): Remove parameter quitting.
* monitor.h (monitor_close): Likewise.
* record-btrace.c (record_btrace_close): Likewise.
* record-full.c (record_full_close): Likewise.
* remote-m32r-sdi.c (m32r_close): Remove parameter quitting and remove
it also from fprintf_unfiltered.
* remote-mips.c (mips_close): Remove parameter quitting.
(mips_detach): Remove parameter quitting from a caller.
* remote-sim.c (gdbsim_close): Remove parameter quitting.
(gdbsim_close): Remove duplicate function comment. Remove parameter
quitting and remove it also from printf_filtered.
* remote.c (remote_close): Remove parameter quitting.
* solib-svr4.c (enable_break): Remove parameter quitting from a caller.
* target.c (update_current_target): Remove parameter int from to_close
de_fault.
(push_target, unpush_target, pop_target): Remove parameter quitting from
a caller.
(pop_all_targets_above, pop_all_targets): Remove parameter quitting.
Remove parameter quitting from a caller.
(target_preopen): Remove parameter quitting from a caller.
(target_close): Remove parameter quitting. Remove parameter quitting
from a caller two times. Remove parameter quitting also from
fprintf_unfiltered.
* target.h (struct target_ops): Remove parameter quitting and as int
from fields to_xclose and to_close.
(extern struct target_ops current_target):
(target_close, pop_all_targets): Remove parameter quitting. Update the
comment.
(pop_all_targets_above): Remove parameter quitting.
* top.c (quit_target): Remove parameter quitting from a caller.
* tracepoint.c (tfile_close): Remove parameter quitting.
* windows-nat.c (windows_close): Remove parameter quitting.
|
|
(svr4_read_so_list): Remove unused lmo.
* solib-target.c (solib_target_relocate_section_addresses): Remove
unused flags.
Reference: http://sourceware.org/ml/gdb-patches/2013-01/msg00744.html
|
|
Two modifications:
1. The addition of 2013 to the copyright year range for every file;
2. The use of a single year range, instead of potentially multiple
year ranges, as approved by the FSF.
|
|
|
|
* solib-svr4.c (svr4_solib_create_inferior_hook) [_SCO_DS]: Remove
dead SCO code, and adjust function description comment.
|
|
2012-11-27 Daniel Jacobowitz <dan@codesourcery.com>
Kazu Hirata <kazu@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* objfiles.c (init_entry_point_info): Call
gdbarch_convert_from_func_ptr_addr and
gdbarch_addr_bits_remove here ...
(entry_point_address_query): ... instead of here.
* solib-svr4.c (exec_entry_point): Call
gdbarch_addr_bits_remove.
* symfile.c (generic_load): Call gdbarch_addr_bits_remove on
the entry address.
|
|
(get_target_gdbarch): Rename to target_gdbarch.
* gdbarch.c, gdbarch.h: Rebuild.
* ada-tasks.c, aix-thread.c, amd64-linux-nat.c, arch-utils.c,
arm-tdep.c, auxv.c, breakpoint.c, bsd-uthread.c, corefile.c,
darwin-nat-info.c, dcache.c, dsrec.c, exec.c, fbsd-nat.c,
filesystem.c, gcore.c, gnu-nat.c, i386-darwin-nat.c, i386-nat.c,
ia64-vms-tdep.c, inf-ptrace.c, infcmd.c, jit.c, linux-nat.c,
linux-tdep.c, linux-thread-db.c, m32r-rom.c, memattr.c,
mep-tdep.c, microblaze-tdep.c, mips-linux-nat.c,
mips-linux-tdep.c, mips-tdep.c, monitor.c, moxie-tdep.c,
nto-procfs.c, nto-tdep.c, ppc-linux-nat.c, proc-service.c,
procfs.c, progspace.c, ravenscar-thread.c, record.c,
remote-m32r-sdi.c, remote-mips.c, remote-sim.c, remote.c,
rl78-tdep.c, rs6000-nat.c, rx-tdep.c, s390-nat.c, sol-thread.c,
solib-darwin.c, solib-dsbt.c, solib-frv.c, solib-ia64-hpux.c,
solib-irix.c, solib-pa64.c, solib-som.c, solib-spu.c,
solib-sunos.c, solib-svr4.c, solib.c, spu-linux-nat.c,
spu-multiarch.c, spu-tdep.c, symfile-mem.c, symfile.c, symtab.c,
target-descriptions.c, target.c, target.h, tracepoint.c,
windows-nat.c, windows-tdep.c, xcoffsolib.c, cli/cli-dump.c,
common/agent.c, mi/mi-interp.c, python/py-finishbreakpoint.c,
python/py-inferior.c, python/python.c: Update.
|
|
* solib-svr4.c (_initialize_svr4_solib): Update
* solib-dsbt.c (_initialize_dsbt_solib): Update.
* solib-darwin.c (_initialize_darwin_solib): Update.
* registry.h: New file.
* python/py-progspace.c (gdbpy_initialize_pspace): Update.
* python/py-inferior.c (gdbpy_initialize_inferior): Update.
* progspace.h: Include registry.h. Use DECLARE_REGISTRY.
(register_program_space_data_with_cleanup)
(register_program_space_data, program_space_alloc_data)
(clear_program_space_data, set_program_space_data)
(program_space_data): Don't declare.
* progspace.c: Use DEFINE_REGISTRY.
(struct program_space_data, struct
program_space_data_registration, struct
program_space_data_registry, program_space_data_registry)
(register_program_space_data_with_cleanup)
(register_program_space_data, program_space_alloc_data)
(program_space_free_data, clear_program_space_data)
(set_program_space_data, program_space_data): Remove.
* objfiles.h: Include registry.h. Use DECLARE_REGISTRY.
(struct objfile) <data, num_data>: Replace with REGISTRY_FIELDS.
(register_objfile_data_with_cleanup, register_objfile_data)
(clear_objfile_data, set_objfile_data, objfile_data): Don't
declare.
* objfiles.c: Use DEFINE_REGISTRY.
(struct objfile_data, struct objfile_data_registration, struct
objfile_data_registry, objfile_data_registry)
(register_objfile_data_with_cleanup, register_objfile_data)
(objfile_alloc_data, objfile_free_data, clear_objfile_data)
(set_objfile_data, objfile_data): Remove.
(_initialize_objfiles): Update.
* jit.c (_initialize_jit): Update.
* inflow.c (_initialize_inflow): Update.
* inferior.h: Include registry.h. Use DECLARE_REGISTRY.
(struct inferior) <data, num_data>: Replace with REGISTRY_FIELDS.
(register_inferior_data_with_cleanup, register_inferior_data)
(clear_inferior_data, set_inferior_data, inferior_data): Don't
declare.
* inferior.c: Use DEFINE_REGISTRY.
(struct inferior_data, struct inferior_data_registration, struct
inferior_data_registry, inferior_data_registry)
(register_inferior_data_with_cleanup, register_inferior_data)
(inferior_alloc_data, inferior_free_data clear_inferior_data)
(set_inferior_data, inferior_data): Remove.
* auxv.c (_initialize_auxv): Update.
* ada-lang.c (_initialize_ada_language): Update.
* breakpoint.c (_initialize_breakpoint): Update.
* i386-nat.c (i386_use_watchpoints): Update.
|
|
* solib-svr4.c (svr4_free_library_list): Use free_so.
|
|
* bfd-target.h (target_bfd_reopen): Update documentation.
|
|
* solib-svr4.c (enable_break): Don't fallback to setting the solib
event breakpoint at _start, __start or main if a program
interpreter is not found.
|
|
* solib-svr4.c (svr4_current_sos): New comment on
svr4_current_sos_via_xfer_libraries fall back.
gdb/gdbserver/
* linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1.
gdb/testsuite/
* gdb.server/solib-list-lib.c: New file.
* gdb.server/solib-list-main.c: New file.
* gdb.server/solib-list.exp: New file.
|
|
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
gdb/gdbserver/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
include/gdb/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
* gdb/signals.def: Replace TARGET_SIGNAL_ with GDB_SIGNAL_
throughout.
sim/arm/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/avr/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/common/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/cr16/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/d10v/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/erc32/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/m32c/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/ppc/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/rl78/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/rx/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
|
|
gdb/ChangeLog:
Copyright year update in most files of the GDB Project.
|
|
Fix compilation --without-expat.
* solib-svr4.c (svr4_free_so, svr4_free_library_list): Move them here
from ...
[HAVE_LIBEXPAT] (svr4_free_so, svr4_free_library_list): ... here.
|
|
* Makefile.in (XMLFILES): Add library-list-svr4.dtd.
* features/library-list-svr4.dtd: New file.
* remote.c (PACKET_qXfer_libraries_svr4): New.
(remote_protocol_features): new entry for PACKET_qXfer_libraries_svr4.
(remote_xfer_partial): Handle TARGET_OBJECT_LIBRARIES_SVR4.
* solib-svr4.c (struct svr4_library_list): New.
[HAVE_LIBEXPAT]: Include xml-support.h.
[HAVE_LIBEXPAT] (svr4_library_list_start_library)
[HAVE_LIBEXPAT] (svr4_library_list_start_list, svr4_library_attributes)
[HAVE_LIBEXPAT] (svr4_library_list_children)
[HAVE_LIBEXPAT] (svr4_library_list_attributes)
[HAVE_LIBEXPAT] (svr4_library_list_elements, svr4_parse_libraries)
[HAVE_LIBEXPAT] (svr4_current_sos_via_xfer_libraries)
[!HAVE_LIBEXPAT] (svr4_current_sos_via_xfer_libraries): New.
(svr4_read_so_list): Extend the corruption message by addresses.
(svr4_current_sos): New variable library_list, call
svr4_current_sos_via_xfer_libraries.
* target.h (enum target_object): New TARGET_OBJECT_LIBRARIES_SVR4.
gdb/gdbserver/
* linux-low.c (get_phdr_phnum_from_proc_auxv, get_dynamic, get_r_debug)
(read_one_ptr, struct link_map_offsets, linux_qxfer_libraries_svr4):
New.
(struct linux_target_ops): Install linux_qxfer_libraries_svr4.
* linux-low.h (struct process_info_private): New member r_debug.
* server.c (handle_qxfer_libraries): Call
the_target->qxfer_libraries_svr4.
(handle_qxfer_libraries_svr4): New function.
(qxfer_packets): New entry "libraries-svr4".
(handle_query): Check QXFER_LIBRARIES_SVR4 and report libraries-svr4.
* target.h (struct target_ops): New member qxfer_libraries_svr4.
* remote.c (remote_xfer_partial): Call add_packet_config_cmd for
PACKET_qXfer_libraries_svr4.
gdb/doc/
* gdb.texinfo (Requirements, Remote Protocol): Reference also `Library
List Format for SVR4 Targets'.
(General Query Packets): New item qXfer:libraries-svr4:read.
(Library List Format for SVR4 Targets): New node.
gdb/testsuite/
* gdb.base/solib-corrupted.exp: Suppress test on is_remote target.
(corrupted list): Adjust the expectation.
|
|
initialize them from target PT_PHDR p_vaddr, relocate sect_addr by
pt_phdr if PT_PHDR was found.
* gdb.base/attach-pie-noexec.c: New files.
* gdb.base/attach-pie-noexec.exp: New files.
|
|
Drop lazy lm_info reading.
* solib-svr4.c (struct lm_info): Remove field lm. New fields l_addr_p,
l_addr_inferior, l_ld, l_next, l_prev and l_name.
(lm_info_read): New function.
(lm_addr_from_link_map, lm_dynamic_from_link_map): Remove.
(lm_addr_check): Use l_addr_p. No longer use lm_addr_from_link_map and
lm_dynamic_from_link_map.
(lm_next, lm_prev, lm_name): Remove.
(svr4_keep_data_in_core): Use lm_info_read, drop the lm_info entries
initialization incl. read_memory. No longer use lm_name.
(svr4_free_so): Drop lm_info->lm freeing.
(svr4_default_sos): Initialize lminfo with zeroes. Use l_addr_p. Drop
explicit lm_addr and lm initialization.
(svr4_read_so_list): Use lm_info_read, drop the initailization of
fields by hand, incl. read_memory. No longer use lm_next, lm_prev and
lm_name.
|
|
* defs.h (struct so_list): New forward declaration.
(make_cleanup_free_so): New declaration.
* solib-svr4.c (ignore_first_link_map_entry): Remove.
(svr4_free_so): Move the function here from downwards. Handle NULL
so->lm_info.
(svr4_free_library_list): New.
(svr4_read_so_list): New, moved here code from svr4_current_sos.
Use more cleanups. Use new parameter ignore_first instead of
ignore_first_link_map_entry.
(svr4_current_sos): New variable ignore_first, initialize it. New
variable back_to, use it for svr4_free_library_list protection.
(svr4_free_so): Remove - move upwards.
* utils.c: Include solist.h.
(do_free_so, make_cleanup_free_so): New functions.
|
|
Code cleanup.
* solib-svr4.c (svr4_default_sos): Remove variables head and link_ptr.
Rearrange the code for it.
|
|
* solib-dsbt.c (bfd_lookup_symbol): Removed.
(cmp_name): New.
(enable_break2): Update caller.
* solib-frv.c (bfd_lookup_symbol): Removed.
(cmp_name): New.
(enable_break2): Update caller.
* solib-pa64.c (bfd_lookup_symbol): Removed.
(cmp_name): New.
* solib-svr4.c (bfd_lookup_symbol): Removed.
(cmp_name_and_sec_flags): New.
(enable_break): Update caller.
* solib.c (gdb_bfd_lookup_symbol_from_symtab): New.
(gdb_bfd_lookup_symbol_from_dyn_symtab): New.
(gdb_bfd_lookup_symbol): New.
* solib.h: Functions declarations.
|
|
gdb/
* elfread.c (elf_symtab_read): Ditto.
* maint.c (maintenance_command): Ditto.
* somread.c (som_symtab_read): Ditto.
* solib.c (solib_find, solib_map_sections, update_solib_list)
(solib_add, info_sharedlibrary_command, solib_name_from_address)
(solib_create_inferior_hook, in_solib_dynsym_resolve_code)
(sharedlibrary_command, no_shared_libraries): Rework comments.
* solib-irix.c (locate_base, disable_break, enable_break)
(irix_solib_create_inferior_hook, irix_solib_create_inferior_hook)
(irix_current_sos, irix_open_symbol_file_object)
(irix_special_symbol_handling): Ditto.
* solib-sunos.c (locate_base, first_link_map_member)
(sunos_current_sos, disable_break, enable_break)
(sunos_special_symbol_handling, sunos_solib_create_inferior_hook):
Ditto.
* solib-svr4.c (bfd_lookup_symbol, elf_locate_base, locate_base)
(open_symbol_file_object, svr4_current_sos, enable_break)
(svr4_special_symbol_handling, svr4_solib_create_inferior_hook):
Ditto.
* solib-frv.c (bfd_lookup_symbol, open_symbol_file_object)
(frv_current_sos, enable_break, frv_special_symbol_handling)
(frv_solib_create_inferior_hook): Ditto.
* solist.h (struct target_so_ops): Extend the comments of the
special_symbol_handling, current_sos and open_symbol_file_object
methods.
|
|
|
|
* solib-svr4.c (open_symbol_file_object): Call do_cleanups on all
return paths. Defer final do_cleanups until last return.
* arm-tdep.c (arm_exidx_new_objfile): Make null cleanup after
early return.
|
|
gdb/
* solib-svr4.c (svr4_solib_create_inferior_hook): Skip setting
shared library event breakpoint if there's no execution.
gdb/testsuite/
* gdb.trace/tfile.exp: Add test that opening the basic.tf trace
file doesn't error, using MI.
|
|
* inferior.h (wait_for_inferior): Remove `thread_exec_as_sigtrap'
parameter.
* infrun.c (proceed, start_remote): Adjust.
(wait_for_inferior): Remove `thread_exec_as_sigtrap' parameter,
and adjust to not handle it.
* solib-irix.c (irix_solib_create_inferior_hook): Adjust.
* solib-osf.c (osf_solib_create_inferior_hook): Adjust.
* solib-sunos.c (sunos_solib_create_inferior_hook): Adjust.
* solib-svr4.c (svr4_solib_create_inferior_hook): Adjust.
* windows-nat.c (do_initial_windows_stuff): Adjust.
* infcmd.c (attach_command): Adjust.
(notice_new_inferior): Adjust.
|
|
lm_name to name_lm to avoid conflict with lm_name function.
|
|
* nto-tdep.c (LM_ADDR): Rename to...
(lm_addr): New function name.
(nto_relocate_section_addresses): Adapt to change above.
* solib-sunos.c (LM_ADDR): Rename to...
(lm_addr): New function name.
(LM_NEXT): Rename to...
(lm_next): New function name.
(sunos_current_sos, sunos_relocate_section_addresses): Adapt to
function name changes above.
* solib-svr4.c (LM_ADDR_FROM_LINK_MAP): Rename to...
(lm_addr_from_link_map): New function name.
(HAS_LM_DYNAMIC_FROM_LINK_MAP): Rename to...
(has_lm_dynamic_from_link_map): New function name.
(LM_DYNAMIC_FROM_LINK_MAP): Rename to...
(lm_dynamic_from_link_map): New function name.
(LM_ADDR_CHECK): Rename to...
(lm_addr_check): New function name.
(LM_NEXT): Rename to...
(lm_next): New function name.
(LM_PREV): Rename to...
(lm_prev): New function name.
(LM_NAME): Rename to...
(lm_name): New function name.
(IGNORE_FIRST_LINK_MAP_ENTRY): Rename to...
(ignore_first_link_map_entry): New function name.
(svr4_keep_data_in_core): Adapt to function name changes above.
(svr4_current_sos): Likewise.
(enable_break): Likewise.
(svr4_relocate_section_addresses): Likewise.
|
|
Fix libraries displacement if they change whether they were prelinked.
* solib-svr4.c (LM_ADDR_CHECK): Set L_ADDR even if the DYNAMIC pointer
does not match. Comment why.
gdb/testsuite/
* gdb.base/break-interp-lib.c (v, vptr): New variables.
* gdb.base/break-interp.exp (test_attach): New comment.
|
|
GDB internal type support for STT_GNU_IFUNC.
* elfread.c (record_minimal_symbol): Support mst_text_gnu_ifunc.
(elf_symtab_read): Set mst_text_gnu_ifunc for
BSF_GNU_INDIRECT_FUNCTION.
* eval.c (evaluate_subexp_standard): Support TYPE_GNU_IFUNC.
* gdbtypes.c (init_type): Support TYPE_FLAG_GNU_IFUNC,
builtin_func_func, nodebug_text_gnu_ifunc_symbol and
nodebug_got_plt_symbol.
* gdbtypes.h (enum type_flag_value): New entry TYPE_FLAG_GNU_IFUNC.
(TYPE_GNU_IFUNC): New.
(struct main_type): New field flag_gnu_ifunc.
(struct builtin_type): New field builtin_func_func.
(struct objfile_type): New fields nodebug_text_gnu_ifunc_symbol and
nodebug_got_plt_symbol.
* minsyms.c (lookup_minimal_symbol_text): Support mst_text_gnu_ifunc.
(in_gnu_ifunc_stub): New.
(prim_record_minimal_symbol, find_solib_trampoline_target): Support
mst_text_gnu_ifunc.
* parse.c (write_exp_msymbol): New variable ifunc_msym. Detect and
support mst_text_gnu_ifunc. Support mst_slot_got_plt.
* solib-svr4.c (svr4_in_dynsym_resolve_code): Return true also for
in_gnu_ifunc_stub.
* symmisc.c (dump_msymbols): Support mst_text_gnu_ifunc.
* symtab.c (search_symbols): Likewise.
* symtab.h (enum minimal_symbol_type): New fields mst_text_gnu_ifunc
and mst_slot_got_plt.
(in_gnu_ifunc_stub): New declaration.
|
|
* s390-tdep.c: Comment cleanup, mostly periods and spaces.
* score-tdep.c: Ditto.
* score-tdep.h: Ditto.
* ser-base.c: Ditto.
* ser-go32.c: Ditto.
* serial.c: Ditto.
* serial.h: Ditto.
* ser-mingw.c: Ditto.
* ser-pipe.c: Ditto.
* ser-tcp.c: Ditto.
* ser-unix.c: Ditto.
* sh64-tdep.c: Ditto.
* shnbsd-nat.c: Ditto.
* sh-tdep.c: Ditto.
* sh-tdep.h: Ditto.
* solib.c: Ditto.
* solib-darwin.c: Ditto.
* solib-frv.c: Ditto.
* solib.h: Ditto.
* solib-irix.c: Ditto.
* solib-osf.c: Ditto.
* solib-pa64.c: Ditto.
* solib-som.c: Ditto.
* solib-spu.c: Ditto.
* solib-sunos.c: Ditto.
* solib-svr4.c: Ditto.
* solist.h: Ditto.
* sol-thread.c: Ditto.
* somread.c: Ditto.
* source.c: Ditto.
* source.h: Ditto.
* sparc64-linux-tdep.c: Ditto.
* sparc64-tdep.c: Ditto.
* sparc-linux-nat.c: Ditto.
* sparc-linux-tdep.c: Ditto.
* sparc-sol2-nat.c: Ditto.
* sparc-sol2-tdep.c: Ditto.
* sparc-tdep.c: Ditto.
* sparc-tdep.h: Ditto.
* spu-tdep.c: Ditto.
* stabsread.c: Ditto.
* stabsread.h: Ditto.
* stack.c: Ditto.
* symfile.c: Ditto.
* symfile.h: Ditto.
* symmisc.c: Ditto.
* symtab.c: Ditto.
* symtab.h: Ditto.
* target.c: Ditto.
* target-descriptions.c: Ditto.
* target-descriptions.h: Ditto.
* target.h: Ditto.
* target-memory.c: Ditto.
* terminal.h: Ditto.
* thread.c: Ditto.
* top.c: Ditto.
* tracepoint.c: Ditto.
* tracepoint.h: Ditto.
* trad-frame.h: Ditto.
* typeprint.c: Ditto.
|
|
* addrmap.c: Shorten lines of >= 80 columns.
* arch-utils.c: Ditto.
* arch-utils.h: Ditto.
* ax-gdb.c: Ditto.
* ax-general.c: Ditto.
* bcache.c: Ditto.
* blockframe.c: Ditto.
* breakpoint.c: Ditto.
* buildsym.c: Ditto.
* c-lang.c: Ditto.
* c-typeprint.c: Ditto.
* charset.c: Ditto.
* coffread.c: Ditto.
* command.h: Ditto.
* corelow.c: Ditto.
* cp-abi.c: Ditto.
* cp-namespace.c: Ditto.
* cp-support.c: Ditto.
* dbug-rom.c: Ditto.
* dbxread.c: Ditto.
* defs.h: Ditto.
* dfp.c: Ditto.
* dfp.h: Ditto.
* dictionary.c: Ditto.
* disasm.c: Ditto.
* doublest.c: Ditto.
* dwarf2-frame.c: Ditto.
* dwarf2expr.c: Ditto.
* dwarf2loc.c: Ditto.
* dwarf2read.c: Ditto.
* elfread.c: Ditto.
* eval.c: Ditto.
* event-loop.c: Ditto.
* event-loop.h: Ditto.
* exceptions.h: Ditto.
* exec.c: Ditto.
* expprint.c: Ditto.
* expression.h: Ditto.
* f-lang.c: Ditto.
* f-valprint.c: Ditto.
* findcmd.c: Ditto.
* frame-base.c: Ditto.
* frame-unwind.c: Ditto.
* frame-unwind.h: Ditto.
* frame.c: Ditto.
* frame.h: Ditto.
* gcore.c: Ditto.
* gdb-stabs.h: Ditto.
* gdb_assert.h: Ditto.
* gdb_dirent.h: Ditto.
* gdb_obstack.h: Ditto.
* gdbcore.h: Ditto.
* gdbtypes.c: Ditto.
* gdbtypes.h: Ditto.
* inf-ttrace.c: Ditto.
* infcall.c: Ditto.
* infcmd.c: Ditto.
* inflow.c: Ditto.
* infrun.c: Ditto.
* inline-frame.h: Ditto.
* language.c: Ditto.
* language.h: Ditto.
* libunwind-frame.c: Ditto.
* libunwind-frame.h: Ditto.
* linespec.c: Ditto.
* linux-nat.c: Ditto.
* linux-nat.h: Ditto.
* linux-thread-db.c: Ditto.
* machoread.c: Ditto.
* macroexp.c: Ditto.
* macrotab.c: Ditto.
* main.c: Ditto.
* maint.c: Ditto.
* mdebugread.c: Ditto.
* memattr.c: Ditto.
* minsyms.c: Ditto.
* monitor.c: Ditto.
* monitor.h: Ditto.
* objfiles.c: Ditto.
* objfiles.h: Ditto.
* osabi.c: Ditto.
* p-typeprint.c: Ditto.
* p-valprint.c: Ditto.
* parse.c: Ditto.
* printcmd.c: Ditto.
* proc-events.c: Ditto.
* procfs.c: Ditto.
* progspace.c: Ditto.
* progspace.h: Ditto.
* psympriv.h: Ditto.
* psymtab.c: Ditto.
* record.c: Ditto.
* regcache.c: Ditto.
* regcache.h: Ditto.
* remote-fileio.c: Ditto.
* remote.c: Ditto.
* ser-mingw.c: Ditto.
* ser-tcp.c: Ditto.
* ser-unix.c: Ditto.
* serial.c: Ditto.
* serial.h: Ditto.
* solib-frv.c: Ditto.
* solib-irix.c: Ditto.
* solib-osf.c: Ditto.
* solib-pa64.c: Ditto.
* solib-som.c: Ditto.
* solib-sunos.c: Ditto.
* solib-svr4.c: Ditto.
* solib-target.c: Ditto.
* solib.c: Ditto.
* somread.c: Ditto.
* source.c: Ditto.
* stabsread.c: Ditto.
* stabsread.c: Ditto.
* stack.c: Ditto.
* stack.h: Ditto.
* symfile-mem.c: Ditto.
* symfile.c: Ditto.
* symfile.h: Ditto.
* symmisc.c: Ditto.
* symtab.c: Ditto.
* symtab.h: Ditto.
* target-descriptions.c: Ditto.
* target-memory.c: Ditto.
* target.c: Ditto.
* target.h: Ditto.
* terminal.h: Ditto.
* thread.c: Ditto.
* top.c: Ditto.
* tracepoint.c: Ditto.
* tracepoint.h: Ditto.
* ui-file.c: Ditto.
* ui-file.h: Ditto.
* ui-out.h: Ditto.
* user-regs.c: Ditto.
* user-regs.h: Ditto.
* utils.c: Ditto.
* valarith.c: Ditto.
* valops.c: Ditto.
* valprint.c: Ditto.
* valprint.h: Ditto.
* value.c: Ditto.
* varobj.c: Ditto.
* varobj.h: Ditto.
* vec.h: Ditto.
* xcoffread.c: Ditto.
* xcoffsolib.c: Ditto.
* xcoffsolib.h: Ditto.
* xml-syscall.c: Ditto.
* xml-tdesc.c: Ditto.
|
|
|
|
when attaching, on the names in bkpt_names: _start, __start, and
main.
|
|
Rename and move inferior_thread_state and inferior_status.
* gdbthread.h (struct thread_control_state): New struct, move fields
step_range_start, step_range_end, step_frame_id, step_stack_frame_id,
trap_expected, proceed_to_finish, in_infcall, step_over_calls,
stop_step and stop_bpstat here from struct thread_info.
(struct thread_suspend_state): New struct, move field stop_signal here
from struct thread_info.
(struct thread_info): Move the fields above from this struct.
* inferior.h: Move the inferior_thread_state and inferior_status
declarations comment to their definitions at infrun.c.
(struct inferior_control_state): New struct, move field stop_soon from
struct inferior here.
(struct inferior_suspend_state): New empty struct.
(struct inferior): New fields control and suspend. Move out field
stop_soon.
* infrun.c (struct inferior_thread_state): Rename to ...
(infcall_suspend_state): ... here. Replace field stop_signal by
fields thread_suspend and inferior_suspend.
(save_inferior_thread_state): Rename to ...
(save_infcall_suspend_state): ... here. New variable inf. Update the
code for new fields.
(restore_inferior_thread_state): Rename to ...
(restore_infcall_suspend_state): ... here. New variable inf. Update
the code for new fields.
(do_restore_inferior_thread_state_cleanup): Rename to ...
(do_restore_infcall_suspend_state_cleanup): ... here.
(make_cleanup_restore_inferior_thread_state): Rename to ...
(make_cleanup_restore_infcall_suspend_state): ... here.
(discard_inferior_thread_state): Rename to ...
(discard_infcall_suspend_state): ... here.
(get_inferior_thread_state_regcache): Rename to ...
(get_infcall_suspend_state_regcache): ... here.
(struct inferior_status): Rename to ...
(struct infcall_control_state): ... here. Replace fields
step_range_start, step_range_end, step_frame_id, step_stack_frame_id,
trap_expected, proceed_to_finish, in_infcall, step_over_calls,
stop_step, stop_bpstat and stop_soon by fields thread_control and
inferior_control.
(save_inferior_status): Rename to ...
(save_infcall_control_state): ... here. Update the code for new
fields.
(restore_inferior_status): Rename to ...
(restore_infcall_control_state): ... here. Update the code for new
fields.
(do_restore_inferior_status_cleanup): Rename to ...
(do_restore_infcall_control_state_cleanup): ... here.
(make_cleanup_restore_inferior_status): Rename to ...
(make_cleanup_restore_infcall_control_state): ... here.
(discard_inferior_status): Rename to ...
(discard_infcall_control_state): ... here.
* alpha-tdep.c, breakpoint.c, dummy-frame.c, dummy-frame.h,
exceptions.c, fbsd-nat.c, gdbthread.h, infcall.c, infcmd.c,
inferior.c, inferior.h, infrun.c, linux-nat.c, mi/mi-interp.c,
mips-tdep.c, procfs.c, solib-irix.c, solib-osf.c, solib-spu.c,
solib-sunos.c, solib-svr4.c, thread.c, windows-nat.c: Update all the
references to the moved fields and renamed functions.
|
|
Fix attaching to re-prelinked executables on ppc64.
* solib-svr4.c (svr4_exec_displacement): New variable plt2_asect,
initialize it, try to adjust FILESZ field by it.
|
|
* solib-svr4.c (solib_break_names): Constify.
(bkpt_names, main_name_list): Constify.
(match_main): Constify soname arg.
(bfd_lookup_symbol): Constify symname arg.
(enable_break): Constify bkpt_namep.
* symtab.c (search_symbols): Constify types, types2, types3, types4.
(symtab_symbol_info): Constify classnames.
|
|
Fix re-run of PIE executable, PR shlibs/11776.
* solib-svr4.c (svr4_relocate_main_executable) <symfile_objfile>: Remove
the part of pre-set SYMFILE_OBJFILE->SECTION_OFFSETS.
gdb/testsuite/
Fix re-run of PIE executable, PR shlibs/11776.
* gdb.base/break-interp.exp (test_ld): Turn off "disable-randomization".
Remove $displacement_main to match the solib-svr4.c change. New "kill"
and re-"run" of the inferior.
|
|
* auxv.c (memory_xfer_auxv): Update attach comment.
* solib-svr4.c (svr4_special_symbol_handling): Remove the call to
svr4_relocate_main_executable.
(svr4_solib_create_inferior_hook): Make the call to
svr4_relocate_main_executable unconditional.
gdb/testsuite/
* gdb.base/attach-pie-misread.exp, gdb.base/attach-pie-misread.c: New.
* gdb.base/break-interp.exp (reach, test_core, test_ld): Require each
displacement message exactly once.
|
|
Fix attaching to PIEs prelinked on the disk after the process was
started.
* solib-svr4.c (svr4_exec_displacement): New variable arch_size.
Verify it against bfd_get_arch_size. Try to match arbitrary
displacement for the phdrs comparison.
gdb/testsuite/
* gdb.base/break-interp.exp: Run $binpie with new value "ATTACH", new
code for it. New variable relink_args.
(prelinkYES): Call prelinkNO.
(test_attach): Accept new parameter relink_args. Re-prelink the binary
in such case. Move the core code to ...
(test_attach_gdb): ... a new function. Send GDB command "file".
Extend expected "Attaching to " string.
|
|
* scm-exp.c: White space.
* scm-lang.c: White space.
* scm-valprint.c: White space.
* sentinel-frame.c: White space.
* ser-base.c: White space.
* ser-go32.c: White space.
* serial.c: White space.
* ser-mingw.c: White space.
* ser-pipe.c: White space.
* ser-tcp.c: White space.
* ser-unix.c: White space.
* solib.c: White space.
* solib-darwin.c: White space.
* solib-frv.c: White space.
* solib-irix.c: White space.
* solib-osf.c: White space.
* solib-pa64.c: White space.
* solib-som.c: White space.
* solib-spu.c: White space.
* solib-svr4.c: White space.
* solib-target.c: White space.
* source.c: White space.
* stabsread.c: White space.
* stack.c: White space.
* std-regs.c: White space.
* symfile.c: White space.
* symmisc.c: White space.
* symtab.c: White space.
|
|
* solib-svr4.c (find_program_interpreter): Delete unused variable.
(svr4_solib_create_inferior_hook): Add ifdef around
conditionally-used variable declarations.
|
|
2010-04-27 Joel Brobecker <brobecker@adacore.com>
* solib-svr4.c (solib_svr4_r_map): Expand function description.
|
|
Fix deadlock on looped list of loaded shared objects.
* solib-svr4.c (LM_PREV): New function.
(IGNORE_FIRST_LINK_MAP_ENTRY): Use it.
(svr4_current_sos): Check for correct l_prev. New variables prev_lm
and next_lm. Clear prev_lm for solib_svr4_r_ldsomap.
* config/djgpp/fnchange.lst: Add translation for solib-corrupted.exp.
gdb/testsuite/
Fix deadlock on looped list of loaded shared objects.
* gdb.base/solib-corrupted.exp: New.
|