From Grant Edwards <grante@visi.com>
This keeps the GUI alive while running an RDI target and lets the
STOP button be used to stop the target.
* remote-rdi.c (arm_rdi_stop): New function. Implements target_stop.
(init_rdi_ops): Set to_stop target vector entry to the above.
* rdi-share/ardi.c (stop_request): New variable. Tells when a stop
has been requested.
(angel_RDI_stop_request): New function. Registers that a stop has
been requested.
(angel_RDI_ExecuteOrStep): Add call to ui_loop_hook() in loop that
waits while target is executing. Initialize and reset stop_request.
* rdi-share/ardi.h: Add declaration of angel_RDI_stop_request().
From Daniel Berlin <dberlin@redhat.com> :
* symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Initialize the symbol
language to auto instead of unknown, so it will try to demangle
the symbol.
* symtab.h (OPNAME_PREFIX_P): Change operator prefix to correct value.
* symtab.c (gdb_mangle_name): Properly handle C++ operators.
From Daniel Berlin <dberlin@redhat.com> :
* symtab.c (lookup_symbol_aux): New function. Renamed from
lookup_symbol. Move code to do demangling/case sensitivity to
lookup_symbol().
(lookup_symbol): Now wrapper for lookup_symbol_aux, so we can
perform case sensitivity/demangling without leaking memory. Move
code to do demangling/case sensitivity from old_lookup_symbol to
here.
(lookup_partial_symbol): Use SYMBOL_SOURCE_NAME instead of
SYMBOL_NAME.
(lookup_block_symbol): Use SYMBOL_SOURCE_NAME instead of
SYMBOL_NAME. Don't do linear search in case of C++.
* symfile.c (compare_symbols): Use SYMBOL_SOURCE_NAME instead of
SYMBOL_NAME.
(compare_psymbols): Same here.
for call dummy instead of accessing stop_stack_dummy, which does
not work if we `return' from a stop in a call dummy.
(rs6000_gdbarch_init): Use generic_save_dummy_frame_tos for
dummy_frame_tos function to make PC_IN_CALL_DUMMY work.
OLD_CANNOT_FETCH_REGISTER): New definitions for accessible registers
when accessing the registers via the U area.
(fetch_register, store_register): Use them.
(cannot_fetch_register, cannot_store_register): New functions,
all registers should be accessible if we have GETREGS support.
* config/i386/nm-linux.h: Use cannot_fetch/store_register for
CANNOT_FETCH/STORE_REGISTER definitions.
(lin_lwp_wait): Block SIGCHLD here if it isn't already blocked.
(lin_lwp_mourn_inferior): Restore the origional signal mask, and
reset the mask of blocked signals.
(_initialize_lin_lwp): Don't block SIGCHLD here, but do initialize
suspend_mask and blocked_mask. This makes us pass
gdb.base/sigall.exp for Linux/x86 now.
(lin_thread_get_thread_signals): Treat the LinuxThreads "cancel"
signal similarly to SIGCHLD in the generic code. Avoids GDB being
terminated by a Real-time signal.
* i386nbsd-nat.c (i386nbsd_use_struct_convention): Moved from here.
* i386nbsd-tdep.c (i386nbsd_use_struct_convention): To here.
* i386nbsd-tdep.c: New file.
* remote-rdi.c (voiddummy): Update function signature to match
struct Dbg_HostosInterface's reset method.
* remote-rdp.c (rdp_step): Fix handle parameter to
remote_rdp_insert_breakpoint and remote_rdp_remove_breakpoint.
* arm-tdep.c (SIGCONTEXT_REGISTER_ADDRESS_P): Provide default
definition.
(arm_init_extra_frame_info): Use.