* minsyms.c: #include <ctype.h>, for msymbol_hash_iw.
(compact_minimal_symbols): Added `objfile' argument.
Put symbols in the objfile's hash table.
(install_minimal_symbols): Put symbols in the objfile's demangled
hash table.
(lookup_minimal_symbol): Use hash table to find symbol in
objfile.
(msymbol_hash_iw, msymbol_hash, add_minsym_to_hash_table): New
functions.
(prim_record_minimal_symbol_and_info): Initialize the
hash link fields of the new minimal symbol.
* symtab.h (struct minimal_symbol): New fields `hash_next',
`demangled_hash_next'.
(msymbol_hash_iw, msymbol_hash, add_minsym_to_hash_table): Declare.
* objfiles.h (MINIMAL_SYMBOL_HASH_SIZE): New define.
(struct objfile): New fields `msymbol_hash',
`msymbol_demangled_hash'.
* i386-linux-nat.c: Use elf_gregset_t and elf_fpregset_t instead
of gregset_t and fpregset_t. Those are the only names that are
guaranteed to specify the right types for all supported Linux
systems out there.
Various doc fixes and gratitious local variable renames, all in an
attempt to stress similarities between the code and unify the
terminology used. Use ISO-C all over.
(regmap): Remove trailing comma.
(FPREG_ADDR): Renamed from FPREGSET_T_FPREG_ADDR.
(convert_to_gregset): Make static. Remove GDB_REGS argument. It
is unnecessary and wasn't used anyway. All callers changed.
(convert_to_fpregset, convert_to_xfpregset): Likewise.
(fetch_regs, store_regs): Remove unused variable `regno'.
(fill_fpregs): If REGNO is not -1, only update the specified
register.
(fetch_core_registers): Renamed from
i386_linux_fetch_core_registers. There is no need for a unique
name since the function is static anyway.
(linux_elf_core_fns): Renamed from i386_linux_nat_core_functions
since it is more descriptive.
Fix support for Linux/i386 signal trampolines. The old approach
didn't work for Linux 2.2 and beyond, and didn't work with recent
versions of the GNU C library.
* i386-tdep.c (LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0,
LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1): New defines.
(linux_rt_sigtramp_code): New variable.
(LINUX_RT_SIGTRAMP_LEN): New define.
(i386_linux_rt_sigtramp_start): New function. Detect start of
signal trampolines for RT signals.
(i386_linux_sigtramp): Removed.
(i386_linux_in_sigtramp): New function.
(i386_linux_sigcontext_addr): New function. Recognize the names
of the signal tranmpolines used by recent versions of the GNU C
library, and add support for RT signals.
(LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET): New
defines. Moved here from config/i386/tm-linux.h.
(i386_linux_sigtramp_saved_pc, i386_linux_sigtramp_saved_sp):
Reimplement in terms of i386_linux_sigcontext_addr.
* config/i386/tm-linux.h (LINUX_SIGCONTEXT_SIZE): Removed.
(LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET):
Moved to i386-tdep.c.
(IN_SIGTRAMP): Redefine to call i386_linux_in_sigtramp.
* defs.h (struct continuation_arg): Change type of field 'data'
from PTR to void *.
* event-loop.h: Eliminate uses of PTR, use 'void *' instead.
* event-top.c: Ditto.
* arm-linux-nat.c (fetch_nw_fpe_*):
Renamed to fetch_nwfpe_* to use the same naming convention
as in the Linux kernel. Modified prototype to get rid of
unused parameters.
(store_nw_fpe_*): Renamed to store_nwfpe_* to use the same
naming convention as in the Linux kernel. Fixed calls to
fetch_nwfpe_*.
(store_fpregs): Fixed calls to store_nwfpe_*. Removed
unused variable.
* gnu-nat.c: Include "gdbthread.h". Include <hurd.h>.
Reorder headers a bit. Overall cleanup and minor reformatting.
(MIG_SERVER_DIED): Remove define.
(proc_update_sc): Add braces to silence compiler warning.
(proc_steal_exc_port): Initialize err to zero.
(make_proc): Add braces to silence compiler warning.
(inf_validate_task_sc): Add cast to silence compiler warning.
(inf_set_traced): Reorganize a bit to silence compiler warning.
(inf_validate_procs): Use mach_msg_type_number_t for all thread
numbers and add braces to silence compiler warning.
(gnu_wait): Add prototypes for server functions and add braces to
silence compiler warnings.
(S_exception_raise_request): Pass subcode to inf_debug call.
(gnu_write_inferior): Remove unused variable `protection_changed'.
(gnu_xfer_memory): Remove unused variable `result'.
(set_sig_thread_cmd): Remove unused varible `tid'.
(set_signals_cmd): Remve unused variable `trace'.
(add_task_commands): Provide complete prototype. Reformat help
strings a bit to make sure the first line is a full sentence.
Call info_port_rights_cmd instead of info_send_rights_cmd for the
"info port-rights" command.
(add_thread_commands): Provide complete prototype. Make static.
Reformat help strings a bit to make sure the first line is a full
sentence.
(_initialize_gnu_nat): Provide complete prototype.
Make cross-compilation for the Hurd more friendly.
From Jeff Bailey <jbailey@gnu.org>:
* configure.in: Use AC_CHECK_TOOL to find MiG.
* Makefile.in (MIG): New variable.
* config/i386/i386gnu.mh (MIG): Remove.
* configure: Regenerated.