Fernando Nasser [Thu, 23 Mar 2000 23:43:19 +0000 (23:43 +0000)]
2000-03-23 Fernando Nasser <fnasser@cygnus.com>
From David Whedon <dwhedon@gordian.com>
* top.c (execute_command): Checks all commands beore executing
to see if the user needs to be warned that the command is
deprecated, warns user if appropriate.
(add_info), (add_info_alias), (add_com) , (add_com_alias): Changed
return values from void to struct cmd_list_element *.
* command.c (lookup_cmd_1): Check aliases before following link
in case user needs to be warned about a deprecated alias.
(deprecate_cmd): new exported function for command deprecation,
sets flags and posibly a replacement string.
(deprecated_cmd_warning): New exported funciton to warn user about
a deprecated command.
(lookup_cmd_composition): New exported function that determines
alias, prefix_command, and cmd based on a string. This is useful
is we want to full name of a command.
* command.h : Added prototypes for deprecate_cmd,
deprecated_warn_user and lookup_cmd_composition, added flags to
the cmd_list_element structure, changed return values for
add_com_* and add_info_* from void to cmd_list_element.
* maint.c : (maintenance_deprecate): New function to deprecate a
command. This exists only so that the testsuite can deprecate
commands at runtime and check the warning behavior.
(maintenance_undeprecate) : New function, drops deprecated flags.
(maintenance_do_deprecate): Actually does the (un)deprecation.
(initialize_maint_cmds): Added the above new deprecate commands.
Michael Snyder [Thu, 23 Mar 2000 21:44:50 +0000 (21:44 +0000)]
2000-03-23 Michael Snyder <msnyder@cleaver.cygnus.com>
* sol-thread.c (ps_pglobal_lookup): Change argument type from
paddr_t to psaddr_t. This mistake appears to date from an
erroneous man page in Solaris 2.5 -- the correct type from the
system headers has always been psaddr_t.
(ps_pdread, ps_pdwrite, ps_ptread, ps_ptwrite): ditto.
(rw_common): ditto.
Elena Zannoni [Thu, 23 Mar 2000 03:45:13 +0000 (03:45 +0000)]
2000-03-22 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
From Philippe De Muyter <phdm@macqel.be>
* event-loop.c (sys/types.h): File now included unconditionally.
(use_poll): New variable..
(gdb_notifier): poll- and select-versions merged.
(add_file_handler): If HAVE_POLL, check whether poll is usable,
and reset `use_poll' if not.
(create_file_handler): Select poll- or select-version according to
`use_poll'.
(delete_file_handler, handle_file_event): Likewise.
(gdb_wait_for_event, poll_timers): Likewise.
Mark Kettenis [Wed, 22 Mar 2000 09:45:01 +0000 (09:45 +0000)]
2000-03-22 Mark Kettenis <kettenis@gnu.org>
* config/i386/tm-i386aix.h (I386_AIX_TARGET): Remove.
* config/i386/tm-linux.h (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM):
Remove
* i386-tdep.c (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): New defines.
(i386_extract_return_value): Rewritten. Correctly support all
floating-point types and large integer types on targets that use
the standard i386 GDB register layout and return floating-point
values in the FPU.
Jim Blandy [Tue, 21 Mar 2000 20:40:43 +0000 (20:40 +0000)]
* gdbarch.sh: Emit a definition and declaration for gdbarch_free,
a companion to gdbarch_alloc, which allows a gdbarch init function
to free partially-built gdbarch structures.
* gdbarch.c, gdbarch.h: Regenerated.
Michael Snyder [Tue, 21 Mar 2000 01:27:34 +0000 (01:27 +0000)]
2000-03-20 Eli Zaretskii <eliz@is.elta.co.il>
* breakpoint.c (insert_breakpoints, remove_breakpoint)
(bpstat_stop_status, can_use_hardware_watchpoint): Don't insert,
remove, or check status of hardware watchpoints for entire structs
and arrays unless the user explicitly asked to watch that struct
or array.
(insert_breakpoints): Try to insert watchpoints for all the values
on the value chain, even if some of them fail to insert.
* values.c (value_primitive_field): Set the offset in struct value
we return when the field is a packed bitfield.
Michael Snyder [Tue, 21 Mar 2000 01:22:05 +0000 (01:22 +0000)]
2000-03-20 Michael Snyder <msnyder@cleaver.cygnus.com>
* remote.c (remote_threads_extra_info): new function.
Implement the extra thread info query for "info threads".
(remote_threads_info): clean up a bit.
(use_threadinfo_query, use_threadextra_query): new variables.
Control whether GDB will use the new or old protocol for
thread info queries.
(remote_open_1): initialize new variables.
(remote_async_open_1): ditto.
(remote_cisco_open): ditto.
Jim Blandy [Mon, 20 Mar 2000 20:38:29 +0000 (20:38 +0000)]
* i386-linux-nat.c: No need to #include "frame.h" any more.
(LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0,
LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1,
LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2, linux_sigtramp_code,
LINUX_SIGTRAMP_LEN, i386_linux_sigtramp_start,
LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0,
LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1,
linux_rt_sigtramp_code, LINUX_RT_SIGTRAMP_LEN,
i386_linux_rt_sigtramp_start, i386_linux_in_sigtramp,
i386_linux_sigcontext_addr, LINUX_SIGCONTEXT_PC_OFFSET,
i386_linux_sigtramp_saved_pc, LINUX_SIGCONTEXT_SP_OFFSET,
i386_linux_sigtramp_saved_sp): Deleted. Folks rightly pointed
out that these are target-dependent, and useful in non-native
configurations. Moved to...
* i386-linux-tdep.c: ... Here, a new file.
* Makefile.in (ALLDEPFILES): Add i386-linux-tdep.c.
(i386-linux-tdep.o): New rule.
(i386-linux-nat.o): We no longer depend on frame.h.
* config/i386/linux.mt (TDEPFILES): Add i386-linux-tdep.o.
Elena Zannoni [Mon, 20 Mar 2000 19:59:38 +0000 (19:59 +0000)]
2000-03-04 Eli Zaretskii <eliz@is.elta.co.il>
* event-loop.c (top-level) [NO_FD_SET]: Deprecate this branch.
Print an error at compile time if we are to use select, but FD_SET
is not available.
(SELECT_MASK, NBBY, FD_SETSIZE, NFDBITS, MASK_SIZE): Define only
if HAVE_POLL is not defined and NO_FD_SET *is* defined.
(create_file_handler) [!HAVE_POLL]: Use FD_SET and FD_CLR.
(delete_file_handler) [!HAVE_POLL]: Use FD_CLR and FD_ISSET.
(gdb_wait_for_event) [!HAVE_POLL]: Copy fd_set sets directly
instead of using memcpy and memset. Use FD_ISSET.
Eli Zaretskii [Sun, 19 Mar 2000 11:53:24 +0000 (11:53 +0000)]
Support for building GDB with DJGPP, and running the test suite on
it:
* config/djgpp/djconfig.sh: New file.
* config/djgpp/config.sed: New file.
* config/djgpp/README: New file.
* config/djgpp/fnchange.lst: New file.
* config/djgpp/djcheck.sh: New file.
Alan Modra [Fri, 17 Mar 2000 02:02:38 +0000 (02:02 +0000)]
Extend the allowed bitfield range (ie. that for which
complain_overflow_bitfield doesn't complain) from -2**(n-1)..2**n-1 to
-2**n..2**n. This might mean that some reloc overflows are no longer
caught, but it solves the address wrap problem for 16-bit relocs
nicely. In any case, ports that rely on complain_overflow_bitfield
for reloc overflow checking were not getting a very good check
previously. A bitfield range in a machine instruction is typically
either the signed or unsigned n bit numbers, not the overlap of these
two ranges.
Joern Rennecke [Thu, 16 Mar 2000 23:50:18 +0000 (23:50 +0000)]
* config/tc-sh.c (md_begin): When encountering insn that are
not supported by the current arch, only change the name if
its contents are the same as prev_name.
(get_specific): If the the architecture doesn't match, fail.
Jim Blandy [Thu, 16 Mar 2000 22:46:30 +0000 (22:46 +0000)]
* i386-tdep.c (LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0,
LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1,
LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2, linux_sigtramp_code,
LINUX_SIGTRAMP_LEN, i386_linux_sigtramp_start,
LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0,
LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1,
linux_rt_sigtramp_code, LINUX_RT_SIGTRAMP_LEN,
i386_linux_rt_sigtramp_start, i386_linux_in_sigtramp,
i386_linux_sigcontext_addr, LINUX_SIGCONTEXT_PC_OFFSET,
i386_linux_sigtramp_saved_pc, LINUX_SIGCONTEXT_SP_OFFSET,
i386_linux_sigtramp_saved_sp): Deleted. These all implement
Linux-specific signal trampoline detection, and should be moved to...
* i386-linux-nat.c: ... here.
* config/i386/tm-linux.h (I386_LINUX_SIGTRAMP): No need to define
this any more, since we're not enabling OS-specific code in a
OS-independent file.
Jim Blandy [Wed, 15 Mar 2000 16:55:07 +0000 (16:55 +0000)]
Deal with the inferior unloading shared objects.
* solib.c (current_sos): New function, replacing find_solib.
(find_solib): Deleted.
(free_so): New function.
(clear_solib): Call free_so, instead of writing it out.
(solib_add): Rewritten: compare the inferior's current list of
shared objects with GDB's list, and do the required loads and
unloads.
(info_sharedlibrary_command, solib_address): Don't use find_solib
to walk the list of shared libraries: call solib_add, and then
walk the list at so_list_head normally.
* objfiles.c (free_objfile): Don't call CLEAR_SOLIB, and don't
detach the core target. These tasks are taken care of elsewhere.
* target.c (remove_target_sections): New function.
* target.h (remove_target_sections): New declaration.
* solib.c (symbol_add_stub): Check whether we've already created
an objfile for this shared object first, before doing all that
work to compute section addresses, etc.
* objfiles.c (unlink_objfile): Report an internal error if objfile
doesn't occur in the object_files list.
* solib.c (special_symbol_handling): Delete argument; it's not
used.
* solib.c (SOLIB_EXTRACT_ADDRESS): New macro to extract addresses
from solib structures. Use it throughout solib.c, get rid of all
CORE_ADDR casts.
(struct so_list): Change type of lmaddr to CORE_ADDR.
(first_link_map_member): Change return value type to CORE_ADDR,
update callers.
(solib_add_common_symbols): Change parameter type to CORE_ADDR,
update callers.
(open_symbol_file_object, find_solib): Change type of lm variable
to CORE_ADDR.
Eli Zaretskii [Wed, 15 Mar 2000 12:05:59 +0000 (12:05 +0000)]
[__GO32__]: Include <pc.h>.
Declare _rl_redisplay_after_sigwinch.
[__DJGPP__]: Don't declare term_buffer and term_string_buffer (they are
unused.)
(_rl_get_screen_size) [__DJGPP__]: Call ScreenRows and ScreenCols.
(_rl_init_terminal_io) [__GO32__]: Don't call them here. Instead, call
_rl_get_screen_size. Set terminal_name. Return 0, to be consistent with
the function's declaration.
(ding) [__GO32__]: Support visual bell by calling ScreenVisualBell.
Eli Zaretskii [Wed, 15 Mar 2000 11:57:42 +0000 (11:57 +0000)]
[__GO32__]: Don't undef HANDLE_SIGNALS if __DJGPP__ is defined.
(prepare_terminal_settings, rl_prep_terminal, rl_deprep_terminal)
[__GO32__]: Don't bypass termios code if HAVE_TERMIOS_H is defined.
Eli Zaretskii [Wed, 15 Mar 2000 11:53:33 +0000 (11:53 +0000)]
[__GO32__]: If HAVE_TEMIOS_H is defined, declare readline_default_bindings.
Don't undef HANDLE_SIGNALS if __DJGPP__ is defined.
(readline_initialize_everything): [__GO32__]: Call readline_default_bindings
if HAVE_TERMIOS_H is defined.
(rl_refresh_line) [__GO32__]: Don't use this code if __DJGPP__ is defined.
Eli Zaretskii [Wed, 15 Mar 2000 11:47:46 +0000 (11:47 +0000)]
[__GO32__]: Include <pc.h> only if HAVE_SELECT is undefined.
(rl_unget_char, rl_getc) [__GO32__]: Use the go32-specific code only if
HAVE_SELECT is undefined.
Eli Zaretskii [Wed, 15 Mar 2000 11:41:26 +0000 (11:41 +0000)]
(_rl_move_vert) [__GO32__]: fflush the stream, to make sure cursor position
is up-to-date.
(space_to_eol) [__GO32__]: Clear the screen and home the cursor.
(insert_some_chars) [__GO32__]: Don't write directly to the screen in DJGPP
versions 2.x (it doesn't work).
(delete_chars) [__GO32__]: Ditto.
Eli Zaretskii [Wed, 15 Mar 2000 11:32:18 +0000 (11:32 +0000)]
(_rl_read_file): Use O_BINARY in open. Enable the test for incomplete
read. Strip the CR characters by hand after readin the file.
(rl_read_init_file): Allow for ~/_intputrc on 8+3 filesystems.
Eli Zaretskii [Wed, 15 Mar 2000 11:11:41 +0000 (11:11 +0000)]
* ser-go32.c (dos_noop, dos_raw, dos_noflush_set_tty_state)
(dos_print_tty_state, dos_info, _initialize_ser_dos): Convert
to ISO C. Use ATTRIBUTE_UNUSED to avoid compiler warnings.
(dos_info): Avoid compiler warning when printing a ptrdiff_t.
Jim Ingham [Mon, 13 Mar 2000 21:51:46 +0000 (21:51 +0000)]
2000-03-13 James Ingham <jingham@leda.cygnus.com>
Add support for a variable object that tries to evaluate itself in
the currently selected frame, rather than in a fixed frame.
* wrapper.c,h (gdb_parse_exp_1): Added a wrapper for
gdb_parse_exp_1.
* varobj.h: Added USE_CURRENT_FRAME to varobj_type & changed def'n
of varobj_create.
* varobj.c (varobj_list): Return type indicates whether the
variable's type has changed (for current frame variables).
(varobj_update): Handle the case where the variable's type has
changed.
(delete_variable_1): Allow for deletion of variables that have not
been installed yet.
(new_root_variable): Initialize use_selected_frame variable.
(value_of_root): This is where most of the work to handle "current
frame" variables was added. Most of the complexity involves
handling the case where the type of the variable has changed.
(varobj_create): Add a "type" argument, to tell if the
variable is one of these "current frame" variables. Also protect
call to parse_exp_1 from long jumping.
* mi-var-block.exp: The error report from varobj_create changed
since I am now trapping parse_exp_1 errors. Change the tests to
match the new error message.
* mi-var-child.exp: Ditto.
* mi-var-cmd.exp: Ditto.
* lib/gdb.exp: Fix the gdbtk_start routine to correctly find all
the library directories.
* gdbtk-varobj.c (variable_create): Pass the correct
"how_specified" flag to the varobj_create routine.