i386_linux_sigtramp_saved_sp): Make static.
(i386_linux_frame_saved_pc): New function based on the old
FRAME_SAVED_PC macro, but use read_memory_unsigned_integer instead
of read_memory_integer.
* config/i386/tm-linux.h (sigtramp_saved_pc): Remove definition.
(i386_linux_sigtramp_saved_pc): Remove prototype.
(FRAME_SAVED_PC): Redefine in terms of i386_linux_frame_saved_pc.
(i386_linux_frame_saved_pc): New prototype.
functions.
* config/i386/tm-i386.h (PUSH_ARGUMENTS): New macro.
(STORE_STRUCT_RETURN): Redefine in terms of
i386_store_struct_return.
(i386_push_arguments, i386_store_struct_return): New prototypes.
* config/i386/tm-i386v.h (STORE_STRUCT_RETURN): Remove. It's
definition was identical to the definition in "i386/tm-i386.h" so
the new definition should suffice too.
* ser-go32.c (rawclock): Remove prototype; include time.h instead.
(ISR, dos_hookirq, isr_t): Convert K&R definition to ANSI C.
(top level) <string.h>: Include gdb_string.h instead.
(dos_noop, dos_raw, dos_noflush_set_tty_state)
(dos_print_tty_state, dos_info): Remove ATTRIBUTE_UNUSED.
* go32-nat.c (go32_create_inferior): Move the declaration of
`environ' to here from the top level.
(top level) <_initialize_go32_nat>: Remove redundant prototype.
<gdb_string.h>: Include it instead of string.h.
(store_register): Call register_buffer instead of accessing
registers[] directly.
(redir_cmdline_delete, redir_cmdline_parse, redir_to_debugger)
(redir_to_debugger, redir_debug_init) [__DJGPP_MINOR__ < 3]: Put
the function names at the start of the line.
(go32_set_dr): Throw internal_error if the argument is not a valid
debug register number.
(go32_open, go32_close, go32_attach, go32_detach, go32_resume)
(go32_wait, go32_xfer_memory, go32_files_info)
(go32_terminal_info): Remove ATTRIBUTE_UNUSED.
From Andrew Cagney <ac131313@redhat.com>
* coffread.c: Include "gdb_assert.h".
(coff_symtab_read): Cast the integer s_sclass to a long before
casting it to a pointer.
From Andrew Cagney <ac131313@redhat.com>
* coffread.c (coff_symtab_read): Initialize
``fcn_first_line_addr''. Check that the ``.bf'' always preceeds
the ``.ef'' info.
* dbxread.c (find_text_range): Initialize ``start'' and ``end''.
xmrealloc): Move existing declarations to the one place and
re-order to be consistent.
(xmcalloc, xmfree): Declare.
(xmmalloc, xmrealoc): Assume ISO-C - use size_t and void* in
declaration.
* utils.c (size_t): Delete #ifdef defining size_t.
(mmalloc, mrealloc, mcalloc, mfree): Re-order.
(mmalloc, mrealloc, mcalloc): Document as only calls in GDB
corresponding malloc, realloc, calloc.
(mfree): Call free directly.
(xmmalloc, xmrealloc): Clean up. Assume ISO-C.
(xmcalloc, xmfree): New functions. Copy old xcalloc and xfree
function bodies to here.
(xcalloc, xfree): Call xmcalloc and xmfree respectfully.
and watchpoints on x86 targets.
* i386-linux-nat.c: Doc fixes. Include "gdb_assert.h".
[HAVE_SYS_DEBUGREG_H]: Include <sys/debugreg.h>.
(DR_FIRSTADDR, DR_LASTADDR, DR_STATUS, DR_CONTROL): Define to
appropriate value if not already defined.
(register_u_addr): New function.
(kernel_u_size): New function.
(i386_linux_dr_get, i386_linux_dr_set): New functions.
(i386_linux_dr_set_control, i386_linux_dr_set_addr,
i386_linux_reset_addr, i386_linux_dr_get_status): New functions.
* config/i386/nm-linux.h: Don't include "nm-i386v.h".
(I386_USE_GENERIC_WATCHPOINTS): Define and include "nm-i386.h".
(TARGET_HAS_HARDWARE_WATCHPOINTS,
TARGET_CAN_USE_HARDWARE_WATCHPOINTS, HAVE_CONTINUABLE_WATCHPOINT,
STOPPED_BY_WATCHPOINT, target_insert_watchpoint,
target_remove_watchpoint): Remove macros.
(i386_stopped_by_watchpoint, i386_insert_watchpoint,
i386_remove_watchpoint): Remove prototypes.
(register_u_addr): New prototype.
(REGISTER_U_ADDR): Define in terms of register_u_addr.
(i386_linux_dr_set_control, i386_linux_dr_set_addr,
i386_linux_reset_addr, i386_linux_dr_get_status): New prototypes.
(I386_DR_LOW_SET_CONTROL, I386_DR_LOW_SET_ADDR,
I386_DR_LOW_RESET_ADDR, I386_DR_LOW_GET_STATUS): New macros.
* config/i386/linux.mh (NATDEPFILES): Replace i386v-nat.o with
i386-nat.o.
significant in *un*mangled method names. Use strcmp_iw to compare
them, not STREQ. (Fix from Daniel Berlin.)
* gdb/testsuite/gdb.c++/userdef.exp: Check that GDB tolerates whitespace in
unmangled operator names.
already defined.
From 2000-08-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>:
* stabsread.c (define_symbol): A parameter ('R'), a local ('r'),
or a reference ('a') can be in a pseudo register.
* infcmd.c (do_registers_info): Must take into account the pseudo
registers to print their value.
(registers_info): Likewise.
* stack.c (frame_info): Likewise.
* frame.h (SIZEOF_FRAME_SAVED_REGS): Save the pseudo registers.
bfd_get_section_name.
(compare_sections_command): Ditto.
(remote_cisco_section_offsets): Make ``p'' a const pointer.
(compare_sections_command): Ditto for ``sectname''.
h8300_frame_args_address from frame_args_address.
(FRAME_LOCALS_ADDRESS): Changed to use h8300_frame_locals_address
from frame_locals_address.
(PRINT_REGISTER_HOOK): Changed to use h8300_print_register_hook
from print_register_hook.
(h8300_frame_args_address): Declare.
(h8300_frame_find_saved_regs): Declare.
(h8300_frame_locals_address): Declare.
(h8300_frame_saved_pc): Declare.
(h8300_pop_frame): Declare.
(h8300_print_register_hook): Declare.
* h8300-tdep.c (h8300_frame_find_saved_regs): Removed declaration.
(h8300_frame_args_address): Renamed from frame_args_address.
(h8300_frame_locals_address): Renamed from frame_locals_address.
(h8300_pop_frame): Renamed from pop_frame.
(h8300_print_register_hook): Renamed from print_register_hook.
-------------------------------------------------------------------
file -- to prevent failing when the compile fails but we have no
intention of running the tests anyway.
* gdb.base/long_long.exp: Test target_info for no_long_long, skip
tests if set.
* gdb.base/maint.exp: Support 2 byte integers as well as 4 byte
integers.
* gdb.c++/ctti.exp: Skip tests if skip_cplus_tests returns true.
* gdb.c++/namespace.exp: Ditto.
Fix PR gdb/16.
handle the situation where the argument is an integer, not an
address -- arguably the most common case. This matters on
targets where pointers and addresses are different.
floatformat_is_nan and floatformat_mantissa.
* utils.c: Include "gdb_assert.h".
(floatformat_is_negative): New function.
(floatformat_is_nan): New function.
(floatformat_mantissa): New function.
* valprint.c: Include "floatformat.h".
(print_floating): Get rid of the Linux-specific
TARGET_ANALYZE_FLOATING macro and rewrite NaN detection with the
help these new functions. Print NaN's in a format conforming to
ISO C99.
which define include paths used when compiling.
* util.c (savestring, msavestring): Change type of length argument.
* defs.h (savestring, msavestring): Update to match.
* ocd.c (ocd_xfer_memory): Ditto.
* ser-ocd.c (ocd_setstopbits): New function. Add to ocd_ops.
* MAINTAINERS: Document powerpc-eabi and powerpcle-eabi as
buildable with ,-Werror.
* Makefile.in (symfile_h): Define.
(mcore-tdep.o): Add $(symfile_h), $(gdbcore_h) and $(inferior_h).
* mcore-tdep.c: Include "symfile.h", "gdbcore.h" and "inferior.h".
* MAINTAINERS: Document mcore-elf and mcore-pe as buildable with
,-Werror.
* dsrec.c (make_srec): Fix internal_error fmt arg.
* MAINTAINERS: Document i960-coff as buildable with ,-Werror.
* mn10200-tdep.c (mn10200_frame_chain): Pass 0 for ``pc''
parameter to mn10200_analyze_prologue.
* config/mn10200/tm-mn10200.h: Include "regcache.h".
* MAINTAINERS: Document that mn10200-elf target is buildable.
* printcmd.c (print_address_numeric): Update comments to refer
to sizeof addr, not sizeof pointer.
(x_command): Remove needless whitespace (shorten long line).
! 2001-02-10 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
! 2001-02-10 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
! 2001-02-10 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
! 2001-01-27 Christopher Faylor <cgf@cygnus.com>
* configure.tgt: Recognize sparc64-*-linux* as a sp64linux target.
* configure.host: Recognize sparc64-*-linux* as a linux host.
From 2000-03-17 Jakub Jelinek <jakub@redhat.com>:
* config/sparc/tm-sp64linux.h: New file.
From Peter Schauer <Peter.Schauer@regent.e-technik.tu-muenchen.de>
* symtab.c (lookup_symbol_aux): Call lookup_symbol_aux, not
lookup_symbol, when trying to find a symbol with a mangled name,
to avoid infinite recursion.
* gdb.base/commands.exp (infrun_breakpoint_command_test):
Converted HPUX fix for non-expected items following multiple
step commands into general solution for all platforms.
(_initialize_demangler): Fill demangling_style_names with the
names of known demangling styles from libiberty_demanglers[]. Use
add_set_enum_cmd instead of add_set_cmd, to get completion on
demangling style names.
* proc-api.c (_initialize_proc_api): Make `procfs-file' use
file-name completion.
* remote-rdi.c (_initialize_remote_rdi): Ditto for `rdilogfile'.
* solib.c (_initialize_solib): Ditto for `solib-search-path' and
`solib-absolute-prefix'.
* tracepoint.c (_initialize_tracepoint): Ditto for
`save-tracepoints'.
* win32-nat.c (_initialize_inftarg): Ditto for `dll-symbols'.
* cli/cli-cmds.c (init_cli_cmds): Make `shell' and `make' use
file-name completion.
* infcmd.c (_initialize_infcmd): Make the following commands use
the file-name completer: `tty', `args', `path', `paths', and
`run'.
* gdb.c++/classes.exp (do_tests): Change runto statements
from "runto 'foo(void)'" to "runto 'foo'". This makes the
statements demangler agnostic.
* gdb.c++/virtfunc.exp (do_tests): Likewise.
(gdb_virtfunc_restart): Likewise.
(fetch_register): New function, uses some of the guts of
go32_fetch_registers and i387_supply_register.
(go32_fetch_registers): Most of the code moved into
fetch_register. Use i387_supply_fsave.
(store_register): Use i387_fill_fsave instead of custom code.
(go32_store_registers): Use i387_fill_fsave.
* Makefile.in (go32-nat.o): Depend on i387-nat.h.
* config/i386/go32.mh (NATDEPFILES): Add i387-nat.o.
slash from file-name break characters.
[__MSDOS__]: Special definition for DOS/Windows file names.
(line_completion_function): When completing on file names, bump
`p' to the first file-name constituent character of `word', before
invoking the completer.
consistently for parameter names. Fix comments accordingly.
(i387_supply_register): New function.
(i387_supply_fsave): Implement using i387_supply_register.
* i387-nat.h: Use regnum instead of regno consistently for
parameter names. Fix comments accordingly.
(i387_supply_register): New prototype.
* gdb/somsolib.c (som_solib_add_solib_objfile): Do not use
section relocation feature of syms_from_objfile. Do my own
section relocation, offsetting each section of the som by
either text_addr - text_link_addr or data_start.
* gdb.c++/cplusfuncs.cc (dm_type_char_star): New function.
Helps the test script figure out which demangler is in use.
(dm_type_foo_ref): Ditto.
(dm_type_int_star): Ditto.
(dm_type_long_star): Ditto.
(dm_type_unsigned_int): Ditto.
(dm_type_void): Ditto.
(dm_type_void_star): Ditto.
* gdb.base/cplusfuncs.exp (probe_demangler): New function.
Probe the gdb demangler and set variables to accommodate
formatting differences.
(info_func_regexp): New function. Same as info_func, but
matches against a regexp.
(info_func): Match against a literal string.
(print_addr_2): New function. Match against a literal string,
which can be different from the input to gdb.
(print_addr): Simply call print_addr_2 with the same argument twice.
(test_lookup_operator_functions): Use demangler formatting variables.
Blow away the xfails and workarounds for gnats gdb bug gdb/18. Sort
the tests in the same order as the C++ class declaration.
(test_paddr_operator_functions): Ditto.
(test_paddr_overloaded_functions): Ditto.
(test_paddr_hairy_functions): Use demangler formatting variables.
Add reference to gdb/19 for related tests.
(do_tests): Call probe_demangler.
* xcoffsolib.c (xcoff_solib_address): Renamed from
pc_load_segment_name. Return NULL if address is not in a shared
library. Cleanup shared library name construction, using xasprintf.
Format shared library member names consistent with format in exec.c.
(solib_info): Format shared library member names consistent with
format in exec.c.
* config/rs6000/nm-rs6000.h: Replace PC_LOAD_SEGMENT with PC_SOLIB,
using xcoff_solib_address for PC_SOLIB definition.
* stack.c (print_frame): Remove PC_LOAD_SEGMENT code, no longer
needed.
allocated buffer.
(save_inferior_pid): Restore the PID from that tempoary
buffer. Delete the buffer.
* utils.c (make_cleanup_close, do_close_cleanup): Ditto for FD.
Submitted by Paul Hilfinger (hilfingr@gnat.com)
and Andrei Petrov (and@genesyslab.com).
* findvar.c: Buffers of size MAX_REGISTER_RAW_SIZE or REGISTER_BYTES
must be allocated dynamically, since these are no longer constants.
* infcmd.c: Ditto.
* regcache.c: Ditto.
* remote.c: Ditto.
* sol-thread.c: Ditto.
* valops.c: Ditto.
* config/sparc/sun4sol2.mh (MH_CFLAGS): Add -I/usr/include/v9, as a
work-around for a missing Sun header file in solaris for sparc64.
issue a message about truncation unless it exceeds the length of
an address, not the length of a pointer. This is because what the
user gives us is an address, not a pointer, and we will ultimately
convert it (via ADDRESS_TO_POINTER) to a pointer, not truncate it
to a pointer. This allows things like "print *(int *)0x01000234"
to work without generating a misleading message on a target having
two byte pointers and four byte addresses.
* sh-tdep.c: Update copyright.
(sh_extract_return_value): Rewrite.
(sh3e_sh4_extract_return_value): New function.
(sh_gdbarch_init): Initialize gdbarch_extract-return_value to new
version of the function for sh3e and sh4 CPUs.
* gdb.c++/ovldbreak.exp (take_gdb_out_of_choice_menu): New proc
to call when tests fail. It takes gdb out of the overloaded
function choice menu back to the main prompt, so that the test
program stays synchronized.
(set_bp_overloaded): New proc to collect all the common
code for setting a breakpoint on an overloaded name. Calls
take_gdb_out_of_choice_menu when needed.
(menu_overload1arg): New variable to collect the repeated
instances of the expected menu for an overloaded name. Change
the regular expression to handle changes in g++ type encoding:
"void" can be either "void" or "", and "unsigned int" can be
either "unsigned int" or "unsigned".
(continue_to_bp_overloaded): Change regular expressions to handle
changes in g++ type encoding.
(no proc): Call take_gdb_out_of_choice_menu when needed.
Remove redundant calls to "info break". Accept either "canceled"
or "cancelled". Change regular expressions in "info break"
calls to handle changes in g++ type encoding. Give all tests
unique strings.
From Momchil Velikov <velco@fadata.bg>
* mi-cmd-disas.c (gdb_dis_asm_read_memory): Add missing memory
attributes argument in the call to `xfer_memory'.
(make_cleanup_ui_out_list_end): New function.
* ui-out.h: Provide prototype for make_cleanup_ui_out_list_end.
* stack.c (print_frame) [UI_OUT]: Call
make_cleanup_ui_out_list_end to make sure we mark the end of the
list if we do a non-local exit. At the end of the function,
instead of calling ui_out_list_end directly, let do_cleanups
handle it.
Fix double parsing of filenames passed as command line arguments
to GDB (causes weird handling of escape characters).
Also, remove dependencies on the CLI from libgdb.
* call-cmds.h: Remove declaration of exec_file_command().
* gdbcore.h: Remove declaration of exec_file_command().
Add declarations for exec_open() and exec_file_clear().
* symfile.h: Add declarations for symbol_file_add_main() and
symbol_file_clear().
* exec.c (exec_open): New function. Implements to_open for exec
targets.
(exec_file_clear): New function. Makes GDB forget about a previously
specified executable file.
(exec_file_attach): Move parsing of arguments from here ...
(exec_file_command): ... to here.
(init_exec_ops): Use exec_open(), not exec_file_command() to
implement to_open for exec targets.
* symfile.c (symbol_file_add_main): New function. Call symbol_file_add() with default values. Used when the file name has already been parsed.
(symbol_file_clear): New function. Makes GDB forget about previously
read symbols.
(symbol_file_command): Call the above function instead of inline code.
* main.c: Include "symfile.h" and "gdbcore.h" instead of the deprecated
"call-cmds.h".
(captured_main): Call exec_file_attach() and symbol_file_add_main()
instead of exec_file_command() and symbol_file_command().
(captured_main): Add comment.
* corefile.c: Include "symfile.h".
(core_file_command): Call symbol_file_add_main() instead of
symbol_file_command().
(reopen_exec_file): Call exec_open() instead of exec_file_command().
* infcmd.c: Include "symfile.h".
(attach_command): Call symbol_file_add_main() instead of
symbol_file_command().
* infrun.c: Remove comment about the inclusion of "symfile.h",
not any longer appropriate.
(follow_exec): Call symbol_file_add_main() instead of
symbol_file_command().
* remote-es.c: Include "symfile.h".
(es1800_load): Call symbol_file_add_main() instead of
symbol_file_command().
* remote-vx.c: Remove comment about the inclusion of "symfile.h",
not any longer appropriate.
(vx-wait): Call symbol_file_add_main() instead of
symbol_file_command().
* solib-svr4.c (open_symbol_file_object): Call symbol_file_add_main()
instead of symbol_file_command().
* v850ice.c (ice_file): Call exec_open(), exec_file_attach() and
symbol_file_add_main() instead of exec_file_command() and
symbol_file_command().
* Makefile.in: Update dependencies.
(USE_STRUCT_CONVENTION): Define in terms of
alphabsd_use_struct_convention.
* config/alpha/fbsd.mt (TDEPFILES): Add alphafbsd-tdep.c.
* alphafbsd-tdep.c: New file.
* infcmd.c (get_inferior_args, set_inferior_args): Accessor functions
for the inferior program arguments.
(run_command, run_no_args_command, init_infcmd)): Use accessor
functions to set the inferior program arguments.
* inferior.h: Add definitions to the accessor functions above.
* infptrace.c (child_xfer_memory): Likewise.
* monitor.c (monitor_xfer_memory): Likewise.
* remote-adapt.c (adapt_xfer_inferior_memory): Likewise.
* remote-array.c (array_xfer_memory): Likewise.
* remote-bug.c (bug_xfer_memory): Likewise.
* remote-e7000.c (e7000_xfer_inferior_memory): Likewise.
* remote-eb.c (eb_xfer_inferior_memory): Likewise.
* remote-es.c (es1800_xfer_inferior_memory): Likewise.
* remote-mips.c (mips_xfer_memory): Likewise.
* remote-mm.c (mm_xfer_inferior_memory): Likewise.
* remote-nindy.c (nindy_xfer_inferior_memory): Likewise.
* remote-os9k.c (rombug_xfer_inferior_memory): Likewise.
* remote-rdi.c (arm_rdi_xfer_memory): Likewise.
* remote-rdp.c (remote_rdp_xfer_inferior_memory): Likewise.
* remote-sds.c (sds_xfer_memory): Likewise.
* remote-sim.c (gdbsim_xfer_inferior_memory): Likewise.
* remote-st.c (st2000_xfer_inferior_memory): Likewise.
* remote-udi.c (udi_xfer_inferior_memory): Likewise.
* remote-vx.c (vx_xfer_memory): Likewise.
* remote.c (remote_xfer_memory): Likewise.
* target.c (debug_to_xfer_memory, do_xfer_memory): Likewise.
* target.h (child_xfer_memory, do_xfer_memory, xfer_memory): Likewise.
* target.h (#include "memattr.h"): Added.
(target_ops.to_xfer_memory): Add attrib argument.
* wince.c (_initialize_inftarg): Removed call to set_dcache_state.
* dcache.h (set_dcache_state): Removed declaration.
* dcache.c (set_dcache_state): Removed definition
* dcache.c: Update module comment, as dcache is now enabled and
disabled with memory region attributes instead of by the global
variable "remotecache". Add comment describing the interaction
between dcache and memory region attributes.
(dcache_xfer_memory): Add comment describing benefits of moving
cache writeback to a higher level.
(dcache_struct): Removed cache_has_stuff field. This was used to
record whether the cache had been accessed in order to invalidate
it when it was disabled. However, this is not needed because the
cache is write through and the code that enables, disables, and
deletes memory regions invalidate the cache. Add comment which
suggests that we could be more selective and only invalidate those
cache lines containing data from those memory regions.
(dcache_invalidate): Updated.
(dcache_xfer_memory): Updated.
(dcache_alloc): Don't abort() if dcache_enabled_p is clear.
(dcache_xfer_memory): Removed code that called do_xfer_memory() to
perform a uncached transfer if dcache_enabled_p was clear. This
function is now only called if caching is enabled for the memory
region.
(dcache_info): Always print cache info.
* target.c (do_xfer_memory): Add attrib argument.
(target_xfer_memory, target_xfer_memory_partial): Break transfer
into chunks defined by memory regions, pass region attributes to
do_xfer_memory().
* dcache.c (dcache_read_line, dcache_write_line): Likewise.
* Makefile.in (SFILES): Add memattr.c.
(COMMON_OBS): Add memattr.o.
(dcache.o): Add target.h to dependencies.
* memattr.c: New file.
* memattr.h: Likewise.
* config/ns32k/tm-umax.h (FRAME_FIND_SAVED_REGS): Restore. It
appears to have been inadvertantly removed sometime in May 1999.
* Revert 2000-11-09 changes where shared library objects were
moved from NATDEPFILES to TDEPFILES on NetBSD targets. While
we'd like to be able to debug dynamically linked executables,
this makes it impossible to build a cross debugger on a many
hosts.
* config/i386/nbsd.mt: Remove solib.o, solib-svr4.o from TDEPFILES.
* config/i386/nbsdelf.mt: Likewise.
* config/m68k/nbsd.mt: Likewise.
* config/ns32k/nbsd.mt: Likewise.
* config/powerpc/nbsd.mt: Likewise.
* config/sparc/nbsd.mt: Likewise.
* config/sparc/nbsdelf.mt: Likewise.
* config/i386/nbsd.mh: Add solib.o, solib-svr4.o to NATDEPFILES.
* config/i386/nbsdelf.mh: Likewise.
* config/m68k/nbsd.mh: Likewise.
* config/ns32k/nbsd.mh: Likewise.
* config/powerpc/nbsd.mh: Likewise.
* config/sparc/nbsd.mh: Likewise.
a mangled symbol rather than recursing into lookup_symbol, since
this will just re-unmangle the name & call lookup_symbol_aux -
leading to an infinite recursion.