symbols for all symbol files. Makes skipping over the
trampoline code work when stepping from a function in a shared
library into a function in a different shared library for Irix 5.
Other ELF targets do not have enough information in their
dynamic symbol tables to make this work.
(elf_symtab_read): Relocate mst_solib_trampoline address.
the start of a function from a function symbol.
(decode_line_1, decode_line_2): Use it instead of open coded
partial copies of the code.
(list_symbols): Quote symbol name before passing it to
break_command to enable proper handling of mangled symbols.
Move "no debugging symbols found" test to symfile.c.
* symfile.c (syms_from_objfile, reread_symbols): Add
"no debugging symbols found" test.
* coffread.c (init_stringtab): Handle stripped files with a
stringtab offset of zero gracefully.
* osfsolib.c (solib_create_inferior_hook): Use DYNAMIC flag from
BFD instead of stop_pc heuristic to determine if it is a dynamically
linked object file.
* procfs.c (wait_fd): Handle ENOENT error return from PIOCWSTOP
ioctl, it indicates that the process has exited.
(bindir, libdir): Remove extra colon.
(source.c): Compile with C instead of gC.
(c-exp.tab.c, ch-exp.tab.c, m2-exp.tab.c): Add {o}.
(install-only): Don't install MacGDB.
* source.c (openp) [MPW]: Add a debugging display.
(open_source_file) [MPW]: Use MPW basename finders.
[MPW_C]: Briefer versions of help for line and list commands.
from optimizing them away.
* gdb.c++/classes.exp, gdb.c++/inherit.exp: Update ptype expect
patterns to include default constructors and assignment operators,
to match gcc versions beyond 2.5.8.
symbols for all symbol files. Makes skipping over the
trampoline code work when stepping from a function in a shared
library into a function in a different shared library.
(read_dbx_dynamic_symtab): Relocate mst_solib_trampoline address.
names mean end of .o file.
* infrun.c (wait_for_inferior): Clean up multi-thread logic near
top of routine. Handle new thread notification cleanly.
* lynx-nat.c (child_wait): General cleanups, handle new LynxOS
thread notification scheme.
* (child_resume): General cleanups, handle resumption of all
threads properly.
bus interface.
* serial.c (serial_open): Notice device "pc".
* remote-e7000.c: Fix copyright date.
(expect): Compare \n and \r the same.
(e7000_open): Allow pc as a serial port
* sh/sh.mt: Add ser-e7kpc.
* h8300/h8300hms.mt: Add ser-e7kpc.
* main.c (proc_wait): Don't wait if using go32.
* dbxread.c (stabsect_build_psymtabs): New argument "text_name"
corresponding to the name of the text section. All references
changed.
(somstab_build_psymtabs): Delete function, no longer needed.
comments to reflect that this file deals with SOM (an object file
format), rather than the PA (a cpu).
(Makefile.in): Chaned appropriately.
(config/pa/hppabsd.mh, config/pa/hppahpux.mh): Likewise.
* dbxread.c (somstab_build_psymtabs): Renamed from
pastab_build_psymtabs.
(SiowGDB): New target, GDB using SIOW library.
(init-new.c): New target, attempt to generate init.c from sources.
(main.c.o, top.c.o): Put each in its own segment.
* main.c (main) [MPW]: Always call mac_init.
* utils.c (query) [MPW]: Always return "yes" if in MacGDB, output
an extra newline otherwise.
* mac-xdep.c: More comments in various places, remove junk.
(mac_init): Add tests for MPW and SIOW.
(use_wne, has_color_qd): Renamed.
(use_color_qd): New variable.
(grow_window): Only do console resizing to console window,
call resize_console_window.
(zoom_window): Call resize_console_window.
(resize_console_window, scroll_text): New functions.
(adjust_console_sizes): Always align viewrect to even multiples of
text lines.
(adjust_console_text): Always scroll by whole lines.
(hacked_vfprintf, hacked_puts, hacked_fputc, hacked_putc): Force a
recalculation of scroll positions if a newline was output.
(hacked_fflush): Similarly, for flushing.
(hacked_fgetc): New function, aborts if called in MacGDB.
* ser-mac.c (mac_readchar): Rename starttime to start_time,
remove debugging printf.
(mac_write): Sleep on first 4 writes.
(sec_sleep): New function, works like standard sleep.
* macgdb.r: Adjust positioning and contents of About box.
Set minimum size to 2000K, preferred size to 5000K.
* config/m68k/xm-mpw.h (fgetc): Define as a macro.
ChangeLog
* config/i386/nm-linux.h: change calling convention of
TARGET_CAN_USE_HARDWARE_WATCHPOINT() and
target_insert_watchpoint() and
target_remove_watchpoint().
tm-mips64.h tm-bigmips64.h
* config/mips/tm-mips64.h: define FORCE_LONG_LONG to force LONGEST
to be long long in gdb.
* config/mips/tm-bigmips.h: ditto.
included file to run under newer versions of expect.
* gdb.c++/demangle.exp: Add spaces to the expect patterns between
consecutive >'s in templates to accomodate recent cplus-dem.c change.
Remove xfail for the virtual table of BDDHookV.
ecoff_swap_rndx_in directly; use the debug_swap pointer instead.
(upgrade_type, handle_psymbol_enumerators): Likewise.
(has_opaque_xref, cross_ref): Likewise.
(elfmdebug_build_psymtabs): Call swap->read_debug_info to read
debugging information, rather than doing it here.
* mipsread.c (mipscoff_symfile_read): Call read_debug_info entry
point in ecoff_debug_swap backend structure, rather than calling
ecoff_slurp_symbolic_info directly.
call it instead of doing normal loop.
* infcmd.c (attach_command): Don't call wait_for_inferior if
running Mach 3.
* infrun.c (proceed) [PREPARE_TO_PROCEED]: If defined, call
hook that can decide whether to step over the next breakpoint.
* utils.c (wrap_here): Abort if wrap_buffer not allocated.
(request_quit) [REQUEST_QUIT]: If defined, call it instead of
doing normal quit.
* Makefile.in (stop-gdb): New target.
* stop-gdb.c: New file, utility to get attention of waiting GDBs
in Mach 3.
(i[34]86-*-mach3*, i[34]86-*-osf1mk*, mips-*-mach3*,
m88*-*-mach3*, ns32k-*-mach3*): Recognize.
* Makefile.in (gdb-stop): New target.
* gdb-stop.c: New file, utility to gets attention of waiting GDBs
in Mach 3.
* 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.
cyscm links against ../../gdb/{...}.o
Added a new target: libgdb-files. It creates a file of that name
containing a list of files for libgdb. If the variable LIBGDBPREFIX
is set, each file name has that prepended.
* xcoffread.c (read_xcoff_symtab): For C_FILE symbols, only use
the auxent if the symbol's name is ".file". From David Edelsohn
<c1dje@watson.ibm.com>.
fputs_unfiltered and exit directly, rather than fatal. The latter
calls vfprintf_unfiltered!
* gdbtypes.h, gdbtypes.c (can_dereference): New function.
* value.h, printcmd.c (print_value_flags): Move from here...
* annotate.c: ...to here, and make it use can_dereference.
* gdb.t00/teststrategy.exp: Reorder so that AIX gdb can print the
version also, match on casted version strings, and match on
gdb startup case where the line numbers might be messed up.
* inflow.c (job_control, attach_flag, generic_mourn_inferior):
Remove, needed for both native and cross.
* target.c (attach_flag, generic_mourn_inferior): Put here.
* utils.c (job_control): Put here.
(terminal.h): Don't include anymore.
BROKEN_LARGE_ALLOCA. Do the cleanup before returning, rather than
leaving it on the chain. Reindent much of this function.
* config/sparc/{xm-sun4sol2.h,xm-sun4os4.h},
config/i386/{xm-sun386.h,xm-i386m3.h,xm-i386mach.h},
config/m68k/{sun3os4.h,xm-news.h,xm-hp300hpux.h},
config/ns32k/xm-ns32km3.h: Remove all references to
BROKEN_LARGE_ALLOCA; with the above change it is no longer needed.
* main.c, fork-child.c, many config files: Remove all
SET_STACK_LIMIT_HUGE code; with the above changes it should no
longer be needed.
* symtab.c (lookup_partial_symbol): Use if and abort, not assert.
This avoids __eprintf troubles.
* main.c (main): Surround in #ifndef MAIN_OVERRIDE. Move
initialization code which needs to be called even if we bypass the
command line stuff into gdb_init.
* utils.c (fputs_unfiltered): Surround in #ifndef
FPUTS_UNFILTERED_OVERRIDE.
* Makefile.in (libgdb.a): New target.
* utils.c: Rearrange I/O stuff a bit so that all output goes
through fputs_unfiltered. Use vasprintf; removes arbitrary limit
which made %s not work with arbitrarily large strings.
* printcmd.c (printf_command): Use printf_filtered, not
printf_unfiltered and printf, now that arbitrary limit is gone.
Thu May 12 17:04:58 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-make.in (INCLUDE_CFLAGS): Add readline source dir.
(READLINE_CFLAGS, READLINE_SRC, READLINE_DIR): Uncomment.
(TSOBS): Don't compile inflow.c.
(all, install): Add MacGDB.
* main.c (main): Do Mac-specific init and command loop if a
standalone app, skip full option help message if compiling
with MPW C.
(gdb_readline): If MPW, add a newline after the (gdb) prompt.
* utils.c (_initialize_utils): If MPW, don't try to use termcap to
compute the window size.
* config/m68k/xm-mpw.h (printf, fprintf, fputs, fputc, putc,
fflush): Define as macros that expand into hacked_... versions.
(StandAlone, mac_app): Declare.
* macgdb.r (SIZE): Set the default partition to 4000K.
* mac-xdep.c (readline.h, history.h): Include.
(terminal.h): Don't include.
(mac_app): Define.
(gdb_has_a_terminal): Define Mac-specific version.
(do_keyboard_command): Simplify search for command string.
(readline): Define as gdb_readline.
Add other history/readline stubs to make main gdb link.
(hacked_fprintf, hacked_printf, hacked_vfprintf, hacked_fputs,
hacked_fputc, hacked_fflush): New functions, intercept output to
stdout and stderr, send to console window.
unless keep-chill was specified on the command line.
* Makefile.in: Add comment lines to Sanitize out CHILL
references unless keep-chill was specified.
Re-write gdb-look-for-tagged-buffer to avoid recursion (I was getting
errors because of too much nesting, obviously elisp lacks tail
recursion optimization)
Fix toggle-bp-this-line for new ways of communicating with gdb and
rename to gdb-toggle-bp-this-line.
* Makefile.in (kdb): Remove old init.c creation commands.
* configure.in (sparclite): Match on sparclite*.
* sparclite/aload.c (main): Only change section addresses for
a.out format object files.
(print_it_normal): Add annotations for the inferior starting and
stopping, and for all the various messages related to how it
stopped.
* printcmd.c (do_one_display): Annotate.
* stack.c (print_frame_info): Annotate printing of stack frames.
* c-valprint.c (c_val_print): Add vtblprint support
when using thunks.
* cp-valprint.c (cp_is_vtbl_member): A vtable can be an array of
pointers (if using thunks) as well as array of structs (otherwise).
* cp-valprint.c (vtbl_ptr_name_old, vtbl_ptr_name): Move to global
level, and make the latter non-static (so define_symbol can use it).
* stabsread.c (define_symbol): If the type being defined is a
pointer type named "__vtbl_ptr_type", set the TYPE_NAME to that name.
* symtab.h (VTBL_PREFIX_P): Allow "_VT" as well as "_vt".
* values.c (value_virtual_fn_field): Handle thunks.
* values.c (value_headof): Minor efficiency hack.
* values.c (value_headof): Incomplete thunk support. FIXME.
* xcoffexec.c: Reformat to standards and lint.
(language.h): Include.
(exec_close): Declare arg "quitting".
(file_command): Declare arg "from_tty".
(map_vmap): Cast xmalloc result to PTR.
* rs6000-nat.c: Reformat to standards and lint.
(exec_one_dummy_insn): Use char array for saved instruction.
(fixup_breakpoints): Declare.
(vmap_ldinfo): Be more informative in fatal error messages.
(xcoff_relocate_symtab): Define to return void.
* xcoffsolib.h: Reformat to standards, improve comments.
* config/rs6000/nm-rs6000.h (xcoff_relocate_symtab): Declare.
(quit): Print annotation before printing the error message.
* main.c (return_to_top_level): Print annotation before doing the
longjmp.
* symtab.c (decode_line_1): Call error not warning and then
return_to_top_level. Call error_begin and printf_unfiltered
rather calling warning (before calls to return_to_top_level).
* core.c (memory_error): Use error_begin, printf_unfiltered,
print_address_numeric and return_to_top_level instead of error.
Cleans up a FIXME-32x64.
* language.c (type_error, range_error): Call error_begin
not just target_terminal_ours.
for stabs symtabs.
* mips-tdep.c (mips_skip_prologue): Handle prologues for functions
that have a stack frame size of 32k or larger (from Paul Flinders).
Remove #if 0'd code.
* lynx-nat.c (CANNOT_STORE_REGISTER): Add a fallback definition
for Lynx platforms that need it.
* config/nm-lynx.h (__LYNXOS): Define if not already defined.
* nlm/gdbserve.c (putDebugChar): Install bug fix from i386-nlmstub.
* (hex2mem): Init ptr.
* General cleanups to use ConsolePrintf, standard prologues, etc...
* mpw-make.in (MacGDB): New target, standalone Mac-hosted gdb.
(XDEPFILES): Define.
(main.c.o): Compile with gC instead of C.
* mac-defs.h: New file, menu etc definitions shared between
C and Rez files.
* macgdb.r: New file, Rez (resource compiler) resource
definitions.
* mac-xdep.c: New file, Mac host interface code.
* config/m68k/xm-mpw.h (PATHNAME_SEPARATOR): Rename to
DIRNAME_SEPARATOR.
(PATHNAME_SEPARATOR_STRING): Remove.
(SIGQUIT, SIGHUP): Define.
(fileno, R_OK): Define.
associated with the symbol to make dynmaic relocation work.
* (dbx_symfile_read, process_one_symbol): Fixes to work around
Solaris brain-damage which don't apply to relocatable object
files.
* (stabsect_build_psymtabs): New routine to read stabs out of an
arbitrarily named section.
* nlmread.c (nlm_symtab_read): Read ALL syms from the NLM, not just
globals.
* (nlm_symfile_read): Call stabsect_build_psymtabs to read the
stabs out of the nlm.
* partial-stabs.h (cases 'f' & 'F'): Fixes to work around Solaris
brain-damage which don't apply to relocatable object files.
* remote.c (putpkt): Improve error reporting and error handling.
* stabsread.c (define_symbol, scan_file_globals): Record section
info in sym.
to after call to target_wait. This means that flush_cached_frames
can call target_terminal_ours if it wants to.
* infrun.c (wait_for_inferior) [HAVE_NONSTEPPABLE_WATCHPOINT]: Add
comment about why the code is dubious.
ChangeLog remote-os9k.c os9kread.c stabsread.c
* remote-os9k.c (rombug_fetch_registers): set trace mode
correctly.
* remote-os9k.c (rombug_read_inferior_memory): cache data in
buffer.
* os9kread,c (read_os9k_psymtab): process file symbol to truncate
extra info.
* os9kread.c (os9k_read_ofile_symtab): proper casting of args
passed to process_one_symbol.
* stabsread.c (read_type): process os9k functio prototype.
(query): Annotate query.
* printcmd.c (print_frame_args): Change syntax of argument
annotation to make name and value part of a single group of
annotations, not two separate groups.
* cp-valprint.c (cp_print_value_fields): Likewise for fields.
* valprint.c (val_print_array_elements): Change syntax of
annotation to be more concise.
* main.c, defs.h (command_line_input): New argument tells what
string to include in the annotations.
* symtab.c (decode_line_2), main.c (read_command_lines,
command_loop): Change callers.
target null pointer.
* blockframe.c (find_frame_addr_in_frame_chain): Likewise.
* printcmd.c (output_command): Annotate things we print here too.
* Move declaration of print_value_flags from defs.h to value.h.
* main.c (command_line_input): Call wrap_here as well as gdb_flush.
that we print.
(print_frame_args): Annotate each argument.
* printcmd.c, defs.h (print_value_flags): New function.
* cp-valprint.c (cp_print_value_fields): Annotate each field.
* valprint.c (val_print_array_elements): Annotate each array element.
the same as --annotate=1.
(command_line_input): Print annotatation before and after prompt.
* blockframe.c (flush_cached_frames): Print annotation.
* Rename frame_file_full_name to annotation_level and move it from
symtab.h to defs.h.
* source.c (identify_source_line): If annotation_level > 1,
change output format.
* breakpoint.c: Print annotation whenever a breakpoint changes.
* main.c: New variable server_command.
(command_line_input): Parse "server " and set server_command.
(dont_repeat): Check server_command.
moved into hppa-tdep.c.
(read_unwind_info): Likewise.
(pa_symfile_read): No longer call read_unwind_info. The unwind
tables will be read in as they are needed.
* hppa-tdep.c (compare_unwind_entries): New function.
(read_unwind_info, internalize_unwinds): Likewise.
(find_unwind_entry): Read in unwind information on demand.
All references to value changed to value_ptrlage_command is now
called big_command.
All references to value changed to value_ptr.
* remote-z8k.c (e7000_wait): Use target_waitstatus and SETSTOP
* remote-hms.c (hms_wait): Timeout after five seconds.
* ser-go32.c (dosasync_read): Poll if timeout < 0.
* config/tm/tm-h8500.h (BEFORE_MAIN_LOOP_HOOK): Deleted.
* config/sh/tm-sh.h (BREAKPOINT): Is now sleep opcode.
bp_watchpoint_scope breakpoints.
(struct breakpoint): Add val_chain and related_breakpoint fields
for use by watchpoints.
* breakpoint.c (within_scope): Delete. No longer used.
(TARGET_CAN_USE_HARDWARE_WATCHPOINT): Provide default definition.
(target_{remove,insert}_watchpoint): Likewise.
(can_use_hardware_watchpoint): New function.
(remove_breakpoint): New function to remove a single breakpoint
or hardware watchpoint.
(insert_breakpoints): Handle insertion of hardware watchpoints.
Store a copy of the value chain derived from the watchpoint
expression.
(remove_breakpoints): Simplify by using remove_breakpoint.
(delete_breakpoint): Likewise.
(watchpoint_check): Delete the watchpoint and watchpoint scope
breakpoints when the watchpoint goes out of scope. Save & restore
the current frame after checking watchpoints.
(breakpoint_init_inferior): Likewise (restarting the program
makes all local watchpoints go out of scope).
(bpstat_stop_status): Handle hardware watchpoints much like normal
watchpoints. Delete the watchpoint and watchpoint scope breakpoint
when the watchpoint goes out of scope. Remove and reinsert all
breakpoints before returning if we stopped when a hardware watchpoint
fired.
(watch_command): Use a hardware watchpoint when possible. If
watching a local expression, build a scope breakpoint too.
(map_breakpoint_numbers): Also call given function for any
related breakpoints.
(disable_breakpoint): Never disable a scope breakpoint.
(enable_breakpoint): Handle hardware breakpoints much like normal
breakpoints, but recompute the watchpoint_scope breakpoint's
frame and address (if we have an associated scope breakpoint).
(read_memory_nobpt): Handle hardware watchpoints like normal
watchpoints. When necessary handle watchpoint_scope breakpoints.
(print_it_normal, bpstat_what, breakpoint_1, mention): Likewise.
(clear_command, breakpoint_re_set_one, enable_command): Likewise.
(disable_command): Likewise.
* blockframe.c (find_frame_addr_in_frame_chain): New function.
Extern prototype added to frame.h
* infrun.c (wait_for_inferior): Set current_frame and select
a frame before checking if we stopped due to a hardare watchpoint
firing. Handle stepping over hardware watchpoints.
(normal_stop): Remove unnecessary call to select_frame.
* value.h (value_release_to_mark): Declare.
* values.c (value_release_to_mark): New function.
* procfs.c (procfs_wait): Add cases for hardware watchpoints.
(procfs_set_watchpoint, procfs_stopped_by_watchpoint): New functions.
* hppab-nat.c (hppa_set_watchpoint): New function.
* config/pa/nm-hppab.h (STOPPED_BY_WATCHPOINT): Define.
(HAVE_STEPPABLE_WATCHPOINT): Define.
(TARGET_CAN_USE_HARDWARE_WATCHPOINT): Define.
(target_{insert,delete}_watchpoint): Define.
* xcoffread.c (read_xcoff_symtab): Ignore symbols of class C_EXT,
smtyp XTY_LD, sclass XMC_DS (external data segment label). They
often have the same names as debug symbols for functions, and
confuse lookup_symbol().
* config/pa/tm-hppa.h (REGISTER_BYTES): Use 4 rather than
REGISTER_RAW_SIZE (1).
Together these changes work around a bug in HP's compiler. Both
seem to be necessary.
* gdb.t15/return.exp (return_tests): Handle targets where "return"
stops in mid-line in the caller. Add xfail for returning a float
value on X86 targets.
are in the .plt section.
* minsyms.c (lookup_solib_trampoline_symbol_by_pc,
find_solib_trampoline_target): New functions for handling
stepping into -g compiled shared libraries.
* symtab.h (lookup_solib_trampoline_symbol_by_pc,
find_solib_trampoline_target): Add prototypes.
* config/tm-sunos.h (IN_SOLIB_TRAMPOLINE, SKIP_TRAMPOLINE_CODE):
Define to handle stepping into -g compiled shared libraries.
* config/tm-sysv4.h (SKIP_TRAMPOLINE_CODE): Define to handle
stepping into -g compiled shared libraries.
* configure.in: Add mips-*-sysv4* support.
* config/mips/mipsv4.mh, config/mips/mipsv4.mt,
config/mips/tm-mipsv4.h, config/mips/xm-mipsv4.h, mipsv4-nat.c:
New files for MIPS SVR4 support.
* Makefile.in: Update for new mipsv4 files.
* alpha-tdep.c (heuristic_proc_desc, find_proc_desc): Use
read_next_frame_reg to obtain the frame relative stack pointer.
* mips-tdep.c (heuristic_proc_desc): Use read_next_frame_reg to
obtain the frame relative stack pointer.
* mdebugread.c (parse_partial_symbols, psymtab_to_symtab1):
Handle stStatic and stStaticProc symbols in stabs-in-ecoff output
by entering them into the minimal symbol table.
* printcmd.c (print_scalar_formatted): Do not try to unpack to
a long for float formats.
* solib.c: Include "elf/mips.h" only if DT_MIPS_RLD_MAP does not
get defined in <link.h>.
* solib.c (solib_add): Add shared library sections to the section
table of the target before adding the symbols.
* partial-stab.h: Relocate static and global functions.
* dbxread.c (read_dbx_symtab): Remove unused variable
end_of_text_address. Relocate text_addr when passing it
to end_psymtab.
For Alpha OSF/1 targets, enable gdb to set breakpoints in shared
library functions before the executable is run. Retrieve dynamic
symbols from stripped executables.
* mipsread.c (read_alphacoff_dynamic_symtab): New function.
* mipsread.c (mipscoff_symfile_read): Use it. Issue warning message
if no debugging symbols were found.
* alpha-tdep.c (alpha_skip_prologue): Silently return the unaltered
pc if memory at the pc is not accessible and GDB_TARGET_HAS_SHARED_LIBS
is defined.
* config/alpha/nm-alpha.h (GDB_TARGET_HAS_SHARED_LIBS): Define,
OSF/1 has shared libraries.
descriptor was found, then assume this was not a frameless
function invocation.
(frame_saved_pc): If the saved PC is in a linker stub, then
return the return address which the linker stub will return to.
library functions before the executable is run.
* elfread.c (elf_symtab_read): Handle symbols for shared library
functions.
* sparc-tdep.c (in_solib_trampoline): Renamed to in_plt_section
and moved to objfiles.c.
* objfiles.c (in_plt_section): Moved to here from sparc-tdep.
* config/tm-sysv4.h (IN_SOLIB_TRAMPOLINE): Use new in_plt_section.
* config/sparc/tm-sun4sol2.h (IN_SOLIB_TRAMPOLINE): Removed,
the new generic definition from tm-sysv4.h works for Solaris.
number_of_symbols and i to long. Rename get_symtab_upper_bound to
bfd_get_symtab_upper_bound. Check for errors from
bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
* nlmread.c (nlm_symtab_read): Same changes.