From 956182119001c0af1fa9704224b38b0161c39b14 Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Wed, 8 Mar 1995 21:07:41 +0000 Subject: [PATCH] * Makefile.in (VERSION): Bump to 4.14.1. * NEWS, README: Update for 4.14. * i386v-nat.c (i386_insert_aligned_watchpoint): Fix declaration. (i386_insert_nonaligned_watchpoint): Call aligned instead of generic watchpoint insertion. --- gdb/ChangeLog | 24 ++++++++----- gdb/NEWS | 92 ++++++++++++++++++++++++++++++++++++++++++------- gdb/i386v-nat.c | 7 ++-- 3 files changed, 100 insertions(+), 23 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0b44c13655..8396e4cb30 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,10 +1,18 @@ +Wed Mar 8 12:51:00 1995 Stan Shebs + + * Makefile.in (VERSION): Bump to 4.14.1. + * NEWS, README: Update for 4.14. + * i386v-nat.c (i386_insert_aligned_watchpoint): Fix declaration. + (i386_insert_nonaligned_watchpoint): Call aligned instead of + generic watchpoint insertion. + Tue Mar 7 19:26:10 1995 Per Bothner * valops.c (value_slice): Do COERCE_VARYING_ARRAY. Tue Mar 7 00:23:47 1995 Stu Grossman (grossman@cygnus.com) - * monitor.c array-rom.c monitor.h rom68k-rom.c: Move target_ops + * monitor.c, array-rom.c, monitor.h, rom68k-rom.c: Move target_ops into monitor.c. * monitor.c (monitor_create_inferior): Allow run command to start program. @@ -12,7 +20,7 @@ Tue Mar 7 00:23:47 1995 Stu Grossman (grossman@cygnus.com) * monitor.c (monitor_load): Set PC to start address when done loading. - * array-rom.c monitor.h rom68k-rom.c: Clean up target_ops. + * array-rom.c, monitor.h, rom68k-rom.c: Clean up target_ops. Remove ref to monitor_create_inferior. * monitor.c: More general cleanups. Add prototypes, remove @@ -24,23 +32,23 @@ Tue Mar 7 00:23:47 1995 Stu Grossman (grossman@cygnus.com) * Makefile.in: Add rules for monitor.o and rom68k-rom.o to make Sun make (with VPATH) work... - * monitor.c monitor.h rom68k-rom.c: Serious cleanup to make IDP + * monitor.c, monitor.h, rom68k-rom.c: Serious cleanup to make IDP (rom68k) target work right. - * array-rom.c op50-rom.c w89k-rom.c: Partial updates to new + * array-rom.c, op50-rom.c, w89k-rom.c: Partial updates to new monitor.c interface. More work needs to be done here. * config/m68k/tm-monitor.h: Change DECR_PC_AFTER_BREAK to 0 to match the IDP monitor. Also, set NUM_REGS to 18 cuz there's no floating-point for this card. - * serial.h ser-go32.c ser-go32-para.c ser-mac.c ser-tcp.c + * serial.h, ser-go32.c, ser-go32-para.c, ser-mac.c, ser-tcp.c, ser-unix.c: Add SERIAL_SETSTOPBITS to set the number of stopbits (needed for IDP board?!?!?). - * defs.h utils.c remote-hms.c remote-pa.c remote.c: Fix defs and - usage of fputc_unfiltered and putchar_unfiltered. Eliminate + * defs.h, utils.c, remote-hms.c, remote-pa.c, remote.c: Fix defs + and usage of fputc_unfiltered and putchar_unfiltered. Eliminate putc_unfiltered (it's superfluous). - * command.h command.c top.c: Add var_enum command type. It's + * command.h, command.c, top.c: Add var_enum command type. It's like var_string but allows only only one of the specified strings. Mon Mar 6 15:03:59 1995 Jim Kingdon (kingdon@lioth.cygnus.com) diff --git a/gdb/NEWS b/gdb/NEWS index effa051ee4..e764e3610a 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,5 +1,22 @@ - What has changed since GDB-3.5? - (Organized release by release) + What has changed in GDB? + (Organized release by release) + +*** Changes in GDB-4.14: + +* New native configurations + +x86 FreeBSD i[345]86-*-freebsd +x86 NetBSD i[345]86-*-netbsd +NS32k NetBSD ns32k-*-netbsd +Sparc NetBSD sparc-*-netbsd + +* New targets + +A29K VxWorks a29k-*-vxworks +HP PA PRO embedded (WinBond W89K & Oki OP50N) hppa*-*-pro* +CPU32 EST-300 emulator m68*-*-est* +PowerPC ELF powerpc-*-elf +WDC 65816 w65-*-* * Alpha OSF/1 support for procfs @@ -9,9 +26,11 @@ filesystem is optional on the Alpha, GDB automatically determines the availability of /proc during startup. This can lead to problems if /proc is unmounted after GDB has been started. -* User commands may accept up to 10 arguments separated by whitespace. -Arguments are accessed within the user command via $arg0..$arg0. -A trivial example: +* Arguments to user-defined commands + +User commands may accept up to 10 arguments separated by whitespace. +Arguments are accessed within the user command via $arg0..$arg9. A +trivial example: define adder print $arg0 + $arg1 + $arg2 @@ -22,15 +41,64 @@ Defines the command "adder" which prints the sum of its three arguments. Note the arguments are text substitutions, so they may reference variables, use complex expressions, or even perform inferior function calls. -* New "if" and "while" commands. This makes it possible to write -somewhat more sophisticated user-defined commands. +* New `if' and `while' commands -* Most debugging facilities now work on dynamic executables for HPPAs -running hpux9 or later. See the GDB manual for the few minor problems -and potential workarounds. +This makes it possible to write more sophisticated user-defined +commands. Both commands take a single argument, which is the +expression to evaluate, and must be followed by the commands to +execute, one per line, if the expression is nonzero, the list being +terminated by the word `end'. The `if' command list may include an +`else' word, which causes the following commands to be executed only +if the expression is zero. -* GDB can now read debug symbols produced by the HP C compiler on HPPAs -(sorry, no C++, Fortran or 68k support). +* Fortran source language mode + +GDB now includes partial support for Fortran 77. It will recognize +Fortran programs and can evaluate a subset of Fortran expressions, but +variables and functions may not be handled correctly. GDB will work +with G77, but does not yet know much about symbols emitted by other +Fortran compilers. + +* Better HPUX support + +Most debugging facilities now work on dynamic executables for HPPAs +running hpux9 or later. You can attach to running dynamically linked +processes, but by default the dynamic libraries will be read-only, so +for instance you won't be able to put breakpoints in them. To change +that behavior do the following before running the program: + + adb -w a.out + __dld_flags?W 0x5 + control-d + +This will cause the libraries to be mapped private and read-write. +To revert to the normal behavior, do this: + + adb -w a.out + __dld_flags?W 0x4 + control-d + +You cannot set breakpoints or examine data in the library until after +the library is loaded if the function/data symbols do not have +external linkage. + +GDB can now also read debug symbols produced by the HP C compiler on +HPPAs (sorry, no C++, Fortran or 68k support). + +* Target byte order now dynamically selectable + +You can choose which byte order to use with a target system, via the +commands "set endian big" and "set endian little", and you can see the +current setting by using "show endian". You can also give the command +"set endian auto", in which case GDB will use the byte order +associated with the executable. Currently, only embedded MIPS +configurations support dynamic selection of target byte order. + +* New DOS host serial code + +This version uses DPMI interrupts to handle buffered I/O, so you +no longer need to run asynctsr when debugging boards connected to +a PC's serial port. *** Changes in GDB-4.13: diff --git a/gdb/i386v-nat.c b/gdb/i386v-nat.c index 07ddc9f7b5..1dfda613bd 100644 --- a/gdb/i386v-nat.c +++ b/gdb/i386v-nat.c @@ -101,11 +101,12 @@ static int debug_control_mirror; static CORE_ADDR address_lookup[DR_LASTADDR - DR_FIRSTADDR + 1]; static int -i386_insert_nonaligned_watchpoint PARAMS ((int, CORE_ADDR, CORE_ADDR, int, +i386_insert_aligned_watchpoint PARAMS ((int, CORE_ADDR, CORE_ADDR, int, int)); static int -i386_insert_aligned_watchpoint PARAMS ((pid, addr, len, rw)); +i386_insert_nonaligned_watchpoint PARAMS ((int, CORE_ADDR, CORE_ADDR, int, + int)); /* Insert a watchpoint. */ @@ -210,7 +211,7 @@ i386_insert_nonaligned_watchpoint (pid, waddr, addr, len, rw) size = (len > 4) ? 3 : len - 1; size = size_try_array[size * 4 + align]; - rv = i386_insert_watchpoint (pid, waddr, addr, size, rw); + rv = i386_insert_aligned_watchpoint (pid, waddr, addr, size, rw); if (rv) { i386_remove_watchpoint (pid, waddr, size);