* config/arm/tm-wince.h: New file.
* config/arm/wince.mt New file.
* config/sh/tm-wince.h: New file.
* config/sh/wince.mt New file.
* config/mips/tm-wince.h: New file.
* config/mips/wince.mt New file.
* wince.c: New file.
* wince-stub.c: New file.
* wince-stub.h: New file.
* sh-tdep.c: Use correct register names for Windows CE.
(error_return, quit_return): Merge into catch_return pointer.
(return_to_top_level): Update comment. Longjmp to *catch_errors,
and communicate reason to catch_errors via setjmp return value.
(catch_errors): Always catch both quit and error, and if a catch
wasn't requested by caller, throw it to the next catch_error.
Replace dual longjmp buffer memcpy with single pointer change.
Add FIXME for possibly adding new interface to tell caller what
event was caught. Add extensive comments.
* defs.h (enum return_reason): Reserve 0 for use as initial
setjmp() return value.
(RETURN_MASK): New public macro to generate RETURN_MASK_* from
enum return_reason.
(RETURN_MASK_QUIT, RETURN_MASK_ERROR): Define using RETURN_MASK.
* infcmd.c (run_stack_dummy): Do not pop frame on random signal.
* valops.c (_initialize_valops): Add command "set unwindonsignal".
(hand_function_call): Test for unwind_on_signal and act accordingly.
From Philippe De Muyter <phdm@macqel.be>
* event-loop.c (handle_file_event): In case of poll, enable
printing of informational message if an error/exception is
detected on the file descriptor.
* remote.c (remote_async_detach): Use target_mourn_inferior(), to
make sure that all is cleaned up after we disconnect from the
target.
(remote_detach): Ditto.
* target.c (do_target_signal_to_host): Do not use REALTIME_LO in
the conversion of the signal number. TARGET_SIGNAL_REALTIME_33 is
33 by definition, whereas REALTIME_LO might be 32 on systems that
have SIG32 such as Linux. Make sure that the signal number
returned is within the range specified by REALTIME_LO and
REALTIME_HI.
* arm-tdep.c (set_disassembly_flavor, arm_othernames,
_initialize_arm_tdep): Allows the user to choose between any of
the flavors available for the disassembly to be used in the "info
reg" command and elsewhere in gdb. It prevents having to maintain
this information in two places by using the data kept in the
opcodes directory.
* configure.in: Check for lwpid_t, psaddr_t, prgregset_t and
prfpregset_t in <sys/procfs.h>.
* config.in: Add HAVE_LWPID_T, HAVE_PSADDR_T, HAVE_PRGREGSET_T,
HAVE_PRFPREGSET_T.
* gdb_proc_service.h: Only provide typedefs for lwpid_t, psaddr_t,
prgregset_t and prfpregset_t if they are not already present.
* elfread.c (elf_symtab_read): Use offset for the section in which a
symbol resides, instead of .text section for calculating address of a
symbol.
Checked in by Jim Kingdon <kingdon@redhat.com>
* gnu-nat.c (proc_string): Make global.
(do_mach_notify_dead_name): Suppress dead name notifications if we
know that the task is dead.
1999-12-13 Mark Kettenis <kettenis@gnu.org>
* gnu-nat.c (inf_validate_task_sc): Get task info via proc server
instead of directly from the kernel. Add some hackery to make
sure that the info isn't influenced by suspension of the task in
the proc server itself.
* configure.in: Remove the addition of sol-thread.c to the
CONFIG_INITS list. This caused problems with init.c, because
sol-thread.c would be grepped twice for _initialize_* functions.
* configure: Ditto.
* Makefile.in: Add FIXME for init.c.
* bcache.h, bcache.c, c-valprint.c, coffread.c, stabsread.c,
stack.c, valprint.c: Change variables to unsigned.
* bcache.c: Rearrange to avoid warnings about variables not being set.
* c-lang.c, ch-lang.c, f-lang.c, m2-lang.c: Include valprint.h
rather than declaring print_max and repeat_count_threashold
ourselves (incorrectly).
* valprint.h: Do declare repeat_count_threashold.
* ch-exp.c: Use default case for internal error.
* findvar.c: Don't omit argument type.
* symtab.c: Remove unused variable.
* configure.host, configure.tgt: Comment out Gould configs.
* Makefile.in: Comment out Gould-related actions.
* gould-xdep.c, gould-tdep.c, config/gould/*: Comment out.
* NEWS: Mention obsolete status.
And the first one bites the dust...
* gnu-regex.c: Check ENABLE_NLS instead of HAVE_LIBINTL_H.
* configure.in: Don't check for libintl.h.
* configure, config.in: Regenerated.
Fixes a problem on debian systems, a conflict between the
/usr/include/libintl.h and the routines that are actually linked in,
up in ../intl.
static globals for dealing with binary transmissions.
(remote_write_bytes): Add support for binary downloads
by shadowing the "M" packet with a new "X" packet. This
defaults to ON; if the stub does not understand this, it
will fall back to using "M".
(putpkt): Add support for binary downloading.
* monitor.c (monitor_expect): The mon2000 monitor
on the MSA2000 will also emit random DC1/DC3 chars.
* m32r-stub.c: Change all char's to unsigned char's
to support binary downloading.
(handle_exception): Add support for binary downloading
via a new "X" packet.
(getpacket): Do NOT strip eighth bit of incoming chars.
Watch out for escaped characters in the incoming stream.
(putpacket): Do NOT strip eighth bit of incoming chars.
(bin2mem): New function to write binary data directly to
memory.
* m32r-rom.c: Add new "mon2000" target.
* hp-psymtab-read.c (hpread_build_psymtabs): Coerce first arg
passed to make_cleanup to the correct type.
(hpread_quick_traverse): Change fifth arg to call to
hpread_end_psymtab to be 0.
Compare CURR_MODULE_END to 0 rather than NULL.
Get rid of ifdef'ed out code.
(scan_procs): Get rid of ifdef'ed out code.
* somread.c (som_symfile_read): Coerce first argument passed to
make_cleanup to the correct type.
* hp-psymtab-read.c (do_pxdb): New function. Check whether the
file needs to be processed by pxdb (an HP debug info massaging
tool), if so call it.
(hpread_build_psymtabs): Initialize scan_start to 0 and
simplify flow of control.
* somread.c (som_symfile_read): Add call to do_pxdb (),
in hp-psymtab-read.c.
* symfile.c (symbol_file_add): Remove ifdef'ed out HPUX specific
code.
(symfile_bfd_open): Remove HPUXHPPA ifdef'ed code. Code is now
in hp-psymtab-read.c.
* i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c,
sparcl-stub, sparclet-stub.c: Change declaration of putDebugChar
to include explicit void return type as per documentation. Fix up
occasions where stubs erroneously checked return type.
Changes from Keith Seitz <keiths@cygnus.com>
* valops.c (value_assign): Add calls to register_changed_hook and
memory_changed_hook to inform UIs that the user has changed
the target's registers/memory.
* findvar.c (write_register_gen): Remove call to pc_changed_hook.
* defs.h: Remove declaration for pc_changed_hook and
add declarations for register_changed_hook and
memory_changed_hook.
* top.c: Ditto.
v850_register_names, v850_processor_type_table): Declare tables
and structures for handling differences in register names for
v850 and v850e.
(struct reg_list): Define new structure for creating tables
of register bit masks in v850e instrutions.
(handle_prepare, handle_pushm): New helpers for v850_scan_prologue.
(v850_scan_prologue): Recognize v850e instructions: callt, prepare,
and pushm.
(v850_target_architecture_hook): New function to set register
names based on current machine.
(_initialize_v850_tdep): Set up target_architecture_hook.
* config/v850/tm-v850.h (v850_register_names): Declare.
(REGISTER_NAME): Define to refer to v850_register_names.
(SR0_REGNUM, CTBP_REGNUM): Define.
(PS_REGNUM): Redefine in terms of SR0_REGNUM.
* Makefile.in (c-exp.tab.c): use BISON instead of YACC, to pick
the correct value from configure output.
(jv-exp.tab.c): ditto.
(f-exp.tab.c): ditto.
(m2-exp.tab.c): ditto.
* breakpoint.h (ep_is_exception_catchpoint): Add prototype.
* frame.h (select_and_print_frame): Add prototype.
* stack.c (func_command): Call select_and_print_frame with correct
number of arguments. Reformat whitespace.
As far as I can tell, the func command (only enabled in --dbx mode) doesn't
actually work right now, even with this rather glaring fix. I'm not going
to spend time on it; dbx mode looks pretty seriously broken after a five
second glance.
* top.c (init_main): Fix tipo in description of the remotetimeout
variable.
* breakpoint.c (bpstat_stop_status): Handle systems where
DECR_PC_AFTER_BREAK != DECR_PC_AFTER_HW_BREAK.
init only nonzero fields, leave to_require_attach and
to_require_detach empty, not needed for /proc systems yet.
(_initialize_procfs): Call init_procfs_ops.
* h8300-tdep.c (original_register_names, h8300h_register_names,
h8300_register_names): Define new variables.
(set_register_names): New function to set register names based on
current CPU type.
(h8300_command, h8300h_command, h8300s_command): Call
set_register_names.
* config/h8300/tm-h8300.h (h8300_register_names): Declare.
(REGISTER_NAME): Define to refer to h8300_register_names.
(init_dummy_target): New function, fills in dummy_target.
(initialize_targets): Use it.
* hpux-thread.c (hpux_thread_ops): Don't initialize statically.
(init_hpux_thread_ops): New function, fills in hpux_thread_ops.
(_initialize_hpux_thread): Use it.
* m3-nat.c (m3_ops): Don't initialize statically.
(init_m3_ops): New function, fills in m3_ops.
(_initialize_m3): Use it.
* infrun.c (set/show scheduler-locking) New command. Set a
mode bit that will control how GDB attempts to control thread
scheduling for step, continue, etc. (resume): make use of
the schedule-locking mode.
* target.h (struct target_ops): new field to_has_thread_control.
* sol-thread.c: initialize target_ops to_has_thread_control.
* procfs.c: ditto.
* target.c: ditto.
* m3-nat.c: ditto.
* remote.c: ditto.
* hpux-thread.c: ditto.
to conform to standards, fix spelling errors.
(ishex, stubhex, record_currthread, etc): Declare.
(ishex, stubhex): Declare char arg as int.
(pack_string): Comment out, never used but possibly useful.
(threadref_to_int, remote_get_threadinfo, etc): Make static.
called from wait_for_inferior. Instead, if a new thread-id is
detected, call add_thread. (MAGIC_NULL_PID): new macro, use
instead of the magic number "42000". (remote_find_new_threads):
if inferior_pid is unknown, get and use the current thread id.
(remote_start_remote): on connecting, attempt to get the current
thread id for inferior_pid. (remote_resume): If pid == -1,
then resume any-thread (not the current thread specifically).
* thread.c (info_threads_command): don't initialize current_pid
until after call to FIND_NEW_THREADS (which may change inferior_pid).
* utils.c: <readline/readline.h> instead of "readline/readline.h".
* configure.in (TERM_LIB): Search for the appropriate term library
on the host system.
* configure: Regenerated.
* Makefile.in (TERMCAP): Set based on autoconf check.
* config/*/*.mh: Don't override TERMCAP setting.
than $(READLINE_SRC) so #include <readline/readline.h> will work.
* top.c: #include <readline/history.h> instead of "history.h".
* tracepoint.c: Likewise.
* mac-xdep.c: Likewise.
* blockframe.c (get_frame_saved_regs): If the saved_regs_addr ptr
is null, ensure that saved registers are copied from the local
variable that was used to obtain them.
* remote-rdp.c (rdp_init): Don't discard first character on reset.
(translate_open_mode): Define table.
(exec_swi): Handle SWI_Clock. SWI_Open now handles stdin/stdout.
SWI_Write returns number of bytes not written. SWI_Read does the
same. SWI_Seek should return success/failure flag. Fix SWI_Flen.
A patch from PR 15841 for the RDP (Demon) interface.
a printable representation.
(monitor_error): Call error after converting string into printable
format.
(monitor_printf{,_noecho}): If EXTRA_RDEBUG is defined, convert string
into printable form before printing.
(monitor_expect): Ditto.
(monitor_read_memory{,_single}): Call monitor_error, not error.
(monitor_read_memory): Return immediately if length is 0.
* ppcbug-rom.c (init_ppc_cmds): Fill in dump_registers field, which is
now required.
Re-do TARGET_PRINT_INSN_INFO, TARGET_PRINT_INSN, TARGET_ARCHITECTURE,
TARGET_ARCHITECTURE_AUTO, TARGET_BYTE_ORDER_SELECTABLE_P,
TARGET_BYTE_ORDER so that they can all be overriden.
Document.
Convert mn10300 and PPC targets.
Add two pointers (saved_regs, extra_info) to struct frame_info.
Introduce new macro FRAME_INIT_SAVED_REGS which replaces
FRAME_FIND_SAVED_REGS.
Document.
Use in mn10300 and rs6000 targets. Fix side effects on ALPHA, MIPS,
Z8K and SPARC targets.
* configure.in (with-sim-gpu2): Do not emit a -L argument without
an associated pathname. Link in the math library after the gpu2
library.
Assumes that libm is around (and doesn't take advantage of the
AC_CHECK_LIB(m) that is already in configure.in), but this is a
minor point and unlikely to cause problems.
* config/xm-aix4.h (SIGWINCH_HANDLER): Function `aix_resize_window'
must accept a signal number as parameter.
* config/rs6000/xm-rs6000.h (SIGWINCH_HANDLER): Ditto.
* utils.c (initialize_utils): Give a parameter to `SIGWINCH_HANDLER'.
* inferior.h (register_valid): Variable's type is `SIGNED char', not
`char'.
* findvar.c (register_valid): Ditto.
* defs.h (make_cleanup_func): Protect parameter list by `PARAMS'.
* gdbthread.h (unbind_target_thread_vector): Likewise.
Merged in m68k-linux patch from Andreas Schwab
1998-12-01 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* Makefile.in, configure.host, configure.tgt: Add support for
m68k-linux.
* config/m68k/linux.mh: New file.
* config/m68k/linux.mt: New file.
* config/m68k/nm-linux.h: New file.
* config/m68k/tm-linux.h: New file.
* config/m68k/xm-linux.h: New file.
* gdb/m68klinux-nat.c: New file.
* gdbserver/low-linux.c: Add support for m68k-linux.
* gdb/config/m68k/tm-m68k.h (NUM_FREGS): New macro.
* config/m68k/tm-m68k.h (NUM_FREGS): m68k-linux patch.
Added NUM_FREGS macro.
* config/m68k/xm-linux.h: m68k-linux patch. New file.
* config/m68k/tm-linux.h: m68k-linux patch. New file.
* config/m68k/nm-linux.h: m68k-linux patch. New file.
* config/m68k/linux.mt: m68k-linux patch. New file.
* config/m68k/linux.mh: m68k-linux patch. New file.
* gdbserver/low-linux.c: m68k-linux patch. Added an ifdef
that checks the value of __GLIBC to decide whether or
not to include sys/reg.h.
* m68klinux-nat.c: m68k-linux patch. New file. Note
both m68k-tdep.c and m68klinux-nat.c contain definitions
for supply_gregset and supply_fpregset. The definitions
in m68k-tdep.c are valid is USE_PROC_FS is defined. Otherwise,
the definitions in m68klinux-nat.c will be used. This is a
bit of a hack. The supply_* routines do not belong in
*_tdep.c files. But, there are several lynx ports that currently
depend on these definitions.
* configure.tgt: m68k-linux patch. Added m68*-*-linux*
gdb_target.
* configure.host: m68k-linux patch. Added m68*-*-linux*
gdb_host.
* Makefile.in: m68k-linux patch. Added compile line for
m68klinux-nat.o
* config/i386/xm-cygwin.h: Remove REQUEST_QUIT definition.
* config/powerpc/xm-cygwin.h: Ditto.
PR 17664.
With this define in place, you can't type "q" to get out of GDB's pager
under Cygwin.
* monitor.c (monitor_read_memory): Zero out pattern buffers
before calling re_search.
(parse_register_dump): Ditto.
PR 18049. This bug had existed erratically since I upgraded to
the new gnu-regex.c this last summer. The problem is mostly in
parse_register_dump; the allocated structure has some random values
in it and there is a flag set in the register_pattern structure by the
gnu-regex library which indicates that the values in the re_registers
should be trusted.
If those arbitrary contents aren't zero, gnu-regex tries to run realloc
on them and we get a core dump on some hosts for some targets when the
moon is just right.