* mpw-make.in (.c.o, .gc.o): Prefix segment names with gdb_.
(top.c.o, annotate.c.o): Add build rules.
* macgdb.r (SysTypes.r): Include.
('vers'): New resource, version info.
(mFile, mEdit, mDebug): Enable all menu items.
(mDebug): Add key equivalents for continue, step, next.
(wConsole): Add zoom and close boxes to window.
* mac-xdep.c (new_console_window): New function, code taken from
mac_init.
(mac_command_loop): Use GetCaretTime for wait interval, call
do_idle on null events.
(do_idle): New function.
(zoom_window): Implement zooming.
(v_scroll_proc): New function, handles vertical scrolling.
(activate_window): Do activation of console window.
(do_menu_command): Implement items of file, edit, and debug menus.
(do_keyboard_command): Fix command extraction.
(adjust_console_sizes, adjust_console_text): New functions.
(hacked_fprintf, hacked_vfprintf, hacked_fputs, hacked_fputc,
hacked_putc): Don't call draw_console.
* ser-mac.c (mac_open): Add an error message for invalid ports.
(first_mac_write): New global.
(mac_write): Use first_mac_write to sleep on first several writes.
* Makefile.in (site.exp): Don't insert host_os, etc.
(just-check): Just use RUNTEST with RUNTESTFLAGS only.
(distclean): Check existence of subdir.
* gdb.base/configure.in (hppa*-*-hpux*): Recognize.
* gdb.base/Makefile.in: General cleanup and simplification.
Use CC, CFLAGS, and LDFLAGS instead of ..._FOR_TARGET versions
to build executables. Use default rule to build .o files.
(EXPECT, RUNTEST, CC): Fix relative pathname.
(site.exp): Don't insert host_os, etc.
* gdb.base/signals.c (main): Don't call signal unless SIGALRM
and/or SIGUSR1 defined.
* gdb.base/watchpoint.c: Don't include stdio.h a second time.
* gdb.c++/Makefile.in: General cleanup and simplification.
Use CC, CFLAGS, and LDFLAGS instead of ..._FOR_TARGET versions
(CFLAGS): Remove.
(EXPECT, RUNTEST_FOR_TARGET, CXX): Fix relative pathname.
of inftarg.o.
* config/m68k/tm-dpx2.h (CANNOT_STORE_REGISTER): Define to inhibit
writing of floating registers, the dpx2 kernel disallows it.
* irix5-nat.c (LM_ADDR): The loaded address of the shared library
is contained in o_praw.
* irix5-nat.c (solib_map_sections): Adjust sections by the
difference between the loaded address and the prelinked address.
* irix5-nat.c (solib_address): Use LM_ADDR for the loaded start
address.
* mdebugread.c (parse_symbol): Do not relocate stEnd/scText
symbols, their value is absolute.
* mdebugread.c (parse_partial_symbols): Handle Irix 5.2 shared
libraries fh->adr fields of zero. Relocate minimal symbol values
upon readin. Relocate non-stabs symbols upon readin.
* mdebugread.c (psymtab_to_symtab_1): Use pst->textlow for the
start address of the outermost block.
* mdebugread.c (parse_lines, parse_procedure): Pass in pst
instead of section_offsets and use relocated pst->textlow for
line number and procedure address relocations.
From gmo@MicroUnity.com (Guillermo A. Loyola):
* mdebugread.c (parse_symbol, parse_partial_symbols, cross_ref):
Handle SGI Irix5 stIndirect symbol type.
ignore) a PID argument.
(hppa_pop_frame): Pass a PID to target_write_pc.
* config/pa/tm-hppa.h (TARGET_READ_PC, TARGET_WRITE_PC): Accept
and pass through a PID argument.
(target_read_pc, target_write_pc): Update prototypes.
breakpoint.c breakpoint.h ChangeLog
Added Files:
sparclite-tdep.c sparclite-stub.c
* sparclite-tdep.c: new file, contains hardware breakpoint support
code.
* sparclite-stub.c: new file, stub code that add support hardware
breakpoint support.
* breakpoint.c: add hardware breakpoint support.
* breakpoint.h: add new breakpoint type to support hardware
breakpoint.
ChangeLog
* remote-os9k.c (rombuf_command): fix a bug accepting rombug
output.
* stabsread.c (read_struct_fields): os9k nested structure does not
have terminating ';', instead it just get to ',' and bit position
and length.
directory. (E.g. add extra ../ where needed.)
Also, add .exe to executables, so we can use suffix rules.
* chexp.exp (test_print_reject): Update syntax error message.
* chillvars.ch (module PR_5020): Moved from here ...
* pr-5022.ch: ... to this new file.
* chillvars.exp, pr-5020.exp (binfile): Add .exe extension.
* chillvars.exp, pr-5020.exp: Don't check all_flag.
* pr-5020.exp: Add more tests; fix "print y pretty" output.
remote-os9k.c stabsread.c
* remote-os9k.c (rombuf_command): fix a bug accepting rombug
output.
* stabsread.c (read_struct_fields): os9k nested structure does not
have terminating ';', instead it just get to ',' and bit position
and length.
* (nlm_symfile_read): Record bounds of main() so that backtrace
command will know where to stop.
* objfiles.c (objfile_relocate): Relocate entry point/func info
for backtrace as well.
* objfiles.h: Define values for invalid PCs for entry point info.
* symfile.c (init_entry_point_info): Initialize invalid values
with aforementioned macros.
* config/alpha/tm-alphanw.h: Turn on FRAME_CHAIN_VALID_ALTERNATE
to cause backtrace to stop when it gets back to main().
* config/i386/tm-i386nw.h: Ditto.
(which was basically just a local version of the same thing). In
addition to avoiding duplication, gdb_test_exact is faster.
* lib/gdb.exp (gdb_test_exact): Fix typo.
Reorganization of the GDB Test Suite.
* gdb.base: New directory, contains all the basic tests.
* gdb.c++: New directory, tests specific to C++.
* gdb.chill: New directory, tests specific to Chill.
* gdb.t00, gdb.t01, gdb.t02, gdb.t03, gdb.t04, gdb.t05, gdb.t06,
gdb.t07, gdb.t08, gdb.t09, gdb.t10, gdb.t11, gdb.t12, gdb.t13,
gdb.t15, gdb.t16, gdb.t17, gdb.t20, gdb.t21, gdb.t22, gdb.t23,
gdb.t24, gdb.t30, gdb.t31: Removed directories, contents moved
into appropriate new directories (t00-t17 to base, t20-t23 to c++,
t30-31 to chill).
* */gdbme.*: Rename to match appropriate expect scripts.
* gdb.base/bitfields.c, gdb.base/break.c, gdb.base/callfuncs.c,
gdb.base/coremaker.c, gdb.base/exprs.c, gdb.base/funcargs.c,
gdb.base/interrupt.c, gdb.base/list0.c, gdb.base/list0.h,
gdb.base/list1.c, gdb.base/mips_pro.c, gdb.base/nodebug.c,
gdb.base/opaque-info.c, gdb.base/opaque0.c, gdb.base/opaque1.c,
gdb.base/printcmds.c, gdb.base/ptype.c, gdb.base/recurse.c,
gdb.base/return.c, gdb.base/run.c, gdb.base/scope0.c,
gdb.base/scope1.c, gdb.base/setvar.c, gdb.base/signals.c,
gdb.base/types.c, gdb.base/twice.c, gdb.base/watchpoint.c,
gdb.base/whatis-info.c, gdb.base/whatis.c: New names of C files.
* gdb.c++/cplusfuncs.cc, gdb.c++/templates.cc, gdb.c++/misc.cc,
gdb.c++/virtfunc.cc: New names of C++ files.
* gdb.chill/chillvars.ch: New name of Chill file.
* gdb.base/configure.in, gdb.c++/configure.in,
gdb.chill/configure.in: Merge in contents of gdb.t*/configure.in.
* gdb.base/Makefile.in, gdb.c++/Makefile.in,
gdb.chill/Makefile.in: Merge in contents of gdb.t*/Makefile.in.
* configure.in (configdirs): Update to reflect directory changes.
(target_abbrev): No longer define for any configuration.
* Makefile.in: Cosmetic improvements to header comments.
to new file top.c. Make things extern instead of static and
similar rearrangements to deal with this.
* top.h: New file.
* utils.c: Move fputs_unfiltered to main.c. Remove
FPUTS_UNFILTERED_OVERRIDE ifndef.
* Makefile.in: Change so that gdb uses main.c, utils.c, and top.c,
and libgdb uses utils.c and top.c.
A Chill version of val_print_array_elements, it prints the
array index labels, in additions ot the array element values.
(chill_val_print): Use the new function.
target.
* defs.h (enum language): Add language_asm.
* findvar.c (read_register_bytes read_register_gen
write_register_bytes read_register read_register_pid
write_register write_register_pid supply_register): Move multi-
thread handling down into these routines. Create XXX_pid routines
that allow register references to specify the pid.
* findvar.c infcmd.c (read_pc read_pc_pid write_pc write_pc_pid
read_sp write_sp read_fp write_fp): Move these routines from
infcmd to findvar to centralize the whole mess.
* i386-nlmstub.c: Portability fixes.
* infptrace.c (child_resume): Conditionalize to allow other natives
to override it. Remove PIDGET gubbish, it's no longer necessary.
* infrun.c (wait_for_inferior): Put registers_changed() before
target_wait() to speed up remote debugging.
* Replace code that reads registers from other threads with much
nicer looking new function calls (see changes to findvar.c).
* Don't skip prologues if debugging assembly source.
* lynx-nat.c (child_resume): Lynx now needs it's own version of
child_resume to handle multi-thread debugging properly.
* remote.c: Add O response to get console output from target.
* (readchar): Add timeout parameter. Handle SERIAL_EOF and
SERIAL_ERROR here to simplify callers.
* Change static var timeout to remote_timeout.
* (fromhex): Remove unnecessary return -1 at end of routine.
* (remote_wait): Turn this into a big switch statement. Add
support for O response.
* (putpkt): Remove unnecessary handling of SERIAL_EOF/ERROR.
* (getpkt): Split getpkt into two parts. read_frame deals with
all formatting issues, run-length encoding, and framing. getpkt
now handles error recovery, and frame detection.
* ser-tcp.c (tcp_readchar): Handle EINTR from read().
* ser-unix.c (hardwire_raw): Set CLOCAL so that we ignore modem
control. (hardwire_readchar): Handle EINTR from read().
* symfile.c (deduce_language_from_filename): Add support for .s
files.
* config/nm-lynx.h: Define CHILD_WAIT so that lynx-nat.c can
override infptrace's child_wait.
* config/rs6000/rs6000lynx.mh: Use xm-rs6000ly.h & nm-rs6000ly.h
instead of XXXlynx.h.
* config/rs6000/rs6000lynx.mt: Use tm-rs6000ly.h instead of
tm-rs6000lynx.h.
* nlm/gdbserve.c: Portability fixes.
(child_mourn_inferior): Call proc_remove_foreign.
* main.c (gdb_init): Call init_proc.
* main.c: Provide dummy versions of init_proc, proc_wait, and
proc_remove_foreign for the gdb case (the libgdb case provides its
own versions of these functions).
* Makefile.in (libgdb-files): Add libproc.a.
Hardware watchpoints for Linux, from Rick Sladkey
(jrs@world.std.com).
* infrun.c (wait_for_inferior) [HAVE_CONTINUABLE_WATCHPOINT]: Add
new hardware breakpoint recovery method.
* i386v-nat.c (i386_insert_watchpoint,
i386_insert_nonaligned_watchpoint, i386_remove_watchpoint,
i386_stopped_by_watchpoint) [TARGET_CAN_USE_HARWARE_WATCHPOINT]:
New functions to support the 386 hardware debugging registers.
* config/i386/nm-linux.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT,
HAVE_CONTINUABLE_WATCHPOINT, STOPPED_BY_WATCHPOINT,
target_insert_watchpoint, target_remove_watchpoint): Define these
macros to use the hardware debugging functions in i386v-nat.c.