* gdbserver/acconfig.h: New file.
* gdbserver/i387-fp.c: New file.
* gdbserver/i387-fp.h: New file.
* gdbserver/linux-x86-64.c: New file.
* regformats/reg-x86-64.dat: New file.
* configure.tgt: Add x86_64-*-linux* gdbserver support.
& gdbserver/configure.srv: Add x86_64-*-linux* and regset support.
* gdbserver/configure.in: Add support for regsets.
* gdbserver/config.in: Regenerate.
* gdbserver/configure: Regenerate.
* gdbserver/Makefile.in: Likewise. Add $(linux_low_h).
* gdbserver/linux-low.h: New file.
* gdbserver/linux-low.c: Include "linux-low.h". Add support
for regsets.
* gdbserver/linux-arm-low.c: Include "linux-low.h".
* gdbserver/linux-ia64-low.c: Include "linux-low.h".
* gdbserver/linux-m68k-low.c: Include "linux-low.h".
* gdbserver/linux-mips-low.c: Include "linux-low.h".
* gdbserver/linux-ppc-low.c: Include "linux-low.h".
* gdbserver/linux-sh-low.c: Include "linux-low.h".
* gdbserver/linux-i386-low.c: Include "linux-low.h". Include
"i387-fp.h". Add PTRACE_GETREGS and friends.
* gdbserver/regcache.c (supply_register): New function.
(supply_register_by_name): New function.
(collect_register): New function.
(collect_register_by_name): New function.
* regformats/reg-i386-linux.dat: New file, with $orig_eax.
* gdbserver/Makefile.in: Add rules for reg-i386-linux.o.
* gdbserver/configure.srv: Change i386-*-linux* to use
reg-i386-linux.o.
(gdb_assert.h): Include.
(x86_64_register_convert_to_virtual,
x86_64_register_convert_to_raw ): Add check which lets only
floating-point values to be converted.
(value_push): Delete.
(x86_64_push_arguments): Order of arguments pushed on stack fixed.
(i386_gdbarch_init): Number of register_bytes fixed.
m68k_linux_frame_saved_pc.
(IN_SIGTRAMP): Define as m68k_linux_in_sigtramp instead of
in_sigtramp.
(SIGCONTEXT_PC_OFFSET): Remove.
* m68klinux-nat.c (m68k_linux_frame_saved_pc,
m68k_linux_sigtramp_saved_pc): New functions.
(IS_SIGTRAMP, IS_RT_SIGTRAMP): Define.
(SIGCONTEXT_PC_OFFSET): Moved here from config/m68k/tm-linux.h.
(UCONTEXT_PC_OFFSET): Define.
(m68k_linux_in_sigtramp): Renamed from in_sigtramp, handle both
non-RT and RT signal trampolines.
if it already matches the current architecture from the exec file.
Include arch-utils.h for gdbarch_info_init prototype.
* Makefile.in (rs6000-nat.o): Update dependencies.
* gdbserver/configure.srv: New file.
* gdbserver/configure.in: Use configure.srv instead
of the host/target makefile fragments. Set GDBSERVER_DEPFILES
from it.
* gdbserver/configure: Regenerated.
* gdbserver/terminal.h: New file.
* gdbserver/Makefile.in: Update for configure changes. Remove
more unneeded include paths.
IN_SOLIB_CALL_TRAMPOLINE and SKIP_TRAMPOLINE_CODE
* config/arm/tm-linux.h (IN_SOLIB_CALL_TRAMPOLINE): Replace old
definition with undef, since we don't want the sysvr4 definition.
(SKIP_TRAMPOLINE_CODE): Likewise.
canonicalize_file_name Regenerated.
* config.in, configure: Regenerated.
* utils.c: (gdb_realpath) If HAVE_CANONICALIZE_FILE_NAME is
defined use canonicalize_file_name.
2002-02-21 Fred Fish <fnf@redhat.com>
* dbxread.c (process_one_symbol): When finding an N_FUN symbol
that marks the end of the range of a function, enter a line number
entry that has a line number of zero and a PC offset that matches
the end of the function. This starts a range of PC's for which no
line number information is known.
* symtab.c (find_pc_sect_line): If our best fit is in a range of
PC's for which no line number info is found (line number is zero)
then we didn't find any valid line information.
* symtab.h: Document use of zero line number entry.
* ppc-linux-nat.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Define.
(have_ptrace_getvrregs): Define for run time checks.
(gdb_vrregset_t): New type for Altivec register handling.
(fetch_register, store_register): Fetch/store altivec register
when needed.
(fetch_altivec_register, store_altivec_register): New functions.
(supply_vrregset, fill_vrregset): New functions.
(fetch_altivec_registers, store_altivec_registers): New functions.
(fetch_ppc_registers, store_ppc_registers): Fetch/store altivec
registers as well.
* armnbsd-nat.c (supply_gregset): New function. Common code to
supply the integer register set.
(supply_fparegset): New function. Similar for FPA registers.
(fetch_regs, fetch_fp_regs): Use them.
(fetch_core_registers): Likewise.
(fetch_elfcore_registers): New function.
(arm_netbsd_elfcore_fns): New core-file type specification.
(_initialize_arm_netbsd_nat): Register it.
(FETCH_INFERIOR_REGISTERS): Just error if this isn't defined.
(fetch_regs, fetch_fp_regs, store_regs, store_fp_regs): Add explicit
'void' to declaration, to shut up ARI.
(fetch_core_registers): Make static. Rewrite using supply_register.
(arm_netbsd_core_fns): New core-file type specification.
(_initialize_arm_netbsd_nat): New function.
(struct gdbarch_tdep): Add fp_model.
* arm-tdep.c (arm_gdbarch_init): Set fp_model in tdep. Defer setting
up floating-point conversions until we know the floating-point model
in use by the inferior. Don't complain about being unable to
determine the ABI of the inferior when we don't have one.
(arm_extract_return_value): Support different floating-point models.
(arm_store_return_value): Likewise.
* armnbsd-tdep.c (arm_netbsd_aout_init_abi): Set fp_model in tdep to
ARM_FLOAT_SOFT.
(arm_netbsd_elf_init_abi): Set fp_model to ARM_FLOAT_SOFT_VFP.
function.
(arm_netbsd_aout_init_abi): Initialize IN_SOLIB_CALL_TRAMPOLINE.
* config/arm/tm-nbsd.h: Don't include config/tm-nbsd.h, it only
defines one thing and that is incorrect for this port.
(IN_SOLIB_CALL_TRAMPOLINE): Delete.
* win32-nat.c (display_selector): New function. Displays information
about the information returned by GetThreadSelectorEntry API function.
(display_selectors): New function. Displays the infomation of
the selector given as argument, or of CS, DS ans FS selectors
if no argument is given.
( _initialize_inftarg): Add "w32" as info prefix command.
Add "info w32 selector" as command calling display_selectors.
* ppc-linux-nat.c: Update copyright.
(fetch_register, store_register): Add tid parameter, don't compute
tid here.
(fetch_ppc_registers, store_ppc_registers): Add tid
parameter. Pass it along to callees.
(fetch_inferior_registers, store_inferior_registers): Compute tid
here, and pass it to calleed functions.
(fill_gregset, supply_fpregset): Clean up formatting.
* gdbarch.c gdbarch.h: Regenerate.
* breakpoint.c (create_longjmp_breakpoint): Always compile this
function.
(breakpoint_reset): Test GET_LONGJMP_TARGET_P().
* infrun.c (GET_LONGJMP_TARGET): Delete default definition.
(handle_inferior_event): Test GET_LONGJMP_TARGET_P().
* arm-tdep.h (struct gdbarch_tdep): Add jb_pc and jb_elt_size fields.
* arm-tdep.c (arm_get_longjmp_target): New function.
(arm_gdbarch_init): Initialize jb_pc to -1. If ABI handler changes
this to a positive value register arm_get_longjmp_target as the
longjmp handler.
* arm-linux-tdep.c (arm_get_longjmp_target): Delete.
(arm_linux_init_abi): Set up longjmp description in tdep.
* armnbsd-nat.c (get_longjmp_target): Delete.
* armnbsd-tdep.c (arm_netbsd_init_abi_common): Set up longjmp
description in tdep.
* config/arm/tm-nbsd.h (JB_ELEMENT_SIZE, JB_PC): Delete.
(get_longjmp_target): Delete declaration.
(GET_LONGJMP_TARGET): Delete.
* config/arm/tm-linux.h (arm_get_longjmp_target): Delete declaration.
(GET_LONGJMP_TARGET): Delete.
(complete_command): Only print each unique item once.
* completer.h (complete_line): Declare.
* completer.c (complete_line): New function.
(line_completion_function): Use it.
* valarith.c (value_x_unop): Fix decrement; support post-decrement.
2002-02-16 Daniel Jacobowitz <drow@mvista.com>
From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>:
* valops.c (value_arg_coerce): Don't take the address of a reference
to convert an argument to a reference.
(handle_load_dll): Use get_image_name function.
(get_child_debug_event): Avoid registering debug events until possibly execed
process is started.
(child_create_inferior): Allow invocation via shell so that command line
redirection, etc. works ok.
(_initialize_inftarg): Add new command: "set shell" to control whether a shell
is used to start a process.
(struct gdbarch_tdep): New structure.
(LOWEST_PC): Provide a default.
(arm_gdbarch_register_os_abi): Declare new function.
* arm-tdep.c (arm_abi_names): New array.
(process_note_abi_tag_sections): New function.
(get_elfosabi): New function.
(arm_gdbarch_register_os_abi): New function.
(arm_gdbarch_init): Try to determine the ABI of the inferior. If
support for that ABI has been built in, then call the appropriate
configuration routine. Use gdbarch_num_regs() to get the number
of registers.
(arm_dump_tdep): New function.
(arm_init_abi_eabi_v1, arm_init_abi_eabi_v2, arm_init_abi_apcs): New
place-holder functions.
(_initialize_arm_tdep): Register them.
* config/arm/tm-arm.h (LOWEST_PC): Delete.
* armnbsd-tdep.c: New file.
* Makefile.in (armnbsd-tdep.o): Add dependencies.
* config/arm/nbsd.mt (TDEPFILES): Add it.
* config/arm/tm-nbsd.h (LOWEST_PC): Delete.
* armnbsd-nat.c: Include regcache.h.
* Makefile.in (armnbsd-nat.o): Update dependency list.
* arm-tdep.c (arm_get_next_pc): Use printf_filtered for error message.