From f458c59c2304bcdacc00cd43ff1a93f184c407d0 Mon Sep 17 00:00:00 2001 From: obrien Date: Thu, 27 Jun 2002 23:04:23 +0000 Subject: Vendor import of GDB 5.2. These bits are taken from the FSF gdb_5_2-branch anoncvs repo on 27-June-2002 12:01:00 EDT. --- contrib/gdb/ChangeLog | 7746 ++++++++++++++ contrib/gdb/MAINTAINERS | 114 + contrib/gdb/Makefile.in | 674 +- contrib/gdb/config-ml.in | 230 +- contrib/gdb/config.guess | 1046 +- contrib/gdb/config.if | 14 +- contrib/gdb/config.sub | 689 +- contrib/gdb/configure | 87 +- contrib/gdb/configure.in | 608 +- contrib/gdb/gdb/CONTRIBUTE | 90 +- contrib/gdb/gdb/ChangeLog | 3899 ++++++-- contrib/gdb/gdb/ChangeLog-1990 | 3155 ++++++ contrib/gdb/gdb/ChangeLog-1991 | 5175 ++++++++++ contrib/gdb/gdb/ChangeLog-1992 | 6285 ++++++++++++ contrib/gdb/gdb/ChangeLog-1993 | 7597 ++++++++++++++ contrib/gdb/gdb/ChangeLog-1994 | 5705 +++++++++++ contrib/gdb/gdb/ChangeLog-1995 | 4915 +++++++++ contrib/gdb/gdb/ChangeLog-1996 | 5116 ++++++++++ contrib/gdb/gdb/ChangeLog-1997 | 2909 ++++++ contrib/gdb/gdb/ChangeLog-1998 | 7220 +++++++++++++ contrib/gdb/gdb/ChangeLog-1999 | 9296 +++++++++++++++++ contrib/gdb/gdb/ChangeLog-2000 | 8204 +++++++++++++++ contrib/gdb/gdb/ChangeLog-2001 | 9895 ++++++++++++++++++ contrib/gdb/gdb/ChangeLog-3.x | 4838 +++++++++ contrib/gdb/gdb/MAINTAINERS | 421 + contrib/gdb/gdb/Makefile.in | 1757 +++- contrib/gdb/gdb/NEWS | 458 +- contrib/gdb/gdb/PROBLEMS | 32 + contrib/gdb/gdb/README | 446 +- contrib/gdb/gdb/TODO | 572 +- contrib/gdb/gdb/abug-rom.c | 18 +- contrib/gdb/gdb/acconfig.h | 71 +- contrib/gdb/gdb/acinclude.m4 | 123 +- contrib/gdb/gdb/aclocal.m4 | 409 +- contrib/gdb/gdb/alpha-nat.c | 74 +- contrib/gdb/gdb/alpha-tdep.c | 1251 ++- contrib/gdb/gdb/alphabsd-nat.c | 211 + contrib/gdb/gdb/alphafbsd-tdep.c | 53 + contrib/gdb/gdb/annotate.c | 230 +- contrib/gdb/gdb/annotate.h | 190 +- contrib/gdb/gdb/arc-tdep.c | 248 +- contrib/gdb/gdb/arch-utils.c | 861 ++ contrib/gdb/gdb/arch-utils.h | 163 + contrib/gdb/gdb/arm-linux-nat.c | 698 ++ contrib/gdb/gdb/arm-linux-tdep.c | 547 + contrib/gdb/gdb/arm-tdep.c | 2035 +++- contrib/gdb/gdb/arm-tdep.h | 174 + contrib/gdb/gdb/armnbsd-nat.c | 464 + contrib/gdb/gdb/armnbsd-tdep.c | 85 + contrib/gdb/gdb/ax-gdb.c | 803 +- contrib/gdb/gdb/ax-gdb.h | 107 +- contrib/gdb/gdb/ax-general.c | 285 +- contrib/gdb/gdb/ax.h | 311 +- contrib/gdb/gdb/bcache.c | 442 +- contrib/gdb/gdb/bcache.h | 158 +- contrib/gdb/gdb/blockframe.c | 670 +- contrib/gdb/gdb/breakpoint.c | 7122 +++++++------ contrib/gdb/gdb/breakpoint.h | 909 +- contrib/gdb/gdb/buildsym.c | 147 +- contrib/gdb/gdb/buildsym.h | 32 +- contrib/gdb/gdb/c-exp.y | 104 +- contrib/gdb/gdb/c-lang.c | 419 +- contrib/gdb/gdb/c-lang.h | 91 +- contrib/gdb/gdb/c-typeprint.c | 861 +- contrib/gdb/gdb/c-valprint.c | 343 +- contrib/gdb/gdb/call-cmds.h | 47 +- contrib/gdb/gdb/ch-exp.c | 1320 +-- contrib/gdb/gdb/ch-lang.c | 328 +- contrib/gdb/gdb/ch-lang.h | 55 +- contrib/gdb/gdb/ch-typeprint.c | 500 +- contrib/gdb/gdb/ch-valprint.c | 173 +- contrib/gdb/gdb/cli-out.c | 377 + contrib/gdb/gdb/cli-out.h | 27 + contrib/gdb/gdb/cli/cli-cmds.c | 826 ++ contrib/gdb/gdb/cli/cli-cmds.h | 125 + contrib/gdb/gdb/cli/cli-decode.c | 1409 +++ contrib/gdb/gdb/cli/cli-decode.h | 385 + contrib/gdb/gdb/cli/cli-script.c | 1228 +++ contrib/gdb/gdb/cli/cli-script.h | 48 + contrib/gdb/gdb/cli/cli-setshow.c | 382 + contrib/gdb/gdb/cli/cli-setshow.h | 36 + contrib/gdb/gdb/cli/cli-utils.c | 21 + contrib/gdb/gdb/cli/cli-utils.h | 22 + contrib/gdb/gdb/coff-solib.c | 122 +- contrib/gdb/gdb/coff-solib.h | 84 +- contrib/gdb/gdb/coffread.c | 1846 ++-- contrib/gdb/gdb/command.h | 382 +- contrib/gdb/gdb/complaints.c | 142 +- contrib/gdb/gdb/complaints.h | 46 +- contrib/gdb/gdb/completer.c | 713 ++ contrib/gdb/gdb/completer.h | 44 + contrib/gdb/gdb/config.in | 226 +- contrib/gdb/gdb/config/alpha/alpha-linux.mh | 7 +- contrib/gdb/gdb/config/alpha/alpha-linux.mt | 2 +- contrib/gdb/gdb/config/alpha/alpha-osf1.mh | 4 +- contrib/gdb/gdb/config/alpha/alpha-osf2.mh | 5 +- contrib/gdb/gdb/config/alpha/alpha-osf3.mh | 5 +- contrib/gdb/gdb/config/alpha/fbsd.mh | 5 + contrib/gdb/gdb/config/alpha/fbsd.mt | 3 + contrib/gdb/gdb/config/alpha/nm-fbsd.h | 45 + contrib/gdb/gdb/config/alpha/nm-linux.h | 61 +- contrib/gdb/gdb/config/alpha/nm-osf.h | 30 +- contrib/gdb/gdb/config/alpha/nm-osf2.h | 29 +- contrib/gdb/gdb/config/alpha/nm-osf3.h | 27 +- contrib/gdb/gdb/config/alpha/tm-alpha.h | 260 +- contrib/gdb/gdb/config/alpha/tm-alphalinux.h | 45 +- contrib/gdb/gdb/config/alpha/tm-fbsd.h | 45 + contrib/gdb/gdb/config/alpha/xm-alphalinux.h | 33 +- contrib/gdb/gdb/config/alpha/xm-alphaosf.h | 31 +- contrib/gdb/gdb/config/i386/cygwin.mh | 5 +- contrib/gdb/gdb/config/i386/embed.mt | 3 + contrib/gdb/gdb/config/i386/fbsd.mh | 8 +- contrib/gdb/gdb/config/i386/fbsd.mt | 2 +- contrib/gdb/gdb/config/i386/go32.mh | 19 +- contrib/gdb/gdb/config/i386/go32.mt | 3 + contrib/gdb/gdb/config/i386/i386aix.mh | 1 - contrib/gdb/gdb/config/i386/i386bsd.mh | 1 - contrib/gdb/gdb/config/i386/i386dgux.mh | 5 +- contrib/gdb/gdb/config/i386/i386gnu.mh | 4 +- contrib/gdb/gdb/config/i386/i386gnu.mt | 2 +- contrib/gdb/gdb/config/i386/i386lynx.mh | 6 +- contrib/gdb/gdb/config/i386/i386m3.mh | 3 +- contrib/gdb/gdb/config/i386/i386mach.mh | 1 - contrib/gdb/gdb/config/i386/i386mk.mh | 2 +- contrib/gdb/gdb/config/i386/i386sco.mh | 1 - contrib/gdb/gdb/config/i386/i386sco4.mh | 1 - contrib/gdb/gdb/config/i386/i386sco5.mh | 3 +- contrib/gdb/gdb/config/i386/i386sol2.mh | 5 +- contrib/gdb/gdb/config/i386/i386sol2.mt | 2 +- contrib/gdb/gdb/config/i386/i386v.mh | 1 - contrib/gdb/gdb/config/i386/i386v32.mh | 1 - contrib/gdb/gdb/config/i386/i386v4.mh | 5 +- contrib/gdb/gdb/config/i386/i386v42mp.mh | 11 +- contrib/gdb/gdb/config/i386/linux.mh | 13 +- contrib/gdb/gdb/config/i386/linux.mt | 5 +- contrib/gdb/gdb/config/i386/nbsd.mh | 11 +- contrib/gdb/gdb/config/i386/nbsd.mt | 4 +- contrib/gdb/gdb/config/i386/nbsdelf.mh | 4 + contrib/gdb/gdb/config/i386/nbsdelf.mt | 5 + contrib/gdb/gdb/config/i386/ncr3000.mh | 4 +- contrib/gdb/gdb/config/i386/ncr3000.mt | 2 +- contrib/gdb/gdb/config/i386/nm-cygwin.h | 38 + contrib/gdb/gdb/config/i386/nm-fbsd.h | 110 +- contrib/gdb/gdb/config/i386/nm-gnu.h | 27 +- contrib/gdb/gdb/config/i386/nm-go32.h | 38 + contrib/gdb/gdb/config/i386/nm-i386.h | 120 + contrib/gdb/gdb/config/i386/nm-i386aix.h | 27 +- contrib/gdb/gdb/config/i386/nm-i386bsd.h | 33 +- contrib/gdb/gdb/config/i386/nm-i386lynx.h | 25 +- contrib/gdb/gdb/config/i386/nm-i386mach.h | 32 +- contrib/gdb/gdb/config/i386/nm-i386sco.h | 33 +- contrib/gdb/gdb/config/i386/nm-i386sco4.h | 31 +- contrib/gdb/gdb/config/i386/nm-i386sco5.h | 29 +- contrib/gdb/gdb/config/i386/nm-i386sol2.h | 69 +- contrib/gdb/gdb/config/i386/nm-i386v.h | 33 +- contrib/gdb/gdb/config/i386/nm-i386v4.h | 28 +- contrib/gdb/gdb/config/i386/nm-i386v42mp.h | 29 +- contrib/gdb/gdb/config/i386/nm-linux.h | 126 +- contrib/gdb/gdb/config/i386/nm-m3.h | 25 +- contrib/gdb/gdb/config/i386/nm-nbsd.h | 35 +- contrib/gdb/gdb/config/i386/nm-nbsdelf.h | 28 + contrib/gdb/gdb/config/i386/nm-obsd.h | 110 + contrib/gdb/gdb/config/i386/nm-ptx4.h | 34 +- contrib/gdb/gdb/config/i386/nm-symmetry.h | 34 +- contrib/gdb/gdb/config/i386/nm-x86-64.h | 90 + contrib/gdb/gdb/config/i386/obsd.mh | 7 + contrib/gdb/gdb/config/i386/obsd.mt | 3 + contrib/gdb/gdb/config/i386/ptx.mh | 2 +- contrib/gdb/gdb/config/i386/ptx4.mh | 3 +- contrib/gdb/gdb/config/i386/symmetry.mh | 1 - contrib/gdb/gdb/config/i386/tm-cygwin.h | 134 +- contrib/gdb/gdb/config/i386/tm-fbsd.h | 99 +- contrib/gdb/gdb/config/i386/tm-go32.h | 68 + contrib/gdb/gdb/config/i386/tm-i386.h | 372 +- contrib/gdb/gdb/config/i386/tm-i386aix.h | 71 +- contrib/gdb/gdb/config/i386/tm-i386bsd.h | 30 +- contrib/gdb/gdb/config/i386/tm-i386gnu.h | 68 +- contrib/gdb/gdb/config/i386/tm-i386lynx.h | 27 +- contrib/gdb/gdb/config/i386/tm-i386m3.h | 32 +- contrib/gdb/gdb/config/i386/tm-i386mk.h | 39 +- contrib/gdb/gdb/config/i386/tm-i386nw.h | 36 +- contrib/gdb/gdb/config/i386/tm-i386os9k.h | 34 +- contrib/gdb/gdb/config/i386/tm-i386sco5.h | 35 +- contrib/gdb/gdb/config/i386/tm-i386sol2.h | 67 +- contrib/gdb/gdb/config/i386/tm-i386v.h | 159 +- contrib/gdb/gdb/config/i386/tm-i386v4.h | 41 +- contrib/gdb/gdb/config/i386/tm-i386v42mp.h | 95 +- contrib/gdb/gdb/config/i386/tm-linux.h | 132 +- contrib/gdb/gdb/config/i386/tm-nbsd.h | 68 +- contrib/gdb/gdb/config/i386/tm-nbsdelf.h | 28 + contrib/gdb/gdb/config/i386/tm-obsd.h | 77 + contrib/gdb/gdb/config/i386/tm-ptx.h | 53 +- contrib/gdb/gdb/config/i386/tm-ptx4.h | 28 +- contrib/gdb/gdb/config/i386/tm-symmetry.h | 54 +- contrib/gdb/gdb/config/i386/tm-vxworks.h | 28 + contrib/gdb/gdb/config/i386/vxworks.mt | 3 + contrib/gdb/gdb/config/i386/x86-64linux.mh | 11 + contrib/gdb/gdb/config/i386/x86-64linux.mt | 5 + contrib/gdb/gdb/config/i386/xm-cygwin.h | 38 +- contrib/gdb/gdb/config/i386/xm-go32.h | 41 +- contrib/gdb/gdb/config/i386/xm-i386.h | 30 + contrib/gdb/gdb/config/i386/xm-i386aix.h | 32 +- contrib/gdb/gdb/config/i386/xm-i386bsd.h | 32 +- contrib/gdb/gdb/config/i386/xm-i386gnu.h | 30 +- contrib/gdb/gdb/config/i386/xm-i386m3.h | 30 +- contrib/gdb/gdb/config/i386/xm-i386mach.h | 32 +- contrib/gdb/gdb/config/i386/xm-i386mk.h | 27 +- contrib/gdb/gdb/config/i386/xm-i386sco.h | 30 +- contrib/gdb/gdb/config/i386/xm-i386v.h | 48 +- contrib/gdb/gdb/config/i386/xm-i386v32.h | 25 +- contrib/gdb/gdb/config/i386/xm-i386v4.h | 27 +- contrib/gdb/gdb/config/i386/xm-nbsd.h | 29 +- contrib/gdb/gdb/config/i386/xm-ptx.h | 31 +- contrib/gdb/gdb/config/i386/xm-ptx4.h | 30 +- contrib/gdb/gdb/config/i386/xm-symmetry.h | 30 +- contrib/gdb/gdb/config/ia64/aix.mh | 8 + contrib/gdb/gdb/config/ia64/aix.mt | 4 + contrib/gdb/gdb/config/ia64/linux.mh | 10 + contrib/gdb/gdb/config/ia64/linux.mt | 6 + contrib/gdb/gdb/config/ia64/nm-aix.h | 37 + contrib/gdb/gdb/config/ia64/nm-linux.h | 79 + contrib/gdb/gdb/config/ia64/tm-aix.h | 32 + contrib/gdb/gdb/config/ia64/tm-ia64.h | 252 + contrib/gdb/gdb/config/ia64/tm-linux.h | 34 + contrib/gdb/gdb/config/ia64/xm-aix.h | 28 + contrib/gdb/gdb/config/ia64/xm-linux.h | 28 + contrib/gdb/gdb/config/nm-gnu.h | 13 +- contrib/gdb/gdb/config/nm-linux.h | 74 + contrib/gdb/gdb/config/nm-lynx.h | 44 +- contrib/gdb/gdb/config/nm-m3.h | 39 +- contrib/gdb/gdb/config/nm-nbsd.h | 43 +- contrib/gdb/gdb/config/nm-sysv4.h | 30 +- contrib/gdb/gdb/config/none/nm-none.h | 19 + contrib/gdb/gdb/config/none/none.mh | 5 + contrib/gdb/gdb/config/none/none.mt | 4 + contrib/gdb/gdb/config/none/tm-none.h | 24 + contrib/gdb/gdb/config/none/xm-none.h | 19 + contrib/gdb/gdb/config/tm-linux.h | 42 + contrib/gdb/gdb/config/tm-lynx.h | 27 +- contrib/gdb/gdb/config/tm-nbsd.h | 34 +- contrib/gdb/gdb/config/tm-sunos.h | 27 +- contrib/gdb/gdb/config/tm-sysv4.h | 30 +- contrib/gdb/gdb/config/tm-vxworks.h | 23 + contrib/gdb/gdb/config/xm-aix4.h | 47 +- contrib/gdb/gdb/config/xm-nbsd.h | 45 +- contrib/gdb/gdb/config/xm-sysv4.h | 35 +- contrib/gdb/gdb/configure | 5602 ++++++++--- contrib/gdb/gdb/configure.host | 69 +- contrib/gdb/gdb/configure.in | 919 +- contrib/gdb/gdb/configure.tgt | 188 +- contrib/gdb/gdb/copying.awk | 6 +- contrib/gdb/gdb/copying.c | 16 +- contrib/gdb/gdb/core-aout.c | 87 +- contrib/gdb/gdb/core-regset.c | 114 +- contrib/gdb/gdb/core-sol2.c | 88 +- contrib/gdb/gdb/corefile.c | 337 +- contrib/gdb/gdb/corelow.c | 456 +- contrib/gdb/gdb/cp-abi.c | 109 + contrib/gdb/gdb/cp-abi.h | 173 + contrib/gdb/gdb/cp-valprint.c | 512 +- contrib/gdb/gdb/cpu32bug-rom.c | 144 +- contrib/gdb/gdb/cxux-nat.c | 512 +- contrib/gdb/gdb/dbug-rom.c | 161 + contrib/gdb/gdb/dbxread.c | 2085 ++-- contrib/gdb/gdb/dcache.c | 551 +- contrib/gdb/gdb/dcache.h | 51 +- contrib/gdb/gdb/defs.h | 1561 +-- contrib/gdb/gdb/demangle.c | 129 +- contrib/gdb/gdb/dink32-rom.c | 82 +- contrib/gdb/gdb/doc/ChangeLog | 1118 ++- contrib/gdb/gdb/doc/Makefile.in | 183 +- contrib/gdb/gdb/doc/agentexpr.texi | 2 +- contrib/gdb/gdb/doc/all-cfg.texi | 69 +- contrib/gdb/gdb/doc/annotate.texi | 400 +- contrib/gdb/gdb/doc/configure | 34 +- contrib/gdb/gdb/doc/configure.in | 1 + contrib/gdb/gdb/doc/fdl.texi | 368 + contrib/gdb/gdb/doc/gdb.texinfo | 12774 ++++++++++++++++-------- contrib/gdb/gdb/doc/gdbint.texinfo | 4664 +++++++-- contrib/gdb/gdb/doc/gpl.texi | 409 + contrib/gdb/gdb/doc/refcard.tex | 18 +- contrib/gdb/gdb/doc/stabs.texinfo | 134 +- contrib/gdb/gdb/doublest.c | 788 ++ contrib/gdb/gdb/doublest.h | 83 + contrib/gdb/gdb/dsrec.c | 311 + contrib/gdb/gdb/dst.h | 1671 ++++ contrib/gdb/gdb/dstread.c | 1607 +++ contrib/gdb/gdb/dwarf2cfi.c | 1784 ++++ contrib/gdb/gdb/dwarf2cfi.h | 66 + contrib/gdb/gdb/dwarf2read.c | 2292 +++-- contrib/gdb/gdb/dwarfread.c | 2813 +++--- contrib/gdb/gdb/elfread.c | 481 +- contrib/gdb/gdb/environ.c | 67 +- contrib/gdb/gdb/environ.h | 71 +- contrib/gdb/gdb/eval.c | 894 +- contrib/gdb/gdb/event-loop.c | 1151 +++ contrib/gdb/gdb/event-loop.h | 95 + contrib/gdb/gdb/event-top.c | 1171 +++ contrib/gdb/gdb/event-top.h | 111 + contrib/gdb/gdb/exec.c | 525 +- contrib/gdb/gdb/expprint.c | 508 +- contrib/gdb/gdb/expression.h | 615 +- contrib/gdb/gdb/f-exp.y | 51 +- contrib/gdb/gdb/f-lang.c | 616 +- contrib/gdb/gdb/f-lang.h | 112 +- contrib/gdb/gdb/f-typeprint.c | 186 +- contrib/gdb/gdb/f-valprint.c | 682 +- contrib/gdb/gdb/findvar.c | 1188 +-- contrib/gdb/gdb/fork-child.c | 195 +- contrib/gdb/gdb/fr30-tdep.c | 63 +- contrib/gdb/gdb/frame.c | 225 + contrib/gdb/gdb/frame.h | 244 +- contrib/gdb/gdb/gcore.c | 497 + contrib/gdb/gdb/gdb-events.c | 353 + contrib/gdb/gdb/gdb-events.h | 113 + contrib/gdb/gdb/gdb-events.sh | 607 ++ contrib/gdb/gdb/gdb-stabs.h | 95 +- contrib/gdb/gdb/gdb.1 | 2 +- contrib/gdb/gdb/gdb.h | 60 + contrib/gdb/gdb/gdb_assert.h | 55 + contrib/gdb/gdb/gdb_dirent.h | 40 + contrib/gdb/gdb/gdb_indent.sh | 62 + contrib/gdb/gdb/gdb_proc_service.h | 86 + contrib/gdb/gdb/gdb_regex.h | 30 + contrib/gdb/gdb/gdb_stat.h | 36 +- contrib/gdb/gdb/gdb_string.h | 73 +- contrib/gdb/gdb/gdb_thread_db.h | 450 + contrib/gdb/gdb/gdb_vfork.h | 28 + contrib/gdb/gdb/gdb_wait.h | 121 + contrib/gdb/gdb/gdbarch.c | 5221 +++++++++- contrib/gdb/gdb/gdbarch.h | 2599 ++++- contrib/gdb/gdb/gdbarch.sh | 2240 +++++ contrib/gdb/gdb/gdbcmd.h | 58 +- contrib/gdb/gdb/gdbcore.h | 164 +- contrib/gdb/gdb/gdbinit.in | 2 +- contrib/gdb/gdb/gdbserver/Makefile.in | 167 +- contrib/gdb/gdb/gdbserver/README | 49 +- contrib/gdb/gdb/gdbserver/acconfig.h | 9 + contrib/gdb/gdb/gdbserver/aclocal.m4 | 100 + contrib/gdb/gdb/gdbserver/config.in | 26 + contrib/gdb/gdb/gdbserver/configure | 1602 +++ contrib/gdb/gdb/gdbserver/configure.in | 139 +- contrib/gdb/gdb/gdbserver/configure.srv | 65 + contrib/gdb/gdb/gdbserver/gdbreplay.c | 124 +- contrib/gdb/gdb/gdbserver/gdbserver.1 | 15 +- contrib/gdb/gdb/gdbserver/i387-fp.c | 290 + contrib/gdb/gdb/gdbserver/i387-fp.h | 33 + contrib/gdb/gdb/gdbserver/linux-arm-low.c | 47 + contrib/gdb/gdb/gdbserver/linux-i386-low.c | 123 + contrib/gdb/gdb/gdbserver/linux-ia64-low.c | 297 + contrib/gdb/gdb/gdbserver/linux-low.c | 484 + contrib/gdb/gdb/gdbserver/linux-low.h | 37 + contrib/gdb/gdb/gdbserver/linux-x86-64-low.c | 76 + contrib/gdb/gdb/gdbserver/low-hppabsd.c | 146 +- contrib/gdb/gdb/gdbserver/low-lynx.c | 405 +- contrib/gdb/gdb/gdbserver/low-nbsd.c | 599 ++ contrib/gdb/gdb/gdbserver/low-sim.c | 126 +- contrib/gdb/gdb/gdbserver/low-sparc.c | 148 +- contrib/gdb/gdb/gdbserver/low-sun3.c | 126 +- contrib/gdb/gdb/gdbserver/regcache.c | 147 + contrib/gdb/gdb/gdbserver/regcache.h | 49 + contrib/gdb/gdb/gdbserver/remote-utils.c | 218 +- contrib/gdb/gdb/gdbserver/server.c | 160 +- contrib/gdb/gdb/gdbserver/server.h | 122 +- contrib/gdb/gdb/gdbserver/terminal.h | 51 + contrib/gdb/gdb/gdbserver/utils.c | 83 +- contrib/gdb/gdb/gdbthread.h | 242 +- contrib/gdb/gdb/gdbtypes.c | 2546 +++-- contrib/gdb/gdb/gdbtypes.h | 1082 +- contrib/gdb/gdb/gnu-nat.c | 1408 +-- contrib/gdb/gdb/gnu-nat.h | 96 +- contrib/gdb/gdb/gnu-v2-abi.c | 429 + contrib/gdb/gdb/gnu-v3-abi.c | 434 + contrib/gdb/gdb/gregset.h | 56 + contrib/gdb/gdb/hpacc-abi.c | 328 + contrib/gdb/gdb/hpux-thread.c | 308 +- contrib/gdb/gdb/i386-linux-nat.c | 955 ++ contrib/gdb/gdb/i386-linux-tdep.c | 530 + contrib/gdb/gdb/i386-nat.c | 635 ++ contrib/gdb/gdb/i386-stub.c | 555 +- contrib/gdb/gdb/i386-tdep.c | 1270 ++- contrib/gdb/gdb/i386-tdep.h | 116 + contrib/gdb/gdb/i386aix-nat.c | 217 +- contrib/gdb/gdb/i386b-nat.c | 212 +- contrib/gdb/gdb/i386bsd-nat.c | 400 + contrib/gdb/gdb/i386bsd-tdep.c | 84 + contrib/gdb/gdb/i386fbsd-nat.c | 102 + contrib/gdb/gdb/i386gnu-nat.c | 494 +- contrib/gdb/gdb/i386ly-tdep.c | 34 +- contrib/gdb/gdb/i386m3-nat.c | 203 +- contrib/gdb/gdb/i386mach-nat.c | 157 +- contrib/gdb/gdb/i386nbsd-nat.c | 132 + contrib/gdb/gdb/i386nbsd-tdep.c | 32 + contrib/gdb/gdb/i386v-nat.c | 221 +- contrib/gdb/gdb/i386v4-nat.c | 190 +- contrib/gdb/gdb/i387-nat.c | 346 + contrib/gdb/gdb/i387-nat.h | 56 + contrib/gdb/gdb/i387-tdep.c | 421 +- contrib/gdb/gdb/ia64-aix-nat.c | 161 + contrib/gdb/gdb/ia64-aix-tdep.c | 107 + contrib/gdb/gdb/ia64-linux-nat.c | 644 ++ contrib/gdb/gdb/ia64-linux-tdep.c | 87 + contrib/gdb/gdb/ia64-tdep.c | 2240 +++++ contrib/gdb/gdb/inf-loop.c | 132 + contrib/gdb/gdb/inf-loop.h | 29 + contrib/gdb/gdb/infcmd.c | 1417 ++- contrib/gdb/gdb/inferior.h | 443 +- contrib/gdb/gdb/inflow.c | 347 +- contrib/gdb/gdb/infptrace.c | 370 +- contrib/gdb/gdb/infrun.c | 4709 +++++---- contrib/gdb/gdb/inftarg.c | 618 +- contrib/gdb/gdb/infttrace.c | 5426 +++++----- contrib/gdb/gdb/irix4-nat.c | 134 +- contrib/gdb/gdb/irix5-nat.c | 923 +- contrib/gdb/gdb/jv-exp.y | 45 +- contrib/gdb/gdb/jv-lang.c | 459 +- contrib/gdb/gdb/jv-lang.h | 76 +- contrib/gdb/gdb/jv-typeprint.c | 114 +- contrib/gdb/gdb/jv-valprint.c | 173 +- contrib/gdb/gdb/kod-cisco.c | 317 + contrib/gdb/gdb/kod.c | 229 + contrib/gdb/gdb/kod.h | 61 + contrib/gdb/gdb/language.c | 1620 +-- contrib/gdb/gdb/language.h | 355 +- contrib/gdb/gdb/lin-lwp.c | 1549 +++ contrib/gdb/gdb/linespec.c | 1273 +++ contrib/gdb/gdb/linespec.h | 27 + contrib/gdb/gdb/linux-proc.c | 556 ++ contrib/gdb/gdb/lynx-nat.c | 616 +- contrib/gdb/gdb/m2-exp.y | 22 +- contrib/gdb/gdb/m2-lang.c | 452 +- contrib/gdb/gdb/m2-lang.h | 44 +- contrib/gdb/gdb/m2-typeprint.c | 46 +- contrib/gdb/gdb/m2-valprint.c | 50 +- contrib/gdb/gdb/m3-nat.c | 2355 +++-- contrib/gdb/gdb/m32r-rom.c | 416 +- contrib/gdb/gdb/m32r-stub.c | 294 +- contrib/gdb/gdb/m32r-tdep.c | 512 +- contrib/gdb/gdb/m68k-stub.c | 906 +- contrib/gdb/gdb/m68k-tdep.c | 585 +- contrib/gdb/gdb/m68klinux-nat.c | 675 +- contrib/gdb/gdb/m68knbsd-nat.c | 111 +- contrib/gdb/gdb/m88k-nat.c | 221 +- contrib/gdb/gdb/m88k-tdep.c | 405 +- contrib/gdb/gdb/main.c | 639 +- contrib/gdb/gdb/maint.c | 605 +- contrib/gdb/gdb/mdebugread.c | 2086 ++-- contrib/gdb/gdb/mem-break.c | 59 +- contrib/gdb/gdb/memattr.c | 535 + contrib/gdb/gdb/memattr.h | 91 + contrib/gdb/gdb/mi/ChangeLog | 1765 ++++ contrib/gdb/gdb/mi/gdbmi.texinfo | 3810 +++++++ contrib/gdb/gdb/mi/mi-cmd-break.c | 245 + contrib/gdb/gdb/mi/mi-cmd-disas.c | 499 + contrib/gdb/gdb/mi/mi-cmd-stack.c | 309 + contrib/gdb/gdb/mi/mi-cmd-var.c | 501 + contrib/gdb/gdb/mi/mi-cmds.c | 261 + contrib/gdb/gdb/mi/mi-cmds.h | 125 + contrib/gdb/gdb/mi/mi-console.c | 118 + contrib/gdb/gdb/mi/mi-console.h | 27 + contrib/gdb/gdb/mi/mi-getopt.c | 76 + contrib/gdb/gdb/mi/mi-getopt.h | 60 + contrib/gdb/gdb/mi/mi-main.c | 1527 +++ contrib/gdb/gdb/mi/mi-out.c | 456 + contrib/gdb/gdb/mi/mi-out.h | 33 + contrib/gdb/gdb/mi/mi-parse.c | 239 + contrib/gdb/gdb/mi/mi-parse.h | 55 + contrib/gdb/gdb/minimon.h | 969 +- contrib/gdb/gdb/minsyms.c | 573 +- contrib/gdb/gdb/mipsread.c | 173 +- contrib/gdb/gdb/mon960-rom.c | 196 +- contrib/gdb/gdb/monitor.c | 456 +- contrib/gdb/gdb/monitor.h | 58 +- contrib/gdb/gdb/nindy-tdep.c | 94 +- contrib/gdb/gdb/nlm/Makefile.in | 6 +- contrib/gdb/gdb/nlm/gdbserve.c | 51 +- contrib/gdb/gdb/nlm/i386.c | 20 +- contrib/gdb/gdb/nlm/ppc.c | 29 +- contrib/gdb/gdb/nlmread.c | 143 +- contrib/gdb/gdb/ns32k-tdep.c | 142 +- contrib/gdb/gdb/ns32knbsd-nat.c | 475 +- contrib/gdb/gdb/objfiles.c | 788 +- contrib/gdb/gdb/objfiles.h | 533 +- contrib/gdb/gdb/ocd.c | 454 +- contrib/gdb/gdb/ocd.h | 106 +- contrib/gdb/gdb/op50-rom.c | 140 +- contrib/gdb/gdb/os9kread.c | 1107 +- contrib/gdb/gdb/osfsolib.c | 120 +- contrib/gdb/gdb/p-exp.y | 1485 +++ contrib/gdb/gdb/p-lang.c | 465 + contrib/gdb/gdb/p-lang.h | 75 + contrib/gdb/gdb/p-typeprint.c | 809 ++ contrib/gdb/gdb/p-valprint.c | 1117 +++ contrib/gdb/gdb/parse.c | 780 +- contrib/gdb/gdb/parser-defs.h | 160 +- contrib/gdb/gdb/ppc-bdm.c | 266 +- contrib/gdb/gdb/ppc-linux-nat.c | 532 + contrib/gdb/gdb/ppc-linux-tdep.c | 814 ++ contrib/gdb/gdb/ppc-tdep.h | 69 + contrib/gdb/gdb/ppcbug-rom.c | 21 +- contrib/gdb/gdb/ppcnbsd-nat.c | 145 + contrib/gdb/gdb/printcmd.c | 1215 +-- contrib/gdb/gdb/proc-api.c | 789 ++ contrib/gdb/gdb/proc-events.c | 1777 ++++ contrib/gdb/gdb/proc-flags.c | 291 + contrib/gdb/gdb/proc-service.c | 312 + contrib/gdb/gdb/proc-utils.h | 102 + contrib/gdb/gdb/proc-why.c | 175 + contrib/gdb/gdb/procfs.c | 2627 +++-- contrib/gdb/gdb/ptx4-nat.c | 280 +- contrib/gdb/gdb/regcache.c | 817 ++ contrib/gdb/gdb/regcache.h | 82 + contrib/gdb/gdb/regformats/reg-arm.dat | 28 + contrib/gdb/gdb/regformats/reg-i386-linux.dat | 44 + contrib/gdb/gdb/regformats/reg-i386.dat | 43 + contrib/gdb/gdb/regformats/reg-ia64.dat | 603 ++ contrib/gdb/gdb/regformats/reg-ppc.dat | 76 + contrib/gdb/gdb/regformats/reg-x86-64.dat | 53 + contrib/gdb/gdb/regformats/regdat.sh | 169 + contrib/gdb/gdb/regformats/regdef.h | 46 + contrib/gdb/gdb/remote-adapt.c | 2967 +++--- contrib/gdb/gdb/remote-array.c | 1422 ++- contrib/gdb/gdb/remote-bug.c | 640 +- contrib/gdb/gdb/remote-e7000.c | 927 +- contrib/gdb/gdb/remote-eb.c | 2144 ++-- contrib/gdb/gdb/remote-es.c | 1195 ++- contrib/gdb/gdb/remote-est.c | 148 +- contrib/gdb/gdb/remote-hms.c | 1467 +-- contrib/gdb/gdb/remote-mips.c | 745 +- contrib/gdb/gdb/remote-mm.c | 3521 +++---- contrib/gdb/gdb/remote-nindy.c | 604 +- contrib/gdb/gdb/remote-nrom.c | 227 +- contrib/gdb/gdb/remote-os9k.c | 848 +- contrib/gdb/gdb/remote-rdi.c | 482 +- contrib/gdb/gdb/remote-rdp.c | 242 +- contrib/gdb/gdb/remote-sds.c | 425 +- contrib/gdb/gdb/remote-sim.c | 214 +- contrib/gdb/gdb/remote-st.c | 154 +- contrib/gdb/gdb/remote-udi.c | 3416 +++---- contrib/gdb/gdb/remote-utils.c | 309 +- contrib/gdb/gdb/remote-utils.h | 113 +- contrib/gdb/gdb/remote-vx.c | 569 +- contrib/gdb/gdb/remote-vx29k.c | 62 +- contrib/gdb/gdb/remote-vx68.c | 38 +- contrib/gdb/gdb/remote-vx960.c | 55 +- contrib/gdb/gdb/remote-vxmips.c | 128 +- contrib/gdb/gdb/remote-vxsparc.c | 66 +- contrib/gdb/gdb/remote.c | 6550 ++++++++---- contrib/gdb/gdb/remote.h | 57 + contrib/gdb/gdb/reply_mig_hack.awk | 4 +- contrib/gdb/gdb/scm-exp.c | 274 +- contrib/gdb/gdb/scm-lang.c | 127 +- contrib/gdb/gdb/scm-lang.h | 48 +- contrib/gdb/gdb/scm-tags.h | 90 +- contrib/gdb/gdb/scm-valprint.c | 123 +- contrib/gdb/gdb/ser-e7kpc.c | 288 +- contrib/gdb/gdb/ser-go32.c | 712 +- contrib/gdb/gdb/ser-pipe.c | 161 + contrib/gdb/gdb/ser-tcp.c | 438 +- contrib/gdb/gdb/ser-unix.c | 1113 ++- contrib/gdb/gdb/ser-unix.h | 53 + contrib/gdb/gdb/serial.c | 583 +- contrib/gdb/gdb/serial.h | 320 +- contrib/gdb/gdb/signals.c | 837 ++ contrib/gdb/gdb/signals/signals.c | 844 ++ contrib/gdb/gdb/sol-thread.c | 1161 +-- contrib/gdb/gdb/solib-legacy.c | 152 + contrib/gdb/gdb/solib-osf.c | 616 ++ contrib/gdb/gdb/solib-sunos.c | 895 ++ contrib/gdb/gdb/solib-svr4.c | 1359 +++ contrib/gdb/gdb/solib-svr4.h | 78 + contrib/gdb/gdb/solib.c | 2132 ++-- contrib/gdb/gdb/solib.h | 100 +- contrib/gdb/gdb/solist.h | 126 + contrib/gdb/gdb/somread.c | 572 +- contrib/gdb/gdb/somsolib.c | 1020 +- contrib/gdb/gdb/somsolib.h | 98 +- contrib/gdb/gdb/source.c | 861 +- contrib/gdb/gdb/source.h | 34 + contrib/gdb/gdb/sparc-linux-nat.c | 100 + contrib/gdb/gdb/sparc-nat.c | 347 + contrib/gdb/gdb/sparc-stub.c | 778 ++ contrib/gdb/gdb/sparc-tdep.c | 3209 ++++++ contrib/gdb/gdb/sparcl-stub.c | 946 ++ contrib/gdb/gdb/sparcl-tdep.c | 869 ++ contrib/gdb/gdb/sparclet-rom.c | 316 + contrib/gdb/gdb/sparclet-stub.c | 1167 +++ contrib/gdb/gdb/srec.h | 8 +- contrib/gdb/gdb/stabsread.c | 2716 ++--- contrib/gdb/gdb/stabsread.h | 201 +- contrib/gdb/gdb/stack.c | 1133 +-- contrib/gdb/gdb/standalone.c | 157 +- contrib/gdb/gdb/stop-gdb.c | 55 +- contrib/gdb/gdb/symfile.c | 2736 ++--- contrib/gdb/gdb/symfile.h | 354 +- contrib/gdb/gdb/symm-nat.c | 996 +- contrib/gdb/gdb/symm-tdep.c | 137 +- contrib/gdb/gdb/symmisc.c | 647 +- contrib/gdb/gdb/symtab.c | 4463 ++++----- contrib/gdb/gdb/symtab.h | 1285 ++- contrib/gdb/gdb/target.c | 2226 ++--- contrib/gdb/gdb/target.h | 1254 +-- contrib/gdb/gdb/terminal.h | 39 +- contrib/gdb/gdb/thread-db.c | 1044 ++ contrib/gdb/gdb/thread.c | 647 +- contrib/gdb/gdb/top.c | 3682 ++----- contrib/gdb/gdb/top.h | 91 +- contrib/gdb/gdb/tracepoint.c | 2419 ++--- contrib/gdb/gdb/tracepoint.h | 161 +- contrib/gdb/gdb/typeprint.c | 228 +- contrib/gdb/gdb/typeprint.h | 38 +- contrib/gdb/gdb/ui-file.c | 487 + contrib/gdb/gdb/ui-file.h | 93 + contrib/gdb/gdb/ui-out.c | 1147 +++ contrib/gdb/gdb/ui-out.h | 275 + contrib/gdb/gdb/utils.c | 2673 +++-- contrib/gdb/gdb/uw-thread.c | 1059 ++ contrib/gdb/gdb/v850-tdep.c | 372 +- contrib/gdb/gdb/valarith.c | 660 +- contrib/gdb/gdb/valops.c | 2315 +++-- contrib/gdb/gdb/valprint.c | 904 +- contrib/gdb/gdb/valprint.h | 64 +- contrib/gdb/gdb/value.h | 563 +- contrib/gdb/gdb/values.c | 1087 +- contrib/gdb/gdb/varobj.c | 2492 +++++ contrib/gdb/gdb/varobj.h | 100 + contrib/gdb/gdb/version.h | 33 + contrib/gdb/gdb/version.in | 1 + contrib/gdb/gdb/wrapper.c | 333 + contrib/gdb/gdb/wrapper.h | 49 + contrib/gdb/gdb/x86-64-linux-nat.c | 449 + contrib/gdb/gdb/x86-64-linux-tdep.c | 136 + contrib/gdb/gdb/x86-64-tdep.c | 1102 ++ contrib/gdb/gdb/x86-64-tdep.h | 34 + contrib/gdb/gdb/xcoffread.c | 1551 +-- contrib/gdb/gdb/xcoffsolib.c | 300 +- contrib/gdb/gdb/xcoffsolib.h | 88 +- contrib/gdb/gdb/xmodem.c | 93 +- contrib/gdb/gdb/xmodem.h | 37 +- 639 files changed, 298510 insertions(+), 93274 deletions(-) create mode 100644 contrib/gdb/ChangeLog create mode 100644 contrib/gdb/MAINTAINERS create mode 100644 contrib/gdb/gdb/ChangeLog-1990 create mode 100644 contrib/gdb/gdb/ChangeLog-1991 create mode 100644 contrib/gdb/gdb/ChangeLog-1992 create mode 100644 contrib/gdb/gdb/ChangeLog-1993 create mode 100644 contrib/gdb/gdb/ChangeLog-1994 create mode 100644 contrib/gdb/gdb/ChangeLog-1995 create mode 100644 contrib/gdb/gdb/ChangeLog-1996 create mode 100644 contrib/gdb/gdb/ChangeLog-1997 create mode 100644 contrib/gdb/gdb/ChangeLog-1998 create mode 100644 contrib/gdb/gdb/ChangeLog-1999 create mode 100644 contrib/gdb/gdb/ChangeLog-2000 create mode 100644 contrib/gdb/gdb/ChangeLog-2001 create mode 100644 contrib/gdb/gdb/ChangeLog-3.x create mode 100644 contrib/gdb/gdb/MAINTAINERS create mode 100644 contrib/gdb/gdb/PROBLEMS create mode 100644 contrib/gdb/gdb/alphabsd-nat.c create mode 100644 contrib/gdb/gdb/alphafbsd-tdep.c create mode 100644 contrib/gdb/gdb/arch-utils.c create mode 100644 contrib/gdb/gdb/arch-utils.h create mode 100644 contrib/gdb/gdb/arm-linux-nat.c create mode 100644 contrib/gdb/gdb/arm-linux-tdep.c create mode 100644 contrib/gdb/gdb/arm-tdep.h create mode 100644 contrib/gdb/gdb/armnbsd-nat.c create mode 100644 contrib/gdb/gdb/armnbsd-tdep.c create mode 100644 contrib/gdb/gdb/cli-out.c create mode 100644 contrib/gdb/gdb/cli-out.h create mode 100644 contrib/gdb/gdb/cli/cli-cmds.c create mode 100644 contrib/gdb/gdb/cli/cli-cmds.h create mode 100644 contrib/gdb/gdb/cli/cli-decode.c create mode 100644 contrib/gdb/gdb/cli/cli-decode.h create mode 100644 contrib/gdb/gdb/cli/cli-script.c create mode 100644 contrib/gdb/gdb/cli/cli-script.h create mode 100644 contrib/gdb/gdb/cli/cli-setshow.c create mode 100644 contrib/gdb/gdb/cli/cli-setshow.h create mode 100644 contrib/gdb/gdb/cli/cli-utils.c create mode 100644 contrib/gdb/gdb/cli/cli-utils.h create mode 100644 contrib/gdb/gdb/completer.c create mode 100644 contrib/gdb/gdb/completer.h create mode 100644 contrib/gdb/gdb/config/alpha/fbsd.mh create mode 100644 contrib/gdb/gdb/config/alpha/fbsd.mt create mode 100644 contrib/gdb/gdb/config/alpha/nm-fbsd.h create mode 100644 contrib/gdb/gdb/config/alpha/tm-fbsd.h create mode 100644 contrib/gdb/gdb/config/i386/embed.mt create mode 100644 contrib/gdb/gdb/config/i386/go32.mt create mode 100644 contrib/gdb/gdb/config/i386/nbsdelf.mh create mode 100644 contrib/gdb/gdb/config/i386/nbsdelf.mt create mode 100644 contrib/gdb/gdb/config/i386/nm-cygwin.h create mode 100644 contrib/gdb/gdb/config/i386/nm-go32.h create mode 100644 contrib/gdb/gdb/config/i386/nm-i386.h create mode 100644 contrib/gdb/gdb/config/i386/nm-nbsdelf.h create mode 100644 contrib/gdb/gdb/config/i386/nm-obsd.h create mode 100644 contrib/gdb/gdb/config/i386/nm-x86-64.h create mode 100644 contrib/gdb/gdb/config/i386/obsd.mh create mode 100644 contrib/gdb/gdb/config/i386/obsd.mt create mode 100644 contrib/gdb/gdb/config/i386/tm-go32.h create mode 100644 contrib/gdb/gdb/config/i386/tm-nbsdelf.h create mode 100644 contrib/gdb/gdb/config/i386/tm-obsd.h create mode 100644 contrib/gdb/gdb/config/i386/tm-vxworks.h create mode 100644 contrib/gdb/gdb/config/i386/vxworks.mt create mode 100644 contrib/gdb/gdb/config/i386/x86-64linux.mh create mode 100644 contrib/gdb/gdb/config/i386/x86-64linux.mt create mode 100644 contrib/gdb/gdb/config/i386/xm-i386.h create mode 100644 contrib/gdb/gdb/config/ia64/aix.mh create mode 100644 contrib/gdb/gdb/config/ia64/aix.mt create mode 100644 contrib/gdb/gdb/config/ia64/linux.mh create mode 100644 contrib/gdb/gdb/config/ia64/linux.mt create mode 100644 contrib/gdb/gdb/config/ia64/nm-aix.h create mode 100644 contrib/gdb/gdb/config/ia64/nm-linux.h create mode 100644 contrib/gdb/gdb/config/ia64/tm-aix.h create mode 100644 contrib/gdb/gdb/config/ia64/tm-ia64.h create mode 100644 contrib/gdb/gdb/config/ia64/tm-linux.h create mode 100644 contrib/gdb/gdb/config/ia64/xm-aix.h create mode 100644 contrib/gdb/gdb/config/ia64/xm-linux.h create mode 100644 contrib/gdb/gdb/config/nm-linux.h create mode 100644 contrib/gdb/gdb/config/none/nm-none.h create mode 100644 contrib/gdb/gdb/config/none/none.mh create mode 100644 contrib/gdb/gdb/config/none/none.mt create mode 100644 contrib/gdb/gdb/config/none/tm-none.h create mode 100644 contrib/gdb/gdb/config/none/xm-none.h create mode 100644 contrib/gdb/gdb/config/tm-linux.h create mode 100644 contrib/gdb/gdb/config/tm-vxworks.h create mode 100644 contrib/gdb/gdb/cp-abi.c create mode 100644 contrib/gdb/gdb/cp-abi.h create mode 100644 contrib/gdb/gdb/dbug-rom.c create mode 100644 contrib/gdb/gdb/doc/fdl.texi create mode 100644 contrib/gdb/gdb/doc/gpl.texi create mode 100644 contrib/gdb/gdb/doublest.c create mode 100644 contrib/gdb/gdb/doublest.h create mode 100644 contrib/gdb/gdb/dsrec.c create mode 100644 contrib/gdb/gdb/dst.h create mode 100644 contrib/gdb/gdb/dstread.c create mode 100644 contrib/gdb/gdb/dwarf2cfi.c create mode 100644 contrib/gdb/gdb/dwarf2cfi.h create mode 100644 contrib/gdb/gdb/event-loop.c create mode 100644 contrib/gdb/gdb/event-loop.h create mode 100644 contrib/gdb/gdb/event-top.c create mode 100644 contrib/gdb/gdb/event-top.h create mode 100644 contrib/gdb/gdb/frame.c create mode 100644 contrib/gdb/gdb/gcore.c create mode 100644 contrib/gdb/gdb/gdb-events.c create mode 100644 contrib/gdb/gdb/gdb-events.h create mode 100755 contrib/gdb/gdb/gdb-events.sh create mode 100644 contrib/gdb/gdb/gdb.h create mode 100644 contrib/gdb/gdb/gdb_assert.h create mode 100644 contrib/gdb/gdb/gdb_dirent.h create mode 100755 contrib/gdb/gdb/gdb_indent.sh create mode 100644 contrib/gdb/gdb/gdb_proc_service.h create mode 100644 contrib/gdb/gdb/gdb_regex.h create mode 100644 contrib/gdb/gdb/gdb_thread_db.h create mode 100644 contrib/gdb/gdb/gdb_vfork.h create mode 100644 contrib/gdb/gdb/gdb_wait.h create mode 100755 contrib/gdb/gdb/gdbarch.sh create mode 100644 contrib/gdb/gdb/gdbserver/acconfig.h create mode 100644 contrib/gdb/gdb/gdbserver/aclocal.m4 create mode 100644 contrib/gdb/gdb/gdbserver/config.in create mode 100644 contrib/gdb/gdb/gdbserver/configure create mode 100644 contrib/gdb/gdb/gdbserver/configure.srv create mode 100644 contrib/gdb/gdb/gdbserver/i387-fp.c create mode 100644 contrib/gdb/gdb/gdbserver/i387-fp.h create mode 100644 contrib/gdb/gdb/gdbserver/linux-arm-low.c create mode 100644 contrib/gdb/gdb/gdbserver/linux-i386-low.c create mode 100644 contrib/gdb/gdb/gdbserver/linux-ia64-low.c create mode 100644 contrib/gdb/gdb/gdbserver/linux-low.c create mode 100644 contrib/gdb/gdb/gdbserver/linux-low.h create mode 100644 contrib/gdb/gdb/gdbserver/linux-x86-64-low.c create mode 100644 contrib/gdb/gdb/gdbserver/low-nbsd.c create mode 100644 contrib/gdb/gdb/gdbserver/regcache.c create mode 100644 contrib/gdb/gdb/gdbserver/regcache.h create mode 100644 contrib/gdb/gdb/gdbserver/terminal.h create mode 100644 contrib/gdb/gdb/gnu-v2-abi.c create mode 100644 contrib/gdb/gdb/gnu-v3-abi.c create mode 100644 contrib/gdb/gdb/gregset.h create mode 100644 contrib/gdb/gdb/hpacc-abi.c create mode 100644 contrib/gdb/gdb/i386-linux-nat.c create mode 100644 contrib/gdb/gdb/i386-linux-tdep.c create mode 100644 contrib/gdb/gdb/i386-nat.c create mode 100644 contrib/gdb/gdb/i386-tdep.h create mode 100644 contrib/gdb/gdb/i386bsd-nat.c create mode 100644 contrib/gdb/gdb/i386bsd-tdep.c create mode 100644 contrib/gdb/gdb/i386fbsd-nat.c create mode 100644 contrib/gdb/gdb/i386nbsd-nat.c create mode 100644 contrib/gdb/gdb/i386nbsd-tdep.c create mode 100644 contrib/gdb/gdb/i387-nat.c create mode 100644 contrib/gdb/gdb/i387-nat.h create mode 100644 contrib/gdb/gdb/ia64-aix-nat.c create mode 100644 contrib/gdb/gdb/ia64-aix-tdep.c create mode 100644 contrib/gdb/gdb/ia64-linux-nat.c create mode 100644 contrib/gdb/gdb/ia64-linux-tdep.c create mode 100644 contrib/gdb/gdb/ia64-tdep.c create mode 100644 contrib/gdb/gdb/inf-loop.c create mode 100644 contrib/gdb/gdb/inf-loop.h create mode 100644 contrib/gdb/gdb/kod-cisco.c create mode 100644 contrib/gdb/gdb/kod.c create mode 100644 contrib/gdb/gdb/kod.h create mode 100644 contrib/gdb/gdb/lin-lwp.c create mode 100644 contrib/gdb/gdb/linespec.c create mode 100644 contrib/gdb/gdb/linespec.h create mode 100644 contrib/gdb/gdb/linux-proc.c create mode 100644 contrib/gdb/gdb/memattr.c create mode 100644 contrib/gdb/gdb/memattr.h create mode 100644 contrib/gdb/gdb/mi/ChangeLog create mode 100644 contrib/gdb/gdb/mi/gdbmi.texinfo create mode 100644 contrib/gdb/gdb/mi/mi-cmd-break.c create mode 100644 contrib/gdb/gdb/mi/mi-cmd-disas.c create mode 100644 contrib/gdb/gdb/mi/mi-cmd-stack.c create mode 100644 contrib/gdb/gdb/mi/mi-cmd-var.c create mode 100644 contrib/gdb/gdb/mi/mi-cmds.c create mode 100644 contrib/gdb/gdb/mi/mi-cmds.h create mode 100644 contrib/gdb/gdb/mi/mi-console.c create mode 100644 contrib/gdb/gdb/mi/mi-console.h create mode 100644 contrib/gdb/gdb/mi/mi-getopt.c create mode 100644 contrib/gdb/gdb/mi/mi-getopt.h create mode 100644 contrib/gdb/gdb/mi/mi-main.c create mode 100644 contrib/gdb/gdb/mi/mi-out.c create mode 100644 contrib/gdb/gdb/mi/mi-out.h create mode 100644 contrib/gdb/gdb/mi/mi-parse.c create mode 100644 contrib/gdb/gdb/mi/mi-parse.h create mode 100644 contrib/gdb/gdb/p-exp.y create mode 100644 contrib/gdb/gdb/p-lang.c create mode 100644 contrib/gdb/gdb/p-lang.h create mode 100644 contrib/gdb/gdb/p-typeprint.c create mode 100644 contrib/gdb/gdb/p-valprint.c create mode 100644 contrib/gdb/gdb/ppc-linux-nat.c create mode 100644 contrib/gdb/gdb/ppc-linux-tdep.c create mode 100644 contrib/gdb/gdb/ppc-tdep.h create mode 100644 contrib/gdb/gdb/ppcnbsd-nat.c create mode 100755 contrib/gdb/gdb/proc-api.c create mode 100755 contrib/gdb/gdb/proc-events.c create mode 100755 contrib/gdb/gdb/proc-flags.c create mode 100644 contrib/gdb/gdb/proc-service.c create mode 100644 contrib/gdb/gdb/proc-utils.h create mode 100755 contrib/gdb/gdb/proc-why.c create mode 100644 contrib/gdb/gdb/regcache.c create mode 100644 contrib/gdb/gdb/regcache.h create mode 100644 contrib/gdb/gdb/regformats/reg-arm.dat create mode 100644 contrib/gdb/gdb/regformats/reg-i386-linux.dat create mode 100644 contrib/gdb/gdb/regformats/reg-i386.dat create mode 100644 contrib/gdb/gdb/regformats/reg-ia64.dat create mode 100644 contrib/gdb/gdb/regformats/reg-ppc.dat create mode 100644 contrib/gdb/gdb/regformats/reg-x86-64.dat create mode 100755 contrib/gdb/gdb/regformats/regdat.sh create mode 100644 contrib/gdb/gdb/regformats/regdef.h create mode 100644 contrib/gdb/gdb/remote.h create mode 100644 contrib/gdb/gdb/ser-pipe.c create mode 100644 contrib/gdb/gdb/ser-unix.h create mode 100644 contrib/gdb/gdb/signals.c create mode 100644 contrib/gdb/gdb/signals/signals.c create mode 100644 contrib/gdb/gdb/solib-legacy.c create mode 100644 contrib/gdb/gdb/solib-osf.c create mode 100644 contrib/gdb/gdb/solib-sunos.c create mode 100644 contrib/gdb/gdb/solib-svr4.c create mode 100644 contrib/gdb/gdb/solib-svr4.h create mode 100644 contrib/gdb/gdb/solist.h create mode 100644 contrib/gdb/gdb/source.h create mode 100644 contrib/gdb/gdb/sparc-linux-nat.c create mode 100644 contrib/gdb/gdb/sparc-nat.c create mode 100644 contrib/gdb/gdb/sparc-stub.c create mode 100644 contrib/gdb/gdb/sparc-tdep.c create mode 100644 contrib/gdb/gdb/sparcl-stub.c create mode 100644 contrib/gdb/gdb/sparcl-tdep.c create mode 100644 contrib/gdb/gdb/sparclet-rom.c create mode 100644 contrib/gdb/gdb/sparclet-stub.c create mode 100644 contrib/gdb/gdb/thread-db.c create mode 100644 contrib/gdb/gdb/ui-file.c create mode 100644 contrib/gdb/gdb/ui-file.h create mode 100644 contrib/gdb/gdb/ui-out.c create mode 100644 contrib/gdb/gdb/ui-out.h create mode 100755 contrib/gdb/gdb/uw-thread.c create mode 100644 contrib/gdb/gdb/varobj.c create mode 100644 contrib/gdb/gdb/varobj.h create mode 100644 contrib/gdb/gdb/version.h create mode 100644 contrib/gdb/gdb/version.in create mode 100644 contrib/gdb/gdb/wrapper.c create mode 100644 contrib/gdb/gdb/wrapper.h create mode 100644 contrib/gdb/gdb/x86-64-linux-nat.c create mode 100644 contrib/gdb/gdb/x86-64-linux-tdep.c create mode 100644 contrib/gdb/gdb/x86-64-tdep.c create mode 100644 contrib/gdb/gdb/x86-64-tdep.h (limited to 'contrib') diff --git a/contrib/gdb/ChangeLog b/contrib/gdb/ChangeLog new file mode 100644 index 0000000..83ec2be --- /dev/null +++ b/contrib/gdb/ChangeLog @@ -0,0 +1,7746 @@ +2002-04-07 Andrew Cagney + + * Makefile.in (do-tar-bz2): Delete rule. Replace with ... + (do-tar, do-bz2): New rules. + (taz): Update. Replace do-tar-bz2 with do-tar and do-bz2. + (gdb-tar): New rule. + (gdb-taz): Rewrite. Use gdb-tar and do-bz2. + (insight_dejagnu.tar): New rule. + (insight.tar): New rule. + (gdb+dejagnu.tar): New rule. + (gdb.tar): New rule. + +2002-02-28 Alexandre Oliva + + * configure.in (libstdcxx_flags): Don't add libstdc++-v3 flags for + libjava. + (CXX_FOR_TARGET): Add -shared-libgcc for libstdc++-v3 and libjava. + +2002-02-24 Andrew Cagney + + * texinfo/texinfo.tex: Update to version 2002-02-14.08. + +2002-02-23 Daniel Jacobowitz + + * config.guess: Import from master sources, rev 1.232. + * config.sub: Import from master sources, rev 1.246. + +2002-02-23 Alexandre Oliva + + * Makefile.in (MAKEINFO): Don't assume makeinfo will be built just + because its Makefile is there; test for the executable instead. + +2002-02-09 Alexandre Oliva + + Contribute sh64-elf. + 2000-12-01 Alexandre Oliva + * configure.in: Added sh64-*-*. + +2002-02-04 Jeff Johnston + + * COPYING.NEWLIB: Remove advertising clause from + Berkeley and Red Hat licenses. + +2002-02-01 Mo DeJong + + * Makefile.in: Add all-tix to deps for all-snavigator + so that tix is built when building snavigator. + +2002-02-01 Ben Elliston + + * config.guess: Import from master sources, rev 1.229. + * config.sub: Import from master sources, rev 1.240. + +2002-01-27 Daniel Jacobowitz + + From Steve Ellcey : + * libtool.m4 (HPUX_IA64_MODE): Set to 32 or 64 based on ABI. + (lt_cv_deplibs_check_method, lt_cv_file_magic_cmd, + lt_cv_file_magic_test_file): Set to appropriate values for HP-UX + IA64. + * ltcf-c.sh (archive_cmds, hardcode_*): Ditto. + * ltconfig (shlibpath_*, dynamic_linker, library_names_spec, + soname_spec, sys_lib_search_path_spec): Ditto. + +2002-01-26 Jason Thorpe + + * configure.in (*-*-netbsd*): New. Skip target-newlib, + target-libiberty, and target-libgloss. Skip Java-related + libraries if not supported for NetBSD on target CPU. + +2002-01-23 Nick Clifton + + * configure.in: Import StrongARM and XScale target_configdirs from + FSF GCC version. + +2002-01-16 H.J. Lu (hjl@gnu.org) + + * config.guess: Import from master sources, rev 1.225. + * config.sub: Import from master sources, rev 1.238. + + * MAINTAINERS: Updated notes on config.guess and config.sub. + +2002-01-11 Steve Ellcey + + * configure.in (ia64*-*-hpux*): New target for IA64 HP-UX, + ld and gdb are not supported. + +2002-01-07 Jeff Johnston + + * Change reference to Cygnus Solutions to be Red Hat. + +2002-01-07 Jeff Johnston + + * COPYING.NEWLIB: Update generic copyright date. + +2002-01-07 Mark Salter + + * configure.in: Remove target-bsp and target-cygmon from arm builds. + Allow target-libgloss to be built for arm, strongarm, and xscale. + +2002-01-03 Ben Elliston + + * MAINTAINERS: Update URL for config.* scripts. + +2001-12-18 Alan Modra + + * config.sub: Import latest version. + * config.guess: Likewise. + +2001-12-13 Thomas Fitzsimmons + + * configure.in (FLAGS_FOR_TARGET): Remove -nostdinc and -isystem + options for i[3456]86-pc-linux* native builds. + +2001-12-05 Laurent Guerby + + * MAINTAINERS: gcc adopts symlink-tree, refer more to + libiberty. + + Import this patch from gcc: + + 2000-12-09 Laurynas Biveinis + + * symlink-tree: handle DOS-style absolute paths. + +2001-11-28 DJ Delorie + Zack Weinberg + + When build != host, create libiberty for the build machine. + + * Makefile.in (TARGET_CONFIGARGS, BUILD_CONFIGARGS): Replace + CONFIG_ARGUMENTS. + (ALL_BUILD_MODULES_LIST, BUILD_CONFIGDIRS, BUILD_SUBDIR): + New variables. + (ALL_BUILD_MODULES, CONFIGURE_BUILD_MODULES): New variables + and rules. + (all.normal): Depend on ALL_BUILD_MODULES. + (CONFIGURE_TARGET_MODULES rule): Use TARGET_CONFIGARGS. + (all-build-libiberty): Depend on configure-build-libiberty. + + * configure: Calculate and substitute proper value for + ALL_BUILD_MODULES. + * configure.in: Create the build subdirectory. + Calculate and substitute TARGET_CONFIGARGS (formerly + CONFIG_ARGUMENTS); also BUILD_SUBDIR and BUILD_CONFIGARGS (new). + +2001-11-26 Geoffrey Keating + + * config.sub: Update to version 1.232 on subversion. + +2001-11-20 Nick Clifton + + * Makefile.in (do-proto-toplev): Use msgfmt to generate .gmo + files from .po files for a distribution. + +2001-11-19 Hans-Peter Nilsson + + * COPYING.NEWLIB: Mention preserved notice in specific parts. + +2001-11-13 Jeff Holcomb + + Merged from net gcc: + 2001-07-30 Jeff Sturm + * ltcf-c.sh: Use $objext, not $ac_objext. + 2001-07-27 Mark Kettenis + * ltcf-cxx.sh: Add support for GNU. + 2001-07-22 Timothy Wall + * ltcf-c.sh: Don't disable shared libraries for AIX5/IA64. Preserve + default settings if using GNU tools with that configuration. + * ltcf-cxx.sh: Ditto. + * ltcf-gcj.sh: Ditto. + 2001-07-21 Michael Chastain + * ltconfig: Set max_cmd_len to a maximum of 512Kb, as it seems some + HPUX 11.0 systems have trouble with 1MB. Mark as gcc-local. + * ltmain.sh: Mark as gcc-local. + +2001-11-13 Jeff Holcomb + + * Makefile.in (all-bison): Revert 2001-10-24. + Don't depend on texinfo. + +2001-11-12 Hans-Peter Nilsson + + * COPYING.NEWLIB: Add BSD-style license/copyright blurb for my work. + +2001-11-08 Phil Edwards + + * configure.in (--enable-languages): Be more permissive about + syntax. Check for empty lists better. Warn about $LANGUAGES. + +2001-11-06 Hans-Peter Nilsson + + * Makefile.in (MAKEINFO): Use "missing" for makeinfo older than 4.0. + +2001-10-24 Jeff Holcomb + + Makefile.in (all-bison): Don't depend on texinfo. + +2001-10-03 Alan Modra + + * gettext.m4: Test po/POTFILES.in exists before trying to read. + +2001-09-29 Alexandre Oliva + + * Makefile.in (configure-target-gperf): Depend on $(ALL_GCC_CXX). + +2001-09-28 Hans-Peter Nilsson + + * config.sub, config.guess: Import latest from subversions. + +2001-09-21 Alexandre Oliva + + * Makefile.in (AS_FOR_TARGET, LD_FOR_TARGET, + DLLTOOL_FOR_TARGET, WINDRES_FOR_TARGET, AR_FOR_TARGET, + RANLIB_FOR_TARGET, NM_FOR_TARGET): Don't use double quotes to + avoid quotes nesting problems. + (NATIVE_CHECK_MODULES): Ditto, just for consistency. + (DO_X): Export only variables that are set. + +2001-09-19 Ben Elliston + + * configure.in (sparc-sun-solaris2*): Don't use /usr/bin/which on + Solaris when testing for the /usr/ucb/cc compiler; it has incorrect + semantics. Use the shell built-in "type" command instead. + +2001-09-15 Thiemo Seufer + + * config.sub: Reverted the earlier change, this version is not the + master file. + +2001-09-14 Thiemo Seufer + + * config.sub: Change machine triplets from mipsel*-* to mips*el-*. + Add support for mips64. + +2001-09-03 Jeff Holcomb + + * configure.in: Enable libstdc++-v3 for h8300 targets. + +2001-08-30 Eric Christopher + Jason Eckhardt + + * config.sub: Add support for mipsisa32. + +2001-08-30 Eric Christopher + + * config.sub, config.guess: Import latest from subversions. + +2001-08-20 Alan Modra + + * config.sub, config.guess: Import latest from subversions. + +2001-07-26 DJ Delorie + + * MAINTAINERS: Clarify libiberty merge rules and procedures. + +2001-06-19 Alan Modra + + * Makefile.in: Revert 2001-06-17. + (VER): If AM_INIT_AUTOMAKE uses BFD_VERSION, get version from bfd/. + +2001-06-17 H.J. Lu + + * Makefile.in (gas.tar.bz2): Pass TOOL=bfd PACKAGE=gas to make. + (gas+binutils.tar.bz2): Likewise. + (binutils.tar.bz2): Pass TOOL=bfd PACKAGE=binutils to make. + +Fri Jun 8 11:14:02 2001 Andrew Cagney + + * Makefile.in (VER): When present, extract the version number from + the file version.in. + +2001-06-08 Alexandre Oliva , Jeff Sturm + + * Makefile.in (AS_FOR_TARGET, LD_FOR_TARGET, NM_FOR_TARGET): If + gcc/xgcc is built, use -print-prog-name to find out the program + name to use. + +2001-06-04 Mark Mitchell + + * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris, + with_gcc]: Use `gcc -shared' to build a shared library. + +2001-06-04 John David Anglin + + * ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared + archives. + +2001-05-28 Simon Patarin + + * ltcf-cxx.sh (osf3/osf4/osf5): Support creation of C++ shared + libraries when using g++ with native linker. + +2001-05-28 Alexandre Oliva + + * ltconfig, ltmain.sh: Upgrade to libtool 1.4a 1.641.2.256. + +2001-05-24 Tom Rix + + * configure.in : enable ld for aix + +2001-05-22 Alexandre Oliva + + * ltcf-cxx.sh (allow_undefined_flag, no_undefined_flag) + [aix4*|aix5*]: Prepend blank. + +2001-05-20 Alexandre Oliva + + * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh, + ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.254. Rebuilt a number + of subdir/configure scripts to use the new libtool.m4. + +2001-05-14 H.J. Lu + + * config.if (libc_interface): Set to -libc6.2- for cross + compiling to Linux/glibc 2.2. + +2001-05-03 Alexandre Oliva + + * configure.in (noconfigdirs) [*-cygwin*, *-mingw*, *-beos]: Disable + libgcj. + +2001-04-26 Alexandre Oliva + + * configure.in (noconfigdirs): Don't reset it from scratch in the + target case; only append to it. + +2001-04-26 Alexandre Oliva + + * configure.in (noconfigdirs) [hppa*-*-*, mips*-*-irix6*, + sparc-*-solaris2.8]: Disable ${libgcj}. + +2001-04-25 Alexandre Oliva + + * configure.in (libgcj_saved): Copy from $libgcj. + (libgcj): Zero out if --enable-libgcj; add to noconfigdirs is + --disable-libgcj. + +2001-04-20 Alexandre Oliva + + * ltconfig, ltmain.sh, ltcf-cxx.sh: Upgraded to libtool 1.4a + 1.641.2.228. + +2001-04-12 Alexandre Oliva + + * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh, + ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.226. + +2001-04-01 Alexandre Oliva + + * Makefile.in (CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, RECURSE_FLAGS): + New macros. + (bootstrap, cross): Use RECURSE_FLAGS. + * configure.in: Subst CXX_FOR_TARGET_FOR_RECURSIVE_MAKE. + +2001-03-27 Alexandre Oliva + + * configure.in (CXX_FOR_TARGET): Use xgcc for libstdc++-v3. + +2001-03-23 Nick Clifton + + * README-maintainer-mode: Add note about inability to use "make + distclean" in maintainer mode. + +2001-03-22 Alexandre Oliva + + Re-installed: + 2001-01-02 Laurynas Biveinis + * ltcf-c.sh: Clear ac_cv_prog_cc_pic for DJGPP. Do not add + '-DPIC' to ac_cv_prog_cc_pic for DJGPP. + * ltcf-cxx.sh: Likewise. + * ltcf-gcj.sh: Likewise. + +2001-03-22 Philip Blundell + + * config.sub, config.guess: Import latest from subversions. + +2001-03-22 Alexandre Oliva + + * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh, + ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.198. + +2001-03-20 Michael Chastain + + * Makefile.in: all-m4 depends on all-texinfo. + +2001-03-08 Alexandre Oliva + + * Makefile.in (ALL_GCC, ALL_GCC_C, ALL_GCC_CXX): Set before use. + +2001-02-22 Jeff Johnston + + * COPYING.NEWLIB: Remove DJ Delorie's address because it is no + longer valid. + +2001-02-16 Nick Clifton + + * configure.in (noconfigdirs): Allow configuration of texinfo + for Cygwin hosts. + +2001-02-09 Martin Schwidefsky + + * config.guess: Add linux target for S/390. + * config.sub: Likewise. + * configure.in: Likewise. + +2001-02-06 Ben Elliston + + * configure: Output host type to stdout, not stderr. + +2001-02-04 Michael Sokolov + + * config.guess: Import from subversions.gnu.org (revision 1.181). + * config.sub: Import from subversions.gnu.org (revision 1.199). + +2001-01-30 Alan Modra + + * config.guess: Handle hppa64-linux systems. + +2001-01-27 Michael Sokolov + + * ltcf-cxx.sh (ac_cv_prog_cc_pic_works, ac_cv_prog_cc_static_works): + Don't unset, it's non-portable and no longer necessary, set to empty + instead. + +2001-01-27 Michael Sokolov , Alexandre Oliva + + * ltconfig: Shell portability fix for the tagname validity check. + +2001-01-27 Michael Sokolov + + * ltcf-cxx.sh: Use parentheses around eval $ac_compile. + +2001-01-27 Alexandre Oliva + + * ltcf-c.sh (ld_shlibs) [aix5*]: Disable on unknown CPU types. + * ltcf-cxx.sh, ltcf-gcj.sh: Likewise. + +2001-01-24 Alexandre Oliva + + * ltmain.sh (TAG disable-shared, TAG disable-static): Make sure we + keep at least one of build_libtool_libs or build_old_libs set to + yes. + +2001-01-24 Alexandre Oliva + + * ltcf-gcj.sh (lt_simple_link_test_code): Remove stray `(0)'. + * libtool.m4 (_AC_LIBTOOL_GCJ): Pass $CPPFLAGS on. + +2000-11-07 Philip Blundell + + * Makefile.in (ETC_SUPPORT): Also add configbuild.* and configdev.*. + +2000-11-03 Philip Blundell + + * Makefile.in (ETC_SUPPORT): Add configure.texi and associated info + files. + +2001-01-15 Jeff Johnston + + * COPYING.NEWLIB: Put into source repository. + +2001-01-15 Ben Elliston + + * configure.in (host_tools): Add sid. + Always configure cgen. + * Makefile.in (all-sid): New target. + (check-sid, clean-sid, install-sid): Likewise. + +2001-01-07 Andreas Jaeger + + * config.sub, config.guess: Update from subversions. + +2000-12-12 Alexandre Oliva + + * configure.in: Disable language-specific target libraries for + languages that aren't enabled. + +2000-11-24 Nick Clifton + + * configure.in (xscale-elf): Add target. + (xscale-coff): Add target. + (c4x, c5x, tic54x): Move after ARM targets. + +2000-11-23 Alexandre Oliva + + * ltcf-gcj.sh: Added file, required by 2000-11-18 merge. + +2000-11-20 Ian Lance Taylor + + * ltcf-cxx.sh: Added file, required by 2000-11-18 merge. + +2000-11-18 Alexandre Oliva + + * Makefile.in: Merge with GCC and libgcj. + (ALL_GCC_C, ALL_GCC_CXX): New macros. Use them as dependencies of + configure-target- when their configure scripts need the C + or C++ library to have already been built to work properly. + (do_proto_toplev): Set them to an empty string. + +2000-11-18 Alexandre Oliva + + * Makefile.in (HOST_LIB_PATH, TARGET_LIB_PATH): New macros. + (REALLY_SET_LIB_PATH): Use them. + +2000-11-06 Christopher Faylor + + * config.sub: Add support for Sun Chorus + +2000-11-02 Per Lundberg + + * config.sub: Add support for the *-storm-chaos OS. + +2000-10-30 Stephane Carrez + + * configure.in (noconfigdirs): Don't compile some + of the libraries for 68HC11 & 68hc12 targets. + +2000-09-30 Alexandre Oliva + + * ltconfig, ltmain.sh, libtool.m4: Updated from libtool + multi-language branch, to work around Solaris' /bin/sh bug. Rebuilt + all affected `configure' scripts. + +2000-09-25 Alexandre Oliva + + * Makefile.in (DEVO_SUPPORT): Added gettext.m4, libtool.m4 and + ltcf-c.sh. + +2000-09-12 Philip Blundell + + * config.sub, config.guess: Update from subversions. + +2000-09-06 Alexandre Oliva + + * Makefile.in (all-zlib): Added dummy target. + + * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh: Updated from libtool + multi-language branch. + +2000-09-05 Alexandre Oliva + + * Makefile.in (all-bootstrap): Added all-texinfo and all-zlib. + (bootstrap*): Depend on all-bootstrap. + +2000-09-02 Alexandre Oliva , DJ Delorie + + * configure.in (FLAGS_FOR_TARGET): Use -nostdinc even for Canadian + crosses, but add gcc/include to the header search path for them. + +2000-08-31 Alexandre Oliva + + * ltconfig, ltmain.sh: Updated from libtool multi-language branch. + * libtool.m4, ltcf-c.sh: Copied from libtool multi-language branch. + * gettext.m4: New file, extracted from aclocal.m4. + +2000-08-22 Alexandre Oliva + + * config-ml.in (CC, CXX): Avoid trailing whitespace. + (LD_LIBRARY_PATH, SHLIB_PATH): Adjust for multilibs and export to + sub-configures. + +2000-08-20 Doug Evans + + * Makefile.in (ALL_MODULES): Add all-cgen. + (CROSS_CHECK_MODULES,INSTALL_MODULES,CLEAN_MODULES): Similarily. + (all-cgen): New target. + (all-opcodes,all-sim): Depend on all-cgen. + * configure.in (host_tools): Add cgen. + Only configure cgen if --enable-cgen-maint. + +2000-08-17 Alexandre Oliva + + * config-ml.in (CC, CXX): Don't introduce a leading space. + +2000-08-16 Alexandre Oliva + + * configure.in (libstdcxx_flags): Use + libstdc++-v3/src/libstdc++.INC. + +2000-08-15 Alexandre Oliva + + * configure.in (libstdcxx_flags): Use libstdc++-v3/src/INCLUDES. + +2000-08-11 Jason Merrill + + * configure.in (CC_FOR_TARGET, CHILL_FOR_TARGET, + CXX_FOR_TARGET): Add -B$$r/gcc/ here. + (FLAGS_FOR_TARGET): Not here. + (CHILL_FOR_TARGET, CXX_FOR_TARGET): Don't check the list of languages. + +2000-08-07 DJ Delorie + + * configure.in (FLAGS_FOR_TARGET): invert test for xgcc, should mean + "if we're also building gcc, and it's a gcc that will run on the + build machine, we want to use its includes instead of the system's + default includes". + +2000-08-03 Alexandre Oliva + + * configure.in (libstdcxx_flags): Don't use `"'. + + * config-ml.in: Adjust multilib search paths to the + appropriate multilib tree. + +2000-08-02 Alexandre Oliva + + * configure.in (CHILL_FOR_TARGET, CXX_FOR_TARGET): Convert blanks to + commas in $LANGUAGES. + +2000-08-01 Alexandre Oliva + + * configure.in (qCXX_FOR_TARGET): Use echo instead of expr. + +2000-07-31 Alexandre Oliva + + * configure.in (qCXX_FOR_TARGET): Quote `&' characters in + CXX_FOR_TARGET for sed. + +2000-07-30 Alexandre Oliva + + * configure.in (CC_FOR_TARGET, CHILL_FOR_TARGET, CXX_FOR_TARGET): + Do not override if already set in the environment or in configure. + Don't duplicate $(FLAGS_FOR_TARGET) if it already appears in them. + (FLAGS_FOR_TARGET): Don't use host directories on Canadian crosses. + +2000-07-27 Alexandre Oliva + + * Makefile.in (FLAGS_FOR_TARGET): New macro. + (GCC_FOR_TARGET): Use it. + (CC_FOR_TARGET, CXX_FOR_TARGET, CHILL_FOR_TARGET): Now defined... + * configure.in: ... here. + (FLAGS_FOR_TARGET): Define. Add ld build dir to -L path. + (libstdcxx_flags): Define and append to CXX_FOR_TARGET. + +2000-07-24 Alexandre Oliva + + * Makefile.in (configure-target-libf2c): Depend on $(ALL_GCC). + (configure-target-libchill, configure-target-libobjc): Likewise. + + * configure.in: Use the same cache file for all target libs. + * config-ml.in: But different cache files per multilib variant. + +2000-07-23 Michael Sokolov + + * configure (topsrcdir): Don't use dirname. + +2000-07-20 Jason Merrill + + * configure.in: Remove all references to libg++ and librx. + + * configure, configure.in, Makefile.in: Unify gcc and binutils. + +2000-07-20 Hans-Peter Nilsson + + * config.sub: Update to subversions version 2000-07-06. + +2000-07-12 Andrew Haley + + * configure.in (host_makefile_frag): Use mh-ia64pic on IA-64 hosts. + (target_makefile_frag): Use mt-ia64pic on IA-64 targets. + +2000-07-07 Phil Edwards + + * symlink-tree: Check number of arguments. + +2000-06-06 Andrew Cagney + + * texinfo/texinfo.tex: Update to version 2000-05-28.15. + +2000-07-05 Jim Wilson + + * Makefile.in (CXX_FOR_TARGET): Add libstdc++ to the library + search path for a g++ extracted from the build tree. This + will allow link tests run by configure scripts in + subdirectories to succeed. + +2000-07-01 Koundinya K + + * ltconfig: Add support for mips-dde-sysv4.2MP + +2000-06-28 Corinna Vinschen + + * ltconfig: Check for host_os beeing one of `cygwin', `mingw' or + `os2'. Force ac_cv_exeext to be ".exe" in that case. + +2000-06-19 Timothy Wall + + * configure.in (noconfigdirs): Set noconfigdirs for tic54x target. + * config.sub: Add tic54x target. + +2000-06-07 Phillip Thomas + + * README-maintainer-mode: New file: Contains notes on using + --enable-maintainer-mode with binutils. + +2000-05-29 Andrew Cagney + + * texinfo/texinfo.tex: Update. Version from makeinfo 4.0. + +2000-05-30 Andrew Cagney + + * config.sub: Import CVS version 1.167 Tue May 30 09:00:07 2000. + * config.guess: Import CVS version 1.148 Tue May 30 09:00:06 2000 + +20000-05-21 H.J. Lu (hjl@gnu.org) + + * Makefile.in (CC_FOR_TARGET): Make sure as/ld in the gcc + directory are used if they exist. Make sure + $(build_tooldir)/include is searched for header files, + $(build_tooldir)/lib/ for library files. + (GCC_FOR_TARGET): Likewise. + (CXX_FOR_TARGET): Likewise. + +2000-05-18 Jeffrey A Law (law@cygnus.com) + + * configure.in (hppa*64*-*-*): Do build ld for this configuration. + +2000-05-17 Alexandre Oliva + + * Makefile.in (configure-target-libiberty): Depend on + configure-target-newlib. + +2000-05-16 Alexandre Oliva + + * configure.in, Makefile.in: Merge all libffi-related + configury stuff from the libgcj tree. + +2000-05-16 Andrew Cagney + + Thu Apr 27 11:01:48 2000 Andrew Cagney : + * Makefile.in (do-tar-bz2, do-md5sum): Skip CVS directories. + +2000-05-16 Andrew Cagney + + Wed Apr 26 17:03:53 2000 Andrew Cagney : + * Makefile.in (do-djunpack): New target. Update djunpack.bat with + current version information. Add to proto-toplev directory. + (gdb-taz): Build do-djunpack. + +2000-05-15 David Edelsohn + + * configure.in: Special case powerpc*-*-aix* target_makefile_frag. + +2000-05-13 Alexandre Oliva + + * ltmain.sh: Preserve in relink_command any environment + variables that may affect the linker behavior. + +2000-05-12 Jeffrey A Law (law@cygnus.com) + + * config.sub (basic_machine): Recognize hppa64 as a valid cpu type. + +2000-05-10 Jim Wilson + + * configure.in (ia64*-*-elf*): Add gdb and friends to noconfigdirs. + +2000-05-08 Eli Zaretskii + + * djunpack.bat: Change the Sed script to replace @V@ in fnchange.lst + with the version name. + +2000-05-01 Benjamin Kosnik + + * config.if: Tweak. + +2000-04-23 Eli Zaretskii + + * djunpack.bat: New file. + +2000-04-19 Andrew Cagney + + * Makefile.in (taz, gdb-taz, gas.tar.bz2, binutils.tar.bz2, + gas+binutils.tar.bz2, libg++.tar.bz2, gnats.tar.bz2, gdb.tar.bz2, + dejagnu.tar.bz2, gdb+dejagnu.tar.bz2, insight.tar.bz2, + insight+dejagnu.tar.bz2, newlib.tar.bz2): Pass MD5PROG to sub-make. + +2000-04-16 Dave Pitts + + * config.sub (case $basic_machine): Change default for "ibm-*" + to "openedition". + +2000-04-12 Andrew Cagney + + * Makefile.in (gdb-taz): New target. GDB specific archive. + (do-md5sum): New target. + (MD5PROG): Define. + (PACKAGE): Default to TOOL. + (VER): Default to a shell script. + (taz): Rewrite target. Move real work to do-proto-toplev. Include + md5 checksum generation. + (do-proto-toplev): New target. Create $(PACKAGE)-$(VER) link. + (do-tar-bz2): Delete creation of $(PACKAGE)-$(VER) link. + (gdb.tar.bz2, dejagnu.tar.bz2, gdb+dejagnu.tar.bz2, + insight.tar.bz2): Use gdb-taz to create archive. + +2000-04-07 Andrew Cagney + + * configure (warn_cflags): Delete. + +2000-04-05 Benjamin Kosnik + Martin v. Loewis + + * configure.in (enable_libstdcxx_v3): Add. + (target_libs): Add bits here to switch between libstdc++-v2 and + libstdc++-v3. + * config.if: And this file too. + * Makefile.in: Add libstdc++-v3 targets. + +2000-04-05 Michael Meissner + + * config.sub (d30v): Add d30v as a basic machine type. + +2000-03-29 Jason Merrill + + * configure.in: -linux-gnu*, not -linux-gnu. + +2000-03-03 Andrew Cagney + + * Makefile.in (taz): Set PACKAGE to TOOL when not defined. + (do-tar-bz2): Replace TOOL with PACKAGE. + (gdb.tar.bz2): Remove GDBTK from GDB package. + (gdb+dejagnu.tar.bz2, insight.tar.bz2, insight+dejagnu.tar.bz2, + dejagnu.tar.bz2): New packages. + +2000-02-27 Andreas Jaeger + + * configure.in: Add entry for mips*-*-linux*, move catch all + *-*-*linux* entry below this one. + +2000-02-27 Ian Lance Taylor + + * ltconfig, ltmain.sh: Update to libtool 1.3.4. + +2000-02-24 Nick Clifton + + * config.sub: Support an OS of "wince". + +2000-02-24 Andrew Cagney + + * config.guess, config.sub: Updated to match config's 2000-02-15 + version. + +2000-02-23 Linas Vepstas + + * config.sub: Add support for Linux/IBM 370. + * configure.in: Likewise. + +2000-02-22 Nick Clifton + + * configure.in: Add mips-pe, sh-pe and arm-wince-pe targets. + +2000-02-20 Christopher Faylor + + * config.guess: Guess "cygwin" rather than "cygwin32". + +2000-02-16 Kaveh R. Ghazi + + * configure (gcc_version): When setting, narrow search to + lines containing `version_string'. + +2000-02-15 Denis Chertykov + + * config.sub: Add support for avr target. + +2000-02-01 Hans-Peter Nilsson + + * config.sub: Add mmix-knuth-mmixware. + +2000-01-27 Christopher Faylor + + * Makefile.in (CC_FOR_TARGET): Add new winsup directory + structure stuff to -L library search. + (CXX_FOR_TARGET): Ditto. + (CROSS_CHECK_MODULES): Fix spelling mistake. + +2000-01-24 Mark Mitchell + + * Makefile.in (CXX_FOR_TARGET): Use g++, not xgcc, to invoke + the C++ compiler. + +2000-01-12 Richard Henderson + + * configure.in: Don't build some bits for beos. + +2000-01-12 Joel Sherrill (joel@OARcorp.com) + + * Makefile.in (CC_FOR_TARGET): Use newlib libraries as well + as include files. + +2000-01-06 Geoff Keating + + * configure.in: Use mt-aix43 to handle *_TARGET defs, + not mh-aix43. + +1999-12-14 Richard Henderson + + * config.guess (alpha-osf, alpha-linux): Detect ev67. + * config.sub: Accept alphaev[78], alphaev8. + +1999-12-03 Alexandre Oliva + + * config.guess, config.sub: Update from autoconf. + +Tue Nov 23 00:57:41 1999 Rainer Orth + + * config-ml.in (sparc*-*-*): Disable sparcv9 support if the + necessary libraries are missing. + +1999-10-25 Andreas Schwab + + * configure: Fix quoting inside arguments of eval. + +1999-10-21 Nick Clifton + + * config-ml.in: Allow suppression of some ARM multilibs. + +Tue Sep 7 23:33:57 1999 Linas Vepstas + + * config.guess: Add OS/390 match pattern. + * config.sub: Add mvs, openedition targets. + * configure.in (i370-ibm-opened*): New. + +1999-09-04 Steve Chamberlain + + * config.sub: Add support for configuring for pj. + +1999-08-31 Nick Clifton + + * config.sub (maybe_os): Add support for configuring for fr30. + +1999-08-25 Nick Clifton + + * configure.in: Do not configure or build ld for AIX + platforms. ld is known to be broken on these platforms. + +Wed Aug 25 01:12:25 1999 Rainer Orth + + * config-ml.in: Pass compiler flag corresponding to multidirs to + subdir configures. + +1999-08-09 Ian Lance Taylor + + * Makefile.in (LDFLAGS): Define. + +1999-08-08 Mumit Khan + + * configure.in (i[3456]-*-mingw32*): Don't put gprof in + noconfigdirs. + (*-*-cygwin*): Likewise. + +1999-08-08 Ian Lance Taylor + + * mkdep: New file. + * Makefile.in (GAS_SUPPORT_DIRS): Add mkdep. + (BINUTILS_SUPPORT_DIRS): Add mkdep. + + From Eli Zaretskii : + * configure (tmpfile): Change cONf$$ to cNf$$ to avoid an overly + long file name when using DJGPP on MS-DOS. + +Wed Aug 4 02:07:14 1999 Jeffrey A Law (law@cygnus.com) + + * config.sub (vxworks case): Use os=-vxworks, not os=vxworks. + +1999-07-30 Alan Modra + + * Makefile.in (check-target-libio): Remove all-target-libstdc++ + dependency as this causes "make check" to globally "make all" + +Tue Jun 22 23:45:18 1999 Tom Tromey + + * configure.in (target_libs): Added target-zlib. + * Makefile.in (ALL_TARGET_MODULES): Added zlib. + (CONFIGURE_TARGET_MODULES): Likewise. + (CHECK_TARGET_MODULES): Likewise. + (INSTALL_TARGET_MODULES): Likewise. + (CLEAN_TARGET_MODULES): Likewise. + (configure-target-zlib): New target. + (all-target-zlib): Likewise. + (all-target-libjava): Depend on all-target-zlib. + (configure-target-libjava): Depend on configure-target-zlib. + + * Makefile.in (configure-target-libjava): Depend on + configure-target-newlib. + (configure-target-boehm-gc): New target. + (configure-target-qthreads): New target. + + * configure.in (target_libs): Added target-qthreads. + * Makefile.in (ALL_TARGET_MODULES): Added qthreads. + (CONFIGURE_TARGET_MODULES): Likewise. + (CHECK_TARGET_MODULES): Likewise. + (INSTALL_TARGET_MODULES): Likewise. + (CLEAN_TARGET_MODULES): Likewise. + (all-target-qthreads): New target. + (configure-target-libjava): Depend on configure-target-qthreads. + (all-target-libjava): Depend on all-target-qthreads. + + * Makefile.in (ALL_TARGET_MODULES): Added libjava, boehm-gc. + (CONFIGURE_TARGET_MODULES): Likewise. + (CHECK_TARGET_MODULES): Likewise. + (INSTALL_TARGET_MODULES): Likewise. + (CLEAN_TARGET_MODULES): Likewise. + (all-target-libjava): New target. + (all-target-boehm-gc): Likewise. + * configure.in (target_libs): Added libjava, boehm-gc. + +1999-07-22 Ian Lance Taylor + + * Makefile.in (binutils.tar.bz2): Don't pass makeall.bat and + configure.bat in SUPPORT_FILES. + (gas+binutils.tar.bz2): Likewise. + + * makeall.bat: Remove; obsolete. + +1999-07-21 Ian Lance Taylor + + From Mark Elbrecht: + * configure.bat: Remove; obsolete. + +1999-07-11 Ian Lance Taylor + + * configure: Add -W -Wall to the default CFLAGS when compiling with + gcc. + +Thu Jul 8 12:32:23 1999 John David Anglin + + * configure.in: Build ld, binutils & gas for hppa*-*-linux-gnu*. + +1999-06-30 Mark Mitchell + + * configure.in: Build ld on IRIX6. + +1999-06-12 Ian Lance Taylor + + * Makefile.in: Change distribution targets to use bzip2 instead of + gzip. + (TEXINFO_SUPPORT): Set to just texinfo/texinfo.tex. + (taz): Don't use texinfo/gpl.texinfo or texinfo/lgpl.texinfo. + +1999-06-04 Nick Clifton + + * config.sub: Add mcore target. + +1999-05-30 Cort Dougan + + * config.guess (ppc-*-linux-gnu): Also use ld emul elf32ppclinux. + +1999-05-25 H.J. Lu (hjl@gnu.org) + + * config.guess (dummy): Changed to $dummy. + +1999-05-24 Nick Clifton + + * config.sub: Tidied up case statements. + +1999-05-22 Ben Elliston + + * config.guess: Handle NEC UX/4800. Contributed by Jiro Takabatake + . + + * config.guess: Merge with FSF version. Future changes will be + more accurately recorded in this ChangeLog. + * config.sub: Likewise. + +1999-05-20 Stephen L Moshier + + * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include. + +1999-04-30 Tom Tromey + + * ltmain.sh: [mode link] Always use CC given by ltconfig. + +1999-04-23 Tom Tromey + + * ltconfig, ltmain.sh: Update to libtool 1.2f. + +1999-04-20 Drew Moseley + + * configure.in (noconfigdirs): Don't build libstub for arm-elf targets. + (noconfigdirs): Don't build any bsp stuff for for arm-oabi targets. + Bad merge removed these two changes. + +Tue Apr 13 22:50:54 1999 Donn Terry (donn@interix.com) + Martin Heller (Ing.-Buero_Heller@t-online.de) + + * config.guess (interix Alpha): Add. + +1999-04-11 Richard Henderson + + * configure.in (i?86-*-beos*): Do config gperf; don't config + gdb, newlib, or libgloss. + +1999-04-11 Alexandre Oliva + + * config-ml.in: On mips*-*-*, if multidirs contains mabi=64, try to + link a trivial program with -mabi=64. If it fails, remove mabi=64 + from multidirs. + +1999-04-10 Philipp Thomas (kthomas@gwdg.de) + + * config.sub: Set basic_machine to i586 when target_alias = k6-*. + +1999-04-08 Nick Clifton + + * config.sub: Add support for mcore targets. + +1999-04-07 Michael Meissner + + * configure.in (d30v-*): Use config/mt-d30v as makefile fragment, + not mt-ospace, in order to shut up assembler warning about using + symbols that are named the same as registers. + +1999-04-07 Drew Moseley + + * Makefile.in (all-target-cygmon): Added all-target-bsp to the + dependency list for all-target-cygmon. + +1999-04-05 Doug Evans + + * config-ml.in: Check $host, not $target, for selective multilibs. + (arm-*-*): Allow disabling of biendian, h/w fp, 26 bit apcs, + thumb interworking, and underscore prefix multilibs. + +1999-04-04 Ian Lance Taylor + + * missing: Update to version from current automake. + +Fri Apr 2 15:11:32 1999 H.J. Lu (hjl@gnu.org) + + * configure (gxx_include_dir): Removed. + + * configure.in (gxx_include_dir): Handle it. + * Makefile.in: Likewise. + +1999-03-29 Gavin Romig-Koch + + * config.sub (mips64vr4111,mips64vr4111el) Add. + +1999-03-21 Ben Elliston + + * config.guess: Correct typo for detecting ELF on FreeBSD. + +Thu Mar 18 00:17:50 1999 Mark Elbrecht + + * config/mh-go32: Delete. + * config/mh-djgpp: New. Renamed from mh-go32. + * configure.in (pc-msdosdjgpp): Set host_makefile_frag to + config/mh-djgpp. + +Thu Mar 11 18:37:23 1999 Drew Moseley + + * Makefile.in (all-target-bsp): Added all-gcc all-binutils and + all-target-newlib to dependency list for all-target-bsp. + +Thu Mar 11 01:19:31 1999 Mumit Khan + + * config.sub: Add i386-uwin support. + * config.guess: Likewise. + +Thu Mar 11 01:07:55 1999 Franz Sirl + + * configure.in: cleanup, add mh-*pic handling for arm, special + case powerpc*-*-aix* + +Wed Mar 10 18:35:07 1999 Jeff Johnston + + * configure.in (noconfigdirs): Removed target-libgloss so libnosys.a + can be built. + +Wed Mar 10 17:39:09 1999 Drew Moseley + + * configure.in: Added bsp support to arm-*-coff and arm-*-elf + targets. + +1999-03-02 Nick Clifton + + * config.sub: Rename CYGNUS LOCAL to EGCS LOCAL + +1999-02-28 Geoffrey Noer + + * config.sub: Check for "cygwin*" rather than "cygwin32*" + +1999-02-24 Nick Clifton + + * config.sub: Fix typo in arm recognition. + +1999-02-24 Drew Moseley + + * configure.in (noconfigdirs): Changed target_configdirs to + include target-bsp only for m68k-*-elf* and m68k-*-coff* + rather than m68k-*-* since it is not known to work on + m68k-aout. Ditto for arm-*-*oabi. + +1999-02-24 Stan Shebs + + * configure.in (*-*-windows*): Remove, no longer used. + * config/mh-windows: Ditto. + +1999-02-19 Ben Elliston + + * config.guess: Automatically recognise ELF on FreeBSD. From Niall + Smart and improved by Andrew Cagney. + +1999-02-18 Marc Espie + + * config.guess: Recognize openbsd-*-hppa. + +1999-02-17 H.J. Lu (hjl@gnu.org) + + * Makefile.in (REALLY_SET_LIB_PATH): Append $$$(RPATH_ENVVAR) + only if it is not empty. + +1999-02-17 Nick Clifton + + Patch from: Scott Bambrough + + * config.guess: Modified to recognize uname's armv* syntax. + + * config.sub: Modified to recognize uname's armv* syntax. + +1999-02-17 Mark Salter + + * configure.in: Added target-bsp for sparclite. + +1999-02-08 Richard Henderson + + * config.sub: Recognize alphapca5[67] and up to alphaev8. + +1999-02-08 Nick Clifton + + * configure.in: Add support for strongarm port. + * config.sub: Add support for strongarm target. + +1999-02-07 Mumit Khan + + * configure.in (*-*-cygwin32*): Use config/mh-cygwin instead of + the old name config/mh-cygwin32. + Enable texinfo. + +1999-02-04 Ian Lance Taylor + + * configure.in: Do build ld for ix86 Solaris. + +1999-02-02 Jim Wilson + + * Makefile.in (EXTRA_GCC_FLAGS): Set AR to $AR instead of + $AR_FOR_TARGET. Likewise for RANLIB. + +1999-02-02 Catherine Moore + + * config.sub (oabi): Recognize. + * configure.in (arm-*-oabi): Handle. + +1999-01-30 Robert Lipe (robertlipe@usa.net) + + * config.guess: Improve detection of i686 on UnixWare 7. + +1999-01-30 Mumit Khan + + * config.guess: Add support for i386-pc-interix. + * config.sub: Likewise. + * configure.in: Likewise. + * config/mh-interix: New file. + +1999-01-18 Christopher Faylor + + * Makefile.in: Remove unneeded all-target-libio from + from all-target-winsup target since it is now unneeded. + Add all-target-libtermcap in its place since it is now + needed. + +1998-12-30 Christopher Faylor + + * configure.in: makefile stub for cygwin target is probably + unnecessary. Remove it for now. + * config/mt-cygwin: Remove. + +1998-12-30 Christopher Faylor + + * configure.in: libtermcap.a should be built when cygwin is the + target as well as the host. + * config.guess: Allow mixed case in cygwin uname output. + * Makefile.in: Add libtermcap target. + * config/mt-cygwin: New file. libtermcap target info. + +1998-12-23 Jeffrey A Law (law@cygnus.com) + + * config.sub: Clean up handling of hppa2.0. + +1998-12-22 Rodney Brown (rodneybrown@pmsc.com) + + * config.guess: Use C code to identify more HP machines. + +Thu Dec 17 01:22:30 1998 Jeffrey A Law (law@cygnus.com) + + * config.sub: Handle hppa2.0. + +Tue Dec 15 17:02:58 1998 Bob Manson + + * configure.in: Add cygmon for x86-coff and x86-elf. Configure + cygmon for all sparclite targets, regardless of object format. + +1998-12-15 Mark Salter + + * configure.in: Added target-bsp for several target architectures. + + * Makefile.in: Added rules for bsp. + +Fri Dec 4 01:34:02 1998 Jeffrey A Law (law@cygnus.com) + + * config.guess: Improve detection of hppa2.0 processors. + +Fri Dec 4 01:33:05 1998 Niall Smart + + * config.guess: Recognize FreeBSD using ELF automatically. + +1998-11-26 Manfred Hollstein + + * configure (skip-this-dir): Add handling for new shell script, which + might be created by a sub-directory's configure to indicate, this particular + directory is "unwanted". + * Makefile.in ($(CONFIGURE_TARGET_MODULES)): Likewise. + +Wed Nov 18 18:28:45 1998 Geoffrey Noer + + * ltconfig: import from libtool, after changing libtool to + account for the cygwin name change. + +Wed Nov 18 18:09:14 1998 Geoffrey Noer + + * Makefile.in: CC_FOR_TARGET and CXX_FOR_TARGET should also + include newlib/libc/sys/cygwin and newlib/libc/sys/cygwin32. + +Wed Nov 18 20:13:29 1998 Christopher Faylor + + * configure.in: Add libtermcap to list of cygwin dependencies. + +1998-11-17 Geoffrey Noer + + * Makefile.in: modify CC_FOR_TARGET and CXX_FOR_TARGET so that + they include winsup/include when it's a cygwin target. + +1998-11-12 Tom Tromey + + * configure.in (host_tools): Added zip. + * Makefile.in (all-target-libjava): Depend on all-zip. + (all-zip): New target. + (ALL_MODULES): Added all-zip. + (NATIVE_CHECK_MODULES): Added check-zip. + (INSTALL_MODULES): Added install-zip. + (CLEAN_MODULES): Added clean-zip. + +1998-11-12 Geoffrey Noer + + * Makefile.in: lose "32" from comment about cygwin. + +1998-11-05 Nick Clifton + + * configure.in: Use -Os to build target libraries for the fr30. + +1998-11-04 Dave Brolley + + * config.sub: Add fr30. + +1998-11-02 Geoffrey Noer + + * configure.in: drop "32" from config/mh-cygwin32. Check + cygwin* instead of cygwin32*. + * config.sub: Check cygwin* instead of cygwin32*. + +1998-10-22 Robert Lipe + + * config.guess: Match any version of Unixware7. + +1998-10-20 Syd Polk + + * Makefile.in configure.in: Add the ability to use tcl8.1 and tk8.1 + if desired. + +1998-10-18 Jeffrey A Law (law@cygnus.com) + + * config.if (cxx_interface, libstdcxx_interface): Do not try to set + these if the appropriate directories and files to not exist. + +1998-10-14 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (DEVO_SUPPORT): Add config.if. + +1998-10-13 Manfred Hollstein + + * configure: Add pattern to replace "build_tooldir"'s + definition in the generated Makefile with "tooldir"'s + actual value. + +Tue Oct 13 09:17:06 1998 Jeffrey A Law (law@cygnus.com) + + * config.sub: Bring back lost sparcv9. + + * Makefile.in (all-snvavigator): Remove all-flexlm dependency. + +Mon Oct 12 12:09:44 1998 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (CHILL_FOR_TARGET): Mirror recent changes to + CC_FOR_TARGET and friends. + +Mon Oct 12 12:09:30 1998 Alexandre Oliva + + * Makefile.in (build_tooldir): New variable, same as tooldir. + (CC_FOR_TARGET, GCC_FOR_TARGET, CXX_FOR_TARGET): Add + -B$(build_tooldir)/bin/. + (BASE_FLAGS_TO_PASS): Pass build_tooldir down. + +Wed Sep 30 22:20:50 1998 Robert Lipe + + * config.sub: Add support for i[34567]86-pc-udk. + * configure.in: Likewise. + +Wed Sep 30 19:23:48 1998 Geoffrey Noer + + * Makefile.in: add bzip2 package building bits for user + tools module + * configure.in: ditto + +Wed Sep 30 03:00:05 1998 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (TARGET_CONFIGDIRS): Add libobjc. + (ALL_TARGET_MODULES): Add all-target-libobjc. + (CONFIGURE_TARGET_MODULES, CHECK_TARGET_MODULES): Similarly. + (INSTALL_TARGET_MODULES, CLEAN_TARGET_MODULES): Similarly. + (all-target-libchill): Add dependencies. + * configure.in (target_libs): Add libchill. + +1998-09-30 Manfred Hollstein + + * configure.in (target_subdir): Remove duplicate line. + +Tue Sep 29 22:45:41 1998 Felix Lee + + * Makefile.in (all-automake): fix dependencies. + +Mon Sep 28 04:04:27 1998 Jeffrey A Law (law@cygnus.com) + + * configure.in: Minor cleanups for building in the $(target_alias) + subdir. + +1998-09-22 Jim Wilson + + * Makefile.in (bootstrap): Set r and s before make all. Use + BASE_FLAGS_TO_PASS in make all. + (cross): Likewise. + +1998-09-20 Mark Mitchell + + * Makefile.in (bootstrap): Pass TARGET_FLAGS_TO_PASS to `make all'. + +Sun Sep 20 00:13:02 1998 Richard Henderson + + * config.sub: Fix typo in last change. + +1998-09-19 Michael Hayes + + * config.sub: Add support for C4x target. + * configure.in: Likewise. + +1998-09-13 David S. Miller + + * config.sub: Recognize sparcv9 just like sparc64. + +Wed Sep 9 15:44:52 1998 Robert Lipe + + * config.guess: Match "Pent II" or "PentII" for OpenServer. + +Tue Sep 8 01:18:39 1998 Jeffrey A Law (law@cygnus.com) + + * config.guess: Correctly identify Pentium II sco boxes. + + * config.guess: Fix "tr" code. From Weiwen Liu. + +Sat Sep 5 13:56:52 1998 John Hughes + + * configure.in: Do not assume x86-svr4 or x86-unixware can handle + stabs. + +Sat Sep 5 02:12:02 1998 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (TARGET_CONFIGDIRS): Add libchill. + (ALL_TARGET_MODULES): Add all-target-libchill. + (CONFIGURE_TARGET_MODULES, CHECK_TARGET_MODULES): Similarly. + (INSTALL_TARGET_MODULES, CLEAN_TARGET_MODULES): Similarly. + (all-target-libchill): Add dependencies. + * configure.in (target_libs): Add libchill. + +Sun Aug 30 22:27:02 1998 Lutz Wohlrab + + * config.guess: Avoid assumptions about "tr" behaves when + LANG is set to something other than English. + +Sun Aug 30 22:14:44 1998 H.J. Lu (hjl@gnu.org) + + * configure (gxx_include_dir): Changed to + '${prefix}/include/g++'-${libstdcxx_interface}. + + * config.if: New to determine the interfaces. + +Sun Aug 30 21:15:19 1998 Mark Klein (mklein@dis.com) + + * config.guess: Detect and handle MPE/IX. + * config.sub: Deal with MPE/IX. + +Sat Aug 29 14:32:55 1998 David Edelsohn + + * configure.in: Use mh-aix43. + +1998-07-29 Manfred Hollstein + + * configure: Fix --without/--disable cases for gxx-include-dir. + +Fri Aug 28 12:28:26 1998 Per Bothner + + * mdata-sh: Imported. Needed for automake support. + +Thu Aug 13 12:49:29 1998 H.J. Lu + + * Makefile.in (taz): Try "chmod -R og=u ." before + "chmod og=u `find . -print`". + +Fri Jul 31 09:38:33 1998 Catherine Moore + + * configure.in: Add arm-elf and thumb-elf support. + +Mon Jul 27 16:23:58 1998 Doug Evans + + * Makefile.in: Undo previous patch. + +Fri Jul 24 19:55:24 1998 Doug Evans + + * Makefile.in (INSTALL_TARGET): Move EXTRA_TARGET_HOST_INSTALL_MODULES + to here ... + (install-no-fixedincludes): and here + (INSTALL_MODULES): ... from here. + +Fri Jul 24 17:01:42 1998 Ian Lance Taylor + + * config.sub: Merge with FSF. + + * config.guess: Merge with FSF. + +Fri Jul 24 08:43:36 1998 Doug Evans + + * configure (extraconfigdirs): New variable. + (SUBDIRS): Add extraconfigdirs and recurse on them too. + * Makefile.in (all): Move higher in file. + (EXTRA_TARGET_HOST_ALL_MODULES): New variable. + (EXTRA_TARGET_HOST_{INSTALL,CHECK}_MODULES): New variables. + (ALL_MODULES): Add EXTRA_TARGET_HOST_ALL_MODULES. + (CROSS_CHECK_MODULES): Add EXTRA_TARGET_HOST_CHECK_MODULES. + (INSTALL_MODULES): Add EXTRA_TARGET_HOST_INSTALL_MODULES. + +1998-07-23 Brendan Kehoe + + * Makefile.in (all-target-libjava): Depend on all-gcc and + all-target-newlib. + (configure-target-libjava): Depend on $(ALL_GCC). + +Sat Jul 18 14:32:43 CDT 1998 Robert Lipe + + * config.guess: (*-pc-sco3.2v5) Add detection for Pentium II. + (*-pc-unixware7) Add detection for Pentium II, Pentium Pro. + +Fri Jul 17 13:30:18 1998 Ian Lance Taylor + + * ylwrap: Change absolute path checks to check for DOS style path + names. + + * ylwrap: Don't use a full path name if the source file is in the + same directory. From hjl@lucon.org (H.J. Lu). + + * config-ml.in: Default to being verbose, to match Feb 18 change to + configure. + +Thu Jul 16 12:29:51 1998 Ian Lance Taylor + + Brought over from egcs: + + Sat Jun 27 22:46:32 1998 Jeffrey A Law (law@cygnus.com) + + * configure.in (target_subdir): Set to ${target_alias} instead + of "libraries". + + Mon Sep 1 16:45:44 1997 Jim Wilson + + * configure.in (target_subdir): Set to libraries if enable_multilib. + +Wed Jul 15 01:00:54 1998 Ian Lance Taylor + + * Makefile.in ($(CONFIGURE_TARGET_MODULES)): If there are any + multilibs, force reconfiguration the first time we create + multilib.out in a subdirectory, in case TARGET_SUBDIR is `.'. + +Tue Jul 14 23:41:03 1998 Ian Lance Taylor + + * configure.in: Strip any --no option from CONFIG_ARGUMENTS, to + avoid confusion with --no-recursion. + +Tue Jul 14 15:37:41 1998 Geoffrey Noer + + * configure.in: Win32 hosts shouldn't use install -x + * install-sh: remove -x option, and special .exe-handling + hack. + +Tue Jul 14 15:28:41 1998 Richard Henderson + + * config.guess: Recognize i586-pc-beos. + * configure.in: Don't build some bits for beos. + +Tue Jul 14 13:22:18 1998 Ian Lance Taylor + + * configure: If CC is set but CFLAGS is not, and CC is gcc, make + CFLAGS default to -O2. + + * ltmain.sh: Add some hacks to make SunOS --enable-shared work + when using GNU ld. + +Fri Jul 10 13:18:23 1998 Ian Lance Taylor + + * ltmain.sh: Correct install when using a different shell. + +Tue Jul 7 15:24:38 1998 Ian Lance Taylor + + * ltconfig, ltmain.sh: Update to libtool 1.2b. + +Thu Jul 2 13:57:36 1998 Klaus Kaempf + + * makefile.vms: Update to build binutils/makefile.vms. Add install + target. + +Wed Jul 1 16:45:21 1998 Ian Lance Taylor + + * ltconfig: Update to correct AIX handling. + +Sat Jun 27 22:46:32 1998 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (BASE_FLAGS_TO_PASS): Add TARGET_SUBDIR. + + * configure.in (target_subdir): Set to ${target_alias} instead + of "libraries". + +1998-06-26 Manfred Hollstein + + * Makefile.in (BASE_FLAGS_TO_PASS): Add gcc_version_trigger. + (Makefile): Depend on $(gcc_version_trigger). + + * configure (gcc_version): Change default initializer to empty + string. + (gcc_version_trigger): New variable; pass this variable down + to subdir configures to enable them checking gcc's version + themselves. Emit make macros for both gcc_version vars. + (topsrcdir): Initialize reliably. + (recursion line): Remove --with-gcc-version=${gcc_version}. + +1998-06-24 Manfred Hollstein + + * configure (enable_version_specific_runtime_libs): Implement new flag + --enable-version-specific-runtime-libs which installs C++ runtime stuff + in $(libsubdir); emit definition in each generated Makefile. + (gxx_include_dir): Initialize depending on + $enable_version_specific_runtime_libs. + +1998-06-24 Manfred Hollstein + + * configure (gcc_version): Initialize properly depending on + how and where configure is started. + (recursion line): Pass a --with-gcc-version=${gcc_version} + to configures in subdirs. + +Wed Jun 24 16:01:59 1998 John Metzler + + * configure.in (noconfigdirs): Add configure pattern for mips tx39 + cygmon + +Tue Jun 23 22:42:32 1998 Mark Alexander + + * configure.in: Add cygmon and libstub support for mn10200. + +1998-06-19 Manfred Hollstein + + * configure (gcc_version): Add new variable describing the + particular gcc version we're building. + * Makefile.in (libsubdir): Add new macro for the directory + in which the compiler finds executables, libraries, etc. + (BASE_FLAGS_TO_PASS): Pass down gcc_version, target_alias + and libsubdir. + +Fri Jun 19 02:36:59 1998 Alexandre Oliva + + * Makefile.in (local-clean): Remove *.log. + (warning.log): Built with warn_summary from build.log. + (mail-report.log): Run test_summary. + (mail-report-with-warnings.log): Run test_summary including + warning.log in the report. + +Thu Jun 18 11:26:03 1998 Robert Lipe + + * config.guess: Detection of Pentium II for *-sco-3.2v5*. + +Mon Jun 15 14:53:54 1998 Andrew Cagney + + * Makefile.in (grep): Grep no longer depends on libiberty. + +Fri Jun 12 14:03:34 1998 Syd Polk + + * Makefile.in: all-snavigator needs all-libgui. + +Thu Jun 11 19:43:47 1998 Mark Alexander + + * configure.in: Add cygmon and libstub support for mn10300. + +Wed Jun 10 11:19:47 1998 Ian Lance Taylor + + * missing: Update to version from automake 1.3. + + * ltmain.sh: On installation, don't get confused if the same name + appears more than once in the list of library names. + +Wed Jun 3 14:51:42 1998 Ian Lance Taylor + + * config.sub: Accept m68060 and m5200 as CPU names. + +Mon Jun 1 17:25:16 1998 Ian Lance Taylor + + * configure: Use && rather than using -a in test, because odd + strings can confuse test. + * configure.in: Likewise. + +Thu May 28 19:31:13 1998 Ian Lance Taylor + + * ltconfig, ltmain.sh: Bring in Visual C++ support. + +Sat May 23 23:44:13 1998 Alexandre Oliva + + * Makefile.in (boostrap2-lean, bootstrap3-lean, + bootstrap4-lean): New targets. + +Mon May 11 23:55:56 1998 Jeffrey A Law (law@cygnus.com) + + * mpw-* Delete. Not used. + +Mon May 11 23:11:34 1998 Jeffrey A Law (law@cygnus.com) + + * COPYING.LIB: Update FSF address. + +Fri May 8 01:30:20 1998 Ian Lance Taylor + + * ltconfig, ltmain.sh: Update to libtool 1.2a. + + * Makefile.in (GASB_SUPPORT_DIRS): Remove intl; already included via + GAS_SUPPORT_DIRS. + +Thu May 7 17:27:35 1998 Ian Lance Taylor + + * ltconfig, ltmain.sh: Avoid producing a version number if + -version-info was not used. + +Tue May 5 18:02:24 1998 Ian Lance Taylor + + * configure.in: Add --with-newlib to CONFIG_ARGUMENTS if we are + building with newlib. + +1998-04-30 Paul Eggert + + * Makefile.in (EXTRA_GCC_FLAGS): Remove backslash at end; + Solaris `make' causes it to continue to next definition. + +Tue Apr 28 16:24:24 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile.in (install-gdbtk): Call this 'install-gdb' so that + the right GUI libraries and files are installed along with GDB. + +Tue Apr 28 18:11:24 1998 Ian Lance Taylor + + * configure.in: Change alpha to alpha* in several places. + +Tue Apr 28 07:42:00 1998 Mark Alexander + + * config.sub: Recognize sparc86x. + +Tue Apr 28 07:35:02 1998 Michael Meissner + + * configure.in (--enable-target-optspace): Remove debug echo. + +Thu Apr 23 21:31:16 1998 Jim Wilson + + * configure: Set CXXFLAGS from CXXFLAGS, not CFLAGS. + +Thu Apr 23 12:26:38 1998 Ian Lance Taylor + + * ltconfig: Update cygwin32 support. + + * Makefile.in (GAS_SUPPORT_DIRS): Add intl. + (BINUTILS_SUPPORT_DIRS, GASB_SUPPORT_DIRS): Likewise. + (GDB_SUPPORT_DIRS): Likewise. + +Wed Apr 22 12:30:10 1998 Michael Meissner + + * configure.in (target_makefile_frag): If --enable-target-optspace, + use -Os to compile target libraries rather than -O2. Default to + using -Os for d10v and m32r if --{enable,disable}-target-optspace is + not used. + * configure.in (target_cflags): Ditto for d30v. + +Tue Apr 21 23:06:54 1998 Tom Tromey + + * Makefile.in (all-bfd): Depend on all-intl. + (all-binutils): Likewise. + (all-gas): Likewise. + (all-gprof): Likewise. + (all-ld): Likewise. + +1998-04-19 Brendan Kehoe + + * configure.in (host_tools): Fix typo, lbtool -> libtool. + +Fri Apr 17 16:20:42 1998 Ian Lance Taylor + + * Makefile.in (all-bfd): Depend upon all-libiberty. + + * ltconfig, ltmain.sh: Bring in newer cygwin32 support. + +Fri Apr 17 12:22:22 1998 Bob Manson + + * Makefile.in: Add libstub. + + * configure.in: Ditto. Build libstub for targets that have cygmon + support. + +Tue Apr 14 18:01:55 1998 Ian Lance Taylor + + * configure.in: Don't set PICFLAG on ix86-cygwin32. + +Tue Apr 14 12:24:45 1998 J. Kean Johnston + + * configure.in: Recognise i[3456]96-*-sysv5* as a valid host, and + use mh-sysv5 if specified. Support gprof on SCO Open Server. + +Tue Apr 14 11:33:51 1998 Krister Walfridsson + + * configure: Define DEFAULT_M4 by searching PATH. + * Makfile.in: Use DEFAULT_M4. + +Mon Apr 13 15:37:24 1998 Ian Lance Taylor + + * ltconfig: Add cygwin32 support. + + * Makefile.in, configure.in: Add libtool as a native only directory + to configure and build. + +Sun Apr 12 20:58:46 1998 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (INSTALL_MODULES): Remove texinfo. + +Wed Apr 8 13:18:56 1998 Philippe De Muyter + + * Makefile.in (EXTRA_GCC_FLAGS): XFOO lines shortened. + +Thu Apr 2 14:48:44 1998 Geoffrey Noer + + * Makefile.in: add ash make rules + * configure.in: add ash to native_only and host_tools lists + +Thu Mar 26 12:53:20 1998 Tom Tromey + + * Makefile.in (all-gettext, all-intl): New targets. + (ALL_MODULES): Added all-gettext, all-intl. + (CROSS_CHECK_MODULES): Added check-gettext, check-intl. + (INSTALL_MODULES): Added install-gettext, install-intl. + (CLEAN_MODULES): Added clean-gettext, clean-intl. + + * configure.in (host_tools): Added gettext. + (native_only): Likewise. + (noconfigdirs) [various cases]: Likewise. + (host_libs): Added intl. + +Thu Mar 26 15:00:11 1998 Keith Seitz + + * configure: Do not disable building gdbtk for cygwin32 hosts. + +Wed Mar 25 10:04:18 1998 Nick Clifton + + * configure.in: Add thumb-coff target. + * config.sub: Add thumb-coff target. + +Wed Mar 25 11:49:12 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile.in: Revert yesterday's change. + (all-target-winsup): all-target-librx stays out of here. + +Tue Mar 24 16:58:29 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile.in (TARGET_CONFIGDIRS, ALL_TARGET_MODULES, + CONFIGURE_TARGET_MODULES, CHECK_TARGET_MODULES, + INSTALL_TARGET_MODULES, CLEAN_TARGET_MODULES, all-target-winsup): + Remove references to librx and libg++. + +Tue Mar 24 18:28:12 1998 Eric Mumpower + + * Makefile.in (BASE_FLAGS_TO_PASS): Pass $(lispdir) down to + recursive makes + +Tue Mar 24 11:37:45 1998 Ian Lance Taylor + + * Makefile.in (CC_FOR_TARGET): Use $(TARGET_SUBDIR) when passing -B + for newlib directory. + (CXX_FOR_TARGET): Likewise. + +Mon Mar 23 11:30:21 1998 Jeffrey A Law (law@cygnus.com) + + * ltconfig: Update after libtool/ltconfig.in change for + hpux11. + +Fri Mar 20 18:51:43 1998 Ian Lance Taylor + + * ltconfig, ltmain.sh: Update to libtool 1.2. + +Fri Mar 20 09:32:14 1998 Manfred Hollstein + + * Makefile.in (install-gcc): Don't specify LANGUAGES here. + (install-gcc-cross): Instead, override LANGUAGES here. + +1998-03-18 Dave Love + + * Makefile.in ($(CONFIGURE_TARGET_MODULES)): Set CONFIG_SITE to a + non-existent file since /dev/null loses with bash 2.0/autoconf 2.12. + +Wed Mar 18 09:24:59 1998 Nick Clifton + + * configure.in: Add Thumb-pe target. + +Tue Mar 17 16:59:00 1998 Syd Polk + + * Makefile.in - changed sn targets to snavigator + * configure.in - changed sn targets to snavigator + +Tue Mar 17 10:33:28 1998 Manfred Hollstein + + * config-ml.in: After building symlink tree call make distclean + if a Makefile got linked into ${ml_dir}/${ml_libdir}; this happens + to be the case for libiberty. + +Tue Mar 17 10:22:37 1998 H.J. Lu (hjl@gnu.ai.mit.edu) + + * configure: When making link, also check the current + directory. The configure scripts may create one. + +Fri Mar 6 01:02:03 1998 Richard Henderson + + * config.sub: Accept alphapca56 and alphaev6 properly. + +Fri Mar 6 00:14:55 1998 Franz Sirl + + * configure.in: Revert 3 Jan change for powerpc-linux-gnulibc1. + +Mon Feb 23 15:09:18 1998 Bruno Haible + + * Makefile.in (INSTALL_MODULES): Move install-tcl before + install-itcl. + (install-itcl): Remove dependency on install-tcl. + +Mon Feb 23 09:53:28 1998 Mark Alexander + + * configure.in: Remove libgloss from noconfigdirs for MN10300. + +Thu Feb 19 13:40:41 1998 Ian Lance Taylor + + * configure.in: Don't build libgui for a cygwin32 target when not on + a cygwin32 host. + +Wed Feb 18 12:29:00 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * configure (redirect): Set to null, so default behavior of + configure is now --verbose. + +1998-02-16 Dave Love + + * Makefile.in ($(CONFIGURE_TARGET_MODULES)): Run configure with + CONFIG_SITE=/dev/null to forestall lossage with site configuration. + +Mon Feb 16 12:23:53 1998 Manfred Hollstein + + * Makefile.in (BASE_FLAGS_TO_PASS, EXTRA_TARGET_FLAGS): Really add + this change to sync Makefile.in with its ChangeLog entries. + +Thu Feb 12 15:03:08 1998 H.J. Lu + + * ltmain.sh (mkdir): Check that the directory doesn't exist + before we exit with error, so that we don't get races during + parallel builds. + +Sat Feb 7 15:19:18 1998 Ian Lance Taylor + + * ltconfig, ltmain.sh: Update from libtool 1.0i. + +Fri Feb 6 01:33:52 1998 Manfred Hollstein + + * Makefile.in (BASE_FLAGS_TO_PASS): Don't pass PICFLAG and + PICFLAG_FOR_TARGET. + (EXTRA_TARGET_FLAGS): Don't pass PICFLAG_FOR_TARGET. + + * configure: Emit a definition for the new macro enable_shared + into each Makefile. + + * config/mh-sparcpic (PICFLAG): Define to properly according + to current multilib configuration. + * config/mt-sparcpic (PICFLAG_FOR_TARGET): Define to properly + according to current multilib configuration. + +Thu Feb 5 17:01:12 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * configure.in (host_tools, native_only): Add libtool. + +Wed Feb 4 16:53:58 1998 Geoffrey Noer + + * configure.in: add target-gperf to noconfigdirs for Cygwin32. + Fix typo in ming config comment. + +Wed Feb 4 18:56:13 1998 Ian Lance Taylor + + * ltconfig, ltmain.sh: Update from libtool 1.0h. + +Mon Feb 2 19:38:19 1998 Ian Lance Taylor + + * config.sub: Add tic30 cases, and map c30 to tic30. + +Sun Feb 1 02:40:41 1998 Richard Henderson + + * Makefile.in (TARGET_CONFIGDIRS): Add libf2c. + (ALL_TARGET_MODULES, CONFIGURE_TARGET_MODULES): Similarly + (CHECK_TARGET_MODULES, INSTALL_TARGET_MODULES): Similarly + (CLEAN_TARGET_MODULES): Similarly + (all-target-libf2c): Add dependences. + * configure.in (target_libs): Add libf2c. + +Fri Jan 30 17:18:32 1998 Geoffrey Noer + + * configure.in: Remove expect from noconfigdirs when target + is cygwin32. OK to build expect and dejagnu with Canadian + Cross. + +Wed Jan 28 12:58:49 1998 Ian Lance Taylor + + * configure.in: Do build expect, dejagnu, and cvssrc for a cygwin32 + host. + + * config.guess: Use ${UNAME_MACHINE} rather than i386 for cygwin32 + and mingw32. + +Wed Jan 28 10:26:37 1998 Manfred Hollstein + + * Makefile.in (BASE_FLAGS_TO_PASS): Remove passing $(local_prefix) + here as it is not defined in the toplevel Makefile. + +Tue Jan 27 23:25:06 1998 Manfred Hollstein + + * configure (package_makefile_rules_frag): New variable, which names + a file with generic rules, ... + Change comment to mention we now have FIVE parts. + * configure: Undo last change. + +Tue Jan 27 23:15:55 1998 Lassi A. Tuura + + * config.guess: More accurate determination of HP processor types. + * config.sub: More accurate determination of HP processor types. + +Sat Jan 24 01:59:45 1998 Manfred Hollstein + + * configure (package_makefile_frag): Move inserting the + ${package_makefile_frag} to where it should be according + to the comment. + +Fri Jan 23 00:29:28 1998 Philip Blundell + + * config.guess: Add support for Linux/ARM. + +Thu Jan 22 15:14:01 1998 Fred Fish + + * .cvsignore: Remove *-info and *-install since they match + release-info and mpw-install, which we don't want to just ignore. + +Thu Jan 22 01:38:33 1998 Richard Henderson + + * configure.in: Revert 3 Jan change for alpha-linux-gnulibc1. + +Sat Jan 17 21:28:08 1998 Pieter Nagel + + * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and + local_prefix to sub-make invocations. + +Sat Jan 17 21:04:59 1998 H.J. Lu (hjl@gnu.org) + + * configure.in: Check makefile fragments in the source + directory. + +Fri Jan 16 00:41:37 1998 Alexandre Oliva + + * configure.in: Check whether host and target makefile + fragments exist before adding them to *_makefile_frag. + +Wed Jan 14 23:39:10 1998 Bob Manson + + * configure.in (target_configdirs): Add cygmon for sparc64-elf. + +Wed Jan 14 12:48:07 1998 Keith Seitz + + * configure.in: Make sure we only replace RPATH_ENVVAR on + lines which begin with RPATH_ENVVAR, i.e. add "^" to the + regexp to sed. + + * Makefile.in (BASE_FLAGS_TO_PASS): Pass RRPATH_ENVVAR down + to sub-makes. + +1998-01-13 Lee Iverson (leei@ai.sri.com) + + * config-ml.in (multi-do): LDFLAGS must include multilib + designator. + +Tue Jan 13 01:13:24 1998 Robert Lipe (robertl@dgii.com) + + * config.guess: Recognize i[3456]-i586-UnixWare7-sysv5. + +Sun Jan 4 01:06:55 1998 Mumit Khan + + * config.sub: Add mingw32 support. + * configure.in: Likewise. + * config/mh-mingw32: New file. + +Sat Jan 3 12:11:05 1998 Franz Sirl + + * configure.in: Finalize support for {alpha|powerpc}*-*-linux-gnulibc1 + +Sun Dec 28 11:28:58 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (INSTALL_TARGET): Do install-gcc first. + * configure (gxx_include_dir): Provide a definition for subdirs + which do not use autoconf. + +Wed Dec 24 22:46:55 1997 Jeffrey A Law (law@cygnus.com) + + * config.guess: Sync with egcs. Picks up new alpha support, + BeOS & some additional linux support. + +Tue Dec 23 12:44:24 1997 Jeffrey A Law (law@cygnus.com) + + * config.guess: HP 9000/803 is a PA1.1 machine. + +Mon Dec 22 02:39:24 1997 Richard Henderson + + * configure.in: It's alpha*-... + +Sun Dec 21 16:53:12 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * configure.in (host_makefile_frag, target_makefile_frag): + Handle multiple config files. + (alpha-*-linux*): Treat alpha-*-linux* as alpha-*-linux* and + alpha-*-*. + +Thu Dec 18 13:13:03 1997 Doug Evans + + * mkdep: New file. + +Wed Dec 17 09:53:02 1997 Michael Meissner + + * configure.in (d30v-*-*): Allow configuring of libide, vmake, etc. + +Tue Dec 16 17:36:05 1997 Ian Lance Taylor + + * Makefile.in: Add libgui directory. + (GDB_TK): Add all-libgui. + * configure.in: Add libgui directory. + * configure: Add all-libgui to GDB_TK. + +Mon Dec 15 16:12:28 1997 Nick Clifton + + * config-ml.in (multidirs): Add m32r to multilib list. + +Fri Dec 12 10:43:31 1997 Brendan Kehoe + + * Makefile.in (all-target-gperf): Change dependency to + all-target-libstdc++. + +Thu Dec 11 23:30:51 1997 Fred Fish + + * config.guess: Add BeOS support. + +Wed Dec 10 15:10:38 1997 Ian Lance Taylor + + Source directory cvs renamed to cvssrc: + * configure.in (host_tools): Change cvs to cvssrc. + (native_only): Likewise. + (noconfigdirs) [various cases]: Likewise. + * Makefile.in (ALL_MODULES): Change all-cvs to all-cvssrc. + (CROSS_CHECK_MODULES): Change check-cvs to check-cvssrc. + (INSTALL_MODULES): Change install-cvs to install-cvssrc. + (CLEAN_MODULES): Change clean-cvs to clean-cvssrc. + (all-cvssrc): Rename target from all-cvs. + +Wed Dec 3 07:55:59 1997 Jeffrey A Law (law@cygnus.com) + + * configure (gxx_include_dir): Fix thinko. + +Tue Dec 2 10:55:34 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (INSTALL_TARGET_CROSS): Define. + (install-cross, install-gcc-cross): New targets. + +Tue Dec 2 10:08:31 1997 Nick Clifton + + * configure.in (noconfigdirs): Add support for Thumb target. + + * config.sub (maybe_os): Add support for Thumb target. + +Sun Nov 30 16:12:27 1997 Bob Manson + + * Makefile.in: Add rules for cygmon. + + * configure.in: Build cygmon for sparc-elf and sparclite-aout. + +Thu Nov 27 01:31:30 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (INSTALL_TARGET): Do install-gcc first. + * configure (gxx_include_dir): Provide a definition for subdirs + which do not use autoconf. + +Wed Nov 26 11:53:33 1997 Keith Seitz + + * Makefile.in, configure, configure.in, ChangeLog: merge with foundry's + 11/18/97 build + +Wed Nov 26 16:08:50 1997 Jeffrey A Law (law@cygnus.com) + + * From Franz Sirl. + * config.guess (powerpc*-*-linux): Handle glibc2 beta release + found on RedHat Linux systems. + +Fri Nov 21 09:51:01 1997 Jeffrey A Law (law@cygnus.com) + + * config.guess (alpha stuff): Merge with FSF to avoid incorrect + guesses. + +Thu Nov 13 11:38:37 1997 Jeffrey A Law (law@cygnus.com) + + * configure.in (i[3456]86-ncr-sysv4.3*): Tweak. + +Mon Nov 10 15:23:21 1997 H.J. Lu + + * ltmain.sh: If mkdir fails, check whether the directory was created + anyhow by some other process. + +Mon Nov 10 14:38:03 1997 Michael Meissner + + * configure.in (d30v-*-*): Configure all directories. + +Sun Nov 9 17:36:20 1997 Michael Meissner + + * configure.in (d30v-*-*): Configure newlib, libiberty directories + for the D30V. + +Sat Nov 8 14:42:59 1997 Michael Meissner + + * configure.in (d30v-*-*): Configure target-libgloss on the D30V. + +Fri Nov 7 10:34:09 1997 Rob Savoye + + * include/libiberty.h: Add extern "C" { so it can be used with C++ + progrms. + * include/remote-sim.h: Add extern "C" { so it can be used with C++ + programs. + +Thu Oct 30 11:09:29 1997 Michael Meissner + + * configure.in (d30v-*-*): Configure GCC now. + +Mon Oct 27 13:17:24 1997 Stan Shebs + + * configure.in: Remove a "second pass" of tweaking noconfigdirs, + is no longer needed. + +Mon Oct 27 12:03:53 1997 Jason Merrill + + * Makefile.in: check-target-libio depends on all-target-libstdc++. + +Sun Oct 26 11:48:27 1997 Manfred Hollstein (manfred@s-direktnet.de) + + * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap + targets using "$@" to provide support for similar but not identical + targets without having to duplicate code. + +Mon Oct 20 15:28:49 1997 Klaus K"ampf + + * makefile.vms: Fix to work with DEC C. + +Tue Oct 7 23:58:57 1997 Gavin Koch + + * config.sub: Add mips-tx39-elf to marketing names. + +Tue Oct 7 14:24:41 1997 Ian Lance Taylor + + * ltmain.sh: Handle symlinks in generated script. + +Wed Oct 1 13:11:27 1997 Ian Lance Taylor + + * configure: Handle autoconf style directory options: --bindir, + --datadir, --includedir, --infodir, --libdir, --libexecdir, + --mandir, --oldincludedir, --sbindir, --sharedstatedir, + --sysconfdir. + * Makefile.in (sbindir, libexecdir, sysconfdir): New variables. + (sharedstatedir, localstatedir, oldincludedir): New variables. + (BASE_FLAGS_TO_PASS): Pass down bindir, datadir, includedir, + infodir, libdir, libexecdir, localstatedir, mandir, oldincludedir, + sbindir, sharedstatedir, and sysconfdir. + +Mon Sep 29 00:38:08 1997 Aaron Jackson + + * Makefile.in (bootstrap-lean): New target. + +Wed Sep 24 18:06:27 1997 Stu Grossman + + * configure.in (d30v): Remove tcl, tk, expect, gdb, itcl, tix, db, + sn, and gnuserv from noconfigdirs. + +Wed Sep 24 15:18:32 1997 Ian Lance Taylor + + * ltmain.sh: Tweak shell pattern to avoid bug in NetBSD /bin/sh. + +Thu Sep 18 23:58:27 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (cross): New target. + +Thu Sep 18 21:43:23 1997 Alexandre Oliva + Jeff Law + + * Makefile.in (bootstrap2, bootstrap3): New targets. + (all-bootstrap): Remove outdated and confusing target. + (bootstrap, bootstrap2, bootstrap3): Don't pass BOOT_CFLAGS down. + +Thu Sep 18 15:37:42 1997 Andrew Cagney + + * configure (tooldir): enable_gdbtk=YES for cygwin32, NO for + windows. Consistent with gdb/configure. + +1997-09-15 02:37 Ulrich Drepper + + * config/mt-linux: Define CXXFLAGS to make sure -fvtable-thunks is + used. + * configure.in: Name Linux target fragment. + + * configure: Rewrite so that project Makefile fragment is inserted + first and appears last in the resulting Makefile. + +Tue Sep 16 09:55:07 1997 Andrew Cagney + + * Makefile.in (install-itcl): Install tcl first. + +Sun Sep 14 20:53:42 1997 Geoffrey Noer + + * config/mh-cygwin32: ok to build split texinfo files + +Fri Sep 12 16:19:20 1997 Geoffrey Noer + + * configure.in: remove bison from noconfigdirs for Cygwin32 host + +Thu Sep 11 16:40:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * Makefile.in (local-distclean): Also remove mh-frag mt-frag. + + * configure.in (skipdirs): Add target-librx for Linux. + (alpha-*-linux*): Use config/mh-elfalphapic and config/mt-elfalphapic. + +Wed Sep 10 21:29:54 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (bootstrap): New target. + +Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com) + + * config.sub: Accept 'amigados' for backward compatability. + +Mon Sep 8 20:46:20 1997 Ian Lance Taylor + + * config.guess: Merge with FSF. + +Sun Sep 7 23:18:32 1997 Fred Fish + + * config.sub: Change 'amigados' to 'amigaos' to match current usage. + +Sun Sep 7 15:55:28 1997 Gavin Koch + + * config.sub: Add "marketing-names" patch. + +Fri Sep 5 16:11:28 1997 Joel Sherrill (joel@OARcorp.com) + + * configure.in (*-*-rtems*): Do not build libgloss for rtems. + +Fri Sep 5 12:27:17 1997 Jeffrey A Law (law@cygnus.com) + + * config.sub: Handle v850-elf. + +Wed Sep 3 22:01:58 1997 Fred Fish + + * .cvsignore (*-install): Remove. + +Wed Sep 3 12:15:24 1997 Chris Provenzano + + * ltconfig: Set CONFIG_SHELL in libtool. + * ltmain.sh: Use CONFIG_SHELL instead of /bin/sh + +Mon Sep 1 16:45:44 1997 Jim Wilson + + * configure.in (target_subdir): Set to libraries if enable_multilib. + +Wed Aug 27 16:15:11 1997 Jim Wilson + + * config.guess: Update from gcc directory. + +Tue Aug 26 16:46:46 1997 Andrew Cagney + + * Makefile.in (all-sim): Depends on all-readline. + +Wed Aug 20 19:57:37 1997 Jason Merrill + + * Makefile.in (BISON, YACC): Use $$s. + (all-bison): Depend on all-texinfo. + +Tue Aug 19 01:41:32 1997 Jason Merrill + + * Makefile.in (BISON): Add -L flag. + (YACC): Likewise. + +Mon Aug 18 11:30:50 1997 Nick Clifton + + * configure.in (noconfigdirs): Add support for v850e target. + + * config.sub (maybe_os): Add support for v850e target. + +Mon Aug 18 11:30:50 1997 Nick Clifton + + * configure.in (noconfigdirs): Add support for v850ea target. + + * config.sub (maybe_os): Add support for v850ea target. + +Mon Aug 18 09:24:06 1997 Gavin Koch + + * config.sub: Add mipstx39. Delete r3900. + +Mon Aug 18 17:20:10 1997 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (all-autoconf): Depends on all-texinfo. + +Fri Aug 15 23:09:26 1997 Michael Meissner + + * config-ml.in ({powerpc,rs6000}*-*-*): Update to current AIX and + eabi targets. + +Thu Aug 14 14:42:17 1997 Ian Lance Taylor + + * configure: Get CFLAGS and CXXFLAGS from Makefile, if possible. + + * configure: When handling a Canadian Cross, handle YACC as well as + BISON. Just set BISON to bison. When setting YACC, prefer bison. + * Makefile.in (all-bison): Depend upon all-texinfo. + +Tue Aug 12 20:09:48 1997 Jason Merrill + + * Makefile.in (BISON): bison, not byacc or bison -y. + (YACC): bison -y or byacc or yacc. + (various): Add *-bison as appropriate. + (taz): No need to mess with BISON anymore. + +Tue Aug 12 22:33:08 1997 Ian Lance Taylor + + * configure: If OSTYPE matches *win32*, try to find a good value for + CONFIG_SHELL. + +Sun Aug 10 14:41:11 1997 Ian Lance Taylor + + * Makefile.in (taz): Get the version number from AM_INIT_AUTOMAKE in + configure.in if it is present. + +Sat Aug 9 00:58:01 1997 Ian Lance Taylor + + * Makefile.in (LD_FOR_TARGET): Change ld.new to ld-new. + +Fri Aug 8 16:30:13 1997 Doug Evans + + * config.sub: Recognize `arc' cpu. + * configure.in: Likewise. + * config-ml.in: Likewise. + +Thu Aug 7 11:02:34 1997 Ian Lance Taylor + + * Makefile.in ($(INSTALL_X11_MODULES)): Depend upon installdirs. + +Wed Aug 6 16:27:29 1997 Chris Provenzano + + * configure: Changed sed delimiter from ':' to '|' when + attempting to substitute ${config_shell} for SHELL. On + NT ${config_shell} may contain a ':' in it. + +Wed Aug 6 12:29:05 1997 Jason Merrill + + * Makefile.in (EXTRA_GCC_FLAGS): Fix for non-bash shells. + +Wed Aug 6 00:42:35 1997 Ian Lance Taylor + + * Makefile.in (AS_FOR_TARGET): Change as.new to as-new. + +Tue Aug 5 14:08:51 1997 Ian Lance Taylor + + * Makefile.in (NM_FOR_TARGET): Change nm.new to nm-new. + + * ylwrap: If the program is a relative path, force it to be + absolute. + +Tue Aug 5 12:12:44 1997 Andrew Cagney + + * configure (tooldir): Set BISON to `bison -y' and not just bison. + +Mon Aug 4 22:59:02 1997 Andrew Cagney + + * Makefile.in (CC_FOR_TARGET): When winsup/Makefile present, + correctly specify the target build directory $(TARGET_SUBDIR)/winsup + for libraries. + +Mon Aug 4 12:40:24 1997 Jason Merrill + + * Makefile.in (EXTRA_GCC_FLAGS): Fix handling of macros with values + separated by spaces. + +Thu Jul 31 19:49:49 1997 Ian Lance Taylor + + * ylwrap: New file. + * Makefile.in (DEVO_SUPPORT): Add ylwrap. + + * ltmain.sh: Handle /bin/sh at start of install program. + + * Makefile.in (DEVO_SUPPORT): Add ltconfig, ltmain.sh, and missing. + + * ltconfig, ltmain.sh: New files, from libtool 1.0. + * missing: New file, from automake 1.2. + +Thu Jul 24 12:57:56 1997 Ian Lance Taylor + + * Makefile.in: Treat tix like tk, putting it in X11_MODULES. Add + check-tk to CHECK_X11_MODULES. + +Wed Jul 23 17:03:29 1997 Ian Lance Taylor + + * config.sub: Merge with FSF. + +Tue Jul 22 19:08:29 1997 Ian Lance Taylor + + * config.guess: Merge with FSF. + +Tue Jul 22 14:50:42 1997 Robert Hoehne + + * configure: Treat msdosdjgpp like go32. + * configure.in: Likewise. Don't remove gprof for go32. + + * configure: Change Makefile.tem2 to Makefile.tm2. + +Mon Jul 21 10:31:26 1997 Stephen Peters + + * configure.in (noconfigdirs): For alpha-dec-osf*, don't ignore grep. + +Tue Jul 15 14:33:03 1997 Brendan Kehoe + + * install-sh (chmodcmd): Set to null if the DST directory already + exists. Same as Nov 11th change. + +Mon Jul 14 11:01:15 1997 Martin M. Hunt + + * configure (GDB_TK): Needs itcl and tix. + +Mon Jul 14 00:32:10 1997 Jason Merrill + + * config.guess: Update from FSF. + +Fri Jul 11 11:57:11 1997 Martin M. Hunt + + * Makefile.in (GDB_TK): Depend on itcl and tix. + +Fri Jul 4 13:25:31 1997 Ian Lance Taylor + + * Makefile.in (INSTALL_PROGRAM_ARGS): New variable. + (INSTALL_PROGRAM): Use $(INSTALL_PROGRAM_ARGS). + (INSTALL_SCRIPT): New variable. + (BASE_FLAGS_TO_PASS): Pass down INSTALL_SCRIPT. + * configure.in: If host is *-*-cygwin32*, set INSTALL_PROGRAM_ARGS + to -x. + * install-sh: Add support for -x option. + +Mon Jun 30 15:51:30 1997 Ian Lance Taylor + + * configure.in, Makefile.in: Treat tix like itcl. + +Thu Jun 26 13:59:19 1997 Ian Lance Taylor + + * Makefile.in (WINDRES): New variable. + (WINDRES_FOR_TARGET): New variable. + (BASE_FLAGS_TO_PASS): Add WINDRES_FOR_TARGET. + (EXTRA_HOST_FLAGS): Add WINDRES. + (EXTRA_TARGET_FLAGS): Add WINDRES. + (EXTRA_GCC_FLAGS): Add WINDRES. + ($(DO_X)): Pass down WINDRES. + ($(CONFIGURE_TARGET_MODULES)): Set WINDRES when configuring. + * configure: Treat WINDRES like DLLTOOL, and WINDRES_FOR_TARGET like + DLLTOOL_FOR_TARGET. + +Wed Jun 25 15:01:26 1997 Felix Lee + + * configure.in: configure sim before gdb for win32-x-ppc + +Wed Jun 25 12:18:54 1997 Brendan Kehoe + + Move gperf into the toplevel, from libg++. + * configure.in (target_tools): Add target-gperf. + (native_only): Add target-gperf. + * Makefile.in (all-target-gperf): New target, depend on + all-target-libg++. + (configure-target-gperf): Empty rule. + (ALL_TARGET_MODULES): Add all-target-gperf. + (CONFIGURE_TARGET_MODULES): Add configure-target-gperf. + (CHECK_TARGET_MODULES): Add check-target-gperf. + (INSTALL_TARGET_MODULES): Add install-target-gperf. + (CLEAN_TARGET_MODULES): Add clean-target-gperf. + +Mon Jun 23 10:51:53 1997 Jeffrey A Law (law@cygnus.com) + + * config.sub (mn10200): Recognize new basic machine. + +Thu Jun 19 14:16:42 1997 Brendan Kehoe + + * configure.in: Don't set ENABLE_MULTILIB, so we'll be passing + --enable-multilib down to subdirs; setting TARGET_SUBDIR was enough. + +Tue Jun 17 15:31:20 1997 Brendan Kehoe + + * configure.in: If we're building mips-sgi-irix6* native, turn on + ENABLE_MULTILIB and set TARGET_SUBDIR. + +Tue Jun 17 12:20:59 1997 Tom Tromey + + * Makefile.in (all-sn): Depend on all-grep. + +Mon Jun 16 11:11:10 1997 Ian Lance Taylor + + * configure.in: Use mh-ppcpic and mt-ppcpic for powerpc*-* targets. + + * configure: Set CFLAGS and CXXFLAGS, and substitute them into + Makefile. From Jeff Makey . + * Makefile.in: Add comment for CFLAGS and CXXFLAGS. + + * Makefile.in (DISTBISONFILES): Remove. + (taz): Don't futz with DISTBISONFILES. Change BISON to use + $(DEFAULT_YACC). + + * configure.in: Build itl, db, sn, etc., when building for native + cygwin32. + + * Makefile.in (LD): New variable. + (EXTRA_HOST_FLAGS): Pass down LD. + ($(DO_X)): Likewise. + +Mon Jun 16 11:10:35 1997 Philip Blundell + + * Makefile.in (INSTALL): Use $(SHELL) when executing install-sh. + +Fri Jun 13 10:22:56 1997 Bob Manson + + * configure.in (targargs): Strip out any supplied --build argument + before adding our own. Always add --build. + +Thu Jun 12 21:12:28 1997 Bob Manson + + * configure.in (targargs): Pass --build if we're doing + a cross-compile. + +Fri Jun 6 21:38:40 1997 Rob Savoye + + * configure: Use '|' instead of ":" as the separator in + sed. Otherwise sed chokes on NT path names with drive + designators. Also look for "?:*" as the leading characters in an + absolute pathname. + +Mon Jun 2 13:05:20 1997 Gavin Koch + + * config.sub: Support for r3900. + +Wed May 21 17:33:31 1997 Ian Lance Taylor + + * configure.in: Use install-sh, not install.sh. + +Wed May 14 16:06:51 1997 Ian Lance Taylor + + * Makefile.in (taz): Improve check for BISON so it doesn't try to + apply it twice. + +Fri May 9 17:22:05 1997 Ian Lance Taylor + + * Makefile.in (INSTALL_MODULES): Put install-opcodes before + install-binutils. + +Thu May 8 17:29:50 1997 Ian Lance Taylor + + * Makefile.in: Add automake targets. + * configure.in (host_tools): Add automake. + +Tue May 6 15:49:52 1997 Ian Lance Taylor + + * configure: Default CXX to c++, not gcc. + * Makefile.in (CXX): Set to c++, not gcc. + (CXX_FOR_TARGET): When cross, transform c++, not gcc. + +Thu May 1 10:11:43 1997 Geoffrey Noer + + * install-sh: try appending a .exe if source file doesn't + exist + +Wed Apr 30 12:05:36 1997 Jason Merrill + + * configure.in: Turn on multilib by default. + (cross_only): Remove target-libiberty. + + * Makefile.in (all-gcc): Don't depend on libiberty. + +Mon Apr 28 18:39:45 1997 Michael Snyder + + * config.guess: improve algorithm for recognizing Gnu Hurd x86. + +Thu Apr 24 19:30:07 1997 Ian Lance Taylor + + * Makefile.in (DEVO_SUPPORT): Add mpw-install. + (DISTBISONFILES): Add ld/Makefile.in + +Tue Apr 22 17:17:28 1997 Geoffrey Noer + + * configure.in: if target is cygwin32 but host isn't cygwin32, + don't configure gdb tcl tk expect, not just gdb. + +Mon Apr 21 13:33:39 1997 Tom Tromey + + * configure.in: Added gnuserv everywhere sn appears. + + * Makefile.in (ALL_MODULES): Added all-gnuserv. + (CROSS_CHECK_MODULES): Added check-gnuserv. + (INSTALL_MODULES): Added install-gnuserv. + (CLEAN_MODULES): Added clean-gnuserv. + (all-gnuserv): New target. + +Thu Apr 17 13:57:06 1997 Per Fogelstrom + + * config.guess: Fixes for MIPS OpenBSD systems. + +Tue Apr 15 12:21:07 1997 Ian Lance Taylor + + * Makefile.in (INSTALL_XFORM): Remove. + (BASE_FLAGS_TO_PASS): Remove INSTALL_XFORM. + + * mkinstalldirs: New file, copied from automake. + * Makefile.in (installdirs): Rename from install-dirs. Use + mkinstalldirs. Change all users. + (DEVO_SUPPORT): Add mkinstalldirs. + +Mon Apr 14 11:21:38 1997 Ian Lance Taylor + + * install-sh: Rename from install.sh. + * Makefile.in (INSTALL): Change install.sh to install-sh. + (DEVO_SUPPORT): Likewise. + + * configure: Use ${config_shell} with ${moveifchange}. From Thomas + Graichen . + +Fri Apr 11 16:37:10 1997 Niklas Hallqvist + + * config.guess: Recognize OpenBSD systems correctly. + +Fri Apr 11 17:07:04 1997 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * README, Makefile.in (ETC_SUPPORT): Remove references to + cfg-paper*, configure.{texi,man,info*}._ + +Sun Apr 6 18:47:57 1997 Andrew Cagney + + * Makefile.in (all.normal): Ensure that gcc is built after all + the x11 - ie gdb - targets. + +Tue Apr 1 16:28:50 1997 Klaus Kaempf + + * makefile.vms: Don't run conf-a-gas. + +Mon Mar 31 16:26:55 1997 Joel Sherrill + + * configure.in (hppa1.1-*-rtems*): New target, like hppa-*-*elf*. + +Sun Mar 30 12:38:27 1997 Fred Fish + + * configure.in: Remove noconfigdirs case since gdb also + configures and builds for tic80-coff. + +Fri Mar 28 18:28:52 1997 Ian Lance Taylor + + * configure: Set cache_file to config.cache. + * Makefile.in (local-distclean): Remove config.cache. + +Wed Mar 26 18:49:39 1997 Ian Lance Taylor + + * COPYING: Update FSF address. + +Wed Mar 26 10:38:25 1997 Michael Meissner + + * configure.in (tic80-*-*): Remove G++ libraries and libgloss from + noconfigdirs. + +Mon Mar 24 15:02:39 1997 Ian Lance Taylor + + * Makefile.in (install-dirs): Don't crash if prefix, and hence + MAKEDIRS, is empty. + +Mon Mar 24 12:40:55 1997 Doug Evans + + * config.sub: Tweak mn10300 entry. + +Fri Mar 21 15:35:27 1997 Michael Meissner + + * configure.in (host_tools): Put sim before gdb, so gdb's + configure.tgt can determine if the simulator was configured. + +Sun Mar 16 16:07:08 1997 Fred Fish + + * config.sub: Move BeOS $os case to be with other Cygnus + local cases. + +Sun Mar 16 01:34:55 1997 Martin Hunt + + * config.sub: Remove misplaced comment that broke Linux. + +Sat Mar 15 22:50:15 1997 Fred Fish + + * config.sub: Add BeOS support. + +Mon Mar 10 13:30:11 1997 Tom Tromey + + * Makefile.in (CHECK_X11_MODULES): Don't run check-tk. + +Wed Mar 5 12:09:29 1997 Martin + + * configure.in (noconfigdirs): Remove tcl and tk from + noconfigdirs for cygwin32 builds. + +Fri Feb 28 18:20:15 1997 Fred Fish + + * configure.in (tic80-*-*): Remove ld from noconfigdirs. + +Thu Feb 27 14:57:26 1997 Ken Raeburn + + * Makefile.in (GAS_SUPPORT_DIRS, BINUTILS_SUPPORT_DIRS): Remove + make-all.com, use makefile.vms instead. + +Tue Feb 25 18:46:14 1997 Stan Shebs + + * config.sub: Accept -lnews*. + +Tue Feb 25 13:19:14 1997 Andrew Cagney + + * configure.in (noconfigdirs): Disable target-newlib, + target-examples and target-libiberty for d30v. + +Fri Feb 21 17:56:25 1997 Martin M. Hunt + + * configure.in (noconfigdirs): Enable ld for d30v. + +Fri Feb 21 20:58:51 1997 Michael Meissner + + * configure.in (tic80-*-*): Build compiler. + +Sun Feb 16 15:41:09 1997 Andrew Cagney + + * configure.in (d30v-*): Remove sim directory from list of + unsupported d30v directories + +Tue Feb 18 17:32:42 1997 Martin M. Hunt + + * config.sub, configure.in: Add d30v target cpu. + +Thu Feb 13 22:04:44 1997 Klaus Kaempf + + * makefile.vms: New file. + * make-all.com: Remove. + +Wed Feb 12 12:54:18 1997 Jim Wilson + + * Makefile.in (EXTRA_GCC_FLAGS): Add LIBGCC2_DEBUG_CFLAGS. + +Sat Feb 8 20:36:49 1997 Michael Meissner + + * Makefile.in (all-itcl): The rule is all-itcl, not all-tcl. + +Tue Feb 4 11:39:29 1997 Tom Tromey + + * Makefile.in (ALL_MODULES): Added all-db. + (CROSS_CHECK_MODULES): Addec check-db. + (INSTALL_MODULES): Added install-db. + (CLEAN_MODULES): Added clean-db. + +Mon Feb 3 13:29:36 1997 Ian Lance Taylor + + * config.guess: Merge with latest FSF sources. + +Tue Jan 28 09:20:37 1997 Tom Tromey + + * Makefile.in (ALL_MODULES): Added all-itcl. + (CROSS_CHECK_MODULES): Added check-itcl. + (INSTALL_MODULES): Added install-itcl. + (CLEAN_MODULES): Added clean-itcl. + +Thu Jan 23 01:44:27 1997 Geoffrey Noer + + * configure.in: build gdb for mn10200 + +Fri Jan 17 15:32:15 1997 Doug Evans + + * Makefile.in (all-target-winsup): Depend on all-target-libio. + +Mon Jan 13 22:46:54 1997 Michael Meissner + + * configure.in (tic80-*-*): Turn off most targets right now. + +Fri Jan 3 16:04:03 1997 Ian Lance Taylor + + * Makefile.in (MAKEINFO): Check for the existence of the Makefile, + rather than the makeinfo program. + (do-info): Depend upon all-texinfo. + +Tue Dec 31 16:00:31 1996 Ian Lance Taylor + + * configure.in: Remove uses of config/mh-linux. + + * config.sub, config.guess: Merge with latest FSF sources. + +Fri Dec 27 23:04:33 1996 Fred Fish + + * config.sub (case $basic_machine): Add tic80 entries. + +Fri Dec 27 12:07:59 1996 Ian Lance Taylor + + * config.sub, config.guess: Merge with latest FSF sources. + +Wed Dec 18 22:46:39 1996 Stan Shebs + + * mpw-build.in: Build ld before gcc, use NewFolderRecursive. + * mpw-config.in: Test for NewFolderRecursive. + * mpw-install: Use symbolic name for startup filename. + * mpw-README: Add various additional details. + +Wed Dec 18 13:11:46 1996 Jim Wilson + + * configure.in (mips*-sgi-irix6*): Remove binutils from noconfigdirs. + +Wed Dec 18 10:29:31 1996 Jeffrey A Law (law@cygnus.com) + + * configure.in: Do build gcc and the target libraries for + the mn10200. + +Wed Dec 4 16:53:05 1996 Geoffrey Noer + + * configure.in: don't avoid building gdb for mn10300 any more + * Makefile.in: double-quote GCC_FOR_TARGET line in EXTRA_GCC_FLAGS + instead of single-quoting it. + +Tue Dec 3 23:26:50 1996 Jason Merrill + + * configure.in: Don't use --with-stabs on IRIX 6. + +Tue Dec 3 09:05:25 1996 Doug Evans + + * configure.in (m32r): Build gdb, libg++ now. + +Sun Dec 1 00:18:59 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.in (mips*-sgi-irix6*): Remove gdb and related + directories from noconfigdirs. + +Tue Nov 26 11:45:33 1996 Kim Knuttila + + * config.sub (basic_machine): added mips16 configuration + +Sat Nov 23 19:26:22 1996 Michael Meissner + + * config.sub: Handle d10v-unknown. + +Sat Nov 23 10:23:01 1996 Gavin Koch + + * config.sub: Handle v850-unknown. + +Thu Nov 21 16:19:44 1996 Geoffrey Noer + + * Makefile.in: add findutils + * configure.in: add findutils to list of host_tools + +Wed Nov 20 10:09:01 1996 Jeffrey A Law (law@cygnus.com) + + * config.sub: Handle mn10200 and mn10300. + +Tue Nov 19 16:35:14 1996 Michael Meissner + + * configure.in (d10v-*): Do not build librx. + +Mon Nov 18 13:28:41 1996 Jeffrey A Law (law@cygnus.com) + + * configure.in (mn10300): Build everything except gdb & libgloss. + +Wed Nov 13 14:59:46 1996 Per Bothner + + * config.guess: Patch for Dansk Data Elektronik servers, + from Niels Skou Olsen . + + For ncr, use /bin/uname rather than uname, since GNU uname does not + support -p. Suggested by Mark Mitchell . + + Patch for MIPS R4000 running System V, + from Eric S. Raymond . + + Fix thinko for nextstep. + + Patch for OSF1 in i?86, from Dan Murphy via Harlan Stenn. + + Sat Jun 24 18:58:17 1995 Morten Welinder + * config.guess: Guess mips-dec-mach_bsd4.3. + + Thu Oct 10 04:07:04 1996 Harlan Stenn + * config.guess (i?86-ncr-sysv*): Emit just enough of the minor + release numbers. + * config.guess (mips-mips-riscos*): Emit just enough of the + release number. + + Tue Oct 8 10:37:22 1996 Frank Vance + * config.guess (sparc-auspex-sunos*): Added. + (f300-fujitsu-*): Added. + + Wed Sep 25 22:00:35 1996 Jeff Woolsey + * config.guess: Recognize a Tadpole as a sparc. + +Wed Nov 13 00:53:09 1996 David J. MacKenzie + + * config.guess: Don't assume that NextStep version is either 2 or + 3. NextStep 4 (aka OpenStep 4) has come out now. + +Mon Nov 11 23:52:03 1996 David J. MacKenzie + + * config.guess: Support Cray T90 that reports itself as "CRAY TS". + From Rik Faith . + +Fri Nov 8 11:34:58 1996 David J. MacKenzie + + * config.sub: Contributions from bug-gnu-utils to: + Support plain "hppa" (no version given) architecture, reported by + OpenStep. + OpenBSD like NetBSD. + LynxOs is not a hardware supplier. + + * config.guess: Contributions from bug-gnu-utils to add support for: + OpenBSD like NetBSD. + Stratus systems. + More Pyramid systems. + i[n>4]86 Intel chips. + M680[n>4]0 Motorola chips. + Use unknown instead of lynx for hardware manufacturer. + +Mon Nov 11 10:09:08 1996 Brendan Kehoe + + * install.sh (chmodcmd): Set to null if the DST directory already + exists. + +Mon Nov 11 10:43:41 1996 Michael Meissner + + * configure.in (powerpc*-{eabi,elf,linux,rtem,sysv,solaris}*): Do + not use mt-ppc target Makefile fragment any more. + +Sun Nov 3 19:17:07 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure.in (*-*-windows): Exclude everything but those dirs + needed to build windows. + +Tue Oct 29 16:41:31 1996 Doug Evans + + * Makefile.in (all-target-winsup): Depend on all-target-librx. + +Mon Oct 28 17:32:46 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure.in: Exclude mmalloc from i386-windows. + * config/mh-windows: Add rules for building MSVC makefiles. + +Thu Oct 24 09:22:46 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Undo my previous change. + +Thu Oct 24 12:12:04 1996 Ian Lance Taylor + + * Makefile.in (EXTRA_GCC_FLAGS): Pass down GCC_FOR_TARGET + unconditionally. + (MAKEOVERRIDES): Define (revert this part of October 18 change). + +Thu Oct 24 09:02:07 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in (FLAGS_TO_PASS): Add $(HOST_FLAGS) to allow the + host to add it's own flags. + * config/mh-windows (HOST_FLAGS): Set srcroot, which is needed + for MSVC build procedure. + +Tue Oct 22 15:20:26 1996 Ian Lance Taylor + + * configure: Handle GCC_FOR_TARGET like CC_FOR_TARGET. + +Fri Oct 18 13:37:13 1996 Ian Lance Taylor + + * Makefile.in (CC_FOR_TARGET): Check for xgcc, not Makefile. + (CXX_FOR_TARGET): Likewise. + (GCC_FOR_TARGET): Define. + (BASE_FLAGS_TO_PASS): Remove GCC_FOR_TARGET. + (EXTRA_GCC_FLAGS): Define GCC_FOR_TARGET based on whether + CC_FOR_TARGET was specified on the command line. + (MAKEOVERRIDES): Don't define. + +Thu Oct 17 10:27:56 1996 Doug Evans + + * configure.in (m32r): Fix spelling of libg++ libs. + +Thu Oct 10 10:37:17 1996 Stan Shebs + + * config.sub (-apple*): Remove, now redundant. + +Thu Oct 10 12:30:54 1996 Ian Lance Taylor + + * configure: Don't get confused by CPU-VENDOR-linux-gnu. + + * configure: Rework yesterday's sed script patch. + + * config.sub: Merge with FSF. + +Wed Oct 9 17:24:59 1996 Per Bothner + + * config.guess: Merge from FSF. + + 1996-09-12 Richard Stallman + * config.guess: Use pc instead of unknown, for pc clone systems. + Change linux to linux-gnu. + + Mon Jul 15 23:51:11 1996 Karl Heuer + * config.guess: Avoid non-portable tr syntax. + +Wed Oct 9 06:06:46 1996 Jeffrey A Law (law@cygnus.com) + + * test-build.mk (HOLES): Add "xargs" for gdb. + + * configure: Avoid hpux10.20 sed bug. + +Tue Oct 8 08:32:48 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure.in config/mh-windows: Add support for windows host + (that is a build done under the Microsoft build environment). + +Tue Oct 8 10:39:08 1996 Ian Lance Taylor + + * Makefile.in: Replace all uses of srcroot with s, to shrink + command line lengths. + + Patches from Geoffrey Noer : + * configure.in: If configuring for newlib, pass --with-newlib to + subdirectories. + * Makefile.in (CC_FOR_TARGET): If winsup/Makefile exists, pass a + -Bnewlib/ and -Lwinsup to gcc. + (CXX_FOR_TARGET): Likewise. + +Mon Oct 7 10:59:35 1996 Ian Lance Taylor + + * Makefile.in (ETC_SUPPORT): Add configure. + +Fri Oct 4 12:22:58 1996 Angela Marie Thomas (angela@cygnus.com) + + * configure.in: Use config/mh-dgux386 for i[345]86-dg-dgux + host configuration file. + +Thu Oct 3 09:28:25 1996 Jeffrey A Law (law@cygnus.com) + + * configure.in: Break mn10x00 support into separate + mn10200 and mn10300 configurations. + * config.sub: Likewise. + +Wed Oct 2 22:27:52 1996 Jeffrey A Law (law@cygnus.com) + + * configure.in: Add lots of stuff to noconfigdirs for + the mn10x00 targets. + + * config.sub, configure.in: Add mn10x00 support. + +Wed Oct 2 15:52:36 1996 Klaus Kaempf + + * make-all.com: Call conf-a-gas, not config-a-gas. + +Tue Oct 1 01:28:41 1996 James G. Smith + + * configure.in (noconfigdirs): Don't build libgloss for arm-coff + targets. + +Mon Sep 30 14:24:01 1996 Stan Shebs + + * mpw-README: Add much more detail for native PowerMac. + * mpw-install: New file. + * mpw-configure: Add --norecursion and --help options. + * mpw-config.in: Translate readme and install files when + copying to objdir. + * mpw-build.in: Don't always depend on byacc and flex. + (install-only-top): New action. + +Fri Sep 27 17:39:44 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure.in: You can now configure GDB for the v850. + +Tue Sep 24 19:05:12 1996 Stan Shebs + + * configure.in (noconfigdirs): Don't configure any C++ dirs + if targeting D10V. + +Tue Sep 17 12:15:31 1996 Ian Lance Taylor + + * config.sub: Recognize mips64vr5000. + +Mon Sep 16 17:00:52 1996 Ian Lance Taylor + + * configure.in: Use a single line for host_tools and native_only. + +Tue Sep 16 09:55:07 1997 Andrew Cagney + + * Makefile.in (install-itcl): Install tcl first. + +Sun Sep 14 20:53:42 1997 Geoffrey Noer + + * config/mh-cygwin32: ok to build split texinfo files + +Fri Sep 12 16:19:20 1997 Geoffrey Noer + + * configure.in: remove bison from noconfigdirs for Cygwin32 host + +Mon Sep 9 12:21:30 1996 Doug Evans + + * config.sub, configure.in: Add entries for m32r. + +Mon Sep 8 20:46:20 1997 Ian Lance Taylor + + * config.guess: Merge with FSF. + +Thu Sep 5 13:52:47 1996 Tom Tromey + + * Makefile.in (inet-install): Don't run install-gzip. + +Wed Sep 4 17:26:13 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure.in: Don't config lots of things for *-*-windows*. + +Sat Aug 31 11:45:57 1996 Stan Shebs + + * mpw-config.in: Test for mpw-true, true, and null-command scripts. + (host_libs, host_tools): Copy from configure.in. + * mpw-configure: Don't complain about directories not found. + +Thu Aug 29 16:44:58 1996 Michael Meissner + + * configure.in (i[345]86): Recognize i686 for pentium pro. + (i[3456]86-*-dgux*): Use config/mh-sysv for the host configuration + file. + + * config.guess (i[345]86): Ditto. + +Mon Aug 26 18:34:42 1996 Martin M. Hunt + + * configure.in (noconfigdirs): Removed gdb for D10V. + +Thu Aug 22 17:13:52 1996 Jeffrey A Law (law@cygnus.com) + + * configure.in: Remove ld, target-libio, target-libg++, and + target-libstdc++ from noconfigdirs. + +Wed Aug 21 18:56:38 1996 Fred Fish + + * configure: Fix three locations where shell scripts were + being run directly rather than with config_shell. + +Tue Aug 20 13:08:47 1996 J.T. Conklin + + * configure.in (v850-*-*): Set up initial $noconfigdirs. + * config.sub (basic_machine): Recognize v850. + +Thu Aug 15 12:19:33 1996 Stan Shebs + + * mpw-configure: Handle multiple enable/disable options and + pass them down recursively, handle -c and -s flags appropriately + depending on choice of compiler, add escape mechanism for + quoted arguments to gC. + +Mon Aug 12 13:15:13 1996 Michael Meissner + + * configure.in (powerpc*-*-*): For eabi, system V.4, Linux, and + solaris targets, use config/mt-ppc to set C{,XX}FLAGS_FOR_TARGETS + so that -mrelocatable-lib and -mno-eabi are used. + + * Makefile.in (CONFIGURE_TARGET_MODULES): If target compiler does + not support --print-multi-lib, don't abort. + +Sun Aug 11 20:51:50 1996 Stu Grossman (grossman@critters.cygnus.com) + + * config/mh-cygwin32 (CFLAGS): Define _WIN32 to be compatible + with normal Windows compilation environment. + +Thu Aug 8 12:18:59 1996 Klaus Kaempf + + * make-all.com: Run config-a-gas. + * setup.com: Don't copy subdirectory files around. + +Tue Jul 30 17:49:31 1996 Brendan Kehoe + + * configure.in (*-*-ose): Remove exclusion of libgloss for this + target, it now compiles correctly. + +Sat Jul 27 15:10:43 1996 Stan Shebs + + * mpw-config.in: Generate Mac include for elf/dwarf2.h. + +Tue Jul 23 10:47:04 1996 Martin M. Hunt + + * configure.in (d10v-*-*): Remove ld from $noconfigdirs. + +Mon Jul 22 13:28:51 1996 Brendan Kehoe + + * configure.in (native_only): Add prms. + +Mon Jul 22 12:27:58 1996 Ian Lance Taylor + + * Makefile.in (GAS_SUPPORT_DIRS): Add make-all.com and setup.com. + (BINUTILS_SUPPORT_DIRS): Likewise. + +Thu Jul 18 12:55:40 1996 Michael Meissner + + * configure.in (d10v-*-*): Don't configure ld or gdb until the + d10v support is added. + +Wed Jul 17 14:33:09 1996 Martin M. Hunt + + * configure.in (d10v-*-*): New target. + +Mon Jul 15 11:53:00 1996 Jeffrey A Law (law@cygnus.com) + + * config.guess (HP 9000/811): Recognize this as a PA1.1 + machine. + +Fri Jul 12 23:21:17 1996 Ken Raeburn + + * Makefile.in (do-tar-gz): New target, split out from tail end of + taz target. Run each command separately, don't use pipes. + (taz): Use it. + +Fri Jul 12 12:08:04 1996 Stan Shebs + + * mpw-configure: Look for g-mpw-make.sed in config/mpw. + * mpw-build.in: No builds should depend on building byacc or flex, + they are assumed to be installed already. + +Fri Jul 12 09:52:52 1996 Michael Meissner + + * Makefile.in (CONFIGURE_TARGET_MODULES): Set r environment + variable that CC_FOR_TARGET needs. + +Thu Jul 11 10:09:45 1996 Michael Meissner + + * Makefile.in (CONFIGURE_TARGET_MODULES): Determine if the multlib + options have changed since the last time the subdirectory was + configured, and if it has, reconfigure. + (CLEAN_TARGET_MODULES): Delete multilib.out and tmpmulti.out, which + CONFIGURE_TARGET_MODULES uses to remember the old multilib options. + +Wed Jul 10 18:56:59 1996 Doug Evans + + * Makefile.in (ALL_MODULES,CROSS_CHECK_MODULES,INSTALL_MODULES, + CLEAN_MODULES): Add bash. + (all-bash): New target. + +Mon Jul 8 17:33:14 1996 Jim Wilson + + * configure.in (mips-sgi-irix6*): Use mh-irix6 instead of mh-irix5. + +Mon Jul 1 13:31:35 1996 Michael Meissner + + * config.sub (basic_machine): Recognize d10v as a valid processor. + +Fri Jun 28 12:14:35 1996 Stan Shebs + + * mpw-configure: Add support for --bindir. + * mpw-build.in: Use a GCC-specific build script for GCC actions. + +Wed Jun 26 17:20:12 1996 Geoffrey Noer + + * configure.in: add bash, time, gawk to list of hosttools and things + to only build for native toolchains + +Tue Jun 25 23:09:03 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (docdir): Remove. + +Tue Jun 25 19:00:08 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (datadir): Set to $(prefix)/share. + +Mon Jun 24 23:26:07 1996 Geoffrey Noer + + * configure.in: build diff and patch for cygwin32-hosted + toolchains. + +Mon Jun 24 15:01:12 1996 Joel Sherrill + + * config.sub: Accept -rtems*. + +Sun Jun 23 22:41:54 1996 Geoffrey Noer + + * configure.in: enable dosrel for cygwin32-hosted builds, + remove diff from the list of things not buildable + via Canadian Cross + +Sat Jun 22 11:39:01 1996 Jason Merrill + + * Makefile.in (TARGET_SUBDIR): Move comment to previous line so we + don't get ". ". + +Fri Jun 21 17:24:48 1996 Jim Wilson + + * configure.in (mips*-sgi-irix6*): Set noconfigdirs appropriately. + +Thu Jun 20 16:57:40 1996 Ken Raeburn + + * Makefile.in (taz): Handle case where tex3patch didn't even get + checked out. Also, if it was found, put the symlink in a new util + subdirectory. + +Thu Jun 20 12:20:33 1996 Michael Meissner + + * config.guess (*:Linux:*:*): Add support for PowerPC Linux. + +Tue Jun 18 14:24:12 1996 Klaus Kaempf (kkaempf@progis.de) + + * config.sub: Recognize -openvms. + * configure.in (alpha*-*-*vms*): Set noconfigdirs. + * make-all.com, setup.com: New files. + +Mon Jun 17 16:34:46 1996 Jason Merrill + + * Makefile.in (taz): tex3patch moved to texinfo/util. + +Sat Jun 15 17:13:25 1996 Geoffrey Noer + + * configure: enable_gdbtk=no for cygwin32-hosted toolchains + * configure.in: remove make from disable-if-Can-Cross list + enable gdb if ${host} and ${target} are cygwin32 + +Fri Jun 7 18:16:52 1996 Harlan Stenn + + * config.guess (i?86-ncr-sysv*): Emit minor release numbers. + Recognize the NCR 4850 machine and NCR Pentium-based platforms. + +Wed Jun 5 00:09:17 1996 Per Bothner + + * config.guess: Combine mips-mips-riscos cases, and use cpp to + distinguish sysv/svr4/bsd variants. + Based on a patch from Harlan Stenn . + +Fri Jun 7 14:24:49 1996 Tom Tromey + + * configure.in: Added copyright notice. + * move-if-change: Added copyright notice. + +Thu Jun 6 16:27:05 1996 Michael Meissner + + * configure.in (powerpcle-*-solaris*): Until we get shared + libraries working, don't build gdb, sim, make, tcl, tk, or + expect. + +Tue Jun 4 20:41:45 1996 Per Bothner + + * config.guess: Merge with FSF: + + Mon Jun 3 08:49:14 1996 Karl Heuer + * config.guess (*:Linux:*:*): Add guess for sparc-unknown-linux. + + Fri May 24 18:34:53 1996 Roland McGrath + * config.guess (AViiON:dgux:*:*): Fix typo in recognizing mc88110. + + Fri Apr 12 20:03:59 1996 Per Bothner + * config.guess: Combine two OSF1 rules. + Also recognize field test versions. From mjr@zk3.dec.com. + * config.guess (dgux): Use /usr/bin/uname rather than uname, + because GNU uname does not support -p. From pmr@pajato.com. + +Tue Jun 4 11:07:25 1996 Tom Tromey + + * Makefile.in (MAKEDIRS): Removed $(tooldir). + +Tue May 28 12:30:50 1996 Stan Shebs + + * mpw-README: Document GCCIncludes. + +Sun May 26 15:16:27 1996 Fred Fish + + * configure.in (alpha-*-linux*): Set enable_shared to yes. + +Tue May 21 15:41:39 1996 Stan Shebs + + * mpw-configure: Handle --enable-FOO and --disable-FOO. + +Mon May 20 10:12:29 1996 Geoffrey Noer + + * configure.in (*-*-cygwin32): Configure make. + +Tue May 7 14:19:42 1996 Tom Tromey + + * Makefile.in (inet-install): Quote value of INSTALL_MODULES. + +Fri May 3 08:57:17 1996 Tom Tromey + + * Makefile.in (all-inet): Depend on all-perl. + + * Makefile.in (inet-install): New target. + + * Makefile.in (all-inet): Depend on all-tcl. + (all-inet): Depend on all-send-pr. + +Tue Apr 30 13:55:51 1996 Michael Meissner + + * configure.in (powerpcle-*-solaris*): Turn off tk and tcl + temporarily. + +Thu Apr 25 11:48:20 1996 Ian Lance Taylor + + * configure.in: Don't configure --with-gnu-ld on AIX. + +Thu Apr 25 06:33:36 1996 Michael Meissner + + * configure.in (powerpcle-*-solaris*): Turn off gdb temporarily. + +Tue Apr 23 09:07:39 1996 Tom Tromey + + * Makefile.in (ALL_MODULES): Added all-inet. + (CROSS_CHECK_MODULES): Added check-inet. + (INSTALL_MODULES): Added install-inet. + (CLEAN_MODULES): Added clean-inet. + (all-indent): New target. + + * configure.in (host_tools): Added inet. + (native_only): Added inet. + (noconfigdirs): Added inet. + +Fri Apr 19 15:35:29 1996 Ian Lance Taylor + + * configure.in: Don't configure libgloss if we are not configuring + newlib. + +Wed Apr 17 19:30:01 1996 Rob Savoye + + * configure.in: Don't configure libgloss for unsupported + architectures. + +Tue Apr 16 11:17:05 1996 Michael Meissner + + * Makefile.in (CLEAN_MODULES): Add clean-apache. + +Mon Apr 15 15:09:05 1996 Tom Tromey + + * Makefile.in (ALL_MODULES): Include all-apache. + (CROSS_CHECK_MODULES): Include check-apache. + (INSTALL_MODULES): Include install-apache. + (all-apache): New target. + + * configure.in: Added apache everywhere perl is seen. + +Mon Apr 15 14:59:13 1996 Michael Meissner + + * Makefile.in: Add support for clean-{module} and + clean-target-{module} rules. + +Wed Apr 10 21:37:41 PDT 1996 Marilyn E. Sander + + * configure.in (*-*-ose) do not build libgloss. + +Mon Apr 8 16:16:20 1996 Michael Meissner + + * config.guess (prep*:SunOS:5.*:*): Turn into + powerpele-unknown-solaris2. + +Mon Apr 8 14:45:41 1996 Ian Lance Taylor + + * configure.in: Permit --enable-shared to specify a list of + directories. + +Fri Apr 5 08:17:57 1996 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (host==solaris): Pass only the first word of $CC + to /usr/bin/which when checking if we're using /usr/ccs/bin/cc. + +Fri Apr 5 03:16:13 1996 Jason Molenda (crash@phydeaux.cygnus.com) + + * Makefile.in (BASE_FLAGS_TO_PASS): pass down $(MAKE). + +Thu Mar 28 14:11:11 1996 Tom Tromey + + * Makefile.in (ALL_MODULES): Include all-perl. + (CROSS_CHECK_MODULES): Include check-perl. + (INSTALL_MODULES): Include install-perl. + (ALL_X11_MODULES): Include all-guile. + (CHECK_X11_MODULES): Include check-guile. + (INSTALL_X11_MODULES): Include install-guile. + (all-perl): New target. + (all-guile): New target. + + * configure.in (host_tools): Include perl and guile. + (native_only): Include perl and guile. + (noconfigdirs): Don't build guile and perl; no ports have been + done. + +Tue Mar 26 21:18:50 1996 Andrew Cagney + + * configure (--enable-*): Handle quoted option lists such as + --enable-sim-cflags='-g0 -O' better. + +Thu Mar 21 11:53:08 1996 Michael Meissner + + * Makefile.in ({,inst}all-target): New rule so we can make and + install all of the target directories easily. + +Wed Mar 20 18:10:57 1996 Andreas Schwab + + * configure.in: Add missing global flag in sed substitution when + deleting `target-' from ${configdirs}. + +Thu Mar 14 19:15:06 1996 Ian Lance Taylor + + * Makefile.in (DO_X): Don't get confused if CC contains `=' in an + option. + + * configure.in (mips*-nec-sysvr4*): Use a host_makefile_frag of + config/mh-necv4. + + * install.sh: Correct misspelling of transformbasename. + + * config.guess: Recognize mips-*-sysv*. + +Mon Mar 11 15:36:42 1996 Dawn Perchik + + * config.sub: Recognize mon960. + +Sun Mar 10 13:18:38 1996 Ian Lance Taylor + + * configure: Restore Canadian Cross handling of BISON and LEX, + removed in Feb 20 change. + +Fri Mar 8 20:07:09 1996 Per Bothner + + * README: Suggestions from Torbjorn Granlund : + Mention make install. Remove the old copyright date as well the + clumsy and rather pointless copyright on the README file. + +Fri Mar 8 17:51:35 1996 Ian Lance Taylor + + * Makefile.in ($(CONFIGURE_TARGET_MODULES)): If there is a + Makefile after running symlink-tree, then run `make distclean' to + avoid clobbering any generated files in srcdir. + +Tue Mar 5 08:21:44 1996 J.T. Conklin + + * configure.in (m68k-*-netbsd*): Build everything now. + +Wed Feb 28 12:25:46 1996 Jason Merrill + + * Makefile.in (taz): Fix quoting. + +Tue Feb 27 11:33:57 1996 Doug Evans + + * configure.in (sparclet-*-*): Build everything now. + +Tue Feb 27 14:31:51 1996 Andreas Schwab + + * configure.in (m68k-*-linux*): New host. + +Mon Feb 26 14:32:44 1996 Ian Lance Taylor + + * configure: Check for bison before byacc. + +Tue Feb 20 23:12:35 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in configure: Change the way LEX and BISON/YACC are + set. configure now defines DEFAULT_LEX and DEFAULT_YACC by + searching PATH. These are used as fallbacks by Makefile.in if + flex/bison/byacc aren't in objdir. + +Mon Feb 19 11:45:30 1996 Ian Lance Taylor + + * Makefile.in: Make everything which depends upon all-bfd also + depend upon all-opcodes, in case --with-commonbfdlib is used. + +Thu Feb 15 19:50:50 1996 Michael Meissner + + * configure.in (host *-*-cygwin32): Don't build gdb if we are + building NT native compilers on Unix. + +Thu Feb 15 17:42:25 1996 Ian Lance Taylor + + * configure.in: Don't get CC from the host Makefile fragment if we + can find gcc in PATH, or if this is a Canadian Cross. Move the + Solaris test for /usr/ucb/cc to the post target script, just after + the compiler sanity test. + +Wed Feb 14 16:57:40 1996 Ian Lance Taylor + + * config.sub: Merge with FSF. + +Tue Feb 13 14:27:48 1996 Ian Lance Taylor + + * Makefile.in (RPATH_ENVVAR): New variable. + (REALLY_SET_LIB_PATH): Use it. + * configure.in: On HP/UX, set RPATH_ENVVAR to SHLIB_PATH. + +Mon Feb 12 15:28:49 1996 Doug Evans + + * config.sub, configure.in: Recognize sparclet cpu. + +Mon Feb 12 15:33:59 1996 Christian Bauernfeind + + * config.guess: Support m68k-cbm-sysv4. + +Sat Feb 10 12:06:42 1996 Andreas Schwab + + * config.guess (*:Linux:*:*): Guess m68k-unknown-linux and + m68k-unknown-linuxaout from linker help string. Put quotes around + $ld_help_string. + +Thu Dec 7 09:03:24 1995 Tom Horsley + + * config.guess (powerpc-harris-powerunix): Add guess for port + to new target. + +Thu Feb 8 15:37:52 1996 Brendan Kehoe + + * config.guess (UNAME_VERSION): Recognize X4.x as an OSF version. + +Mon Feb 5 16:36:51 1996 Ian Lance Taylor + + * configure.in: If --enable-shared was used, set SET_LIB_PATH to + $(REALLY_SET_LIB_PATH) in Makefile. + * Makefile.in (SET_LIB_PATH): New variable. + (REALLY_SET_LIB_PATH): New variable. + ($(DO_X)): Use $(SET_LIB_PATH). + (install.all, gcc-no-fixedincludes, $(ALL_MODULES)): Likewise. + ($(NATIVE_CHECK_MODULES), $(CROSS_CHECK_MODULES)): Likewise. + ($(INSTALL_MODULES), $(CONFIGURE_TARGET_MODULES)): Likewise. + ($(ALL_TARGET_MODULES), $(CHECK_TARGET_MODULES)): Likewise. + ($(INSTALL_TARGET_MODULES), $(ALL_X11_MODULES)): Likewise. + ($(CHECK_X11_MODULES), $(INSTALL_X11_MODULES)): Likewise. + (all-gcc, all-bootstrap, check-gcc, install-gcc): Likewise. + (install-dosrel): Likewise. + (all-opcodes): Depend upon all-libiberty. + +Sun Feb 4 16:51:11 1996 Steve Chamberlain + + * config.guess (*:CYGWIN*): New + +Sat Feb 3 10:42:35 1996 Michael Meissner + + * Makefile.in (all-target-winsup): All all-target-libiberty. + +Fri Feb 2 17:58:56 1996 Michael Meissner + + * configure.in (noconfigdirs): Add missing # in front of comment. + +Thu Feb 1 14:38:13 1996 Geoffrey Noer + + * configure.in: add second pass to things added to noconfigdirs + so *-gm-magic can exclude libgloss properly. + +Thu Feb 1 11:10:16 1996 Stan Shebs + + * mpw-configure (extralibs_name, rez_name): Set correctly + for MWC68K compiler. + + * mpw-README: Add more info on the necessary build tools. + +Thu Feb 1 10:22:38 1996 Steve Chamberlain + + * configure.in, config.sub: Recognize cygwin32. + +Wed Jan 31 14:17:10 1996 Richard Henderson + + * config.guess, config.sub: Recognize A/UX. + +Wed Jan 31 13:52:14 1996 Ian Lance Taylor + + * config.sub: Merge with gcc/config.sub. + +Thu Jan 25 11:01:10 1996 Raymond Jou + + * mpw-build.in (do-binutils): Add build of stamps. + +Thu Jan 25 17:05:26 1996 James G. Smith + + * config.sub: Add recognition for mips64vr4100*-* targets. + +Wed Jan 24 12:47:55 1996 Brendan Kehoe + + * test-build.mk: Add checking of `hpux9' rather than just `hpux'. + Add creation of gconfigargs with `--enable-shared' turned on. + ($(host)-stamp-stage2-configured): Pass $(gconfigargs). + ($(host)-stamp-stage3-configured): Likewise. + (HOLES): Add chatr and ldd. + (i386-ncr-sysv4.3*): Add use of /usr/ccs/bin in the PATH and HOLE_DIRS. + +Wed Jan 24 20:32:30 1996 Torbjorn Granlund + + * configure: Pass --nfp to recursive configures. + +Mon Jan 22 10:41:56 1996 Steve Chamberlain + + * Makefile.in (DLLTOOL): New. + (DLLTOOL_FOR_TARGET): New. + (EXTRA_HOST_FLAGS): Pass down DLLTOOL. + (EXTRA_TARGET_FLAGS): Ditto. + (EXTRA_GCC_FLAGS): Ditto. + (CONFIGURE_TARGET_MODULES): Ditto. + (DO_X): Ditto. + * configure: Add DLLTOOL. + +Fri Jan 19 13:30:15 1996 Stan Shebs + + SCO OpenServer 5 changes from Robert Lipe : + * configure.in (i[345]86-*-sco3.2v5*): Use mh-sysv instead of + mh-sco, since old workarounds no longer needed, and don't + build ld, since libraries have weak symbols in COFF. + +Sun Jan 14 23:01:31 1996 Fred Fish + + * Makefile.in (CONFIGURE_TARGET_MODULES): Add missing ';'. + +Fri Jan 12 15:25:35 1996 Ian Lance Taylor + + * configure.in: Make sure that ${CC} can be used to compile an + executable. + +Sat Jan 6 07:23:33 1996 Michael Meissner + + * Makefile.in (all-gdb): Depend on $(GDB_TK). + * configure (GDB_TK): Set GDB_TK to either "all-tcl all-tk" or + nothing depending on whether gdbtk is being built. + +Wed Jan 3 17:54:41 1996 Doug Evans + + * Makefile.in (newlib.tar.gz): Delete building of newlib's info files. + +Mon Jan 1 19:09:14 1996 Brendan Kehoe + + * configure.in (noconfigdirs): Put ld or gas in this early, if the + user specifically used --with-gnu-ld=no or --with-gnu-as=no. + +Sat Dec 30 16:08:57 1995 Doug Evans + + * config-ml.in: Add support for + --disable-{softfloat,m68881,m68000,m68020} on m68*-*-*. + Simplify setting of multidirs from --disable-foo. + +Fri Dec 29 07:56:11 1995 Michael Meissner + + * Makefile.in (EXTRA_GCC_FLAGS): If any of the make variables + LANGUAGES, BOOT_CFLAGS, STMP_FIXPROTO, LIMITS_H_TEST, + LIBGCC1_TEST, LIBGCC2_CFLAGS, LIBGCC2_INCLUDES, and ENQUIRE are + non-empty, pass them on to the GCC make. + (all-bootstrap): New rule that is like all-gcc, except it executes + the GCC bootstrap rule instead of the GCC all rule. + +Wed Dec 27 15:51:48 1995 Doug Evans + + * config-ml.in (ml_realsrcdir): New, to account for ${subdir}. + +Tue Dec 26 11:45:31 1995 Michael Meissner + + * config.guess (AViiON:dgux:*:*): Update from FSF to add pentium + DG/UX support. + +Fri Dec 15 10:01:27 1995 Stan Cox + + * config.sub (i*86*) Change [345] to [3456] + +Wed Dec 20 17:41:40 1995 Brendan Kehoe + + * configure.in (noconfigdirs): Add gas or ld if --with-gnu-as=no or + --with-gnu-ld=no. + +Wed Dec 20 15:15:35 1995 Michael Meissner + + * config-ml.in (rs6000*, powerpc*): Add switches to control which + AIX multilibs get built. + +Mon Dec 18 17:55:46 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (i386-win32): Don't build expect if we're not + building the tcl subdir. + +Mon Dec 18 11:47:19 1995 Stan Shebs + + * Makefile.in: (configure-target-examples, all-target-examples): + New targets, configure and build example programs. + +Fri Dec 15 16:13:03 1995 Stan Shebs + + * mpw-configure: If an mpw-config.in generated a file mk.sed, + use it as input to sedit the generated MPW makefile. + * mpw-README: Add a suggestion about Gestalt.h. + +Wed Dec 13 16:43:51 1995 Ian Lance Taylor + + * config.sub: Accept *-*-ieee*. + +Tue Dec 12 11:52:57 1995 Ian Lance Taylor + + * Makefile.in (local-distclean): Remove $(TARGET_SUBDIR). From + Ronald F. Guilmette . + +Mon Dec 11 15:31:58 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (host==powerpc-pe): Add many directories to noconfigdirs + for powerpc-pe native. + (target==i386-win32): add tcl, make to noconfigdirs if canadian cross. + (target==powerpc-pe): duplicate i386-win32 entry. + +Sat Dec 9 14:58:28 1995 Jim Wilson + + * configure.in (noconfigdirs): Exclude target-newlib for all versions + of vxworks, not just vxworks5.1. + +Mon Dec 4 12:05:40 1995 Stan Shebs + + * mpw-configure: Add support for exec-prefix. + +Mon Dec 4 10:22:50 1995 Jeffrey A. Law + + * config.guess: Recognize HP model 816 machines as having + a PA1.1 processor. + +Mon Dec 4 12:38:15 1995 Ian Lance Taylor + + * configure: Ignore new autoconf configure options. + +Thu Nov 30 14:45:25 1995 J.T. Conklin + + * config/mt-v810 (CC_FOR_TARGET): Add -ansi flag. NEC compiler + defaults to K&R mode, but doesn't have varargs.h, so we have to + compile in ANSI mode. + +Thu Nov 30 16:57:33 1995 Per Bothner + + * config.guess: Recognize Pentium under SCO. + From Robert Lipe . + +Wed Nov 29 13:49:08 1995 J.T. Conklin + + * configure.in (noconfigdirs): Disable target-libio on v810-*-*. + * config/mt-v810 (CC_FOR_TARGET, AS_FOR_TARGET, AR_FOR_TARGET, + RANLIB_FOR_TARGET): Set as appropriate for NEC v810 toolchain. + +Wed Nov 29 12:12:01 1995 Ian Lance Taylor + + * configure.in: Don't configure gas for alpha-dec-osf*. + +Tue Nov 28 17:16:48 1995 Ian Lance Taylor + + * configure.in: Default to --with-stabs for some targets for which + it makes sense: mips*-*-*, alpha*-*-osf*, i[345]86*-*-sysv4* and + i[345]86*-*-unixware*. + +Mon Nov 27 13:44:15 1995 Ian Lance Taylor + + * config-ml.in: Get list of multidirs using gcc --print-multi-lib + rather than basing it on the target. Simplify handling of options + controlling which directories to configure. Remove extraneous + slash in multi-clean target. + +Fri Nov 24 17:29:29 1995 Doug Evans + + * config-ml.in: Prefix more variables with ml_ so they don't collide + with configure's. + +Wed Nov 22 11:27:02 1995 Ian Lance Taylor + + * configure: Don't turn -v into --v. + +Tue Nov 21 16:48:02 1995 Doug Evans + + * configure.in (targargs): Fix typo. + + * Makefile.in (DEVO_SUPPORT): Add symlink-tree. + +Tue Nov 21 14:08:28 1995 Ian Lance Taylor + + * configure.in: Strip --host and --target options from + CONFIG_ARGUMENTS, and always configure for --host only. Add + --with-cross-host option when building with a cross-compiler. + * configure: Canonicalize the arguments put into config.status by + always using `=' for an option with an argument. Pass a presumed + --host or --target explicitly. + +Fri Nov 17 17:50:30 1995 Stan Shebs + + * config.sub: Merge -macos*, -magic*, -pe*, and -win32 cases + into general OS recognition case. + +Fri Nov 17 17:42:25 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (target_configdirs): add target-winsup only + for win32 target systems. + +Thu Nov 16 14:04:47 1995 Ian Lance Taylor + + * Makefile.in (all-target-libgloss): Depend upon + configure-target-newlib, since when libgloss is built it looks to + see if the newlib directory exists. + +Wed Nov 15 14:47:52 1995 Ken Raeburn + + * Makefile.in (DEVO_SUPPORT): Use config-ml.in instead of + cfg-ml-*.in. + +Wed Nov 15 11:45:23 1995 Ian Lance Taylor + + * configure: Handle LD and LD_FOR_TARGET when configuring a + Canadian Cross. + +Tue Nov 14 15:03:12 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * config/mh-i386win32: add LD_FOR_TARGET. + +Tue Nov 14 14:56:11 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (target_libs): add target-winsup. + (target==i386-win32): add patch diff flex make to $noconfigdirs. + (target==ppcle-pe): remove ld from $noconfigdirs. + +Tue Nov 14 01:25:50 1995 Doug Evans + + * Makefile.in (CONFIGURE_TARGET_MODULES): Pass --with-target-subdir. + Preserve relative path names in $srcdir. Build symlink tree if + configuring cross target dir and srcdir=. (= no VPATH support). + (configure-target-libg++): Depend on configure-target-librx. + * cfg-ml-com.in, cfg-ml-pos.in: Deleted. + * config-ml.in: New file. + * symlink-tree: New file. + * configure: Ensure srcdir="." if that's what it is. + +Mon Nov 13 12:34:20 1995 Stan Shebs + + * mpw-README: Clarify some phrasing, add notes about CodeWarrior + includes and FLEX_SKELETON setting. + * mpw-configure (--with-gnu-ld): New option, controls whether + to use PPCLink or ld with PowerMac GCC. + * mpw-build.in (all-grez, do-grez, install-grez): New targets. + * mpw-config.in: Configure grez if targeting Mac. + + * config.sub: Accept pmac and pmac-mpw as names for PowerMacs, + accept mpw and mac-mpw as names for m68k Macs, change macos7 to + just macos. + * configure.in: Configure grez resource compiler if targeting Mac. + * Makefile.in (all-grez, install-grez): New targets. + +Wed Nov 8 17:33:51 1995 Jason Merrill + + * configure: CXX defaults to gcc, not g++. If we find + gcc in the path, set CC to gcc -O2. + +Tue Nov 7 15:45:17 1995 Ian Lance Taylor + + * configure: Default ${build} correctly. Avoid picking up extra + spaces when reading CC and CXX from Makefile. When doing a + Canadian Cross, use plausible default values for numerous + variables. + * configure.in: When doing a Canadian Cross, don't try to + configure tools whose configure script can't handle it. + +Mon Nov 6 19:32:17 1995 Jim Wilson + + * cfg-ml-com.in (sh-*-*): Add m2 and ml/m2 to multidirs. + +Sun Nov 5 00:15:41 1995 Per Bothner + + * configure: Remove dubious bug reporting address. + +Fri Nov 3 08:17:54 1995 Per Bothner + + * Makefile.in ($(CONFIGURE_TARGET_MODULES)): If subdir has + configure script, run that instead of this directory's configure. + In either case, print a message that we're configuring the sub-dir. + +Thu Nov 2 23:23:36 1995 Per Bothner + + * configure.in: Before checking for the existence of various files, + use sed to filter out "target-". + +Thu Nov 2 13:24:56 1995 Ian Lance Taylor + + * Makefile.in (DO_X): Split rule to decrease command line length + for systems with small ARG_MAX values. From phdm@info.ucl.ac.be + (Philippe De Muyter). + +Wed Nov 1 15:18:35 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * Makefile.in (all-patch): depend on all-libiberty. + +Wed Nov 1 12:23:20 1995 Ian Lance Taylor + + * configure.in: If the only directory in target_configdirs which + actually exists is libiberty, then set target_configdirs to empty, + to avoid trying to build a target libiberty in a gas or gdb + distribution. + +Tue Oct 31 17:52:39 1995 J.T. Conklin + + * configure.in (host_makefile_frag): Use m68k-sun-sunos* instead + of m68k-sun-* when selecting mh-sun3 to avoid matching NetBSD/sun3 + systems. + +Tue Oct 31 16:57:32 1995 Jim Wilson + + * configure.in (copy_dirs): Use sys-include instead of include + for --with-headers option. + +Tue Oct 31 10:29:36 1995 steve chamberlain + + * Makefile.in, configure.in: Make winsup builds work with + new scheme. + +Mon Oct 30 18:57:09 1995 Ian Lance Taylor + + * configure.in: Build the linker on AIX. + +Mon Oct 30 12:27:16 1995 Per Bothner + + * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Add $(TARGET_SUBDIR) + where needed. + +Mon Oct 30 12:45:25 1995 Doug Evans + + * Makefile.in (all-gcc): Fix typo. + +Sat Oct 28 10:27:59 1995 Per Bothner + + * Makefile.in ($(CHECK_TARGET_MODULES)): Fix typo. + +Fri Oct 27 23:14:12 1995 Per Bothner + + * configure.in: Rename libFOO to target-libFOO, and xiberty + to target-xiberty, to provide more flexibility. + (target_subdir): Define. Create if cross. + Set TARGET_SUBDIR in Makefile to ${target_subdir}. + * Makefile.in: Rename all-libFOO -> all-target-libFOO, all-xiberty + -> all-target-libiberty, configure-libFOO -> configure-target-libFOO, + check-libFOO -> check-target-libFOO, etc. + ($(DO_X)): Iterate over TARGET_CONFIGDIRS after SUBDIRS. + ($(CONFIGURE_TARGET_MODULES), $(CHECK_TARGET_MODULES), + $(ALL_TARGET_MODULES), $(INSTALL_TARGET_MODULES)): Update accordingly. + (configure-target-XXX): Depend on $(ALL_GCC), not all-gcc, to + allow ALL_GCC="" to only configure. + (DEVO_SUPPORT): Add cfg-ml-com.in and cfg-ml-pos.in. + (ETC_SUPPORT, ETC_SUPPORT_PFX): Merge; update 'taz' accordingly. + (LIBGXX_SUPPORT_DIRS): Remove xiberty. + +Sat Oct 28 01:53:49 1995 Ken Raeburn + + * Makefile.in (taz): Build "info" in etc explicitly. + +Fri Oct 27 09:32:30 1995 Stu Grossman (grossman@cygnus.com) + + * configure.in: Make sure that CC is undefined (as opposed to + null) if toplevel/config/mh-{host} doesn't define it. Fixes a + problem with autoconf trying to configure on a host without GCC. + +Thu Oct 26 22:35:01 1995 Stan Shebs + + * mpw-configure: Set host alias from choice of host compiler, + only use generic MPW Makefile sed if present, edit a file + named "hacked_Makefile.in" instead of "Makefile.in" if present. + * mpw-README: Add problem notes about CW6 and CW7. + +Thu Oct 26 05:45:10 1995 Ken Raeburn + + * Makefile.in (taz): Use ";" instead of ";;". + +Wed Oct 25 15:18:24 1995 Per Bothner + + * Makefile.in (taz): Grep for '^diststuff:' or '^info:' in + sub-directory Makefiles, instead of using DISTSTUFFDIRS and + DISTDOCDIRS. + (DISTSTUFFDIRS, DISTDOCDIRS): Removed - no longer used. + (newlib.tar.gz): Don't pass DISTDOCDIRS to recursive make. + +Wed Oct 25 14:43:55 1995 Per Bothner + + * Makefile.in (DISTDOCDIRS): Remove ld gprof bnutils gas libg++ gdb + and gnats, because they are now subsumed by DISTSTUFFDIRS. + Move bfd to DISTSTUFFDIRS. + +Tue Oct 24 18:19:09 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * Makefile.in (X11_LIB): Removed. + (X11_FLAGS_TO_PASS): pass only X11_EXTRA_CFLAGS and X11_EXTRA_LIBS. + + * configure.in (host_makefile_frag): mh-aix & mh-sun removed. + +Sun Oct 22 13:04:42 1995 Michael Meissner + + * cfg-ml-com.in (powerpc*): Shorten some of the multilib directory + names. + +Fri Oct 20 18:02:10 1995 Michael Meissner + + * cfg-ml-com.in (powerpc*-eabi*): Add mcall-aixdesc varients. + +Thu Oct 19 10:40:57 1995 steve chamberlain + + * configure.in (i[345]86-*-win32): Always build newlib. + Don't configure cvs, autoconf or texinfo. + * Makefile.in (LD_FOR_TARGET): New. + (BASE_FLAGS_TO_PASS, EXTRA_TARGET_FLAGS, CONFIGURE_TARGET_MODULES): + Pass down LD_FOR_TARGET. + +Wed Oct 18 15:53:56 1995 steve chamberlain + + * winsup: New directory. + * Makefile.in: Build winsup. + * configure.in: Winsup is configured when target is win32. + Can only build win32 target GDB when native. + +Mon Oct 16 09:42:31 1995 Jeffrey A Law (law@cygnus.com) + + * config.guess: Recognize HP model 819 machines as having + a PA 1.1 processor. + +Mon Oct 16 10:49:43 1995 Ian Lance Taylor + + * configure: Fix sed loop which substitutes for CC and CXX to + avoid bug found in various sed implementations. + +Wed Oct 11 16:16:20 1995 Michael Meissner + + * cfg-ml-com.in (powerpc-*-eabisim): Delete separate rule for + simulator. Use standard powerpc-*-eabi*. + +Mon Oct 9 17:21:56 1995 Ian Lance Taylor + + * configure.in: Stop putting gas and binutils in noconfigdirs for + powerpc-*-aix* and rs6000-*-*. + +Mon Oct 9 12:38:40 1995 Michael Meissner + + * cfg-ml-com.in (powerpc*-*-eabisim*): Add support for building + -mcall-aixdesc libraries. + +Fri Oct 6 16:17:57 1995 Ken Raeburn + + Mon Sep 25 22:49:32 1995 Andreas Schwab + + * config.sub (arm | armel | armeb): Fix shell syntax. + +Fri Oct 6 14:40:28 1995 Michael Meissner + + * cfg-ml-com.in ({powerpc,rs6000}-ibm-aix*): Add multilibs for + -msoft-float and -mcpu=common support. + (powerpc*-*-eabisim*): Add support for building -mcall-aix + libraries. + +Thu Oct 5 13:26:37 1995 Brendan Kehoe + + * configure.in: Allow configuration and build of emacs19 for the alpha. + +Wed Oct 4 22:05:36 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (CC): Get ^CC, not just any old CC, from + ${host_makefile_frag}. + +Wed Oct 4 21:55:00 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (CC): Try to get CC from + ${srcdir}/${host_makefile_frag}, not ${host_makefile_frag}. + +Wed Oct 4 21:44:12 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * Makefile.in (TARGET_CONFIGDIRS): configure targetdirs + only if it exists in $(srcdir). + +Wed Oct 4 11:52:31 1995 Ian Lance Taylor + + * configure: If CC and CXX are not set in the environment, set + them, based on either an existing Makefile or on searching for gcc + in PATH. Substitute for CC and CXX in Makefile. + * configure.in: Remove libm from target_libs. Separate + target_configdirs from configdirs. If CC is not set in + environment, try to get it from a host Makefile fragment. Rewrite + changes of configdirs to use skipdirs instead. A few minor + tweaks. Take directories out of target_configdirs as they are + taken out of configdirs. Remove existing Makefile files from + subdirectories. Substitute for TARGET_CONFIGDIRS and + CONFIG_ARGUMENTS in Makefile. + * Makefile.in (TARGET_CONFIGDIRS): New variable, automatically set + by configure.in. + (CONFIG_ARGUMENTS): Likewise. + (CONFIGURE_TARGET_MODULES): New variable. + ($(DO_X)): Loop over TARGET_CONFIGDIRS as well as SUBDIRS. + ($(CONFIGURE_TARGET_MODULES)): New target. + (configure-libg++, configure-libio): New targets. + (all-libg++): Depend upon configure-libg++. + (all-libio): Depend upon configure-libio. + (configure-libgloss, all-libgloss): New targets. + (configure-libstdc++): New target. + (all-libstdc++): Depend upon configure-libstdc++. + (configure-librx, all-librx): New targets. + (configure-newlib): New target. + (all-newlib): Depend upon configure-newlib + (configure-xiberty): New target. + (all-xiberty): Depend upon configure-xiberty. + +Sat Sep 30 04:32:59 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (host i[345]86-*-win32): Expand the + noconfigdirs again. + +Thu Sep 28 21:18:49 1995 Stan Shebs + + * mpw-configure: Fix sed command file name. + +Thu Sep 28 17:39:56 1995 steve chamberlain + + * configure.in (host i[345]86-*-win32): Reduce the + noconfigdirs again. + +Wed Sep 27 12:24:00 1995 Ian Lance Taylor + + * configure.in: Don't configure ld and gdb for powerpc*-*-winnt* + or powerpc*-*-pe*, since they are not yet supported. + +Tue Sep 26 14:30:01 1995 Stan Shebs + + Add PowerMac support and many other enhancements. + * mpw-configure: New option --cc to select compiler to use, + paste options set according to --cc into the generated + Makefile, generate the Makefile by sed'ing the Unix Makefile.in + if mpw-make.sed is present. + * mpw-config.in: Don't test for gC1, test for mpw-touch, + add forward includes for PowerPC include files. + * mpw-build.in: Build using Makefile.PPC if present. + (do-byacc, etc): Remove separate version resource builds. + (do-gas): Build "stamps" before "all". + (do-gcc): Build "stamps-h" and "stamps-c" before "all". + * mpw-README: Update to reflect --cc option, PowerMac support, + and recently-reported compatibility problems. + +Fri Sep 22 12:15:42 1995 Doug Evans + + * cfg-ml-com.in (m68*-*-*): Only build multilibs for + embedded m68k systems (-aout, -coff, -elf, -vxworks). + (--with-multilib-top): Pass to recursive invocations. + +Tue Sep 19 13:51:05 1995 J.T. Conklin + + * configure.in (noconfigdirs): Disable libg++ and libstdc++ on + v810-*-*. + +Mon Sep 18 23:08:26 1995 J.T. Conklin + + * configure.in (noconfigdirs): Disable bfd, binutils, gas, gcc, + gdb, ld and opcodes on v810-*-*. + +Sat Sep 16 18:31:08 PDT 1995 Angela Marie Thomas + + * config/mh-ncrsvr43: Removed AR_FLAGS + +Tue Sep 12 18:03:31 1995 Ian Lance Taylor + + * Makefile.in (DO_X): Change do-realclean to do-maintainer-clean. + (local-maintainer-clean): New target. + (maintainer-clean): New target. + (realclean): Just depend upon maintainer-clean. + +Fri Sep 8 17:11:14 1995 J.T. Conklin + + * configure.in (noconfigdirs): Disable gdb on m68k-*-netbsd*. + +Fri Sep 8 16:46:29 1995 Ian Lance Taylor + + * configure.in: Build ld in mips*-*-bsd* case. + +Thu Sep 7 20:03:41 1995 Ken Raeburn + + * config.sub: Accept -lites* OS. From Ian Dall. + +Fri Sep 1 08:06:58 1995 James G. Smith + + * config.sub: recognise mips64vr4300 and mips64vr4300el as valid + targets. + +Wed Aug 30 21:06:50 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in: treat i386-win32 canadian cross the same as + i386-go32 canadian cross. + +Thu Aug 24 14:53:20 1995 Michael Meissner + + * cfg-ml-com.in (powerpc*-*-eabisim): Add support for PowerPC + running under the simulator to build a reduced set of libraries. + (powerpc-*-eabiaix): Add fine grained multilib support added to + other powerpc targets yesterday. + +Wed Aug 23 09:41:56 1995 Michael Meissner + + * cfg-ml-com.in (powerpc*): Add support for -disable-biendian, + -disable-softfloat, -disable-relocatable, -disable-aix, and + -disable-sysv to control which multilib libraries get built. + +Thu Aug 17 16:03:41 1995 Ken Raeburn + + * configure: Add Makefile.tem to list of files to remove in trap + handler. + +Mon Aug 14 19:27:56 1995 Per Bothner + + * config.guess (*Linux*): Add missing "exit"s. + Also, need specific check for alpha-unknown-linux (uses COFF). + +Fri Aug 11 15:38:20 1995 Per Bothner + + * config.guess: Merge with FSF: + + Wed Jun 28 17:57:27 1995 David Edelsohn + * config.guess (AIX4): More robust release numbering discovery. + + Thu Jun 22 19:01:24 1995 Kenneth Stailey (kstailey@eagle.dol-esa.gov) + * config.guess (i386-sequent-ptx): Properly get version number. + + Thu Jun 22 18:36:42 1995 Uwe Seimet (seimet@iris1.chemie.uni-kl.de) + * config.guess (mips:*:4*:UMIPS): New case. + +Mon Aug 7 09:21:35 1995 Doug Evans + + * configure.in (i386-go32 host): Fix typo (deja-gnu -> dejagnu). + (i386-win32 host): Likewise. Don't build readline. + +Sat Aug 5 09:51:49 1995 Fred Fish + + * Makefile.in (GDBTK_SUPPORT_DIRS): Define and pass as part of + SUPPORT_FILES to submakes. + +Fri Aug 4 13:04:36 1995 Fred Fish + + * Makefile.in (GDB_SUPPORT_DIRS): Add utils. + (DEVO_SUPPORT): Add mpw-README, mpw-build.in, mpw-config.h and + mpw-configure. + +Wed Aug 2 16:32:40 1995 Ken Raeburn + + * configure.in (appdirs): Use =, not ==, in test expression when + trying to build the text to print in the warning message for + Solaris users. + +Mon Jul 31 09:56:18 1995 steve chamberlain + + * cfg-ml-com.in (z8k-*-coff): Add 'std' multilib build. + +Fri Jul 28 00:16:31 1995 Jeffrey A. Law + + * config.guess: Recognize lynx-2.3. + +Thu Jul 27 15:47:59 1995 steve chamberlain + + * config.sub (z8ksim): Deleted + (z8k-*-coff): New, this is the one true name of the target. + +Thu Jul 27 14:33:33 1995 Doug Evans + + * cfg-ml-pos.in (dotdot): Work around SunOS sed bug. + +Thu Jul 27 13:31:05 1995 Fred Fish (fnf@cygnus.com) + + * config.guess (*:Linux:*:*): First try asking the linker what the + default object file format is (elf, aout, or coff). Then if this + fails, try previous methods. + +Thu Jul 27 11:28:17 1995 J.T. Conklin + + * configure.in: Don't build newlib for *-*-vxworks5.1. + +Thu Jul 27 11:18:47 1995 Brendan Kehoe + + * configure.in: Don't build newlib for a29k-*-vxworks5.1. + * test-build.mk: Add setting of --with-headers for a29k-vxworks5.1. + +Tue Jul 25 21:25:39 1995 Doug Evans + + * cfg-ml-pos.in (MULTITOP): Trim excess trailing "/.". + +Fri Jul 21 10:41:12 1995 Doug Evans + + * cfg-ml-com.in: New file. + * cfg-ml-pos.in: New file. + +Wed Jul 19 00:37:27 1995 Jeffrey A. Law + + * COPYING.NEWLIB: Add HP free copyright to list. + +Tue Jul 18 10:58:51 1995 Michael Meissner + + * config.sub: Recognize -eabi* for the system, not just -eabi. + +Mon Jul 3 13:44:51 1995 Steve Chamberlain + + * Makfile.in (DLLTOOL_FOR_TARGET): New name, pass it down. + * config.sub, configure.in (win32): New target and host. + +Wed Jun 28 23:57:08 1995 Steve Chamberlain + + * configure.in: Add i386-pe configuration. + +Fri Jun 23 14:28:44 1995 Stan Shebs + + * mpw-build.in (install): Install GDB after LD. + +Thu Jun 22 17:10:53 1995 Stan Shebs + + * mpw-config.in (elf/mips.h): Always forward-include, needed + for GDB to build. + +Wed Jun 21 15:17:30 1995 Rob Savoye + + * testsuite: New directory for customer acceptance and whole tool + chain tests. + +Wed Jun 21 16:50:29 1995 Ken Raeburn + + * configure: If per-host line isn't found, but AC_OUTPUT is found + and a configure script exists, run it instead. + +Thu Jun 15 21:09:24 1995 Per Bothner + + * config.guess: Update from FSF, for alpha-dec-winnt3.5 and Crays. + +Tue Jun 13 21:43:27 1995 Rob Savoye + + * configure: Set build_{cpu,vendor,os,alias} to host values when + --build isn't specified. + +Mon Jun 5 18:26:36 1995 Jason Merrill + + * Makefile.in (PICFLAG, PICFLAG_FOR_TARGET): New macros. + (FLAGS_TO_PASS): Pass them. + (EXTRA_TARGET_FLAGS): Ditto. + + * config/m?-*pic: Define PICFLAG* instead of LIB*FLAGS*. + +Wed May 31 22:27:42 1995 Jim Wilson + + * Makefile.in (all-libg++): Depend on all-libstdc++. + +Thu May 25 22:40:59 1995 J.T. Conklin + + * configure.in (noconfigdirs): Enable all packages for + i386-unknown-netbsd. + +Sat May 20 13:22:31 1995 Angela Marie Thomas + + * configure.in (noconfigdirs): Don't configure tk for i386-go32 + hosted builds (DOS builds) + +Thu May 18 18:08:49 1995 Ken Raeburn + + Changes for ARM based on patches from Richard Earnshaw: + * config.sub: Handle armeb and armel. + * configure.in: Omit arm linker only for riscix. + +Thu May 11 17:23:26 1995 Per Bothner + + * config.guess: Update from FSF. + +Tue May 9 15:52:05 1995 Michael Meissner + + * config.sub: Recognize powerpcle as the little endian varient of + the PowerPC. Recgonize ppc as a PowerPC variant, and ppcle as a + powerpcle variant. Convert pentium into i586, not i486. Add p5 + alias for i586. Map new x86 variants p6, k5, nexgen into i586 + temporarily. + +Tue May 2 16:29:41 1995 Jeff Law (law@snake.cs.utah.edu) + + * configure.in (hppa*-*-lites*): Treat like hppa*-*-*elf*. + +Sun Apr 30 21:38:09 1995 Jeff Law (law@snake.cs.utah.edu) + + * config.sub: Accept -lites* as a basic system type. + +Thu Apr 27 11:33:29 1995 Michael Meissner (meissner@cygnus.com) + + * config.guess (*:Linux:*:*): Check for whether the pre-BFD linker is + installed, and if so return linuxoldld as the system name. + +Wed Apr 26 10:59:02 1995 Jeff Law (law@snake.cs.utah.edu) + + * config.guess: Add hppa1.1-hp-lites support. + +Tue Apr 25 11:08:11 1995 Rob Savoye + + * configure.in: Don't build newlib for m68k-vxworks5.1. + +Wed Apr 19 17:02:43 1995 Jim Wilson + + * configure.in (mips-sgi-irix6): Use mh-irix5. + +Fri Apr 14 15:21:17 1995 Doug Evans + + * Makefile.in (all-gcc): Depend on all-ld (for libgcc1-test). + +Wed Apr 12 16:06:01 1995 Jason Merrill + + * test-build.mk: Enable building of shared libraries on IRIX 5 and + OSF/1. Fix compiler flags. + * build-all.mk: Support Linux and OSF/1 3.0. Fix compiler flags. + +Tue Apr 11 18:55:40 1995 Doug Evans + + * configure.in: Recognize --with-newlib. + (sparc-*-sunos4*): Build sim, dejagnu, expect, tcl if cross target. + +Mon Apr 10 14:38:20 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * Makefile.in: move {all,check,install}-gdb from *_MODULES + to *_X11_MODULES due to gdbtk needing X include files et al. + +Mon Apr 10 11:42:22 1995 Stan Shebs + + Merge in support for Mac MPW as a host. + (Old change descriptions retained for informational value.) + + * mpw-config.in: Add generic include forwards for cpu-specific + include files in aout and elf directories. + + * mpw-configure: Added copyright. + * mpw-config.in: Check for presence of required build tools. + (target_libs): Add newlib. + (target_tools): Add examples. + (Read Me): Generate as "Read Me for MPW" instead. + * mpw-build.in: Base sub-builds on all-foo instead of do-foo. + (all-byacc, do-byacc, all-flex, do-flex, do-newlib): New actions. + (do-gas, do-gcc, do-gdb, do-ld): Build Version.r first. + + * mpw-configure: Remove subdir-specific makefile hackery, + delete mk.tmp after using it. + + * mpw-build.in (all): Display start and end times. + + * mpw-configure (host_canonical): Set. + (target_cpu): Always add to makefiles. + (ARCHDEFS, EMUL): Add to makefile only if nonempty. + (TM_FILE, XM_FILE, NM_FILE): No longer add to makefile. + (mpw-mh-mpw): Look for in srcdir and srcroot. + Use sed instead of mpw-edit-prefix to edit prefix definitions. + + * mpw-build.in: (install-only): New target. + + * mpw-configure (host_alias, target_alias): Rename from hostalias + and targetalias, add into generated Makefile. + (mk.tmp): If present, add into generated Makefile. + * mpw-build.in (all-gas): Build config.h first before gas proper. + + * mpw-configure (config.status): Write only if changed. + * mpw-config.in (readline): Configure it (not built, just used for + definitions). + + * mpw-config.in (elf/mips.h): Add a forward include. + + * mpw-config.in: Forward-include most .h files in include into + extra-include. + (readline): Don't build. + mpw-build.in (install): Install GDB. + + * mpw-configure (prefix, mpw_prefix): Handle it. + * mpw-config.in (mmalloc, readline): Don't configure. + * mpw-build.in (thisscript): Rename to ThisScript. + Use mpw-build instead of BuildProgram everywhere. + (mmalloc, readline): Don't build. + * mpw-README: New file, basic documentation about the MPW port. + + * mpw-config.in: Use forward-include to create include files. + + * mpw-configure: Add more things to the top of each configured + Makefile, including contents of config/mpw-mh-mpw. + * mpw-config.in (extra-include): Create this directory and fill it + with Posix-like include files when configuring. + + * config.sub (apple, mac, mpw): Add various aliases. + + * mpw-build.in: New file, top-level build script fragment for MPW. + * mpw-configure: New file, configure script for MPW. + * mpw-config.in: New file, config fragment for MPW. + +Fri Apr 7 19:33:16 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in (host_libs): Remove glob, since it is gone from the + sources. + +Fri Mar 31 11:36:17 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * Makefile.in: define empty GDB_NLM_DEPS var. + + * configure.in(target_makefile_frag): use config/mt-netware + for netware targets. + +Thu Mar 30 13:51:43 1995 Ian Lance Taylor + + * config.sub: Merge in recent FSF changes. Remove linux special + cases. + +Tue Mar 28 14:47:34 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + build-all.mk,config/mh-solaris: revert these two changes: + + Tue Mar 30 10:03:09 1993 Ian Lance Taylor (ian@cygnus.com) + + * build-all.mk: Use CC=cc -Xs on Solaris. + + Mon Mar 29 19:59:26 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/mh-solaris: SunPRO C needs -Xs to be able to get a + working xmakefile for Emacs. + +Tue Mar 21 10:43:32 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * glob/*: Removed. Schauer's 24 Feb 1994 readline change made us + stop using it. + * Makefile.in: Nuke all references to glob subdirectory. + +Thu Mar 16 13:35:30 1995 Jason Merrill + + * configure.in: Fix --enable-shared logic in per-host. + +Mon Mar 13 12:33:15 1995 Ian Lance Taylor + + * configure.in (*-hp-hpux[78]*): Use mh-hpux8. + +Mon Mar 6 10:21:58 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in (noconfigdirs): Don't build gas on AIX, for + powerpc*-*-aix* as well as for rs6000*-*-aix*. + +Wed Mar 1 12:51:53 1995 Ian Lance Taylor + + * configure: Fix --cache-file to work if the file argument is a + relative path. + +Tue Feb 28 17:36:07 1995 Ian Lance Taylor + + * configure: If the --cache-file is used, pass it down to + configure in subdirectories. + +Mon Feb 27 12:52:46 1995 Kung Hsu + + * config.sub: add vxworks29k configuration. + +Fri Feb 10 16:12:26 1995 Ken Raeburn + + * Makefile.in (taz): Do "diststuff" part quietly. + +Sun Feb 5 14:16:35 1995 Doug Evans + + * config.sub: Mini-merge with gcc/config.sub. + +Sat Feb 4 12:11:35 1995 Jim Wilson + + * config.guess (IRIX): Sed - to _. + +Fri Feb 3 11:54:42 1995 J.T. Conklin + + * Makefile.in (source-vault, binary-vault): New targets. + +Thu Jan 26 13:00:11 1995 Michael Meissner + + * config.sub: Recognize -eabi as a basic system type. + +Thu Jan 12 13:13:23 1995 Jason Merrill + + * configure.in (enable_shared stuff): Fix typo. + +Thu Jan 12 01:36:51 1995 deanm@medulla.LABS.TEK.COM (Dean Messing) + + * Makefile.in (BASE_FLAGS_TO_PASS): Fix typo in passing LIBCXXFLAGS*. + +Wed Jan 11 16:29:53 1995 Jason Merrill + + * Makefile.in (LIBCXXFLAGS_FOR_TARGET): Add -fno-implicit-templates. + +Mon Jan 9 12:48:01 1995 Jim Kingdon + + * configure.in (rs6000-*-*): Don't build gas. + +Wed Jan 4 23:53:49 1995 Ian Lance Taylor + + * Makefile.in: Use /x/x/ instead of /brokensed/brokensed/, to + reduce command line length. + (AS_FOR_TARGET): Check for as.new, not Makefile. + (NM_FOR_TARGET): Check for nm.new, not Makefile. + +Wed Jan 4 13:02:39 1995 Per Bothner + + * config.guess: Merge from FSF. + +Thu Dec 15 17:11:37 1994 Ian Lance Taylor + + * configure: Don't use $ when handling program_suffix. + +Mon Dec 12 12:09:37 1994 Stu Grossman (grossman@cygnus.com) + + * configure.in: Configure tk for hppa/hpux. + +Fri Dec 2 15:55:38 1994 Per Bothner + + * Makefile.in (LIBGXX_SUPPORT_DIRS): Add libstdc++. + +Tue Nov 29 19:37:56 1994 Per Bothner + + * Makefile.in: Move -fno-implicit-template from CXXFLAGS + to LIBCXXFLAGS. Tests are better run without it. + +Wed Nov 23 10:29:25 1994 Brendan Kehoe (brendan@lisa.cygnus.com) + + * Makefile.in (all-ispell): Depend on all-emacs19 instead of all-emacs. + +Mon Nov 21 11:14:01 1994 J.T. Conklin + + * configure.in (*-*-netware*): Don't configure xiberty. + +Mon Nov 14 08:49:15 1994 Stu Grossman (grossman@cygnus.com) + + * configure.in: Remove tk from native_only list. + +Fri Nov 11 15:31:26 1994 Bill Cox (bill@rtl.cygnus.com) + + * build-all.mk: Add mips-ncd-elf target to sun4 targets + for special NCD build. + +Mon Nov 7 20:58:17 1994 Ken Raeburn + + * Makefile.in (DEVO_SUPPORT): Remove configure.bat and + makeall.bat, they're only useful for binutils snapshots. + (binutils.tar.gz, gas+binutils.tar.gz): Add configure.bat and + makeall.bat to specified SUPPORT_FILES. + +Mon Nov 7 17:25:18 1994 Bill Cox (bill@cirdan.cygnus.com) + + * build-all.mk: Add Ericsson targets to sun4 and solaris + hosts. Add BNR's sun4 target to solaris host, so their + build-from-source will be tested in-house first. + +Sat Nov 5 18:43:30 1994 Jason Merrill (jason@phydeaux.cygnus.com) + + * Makefile.in (LIBCFLAGS): New variable. + (CFLAGS_FOR_TARGET): Ditto. + (LIBCFLAGS_FOR_TARGET): Ditto. + (LIBCXXFLAGS): Ditto. + (CXXFLAGS_FOR_TARGET): Ditto. + (LIBCXXFLAGS_FOR_TARGET): Ditto. + (BASE_FLAGS_TO_PASS): Pass them. + (EXTRA_TARGET_FLAGS): Ditto. + + * configure.in, config/m[th]-*pic: Support --enable-shared. + +Sat Nov 5 15:44:00 1994 Per Bothner + + * configure.in (target_libs): Include libstdc++ again. + * config.guess: Update from FSF (for FreeBSD). + +Thu Nov 3 16:32:30 1994 Ken Raeburn + + * Makefile.in (DEVO_SUPPORT): Include configure.bat and + makeall.bat. + (DISTDOCDIRS): Add `etc'. + (ETC_SUPPORT_PFX): New variable. + (taz): Include anything from etc starting with a word in + ETC_SUPPORT_PFX. + +Wed Oct 26 16:19:35 1994 Ian Lance Taylor + + * config.sub: Update for recent FSF changes. Remove obsolete + h8300hds entry. Add -windows* and -osx as basic os. Minor + spacing changes. + +Thu Oct 20 18:41:56 1994 Per Bothner + + * configure.in (target_libs): Remove libstdc++ for libg++-2.6.1. + + * config.guess: Merge with FSF. + * configure.in: Match on i?86-ncr-sysv4.3, not i?86-ncr-sysv43. + +Thu Oct 20 19:26:56 1994 Ken Raeburn + + * configure: Since the "trap 0" handler will override the exit + status on many systems, only use it for "exit 1", and make it set + a non-zero exit status; reset it before "exit 0". Also, check + exit status of config.sub, and error out if it failed. + +Wed Oct 19 18:49:55 1994 Rob Savoye (rob@cygnus.com) + + * Makefile.in: (ALL_TARGET_MODULES,INSTALL_TARGET_MODULES) Build + and install libgloss. + +Tue Oct 18 15:25:24 1994 Ian Lance Taylor + + * Makefile.in (all-binutils): Depend upon all-byacc. + + * configure.in: Don't build emacs on Irix 5. + +Mon Oct 17 16:22:12 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * configure.in (*-*-netware*): Add libio. + +Thu Oct 13 15:51:20 1994 Jason Merrill (jason@phydeaux.cygnus.com) + + * Makefile.in (ALL_TARGET_MODULES): Add libstdc++. + (CHECK_TARGET_MODULES): Ditto. + (INSTALL_TARGET_MODULES): Ditto. + (TARGET_LIBS): Ditto. + (all-libstdc++): Note dependencies. + +Thu Oct 13 01:43:08 1994 Ken Raeburn + + * Makefile.in (BINUTILS_SUPPORT_DIRS): Add gas. + +Tue Oct 11 12:12:29 1994 Jason Merrill (jason@phydeaux.cygnus.com) + + * Makefile.in (CXXFLAGS): Use -fno-implicit-templates instead of + -fexternal-templates. + + * configure.in (target_libs): Add libstdc++. + (noconfigdirs): Add libstdc++ as appropriate. + +Thu Oct 6 18:00:54 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess: Update from FSF. + +Tue Oct 4 12:05:42 1994 Ian Lance Taylor + + * configure: Use ${config_shell} when running ${configsub}. + +Mon Oct 3 14:28:34 1994 Doug Evans + + * config.sub: No longer recognize h8300h. + +Mon Oct 3 12:40:54 1994 Ian Lance Taylor + + * config.sub: Remove extraneous differences between config.sub and + gcc/config.sub. + +Sat Oct 1 00:23:12 1994 Ken Raeburn + + * Makefile.in (DISTSTUFFDIRS): Add gas. + +Thu Sep 22 19:04:55 1994 Doug Evans (dje@canuck.cygnus.com) + + * COPYING.NEWLIB: New file. + +Mon Sep 19 18:25:40 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess (HP-UX): Patch from Harlan Stenn + to also emit release level. + +Wed Sep 7 13:15:25 1994 Jim Wilson (wilson@sphagnum.cygnus.com) + + * config.guess (sun4*:SunOS:*:*): Change '-JL' to '_JL'. + +Tue Sep 6 23:23:18 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.sub: Merge nextstep cleanup from FSF. + +Mon Sep 5 05:01:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * configure.in (arm-*-*): Don't configure ld for this target. + +Thu Sep 1 09:35:00 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * configure.in (*-*-netware): don't configure libg++, libio, + librx, or newlib. + +Wed Aug 31 13:52:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in (alpha-dec-osf*): Use osf*, not osf1*. Don't + configure ld--it works, but it doesn't support shared libraries. + +Sun Aug 28 18:13:45 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess (*-unknown-freebsd*): Get rid of possible + trailing "(Release)" in version string. + Patch from Paul Richards . + +Sat Aug 27 15:00:49 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess: Fix i486-ncr-sysv43 -> i486-ncr-sysv4.3. + Fix type: *-next-neststep -> *-next-nextstep. + + * config.guess: Merge from FSF: + + Fri Aug 26 18:45:25 1994 Philippe De Muyter (phdm@info.ucl.ac.be) + + * config.guess: Recognize powerpc-ibm-aix3.2.5. + + Wed Apr 20 06:36:32 1994 Philippe De Muyter (phdm@info.ucl.ac.be) + + * config.guess: Recognize UnixWare 1.1 (UNAME_SYSTEM is SYSTEM_V + instead of UNIX_SV for UnixWare 1.0). + +Sat Aug 27 01:56:30 1994 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (all-gdb): Add dependencies on all-gcc and all-ld + to make gdb/nlm/* build after the compiler and linker. + +Fri Aug 26 14:30:05 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess (netbsd, freebsd, linux): Accept any machine, + not just i[34]86. + (m68k-atari-sysv4): Relocate to match FSF version. + + * config.guess: More merges from the FSF: + + Add a space before function call or macro invocation. + + Tue May 10 16:53:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * config.guess: Add trap cmd to remove dummy.c and dummy when + interrupted. + + Wed Apr 20 18:07:13 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * config.guess (dummy.c): Redirect stderr for `hostinfo' command. + (dummy): Redirect stderr from compilation of dummy.c. + + Sat Apr 9 14:59:28 1994 Christian Kranz (kranz@sent5.uni-duisburg.de) + + * config.guess: Distinguish between NeXTStep 2.1 and 3.x. + +Fri Aug 26 13:42:20 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com) + + * configure: Accept and ignore --cache*, for compatibility with + new autoconf. + +Fri Aug 26 13:05:27 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess: Merge from FSF: + + Thu Aug 25 20:28:51 1994 Richard Stallman + + * config.guess (Pyramid*:OSx*:*:*): New case. + (PATH): Add /.attbin at end for finding uname. + (dummy.c): Handle i860-alliant-bsd. Follow whitespace conventions. + + Wed Aug 17 18:21:02 1994 Tor Egge (tegge@pvv.unit.no) + + * config.guess (M88*:DolphinOS:*:*): New case. + + Thu Aug 11 17:00:13 1994 Stan Cox (coxs@dg-rtp.dg.com) + + * config.guess (AViiON:dgux:*:*): Use TARGET_BINARY_INTERFACE + to select whether to use ELF or COFF. + + Sun Jul 24 16:20:53 1994 Richard Stallman + + * config.guess: Recognize i860-stardent-sysv and i860-unknown-sysv. + + Sun May 1 10:23:10 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * config.guess: Guess the OS version for HPUX. + + Tue Mar 1 21:53:03 1994 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * config.guess (UNAME_VERSION): Recognize aix3.2.4 and aix3.2.5. + +Fri Aug 26 11:19:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in: Recognize --with-headers, --with-libs, and + --without-newlib. + * Makefile.in (all-xiberty): Depend upon all-ld. + +Wed Aug 24 12:36:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in: Change i[34]86 to i[345]86. + +Mon Aug 22 10:58:33 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure (version): A few more tweaks to help message. + +Fri Aug 19 12:40:25 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * Makefile.in: Remove (for now) librx as a host library, + now that we're building it for target. + +Fri Aug 19 10:49:17 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure: Fix up help message; from karl@owl.hq.ileaf.com + (Karl Berry). + +Tue Aug 16 16:11:08 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * configure.in: Also configure librx. + +Mon Aug 15 16:51:45 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * Makefile.in: Update various rules to reflect that librx + is now needed for libg++. + +Fri Aug 12 18:07:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config.sub: Accept mips64orion and mips64orionel as a CPU name. + +Mon Aug 8 11:36:17 1994 Stan Shebs (shebs@andros.cygnus.com) + + * configure.in: Configure the examples directory. + +Thu Aug 4 16:12:36 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure: Simplify Jun 2 1994 change. + +Wed Aug 3 04:58:16 1994 D. V. Henkel-Wallace (gumby@cygnus.com) + + * change CC to /usr/latest/bin/gcc for lynx host builds, since + /bin/gcc isn't good enough to build gcc. + +Wed Jul 27 09:07:14 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (GDB_SUPPORT_FILES): Remove + (setup-dirs-gdb, gdb.tar.gz, make-gdb.tar.gz): Remove old rules. + (gdb.tar.gz): Add new rule to use standard distribution building + mechanism. + +Mon Jul 25 11:10:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in: Warn about use of /usr/ucb/cc on Solaris. From + Bill Cox . + +Sat Jul 23 12:19:46 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess: Recognize ISC. Patch from kwzh@gnu.ai.mit.edu. + +Fri Jul 22 17:53:59 1994 Stu Grossman (grossman@cygnus.com) + + * configure: Search current dir first in .gdbinit. + +Fri Jul 22 11:28:30 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.sub: Recognize freebsd (merged from gcc config.sub). + +Thu Jul 21 14:10:52 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.sub: Refer to NeXT's operating system as nextstep. + + * config.sub (case $basic_machine): Re-order the cases, to match + the order in the FSF version (which is mostly alphabethical). + Merge in some additions and changes from the FSF. + +Sat Jul 16 12:03:08 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config.guess: Recognize m68k-atari-sysv4 and m88k-harris-csux7. + * config.sub: Recognize cxux7. + * configure.in: Use mh-cxux for m88k-harris-cxux*. + +Mon Jul 11 14:37:39 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.sub: Fix typo powerpc -> powerpc-*. + +Sat Jul 9 13:03:43 1994 Michael Tiemann (tiemann@blues.cygnus.com) + + * Makefile.in: `all-emacs19' depends on `all-byacc'. + + * Makefile.in: Add all-emacs19 and install-emacs19 rules (in + parallel with all-emacs and install-emacs). Top-level command + `make all-emacs19 CC=gcc' now behaves as `make all-emacs CC=gcc'. + +Thu Jun 30 16:53:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * test-build.mk ($(host)-stamp-stage2-installed): Remove + $(relbindir)/make before doing ``make install'', and use + $(GNU_MAKE) while doing it. Avoids problem on SunOS with + installing over running make binary. + ($(host)-stamp-stage3-installed): Likewise. + +Tue Jun 28 13:43:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Recognize Mach. + +Mon Jun 27 16:41:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure: Check ${exec_prefixoption}, not ${exec_prefix}, to + see whether --exec-prefix was used. + +Sun Jun 26 21:15:54 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * README: Explicitly mention libg++/README. (Zoo's idea.) + +Tue Jun 21 12:45:55 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Add all-librx target similar to all-libproc. + +Wed Jun 8 23:11:55 1994 Stu Grossman (grossman@cygnus.com) + + * config.guess: Rearrange tests for Alpha-OSF1 to properly deal + with post 1.2 uname bogosity. + +Thu Jun 9 00:27:59 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure: Remove temporary files on receipt of a signal. + +Tue Jun 7 12:06:24 1994 Ian Lance Taylor (ian@cygnus.com) + + * configure: If there is a package_makefile_frag, remove + ${subdir}/Makefile.tem after copying it in. + +Mon Jun 6 21:35:02 1994 D. V. Henkel-Wallace (gumby@cygnus.com) + + * build_all.mk: support rs6000 lynx identifies itself as + rs6000-lynx-lynxos2.2.2. Also, use /usr/cygnus/progressive/bin/gcc + since /bin/gcc is too feeble to compile a modern gcc. + +Mon Jun 6 16:06:34 1994 Karen Christiansen (karen@cirdan.cygnus.com) + + * brought devo/test-build.mk update-to-date with progressive/ + test-build.mk. Add lynx targets and hppa flag info. + +Sat Jun 4 17:23:54 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * configure.in: Use mh-ncrsvr43. Patch from + Tom McConnell . + +Fri Jun 3 17:47:24 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess (i386-unknown-bsdi): No longer need to + check #if defined(__bsdi__) && defined(__i386__). + +Thu Jun 2 18:56:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure: Set program_transform_nameoption correctly. + +Thu Jun 2 10:57:06 1994 Karen Christiansen (karen@cirdan.cygnus.com) + + * brought build-all.mk update-to-date with progressive build-all.mk, + added new targets and hppa info. + +Thu Jun 2 00:12:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure: If config.guess result is a prefix of the user + specified target, assume a native build and use the user specified + target as the host alias. Remove SunOS patch suffix removal hack. + * configure.in: Remove SunOS patch suffix removal hack. + + * Makefile.in (CROSS_CHECK_MODULES): Remove check-flex, since it's + in NATIVE_CHECK_MODULES. + +Wed Jun 1 10:49:41 1994 Bill Cox (bill@rtl.cygnus.com) + + * Makefile.in: Rename HOST_ONLY to NATIVE. + * configure: Delete SunOs patch suffix from host_canonical + and build_canonical variables that are prepended to Makefiles. + * configure.in: Add comments for easier maintenance. + +Tue May 31 19:39:47 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Add all-libproc target similar to all-gui. + +Tue May 31 17:16:33 1994 Tom Lord (lord@cygnus.com) + + * Makefile.in (CHECK_MODULES): split into + HOST_ONLY_CHECK_MODULES and CROSS_CHECK_MODULES. + +Tue May 31 16:36:36 1994 Paul Eggert (eggert@twinsun.com) + + * config.guess (i386-unknown-bsdi): New system to guess. + +Wed May 25 16:47:10 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Add all-gui target (but not yet build by "all"). + +Thu May 26 08:53:19 1994 Bill Cox (bill@rtl.cygnus.com) + + * config.sub: Move deletion of patch suffix from here... + * configure.in: To here, at Ian's suggestion. The top- + level scripts might need to know of a patch level. + +Wed May 25 09:15:54 1994 Bill Cox (bill@rtl.cygnus.com) + + * config.sub: Strip off patch suffix so rtl is recognized + as a sunos4.1.3 machine, even though it's been patched. + +Fri May 20 08:25:49 1994 Steve Chamberlain (sac@deneb.cygnus.com) + + * Makefile.in (INSTALL_LAST): Delete. + (INSTALL_DOSREL): New. + +Thu May 19 17:12:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in: Use ld for i[34]86-*-sysv4* and sparc-*-solaris2*. + Don't set use_gnu_ld to no for *-*-sysv4; that only controls + whether we pass down --with-gnu-ld anyhow. + +Thu May 19 09:29:12 1994 Steve Chamberlain (sac@cygnus.com) + + * Makefile.in (INSTALL_LAST): Change operation so it works + on more flavors of make. + * configure.in (go32): Don't build libg++ or libio. + +Fri May 13 13:28:34 1994 Steve Chamberlain (sac@cygnus.com) + + * Makefile.in (Move HOST_PREFIX_1 and friends up so + they can be overriden by templates. + +Sat May 7 16:46:44 1994 Steve Chamberlain (sac@cygnus.com) + + * configure.in (target==go32): Don't build gdb. + * dosrel: New directory. + +Fri May 6 14:19:25 1994 Steve Chamberlain (sac@cygnus.com) + + * configure.in (host==go32): Configure dosrel too. + * Makefile.in (INTALL_TARGET): Call INSTALL_LAST last. + (HOST_CC, HOST_PREFIX, HOST_PREFIX_1): Undefine, they should + be set by incoming names or templates. + (INSTALL_LAST): New rule. + * config/mh-go32: New fragment. + +Thu May 5 17:35:05 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config.sub (sparclitefrw, sparclitefrwcompat): Don't set the os. + +Thu May 5 20:06:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/mh-lynxrs6k: Renamed from mh-lynxosrs6k, to make it + unique in 8.3 naming schemes. + * configure.in (appdirs): New variable. Currently empty, but will + be used in gas distribution. If nonempty, lists a set of + directories at least one of which must get configured, or top + level configuration is considered to have failed. + (rs6000-*-lynxos*): Use new file name. + +Thu May 5 13:38:36 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Eliminate XTRAFLAGS. + * Makefile.in (CC_FOR_TARGET): If newlib exists, refer to the + newlib include files using -idirafter, and also use -nostdinc. + (CXX_FOR_TARGET): Likewise. + (XTRAFLAGS): Removed. + (BASE_FLAGS_TO_PASS): Remove XTRAFLAGS_FOR_TARGET. + (EXTRA_HOST_FLAGS): Remove XTRAFLAGS. + (EXTRA_TARGET_FLAGS, EXTRA_GCC_FLAGS): Likewise. + ($(DO_X)): Don't pass down XTRAFLAGS. + +Thu May 5 00:16:36 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * configure.in (mips*-dec-bsd*): New target; do build linker. + (mips*-*-bsd*): New target; don't build linker. + +Wed May 4 20:10:10 1994 D. V. Henkel-Wallace (gumby@cygnus.com) + + * configure.in: support rs6000-*-lynxos* configuration. + support sunos4 as a cross target. + + * config.sub: look for lynx*, not lynx since the OS version may + legitimately be part of the name. + +Tue May 3 21:48:11 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * configure.in (i[34]86-*-sco*): Move to be with other i386 + targets. + (romp-*-*): New target. Skip various binary utilities. + (vax-*-*): New target. Don't build newlib. + (vax-*-vms): Renamed from *-*-vms. Don't build opcodes or newlib. + +Thu Apr 28 15:03:05 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * configure.in: Only set host_makefile_frag if config + directory exists. + +Wed Apr 27 12:14:30 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * install.sh: If $dstdir exists, don't check whether each + component does. + +Tue Apr 26 18:11:33 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * test-build.mk (HOLES): Add sleep; used by rcs/src/conf.sh. + +Mon Apr 25 15:06:34 1994 Stan Shebs (shebs@andros.cygnus.com) + + * configure.in (*-*-lynxos*): Don't configure newlib for either + native or cross Lynx. + +Sat Apr 16 11:58:16 1994 Doug Evans (dje@canuck.cygnus.com) + + * config.sub (sparc64-elf): Fix os. + (z8k): Remove duplicate. + +Thu Apr 14 23:33:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (gcc-no-fixedincludes): Touch gcc/include/fixed, not + gcc/stmp-fixproto, to try to prevent fixproto from being run. + +Wed Apr 13 15:14:52 1994 Bill Cox (bill@cygnus.com) + + * configure: Make file links cleanly even if Lynx fails on + an NFS symlink (at least fail cleanly). + +Mon Apr 11 10:58:56 1994 Jim Wilson (wilson@sphagnum.cygnus.com) + + * test-build.mk (CC): For mips-sgi-irix4, change -XNh1500 to + -XNh2000. + +Sat Apr 9 15:10:45 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * configure: Unknown options are fatal again. + +Fri Apr 8 12:01:41 1994 David J. Mackenzie (djm@cygnus.com) + + * configure: Ignore --x-includes and --x-libraries, for Autoconf + compatibility. + +Thu Apr 7 17:31:43 1994 Doug Evans (dje@canuck.cygnus.com) + + * build-all.mk: Add `clean' target. + +Wed Apr 6 20:44:56 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config.guess: Add SINIX support. + * configure.in: Add mips-*-sysv4* support. + +Mon Apr 4 17:41:44 1994 Doug Evans (dje@canuck.cygnus.com) + + * build-all.mk: Document all useful targets. + If canonhost is sparc-sun-solaris2.3, change it to sparc-sun-solaris2. + If canonhost is mips-sgi-irix4.0.5H, change it to mips-sgi-irix4. + +Thu Mar 31 04:55:57 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * configure: Support --silent, --quiet. + +Wed Mar 30 21:37:38 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * configure: Support --disable-FEATURE. + +Tue Mar 29 19:15:05 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Recognize NCR running SVR4.3. + +Mon Mar 28 14:55:15 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess: Make BSDI generate i386-unknown-bsd386. + Patch from Paul Eggert . + +Mon Mar 28 12:54:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (powerpc-*-aix*): Treat like rs6000-*-*. + +Sat Mar 26 11:25:48 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * configure: Make unrecognized options give nonfatal warnings + instead of fatal errors, and pass them to any subdirectory + configures in case they recognize them. + Make --x equivalent to --with-x. + +Fri Mar 25 21:52:10 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * configure: Add --enable-* options. Clean up usage message and + some comments. + +Thu Mar 24 09:12:53 1994 Doug Evans (dje@canuck.cygnus.com) + + * Makefile.in (NM_FOR_TARGET): Build tree version is now nm.new. + +Sun Mar 20 11:28:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * configure.in (hppa*-*-*): Enable binutils. + +Sat Mar 19 11:50:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.sub: Recognize cisco. + +Fri Mar 18 16:42:32 1994 Jason Merrill (jason@deneb.cygnus.com) + + * Makefile.in (CXXFLAGS): Add -fexternal-templates. + +Tue Mar 15 11:25:55 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: about target *-hitachi-hiuxwe2, don't print more + than one configuration name. Add comment. + +Sun Mar 6 23:13:38 1994 Hisashi MINAMINO (minamino@sra.co.jp) + + * config.guess: about target *-hitachi-hiuxwe2, fixed + machine guessing order. [Hitachi's CPU_IS_HP_MC68K + macro is incorrect.] + +Sun Mar 13 09:10:08 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (TAGS): Just build TAGS in each subdirectory, rather + than the "make ls" stuff which used to be here. + +Fri Mar 11 12:52:39 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess: Recognize i[34]86-unknown-freebsd. + From Shawn M Carey . + +Thu Mar 3 14:24:21 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * configure.in (noconfigdirs for alpha): Remove libg++ and libio. + +Wed Mar 2 13:28:48 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * config.guess: Check for ptx. + +Mon Feb 28 16:46:50 1994 Kung Hsu (kung@mexican.cygnus.com) + + * config.sub: Add os9k checking. + +Thu Feb 24 07:09:04 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config.guess: Handle OSF1 running on HPPA processors + +Fri Feb 18 14:14:00 1994 Ken Raeburn (raeburn@rtl.cygnus.com) + + * configure: If subdir configure fails, print out a message with + subdirectory name, in case subdir's configure code didn't identify + itself. + +Fri Feb 18 12:50:15 1994 Doug Evans (dje@cygnus.com) + + * configure.in: Remove embedded newlines from configdirs. + Avoid mismatches of substrings. Fix matching strings at end + of configdirs. + +Fri Feb 11 15:33:33 1994 Stu Grossman (grossman at cygnus.com) + + * config.guess: Add Lynx/rs6000 config support. + +Tue Feb 8 13:41:09 1994 Ken Raeburn (raeburn@rtl.cygnus.com) + + * configure.in (alpha-dec-osf1*, alpha*-*-*): Build gas. + +Mon Feb 7 15:42:36 1994 Jeffrey A. Law (law@cygnus.com) + + * configure.in (hppa*-*-osf*): Treat this just like most other + PA configurations (eg no binutils or ld). + (hppa*-*-*elf*): These configurations have binutils and ld. + +Sun Feb 6 16:35:07 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config.sub (hiux): Fix typo. From m-kasahr@sramhc.sra.co.JP. + +Sat Feb 5 01:00:33 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (rs6000-*-*): Build gas. + +Wed Feb 2 13:57:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Makefile.in: Avoid bug in losing hpux sed. + +Wed Feb 2 14:53:05 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in, test-build.mk: Remove MUNCH_NM; it was only needed + for GDB and GDB has been fixed to not need it. + +Mon Jan 31 18:40:55 1994 Stu Grossman (grossman at cygnus.com) + + * config/mh-lynxosrs6k: Account for lack of ranlib! + +Sun Jan 30 17:58:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config.guess: Recognize vax hosts. + +Fri Jan 28 15:29:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * configure (while loop): Don't use "break 2" inside case + statement -- the case statement isn't an enclosing loop. + +Mon Jan 24 18:40:06 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess: Clean up NeXT support, to allow nextstep + on Intel machines. Make OS be nextstep. + +Sun Jan 23 18:47:22 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + + * config.guess: Add alternate forms for Convex. + +Thu Jan 20 16:13:41 1994 Stu Grossman (grossman at cygnus.com) + + * configure: Completely rewrite option processing. Take + advantage of pattern-matching to avoid invoking test frequently. + Also clean up host and target defaulting logic. + +Mon Jan 17 15:06:56 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * Makefile.in: Replace all occurrances of "rootme" with "r" and + "$${rootme}" with "$$r", to increase the likelihood that the do-* + commands (plus user environment) will fit SCO limits. + +Thu Jan 6 11:20:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in: Don't issue warnings about directories which are + not being configured if -norecursion is set. Correct test for + --with-gnu-as and --with-gnu-ld to not get confused by substring + matches. + + * configure.in: Don't build gas for alpha-dec-osf1*. + +Tue Jan 4 17:10:19 1994 Stu Grossman (grossman at cygnus.com) + + * configure: Back out Per's change of 12/19/1993. It changes the + behavior of configure in unexpected and confusing ways. + + Also, use different delim char when calculating + program_transform_name so that the name can contain slashes. + +Sat Jan 1 13:45:31 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * configure.in, config.sub: Add support for VSTa micro-kernel. + +Sat Dec 25 20:00:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * configure.in: Nuke hacks which were used to get a special + version of GAS for HPPA configurations. + +Sun Dec 19 20:40:44 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * configure: If only ${target_alias} is given, use that + as the default for ${host_alias}. + * configure: Add missing back-slashes before nested quotes. + +Wed Dec 15 18:07:18 1993 david d `zoo' zuhn (zoo@andros.cygnus.com) + + * Makefile.in (BASE_FLAGS_TO_PASS): add YACC=$(BISON) + +Tue Dec 14 21:25:33 1993 Per Bothner (bothner@cygnus.com) + + * config.guess: Recognize some Tektronix configurations. + From Kaveh R. Ghazi . + +Sat Dec 11 11:18:00 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * config.sub: Match any flavor of SH. + +Thu Dec 2 17:16:58 1993 Ken Raeburn (raeburn@cujo.cygnus.com) + + * configure.in: Don't try to configure newlib for Alpha. + +Thu Dec 2 14:35:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in: Don't build ld for Irix 5. Don't build gas, + libg++ or libio for any Alpha target. + + * configure.in (mips*-sgi-irix5*): New target; use mh-irix5. + * config/mh-irix5. New file for Irix 5. + +Wed Dec 1 17:00:33 1993 Jason Merrill (jason@deneb.cygnus.com) + + * Makefile.in (GZIPPROG): Renamed from GZIP, which gzip uses for + default arguments -- so it tried to compress itself. + +Tue Nov 30 13:45:15 1993 david d `zoo' zuhn (zoo@andros.cygnus.com) + + * configure.in (notsupp): ensure that a space is always at the end + of the configdirs list, since the grep checks for an explicit space + +Tue Nov 16 15:04:27 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in (target i386-sysv4.2): don't build ld, since static + versions of many libraries are not available. + +Tue Nov 16 14:28:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Recognize Apollos (using environment variables). + * configure.in: Don't configure ld, binutils, or gprof for Apollo. + +Thu Nov 11 12:03:50 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Recognize Sony news mips running newsos. + +Wed Nov 10 16:57:00 1993 Mark Eichin (eichin@cygnus.com) + + * Makefile.in (all-cygnus, build-cygnus): "fi else" needs to be + "fi ; else" for bash. + +Tue Nov 9 15:54:01 1993 Mark Eichin (eichin@cygnus.com) + + * Makefile.in (BASE_FLAGS_TO_PASS): pass SHELL. + +Fri Nov 5 08:07:27 1993 D. V. Henkel-Wallace (gumby@blues.cygnus.com) + + * config.sub: accept unixware as an alias for svr4.2. + Fix some inconsistancies with the gcc version. + +Fri Nov 5 15:14:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (DISTDOCDIRS): Add gdb. + +Fri Nov 5 11:59:42 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * Makefile.in (DISTDOCDIRS): Add libg++ and libio. + +Fri Nov 5 10:35:05 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * Makefile.in (taz): Only build "info" in DISTDOCDIRS. + (DISTDOCDIRS): Don't assume libg++ and gdb folks necessarily want + this now. + +Thu Nov 4 18:58:23 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.sub: Accept hiux* as an OS name. + + * Makefile.in: Change RUNTEST_FLAGS back to RUNTESTFLAGS per + etc/make-stds.texi. The underscore came from gcc, and dje now + agrees that RUNTESTFLAGS is the correct name. + +Thu Nov 4 10:49:01 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * install.sh: Remove 'set -e'. It makes any conditionals + in the script useless. + + * config.guess: Automatically recognize arm-acorn-riscix + Patch from Richard Earnshaw (rwe11@cl.cam.ac.uk). + +Thu Nov 04 08:08:04 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: Change RUNTESTFLAGS to RUNTEST_FLAGS + +Wed Nov 3 22:09:46 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * Makefile.in (DISTDOCDIRS): New variable. + (taz): Edit local Makefile.in sooner, instead of proto-toplev + Makefile.in later. Build "info" and "dvi" in DISTDOCDIRS. + +Wed Nov 3 21:31:52 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in (hppa target): check the source directory for the + pagas sub-directory + +Wed Nov 3 11:12:22 1993 Doug Evans (dje@canuck.cygnus.com) + + * config.sub: Allow -aout* and -elf*. + +Wed Nov 3 11:08:33 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * configure.in: Don't build ld on i386-solaris2, same as for + sparc-solaris2. + +Tue Nov 2 14:21:25 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * Makefile.in (taz): Add texinfo/lgpl.texinfo (for libg++). + +Tue Nov 2 13:38:30 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.in: Configure gdb for alpha. + +Mon Nov 1 10:42:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (CXXFLAGS): Add -O. + +Wed Oct 27 10:45:06 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config.guess: added support for DG Aviion + +Tue Oct 26 14:37:37 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * configure.in: Produce warning message for subdirectories not + configurable for this host/target combination. Don't try to + configure gdb for vms. + +Mon Oct 25 11:22:15 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * Makefile.in (taz): Replace "byacc" with "bison -y" in the + appropriate files before making "diststuff". + (DISTBISONFILES): New var: list of files to be edited. + (DISTSTUFFDIRS): Add binutils. + +Fri Oct 22 20:32:15 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config.sub: also handle mipsel and mips64el (for little endian mips) + +Fri Oct 22 07:59:20 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Add * to end of all OS names. + +Thu Oct 21 11:38:28 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * configure.in: Build newlib for LynxOS native. + +Wed Oct 20 09:56:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Add support for delta 88k running SVR3. + + * configure.in: Add comment about HP compiler vs. emacs. + +Tue Oct 19 16:02:22 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: don't build ld on solaris2 (not a viable option + due to bugs in getpwnam & getpwuid) + +Tue Oct 19 15:13:56 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * configure.in: Accept alpha-dec-osf1*, not just -osf1, since + config.guess will produce a full version number. + +Tue Oct 19 15:58:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in: Build linker and binutils for alpha-dec-osf1. + +Tue Oct 19 11:41:55 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Remove -O from CXXFLAGS for consistency with CFLAGS, + and gdb/testsuite/Makefile.in. + +Sat Oct 9 18:39:07 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: recognize mips*- instead of mips- + +Fri Oct 8 14:15:39 1993 Ken Raeburn (raeburn@cygnus.com) + + * config.sub: Accept linux*coff and linux*elf as operating + systems. + +Tue Oct 7 14:24:41 1997 Ian Lance Taylor + + * ltmain.sh: Handle symlinks in generated script. + +Thu Oct 7 12:57:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config.sub: Recognize mips64, and mips3 as an alias for it. + +Wed Oct 6 13:54:21 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.in: Remove alpha-dec-osf*, no longer necessary now that + gdb knows how to handle OSF/1 shared libraries. + +Tue Oct 5 11:55:04 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Recognize hppa*-*-hiux* (currently synonym for hpux). + * config.guess: Recognize Hitachi's HIUX. + * config.sub: Recognize h3050r* and hppahitachi. + Remove redundant cases for hp9k[23]*. + +Mon Oct 4 16:15:09 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: default to '--with-gnu-as' and '--with-gnu-ld' + if gas and ld are in the source tree and are in ${configdirs}. + If ${use_gnu_as} or ${use_gnu_ld} are 'no', then don't set the + --with options (but still pass them down on the command line, + if they were explicitly specified). + +Wed Oct 1 13:11:27 1997 Ian Lance Taylor + + * configure: Handle autoconf style directory options: --bindir, + --datadir, --includedir, --infodir, --libdir, --libexecdir, + --mandir, --oldincludedir, --sbindir, --sharedstatedir, + --sysconfdir. + * Makefile.in (sbindir, libexecdir, sysconfdir): New variables. + (sharedstatedir, localstatedir, oldincludedir): New variables. + (BASE_FLAGS_TO_PASS): Pass down bindir, datadir, includedir, + infodir, libdir, libexecdir, localstatedir, mandir, oldincludedir, + sbindir, sharedstatedir, and sysconfdir. + +Fri Sep 24 19:11:13 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure: substitute SHELL value in Makefile.in with + ${CONFIG_SHELL} + +Wed Sep 24 15:18:32 1997 Ian Lance Taylor + + * ltmain.sh: Tweak shell pattern to avoid bug in NetBSD /bin/sh. + +Thu Sep 23 18:05:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in: Build gas, ld, and binutils for *-*-sysv4* and + *-*-solaris2* targets. + +Sun Sep 19 17:01:41 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * Makefile.in: define M4, and pass it down to sub-makes; + all-autoconf now depends on all-m4 + +Sat Sep 18 00:38:23 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * Makefile.in ({AR,RANLIB}_FOR_TARGET): make contingent on + presence of {ar,ranlib} instead of a configured directory + +Wed Sep 15 08:41:44 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * config.guess: Accept 34?? as well as 33?? for NCR. + +Mon Sep 13 12:28:43 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: grab mt-hppa for HPPA targets; use 'gas ' instead + of 'gas' in sed commands, since 'gash' is now in the tree as well. + +Fri Sep 10 11:23:52 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure: grab values for $(CC) and $(CXX) from the + environment, so that someone can do "CC=gcc configure; make" and + have it work right (matching the way that autoconf works now) + + * configure.in, Makefile.in: add support for gash, the tcl + interface to Galaxy + + * config.guess: add NetBSD variants (hp300, x86) + +Thu Sep 9 16:48:52 1993 Jason Merrill (jason@deneb.cygnus.com) + + * install.sh: Support -d option (in the manner of SunOS 4 install, + as it is more deterministic than that of GNU install) + (chmodcmd): Set file to mode 755 by default (should also do default + chgrp and chown, but I don't feel like dealing with that now) + +Tue Sep 7 11:59:39 1993 Doug Evans (dje@canuck.cygnus.com) + + * config.sub: Remove h8300hhms alias. + +Tue Aug 31 11:00:09 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Match *-*-solaris2* not *-sun-solaris2*. + +Mon Aug 30 18:29:10 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * Makefile.in (gcc-no-fixedincludes): touch stmp-fixproto as well + as stmp-fixinc + +Wed Aug 25 16:35:59 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config.sub: recognize m88110-bug-coff. + +Tue Aug 24 10:23:24 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * Makefile.in (all-libio): all dependencies on the toolchain used + to build this (gcc, gas, ld, etc) + +Fri Aug 20 17:24:24 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Deal with OSF/1 1.3 on alpha. + +Thu Aug 19 11:43:04 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * install.sh: add some 'else true' clauses for portability + + * configure.in: don't build libio for h8[35]00-*-* targets + +Tue Aug 17 19:02:31 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * Makefile.in: Add support for new libio. + +Sun Aug 15 20:48:55 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * install.sh: If one command fails, don't try the rest. Don't try + to remove $dsttmp (via trap) unless we have already created it. + If $src doesn't exist, detect it and exit with an error. + + * config.guess: Recognize BSD on hp300. + +Wed Aug 11 18:35:13 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * config.guess: Map (9000/[34]??:HP-UX:*:*) to m68k-hp-hpux. + Bug report from "Hamish (H.I.) Macdonald" . + +Wed Aug 11 15:37:51 1993 Jason Merrill (jason@deneb.cygnus.com) + + * Makefile.in (all-send-pr): depends on all-prms + +Wed Aug 11 16:56:03 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Fix typo (9000/8??:4.3bsd -> 9000/7??:4.3bsd). + +Fri Aug 6 14:45:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config.guess: From michael@mercury.cs.mun.ca (Michael Rendell): + Added test for mips-mips-riscos5. + +Thu Aug 5 15:45:08 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: use mh-hp300 for 68k HP hosts + +Mon Aug 2 11:56:53 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure: add support for CONFIG_SHELL, so that you can use + some alternate shell for evaluating configure scripts + +Sun Aug 1 11:36:27 1993 Fred Fish (fnf@deneb.cygnus.com) + + * Makefile.in (make-gdb.tar.gz): Sed bug reporting address + in configure script to bug-gdb@prep.ai.mit.edu when building + distribution archive. + * Makefile.in (COMPRESS): Remove def. + * Makefile.in (gdb.tar.gz, make-gdb.tar.gz): Renamed from + gdb.tar.Z and make-gdb.tar.Z respectively. + * Makefile.in (make-gdb.tar.gz): Now only build gzip'd archive. + * Makefile.in (make-gdb.tar.gz): Minor changes to move closer + to convergence with 'taz' target in Makefile.in. + +Fri Jul 30 12:34:57 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * install.sh (dsttmp): use trap to ensure that tmp files go + away on error conditions + +Wed Jul 28 11:57:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * Makefile.in (BASE_FLAGS_TO_PASS): remove LOADLIBES + +Tue Jul 27 12:43:40 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (install-dirs): Deal with a prefix like /gnu; + its parent is '/' not ''. + + * Makefile.in (DEVO_SUPPORT): Add comments about ChangeLog. + +Fri Jul 23 09:53:37 1993 Jason Merrill (jason@wahini.cygnus.com) + + * configure: if ${newsrcdir}/configure doesn't exist, don't assume + that ${newsrcdir}/configure.in does. + +Tue Jul 20 11:28:50 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * test-build.mk: support for CONFIG_SHELL + +Mon Jul 19 21:54:46 1993 Fred Fish (fnf@deneb.cygnus.com) + + * config.sub (netware): Add as a basic system type. + +Wed Jul 14 12:03:11 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (Makefile): depend on configure.in. Also drop the + $(srcdir)/ from the dependency on Makefile.in. + +Tue Jul 13 20:10:58 1993 Doug Evans (dje@canuck.cygnus.com) + + * config.sub: Recognize h8300hhms as h8300h-hitachi-hms. + (h8300hhms is temporary until multi-libraries are implemented). + * configure.in: Handle h8300h too. + +Sun Jul 11 17:35:27 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Recognize dpx/2 as m68k-bull-sysv3. + +Thu Jul 8 18:26:12 1993 John Gilmore (gnu@cygnus.com) + + * configure: Remove extraneous output when guessing host type. + * config.guess: Remove extraneous output when guessing using C + compiler rather than uname, or when guessing fails. + +Wed Jul 7 17:58:14 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com) + + * Makefile.in: remove all.cross and install.cross targets + + * configure: remove CROSS=-DCROSS_COMPILE and ALL=all.cross + definitions + +Tue Jul 6 10:39:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * configure.in (target sh): Build gprof. + +Thu Jul 1 16:52:56 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config.sub: change -solaris to -solaris2 + +Thu Jul 1 15:46:16 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Use config/mh-riscos for mips-*-sysv*. + +Wed Jun 30 09:31:58 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure: Correct error message for missing Makefile.in to + print correct directory. + +Tue Jun 29 13:52:16 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * install.sh: kludge around 386BSD shell bug + +Tue Jun 29 13:06:49 1993 Per Bothner (bothner@rtl.cygnus.com) + + * config.guess: Recognize NeXT. + * config.guess: Recognize i486-ncr-sysv4. + * Makefile.in (taz): rm $(TOOL)-$$VER before linking. + +Tue Jun 29 12:50:57 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (MAKEINFOFLAGS): New variable. + (FLAGS_TO_PASS): Pass MAKEINFO as MAKEINFO MAKEINFOFLAGS. + * build-all.mk, test-build.mk: Pass down --no-split as + MAKEINFOFLAGS when hosted on DOS. Compile DOS hosted without -g. + +Thu Jun 24 13:39:11 1993 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in (DEVO_SUPPORT): Add COPYING COPYING.LIB install.sh. + +Wed Jun 23 12:59:21 1993 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in (libg++.tar.z): New rule. + * Makefile.in (taz): Replace 'configure -rm' by 'make distclean'. + * Makefile.in (taz): Only do a single chmod. + +Fri Jun 18 12:03:10 1993 david d `zoo' zuhn (zoo at majipoor.cygnus.com) + + * install.sh: don't use dirname anymore (replaced with sed usage) + +Thu Jun 17 18:43:42 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in: Change extension for gzip'd files from '.z' to + '.gz' per new FSF standard usage. + +Thu Jun 17 16:58:50 1993 david d `zoo' zuhn (zoo at majipoor.cygnus.com) + + * configure: put quotes around the final value of program_transform_name + +Tue Jun 15 16:48:51 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: new install.sh support; update install-info rules + +Wed Jun 9 12:31:34 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in: Build diff for crosses, but not for go32 host. + + * configure.in: Build gprof only for native, and don't build it + for mips-*-*, rs6000-*-*, or i[34]86-*-sco*. + +Mon Jun 7 13:12:11 1993 david d `zoo' zuhn (zoo at deneb.cygnus.com) + + * configure.in: don't build gas,ld,binutils on for *-*-sysv4 + +Mon Jun 7 11:40:11 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * configure.in (host_tools): Add prms. + +Fri Jun 4 13:30:42 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: install gcc, do installation of $(INSTALL_MODULES) + with $(FLAGS_TO_PASS) on the command line + + * config.sub: Recognize lynx and lynxos + +Fri Jun 4 10:59:56 1993 Ian Lance Taylor (ian@cygnus.com) + + * config.sub: Accept -ecoff*, not just -ecoff. + +Thu Jun 3 17:38:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (taz): Use .gz suffix instead of .z. + (binutils.tar.gz, gas+binutils.tar.gz, gas.tar.gz): Fixed target + names. + +Thu Jun 3 00:27:06 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in (vault-install): add an 'else true' (for Ultrix) + +Wed Jun 2 18:19:16 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in (install-no-fixedincludes): install gcc last, so + that rebuilds that might happen during 'make install' don't get + bogus gcc include files + +Wed Jun 2 16:14:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + Change from Utah for HPPA support: + * config.guess: Recognize hppa1.x-hp-bsd. + +Wed Jun 2 11:53:33 1993 Per Bothner (bothner@rtl.cygnus.com) + + * config.guess: Add support for Motorola Delta 68k, up to r3v7. + Patch from pot@fly.cnuce.cnr.it (Francesco Potorti`). + +Tue Jun 1 17:48:42 1993 Rob Savoye (rob at darkstar.cygnus.com) + + * config.sub: Add support for rom68k and bug boot monitors. + +Mon May 31 09:36:37 1993 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in: Make all-opcodes depend on all-bfd. + +Thu May 27 08:05:31 1993 Ian Lance Taylor (ian@cygnus.com) + + * config.guess: Added special check for i[34]86-univel-sysv4*. + +Wed May 26 16:33:40 1993 Ian Lance Taylor (ian@cygnus.com) + + * config.guess: For i[34]86-unknown-sysv4 use UNAME_MACHINE for + the processor rather than assuming i486. + +Wed May 26 09:40:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.guess: Recognize SunOS6 as Solaris3. + +Tue May 25 23:03:11 1993 Per Bothner (bothner@cygnus.com) + + * config.guess: Fix typo. Avoid #elif (not in K&R 1). + Recognize SunOS 5.* only (and not [6-9].*) as being Solaris2. + +Tue May 25 12:44:18 1993 Ian Lance Taylor (ian@cygnus.com) + + * build-all.mk (all-cross): New target for Canadian Cross. + Added Q2 go32 targets. + * test-build.mk: Configure go32 cross sparclite-aout and + mips-idt-ecoff -with-gnu-ld. Moved build binary directory from + PARTIAL_HOLE_DIRS to BUILD_HOLES_DIRS. + +Mon May 24 15:30:06 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: fix Alpha GDB typo; also, don't build DejaGnu for + GO32 hosted toolchains + +Mon May 24 14:18:41 1993 Rob Savoye (rob at darkstar.cygnus.com) + + * configure: change so "-exec-prefix" gets passed down rather + than "-exec_prefix" so autoconf generated Makefiles get the + exec_prefix set right. + +Fri May 21 10:42:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config.guess: get the Solaris2 minor version number + + * Makefile.in: add standards.texi and make-stds.texi to ETC_SUPPORT + +Fri May 21 06:20:52 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * config.guess: Recognize some Sequent platforms. + +Thu May 20 14:33:48 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: added the vault-install target + + * configure.in: actually use the Sun3 makefile fragment that's in + config, also added the release dir to configdirs + +Thu May 20 14:19:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (taz): Fix modes on stuff in $(TOOL) dir also. + +Tue May 18 20:26:41 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: remove some program from Alpha targetted toolchains + +Tue May 18 15:23:19 1993 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (DISTSTUFFDIRS): Renamed from PROTODIRS. Add ld and + gprof. + (taz): Run "make diststuff" in those directories instead of "make + proto-dir". Look for "VERSION=" only at start of line in subdir + Makefile. Use "gzip -9" for compression. + (TEXINFO_SUPPORT, DIST_SUPPORT, BINUTILS_SUPPORT_DIRS): New vars. + (binutils.tar.z): New target. + +Mon May 17 17:01:15 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * Makefile.in (taz): Include gpl.texinfo. + +Fri May 14 06:48:38 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * Makefile.in (setup-dirs): Merged into "taz" target. + (taz): Only do `proto-dir' stuff if a directory is actually needed + for this target. + +Wed May 12 13:09:44 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (MUNCH_NM): New variable, defined to be $(NM). + (FLAGS_TO_PASS): Pass down MUNCH_NM. + (HOST_CC, HOST_PREFIX, HOST_PREFIX_1): New variables. + (EXTRA_GCC_FLAGS): Pass down HOST_* variables. + (gcc-no-fixedincludes): Correct for current gcc Makefile. + +Tue May 11 10:14:25 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (make-gdb.tar.Z): Add configure, config.guess, + config.sub, and move-if-change to gdb testsuite distribution + archive, so the testsuite can be extracted, configured, and + run separately from the gdb distribution. Blow away the Chill + tests that require a Chill compiled executable, since GNU Chill + is not yet publically available. + +Mon May 10 17:22:26 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * test-build.mk: set environment variables in a single command, + instead of a list of assignments and exports + + * config.guess: recognize Alpha/OSF1 systems + +Mon May 10 14:55:51 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * configure: Change help message to prefer --options rather than + -options. + +Mon May 10 05:58:35 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config.sub: Convergent Tech. "miniframe" uses m68010, sez + zippy@ecst.csuchico.edu. + * config.guess: Recognize miniframe. + +Sun May 9 17:47:57 1993 Rob Savoye (rob at darkstar.cygnus.com) + + * Makefile.in: Use srcroot to find runtest rather than rootme. + Pass RUNTESTFLAGS and EXPECT down in BASE_FLAGS_TO_PASS. + +Fri May 7 14:55:59 1993 Ian Lance Taylor (ian@cygnus.com) + + * test-build.mk: Extensive additions to support building on a + machine other than the host. + +Wed May 5 08:35:04 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * configure (tooldir): Fix for i386-aix again. + +Mon May 3 19:00:27 1993 Per Bothner (bothner@cygnus.com) + + * configure, Makefile.in: Change definition of $(tooldir) + to match the FSF. + +Fri Apr 30 15:55:21 1993 Fred Fish (fnf@cygnus.com) + + * config.guess: Recognize i[34]86/SVR4. + +Fri Apr 30 15:52:46 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * Makefile.in (all-gdb): gdb depends on sim. + +Thu Apr 29 23:30:48 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (gdb.tar.Z): Make prototype gdb testsuite directory + at the same time we make the prototype gdb directory. + * Makefile.in (make-gdb.tar.Z): Make the testsuite distribution + files at the same time as the gdb base release distribution. + +Thu Apr 29 12:50:37 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (check): Use individual check targets rather than + DO_X rule. + (check-gcc): Added. + +Thu Apr 29 09:50:07 1993 Jim Kingdon (kingdon@cygnus.com) + + * config.sub: Use sysv3.2 not sysv32 for canonical OS + for System V release 3.2. + +Thu Apr 29 10:33:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config.sub: Recognize hppaosf. + * configure.in: Do configure ld/binutils/gas for it. + +Tue Apr 27 06:25:34 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * configure (tooldir): Alter syntax used to set this, for systems + where "\$" isn't handled right, like i386-aix. + +Thu Apr 22 08:17:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure: Pass program-transform-name, not + program_transform_name, to recursive configures. + +Thu Apr 22 02:58:21 1993 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (gas+binutils.tar.z): New rule for building snapshots + of gas+ld+binutils. + +Mon Apr 19 17:41:30 1993 Per Bothner (bothner@cygnus.com) + + * config.guess: Recognize AIX3.2 as distinct from 3.1. + +Sat Apr 17 17:19:50 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: rename m88k-motorola-m88kbcs to m88k-motorola-sysv + + * config/mh-delta88: remove extraneous GCC references + +Tue Apr 13 16:52:16 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * Makefile.in (PRMS): Set back to all-prms. + +Sat Apr 10 12:04:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * test-build.mk: Pass -with-gnu-as for known MIPS native and MIPS + targets, rather than for MIPS hosts. + +Fri Apr 9 13:51:06 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: add comment for --with-x default values + + * config.guess: handle Motorola Delta88 box for SVR3 and SVR4. + + * Makefile.in: add check-* targets for each of the directories in + the tree. Add a definition of RUNTEST that will use the one we + just built, if it exists. Pass this down via FLAGS_TO_PASS. + +Thu Apr 8 09:21:30 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in: Removed obsolete references to bfd_target and + target_makefile_frag. + + * build-all.mk: Set assorted targets for Q2. + * config.sub: Recognize z8k-sim and h8300-hms. + * test-build.mk: Really don't pass host to configure. + (HOLES): Added uname. + +Wed Apr 7 15:48:19 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure: Handle an empty program-prefix, program-suffix or + program-transform-name correctly. + +Tue Apr 6 13:48:41 1993 Ian Lance Taylor (ian@cygnus.com) + + * build-all.mk: -G 8 no longer required for MIPS targets. + * test-build.mk: Don't pass host argument to configure; make it + guess. + +Tue Apr 6 10:36:53 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (gdb.tar.Z): Fix for building gzip'd distribution. + * Makefile.in (COMPRESS): New macro, like GZIP. + +Fri Apr 2 09:02:31 1993 Ian Lance Taylor (ian@cygnus.com) + + * test-build.mk: Use -with-gnu-as for mips-sgi-irix4 as well. + + * build-all.mk: Set GCC to gcc -O -G 8 for MIPS targets, since gcc + with gas currently defaults to -G 0. + +Thu Apr 1 08:25:42 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (all-flex): flex depends on byacc. + + * build-all.mk: If host not specified, use config.guess. Pass TAG + to test-build.mk as RELEASE_TAG. + * test-build.mk (configargs): New variable containing arguments to + pass to configure. Set to -with-gnu-as on mips-dec-ultrix. + (FLAGS_TO_PASS): Pass down RELEASE_TAG. + + * config.guess: Use /bin/uname when checking -X argument on SCO, + to avoid invoking GNU uname which doesn't understand -X. + + * test-build.mk: Don't use /usr/unsupported/bin/as on AIX. + + * configure.in: Build gas for mips-*-*. + +Wed Mar 31 21:20:58 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in (all.normal): insert missing backslash. + +Wed Mar 31 12:31:56 1993 Ian Lance Taylor (ian@cygnus.com) + + * build-all.mk, config/mh-irix4: Bump -XNh value to 1500 to match + gcc requirements. + + * Makefile.in: Complete overhaul to merge many almost identical + targets. + +Tue Mar 30 20:17:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (setup-dirs-gdb): Renamed from setup-dirs. + (gdb.tar.Z): Adjusted. + + * Makefile.in (setup-dirs, taz): New targets; should be general + enough to adapt for gdb sometime. Build only .z file. + (gas.tar.z): New target. + +Tue Mar 30 10:03:09 1993 Ian Lance Taylor (ian@cygnus.com) + + * build-all.mk: Use CC=cc -Xs on Solaris. + +Mon Mar 29 19:59:26 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/mh-sun3: cc needs -J to compile cp-parse.c correctly + + * config/mh-solaris: SunPRO C needs -Xs to be able to get a + working xmakefile for Emacs. + +Thu Mar 25 15:14:30 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in: Incorporate changes suggested by wilson@cygnus.com + for handling BISON for FSF releases. + +Thu Mar 25 06:19:48 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * configure: Actually implement the change zoo just documented. + +Wed Mar 24 13:02:44 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) + + * configure: when using config.guess, only set target_alias when + it's not already been set (ie, on the command line) + +Mon Mar 22 23:07:39 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: add installcheck target, set PRMS to install-prms + +Sun Mar 21 16:46:12 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure: add support for package_makefile_fragment, handle the + case where a directory has a configure.in file but no Makefile.in + more gracefully (with an actual understandable error message, even); + add support for --without (and add this to the usage message); also + explicitly add a --host=${host_alias} to the command line when + config.guess is used + +Sun Mar 21 12:11:58 1993 Jim Wilson (wilson@sphagnum.cygnus.com) + + * configure: Must use both --host and --target in recursive calls. + +Thu Mar 18 12:31:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: Change deja-gnu to dejagnu. + +Mon Mar 15 15:44:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (h8300-*-*, h8500-*-*): Don't build libg++. + +Fri Mar 12 18:30:14 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: canonicalize all instances to *-*-solaris2*, + also strip out a number of tools to not build for go32 host + +Wed Mar 10 12:08:27 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * config.guess: add GPL. + + * Makefile.in, config.guess, config.sub, configure: bump + copyrights to 93. + +Wed Mar 10 07:12:48 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (do-info): Removed obsolete check for existence of + localenv file. + + * Makefile.in (MAKEOVERRIDES): Define to be empty. + +Wed Mar 10 03:11:56 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: a couple of 'else true' for decstation, + support for TclX + + * configure.in: configure tclX too; don't remove Tk on RS/6000 anymore + +Tue Mar 9 16:06:12 1993 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in (setup-dirs): change invocation of make to $(MAKE). + +Mon Mar 8 14:52:11 1993 Ken Raeburn (raeburn@cambridge) + + * config.guess: Recognize i386-ibm-aix (PS/2). + * configure.in: Use config/mh-aix386 file for it. + +Mon Mar 8 11:12:43 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (GCC_FOR_TARGET): Eliminated definition; use + CC_FOR_TARGET instead. + (BASE_FLAGS_TO_PASS): Pass GCC_FOR_TARGET=$(CC_FOR_TARGET). + +Wed Mar 3 16:00:28 1993 Steve Chamberlain (sac@ok.cygnus.com) + + * Makefile.in: Add sim to list of directories sent with gdb + +Wed Mar 3 11:42:39 1993 Ken Raeburn (raeburn@cygnus.com) + + * configure.in: Put back mips-dec-bsd* case. + +Tue Mar 2 21:15:58 1993 Fred Fish (fnf@cygnus.com) + + (Ultrix 2.2 support from Michael Rendell ) + * configure.in (vax-*-ultrix2*): Add Ultrix 2.2 triplet. + * config.guess: Change 'VAX*:ULTRIX:*:*' to 'VAX*:ULTRIX*:*:*'. + * config/mh-vaxult2: New file. + +Tue Mar 2 18:11:03 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: remove no-op mips-dec-bsd* in "case $target" + + * Makefile.in (dir.info): only run gen-info-dir if it exists, + (install-info): install dir.info only if it exists, + (all-expect, install-expect): pass along X11_FLAGS_TO_PASS + +Tue Mar 2 09:01:30 1993 Ken Raeburn (raeburn@cygnus.com) + + * configure.in: For vms target, skip bfd, ld, binutils. Do build + gas for mips-dec-bsd. + +Tue Mar 2 08:35:24 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure (makesrcdir): If ${srcdir} is relative and not ".", + and ${subdir} is not ".", set makesrcdir based on ${invsubdir}. + +Tue Feb 23 14:18:28 1993 Mike Werner (mtw@poseidon.cygnus.com) + + * configure.in: Added "dejagnu" to hosttools list. + +Mon Feb 22 23:28:38 1993 Per Bothner (bothner@rtl.cygnus.com) + + * config.sub, configure.in, config.guess: Add support + for Bosx, an AIX variant from Bull. + Patches from F.Pierresteguy@frcl.bull.fr. + +Sun Feb 21 11:15:22 1993 Mike Werner (mtw@poseidon.cygnus.com) + + * devo/dejagnu: Initial creation of devo/dejagnu. + Migrated dejagnu testcases and support files for testing software + tools to reside as subdirectories, currently called "testsuite", + within the directory of the software tool. Migrated all programs, + support libraries, etc. beloging to dejagnu proper from + devo/deja-gnu to devo/dejagnu. These files were moved "as is" + with no modifications. The changes to these files which will + allow them to configure, build, and execute properly will be made + in a future update. + +Fri Feb 19 20:19:39 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * Makefile.in: Change send_pr to send-pr. + * configure.in: Likewise. + * send_pr: Renamed directory to send-pr. + +Fri Feb 19 19:00:13 1993 Per Bothner (bothner@cygnus.com) + + * Makefile.in: Add some extra semi-colons (needed if SHELL=bash). + +Fri Feb 19 00:59:33 1993 John Gilmore (gnu@cygnus.com) + + * README: Update for gdb-4.8 release. + * Makefile.in (gdb.tar.Z): Add texinfo/tex3patch. Build + gdb-xxx.tar.z (gzip'd) file also. + +Thu Feb 18 09:16:17 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: make all-diff depend on all-libiberty + +Tue Feb 16 16:06:31 1993 K. Richard Pixley (rich@cygnus.com) + + * config.guess: add vax-ultrix in the spirit of mips-ultrix. + +Tue Feb 16 05:57:15 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in, Makefile.in: add hello, tar, gzip, recode, indent + +Tue Feb 16 00:58:20 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (DEVO_SUPPORT): Remove etc directory + (ETC_SUPPORT): Only add the files GDB wants from etc/. + (gdb.tar.Z): Use ETC_SUPPORT. Use byacc when building the file. + +Thu Feb 11 20:14:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: makeinfo binary is in a new location + +Tue Feb 9 12:42:27 1993 Ian Lance Taylor (ian@cygnus.com) + + * config.sub: Accept -ecoff as an OS. + + * Makefile.in: Various changes to eliminate a level of make + recursion and reduce the required command line length. + (BASE_FLAGS_TO_PASS): New variable holding flags passed to all + sub-makes. + (EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS, EXTRA_GCC_FLAGS): New + variables holding settings for specific sub-makes. + (FLAGS_TO_PASS, TARGET_FLAGS_TO_PASS, GCC_FLAGS_TO_PASS): Rewrote + in terms of BASE_FLAGS_TO_PASS. + (TARGET_LIBS): New variable listing directories which use + TARGET_FLAGS_TO_PASS. + (subdir_do): Eliminated. + (do-*): New set of targets to replace subdir_do. + (various): All targets which used subdir_do now depend on do-*. + (local-clean): Renamed from do_clean. + (local-distclean): New target, dependency of distclean and + realclean. + (install-info): Don't create directories. Depend on dir.info + rather than calling make recursively. + (install-dir.info): Eliminated. + (install-info-dirs): Create all info directories here. + (dir.info): Depend upon do-install-info. + + * test-build.mk (HOLES): Added false. + +Sat Feb 6 14:05:09 1993 Per Bothner (bothner@rtl.cygnus.com) + + * config.guess: Recognize BSDI and BSDJ (Jolitz 386bsd). + +Thu Feb 4 20:49:18 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in (info): remove dependency on all-texinfo. The + problem was really in texinfo/C, not at this level. + +Thu Feb 4 13:38:41 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (info): Added dependency on all-texinfo (PR 2112). + +Thu Feb 4 01:50:53 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (make-gdb.tar.Z): Change BISON to 'bison -y' for + GDB releases. + +Wed Feb 3 17:22:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure: Include srcdir in message about target of link not + being found. Don't convert `-' to `_' in `with' options being + passed to subdirs. + +Tue Feb 2 18:57:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: add uudecode to host_tools + + * Makefile.in: added {all,install}-uudecode targets, added them to + the appropriate lists + +Tue Feb 2 11:45:53 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (all-gcc): Added dependency on all-gas. + + * configure.in (mips-*-*): Build ld and binutils. + +Mon Feb 1 12:35:41 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * configure: check return code from mkdir, print error message and + exit on failure. + +Sat Jan 30 16:40:28 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (make-gdb.tar.Z): New location for texinfo.tex. + +Thu Jan 28 15:09:59 1993 Ian Lance Taylor (ian@cygnus.com) + + * test-build.mk (HOLES): Added tar, cpio and uudecode. + +Wed Jan 27 16:50:32 1993 Jim Wilson (wilson@sphagnum.cygnus.com) + + * config.sub (h8500): Recognize this as a cpu type. + +Sat Jan 23 20:32:01 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure: source directory missing is no longer a warning + + * configure.in: recognize irix[34]* instead of irix[34] + + * Makefile.in: define and pass down X11_LIB + + * config/mh-sco: define X11_LIB to the mess that SCO ODT requires + +Sat Jan 23 13:49:40 1993 Per Bothner (bothner@cygnus.com) + + * guess-systype: Renamed to ... + * config.guess: ... by popular request. + * configure.in, Makefile.in: Update accordingly. + +Thu Jan 21 12:20:55 1993 Per Bothner (bothner@cygnus.com) + + * guess-systype: Patches from John Eaton : + + Add Convex, Cray/Unicos, and Encore/Multimax support. + + Execute ./dummy instead of assuming . is in PATH. + +Tue Jan 19 17:18:06 1993 Per Bothner (bothner@cygnus.com) + + * guess-systype: New shell script. Attempts to guess the + canonical host name of the executing host. + Only a few hosts are supported so far. + * configure: Call guess-systype if no host is specified. + +Tue Jan 19 08:26:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (gcc-no-fixedincludes): Made to work with current + gcc Makefile. + + +Fri Jan 15 10:27:02 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (GCC_FLAGS_TO_PASS): New variable. + (all-gcc, install-gcc, subdir_do): Use it. + +Wed Jan 13 17:06:45 1993 Jim Wilson (wilson@sphagnum.cygnus.com) + + * Makefile.in: Rename uninstalled gcc driver from gcc to xgcc. + +Wed Jan 6 20:29:16 1993 Mike Werner (mtw@rtl.cygnus.com) + + * Makefile.in: Removed explicit setting of SUBDIRS. SUBDIRS is now + set exclusively by configure, using configure.in . + +Wed Jan 6 13:44:11 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * test-build.mk: set $PATH for all builds + + * Makefile.in: pass TARGET_FLAGS_TO_PASS for xiberty and libm + +Wed Jan 6 11:02:10 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (GCC_FOR_TARGET): Supply a default that matches + the one used in gcc/Makefile.in, so that a null expansion doesn't + override the one needed to build gcc with a native cc. + + +Tue Jan 5 07:55:12 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure: Accept -with arguments. + +Sun Jan 3 15:15:09 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * Makefile.in: added h8300sim + +Tue Dec 29 15:06:00 1992 Ian Lance Taylor (ian@cygnus.com) + + * config/mh-sco: Don't override BISON definition. + + * build-all.mk: If canonhost is i386-unknown-sco3.2v4, change it + to i386-sco3.2v4. Set TARGETS and CFLAGS for i386-sco3.2v4. + (all-cygnus, native, build-cygnus): Make + $(canonhost)-stamp-3stage-done, not $(host).... + * test-build.mk (stamp-3stage-compared): Use tail +10c for + i386-sco3.2v4. Added else true to if command. + +Mon Dec 28 12:08:56 1992 Ken Raeburn (raeburn@cygnus.com) + + * config.sub: (from FSF) Sequent uses a BSD-like OS. + +Mon Dec 28 08:32:06 1992 Minh Tran-Le (mtranle@paris.intellicorp.com) + + * configure.in (i[34]86-*-isc*): added; uses mh-sysv. + +Thu Dec 24 17:26:24 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: don't remove binutils from Solaris builds + +Thu Dec 24 14:08:38 1992 david d`zoo' zuhn (zoo@cygnus.com) + + * Makefile.in: get rid of earlier definitions for *clean, + also handle the recursive info rule better + +Thu Dec 24 12:40:21 1992 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in (mostlyclean, distclean, realclean): Fix to + do more-or-less the right thing. + +Wed Dec 16 10:25:31 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: Add lines defining CC and CXX, and use CXX rather + than gcc in definitions of CXX_FOR_BUILD and CXX_FOR_TARGET. + +Tue Dec 15 00:34:32 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: change all $(host_cpu)-$(host_vendor)-$(host_os) to + $(host_canonical). + + * configure.in: split the configdirs list into 4 categories (native + v. cross, library v. tool) and handle the cross-only and native- + only in more reasonable (and correct!) way. + +Mon Dec 14 17:04:22 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in (hppa*-*-*): Don't remove bfd and gdb from + configdirs anymore. + +Sun Dec 13 00:37:26 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: extensive cleanup:: removed all of the explicit + clean-* targets, collapsed many wrappers around subdir_do into + one, added additional targets to satisfy standards.texi, deleted + some old targets, some changes for consistency + +Fri Dec 11 20:18:02 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: handle some programs as cross-only, and others as + native only + + * test-build.mk: handle partial holes in a more generic manner + + * Makefile.in: m4 depends on libiberty + +Mon Dec 7 06:43:27 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/mh-sco: don't default $(CC) to gcc + +Thu Dec 3 21:52:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: add m4, textutils, fileutils, sed, shellutils, + time, wdiff, and find to configdirs + + * Makefile.in: all, clean, and install rules for the new programs + added to configure.in + +Mon Nov 30 14:54:34 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: use mh-sun for all *-sun-* hosts + + * config/mh-solaris: rework standard X location to use + $OPENWINHOME, if defined. + + * config/mh-sun: handle X11 include locations + + * config/mh-decstation: define NeedFunctionPrototypes to 0, to + work around dain-bramaged DECwindows include files + +Fri Nov 27 18:35:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: define flags for X11 include files and library file + locations, pass them down to the programs that need this info + + * build-all.mk: added a 'native' target, to 3stage the native toolchain + + * config/{mh-hpux,mh-solaris}: define the "standard" locations for + the vendor supplied X11 headers and libraries + +Sun Nov 22 18:59:13 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: start building libg++ for HP-UX targets + +Wed Nov 18 19:33:11 1992 John Gilmore (gnu@cygnus.com) + + * README: Update references to files moved into etc/. + +Sun Nov 15 09:36:08 1992 Fred Fish (fnf@cygnus.com) + + * config.sub (i386sol2, i486sol2): i[34]86-unknown-solaris2. + * configure.in (i[34]86-*-solaris2*): Use config/mh-sysv4. + +Thu Nov 12 08:50:42 1992 Ian Lance Taylor (ian@cygnus.com) + + * configure: accept dash as well as underscore in long option + names for FSF compatibility. + +Wed Nov 11 08:04:37 1992 Ian Lance Taylor (ian@cygnus.com) + + * config.sub: added -sco3.2v4 support from FSF. + +Sun Nov 8 21:14:30 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: expand the section that adds or removes + directories from the list of programs to build, to handle native + vs. cross in addition to host v. native + +Sat Nov 7 18:52:27 1992 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in: Replace C++ in macro names with CXX. + This is less likely to break ... + +Sat Nov 7 15:16:58 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * test-build.mk: add -w to GNU_MAKE + +Fri Nov 6 23:10:37 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config.sub: remove 'sparc'-->'sparc-sun' default transformation, + add 'sparc' to list of recognized cpus. This needed to make + 'sparc-aout' expand to 'sparc-unknown-aout' instead of 'sparc-sun-aout'. + Delete some redundant ose68 variants. Recognize -wrs as an os, + then changes that into $CPU-wrs-vxworks. + + * configure.in: remove most references to gdbtest, regularize + target based program removal + + * test-build.mk: import from p3 tree (many fixes and changes) + +Fri Nov 6 20:59:00 1992 david d `zoo' zuhn (zoo@cygnus.com) + + * Makefile.in: added rules to handle tcl, tk, and expect + + * configure.in: handle those directories if they exist + +Thu Nov 5 14:35:41 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config.sub: removed bogus hppabsd and hppahpux names, since + "hppa" is not a valid cpu (hppa1.1 or hppa1.0 are, though) + +Thu Oct 29 00:12:41 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: all-gcc now depends on all-binutils. all-libg++ + depends upon all-xiberty + + * Makefile.in: changes from p3, including: + + Thu Oct 8 15:00:17 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (XTRAFLAGS): include newlib directories if + newlib/Makefile exists, rather than if host != target. + + Fri Sep 25 13:41:52 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added -nostdinc to XTRAFLAGS if we are using gcc + from the same source tree and not building a cross-compiler. This + matters for the libg++ configuration if reconfiguring a tree that + has already been installed. + + Thu Sep 10 10:35:51 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added -I for newlib/targ-include to XTRAFLAGS, to + pick up the machine and system specific header files. + + * Makefile.in: added AS_FOR_TARGET, passed down in + TARGET_FLAGS_TO_PASS. Added CC_FOR_BUILD, which is intended to be + the C compiler to use to create programs which are run in the + build environment, set it to default to $(CC), and passed it down + in FLAGS_TO_PASS and TARGET_FLAGS_TO_PASS. + + Mon Sep 7 22:34:42 1992 Ian Lance Taylor (ian@cirdan.cygnus.com) + + * Makefile.in: add $(host) = $(target) tests back to *_FOR_TARGET. + We need them for unusual native builds, like systems without + ranlib. + + * configure: also define $(host_canonical) and + $(target_canonical), which are the full, canonical names for the + given host and target + +Sun Nov 1 16:38:17 1992 Per Bothner (bothner@cygnus.com) + + * Makefile.in: Added separate definitions for C++. + +Fri Oct 30 11:37:52 1992 Fred Fish (fnf@cygnus.com) + + * configure.in (configdirs): Add deja-gnu. + +Fri Oct 23 00:39:18 1992 John Gilmore (gnu@cygnus.com) + + * README: Update for configure.texi and gdb-4.7 release. + +Wed Oct 21 21:54:27 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in: Move "all" target to top of file. + Previously, first target was ".PHONY" which caused BSD4.4 make + to build .PHONY when make was run without arguments. + +Mon Oct 19 01:17:54 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in: Add COPYING.LIB to GDB releases, now that there's + Library-copylefted code in libiberty. + +Tue Oct 13 01:22:32 1992 John Gilmore (gnu@cygnus.com) + + * config.sub: Replace m68kmote with plain old m68k. + +Fri Oct 9 03:14:24 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in: Remove space from blank line, avoid Make complaints. + +Thu Oct 8 18:41:45 1992 Ken Raeburn (raeburn@cygnus.com) + + * config.sub: Complain if no argument is given. Added support for + 386bsd as OS and target alias. + +Thu Oct 8 15:07:22 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (XTRAFLAGS): include newlib directories if + newlib/Makefile exists, rather than if host != target. + +Mon Oct 5 03:00:09 1992 Mark Eichin (eichin at tweedledumber.cygnus.com) + + * config.sub: recognize sparclite-wrs-vxworks. + + * Makefile.in (install-xiberty): added *-xiberty make rules (from + p3.) Added clean-xiberty to clean. + +Thu Oct 1 17:59:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: use *-*-* instead of nested cases for host and target + +Tue Sep 29 14:11:18 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added -nostdinc to XTRAFLAGS if we are using gcc + from the same source tree and not building a cross-compiler. This + matters for the libg++ configuration if reconfiguring a tree that + has already been installed. + +Sep 20 08:53:10 1992 Fred Fish (fnf@cygnus.com) + + * config.sub (i486v/i486v4): Merge in from FSF version. + +Fri Sep 18 00:32:00 1992 Mark Eichin (eichin@cygnus.com) + + * configure: only set PWD if it is already set. + +Thu Sep 17 23:05:53 1992 Mark Eichin (eichin@cygnus.com) + + * configure: just set PWD=`pwd` at the top, since Ultrix sh + doesn't have unset and all success paths (and most error paths) + out set it anyway. (Note: should change all uses of ${PWD=`pwd`} + to just ${PWD} to avoid confusion.) + +Tue Sep 15 16:00:54 1992 Ian Lance Taylor (ian@cygnus.com) + + * configure: always set $(tooldir) to $(libdir)/$(target_alias), + even for a native compilation. + +Tue Sep 15 02:22:56 1992 John Gilmore (gnu@cygnus.com) + + Changes to make the gdb.tar.Z rule work better. + + * Makefile.in (GDB_SUPPORT_DIRS): Add opcodes. + (DEVO_SUPPORT): Add configure.texi. + (bfd-ilrt.tar.Z): Remove ancient rule. + +Thu Sep 10 10:43:19 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added -I for newlib/targ-include to XTRAFLAGS, to + pick up the machine and system specific header files. + + * configure.in, config.sub: added new target m68010-adobe-scout, + with alias of adobe68k. Changed configure.in to check for + -scout before -sco* to avoid a false match. + + * Makefile.in: added AS_FOR_TARGET, passed down in + TARGET_FLAGS_TO_PASS. Added CC_FOR_BUILD, which is intended to be + the C compiler to use to create programs which are run in the + build environment, set it to default to $(CC), and passed it down + in FLAGS_TO_PASS and TARGET_FLAGS_TO_PASS. + +Wed Sep 9 12:21:42 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added TARGET_FLAGS_TO_PASS, CC_FOR_TARGET, + AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET. Pass + TARGET_FLAGS_TO_PASS, which defines CC, AR, RANLIB and NM as the + FOR_TARGET variants, to newlib and libg++. + +Tue Sep 8 17:28:30 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (all-gas, all-gdb): Require all-opcodes to be built + first. + +Wed Sep 2 02:50:05 1992 John Gilmore (gnu@cygnus.com) + + * config.sub: Accept `elf' as an environment. + +Tue Sep 1 15:48:30 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * Makefile.in (all-opcodes): cd into the right directory + +Sun Aug 30 21:12:11 1992 Ian Lance Taylor (ian@cygnus.com) + + * configure: added -program_transform_name option, used as + argument to sed when installing programs. + configure.texi: added documentation for -program_prefix, + -program_suffix and -program_transform_name. + +Thu Aug 27 21:59:44 1992 John Gilmore (gnu@cygnus.com) + + * config.sub: Accept i486 where i386 ok. + +Thu Aug 27 13:04:42 1992 Brendan Kehoe (brendan@rtl.cygnus.com) + + * config.sub: accept we32k + +Mon Aug 24 14:05:14 1992 Ian Lance Taylor (ian@cygnus.com) + + * config.sub, configure.in: accept OSE68000 and OSE68k. + + * Makefile.in: don't create all directories for ``make install''; + let the subdirectories create the ones they need. + +Tue Aug 11 23:13:17 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * COPYING: new file, GPL v2 + +Tue Aug 4 01:12:43 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: use the new gen-info-dir, which needs a template + argument (which also lives in texinfo) + + * configure.texi, standards.texi: fix INFO-DIR-ENTRY + +Mon Aug 3 15:41:28 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/mh-solaris: removed the -xs from CFLAGS (let the people + with Sun's C compiler deal with it themselved) + +Mon Aug 3 00:34:17 1992 Fred Fish (fnf@cygnus.com) + + * config.sub (ncr3000): Change i386 to i486. + +Thu Jul 23 00:12:17 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: add install-rcs, install-grep to + install-no-fixedincludes, removed install-bison and install-libgcc + +Tue Jul 21 01:01:50 1992 david d `zoo' zuhn (zoo@cygnus.com) + + * configure.in: grab the HPUX makefile fragment if on HPUX + +Mon Jul 20 11:02:09 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * Makefile.in: eradicate bison spoor (ditto libgcc). + configure.in: recognise m68{k,000}-ericsson-OSE. + es1800 is alias for m68k-ericsson-OSE + +Sun Jul 19 17:49:02 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: rearrange the parts that remove programs from + configdirs, based now on HOST==TARGET or by canonical triple. + +Fri Jul 17 22:52:49 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * test-build.mk: recurse explicitly with -f test-build.mk when + appropriate. predicate stage3 and comparison on the existence + of gcc. That is, if gcc isn't around, we aren't three-staging. + On very clean, also remove ...stamp-co. Build in-place before + doing other builds. + +Thu Jul 16 18:33:09 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * Makefile.in, configure.in: add tgas + +Thu Jul 16 16:05:28 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: a number of changes merged in from progressive. + + * configure.in: add libm. + + * .cvsignore: ignore some stuff that comes from test-build.mk. + +Wed Jul 8 00:01:30 1992 Stu Grossman (grossman at cygnus.com) + + * config/mh-solaris: Use -xs when compiling so that Sun-C puts + a symbol-table into the executable. + +Tue Jul 7 00:24:52 1992 Fred Fish (fnf@cygnus.com) + + * config.sub: Add es1800 (m68k-ericsson-es1800). + +Tue Jun 30 20:24:41 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * configure: Add program_suffix (parallel to program_prefix) + * Makefile.in: adjust directory-creating script for losing decstation + +Mon Jun 22 23:43:48 1992 Per Bothner (bothner@cygnus.com) + + * configure: Minor $subdir-related fixes. + +Mon Jun 22 18:30:26 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * configure: fix various problems with propogating + makefile_target_frag in subdirs. + * configure.in: config libgcc if its there + +Fri Jun 19 15:19:40 1992 Stu Grossman (grossman at cygnus.com) + + * config.sub: HPPA merge. + +Mon Jun 15 12:31:52 1992 Fred Fish (fnf@cygnus.com) + + * config/mh-ncr3000 (INSTALL): Don't use /usr/ucb/install, + it is broken on ncr 3000's. + +Sun Jun 14 10:29:19 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Replace all-bison with all-byacc in all + dependency lines for other tools (which now use byacc). + +Fri Jun 12 22:21:57 1992 John Gilmore (gnu at cygnus.com) + + * config.sub: Add sun4sol2 => sparc-sun-solaris2. + +Tue Jun 9 17:18:11 1992 Fred Fish (fnf at cygnus.com) + + * config/{mh-ncr3000, mh-sysv4}: Add INSTALL. + +Thu Jun 4 12:07:32 1992 Mark Eichin (eichin@cygnus.com) + + * Makefile.in: make gprof rules similar to byacc rules (instead of + vestigal $(unsubdir) that didn't work...) + +Thu Jun 4 00:37:05 1992 Per Bothner (bothner@rtl.cygnus.com) + + * config.sub: Add support for Linux. + * Makefile.in: Use $(FLAGS_TO_PASS) more consistently + (at least for libg++). + +Tue Jun 02 20:03:00 1992 david d `zoo' zuhn (zoo@cygnus.com) + + * configure.texi: fix doc for the -nfp option to configure + +Tue Jun 2 17:20:52 1992 Michael Tiemann (tiemann@cygnus.com) + + * Makefile.in (all-binutils): ar needs flex, so depend on all-flex. + +Sun May 31 15:04:08 1992 Mark Eichin (eichin at cygnus.com) + + * config.sub: changed [^-]+ to [^-][^-]* so that it works under + Sun sed. (BSD 4.3 sed doesn't handle [^-]+ either.) + * configure.in: added solaris* host_makefile_frag hook. + +Sun May 31 01:10:34 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config.sub: changed recognition of m68000 so that various + m68k types can be specified via m680[01234]0 + +Sat May 30 21:01:06 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config.sub (basic_machine): fix sed so that '-foo' isn't + completely substituted out while .+'-foo' loses the '-foo' + +Wed May 27 23:18:52 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * config.sub ($os): Add -aout. + +Fri May 22 14:00:02 1992 Per Bothner (bothner@cygnus.com) + + * configure: If host_makefile_frag is absolute, don't + prefix ${invsubdir} (relevant to libg++ auto-configure). + +Thu May 21 18:00:09 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * Makefile.in (tooldir): Define it. + (all-ld): Depend on all-flex. + +Sun May 10 21:45:59 1992 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in (check): Fix libg++ special case. + +Fri May 8 08:31:41 1992 K. Richard Pixley (rich@cygnus.com) + + * configure: do not bury `pwd` into config.status, thus do fewer + pwd's. + + * configure: print the "Building in" message only when building in + other than "." AND verbose. + + * configure: remove -s, rework -v to better accomodate guested + configures. + + * standards.texi: updated to 3 may, fixed librid <-> libdir typo. + +Fri May 1 18:00:50 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: macroize flags passed on recursion. remove + fileutils. + +Thu Apr 30 08:56:20 1992 K. Richard Pixley (rich@cygnus.com) + + * configure: get makesrcdir right for subdirs deeper than 1. + + * Makefile.in: pass INSTALL, INSTALL_DATA, INSTALL_PROGRAM on + install. + +Fri Apr 24 15:51:51 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: don't print subdir_do or recursion lines. + +Fri Apr 24 15:22:04 1992 K. Richard Pixley (rich@cygnus.com) + + * standards.texi: added menu item. + + * Makefile.in: build and install standards.info. + + * standards.texi: new file. + +Wed Apr 22 18:06:55 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * configure: test for and move config.status pieces from + ${subdir}/. + +Wed Apr 22 14:38:34 1992 Fred Fish (fnf@cygnus.com) + + * config/mh-delta88, config/mh-ncr3000: Replace MINUS_G with + CFLAGS per new configuration strategy. + * configure: Test for existance of files before trying to mv + them, to avoid numerous non-existance messages. + +Tue Apr 21 12:31:33 1992 K. Richard Pixley (rich@cygnus.com) + + * configure: correct final line of config.status. + + * configure: patch from eggert. Avoids a protection problem if + the original Makefile.in is read only. + + * configure: use move-if-change from gcc to create config.status. + Some makefiles depend on config.status to tell if a directory + has been reconfigured for a different host. This change + prevents those directories from remaking everything in the case + where the reconfig was only intended to rebuild a Makefile. + + * configure: test for config.sub with "config.sub sun4" rather + than "config.sub ${host_alias}". Otherwise we can't tell a bad + host alias from a missing config.sub. + +Mon Apr 20 18:16:36 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: explicitly pass CFLAGS on recursion. no longer pass + MINUS_G (this can be done with CFLAGS). Default CFLAGS to -g. + +Fri Apr 17 18:27:51 1992 Per Bothner (bothner@cygnus.com) + + * configure: mkdir ${subdir} as needed. + +Wed Apr 15 17:37:22 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in,configure.in: added autoconf. + +Wed Apr 15 17:27:34 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: no longer pass against on recursion. + + * Makefile.in: added .NOEXPORT: so that stray makefile_frag + definitions are not inherited. + + * configure: correct makesrcdir when subdir is . + +Tue Apr 14 11:56:09 1992 Per Bothner (bothner@cygnus.com) + + * configure: Add support for 'subdirs' variable, which is + like 'configdirs', except that configure doesn't re-invoke + itself for subdirs, it just creates a Makefile for each subdir. + * configure.texi: Document subdirs. + +Mon Apr 13 18:50:16 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: added flex to configdirs + +Mon Apr 13 18:43:55 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: remove clean-stamps from clean. + +Sat Apr 11 03:52:03 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Add gdbtest to configdirs. + +Fri Apr 10 23:11:49 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (MINUS_G): Add macro, default to -g, pass on + to recursive makes. + * configure.in: Recognize new ncr3000 config. + +Wed Apr 8 23:08:12 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed references to gdbm. + +Tue Apr 7 16:48:20 1992 Per Bothner (bothner@cygnus.com) + + * config.sub: Don't canonicalize os value + newsos* to bsd (readline needs to check for newsos). + (This fix was earlier made Jan 31, but got re-broken.) + +Mon Apr 6 14:34:08 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: sco is an os, not a vendor! + + * configure: Quote $( better. Keep various shells happy. + +Tue Mar 31 16:32:57 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: eliminate stamp-files. + +Mon Mar 30 22:20:23 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: add send_pr. remove "force" from .stmp-gprof rule. + Supress echoing of all the "if [ -d ... $(MAKE)" lines. + +Wed Mar 25 15:20:04 1992 Stu Grossman (grossman@cygnus.com) + + * config.sub: fix iris/iris3. + +Wed Mar 25 10:34:19 1992 K. Richard Pixley (rich@cygnus.com) + + * configure: re-add -rm. + +Tue Mar 24 23:50:16 1992 K. Richard Pixley (rich@cygnus.com) + + * Maskefile.in: add .stmp-rcs to all. + + * configure.in: remove gas from rs6000 build, use aix host fragment. + +Mon Mar 23 19:43:35 1992 K. Richard Pixley (rich@cygnus.com) + + * configure: pass down site_option during recursion. + +Thu Mar 19 16:49:36 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (all.cross): Add .stmp-bfd .stmp-readline. + +Wed Mar 18 15:29:33 1992 Mike Stump (mrs@cygnus.com) + + * configure: Change exec_prefix so that it really defaults to prefix. + +Sat Mar 14 17:20:38 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in, configure.in: Add support for mmalloc library. + +Fri Mar 13 18:44:18 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: add stmp dependencies for a few more things. + +Thu Mar 12 04:56:24 1992 K. Richard Pixley (rich@cygnus.com) + + * configure: adjusted error message on objdir/srcdir configure + collision, per john's suggestion. + + * Makefile.in: add libiberty stmp to all and all.cross. + +Wed Mar 11 02:07:52 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: remove force dependencies, add grep to all. + +Tue Mar 10 21:49:18 1992 K. Richard Pixley (rich@mars.cygnus.com) + + * Makefile.in: drop flex. make stamp files work. + + * configure: added test for conflicting configuration in srcdir, + remove trailing slashes from srcdir. Otherwise emacs gdb mode + gets cranky. use relative paths for configure and srcdir + whenever possible. Send some error messages to stderr that were + going to stdout. + +Tue Mar 10 18:01:55 1992 Per Bothner (bothner@cygnus.com) + + * Makefile.in: Fix libg++ rule to check for gcc directory + before using gcc/gcc. Also pass XTRAFLAGS. + +Thu Mar 5 21:45:07 1992 K. Richard Pixley (rich@sendai) + + * Makefile.in: added stmp-files so that directories aren't polled + when they are already built. + + * configure.texi: fixed a node pointer problem. + +Thu Mar 5 12:05:58 1992 Stu Grossman (grossman at cygnus.com) + + * config.sub configure.in config/mh-irix4 gdb/configure.in + gdb/mips-tdep.c gdb/mipsread.c gdb/procfs.c gdb/signame.h + gdb/tm-irix3.h gdb/tm-mips.h gdb/xm-irix4.h gdb/config/mt-irix3 + gdb/config/mh-irix4 texinfo/configure.in: Port to SGI Irix-4.x. + +Wed Mar 4 02:57:46 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * configure: -recurring becomes -silent. corrected help message + for -site= option. + + * Makefile.in: mkdir $(exec_prefix) and $(tooldir). + +Tue Mar 3 14:51:21 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * configure: when building Makefile for crosses, replace + tooldir and program_prefix. default srcdir from location of + config.sub. remove "for host in hosts" and "for target in + targets" loops. + +Wed Feb 26 19:48:25 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: Do not pass bindir or mandir to cvs. + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + + * configure.texi: remove most references to multiple hosts, + multiple targets, subdirs, etc. + + * configure.man: removed rcsid. reference config.sub not + config.subr. + + * Makefile.in: mkdir $(infodir) on install-info. + +Wed Feb 19 15:41:13 1992 John Gilmore (gnu at cygnus.com) + + * configure.texi: Explain better about .gdbinit and about + the environment that configure.in sections run in. + +Fri Feb 7 07:55:00 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Ultrix is only a decstation if it's a MIPS. + +Fri Jan 31 21:54:51 1992 John Gilmore (gnu at cygnus.com) + + * README: DOC.configure => cfg-paper.texi. + +Fri Jan 31 21:48:18 1992 Stu Grossman (grossman at cygnus.com) + + * config.sub (near case $os): Don't convert newsos* to bsd! + +Fri Jan 31 02:27:32 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Reinstall change from gdb-4.3 that reduces + the number of copies of COPYING that go into the GDB tar file. + +Thu Jan 30 16:17:30 1992 Stu Grossman (grossman at cygnus.com) + + * bfd/configure.in, config/mh-sco, gdb/config/mh-i386sco, + gdb/config/mt-i386v32, gdb/configure.in, readline/configure.in: + Fix SCO configuration stuff. + +Tue Jan 28 23:51:07 1992 Per Bothner (bothner at cygnus.com) + + * Makefile.in: For libg++, make sure the -I pointing + to the gcc directory goes *after* all the libg++-local -I flags. + Also, move just-gcc dependency from just-libg++ to all-libg++. + +Tue Jan 28 12:56:24 1992 Stu Grossman (grossman at cygnus.com) + + * configure: Change -x to -f to keep Ultrix /bin/test happy. + +Sat Jan 18 17:45:11 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (make-gdb.tar.Z): Remove texinfo targets. + +Sat Jan 18 17:03:21 1992 Fred Fish (fnf at cygnus.com) + + * config.sub: Add stratus configuration frags. Also + submitted to FSF. + +Sat Jan 18 15:35:29 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (DEV_SUPPORT): add configure.man. + + * config.sub(Decode manufacturer-specific): add -none*. + +Fri Jan 17 17:58:05 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: remove form feeds to make Sun's make happy. + (DEVO_SUPPORT): DOC.configure => cfg-paper.texi. + +Sat Jan 4 16:11:44 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in (AR_FLAGS): Make quieter. + +Thu Jan 2 22:57:12 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Add libg++. + * configure: When verbose, don't output the command line at each + level; it will be unremarkably the same as the previous version, + which will be the same as what the user typed. + +Fri Dec 27 16:26:47 1991 K. Richard Pixley (rich at cygnus.com) + + * configure.in, Makefile.in: fix clean-info, add flex. add + fileutils. + + * configure: be less sensitive to spaces in Makefile.in. Do not + look for sources in "..". Doing so breaks subdirectories that + might have their own configure. If a subdir has it's own + configure script, use it. + +Thu Dec 26 16:30:26 1991 K. Richard Pixley (rich at cygnus.com) + + * cfg-paper.texi: some changes suggested by rms. + +Thu Dec 26 10:13:36 1991 Fred Fish (fnf at cygnus.com) + + * config.sub: Merge in some small additions from the FSF version, + taken from the gcc distribution, to bring the Cygnus and FSF + versions into closer sync. + +Fri Dec 20 11:34:18 1991 Fred Fish (fnf at cygnus.com) + + * configure.in: Changed svr4 references to sysv4. + +Thu Dec 19 15:54:29 1991 K. Richard Pixley (rich at cygnus.com) + + * configure: added -V for version number option. + +Wed Dec 18 15:39:34 1991 K. Richard Pixley (rich at cygnus.com) + + * DOC.configure, cfg-paper.texi: revised, updated, and texinfo'd. + renamed from DOC.configure to cfg-paper.texi. + +Mon Dec 16 23:05:19 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * configure, config.subr, config.sub: config.subr is now + config.sub again. + +Fri Dec 13 01:17:06 1991 K. Richard Pixley (rich at cygnus.com) + + * configure.texi: new file, in progress. + + * Makefile.in: build info file and install the man page for + configure. + + * configure.man: new file, first cut. + + * configure: find config.subr again now that configuration "none" + has gone. removed all traces of the -ansi option. removed all + traces of the -languages option. + + * config.subr: resync from rms. + +1991-12-11 K. Richard Pixley (rich at rtl.cygnus.com) + + * configure, config.sub, config.subr: merge config.sub into + config.subr, call the result config.subr, remove config.sub, use + config.subr. + + * Makefile.in: revised install for dir.info. + +1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com) + + * configure.in: add decstation host makefile frag. + + * Makefile.in: BISON now bison -y again. also install-gcc on + install. clean-gdbm on clean. infodir belongs in datadir. + Make directories for info install. Build dir.info here then + install it. + +1991-12-09 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: fix for bad directory tests. + +1991-12-07 K. Richard Pixley (rich at rtl.cygnus.com) + + * configure: \{1,2\} appears to be a sysv'ism. Use a different + regexp. -srcdir relative was being handled incorrectly. + + * Makefile.in: unwrapped some for loops so that parallel makes + work again and so one can focus one's attention on a particular + package. + +1991-12-06 K. Richard Pixley (rich at rtl.cygnus.com) + + * configure: added PWD as a stand in for `pwd` (for speed). use + elif wherever possible. make -srcdir work without -objdir. + -objdir= commented out. + +1991-12-05 K. Richard Pixley (rich at rtl.cygnus.com) + + * configure: +options become --options. -subdirs commented out. + added -host, -datadir. Renamed -destdir to -prefix. Comment in + Makefile now at top of generated Makefile. Removed cvs log + entries. added -srcdir. create .gdbinit only if there is one + in ${srcdir}. + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + +1991-11-22 K. Richard Pixley (rich at rtl.cygnus.com) + + * Freshly created ChangeLog. + + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 76 +version-control: never +End: diff --git a/contrib/gdb/MAINTAINERS b/contrib/gdb/MAINTAINERS new file mode 100644 index 0000000..75f3240 --- /dev/null +++ b/contrib/gdb/MAINTAINERS @@ -0,0 +1,114 @@ +Please feel free to add, edit, delete this file. +Please do not make ChangeLog entries. + +COPYING, COPYING.LIB, README + http://gnu.org. + +Makefile.in; configure; configure.in + Please notify the following of any committed patches. + binutils@sources.redhat.com + gdb-patches@sources.redhat.com + +bfd/; binutils/; gas/; gprof/; ld/; opcodes/; BFD's part of include/ + binutils: http://sources.redhat.com/binutils/ + Patches to binutils@sources.redhat.com. + Please notify the following of any interface changes: + gdb-patches@sources.redhat.com + +cgen/; cgen parts of opcodes/, sim/ & include/ + cgen: http://sources.redhat.com/cgen/ + Patches to cgen@sources.redhat.com + May need separate opcodes/ or sim/ approval for + commits of regenerated files there. + +config.guess; config.sub; dejagnu/config.guess; +readline/support/config.sub; readline/support/config.guess + config: http://savannah.gnu.org/projects/config + Patches to config-patches@gnu.org. + Changes need to be done in tandem with the official CONFIG + sources or submitted to the master file maintainer and brought + in via a merge. + Please notify the following of any committed patches: + binutils@sources.redhat.com + gdb-patches@sources.redhat.com + +dejagnu/ + Notify http://dejagnu.sourceforge.net/ of generic changes. + Generic patches to gdb-patches@sources.redhat.com; + Other dependents of dejagnu include sid@, binutils@, gcc@, etc. + +gdb/; mmalloc/; readline/; sim/; GDB's part of include/ & dejagnu/ + gdb: http://sources.redhat.com/gdb/ + Patches to gdb-patches@sources.redhat.com. + See also gdb/MAINTAINERS, sim/MAINTAINERS, mmalloc/MAINTAINERS. + +include/ + See binutils/, gdb/, sid/, gcc/, libiberty/ etc. + +libiberty/; libiberty's part of include/ + gcc: http://gcc.gnu.org + Changes need to be done in tandem with the official GCC + sources or submitted to the master file maintainer and brought + in via a merge. Note: approved patches in gcc's libiberty + are automatically approved in this libiberty also; feel free + to merge them yourself if needed sooner than the next merge. + Otherwise, changes are automatically merged, usually within + a day. + +ltconfig; ltmain.sh + libtool: http://gnu.org + Changes need to be done in tandem with the official LIBTOOL + sources or submitted to the master file maintainer and brought + in via a merge. + +mkinstalldirs; move-if-change + autoconf: http://gnu.org + Patches to autoconf-patches@gnu.org. + Changes need to be done in tandem with the official AUTOCONF + sources or submitted to the master file maintainer and brought + in via a merge. + +symlink-tree + gcc: http://gcc.gnu.org + See libiberty. + +newlib/; libgloss/ + http://sources.redhat.com/newlib/ + Patches to newlib@sources.redhat.com. + +sid/; SID's part of cgen/ & dejagnu/ + sid: http://sources.redhat.com/sid/ + Patches to sid@sources.redhat.com + +texinfo/texinfo.tex + texinfo: http://ftp.gnu.org. + Latest version can be found on ftp://ftp.gnu.org and can be + imported at any (reasonable) time. + Please not use GCC's texinfo. Please do not import texinfo. + +tcl/; tix/; itcl/; tk/; libgui/ + insight: http://sources.redhat.com/insight/ + Contact insight@sources.redhat.com. + +winsup/ + cygwin: http://sources.redhat.com/cygwin + Patches to cygwin-patches@sources.redhat.com. + General discussion cygwin@sources.redhat.com. + See also winsup/MAINTAINERS. + +expect/; config-ml.in; mpw-README; mpw-build.in; mpw-config.in; +mpw-configure; mpw-install; setup.com; missing; makefile.vms; utils/; +config/; config.if; makefile.vms; missing; ylwrap; mkdep; etc/; +install-sh; intl/ + Ask DJ Delorie after reading the libiberty entry. + +modules file + Obviously changes to this file should not go through + overseers@sources.redhat.com. If you understand the file + format (or can cut-and-paste existing entries), modify it. If + it scares you, get someone who does understand it to help you. + Be prepared to fix it if you do break it. + +/* Local variables: */ +/* change-log-default-name: "/dev/null" */ +/* End: */ diff --git a/contrib/gdb/Makefile.in b/contrib/gdb/Makefile.in index 6465ee1..32e97d5 100644 --- a/contrib/gdb/Makefile.in +++ b/contrib/gdb/Makefile.in @@ -1,7 +1,7 @@ # # Makefile for directory with subdirs to build. -# Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 1998 -# Free Software Foundation +# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +# 1999, 2000, 2001 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -35,8 +35,10 @@ includedir=${prefix}/include oldincludedir=/usr/include infodir=${prefix}/info mandir=${prefix}/man +gxx_include_dir=${includedir}/g++ -tooldir = $(exec_prefix)/$(target) +tooldir = $(exec_prefix)/$(target_alias) +build_tooldir = $(exec_prefix)/$(target_alias) program_transform_name = @@ -83,6 +85,7 @@ HOST_PREFIX_1 = loser- CFLAGS = -g CXXFLAGS = -g -O2 +LDFLAGS = LIBCFLAGS = $(CFLAGS) CFLAGS_FOR_TARGET = $(CFLAGS) LDFLAGS_FOR_TARGET = @@ -108,8 +111,8 @@ NM = nm LD = ld -# Not plain GZIP, since gzip looks there for extra command-line options. -GZIPPROG = gzip +BZIPPROG = bzip2 +MD5PROG = md5sum # These values are substituted by configure. DEFAULT_YACC = yacc @@ -138,9 +141,13 @@ M4 = `if [ -f $$r/m4/m4 ] ; \ then echo $$r/m4/m4 ; \ else echo ${DEFAULT_M4} ; fi` -MAKEINFO = `if [ -f $$r/texinfo/makeinfo/Makefile ] ; \ +# For an installed makeinfo, we require it to be from texinfo 4 or +# higher, else we use the "missing" dummy. +MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ then echo $$r/texinfo/makeinfo/makeinfo ; \ - else echo makeinfo ; fi` + else if (makeinfo --version \ + | egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \ + then echo makeinfo; else echo $$s/missing makeinfo; fi; fi` # This just becomes part of the MAKEINFO definition passed down to # sub-makes. It lets flags be given on the command line while still @@ -166,16 +173,22 @@ OTHERS = # This is set by the configure script to the list of directories which # should be built using the target tools. - - -TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib libio librx libstdc++ libg++ winsup opcodes bsp libstub cygmon +TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib libio librx libstdc++ libg++ winsup opcodes bsp libstub cygmon libf2c libchill libobjc # Target libraries are put under this directory: # Changed by configure to $(target_alias) if cross. TARGET_SUBDIR = . -# This is set by the configure script to the arguments passed to configure. -CONFIG_ARGUMENTS = +BUILD_CONFIGDIRS = libiberty +BUILD_SUBDIR = . + +# This is set by the configure script to the arguments to use when configuring +# directories built for the target. +TARGET_CONFIGARGS = + +# This is set by the configure script to the arguments to use when configuring +# directories built for the build system. +BUILD_CONFIGARGS = # This is set by configure to REALLY_SET_LIB_PATH if --enable-shared # was used. @@ -185,10 +198,19 @@ SET_LIB_PATH = # the libraries. This may be changed by configure.in. RPATH_ENVVAR = LD_LIBRARY_PATH +# This is the list of directories that may be needed in RPATH_ENVVAR +# so that programs built for the host machine work. +HOST_LIB_PATH = $$r/bfd:$$r/opcodes + +# This is the list of directories that may be needed in RPATH_ENVVAR +# so that prorgams built for the target machine work. +TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs:$$r/$(TARGET_SUBDIR)/libstdc++ + # configure.in sets SET_LIB_PATH to this if --enable-shared was used. +# Some platforms don't like blank entries, so we remove duplicate, +# leading and trailing colons. REALLY_SET_LIB_PATH = \ - $(RPATH_ENVVAR)=$$r/bfd:$$r/opcodes:$$$(RPATH_ENVVAR); \ - export $(RPATH_ENVVAR); + $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); ALL = all.normal INSTALL_TARGET = installdirs \ @@ -205,72 +227,26 @@ INSTALL_TARGET_CROSS = installdirs \ $(INSTALL_X11_MODULES) \ $(INSTALL_DOSREL) -CC_FOR_TARGET = ` \ - if [ -f $$r/gcc/xgcc ] ; then \ - if [ -f $$r/$(TARGET_SUBDIR)/newlib/Makefile ] ; then \ - case "$(target_canonical)" in \ - i[3456]86-*-cygwin*) \ - echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/$(TARGET_SUBDIR)/newlib/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/winsup/include -idirafter $$s/newlib/libc/include -idirafter $$s/newlib/libc/sys/cygwin -idirafter $$s/newlib/libc/sys/cygwin32 -nostdinc; \ - ;; \ - *) \ - echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \ - ;; \ - esac \ - else \ - echo $$r/gcc/xgcc -B$$r/gcc/; \ - fi; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo $(CC); \ - else \ - t='$(program_transform_name)'; echo gcc | sed -e 's/x/x/' $$t; \ - fi; \ - fi` +# Should be substed by configure.in +FLAGS_FOR_TARGET = +CC_FOR_TARGET = +CHILL_FOR_TARGET = +CXX_FOR_TARGET = +CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = -# If CC_FOR_TARGET is not overriden on the command line, then this +# If GCC_FOR_TARGET is not overriden on the command line, then this # variable is passed down to the gcc Makefile, where it is used to # build libgcc2.a. We define it here so that it can itself be # overridden on the command line. -GCC_FOR_TARGET = $$r/gcc/xgcc -B$$r/gcc/ - -CHILL_FOR_TARGET = ` \ - if [ -f $$r/gcc/xgcc ] ; then \ - echo $$r/gcc/xgcc -B$$r/gcc/ -L$$r/gcc/ch/runtime/; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo $(CC); \ - else \ - t='$(program_transform_name)'; echo gcc | sed -e 's/x/x/' $$t; \ - fi; \ - fi` - -CXX_FOR_TARGET = ` \ - if [ -f $$r/gcc/xgcc ] ; then \ - if [ -f $$r/$(TARGET_SUBDIR)/newlib/Makefile ] ; then \ - case "$(target_canonical)" in \ - i[3456]86-*-cygwin*) \ - echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/$(TARGET_SUBDIR)/newlib/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/winsup/include -idirafter $$s/newlib/libc/include -idirafter $$s/newlib/libc/sys/cygwin -idirafter $$s/newlib/libc/sys/cygwin32 -nostdinc; \ - ;; \ - *) \ - echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \ - ;; \ - esac \ - else \ - echo $$r/gcc/xgcc -B$$r/gcc/; \ - fi; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo $(CXX); \ - else \ - t='$(program_transform_name)'; echo c++ | sed -e 's/x/x/' $$t; \ - fi; \ - fi` +GCC_FOR_TARGET = $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET) AS_FOR_TARGET = ` \ if [ -f $$r/gas/as-new ] ; then \ echo $$r/gas/as-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=as ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(AS); \ else \ t='$(program_transform_name)'; echo as | sed -e 's/x/x/' $$t ; \ @@ -280,8 +256,10 @@ AS_FOR_TARGET = ` \ LD_FOR_TARGET = ` \ if [ -f $$r/ld/ld-new ] ; then \ echo $$r/ld/ld-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=ld ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(LD); \ else \ t='$(program_transform_name)'; echo ld | sed -e 's/x/x/' $$t ; \ @@ -292,7 +270,7 @@ DLLTOOL_FOR_TARGET = ` \ if [ -f $$r/binutils/dlltool ] ; then \ echo $$r/binutils/dlltool ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(DLLTOOL); \ else \ t='$(program_transform_name)'; echo dlltool | sed -e 's/x/x/' $$t ; \ @@ -303,7 +281,7 @@ WINDRES_FOR_TARGET = ` \ if [ -f $$r/binutils/windres ] ; then \ echo $$r/binutils/windres ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(WINDRES); \ else \ t='$(program_transform_name)'; echo windres | sed -e 's/x/x/' $$t ; \ @@ -314,7 +292,7 @@ AR_FOR_TARGET = ` \ if [ -f $$r/binutils/ar ] ; then \ echo $$r/binutils/ar ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(AR); \ else \ t='$(program_transform_name)'; echo ar | sed -e 's/x/x/' $$t ; \ @@ -325,8 +303,12 @@ RANLIB_FOR_TARGET = ` \ if [ -f $$r/binutils/ranlib ] ; then \ echo $$r/binutils/ranlib ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo $(RANLIB); \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ x'$(RANLIB)' != x ]; then \ + echo $(RANLIB); \ + else \ + echo ranlib; \ + fi; \ else \ t='$(program_transform_name)'; echo ranlib | sed -e 's/x/x/' $$t ; \ fi; \ @@ -335,8 +317,10 @@ RANLIB_FOR_TARGET = ` \ NM_FOR_TARGET = ` \ if [ -f $$r/binutils/nm-new ] ; then \ echo $$r/binutils/nm-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=nm ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(NM); \ else \ t='$(program_transform_name)'; echo nm | sed -e 's/x/x/' $$t ; \ @@ -417,12 +401,21 @@ BASE_FLAGS_TO_PASS = \ "sharedstatedir=$(sharedstatedir)" \ "sysconfdir=$(sysconfdir)" \ "tooldir=$(tooldir)" \ + "build_tooldir=$(build_tooldir)" \ "gxx_include_dir=$(gxx_include_dir)" \ "gcc_version=$(gcc_version)" \ "gcc_version_trigger=$(gcc_version_trigger)" \ "target_alias=$(target_alias)" \ "libsubdir=$(libsubdir)" +# For any flags above that may contain shell code that varies from one +# target library to another. When doing recursive invocations of the +# top-level Makefile, we don't want the outer make to evaluate them, +# so we pass these variables down unchanged. They must not contain +# single nor double quotes. +RECURSE_FLAGS = \ + CXX_FOR_TARGET='$(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' + # Flags to pass down to most sub-makes, in which we're building with # the host environment. # If any variables are added here, they must be added to do-*, below. @@ -504,6 +497,18 @@ EXTRA_GCC_FLAGS = \ GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) # This is a list of the targets for all of the modules which are compiled +# using the build machine's native compiler. Configure edits the second +# macro for build!=host builds. +ALL_BUILD_MODULES_LIST = \ + all-build-libiberty +ALL_BUILD_MODULES = + +# This is a list of the configure targets for all of the modules which +# are compiled using the native tools. +CONFIGURE_BUILD_MODULES = \ + configure-build-libiberty + +# This is a list of the targets for all of the modules which are compiled # using $(FLAGS_TO_PASS). ALL_MODULES = \ all-apache \ @@ -516,6 +521,7 @@ ALL_MODULES = \ all-bison \ all-byacc \ all-bzip2 \ + all-cgen \ all-cvssrc \ all-db \ all-dejagnu \ @@ -558,7 +564,9 @@ ALL_MODULES = \ all-sed \ all-send-pr \ all-shellutils \ + all-sid \ all-sim \ + all-snavigator \ all-tar \ all-tcl \ all-tcl8.1 \ @@ -569,6 +577,7 @@ ALL_MODULES = \ all-uudecode \ all-wdiff \ all-zip \ + all-zlib \ $(EXTRA_TARGET_HOST_ALL_MODULES) # This is a list of the check targets for all of the modules which are @@ -592,6 +601,7 @@ CROSS_CHECK_MODULES = \ check-bfd \ check-binutils \ check-bzip2 \ + check-cgen \ check-cvssrc \ check-db \ check-dejagnu \ @@ -630,6 +640,8 @@ CROSS_CHECK_MODULES = \ check-sed \ check-send-pr \ check-shellutils \ + check-snavigator \ + check-sid \ check-sim \ check-tar \ check-tcl \ @@ -662,6 +674,7 @@ INSTALL_MODULES = \ install-binutils \ install-bison \ install-byacc \ + install-cgen \ install-cvssrc \ install-db \ install-dejagnu \ @@ -704,7 +717,9 @@ INSTALL_MODULES = \ install-sed \ install-send-pr \ install-shellutils \ + install-sid \ install-sim \ + install-snavigator \ install-tar \ install-textutils \ install-tgas \ @@ -759,9 +774,13 @@ INSTALL_X11_MODULES = \ ALL_TARGET_MODULES = \ all-target-libio \ all-target-libstdc++ \ + all-target-libstdc++-v3 \ all-target-librx \ all-target-libg++ \ all-target-newlib \ + all-target-libf2c \ + all-target-libchill \ + all-target-libobjc \ all-target-libtermcap \ all-target-winsup \ all-target-libgloss \ @@ -769,6 +788,11 @@ ALL_TARGET_MODULES = \ all-target-gperf \ all-target-examples \ all-target-libstub \ + all-target-libffi \ + all-target-libjava \ + all-target-zlib \ + all-target-boehm-gc \ + all-target-qthreads \ all-target-bsp \ all-target-cygmon @@ -777,9 +801,13 @@ ALL_TARGET_MODULES = \ CONFIGURE_TARGET_MODULES = \ configure-target-libio \ configure-target-libstdc++ \ + configure-target-libstdc++-v3 \ configure-target-librx \ configure-target-libg++ \ configure-target-newlib \ + configure-target-libf2c \ + configure-target-libchill \ + configure-target-libobjc \ configure-target-libtermcap \ configure-target-winsup \ configure-target-libgloss \ @@ -787,6 +815,11 @@ CONFIGURE_TARGET_MODULES = \ configure-target-gperf \ configure-target-examples \ configure-target-libstub \ + configure-target-libffi \ + configure-target-libjava \ + configure-target-zlib \ + configure-target-boehm-gc \ + configure-target-qthreads \ configure-target-bsp \ configure-target-cygmon @@ -795,10 +828,19 @@ CONFIGURE_TARGET_MODULES = \ CHECK_TARGET_MODULES = \ check-target-libio \ check-target-libstdc++ \ + check-target-libstdc++-v3 \ check-target-libg++ \ check-target-newlib \ + check-target-libf2c \ + check-target-libchill \ + check-target-libobjc \ check-target-winsup \ check-target-libiberty \ + check-target-libffi \ + check-target-libjava \ + check-target-zlib \ + check-target-boehm-gc \ + check-target-qthreads \ check-target-gperf # This is a list of the install targets for all of the modules which are @@ -806,13 +848,21 @@ CHECK_TARGET_MODULES = \ INSTALL_TARGET_MODULES = \ install-target-libio \ install-target-libstdc++ \ + install-target-libstdc++-v3 \ install-target-libg++ \ install-target-newlib \ + install-target-libf2c \ + install-target-libchill \ + install-target-libobjc \ install-target-libtermcap \ install-target-winsup \ install-target-libgloss \ install-target-libiberty \ install-target-bsp \ + install-target-libjava \ + install-target-zlib \ + install-target-boehm-gc \ + install-target-qthreads \ install-target-gperf # This is a list of the targets for which we can do a clean-{target}. @@ -827,6 +877,7 @@ CLEAN_MODULES = \ clean-bison \ clean-byacc \ clean-bzip2 \ + clean-cgen \ clean-cvssrc \ clean-db \ clean-dejagnu \ @@ -869,7 +920,9 @@ CLEAN_MODULES = \ clean-sed \ clean-send-pr \ clean-shellutils \ + clean-sid \ clean-sim \ + clean-snavigator \ clean-tar \ clean-tcl \ clean-texinfo \ @@ -878,21 +931,31 @@ CLEAN_MODULES = \ clean-time \ clean-uudecode \ clean-wdiff \ - clean-zip + clean-zip \ + clean-zlib # All of the target modules that can be cleaned CLEAN_TARGET_MODULES = \ clean-target-libio \ clean-target-libstdc++ \ + clean-target-libstdc++-v3 \ clean-target-librx \ clean-target-libg++ \ clean-target-newlib \ + clean-target-libf2c \ + clean-target-libchill \ + clean-target-libobjc \ clean-target-winsup \ clean-target-libgloss \ clean-target-libiberty \ clean-target-gperf \ clean-target-examples \ clean-target-libstub \ + clean-target-libffi \ + clean-target-libjava \ + clean-target-zlib \ + clean-target-boehm-gc \ + clean-target-qthreads \ clean-target-bsp \ clean-target-cygmon @@ -911,6 +974,7 @@ CLEAN_X11_MODULES = \ # The target built for a native build. .PHONY: all.normal all.normal: \ + $(ALL_BUILD_MODULES) \ $(ALL_MODULES) \ $(ALL_X11_MODULES) \ $(ALL_TARGET_MODULES) \ @@ -944,16 +1008,15 @@ $(DO_X): case $$i in \ gcc) \ for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'|"`; \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ ;; \ *) \ for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'|"`; \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ ;; \ esac ; \ - export AR AS CC CXX LD NM RANLIB DLLTOOL WINDRES; \ if (cd ./$$i; \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ @@ -970,9 +1033,8 @@ $(DO_X): for i in $(TARGET_CONFIGDIRS) -dummy-; do \ if [ -f $(TARGET_SUBDIR)/$$i/Makefile ]; then \ for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'|"`; \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - export AR AS CC CXX LD NM RANLIB DLLTOOL WINDRES; \ if (cd $(TARGET_SUBDIR)/$$i; \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ @@ -1047,7 +1109,12 @@ $(CLEAN_TARGET_MODULES): true; \ fi -clean-target: $(CLEAN_TARGET_MODULES) +clean-target: $(CLEAN_TARGET_MODULES) clean-target-libgcc +clean-target-libgcc: + test ! -d gcc/libgcc || \ + (cd gcc/libgcc && find . -type d -print) | \ + while read d; do rm -f gcc/$$d/libgcc.a || : ; done + -rm -rf gcc/libgcc # Check target. @@ -1149,6 +1216,105 @@ gcc-no-fixedincludes: mv gcc/tmp-include gcc/include 2>/dev/null; \ else true; fi +# This rule is used to build the modules which are built with the +# build machine's native compiler. +.PHONY: $(ALL_BUILD_MODULES) +$(ALL_BUILD_MODULES): + dir=`echo $@ | sed -e 's/all-build-//'`; \ + if [ -f ./$${dir}/Makefile ] ; then \ + r=`pwd`; export r; \ + s=`cd $(srcdir); pwd`; export s; \ + (cd $(BUILD_SUBDIR)/$${dir} && $(MAKE) all); \ + else \ + true; \ + fi + +# This rule is used to configure the modules which are built with the +# native tools. +.PHONY: $(CONFIGURE_BUILD_MODULES) +$(CONFIGURE_BUILD_MODULES): + @dir=`echo $@ | sed -e 's/configure-build-//'`; \ + if [ ! -d $(BUILD_SUBDIR) ]; then \ + true; \ + elif [ -f $(BUILD_SUBDIR)/$${dir}/Makefile ] ; then \ + true; \ + elif echo " $(BUILD_CONFIGDIRS) " | grep " $${dir} " >/dev/null 2>&1; then \ + if [ -d $(srcdir)/$${dir} ]; then \ + [ -d $(BUILD_SUBDIR)/$${dir} ] || mkdir $(BUILD_SUBDIR)/$${dir};\ + r=`pwd`; export r; \ + s=`cd $(srcdir); pwd`; export s; \ + AR="$(AR_FOR_BUILD)"; export AR; \ + AS="$(AS_FOR_BUILD)"; export AS; \ + CC="$(CC_FOR_BUILD)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ + LD="$(LD_FOR_BUILD)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ + NM="$(NM_FOR_BUILD)"; export NM; \ + RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \ + echo Configuring in $(BUILD_SUBDIR)/$${dir}; \ + cd "$(BUILD_SUBDIR)/$${dir}" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) \ + topdir=$(srcdir) ;; \ + *) \ + case "$(BUILD_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ + esac; \ + if [ "$(srcdir)" = "." ] ; then \ + if [ "$(BUILD_SUBDIR)" != "." ] ; then \ + if $(SHELL) $$s/symlink-tree $${topdir}/$${dir} "no-such-file" ; then \ + if [ -f Makefile ]; then \ + if $(MAKE) distclean; then \ + true; \ + else \ + exit 1; \ + fi; \ + else \ + true; \ + fi; \ + else \ + exit 1; \ + fi; \ + else \ + true; \ + fi; \ + srcdiroption="--srcdir=."; \ + libsrcdir="."; \ + else \ + srcdiroption="--srcdir=$${topdir}/$${dir}"; \ + libsrcdir="$$s/$${dir}"; \ + fi; \ + if [ -f $${libsrcdir}/configure ] ; then \ + rm -f no-such-file skip-this-dir; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(BUILD_CONFIGARGS) $${srcdiroption} \ + --with-build-subdir="$(BUILD_SUBDIR)"; \ + else \ + rm -f no-such-file skip-this-dir; \ + CONFIG_SITE=no-such-file $(SHELL) $$s/configure \ + $(BUILD_CONFIGARGS) $${srcdiroption} \ + --with-build-subdir="$(BUILD_SUBDIR)"; \ + fi || exit 1; \ + if [ -f skip-this-dir ] ; then \ + sh skip-this-dir; \ + rm -f skip-this-dir; \ + cd ..; rmdir $${dir} || true; \ + else \ + true; \ + fi; \ + else \ + true; \ + fi; \ + else \ + true; \ + fi # This rule is used to build the modules which use FLAGS_TO_PASS. To # build a target all-X means to cd to X and make all. @@ -1174,7 +1340,7 @@ $(ALL_MODULES) all-gui all-libproc: .PHONY: $(CHECK_MODULES) $(NATIVE_CHECK_MODULES) $(CROSS_CHECK_MODULES) $(NATIVE_CHECK_MODULES): - @if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + @if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ dir=`echo $@ | sed -e 's/check-//'`; \ if [ -f ./$${dir}/Makefile ] ; then \ r=`pwd`; export r; \ @@ -1294,12 +1460,12 @@ $(CONFIGURE_TARGET_MODULES): if [ -f $${libsrcdir}/configure ] ; then \ rm -f no-such-file skip-this-dir; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(CONFIG_ARGUMENTS) $${srcdiroption} \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)"; \ else \ rm -f no-such-file skip-this-dir; \ CONFIG_SITE=no-such-file $(SHELL) $$s/configure \ - $(CONFIG_ARGUMENTS) $${srcdiroption} \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)"; \ fi; \ if [ -f skip-this-dir ] ; then \ @@ -1325,7 +1491,8 @@ $(ALL_TARGET_MODULES): r=`pwd`; export r; \ s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/$${dir}; $(MAKE) $(TARGET_FLAGS_TO_PASS) all); \ + (cd $(TARGET_SUBDIR)/$${dir}; \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all); \ else \ true; \ fi @@ -1339,7 +1506,8 @@ $(CHECK_TARGET_MODULES): r=`pwd`; export r; \ s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/$${dir};$(MAKE) $(TARGET_FLAGS_TO_PASS) check);\ + (cd $(TARGET_SUBDIR)/$${dir}; \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check);\ else \ true; \ fi @@ -1428,12 +1596,12 @@ all-gcc: # in parallel. # .PHONY: bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean -bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean: all-texinfo all-bison all-byacc all-binutils all-gas all-ld +bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean: all-bootstrap @r=`pwd`; export r; \ s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ echo "Bootstrapping the compiler"; \ - cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) $@ + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@ @r=`pwd`; export r; \ s=`cd $(srcdir); pwd`; export s; \ case "$@" in \ @@ -1449,12 +1617,12 @@ bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean b esac; \ $(SET_LIB_PATH) \ echo "$$msg"; \ - cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare @r=`pwd`; export r; \ s=`cd $(srcdir); pwd` ; export s; \ $(SET_LIB_PATH) \ echo "Building runtime libraries"; \ - $(MAKE) $(BASE_FLAGS_TO_PASS) all + $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all .PHONY: cross cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld @@ -1462,12 +1630,13 @@ cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ echo "Building the C and C++ compiler"; \ - cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" @r=`pwd`; export r; \ s=`cd $(srcdir); pwd` ; export s; \ $(SET_LIB_PATH) \ echo "Building runtime libraries"; \ - $(MAKE) $(BASE_FLAGS_TO_PASS) all LANGUAGES="c c++" + $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) \ + LANGUAGES="c c++" all .PHONY: check-gcc check-gcc: @@ -1518,6 +1687,9 @@ install-dosrel: installdirs info install-dosrel-fake: +ALL_GCC = all-gcc +ALL_GCC_C = $(ALL_GCC) all-target-newlib all-target-libgloss +ALL_GCC_CXX = $(ALL_GCC_C) all-target-libstdc++ all-target-libstdc++-v3 # This is a list of inter-dependencies among modules. all-apache: @@ -1528,20 +1700,23 @@ all-bash: all-bfd: all-libiberty all-intl all-binutils: all-libiberty all-opcodes all-bfd all-flex all-bison all-byacc all-intl all-bison: all-texinfo -configure-target-bsp: $(ALL_GCC) -all-target-bsp: configure-target-bsp all-gas all-ld all-gcc +configure-target-boehm-gc: $(ALL_GCC_CXX) configure-target-qthreads +all-target-boehm-gc: configure-target-boehm-gc +configure-target-bsp: $(ALL_GCC_C) +all-target-bsp: configure-target-bsp all-byacc: all-bzip2: +all-cgen: all-libiberty all-cvssrc: -configure-target-cygmon: $(ALL_GCC) -all-target-cygmon: configure-target-cygmon all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio all-target-libstub +configure-target-cygmon: $(ALL_GCC_C) +all-target-cygmon: configure-target-cygmon all-target-libiberty all-target-libio all-target-libstub all-target-bsp all-db: all-dejagnu: all-tcl all-expect all-tk all-diff: all-libiberty all-emacs: all-emacs19: all-bison all-byacc all-etc: -configure-target-examples: $(ALL_GCC) +configure-target-examples: $(ALL_GCC_C) all-target-examples: configure-target-examples all-expect: all-tcl all-tk all-fileutils: all-libiberty @@ -1551,16 +1726,16 @@ all-flex: all-libiberty all-bison all-byacc all-gas: all-libiberty all-opcodes all-bfd all-intl all-gash: all-tcl all-gawk: -ALL_GCC = all-gcc -all-gcc: all-bison all-byacc all-binutils all-gas all-ld -all-bootstrap: all-libiberty all-bison all-byacc all-binutils all-gas all-ld +all-gcc: all-bison all-byacc all-binutils all-gas all-ld all-zlib +all-bootstrap: all-libiberty all-texinfo all-bison all-byacc all-binutils all-gas all-ld all-zlib GDB_TK = all-tk all-tcl all-itcl all-tix all-libgui all-gdb: all-libiberty all-opcodes all-bfd all-mmalloc all-readline all-bison all-byacc all-sim $(gdbnlmrequirements) $(GDB_TK) all-gettext: all-gnuserv: -configure-target-gperf: $(ALL_GCC) -all-target-gperf: configure-target-gperf all-target-libiberty all-target-libstdc++ +configure-target-gperf: $(ALL_GCC_CXX) +all-target-gperf: configure-target-gperf all-target-libiberty all-target-libstdc++-v3 all-gprof: all-libiberty all-bfd all-opcodes all-intl +all-grep: all-libiberty all-grez: all-libiberty all-bfd all-opcodes all-gui: all-gdb all-libproc all-target-librx all-guile: @@ -1572,40 +1747,59 @@ all-intl: all-ispell: all-emacs19 all-itcl: all-tcl all-tk all-tcl8.1 all-tk8.1 all-ld: all-libiberty all-bfd all-opcodes all-bison all-byacc all-flex all-intl -configure-target-libg++: $(ALL_GCC) configure-target-librx -all-target-libg++: configure-target-libg++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio all-target-librx all-target-libstdc++ +configure-target-libg++: $(ALL_GCC_CXX) configure-target-librx +all-target-libg++: configure-target-libg++ all-target-libiberty all-target-librx configure-target-libgloss: $(ALL_GCC) all-target-libgloss: configure-target-libgloss configure-target-newlib -configure-target-libio: $(ALL_GCC) +configure-target-libio: $(ALL_GCC_C) all-target-libio: configure-target-libio all-gas all-ld all-gcc all-target-libiberty all-target-newlib check-target-libio: all-target-libstdc++ all-libgui: all-tcl all-tk all-tcl8.1 all-tk8.1 all-itcl all-libiberty: -configure-target-librx: $(ALL_GCC) configure-target-newlib + +all-build-libiberty: configure-build-libiberty + +configure-target-libffi: $(ALL_GCC_C) +all-target-libffi: configure-target-libffi +configure-target-libjava: $(ALL_GCC_CXX) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-libffi +all-target-libjava: configure-target-libjava all-zip all-target-zlib all-target-boehm-gc all-target-qthreads all-target-libffi +configure-target-librx: $(ALL_GCC_C) all-target-librx: configure-target-librx -configure-target-libstdc++: $(ALL_GCC) -all-target-libstdc++: configure-target-libstdc++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio -configure-target-libstub: $(ALL_GCC) +configure-target-libstdc++: $(ALL_GCC_C) +all-target-libstdc++: configure-target-libstdc++ all-target-libiberty all-target-libio +configure-target-libstdc++-v3: $(ALL_GCC_C) +all-target-libstdc++-v3: configure-target-libstdc++-v3 all-target-libiberty +configure-target-libstub: $(ALL_GCC_C) all-target-libstub: configure-target-libstub all-libtool: -all-m4: all-libiberty +configure-target-libf2c: $(ALL_GCC_C) +all-target-libf2c: configure-target-libf2c all-target-libiberty +configure-target-libchill: $(ALL_GCC_C) +all-target-libchill: configure-target-libchill all-target-libiberty +configure-target-libobjc: $(ALL_GCC_C) +all-target-libobjc: configure-target-libobjc all-target-libiberty +all-m4: all-libiberty all-texinfo all-make: all-libiberty all-mmalloc: configure-target-newlib: $(ALL_GCC) -configure-target-libtermcap: $(ALL_GCC) -all-target-newlib: configure-target-newlib all-binutils all-gas all-gcc -all-target-libtermcap: configure-target-libtermcap all-binutils all-gas all-gcc -all-opcodes: all-bfd all-libiberty +all-target-newlib: configure-target-newlib +configure-target-libtermcap: $(ALL_GCC_C) +all-target-libtermcap: configure-target-libtermcap +all-opcodes: all-bfd all-libiberty all-cgen all-patch: all-libiberty all-perl: all-prms: all-libiberty +configure-target-qthreads: $(ALL_GCC_C) +all-target-qthreads: configure-target-qthreads all-rcs: all-readline: all-recode: all-libiberty all-sed: all-libiberty all-send-pr: all-prms all-shellutils: -all-sim: all-libiberty all-bfd all-opcodes all-readline +all-sid: all-tcl all-tk +all-sim: all-libiberty all-bfd all-opcodes all-readline all-cgen +all-snavigator: all-tcl all-tk all-itcl all-tix all-db all-grep all-libgui all-tar: all-libiberty all-tcl: all-tcl8.1: @@ -1618,14 +1812,19 @@ all-tgas: all-libiberty all-bfd all-opcodes all-time: all-tix: all-tcl all-tk all-tcl8.1 all-tk8.1 all-wdiff: -all-target-winsup: all-target-newlib all-target-libiberty all-target-libtermcap configure-target-winsup -configure-target-winsup: configure-target-newlib +configure-target-winsup: $(ALL_GCC_C) +all-target-winsup: all-target-libiberty all-target-libtermcap configure-target-winsup all-uudecode: all-libiberty all-zip: -configure-target-libiberty: $(ALL_GCC) -all-target-libiberty: configure-target-libiberty all-gcc all-ld all-target-newlib +all-zlib: +configure-target-zlib: $(ALL_GCC_C) +all-target-zlib: configure-target-zlib +configure-target-libiberty: $(ALL_GCC_C) +all-target-libiberty: configure-target-libiberty all-target: $(ALL_TARGET_MODULES) install-target: $(INSTALL_TARGET_MODULES) +install-gdb: install-tcl install-tk install-itcl install-tix install-libgui +install-sid: install-tcl install-tk ### other supporting targets MAKEDIRS= \ @@ -1671,22 +1870,88 @@ DEVO_SUPPORT= README Makefile.in configure configure.in \ config.guess config.if config.sub config move-if-change \ mpw-README mpw-build.in mpw-config.in mpw-configure mpw-install \ COPYING COPYING.LIB install-sh config-ml.in symlink-tree \ - mkinstalldirs ltconfig ltmain.sh missing ylwrap + mkinstalldirs ltconfig ltmain.sh missing ylwrap \ + libtool.m4 gettext.m4 ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh # Files in devo/etc used in any net release. # ChangeLog omitted because it may refer to files which are not in this # distribution (perhaps it would be better to include it anyway). ETC_SUPPORT= Makefile.in configure configure.in standards.texi \ - make-stds.texi standards.info* + make-stds.texi standards.info* configure.texi configure.info* \ + configbuild.* configdev.* + # When you use `make setup-dirs' or `make taz' you should always redefine # this macro. SUPPORT_FILES = list-of-support-files-for-tool-in-question -.PHONY: taz +# NOTE: No double quotes in the below. It is used within shell script +# as VER="$(VER)" +VER = ` if grep 'AM_INIT_AUTOMAKE.*BFD_VERSION' $(TOOL)/configure.in >/dev/null 2>&1; then \ + sed < bfd/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \ + elif grep AM_INIT_AUTOMAKE $(TOOL)/configure.in >/dev/null 2>&1; then \ + sed < $(TOOL)/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \ + elif test -f $(TOOL)/version.in; then \ + head -1 $(TOOL)/version.in; \ + elif grep VERSION $(TOOL)/Makefile.in > /dev/null 2>&1; then \ + sed < $(TOOL)/Makefile.in -n 's/^VERSION *= *//p'; \ + else \ + echo VERSION; \ + fi` +PACKAGE = $(TOOL) -taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) \ - texinfo/texinfo.tex texinfo/gpl.texinfo texinfo/lgpl.texinfo +.PHONY: taz +taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex + $(MAKE) -f Makefile.in do-proto-toplev \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + $(MAKE) -f Makefile.in do-md5sum \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + $(MAKE) -f Makefile.in do-tar \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + $(MAKE) -f Makefile.in do-bz2 \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + +.PHONY: gdb-tar +gdb-tar: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex + $(MAKE) -f Makefile.in do-proto-toplev \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + $(MAKE) -f Makefile.in do-md5sum \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + $(MAKE) -f Makefile.in do-djunpack \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + $(MAKE) -f Makefile.in do-tar \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + +.PHONY: gdb-taz +gdb-taz: gdb-tar $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex + $(MAKE) -f Makefile.in gdb-tar \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + $(MAKE) -f Makefile.in do-bz2 \ + TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(SUPPORT_FILES)" + +.PHONY: do-proto-toplev +do-proto-toplev: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex + echo "==> Making $(PACKAGE)-$(VER)/" # Take out texinfo from a few places. sed -e '/^all\.normal: /s/\all-texinfo //' \ -e '/^ install-texinfo /d' \ @@ -1695,7 +1960,8 @@ taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) \ # ./configure sun4 [ -z "$(CONFIGURE_TARGET_MODULES)" ] \ - || $(MAKE) $(CONFIGURE_TARGET_MODULES) ALL_GCC="" \ + || $(MAKE) $(CONFIGURE_TARGET_MODULES) \ + ALL_GCC="" ALL_GCC_C="" ALL_GCC_CXX="" \ CC_FOR_TARGET="$(CC)" CXX_FOR_TARGET="$(CXX)" # Make links, and run "make diststuff" or "make info" when needed. rm -rf proto-toplev ; mkdir proto-toplev @@ -1715,7 +1981,7 @@ taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) \ fi ; \ else ln -s ../$$d proto-toplev/$$d ; fi ; \ done - cd etc ; $(MAKE) info + cd etc && $(MAKE) info $(MAKE) distclean # mkdir proto-toplev/etc @@ -1731,67 +1997,144 @@ taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) \ # mkdir proto-toplev/texinfo ln -s ../../texinfo/texinfo.tex proto-toplev/texinfo/ - ln -s ../../texinfo/gpl.texinfo proto-toplev/texinfo/ - ln -s ../../texinfo/lgpl.texinfo proto-toplev/texinfo/ if test -r texinfo/util/tex3patch ; then \ mkdir proto-toplev/texinfo/util && \ ln -s ../../../texinfo/util/tex3patch proto-toplev/texinfo/util ; \ else true; fi chmod -R og=u . || chmod og=u `find . -print` - if grep AM_INIT_AUTOMAKE $(TOOL)/configure.in >/dev/null 2>&1; then \ - ver=`sed < $(TOOL)/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'`; \ - else \ - ver=`sed <$(TOOL)/Makefile.in -n 's/^VERSION *= *//p'`; \ - fi; \ - $(MAKE) -f Makefile.in do-tar-gz TOOL=$(TOOL) VER=$$ver - -do-tar-gz: - echo "==> Making $(TOOL)-$(VER).tar.gz" - -rm -f $(TOOL)-$(VER) - ln -s proto-toplev $(TOOL)-$(VER) - tar cfh $(TOOL)-$(VER).tar $(TOOL)-$(VER) - $(GZIPPROG) -v -9 $(TOOL)-$(VER).tar - -TEXINFO_SUPPORT= texinfo/texinfo.tex texinfo/gpl.texinfo texinfo/lgpl.texinfo + # + # Create .gmo files from .po files. + for f in `find . -name '*.po' -type f -print`; do \ + msgfmt -o `echo $$f | sed -e 's/\.po$$/.gmo/'` $$f ; \ + done + # + -rm -f $(PACKAGE)-$(VER) + ln -s proto-toplev $(PACKAGE)-$(VER) + +.PHONY: do-tar +do-tar: + echo "==> Making $(PACKAGE)-$(VER).tar" + -rm -f $(PACKAGE)-$(VER).tar + find $(PACKAGE)-$(VER) -follow -name CVS -prune -o -type f -print \ + | tar cTfh - $(PACKAGE)-$(VER).tar + +.PHONY: do-bz2 +do-bz2: + echo "==> Bzipping $(PACKAGE)-$(VER).tar.bz2" + -rm -f $(PACKAGE)-$(VER).tar.bz2 + $(BZIPPROG) -v -9 $(PACKAGE)-$(VER).tar + +.PHONY: do-md5sum +do-md5sum: + echo "==> Adding md5 checksum to top-level directory" + cd proto-toplev && find * -follow -name CVS -prune -o -type f -print \ + | xargs $(MD5PROG) > ../md5.sum + mv md5.sum proto-toplev + +.PHONY: do-djunpack +do-djunpack: + echo "==> Adding updated djunpack.bat to top-level directory" + echo - 's /gdb-[0-9\.]*/gdb-'"$(VER)"'/' + sed < djunpack.bat > djunpack.new \ + -e 's/gdb-[0-9][0-9\.]*/gdb-'"$(VER)"'/' + mv djunpack.new djunpack.bat + -rm -f proto-toplev/djunpack.bat + ln -s ../djunpack.bat proto-toplev/djunpack.bat + +TEXINFO_SUPPORT= texinfo/texinfo.tex DIST_SUPPORT= $(DEVO_SUPPORT) $(TEXINFO_SUPPORT) -.PHONY: gas.tar.gz -GAS_SUPPORT_DIRS= bfd include libiberty opcodes intl setup.com makefile.vms -gas.tar.gz: $(DIST_SUPPORT) $(GAS_SUPPORT_DIRS) gas +.PHONY: gas.tar.bz2 +GAS_SUPPORT_DIRS= bfd include libiberty opcodes intl setup.com makefile.vms mkdep +gas.tar.bz2: $(DIST_SUPPORT) $(GAS_SUPPORT_DIRS) gas $(MAKE) -f Makefile.in taz TOOL=gas \ + MD5PROG="$(MD5PROG)" \ SUPPORT_FILES="$(GAS_SUPPORT_DIRS)" # The FSF "binutils" release includes gprof and ld. -.PHONY: binutils.tar.gz -BINUTILS_SUPPORT_DIRS= bfd gas include libiberty opcodes ld gprof intl setup.com makefile.vms -binutils.tar.gz: $(DIST_SUPPORT) $(BINUTILS_SUPPORT_DIRS) binutils +.PHONY: binutils.tar.bz2 +BINUTILS_SUPPORT_DIRS= bfd gas include libiberty opcodes ld gprof intl setup.com makefile.vms mkdep +binutils.tar.bz2: $(DIST_SUPPORT) $(BINUTILS_SUPPORT_DIRS) binutils $(MAKE) -f Makefile.in taz TOOL=binutils \ - SUPPORT_FILES="$(BINUTILS_SUPPORT_DIRS) makeall.bat configure.bat" + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(BINUTILS_SUPPORT_DIRS)" -.PHONY: gas+binutils.tar.gz +.PHONY: gas+binutils.tar.bz2 GASB_SUPPORT_DIRS= $(GAS_SUPPORT_DIRS) binutils ld gprof -gas+binutils.tar.gz: $(DIST_SUPPORT) $(GASB_SUPPORT_DIRS) gas +gas+binutils.tar.bz2: $(DIST_SUPPORT) $(GASB_SUPPORT_DIRS) gas $(MAKE) -f Makefile.in taz TOOL=gas \ - SUPPORT_FILES="$(GASB_SUPPORT_DIRS) makeall.bat configure.bat" + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(GASB_SUPPORT_DIRS)" -.PHONY: libg++.tar.gz +.PHONY: libg++.tar.bz2 LIBGXX_SUPPORT_DIRS=include libstdc++ libio librx libiberty -libg++.tar.gz: $(DIST_SUPPORT) libg++ +libg++.tar.bz2: $(DIST_SUPPORT) libg++ $(MAKE) -f Makefile.in taz TOOL=libg++ \ + MD5PROG="$(MD5PROG)" \ SUPPORT_FILES="$(LIBGXX_SUPPORT_DIRS)" GNATS_SUPPORT_DIRS=include libiberty send-pr -gnats.tar.gz: $(DIST_SUPPORT) $(GNATS_SUPPORT_DIRS) gnats +gnats.tar.bz2: $(DIST_SUPPORT) $(GNATS_SUPPORT_DIRS) gnats $(MAKE) -f Makefile.in taz TOOL=gnats \ + MD5PROG="$(MD5PROG)" \ SUPPORT_FILES="$(GNATS_SUPPORT_DIRS)" -.PHONY: gdb.tar.gz +.PHONY: gdb.tar.bz2 GDB_SUPPORT_DIRS= bfd include libiberty mmalloc opcodes readline sim utils intl -gdb.tar.gz: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb - $(MAKE) -f Makefile.in taz TOOL=gdb \ +gdb.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb + $(MAKE) -f Makefile.in gdb-taz TOOL=gdb \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(GDB_SUPPORT_DIRS)" +.PHONY: gdb.tar +gdb.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb + $(MAKE) -f Makefile.in gdb-tar TOOL=gdb \ + MD5PROG="$(MD5PROG)" \ SUPPORT_FILES="$(GDB_SUPPORT_DIRS)" -.PHONY: newlib.tar.gz +DEJAGNU_SUPPORT_DIRS= tcl expect libiberty +.PHONY: dejagnu.tar.bz2 +dejagnu.tar.bz2: $(DIST_SUPPORT) $(DEJAGNU_SUPPORT_DIRS) dejagnu + $(MAKE) -f Makefile.in taz TOOL=dejagnu \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(DEJAGNU_SUPPORT_DIRS)" + +.PHONY: gdb+dejagnu.tar.bz2 +GDBD_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl expect dejagnu +gdb+dejagnu.tar.bz2: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb + $(MAKE) -f Makefile.in gdb-taz TOOL=gdb PACKAGE=gdb+dejagnu \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)" +.PHONY: gdb+dejagnu.tar +gdb+dejagnu.tar: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb + $(MAKE) -f Makefile.in gdb-tar TOOL=gdb PACKAGE=gdb+dejagnu \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)" + +.PHONY: insight.tar.bz2 +INSIGHT_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl tk itcl tix libgui +insight.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb + $(MAKE) -f Makefile.in gdb-taz TOOL=gdb PACKAGE=insight \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)" +.PHONY: insight.tar +insight.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb + $(MAKE) -f Makefile.in gdb-tar TOOL=gdb PACKAGE=insight \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)" + +.PHONY: insight+dejagnu.tar.bz2 +INSIGHTD_SUPPORT_DIRS= $(INSIGHT_SUPPORT_DIRS) expect dejagnu +insight+dejagnu.tar.bz2: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb + $(MAKE) -f Makefile.in gdb-taz TOOL=gdb PACKAGE="insight+dejagnu" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)" +.PHONY: insight+dejagnu.tar +insight+dejagnu.tar: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb + $(MAKE) -f Makefile.in gdb-tar TOOL=gdb PACKAGE="insight+dejagnu" \ + MD5PROG="$(MD5PROG)" \ + SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)" + +.PHONY: newlib.tar.bz2 NEWLIB_SUPPORT_DIRS=libgloss # taz configures for the sun4 target which won't configure newlib. # We need newlib configured so that the .info files are made. @@ -1804,8 +2147,9 @@ NEWLIB_SUPPORT_DIRS=libgloss # the make distclean. For now punt on the issue of shipping newlib info files # with newlib net releases and wait for a day when some native target (sun4?) # supports newlib (if only minimally). -newlib.tar.gz: $(DIST_SUPPORT) $(NEWLIB_SUPPORT_DIRS) newlib +newlib.tar.bz2: $(DIST_SUPPORT) $(NEWLIB_SUPPORT_DIRS) newlib $(MAKE) -f Makefile.in taz TOOL=newlib \ + MD5PROG="$(MD5PROG)" \ SUPPORT_FILES="$(NEWLIB_SUPPORT_DIRS)" \ DEVO_SUPPORT="$(DEVO_SUPPORT) COPYING.NEWLIB" newlib diff --git a/contrib/gdb/config-ml.in b/contrib/gdb/config-ml.in index 3a159cf..c968bf0 100644 --- a/contrib/gdb/config-ml.in +++ b/contrib/gdb/config-ml.in @@ -72,14 +72,16 @@ # We have to handle being invoked by both Cygnus configure and Autoconf. # # Cygnus configure incoming variables: -# srcdir, subdir, target, arguments +# srcdir, subdir, host, arguments # # Autoconf incoming variables: -# srcdir, target, ac_configure_args +# srcdir, host, ac_configure_args # -# We *could* figure srcdir and target out, but we'd have to do work that +# We *could* figure srcdir and host out, but we'd have to do work that # our caller has already done to figure them out and requiring these two # seems reasonable. +# Note that `host' in this case is GCC's `target'. Target libraries are +# configured for a particular host. if [ -n "${ac_configure_args}" ]; then Makefile=${ac_file-Makefile} @@ -204,7 +206,10 @@ for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do fi done -case "${target}" in +# Target libraries are configured for the host they run on, so we check +# $host here, not $target. + +case "${host}" in arc-*-elf*) if [ x$enable_biendian != xyes ] then @@ -218,6 +223,75 @@ arc-*-elf*) done fi ;; +arm-*-*) + if [ x"$enable_fpu" = xno ] + then + old_multidirs=${multidirs} + multidirs="" + for x in ${old_multidirs}; do + case "${x}" in + *fpu*) : ;; + *) multidirs="${multidirs} ${x}" ;; + esac + done + fi + if [ x"$enable_26bit" = xno ] + then + old_multidirs=${multidirs} + multidirs="" + for x in ${old_multidirs}; do + case "${x}" in + *26bit*) : ;; + *) multidirs="${multidirs} ${x}" ;; + esac + done + fi + if [ x"$enable_underscore" = xno ] + then + old_multidirs=${multidirs} + multidirs="" + for x in ${old_multidirs}; do + case "${x}" in + *under*) : ;; + *) multidirs="${multidirs} ${x}" ;; + esac + done + fi + if [ x"$enable_interwork" = xno ] + then + old_multidirs=${multidirs} + multidirs="" + for x in ${old_multidirs}; do + case "${x}" in + *interwork*) : ;; + *) multidirs="${multidirs} ${x}" ;; + esac + done + fi + if [ x$enable_biendian = xno ] + then + old_multidirs="${multidirs}" + multidirs="" + for x in ${old_multidirs}; do + case "$x" in + *le* ) : ;; + *be* ) : ;; + *) multidirs="${multidirs} ${x}" ;; + esac + done + fi + if [ x"$enable_nofmult" = xno ] + then + old_multidirs="${multidirs}" + multidirs="" + for x in ${old_multidirs}; do + case "$x" in + *nofmult* ) : ;; + *) multidirs="${multidirs} ${x}" ;; + esac + done + fi + ;; m68*-*-*) if [ x$enable_softfloat = xno ] then @@ -299,6 +373,28 @@ mips*-*-*) esac done fi + case " $multidirs " in + *" mabi=64 "*) + # We will not be able to create libraries with -mabi=64 if + # we cannot even link a trivial program. It usually + # indicates the 64bit libraries are missing. + if echo 'main() {}' > conftest.c && + ${CC-gcc} -mabi=64 conftest.c -o conftest; then + : + else + echo Could not link program with -mabi=64, disabling it. + old_multidirs="${multidirs}" + multidirs="" + for x in ${old_multidirs}; do + case "$x" in + *mabi=64* ) : ;; + *) multidirs="${multidirs} ${x}" ;; + esac + done + fi + rm -f conftest.c conftest + ;; + esac ;; powerpc*-*-* | rs6000*-*-*) if [ x$enable_softfloat = xno ] @@ -379,6 +475,30 @@ powerpc*-*-* | rs6000*-*-*) done fi ;; +sparc*-*-*) + case " $multidirs " in + *" m64 "*) + # We will not be able to create libraries with -m64 if + # we cannot even link a trivial program. It usually + # indicates the 64bit libraries are missing. + if echo 'main() {}' > conftest.c && + ${CC-gcc} -m64 conftest.c -o conftest; then + : + else + echo Could not link program with -m64, disabling it. + old_multidirs="${multidirs}" + multidirs="" + for x in ${old_multidirs}; do + case "$x" in + *m64* ) : ;; + *) multidirs="${multidirs} ${x}" ;; + esac + done + fi + rm -f conftest.c conftest + ;; + esac + ;; esac # Remove extraneous blanks from multidirs. @@ -409,6 +529,8 @@ multi-do: flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \ CFLAGS="$(CFLAGS) $${flags}" \ + prefix="$(prefix)" \ + exec_prefix="$(exec_prefix)" \ CXXFLAGS="$(CXXFLAGS) $${flags}" \ LIBCFLAGS="$(LIBCFLAGS) $${flags}" \ LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \ @@ -552,7 +674,24 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then echo "pwd: `pwd`" fi - if [ -d ${ml_dir} ]; then true; else mkdir ${ml_dir}; fi + if [ -d ${ml_dir} ]; then true; else + # ``mkdir -p ${ml_dir}'' See also mkinstalldirs. + pathcomp="" + for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`; do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" 1>&2 + mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$? + fi + if test ! -d "$pathcomp"; then + exit $lasterr + fi + pathcomp="$pathcomp/" + done + fi if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir ${ml_dir}/${ml_libdir}; fi # Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../ @@ -603,9 +742,86 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then cd ${ml_dir}/${ml_libdir} if [ -f ${ml_newsrcdir}/configure ]; then - ml_recprog=${ml_newsrcdir}/configure + ml_recprog="${ml_newsrcdir}/configure --cache-file=../config.cache" + fi + + # find compiler flag corresponding to ${ml_dir} + for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do + dir=`echo $i | sed -e 's/;.*$//'` + if [ "${dir}" = "${ml_dir}" ]; then + flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'` + break + fi + done + ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags"' + + if [ "${with_target_subdir}" = "." ]; then + CC_=$CC' ' + CXX_=$CXX' ' + else + # Create a regular expression that matches any string as long + # as ML_POPDIR. + popdir_rx=`echo ${ML_POPDIR} | sed 's,.,.,g'` + CC_= + for arg in ${CC}; do + case $arg in + -[BIL]"${ML_POPDIR}"/*) + CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;; + "${ML_POPDIR}"/*) + CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) + CC_="${CC_}${arg} " ;; + esac + done + + CXX_= + for arg in ${CXX}; do + case $arg in + -[BIL]"${ML_POPDIR}"/*) + CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + "${ML_POPDIR}"/*) + CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) + CXX_="${CXX_}${arg} " ;; + esac + done + + if test "x${LD_LIBRARY_PATH+set}" = xset; then + LD_LIBRARY_PATH_= + for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do + case "$arg" in + "${ML_POPDIR}"/*) + arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"` + ;; + esac + if test "x$LD_LIBRARY_PATH_" != x; then + LD_LIBRARY_PATH_=$LD_LIBRARY_PATH_:$arg + else + LD_LIBRARY_PATH_=$arg + fi + done + ml_config_env="$ml_config_env LD_LIBRARY_PATH=$LD_LIBRARY_PATH_" + fi + + if test "x${SHLIB_PATH+set}" = xset; then + SHLIB_PATH_= + for arg in `echo "$SHLIB_PATH" | tr ':' ' '`; do + case "$arg" in + "${ML_POPDIR}"/*) + arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"` + ;; + esac + if test "x$SHLIB_PATH_" != x; then + SHLIB_PATH_=$SHLIB_PATH_:$arg + else + SHLIB_PATH_=$arg + fi + done + ml_config_env="$ml_config_env SHLIB_PATH=$SHLIB_PATH_" + fi fi - if eval ${ml_config_shell} ${ml_recprog} \ + + if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \ --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \ ${ml_arguments} ${ml_srcdiroption} ; then true diff --git a/contrib/gdb/config.guess b/contrib/gdb/config.guess index 3263584..db494f8 100755 --- a/contrib/gdb/config.guess +++ b/contrib/gdb/config.guess @@ -1,7 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. -# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002 Free Software Foundation, Inc. + +timestamp='2002-02-19' + # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or @@ -21,36 +24,193 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# Written by Per Bothner . -# The master version of this file is at the FSF in /home/gd/gnu/lib. +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you -# don't specify an explicit system type (host/target name). -# -# Only a few systems have been added to this list; please add others -# (but try to keep the structure clean). -# +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + + +dummy=dummy-$$ +trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int dummy(){}" > $dummy.c ; + for c in cc gcc c89 ; do + ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; + if test $? = 0 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + rm -f $dummy.c $dummy.o $dummy.rel ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 8/24/94.) +# (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 - # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \ + UNAME_MACHINE_ARCH=unknown + case "${UNAME_MACHINE_ARCH}" in + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` @@ -59,90 +219,89 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - cat <dummy.s + cat <$dummy.s + .data +\$Lformat: + .byte 37,100,45,37,120,10,0 # "%d-%x\n" + + .text .globl main + .align 4 .ent main main: - .frame \$30,0,\$26,0 - .prologue 0 - .long 0x47e03d80 # implver $0 - lda \$2,259 - .long 0x47e20c21 # amask $2,$1 - srl \$1,8,\$2 - sll \$2,2,\$2 - sll \$0,3,\$0 - addl \$1,\$0,\$0 - addl \$2,\$0,\$0 - ret \$31,(\$26),1 + .frame \$30,16,\$26,0 + ldgp \$29,0(\$27) + .prologue 1 + .long 0x47e03d80 # implver \$0 + lda \$2,-1 + .long 0x47e20c21 # amask \$2,\$1 + lda \$16,\$Lformat + mov \$0,\$17 + not \$1,\$18 + jsr \$26,printf + ldgp \$29,0(\$26) + mov 0,\$16 + jsr \$26,exit .end main EOF - ${CC-cc} dummy.s -o dummy 2>/dev/null + eval $set_cc_for_build + $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then - ./dummy - case "$?" in - 7) + case `./$dummy` in + 0-0) UNAME_MACHINE="alpha" ;; - 15) + 1-0) UNAME_MACHINE="alphaev5" ;; - 14) + 1-1) UNAME_MACHINE="alphaev56" ;; - 10) + 1-101) UNAME_MACHINE="alphapca56" ;; - 16) + 2-303) UNAME_MACHINE="alphaev6" ;; + 2-307) + UNAME_MACHINE="alphaev67" + ;; + 2-1307) + UNAME_MACHINE="alphaev68" + ;; esac fi - rm -f dummy.s dummy + rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) - echo m68k-cbm-sysv4 + echo m68k-unknown-sysv4 exit 0;; - amiga:NetBSD:*:*) - echo m68k-cbm-netbsd${UNAME_RELEASE} - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; - arc64:OpenBSD:*:*) - echo mips64el-unknown-openbsd${UNAME_RELEASE} + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hkmips:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} + *:OS/390:*:*) + echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; - arm32:NetBSD:*:*) - echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - exit 0 ;; - SR2?01:HI-UX/MPP:*:*) + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; - Pyramid*:OSx*:*:*|MIS*:OSx*:*:*) + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 @@ -150,7 +309,7 @@ EOF echo pyramid-pyramid-bsd fi exit 0 ;; - NILE:*:*:dcosx) + NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; sun4H:SunOS:5.*:*) @@ -181,7 +340,7 @@ EOF echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) @@ -195,30 +354,32 @@ EOF aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; - atari*:NetBSD:*:*) - echo m68k-atari-netbsd${UNAME_RELEASE} - exit 0 ;; - atari*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3*:NetBSD:*:*) - echo m68k-sun-netbsd${UNAME_RELEASE} - exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:NetBSD:*:*) - echo m68k-apple-netbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; @@ -231,12 +392,18 @@ EOF VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; - 2020:CLIX:*:*) + 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) - sed 's/^ //' << EOF >dummy.c - int main (argc, argv) int argc; char **argv; { + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); @@ -251,12 +418,15 @@ EOF exit (-1); } EOF - ${CC-cc} dummy.c -o dummy \ - && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy + $CC_FOR_BUILD $dummy.c -o $dummy \ + && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; @@ -272,15 +442,18 @@ EOF AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ - -o ${TARGET_BINARY_INTERFACE}x = x ] ; then + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then echo m88k-dg-dgux${UNAME_RELEASE} - else + else echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} fi - else echo i586-dg-dgux${UNAME_RELEASE} - fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 @@ -301,12 +474,21 @@ EOF ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i?86:AIX:*:*) + i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - sed 's/^ //' << EOF >dummy.c + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c #include main() @@ -317,8 +499,8 @@ EOF exit(0); } EOF - ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 @@ -326,8 +508,9 @@ EOF echo rs6000-ibm-aix3.2 fi exit 0 ;; - *:AIX:*:4) - if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc @@ -335,7 +518,7 @@ EOF if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV=4.${UNAME_RELEASE} + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; @@ -345,7 +528,7 @@ EOF ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) @@ -360,33 +543,48 @@ EOF hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; - *9??*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit 0 ;; 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9] ) + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c - sed 's/^ //' << EOF >dummy.c + #define _HPUX_SOURCE #include #include - + int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); - #endif + #endif long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) + + switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: + case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) - switch (bits) + switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; @@ -394,20 +592,26 @@ EOF } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; - #endif + #endif default: puts ("hppa1.0"); break; } exit (0); } EOF - (${CC-cc} dummy.c -o dummy 2>/dev/null ) && HP_ARCH=`./dummy` - rm -f dummy.c dummy + (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy` + if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi + rm -f $dummy.c $dummy + fi ;; esac - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; 3050*:HI-UX:*:*) - sed 's/^ //' << EOF >dummy.c + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c #include int main () @@ -432,8 +636,8 @@ EOF exit (0); } EOF - ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) @@ -442,13 +646,16 @@ EOF 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; - i?86:OSF1:*:*) + i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else @@ -476,63 +683,68 @@ EOF C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; - F300:UNIX_System_V:*:*) + CRAY*T3D:*:*:*) + echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; - F301:UNIX_System_V:*:*) - echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'` - exit 0 ;; - hp3[0-9][05]:NetBSD:*:*) - echo m68k-hp-netbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - i?86:BSD/386:*:* | *:BSD/OS:*:*) + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; - *:FreeBSD:*:*) - if test -x /usr/bin/objformat; then - if test "elf" = "`/usr/bin/objformat`"; then - echo ${UNAME_MACHINE}-unknown-freebsdelf`echo${UNAME_RELEASE}|sed -e 's/[-_].*//'` - exit 0 - fi - fi - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; - *:NetBSD:*:*) - echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; - i*:[Cc][Yy][Gg][Ww][Ii][Nn]*:*) - echo ${UNAME_MACHINE}-pc-cygwin32 + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:3*) + echo i386-pc-interix3 + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i386-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin32 + echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` @@ -540,174 +752,142 @@ EOF *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; - *:Linux:*:*) - # uname on the ARM produces all sorts of strangeness, and we need to - # filter it out. - case "$UNAME_MACHINE" in - arm* | sa110*) UNAME_MACHINE="arm" ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + rm -f $dummy.c + test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; esac - + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so - # first see if it will tell us. - ld_help_string=`ld --help 2>&1` - ld_supported_emulations=`echo $ld_help_string \ - | sed -ne '/supported emulations:/!d + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g - s/.*supported emulations: *// + s/.*supported targets: *// s/ .*// p'` - case "$ld_supported_emulations" in - i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;; - i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;; - sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - elf32ppc) - # Determine Lib Version - cat >dummy.c < -#if defined(__GLIBC__) -extern char __libc_version[]; -extern char __libc_release[]; -#endif -main(argc, argv) - int argc; - char *argv[]; -{ -#if defined(__GLIBC__) - printf("%s %s\n", __libc_version, __libc_release); -#else - printf("unkown\n"); -#endif - return 0; -} -EOF - LIBC="" - ${CC-cc} dummy.c -o dummy 2>/dev/null - if test "$?" = 0 ; then - ./dummy | grep 1\.99 > /dev/null - if test "$?" = 0 ; then - LIBC="libc1" - fi - fi - rm -f dummy.c dummy - echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;; + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; esac - - if test "${UNAME_MACHINE}" = "alpha" ; then - sed 's/^ //' <dummy.s - .globl main - .ent main - main: - .frame \$30,0,\$26,0 - .prologue 0 - .long 0x47e03d80 # implver $0 - lda \$2,259 - .long 0x47e20c21 # amask $2,$1 - srl \$1,8,\$2 - sll \$2,2,\$2 - sll \$0,3,\$0 - addl \$1,\$0,\$0 - addl \$2,\$0,\$0 - ret \$31,(\$26),1 - .end main -EOF - LIBC="" - ${CC-cc} dummy.s -o dummy 2>/dev/null - if test "$?" = 0 ; then - ./dummy - case "$?" in - 7) - UNAME_MACHINE="alpha" - ;; - 15) - UNAME_MACHINE="alphaev5" - ;; - 14) - UNAME_MACHINE="alphaev56" - ;; - 10) - UNAME_MACHINE="alphapca56" - ;; - 16) - UNAME_MACHINE="alphaev6" - ;; - esac - - objdump --private-headers dummy | \ - grep ld.so.1 > /dev/null - if test "$?" = 0 ; then - LIBC="libc1" - fi - fi - rm -f dummy.s dummy - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 - elif test "${UNAME_MACHINE}" = "mips" ; then - cat >dummy.c </dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy - else - # Either a pre-BFD a.out linker (linux-gnuoldld) - # or one that does not give us useful --help. - # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. - # If ld does not provide *any* "supported emulations:" - # that means it is gnuoldld. - echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:" - test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 - - case "${UNAME_MACHINE}" in - i?86) - VENDOR=pc; - ;; - *) - VENDOR=unknown; - ;; - esac - # Determine whether the default compiler is a.out or elf - cat >dummy.c < -main(argc, argv) - int argc; - char *argv[]; -{ -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); -# else - printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); -#endif - return 0; -} + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif EOF - ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy - fi ;; -# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions -# are messed up and put the nodename in both sysname and nodename. - i?86:DYNIX/ptx:4*:*) + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + rm -f $dummy.c + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. echo i386-sequent-sysv4 exit 0 ;; - i?86:UNIX_SV:4.2MP:2.*) + i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, @@ -715,26 +895,23 @@ EOF # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; - i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*) + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; - i?86:*:5:7*) - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 -# 5.0.4c returns "Pent II". 5.0.5 returns PentII - (/bin/uname -X|egrep '^Machine.*Pent.*II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}${UNAME_VERSION}-sysv${UNAME_RELEASE} - exit 0 ;; - i?86:*:3.2:*) + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*PentII' >/dev/null) \ + (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pent II' >/dev/null) \ + (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; pc:*:*:*) + # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp @@ -778,7 +957,7 @@ EOF exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` @@ -789,24 +968,30 @@ EOF 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; - m68*:LynxOS:2.*:*) + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; - i?86:LynxOS:2.*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; - rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*) + rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; @@ -818,8 +1003,8 @@ EOF echo ns32k-sni-sysv fi exit 0 ;; - PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) @@ -831,13 +1016,17 @@ EOF # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; - news*:NEWS-OS:*:6*) + news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; - R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*) + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else @@ -853,12 +1042,91 @@ EOF BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + echo `uname -p`-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + if test "${UNAME_MACHINE}" = "x86pc"; then + UNAME_MACHINE=pc + echo i386-${UNAME_MACHINE}-nto-qnx + else + echo `uname -p`-${UNAME_MACHINE}-nto-qnx + fi + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -cat >dummy.c <$dummy.c < # include @@ -896,7 +1164,10 @@ main () #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif @@ -941,11 +1212,24 @@ main () #endif #if defined (vax) -#if !defined (ultrix) - printf ("vax-dec-bsd\n"); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif #endif #if defined (alliant) && defined (i860) @@ -956,8 +1240,8 @@ main () } EOF -${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 -rm -f dummy.c dummy +$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 +rm -f $dummy.c $dummy # Apollos put the system type in the environment. @@ -989,6 +1273,48 @@ then esac fi -#echo '(Unable to guess system type)' 1>&2 +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/contrib/gdb/config.if b/contrib/gdb/config.if index bcc0269..3958928 100644 --- a/contrib/gdb/config.if +++ b/contrib/gdb/config.if @@ -21,9 +21,15 @@ else if_topsrcdir=${top_srcdir} fi -if [ -f ${if_topsrcdir}/libstdc++/Makefile.in ]; then +if [ "${enable_libstdcxx_v3}" = "yes" ] ; then + libstdcxx_srcdir=${if_topsrcdir}/libstdc++-v3 +else + libstdcxx_srcdir=${if_topsrcdir}/libstdc++ +fi + +if [ -f ${libstdcxx_srcdir}/Makefile.in ]; then # We check libstdc++ for libstdcxx_interface. -libstdcxx_interface=`grep "^INTERFACE" ${if_topsrcdir}/libstdc++/Makefile.in | sed 's/INTERFACE[ ]*=[ ]*\(.*\)/\1/'` +libstdcxx_interface=`grep "^INTERFACE" ${libstdcxx_srcdir}/Makefile.in | sed 's/INTERFACE[ ]*=[ ]*\(.*\)/\1/'` else libstdcxx_interface= fi @@ -76,8 +82,8 @@ EOF exit 1 fi else - # Cross compiling. Assume glibc 2.1. - libc_interface=-libc6.1- + # Cross compiling. Assume glibc 2.2. + libc_interface=-libc6.2- fi ;; *) diff --git a/contrib/gdb/config.sub b/contrib/gdb/config.sub index 3ce1136..4ac7ab2 100755 --- a/contrib/gdb/config.sub +++ b/contrib/gdb/config.sub @@ -1,6 +1,10 @@ #! /bin/sh -# Configuration validation subroutine script, version 1.1. -# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc. +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002 Free Software Foundation, Inc. + +timestamp='2002-02-22' + # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. @@ -25,6 +29,9 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. @@ -45,42 +52,73 @@ # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. -if [ x$1 = x ] -then - echo Configuration name missing. 1>&2 - echo "Usage: $0 CPU-MFR-OPSYS" 1>&2 - echo "or $0 ALIAS" 1>&2 - echo where ALIAS is a recognized configuration type. 1>&2 - exit 1 -fi +me=`echo "$0" | sed -e 's,.*/,,'` -# First pass through any local machine types. -case $1 in - *local*) - echo $1 - exit 0 - ;; - *) - ;; -esac +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS -# CYGNUS LOCAL marketing-names -# Here we handle any "marketing" names - translating them to -# standard triplets -case $1 in - mips-tx39-elf) - set mipstx39-unknown-elf - ;; - *) - ;; +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit 0;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; esac -# END CYGNUS LOCAL marketing-names # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - linux-gnu*) + nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -106,20 +144,28 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple) + -apple | -axis) os= basic_machine=$1 ;; - -sim | -cisco | -oki | -wec | -winbond ) # CYGNUS LOCAL + -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; - -scout) # CYGNUS LOCAL + -scout) ;; - -wrs) # CYGNUS LOCAL - os=vxworks + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos basic_machine=$1 ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; -hiux*) os=-hiuxwe2 ;; @@ -168,70 +214,60 @@ case $os in -psos*) os=-psos ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. - tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ - | arme[lb] | pyramid | mn10200 | mn10300 \ - | tron | a29k | 580 | i960 | h8300 \ - | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ - | alpha | alphaev[45678] | alphaev56 | alphapca5[67] \ - | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \ - | 1750a | dsp16xx | pdp11 \ - | mips64 | mipsel | mips64el | mips64orion | mips64orionel \ - | mipstx39 | mipstx39el \ - | sparc | sparclet | sparclite | sparc64 | sparc86x | v850 \ - | c4x) - basic_machine=$basic_machine-unknown - ;; - m88110 | m680[012346]0 | m683?2 | m68360 | m5200 | z8k | v70 \ - | h8500 | w65 | fr30) # CYGNUS LOCAL - basic_machine=$basic_machine-unknown - ;; - strongarm) # CYGNUS LOCAL nickc/strongarm - basic_machine=$basic_machine-unknown - ;; - thumb) - basic_machine=$basic_machine-unknown - ;; - mips64vr4300 | mips64vr4300el) # CYGNUS LOCAL jsmith/vr4300 - basic_machine=$basic_machine-unknown - ;; - mips64vr4100 | mips64vr4100el) # CYGNUS LOCAL jsmith/vr4100 - basic_machine=$basic_machine-unknown - ;; - mips64vr5000 | mips64vr5000el) # CYGNUS LOCAL ian/vr5000 - basic_machine=$basic_machine-unknown - ;; - mips16) + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | c4x | clipper \ + | d10v | d30v | dsp16xx \ + | fr30 \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | m32r | m68000 | m68k | m88k | mcore \ + | mips | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el | mips64vr4300 \ + | mips64vr4300el | mips64vr5000 | mips64vr5000el \ + | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \ + | mipsisa32 \ + | mn10200 | mn10300 \ + | ns16k | ns32k \ + | openrisc | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[34] | sh[34]eb | shbe | shle | sh64 \ + | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xstormy16 | xtensa \ + | z8k) basic_machine=$basic_machine-unknown ;; - tic30) # CYGNUS LOCAL ian/tic30 + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. basic_machine=$basic_machine-unknown + os=-none ;; - c30) # CYGNUS LOCAL ian/tic30 - basic_machine=tic30-unknown + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; - v850e) # CYGNUS LOCAL jtc/v850 - basic_machine=$basic_machine-unknown - ;; - v850ea) # CYGNUS LOCAL jtc/v850 - basic_machine=$basic_machine-unknown - ;; - d10v) - basic_machine=$basic_machine-unknown - ;; - d30v) # CYGNUS LOCAL hunt/d30v - basic_machine=$basic_machine-unknown - ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. - i[34567]86) + i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. @@ -240,51 +276,49 @@ case $basic_machine in exit 1 ;; # Recognize the basic CPU types with company name. - vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \ - | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ - | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ - | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ - | xmp-* | ymp-* \ - | hppa-* | hppa1.0-* | hppa1.1-* \ - | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \ - | alpha-* | alphaev[45678]-* | alphaev56-* | alphapca5[67]-* \ - | we32k-* | cydra-* | ns16k-* | pn-* | np1-* \ - | xps100-* | clipper-* | orion-* \ - | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ - | sparc64-* | sparcv9-* | sparc86x-* | mips64-* | mipsel-* \ - | mips64el-* | mips64orion-* | mips64orionel-* \ - | mipstx39-* | mipstx39el-* \ - | f301-* \ - | fr30-*) # CYGNUS LOCAL - ;; - m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | h8500-* | d10v-*) # CYGNUS LOCAL - ;; - strongarm-*) # CYGNUS LOCAL nickc/strongarm - ;; - thumb-*) # CYGNUS LOCAL angela/thumb - ;; - v850-*) # CYGNUS LOCAL - ;; - v850e-*) # CYGNUS LOCAL - ;; - v850ea-*) # CYGNUS LOCAL - ;; - d30v-*) # CYGNUS LOCAL - ;; - mips64vr4300-* | mips64vr4300el-*) # CYGNUS LOCAL jsmith/vr4300 - ;; - mips64vr4100-* | mips64vr4100el-*) # CYGNUS LOCAL jsmith/vr4100 - ;; - mips16-*) # CYGNUS LOCAL krk/mips16 - ;; - tic30-*) # CYGNUS LOCAL ian/tic30 - ;; - c30-*) # CYGNUS LOCAL ian/tic30 - basic_machine=tic30-unknown + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armv*-* \ + | avr-* \ + | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c54x-* \ + | clipper-* | cydra-* \ + | d10v-* | d30v-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | m32r-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | mcore-* \ + | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ + | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \ + | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* | sh64-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ + | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ + | ymp-* \ + | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. - 386bsd) # CYGNUS LOCAL + 386bsd) basic_machine=i386-unknown os=-bsd ;; @@ -294,11 +328,11 @@ case $basic_machine in 3b*) basic_machine=we32k-att ;; - a29khif) # CYGNUS LOCAL + a29khif) basic_machine=a29k-amd os=-udi ;; - adobe68k) # CYGNUS LOCAL + adobe68k) basic_machine=m68010-adobe os=-scout ;; @@ -317,21 +351,21 @@ case $basic_machine in os=-sysv ;; amiga | amiga-*) - basic_machine=m68k-cbm + basic_machine=m68k-unknown ;; amigaos | amigados) - basic_machine=m68k-cbm + basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) - basic_machine=m68k-cbm + basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; - apollo68bsd) # CYGNUS LOCAL + apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; @@ -343,6 +377,10 @@ case $basic_machine in basic_machine=ns32k-sequent os=-dynix ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -363,27 +401,30 @@ case $basic_machine in basic_machine=c38-convex os=-bsd ;; - cray | ymp) - basic_machine=ymp-cray - os=-unicos - ;; - cray2) - basic_machine=cray2-cray - os=-unicos - ;; - [ctj]90-cray) - basic_machine=c90-cray + cray | j90) + basic_machine=j90-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola @@ -411,7 +452,7 @@ case $basic_machine in encore | umax | mmax) basic_machine=ns32k-encore ;; - es1800 | OSE68k | ose68k | ose | OSE) # CYGNUS LOCAL + es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; @@ -425,6 +466,10 @@ case $basic_machine in basic_machine=tron-gmicro os=-sysv ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 @@ -433,11 +478,11 @@ case $basic_machine in basic_machine=h8300-hitachi os=-hms ;; - h8300xray) # CYGNUS LOCAL + h8300xray) basic_machine=h8300-hitachi os=-xray ;; - h8500hms) # CYGNUS LOCAL + h8500hms) basic_machine=h8500-hitachi os=-hms ;; @@ -456,22 +501,6 @@ case $basic_machine in basic_machine=m68k-hp os=-hpux ;; - w89k-*) # CYGNUS LOCAL - basic_machine=hppa1.1-winbond - os=-proelf - ;; - op50n-*) # CYGNUS LOCAL - basic_machine=hppa1.1-oki - os=-proelf - ;; - op60c-*) # CYGNUS LOCAL - basic_machine=hppa1.1-oki - os=-proelf - ;; - hppro) # CYGNUS LOCAL - basic_machine=hppa1.1-hp - os=-proelf - ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; @@ -481,22 +510,21 @@ case $basic_machine in hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9] ) + hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9] ) + hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; - hp9k78[0-9] | hp78[0-9] ) + hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | \ - hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893 ) + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; - hp9k8[0-9][13679] | hp8[0-9][13679] ) + hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) @@ -505,47 +533,42 @@ case $basic_machine in hppa-next) os=-nextstep3 ;; - hppaosf) # CYGNUS LOCAL + hppaosf) basic_machine=hppa1.1-hp os=-osf ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; i370-ibm* | ibm*) basic_machine=i370-ibm - os=-mvs ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? - i[34567]86v32) + i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; - i[34567]86v4*) + i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; - i[34567]86v) + i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; - i[34567]86sol2) + i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; - i386mach) # CYGNUS LOCAL + i386mach) basic_machine=i386-mach os=-mach ;; - i386-vsta | vsta) # CYGNUS LOCAL + i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; - i386-go32 | go32) # CYGNUS LOCAL - basic_machine=i386-unknown - os=-go32 - ;; - i386-mingw32 | mingw32) - basic_machine=i386-unknown - os=-mingw32 - ;; iris | iris4d) basic_machine=mips-sgi case $os in @@ -571,16 +594,16 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; miniframe) basic_machine=m68000-convergent ;; - mipsel*-linux*) - basic_machine=mipsel-unknown - os=-linux-gnu - ;; - mips*-linux*) - basic_machine=mips-unknown - os=-linux-gnu + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` @@ -588,22 +611,38 @@ case $basic_machine in mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; - monitor) # CYGNUS LOCAL + mmix*) + basic_machine=mmix-knuth + os=-mmixware + ;; + monitor) basic_machine=m68k-rom68k os=-coff ;; - msdos) # CYGNUS LOCAL - basic_machine=i386-unknown + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc os=-msdos ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) - basic_machine=i386-unknown # CYGNUS LOCAL + basic_machine=i386-unknown os=-netbsd ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos @@ -616,7 +655,7 @@ case $basic_machine in basic_machine=mips-sony os=-newsos ;; - necv70) # CYGNUS LOCAL + necv70) basic_machine=v70-nec os=-sysv ;; @@ -645,18 +684,33 @@ case $basic_machine in basic_machine=i960-intel os=-nindy ;; - mon960) # CYGNUS LOCAL + mon960) basic_machine=i960-intel os=-mon960 ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; np1) basic_machine=np1-gould ;; - OSE68000 | ose68000) # CYGNUS LOCAL + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; + OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; - os68k) # CYGNUS LOCAL + os68k) basic_machine=m68k-none os=-os68k ;; @@ -677,28 +731,28 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; - pentium | p5 | k5 | nexen) + pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; - pentiumpro | p6 | k6 | 6x86) + pentiumpro | p6 | 6x86 | athlon) basic_machine=i686-pc ;; pentiumii | pentium2) - basic_machine=i786-pc + basic_machine=i686-pc ;; - pentium-* | p5-* | k5-* | nexen-*) + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumpro-* | p6-* | k6-* | 6x86-*) + pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; - power) basic_machine=rs6000-ibm + power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; @@ -710,10 +764,24 @@ case $basic_machine in ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; ps2) basic_machine=i386-ibm ;; - rom68k) # CYGNUS LOCAL + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) basic_machine=m68k-rom68k os=-coff ;; @@ -723,7 +791,13 @@ case $basic_machine in rtpc | rtpc-*) basic_machine=romp-ibm ;; - sa29200) # CYGNUS LOCAL + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) basic_machine=a29k-amd os=-udi ;; @@ -734,7 +808,7 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; - sparclite-wrs) # CYGNUS LOCAL + sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; @@ -745,10 +819,10 @@ case $basic_machine in spur) basic_machine=spur-unknown ;; - st2000) # CYGNUS LOCAL + st2000) basic_machine=m68k-tandem ;; - stratus) # CYGNUS LOCAL + stratus) basic_machine=i860-stratus os=-sysv4 ;; @@ -792,16 +866,40 @@ case $basic_machine in sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; symmetry) basic_machine=i386-sequent os=-dynix ;; + t3d) + basic_machine=alpha-cray + os=-unicos + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; tower | tower-32) basic_machine=m68k-ncr ;; @@ -813,7 +911,7 @@ case $basic_machine in basic_machine=a29k-nyu os=-sym1 ;; - v810 | necv810) # CYGNUS LOCAL + v810 | necv810) basic_machine=v810-nec os=-none ;; @@ -840,18 +938,26 @@ case $basic_machine in basic_machine=a29k-wrs os=-vxworks ;; - w65*) # CYGNUS LOCAL - basic_machine=w65-wdc - os=-none + w65*) + basic_machine=w65-wdc + os=-none ;; - xmp) - basic_machine=xmp-cray - os=-unicos + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + windows32) + basic_machine=i386-pc + os=-windows32-msvcrt ;; xps | xps100) basic_machine=xps100-honeywell ;; - z8k-*-coff) # CYGNUS LOCAL + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; @@ -862,22 +968,15 @@ case $basic_machine in # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. - w89k) # CYGNUS LOCAL + w89k) basic_machine=hppa1.1-winbond ;; - op50n) # CYGNUS LOCAL + op50n) basic_machine=hppa1.1-oki ;; - op60c) # CYGNUS LOCAL + op60c) basic_machine=hppa1.1-oki ;; - mips) - if [ x$os = x-linux-gnu ]; then - basic_machine=mips-unknown - else - basic_machine=mips-mips - fi - ;; romp) basic_machine=romp-ibm ;; @@ -887,13 +986,23 @@ case $basic_machine in vax) basic_machine=vax-dec ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; - sparc | sparcv9) + sh3 | sh4 | sh3eb | sh4eb) + basic_machine=sh-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) @@ -905,16 +1014,19 @@ case $basic_machine in orion105) basic_machine=clipper-highlevel ;; - mac | mpw | mac-mpw) # CYGNUS LOCAL + mac | mpw | mac-mpw) basic_machine=m68k-apple ;; - pmac | pmac-mpw) # CYGNUS LOCAL + pmac | pmac-mpw) basic_machine=powerpc-apple ;; - c4x*) - basic_machine=c4x-none - os=-coff - ;; + c4x*) + basic_machine=c4x-none + os=-coff + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 @@ -971,19 +1083,35 @@ case $os in | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk*) + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova*) # Remember, each alternative MUST END IN *, to match a version number. ;; - # CYGNUS LOCAL + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto*) + os=-nto-qnx + ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mon960* | -lnews* ) + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; - # END CYGNUS LOCAL -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -993,6 +1121,12 @@ case $os in -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; + -opened*) + os=-openedition + ;; + -wince*) + os=-wince + ;; -osfrose*) os=-osfrose ;; @@ -1008,15 +1142,24 @@ case $os in -acis*) os=-aos ;; - -386bsd) # CYGNUS LOCAL + -atheos*) + os=-atheos + ;; + -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; + -nova*) + os=-rtmk-nova + ;; -ns2 ) os=-nextstep2 ;; + -nsk*) + os=-nsk + ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` @@ -1042,15 +1185,18 @@ case $os in # This must come after -sysvr4. -sysv*) ;; - -ose*) # CYGNUS LOCAL + -ose*) os=-ose ;; - -es1800*) # CYGNUS LOCAL + -es1800*) os=-ose ;; -xenix) os=-xenix ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; -none) ;; *) @@ -1076,9 +1222,16 @@ case $basic_machine in *-acorn) os=-riscix1.2 ;; + arm*-rebel) + os=-linux + ;; arm*-semi) os=-aout ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; pdp11-*) os=-none ;; @@ -1097,15 +1250,18 @@ case $basic_machine in # default. # os=-sunos4 ;; - m68*-cisco) # CYGNUS LOCAL + m68*-cisco) os=-aout ;; - mips*-cisco) # CYGNUS LOCAL + mips*-cisco) + os=-elf + ;; + mips*-*) os=-elf ;; - mips*-*) # CYGNUS LOCAL - os=-elf - ;; + or32-*) + os=-coff + ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; @@ -1118,13 +1274,13 @@ case $basic_machine in *-ibm) os=-aix ;; - *-wec) # CYGNUS LOCAL + *-wec) os=-proelf ;; - *-winbond) # CYGNUS LOCAL + *-winbond) os=-proelf ;; - *-oki) # CYGNUS LOCAL + *-oki) os=-proelf ;; *-hp) @@ -1187,18 +1343,21 @@ case $basic_machine in *-masscomp) os=-rtu ;; - f301-fujitsu) + f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; - *-rom68k) # CYGNUS LOCAL + *-rom68k) os=-coff ;; - *-*bug) # CYGNUS LOCAL + *-*bug) os=-coff ;; - *-apple) # CYGNUS LOCAL + *-apple) os=-macos ;; + *-atari*) + os=-mint + ;; *) os=-none ;; @@ -1244,7 +1403,7 @@ case $basic_machine in -genix*) vendor=ns ;; - -mvs*) + -mvs* | -opened*) vendor=ibm ;; -ptx*) @@ -1256,15 +1415,29 @@ case $basic_machine in -aux*) vendor=apple ;; - -hms*) # CYGNUS LOCAL + -hms*) vendor=hitachi ;; - -mpw* | -macos*) # CYGNUS LOCAL + -mpw* | -macos*) vendor=apple ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/contrib/gdb/configure b/contrib/gdb/configure index a63a3fb..477bbe0 100755 --- a/contrib/gdb/configure +++ b/contrib/gdb/configure @@ -3,7 +3,7 @@ ### WARNING: this file contains embedded tabs. Do not run untabify on this file. # Configuration script -# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 1997 +# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -86,7 +86,7 @@ subdirs= target_alias=NOTARGET target_makefile_frag= undefs=NOUNDEFS -version="$Revision: 1.270 $" +version="$Revision: 1.13 $" x11=default bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' @@ -237,7 +237,7 @@ do esac enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'` - eval "$enableopt='$optarg'" + eval "$enableopt=\$optarg" enableoptions="$enableoptions '$option'" ;; --exec-prefix* | --ex*) @@ -370,7 +370,7 @@ do esac withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'` - eval $withopt="$optarg" + eval $withopt="\$optarg" withoptions="$withoptions $option" ;; --without-*) @@ -450,7 +450,7 @@ case "${fatal}" in fi ;; esac - echo "Configuring for a ${host_alias} host." 1>&2 + echo "Configuring for a ${host_alias} host." arguments="--host=$host_alias $arguments" else echo 'Config.guess failed to determine the host type. You need to specify one.' 1>&2 @@ -518,7 +518,8 @@ fi configsub=`echo ${progname} | sed 's/configure$/config.sub/'` moveifchange=`echo ${progname} | sed 's/configure$/move-if-change/'` -topsrcdir=`cd \`dirname ${progname}\`; pwd` +## the sed command below emulates the dirname command +topsrcdir=`cd \`echo ${progname} | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'\`; pwd` # this is a hack. sun4 must always be a valid host alias or this will fail. @@ -576,7 +577,6 @@ case "${srcdir}" in fi esac - # default exec_prefix case "${exec_prefixoption}" in "") exec_prefix="\$(prefix)" ;; @@ -587,12 +587,12 @@ esac # the gcc version number changes. if [ "${with_gcc_version_trigger+set}" = set ]; then gcc_version_trigger="$with_gcc_version_trigger" - gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${with_gcc_version_trigger}` + gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'` else # If gcc's sources are available, define the trigger file. if [ -f ${topsrcdir}/gcc/version.c ] ; then gcc_version_trigger=${topsrcdir}/gcc/version.c - gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${gcc_version_trigger}` + gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'` case "$arguments" in *--with-gcc-version-trigger=$gcc_version_trigger* ) ;; @@ -655,8 +655,8 @@ case "${TMPDIR}" in *) ;; esac -# keep this filename short for &%*%$*# 14 char file names -tmpfile=${TMPDIR}/cONf$$ +# keep this filename short for &%*%$*# 14 char file names and 8+3 file names +tmpfile=${TMPDIR}/cNf$$ # Note that under many versions of sh a trap handler for 0 will *override* any # exit status you explicitly specify! At this point, the only non-error exit # is at the end of the script; these actions are duplicated there, minus @@ -912,9 +912,10 @@ if [ "${build}" != "${host}" ]; then tools="${tools} HOST_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM" tools="${tools} NM_FOR_TARGET RANLIB RANLIB_FOR_TARGET" tools="${tools} WINDRES WINDRES_FOR_TARGET YACC" + tools="${tools} OBJCOPY OBJDUMP" for var in ${tools}; do - if [ -z "`eval 'echo $'"${var}"`" ] && [ -r Makefile ]; then + if eval [ -z \"\$${var}\" ] && [ -r Makefile ]; then sed -n -e ':loop /\\$/ N s/\\\n//g @@ -923,7 +924,7 @@ t loop < Makefile > Makefile.v t=`tail -1 Makefile.v` if [ -n "${t}" ]; then - eval "${var}='${t}'" + eval "${var}=\${t}" fi rm -f Makefile.v fi @@ -955,6 +956,8 @@ t loop RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET-${target_alias}-ranlib} WINDRES=${WINDRES-${host_alias}-windres} WINDRES_FOR_TARGET=${WINDRES_FOR_TARGET-${target_alias}-windres} + OBJCOPY=${OBJCOPY-${host_alias}-objcopy} + OBJDUMP=${OBJDUMP-${host_alias}-objdump} if [ -z "${YACC}" ]; then IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" @@ -1005,6 +1008,8 @@ t loop export NM export RANLIB export WINDRES + export OBJCOPY + export OBJDUMP else # If CC is still not set, try to get gcc. if [ -z "${CC}" ]; then @@ -1057,6 +1062,27 @@ export CXX export CFLAGS export CXXFLAGS +# FIXME: This should be in configure.in, not configure +case "$host" in + *go32*) + enable_gdbtk=no ;; + *msdosdjgpp*) + enable_gdbtk=no ;; +esac + +# FIXME: This should be in configure.in, not configure +# Determine whether gdb needs tk/tcl or not. +if [ "$enable_gdbtk" != "no" ]; then + GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" +else + GDB_TK="" +fi + +all_build_modules= +if test x"${build_alias}" != x"${host_alias}" +then + all_build_modules='$(ALL_BUILD_MODULES_LIST)' +fi for subdir in . ${subdirs} ; do @@ -1315,35 +1341,6 @@ EOF echo site_makefile_frag = ${invsubdir}${site_makefile_frag} >>${Makefile} fi - # provide a proper gxx_include_dir to all subdirs. - # Note, if you change the default, make sure to fix both here - # and in the gcc subdirectory. - # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given. - gxx_include_dir= - if test -n "${with_gxx_include_dir}"; then - case "${with_gxx_include_dir}" in - yes ) - echo "configure: error: bad value ${withval} given for g++ include directory" 1>&2 - exit 1 - ;; - no ) - ;; - * ) - gxx_include_dir=${with_gxx_include_dir} - ;; - esac - fi - if test x${gxx_include_dir} = x; then - if test x${enable_version_specific_runtime_libs} = xyes; then - echo gxx_include_dir = '${libsubdir}/include/g++' >> ${Makefile} - else - . ${topsrcdir}/config.if - echo gxx_include_dir = '${prefix}/include/g++'-${libstdcxx_interface} >> ${Makefile} - fi - else - echo gxx_include_dir = ${gxx_include_dir} >> ${Makefile} - fi - # record if we want to build shared libs. if test -z "${enable_shared}"; then echo enable_shared = no >> ${Makefile} @@ -1387,6 +1384,7 @@ EOF -e "s|^oldincludedir[ ]*=.*$|oldincludedir = ${oldincludedir}|" \ -e "s|^infodir[ ]*=.*$|infodir = ${infodir}|" \ -e "s|^mandir[ ]*=.*$|mandir = ${mandir}|" \ + -e "s|^ALL_BUILD_MODULES =.*|ALL_BUILD_MODULES =${all_build_modules}|" \ -e "/^CC[ ]*=/{ :loop1 /\\\\$/ N @@ -1422,17 +1420,20 @@ EOF -e "s:^program_suffix[ ]*=.*$:program_suffix = ${program_suffix}:" \ -e "s:^program_transform_name[ ]*=.*$:program_transform_name = ${program_transform_name}:" \ -e "s|^tooldir[ ]*=.*$|tooldir = ${tooldir}|" \ + -e "s|^build_tooldir[ ]*=.*$|build_tooldir = ${tooldir}|" \ -e "s:^DEFAULT_YACC[ ]*=.*$:DEFAULT_YACC = ${DEFAULT_YACC}:" \ -e "s:^DEFAULT_LEX[ ]*=.*$:DEFAULT_LEX = ${DEFAULT_LEX}:" \ -e "s:^DEFAULT_M4[ ]*=.*$:DEFAULT_M4 = ${DEFAULT_M4}:" \ ${subdir}/Makefile.tem >> ${Makefile} + sed -e "s:^GDB_TK[ ]*=.*$:GDB_TK = ${GDB_TK}:" ${Makefile} >${Makefile}.tem + mv -f ${Makefile}.tem ${Makefile} # If this is a Canadian Cross, preset the values of many more # tools. if [ "${build}" != "${host}" ]; then for var in ${tools}; do - val=`eval 'echo $'"${var}"` + eval val=\$${var} sed -e "/^${var}[ ]*=/{ :loop1 /\\\\$/ N diff --git a/contrib/gdb/configure.in b/contrib/gdb/configure.in index eb7fc71..baf9d73 100644 --- a/contrib/gdb/configure.in +++ b/contrib/gdb/configure.in @@ -14,8 +14,7 @@ ## For more information on these two systems, check out the documentation ## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi). -# Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 1999 -# Free Software Foundation, Inc. +# Copyright (C) 1992-99, 2000, 2001 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -48,10 +47,14 @@ if [ "${enable_gdbgui}" = "yes" ] ; then host_libs="${host_libs} libgui" fi +libstdcxx_version="target-libstdc++-v3" +# Don't use libstdc++-v3's flags to configure/build itself. +libstdcxx_flags='`case $$dir in libstdc++-v3 | libjava) ;; *) test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes;; esac` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs' + # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to # know that we are building the simulator. -host_tools="byacc flex bison binutils ld gas gcc sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip" +host_tools="texinfo byacc flex bison binutils ld gas gcc cgen sid sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip" # these libraries are built for the target environment, and are built after # the host libraries and the host tools (which may be a cross compiler) @@ -59,10 +62,15 @@ host_tools="byacc flex bison binutils ld gas gcc sim gdb make patch prms send-pr target_libs="target-libiberty \ target-libgloss \ target-newlib \ - target-libio \ - target-librx \ - target-libstdc++ \ - target-libg++" + ${libstdcxx_version} \ + target-libf2c \ + target-libchill \ + target-libffi \ + target-libjava \ + target-zlib \ + target-boehm-gc \ + target-qthreads \ + target-libobjc" # these tools are built using the target libs, and are intended to run only # in the target environment @@ -155,6 +163,9 @@ case "${host}" in mips*-*-sysv*) host_makefile_frag="${host_makefile_frag} config/mh-riscos" ;; + i370-ibm-opened*) + host_makefile_frag="${host_makefile_frag} config/mh-openedition" + ;; i[3456]86-*-sysv5*) host_makefile_frag="${host_makefile_frag} config/mh-sysv5" ;; @@ -185,11 +196,8 @@ case "${host}" in i[3456]86-*-aix*) host_makefile_frag="${host_makefile_frag} config/mh-aix386" ;; - i[3456]86-*-go32*) - host_makefile_frag="${host_makefile_frag} config/mh-go32" - ;; i[3456]86-*-msdosdjgpp*) - host_makefile_frag="${host_makefile_frag} config/mh-go32" + host_makefile_frag="${host_makefile_frag} config/mh-djgpp" ;; *-cygwin*) host_makefile_frag="${host_makefile_frag} config/mh-cygwin" @@ -197,6 +205,9 @@ case "${host}" in *-mingw32*) host_makefile_frag="${host_makefile_frag} config/mh-mingw32" ;; + *-interix*) + host_makefile_frag="${host_makefile_frag} config/mh-interix" + ;; *-windows*) host_makefile_frag="${host_makefile_frag} config/mh-windows" ;; @@ -224,9 +235,6 @@ case "${host}" in *-*-lynxos*) host_makefile_frag="${host_makefile_frag} config/mh-lynxos" ;; - *-*-aix4.[3456789]* | *-*-aix[56789].*) - host_makefile_frag="${host_makefile_frag} config/mh-aix43" - ;; *-*-sysv4*) host_makefile_frag="${host_makefile_frag} config/mh-sysv4" ;; @@ -277,25 +285,40 @@ esac if [ x${shared} = xyes ]; then case "${host}" in - hppa*) + alpha*-*-linux*) + host_makefile_frag="${host_makefile_frag} config/mh-elfalphapic" + ;; + arm*-*-*) + host_makefile_frag="${host_makefile_frag} config/mh-armpic" + ;; + hppa*-*-*) host_makefile_frag="${host_makefile_frag} config/mh-papic" ;; i[3456]86-*-cygwin*) # We don't want -fPIC on Cygwin. ;; - i[3456]86-*) + i[3456]86-*-*) host_makefile_frag="${host_makefile_frag} config/mh-x86pic" ;; - sparc64-*) + i370-*-*) + host_makefile_frag="${host_makefile_frag} config/mh-i370pic" + ;; + ia64-*-*) + host_makefile_frag="${host_makefile_frag} config/mh-ia64pic" + ;; + sparc64-*-*) host_makefile_frag="${host_makefile_frag} config/mh-sparcpic" ;; - powerpc*-*) + powerpc*-*-aix*) + # We don't want -fPIC on AIX. + ;; + powerpc*-*-*) host_makefile_frag="${host_makefile_frag} config/mh-ppcpic" ;; - alpha*-*-linux*) - host_makefile_frag="${host_makefile_frag} config/mh-elfalphapic" + s390-* | s390x-*) + host_makefile_frag="${host_makefile_frag} config/mh-s390pic" ;; - *) + *-*-*) if test -f ${srcdir}/config/mh-${host_cpu}pic; then host_makefile_frag="${host_makefile_frag} config/mh-${host_cpu}pic" fi @@ -324,9 +347,15 @@ case "${target}" in powerpc-*-netware*) target_makefile_frag="${target_makefile_frag} config/mt-netware" ;; - *-*-linux-gnu) + *-*-linux-gnu*) target_makefile_frag="${target_makefile_frag} config/mt-linux" ;; + *-*-aix4.[3456789]* | *-*-aix[56789].*) + target_makefile_frag="${target_makefile_frag} config/mt-aix43" + ;; + mips*-*-pe | sh*-*-pe | *arm-wince-pe) + target_makefile_frag="${target_makefile_frag} config/mt-wince" + ;; esac # If --enable-target-optspace always use -Os instead of -O2 to build @@ -336,8 +365,10 @@ case "${enable_target_optspace}:${target}" in yes:*) target_makefile_frag="${target_makefile_frag} config/mt-ospace" ;; - # CYGNUS LOCAL d10v, d30v, fr30 - :m32r-* | :d10v-* | :d30v-* | :fr30-*) + :d30v-*) + target_makefile_frag="${target_makefile_frag} config/mt-d30v" + ;; + :m32r-* | :d10v-* | :fr30-*) target_makefile_frag="${target_makefile_frag} config/mt-ospace" ;; no:* | :*) @@ -397,6 +428,18 @@ if [ ! -d ${target_subdir} ] ; then fi fi +build_subdir=${build_alias} + +if [ x"${build_alias}" != x"${host}" ] ; then + if [ ! -d ${build_subdir} ] ; then + if mkdir ${build_subdir} ; then true + else + echo "'*** could not make ${PWD=`pwd`}/${build_subdir}" 1>&2 + exit 1 + fi + fi +fi + copy_dirs= # Handle --with-headers=XXX. The contents of the named directory are @@ -511,20 +554,17 @@ case "${host}" in noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext" ;; i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*) - noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext" + noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext libffi" ;; i[3456]86-*-mingw32*) # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv" - noconfigdirs="expect dejagnu cvs autoconf automake send-pr gprof rcs guile perl texinfo apache inet libtool" + noconfigdirs="expect dejagnu cvs autoconf automake send-pr rcs guile perl texinfo apache inet libtool" ;; + i[3456]86-*-beos*) + noconfigdirs="$noconfigdirs tk itcl tix libgui gdb" + ;; *-*-cygwin*) - noconfigdirs="autoconf automake send-pr gprof rcs guile perl texinfo apache inet" - ;; - *-*-windows*) -# This is only used to build WinGDB... -# note that powerpc-eabi depends on sim configured before gdb. - configdirs="bfd libiberty opcodes readline sim gdb" - target_configdirs= + noconfigdirs="autoconf automake send-pr rcs guile perl apache inet" ;; *-*-netbsd*) noconfigdirs="rcs" @@ -532,18 +572,48 @@ case "${host}" in ppc*-*-pe) noconfigdirs="patch diff make tk tcl expect dejagnu cvssrc autoconf automake texinfo bison send-pr gprof rcs guile perl apache inet itcl tix db snavigator gnuserv" ;; + powerpc-*-beos*) + noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline" + ;; esac +# Save it here so that, even in case of --enable-libgcj, if the Java +# front-end isn't enabled, we still get libgcj disabled. +libgcj_saved=$libgcj +case $enable_libgcj in +yes) + # If we reset it here, it won't get added to noconfigdirs in the + # target-specific build rules, so it will be forcibly enabled + # (unless the Java language itself isn't enabled). + libgcj= + ;; +no) + # Make sure we get it printed in the list of not supported target libs. + noconfigdirs="$noconfigdirs ${libgcj}" + ;; +esac + case "${target}" in + *-*-netbsd*) + # Skip some stuff on all NetBSD configurations. + skipdirs="$skipdirs target-newlib target-libiberty target-libgloss" + + # Skip some stuff that's unsupported on some NetBSD configurations. + case "${target}" in + *) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + esac + ;; *-*-netware) - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty target-libgloss" + noconfigdirs="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss target-libffi" ;; *-*-rtems*) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; *-*-vxworks*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi" ;; alpha*-dec-osf*) # ld works, but does not support shared libraries. emacs doesn't @@ -552,90 +622,101 @@ case "${target}" in noconfigdirs="$noconfigdirs gas ld emacs fileutils target-newlib target-libgloss" ;; alpha*-*-*vms*) - noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss" - ;; - alpha*-*-linux*) - # newlib is not 64 bit ready - noconfigdirs="$noconfigdirs target-newlib target-libgloss" - # linux has rx in libc - skipdirs="$skipdirs target-librx" + noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss target-libffi" ;; alpha*-*-*) # newlib is not 64 bit ready noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) + noconfigdirs="$noconfigdirs target-libjava target-libffi target-zlib" + noconfigdirs="$noconfigdirs target-boehm-gc target-qthreads target-examples" + noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr" + noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim" + noconfigdirs="$noconfigdirs expect dejagnu" + # the C++ libraries don't build on top of CE's C libraries + noconfigdirs="$noconfigdirs ${libstdcxx_version}" + skipdirs="$skipdirs target-newlib" + case "${host}" in + *-*-cygwin*) ;; # keep gdb and readline + *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}" + ;; + esac + ;; arc-*-*) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; arm-*-pe*) noconfigdirs="$noconfigdirs target-libgloss" ;; - arm-*-coff*) - noconfigdirs="$noconfigdirs target-libgloss" - ;; - arm-*-elf*) - noconfigdirs="$noconfigdirs target-libgloss" - if [ x${is_cross_compiler} != xno ] ; then - target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon" - fi - ;; arm-*-oabi*) - noconfigdirs="$noconfigdirs target-libgloss" - if [ x${is_cross_compiler} != xno ] ; then - target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon" - fi - ;; - c4x-*-*) - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; thumb-*-coff) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; -# CYGNUS LOCAL clm/arm-elf thumb-*-elf) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; thumb-*-oabi) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; -# END CYGNUS LOCAL -# CYGNUS LOCAL nickc/strongarm strongarm-*-elf) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libffi" if [ x${is_cross_compiler} != xno ] ; then - target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon" + target_configdirs="${target_configdirs} target-bsp target-cygmon" fi ;; strongarm-*-coff) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libffi" + if [ x${is_cross_compiler} != xno ] ; then + target_configdirs="${target_configdirs} target-bsp target-cygmon" + fi ;; -# END CYGNUS LOCAL - thumb-*-pe) # CYGNUS LOCAL nickc/thumb - noconfigdirs="$noconfigdirs target-libgloss" + xscale-*-elf) + noconfigdirs="$noconfigdirs target-libffi" + if [ x${is_cross_compiler} != xno ] ; then + target_configdirs="${target_configdirs} target-bsp target-cygmon" + fi + ;; + xscale-*-coff) + noconfigdirs="$noconfigdirs target-libffi" + if [ x${is_cross_compiler} != xno ] ; then + target_configdirs="${target_configdirs} target-bsp target-cygmon" + fi + ;; + thumb-*-pe) + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; arm-*-riscix*) - noconfigdirs="$noconfigdirs ld target-libgloss" + noconfigdirs="$noconfigdirs ld target-libgloss target-libffi" + ;; + c4x-*-*) + noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi" + ;; + c54x*-*-* | tic54x-*-*) + noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi gcc gdb newlib" ;; d10v-*-*) - noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio target-libgloss" + noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi" ;; -# CYGNUS LOCAL d30v d30v-*-*) ;; -# END CYGNUS LOCAL -# CYGNUS LOCAL fr30 fr30-*-elf*) if [ x${is_cross_compiler} != xno ] ; then target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon" fi ;; -# END CYGNUS LOCAL - h8300*-*-* | \ + h8300*-*-*) + noconfigdirs="$noconfigdirs target-libgloss" + ;; h8500-*-*) - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss" + noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi" ;; hppa*-*-*elf* | \ - hppa*-*-lites*) + hppa*-*-linux-gnu* | \ + hppa*-*-lites* | \ + hppa*64*-*-*) # Do configure ld/binutils/gas for this case. ;; hppa*-*-*) @@ -646,7 +727,17 @@ case "${target}" in "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;; *) ;; esac - noconfigdirs="$noconfigdirs ld shellutils" + # According to Alexandre Oliva , libjava won't + # build on HP-UX 10.20. + noconfigdirs="$noconfigdirs ld shellutils ${libgcj}" + ;; + ia64*-*-elf*) + # No gdb support yet. + noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb" + ;; + ia64*-**-hpux*) + # No gdb or ld support yet. + noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld" ;; i[3456]86-*-coff | i[3456]86-*-elf) if [ x${is_cross_compiler} != xno ] ; then @@ -655,15 +746,11 @@ case "${target}" in ;; i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*) # but don't build gdb - noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx" - ;; - *-*-linux*) - # linux has rx in libc - skipdirs="$skipdirs target-librx" + noconfigdirs="$noconfigdirs gdb ${libstdcxx_version} target-libffi" ;; i[3456]86-*-mingw32*) target_configdirs="$target_configdirs target-mingw" - noconfigdirs="$noconfigdirs expect target-libgloss" + noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}" # Can't build gdb for mingw32 if not native. case "${host}" in @@ -674,7 +761,7 @@ case "${target}" in ;; *-*-cygwin*) target_configdirs="$target_configdirs target-libtermcap target-winsup" - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` @@ -686,15 +773,15 @@ case "${target}" in esac ;; i[3456]86-*-pe) - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss" + noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi" ;; i[3456]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. - noconfigdirs="$noconfigdirs ld target-libgloss" + noconfigdirs="$noconfigdirs ld target-libgloss target-libffi" ;; i[3456]86-*-sco*) - noconfigdirs="$noconfigdirs gprof target-libgloss" + noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi" ;; i[3456]86-*-solaris2*) noconfigdirs="$noconfigdirs target-libgloss" @@ -706,40 +793,52 @@ case "${target}" in *) ;; esac # but that's okay since emacs doesn't work anyway - noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss" + noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss target-libffi" ;; - m68k-*-*) + i[3456]86-*-beos*) + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" + ;; + m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) + noconfigdirs="$noconfigdirs target-libiberty target-librx target-libg++ target-libstdc++ target-libio target-libf2c target-libchill target-zlib target-libobjc" + ;; + m68k-*-elf*) if [ x${is_cross_compiler} != xno ] ; then - target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon" + target_configdirs="${target_configdirs} target-bsp target-cygmon" + fi + ;; + m68k-*-coff*) + if [ x${is_cross_compiler} != xno ] ; then + target_configdirs="${target_configdirs} target-bsp target-cygmon" fi ;; mn10200-*-*) - noconfigdirs="$noconfigdirs" + noconfigdirs="$noconfigdirs target-libffi" if [ x${is_cross_compiler} != xno ] ; then target_configdirs="${target_configdirs} target-libstub target-cygmon" fi ;; mn10300-*-*) - noconfigdirs="$noconfigdirs" + noconfigdirs="$noconfigdirs target-libffi" if [ x${is_cross_compiler} != xno ] ; then target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon" fi ;; powerpc-*-aix*) # copied from rs6000-*-* entry - noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss" - # This is needed until gcc and ld are fixed to work together. - use_gnu_ld=no + use_gnu_ld=yes ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv" + noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv target-libffi" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; # This is temporary until we can link against shared libraries powerpcle-*-solaris*) - noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv" + noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv target-libffi" + ;; + powerpc-*-beos*) + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" ;; powerpc-*-eabi) if [ x${is_cross_compiler} != xno ] ; then @@ -748,19 +847,17 @@ case "${target}" in ;; rs6000-*-lynxos*) # The CVS server code doesn't work on the RS/6000 - # Newlib makes problems for libg++ in crosses. - noconfigdirs="$noconfigdirs target-newlib gprof cvssrc" + noconfigdirs="$noconfigdirs target-newlib gprof cvssrc target-libffi" ;; rs6000-*-aix*) - noconfigdirs="$noconfigdirs gprof" - # This is needed until gcc and ld are fixed to work together. - use_gnu_ld=no + noconfigdirs="$noconfigdirs gprof target-libffi" + use_gnu_ld=yes ;; rs6000-*-*) - noconfigdirs="$noconfigdirs gprof" + noconfigdirs="$noconfigdirs gprof target-libffi" ;; m68k-apollo-*) - noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss" + noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss target-libffi" ;; mips*-*-irix5*) # The GNU linker does not support shared libraries. @@ -768,25 +865,29 @@ case "${target}" in noconfigdirs="$noconfigdirs ld gprof emacs target-libgloss" ;; mips*-*-irix6*) - # The GNU assembler and linker do not support IRIX 6. + # The GNU assembler does not support IRIX 6. # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work) - noconfigdirs="$noconfigdirs ld gas gprof emacs target-libgloss" + # Linking libjava exceeds command-line length limits on at least + # IRIX 6.2, but not on IRIX 6.5. + # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham + # + noconfigdirs="$noconfigdirs gas gprof emacs target-libgloss ${libgcj}" ;; mips*-dec-bsd*) - noconfigdirs="$noconfigdirs gprof target-libgloss" + noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi" ;; mips*-*-bsd*) - noconfigdirs="$noconfigdirs gprof target-libgloss" + noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi" ;; mipstx39-*-*) - noconfigdirs="$noconfigdirs gprof" # same as generic mips + noconfigdirs="$noconfigdirs gprof target-libffi" # same as generic mips target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon" ;; mips*-*-*) - noconfigdirs="$noconfigdirs gprof" + noconfigdirs="$noconfigdirs gprof target-libffi" ;; romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss" + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss target-libffi" ;; sh-*-*) case "${host}" in @@ -795,7 +896,10 @@ case "${target}" in i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;; esac - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss target-libffi" + ;; + sh64-*-*) + noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; sparc-*-elf*) if [ x${is_cross_compiler} != xno ] ; then @@ -806,11 +910,13 @@ case "${target}" in if [ x${is_cross_compiler} != xno ] ; then target_configdirs="${target_configdirs} target-libstub target-cygmon" fi + noconfigdirs="$noconfigdirs target-libffi" ;; sparclite-*-*) if [ x${is_cross_compiler} != xno ] ; then - target_configdirs="${target_configdirs} target-libstub target-cygmon" + target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon" fi + noconfigdirs="$noconfigdirs target-libffi" ;; sparc-*-sunos4*) if [ x${is_cross_compiler} != xno ] ; then @@ -819,32 +925,43 @@ case "${target}" in use_gnu_ld=no fi ;; + sparc-*-solaris*) + case "${host}" in + sparc-*-solaris2.8) + # According to Gerald Pfeifer , libjava + # won't build correctly on Solaris 8 if there's a + # previously-installed version of GCC in the configured prefix. + # This problem does not show up on earlier versions of Solaris. + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + esac + ;; v810-*-*) - noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss" + noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss target-libffi" ;; v850-*-*) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; - v850e-*-*) # CYGNUS LOCAL v850e - noconfigdirs="$noconfigdirs target-libgloss" + v850e-*-*) + noconfigdirs="$noconfigdirs target-libgloss target-libffi" ;; v850ea-*-*) - noconfigdirs="$noconfigdirs target-libgloss" - ;; # END CYGNUS LOCAL + noconfigdirs="$noconfigdirs target-libgloss target-libffi" + ;; vax-*-vms) - noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss" + noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss target-libffi" ;; vax-*-*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi" ;; *-*-lynxos*) - # Newlib makes problems for libg++ in crosses. - noconfigdirs="$noconfigdirs target-newlib target-libgloss" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi" ;; *-*-macos* | \ *-*-mpw*) # Macs want a resource compiler. configdirs="$configdirs grez" + noconfigdirs="$noconfigdirs target-libffi" ;; esac @@ -867,6 +984,61 @@ if [ x$with_gnu_as = xno ]; then noconfigdirs="$noconfigdirs gas" fi +# Figure out what language subdirectories are present. +# Look if the user specified --enable-languages="..."; if not, use +# the environment variable $LANGUAGES if defined. $LANGUAGES might +# go away some day. +# NB: embedded tabs in this IF block -- do not untabify +if test x"${enable_languages+set}" != xset; then + if test x"${LANGUAGES+set}" = xset; then + enable_languages="${LANGUAGES}" + echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2 + else + enable_languages=all + fi +else + if test x"${enable_languages}" = x || + test x"${enable_languages}" = xyes; + then + echo configure.in: --enable-languages needs at least one language argument 1>&2 + exit 1 + fi +fi +enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'` + +subdirs= +for lang in ${srcdir}/gcc/*/config-lang.in .. +do + case $lang in + ..) ;; + # The odd quoting in the next line works around + # an apparent bug in bash 1.12 on linux. + ${srcdir}/gcc/[*]/config-lang.in) ;; + *) + lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang` + this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^ ]*\).*$,\1,p' $lang` + build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^ ]*\).*$,\1,p' $lang` + if test "x$lang_alias" = x + then + echo "$lang doesn't set \$language." 1>&2 + exit 1 + fi + case ${build_by_default},${enable_languages}, in + *,$lang_alias,*) add_this_lang=yes ;; + no,*) add_this_lang=no ;; + *,all,*) add_this_lang=yes ;; + *) add_this_lang=no ;; + esac + if test x"${add_this_lang}" = xyes; then + eval target_libs='"$target_libs "'\"$this_lang_libs\" + else + eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs\" + fi + ;; + esac +done + + # Remove the entries in $skipdirs and $noconfigdirs from $configdirs and # $target_configdirs. # If we have the source for $noconfigdirs entries, add them to $notsupp. @@ -1007,6 +1179,12 @@ if [ x${shared} = xyes ]; then i[3456]86-*) target_makefile_frag="${target_makefile_frag} config/mt-x86pic" ;; + ia64-*) + target_makefile_frag="${target_makefile_frag} config/mt-ia64pic" + ;; + powerpc*-*-aix*) + # We don't want -fPIC on AIX. + ;; powerpc*-*) target_makefile_frag="${target_makefile_frag} config/mt-ppcpic" ;; @@ -1052,7 +1230,7 @@ rm -f conftest* case "${host}" in sparc-sun-solaris2*) CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`" - if [ "`/usr/bin/which $CCBASE`" = "/usr/ucb/cc" ] ; then + if [ "`type $CCBASE | sed 's/^[^/]*//'`" = "/usr/ucb/cc" ] ; then could_use= [ -d /opt/SUNWspro/bin ] && could_use="/opt/SUNWspro/bin" if [ -d /opt/cygnus/bin ] ; then @@ -1094,7 +1272,8 @@ if [ "${shared}" = "yes" ]; then esac fi -# Record target_configdirs and the configure arguments in Makefile. +# Record target_configdirs and the configure arguments for target and +# build configuration in Makefile. target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'` targargs=`echo "${arguments}" | \ sed -e 's/--no[^ ]*//' \ @@ -1103,6 +1282,11 @@ targargs=`echo "${arguments}" | \ -e 's/--bu[a-z-]*=[^ ]*//' \ -e 's/--ta[a-z-]*=[^ ]*//'` +# For the build-side libraries, we just need to pretend we're native, +# and not use the same cache file. Multilibs are neither needed nor +# desired. +buildargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${targargs}" + # Passing a --with-cross-host argument lets the target libraries know # whether they are being built with a cross-compiler or being built # native. However, it would be better to use other mechanisms to make the @@ -1123,10 +1307,170 @@ if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " newlib " targargs="--with-newlib ${targargs}" fi -targargs="--host=${target_alias} --build=${build_alias} ${targargs}" +# Pass the appropriate --host, --build, and --cache-file arguments. +targargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${targargs}" + +# provide a proper gxx_include_dir. +# Note, if you change the default, make sure to fix both here and in +# the gcc, libio, and libstdc++ subdirectories. +# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given. +gxx_include_dir= +if test -n "${with_gxx_include_dir}"; then + case "${with_gxx_include_dir}" in + yes ) + echo "configure.in: error: bad value ${withval} given for g++ include directory" 1>&2 + exit 1 + ;; + no ) + ;; + * ) + gxx_include_dir=${with_gxx_include_dir} + ;; + esac +fi +if test x${gxx_include_dir} = x; then + if test x${enable_version_specific_runtime_libs} = xyes; then + gxx_include_dir='${libsubdir}/include/g++' + else + . ${topsrcdir}/config.if + gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface} + fi +else + gxx_include_dir=${gxx_include_dir} +fi + +FLAGS_FOR_TARGET= +case " $skipdirs " in +*" target-newlib "*) ;; +*) + case "$target" in + *-cygwin*) + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include -isystem $$s/newlib/libc/sys/cygwin -isystem $$s/newlib/libc/sys/cygwin32' ;; + esac + + # If we're not building GCC, don't discard standard headers. + if test -d ${topsrcdir}/gcc; then + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc' + + if test "${build}" != "${host}"; then + # On Canadian crosses, CC_FOR_TARGET will have already been set + # by `configure', so we won't have an opportunity to add -Bgcc/ + # to it. This is right: we don't want to search that directory + # for binaries, but we want the header files in there, so add + # them explicitly. + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include' + + # Someone might think of using the pre-installed headers on + # Canadian crosses, in case the installed compiler is not fully + # compatible with the compiler being built. In this case, it + # would be better to flag an error than risking having + # incompatible object files being constructed. We can't + # guarantee that an error will be flagged, but let's hope the + # compiler will do it, when presented with incompatible header + # files. + fi + fi + + case "${target}-${is_cross_compiler}" in + i[3456]86-pc-linux*-no) + # Here host == target, so we don't need to build gcc, + # so we don't want to discard standard headers. + FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'` + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/' + ;; + *) + # If we're building newlib, use its generic headers last, but search + # for any libc-related directories first (so make it the last -B + # switch). + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include' + ;; + esac + ;; +esac + +# On Canadian crosses, we'll be searching the right directories for +# the previously-installed cross compiler, so don't bother to add +# flags for directories within the install tree of the compiler +# being built; programs in there won't even run. +if test "${build}" = "${host}" && test -d ${topsrcdir}/gcc; then + # Search for pre-installed headers if nothing else fits. + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include' +fi + +if test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno && + echo " ${configdirs} " | grep " ld " > /dev/null && + test -d ${srcdir}/ld; then + # Arrange for us to find uninstalled linker scripts. + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld' +fi + +if test "x${CC_FOR_TARGET+set}" = xset; then + : +elif test -d ${topsrcdir}/gcc; then + CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/' +elif test "$host" = "$target"; then + CC_FOR_TARGET='$(CC)' +else + CC_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}` +fi +# On Canadian crosses, configure reads CC_FOR_TARGET from Makefile, +# if Makefile exists. Prevent $(FLAGS_FOR_TARGET) from being duplicated. +case $CC_FOR_TARGET in +*' $(FLAGS_FOR_TARGET)') ;; +*) CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;; +esac + +if test "x${CHILL_FOR_TARGET+set}" = xset; then + : +elif test -d ${topsrcdir}/gcc; then + CHILL_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/ -L$$r/gcc/ch/runtime/' +elif test "$host" = "$target"; then + CHILL_FOR_TARGET='$(CC)' +else + CHILL_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}` +fi +case $CHILL_FOR_TARGET in +*' $(FLAGS_FOR_TARGET)') ;; +*) CHILL_FOR_TARGET=$CHILL_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;; +esac + +if test "x${CXX_FOR_TARGET+set}" = xset; then + : +elif test -d ${topsrcdir}/gcc; then + # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead + # of g++ for linking C++ or Java, because g++ has -shared-libgcc by + # default whereas gcc does not. + CXX_FOR_TARGET='$$r/gcc/`case $$dir in libstdc++-v3 | libjava) echo xgcc -shared-libgcc ;; *) echo g++ ;; esac` -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags +elif test "$host" = "$target"; then + CXX_FOR_TARGET='$(CXX)' +else + CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}` +fi +case $CXX_FOR_TARGET in +*' $(FLAGS_FOR_TARGET)') ;; +*) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;; +esac +qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'` + +# We want to defer the evaluation of `cmd`s and shell variables in +# CXX_FOR_TARGET when recursing in the top-level Makefile, such as for +# bootstrap. We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single +# quotes, but we still have to duplicate `$'s so that shell variables +# can be expanded by the nested make as shell variables, not as make +# macros. +qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'` + sed -e "s:^TARGET_CONFIGDIRS[ ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:" \ - -e "s%^CONFIG_ARGUMENTS[ ]*=.*$%CONFIG_ARGUMENTS = ${targargs}%" \ + -e "s%^TARGET_CONFIGARGS[ ]*=.*$%TARGET_CONFIGARGS = ${targargs}%" \ + -e "s%^FLAGS_FOR_TARGET[ ]*=.*$%FLAGS_FOR_TARGET = ${FLAGS_FOR_TARGET}%" \ + -e "s%^CC_FOR_TARGET[ ]*=.*$%CC_FOR_TARGET = ${CC_FOR_TARGET}%" \ + -e "s%^CHILL_FOR_TARGET[ ]*=.*$%CHILL_FOR_TARGET = ${CHILL_FOR_TARGET}%" \ + -e "s%^CXX_FOR_TARGET[ ]*=.*$%CXX_FOR_TARGET = ${qCXX_FOR_TARGET}%" \ + -e "s%^CXX_FOR_TARGET_FOR_RECURSIVE_MAKE[ ]*=.*$%CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = ${qqCXX_FOR_TARGET}%" \ -e "s%^TARGET_SUBDIR[ ]*=.*$%TARGET_SUBDIR = ${target_subdir}%" \ + -e "s%^BUILD_SUBDIR[ ]*=.*$%BUILD_SUBDIR = ${build_subdir}%" \ + -e "s%^BUILD_CONFIGARGS[ ]*=.*$%BUILD_CONFIGARGS = ${buildargs}%" \ + -e "s%^gxx_include_dir[ ]*=.*$%gxx_include_dir=${gxx_include_dir}%" \ Makefile > Makefile.tem rm -f Makefile mv -f Makefile.tem Makefile diff --git a/contrib/gdb/gdb/CONTRIBUTE b/contrib/gdb/gdb/CONTRIBUTE index 4f02ddf..96c943c 100644 --- a/contrib/gdb/gdb/CONTRIBUTE +++ b/contrib/gdb/gdb/CONTRIBUTE @@ -21,7 +21,7 @@ package. We welcome all of the above and feel free to ask on the GDB mailing lists if you are looking for feedback or for people to review a work in progress. -Ref: http://sourceware.cygnus.com/gdb +Ref: http://www.gnu.org/software/gdb/ Finally, there are certain legal requirements and style issues which all contributors need to be aware of. @@ -29,58 +29,29 @@ all contributors need to be aware of. o Coding Standards All contributions must conform to the GNU Coding Standard. - http://www.gnu.ai.mit.edu/prep/standards_toc.html Submissions which do not conform to the standards will be returned with a request to reformat the changes. - For GDB, that standard is more tightly defined. GDB's - coding standard is determined by the output of - gnu-indent. + GDB has certain additional coding requirements. Those + requirements are explained in the GDB internals documentation + in the gdb/doc directory. - This situation came about because, by the start of '99, - GDB's coding style was so bad an inconsistent that it was - decided to restart things from scratch. + Ref: http://www.gnu.org/prep/standards_toc.html o Copyright Assignment - There are certain legal requirements - Before we can accept code contributions from you, we need a - copyright assignment form filled out. - - If you've developed some addition or patch to GDB that you - would like to contribute, you should fill out a copyright - assignment form and send it in to the FSF. We are unable to - use code from you until this is on-file at the FSF, so get - that paperwork in! This form covers one batch of changes. - Ref: http://gcc.gnu.org/fsf-forms/assignment-instructions.html - - If you think you're going to be doing continuing work on GDB, it - would be easier to use a different form, which arranges to - assign the copyright for all your future changes to GDB. It is - called assign.future. Please note that if you switch - employers, the new employer will need to fill out the - disclaim.future form; there is no need to fill out the - assign.future form again. - Ref: http://gcc.gnu.org/fsf-forms/assign.future - Ref: http://gcc.gnu.org/fsf-forms/disclaim.future - - There are several other forms you can fill out for different - circumstances (e.g. to contribute an entirely new program, to - contribute significant changes to a manual, etc.) - Ref: http://gcc.gnu.org/fsf-forms/copyrights.html - - Small changes can be accepted without a copyright assignment - form on file. - - This is pretty confusing! If you are unsure of what is - necessary, just ask the GDB mailing list and we'll figure out - what is best for you. - - Note: Many of these forms have a place for "name of - program". Insert the name of one program in that place -- in - this case, "GDB". + copyright assignment form filled out and filed with the FSF. + + See some documentation by the FSF for details and contact us + (either via the GDB mailing list or the GDB maintainer that is + taking care of your contributions) to obtain the relevant + forms. + + Small changes can be accepted without a copyright assignment form on file. + + Ref: http://www.gnu.org/prep/maintain.html#SEC6 o Submitting Patches @@ -98,18 +69,17 @@ o Submitting Patches unlike some other projects, we do require ChangeLogs also for documentation (i.e., .texi files). - The patch itself. If you are accessing the CVS repository at: - Cygnus, use "cvs update; cvs diff -c3p"; else, use "diff -c3p - OLD NEW" or "diff -up OLD NEW". If your version of diff does - not support these options, then get the latest version of GNU - diff. + The patch itself. If you are accessing the CVS repository use + "cvs update; cvs diff -cp"; else, use "diff -cp OLD NEW" or + "diff -up OLD NEW". If your version of diff does not support + these options, then get the latest version of GNU diff. We accept patches as plain text (preferred for the compilers themselves), MIME attachments (preferred for the web pages), or as uuencoded gzipped text. When you have all these pieces, bundle them up in a mail - message and send it to gdb-patches@sourceware.cygnus.com. All + message and send it to gdb-patches@sources.redhat.com. All patches and related discussion should be sent to the gdb-patches mailinglist. For further information on the GDB CVS repository, see the Anonymous read-only CVS access and @@ -151,3 +121,23 @@ o If ``gdb/configure.in'' is modified then you don't The maintainer will re-generate those files using autoconf (2.13 as of 2000-02-29). + + +o If ``gdb/gdbarch.sh'' is modified, you don't + need to include patches to the generated files + ``gdbarch.h'' and ``gdbarch.c''. + + See ``gdb/configure.in'' above. + + +o When submitting a patch that fixes a bug + in GDB's bug database a brief reference + to the bug can be included in the ChangeLog + vis + + * CONTRIBUTE: Mention PR convention. + Fix PR gdb/4705. + + The text ``PR gdb/4705'' should also be included + in the CVS commit message. That causes the + patch to automatically be archived with the PR. diff --git a/contrib/gdb/gdb/ChangeLog b/contrib/gdb/gdb/ChangeLog index 0ae5117..5bc9ff7 100644 --- a/contrib/gdb/gdb/ChangeLog +++ b/contrib/gdb/gdb/ChangeLog @@ -1,1112 +1,3267 @@ -1999-04-07 Jim Blandy +2002-06-22 Andrew Cagney - * GDB 4.18 released. + * NEWS: Mention below. -1999-04-06 Jim Blandy + Merge from mainline: + 2002-05-12 Fred Fish : + * symfile.c (default_symfile_offsets): Arrange for uninitialized + sect_index_xxx members to index the first slot in section_offsets + if all of the section_offsets are zero. - * README: Change revision numbers in text to "4.18". - * Makefile.in (VERSION): Set to 4.18. +2002-06-20 Elena Zannoni -1999-04-06 Stan Shebs + * event-top.c (command_handler): Don't use space_at_cmd_start + unless there is sbrk() on the host. Assign time and space data + to union fields of the appropriate length. - * solib.c (clear_solib): Don't call disable_breakpoints_in_shlibs, - this breaks rerunning on sun4 native. +2002-06-16 Andrew Cagney -1999-04-05 Stan Shebs + * NEWS: Mention below. - * NEWS: Incorporate suggestions from David Taylor and Jason Molenda. - -1999-04-02 Jim Blandy + Merge from mainline: + 2002-04-22 J. Brobecker : + * symfile.h (get_section_index): Define. + * symfile.c (get_section_index): New function. + * mdebugread.c (SC_IS_SBSS): New macro. + (SC_IS_BSS): Return true for the scBss storage class only, as + the scSBss storage class refers to the .sbss section. + (parse_partial_symbols): Discard the symbols which associated + section does not exist. + Make sure to use the .sbss section index for symbols which + storage class is scBss, rather than using the .bss section index. - * README: Note that GDB requires an ANSI C compiler, and explain - how to get GCC. +2002-05-28 Theodore A. Roth - * README: Update. - It says we provide HTML documentation, but we don't. - The instructions for building the .info files were wrong. - It didn't mention that texinfo.tex was provided with GDB. - It didn't mention the intl, texinfo, etc, or util directories. - (Perhaps util would be best left unmentioned.) - It didn't mention the --enable-build-warnings flag, or the --host - flag. - It didn't mention remote-array.c or remote-d10v.c. - It had an old address for reporting bugs. It's now gdb@gnu.org. - It mentioned xxgdb, which is obsolete, but didn't mention DDD. + * MAINTAINERS: Add myself as AVR maintainer. + * NEWS: Note new avr target. - * config/sparc/nm-linux.h: Don't redefine PT_ATTACH to use the - deprecated PTRACE_SUNATTACH compatibility commands. The - definitions from are fine. +2002-06-07 Michal Ludvig -1999-04-01 Stan Shebs + Merge from mainline: - * NEWS: Add more notes about user-visible changes. + 2002-05-27 Michal Ludvig -1999-04-01 Jim Blandy + * x86-64-tdep.c (x86_64_skip_prologue): Remove obsolete + note. Let PC point right after the prologue before looking + up symbols. - Fix for cross-debugging on an AIX host from Johanna Svenningsson: - * ax-gdb.h (enum axs_lvalue_kind): Remove trailing comma from enum. - * ax.h (enum agent_op, enum agent_flaws): Same. - * tracepoint.h (enum actionline_type): Same. - * config/xm-aix4.h: Add declaration for termdef. +2002-05-28 Theodore A. Roth -1999-03-31 Stan Shebs + * Makefile.in: Add support for AVR target. + * configure.tgt: Add support for AVR target. + * avr-tdep.c: New file. + * config/avr/avr.mt: New file. - * jv-lang.h (dynamics_objfile): Remove decl, conflicts with static - decl in jv-lang.c. +2002-05-23 Andrew Cagney -1999-03-31 Jim Blandy + From Ross Alexander at NEC Europe: + * config/pa/hpux11w.mh (NATDEPFILES): Add solib.o. - Mon Mar 29 14:40:44 1999 David Taylor +2002-05-23 Andrew Cagney - * valops.c (search_struct_field): revert HP merge change - to this function -- it causes messages to be printed about - member class ambiguity when the compiler is happy. - (search_struct_field_aux): delete -- added as part of HP merge - change; with aforementioned change it is no longer called. + * PROBLEMS: Mention s390 and FreeBSD 4.4 build problems. -1999-03-26 Jim Blandy +2002-05-22 Michal Ludvig - Merged change from Keith Seitz: + * dwarf2cfi.c (frame_state_for): Added safety check for a valid + fde->cie_ptr. + (dwarf2_build_frame_info): Corrected handling of eh_frame. + (dwarf2_build_frame_info): Add offset to fde->initial_location + so that frames of shared libraries are mapped correctly. + (execute_stack_op): Change type of 'result' from ULONGEST to + CORE_ADDR. - 1999-03-16 Keith Seitz +2002-05-14 Michal Ludvig - * remote.c (reomte_binary_checked): New file global. - (check_binary_download): New function to check if - stub supports binary downloading that works with - stubs that are not eight bit clean. - (remote_write_bytes): Check for binary download capability - and use it if available. - Remove references to global remote_binary_length. What a hack. - (putpkt_binary): New function. - (putpkt): Call putpkt_binary. - Use xor to escape trouble characters. - * m32r-stub.c (bin2mem): Follow escape char convention change. + Merge from mainline: - Applied patch from Stu Grossman: + 2002-05-14 Michal Ludvig + * dwarf2cfi.c (context_cpy): Copy registers correctly. + (update_context): Use __func__ in warnings. + + 2002-05-07 Michal Ludvig + * dwarf2cfi.c: Code cleanup, removed unused variables, + added default labels to switch {} statements. - Mon Feb 22 12:32:19 1999 Per Bothner +2002-05-01 Andreas Schwab - * jv-valprint.c (java_val_print): Restore line that somehow got lost. + * config/s390/s390.mh (NATDEPFILES): Remove solib.o, add + linux-proc.o and gcore.o. -1999-03-24 Stan Shebs +2002-04-30 Michael Chastain - * Makefile (VERSION): Bump to 4.17.87. + Merge from trunk. This also fixes PR gdb/172. - Attempt to sort out SCO-related configs. - * configure.host (i[3456]86-*-sysv4.2*): Use instead of - i[3456]86-*-sysv4.2MP and i[3456]86-*-sysv4.2uw2*. - (i[3456]86-*-sysv5*): Recognize. - * configure.tgt (i[3456]86-*-sco3.2v5*, i[3456]86-*-sco3.2v4*): - Recognize. + 2002-04-25 Pierre Muller -Wed Mar 24 01:01:27 1999 Andrew Cagney + Fix PR gdb/508. + * symfile.c (add_filename_language): Fix wrong xrealloc size argument. - * rs6000-tdep.c (rs6000_software_single_step): Change SIGNAL to - unsigned int. +2002-04-29 GDB Administrator - From Rodney Brown : - * target.h (enum thread_control_capabilities), breakpoint.h (enum - bptype), breakpoint.c (enum insertion_state_t): Strict ISO-C - doesn't allow trailing comma in enum definition. - -1999-03-23 Jason Molenda (jsm@bugshack.cygnus.com) + * version.in: Bump to version 5.2.0-0000-00-00-cvs. - * hppa-tdep.c (pa_register_look_aside): Remove CPU_HPPA_RISC_20 - check, test for presence of struct save_state_t and the ss_wide - member directly. - * configure.in: Remove CPU_HPPA_RISC_20 test. Add tests for - HAVE_STRUCT_SAVE_STATE_T and HAVE_STRUCT_MEMBER_SS_WIDE. - * acconfig.h: Add HAVE_STRUCT_SAVE_STATE_T HAVE_STRUCT_MEMBER_SS_WIDE. - * configure, config.in: Regenerated. +2002-04-26 GDB Administrator -Tue Mar 23 17:22:57 1999 Philippe De Muyter + GDB 5.2 Released. + * version.in: Update to version 5.2. - * remote.c, parse.c: Include ctype.h. +2002-04-26 Michal Ludvig -Mon Mar 22 13:25:13 1999 Michael Snyder + * x86-64-tdep.c (x86_64_skip_prologue): Print note when debugging + code without frame pointers. - * infttrace.c (proc_wait): rename to ptrace_wait. +2002-04-25 Andrew Cagney -1999-03-17 Jason Molenda (jsm@bugshack.cygnus.com) + * README: Update to GDB 5.2. - * configure.in (HAVE_MULTIPLE_PROC_FDS): Don't define for Solaris - hosts--gdb doesn't support this yet. - * configure: Regenerated. +2002-04-19 Eli Zaretskii -Tue Mar 16 01:11:33 1999 Andrew Cagney + * config/djgpp/README: Update. - * target.h (struct target_ops), target.c (debug_to_query), - remote.c (pack_hex_byte, remote_query): Promote char parameters to - int. Stops compile problems with pedantic ISO-C compilers. + * go32-nat.c (store_register): Cast &a_tss to `char *', to avoid + compiler warning. -Tue Mar 16 15:29:04 1999 Stan Shebs +2002-04-18 GDB Administrator - * jv-lang.c, jv-lang.h (java_primitive_type): Declare argument - as int instead of char. + * version.in: Bump to version 5.1.91. -1999-03-15 Jim Blandy +2002-04-15 Andrew Cagney - Merged changes for binary downloads from Michael Snyder: - - Fri Mar 12 13:11:48 1999 Michael Snyder + * PROBLEMS: Mention hppa2.0-hp-hpux10.20 compile problems. - * remote.c (remote_write_bytes): fix 'X' packet protocol so that it - can't overwrite the end of its buffer with escaped characters. +2002-04-15 Pierre Muller -1999-03-12 Jim Blandy + Merge from trunk: - Merged changes for HP/UX 9 from Jason Molenda: + 2002-04-09 Pierre Muller - 1999-03-08 Jason Molenda (jsm@bugshack.cygnus.com) + * p-exp.y (yylex): Handle also the fact that is_a_field_of_this + is non zero as a found symbol. - * infttrace.c (hppa_get_process_events): Removed. Function only - usable on HPUX 10 and above. It is not called by any other part - of GDB. - * hppah-nat.c (hppa_get_process_events): Ditto. - (child_pid_to_exec_file): Only call ptrace with PT_GET_PROCESS_PATHNAME - if that symbol has been defined. - * config/pa/nm-hppah.h: Don't set up prototypes et al for - hppa_get_process_events. +2002-04-15 Andrew Cagney + + * bcache.c: Include and after "defs.h". + Update copyright. - * config/pa/hppahpux.mh (TERM_LIB): Do not initialize, let autoconf - determine best library automatically. - * config/pa/hpux1020.mh: Ditto. - * config/pa/hpux1100.mh: Ditto. - * configure.in (TERM_LIB): Also check for libHcurses. - * configure: Regenerated. + * hpread.c (hpread_getlntt): Add declaration. + Also fix PR gdb/391. - Merged changes to accomodate the Hurd: +2002-04-14 Andrew Cagney + + * acinclude.m4 (AM_PROG_CC_STDC): Import from automake 1.6. + * aclocal.m4, configure: Re-generate. + Fix PR gdb/391. - Thu Mar 11 18:05:11 1999 Michael Snyder +2002-04-14 Elena Zannoni + + * MAINTAINERS (sh-elf): Change warning flag to ,-Werror. + +2002-04-14 Elena Zannoni + + * remote-e7000.c (write_small, e7000_read_inferior_memory, + e7000_read_inferior_memory_large, e7000_insert_breakpoint, + e7000_remove_breakpoint): Use paddr_nz() to print addresses. + +2002-04-10 Michal Ludvig + + * x86-64-linux-nat.c (child_resume, child_xfer_memory): Delete. + (PTRACE_XFER_TYPE): Moved to config/i386/nm-x86-64.h. + (kernel_u_size): Added. + * config/i386/nm-x86-64.h (CHILD_XFER_MEMORY, CHILD_RESUME): Delete. + (PTRACE_XFER_TYPE): Moved here from config/i386/nm-x86-64.h. + +2002-04-08 Pierre Muller + + from 2002-03-22 Christopher Faylor patch + in main branch. + * win32-nat.c (child_create_inferior): Check for proper shell to use + here, in case the user changes it on the fly. + (_initialize_inftarg): Remove shell path considerations. + + +2002-04-07 Andrew Cagney + + I believe Jeff Law denies responsability for this one: + * config/pa/hpux11w.mh (MH_CFLAGS): Add -Dvfork=fork. + * config/pa/hpux11.mh (MH_CFLAGS): Add -Dvfork=fork. + * config/pa/hpux1020.mh (MH_CFLAGS): Add -Dvfork=fork. + Work-around for PR gdb/366. + +2002-04-07 Andrew Cagney + + * MAINTAINERS (Misc): List Daniel Jacobowitz as the GDBSERVER + maintainer. + +2002-04-07 Andrew Cagney + + * README (Reporting Bugs in GDB): Document the bug web page as the + prefered way of submitting bugs. + Fix PR gdb/402. + +2002-04-07 Andreas Schwab + + * m68klinux-nat.c (fill_fpregset): Properly pass address of + buffer to regcache_collect. + +2002-04-04 Daniel Jacobowitz + + Merge from trunk: + + 2002-03-17 Daniel Jacobowitz + + * dbxread.c (process_one_symbol): Extend the first N_SLINE + in a function to cover the entire beginning of the function + as well if it does not already. + +2002-04-04 Michal Ludvig + + * x86-64-linux-nat.c (child_xfer_memory): x86-64 ptrace() ABI + change sync with glibc. + +2002-04-01 Daniel Jacobowitz + + * rs6000-tdep.c: Change #include of "bfd/libcoff.h" + and "bfd/libbfd.h" to "libcoff.h" and "libbfd.h". + +2002-03-29 Daniel Jacobowitz + + Merge from trunk: + + 2002-03-27 Daniel Jacobowitz - * infptrace.c (proc_wait): Rename to ptrace_wait. - * inftarg.c (child_wait): call ptrace_wait instead of proc_wait. - * inferior.h: Declare ptrace_wait instead of proc_wait. + * gdbserver/server.c (main): Call target_signal_to_host_p + and target_signal_to_host on signals received from the remote. + * gdbserver/remote-utils.c (prepare_resume_reply): Call + target_signal_from_host on signals sent to the remote. + * gdbserver/server.h: Add prototypes. Include "gdb/signals.h". + * gdbserver/Makefile.in: Add signals.o. Add -I${INCLUDE_DIR}. -1999-03-11 Jim Blandy - * Makefile.in (VERSION): click to 4.17.86, for next snapshot. + 2002-03-20 Martin M. Hunt -1999-03-09 Rodney Brown + * gdbserver/remote-utils.c (remote_open): Don't call + getprotobyname, we're all using TCP here so just use + IPPROTO_TCP. + * gdbserver/gdbreplay.c (remote_open): Ditto. - Get working on UnixWare 2.1.1. - * acconfig.h: Update for defines for procfs.c. - * configure.in: Identify defines for procfs.c. - * configure.host: i386-*-sysv4.2uw2* => i386v42mp - * configure.tgt: i386-*-sysv4.2uw2* => i386v42mp - * configure, config.in: Regenerate. - * procfs.c: Rename HAVE_NO_PRRUN_T to HAVE_PRRUN_T (autoconf - standard), wrap UNIXWARE difference in THE_PR_LWP macro for - legibility. - * config/i386/tm-i386v42mp.h: Remove HAVE_PSTATUS_T, - HAVE_NO_PRRUN_T; now set by configure. -1999-03-04 Jim Blandy + 2002-03-13 Michal Ludvig - Merged changes from Jason Molenda: + * gdbserver/remote-util.c (remote_open): Print remote-side's + IP address when remote debugging over the network. + +2002-03-29 Daniel Jacobowitz + + Merge from trunk: + 2002-03-27 Daniel Jacobowitz + + * signals/signals.c: Include "server.h" in gdbserver build. + (target_signal_from_name): Don't use STREQ. + (_initialize_signals): Likewise. Don't include function in + gdbserver build. + +2002-03-29 Daniel Jacobowitz + + Merge from trunk: + * signals/signals.c: New file, copied from signals.c. + +2002-03-27 Andrew Cagney + + From veksler at il.ibm.com: + * utils.c (gdb_realpath): If canonicalize_file_name fails, return + the xstrduped original path. + Fix PR gdb/417. + + From 2002-03-14 Richard Henderson + * configure.in: Detect declaration for canonicalize_file_name. + * utils.c (canonicalize_file_name): Declare, if needed. + (gdb_realpath): Prefer realpath if available and usable. + * config.in, configure: Rebuild. + +2002-03-27 Michal Ludvig + + * x86-64-tdep.c (x86_64_skip_prologue): Rewritten from scratch. + * x86-64-tdep.h (X86_64_NUM_REGS, X86_64_NUM_GREGS): Delete #defines. + (x86_64_num_regs, x86_64_num_gregs): Added extern variables. + * x86-64-linux-nat.c (x86_64_regmap): Swapped RBX <> RDX, added DS, ES, FS, GS. + (x86_64_linux_dr_get_status, supply_gregset), + (fill_gregset): Changed X86_64_NUM_GREGS to x86_64_num_gregs. + * x86-64-tdep.c (x86_64_register_raw_size_table): Delete. + (x86_64_register_info_table): Add. + (X86_64_NUM_REGS, X86_64_NUM_GREGS): Add. + (x86_64_register_raw_size, x86_64_register_virtual_type), + (x86_64_register_name, _initialize_x86_64_tdep): Changed to reflect new + general x86_64_register_info_table. + (i386_gdbarch_init): gdbarch_register_bytes is now set + dynamicaly during initialization. + * regformats/reg-x86-64.dat: Synced with changes to registers above. + * gdbserver/linux-x86-64-low.c: Ditto. - 1999-02-24 Jason Molenda (jsm@bugshack.cygnus.com) +2002-03-27 Andreas Jaeger + + * dwarf2cfi.c: Give credit to Daniel Berlin, reformat copyright + comment. + +2002-03-25 Alexandre Oliva + + * coffread.c: Remove redundant static declarations. Replace + occurrences of `PTR' with `void *'. + * elfread.c, mdebugread.c, minsyms.c, mipsread.c: Likewise. + * top.h (quit_cover): Likewise. + * defs.h (catch_errors): Likewise. + +2002-03-23 Andrew Cagney + + * MAINTAINERS (sh-elf): Change warning flag to -w. + +2002-03-20 David O'Brien + + * sparc-nat.c: Include sys/param.h where possible. + +2002-03-12 David O'Brien + + * config/sparc/fbsd.mh: Fix copyright. + * config/sparc/fbsd.mt: Likewise. + +2002-03-09 Andrew Cagney + + * MAINTAINERS: Add Jim Ingham and Klee Dienes to ``write after + approval''. + +2002-03-07 Daniel Jacobowitz + + * gdbserver/linux-low.c (PTRACE_XFER_TYPE): Change to long. + (num_regs, regmap): Move inside HAVE_LINUX_USRREGS. + (register_addr, REGISTER_RAW_SIZE): Likewise. + (usr_store_inferior_registers): Use PTRACE_XFER_TYPE. + * gdbserver/linux-x86-64-low.c: Remove extra #endif. + +2002-03-06 Alexandre Oliva + + * configure.in (gdb_cv_bigtoc): Check for -bbigtoc on AIX. + * configure: Rebuilt. + +2002-03-06 Stephane Carrez + + * m68hc11-tdep.c (_initialize_m68hc11_tdep): Don't set tm_print_insn. + (m68hc11_gdbarch_init): But use set_gdbarch_print_insn instead. + +2002-03-05 Andrew Cagney + + * MAINTAINERS (Past Maintainers): Add Frank Ch. Eigler. + +2002-03-05 Andrew Cagney + + * MAINTAINERS: Fix Mac OS X and Objective-C/C++. + +2002-03-05 Andrew Cagney + + * NEWS: Update headings, 5.2 has branched. + +2002-03-01 David O'Brien + + * configure.host (sparc64-*-freebsd): Add. + * configure.tgt: Likewise. + * config/sparc/fbsd.mh: New file. + * config/sparc/fbsd.mt: Likewise. + * config/sparc/nm-fbsd.h: Likewise. + * config/sparc/tm-fbsd.h: Likewise. - * configure.in: Set CPU_HPPA_RISC_20 if the host CPU is a PA 2.0 - processor. - * acconfig.h: Add CPU_HPPA_RISC_20 +2002-03-01 Daniel Jacobowitz + + * config/djgpp/fnchange.lst: Add regformats/reg-i386-linux.dat and + regformats/reg-s390x.dat. + +2002-03-01 Andrew Cagney + + * utils.c: Add FIXME explaining true/false problem. + +2002-02-28 Andrew Cagney + + * MAINTAINERS (Past Maintainers): Add J.T. Conklin. + +2002-02-28 Michael Chastain + + * MAINTAINERS: Fix typo: gdb.satbs -> gdb.stabs . + +2002-02-28 Daniel Jacobowitz + + * gdbserver/linux-s390-low.c: New file. + * regformats/reg-s390.dat: New file. + * regformats/reg-s390x.dat: New file. + * gdbserver/configure.srv: Add S/390. + * gdbserver/Makefile.in: Add S/390. + * configure.tgt: Enable gdbserver for S/390. + +2002-02-28 Eli Zaretskii + + * go32-nat.c (_initialize_go32_nat): Don't use periods in the + first line of the doc string for "info dos", except at the end of + the sentence, since the short help stops at the first period. + +2002-02-28 Jason Merrill + + * dwarf2read.c (dwarf_cfi_name): Add new codes. + +2002-02-27 Fred Fish + + * blockframe.c (generic_fix_call_dummy): Fix obvious typo in + comment (dumy -> dummy). + +2002-02-27 Peter Schauer + + * symtab.c (gdb_mangle_name): Handle fully mangled v3 abi physnames. + +2002-02-27 Rodney Brown + + * utils.c (gdb_realpath): Add pathconf fallback for sco3.2v5. + +2002-02-27 Daniel Jacobowitz + + * gdbserver/acconfig.h: New file. + * gdbserver/i387-fp.c: New file. + * gdbserver/i387-fp.h: New file. + * gdbserver/linux-x86-64.c: New file. + * regformats/reg-x86-64.dat: New file. + * configure.tgt: Add x86_64-*-linux* gdbserver support. + * gdbserver/configure.srv: Add x86_64-*-linux* and regset support. + * gdbserver/configure.in: Add support for regsets. + * gdbserver/config.in: Regenerate. + * gdbserver/configure: Regenerate. + * gdbserver/Makefile.in: Likewise. Add $(linux_low_h). + * gdbserver/linux-low.h: New file. + * gdbserver/linux-low.c: Include "linux-low.h". Add support + for regsets. + * gdbserver/linux-arm-low.c: Include "linux-low.h". + * gdbserver/linux-ia64-low.c: Include "linux-low.h". + * gdbserver/linux-m68k-low.c: Include "linux-low.h". + * gdbserver/linux-mips-low.c: Include "linux-low.h". + * gdbserver/linux-ppc-low.c: Include "linux-low.h". + * gdbserver/linux-sh-low.c: Include "linux-low.h". + * gdbserver/linux-i386-low.c: Include "linux-low.h". Include + "i387-fp.h". Add PTRACE_GETREGS and friends. + * gdbserver/regcache.c (supply_register): New function. + (supply_register_by_name): New function. + (collect_register): New function. + (collect_register_by_name): New function. + +2002-02-27 Daniel Jacobowitz + + * gdbserver/Makefile.in (INTERNAL_CFLAGS): Remove -DGDBSERVER. + (config.status): Add configure.srv dependency. + (server_h): Add config.h dependency. + +2002-02-27 Daniel Jacobowitz + + * regformats/reg-i386-linux.dat: New file, with $orig_eax. + * gdbserver/Makefile.in: Add rules for reg-i386-linux.o. + * gdbserver/configure.srv: Change i386-*-linux* to use + reg-i386-linux.o. + +2002-02-26 Andrew Cagney + + * x86-64-tdep.c: Re-indent. Update copyright date. + +2002-02-26 Andrew Cagney + + From Michal Ludvig : + * x86-64-tdep.c (value.h): Delete. + (gdb_assert.h): Include. + (x86_64_register_convert_to_virtual, + x86_64_register_convert_to_raw ): Add check which lets only + floating-point values to be converted. + (value_push): Delete. + (x86_64_push_arguments): Order of arguments pushed on stack fixed. + (i386_gdbarch_init): Number of register_bytes fixed. + +2002-02-26 Andrew Cagney + + * MAINTAINERS: Add x86-64 target. + +2002-02-26 Andrew Cagney + + * memattr.c (mem_command): Eliminate ``true'' and ``false''. + * osfsolib.c (solib_map_sections): Ditto. + * irix5-nat.c (solib_map_sections): Ditto. + * corelow.c (gdb_check_format): Ditto. + * symfile.c (symfile_bfd_open): Ditto. + * solib.c (solib_map_sections): Ditto. + Fix PR gdb/354. + +2002-02-26 Andrew Cagney + + * remote.c (_initialize_remote): By default, disable ``e'' and + ``E'' step out-of-range packets. + +2002-02-26 Andreas Schwab + + * config/m68k/tm-linux.h (FRAME_SAVED_PC): Define as + m68k_linux_frame_saved_pc. + (IN_SIGTRAMP): Define as m68k_linux_in_sigtramp instead of + in_sigtramp. + (SIGCONTEXT_PC_OFFSET): Remove. + * m68klinux-nat.c (m68k_linux_frame_saved_pc, + m68k_linux_sigtramp_saved_pc): New functions. + (IS_SIGTRAMP, IS_RT_SIGTRAMP): Define. + (SIGCONTEXT_PC_OFFSET): Moved here from config/m68k/tm-linux.h. + (UCONTEXT_PC_OFFSET): Define. + (m68k_linux_in_sigtramp): Renamed from in_sigtramp, handle both + non-RT and RT signal trampolines. + +2002-02-26 Richard Earnshaw + + * config/arm/tm-embed.h (TARGET_UPAGES): Delete. + (TARGET_NBPG, STACK_END_ADDR): Delete + (VARIABLES_INSIDE_BLOCK): Delete. + +2002-02-25 Andrew Cagney + + * utils.c (perror_with_name): Make string parameter constant. + (print_sys_errmsg): Ditto. + (query): Ditto. + * defs.h (perror_with_name): Update. + (print_sys_errmsg): Update. + (query): Update. + +2002-02-25 Daniel Jacobowitz + + From Eliot Dresselhaus : + * gdbserver/linux-mips-low.c (cannot_fetch_register): Fix typo. + +2002-02-25 Peter Schauer + + * rs6000-nat.c (set_host_arch): Do not switch to a new architecture + if it already matches the current architecture from the exec file. + Include arch-utils.h for gdbarch_info_init prototype. + * Makefile.in (rs6000-nat.o): Update dependencies. + +2002-02-25 Eli Zaretskii + + * config/djgpp/djconfig.sh: Set NM=nm and CFLAGS="-g -O2" in the + list of exported variables. + +2002-02-24 Daniel Jacobowitz + + * gdbserver/configure.srv: New file. + * gdbserver/configure.in: Use configure.srv instead + of the host/target makefile fragments. Set GDBSERVER_DEPFILES + from it. + * gdbserver/configure: Regenerated. + * gdbserver/terminal.h: New file. + * gdbserver/Makefile.in: Update for configure changes. Remove + more unneeded include paths. + +2002-02-24 Andrew Cagney + + From wiz at danbala: + * config/sparc/tm-sp64.h: Fix grammar and typos. + Fix PR gdb/287. + +2002-02-24 Andrew Cagney + + * lin-lwp.c, thread-db.c, defs.h, cris-tdep.c: Replace ``Linux'' + with either ``GNU/Linux'' or ``Linux kernel''. Update copyright. + * m68klinux-nat.c, sparc-linux-nat.c, x86-64-linux-nat.c: Ditto. + * x86-64-linux-tdep.c, gregset.h, gdb_wait.h: Ditto. + * ia64-linux-nat.c, infrun.c, linux-proc.c: Ditto. + * proc-service.c, i386-linux-tdep.c, ppc-linux-tdep.c: Ditto. + * s390-tdep.c: Ditto. + * config/nm-linux.h, config/alpha/nm-linux.h: Ditto. + * config/alpha/tm-alpha.h, config/alpha/tm-alphalinux.h: + * config/alpha/xm-alphalinux.h, config/i386/nm-linux.h: Ditto. + * config/i386/nm-x86-64.h, config/i386/tm-linux.h: Ditto. + * config/m68k/tm-linux.h, config/mips/nm-linux.h: Ditto. + * config/mips/tm-linux.h, config/mips/xm-linux.h: Ditto. + * config/powerpc/tm-linux.h, config/s390/nm-linux.h: Ditto. + * config/s390/tm-linux.h, config/sh/tm-linux.h: Ditto. + * config/sparc/nm-linux.h, config/sparc/tm-linux.h: Ditto. + * config/sparc/tm-sp64linux.h, config/sparc/xm-linux.h: Ditto. + Fix PR gdb/378. + +2002-02-23 Andrew Cagney + + * lin-thread.c: Delete file. + * configure.in (gdb_cv_struct_reg_r_gs): Update comment to refer + to gdb_proc_service.h. + * configure: Re-generate. + + * ocd.c (ocd_open): Do not try to open the "ocd" device. + * serial.c (serial_open): Delete check for "ocd". + Fix PR gdb/349. + + * Makefile.in (linux-thread.o): Delete target. + * linux-thread.c: Delete file. + + * config/djgpp/fnchange.lst: Rename bfd/elf32-sh64.c. Tweak other + renamed SH files to be consistent. + + * symtab.c (sort_search_symbols): Use xfree. + +2002-02-23 Richard Earnshaw + + * arm-linux-tdep.c (arm_linux_init_abi): Register + IN_SOLIB_CALL_TRAMPOLINE and SKIP_TRAMPOLINE_CODE + * config/arm/tm-linux.h (IN_SOLIB_CALL_TRAMPOLINE): Replace old + definition with undef, since we don't want the sysvr4 definition. + (SKIP_TRAMPOLINE_CODE): Likewise. + +2002-02-23 Andrew Cagney + + From 2002-02-22 Alfred M. Szmidt : + + * configure.in: (AC_CHECK_FUNCS) Added test for + canonicalize_file_name Regenerated. * config.in, configure: Regenerated. - * hppa-tdep.c (pa_register_look_aside): Only refer to new - structure elements if we are on a PA2.0 system. - * defs.h: Include limits.h. + * utils.c: (gdb_realpath) If HAVE_CANONICALIZE_FILE_NAME is + defined use canonicalize_file_name. - Merged changes from Stu Grossman: - - Wed Feb 17 10:10:27 1999 Stu Grossman +2002-02-23 Michael Chastain - * gdbtypes.h (get_discrete_bounds): Remove duplicate decl. + * MAINTAINERS: Remove Michael Chastain from "paper trail" list. - * jv-typeprint.c (java_type_print_base): Change fputs => fputs_filtered. - - Mon Jan 25 18:30:57 1999 Per Bothner - - * jv-lang.h (JAVA_OBJECT_SIZE): Change from hard-wired constant. - (java_primitive_type_from_name, get_java_object_header_size): Declare. - * jv-lang.c (java_class_from_object): Use get_java_object_type. - * jv-lang.c: Update Class field names: dtable->vtable, - msize->method_count, nfields->field_count, bfsize->size_in_bytes, - nmethods->method_count. - (type_from_class): Demangle array type names. - (java_link_class_type): Array type names are now demangled. - (get_java_object_type): If not defined yet, try looking it up. - (get_java_object_header_size): New function. - (java_primitive_type_from_name): New function. - (java_demangled_signature_length, java_demangled_signature_copy): New. - (java_demangle_type_signature): Re-implement using above functions. - (evaluate_subexp_java): For UNOP_IND, call evaluate_subexp_java - to evaluate subexp (not evaluate_subexp_standard). - For BINOP_SUBSCRIPT update for new array type naming scheme. - * jv-valprint.c (java_value_print): Use java_class_from_object. - Update array printing to new array type naming convention. - (java_val_print): Doing check_typedef when printing a pointer is - is a waste of effort. Also, handle TYPE_CODE_INT, to make sure - Java bytes as not printed as C chars. - - Fri Jan 8 16:58:22 1999 Stu Grossman - - * blockframe.c (find_pc_sect_partial_function): Search full symtabs as - a last ditch effort (after the partial & minimal symtabs). - * defs.h utils.c: Fixup prototypes for vprintf_filtered, - vfprintf_filtered, vfprintf_unfiltered and vprintf_unfiltered to return - ints to match their standard equivalents. - * defs.h symtab.c top.c: Create skip_prologue_hook to allow Java to - control the prologue skipping process. - * jv-typeprint.c (java_type_print_base): Remove extern for - jv_class_demangle, add new arg for objfile (NULL). - * symtab.h: Remove struct sourcevector and struct source. Definately - not needed. - * values.c (value_virtual_fn_field): Fixes code to handle new vtable - debug info format. Patch from marka. - - Wed Dec 16 23:11:25 1998 Stu Grossman +2002-02-23 Andrew Cagney - * jv-lang.c (java_class_from_object java_class_is_primitive - is_object_type): Change dtable to vtable. - * (java_primitive_type): Change arg to type char. - * (_initialize_java_language): Make java_char_type be unsigned. - * jv-lang.h: Fixup prototypes. - - Mon Dec 7 19:02:15 1998 Stu Grossman - - * jv-valprint.c (java_value_print): Fix printing of values where - run time type != compile time type. - - Fri Dec 4 15:23:38 1998 Stu Grossman - - * Makefile.in: Whack out m2-typeprint.c. - * c-typeprint.c (c_type_print_varspec_suffix) typeprint.h: Make this - global. It's needed by Java. - * (c_type_print_base): Whack prefix off of qualified method names - (names with name spaces). - * gdbtypes.h (struct cplus_struct_type): Add bits for Java attributes. - Shrink voffset - to 16 bits to compensate for added bits above (hopefully this is still - enough). - * Add new accessor macros (TYPE_FND_FIELD_PUBLIC, ...) for all new - attribute bits. - * jv-typeprint.c (java_type_print_base): Fix printing of method - attributes. Handle JVM style manglings. - * (java_print_type): Enable code type print varspec_suffix to allow - array indices to print out. - * jv-valprint.c (java_val_print): Minor formatting. - * m2-lang.c (m2_language_d): Change m2_print_type to c_print_type. - * stabsread.c (read_member_functions): Save public and static attributes. - -1999-03-02 Stan Shebs - - From Gary Thomas : - * arm-tdep.c (ARM_LE_BREAKPOINT, ARM_BE_BREAKPOINT, - THUMB_LE_BREAKPOINT, THUMB_BE_BREAKPOINT): Use illegal instruction - instead of SWI 24. - * config/arm/tm-arm.h (CALL_DUMMY): Ditto. - (IN_SIGTRAMP): Define. - -1999-03-01 Jim Blandy - - * configure.in (TERM_LIB): Move the code which sets this to a - better place. - -1999-02-25 Stan Shebs - - * breakpoint.c (SOLIB_LOADED_LIBRARY_PATHNAME, - SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_CREATE_CATCH_LOAD_HOOK, - SOLIB_CREATE_CATCH_UNLOAD_HOOK): Supply default definitions. - * infrun.c (SOLIB_IN_DYNAMIC_LINKER): Ditto. - -1999-02-23 Jim Blandy - - Patch from Jason Molenda (jsm@bugshack.cygnus.com) - * configure.in (TERM_LIB): Move checking for TERM_LIB, substituting. - * configure, aclocal.m4, config.in: Regenerated. - -1999-02-22 Jim Blandy - - * Makefile.in (VERSION): Bump to 4.17.85, for the release process. - - Patch from Elena Zannoni - * breakpoint.c (watch_command_1): Reformat comment. - - Patch from Elena Zannoni - * c-typeprint.c (c_type_print_base): Reformat comments. - - Patch from Edith Epstein : - * config/pa/nm-hppah.h: Added prototype declarations for - hppa_enable_page_protection_events and - hppa_disable_page_protection_events. - - Patch from Edith Epstein : - * infttrace.c (hppa_insert_hw_watchpoint): Make sure that - function always returns a value. - (hppa_remove_hw_watchpoint): Make sure that function always - returns a value. - - Patch from Edith Epstein : - * inftarg.c (child_wait): Fixed code that checks whether - or not the target program has done a fork/vfork. - related_pid does not have a value unless the target - program has forked/vforked. - -1999-02-22 Jim Blandy + * README: Remove references to cygnus.com. + * MAINTAINERS: Change Past Maintainer addresses to ``foo at bar + dot com'' form. Remove references to cygnus.com and sourceware. - * tm-h8500.h, i386lynx-nat.c: Removed. These files are long - dead; it seems that they only appeared due to some CVS weirdness. - If they appear again, we may need to distribute garlic and holy - water. +2002-02-23 Andrew Cagney -1999-02-16 Jim Blandy + From 2002-02-19 Paul Eggert : + * Makefile.in (VER): Change "head -1" to "sed q", since POSIX + 1003.1-2001 no longer allows "head -1". + * gdb/Makefile.in (version.c): Likewise. + * gdb/doc/Makefile.in (GDBvn.texi): Likewise. + * gdb/CONTRIBUTE: Change "diff -c3" to "diff -c", which is + equivalent. POSIX 1003.1-2001 no longer allows "diff -c3". - * Makefile.in (VERSION): Bump to 4.17.2. +2002-02-23 Andrew Cagney -Sun Feb 14 18:21:08 1999 Mark Alexander + * cli/cli-decode.c (cmd_cfunc_eq): New function. + * command.h (cmd_cfunc_eq): Declare. + * cli/cli-decode.h (cmd_cfunc_eq): Ditto. - * config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that - coffread.c will correctly handle char or short function parameters. + * cli/cli-cmds.h (is_complete_command): Change parameter to a + ``struct cmd_list_element *''. + * cli/cli-cmds.c (is_complete_command): Update. Use + cmd_cfunc_eq. + * top.c (execute_command): Pass the command to + is_complete_command. + * tracepoint.c: Replace function.cfunc with cmd_cfunc_eq. -1999-02-11 Jason Molenda (jsm@bugshack.cygnus.com) +2002-02-23 Andrew Cagney - * configure, aclocal.m4: Regenerate with correct version of aclocal. + From 2002-02-20 Martin Schwidefsky : + * config/s390/tm-s390.h (GDB_TARGET_IS_ESAME): Use renamed + architecture defines. + * s390-tdep.c (s390_gdbarch_init): Likewise. -1999-02-10 Syd Polk +2002-02-23 Richard Earnshaw - * acinclude.m4: Fix for new location of itclConfig.sh and itkConfig.sh. - * aclocal.m4: Regnerate. - * configure: Regenerate. + * arm-linux-tdep.c (arm_linux_extract_return_value): Make static. + (arm_linux_push_arguments): Likewise. + (arm_linux_init_abi): Register them. Also register linux-specific + call_dummy_words. + (find_minsym_and_objfile): Use strcmp, not STREQ. + * config/arm/tm-linux.h (CALL_DUMMY_WORDS): Delete. + (arm_linux_call_dummy_words): Delete declaration. + (EXTRACT_RETURN_VALUE, PUSH_ARGUMENTS): Delete. + (arm_linux_extract_return_value, arm_linux_push_arguments): Delete + declarations. + (LOWEST_PC): Delete. -1999-02-10 Jason Molenda (jsm@bugshack.cygnus.com) +2002-02-23 Peter Schauer - * demangle.c: Fix comments to mention "set demangle-style" - instead of "set demangle". - Run through indent to fix minor indenting problems. + * maint.c (print_section_info): Do not prepend `0x' to filepos + output, it will be handled by local_hex_string_custom. -Wed Feb 10 17:53:09 1999 Bob Manson +2002-02-23 Richard Earnshaw - * i386-tdep.c (gdb_print_insn_i386): Add missing returns. + * arm-linux-nat.c (store_newfpe_single): Use regcache_collect. + (store_newfpe_double, store_newfpe_extended, store_fpregister) + (store_register, store_regs, fill_gregset, fill_fpregset): Likewise. -Wed Feb 10 13:17:21 1999 Stan Shebs +2002-02-22 Jim Blandy - Declare Gould configuration obsolete: - * 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. + Indicate that the bcache functions don't change the strings + they're passed. + * bcache.h (bcache, hash): Add `const' keywords to declarations. + * bcache.c (bcache, hash): Add `const' keywords to definitions. -1999-02-09 DJ Delorie +2002-02-22 Pierre Muller - * sparcl-tdep.c: UDP download works in cygwin + * win32-nat.c (child_create_inferior): Fix create flags setting bug. -1999-02-08 Jason Molenda (jsm@bugshack.cygnus.com) +2002-02-21 Christopher Faylor - * gnu-regex.c: Check ENABLE_NLS instead of HAVE_LIBINTL_H. - * configure.in: Don't check for libintl.h. - * configure, config.in: Regenerated. + * win32-nat.c (register_loaded_dll): Just use raw name when we can't + find the complete path to a loaded DLL. -Mon Feb 8 18:10:50 1999 Stan Shebs +2002-02-21 Fred Fish - * NEWS: Mention new X packet and PowerPC variant support. + * dbxread.c (process_one_symbol): When finding an N_FUN symbol + that marks the end of the range of a function, enter a line number + entry that has a line number of zero and a PC offset that matches + the end of the function. This starts a range of PC's for which no + line number information is known. + * symtab.c (find_pc_sect_line): If our best fit is in a range of + PC's for which no line number info is found (line number is zero) + then we didn't find any valid line information. + * symtab.h: Document use of zero line number entry. -1999-02-08 Nick Clifton +2002-02-21 Elena Zannoni - * configure.host: Add support for StrongARM host. - * configure.tgt: Add support for StrongARM target. + * ppc-linux-nat.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Define. + (have_ptrace_getvrregs): Define for run time checks. + (gdb_vrregset_t): New type for Altivec register handling. + (fetch_register, store_register): Fetch/store altivec register + when needed. + (fetch_altivec_register, store_altivec_register): New functions. + (supply_vrregset, fill_vrregset): New functions. + (fetch_altivec_registers, store_altivec_registers): New functions. + (fetch_ppc_registers, store_ppc_registers): Fetch/store altivec + registers as well. -Mon Feb 8 12:05:05 1999 David Taylor +2002-02-21 Jiri Smid - * dsrec.c (make_srec): Cast targ_addr to int in call to sprintf - otherwise on big endian machine with a bfd_vma of 64 bits, - *everything* gets loaded at location 0. + * config/i386/x86-64linux.mh (NATDEPFILES): Remove x86-64-nat.o. -Mon Feb 7 10:05:43 1999 Frank Ch. Eigler +2002-02-21 Richard Earnshaw - * infrun.c (wait_for_inferior): Allow SIGTRAP to be "pass"ed - to target program. + * Makefile.in (armnbsd-nat.o): Update dependencies. + * armnbsd-nat.c (supply_gregset): New function. Common code to + supply the integer register set. + (supply_fparegset): New function. Similar for FPA registers. + (fetch_regs, fetch_fp_regs): Use them. + (fetch_core_registers): Likewise. + (fetch_elfcore_registers): New function. + (arm_netbsd_elfcore_fns): New core-file type specification. + (_initialize_arm_netbsd_nat): Register it. -Fri Feb 5 16:46:14 1999 Stan Shebs +2002-02-21 Richard Earnshaw - * NEWS: Add mentions of various new things. + * armnbsd-nat.c: Include gdbcore.h. + (FETCH_INFERIOR_REGISTERS): Just error if this isn't defined. + (fetch_regs, fetch_fp_regs, store_regs, store_fp_regs): Add explicit + 'void' to declaration, to shut up ARI. + (fetch_core_registers): Make static. Rewrite using supply_register. + (arm_netbsd_core_fns): New core-file type specification. + (_initialize_arm_netbsd_nat): New function. -Thu Feb 4 00:19:14 1999 Christopher Faylor +2002-02-21 Christopher Faylor - * configure.in: Move termcap determination later in the - file to catch setting of cygwin flag. - * configure: Regenerate. + * win32-nat.c (register_loaded_dll): Correctly check for invalid handle + value. -Wed Feb 3 14:16:38 1999 Christopher Faylor +2002-02-20 Christopher Faylor - * config/i386/cygwin.mh: Move TERMCAP test code to configure.in. - * configure.in: Treat libtermcap.a detection as a special case - when hosting on cygwin. - * configure: Regenerate. + * win32-nat.c (register_loaded_dll): Handle case where FindFirstFile + fails. -1999-02-03 Keith Seitz - - * remote.c (remote_binary_download, remote_binary_length): New - 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. - -Tue Feb 2 18:40:29 1999 Elena Zannoni - - * 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. - -Tue Feb 2 17:36:29 1999 Elena Zannoni - - * 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. +2002-02-20 Daniel Jacobowitz + + * jv-exp.y (parse_number): Change type of implicit longs + to builtin_type_uint64. + +2002-02-20 Daniel Jacobowitz + + * gdbserver/linux-low.c (mywait): Change argument to waitpid + to be an integer instead of a `union wait'. + +2002-02-20 Daniel Jacobowitz + + * mips-linux-nat.c: Call the operating system GNU/Linux. + * mips-linux-tdep.c: Likewise. + * mips-tdep.c: Likewise. + +2002-02-20 Daniel Jacobowitz + + Fix PR gdb/265. + * jv-exp.y (parse_number): Handle 64-bit integers. + +2002-02-20 Daniel Jacobowitz + + * gdbserver/configure.in: Remove AM_PROC_CC_STDC. Change + AC_STDC_HEADERS to AC_HEADER_STDC. + * gdbserver/configure: Regenerated. + +2002-02-20 Richard Earnshaw + + * arc-tdep.c (get_longjmp_target): Only compile this function if JB_PC + is defined. + * sparc-tdep.c (get_longjmp_target): Likewise. + +2002-02-20 Richard Earnshaw + + * News: Add news about ARM and Multi-arch. Mention the new target + arm*-*-netbsd*. + +2002-02-19 Jim Blandy -1999-02-02 Martin Hunt + * stabsread.c (error_type_complaint): Improve error message. - * printcmd.c (print_scalar_formatted): Use strcat to concat all - the output together before calling fprintf_filtered(). +2002-02-19 Daniel Jacobowitz -1999-02-01 Jason Molenda (jsm@bugshack.cygnus.com) + * gdbserver/README: Update documentation. + * gdbserver/configure.in: Update configury to match documentation. + * gdbserver/Makefile.in: Likewise. + * gdbserver/configure: Regenerated. + * gdbserver/aclocal.m4: New file, generated by aclocal. + * gdbserver/config.in: New file, generated by autoheader. - * configure.in: Require autoconf 2.13. - (AM_EXEEXT): Replace with new AC_EXEEXT. - * acinclude.m4: Move itcl header macros from aclocal.m4 to here. - * aclocal.m4: Regenerated. +2002-02-19 Richard Earnshaw + + * config/djgpp/fnchange.lst: Add change rules for armnbsd-tdep.c and + armnbsd-nat.c. + +2002-02-19 Richard Earnshaw + + * arm-tdep.h (enum arm_float_model): New enum. + (struct gdbarch_tdep): Add fp_model. + * arm-tdep.c (arm_gdbarch_init): Set fp_model in tdep. Defer setting + up floating-point conversions until we know the floating-point model + in use by the inferior. Don't complain about being unable to + determine the ABI of the inferior when we don't have one. + (arm_extract_return_value): Support different floating-point models. + (arm_store_return_value): Likewise. + * armnbsd-tdep.c (arm_netbsd_aout_init_abi): Set fp_model in tdep to + ARM_FLOAT_SOFT. + (arm_netbsd_elf_init_abi): Set fp_model to ARM_FLOAT_SOFT_VFP. + +2002-02-19 Peter Schauer + + * i386-tdep.c (i386_gdbarch_init): Eliminate incorrect use + of ``current_gdbarch''. + +2002-02-19 Richard Earnshaw + + * armnbsd-nat.c : ANSIfy all function declarations. + (fetch_register, fetch_regs, fetch_fp_register, fetch_fp_regs): New. + (fetch_inferior_registers): Re-implement in terms of above. + (store_register, store_regs, store_fp_register, store_fp_regs): New. + (store_inferior_registers): Re-implement in terms of above. + +2002-02-19 Richard Earnshaw + + * arm-linux-nat.c: Linux -> GNU/Linux when not talking about the + kernel. + * arm-linux-tdep.c: Likewise. + * config/arm/tm-linux.h: Likewise. + +2002-02-19 Richard Earnshaw + + * configure.tgt (arm*-*-netbsd*): This variant is now fully multi-arch. + * config/arm/nbsd.mt (TM_FILE): Delete. + * config/arm/tm-nbsd.h: Delete. + +2002-02-19 Richard Earnshaw + + * arm-tdep.c (arm_gdbarch_init): Initialize TARGET_CHAR_SIGNED. + Initialize CALL_DUMMY_LENGTH. + +2002-02-19 Richard Earnshaw + + * armnbsd-tdep.c (arm_netbsd_aout_in_solib_call_trampoline): New + function. + (arm_netbsd_aout_init_abi): Initialize IN_SOLIB_CALL_TRAMPOLINE. + * config/arm/tm-nbsd.h: Don't include config/tm-nbsd.h, it only + defines one thing and that is incorrect for this port. + (IN_SOLIB_CALL_TRAMPOLINE): Delete. + +2002-02-18 Pierre Muller + + * go32-nat.c: add i386-tdep.h include to import FP_REGNUM_P macro. + +2002-02-18 Pierre Muller + + * win32-nat.c (display_selector): New function. Displays information + about the information returned by GetThreadSelectorEntry API function. + (display_selectors): New function. Displays the infomation of + the selector given as argument, or of CS, DS ans FS selectors + if no argument is given. + ( _initialize_inftarg): Add "w32" as info prefix command. + Add "info w32 selector" as command calling display_selectors. + +2002-02-19 Pierre Muller + + * i386-tdep.c (get_longjmp_target): Fix compilation failure + by setting dummy values to JB_PC and JB_ELEMENT_SIZE + if not defined. + +2002-02-18 Richard Earnshaw + + * config/arm/nbsd.mt (TDEPFILES): Add solib-sunos.o. + +2002-02-18 Richard Earnshaw + + * arm-tdep.c (arm_set_call_dummy_breakpoint_offset): New function. + (arm_fix_call_dummy): Call it. + (arm_call_dummy_breakpoint_offset): Delete. + (arm_gdbarch_init): Initialize call_dummy_breakpoint_offset. + * config/arm/tm-arm.h (CALL_DUMMY_BREAKPOINT_OFFSET): Delete. + +2002-02-18 Andrew Cagney + + * gdbarch.sh (FRAME_CHAIN_VALID): Only require at level 2. + Default to func_frame_chain_valid. + * gdbarch.h, gdbarch.c: Re-generate. + * frame.h (FRAME_CHAIN_VALID): Delete definition. + +2002-02-18 Elena Zannoni + + * ppc-linux-nat.c: Update copyright. + (fetch_register, store_register): Add tid parameter, don't compute + tid here. + (fetch_ppc_registers, store_ppc_registers): Add tid + parameter. Pass it along to callees. + (fetch_inferior_registers, store_inferior_registers): Compute tid + here, and pass it to calleed functions. + (fill_gregset, supply_fpregset): Clean up formatting. + +2002-02-18 Richard Earnshaw + + * arm-tdep.c (arm_gdbarch_init): Initialize coerce_float_to_double. + * config/arm/tm-arm.h (COERCE_FLOAT_TO_DOUBLE): Delete. + +2002-02-18 Richard Earnshaw + + * gdbarch.sh (GET_LONGJMP_TARGET): Add rule. + * gdbarch.c gdbarch.h: Regenerate. + * breakpoint.c (create_longjmp_breakpoint): Always compile this + function. + (breakpoint_reset): Test GET_LONGJMP_TARGET_P(). + * infrun.c (GET_LONGJMP_TARGET): Delete default definition. + (handle_inferior_event): Test GET_LONGJMP_TARGET_P(). + + * arm-tdep.h (struct gdbarch_tdep): Add jb_pc and jb_elt_size fields. + * arm-tdep.c (arm_get_longjmp_target): New function. + (arm_gdbarch_init): Initialize jb_pc to -1. If ABI handler changes + this to a positive value register arm_get_longjmp_target as the + longjmp handler. + * arm-linux-tdep.c (arm_get_longjmp_target): Delete. + (arm_linux_init_abi): Set up longjmp description in tdep. + * armnbsd-nat.c (get_longjmp_target): Delete. + * armnbsd-tdep.c (arm_netbsd_init_abi_common): Set up longjmp + description in tdep. + * config/arm/tm-nbsd.h (JB_ELEMENT_SIZE, JB_PC): Delete. + (get_longjmp_target): Delete declaration. + (GET_LONGJMP_TARGET): Delete. + * config/arm/tm-linux.h (arm_get_longjmp_target): Delete declaration. + (GET_LONGJMP_TARGET): Delete. + +2002-02-17 Kevin Buettner + + From Peter Schauer : + * ia64-tdep.c (ia64_gdbarch_init): Eliminate incorrect use + of ``current_gdbarch''. + +2002-02-17 Tom Tromey + + * cli/cli-cmds.c (compare_strings): New function. + (complete_command): Only print each unique item once. + * completer.h (complete_line): Declare. + * completer.c (complete_line): New function. + (line_completion_function): Use it. + +2002-02-16 Andrew Cagney + + * gdbarch.sh (TARGET_LONG_DOUBLE_BIT): Default to 64. + * gdbarch.h, gdbarch.c: Re-generate. + +2002-02-16 Daniel Jacobowitz + + * valarith.c (value_x_unop): Fix decrement; support post-decrement. + +2002-02-16 Daniel Jacobowitz + + From Peter Schauer : + * valops.c (value_arg_coerce): Don't take the address of a reference + to convert an argument to a reference. + +2002-02-15 Christopher Faylor + + * win32-nat.c (get_image_name): New function. + (handle_load_dll): Use get_image_name function. + (get_child_debug_event): Avoid registering debug events until possibly + execed process is started. + (child_create_inferior): Allow invocation via shell so that command + line redirection, etc. works ok. + (_initialize_inftarg): Add new command: "set shell" to control whether + a shell is used to start a process. + +2002-02-15 Daniel Jacobowitz + + * gdbserver/linux-mips-low.c (cannot_fetch_register): Use find_regno + instead of find_register_by_number. + (cannot_store_register): Likewise. + +2002-02-14 Pierre Muller + + * dwarf2read.c: Replace fprintf (stderr, ...) by + fprintf_unfiltered (gdb_stderr, ...). + +2002-02-15 Daniel Jacobowitz + + * gdbserver/gdbserver.1: Document --attach. + +2002-02-15 Richard Earnshaw + + * arm-tdep.h (struct gdbarch_tdep): Add fields for breakpoint + descriptions. + * arm-tdep.c (arm_default_arm_le_breakpoint) + (arm_default_arm_be_breakpoint, arm_default_thumb_le_breakpoint) + (arm_default_thumb_be_breakpoint): New. Initialize them from + traditional breakpoint defines. + (arm_breakpoint_from_pc): Use new gdbarch_tdep entries. + (arm_gdbarch_init): Initialize new breakpoint variables. + * arm-linux-tdep.c (arm_linux_arm_le_breakpoint): New. + (arm_linux_init_abi): Initialize linux-specific breakpoint. + * armnbsd-tdep.c (arm_nbsd_arm_le_breakpoint): New. + (arm_netbsd_aout_init_abi, arm_netbsd_elf_init_abi): Split common + code out to ... + (arm_netbsd_init_abi_common): ... here; new function. + * config/arm/tm-arm.h (ARM_LE_BREAKPOINT, ARM_BE_BREAKPOINT) + (THUMB_LE_BREAKPOINT, THUMB_BE_BREAKPOINT): Delete. + * config/arm/tm-linux.h (ARM_LE_BREAKPOINT): Delete. + * config/arm/tm-nbsd.h (ARM_LE_BREAKPOINT): Delete. + +2002-02-15 Richard Earnshaw + + * arm-tdep.h (enum arm_abi): New enum. + (struct gdbarch_tdep): New structure. + (LOWEST_PC): Provide a default. + (arm_gdbarch_register_os_abi): Declare new function. + * arm-tdep.c (arm_abi_names): New array. + (process_note_abi_tag_sections): New function. + (get_elfosabi): New function. + (arm_gdbarch_register_os_abi): New function. + (arm_gdbarch_init): Try to determine the ABI of the inferior. If + support for that ABI has been built in, then call the appropriate + configuration routine. Use gdbarch_num_regs() to get the number + of registers. + (arm_dump_tdep): New function. + (arm_init_abi_eabi_v1, arm_init_abi_eabi_v2, arm_init_abi_apcs): New + place-holder functions. + (_initialize_arm_tdep): Register them. + * config/arm/tm-arm.h (LOWEST_PC): Delete. + + * armnbsd-tdep.c: New file. + * Makefile.in (armnbsd-tdep.o): Add dependencies. + * config/arm/nbsd.mt (TDEPFILES): Add it. + * config/arm/tm-nbsd.h (LOWEST_PC): Delete. + + * armnbsd-nat.c: Include regcache.h. + * Makefile.in (armnbsd-nat.o): Update dependency list. + + * arm-tdep.c (arm_get_next_pc): Use printf_filtered for error message. + +2002-02-14 Daniel Jacobowitz + + * gdbserver/Makefile.in: Fix typos in target rules. + +2002-02-14 Daniel Jacobowitz + + Fix part of PR gdb/267. + * linespec.c (find_methods): Handle constructors specially for now. + +2002-02-14 Corinna Vinschen + + * arm-tdep.c (arm_push_arguments): Eliminate special float type + handling. + * config/arm/tm-arm.h (COERCE_FLOAT_TO_DOUBLE): Define to call + standard_coerce_float_to_double(). + +2002-02-14 Christopher Faylor + + * config/i386/xm-cygwin.h: Revert inadvertent reinclusion of + GDBINIT_FILENAME. + +2002-02-14 Elena Zannoni + + * rs6000-tdep.c (rs6000_gdbarch_init): Don't call + find_variant_by_name, because it confuses the multiarch + framework. Return NULL if there isn't an architecture with the + user supplied name, instead of forcing a different one without + recording the change with the multiarch machinery. + (find_variant_by_name): Delete. + +2002-02-14 Peter Schauer + + * config/i386/i386sol2.mh (NATDEPFILES): Add i387-nat.o, needed by + i386v4-nat.o now. Add gcore.o, Solaris x86 supports gcore. + +2002-02-13 Martin M. Hunt + + * stack.c (print_frame_info_base): When calling + print_frame_info_listing_hook, set current_source_symtab. + +2002-02-14 Daniel Jacobowitz + + * gdbserver/Makefile.in: Add regformats directory to INCLUDE_CFLAGS, + and remove unused $(INCLUDE_DIR). + Add regcache.c to OBS. + Add generated register protocol files to clean target. + Update dependencies for new objects, obsolete old target code. + + * gdbserver/linux-low.c: Remove all platform-specific code to + new files. Remove various dead code. Update to use regcache + functionality. + * gdbserver/remote-utils.c (fromhex): Add return statement + to quiet warning. + (putpkt): Dynamically allocate buf2 because PBUFSIZ is no longer + constant. + (input_interrupt): Add integer parameter to match prototype + of a signal handler. + (outreg): Use register_data (). + (prepare_resume_reply): Use gdbserver_expedite_regs. + * gdbserver/server.c (main): Dynamically allocate own_buf because + PBUFSIZ is no longer constant. Use registers_to_string () and + registers_from_string (). + * gdbserver/server.h: No longer include "defs.h". Add prototypes + for error (), fatal (), and warning (). Update definition of + PBUFSIZ to use regcache functionality. Add include guard. + * gdbserver/utils.c (fatal): Add missing ``const''. + (warning): New function. + + * regformats/regdat.sh: Include "regcache.h" in generated files. + Provide init_registers () function. + * regformats/regdef.h: Add prototype for set_register_cache (). + Add include guard. + + * gdbserver/linux-arm-low.c: New file. + * gdbserver/linux-i386-low.c: New file. + * gdbserver/linux-ia64-low.c: New file. + * gdbserver/linux-m68k-low.c: New file. + * gdbserver/linux-mips-low.c: New file. + * gdbserver/linux-ppc-low.c: New file. + * gdbserver/linux-sh-low.c: New file. + + * gdbserver/regcache.c: New file. + * gdbserver/regcache.h: New file. + + * gdbserver/low-linux.c: Removed obsolete file. + +2002-02-14 Daniel Jacobowitz + + * config/arm/linux.mt: Update GDBSERVER_DEPFILES. + * config/i386/linux.mt: Likewise. + * config/ia64/linux.mt: Likewise. + * config/m68k/linux.mh: Likewise. + * config/powerpc/linux.mh: Likewise. + * config/mips/linux.mt: Likewise. + + * config/sh/linux.mt: Add GDBSERVER_DEPFILES. + + * config/i386/i386lynx.mh: Mark gdbserver variables + as (currently) obsolete for this target. + * config/i386/nbsd.mt: Likewise. + * config/i386/nbsdelf.mt: Likewise. + * config/m32r/m32r.mt: Likewise. + * config/m68k/m68klynx.mh: Likewise. + * config/m68k/nbsd.mt: Likewise. + * config/m68k/sun3os4.mh: Likewise. + * config/mips/vr5000.mt: Likewise. + * config/ns32k/nbsd.mt: Likewise. + * config/pa/hppabsd.mh: Likewise. + * config/pa/hppaosf.mh: Likewise. + * config/powerpc/nbsd.mt: Likewise. + * config/rs6000/rs6000lynx.mh: Likewise. + * config/s390/s390.mt: Likewise. + * config/s390/s390x.mt: Likewise. + * config/sparc/sparclynx.mh: Likewise. + * config/sparc/sun4os4.mh: Likewise. + * config/i386/x86-64linux.mt: Likewise. + * config/sparc/linux.mh: Likewise. + +2002-02-14 Daniel Jacobowitz + + * configure.tgt: Configure gdbserver only for known working + targets. Set ${build_gdbserver} instead of modifying ${configdirs}. + * configure.in: Check ${build_gdbserver}. Put gdbserver/ into + SUBDIRS if it is configured. Update comment for ${nativefile}. * configure: Regenerated. -1999-02-01 Jim Blandy +2002-02-13 Michael Snyder - Allow PPC users to select which PPC/RS6000 variant they're - debugging at run-time. At the moment, the only thing this affects - is the set of registers visible. - * config/rs6000/tm-rs6000.h (REGISTER_NAME): Define this as a call - to the function rs6000_register_name. - (rs6000_register_name): Include extern decl. - (NUM_REGS): Bump to 183. What's the right way to do this? - (FIRST_UISA_SP_REGNUM, LAST_UISA_SP_REGNUM): Renamed from - FIRST_SP_REGNUM, LAST_SP_REGNUM. - (REGISTER_BYTES): Recompute this. - * rs6000-tdep.c: Renamed all uses of FIRST_SP_REGNUM and - LAST_SP_REGNUM to FIRST_UISA_SP_REGNUM and LAST_UISA_SP_REGNUM, with - some concomitant formatting changes. - #include "gdbcmd.h", so we can define commands here. - (struct variant): New structure. - (COMMON_UISA_REG_NAMES, PPC_UISA_SPR_NAMES, PPC_SEGMENT_REG_NAMES, - PPC_32_OEA_SPR_NAMES, num_registers): New macros. - (register_names_rs6000, register_names_uisa, register_names_403, - register_names_403GC, register_names_505, register_names_860, - register_names_601, register_names_602, register_names_603, - register_names_604, register_names_750, variants): New variables. - (rs6000_register_name, install_variant, find_variant_by_name, - install_variant_by_name, list_variants, show_current_variant, - set_processor, show_processor): New functions. - (_initialize_rs6000_tdep): Define new commands `set processor' and - `show processor', and call install_variant_by_name to set the - default variant. - * rs6000-nat.c: Renamed all uses of FIRST_SP_REGNUM and - LAST_SP_REGNUM to FIRST_UISA_SP_REGNUM and LAST_UISA_SP_REGNUM, with - some concomitant formatting changes. - * configure.in: Accept the `--with-cpu' flag, to specify a default - processor variant. - * acconfig.h: Provide a blurb for TARGET_CPU_DEFAULT, which is set - by configure's `--with-cpu' flag. - * config.in, configure: Regenerated. + * gcore.c (gcore_command): Use gcore_default_target instead of NULL. + (default_gcore_mach): Just return 0, work around a problem in bfd. + (default_gcore_target): OK to return NULL if exec_bfd is null. + (make_mem_sec): Use a cast, avoid a warning. -Sun Jan 31 15:24:24 1999 Stan Shebs + * procfs.c (find_memory_regions_callback): Use a cast instead of + calling host_pointer_to_address (which complains if + sizeof (host pointer) != sizeof (target pointer)). + (procfs_make_note_section): Avoid overflow in psargs string. - * buildsym.h, buildsym.c: Convert to ANSI-only. + * procfs.c (procfs_make_note_section): Make the default + implementation return an error. + +2002-02-13 Rodney Brown + + * procfs.c (procfs_make_note_section): Provide a default definition + (for alpha-dec-osf4.0f). Fix typos. + +2002-02-13 Elena Zannoni + + * linux-proc.c: Add include of regcache.h. + * Makefile.in (linux-proc.o): Add dependency on regcache.h. + +2002-02-13 Andrew Cagney + + From 2002-01-18 Greg McGary : + * memattr.c (create_mem_region): Disallow useless empty region. + Regions are half-open intervals, so allow [A..B) [B..C) as + non-overlapping. + +2002-02-13 Michael Chastain + + * defs.h: Kill CONST_PTR. + * c-lang.h (c_builtin_types): Change CONST_PTR to simple "const". + * c-lang.c (c_builtin_types): Likewise. + * ch-lang.c (ch_builtin_types): Likewise. + * f-lang.c (f_builtin_types): Likewise. + * language.c (unknown_builtin_types): Likewise. + * m2-lang.c (m2_builtin_types): Likewise. + * p-lang.c (pascal_builtin_types): Likewise. + * scm-lang.c (c_builtin_types): Likewise. + +2002-02-13 Keith Seitz + + * arm-tdep.h (arm_get_next_pc): Add declaration. + +2002-02-13 Richard Earnshaw + + * arm-tdep.c (arm_use_struct_convention): Make static. Move to be + with other related struct-returning functions. + (arm_extract_struct_value_address): New function. + (arm_gdbarch_init): Initialize the above in multi-arch vector. Also + initialize float_format, double_format and long_double_format as + appropriate to the endianness of the target. + * config/arm/tm-arm.h (TARGET_DOUBLE_FORMAT): Delete. + (arm_use_struct_convention): Delete declaration. + (USE_STRUCT_CONVENTION, EXTRACT_STRUCT_VALUE_ADDRESS): Delete. + +2002-02-13 Keith Seitz + + * defs.h (core_addr_to_string_nz): New function. + +2002-02-13 Mark Kettenis + + Apply missing bits of 2002-01-15 patch. + * i386v4-nat.c (supply_fpregset): Use i387_supply_fsave. + (fill_fpregset): Use i387_fill_fsave. + +2002-02-12 Keith Seitz + + * utils.c (core_addr_to_string): Use phex instead of phex_nz. + (core_addr_to_string_nz): New function. + +2002-02-11 Richard Earnshaw + + * arm-linux-nat.c: Really include arm-tdep.h. + * config/arm/tm-linux.h (struct type, struct value): Declare. + +2002-02-11 Michael Snyder + + * procfs.c: Include elf-bfd.h (for elfcore_write functions). + (gcore section): Ifdef for Solaris and Unixware only. + (procfs_do_thread_registers): Unixware needs one lwpstatus + per thread (not one prstatus or pstatus). + (procfs_make_note_section): Iterate only over kernel threads (lwps), + not over all gdb threads. For unixware, call elfcore_write_pstatus + once before iterating over threads. + +2002-02-11 Richard Earnshaw + + * arm-tdep.h: New file. + * arm-tdep.c: Include arm-tdep.h. + (arm_addr_bits_remove, arm_smash_text_address, arm_saved_pc_after_call) + (arm_skip_prologue, arm_call_dummy_words, arm_fix_call_dummy) + (arm_print_float_info, arm_register_type, convert_to_extended) + (arm_elf_make_msymbols_special, arm_coff_make_msymbol_special) + (arm_extract_return_value, arm_register_name): Make static. + (arm_software_single_step): Similarly. Fix types in declaration. + (arm_register_byte, arm_register_raw_size, arm_register_virtual_size) + (arm_store_return_value, arm_store_struct_return): New functions. + (arm_gdbarch_init): Register the above functions. Also register + call_dummy_start_offset, sizeof_call_dummy_words, + function_start_offset, inner_than, decr_pc_after_break, fp_regnum, + sp_regnum, pc_regnum, register_bytes, num_regs, max_register_raw_size, + max_register_virtual_size, register_size. Set up + prologue_cache.saved_regs here, rather than ... + (_initialize_arm_tdep): ... here. + * config/arm/tm-arm.h (struct type, struct value): Delete forward + declarations. + (arm_addr_bits_remove, arm_smash_text_address, arm_saved_pc_after_call) + (arm_skip_prologue, arm_call_dummy_words, arm_fix_call_dummy) + (arm_print_float_info, arm_register_type, convert_to_extended) + (arm_elf_make_msymbols_special, arm_coff_make_msymbol_special) + (arm_extract_return_value, arm_register_name): Delete declarations. + (SMASH_TEXT_ADDRESS, ADDR_BITS_REMOVE, FUNCTION_START_OFFSET) + (SKIP_PROLOGUE, SAVED_PC_AFTER_CALL, INNER_THAN, BREAKPOINT_FROM_PC) + (DECR_PC_AFTER_BREAK, PRINT_FLOAT_INFO, REGISTER_SIZE, NUM_REGS) + (REGISTER_NAME, REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE) + (REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE) + (MAX_REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE, STORE_STRUCT_RETURN) + (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE, CALL_DUMMY_WORDS) + (SIZEOF_CALL_DUMMY_WORDS, CALL_DUMMY_START_OFFSET, FIX_CALL_DUMMY) + (SOFTWARE_SINGLE_STEP_P, SOFTWARE_SINGLE_STEP) + (ELF_MAKE_MSYMBOL_SPECIAL, COFF_MAKE_MSYMBOL_SPECIAL) Delete. + (arm_pc_is_thumb, arm_pc_is_thumb_dummy, thumb_get_next_pc) + (arm_get_next_pc): No-longer static -- these are needed by the RDI + interface. + * arm-linux-nat.c arm-linux-tdep.c armnbsd-nat.c: Include arm-tdep.h. + * remote-rdi.c remote-rdp.c: Likewise. + * Makefile.in (arm-linux-nat.o, arm-linux-tdep.o arm-tdep.o) + (armnbsd-nat.o, remote-rdi.o, remote_rdp.o): Update dependencies. + * config/arm/tm-nbsd.h (SOFTWARE_SINGLE_STEP_P): Delete bogus + definition. + + * arm-tdep.h (ARM_A1_REGNUM, ARM_A4_REGNUM, ARM_AP_REGNUM) + (ARM_SP_REGNUM, ARM_LR_REGNUM, ARM_PC_REGNUM, ARM_F0_REGNUM) + (ARM_F3_REGNUM, ARM_F7_REGNUM, ARM_FPS_REGNUM, ARM_PS_REGNUM): Renamed + from non-ARM_ prefixed definitions. + * arm-tdep.c armnbsd-nat.c arm-linux-nat.c arm-linux-tdep.c: Update + all uses of above. + * remote-rdi.c remote-rdp.c: Likewise. + * arm-linux-nat.c (ARM_CPSR_REGNUM): Renamed from CPSR_REGNUM. + +2002-02-11 Richard Earnshaw + + * arm-tdep.c (arm_frameless_function_invocation) + (arm_frame_args_address, arm_frame_locals_address, arm_frame_num_args) + (arm_frame_chain, arm_init_extra_frame_info, arm_frame_saved_pc) + (arm_read_fp, arm_frame_init_saved_regs, arm_push_dummy_frame) + (arm_pop_frame, arm_get_next_pc): Make static. + (arm_gdbarch_init): Register above in gdbarch structure. + (arm_read_fp): Renamed from arm_target_read_fp. + (arm_pc_is_thumb, arm_pc_is_thumb_dummy): Make static. + * config/arm/tm-arm.h (arm_frameless_function_invocation) + (arm_frame_args_address, arm_frame_locals_address, arm_frame_num_args) + (arm_frame_chain, arm_init_extra_frame_info, arm_frame_saved_pc) + (arm_target_read_fp, arm_frame_init_saved_regs, arm_push_dummy_frame) + (arm_pop_frame, arm_get_next_pc, arm_pc_is_thumb) + (arm_pc_is_thumb_dummy): Delete declarations. + (INIT_EXTRA_FRAME_INFO, TARGET_READ_FP, FRAME_CHAIN) + (FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC, FRAME_ARGS_ADDRESS) + (FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS, FRAME_ARGS_SKIP) + (FRAME_INIT_SAVED_REGS, PUSH_DUMMY_FRAME, POP_FRAME): Delete. + +2002-02-10 Daniel Jacobowitz + + * symtab.c (compare_search_syms): New function. + (sort_search_symbols): New function. + (search_symbols): Sort symbols after searching rather than + before. + +2002-02-10 Andrew Cagney + + * NEWS: Linux -> GNU/Linux. + +2002-02-10 Andrew Cagney + + * gdbarch.sh: For for level one methods, disallow a definition + when partially multi-arched. Add comments explaining rationale. + * gdbarch.h: Re-generate. + +2002-02-10 Andrew Cagney + + * gdbarch.sh (EXTRA_STACK_ALIGNMENT_NEEDED): Don't require when + multi-arch partial. + +2002-02-10 Andrew Cagney + + * gdbarch.sh: Map LEVEL onto a symbolic GT_LEVEL. Exit on bad + field. Use diff -u. + * gdbarch.c: Re-generate. + +2002-02-10 Andrew Cagney + + * config/mips/tm-mips.h (CALL_DUMMY_LOCATION): Delete. + * gdbarch.sh (PUSH_RETURN_ADDRESS): Don't require when multi-arch + partial. + +2002-02-10 Andrew Cagney + + * gdbarch.sh (REGISTER_CONVERTIBLE): Don't require when + multi-arch partial. + (PUSH_ARGUMENTS): Switch to using predefault. + * gdbarch.c: Regenerate. + +2002-02-10 Andrew Cagney + + * valops.c (PUSH_ARGUMENTS): Delete definition. + * gdbarch.sh (PUSH_ARGUMENTS): Don't require when multi-arch + partial. Default to default_push_arguments. + * gdbarch.h, gdbarch.c: Regenerate. + +2002-02-09 Andrew Cagney + + * defs.h (throw_exception): Rename return_to_top_level. Update + comments. + * utils.c (error_stream, internal_verror, quit): Ditto. + * top.c (throw_exception, catcher): Ditto. + * sparclet-rom.c (sparclet_load): Ditto. + * remote.c (interrupt_query, minitelnet): Ditto. + * remote-sds.c (interrupt_query): Ditto. + * remote-mips.c (mips_error, mips_kill): Ditto. + * ocd.c (interrupt_query): Ditto. + * monitor.c (monitor_interrupt_query): Ditto. + * m3-nat.c (suspend_all_threads, thread_resume_command): Ditto. + * target.h: Update comment. - * buildsym.h, buildsym.c: Reformat to standard. + * m3-nat.c, ocd.c, sparclet-rom.c: Update copyright. - * buildsym.c (merge_symbol_lists): Remove unused variable. - (_initialize_buildsym): Remove, does nothing. +2002-02-09 Andrew Cagney -1999-01-31 J.T. Conklin + * gdbarch.sh (TARGET_LONG_DOUBLE_FORMAT): Default to + default_double_format. + * gdbarch.h, gdbarch.c: Re-generate. + * findvar.c (floatformat_unknown): Delete variable definition. + * doublest.h (floatformat_unknown): Delete variable declaration. - * 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. +2002-02-09 Jim Blandy -Sun Jan 31 13:18:33 1999 Stan Shebs + * stabsread.c (read_type): Add code to parse Sun's syntax for + prototyped function types. - From J.T. Conklin : - * remote.c (remote_query): Fix tipo. +2002-02-09 Andrew Cagney -Fri Jan 29 15:25:09 1999 Stan Shebs + * Makefile.in (SUBDIR_CLI_INITS): Set to SUBDIR_CLI_SRCS. + (SUBDIR_MI_INITS): Set to SUBDIR_MI_SRCS. - * configure.tgt (v850): Add wildcard to match. +2002-02-09 Peter Schauer -Fri Jan 29 16:44:01 1999 Edith Epstein + * xcoffsolib.c (_initialize_xcoffsolib): Renamed from + _initialize_solib. Fixes name clash with solib.c:_initialize_solib, + now _initialize_xcoffsolib gets called again and overrides the + commands from solib.c in a native configuration. - * inferior.h: Ran indent. +2002-02-09 Mark Kettenis - * fork-child.c: Ran indent. + * doublest.c (store_typed_floating): Don't try to return a value. + Fixes PR gdb/290. - * infrun.c : Ran indent. +2002-02-08 Jim Blandy -Fri Jan 29 12:57:34 1999 Elena Zannoni + * c-typeprint.c (c_type_print_varspec_suffix): If a function type + is prototyped and has no arguments, print its argument list as + `(void)'. - * infrun.c (_initialize_infrun): Do not stop or print anything - when a SIGWINCH is received. +2002-02-08 Chris Demetriou - * Makefile.in (m2-exp.tab.c): Use YACC not BISON. - (f-exp.tab.c): Ditto. - (jv-exp.tab.c): Ditto. - (c-exp.tab.c): Ditto. - (YACC): Define as @YACC@. + * MAINTAINERS (write-after-approval): Add myself. + (paper-trail): I've escaped! -1999-01-29 Martin Hunt +2002-02-08 Christopher Faylor - Changes from Keith Seitz - * 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. + * win32-nat.c (cygwin_pid_to_str): Revert 2002-02-08 change xasprintf + changes. + (_initialize_check_for_gdb_ini): Ditto. -1999-01-29 Mark Alexander +2002-02-08 Martin M. Hunt - * procfs.c (wait_fd): Handle deleted threads correctly. + * win32-nat.c (cygwin_pid_to_str): Fix typo. + xaprintf -> xasprintf. -1999-01-28 Jason Molenda (jsm@bugshack.cygnus.com) +2002-02-08 Pierre Muller - * utils.c (init_page_info): Force window size if running under emacs. + * win32-nat.c: Remove use of printf and sprintf functions. -1999-01-27 James Ingham +2002-02-08 Richard Earnshaw - * typeprint.c (whatis_exp): Remove static declaration. + * arm-tdep.c (arm_frame_chain_valid): Make static. + (arm_push_arguments): Likewise. + (arm_gdbarch_init): New function. + (_initialize_arm_tdep): Call it. + * config/arm/tm-arm.h (GDB_MULTI_ARCH): Set to 1. + (TARGET_DOUBLE_FORMAT): Test TARGET_BYTE_ORDER, not target_byte_order. + (FRAME_CHAIN_VALID): Delete. + (arm_frame_chain_valid): Delete declaration. + (PUSH_ARGUMENTS): Delete. + (arm_push_arguments): Delete declaration. + (CALL_DUMMY_P): Delete. -Wed Jan 27 16:50:25 1999 Elena Zannoni +2002-02-08 Andrew Cagney + Corinna Vinschen - * hp-psymtab-read.c: Reformat using indent. + * gdbtypes.c (build_gdbtypes): Disable setting a specific float format + on builtin float types. -Wed Jan 27 13:20:25 1999 Elena Zannoni +2002-02-08 Daniel Jacobowitz - * hp-psymtab-read.c: Reformat comments, update copyright. + * utils.c: Include before "bfd.h". + * tui/tui-hooks.c: Likewise. + * tui/tui.c: Likewise. + * tui/tuiCommand.c: Likewise. + * tui/tuiData.c: Likewise. + * tui/tuiDataWin.c: Likewise. + * tui/tuiDisassem.c: Likewise. + * tui/tuiGeneralWin.c: Likewise. + * tui/tuiIO.c: Likewise. + * tui/tuiLayout.c: Likewise. + * tui/tuiRegs.c: Likewise. + * tui/tuiSource.c: Likewise. + * tui/tuiSourceWin.c: Likewise. + * tui/tuiStack.c: Likewise. + * tui/tuiWin.c: Likewise. -Tue Jan 26 16:02:47 1999 Mark Alexander +2002-02-07 Elena Zannoni - * v850-tdep.c (v850_generic_reg_names, v850e_reg_names, - 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. + * sh-tdep.c (sh_nofp_frame_init_saved_regs): Extend where[] array + to include space for pseudoregs as well. Update loops accordingly. + (sh_fp_frame_init_saved_regs): Ditto. + (sh_init_extra_frame_info, sh_pop_frame): Split long lines. -Tue Jan 26 18:27:26 1999 Elena Zannoni +2002-02-07 Andrew Cagney - * 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. + * MAINTAINERS: Andreas Schwab is GNU/Linux m68k maintainer. + Add Richard Earnshaw to Arm maintainers. -1999-01-26 Jason Molenda (jsm@bugshack.cygnus.com) +2002-02-07 Andrew Cagney - * 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. + * defs.h (warning_begin): Delete declaration. -Tue Jan 26 16:53:54 1999 Fernando Nasser + * config/powerpc/tm-ppcle-eabi.h (TARGET_BYTE_ORDER_DEFAULT): + Delete macro. - * remote.c (remote_query): fix maximum packet size to account for - remote_debug use. - (putpkt): add comment to alert about extra byte need. +2002-02-07 Michael Snyder -Mon Jan 25 19:55:30 1999 Mark Alexander + * solib-legacy.c (legacy_svr4_fetch_link_map_offsets): + Logic bug, remove misplaced else. - * sh-tdep.c (sh_target_architecture_hook): Return immediately - when a matching machine is found. +2002-02-07 Klee Dienes -Fri Jan 22 09:10:35 1999 Mark Alexander + * fork-inferior.c (fork_inferior): Add '!' to the list of + characters that need to be quoted when building a string for the + shell. Quote '!' specifically with a backslash, since CSH chokes + when trying to evaluate "str!str". - * remote-mips.c (mips_initialize): Fix parameters to clear_breakpoint. - (common_breakpoint): Restore support for instruction breakpoints - on non-LSI targets. +2002-02-06 Nick Clifton + + * rdi-share/host.h: Only provide a typedef for bool if it is not + defined. + +2002-02-04 Michael Snyder + + * breakpoint.h (enum bptype): Add new overlay event bp type. + (enable_overlay_breakpoints, disable_overlay_breakpoints): Export. + + * breakpoint.c (create_internal_breakpoint): New function. + (internal_breakpoint_number): Moved into create_internal_breakpoint. + (create_longjmp_breakpoint): Use create_internal_breakpoint. + (create_thread_event_breakpoint): Ditto. + (create_solib_event_breakpoint): Ditto. + (create_overlay_event_breakpoint): New function. + (enable_overlay_breakpoints, disable_overlay_breakpoints): New funcs. + (update_breakpoints_after_exec): Delete and re-initialize + overlay event breakpoints after an exec. Add FIXME comment + about longjmp breakpoint. + (print_it_typical): Ignore overlay event breakpoints. + (print_one_breakpoint): Ditto. + (mention): Ditto. + (bpstat_what): Do not stop for overlay event breakpoints. + (delete_breakpoint): Don't delete overlay event breakpoints. + (breakpoint_re_set_one): Delete the overlay event breakpoint. + (breakpoint_re_set): Re-create overlay event breakpoint. + + * symfile.c (overlay_auto_command): Enable overlay breakpoints. + (overlay_manual_command): Disable overlay breakpoints. + (overlay_off_command): Disable overlay breakpoints. + +2002-02-06 Richard Earnshaw + + * arm-tdep.c: Include elf-bfd.h and coff/internal.h. + (MSYMBOL_SET_SPECIAL, MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Move defines + to here from config/tm-arm.h. + (coff_sym_is_thumb): Make static. + (arm_elf_make_msymbol_special): New function. + (arm_coff_make_msymbol_special): New function. + * config/arm/tm-arm.h (MSYMBOL_SET_SPECIAL): Delete definition. + (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Likewise. + (coff_sym_is_thumb): Delete declaration. + (arm_elf_make_msymbol_special): Declare. + (arm_coff_make_msymbol_special): Declare. + (ELF_MAKE_MSYMBOL_SPECIAL): Call arm_elf_make_msymbol_special. + (COFF_MAKE_MSYMBOL_SPECIAL): Call arm_coff_make_msymbol_special. + +2002-02-06 Richard Earnshaw + + * arm-tdep.c (arm_software_single_step): ANSIfy function declaration. + +2002-02-06 Richard Earnshaw + + * gdbarch.sh (PRINT_FLOAT_INFO): Add rule. + * gdbarch.c gdbarch.h: Regenerate. + * arch-utils.c (default_print_float_info): New function. + * arch-utils.h (default_print_float_info): Prototype it. + * infcmd.c (float_info): Call PRINT_FLOAT_INFO. + * doc/gdbint.texinfo (FLOAT_INFO): Mark as deprecated. + (PRINT_FLOAT_INFO): Document it. + + * arm-tdep.c (arm_print_float_info): Renamed from arm_float_info. + * config/arm/tm-arm.h (FLOAT_INFO): Delete. + (PRINT_FLOAT_INFO): Define. + +2002-02-06 Pierre Muller -Thu Jan 21 17:16:19 1999 Andrew Cagney + * win32-nat.c (_initialize_check_for_gdb_ini): + Add typecast to sprintf argument to suppress a warning. - * stack.c: Close open comment. - * symtab.c (find_pc_sect_line): Ditto. +2002-02-05 Pierre Muller + + * win32-nat.c (last_sig): Changed type of variable to target_signal, + to allow easier handling of pass state. + (DEBUG_EXCEPTION_SIMPLE): New macro, used in handle_exception, + that gives exception name and address. + (handle_exception): Use DEBUG_EXCEPTION_SIMPLE macro + and set last_sig value to ourstatus->value.sig. Some missing + exceptions added. + (child_continue): Correctly report continue_status. + (get_child_debug_event,do_initial_child_stuff): Set last_sig to + TARGET_SIGNAL_0 (new default value). + (child_resume): consider sig argument passed to decide if + the exception should be passed to debuggee or not. + +2002-02-05 Michael Snyder + + * regcache.c (fetch_register): Call target_fetch_register + only if we don't call FETCH_PSEUDO_REGISTER. + (store_register): Call target_store_register only if we + don't call STORE_PSEUDO_REGISTER. + +2002-02-05 Elena Zannoni + + * gdbarch.sh: Add definitions for COFF_MAKEMSYMBOL_SPECIAL and + ELF_MAKE_MSYMBOL_SPECIAL. + * gdbarch.c, gdbarch.h: Regenerate. + * arch-utils.c (default_make_msymbol_special): New function. + * arch-utils.h (default_make_msymbol_special): Export. + * elfread.c (elf_symtab_read): Compile use of + ELF_MAKE_MSYMBOL_SPECIAL unconditionally because it is now + multiarched. + * coffread.c (coff_symtab_read): Ditto, for + COFF_MAKE_MSYMBOL_SPECIAL. + +2002-02-05 Jim Blandy + + * solib-svr4.c (svr4_truncate_ptr): New function. + (svr4_relocate_section_addresses): Do the address arithmetic with + the appropriate truncation for target addresses, even when + CORE_ADDR is larger than a target address. + +2002-02-05 Daniel Jacobowitz + + * gdbserver/linux-low.c (mywait): Cast second argument of waitpid + to (int *). + +2002-02-05 Daniel Jacobowitz + + * gdbserver/linux-low.c (kill_inferior): Remove commented out + code. -Thu Jan 21 17:51:51 1999 Stan Shebs +2002-02-05 Daniel Jacobowitz - * procfs.c (init_procfs_ops): New function, fills in procfs_ops, - 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. + * c-valprint.c (c_val_print): Handle TYPE_CODE_COMPLEX. - From J.T. Conklin : - * 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. +2002-02-05 Daniel Jacobowitz -Thu Jan 21 17:25:46 1999 Mark Alexander + * gdbserver/linux-low.c: Remove unused include files. - * mon960-rom.c (_initialize_mon960): Call init_mon960_cmds - to fill in mon960_cmds structure properly. +2002-02-05 Daniel Jacobowitz -Wed Jan 20 17:53:22 1999 Stan Shebs + * gdbserver/linux-low.c: Define PTRACE_ARG3_TYPE. + (read_inferior_memory): Use it. + (write_inferior_memory): Likewise. - * remote-sds.c (sds_ops): Define only once. - (init_sds_ops, sds_command, _initialize_remote_sds): Declare. - (init_sds_ops): Init only non-zero fields. +2002-02-05 Daniel Jacobowitz -Wed Jan 20 15:45:15 1999 Mark Alexander + * gdbserver/linux-low.c (create_inferior): Call strerror instead of + grubbing through sys_errlist. - * 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. +2002-02-05 Daniel Jacobowitz -1999-01-19 Fernando Nasser + * gdbserver/linux-low.c: New file, copied exactly from low-linux.c. - * sol-thread.c abug-rom.c cpu32bug-rom.c dbug-rom.c m32r-rom.c - mac-nat.c mon960-rom.c op50-rom.c ppc-bdm.c remote-adapt.c - remote-array.c remote-bug.c remote-e7000.c remote-eb.c remote-es.c - remote-est.c remote-hms.c remote-mm.c remote-nindy.c remote-nrom.c - remote-os9k.c remote-rdp.c remote-sds.c remote-sim.c remote-st.c - remote-udi.c rom68k-rom.c sh3-rom.c sparcl-tdep.c sparclet-rom.c - v850ice.c win32-nat.c: cosmetic changes to conform to coding - standards. +2002-02-04 Pierre Muller + * win32-nat.c (handle_exception): Handle Ctrl-Break exception. -1999-01-19 Jim Blandy +2002-02-04 Andrew Cagney - Use aclocal to generate GDB's aclocal.m4 script. - * acinclude.m4: New file, containing the hand-written local macro - definitions that used to be in aclocal.m4. Don't sinclude - ../bfd/aclocal.m4 any more; running aclocal in this directory will - get us the definitions we need. HOWEVER: Do sinclude - ../bfd/acinclude.m4, because we need the definition of - BFD_NEED_DECLARATION. - * aclocal.m4: Regenerated by aclocal. - * configure: Regenerated by autoconf. + * cli/cli-decode.c (do_cfunc, set_cmd_cfunc): New functions. + (do_sfunc, set_cmd_sfunc): New functions. -Tue Jan 19 10:27:23 1999 David Taylor + * command.h (struct cmd_list_element): Add field func. + * cli/cli-decode.h (struct cmd_list_element): Ditto. + * command.h (set_cmd_sfunc, set_cmd_cfunc): Declare. + * cli/cli-decode.h: Ditto. - * breakpoint.c (disable_breakpoints_in_shlibs): new parameter, - silent, controls whether to print message about removal of shared - library breakpoints. - * breakpoint.h (disable_breakpoints_in_shlibs): decl updated. - * irix5-nat.c (clear_solib): call disable_breakpoints_in_shlibs. - * osfsolib.c (clear_solib): ditto. - * solib.c (clear_solib): ditto. - * somsolib.c (som_solib_restart): update call to - disable_breakpoints_in_shlibs. + * cli/cli-decode.c (help_cmd): Test for func not cfunc/sfunc. + (help_all, help_cmd_list): Ditto. + (find_cmd, complete_on_cmdlist): Ditto. + * top.c (execute_command): Ditto. - * target.h (child_post_attach): only declare if CHILD_POST_ATTACH - is define. + * cli/cli-setshow.c (do_setshow_command): Call func instead of + function.sfunc. -Tue Jan 19 18:07:11 1999 Andrew Cagney + * infcmd.c (notice_args_read): Fix function signature. - * corelow.c (solib_add_stub): Ditto. - (core_file_to_sym_file): Cast make_cleanup parameter. + * cli/cli-cmds.c (init_cli_cmds): Use set_cmd_sfunc. + * cli/cli-decode.c (add_set_cmd): Ditto. + * utils.c (initialize_utils): Ditto. + * maint.c (_initialize_maint_cmds): Ditto. + * infrun.c (_initialize_infrun): Ditto. + * demangle.c (_initialize_demangler): Ditto. + * remote.c (add_packet_config_cmd): Ditto. + * mips-tdep.c (_initialize_mips_tdep): Ditto. + * cris-tdep.c (_initialize_cris_tdep): Ditto. + * proc-api.c (_initialize_proc_api): Ditto. + * kod.c (_initialize_kod): Ditto. + * valprint.c (_initialize_valprint): Ditto. + * top.c (init_main): Ditto. + * infcmd.c (_initialize_infcmd): Ditto. + * corefile.c (_initialize_core): Ditto. + * arm-tdep.c (_initialize_arm_tdep): Ditto. + * arch-utils.c (initialize_current_architecture): Ditto. + (_initialize_gdbarch_utils): Ditto. + * alpha-tdep.c (_initialize_alpha_tdep): Ditto. - * solib.c (symbol_add_stub, solib_map_sections): Change argument - to PTR insted of a char*. Matches catch_errors interface. + * cli/cli-decode.c (add_cmd): Use set_cmd_cfunc. + * wince.c (_initialize_inftarg): Ditto. + * symfile.c (_initialize_symfile): Ditto. + * mips-tdep.c (_initialize_mips_tdep): Ditto. + * language.c (_initialize_language): Ditto. + * arc-tdep.c (_initialize_arc_tdep): Ditto. -Mon Jan 18 14:01:24 1999 Andrew Cagney +2002-02-04 Michael Snyder - * remote-array.c (array_open): Don't use fprintf_filtered to send - data to the log file. + * memattr.c (_initialize_mem): Elaborate the help for 'mem' command. - * remote-array.c (handle_load_dll): Change argument type to PTR so - that it is compatible with catch_errors. - * ocd.c (ocd_start_remote): Ditto. - * remote-sds.c (sds_start_remote): Ditto. +2002-02-04 Daniel Jacobowitz - * win32-nat.c (win32_child_thread_alive): Namespace proof - child_thread_alive. - (init_child_ops): Update. + * gdbserver/Makefile.in: Add regformats directory to INCLUDE_CFLAGS. + Add rules for building the register data files. -Mon Jan 18 12:03:47 1999 Andrew Cagney +2002-02-04 Daniel Jacobowitz - * remote-rdi.c (arm_rdi_open): Set gdb_hostif.hostosarg and - gdb_hostif.dbgarg to NULL instead of stdout. - (voiddummy, myprint, mywritec): Use gdb_stdout instead of stdout. + * regformats/regdat.sh: Add braces to the definition of + expedite_regs_${arch}. -Mon Jan 18 16:40:50 1999 Stan Shebs +2002-02-04 Daniel Jacobowitz - * ser-ocd.c (ocd_open): Handle Unix case gracefully. + * regformats/regdef.h (struct reg): Add comment describing the + requirements for offset and size fields. - * target.c (dummy_target): Don't initialize statically. - (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. +2002-02-04 Andreas Schwab -1999-01-18 Fernando Nasser + * config/ia64/linux.mh: Don't set NAT_CLIBS and REGEX. + * config/ia64/linux.mt: Don't set GDBSERVER_LIBS. - * sol-thread.c: delete compile time initialization of target_ops - (_initialize_sol_thread): initialize target_ops at run time. - * hpux-thread.c: added target_ops entry. - * m3-nat.c: ditto. +2002-02-04 Richard Earnshaw -Mon Jan 18 15:19:13 1999 David Taylor + * gdbarch.sh (copyright): Update years in generated header. + (SMASH_TEXT_ADDRESS): Add rule. + * gdbarch.h, gdbarch.c: Re-generate. + * coffread.c: Multi-arch uses of SMASH_TEXT_ADDRESS. + * dbxread.c: Likewise. + * dwarfread.c: Likewise. + * elfread.c: Likewise. + * somread.c: Likewise. - * procfs.c (procfs_ops): delete compile time initialization. - (_initialize_procfs): initialize procfs_ops at run time. - -Mon Jan 18 12:51:44 1999 Christopher Faylor + * arm-tdep.c (arm_smash_text_address): New function. + * config/arm/tm-arm.h (SMASH_TEXT_ADDRESS): Define in terms of above. - * configure.in: Ensure that -luser32 is always linked in - for cygwin build. - * configure: Regenerated. +2002-02-04 Pierre Muller -Mon Jan 18 08:38:05 1999 Mark Alexander + Add support for hardware watchpoints on win32 native. + * win32-nat.c (CONTEXT_DEBUG_DR macro): Add use of + CONTEXT_DEBUG_REGISTERS. + (dr variable): New variable. Static array containing a local copy + of debug registers. + (debug_registers_changed): New variable. Reflects when debug registers + are changed and need to be written to inferior. + (debug_registers_used): New variable. Reflects when any debug register + was set, used when new threads are created. + (cygwin_set_dr, cygwin_set_dr7, cygwin_get_dr6): New functions used by + i386-nat code. + (thread_rec): Set dr array if id is the thread of current_event . + (child_continue, child_resume): Change the debug registers for all + threads if debug_registers_changed. + (child_add_thread): Change the debug registers if debug_registers_used. + * config/i386/cygwin.mh: Add use of i386-nat.o file. + Link nm.h to new nm-cygwin.h file. + + config/i386/nm-cygwin.h: New file. Contains the macros used for use + of hardware registers. - * values.c (value_virtual_fn_field): Clear the pointed-to - offset when casting to the base class. +2002-02-03 Andrew Cagney -Mon Jan 18 10:30:51 1999 David Taylor + * valprint.c (print_floating): Allow non TYPE_CODE_FLT types. + Restore behavour broken by 2002-01-20 Andrew Cagney + IEEE_FLOAT removal. - * remote-udi.c (init_udi_ops): change non-existant udi_run_ops to - udi_ops; delete NULL initializers. +2002-02-03 Daniel Jacobowitz -Mon Jan 18 12:03:47 1999 Andrew Cagney + * c-valprint.c (c_val_print): Pass a proper valaddr to + cp_print_class_method. + * valops.c (search_struct_method): If there is only one method + and args is NULL, return that method. - * serial.c (serial_close): gdb_fclose tages gdb_file** arg, not - gdb_file*. +2002-02-03 Daniel Jacobowitz + + * gdbtypes.c (init_simd_type): Use TYPE_TAG_NAME instead of + accessing tag_name directly. - * f-valprint.c, target.c, gdbarch.c: Pass gdb_stderr not stderr. +2002-02-03 Daniel Jacobowitz -Mon Jan 18 10:46:12 1999 Andrew Cagney + * ax-gdb.c (find_field): Use TYPE_TAG_NAME instead + of accessing tag_name directly. - * stack.c (print_frame_info_base): Don't cast call to - catch_errors. - (print_args_stub): Change char* arg to PTR. - * symmisc.c (print_symbol): Ditto. - * top.c (quit_cover): Ditto. - * remote.c (remote_open_1, remote_start_remote): Ditto. - * infrun.c (normal_stop, hook_stop_stub, restore_selected_frame): - Ditto. +2002-02-03 Daniel Jacobowitz - * stack.c (backtrace_command): Cast first arg of make_cleanup to - make_cleanup_func. - * remote.c (remote_kill): Cast putpkt arg to catch_errors_ftype. + PR gdb/280 + * gdbtypes.c (replace_type): New function. + * gdbtypes.h (replace_type): Add prototype. + * stabsread.c (read_type): Use replace_type. -Mon Jan 18 08:47:02 1999 Andrew Cagney - - * defs.h (catch_errors_ftype): Define. - (catch_errors): Replace char* arg with PTR arg. - * top.c (catch_errors): Update - - * breakpoint.c (bpstat_stop_status, bpstat_stop_status, - delete_breakpoint, breakpoint_re_set): Delete all casts in call to - catch_errors. - (breakpoint_cond_eval, watchpoint_check, - cover_target_enable_exception_callback, breakpoint_re_set_one): - Arg is PTR not char*. - - * breakpoint.c (cover_target_enable_exception_callback): Change - type to int. Check for cast values of 0 and -1. Return a result! - (insert_breakpoints): Move declaration of SAL and ARGS to where - they are used. +2002-02-03 Richard Earnshaw -1999-01-16 Fernando Nasser + * Makefile.in (memattr.o): Add missing dependencies rule. - * remote.c (remote_query): new function - creates proper interface - to the remote protocol "q" command. +2002-02-03 Peter Schauer -Fri Jan 15 17:11:48 EST 1999 Zdenek Radouch (radouch@cygnus.com) + * breakpoint.c (break_at_finish_command): Really export. + (break_at_finish_at_depth_command): Ditto. + (tbreak_at_finish_command): Ditto. + * hppa-tdep.c: Include completer.h. + * Makefile.in (hppa-tdep.o): Add dependency on $(completer_h). + (COMMON_OBS): Remove duplicate ui-file.o, frame.o, doublest.o. - * config/fr30/tm-fr30.h: Changed ABI to match GCC change - (always use pointer for structs passed by value). +2002-02-01 Andrew Cagney -1999-01-15 Fernando Nasser + * utils.c (do_write): New function. + (error_stream): Rewrite combining the code from error_begin and + verror. + (verror): Rewrite using error_stream. + (error_begin): Delete function. - * target.h: added entry for target queries (to_query) - target.c: ditto. +2002-02-01 Andrew Cagney -Thu Jan 14 18:29:17 1999 David Taylor + * utils.c (error_begin): Make static. + * defs.h (error_begin): Delete declaration. - * remote-mm.c (mm_wait): fix stream arg to gdb_flush. - * remote-udi.c (udi_wait): fix stream arg to fwrite. - * symmisc.c (maintenance_check_symtabs): fix stream argument to - print_address_numeric. - -Wed Jan 13 19:33:16 1999 David Taylor - - * breakpoint.c (insert_breakpoints): insert cast to eliminate - warning. - -Wed Jan 13 14:59:02 1999 Michael Snyder - - * 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. - * thread.c: cull duplicate prototypes. Move prototypes to top. - * serial.c: indentation cleanup. - * breakpoint.c: add casts to eliminate compiler warnings. - -Tue Jan 12 17:00:00 1999 Edith Epstein + * linespec.c (cplusplus_error): Replace cplusplus_hint. + (decode_line_1): Use cplusplus_error instead of error_begin, + cplusplus_hint and return_to_top_level. + * coffread.c (coff_symfile_read): Use error instead of error_begin + and return_to_top_level. + * infrun.c (default_skip_permanent_breakpoint): Ditto. - * inftarg.c (child_create_inferior): fixed HPUXHPPA specific - call to fork_inferior. The shell param is now NULL. +2002-02-01 Andrew Cagney -1999-01-12 Jason Molenda (jsm@bugshack.cygnus.com) + * language.h (type_error, range_error): Make string parameter + constant. + * language.c (warning_pre_print): Delete extern declaration. + * dwarfread.c (warning_pre_print): Ditto. + * language.c (type_error, range_error): Rewrite to use verror and + vwarning instead of warning_begin. - * monitor.c (init_base_monitor_ops): Whitespace cleanup. - (_initialize_remote_monitors): Same. +2002-02-01 Michael Snyder -1999-01-12 Jason Molenda (jsm@bugshack.cygnus.com) + * breakpoint.c (breakpoint_re_set): Delete ancient #if 0 code. + (set_ignore_count): Move misplaced comment back where it belongs. - * monitor.c (init_monitor_ops): Initialize the monitor_ops - structure if it hasn't already been done. +2002-02-01 Andrew Cagney -Tue Jan 12 14:50:10 1999 Stan Shebs + * command.h (NO_FUNCTION): Delete macro. + * cli/cli-decode.h (NO_FUNCTION): Ditto. + * top.c (execute_command): Replace NO_FUNCTION with NULL. + * tracepoint.c (_initialize_tracepoint): Ditto. + * cli/cli-decode.c (add_set_cmd): Ditto. + * cli/cli-cmds.c (init_cli_cmds): Ditto. - * inftarg.c (child_ops): Don't initialize statically. - (init_child_ops): New function, fills in child_ops. - (_initialize_inftarg): Use it. - (child_post_attach): Declare extern. - (child_wait): Fix ambiguous parens. - (child_attach_to_process): Remove unused local wstatus. - (child_insert_fork_catchpoint, child_remove_fork_catchpoint, - child_insert_vfork_catchpoint, child_remove_vfork_catchpoint, - child_has_forked, child_insert_exec_catchpoint, - child_remove_exec_catchpoint): Return a value. +2002-02-01 Daniel Jacobowitz -Mon Jan 11 16:43:44 1999 Michael Snyder + * gnu-v3-abi.c (gnuv3_virtual_fn_field): Update comments. + Update ``this'' pointer when calling virtual functions. - * remote.c (remote_wait): Add inferior_pid to thread list only - if it is not already there. +2002-02-01 Michael Snyder -1999-01-11 Jason Molenda (jsm@bugshack.cygnus.com) + * breakpoint.c (create_temp_exception_breakpoint): Delete. + * hppa-tdep.c: Deprecate xbreak, txbreak and bx commands. - * scm-tags.h: Update FSF's address on copyright notice. - * ser-e7kpc.c: Same. - * gnu-nat.h: Same. +2002-02-01 Daniel Jacobowitz -Mon Jan 11 13:45:57 1999 Stu Grossman + * regformats/reg-arm.dat: New file. + * regformats/reg-i386.dat: New file. + * regformats/reg-ia64.dat: New file. + * regformats/reg-m68k.dat: New file. + * regformats/reg-mips.dat: New file. + * regformats/reg-ppc.dat: New file. + * regformats/reg-sh.dat: New file. + * regformats/regdef.h: New file. + * regformats/regdat.sh: New file. - * dwarf2read.c (dump_die): Change stderr to gdb_stderr. - * expprint.c (print_subexp): fprintf => fprintf_unfiltered. - * jv-typeprint.c (java_type_print_base): fputs => fputs_filtered. - * stack.c (struct function_bounds): Remove superfluous `typedef'. - * symfile.c (list_overlays_command): stdout => gdb_stdout. - * symmisc.c (maintenance_check_symtabs): stdout => gdb_stdout. - * utils.c (print_spaces): Make more efficient. - -Mon Jan 11 13:55:51 1999 David Taylor +2002-02-01 Richard Earnshaw - * utils (print_spaces): fix arg to strcat; fix formatting. + * arm-tdep.c (arm_frameless_function_invocation): Add some comments. + (arm_frame_args_address, arm_frame_locals_address): New functions. + (arm_frame_num_args): New function. + * config/tm-arm.h (FRAME_ARGS_ADDRESS): Call arm_frame_args_address. + (FRAME_LOCALS_ADDRESS): Call arm_frame_locals_address. + (FRMA_NUM_ARGS): Call arm_frame_num_args. -Fri Jan 8 11:57:24 1999 Stan Shebs +2002-01-31 Michael Snyder - * exec.c (exec_ops): Don't initialize statically. - (init_exec_ops): New function, fills in exec_ops. - (_initialize_exec): Use it. + * breakpoint.c (break_at_finish_command): Export. + (break_at_finish_at_depth_command): Export. + (tbreak_at_finish_command): Export. + (_initialize_breakpoint): Delete "xbreak" and "tbreak" commands. + * hppa-tdep.c (_initialize_hppa_tdep): Add "xbreak" and + "tbreak" commands, which are HPPA specific. -Thu Jan 7 17:50:15 EST 1999 Zdenek Radouch (radouch@cygnus.com) + * printcmd.c (disassemble_command): Remove an ancient + artifact of an old merge. - Beta FR30 port. - * fr30-tdep.c - * config/fr30/tm-fr30.h - -Wed Jan 6 12:28:35 1999 David Taylor + * symfile.h (enum overlay_debugging_state): + Define enum constant values for overlay mode. + * symfile.c (overlay_debugging): Use enums instead of literals. + (overlay_is_mapped, overlay_auto_command, + overlay_manual_command): Ditto. - * configure.in: Add an --enable-tui argument. Construct - tui/Makefile from tui/Makefile.in. Use AM_PROG_CC_STDC. If we - have the GUI, then we need this to process libgui.h. - (ENABLE_CFLAGS): define and export BUILD_TUI. - (AC_CHECK_HEADERS): Add check for term.h. - - * configure.host (hppa-*-hpux10.20, hppa-*-hpux11.0*): New configs. - - * config.in, configure : regenerated. - - * Makefile.in: Allow the TUI code to be conditionally enabled. - (TUI_LIBRARY): New variable, value are set by the configuration - script. Set to the empty string when the TUI isn't enabled. - (gdb$(GDBEXT)): Use those, instead of referring to all-tui and - tui/libtui.a directly. - (BUILD_TUI): build the tui -- only when configured with - --enable-tui. - (YLWRAP): use ylwrap to avoid problems on systems w/o bison. - (gdb$(EXEEXT)): make it dependent on BUILD_TUI. - (all-tui): remove dependency from phony target. - (c-exp.tab.c): use ylwrap instead of bison. - (jv-exp.tab.c): ditto. - (f-exp.tab.c): ditto. - (m2-exp.tab.c): ditto. - (ALLDEPFILES): add somread.c, hp-psymtab-read.c, hp-symtab-read.c. - (SFILES): remove the above files - (COMMON_OBS): remove somread.o - (SFILES): Add the tui files to this, so they get included in etags - tables. - (gdb$(EXEEXT)): Add all-tui to the list of dependencies, and add - tui/libtui.a to the link list. - (all-tui): New rule, which does a recursive make in the tui - subdir. - (tui/libtui.a): When recursing, pass down ${FLAGS_TO_PASS}. And - don't echo the make command. This is closer to what the other - recursions do. - (HFILES_NO_SRCDIR): add hpread.h - (COMMON_OBS): add hp-psymtab-read.o, hp-symtab-read.o - (SFILES): add hp-psymtab-read.c, hp-symtab-read.c add rules for - the new files. Remove hpread.c, hpread.o - (gdb$(EXEEXT)): Depend on the actual tui library, not on a - fictitious target. Since the fictitious target never existed, - make would always relink. - (tui/libtui.a): Always recurse to make sure the library is up to - date. - -Wed Jan 6 12:05:12 1999 Stan Shebs - - * remote.c: Pacify --enable-build-warnings, reformat code - 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. - -Wed Jan 6 11:43:32 1999 David Taylor - - The following changes were made by Elena Zannoni - and Edith Epstein as - part of a project to merge in changes made by HP. - - * c-exp.y: use external flag hp_som_som_object_present to decide - whether code was compiled by HP's compilers. Add two new C++ - tokens for true and false. - (yylex): check for template name is done differently for the - HP/aCC compiler case. Change some of the template processing code - for handling HP aCC templates. Handle true and false tokens. - -Tue Jan 5 11:13:36 1999 Michael Snyder - - * remote.c (record_curthread): Must not modify inferior_pid when - 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). Also some cosmetic fixups. - - * thread.c (info_threads_command): don't initialize current_pid - until after call to FIND_NEW_THREADS (which may change inferior_pid). - Also some cosmetic fixups. - * infrun.c: cosmetic fixups and casts to avoid warnings. - * infcmd.c: cosmetic fixups, mainly long lines. - -Tue Jan 5 11:55:57 1999 David Taylor + * breakpoint.c (insert_breakpoints, remove_breakpoint, + breakpoint_here_p, breakpoint_inserted_here_p, + breakpoint_thread_match, bpstat_stop_status, + describe_other_breakpoints, check_duplicates, clear_command): + Coding standard fixes. - * target.c (noprocess): terminate sentence with a period. - * breakpoint.c (catch_command_1): ditto. + * target.c (target_xfer_memory): Add spaces, coding standard. + (do_xfer_memory): Add missing line to trust-readonly + code: check bfd SEC_READONLY flag for section. - * c-valprint.c (c_value_print): remove hack^2 from HP; it causes - testsuite losses with no real gain. +2002-01-31 Andrew Cagney - * inferior.h (START_INFERIOR_TRAPS_EXPECTED): restore, but only - if tm-*.h hasn't overridden default value. + * PROBLEMS: Fix typo, 5.1->5.1.1. -1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com) +2002-01-30 Daniel Jacobowitz - * configure.in: Fix whitespace indentation for --help. - * configure: Regenerated. + * symtab.c (find_pc_sect_psymtab): Do not search psymtabs for + data symbols, since we search based on textlow and texthigh. + (find_pc_sect_symtab): Likewise. + +2002-01-30 Andrew Cagney + + * defs.h (vwarning): Declare. + * utils.c (vwarning): New function. + (warning): Call vwarning. + (warning_begin): Delete function. + + * rs6000-nat.c (vmap_ldinfo): Use the function warning to print + the warning message. + * d10v-tdep.c (d10v_address_to_pointer) [0]: Delete call to + warning_begin. + +2002-01-30 Michael Snyder + + * NEWS: Mention "set trust-readonly-sections" command. + Mention generate-core-file command. + +2002-01-15 Michael Snyder + + * target.c: New command, "set trust-readonly-sections on". + (do_xfer_memory): Honor the suggestion to trust readonly sections + by reading them from the object file instead of from the target. + (initialize_targets): Register command "set trust-readonly-sections". + +2002-01-29 Andrew Cagney + + * parse.c (target_map_name_to_register): Simplify, search regs and + pseudo-regs using a single loop. + +2002-01-30 Andrew Cagney + + * PROBLEMS: Note that the i386 fix was missing from 5.1.1. + +2002-01-15 Rodney Brown + + * config/i386/tm-i386v4.h: Define HAVE_I387_REGS. + * config/i386/i386v42mp.mh: Add i387-nat.o . + * i386v4-nat.c: Include i387-nat.h. + (supply_fpregset): Use i387_supply_fsave. + (fill_fpregset): Use i387_fill_fsave. + +2002-01-30 Richard Earnshaw + + * arm-tdep.c (arm_call_dummy_words): Define. + * arm-linux-tdep.c (arm_linux_call_dummy_words): Define. + * config/arm/tm-arm.h (CALL_DUMMY_P): Define. + (CALL_DUMMY_WORDS): Define. + (arm_call_dummy_words): Declare. + * config/arm/tm-linux.h (CALL_DUMMY_WORDS): Define. + (arm_linux_call_dummy_words): Declare. + +2002-01-30 Andreas Schwab + + * m68klinux-nat.c: Fix last change to use regcache_collect + instead of referencing registers[] directly. + +2002-01-29 Andrew Cagney -1999-01-04 Manuel Bouyer + * parse.c (target_map_name_to_register): Delete code wrapped in + #ifdef REGISTER_NAME_ALIAS_HOOK. - * main.c: Add --write command line option, document -w. - * gdb.1: Document --write. +2002-01-28 Michael Snyder + + * regcache.c (legacy_read_register_gen): Need to be able to + read pseudo-register as well as real register. + (legacy_write_register_gen): Ditto. + +2002-01-28 Andrew Cagney + + * config/mips/tm-wince.h (TARGET_BYTE_ORDER): Delete. + * config/sparc/tm-sparc.h (TARGET_BYTE_ORDER): Delete. + * config/ns32k/tm-umax.h (TARGET_BYTE_ORDER): Delete. + * config/ia64/tm-ia64.h (TARGET_BYTE_ORDER): Delete. + * config/m32r/tm-m32r.h (TARGET_BYTE_ORDER): Delete. + * config/m68k/tm-m68k.h (TARGET_BYTE_ORDER): Delete. + * config/m88k/tm-m88k.h (TARGET_BYTE_ORDER): Delete. + * config/mn10200/tm-mn10200.h (TARGET_BYTE_ORDER): Delete. + * config/pa/tm-hppa.h (TARGET_BYTE_ORDER): Delete. + * config/sh/tm-wince.h (TARGET_BYTE_ORDER): Delete. + * config/v850/tm-v850.h (TARGET_BYTE_ORDER): Delete. + * config/vax/tm-vax.h (TARGET_BYTE_ORDER): Delete. + * config/z8k/tm-z8k.h (TARGET_BYTE_ORDER): Delete. + * config/i960/tm-i960.h (TARGET_BYTE_ORDER): Delete. + * config/i386/tm-i386.h (TARGET_BYTE_ORDER): Delete. + * config/h8500/tm-h8500.h (TARGET_BYTE_ORDER): Delete. + * config/h8300/tm-h8300.h (TARGET_BYTE_ORDER): Delete. + * config/fr30/tm-fr30.h (TARGET_BYTE_ORDER): Delete. + * config/d30v/tm-d30v.h (TARGET_BYTE_ORDER): Delete. + * config/alpha/tm-alpha.h (TARGET_BYTE_ORDER): Delete. + +2002-01-28 Andrew Cagney + + * arch-utils.c (TARGET_BYTE_ORDER_DEFAULT): Delete macro. + (target_byte_order): Initialize to BFD_ENDIAN_BIG. + (initialize_current_architecture): Update target_byte_order using + information from BFD. + * config/mcore/tm-mcore.h (TARGET_BYTE_ORDER_DEFAULT): + * config/arm/tm-arm.h (TARGET_BYTE_ORDER_DEFAULT): Delete. + +2002-01-28 Andrew Cagney + + * config/vax/tm-vax.h (INVALID_FLOAT): Move macro from here... + * vax-tdep.c (INVALID_FLOAT): To here. Document why it is broken. + + * rs6000-tdep.c (rs6000_do_registers_info): Delete code wrapped in + #ifdef INVALID_FLOAT. + * infcmd.c (do_registers_info): Ditto. + * values.c (unpack_double): Ditto. Add comment. + + * config/ns32k/tm-umax.h (INVALID_FLOAT): Delete macro that was + already commented out. + +2002-01-26 Andreas Schwab + + * config/m68k/nm-linux.h (FETCH_INFERIOR_REGISTERS): Define. + * m68klinux-nat.c: Update ptrace interface for fetching/storing + registers and add support for PTRACE_GETREGS. + +2002-01-24 Andrew Cagney + + GDB 5.1.1 released from 5.1 branch. + * NEWS: Add 5.1.1 news. + * README: Sync with 5.1 branch. + +2002-01-23 Fred Fish + + * mdebugread.c (parse_partial_symbols): Only copy stabstring1 to + stabstring on initial malloc. Reallocing will copy it for us, + if necessary. + +2002-01-23 Elena Zannoni + + * Makefile.in (hpread_h): Delete. + (HFILES_NO_SRCDIR): Remove hpread.h. + (ALLDEPFILES): Remove hp-psymtab-read.c and hp-symtab-read.c. + (hpread.o): Update dependencies. + (hp-psymtab-read.o, hp-symtab-read.o): Remove. + + * hp-psymtab-read.c: Remove file. + * hp-symtab-read.c: Remove file. + * hpread.h: Remove file. + + * hpread.c: Merge all contents of hp-psymtab-read.c, + hp-symtab-read.c and hpread.h into this file, as it was prior to + January 1999. + + * config/pa/hpux11w.mh, config/pa/hpux11.mh, + config/pa/hpux1020.mh, config/pa/hppaosf.mh, + config/pa/hppahpux.mh, config/pa/hppabsd.mh (NATDEPFILES): + Remove hp-psymtab-read.o and hp-symtab-read.o, add hpread.o. + +2002-01-23 Elena Zannoni + + * ppc-linux-nat.c (ppc_register_u_addr, supply_gregset, + fill_gregset): Call gdbarch_tdep() just once, assign result to + variable and use that, instead of calling the function several + times. + +2002-01-24 Alexandre Oliva + + * configure.host: Accept sparcv9 as alias for sparc64. + * configure.tgt: Likewise. + +2002-01-22 Kevin Buettner + + * solib-aix5.c (build_so_list_from_mapfile) + (aix5_relocate_main_executable): Fix xcalloc() calls so order of + arguments is not reversed. + * solib-sunos.c (sunos_relocate_main_executable): Likewise. + * solib-svr4.c (svr4_relocate_main_executable): Likewise. + +2002-01-22 Elena Zannoni + + * sh-tdep.c (sh_pseudo_register_read): New function. Renamed and + modified version of obsolete sh_fetch_pseudo_register. + (sh_fetch_pseudo_register): Rename to sh_pseudo_register_read. + (sh4_register_read): New function. + (sh_pseudo_register_write): New function. Renamed and modified + version of obsolete sh_store_pseudo_register. + (sh_store_pseudo_register): Rename to sh_pseudo_register_write. + (sh4_register_write): New function. + (sh_gdbarch_init): Remove setting of gdbarch function + fetch_pseudo_register and store_pseudo_register. Remove setting of + register_convert_to_raw, register_convert_to_virtual, + register_convertible. + (sh_sh4_register_convertible): Delete. No longer needed. All is + taken care by architecture specific functions + register_read/register_write. + (sh_sh4_register_convert_to_virtual): Make static. + (sh_sh4_register_convert_to_raw): Ditto. + +2002-01-22 Andrew Cagney + + * doublest.c (floatformat_is_negative): Assert FMT is non NULL. + (floatformat_is_nan, floatformat_mantissa): Ditto. + + * gdbtypes.c (_initialize_gdbtypes): Initialize TYPE_FLOATFORMAT + for builtin_type_ieee_single_little, builtin_type_ieee_double_big, + builtin_type_ieee_double_little, + builtin_type_ieee_double_littlebyte_bigword, + builtin_type_m68881_ext, builtin_type_i960_ext, + builtin_type_m88110_ext, builtin_type_m88110_harris_ext, + builtin_type_arm_ext_big, builtin_type_arm_ext_littlebyte_bigword, + builtin_type_ia64_spill_big, builtin_type_ia64_spill_little and + builtin_type_ia64_quad_big, builtin_type_ia64_quad_little. + +2002-01-22 Corinna Vinschen + + * xstormy16-tdep.c (xstormy16_scan_prologue): Add frameless + parameter. Set frameless flag if it exists and depended of + whether the scanned function is frameless or not. + (xstormy16_skip_prologue): If function is frameless, return + result of xstormy16_scan_prologue(). + (xstormy16_frame_init_saved_regs): Adjust xstormy16_scan_prologue() + call. + +2002-01-21 Elena Zannoni + + * sh-tdep.c (sh_fp_frame_init_saved_regs, sh_push_arguments, + sh_generic_show_regs, sh3_show_regs, sh3e_show_regs, + sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs, + sh_sh4_register_byte, sh_sh4_register_raw_size, + sh_sh3e_register_virtual_type, sh_sh4_register_virtual_type, + sh_sh4_register_convertible, sh_sh4_register_convert_to_virtual, + sh_sh4_register_convert_to_raw, sh_fetch_pseudo_register, + sh_store_pseudo_register, sh_do_pseudo_register): Call + gdbarch_tdep() just once, assign result to variable and use that, + instead of calling the function several times. + +2002-01-20 Mark Kettenis + + * go32-nat.c (fetch_register): Use FP_REGNUM_P and FPC_REGNUM_P + macros instead of LAST_FPU_CTRL_REGNUM. + (store_register): Likewise. + +2002-01-21 Jim Blandy + + * infcmd.c (run_command): Check that the `exec' target layer's BFD + is up-to-date before running the program, not just when a program + exits. + +2002-01-21 Fred Fish + + * arm-tdep.c (thumb_skip_prologue): Quit scanning prologue + when we have found all instructions we are looking for. + +2002-01-21 Richard Earnshaw + + * arm-tdep.c (arm_register_name): New function. + (arm_registers_names): Make static. + * config/arm/tm-arm.h (arm_register_names): Delete declaration. + (arm_register_name): Declare. + (REGISTER_NAME): Use it. + +2002-01-21 Richard Earnshaw + Kevin Buettner + + Convert arm targets to new FRAME interface. + * arm-tdep.c (struct frame_extra_info): Remove fsr. + (arm_frame_find_save_regs): Delete. + (arm_frame_init_saved_regs): New. + (arm_init_extra_frame_info): Alloacte saved_regs as required. + Allocate extra_info as required. Convert all uses of fsr.regs + to use saved_regs, similarly all uses of EXTRA_FRAME_INFO fields + to use extra_info. + (thumb_scan_prologue, arm_scan_prologue, arm_find_callers_reg) + (arm_frame_chain, arm_frame_saved_pc, arm_pop_frame): Likewise. + (check_prologue_cache, save_prologue_cache): Likewise. + (_initialize_arm_tdep): Ensure prologue_cache is correctly set up. + * config/arm/tm-arm.h (EXTRA_FRAME_INFO): Delete. + (FRAME_FIND_SAVED_REGS): Delete. + (arm_frame_find_saved_regs): Delete prototype. + (arm_frame_init_saved_regs): New prototype. + (FRAME_INIT_SAVED_REGS): Define. + +2002-01-20 Andrew Cagney + + * config/arc/tm-arc.h (IEEE_FLOAT): Delete. + +2002-01-20 Andrew Cagney + + From Jeff Law : + * infttrace.c: Include . + (child_pid_to_exec_file): Revamp. Use pstat call to get the + exec file if the ttrace equivalent fails. + +2002-01-20 Andrew Cagney + + * rdi-share/devsw.c (openLogFile): Delete unused ``struct tm lt''. + (closeLogFile): Ditto. + +2002-01-20 Michael Chastain + + * top.c (print_gdb_version): Bump copyright year to 2002. + +2002-01-20 Andrew Cagney + + * MAINTAINERS (Blanket Write Privs): Add Kevin Buettner, Elena + Zannoni and Eli Zaretskii. + +2002-01-20 Daniel Jacobowitz + + * buildsym.c: Update copyright years. + * c-typeprint.c: Likewise. + * dwarf2read.c: Likewise. + * f-typeprint.c: Likewise. + * gdbtypes.c: Likewise. + * gdbtypes.h: Likewise. + * hp-symtab-read.c: Likewise. + * hpread.c: Likewise. + * mdebugread.c: Likewise. + * p-typeprint.c: Likewise. + +2002-01-20 Andrew Cagney + + * remote-sim.c (gdbsim_open): Simplify code testing the macro + TARGET_BYTE_ORDER_SELECTABLE_P. Assume the target is always + byte-order selectable. + * sparc-tdep.c (sparc_target_architecture_hook): Ditto. + * arch-utils.c: Ditto. + (set_endian): Ditto. + (set_endian_from_file): Ditto. + * gdbserver/low-sim.c (create_inferior): Ditto. + * gdbarch.sh: Ditto. + * gdbarch.h: Re-generate. + * config/powerpc/tm-ppc-eabi.h (TARGET_BYTE_ORDER_SELECTABLE_P): + * config/sparc/tm-sparclite.h (TARGET_BYTE_ORDER_SELECTABLE): + * config/sparc/tm-sparclet.h (TARGET_BYTE_ORDER_SELECTABLE): + * config/mcore/tm-mcore.h (TARGET_BYTE_ORDER_SELECTABLE_P): + * config/arm/tm-wince.h (TARGET_BYTE_ORDER_SELECTABLE_P): + * config/arm/tm-linux.h (TARGET_BYTE_ORDER_SELECTABLE_P): + * config/arc/tm-arc.h (TARGET_BYTE_ORDER_SELECTABLE): + * config/arm/tm-arm.h (TARGET_BYTE_ORDER_SELECTABLE_P): Delete + macro definition. + * config/mips/tm-wince.h: Remove #undef of macro + TARGET_BYTE_ORDER_SELECTABLE. + * config/sh/tm-wince.h: Ditto. + +2002-01-20 Daniel Jacobowitz + + * gdbtypes.h (struct cplus_struct_type): Add is_artificial to + member function fields. Add accessor macro + TYPE_FN_FIELD_ARTIFICIAL. + * dwarf2read.c (dwarf2_add_member_fn): Check for artificial methods. + * c-typeprint.c (c_type_print_base): Skip artificial member + functions. + +2002-01-20 Daniel Jacobowitz + + * f-typeprint.c: Delete unused function f_type_print_args. + * p-typeprint.c: Delete unused function pascal_type_print_args. + +2002-01-20 Daniel Jacobowitz + + * gdbtypes.h (struct type): Fix whitespace. Remove obsolete + comment. Add ``artificial'' to ``union field_location''. + + * dwarf2read.c: Remove ad-hoc TYPE_FIELD_ARTIFICIAL. + + * buildsym.c (finish_block): Initialize TYPE_FIELD_ARTIFICIAL to 0. + * mdebugread.c (parse_symbol): Likewise. + * stabsread.c (define_symbol): Likewise. + * hp-symtab-read.c (hpread_function_type): Likewise, instead of + initializing TYPE_FIELD_BITPOS to n (obsolete). + (hpread_doc_function_type): Likewise. + * hpread.c (hpread_function_type): Likewise. + +2002-01-20 Andrew Cagney + + * configure.in (host_makefile_frag): Only require a host makefile + fragment when a native build. + * configure: Re-generate. + +2002-01-20 Andrew Cagney + + * doublest.h (floatformat_from_type): Declare. + * doublest.c (floatformat_from_type): New function. + (convert_typed_floating): Use. + + * valprint.c (print_floating): Replace checks for IEEE_FLOAT with + call to function floatformat_from_type. + + * gdbarch.sh (IEEE_FLOAT): Delete. + * gdbarch.h, gdbarch.c: Re-generate. + * config/i960/tm-i960.h (IEEE_FLOAT): Delete macro. + * config/i386/tm-i386.h (IEEE_FLOAT): Ditto. + * config/z8k/tm-z8k.h (IEEE_FLOAT): Ditto. + * config/sparc/tm-sparc.h (IEEE_FLOAT): Ditto. + * config/pa/tm-hppa.h (IEEE_FLOAT): Ditto. + * config/m88k/tm-m88k.h (IEEE_FLOAT): Ditto. + * config/m68k/tm-m68k.h (IEEE_FLOAT): Ditto. + * config/h8500/tm-h8500.h (IEEE_FLOAT): Ditto. + * config/h8300/tm-h8300.h (IEEE_FLOAT): Ditto. + * config/fr30/tm-fr30.h (IEEE_FLOAT): Ditto. + * config/arm/tm-arm.h (IEEE_FLOAT): Ditto. + * config/alpha/tm-alpha.h (IEEE_FLOAT): Ditto. + + * s390-tdep.c (s390_gdbarch_init): Do not set ieee_float. + * x86-64-tdep.c (i386_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + +2002-01-20 Jiri Smid + + * configure.host, configure.tgt: Support x86-64. + * NEWS: Note new target x86-64. + + * config/i386/x86-64linux.mh (NATDEPFILES): x86-64-nat.o removed. + * x86-64-linux-nat.c (x86_64_register_u_addr): New function. + * config/i386/nm-x86-64.h (ATTACH_LWP): Removed. + * Makefile.in (x86-64-tdep.o, x86-64-linux-tdep.o, + x86-64-linux-nat.o): Fix dependencies. + +2002-01-19 Andrew Cagney + + * utils.c: Remove #ifndef MALLOC_INCOMPATIBLE. + * config/sparc/xm-sun4os4.h (PTRACE_ARG3_TYPE): Move macro .... + * config/sparc/nm-sun4os4.h (PTRACE_ARG3_TYPE): ... to here. + * config/sparc/xm-sun4os4.h: Delete file. + * config/sparc/sun4os4.mh (XM_FILE): Delete makefile variable. + +2002-01-19 Andrew Cagney + + * config/sparc/sparclynx.mh (XM_FILE): Delete. + * config/rs6000/rs6000lynx.mh (XM_FILE): Delete. + * config/m68k/m68klynx.mh (XM_FILE): Delete. + * config/i386/i386lynx.mh (XM_FILE): Delete. + * config/rs6000/xm-rs6000ly.h: Delete file. + * config/sparc/xm-sparclynx.h: Delete file. + * config/m68k/xm-m68klynx.h: Delete file. + * config/i386/xm-i386lynx.h: Delete file. + * config/xm-lynx.h: Delete file. + * config/djgpp/fnchange.lst: Update. + +2002-01-19 Jason Thorpe + + * alpha-tdep.c (alpha_register_byte): New function. + (alpha_register_raw_size): Ditto. + (alpha_register_virtual_size): Ditto. + (alpha_skip_prologue_internal): Renamed from + alpha_skip_prologue. + (alpha_skip_prologue): New version that calls + alpha_skip_prologue_internal. + (alpha_in_lenient_prologue): Use alpha_skip_prologue_internal. + * config/alpha/tm-alpha.h (SKIP_PROLOGUE): Remove + second argument from alpha_skip_prologue. + (REGISTER_BYTE): Use alpha_register_byte. + (REGISTER_RAW_SIZE): Use alpha_register_raw_size. + (REGISTER_VIRTUAL_SIZE): Use alpha_register_virtual_size. + (FRAMELESS_FUNCTION_INVOCATION): Use + generic_frameless_function_invocation_not. + (FRAME_NUM_ARGS): Use frame_num_args_unknown. + (COERCE_FLOAT_TO_DOUBLE): Use standard_coerce_float_to_double. + +2002-01-19 Andrew Cagney + + * config/mips/xm-news-mips.h: Delete file. + * config/mips/news-mips.mh (XM_FILE): Delete makefile variable. + + * config/m88k/xm-m88k.h: Delete file. + * config/m88k/xm-dgux.h: Do not include xm-m88k.h. + * config/m88k/xm-delta88v4.h: Ditto. + * config/m88k/xm-delta88.h: Ditto. + + * config/alpha/xm-fbsd.h: Delete file. + * config/alpha/fbsd.mh (XM_FILE): Delete makefile variable. + + * config/sparc/xm-sparc.h: Delete file. + * Makefile.in (xm-sun4os4.h): Delete dependency. + * config/sparc/xm-sun4sol2.h: Do not include xm-sparc.h. + * config/sparc/xm-sun4os4.h: Ditto. + * config/sparc/xm-linux.h: Ditto. + + * config/i386/xm-windows.h: Delete file. + +2002-01-19 Andrew Cagney + + * utils.c: Include for MAXPATHLEN. + (gdb_realpath): Use MAXPATHLEN when PATH_MAX is not defined. + +2002-01-19 Jason Thorpe + + * alpha-tdep.c (alpha_call_dummy_words): New. + * config/alpha/tm-alpha.h (CALL_DUMMY): Remove. + (CALL_DUMMY_P): Define. + (CALL_DUMMY_WORDS): Define. + (SIZEOF_CALL_DUMMY_WORDS): Define. + +2002-01-19 Per Bothner + + * gnu-v3-abi.c (gnuv3_rtti_type): Guard that vtable_symbol_name + isn't NULL, which can happen with some gcj-3.x-produced code. + +2002-01-19 Jason Thorpe + + * alpha-tdep.c (alpha_register_virtual_type): New function. + (alpha_init_frame_pc_first): Ditto. + (alpha_fix_call_dummy): Ditto. + (alpha_store_struct_return): Ditto. + (alpha_extract_struct_value_address): Ditto. + * config/alpha/tm-alpha.h (REGISTER_VIRTUAL_TYPE): Use + alpha_register_virtual_type. + (STORE_STRUCT_RETURN): Use alpha_store_struct_return. + (EXTRACT_STRUCT_VALUE_ADDRESS): Use + alpha_extract_struct_value_address. + (FIX_CALL_DUMMY): Use alpha_fix_call_dummy. + (INIT_FRAME_PC): Use init_frame_pc_noop. + (INIT_FRAME_PC_FIRST): Use alpha_init_frame_pc_first. + +2002-01-19 Mark Kettenis + + * i386gnu-nat.c: Include "i386-tdep.h". + (fetch_fpregs): Simplify code dealing with uninitialized floating + point states such that it doesn't require FP7_REGNUM. + +2002-01-18 Jason Thorpe + + * alpha-tdep.c (frame_extra_info): New. + (alpha_find_saved_regs): Make static. Use + frame->extra_info. + (alpha_frame_init_saved_regs): New function. + (alpha_frame_saved_pc): Use frame->extra_info. + (temp_saved_regs): Don't declare as struct frame_saved_regs. + (heuristic_proc_desc): Adjust for temp_saved_regs changes. + (init_extra_frame_info): Rename to... + (alpha_init_extra_frame_info): ...this. Use frame->extra_info. + (alpha_print_extra_frame_info): New function. + (alpha_frame_locals_address): Ditto. + (alpha_frame_args_address): Ditto. + (alpha_pop_frame): Use frame->extra_info. + * config/alpha/tm-alpha.h (FRAME_ARGS_ADDRESS): Use + alpha_frame_args_address. + (FRAME_LOCALS_ADDRESS): Use alpha_frame_locals_address. + (alpha_find_saved_regs): Remove prototype. + (FRAME_INIT_SAVED_REGS): Use alpha_frame_init_saved_regs. + (EXTRA_FRAME_INFO): Remove. + (INIT_EXTRA_FRAME_INFO): Use alpha_init_extra_frame_info. + (PRINT_EXTRA_FRAME_INFO): Use alpha_print_extra_frame_info. + +2002-01-18 Jason Thorpe + + * alpha-tdep.c (alpha_osf_in_sigtramp): New function. + (alpha_cannot_fetch_register): Ditto. + (alpha_cannot_store_register): Ditto. + (alpha_register_convertible): Ditto. + (alpha_use_struct_convention): Ditto. + * config/alpha/tm-alpha.h: Update copyright years. + (IN_SIGTRAMP): Use alpha_osf_in_sigtramp. + (INNER_THAN): Use core_addr_lessthan. + (CANNOT_FETCH_REGISTER): Use alpha_cannot_fetch_register. + (CANNOT_STORE_REGISTER): Use alpha_cannot_store_register. + (REGISTER_CONVERTIBLE): Use alpha_register_convertible. + (USE_STRUCT_CONVENTION): Use alpha_use_struct_convention. + (FRAME_CHAIN): Remove unnecessary cast. + +2002-01-18 Andrew Cagney + + * NEWS: Document that testsuite/gdb.hp/gdb.threads-hp/ is + obsolete. + +2002-01-18 Andrew Cagney + + * infptrace.c: Remove ATTRIBUTE_UNUSED. Update copyright. + * monitor.c, remote-array.c, remote-bug.c: Ditto. + * remote-e7000.c, remote-es.c, remote-mips.c: Ditto. + * remote-nindy.c, remote-os9k.c, remote-rdi.c: Ditto. + * remote-rdp.c, remote-sds.c, remote-sim.c: Ditto. + * remote-st.c, remote-vx.c, remote.c, win32-nat.c: Ditto. + * x86-64-linux-nat.c: Ditto. + +2002-01-18 Jason Thorpe + + * alpha-tdep.c (alpha_register_name): New function. + * config/alpha/tm-alpha.h (REGISTER_NAMES): Remove. + (REGISTER_NAME): Define. + +2002-01-18 Jason Thorpe + + * config/nm-nbsd.h (KERNEL_U_ADDR): Remove. + +2002-01-18 Jason Thorpe + + * alpha-tdep.c: Update copyright years. + (alpha_next_pc): New function. + (alpha_software_single_step): Ditto. + * config/alpha/tm-alpha.h: Add prototype for + alpha_software_single_step. + +2002-01-18 Jason Thorpe + + * alphabsd-nat.c: Update copyright years. + (fill_gregset): Use regcache_collect. + (fill_fpregset): Likewise. + (fetch_inferior_registers): Only fetch integer registers + if requested to do so. + (store_inferior_registers): Only store integer registers + if requested to do so. + +2002-01-17 Andrew Cagney + + * config/alpha/alpha-osf3.mh (XDEPFILES): Delete. + * config/alpha/alpha-osf2.mh (XDEPFILES): Delete. + * config/alpha/alpha-osf1.mh (XDEPFILES): Delete. + * config/alpha/alpha-linux.mh (XDEPFILES): Delete. + * config/alpha/fbsd.mh (XDEPFILES): Delete. + * config/arm/linux.mh (XDEPFILES): Delete. + * config/arm/nbsd.mh (XDEPFILES): Delete. + * config/i386/i386dgux.mh (XDEPFILES): Delete. + * config/i386/i386sol2.mh (XDEPFILES): Delete. + * config/i386/i386m3.mh (XDEPFILES): Delete. + (NATDEPFILES): Move i387-tdep.o and core-aout.o to here. + * config/i386/i386gnu.mh (XDEPFILES): Delete. + * config/i386/fbsd.mh (XDEPFILES): Delete. + * config/i386/i386bsd.mh (XDEPFILES): Delete. + * config/i386/i386sco5.mh (XDEPFILES): Delete. + * config/i386/i386v4.mh (XDEPFILES): Delete. + * config/i386/i386v42mp.mh (XDEPFILES): Delete. + * config/i386/i386sco4.mh (XDEPFILES): Delete. + * config/i386/i386aix.mh (XDEPFILES): Delete. + * config/i386/go32.mh (XDEPFILES): Delete. + * config/i386/cygwin.mh (XDEPFILES): Delete. + * config/i386/i386lynx.mh (XDEPFILES): Delete. + * config/i386/i386mach.mh (XDEPFILES): Delete. + * config/i386/i386v32.mh (XDEPFILES): Delete. + * config/i386/linux.mh (XDEPFILES): Delete. + * config/i386/nbsdelf.mh (XDEPFILES): Delete. + * config/i386/ncr3000.mh (XDEPFILES): Delete. + * config/i386/i386mk.mh (NATDEPFILES): Rename XDEPFILES. + * config/i386/i386sco.mh (XDEPFILES): Delete. + * config/i386/i386v.mh (XDEPFILES): Delete. + * config/i386/nbsd.mh (XDEPFILES): Delete. + * config/i386/ptx.mh (NATDEPFILES): Rename XDEPFILES. + * config/i386/ptx4.mh (NATDEPFILES): Rename XDEPFILES. + * config/i386/symmetry.mh (XDEPFILES): Delete. + * config/i386/obsd.mh (XDEPFILES): Delete. + * config/i386/x86-64linux.mh (XDEPFILES): Delete. + * config/ia64/linux.mh (XDEPFILES): Delete. + * config/ia64/aix.mh (XDEPFILES): Delete. + * config/m68k/apollo68b.mh (XDEPFILES): Delete. + * config/m68k/dpx2.mh (XDEPFILES): Delete. + * config/m68k/3b1.mh (NATDEPFILES): Rename XDEPFILES. + * config/m68k/apollo68v.mh (XDEPFILES): Delete. + * config/m68k/hp300bsd.mh (XDEPFILES): Delete. + * config/m68k/linux.mh (XDEPFILES): Delete. + * config/m68k/m68klynx.mh (XDEPFILES): Delete. + * config/m68k/m68kv4.mh (XDEPFILES): Delete. + * config/m68k/nbsd.mh (XDEPFILES): Delete. + * config/m68k/sun2os3.mh (XDEPFILES): Delete. + * config/m68k/sun2os4.mh (XDEPFILES): Delete. + * config/m68k/sun3os3.mh (XDEPFILES): Delete. + * config/m68k/sun3os4.mh (XDEPFILES): Delete. + * config/m88k/delta88.mh (XDEPFILES): Delete. + * config/m88k/delta88v4.mh (XDEPFILES): Delete. + * config/m88k/m88k.mh (XDEPFILES): Delete. + * config/mips/littlemips.mh (NATDEPFILES): Rename XDEPFILES. + * config/mips/linux.mh (XDEPFILES): Delete. + * config/mips/irix6.mh (XDEPFILES): Delete. + * config/mips/irix5.mh (XDEPFILES): Delete. + * config/mips/irix4.mh (XDEPFILES): Delete. + * config/mips/irix3.mh (XDEPFILES): Delete. + * config/mips/decstation.mh (XDEPFILES): Delete. + * config/mips/mipsm3.mh (XDEPFILES): Delete. + (NATDEPFILES): Move core-aout.o to here. + * config/ns32k/nbsd.mh (XDEPFILES): Delete. + * config/pa/hpux1020.mh (XDEPFILES): Delete. + * config/pa/hppabsd.mh (XDEPFILES): Delete. + * config/pa/hppahpux.mh (XDEPFILES): Delete. + * config/pa/hpux11w.mh (XDEPFILES): Delete. + * config/pa/hppaosf.mh (XDEPFILES): Delete. + * config/pa/hpux11.mh (XDEPFILES): Delete. + * config/powerpc/aix.mh (XDEPFILES): Delete. + * config/powerpc/nbsd.mh (XDEPFILES): Delete. + * config/powerpc/linux.mh (XDEPFILES): Delete. + * config/romp/rtbsd.mh: Rename XDEPFILES. + * config/rs6000/rs6000lynx.mh (XDEPFILES): Delete. + * config/rs6000/aix4.mh (XDEPFILES): Delete. + * config/rs6000/rs6000.mh (XDEPFILES): Delete. + * config/s390/s390.mh (XDEPFILES): Delete. + * config/vax/vaxbsd.mh (NATDEPFILES): Rename XDEPFILES. + * config/sparc/sun4sol2.mh (XDEPFILES): Delete. + * config/sparc/sun4os4.mh (XDEPFILES): Delete. + * config/sparc/sparclynx.mh (XDEPFILES): Delete. + * config/sparc/nbsdelf.mh (XDEPFILES): Delete. + * config/sparc/nbsd.mh (XDEPFILES): Delete. + * config/sparc/linux.mh (XDEPFILES): Delete. + * config/vax/vaxult.mh (XDEPFILES): Delete. + * config/vax/vaxult2.mh (XDEPFILES): Delete. + * Makefile.in (DEPFILES): Remove XDEPFILES. + +2002-01-17 Andrew Cagney + + * utils.c (internal_verror): Fix comments, default is yes not no. + Update queries to match. Default to quit and dump core. + +2002-01-17 Andrew Cagney + + * breakpoint.c: Update assuming #if UI_OUT is always true. Update + copyright. + * defs.h, event-top.c, gdbcmd.h: Ditto. + * infcmd.c, infrun.c, main.c, printcmd.c, remote.c: Ditto. + * source.c, stack.c, symfile.c, symtab.c, thread.c: Ditto. + * top.c, cli/cli-cmds.c, cli/cli-decode.c: Ditto. + * cli/cli-script.c, cli/cli-script.h, cli/cli-setshow.c: Ditto. + * mi/ChangeLog, mi/mi-cmd-break.c, mi/mi-cmd-stack.c: Ditto. + * mi/mi-main.c:Ditto. + + * stack.c, symfile.c: Update copyright. + +2002-01-17 Daniel Jacobowitz + + * gdbserver/low-hppabsd.c, gdbserver/low-lynx.c, + gdbserver/low-nbsd.c, gdbserver/low-sim.c, + gdbserver/low-sparc.c, gdbserver/low-sun3.c, + gdbserver/low-linux.c, gdbserver/server.c: Correct copyright notices. + +2002-01-17 Daniel Jacobowitz + + * gdbserver/low-hppabsd.c (myattach): New function, returning -1. + * gdbserver/low-lynx.c (myattach): Likewise. + * gdbserver/low-nbsd.c (myattach): Likewise. + * gdbserver/low-sim.c (myattach): Likewise. + * gdbserver/low-sparc.c (myattach): Likewise. + * gdbserver/low-sun3.c (myattach): Likewise. + + * gdbserver/low-linux.c (myattach): New function. + + * gdbserver/server.c (attach_inferior): New function. + (main): Handle "--attach". + +2002-01-16 Andrew Cagney + + * MAINTAINERS (language support): Daniel Jacobwitz is C++ + maintainer. + +2002-01-15 Daniel Jacobowitz + + * c-typeprint.c (is_type_conversion_operator): Add additional + check for non-conversion operators. + +2002-01-15 Michael Snyder + + * linux-proc.c: Add "info proc" command, a la procfs.c. + (read_mapping): New function, abstract and re-use code. + (linux_find_memory_regions): Use new func read_mapping. + (linux_info_proc_cmd): New function, implement "info proc". + (_initialize_linux_proc): Add new command "info proc". + +2002-01-15 Michael Snyder + + * symfile.c (generic_load): Use bfd_map_over_sections method + instead of manipulating bfd structure members directly. + (add_section_size_callback): New function, bfd sections callback + used by generic_load. + (load_sections_callback): New function, bfd sections callback + used by generic_load. + +2002-01-15 Elena Zannoni + + [Based on work by Jim Blandy] + * gdbtypes.h (builtin_type_v16qi, builtin_type_v8hi): Export. + (builtin_type_vec128): Export. + * gdbtypes.c (builtin_type_v16qi, builtin_type_v8hi): New SIMD + types. + (builtin_type_vec128): New builtin type for 128 bit vector + registers. + (build_gdbtypes): Initialize builtin_type_v16qi and + builtin_type_v8hi. Create the vec128 register builtin type + structure. + (build_builtin_type_vec128): New function. + (_initialize_gdbtypes): Register builtin_type_v16qi and + builtin_type_v8hi with gdbarch. Same for builtin_type_vec128. + * rs6000-tdep.c (rs6000_register_virtual_type): Change type of + AltiVec register to new builtin type. + +2001-01-15 Daniel Jacobowitz + + * stabsread.c (read_type): Pass dbx_lookup_type (typenums) + to make_cv_type. + +2002-01-14 Andrew Cagney + + * config/pa/tm-hppa.h (DEPRECATED_CLEAN_UP_REGISTER_VALUE): Rename + CLEAN_UP_REGISTER_VALUE. + * regcache.c (supply_register): Update only call. + +2002-01-14 Andrew Cagney + + * configure.tgt: Mark a29k-*-aout*, a29k-*-coff*, a29k-*-elf*, + a29k-*-ebmon*, a29k-*-kern*, a29k-*-none*, a29k-*-udi* and + a29k-*-vxworks* targets as obsolete. + +2002-01-14 Michael Snyder + + * linux-proc.c (linux_do_thread_registers): Ignore fpxregs + until we can resolve portability issues. + * gregset.h: Remove references to fpxregs. + * gcore.c (gcore_command): Initialize note_sec to NULL. + +2002-01-13 Andrew Cagney + + * signals.c (target_signal_to_name): Rewrite. Only use + signals[].name when in bounds and non-NULL. + +2002-01-13 Andrew Cagney + + From Petr Ledvina : + * signals.c (target_signal_to_name): Verify that SIG is within the + bounds of the signals array. + +2002-01-13 Andrew Cagney + + * MAINTAINERS: Remove arm-coff and arm-pe from target list. + +2002-01-13 Keith Seitz + + * stack.c (print_frame_info_base): Print the frame's pc + only if when print_frame_info_listing_hook is not defined. + +2002-01-13 Keith Seitz + + * varobj.c (varobj_set_value): Make sure that there were no + errors evaluating the object before attempting to set its + value. + value_cast now properly adjusts VALUE_ADDRESS for baseclasses, + so this offset adjustment is no longer necessary. + (create_child): Don't set the error flag if the child is + a CPLUS_FAKE_CHILD. + (value_of_child): If value_fetch_lazy fails, return NULL + so that callers will be notified that an error occurred. + (c_value_of_variable): Delay check of variable's validity + until later. We actually want all structs and unions to have + the value "{...}". + Do not return "???" for variables which could not be evaluated. + This error condition must be returned to the caller so that it + can get the error condition from gdb. + (cplus_name_of_child): Adjust index for vptr before figuring + out the name of the child. + (cplus_value_of_child): If a child's (real) parent is not valid, + don't even bother trying to give a value for it. Just return + an error. Change all instances in this function. + (cplus_type_of_child): If our parent is one of the "fake" + parents, we need to get at the type of the real parent, and + derive the child's true type using this information. + +2002-01-13 Andrew Cagney + + From 2002-01-09 John Marshall : + * CONTRIBUTE, README, TODO: Change sourceware.cygnus.com to + sources.redhat.com, and tweak some related URLs which had + suffered from linkrot. + +2002-01-13 Andrew Cagney + + From Jeff law: + * hppa-tdep.c (hppa_push_arguments): Correct handling of 5-7 byte + structures passed in registers. + +2002-01-13 Eli Zaretskii + + * go32-nat.c (save_npx) [__DJGPP_MINOR__ < 3]: Remove extraneous + white space which prevented compilation. Reported by DSK + . + +2002-01-11 Michael Snyder + + * symfile.c (build_section_addr_info_from_section_tab): + Use bfd access method instead of manipulating bfd directly. + (syms_from_objfile): Ditto. + (simple_overlay_update_1): Ditto. + (simple_overlay_update): Ditto. + (generic_load): Ditto. + (overlay_unmapped_address): FIXME comment, bfd access methods. + (sections_overlap): FIXME comment, bfd access methods. + (pc_in_mapped_range): FIXME comment, bfd access methods. + (pc_in_unmapped_range): FIXME comment, bfd access methods. + (section_is_mapped): FIXME comment, bfd access methods. + (section_is_overlay): FIXME comment, bfd access methods. + + * symfile.c (generic_load): Whitespace and long line cleanups. + Remove duplicate variable, change several local variables to + more appropriate data types. + (print_transfer_performance): Use %lu instead of %ld for ulongs. + +2002-01-12 Andrew Cagney + + From Peter Schauer: + * language.c (longest_local_hex_string_custom): Use phex_nz to + convert NUM to a hex string. + +2002-01-12 Elena Zannoni + + * sh-tdep.c (sh_gdbarch_init): Move setting of long_bit earlier in + the function. + Update Copyright year. + +2002-01-12 Andrew Cagney + + * language.c (longest_raw_hex_string): Delete unused function. + +2002-01-11 Petr Sorfa + + * MAINTAINERS (write-after-approval): Add myself. + * dwarf2read.c (read_tag_string_type): Handling of + DW_AT_byte_size. + (read_tag_string_type): FORTRAN fix to prevent propagation of + first string size. + (set_cu_language): Handling of DW_LANG_Fortran95 + +2002-01-11 Richard Earnshaw + + * armnbsd-nat.c (fetch_inferior_registers): Change inferior_pid -> + GETPID(inferior_ptid). + (store_inferior_registers): Likewise. + +2002-01-10 Jason Merrill + + * dwarf2read.c (decode_locdesc): Implement DW_OP_litn, DW_OP_dup. + Fix DW_OP_minus. + +2002-01-10 Andrew Cagney + + * config/djgpp/fnchange.lst: Add renames for bfd/ChangeLog-0001 + and bfd/elf32-sh-nbsd.c. + +2002-01-10 Michael Snyder + + * NEWS: Mention --pid and corefile/proc-id behavior change. + + * Makefile.in: Add rules for gcore.o and linux-proc.o. + * gcore.c: Include cli/cli-decode.h instead of command.h. + + * main.c (captured_main): Add new command line option "--pid". + If the second command line argument (following the symbol-file) + begins with a digit, try to attach to it before trying to open + it as a corefile. + (print_gdb_help): Document the "--pid" argument. + +2002-01-10 Eli Zaretskii + + * completer.c (command_completer): New function. + + * completer.h : Add prototype. + + * cli/cli-cmds.c (init_cli_cmds): Make command_completer be the + completer for the "help" command. + +2002-01-09 Jason Merrill + + * c-typeprint.c (is_type_conversion_operator): Fix thinko. + +2002-01-09 Michael Snyder + + * i386-linux-nat.c (fill_fpxregset): Make global. + (store_fpxregset): Ditto. + + * gregset.h (gdb_fpxregset_t): Define. + (supply_fpxregset): Prototype. + (fill_fpxregset): Prototype. + + * exec.c (exec_make_note_section): Don't call elfcore_write_prpsinfo. + +2002-01-09 Richard Earnshaw + + * config/arm/arm-tdep.h (arm_software_single_step): Remove PARAMS. + * config/arm/nm-nbsd.h (arm_register_u_addr): Likewise. + * config/arm/tm-nbsd.h (get_longjmp_target): Likewise. + +2002-01-09 Andrew Cagney + + * MAINTAINERS: Update target maintainer rules so that any + Maintainer can approve a tested patch for a maintenance-only + target. + +2002-01-09 Richard Earnshaw + + * MAINTAINERS (write-after-approval): Add myself. + + * arm-tdep.c (arm_init_extra_frame_info): Cast NULL argument to + IN_SIGTRAMP. + +2002-01-08 Michael Snyder + + * linux-proc.c (child_pid_to_exec_file): Use readlink to get the + real name of the executable, rather than the /proc name. + +2002-01-03 Michael Snyder + + Implement a "generate-core-file" command in gdb, save target state. + * gcore.c: New file. Implement new command 'generate-core-file'. + Save a corefile image of the current state of the inferior. + * linux-proc.c: Add linux-specific code for saving corefiles. + * target.h (struct target_ops): Add new target vectors for saving + corefiles; to_find_memory_regions and to_make_corefile_notes. + (target_find_memory_regions): New macro. + (target_make_corefile_notes): New macro. + * target.c (update_current_target): Inherit new target methods. + (dummy_find_memory_regions): New place-holder method. + (dummy_make_corefile_notes): New place-holder method. + (init_dummy_target): Initialize new dummy target vectors. + * exec.c (exec_set_find_memory_regions): New function. + Allow the exec_ops vector for memory regions to be taken over. + (exec_make_note_section): New function, target vector method. + * defs.h (exec_set_find_memory_regions): Export prototype. + * procfs.c (proc_find_memory_regions): New function, corefile method. + (procfs_make_note_section): New function, corefile method. + (init_procfs_ops): Set new target vector pointers. + (find_memory_regions_callback): New function. + (procfs_do_thread_registers): New function. + (procfs_corefile_thread_callback): New function. + * sol-thread.c (sol_find_memory_regions): New function. + (sol_make_note_section): New function. + (init_sol_thread_ops): Initialize new target vectors. + * inftarg.c (inftarg_set_find_memory_regions): New function. + Allow to_find_memory_regions vector to be taken over. + (inftarg_set_make_corefile_notes): New function. + Allow to_make_corefile_notes vector to be taken over. + * thread-db.c (thread_db_new_objfile): Don't activate thread-db + interface layer if not target_has_execution (may be a corefile). + * config/i386/linux.mh: Add gcore.o to NATDEPFILES. + * config/sparc/sun4sol2.mh: Ditto. + * config/alpha/alpha-linux.mh: Ditto. + * config/arm/linux.mh: Ditto. + * config/i386/x86-64linux.mh: Ditto. + * config/ia64/linux.mh: Ditto. + * config/m68k/linux.mh: Ditto. + * config/mips/linux.mh: Ditto. + * config/powerpc/linux.mh: Ditto. + * config/sparc/linux.mh: Ditto. + +2002-01-07 Michael Snyder + + * arm-linux-nat.c: Remove references to regcache.c internal data + (registers[] and register_valid[]). + +2002-01-07 Michael Snyder + + * linux-proc.c: New file. Implement child_pid_to_exec_file, + so that attaching to a pid will automatically read the process's + symbol file and shlibs. + * Makefile.in: Add rule for linux-proc.o. + * config/nm-linux.h: Define CHILD_PID_TO_EXEC_FILE. + * config/alpha/alpha-linux.mh: Add linux-proc.o to NATDEPFILES. + * config/arm/linux.mh: Ditto. + * config/i386/linux.mh: Ditto. + * config/i386/x86-64linux.mh: Ditto. + * config/ia64/linux.mh: Ditto. + * config/m68k/linux.mh: Ditto. + * config/mips/linux.mh: Ditto. + * config/powerpc/linux.mh: Ditto. + * config/sparc/linux.mh: Ditto. + +2002-01-06 Pierre Muller + + * win32-nat.c: Add i386-tdep.h dependency. + +2002-01-07 Michael Snyder + + * solib.c (info_sharedlibrary_command): Use TARGET_PTR_BIT + instead of bfd_get_arch_size. Don't bail out just because + there's no exec_bfd. + + * cp-valprint.c (cp_print_value): FIXME comment, alloca size. + * p-valprint.c (pascal_object_print_value): Ditto. + * somread.c (som_symtab_read): Ditto. + * symfile.c (simple_free_overlay_region_table): Ditto. + * valops.c (value_assign): Ditto. + + * tracepoint.c (tracepoint_save_command): From Klee Dienes -- + use tilde_expand and strerror for opening save-tracepoints file. + + * thread-db.c (thread_db_new_objfile): Indendation fix. + + * infptrace.c (GDB_MAX_ALLOCA): New define. + (child_xfer_memory): Use xmalloc/xfree instead of alloca if the + size of the buffer exceeds GDB_MAX_ALLOCA (default 1 megabyte, + can be overridden with whatever value is appropriate to the host). + * infttrace.c (child_xfer_memory): Add FIXME warning about use of + alloca to allocate potentially large buffer. + * rs6000-nat.c (child_xfer_memory): Ditto. + * symm-nat.c (child_xfer_memory): Ditto. + * x86-64-linux-nat.c (child_xfer_memory): Ditto. + +2002-01-07 Jackie Smith Cashion + + From Nick Clifton + * d10v-tdep.c: Set STACK_START to 0x200bffe. + +2002-01-07 Michael Snyder + + * solib-legacy.c (legacy_svr4_fetch_link_map_offsets): + Don't use exec_bfd if it's NULL. + +2002-01-06 Mark Kettenis + + * valops.c (value_arg_coerce): Fix formatting. + +2002-01-06 Andrew Cagney + + * hp-psymtab-read.c: Include "gdb_string.h" instead of . + * gnu-nat.c: Ditto. + +2002-01-06 Andrew Cagney + + * MAINTAINERS: Note that alpha-dec-osf4.0a, arc-elf, arm-coff, + arm-elf, arm-pe, d30v-elf, fr30-elf, h8300hms, h8500hms, + i960-coff, m32r-elf, m68k-elf, m88k, mcore-elf, mn10200-elf, + ns32k-netbsd, hppa1.1-hp-proelf, v850-elf, vax-dec-vms5.5 and + z8k-coff have not been multi-arched. Update z8k-coff build + status. + +2002-01-06 Andrew Cagney + + * MAINTAINERS: Mark a29k target as obsolete. + * Makefile.in (a29k-tdep.o, remote-adapt.o, remote-eb.o) + (remote-mm.o, remote-udi.o): Obsolete. Remove references in + comments. + * NEWS: Note that a29k targets are obsolete. + * a29k-tdep.c: Mark as obsolete. + * configure.tgt: Mark a29k-*-aout*, a29k-*-coff*, a29k-*-elf*, + a29k-*-ebmon*, a29k-*-kern*, a29k-*-none*, a29k-*-udi* and + a29k-*-vxworks* targets as obsolete. + * remote-adapt.c: Obsolete. + * remote-eb.c: Obsolete. + * remote-mm.c: Obsolete. + * remote-udi.c: Obsolete. + * config/a29k/a29k-udi.mt: Obsolete. + * config/a29k/a29k.mt: Obsolete. + * config/a29k/tm-a29k.h: Obsolete. + * config/a29k/tm-vx29k.h: Obsolete. + * config/a29k/vx29k.mt: Obsolete. + +2002-01-05 Andrew Cagney + + * rs6000-tdep.c (rs6000_do_registers_info): Replace BIG_ENDIAN + with BFD_ENDIAN_BIG. + +2002-01-05 Andrew Cagney + + * configure.in (AC_CHECK_HEADERS): Do not check for . + * configure, config.in: Re-generate. + * config/vax/xm-vaxbsd.h: Do not include . + * defs.h: Do not include . + +2002-01-05 Jason Thorpe + + * acconfig.h (HAVE_PT_GETXMMREGS): New. + * config.in: Regenerate. + * configure.in: Update copyright years. + Add test for PT_GETXMMREGS supplied by . + * configure: Regenerate. + * i386bsd-nat.c: Update copyright years. + (fill_gregset): Use regcache_collect. + (fetch_inferior_registers): Only fetch integer registers + if requested to do so. Add support for XMM registers + using PT_GETXMMREGS. + (store_inferior_registers): Only store integer registers + if requested to do so. Add support for XMM registers + using PT_SETXMMREGS. + * i386nbsd-nat.c (fetch_inferior_registers): Remove. + (store_inferior_registers): Remove. + (fetch_core_registers): Use supply_gregset and i387_supply_fsave. + (fetch_elfcore_registers): New function. + (i386nbsd_elfcore_fns): New. + (_initialize_i386nbsd_nat): Register i386nbsd_elfcore_fns. + * config/i386/nbsd.mh (NATDEPFILES): Add i387-nat.o and + i386bsd-nat.o. + * config/i386/nbsdelf.mh (NATDEPFILES): Likewise. + * config/i386/nbsd.mt (TDEPFILES): Add i386bsd-nat.o. + * config/i386/nbsdelf.mt (TDEPFILES): Likewise. + * config/i386/tm-nbsd.h: Update copyright years. + (HAVE_SSE_REGS): Define. + (IN_SIGTRAMP): Define as i386bsd_in_sigtramp. + (SIGTRAMP_START): Redefine as i386bsd_sigtramp_start. + (SIGTRAMP_END): Redefine as i386bsd_sigtramp_end. + (SIGCONTEXT_PC_OFFSET): Remove. + (FRAME_SAVED_PC): Define as i386bsd_frame_saved_pc. + +2002-01-05 Andrew Cagney + + * configure.tgt: Remove powerpc-*-macos* target. + * config/m68k/xm-mpw.h: Delete file. + * config/xm-mpw.h: Delete file. + * ser-mac.c: Delete file. + * mpw-make.sed: Delete file. + * mpw-config.in: Delete file. + * mac-xdep.c: Delete file. + * mac-gdb.r: Delete file. + * mac-defs.h: Delete file. + * mac-nat.c: Delete file. + * config/powerpc/macos.mh: Delete file. + * config/powerpc/macos.mt: Delete file. + * config/powerpc/nm-macos.h: Delete file. + * config/powerpc/tm-macos.h: Delete file. + * source.c (openp, open_source_file): Remove obsolete code. + * top.c (gdb_readline): Ditto. + * utils.c (query): Ditto. + * event-top.c (display_gdb_prompt): Ditto. + * Makefile.in (ser-mac.o): Delete obsolete target. + * NEWS: Update. + +2002-01-04 Andrew Cagney + + * defs.h (BIG_ENDIAN): Delete macro definition. + * a29k-tdep.c, arch-utils.c, arm-tdep.c, ax-gdb.c, ch-exp.c, + coffread.c, cris-tdep.c, d10v-tdep.c, d30v-tdep.c, defs.h, + findvar.c, infcmd.c, mem-break.c, mips-tdep.c, mn10300-tdep.c, + printcmd.c, remote-os9k.c, remote-rdi.c, remote-rdp.c, + remote-sim.c, remote.c, rs6000-tdep.c, sh-tdep.c, sparcl-tdep.c, + stabsread.c, valops.c, valprint.c, config/a29k/tm-a29k.h, + config/a29k/tm-vx29k.h, config/arm/tm-arm.h, + config/d30v/tm-d30v.h, config/fr30/tm-fr30.h, + config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, + config/m32r/tm-m32r.h, config/m68k/tm-m68k.h, + config/m88k/tm-m88k.h, config/mips/tm-mips.h, config/pa/tm-hppa.h, + config/sparc/tm-sparc.h, config/z8k/tm-z8k.h, mi/mi-cmd-disas.c, + mi/mi-main.c: Replace BIG_ENDIAN with BFD_ENDIAN_BIG. + * gdbarch.sh: Replace BIG_ENDIAN with BFD_ENDIAN_BIG. + * gdbarch.c: Re-generate. + +2002-01-04 Daniel Jacobowitz + + * thread-db.c (thread_db_new_objfile): Do not enable thread_db + for core files. + +2002-01-04 Jason Thorpe + + * config/arm/nbsd.mh (XDEPFILES): Remove ser-tcp.o. + +2002-01-04 Andrew Cagney + + * value.h (value_ptr): Delete typedef. + +2002-01-04 Jason Thorpe + + * i386nbsd-nat.c: Update copyright years. + Include i386-tdep.h. + +2002-01-04 Elena Zannoni + + * stabsread.c: Update copyright years. + + From Debashis Mahata : + (read_struct_fields): Deal with Sun C compiler erroneous stab + output for structs and unions. + Fix PR gdb/269. + +2002-01-04 Daniel Jacobowitz + + * p-valprint.c: Include "cp-abi.h" for baseclass_offset + prototype. + +2002-01-04 Daniel Jacobowitz + + * cp-abi.c: Fix whitespace. + (baseclass_offset): New wrapper function. + * cp-abi.h (baseclass_offset): Add prototype. + (struct cp_abi_ops): Add baseclass_offset pointer. + + * valops.c (vb_match): Move to... + * gnu-v2-abi.c (vb_match): here. + * valops.c (baseclass_offset): Move to... + * gnu-v2-abi.c (gnuv2_baseclass_offset): here, and rename. + + * gnu-v3-abi.c (gnuv3_baseclass_offset): New function. + + * gnu-v2-abi.c (init_gnuv2_ops): Initialize baseclass_offset. + * gnu-v3-abi.c (init_gnuv3_ops): Likewise. + * hpacc-abi.c (init_hpacc_ops): Likewise. + +2002-01-04 Daniel Jacobowitz + + * valops.c (find_overload_match): Accept obj as a + reference parameter. Update it before returning. + * value.h (find_overload_match): Update prototype. + * eval.c (evaluate_subexp_standard): Pass object to + find_overload_match by reference. -1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com) +2002-01-03 Andrew Cagney + + * valarith.c: Replace value_ptr with struct value pointer. Remove + register attribute from value declarations. + * valops.c: Ditto. + * value.h: Ditto. + * scm-lang.c (scm_lookup_name): Ditto. - * configure.in: Require autoconf 2.12.1 or higher. - * doc/configure.in: Ditto. - * nlm/configure.in: Ditto. - * rdi-share/configure.in: Ditto. - * testsuite/configure.in: Ditto. - * doc/Makefile.in: Don't hardcode $(SHELL). - * nlm/Makefile.in: Ditto. - * rdi-share/Makefile.in: Ditto. - * testsuite/Makefile.in: Ditto. +2002-01-03 Michael Snyder -Mon Jan 4 12:53:03 1999 Stan Shebs + Abstract the functionality of iterating over mapped memory + regions into a general purpose iterator function. + * procfs.c (iterate_over_mappings): New function, general purpose + iterator for memory sections. + (proc_iterate_over_mappings): Reimplement using iterate_over_mappings. + (solib_mappings_callback): New function, callback for above. + (info_proc_mappings): Reimpliment using iterate_over_mappings. + (info_mappings_callback): New function, callback for above. - * remote-vx.c (init_vx_ops, init_vx_run_ops): Remove unneeded - inits of new fields, including ref to bogus field. - (vx_ops, vx_run_ops): Make static. + * procfs.c (proc_set_watchpoint): Add cast to suppress warning. -Mon Jan 4 15:05:29 1999 David Taylor +2002-01-01 Mark Kettenis - * inferior.h (START_INFERIOR_TRAPS_EXPECTED): delete, - already defined in tm.h. + * i386-tdep.h (struct gdbarch_tdep): Add `os_ident' member. + * i386-tdep.c: Include "elf-bfd.h". + (process_note_abi_tag_sections): New function. + (i386_gdbarch_init): Add code to recognize various OS/ABI + combinations. - * inftarg.c: change to and - conditionalize its inclusion. - * infttrace.c: ditto. + * maint.c (_initialize_maint_cmds): Add missing \ in + string-literal. -For older changes see ChangeLog-98 +For older changes see ChangeLog-2001 Local Variables: mode: change-log diff --git a/contrib/gdb/gdb/ChangeLog-1990 b/contrib/gdb/gdb/ChangeLog-1990 new file mode 100644 index 0000000..25cf860 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1990 @@ -0,0 +1,3155 @@ +Fri Dec 28 00:13:42 1990 John Gilmore (gnu at cygint) + + Further stabilization for the Intel 960. + + * Makefile.dist: Parameterize the location of the "include" + and "bfd" directories, as well as "getopt". Add symfile.c. + Link in both dbxread and coffread. Fix up "make depend" to + rewack the locations of include, bfd, and getopt in its output. + + * README: Document moving include files, improve some of + the other doc. + + * coffread.c: Move common code out to symfile.c. Change + symbol_file_command style interface to use new *_symfile_init + and *_symfile_read interface under BFD. Use BFD internal + info to locate line table, symbols, etc. + + * core.c (core_fetch_registers): Rename to get_core_registers + to avoid confusion with fetch_core_registers. + (register_addr): Move to coredep.c, which is already machine + dependent. This leaves core.c pretty clean of dependencies. + + * coredep.c (register_addr): Accept this routine from core.c. + + * dbxread.c: Move common code (with coffread.c, etc) into new + symfile.c. Each psymtab now contains a pointer to the + format-dependent function that knows how to read it in. Make + some things static. + (dbx_psymtab_to_symtab): Renamed from psymtab_to_symtab_2. + (process_one_symbol): Add code to complain about a "compiler bug + we muzzle here", if we actually see it. + + * eval.c (evaluate_subexp): Insert missing "break" statements + in code that determines whether a variable is an lvalue in + memory, register, or whatever. I detected this via a compiler + bug in which it *almost* mashed out the whole switch statement. + + * gdb-int.texinfo: Add minor sections on configuring gdb for + release, and about the README file. + + * infcmd.c (registers_info): Fix formatting somewhat. Still + not as pretty as before, but it handles byte swapping. + + * remote-nindy.c: If data cache routines are interrupted while + waiting for the remote end, be sure that any uninitialized cache + blocks are on the free list, not on the valid list! + + * symfile.h: Flesh out this header file with all the various + routines and variables that have been merged in from dbxread.c + coffread.c, and symtab.c to symfile.c. + + * symfile.c: New file, containing code common to dbxread.c, + coffread.c, and some code from symtab.c. All generic code for + reading symbol files should be in here now. + (unrecord_misc_function): Remove unused function. + + * symtab.h: Remove file-reading things to symfile.h. + + * symtab.c: Remove file-reading things to symfile.c. + + * tm-i960.h: Fix FRAME_CHAIN types; define PRINT_RANDOM_SIGNAL + to decode i960 fault types. + + * target.h, remote.c, remote-eb.c, remote-vx.c, remote-nindy.c, + target.c: Change type of the "resume" function from int to void, + since its result was never used. + +Sat Dec 22 02:51:40 1990 John Gilmore (gnu at cygint) + + * main.c: Replace "stupid" with "caution"; you now "set caution + on or off". + + * printcmd.c (print_scalar_formatted): Fix typo in 'g' format + + * infcmd.c (do_registers_info): Call val_print to deal with the + byte order of the registers being printed. FIXME, this makes + the formatting of the output uglier. + + * infcmd.c (wait_for_inferior): If PRINT_RANDOM_SIGNAL is + defined, call it for signals the debugger doesn't itself use. + The i960 uses this for more detailed fault information. + + * remote.c (remote_open): If arg is null, print help rather than + dumping core. + + * sparc-xdep.c (register_valid): Avoid declaring size, since + various modules will think of various sizes depending on the + architecture of their tm-file. FIXME, we need protection against + actually entering one of those modules, which would clobber + storage if not for the target architecture compiled into gdb. + + * stack.c (up_command, down_command): Always print the frame + you arrive at. + (up_silently_command, down_silently_command): New commands + for use in scripts. + + * i960-pinsn.c (reg), i960-tdep.c: Lint. + + * i960-tdep.c (i960_frame_chain_valid): Lookup_symbol now takes + more parameters than it used to. + + * findvar.c (registers): Increase slop to 256 bytes, which should + protect us against even most RISC machines with large register + sets. + (locate_var_value): Move declaration inside related ifdef. + + * remote-nindy.c (): Use TIOCSETN rather than TIOCSETP + throughout, to avoid throwing away buffered input from the board. + (nindy_wait): Supply_register takes addr_of_value, not value. + (i960_print_fault): Renamed from i80960_fault. + (nindy_fetch_registers): Avoid have_regs stuff, just get them. + (nindy_store_registers): Avoid regs_changed stuff, just stuff + them. + (nindy_create_inferior): Don't bother to write PC_REGNUM since + we can set the PC in the call to proceed(). Unpush nindy_ops + before pushing it on top, to avoid message to user. Eliminate + commentary from Unix machines that just misleads here. + (reset_command): Fix error message to suggest target command. + +Wed Dec 19 11:03:56 1990 John Gilmore (gnu at cygint) + + Release 3.92.5 as frozen. + + Stabilize the merged release...with help from lint, Saber C, + gcc -W, etc. + + Everywhere: Add include files needed to declare return types + of functions called. + + * gdb.texinfo: Roland Pesch is documenting gdb, glory be! + + * breakpoint.h: Add undeclared breakpoint functions, and some + functions for display handling since I couldn't think of a better + .h to put them in. + + * breakpoint.c (insert_breakpoints): Make code for disabling + shared library bkpts more likely to work. It's used when we + rerun a program and stop before the shared library has been + mapped in. + (breakpoint_cond_eval, bpstat_stop_status): Pass arg as int, + cast from pointer, so it squeezes through catch_errors. + (bpstat_stop_status): Fix logic broken some time ago. We now + always create a bpstat if the stop address matches a breakpoint, + even if we don't stop there -- just like the old code used to do + before I got my fingers into it (sigh). + (breakpoint_1): Print "ignore count" after "stop only if" + condition, since that's how it actually works. + (mention): Handle watchpoints as well as breakpoints. + (watch_command): use set_raw_breakpoint and mention to do most + of the work (and initialize all the fields!). Only pass one + arg to parse_c_expression, since that's all it takes. + + * command.c (not_just_help_class_command): Rename arg to args + since we ignore "unused argument" warnings on vars named "args". + inflow.c (child_terminal_info): ditto. + infptrace.c (kill_inferior): ditto + main.c (catch_errors, version_info, quit_command, pwd_command, + source_command, dump_me_command, editing_info, + set_history_size_command, set_history, show_history, + set_verbose): ditto + stack.c (locals_info): ditto + target.c (target_files_info): ditto + valprint.c (set_input_radix, set_output_radix): ditto + + * core.c: Remove old variables for handling core and exec file + sections (data_start, data_end, stack_start, stack_end, + reg_stack_start, reg_stack_end, reg_stack_offset, text_start, + text_end, exec_data_start, exec_data_end, text_offset, + exec_data_offset, data_offset, stack_offset). They're + superseded the more general build_section_table and + xfer_memory. + (get_exec_file): Mention the `file' command. + (read_memory_check): Rename to memory_error, and only call it + in the case of an actual error. + (read_memory, write_memory): call memory_error. + (core_fetch_registers): Register section name is ".reg". + + coredep.c: Remove a bunch of crud now that all this file does + is pull the registers out of a core file. + (fetch_core_registers): Rewrite to actually work, I hope. + + dbxread.c: Use a.out.gnu.h, not system a.out, now. + Replace index() with strchr(). Remove all the pre-BFD macro + definitions for accessing the symbol file. + (struct dbx_symfile_info): Encapsulate the information that + dbx_symfile_init needs to pass to dbx_symfile_read in this + struct. + + (dbx_new_init, dbx_symfile_init, dbx_symfile_read, + dbx_symfile_discard): Rearrange symbol file reading to divide + the format-specific part from the format-independent part, + leaving the format-independent part such as file name expansion + and opening in symtab.c. This replaces + partial_symbol_file_open and partial_symbol_file_read. + Symbol_file_read, add_file, add_file_target_command, + add_file_addr_command move to symtab.c. Pass an explicit + "mainline" flag for when reading the main symbol table, rather + than relying on the offset address to be zero or nonzero. + + (dbx_symfile_read): Don't allow void *'s to be printed as + typedefs. + (SWAP_SYMBOL): Use bfd routines to byte-swap the symbols. + (ADD_PSYMBOL_TO_LIST): Make the "function call rather than + macro" debug version really work. + (read_dbx_symtab): Remove unref'd parameter inclink. + Avoid swapping N_SLINE symbols, for speed. + Merge N_TEXT!N_EXT case with the other external symbol + definitions' case. Add comments. + (start_psymtab): Allocate the symfile name in the psymtab on + the psymbol_obstack, rather than using the caller's storage. + (end_psymtab): Only allocate a dependencies list if there are + more than zero. + (psymtab_to_symtab_2): Use BFD when reopening file to read + its symbols for real. + (read_struct_type): Add FIXME comments where it needs work + for C++ bogosity. + (read_huge_number): Add FIXME about overflows. + (read_range_type): Add FIXME about comparing a long to 1<<32. + + * coffread.c: Minor changes to move things closer to the new + regime with symtab.c and dbxread.c Major work is still needed + here. + + * exec.c (exec_file_command): Remove old variables (see core.c + above). + (xfer_memory): If memory transfer is right at the end of a + section, don't lose. + + * findvar.c (get_saved_register): If value is in a real + register, LVAL is lval_register, not lval_memory. + + frame.h: Declare print_sel_frame and record_selected_frame. + + gdb-int.texinfo: New file, for GDB internals documentation. + Very simple, unformatted doc of cleanups is there for now. + + gdbcore.h: Remove obsolete variables that described a.out + section addresses and offsets. (See core.c above.) + Declare fetch_core_registers and registers_fetched. + + getopt.c: Declare char *alloca(); even on SPARC. + + infcmd.c (run_command): Call target_kill rather than + kill_inferior. + (step_command, next_command, stepi_command, nexti_command): + Declare from_tty parameter even though we don't use it. + (run_stack_dummy): argument BUFFER is a char array, not + a pointer to REGISTER_TYPE. + (finish_command): using_struct_return needed a value *, + not a struct symbol *. + + * infptrace.c (child_xfer_memory): To avoid dependency on + where sections are in memory, try PT_WRITE_D and if that fails, + try PT_WRITE_I. Most Unixes don't care which you use. + + * infrun.c (step_resume_break_shadow): Change to array to + match other breakpoint shadow storage. + (clear_proceed_status): Pass address of bpstat to + bpstat_clear, not the bpstat itself. + (child_create_inferior): FIXME comment about if the child + exits. + (start_inferior): Remove old function. + (child_open): Use target_kill rather than kill_inferior. + (wait_for_inferior): Ditto. + (insert_step_breakpoint, remote_step_breakpoint): Use + new step_resume_break_shadow. + + * inftarg.c (child_wait): If all child processes die, + pretend that the one being waited for exited with signal 42. + + * main.c (command_line_input): When scanning for comments, + don't coredump on unclosed quotes. + (quit_command): Use target_kill rther than kill_inferior. + (_initialize_main): Rename class_user from "user" to + "user-defined". + + * printcmd.c (print_command_1): Initialize "fmt" if no format + is specified by the user. + (print_frame_args): Only add to args_printed if we are + actually fetching args from the stack (avoiding undefined + arg_size). + (_initialize_printcmd): Remove bogus \{ from string. + + * remote-eb.c (eb_open): Avoid coredump on no argument. + + * remote-nindy.c: Bring out of Intel environment into new + target environment. Remove all conditional compilation on + I80960. Massive hacking throughout. + (nindy_xfer_inferior_memory): New routine stolen from + infptrace.c. + (nindy_create_inferior): New routine pieced together, probably + not quite working yet. + (nindy_ops): New target_ops struct for nindy. + + * remote-vx.c: Use write_memory rather than target_write_memory + to get error checking. + (vx_add_file_command, vx_open): Use symbol_file_add rather than + add_file. + (vx_create_inferior): Use target_terminal_ours... + + * signame.c (_initialize_signame): Always initialize, since + we need the table for things other than psignal. + + * solib.c (solib_add): Use symbol_file_add, not add_file. + (solib_address): Return boolean result rather than struct + pointer which nobody else knows the type of. + + * sparc-tdep.c, valops.c: Use write_memory rather than + target_write_memory, to get error checking. + + * stack.c (locals_info, catch_info, args_info, + get_selected_block, frame_command, up_command): Use + target_has_stack, rather than have_inferior_p or + have_core_file_p. + + * sun3-xdep.c (fetch_core_registers): Rewrite for new BFD regime. + + * symfile.h: New file, defining the interface between the + generic and object-file-specific symbol reading code. + + * symtab.c: Move generic symbol-reading interface to symtab.c, + from dbxread.c, coffread.c, mipsread.c, etc. Add symtab_fns + table to map BFD targets to symbol-reading modules in GDB. + Change index to strchr. + (lookup_struct_elt_type): Use error() rather than hand-made + simulations thereof. + (lookup_partial_symbol): Speedup slightly when length == 0. + (symbol_file_add): New function. + (symbol_file_command): Call it. + (symfile_open, symfile_init): New function. + (add_file_target_command, add_file_addr_command): moved from + dbxread.c. + + * target.c (target_command): use target_kill. + + * target.h (target_files_info): Don't declare, never called + from outside. + + * tm-sun2.h, tm-sun3.h (STACK_END_ADDR): Use system include + files to determine stack end address. + + * valarith.c (value_x_binop, value_x_unop): Change error message + to be more useful. Pass proper argument to value_struct_elt. + + * valops.c (value_assign): FIXME comment that long long + bitfields will break here. + + * Makefile.dist: Add symfile.h, remote-nindy.c, remote-eb.c. + Update `make saber_gdb' to work better. + + * TODO: A woman's work is never done. + + * cplus-dem.c, environ.c, inferior.h, infrun.c, inftarg.c, + main.c, obstack.c, printcmd.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, solib.c, source.c, sparc-pinsn.c, + sparc-tdep.c, sparc-xdep.c, symmisc.c, symtab.c, symtab.h + target.c, terminal.h, tm-sparc.h, tm-sunos.h, utils.c, + valops.c, valprint.c, exec.c: Lint. + + +Wed Dec 12 23:44:15 1990 John Gilmore (gnu at cygnus.com) + + Continuing Intel 960 port merge of GDB. + + * Makefile.dist: Merge i960 "nindy-share" files. Rename + malloc.h to gmalloc.h to avoid name conflicts in /usr/include. + Don't ship gdb.dvi in tar file. Link gdb with init.o, not init.c. + Wack over "make depend" so it handles files in subdirectories + vx-share, nindy-share, bfd, and in the current directory. + + * blockframe.c (get_prev_frame_info): Remove fatal error + if stack not defined. + + * core.c (core_open, core_detach): New functions that handle + the old "core-file" command as "target core" and "detach" instead. + (core_file_command): Call them. + (core_xfer_memory): Use common routine xfer_memory. + + * dbxread.c: Include a.out.gnu.h, not system a.out.h. + dbxread now uses bfd for everything but symbol reading itself. + BFD internals are used to drag out the relevant file offsets. + (partial_symbol_file_open): Change args all around for BFD. + + * symtab.c: Rename "value" to "val" everywhere, so we can + #include "value.h". + (symbol_file_command): New command, moved from dbxread.c + and coffread.c. It uses BFD to read the file, then vectors + based on its type, to dbx or coff symbol readers. + * symtab.h: Extern a few vars for symbol_file_command. + + * target.h: Breakpoint takes a char * save area, not a char **. + + * valprint.c (val_print): When unpacking bitfields, offset + the address in gdb of the value, if it is declared with a shorter + type. Remove the last "runtime kludge test" of host byte order. + + * utils.c: Remove old my_bfd_read routine. + + * stack.c (frame_info): Use target_has_stack. Print program counter + register's actual name rather than "pc", since it's called the + "ip" (instruction pointer) on the i960 (sigh). + + * target.c (target_command): Add command for selecting a target + type and calling its open routine. This is used for initiating + communication with a particular target, in a generic way. + + * tm-i960.h: Update for modern gdb. Remove semicolons from + various macros. Handle reading struct return convention, and + error-out attempts to return structs with the "return" command. + Be sure gdb doesn't think we know how to call functions in the + inferior. + + * i960-tdep.c: Rename FRAME_CHAIN_VALID and FRAME_FIND_SAVED_REGS + to i960_xxx in lower case. + (arg_address): Circumvent errors due to LOC_ARG_BLOCK + not being defined yet. + + * remote.c (remote_open): Call start_remote to initialize + wait_for_inferior during open. + (remote_xfer_inferior_memory): Return length written rather + than errno value. + + * remote-vx.c (target_command -> vx_open): Use new generic + target command. + * remote-eb.c, inftarg.c, exec.c: ditto. + + * infrun.c: Fix comments. + (attach_program -> child_open): Use new generic target command. + (wait_for_inferior): Clear saved register values before target_wait, + so target_wait can set some of them if convenient. + + * infptrace.c (fetch_inferior_registers, store_inferior_registers): + Return success indicator, not void. + (child_xfer_memory): Avoid fetching initial word if we'll + overwrite it anyway. + + * infcmd.c (attach_command): Use new generic target open routine. + (_initialize_infcmd): Update doc on attach and detach commands. + (do_registers_info): Merge in a byte-order problem as a FIXME + comment. + + * findvar.c (find_saved_register): Avoid problem in current frame. + (read_relative_register): Ditto. + (write_register): Convert byte order on the way out. + + * exec.c (file_command): Add. + (add_to_section_table, exec_command): Use new bfd_map_over_sections. + (xfer_memory): Common function between core_xfer_memory and + exec_xfer_memory. + (exec_xfer_memory): Use it. + + * pn-opcode.h: Document that a "PN" is a Gould PowerNode. + + * breakpoint.c, breakpoint.h, symtab.h, value.h, frame.h, utils.c, + valops.c, stack.c, target.c, sparc-xdep.c, source.c, printcmd.c, + infcmd.c, i960-pinsn.c, eval.c, defs.h: lint and gcc -Wall. + +Sun Dec 2 16:45:06 1990 John Gilmore (gnu at cygnus.com) + + Merge Intel 960 port of gdb, continuing... + + * dbxread.c (partial_symbol_file_open, partial_symbol_file_read, + symbol_file_command): Pass from_tty arg to hush 'em up. + + * coffread.c (symbol_file_command): Avoid output if from_tty != 1. + Add magic numbers for 960 COFF format. + +Fri Nov 30 09:18:20 1990 John Gilmore (gnu at cygnus.com) + + Merge Intel 960 port of gdb, from Intel "1.2" release. + + CHANGE_LOG entries from their port, which was based on + gdb+-2.8.0: + + Thu Sep 6 11:02:22 PDT 1990 + Remove temp file if download is interrupted. + + Wed Aug 1 09:08:33 PDT 1990 + Now uses binary protocol to talk to NINDY. + Old hex protocol (NINDY 2.13 and older) supported with -O switch. + Times out after 5 seconds when trying to talk to NINDY. + + Tue May 29 12:54:49 PDT 1990 + Added variable baud rate (-b switch). + Source code reorganization. + + Thu Apr 26 11:09:55 PDT 1990 + More cleanup of batch mode; specifically, execute "-s", "-e", and + "-se" switches as soon as they are encountered on the invocation line. + + Fri Apr 20 13:47:15 PDT 1990 + Add -brk switch. + + Thu Apr 19 09:54:28 PDT 1990 + Add 'reset' command. + + Wed Apr 18 09:48:07 PDT 1990 + After opening remote tty, wait for 1 second to go by without input + from it before trying to talk to NINDY (fixes problems with the + Heurikon HK80/V960E). + + Mon Apr 4 16:33:05 PDT 1990 + Some output was not being suppressed in 'batch' mode. + + Thu Mar 22 15:31:11 PST 1990 + Ask user if old symbol table should be deleted when new file is + downloaded. + + Allow user to run a program downloaded before gdb960 was brought up. + + Correct "exec-file" help message for i80960 context. + + Correct bug in calculating user space address: could occasionally + corrupt user program. + + Make sure to zero low-order bits in rip's because of bug in 960CA + A-step part: could cause operation faults when "next"ing across + a function call. + + Correct bug that made it impossible to get source line numbers for + code loaded at addresses higher than 0x7fffffff. + + Wed Jan 10 12:43:22 PST 1990 + Open remote tty for exclusive use. + + Fri Jan 5 12:14:42 PST 1990 + Correct disassembly (CA manual was right after all): + opcode for sysctl is 0x659 + + Mon Oct 23 12:03:04 PDT 1989 + Use G960BASE and G960BIN environment variables to find 'sx' utility. + + Mon Oct 16 14:15:09 PDT 1989 + "sfr0"-"sfr31" should have been named "sf0"-"sf31" + + Mon Oct 2 15:56:31 PDT 1989 + + Added 960CA disassembly support. + + To simplify maintenance: + - eliminated use of symblic links on pinsn.c: use i960-pinsn.c + directly instead. + - eliminated opcode.h: incorporates tables into i960-pinsn.c + - moved 960-specific routines from i960-pinsn.c to i960-md.c + - made disassembly interface identical to that in gdmp960. + + + +Wed Nov 28 21:32:48 1990 John Gilmore (gnu at cygint) + + * target.h: Allow targets to stack. Add target_has_memory, + _registers, etc. Restructure memory access and "info files" + to walk the target stack. + * exec.c, core.c, inftarg.c, remote.c, remote-vx.c, remote-eb.c, + target.c: Change tables to match target.h. + * inflow.c (child_mourn_inferior): pop child_ops. + (generic_mourn_inferior): Use new has_stack flag. + * infptrace.c (child_xfer_memory): New memory regime. + * inftarg.c (child_files_info): New "info files" regime. + * remote-eb.c: New memory regime, new info files. + * remote-vx.c: New memory regime, new info files. Now use + separate targets for VxWorks attachment to machine, and + actually running a process under VxWorks, since one has + stack & execution & regs and the other doesn't. + * remote.c: New memory regime, new info files. + * sparc-xdep.c (fetch_core-registers): New memory regime. + * target.c: New routines and support for stacked targets, + new memory regime, new info files regime. + + + Generalize section handling for an arbitrary number of sections, + including use of the new BFD (binary file) library. + * gdbcore.h: Add struct section_table. + * exec.c (build_section_table): Iterate all sections and + record what gdb needs to know about them. + (exec_command): Use it. + (exec_xfer_memory): Use the table. + (exec_files_info): Print the table. + * core.c (core_file_command, core_xfer_memory, core_files_info): + Likewise. + * source.c (find_source_lines): Use bfd_get_mtime. + * dbxread.c: Quick changes to make it compile with new BFD. + * utils.c (error): Avoid using bfd_error in generic routines. + + * core.c (core_fetch_registers): Get from the ".regs" section of + the BFD core file. + * sparc-xdep.c (fetch_core_registers): Use the .regs info. + + * inferior.h (attach_flag): Export. + * infcmd.c (run_command): use new target_create_inferior. + * infrun.c (child_create_inferior): Don't return result. + * Makefile.dist (VERSION): 3.91.4. + +Fri Nov 23 28:15:38 1990 John Gilmore (gnu at cygint) + + * breakpoint.c (bpstat_num): Handle breakpoints which have + since been deleted, such as temporary breakpoints. + infcmd.c (program_info): ditto. + + * core.c (core_file_command): Display the frame where the core + dump occurred. + + * main.c: lint. + + * remote-vx.c (target_command): Merge in target command from + targ-vx.c. A few other cleanups. + + * TODO, Projects: Lots more stuff to do... + +Fri Nov 23 18:15:38 1990 John Gilmore (gnu at cygint) + + Massive changes to wall off the remote-debugging interface + behind a function vector. The port to handle VxWorks targets + is also part of this. + + All files: Replace references to renamed functions, + remove references to remote_debugging, remove references to + have_include_file, have_core_file in favor of target_has_stack, + target_has_memory, etc. + + * Modularize the breakpoint interface. + breakpoint.h (BREAKPOINT_MAX): New define sets max length of + a breakpoint instruction. + breakpoint.c: struct breakpoint's shadow_contents now sized as + BREAKPOINT_MAX. + (insert_breakpoints): Vector to target to install breakpoints. + (remove_breakpoints): Vector to target here too. + Remove REMOTE_SA_SPARC kludges and other remote_debugging. + sparc-tdep.c (single_step): Use new breakpoint interface for + the single-step breakpoints. + mem-break.c (memory_insert_breakpoint, memory_remove_breakpoint): + New file, contains routines to insert and remove breakpoints by + reading out the old contents and later replacing them. This is + how ptrace breakpoints work, and many remote systems as well. + + * tm-vxworks68.h: New config file, overrides a few things for + Wind River's preferences. + + * target.h: New file, for transfer vector used to talk to the + inferior (child, attached, core, exec, remote, etc). All accesses + to the thing being debugged should come through these vectors. + target.c: New file, routines to handle transfer vector. + (various files): Add transfer vectors XXX_ops for the various + targets and pseudo-targets (core files, etc) we support. + + * breakpoint.c (bpstat_stop_status): Further explorations of + watchpoints and why things don't work all the time. + (bpstat_alloc): New fn to allocate a bpstat and chain it. + + * config.gdb: Only add "source ${srcdir}/.gdbinit" to + the local gdbinit if it doesn't already have it. + + * core.c (core_ops): add and install. + Allow core debugging without exec file. + + * dbxread.c (free_and_init_header_files): Merge two fns. + (end_symtab): Free named symbol table when a new version comes in. + (read_dbx_symtab): Relocate all kinds of symbols with base + address. First step toward handling different text, data, bss + reloc. + (add_file_addr_command): Renamed add_file_command. + (add_file_command): Vector to remote handler. + Add "load" as an alias for "add-file" command. + + * defs.h: Allow "volatile" to be used in non-ANSI; use it for + non-returning functions. + + * exec.c: Add exec_ops, and push it as a target when an exec + file is specified. + + * infcmd.c (run_command): Pass executable file name and arg list + separately when starting an inferior. Permit "run" when no exec + file is specified, for VxWorks. + (detach_command): Move to child_detach in inftarg.c. + + * inftarg.c: New file. Unix-child-specific routines, and the + child_ops structure. + + * inferior.h (registers): Export "registers" as the way for + target dependent register handlers to find gdb's local copy of + the registers. Rename "stop_after_attach" to "stop_soon_quietly" + since it is now used by places that want wait_for_inferior to + handle the grunge but want to see every trap from the inferior. + + * inflow.c (create_inferior): Pull out, and merge into infrun.c. + Eliminate remote_debugging hooks in terminal handling. + + * infrun.c: Replace start_inferior with child_create_inferior. + Move all the hair of Unix shells and ptrace idiosyncracies into + child_create_inferior, so remote handlers don't have to deal. + Remove running_in_shell. Rename stop_after_attach to + stop_soon_quietly, and use it in a few other places where we want + to just call wait_for_inferior and get control back on the first + trap. trap_expected now never takes a value > 1. + (init_wait_for_inferior): Initialize static vars when a new + process is created. + + main.c (gdbinit): Add new hook for .gdbinit file name, let + it be overridden by config files as GDBINIT_FILENAME. + (DEFAULT_PROMPT): Add new hook for overriding (gdb) prompt. + Both of these are used for VxWorks gdb. + + mcheck.c: rename include file "gmalloc.c" to avoid problems + with system include file "malloc.c". + + param-no-tm.h: New include file, same as param.h but does not + include the default "tm.h" file. This is used in files where + the target is known, e.g. remote-eb.c or sparc-xdep.c. + + param.h: Now just a shell that includes tm.h and param-no-tm.h. + + remote-vx.c: New file, VxWorks remote debugging support. Uses + RPC routines that are shared with the target system, in directory + ${srcdir}/vx-share. + + remote.c: Vectorize remote interface. + + source.c: Globalize source_path, and make an alias "l" for "list" + since we now have the "load" command. + + sparc-xdep.c: Use new param-no-tm.h. + + symmisc.c (free_named_symtab): Add new function from Wind River. + However, ifdef it out for now while we think about what it should + really be doing. + + tm-sun3.h, xm-sparc.h, xm-sun3.h, xm-symmetry.h: Move + PREPARE_TO_STORE to + the xm- file, and change its name to CHILD_PREPARE_TO_STORE, since + non-Unix-children handle this with their own code in the target + transfer vector. + + Makefile.dist: Roll version to 3.92.3. Add vx-share stuff to + source and target lists. Add vx-share to default list of include + directories. Add new files to src and target lists: mem-break, + target, inftarg, remote-eb, remote-vx, targ-vx. Be sure the + ${srcdir} versions of munch and createtags are used. + + * valops.c (find_function_addr): Split out of call_function. + (call_function_by_hand): Rename call_function; this function + calls functions in the target by laboriously patching the target + word-by-word with the right stack, args, regs, etc. + + +Mon Nov 5 17:29:10 1990 John Gilmore (gnu at cygint) + + Handle AMD 29000 a bit better. + + * remote-eb.c (readchar): Mask received char log to make it readable. + (remote_start): Pass arguments down to executing program. + Make startaddr unsigned. + infrun.c (start_inferior): Accept args, pass them to + remote_start. + infcmd.c (run_command): Pass args down to start_inferior. + + * tconfig/am29k-aout, tconfig/am29k-coff: New files specifying + the target object file format. + tm-29k.h: Pay heed to COFF_ENCAPSULATE. + + * am29k-pinsn.c (print_insn): Print 0x on hex numbers in disassembly. + am29k-tdep.c (examine_prologue): Better checking of function prefixes. + +Sun Oct 7 18:20:45 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): Roll version to 3.91.9 and freeze. + * TODO: We did a few things, we have more to do though. + + * xm-sparc.h (CLEAR_DEFERRED_STORES): Define. + * inflow.c (inferior_died): Clear deferred stores. + + * Debug problems with dummy frames and calls to the inferior. + * tm-sparc.h (PUSH_DUMMY_FRAME, POP_FRAME): Move to sparc-tdep.c. + * sparc-tdep.c (do_restore_insn): Simplify. + (sparc_frame_find_saved_regs): Simplify and fix what we find. + (sparc_push_dummy_frame): Simplify and fix what we push. + (sparc_pop_frame): Slightly more hair here, deciding whether + we are restoring a saved PC or returning to a return address in %i7. + * sparc-xdep.c (read_inferior_registers): Debug if valid reg is read. + + * utils.c (xmalloc, xrealloc): Return type depends on __STDC__. + * symtab.h (xmalloc): ditto, for obstack_chunk_alloc. + * obstack.h (chunkfun): ditto. + * defs.h (xmalloc, xrealloc): ditto + + * utils.c (quit): Grab the terminal from the child if necessary. + + * inflow.c (term_status_command): Rename to term_info, change + to "info terminal". + + * sparc-pinsn.c (print_insn): Disassembly prefers real instructions. + (is_delayed_branch): Speed up. + * sparc-opcode.h: Add ALIAS bit to aliases. Fix up opcode tables. + Still missing some float ops, and needs testing. + + * Support for input and output radixes other than base 10 + * defs.h (input_radix, output_radix): Declare. + * expread.y (yyparse, parse_number): Handle changes of input + radix, and ambiguous names-or-numbers in radixes >10. + * printcmd.c (print_scalar_formatted): Print formatted hex + numbers in varying column widths. + * valprint.c (val_print): Use output_format to print scalar ints. + (set_input_radix, set_output_radix, set_radix): Create. + (set_output_radix): Set output_format from output_radix. + (_initialize_valprint): add `set radix' but leave the others off. + + * main.c (execute_command): Let stupid questions be turned off. + (_initialize_main): Handle "set stupidity", etc. + + * main.c, inflow.c, inferior.h, frame.h, command.c, defs.h, + sparc-pinsn.c, sparc-xdep.c, value.h, valops.c, values.c: Lint. + +Tue Oct 2 11:20:02 1990 John Gilmore (gnu at cygint) + + * TODO, Makefile.dist, ChangeLog: Freeze for 3.91.8 release. + bfd stuff is still screwed up, but with some manual work, it + compiles. + + * breakpoint.c (bpstat_do_actions): Start over if a command + proceeds the inferior, since the inferior will have stopped and + will need to have its new stop-actions taken care of. + + * dbxread.c (read_struct_type): Expression gives Sun3 4.0.3 + compiler fits, simplify it. + + * gdb.texinfo (directory command): Doc new dir command. + source.c (directory_command): "dir" now puts things on the front + of the path, moves dups up front, and handles multiple names + on the command line, inserting each one in order. It also + blows away cached line and full_filename info. + + * stack.c (backtrace_command): Skip "more stack frames follow" + unless interactive. + + * Change #ifndef HAVE_VPRINTF to #define MISSING_VPRINTF in + xm-convex.h, xm-hp300bsd.h, xm-isi.h, xm-merlin.h, xm-news.h, + xm-np1.h, xm-pn.h, xm-pyr.h, xm-symmetry.h, xm-umax.h, xm-vax.h. + The only odd one was Gould NP1, which had defined vprintf to + "printf"!!! + + * Merge Ted Goldstein 's changes for epoch. + printcmd.c (print_command_1): Pass 'inspect' flag down as a global + variable, inspect_it. + valprint.c (print_string, val_print): Use the global inspect_it + to indicate whether to print in Epoch style or normal style. + +Mon Oct 1 23:55:26 1990 John Gilmore (gnu at cygint) + + * printcmd.c (call_command): add an alias for the "print" command + which runs expressions and doesn't print the result if void. + (print_command_1): implement it. + + * command.c: Remove #if 0'd code. Initialize all the fields + in add_cmd (). Rename do_nothing_command to + not_just_help_class_command, and make it externally visible. + command.h: add user_commands to struct. + * main.c (define_command): Don't overload c->function with a char + string as well as a function pointer. + + * eval.c (evaluate_subexp): Reinstall tiemann changes to + calling convention of value_struct_elt () that got dropped in + merge. + + * tm-sparc.h (FRAME_FIND_SAVED_REGS): move to sparc-xdep.c. + sparc-tdep.c (sparc_frame_find_saved_regs): ditto. + + * tm-sparc.h (POP_FRAME): replace some constants with defines. + + * sparc-xdep.c (store_inferior_registers): defer stores to regs + until a good time (e.g. when we are about to run the child), + saving ptrace calls. + * infrun.c (proceed): handle DO_DEFERRED_STORES. + * tm-sparc.h: define DO_DEFERRED_STORES. + + * sparc-xdep.c (store_inferior_registers): when storing float + registers, don't store stack regs too. When storing the SP, + however, DO store the stack regs too. This fixes a bug in which + the dummy frame is not recognized when a call_function finishes, + because its frame pointer (in the stack regs) was never + initialized. + (read_inferior_registers): Mark WIM and TBR and FPS and CPS valid + even though we don't know how to read them from an inferior. + valops.c (call_function): Comment about storing SP. + + * infrun.c (save_inferior_status): Save away the original bpstat + chain so it can be restored later. Install the copied version for + use by whoever saved the status. It will be blow away by + restore_inferior_status, and the original chain restored. This is + important for people who have pointers into the original. + + * breakpoint.c, command.h, copying.awk, dbxread.c, defs.h, + findvar.c, frame.h, obstack.h, obstack.c, inflow.c, value.h, + main.c, printcmd.c, sparc-tdep.c, symtab.c, valprint.c: lint + + +Fri Sep 28 20:32:46 1990 John Gilmore (gnu at cygnus.com) + + * Makefile.dist: Roll version to 3.91.8. Add bfd.h and bfdconfig.h + temporarily to the makefile. Add am29k-opcode.h and WHATS.NEW. + Add stuff.c and kdb-start.c to the OTHERS list for tar files. + +Fri Sep 28 19:12:12 1990 John Gilmore (gnu at cygint) + + * Merge Mike Tiemann's multiple inheritance changes from Sun. + Store the baseclasses in a type struct starting from array element + 0 rather than from the unusual array element 1. + + dbxread.c: the above. + (virtual_context): Add + Read new debug information about which virtual function table + a virtual function is from, and store it in fn_field.fcontext. + + symtab.h: Add fcontextt. Fix baseclass indices. Typo in + TYPE_FN_FIELD_STATIC_P. + + symtab.c: the above. + valops.c: the above. Handle pointer casts of object *'s. + (search_struct_method): Add. + (value_struct_elt): First arg is now a pointer to a value, and is + modified on return. + + valprint.c: the above. + values.c (value_virtual_fn_field): Add type arg. Handle + offsetting to the proper object when calling virtual fns. + The above. + (baseclass_addr): Add valuep arg. + + * README: Document the current state of BFD config (missing). + * TODO, ChangeLog, Makefile.dist: Roll version. + * WHATS.NEW: Add summary of changes since 3.5. + +Thu Sep 27 16:23:12 1990 John Gilmore (gnu at cygint) + + * dbxread.c (read_struct_type): Clear bit vectors whenever + we allocate one. + symtab.c (B_CLRALL): define. + + * tm-sparc.h (STORE_RETURN_VALUE): Avoid clobbering types by + using == rather than =. Huh... This fixes the dreaded problem + wherein builtin_type_int becomes TYPE_CODE_FLT. + + * core.c (info_files): Show the inferior pid. + + * config.gdb: Avoid putting "dir" command into .gdbinit. GDB + already knows how to look in the source directory. + + * Remove psymtab hair from many places. Remove duplicated code + for searching symbol tables. Hide psymtabs from most places. + Make it fast to get from a psymtab to its symtab. + + blockframe.c (blockvector_for_pc): Remove psymtab hair. + coffread.c (psymtab_to_symtab): Rename to psymtab_to_symtab2. + mipsread.c (psymtab_to_symtab): Rename to psymtab_to_symtab2. + dbxread.c: export psymtab_to_symtab, make it work if called N times. + (psymtab_to_symtab): Rename to psymtab_to_symtab2. Initialize + new symtab completely. New psymtabs get symtab pointer + initialized to zero. Remove MI warning printf. + symtab.h: Comments. Add psymtab to symtab pointer. + (PSYMTAB_TO_SYMTAB): New macro. + symtab.c: use PSYMTAB_TO_SYMTAB. Add psymtab_to_symtab and export it. + source.c: use PSYMTAB_TO_SYMTAB. Remove symtab version and + compilation fields. + stack.c (backtrace_command): Avoid pre-pass to read symbols, if + verbose is not set. + (print_frame_info): Avoid special-casing symbols that have not yet + been read in. + + * source.c (open_source_file): Quick path if we have already + located the source file by its full name. + + * symtab.c (lookup_symbol): Use find_pc_symtab rather than + find_pc_psymtab. When a name is found in the misc function + vector, search the symbol table for its mangled name, not the + name that the user typed. + + * bfd.h: Fix missing comment terminators, make #endifs match. + + * valarith.c (value_less): Handle unsigned int comparisons. + Add FIXME about pointer compares, which assume host and target + pointers are the same. + + * command.c (do_nothing_command): lint + dbxread.c: lint. Remove sort_syms. Document C++ visibility info, + fix comments on debug symbol format for visibility. Actually set + visibility of symbols. + main.c (echo_command): lint; use . + tm-sparc.h (FRAME_FIND_SAVED_REGS): lint + obstack.h (_obstack_blank): Rearrange pointer math to avoid + pointing past end of allocated memory; saber complains. + obstack.h: Declare the external functions that we use. + valarith.h: use + solib.c (solib_add): lint. + +Fri Sep 21 17:05:19 1990 John Gilmore (gnu at cygint) + + * main.c (initialize_main): Default info_verbose to off, now that + symbol reading is fast. + (quit_command): Avoid clobbering exec_bfd while quitting. + + * Initial BFD (binary file diddling library) merger: + coffread.c: Change AOUTHDR to struct exe_hdr. + dbxread.c: ditto. + core.c: initialize initialized data at compile time. + (core_file_command): Move from coredep.c, convert to bfd. + (xfer_core_file): Convert to bfd. + exec.c (exec_file_command): use bfd routines. + gdbcore.h: BFD. + mips-tdep.c: Remove exec_file_command and friends. + source.c: bfd. + + * coredep.c: (fetch_core_registers) Convert core_file_command to + fetch_core_registers. + mips-xdep.c, sparc-xdep.c, sun3-xdep.c: ditto. + + * utils.c: (error): Bogus crap, FIXME, to print bfd errors. + (my_bfd_read): More bogosity, which I don't think we call. + (program_name): Remove this atrocity asap! + +Wed Sep 19 13:36:41 1990 John Gilmore (gnu at cygint) + + * From Per Bothner: + values.c: allocate_repeat_value was not clearing the + optimized_out field. + (value_static_field): minor stylistic fix (wrong macro was used). + valops.c (value_struct_elt_for_address): didn't work for C++ + static fields. + + * signame.c (_initialize_signame): Initialize signal names once. + + * breakpoint.h, command.c, copying.awk, defs.h, environ.c, + exec.c, frame.h, infcmd.c, inferior.h, main.c, munch, sun3-xdep.c, + symtab.h, tm-29k.h, valprint.c, value.h, values.c: Lint. + + * remote-eb.c: Support user-settable baud rates on the serial port. + + * tm-sun3.h (PREPARE_TO_STORE): fix typo. + +Fri Sep 14 13:28:29 1990 John Gilmore (gnu at cygint) + + * tconfig/sun3os4: Remove warning about native assembler, + since it also occurs in the xconfig file. + + * findvar.c (registers): Allocate some slop after `registers' + to prevent stray accesses from trashing the next variable. + + * tm-68k.h (REGISTER_BYTES): Allocate the right number of bytes + on the sun-3, by changing the #ifdef from `sun3' (which is not + defined by cc) to `sun'. Symptom was trashed builtin_type_XXX + vars, which happened to follow `registers' in the executable. + + * readline/history.c (history_search): Heed gcc-2's advice + and parenthesize && inside ||). + + * am29k-opcode.h, am29k-pinsn.c, am29k-tdep.c, remote-eb.c, + tm-29k.c: Insert FSF copyright headers. + + * remote-eb.c: Better comments. + + * Makefile.dist: Update to 3.91.6. + * TODO: note PREPARE_TO_STORE problem. + +Thu Sep 13 09:52:33 1990 Jim Kingdon (kingdon at cygint) + + * stack.c (frame_info): Only use FRAME_FIND_SAVED_REGS if defined. + + * remote.c: Wrap the whole file in #if !defined (SPECIAL_REMOTE). + + * infrun.c (wait_for_inferior, at end): Don't set up + prev_* if the inferior no longer exists. + + * inferior.h (CALL_DUMMY_LOCATION): New macro, to replace + CANNOT_EXECUTE_STACK. + valops.c (call_function): Use it. + + * tm-convex.h: Add CALL_DUMMY_LENGTH for use by PC_IN_CALL_DUMMY. + + * inferior.h (PC_IN_CALL_DUMMY): New macro. + infrun.c (wait_for_inferior, 2 places): Use it. + + * values.c (value_being_returned): Only use + EXTRACT_STRUCT_VALUE_ADDRESS if defined. + + * Move PREPARE_TO_STORE from xm-sun3.h to tm-sun3.h to do the + right thing for remote-eb.c. + + * sun3-xdep.c: Remove extraneous call to remote_store_registers. + * sun386-xdep.c, hp300hpux-xdep.c, sparc-xdep.c: Ditto. + + * blockframe.c: Put get_frame_saved_regs inside #if !defined + (FRAME_FIND_SAVED_REGS). + + * findvar.c ({fetch,store}_registers): Check for + REMOTE_{FETCH_STORE}_REGISTER macro. + + * findvar.c (get_saved_register): Add argument lval and + change meaning of argument addr. + findvar.c: Change calls to get_saved_register to reflect + new calling convention. + valops.c (value_assign): Use get_saved_register instead of + find_saved_register. + +Sun Sep 2 12:40:20 1990 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (read_one_sym): Make temp_aux an AUXENT, not + an (uninitialized) pointer to one. Use "&" when passing it + to fread. + +Fri Aug 31 22:57:54 1990 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (getfilename): Use DGUX x_offset and x_name if + defined. + + * coffread.c (symbol_file_command): Put semicolon after + "int from_tty". + Put safe_to_init_tdesc_context in #if defined (TDESC). + Put #ifdef TDESCs in 1st column for non-ANSI cpp's. + coffread.c: #include . + (read_coff_symtab): Typo: in_source_files -> in_source_file. + Add missing ')' in check for "lc%" and friends. Remove + extraneous '}'. + Declare read_one_sym() at top of file. + (read_file_hdr): Put in extra #ifdefs so MC68MAGIC and + MC68WRMAGIC can have the same value without causing a duplicate + case. + +Thu Sep 13 15:55:36 1990 John Gilmore (gnu at cygint) + + * Allow a Makefile to be built without building the + tm and xm file links that screw up builds in subdirectories. + This is done with `config.gdb none', then you can do things + like `make gdb.tar.Z'. + * tconfig/none: Config file for no target system + * xconfig/none: Config file for no host system + * config.gdb: If no TM or XM files are called out by the + host or target file, don't make links for them. + + * cplus-dem.c: Add documentation. + + * dbxread.c (read_ofile_symtab): Turn a fatal error into a + simple error, so the user's gdb doesn't crash due to some object + file problem (e.g. somebody is rebuilding the file out from under + gdb). + + * printcmd.c (print_address_symbolic): demangle the symbol. + + * Makefile.dist (OTHERS): Remove tdesc-lib because it has + Motorola copyrights in it. Make "make gdb.tar.Z" work. + (alldeps.mak): sort and uniq all results from this; duplicates + hose gdb.tar.Z link building. Remove RCS files from + tconfig and xconfig. Add config files for sun386. Add + a few odd files to OTHERS and HFILES. + +Mon Sep 10 21:20:24 1990 John Gilmore (gnu at cygint) + + * Makefile.dist: Pull solib.c to tconfig/sun?os4. + Roll version number to 3.91.5. Make lint work in bindir. + + * README: Document cross-debugging and new file structure. + + * blockframe.c: Lint. Include "value.h" to declare read_register. + (find_pc_partial_function): remove duplicate line. + + * command.h: Lint. Declare error_no_arg and dont_repeat. + + * tm-news.h: Remove inadvertently duplicated stuff. + + * mipsread.c: Remove cache_pc_function stuff, now done cleanly. + Clean up usage of misc_function_type. Declare some CORE_ADDRs. + + * config.gdb: Allow `config.gdb host target' form. Clean + up previous change that printed bogus messages when you just said + `config.gdb'. + + * core.c: #include "command.h" for lint. + * dbxread.c: lint + * eval.c: lint + * main.c: Remove some casts of enums. Lint. + * source.c: lint + * symtab.c: lint + * symtab.h: lint + * expread.y: lint + * valarith.c: lint + + * printcmd.c (initialize_printcmd): Fix thinko in inspect cmd. + + * sparc-tdep.c (isannulled): Take instruction as parameter, don't + read it from memory. This will allow us to save ptrace calls + eventually. Changed caller single_step too. + + * sparc-xdep.c (fetch_inferior_registers): Avoid reading regs + that we aren't going to use, saving many ptrace calls, especially + when watchpointing or single stepping. Use some #define's for + constants. + (store_inferior_registers): Ditto. + (core_file_command): Use some #define's for constants. + + * tm-sparc.h: Add #define's for some register numbers, so we + can eliminate the use of random constants in sparc-xdep.c. + + * stack.c (frame_command, print_frame_info, up_command, + down_command) Remove frame_changed, since it + causes a bug and doesn't seem to do anything useful. In some + places it was used as a flag, in others as a stack level (?). + + * utils.c: Use MISSING_VPRINTF rather than HAVE_VPRINTF, so the + default is to use the portable (vprintf) version rather than the + kludge version. + * xm-news.h (MISSING_VPRINTF): Add. + + * valprint.c (val_print): Demangle fancy vtbl printouts. Lint. + +Sat Sep 8 00:24:12 1990 John Gilmore (gnu at cygint) + + * Remove stuff that forces -Bstatic linking of gdb, and warnings + about linking debugged programs -Bstatic in the sun?os4 config + files in tconfig and xconfig subdirectories. + + * main.c (main): Remove unreached exit(0) now that we exit + via quit_command(). + + * Create TODO file for online bug list. There are too many + "little" bugs to keep track of on paper. + + * Change Projects file to refer to bug-gdb@cygnus.com + rather than kingdon@ai. + +Fri Sep 7 23:35:15 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): 3.91.4 now. + + * symtab.c (init_misc_bunches): Rename from init_misc_functions. + (condense_misc_bunches): Add sanity check that misc_count is + the same as the number of symbols in the bunch. + + * coffread.c: rename init_misc_bunches. Pass an argument + to condense_misc_bunches (a zero). + + * dbxread.c (partial_symbol_file_read): Call init_misc_bunches + every time we are called; don't rely on our caller to do it. + (add_file): Remove call to init_misc_bunches. + + * mipsread.c: Only warn, don't error, if unknown symbol types. + This keeps an old gdb from falling on its face if it sees newly + extended symbol info. Rename init_misc_bunches. + +Fri Sep 7 22:58:15 1990 John Gilmore (gnu at cygint) + + * Merge in changes from Per Bothner for DECstations and other + MIPS stuff. The rest is Bothner speaking: + + The next message is a merger of Alessando Forin's mips port with + mine. I've tried to use my good if biased judgment to get + the best of both. It *does* need testing. + + Some of the changes are general, *not* mips-specific. + + param.h: + Didn't believe in little-endian bit order. + There are still inconsistencies about whether flags + like BITS_BIG_ENDIAN are integer (#if ...) or + boolean (#ifdef ...). I tried to paper over them. + + dbxread.c,coffread.c,mipsread.c,symtab.c,symtab.h: + Moved some misc_function code that was common to + {dbx,coff,mips}read.c to symtab.c. + In the process, I think I cleaned things up a bit. + At the same time, moved obsavestring and obconcat to symtab.c. + + dbxread.c: + Removed obsolete condense_addl_misc_bunches (use + condense_misc_bunches(1) instead). + + exec.c: + Needed to include , at least on DECstations. + + valops.c, mips-tdep.c, tm-mips.h: + Added PUSH_ARGUMENTS macro to support funny argument-pushing + conventions (when STACK_ALIGN is insufficient). + Needed on mips, where doubles need 8-byte alignment, + but ints only need 4. + + mips-opcode.h: + Removed cruft that was not being used. + Merged in many fixes (most from Frank Yellin, fy@lucid.com). + + mips-pinsn.c: + Print $ before register-names (I think that makes things a little + more consistent). + Never print two instructions, even if one delays. + Removed hex-disassemble set_cmd. (This is not mips-specific, + so I think the argument is whether it is generally worthwhile or not. + I'm inclined to think not, given how easy it is to + convert between radixes in gdb.) + + mipsread.c: + This is basically Alessando's code. + It doesn't use obstacks; I changed it to use obstacks + in a few minor places where using malloc causes a + memory leak. (Probably, more places could/should be changed.) + I added record_misc_function where it was missing. + In symbol_file_command and add_file_command, I tried + to make the code consistent with more recent versions. + Minor sylistic changes in parse_procedure. + Make a .gdbinfo. psuedo-symbol point back to the real + procedure symbol (using the isym field). + + mips-tdep.c: + This is basically from my port, but with a lot of details + and a number of routines merged in from Alessando's version. + I basically used my code "raw" backtrace (use heuristics + from the actual code, rather than symbol table info) - though + the idea is Alessandro's. I feel my code is a little cleaner + here, particularly in being a little more flexible, such as being + able to handle gcc-produced code (which it now can). + It also doesn't do frame caching (which is not useful + more recent gdb versions). + I also used my code for push_/pop_dummy, more or less. + I tried to incorporate AF's code for testing sigtramp + while backtracing; I probably got it wrong. + Added mips_print_register, which tries to scrunch as much + information as possible on a screen... + Removed the skip-prologue set_cmd. As with hex-disassemble (see + under mips-pinsn.c), I don't see anything mips-specific here, + and I don't see it being all that useful anyway. + + tm-mips.h: + Added a $fp psuedo-reg distinct from $fp (nice for gcc). + Use more register names (rather than hard-cases numbers). + +Thu Sep 6 18:33:15 1990 John Gilmore (gnu at cygint) + + * Hack up 3.90.11 changes: + + * Makefile.dist (depend): parameterize $(GCC). + Add solib.c and solib.o. + (readline): Fix vpath for both absolute or relative SRCDIR. + + * blockframe.c: Fix from Schaefer@asc.slb.com for shared libs. + Also, let the part I didn't understand at least compile so + I can test the rest. FIXME. + + * dbxread.c: Fix thinko using strcmp. + (init_psymbol_list): declare static. + (partial_symbol_file_open): Comment cleanups better, avoid + cleaning up the string table since the caller will do that. + Move the stat for mod time into symbol_file_command, temporarily. + (There should be a mod time for each symbol file, eventually, + to control its rereading. FIXME.) + + * infptrace.c (PT_WRITE_D): use same value as PT_WRITE_I for + SunOS, which gives error for shared libs otherwise. (From + Schaefer, probably FIXME needs work for portability.) + + * solib.c: Move #include "param.h" to work. + Lowercase all the Uppercase Letters In the Messages. + (find_solib): Clean up inferior_so_name for debug printouts. + Allow no argument, to mean all shared libraries. + + * symmisc.c: include param.h to get CLEAR_SOLIB. + +Wed Sep 5 18:00:08 1990 John Gilmore (gnu at cygint) + + * Merge in Kingdon's changes from FSF: the diffs from 3.90.9 + to 3.90.11. ChangeLog entries below are from this. + +Wed Jun 13 09:17:39 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Version 3.90.11. + + * Makefile.dist (HFILES): Add tm-sunos.h. + +Tue Jun 12 16:15:26 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.10. + + * Makefile.dist (gdb.tar.Z): Change linking of config so it works. + +Thu Jun 7 16:22:27 EDT 1990 Jay Fenlason (hack@ai.mit.edu) + + * sparc-opcode.h Added single-operand version of rett. + +Mon Jun 4 18:12:31 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * m-sparc.h (REG_STRUCT_HAS_ADDR, STRUCT_ARG_SYM_GARBAGE): + Put parens around gcc_p in expansion. + +Thu May 24 15:44:51 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * utils.c (lines_to_list): Return 10 if lines_per_page == 0. + +Wed May 23 16:36:04 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Changes for Sun shared libraries: + blockframe.c (find_pc_partial_function): If a non-text symbol + is found, set *address = pc - FUNCTION_START_OFFSET. + breakpoint.c (insert_breakpoints) [DISABLE_UNSETTABLE_BREAK]: + Disable breakpoints instead of giving an error. + source.c (select_source_symtab): Initialize cs_pst. + symmisc.c: Call CLEAR_SOLIB if defined. + symtab.h: Make text{low,high} CORE_ADDR not int. + (psymtab): New field addr. + solib.c: New file. + dbxread.c: Move DECLARE_FILE_HEADERS outside functions. + (record_misc_function): Give correct type for N_DATA symbols. + (condense_misc_bunches): do "misc_function_count = j" regardless + of inclink. + Take code which is shared between symbol_file_command and + add_file_command and put it into partial_symbol_file_{open,read}. + Split add_file_command into add_file_command and add_file. + Make psymtab_to_symtab read in the string table if the file + is not symfile. + Two new parameters to read_dbx_symtab and start_psymtab. + tm-sunos.h: New file. + +Tue May 22 17:43:03 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infcmd.c: Change cont_command to continue_command and "cont" + to "continue". + +Mon May 21 14:41:41 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (enable_breakpoint): Get value of watchpoint. + + * defs.h [sparc]: Use regardless of __GNUC__. + + * values.c (USE_STRUCT_CONVENTION): Check for structures of + size 1,2,4,8 rather than size < 8. + + * dbxread.c (dbx_lookup_type): Do f->length *= 2 as many times + as necessary, not just once. + + * sparc-opcode.h: Add a bunch of new opcodes which Sun as supports. + +Thu May 17 15:04:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * {t,x}m-sun386.h, sun386-xdep.c, {x,t}config/sun386 + + * tm-news.h: Add CALL_DUMMY_*. + + * tm-68k.h: Remove duplicate comment at FRAME_FIND_SAVED_REGS. + + * config.gdb: In list_host, list_target, use ${i}, not $i. + +Tue May 15 21:27:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * source.c (find_source_lines) [BROKEN_LARGE_ALLOCA]: Use xmalloc. + + * sparc-opcode.h: Change all store floating-point state register + instructions to have the right match & lose fields. + +Sat May 5 12:39:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Move -I${srcdir} to GLOBAL_CFLAGS and pass + VPATH to readline. + config.gdb: If srcdir != ., create readline directory and + copy a makefile into it. + + * wait.h, infrun.c: Change WRETCODE to WEXITSTATUS for + consistency with POSIX. + + * breakpoint.c (bpstat_stop_status): Disable watchpoint + when we exit its exp_valid_block. + +Tue Sep 4 11:46:46 1990 John Gilmore (gnu at cygint) + + * Makefile.dist: Bump version to 3.91.3. + + * Clean up handling of breakpoint commands (somewhat). + Prompted by Tiemann bug report "cont 10" doesn't work any more. + + inferior.h: Add breakpoint_proceeded to inferior status struct + and globals; save it and restore it. + (clear_breakpoint_commands): Cleanup, remove old #define. + + infrun.c (clear_proceed_status): Set breakpoint_proceeded. + (save_inferior_status, restore_inferior_status): handle it also. + (proceed): Remove earlier code that set breakpoint_proceeded. + It is now set only in clear_proceed_status. + (clear_proceed_status): Cleanup, use bpstat_clear rather + than clear_breakpoint_commands. No callers need the stop_bpstat + between clear_proceed_status and proceed. + + infcmd.c: Add breakpoint_proceeded definition and comment. + (cont_command, jump_command, signal_command): Move call to + clear_proceed_status right next to call to proceed. + + breakpoint.c (bpstat_do_actions): Avoid clobbering our + caller's argument while running down the chain of breakpoints. + Use new variable "breakpoint_proceeded" to determine when + a command that it executes moves the inferior past the + breakpoint. + (bpstat_clear): Handle NULL argument. + (bpstat_clear_actions): Avoid useless call to + breakpoint_auto_delete. + (delete_breakpoint): Clean up bpstat's that are pointing to + the deleted breakpoint from the stop_bpstat chain. + (breakpoint_auto_delete): Simplify. + + * Clean up handling of EOF, error on stdin, etc. This was + prompted by a network problem that caused gdb to go into an + infinite loop filling up its malloc'd memory. + + main.c (return_to_top_level): Cleanup: call bpstat_clear_actions, + not clear_breakpoints_commands, which is now gone. + (main): If command_loop returns (e.g. from EOF on stdin), do + a quit_command (looping back to command_loop if quit_command + doesn't really quit). + (command_loop): check result from command_line_input and + exit if it returns NULL, rather than passing the NULL to + execute_command. + (gdb_readline): Free malloc'd result space before returning + NULL for EOF. + + * utils.c (query): Handle C-d to mean "yes", just as if the + input was not a terminal. Also avoid infinite loop if EOF + occurs in mid-input-line before newline. This allows + query to be used at EOF on stdin with reasonable results. + + * infrun.c (proceed): Set breakpoint_proceeded. + + * values.c (value_as_long): Avoid infinite recursion for enums. + (_initialize_values): Fix typo in help msg (kingdon). + + * Makefile.dist (RL_LIB): Use RL_LIB_DEP for dependencies, + RL_LIB for linking. This allows -lreadline for linking + and nothing for dependencies, once readline is a real library. + + * config.gdb: Jim Kingdon: give useful error message if the + host or target type is not recognized. + + * defs.h (alloca): SPARC does not declare alloca, + it just defines it. Dumb, but deal with it. + + * Jim Kingdon suggests: + in xconfig/sun3os4, CFLAGS should be XM_CFLAGS. + +Wed Aug 29 18:03:27 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): Bump version # to 3.91.2. + + * Clean up Bothner's changes. + + * blockframe.c (clear_pc_function_cache): New function. + * blockframe.c: remake cache_pc_function_* static. + * dbxread.c (symbol_file_command): remove references to + cache_pc_function_* variables. + * dbxread.c (read_struct_type): Use VOFFSET_STATIC. + * printcmd.c: Avoid kludging a global variable (addressprint) + to avoid printing the address of a string twice. Instead, + pass the format letter 's' down low enough that it can be seen + to avoid this problem. + (print_formatted): Pass format arg to value_print. + (restore_addressprint): Remove function. + (do_examine): Avoid hacking addressprint, cleanups and such. + (print_frame_args): Add a comment to a Bothner change. + * symtab.h: define VOFFSET_STATIC and use it instead of "-1". + * symmisc.c (free_all_symtabs): Call clear_pc_function_cache + to wipe out the values cached in blockframe.c. + * symtab.c (find_method): Add comment saying how big you must + allocate to be "big enough". Per being terse again. + * valprint.c (val_print): Handle format letter "s" to print + strings without addresses. Add comment to vtbl printing code + which casts with wild abandon. Rearrange reference-printing + code so it prints: + @0xaddr: value (print w/addressprint) + value (print w/~addressprint) + @0xaddr (parameter lists w/addressprint) + or nothing (parameter lists w/o addressprint) + +Tue Aug 28 10:47:18 1990 John Gilmore (gnu at cygint) + + * Merge more changes from Per Bothner: + +Gdb's handling of TYPE_CODE_REF was so counter-C++ (and otherwise +annoying) that I tried to improve it. Here are my suggestions. + + These patches all attempt to handle TYPE_CODE_REF (as in C++) better. + + findvar.c: + Do automatic de-reference when taking the address of a reference. + printcmd.c: + Don't deref_ref when printing parameter lists. + valops.c: + More attempts at treating refernences properly. + valprint.c: + In val_print, if deref_ref==0, don't print dangling " = ". + value.h: + Add COERCE_REF macro, which de-references an REF. + + * Merge changes from Per Bothner: + +* Fixed (Sony news)-specific configuration problems. +* Fixed other problems with using vanilla pcc and libc (enum problems; +assumption that vsprintf exists). +* Some major speed-ups (finc_pc_partial_function now caches a match; +parsing avoids duplicate symbol_lookup calls). +* Changed handling of baseclasses (no longer use baseclasses field +of struct type, use the first n_baseclasses fields instead). +* Various minor changes/fixes, most C++-related. + +blockframe.c: +Cache the most previous match from find_pc_partial_function. +(Save both low and high ends of matching function's pc range.) +This speeds up the loop of infrun.c:wait_for_inferior quite +a bit, and makes step/next commands much zippier. +command.c: +Added an enum->int cast (otherwise, some compilers barf). +dbxread.c: +No longer set baseclass offset to 0, since multiple +inheritance now mostly works. +Added a number of casts, to shut up compiler warnings +(after stabs where made enums, not ints). +When discarding a symbol table (in symbol_file_command), +must clear the cache introduced in blockframe.c. +Don't convert $vtbl_ptr_type to vtbl any more. +Get rid of TYPE_BASECLASEES and baseclass_vec (see also symtab.h). +Mask off sign bit emitted by g++ for virtual table offset. +Set voffset to -1 (not 1) for static member functions. +expread.y: +Changed parsing/lexing of names to avoid doing symbol lookup twice +(once when lexing to determine symbol class, once for real). +Now only call symbol_lookup once. Fields of 'this' win especially big. +printcmd.c: +Subpress printing addr twice in the case of 'x/s addr'. +symtab.c: +lookup_basetype_type is no longer used. +Add find_methods as recursive helper function to decode_line_1. +This allows multiple inheritance to work. +Also, once one or more matches has been found, do not look in +base-classes. (Baseclass methods would be overridden, anyway.) +symtab.h: +Removed baseclasses array in struct type. +Instead of using baseclasses[i], use fields[i-1]. +Added virtual_field_bits[i] to indicate if the i'th baseclass is virtual. +Changed sign convention of voffset (previous was inconsistent). +tm-news.h: +Some macros (CALL_DUMMY and relatives) were missing. Put them back. +utils.c: +Used to assume existence of vsprintf. Re-written to not need it +if HAVE_VPRINTF is undefined. +valops.c: +typecmp was too pessimistic. Made it less so. +valprint.c: +Don't print space after address. +If vtable points to a misc symbol (with 0 offset), print it, +since that indicates the actual class of the object. +Changed ype_print_derivation_info to use new inheritance +scheme (without baseclasses vector). +values.c: +In value_primitive_field, fixed some bugs left over from previous set of fixes. +Also, changes needed because TYPE_BASECLASSES were removed. +xm-news.h: +REGISTER_U_ADDR didn't work for PC. Rewrote to use an array. + +Tue Aug 21 20:08:54 1990 John Gilmore (gnu at cygint) + + * source.c: + If there is no path set, and the symbols don't indicate what directory + a file was compiled in, look in the current directory. But either + a path or a known compilation directory will prevent this. + + * dbxread.c: + Three independent bug fixes: + * Remove the #if 0 block that breaks some stuff. + * SunOS 4.1 fixed the promoted-parameter-wrong-addr bug in Sun C; + adapt gdb to either SunOS 4.0.* or 4.1. + * MAX_OF_TYPE and MIN_OF_TYPE thinko. By tedg@sun, I think. + + * symtab.c: + Instantiate the class T when looking for methods in it. (Tiemann@sun) + + * valprint.c: + (type_print) Demangle the name being printed. + (type_print_base) Handle botched demangling without coredump (tiemann). + + * values.c: + (check_stub_method): Document routine. + (tiemann) fix bug for no-arg functions + Avoid clobbering beyond end of malloc'd storage. + Terminate the argument list properly. + +Sat Aug 18 01:29:59 1990 Per Bothner (bothner@cs.wisc.edu) + + * Changes merged by John Gilmore: + +breakpoint.c: + In breakpoint_1, use new print_address_symbolic instead + of find_pc_partial_function. (This forces use of assembler-level + addresses, and avoids misleading non-mangled source-level names.) +cplus-dem.c: + Generalize ansi argument such that -1 means skip arglist totally. + Removed global variable print_ansi_qualifiers (which made + code non-reentrant), in favor of extra explicit arguments + to internal routines. +printcmd.c: + Add new helper function print_address_symbolic. + Use find_pc_misc_function instead of find_pc_partial_function + (since we want assembler-level symbols here). +stack.c: + Print unknown function as just "f (...)", not "f (...) (...)". + Use new fputs_demangled explicitly. +symtab.c: + Fixed a typing violation (problem: value.h cannot be imported + without renaming many variable in this file). + lookup_symbol: If no matching misc_func, look for a C++-mangled name. + decode_line_1: Moved forward some never-reached code. + Made decode_line_2 skip function prologues correctly. +utils.c: + fputs_filtered should not demangle by default. + Add new fputs_demangled to demangle on demand.. +valops.c: + Change value_struct_elt to use value_primitive_field (using recursive + utility function search_struct_field). This allows foo.bar to work + for multiple inheritance (so far only for data fields). + Change check_field in the same way (recursive helper function + to support multiple inheritance). + (Note: there are more of these problems that I haven't fixed. + Any code that says TYPE_BASECLASS (t, 1) is probably wrong.) + value_of_this: 'this' symbol name is now just "this", note "$this". +valprint.c: + Don't print static members. + Avoid printing "members of " if there are none. + Simplified type_print_derivation_info by merging duplicate code. + Remove useless blank lines in type_print_base (ptype command). +value.h: + Added declaration of new routine value_primitive_field. +values.c: + Added value_primitive_field which is generalized version of + value_field that can handle multiple inheritance (non-zero offsets etc). + Re-implemented value_field to call value_primitive_field. + +Fri Aug 17 23:33:44 1990 John Gilmore (gnu at cygint) + + * infcmd.c -- insert else to avoid 'delete env' coredump when you + delete the whole environment. Karl Berry reported the bug. + * source.c - fix openp to avoid //'s in filenames, which + trigger an Emacs bug causing it to not be able to find files + when running gdb in a window. + * dbxread.c - zap the #if 0 that botches the add-file code. + It seems to work a lot better without all the code commented out. + +Fri Jul 20 16:58:46 1990 John Gilmore (gnu at cygnus.com) + + * Merge Tiemann's and Ted Goldstein's changes, detailed below, + into gdb-3.90.9. + +Tue Jul 17 19:34:33 1990 Ted Goldstein (tedg at golem) + + * Makefile - added a ${CFLAGS} to a couple of entries, + added remote-sa.sparc.c + * added remote.sa-sparc.c, a modification of remote.c + which conducts a dialog directly with the SparcStation prom. + * breakpoint.c, infrun.c, sparcdep.c added + remote_insert_breakpoint(), and remote_remove_breakpoint() + to breakpoint.c instead of directly writing breakpoint instructions. + * sparcdep.c on remote_debugging,there is no need + to remove signle step breakpoint instructions. + * main.c added "-epoch" flag and "int epoch_interface" to main.c + global variable + * printcmd.c - epoch interface sends lisp expressions to open up + epoch windows on inspection. + * valprint.c - added arrayprint, and addressprint and made adding + format controls easier + * wait.h added a couple of undef's because we were getting + complaints about WSTOPSIG and WTERMSIG begin redefined. + + +Wed Jul 4 05:27:51 1990 Michael Tiemann (tiemann at masham) + + * symtab.c (decode_line_1): Add support for handling method stubs + in the type information. + +Tue Jul 3 09:39:18 1990 Michael Tiemann (tiemann at masham) + + * values.c (baseclass_addr): Run loop from INDEX+1 to + N_BASECLASSES; otherwise, we can still get into a loop. + @@ This should be restructured to use a cleaner search strategy. + +Sun Jul 1 12:28:51 1990 Michael Tiemann (tiemann at masham) + + * dbxread.c (define_symbol,read_type): Grok GNU C++'s new + abbreviation "Tt" for tags which have the same name as their + typedecls. + +Fri Jun 29 01:03:46 1990 Michael Tiemann (tiemann at masham) + + * symtab.c (list_symbols): add ability to set breakpoints on all + the functions which match a particular regular expression. + +Tue Jun 26 04:26:29 1990 Michael Tiemann (tiemann at masham) + + * cplus-dem.c (cplus_demangle): New parameter ANSI says whether we + should print ANSI qualifiers (such as `const' and `volatile'). + All callers changed to call with ANSI == 1, except from + `check_method_stub', which uses old-style syntax. + + * symseg.h (struct fn_field): Remove unneccessary `args' field. + * symtab.h (TYPE_FN_FIELD_ARGS): Redefined. + + * values.c (check_stub_method): New function. + + * cplus-dem.c (do_type): Handle "long long" (encoded as 'x'). + + * dbxread.c (read_type): Handle new GNU C++ method type stubs. + * valprint (type_print_base): Ditto. + + * symtab.c (gdb_mangle_typename): New function. + +Tue Jun 5 00:18:43 1990 Michael Tiemann (tiemann at gzilla) + + * breakpoint.c (catch_command): New function. Provides a + mechanism to set breakpoints based on catch clauses. + (disable_catch): Similar, but disables breakpoints on catch + clauses. + (delete_catch): Similar, but deleted breakpoints on catch clauses. + +Sun Jun 3 22:54:08 1990 Michael Tiemann (tiemann at gzilla) + + * blockframe.c (blockvector_for_pc): New function. + * blockframe.c (block_for_pc): Changed to call + `blockvector_for_pc' and get the block itself. + + * stack.c (catch_info): New function. Prints info about + exceptions which can be caught in the current frame. + * stack.c (print_frame_label_vars): New function. Similar to + `print_frame_local_vars'. + * stack.c (print_block_frame_labels): Prints out labels that are + defined in this frame. These labels are exceptions that can be + caught. + + * dbxread.c: Updated to handle N_CATCH symtab types. + +Thu May 3 22:10:00 1990 Michael Tiemann (tiemann at teacake) + + * valprint.c (everywhere): TYPE_NAME (TYPE) no longer comes in the + form "struct ..." for GNU C++. Don't flush any part of TYPE_NAME + when printing the type. + +Wed May 2 22:43:04 1990 Michael Tiemann (tiemann at teacake) + + * valprint.c (val_print): Use `baseclass_addr' to access the + baseclasses pointed to via the derived class object at VALADDR. + + * values.c (baseclass_addr): New function. Casts derived pointers + to baseclass pointers taking virtual baseclasses and multiple + inheritance into account. + +Sat May 5 12:39:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.9. + +Fri May 4 12:12:55 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (watch_command, bpstat_stop_status): Deal with + exp_valid_block field correctly. + + * infrun.c (wait_for_inferior): When checking "don't even think + about breakpoints" if stop_signal == SIGTRAP && trap_expected, + also check step_resume_breakpoint. + Insert breakpoints and continue (not step) if + step_resume_break_address != NULL, even if another_trap. + If trap_expected and we enter sigtramp, then set up a + step_resume_break. + If trap_expected is set when we hit the step_resume_break, + set another_trap. + When calling resume and trap_expected says tell resume to step + (2 places), also check step_resume_break_address. + + * infrun.c (wait_for_inferior): Don't set + prev_{pc,sp,func_{start,name}} before calling wait (). + Do set them after exiting loop. + Move their declarations outside functions. + (start_inferior): Initialize them. + +Thu May 3 00:15:11 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c (wait_for_inferior, after check for trap_expected > 1): + Restore old code which distinguishes between trap_expected and + running_in_shell, just make the latter take any non-TRAP signal, + not just SEGV. + + * values.c (allocate_value): Zero VALUE_OPTIMIZED_OUT flag. + + * Makefile.dist (pinsn.o): Use PINSN_CC to compile. + xconfig/3b1 (CC,PINSN_CC): Define. + + * xconfig/altos, altos-dep.c: Rename altos-dep.c to altos-xdep.c. + + * Version 3.90.8 + + * breakpoint.c (bpstat_stop_status), + infrun.c (wait_for_inferior) [SHIFT_INST_REGS]: New code. + + * param.h, tm-88k.h: Define ADDR_BITS_*. + infcmd.c (jump_command, read_pc), infrun.c (wait_for_inferior), + printcmd.c (do_one_display): Use them. + + * utils.c: Split #ifdef USG into a USG_UTILS and a QUEUE_MISSING. + xm-88k.h: Define USG_UTILS. + +Wed May 2 00:05:33 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (printf_command) [__INT_VARARGS_H]: New code. + (printf_command): Add from_tty parameter. + + * valprint.c (value_print): Check VALUE_OPTIMIZED_OUT flag. + + * value.h: Add optimized_out field and change lazy field to + char. Add macro VALUE_OPTIMIZED_OUT. + + * i386-pinsn.c: Change from Eirik Fuller to write to stream directly + instead of stuffing things in buffers (oappend, etc). + + * breakpoint.c (bpstat_do_actions): If *BSP is set to NULL by + execute_command, exit both loops. + + * Makefile.dist: Don't set TARGET_ARCH. Add .c.o rule. + +Tue May 1 17:07:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (RAPP_OBS, rapp), + rgdb.c, rserial.c, rudp.c, serial.c, udp.c, xdep.h, + remote.h: Added. + m68k-xdep.c, coredep.c: Wrap in #if !defined (RDB). + + * valops.c (value_struct_elt), values.c (value_static_field): + Change error messages to remove references to `info methods'. + +Tue Apr 24 10:25:10 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * More 88k changes: + infrun.c (start_inferior): Add START_INFERIOR_HOOK. + infcmd.c [SHIFT_INST_REGS]: New code. + findvar.c (read_relative_register_raw_bytes): Return a value. + infcmd.c (do_registers_info): Check value from + read_relative_register_raw_bytes. + + * command.c (delete_cmd): Free the struct cmd_list_element(s) + we are removing. + +Mon Apr 23 10:42:21 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * More 88k changes: + findvar.c (get_saved_register): New function. + findvar.c: Rewrite code which called find_saved_register to + call get_saved_register instead. + +Sun Apr 22 14:47:51 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print): Change error message printed when + the type has TYPE_FLAG_STUB set. + + * valprint.c (val_print): Check for TYPE_CODE_UNDEF. + + * findvar.c (write_register): Set register_valid (regno). + + * valops.c (call_function): Check for NULL return from block_for_pc. + +Fri Apr 20 11:31:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * findvar.c (write_register): Add PREPARE_TO_STORE. + {sun3,sparc,symmetry}-xdep.c (PREPARE_TO_STORE): Add. + infptrace.c, {mips,pyr,symmetry,sun3,arm,hp300hpux}-xdep.c + (store_inferior_registers): Don't call read_register_bytes. + symmetry-xdep.c (store_inferior_registers): + #if 0 out code to fetch registers. + + * values.c (value_as_long): Call COERCE_ARRAY. + + * tm-sun3.h: Include tm-68k.h not m-68k.h + + * sparc-tdep.c (single_step): Set next_pc, npc4 within + if (!one_stepped), not outside it. + + * Changes from Data General for 88k: + * coffread.c (read_file_hdr): Add *88*MAGIC. + * coffread.c (have_symbol_file_p): New function. + * coffread.c [COFF_CHECK_X_ZEROES] [TDESC]: New code. + * coffread.c (read_one_sym): If there is more than one + aux entry, don't give an error message, just ignore the + extra ones. + * coffread.c (process_coff_symbol): Replace clipper with + BELIEVE_PCC_PROMOTION in #ifdef's. + * coffread.c: Define L_LNNO32 if not defined. + (enter_linenos): Use it. + * blockframe.c: Add INIT_FRAME_PC hook and use it in + get_prev_frame_info. + m-m88k.h: Use INIT_{FRAME_PC,EXTRA_FRAME_INFO} to do tdesc stuff. + Use dummy versions of FRAME_CHAIN_*. + * Makefile.dist, xconfig/i386*: Rename M_CLIBS to XM_CLIBS and add + TM_CLIBS and CDEPS. + tdesc/libdc.o: New target. + tdesc.{c,h}, tdesc/*, {t,x}config/m88k: New files. + +Thu Apr 12 15:47:00 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * m68k-opcode.h (bras, bsrs): Use "Bw" not "Bg". + +Tue Apr 10 20:50:25 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.7. + + * xm-mips.h (BYTE_ORDER): If not defined, make it LITTLE_ENDIAN. + + * mips-xdep.c ({fetch,store}_inferior_registers): Remove variable + offset and just use register_addr (regno, 1). + (core_file_command): Remove variable reg_offset and just use + register_addr (regno, 0). + + * gdbcore.h [COFF_FORMAT]: #undef a_magic before redefining it. + + * infrun.c ("if (trap_expected && stop_signal != SIGTRAP)", near end + of wait_for_inferior): Always pass 0 as first arg to resume. + #if 0 out "SIGSEGV in shell" test right above it (now redundant). + + * i386-pinsn.c (oappend_address): New function. + (oappend): Make it "static void" and declare at top of file. + (OP_J, OP_DIR): Use oappend_address. + +Mon Apr 9 15:22:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * mips-xdep.c: Include not "mips/inst.h". + + * wait.h [HAVE_WAIT_STRUCT]: Put #defines in #if !defined so that + it's OK if they are defined in . + + * findvar.c (fetch_registers): Pass "registers", not "®isters", + to remote_fetch_registers. + + * mips-tdep.c (_initialize_mipsdep): Remove hex_disassembler + and re-write skip_prologue to use add_set_cmd. + + * Makefile.dist (alldeps.mak): Don't put \ after the last + filename in each list. + +Sun Apr 8 01:59:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.6. + + * Makefile.dist (alldeps.mak): "XM_FILE" -> "XM_FILE=". + + * valarith.c (value_x_{un,bin}op): use "operator" not "operator " + to match dbxread.c change of 16 Mar 90. + + * valarith.c (value_x_unop): Pass &static_memfuncp, + not static_memfuncp. + + * breakpoint.c: Add watchpoint stuff. + breakpoint.h: Add bpstat_should_step. + infrun.c (proceed, wait_for_inferior): Use it. + breakpoint.h: Add bpstat_print (and rename old bpstat_print + to bpstat_should_print). + infrun.c (normal_stop): Use it. + + * value.h: Add value_free. Declare a few functions. + +Sat Apr 7 21:43:43 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Remove PROFILE_TYPES code and + insert comment suggesting easy shell script equivalents. + + * values.c (unpack_long): Give better error messages for + unrecognized sizes of ints and floats. + +Fri Apr 6 00:32:21 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c, gdbcore.h (IS_OBJECT_FILE): Check for a_drsize + nonzero as well as a_trsize. + + * More places: Use SWAP_TARGET_AND_HOST. + + * valops.c (destructor_name_p): Only skip "struct " if present. + + * main.c (gdb_readline): Return NULL on end of file. + + * sparc-opcode.h: Add jmp 1+2, jmp 1+i, jmp i+1. + + * Makefile.dist: Make expread.tab.c unambiguously be in srcdir. + + * main.c: Split source_command into source_command and + read_command_file. + (main): Accept "-" as arg to +command for stdin. + + * dbxread.c (psymtab_to_symtab): Don't read string table. + (symbol_file_command): Save string table size. + + * Version 3.90.5 + + * symtab.c: Remove declaration of lookup_misc_func. + + * mips-pinsn.c: Add use_hex_p stuff (re-worked from Forin stuff). + + * mips-opcode.h: Add bdelay field. + mips-pinsn.c: Various changes from Forin, I think to make it look + like the MIPS assembler format. + mips-tdep.c, mips-xdep.c, mipsread.c: Various changes from Forin. + + * gdbcore.h: Declare register_addr. + + * gdbcore.h: Include , before trying to redefine N_TXTADDR + and friends. + various: Don't include both a.out.h and gdbcore.h. + + * Makefile.dist (HFILES): Add param.h + + * utils.c (init_malloc): Moved here from mcheck.c and modified + to use the standard mcheck.c + Makefile.dist: Modify to reflect new mcheck. + +Thu Apr 5 16:38:28 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print, print_hex_chars): Print integers + larger than LONGEST. + + * valarith.c (value_sub): Give error message if attempt to + subtract something of the wrong type from a pointer. + + * breakpoint.c (bpstat_stop_status): Initialize retval to NULL. + + * i386-tdep.c (i386_pop_frame): Change addr to adr. + +Wed Apr 4 05:21:50 1990 Jim Kingdon (kingdon at teenage-mutant) + + * main.c (command_line_input): return NULL on end of file. + (execute_command): If p is NULL, return almost right away. + (read_command_lines): Treat end of file like "end". + + * printcmd.c (print_frame_args): Change it so num is number + of ints of args, not number of args. + + * xm-*.h: Make sure BYTE_ORDER is defined. + Also fix various #includes of old names of things. + + * main.c (command_line_input): Fix comment code of 2 Apr. + + * values.c (value_from_long, unpack_long): SWAP_TARGET_AND_HOST. + various: Replace {BYTES,WORDS}_BIG_ENDIAN with TARGET_BYTE_ORDER. + valarith.c various: SWAP_TARGET_AND_HOST. + dbxread.c (READ_FILE_HEADERS): SWAP_TARGET_AND_HOST. + (SWAP_SYMBOL): New macro. Use it wherever symbuf_idx is incremented. + exec.c (exec_file_command): SWAP_TARGET_AND_HOST. + + * valarith.c (value_subscripted_rvalue): Just bcopy() the + appropriate bytes rather than playing strange games with + value_from_long. + + * param.h (SWAP_TARGET_AND_HOST): New macro. + + * tm-np1.h (V7_REGNUM): Change from 27 to 26. + (REGISTER_VIRTUAL_TYPE): Return correct result for vector regs. + gould-tdep.c: New file. + + * Move reading of register before store from + findvar.c (write_register) to + infptrace.c, *-xdep.c (store_inferior_register). + + * findvar.c (fetch_registers, store_registers): New functions. + write_register{,_bytes}: Use store_registers regardless of + have_inferior_p. + registers_valid: New variable. + (supply_register, read_register, etc.): Use it. + (read_register_gen): New variable. + various: Use read_register_gen rather than read_register_bytes + where appropriate. + *-xdep.c (fetch_inferior_registers): Remove remote_debugging check. + infrun.c (wait_for_inferior, start_inferior): Call registers_changed + not fetch_inferior_registers. + *-xdep.c (fetch_inferior_registers): Call registers_fetched if + not setting registers via supply_register, and if fetching + all registers. + infptrace.c, *-xdep.c (fetch_inferior_registers): Add param, + # of register to fetch (-1 for all). + infptrace.c, hp300hpux-xdep.c (fetch_inferior_registers): + Actually fetch only those registers needed. + value.h: Declare all the extern register functions from findvar.c. + + * coffread.c (read_coff_symtab): Test for specific kinds of GCC + labels (LI%.*, LPB%.*, etc), not just ??%.*. + + * coffread.c (record_misc_function): Use mf_text not mf_unknown. + + * utils.c,defs.h (lines_to_list): New function. + source.c (select_source_symtab, list_command, forward_search_command, + reverse_search_command), stack.c (print_frame_info): + Use it instead of 10. + + * munch: If MUNCH_NM variable exists, use it. + + * main.c (initialize_main): Set rl_readline_name. + main.c: #include readline.h and #undef savestring. + Remove declarations of things declared in readline.h. + + * main.c (gdb_readline): If instream == 0, read from stdin. + + * main.c (main): Only call clearerr if ISATTY. Exit loop if + feof (instream). + + * infcmd.c (detach_command): Set inferior_pid to 0 after + calling remote_close. + + * main.c (main): If exec and sym files are the same, and there + is an error reading execfile, don't try to read sym file. + + * infcmd.c (detach_command) [ATTACH_DETACH]: Don't try to detach + from inferior when remote debugging. + + * source.c (reverse_search_command): Change while test from 1 to + line > 1. + +Tue Apr 3 18:14:14 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.4. + + * Makefile.dist (gdb.tar.Z): Use -z option to tar rather than + creating gdb.tar and calling compress separately. + + * breakpoint.c (read_memory_nobpt): Do not treat bcopy as if it + returned an "errno" value. + + * various: Make sure gdbcore.h is not included before a.out.h. + + * Makefile.dist (OPCODES): Add mips-opcode.h. + + * config.gdb: Print lists of {hosts,targets} after finding srcdir. + When parsing +{host,target}=, strip off +{host,target}=, not +{x,t}m=. + + * Makefile.dist (gdb.tar): Do {t,x}config not just config. + +Mon Apr 2 02:42:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * sparc-opcode.h (inc): Fix incorrect lose field. + + * valarith.c (value_subscripted_rvalue): Use TARGET_BYTE_ORDER, + rather than checking endianness at runtime. + + * main.c (comand_line_input): Accept comments anywhere, not + just at starts of lines. + +Sat Mar 31 21:59:35 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.c (check_stub_type): Call lookup_symbol with 5 args. + +Fri Mar 30 15:23:52 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * frame.h: #include param.h. + param.h: Protect against multiple inclusion. + + * i386-tdep.c (i386_get_frame_setup): Fix comment about what + opcode 0x55 is. + If 0x81 or 0x83 is followed by something besides 0xec, + put codestream back where it was and return 0. + [USE_MACHINE_REG_H]: Include not + Move include of a.out.h above . + (i386_frame_find_saved_regs): Make locals signed. + (i386_frame_find_saved_regs, i386_push_dummy_frame, i386_pop_frame): + Use REGISTER_BYTES, REGISTER_RAW_SIZE, etc. to deal with floating + point registers. + +Wed Mar 28 18:33:40 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Makefile.dist (OTHERS): Add gdb.dvi. + (gdb.dvi): New rule. + + * breakpoint.c (_initialize_breakpoint): Clean up docstrings so + as not to mention subcommands (e.g. auto-display). + Call add_cmd not add_abbrev_cmd for "disable breakpoint" and + put it in class_alias. + + * breakpoint.c (set_breakpoint_count): New function. + (set_breakpoint, break_command_1): Use it. + + * breakpoint.c (get_number): New function. + (*_command, map_breakpoint_numbers): Use it. + + * infptrace.c (write_inferior_memory): Remove remote_debugging + stuff (is handled in core.c). + (read_inferior_memory): Remove #if 0'd out remote_debugging code. + +Tue Mar 27 16:51:27 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * inferior.h: Include frame.h. + + * findvar.c (write_register): Replace sun4 #ifdef with + check of CANNOT_STORE_REGISTER. + xm-sparc.h: Define CANNOT_STORE_REGISTER. + + * sparc-tdep.c: Remove superfluous declaration of + get_breakpoint_commands. + + * breakpoint.{c,h}: Add bpstat stuff. + bpstat_do_action: Re-work do_breakpoint_commands into this. + main.c (command_loop): Call bpstat_do_action not + do_breakpoint_commands. + inferior.h, infrun.c, breakpoint.c, infcmd.c: + Rework breakpoint_commands and stop_breakpoint + stuff to use bpstat instead. + + * infcmd.c (program_info): "info reg"->"info registers". + + * np1-opcode.h: Renamed from npl-opcode.h. + gould-pinsn.c: Include np1-opcode.h. + Makefile.dist (OPCODES): Change npl-opcode.h to np1-opcode.h + + * coffread.c (read_enum_type): Stop reading when we hit .eos. + +Mon Mar 26 15:52:35 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.3. + + * breakpoint.c (read_memory_nobpt): New function. + gdbcore.h: Declare read_memory_{nobpt,check}. + mips-tdep.c: Use read_memory_nobpt not breakpoint_shadow_val. + +Fri Mar 23 14:26:38 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * inflow.c (terminal_inferior): Reenable commented out + inferior_thisrun_terminal check. + (terminal_ours_1): If inferior_thisrun_terminal is nonzero, + return immediately. + + * Makefile.dist: Rewrite DEPFILES, M_FILE, etc. stuff to deal + with host & target separation. + + * config/*: Split into xconfig/* and tconfig/*. + *-dep.c: Split into *-xdep.c and *-tdep.c. + + * main.c (main): Always pass two args to xrealloc. + +Thu Mar 22 20:29:25 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Makefile.dist ({,dist}clean): rm {x,t}m.h not param.h + xgdb.o: Remove obsolete dependency (now in depend). + + * arm-pinsn.c: Include arm-opcode.h not opcode.h. + + * mips-pinsn.c, mips-opcode.h: New files from Bothner (from + release of 24 Jan 90 with mips-opcode.h patch from 1 Feb 90). + + * utils.c (xmalloc): Return NULL on request for 0 bytes. + +Wed Mar 21 13:30:08 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * config.gdb: Re-write machine stuff to deal with host & target. + + * xm-altos.h: Don't define HAVE_WAIT_STRUCT. + + * m-*.h: Split into xm-*.h and tm-*.h. + + * infrun.c (wait_for_inferior): Put #ifdef sony_news code + in regardless of machine. + + * symtab.c (decode_line_1): Add quotes and capitalize error + message "no class, struct, or union named". + + * Makefile.dist (cplus-dem.o): Compile with -Dnounderscore. + + * stack.c (print_frame_info): Use print_symbol to print function name. + + * symtab.c (output_source_filename): Don't print a comma if + we are skipping a filename already printed. + +Tue Mar 20 10:48:54 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * symtab.c (output_source_filename): Don't print a filename + more than once. + + * utils.c (fprint_symbol): New function. + defs.h: Decalare it. + various: Use fprint_symbol to print symbol names. + Makefile.dist (SFILES, OBS): Add cplus-dem.{c,o}. + +Mon Mar 19 17:11:03 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * coffread.c (read_file_hdr): Add MC68K??MAGIC. + + * coffread.c (read_coff_symtab): Ignore swbeg and string label + symbols. + + * coffread.c (read_coff_symtab): Increment num_object_files + in case C_STAT not C_FILE. + New variable in_source_file. Set it in case C_FILE. + Check it in case C_STAT. + + * coffread.c [FUNCTION_EPILOGUE_SIZE]: New code. + m-umax.h (FUNCTION_EPILOGUE_SIZE): Define. + + * config/3b1: New file. + + * config/sun*: Print message warning people to use GAS with GCC. + +Sun Mar 18 02:56:40 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * infcmd.c (run_stack_dummy): Change error message. + + * m-68k.h (REGISTER_VIRTUAL_TYPE): Make pc, fp, sp char *. + + * m-mips.h (LONGEST, BUILTIN_TYPE_LONGEST): Remove. + +Sat Mar 17 21:27:49 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * mips-dep.c: Remove infptrace.c stuff. + + * m-bigmips.h: New file. + m-mips.h [MIPSEB]: Remove *_BIG_ENDIAN stuff. + + * m-sparc.h (FIX_CALL_DUMMY): Do not insert unimp instruction + if function was compiled with gcc. + + * m-mips.h: Remove FIX_CALL_DUMMY_ALIGNED and make FIX_CALL_DUMMY + use new args. + + * valops.c (call_function): New args to FIX_CALL_DUMMY. + m-*.h (FIX_CALL_DUMMY): Take new args. + + * values.c (using_struct_return): New parameter gcc_p. + valops.c (call_function): New variable using_gcc. + valops.c (call_function) [REG_STRUCT_HAS_ADDR]: New code. + + * m-mips.h, mips-dep.c: New files from Forin. + m-mips.h: Replace RETURN_STRUCT_BY_REF with USE_STRUCT_CONVENTION. + +Fri Mar 16 13:17:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Add some dependencies of m-*.h files. + (HFILES): Add m-68k.h. + + * dbxread.c (read_struct_type): Put "operator+" not "operator +" + in symtab. + + * core.c: Split read_memory into read_memory_check and read_memory. + breakpoint.c (insert_breakpoints): If can't read memory, + tell user that error was due to seting breakpoints. + +Thu Mar 15 11:47:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c [COFF_ENCAPSULATE]: Include a.out.encap.h. + + * blockframe.c (FRAMELESS_LOOK_FOR_PROLOGUE): Make it a function. + various m-*.h: Call function not macro. + frame.h: Declare the function. + +Wed Mar 14 02:44:51 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * sparc-dep.c: Include signame.h. + + * sparc-pinsn.c (print_insn): When looking for sethi before + delayed branch, call read_memory_noerr not read_memory. + + * m-isi.h, m-sun3.h, m-news.h, m-hp300bsd.h, m-altos.h, + m-hp300hpux.h, m-sun2.h: Merge machine stuff except inferior + function call stuff into new file m-68k.h. Create m-3b1.h. + +Tue Mar 13 21:34:33 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c (new_tty): If can't open tty, print error message + before exiting. + + * blockframe.c: Remove declaration of psymtab_to_symtab. + symtab.h: Declare psymtab_to_symtab. + blockframe.c: Remove declarations of block_for_pc and + find_pc_function_start. + frame.h: Add declarations of block_for_pc and find_pc_function_start. + Remove declaration of nonexistent function find_pc_function. + values.c: include frame.h instead of declaring block_for_pc. + + * Version 3.90.2. + +Mon Mar 12 14:20:06 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * main.c (main): Delete superfluous "e" from long_options. + +Sat Mar 10 15:47:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print): Print <%d bit integer> not just + . + + * dbxread.c (error_type): Fix loop that finds '\0' so that on + exit, *pp points to the '\0', not the character after. + (read_type): Make sure that places which call read_type and then + try to read more input stop immediately with another error + upon encountering '\0'. + + * dbxread.c (read_range_type): Fix check for large signed + integral type to match comment and reality. Set TYPE_LENGTH based + on n2bits for signed, n3bits for unsigned. + + * infcmd.c (cont_command): Print warning message if we + decide to ignore the argument. + + * gdb.texinfo (attach): @xref{Attach} -> @xref{Remote}. + +Fri Mar 9 16:26:47 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.h (address_class): Reinstate LOC_EXTERNAL with rewritten + comment. + + * expread.y (yyerror, parse_c_1): Make yyerror take a char * arg. + + * main.c (symbol_completion_function): Don't call error() on + "info jkldskf". + + * m-npl.h (USE_STRUCT_CONVENTION): Change >= to >. + +Thu Mar 8 00:19:01 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symseg.h: Nuke more symseg references including LOC_EXTERNAL. + Put contents of symseg.h into symtab.h and remove symseg.h. + +Wed Mar 7 18:02:15 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.h (SYMBOL_LINE): New macro. + symtab.c (decode_line_1): Accept variable as well as function. + Lookup variable/function in selected block if no file specified. + printcmd.c: #if 0 out whereis_command. + + * command.c (do_setshow_command): Call function with additional + argument C. + main.c (set_history_size_command): Take argument C. + (set_verbose): New function to set docstring. + (initialize_main): Put set_verbose in command list. + command.c (lookup_cmd_1): Accept result_list NULL. + + * valprint.c (_initialize_valprint): Change docstring for + "set unionprint" to normal set/show form. + + * command.c (add_show_from_set): Check that docstring starts with + "Set " before assuming it does. + + * main.c (show_history): Call cmd_show_list. + command.{c,h} (cmd_show_list): New function. + command.h: Declare do_setshow_command. + + * command.h (cmd_list_element): New field completer. + main.c (symbol_completion_function): Use it. + symtab.h: Declare make_symbol_completion_list. + command.c (add_cmd): Set completer. + main.c, gdbcmd.h (noop_completer): New function. + infcmd.c: Set completer for environment functions. + + * symtab.c (types_info, _initialize_symtab): #if 0 out. + various: Use fputs_filtered, not fprintf_filtered(%s). + + * valprint.c (type_print_base): Check for integers larger than + LONGEST. + + * sun3-dep.c: Include "signame.h" instead of directly declaring + sys_siglist. + +Tue Mar 6 14:59:34 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c (signals_info): Allow argument to be a signal name + as well as an expression. + (handle_command): Check for error from sig_number. + + * main.c (float_handler): Change error message. + + * inflow.c (create_inferior): If getenv ("SHELL") exists, use it + instead of /bin/sh. + + * dbxread.c (read_dbx_symtab, case N_SO): New variable first_symnum. + Pass it to {start,end}_psymtab. + + * dbxread.c (read_ofile_symtab): Increment symbuf_idx and symnum + when calling process_symbol_pair. + + * symtab.c (sources_info, output_source_filename): + Re-write so output_source_filename takes a first parameter + instead of a next one. + + * dbxread.c (read_dbx_symtab, case N_SO): When incrementing + symbuf_idx, increment symnum also. + + * values.c (set_internalvar_component): Use VALUE_CONTENTS, + not VALUE_CONTENTS_RAW. + + * symmisc.c (free_symtab): Don't free filename (now in symbol_obstack). + + * environ.c (init_environ): Copy entire string, including + terminating '\0'. + + * value.h, values.c: Rename value_lazy to value_fetch_lazy. + values.c (value_of_internalvar): Call value_fetch_lazy. + + * dbxread.c (read_huge_number): Return an error on encountering + a large decimal number. + + * dbxread.c (read_huge_number): Reverse sense of overflow test. + + * valprint.c (val_print, case TYPE_CODE_INT): Check for integers + larger than LONGEST. + + * dbxread.c (read_ofile_symtab): When calling process_one_symbol, + call it with desc and value rather than with bufp->n_{desc,value}. + + * defs.h (LONG_MAX): Define. + + * sun3-dep.c: Declare sys_siglist. + + * infptrace.c: Move include of gdbcore.h after a.out.h + + * Makefile.dist (expread.o, mcheck.o): Remove leading "./" not + leading ".". + + * m-hp300hpux.h [!HPUX_VERSION_5]: Define KERNEL_U_ADDR_HPUX. + infptrace.c [KERNEL_U_ADDR_HPUX] [KERNEL_U_ADDR_BSD]: + Set kernel_u_addr using nlist(). + m-hp300bsd.h: Define KERNEL_U_ADDR_BSD. + +Mon Mar 5 16:52:41 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): If value of .o symbol is crazy, + don't end psymtab. + + * dbxread.c (read_dbx_symtab): Ignore first of a pair of N_SO + when both appear. + (start_subfile, start_symtab): Extra parameter dirname. + (start_subfile): Use obsavestring, not savestring, for name. + various: Call start_{subfile,symtab} with extra argument. + (end_symtab): Set dirname field in symtab. + (read_ofile_symtab): Call process_symbol_pair on pair of N_SO. + (process_symbol_pair): New function. + symtab.h (symtab): New field dirname. + source.c (open_source_file): New function. + source.c: Use open_source_file instead of openp where appropriate. + + * defs.h (TARGET_CHAR_BIT): Define. + +Sun Mar 4 13:11:48 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (fill_symbuf): Print error messages nicely. + + * Makefile.dist (SFILES): Put standalone.c at end. + + * Makefile.dist (alldeps.mak): Put out backslash after arm-convert.s. + + * symtab.{c,h} (builtin_type_error): New type. + symseg.h (type_code): Add TYPE_CODE_ERROR. + valprint.c (val_print, type_print_base), + values.c (using_struct_return, set_return_value): + Check for and deal with TYPE_CODE_ERROR. + dbxread.c (error_type): New function + (read_type and subroutines): Call error_type instead of error. + + * dbxread.c (read_huge_number): New function. + (read_range_type): Use read_huge_number and check results + to see if it is a large integral type. + + * symmisc.c: Remove symseg stuff. + + * Gould NP1 changes from (or inspired by) chpmjd@gdr.bath.ac.uk + dbxread.c (read_dbx_symtab) [N_NBSTS]: + Treat this and N_NBLCS like N_LCSYM, etc. + (process_one_symbol) [BLOCK_ADDRESS_ABSOLUTE]: New code. + m-npl.h (USE_STRUCT_CONVENTION): Add. + (IGNORE_SYMBOL): Add 0xa4. + (END_OF_TEXT_DEFAULT): Remove. + (STRING_TABLE_OFFSET): don't add sizeof(int). + [!HAVE_VPRINTF]: Define vprintf to be doprnt, not printf. + (BLOCK_ADDRESS_ABSOLUTE): Define. + (BREAKPOINT): Pad to size of machine word. + (SAVED_PC_AFTER_CALL): Remove ` at start of line (!). + (R2_REGNUM): Define. + (SP_REGNUM, FP_REGNUM): Switch definitions. + (REGISTER_U_ADDR): Use FP_REGNUM in place of SP_REGNUM. + (STORE_STRUCT_RETURN, EXTACT_RETURN_VALUE, STORE_RETURN_VALUE, + call function stuff): + Replace bogus definitions with correct ones for NP1. + (CANNOT_EXECUTE_STACK): Define. + (FRAME_LOCALS_ADDRESS): Don't add 80. + (FRAME_FIND_SAVED_REGS): Also get SP. + gould-pinsn.c (findframe): Move framechain declaration outside #if 0. + infptrace.c (write_inferior_memory): Check addr against text_end + and use PT_WRITE_I or PT_WRITE_D as appropriate. + (store_inferior_registers): Don't try to write registers in + CANNOT_STORE_REGISTER. + m-npl.h (CANNOT_STORE_REGISTER): Define. + npl-opcode.h (lil): 0xf8080000 -> 0xf80b0000. + + * munch: Distinguish between BSD and System V nm by actually + seeing what output from nm looks like. + +Fri Mar 2 13:43:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (print_frame_args): Change highest_offset to point + to next unprinted arg. + + * main.c (main): Print "type help for list of commands" along + with the version. Follow it with a blank line. + +Thu Mar 1 14:49:26 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c: Move print_address for function from value_print + to val_print. + +Wed Feb 28 15:06:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (m-sun4os4.h): Depend on m-sparc.h + + * Makefile.dist (version.c): Depend on Makefile.dist, not Makefile. + + * Makefile.dist: Change MAKEFILES to Makefiles. + + * symtab.h: Declare get_sym_file. + core.c: Include symtab.h. + + * Move signal name stuff from utils.c to signame.c + Move signal name stuff from defs.h to signame.h. + Makefile.dist (SFILES, HFILES, OBS): Add signame.{c,h,o}. + +Mon Feb 26 12:03:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * command.c (add_cmd): Don't call savestring on name. + +Sun Feb 25 15:52:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (print_frame_args): Make highest_offset an int. + New variable args_printed. + (print_frame_nameless_args): Remove parameter end and add num + and first. + (print_frame_args): Change call to print_frame_nameless_args. + +Fri Feb 23 21:40:15 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * stack.c (up_command, down_command): + Only print stack frame if from_tty. + +Thu Feb 22 12:01:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * expread.y: Inlcude value.h and don't cast return value from + lookup_internalvar. + + * infrun.c: Remove code in #ifdef UMAX_PTRACE. + + * values.c (convenience_info): Print in form "$foo = 5". + Don't print "Debugger convenience variables:" before first one. + + * Makefile.dist: Remove ADD_FILES from CLIBS. + (gdb, kdb, xgdb): Put in ADD_FILES as well as CLIBS. + + * m-pyr.h: #if 0 out call dummy stuff. + Put in POP_FRAME which just calls error(). + valops.c: If CALL_DUMMY is not defined, put in dummy call_function + which just prints an error message. + +Tue Feb 20 22:11:40 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (commands_command): Add arg from_tty. + + * main.c (main): Put if (!setjmp (to_top_level)) around calls + to *_command made in response to command line arguments. + +Mon Feb 19 13:58:28 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * main.c (main): Use getopt_long_only. Move one-character options + to long_options. Remove entries which are just unambiguous + abbreviations of other options. + + * command.h: Add types cmd_types and var_types. + Add fields type, var_type, and var to struct cmd_list_element. + command.c (add_set_cmd, add_set_from_show): New functions. + (add_cmd): Set c->var_type. + (add_abbrev_cmd): Call add_cmd instead of duplicating code. + main.c: Add showlist. + Move parse_binary_operation from main.c to command.c. + command.c (do_setshow_command): New function. + gdbcmd.h: New file. + Makefile.dist: Add gdbcmd.h. + many files: Include gdbcmd.h, use add_set_cmd and add_show_from_set. + Replace info * with show * where appropriate. + utils.c (fputs_filtered): Use UINT_MAX in lines_per_page to mean + no paging. + defs.h: Define UINT_MAX. + infcmd.c (run_command): Use execute_command, not set_args_command. + main.c (execute_command): Call do_setshow_command if necessary. + main.c (show_command, show_history): New functions. + main.c (initialize_main): Call add_prefix_cmd + for show and show history. + + * coffread.c (enter_linenos): Print error if + file_offset < linetab_offset. + +Sun Feb 18 15:37:05 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * convex-dep.c (comm_registers_info): Fix typo. ("argc"->"arg"). + +Wed Feb 14 20:45:14 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * config.gdb: Create Makefile with make. + + * Makefile.dist, config.gdb: Move "srcdir=" line from Makefile.dist + to new file Makefile.srcdir. + + * valprint.c: Include . + + * value.h: Declare value_coerce_function. + + * findvar.c: Add missing " after #include "gdbcore.h + + * main.c (main): Re-write command parsing to use getopt. + On "gdb +help" print options with '+' not '-'. + Makefile.dist: Add getopt. + +Tue Feb 13 00:08:27 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Add "srcdir=." + config.gdb: Edit srcdir= rather than adding it to the beginning. + + * pyr-dep.c: Make global_reg_offset, last_frame_offset not static. + Move definition of reg_stack_offset to core.c [REG_STACK_SEGMENT]. + + * config/pyramid: Print message about alloca. + + * breakpoint.c (clear_command): When printing "no breakpoint" + error, only use arg if non-NULL. + + * core.c (read_memory): Rename to read_memory_noerr. + (read_memory): New function which calls read_memory and checks for err. + gdbcore.h: Declare all extern core.c functions. + move myread from core.c to utils.c. + declare it in defs.h. + (read_memory_integer): move from infcmd.c to core.c. + gdbcore.h: Declare it. + Many places: Remove error checking on read_memory, or call + read_memory_noerr instead. Include "gdbcore.h" if calling either. + + * value.h (COERCE_ARRAY): Coerce functions to function pointers. + valops.c (value_coerce_function): New function. + + * core.c, convex-dep.c, arm-dep.c (xfer_core_file): Return EIO + if address out of bounds. + + * m-arm.h, arm-dep.c arm-pinsn.c arm-opcode.h: New files. + dbxread.c, m-convex.h (VARIABLES_INSIDE_BLOCK): Add gcc_p parameter. + Makefile.dist (alldeps.mak): Special case for arm-convert.s. + dbxread.c (define_symbol): Check for local based on it not + being any one of the known deftypes. + values.c (using_struct_return): Use new macro USE_STRUCT_CONVENTION. + + * Makefile.dist, config.gdb: Put in srcdir stuff. + +Mon Feb 12 22:46:16 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c: Add addr_string and cond_string fields to + struct breakpoint. + (break_command_1): Set them. Use mention (). + (mention): Create with code from break_command_1. + (breakpoint_re_set): New function. + (breakpoint_clear): Remove. + (condition_command): Set cond_string. + (breakpoint_delete): Free cond_string and addr_string. + Declare parse_c_1's type and remove casts to struct expression *. + symmisc.c (free_all_symtabs): Don't call breakpoint_clear. + dbxread.c, coffread.c (reread_symbols): Call breakpoint_re_set, + Include breakpoint.h. + breakpoint.h: New file. + dbxread.c: Move declaration of symmisc.c functions to symtab.h. + +Sun Feb 11 17:29:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.c: Make lookup_block_symtab extern. + symtab.h: Declare it. + valops.c (value_of_this): Use it. + +Fri Feb 9 08:59:37 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * config/hp300hpux: Print message telling people to use gcc. + + * value.h: Declare print_floating. + printcmd.c (print_scalar_formatted, case 'f'): Use print_floating. + valprint.c (val_print, case TYPE_CODE_FLT): Use print_floating. + valprint.c (print_floating): Make this function out of is_nan + and the code which was in val_print. + Put parentheses around high & 0xfffff. + Print sign and fraction for NaN's. + Print 17 digits not 16 for doubles. + (is_nan): Remove. + m-news.h, m-sun3.h: Define IEEE_FLOAT. + + * Rename gld-pinsn.c to gould-pinsn.c. + config/{pn,npl}: Change name of gld-pinsn.c + +Tue Feb 6 00:25:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infptrace.c: Define PT_ATTACH if not defined. + m-hp300hpux.h: Define ATTACH_DETACH. + + * main.c (initialize_main): Change alias class to aliases. + + * dbxread.c: Search and destroy references to symsegs. + Also remove some #if 0'd code. + + * core.c: Remove reread_exec. + dbxread.c (reread_symbols): New function. + dbxread.c (symbol_file_command): Set symfile_mtime. + coffread.c: Same. + infcmd.c (run_command): Call reread_symbols not reread_exec. + + * valprint.c (val_print): When printing string after char *, print + it for "" just like any other string. + + * core.c (reread_exec): New procedure. + infcmd.c (run_command): Call reread_exec. + + * coffread.c (symbol_file_command): Add from_tty. + + * dbxread.c (symbol_file_command): Only ask about loading new + symbol table if from_tty. + +Mon Feb 5 02:25:25 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c (inferior_died): Call breakpoint_clear_ignore_counts. + + * Makefile.dist (OBS): Remove dbxread.o and coffread.o. + + * config.gdb: Ignore files ending in '#' in config. + + * stack.c (backtrace_command): Add QUIT to get_prev_frame loops. + +Sat Feb 3 22:25:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (YACC): Don't use -v. + +Fri Feb 2 19:26:50 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * createtags: Only change .o to .c at end of name. + + * Makefile.dist (alldeps.mak): new target. + (Makefile): add alldeps.mak. + (SOURCES): remove PINSNS. + (TAGFILES: use ALLPARAM. + (gdb.tar): add config/. + + * config.gdb: Check for M_FILE= not #param.h + config/*: Make sure M_FILE= exists with space after M_FILE=. + Makefile.dist (TAGS): Pass M_FILE and DEPFILES. + createtags: Change .o to .c. Remove special tests for dep.c etc. + + * dbxread.c, coffread.c: Don't check COFF_FORMAT and READ_DBX_FORMAT. + Makefile.dist: Move {dbx,coff}read.c from SFILES to ALLDEPFILES. + config/*: add dbxread.o or coffread.o to depfiles. + + * Makefile.dist (depend): Depend on $(SOURCES), not force. + +Thu Feb 1 17:43:54 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symmisc.c (print_symbol): Print newline after label. + +Wed Jan 31 22:35:38 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_addl_syms): Remove code that checks for + _etext. + Move end_of_text_addr into read_dbx_symtab. + (read_dbx_symtab): #if 0 out code which checks for _etext. + +Tue Jan 30 15:40:19 1990 Jim Kingdon (kingdon at albert.ai.mit.edu) + + * Makefile.dist (gdb.tar): Use readline's "make readline.tar" + instead of having a list of readline files. + + * infrun.c (normal_stop): #if 0 out "you have found a bug in sh". + + * munch (-DSYSV): Check for .text at end of name. + Optionally allow extra underscore before initialize. + Remove space between #! and /bin/sh. + + * m-merlin.h: Put in clarifying comments about SHELL_FILE. + Makefile.dist (install): Execute M_INSTALL. + config/merlin: Define M_INSTALL. + +Mon Jan 29 04:32:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c: Change all references to signal handlers from + int (*)() to void (*)(). + + * main.c: Declare init_signals before use & make it void. + Declare initialize_all_files. + + * Makefile.dist (config.status): New target. + +Sat Jan 27 00:19:50 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * defs.h (enum command_class): Remove comma after last element. + + * Makefile.dist (gdb.tar.Z): Use compress bar rather + than deleting gdb.tar.Z before starting. + + * dbxread.c (process_one_symbol): Compare context_stack_depth + with !VARIABLES_INSIDE_BLOCK, not VARIABLES_INSIDE_BLOCK. + + * mcheck.c: Put whole file in #if defined MALLOC_RANGE_CHECK. + + * mcheck.c (checkhdr): Call fatal_dump_core not abort. + + * mcheck.c: Copy from malloc distribution. + + * main.c (main): Call init_malloc (). + + * main.c (initialize_signals): Rename to init_signals. + +Fri Jan 26 00:53:23 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * *dep.c: Make core_file_command return void. + + * gdbcore.h [!KERNEL_U_ADDR]: Declare kernel_u_addr. + infptrace.c [!KERNEL_U_ADDR]: Make it extern. + + * altos-dep.c (NBPG, UPAGES): Wrap #define in #if !defined. + + * m-pn.h (GOULD_PN): Define. + *-pinsn.c: Include actual opcode table not just opcode.h + + * main.c [ALIGN_STACK_ON_STARTUP]: New code. + m-i386.h: Define ALIGN_STACK_ON_STARTUP. + + * m-merlin.h (NO_SIGINTERRUPT, SHELL_FILE): Define. + + * Move code from infptrace [USE_PTRACE_GETREGS] to sun3-dep.c. + m-sun{2,3}.h, m-sparc.h: Define FETCH_INFERIOR_REGISTERS. + + * Makefile.dist, config.gdb, config/*: + Re-write to use machine-dependent makefiles instead of cpp. + + * m-hp300hpux.h: Define FETCH_INFERIOR_REGISTERS. + infptrace.c: Put {fetch,store}_inferior_registers inside + #if !defined FETCH_INFERIOR_REGISTERS. + + * Split execcore.c into exec.c and coredep.c. + Move a bunch of stuff from coredep.c and *dep.c to gdbcore.h. + + * infptrace.c ({fetch,store}_inferior_registers): + Use U_REGS_OFFSET to set offset. + m-umax.h: Define U_REGS_OFFSET. + + * m-umax.h: Define PTRACE_{ATTACH,DETACH}. + + * m-i386.h (N_SET_MAGIC): Define. + m-i386gas.h: add #undef N_SET_MAGIC. + +Thu Jan 25 18:39:45 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * m-hp300bsd.h: Remove KERNEL_U_ADDR. + + * infptrace.c [!KERNEL_U_ADDR]: Get address of kernel u area + at runtime. + + * infptrace.c: Replace numbers with PT_KILL, etc. + (store_inferior_registers): Loop for as many words are in the register. + + * infptrace.c [NO_SINGLE_STEP]: Call single_step(). + + * kill_inferior{,_fast}: Declare as returning void. + + * m-sun3.h (USE_PTRACE_GETREGS): Define. + + * execcore.c: Add IS_OBJECT_FILE & related stuff. + + * infptrace.c: Include . + [ATTACH_DETACH] [USE_PTRACE_GETREGS]: New code. + + * Split default-dep.c into infptrace.c and execcore.c. + + * valprint.c [IEEE_FLOAT]: Change void * to char *. + + * breakpoint.c: Change printf_filtered(%s) to fputs_filtered. + +Wed Jan 24 00:35:52 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (symbol_file_command): When freeing everything, free + the string table too. + + * Makefile.dist (gdb1): add "rm -f gdb1". + + * printcmd.c (print_scalar_formatted): If size is 0, use 'b' + 'h', 'w', or 'g' depending on the type. + + * stack.c (backtrace_command): Read in symbols for frames we'll + print before printing them. + + * valops.c (value_at): Don't print "I/O error" on EIO from + ptrace. Don't print "out of bounds" for any ptrace error + except EIO. + + * valprint.c (type_print_base, case TYPE_CODE_ENUM): + Print "FOO = 5" not "FOO : 5". + + * symtab.{c,h}: Make lookup_misc_func extern. + + * Makefile.dist: Define VERSION in makefile, and generate + version.c automatically. + (gdb.tar): Use gdb-$(VERSION), not dist-gdb. + + * expread.y (yylex): Use lookup_primitive_typename to + cut down on calls to lookup_symbol. + symtab.{c,h} (lookup_primitive_typename): New function. + (lookup_typename): Use it. + + * symtab.{c,h} (check_stub_type): New function. + valprint.c (type_print_base, val_print, type_print_derivation_info), + values.c (allocate_value): Call it. + + * printcmd.c (whereis_command): New function. + symtab.c (lookup_symbol): Add symtab parameter. + various: Pass additional argument to lookup_symbol. + symseg.h (struct symbol): Add line field. + dbxread.c (define_symbol): Set sym->line. + + * dbxread.c (symbol_file_command): Read string table into + malloc'd memory (symfile_string_table) and leave it there. + (psymtab_to_symtab): Use symfile_string_table. + + * utils.c (sig_abbrev): Return NULL if not found. + infrun.c (sig_print_{header,info}): Consolidate duplicated + code from handle_command, signals_info. + (sig_print_info): Just print number if no name from sig_abbrev. + + * Makefile.dist (OTHERS): Add ChangeLog-3.x + + * infrun.c (restore_inferior_status): #if 0 out + "Unable to restore previously selected frame" error message. + + * infrun.c (signals_info, handle_command): Print signal + abbrevs along with numbers. + + * infrun.c (handle_command): Accept symbol signal names. + + * utils.c (sig_{number,abbrev}, init_sig): New functions. + _initialize_utils: Call init_sig for each signal. + defs.h: Declare them. + + * default-dep.c (read_inferior_memory): Check quit_flag in + fetch loop. + + * Changes for lazy fetching (speeds things up for big objects): + value.h (struct value): New field lazy. + VALUE_CONTENTS_RAW, VALUE_LAZY, value_at_lazy: New. + findvar.c (read_var_value): Set lazy instead of fetching. + various: Copy into VALUE_CONTENTS_RAW, not VALUE_CONTENTS. + valops.c: Add value_at_lazy, value_lazy. + various: Call value_at_lazy instead of value_at. + + * symtab.h (LONGEST): Define. + + * m-*.h (LONGEST, BUILTIN_TYPE_LONGEST): Delete (in symtab.h). + + * infrun.c (wait_for_inferior): #if 0 out stop if ABOUT_TO_RETURN + + * version.c: Change version number to 4.0development + +For older changes see ChangeLog-3.x + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1991 b/contrib/gdb/gdb/ChangeLog-1991 new file mode 100644 index 0000000..199b73f --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1991 @@ -0,0 +1,5175 @@ +Mon Dec 30 10:57:02 1991 Per Bothner (bothner at cygnus.com) + + Mainly stuff to improve handling of TYPE_CODE_REF values. + * valops.c (value_addr): If taking the addres of a + TYPE_CODE_REF, just cast the object to the corresponding + TYPE_CODE_PTR. This yields correct C++ semantics, and + preserves the location information, which has the nice effect + that &(&R) given the location containing R. + * values.c (value_copy): Make non-static (used by value_addr). + * eval.c (evaluate_subexp_for_address): Use the default + scheme (with value_addr) for a variable if it has TYPE_CODE_REF. + * valops.c (value_addr), eval.c (evaluate_subexp_for_address, + evaluate_subexp_with_coercion): Factor out some common + expressions into variables, for easier reading. + * findvar.c (locate_var_value): Remove code to handle + TYPE_CODE_REF - it should no longer be needed. + * valops.c (value_assign): Do a COERCE_REF on the + destination operand, for correct C++ semantics. + * valarith.c (value_x_binop): Ditto: De-reference C++ + references in the arguments. + * valops.c: ANSI-fy: bcopy->memcpy, bzero->memset. + +Sat Dec 28 11:30:26 1991 Per Bothner (bothner at cygnus.com) + + * dwarfread.c, coffread.c: Use INIT_CPLUS_SPECIFIC. + * symtab.c (gdb_mangle_name): Recognize and handle + constructors specially. + * symtab.c (check_stub_method): Test for failure from + cplus-demangle by calling error() instead of seg-faulting ... + +Fri Dec 27 22:21:30 1991 Fred Fish (fnf at cygnus.com) + + * defs.h: Add definition of null_cleanup() + + * procfs.c: Many small changes to add base support for a new + "info proc" command (currently only printing of the address + space mapping is implemented) and allow iteration over the + address space mapping, calling an arbitrary function for each + mapping (used for shared library support). + + * solib.c: Change all ifdefs that checked for "sun" to check + for "!SVR4_SHARED_LIBS" instead. Rewrite lookup_base() to + handle locating the debug base address even when not currently + stopped at the dynamic linker entry point. + + * utils.c: Add null_cleanup() as a known function that does + nothing to serve as a base for possibly long cleanup chains + with no specific "first cleanup" to serve as an anchor. + + * xm-sysv4.h: Add define of SVR4_SHARED_LIBS + +Fri Dec 27 10:11:33 1991 Per Bothner (bothner at cygnus.com) + + * arm-opcode.h, m88k-opcode.h, pn-opcode.h, np1-opcode.h, + pyr-opcode.h, tahoe-opcode, vax-opcode.h: Removed - + these are all essentially the same as the versions + in ../include/opcode. The remaining *-opcode.h here + are not quite so obviously the same, and need study. + * arm-pinsn.c, gould-pinsn.c, m88k-pinsn.c, pyr-pinsn.c, + tahoe-pinsn.c, vax-pinsn.c: Change so these include + opcode/FOO.h (actually ../include/opcode/FOO.h) + instead of the recenntly departed opcode-FOO.h files. + * sparc-pinsn.c: Now that we're using the much tighter + opcode table in ../include/opcode/sparc.h, we shouldn't + need to sort the opcodes before dis-assembly. + + * symtab.h, symmisc.c: Make cplus_struct_default be const. + * symtab.h, buildsym.c: Add and use INIT_CPLUS_SPECIFIC macro. + * symmisc.c: Remove unused 'nfields' variable. + * buildsym.h: Add extern decl of unknown_symtype_complaint, + since it used used by partial-stab.h (included two places). + * partial-stab.h: Re-arrange DBXREAD_ONLY #ifdefs so that + we should never hit the default case (until new stab codes + are added). Hence, we can leave the complaint in the + default case in even when DBXREAD_ONLY is off. + * partial_stab.h: Recognize a pair of N_SO stabs (one for the + directory, one for the filename proper) without peeking ahead. + * dbxread.c, mipsread.c: Because of previous change, don't need + ugly CHECK_SECOND_N_SO macro. + * buildsym.h, dbxread.c, mipsread.c: Make next_symbol_text a + macro that invokes a function pointer in next_symbol_text_func. + * mipsread.c: Added comments various places to + explain what is going on. + * mipsread.c (parse_symbol): Support the new (SGI-specific?) + symbol types stStruct, stUnion, and stEnum. + Also, some fixes in the code for dealing with tags. + * mipsread.c: Change handling of startup_file_start and _end + - now just use the textlow and texhigh of a psymtab + to check if we've found the startup-file. + * mipsread.c: Replace s_idx by global cur_sdx in many places. + This is so mips_next_symbol_text can get at it. + +Thu Dec 26 19:52:01 1991 Fred Fish (fnf at cygnus.com) + + * dbxread.c, symmisc.c: Move add_psymbol_to_plist() from + dbxread.c to symmisc and change name to add_psymbol_to_list. + Ditto for add_psymbol_addr_to_plist(). Also expand their + body to not use ADD_PSYMBOL_VT_TO_LIST. + + * dwarfread.c: Remove add_psymbol_to_list() and convert usages + to the ADD_PSYMBOL_TO_LIST macro. + + * ieee-float.c: Change "#ifdef DEBUG" to "#ifdef IEEE_DEBUG" + to avoid collision with the DEBUG for ADD_PSYMBOL_VT_TO_LIST. + + * partial-stab.h, symfile.h: Move definitions of the macros + ADD_PSYMBOL_TO_LIST and ADD_PSYMBOL_ADDR_TO_LIST from + partial-stab.h to symfile.h. They aren't stab specific. + Change ADD_PSYMBOL_VT_TO_LIST to use memcpy rather than strncpy. + +Tue Dec 24 11:38:08 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.3.2. + +Mon Dec 23 13:54:35 1991 Per Bothner (bothner at cygnus.com) + + * m68k-opcode.h, mips-opcode.h, sparc-opcode.h: Deleted. + * m68k-pinsn.c, mips-pinsn.c, sparc-pinsn.c: + Include instead of . + + * symtab.h, symtab.c, coffread.c, dwarfread.c, symmisc.c, + dbxread.c: The TYPE_CPLUS_SPECIFIC structure is now only + allocated when it is needed. Until it is needed, it points + to a shared statically allocated structure. + + * buildsym.h, buildsym.c, dbxread.c: Remove the kludgy code + in read_ofile_symtab to recognize two initial N_SO stabs, + and let process_on_symbol handle it. This is cleaner, more + efficient, and lets mipsread.c share the same code. + + * symfile.h, partial-stab.h: Move ADD_PSYMBOL_VT_TO_LIST + and related macros to here ... + * dbxread.c: ... from here. + * symmisc.c: Move the "overflow" handling from + ADD_PSYMBOL_VT_TO_LIST macro into new function extend_psymbol_list. + * dwarfread.c: Re-write add_psymbol_to_list to use + ADD_PSYMBOL_VT_TO_LIST macro. + + * mipsread.c: Extend mipsread.c to handle stabs-style symbols + encapsulated in ecoff symbols. This enable full g++ debugging. + * partial-stab.h: Move the code for pre-scanning symbols + and building psymtabs to an include file, out from dbxread.c. + This way, the same code can also be used by mipsread.c. + * dbxread.c, buildsym.h: Various changes to allow some functions + to be used by mipsread.c (also some arguable stylistic changes). + + * tm-mips.h: Define BLOCK_ADDRESS_ABSOLUTE, at least for now, + since mips-tfile puts relocatable addresses into LBRAC/RBRAC + stabs. + + * mipsread.c: Replace code to handle ambiguous tag blocks. + Instead of allocating a TYPE_CODE_UNDEF, guess (by looking + at types and offsets) if a tag is a struct, union, or enum. + Still patch it later if we find out for sure. + * mipsread.c: In various ways, replace Forin's + ideo-syncratic code by code that fits better with the + rest of gdb, for both stabs-based and ecoff-based symtabs. + E.g. use end_psymtab; don't do extra passes over FDR table to + pre-partition global data; don't use external symbols to + create static/global symbols (just put them in the + misc_vector); use ADD_PSYMBOL_TO_LIST macro; don't + sort psymtabs or symtabs; use obstacks more. + + * symtab.c, mipsread.c, dbxread.c, buildsym.c: + ANSIfy: Replace bcopy by memcpy, bzero by memset. + +Sun Dec 22 19:31:04 1991 Fred Fish (fnf at cygnus.com) + + * solib.c (locate_base): Fix uninitialized variable that was + causing return of random value to callee. + + * config/mh-amix, config/mh-i386v4: Change to find alloca by + compiling and linking alloca.c, even when it is not strictly + required. Also arrange to link with -ltermlib rather than + -ltermcap. + + * Makefile.in: Move TERMCAP definition to prior to inclusion + of host makefile fragments so it can be overridden. + +Fri Dec 20 16:33:39 1991 John Gilmore (gnu at cygnus.com) + + * xcoffread.c (read_symbol_lineno): Logic error in incrementing + symbol table entry number. (From Metin Ozisik.) + +Fri Dec 20 11:36:38 1991 Fred Fish (fnf at cygnus.com) + + * config/mh-i386v4: Change XM_CLIBS to "-lc /usr/ucblib/libucb.a" + so compiles with native compilers (without builtin alloca) can + pick up the version from the bsd emulation library. However, we + search the standard C library first so we don't pick up lots of + other broken stuff from libucb.a, that we *don't* want. + + * configure.in, tm-amix.h, tm-i386v4.h, xm-amix.h, xm-i386v4.h: + Change svr4 references to sysv4. + + * source.c: Move declaration of external function index to + front of file so it is in scope for all references. + + * utils.c (error, fatal): Make definitions consistent with + defs.h declarations (declared as "volatile void"). + +Fri Dec 20 10:55:36 1991 John Gilmore (gnu at cygnus.com) + + * rs6k-opcode.h: Bugfix sfe and stbrx. By Al Kossow. + +Wed Dec 18 17:09:06 1991 Stu Grossman (grossman at cygnus.com) + + * command.h, defs.h, eval.h, expression.h, remote-sa.sparc.c, + sparc-tdep.c, symtab.h, target.h, value.h, vx-share/ptrace.h, + vx-share/xdr_ptrace.h, vx-share/xdr_rdb.h: ANSIfy enums. + +Mon Dec 16 12:31:46 1991 Fred Fish (fnf at cygnus.com) + + * config/mt-amix, config/mt-i386v4: Add solib.o to TDEPFILES + for these SVR4 systems. + + * symfile.c (symbol_file_add): When verbose is set, print + the names of files from which symbols are being loaded, as + when from_tty is true. + + * solib.c: Completely reorganized (rewritten) to support + SVR4 shared libraries in a manner very close to the original + SunOS implementation. This support is expected to change and + become more general at some future time. The SVR4 version + does not yet work for attached processes, for example. + + * dwarfread.c: Arrange in dwarf_build_psymtabs() for the + relocation address to be valid whether or not symbols are + being read from a shared library or an executable. Use the + relocation address recorded in the psymtab when reading + full symbol tables (in read_ofile_symtab). Ensure that the + relocated address ranges are recorded in partial symtabs. + + * elfread.c: Add new function elf_interpreter() to return the + string from the ELF ".interp" section. This is the interpreter + that the kernel tries to run and feed the executable to. + Expand arguments to record_misc_function to include a type arg. + Modify elf_symtab_read() to supply the type arg, and to do symbol + relocations for symbols read in from shared libraries. + + * procfs.c: Add new functions proc_base_address() and + proc_address_to_fd(), used by shared library support. + + * tm-svr4.h: Add macros to support SVR4 shared libraries. + Definitions for SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK, + CLEAR_SOLIB, and DISABLE_UNSETTABLE_BREAK. + +Fri Dec 13 20:11:26 1991 John Gilmore (gnu at cygnus.com) + + * infrun.c, remote-eb.c, remote-nindy.c, remote-vx.c: Remove + unused START_INFERIOR_HOOK. + + * remote-eb.c: Change timeout to 24 seconds (*10 fits in byte) + to account for slow loading from floppies. + (eb_create_inferior): New fn, from eb_start and + nindy_create_inferior. + (eb_close): Only use log_file if nonzero. + (eb_xfer_inferior_memory): If not writing, then read! + (eb_read_inferior_memory, eb_write_inferior_memory): Return length. + (eb_kill): A new no-op. + (eb_mourn_inferior): Remove breakpoints, then generically weep. + +Fri Dec 13 16:09:23 1991 Fred Fish (fnf at cygnus.com) + + * breakpoint.c, findvar.c, infrun.c, putenv.c, stack.c: Fix + miscellaneous comparisons of integer with NULL that elicit + compiler warnings about comparison of integer with pointer, when + NULL is ((void *) 0) rather than just a bare 0. + +Wed Dec 11 13:02:58 1991 John Gilmore (gnu at cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Disable each breakpoint + while we reset it, in case of problems. Print breakpoint number + in error messages. + + * buildsym.c (read_struct_type): Avoid sun3 compiler bug with + foo[--n]. + + * source.c (find_source_lines): If getting file mod time fails, + don't warn. + + * target.c (target_xfer_memory): If errno is set, return it, + rather than EIO. + +Tue Dec 10 04:07:22 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: infodir belongs in datadir. + +Sun Dec 8 21:13:33 1991 Michael Tiemann (tiemann at sphagnum.cygnus.com) + + * symtab.h (struct fn_field): Add new fields `is_private', + `is_protected', `is_stub', making room by reducing the size of + `voffset'. + (struct fn_fieldlist): Delete the fields `private_fn_field_bits' + and `protected_fn_field_bits'. + (TYPE_FN_{PRIVATE,PROTECTED}_BITS): Deleted. + (SET_TYPE_FN_{PRIVATE,PROTECTED}): Deleted. + (TYPE_FN_{PRIVATE,PROTECTED}): Deleted. + (TYPE_FN_FIELD_{STUB,PRIVATE,PROTECTED}): New macros. + * valops.c, valprint.c, symtab.c: All callers updated. + + * buildsym.c (read_struct_type): Delete the `visibility' field + from `struct next_fnfield', and rework code so that visibility + info is stored into the fn_field directly. Also, hacked to set + TYPE_FN_FIELD_STUB for both static and normal member functions. + +Sat Dec 7 18:13:11 1991 Fred Fish (fnf at cygnus.com) + + * i386-tdep.c: Fix a problem on i386 systems where buffered code + stream access was failing to take into account the minimum size + granularity of the code section. For now, the buffering is simply + disabled. There is a similar problem in the i386 disassember code + that has not yet been fixed (FIXME). + + * gmalloc.c: Use macros to hide some of the ugly casting required + in the previously applied fix for pointers with high bits set. + +Sat Dec 7 16:49:35 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.3.1. + +Sat Dec 7 04:12:35 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.3 release! + + * Makefile.in: Roll VERSION to 4.3 + * README, TODO, WHATS.NEW, depend: Update. + + * inflow.c (terminal_inferior): Avoid error msg if attached. + + * gmalloc.c: Fix bug that causes malloc & free to + fail on systems where pointers have the high bit set (0x800efcf0 + for example). The problem is that the difference between two + pointers is a signed integer, so the computation + + (char *) 0x800efcf0 - (char *) 0 + + yields a negative value. The sign of the result of the modulus + operator is machine dependent for negative operands, thus it is + possible for it to end up negative. From Fred Fish. + +Sat Dec 7 00:00:15 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: install using INSTALL_PROGRAM and INSTALL_DATA. + added clean-info. added some standards.text support and made it + look like our other Makefiles. + + * configure.in: mark this directory target dependent. configure + now runs entirely in objdir so make existence tests and + references against ${srcdir}. + +Fri Dec 6 08:30:36 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type, struct_type): Fixes for opaque and + anonymous enumerations, structures, and unions. Now passes all + the current gdb test suite tests. + +Thu Dec 5 22:46:13 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + +Thu Dec 5 21:53:21 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (decode_line_1): If SKIP_PROLOGUE leaves us in + mid-line, be more careful about possibly advancing to the next line. + +Thu Dec 5 18:59:51 1991 Michael Tiemann (tiemann at cygnus.com) + + * cplus-dem.c (cplus_demangle): Call `string_need' when + null-terminating a partially-computed string. + +Thu Dec 5 18:19:43 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type): Build a correct TYPE_NAME, add a + symbol to the symbol table for each member of the enum. + + * dwarfread.c (struct_type): Build a correct TYPE_NAME. + + * dwarfread.c (add_enum_psymbol): New function to extract enum + member names and add them to the partial symbol table while + building partial symbol tables. + +Thu Dec 5 17:31:05 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (check_stub_method): Must allocate two extra argument + slots (one for `this', one for arglist terminator). + +Thu Dec 5 10:51:05 1991 Fred Fish (fnf at cygnus.com) + + * inflow.c (child_terminal_info): Supply missing '"' character. + + * buildsym.c (define_symbol): Supply missing parenthesis. + +Thu Dec 5 03:34:21 1991 John Gilmore (gnu at cygnus.com) + + * coredep.c (fetch_core_registers): Fencepost error. Fixed by + Jay Lepreau . + + * inflow.c: Remember whether GDB has a terminal. Avoid switching + terminals back and forth if we don't have one. + + * c-exp.y (parse_number): Zero is not an unsigned int constant! + * dbxread.c (read_dbx_symtab): Enum type numbers can be in (1,2) form. + + Improve type parsing. + * buildsym.c (define_symbol, read_range_type): Add + long_kludge_name that passes the names of range types being + defined, down to where we must choose between 'int' and 'long' + variants. This fails on Sun C anyway since the compiler itself is + confused between int and long. + (read_array_type, cleanup_undefined_types): Correct the size of + array type whose element-type size isn't immediately known. + + Early preparation to blow away many builtin types, building them + on the fly as needed. Don't compare types to builtin types with + ==; examine the relevant fields instead. + * coffread.c (process_coff_symbol: C_ARG, C_REGPARM): Avoid ==. + * buildsym.c (define_symbol, case 'p'): Avoid ==. + * valops.c (value_arg_coerce): Avoid ==. Don't assume host and + target types are the same. + * valprint.c (val_print): I finally understand arrays, remove FIXME. + + * symmisc.c (printpsyms_command): Reduce redundancy, and put all + addresses in GDB itself into parens for easy cleanup and diffing. + +Wed Dec 4 21:05:30 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread (enum_type): Arrange for the order of enumeration + members to match the source code order; not the order in the + Dwarf information, which is explicitly reverse order. + +Wed Dec 4 18:24:39 1991 John Gilmore (gnu at cygnus.com) + + * main.c (input_from_terminal_p): Check whether GDB has a + terminal at all. + (initialize_main): Revise doc for `set editing'. + +Wed Dec 4 15:36:39 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (struct_type): Handle structures and unions which + contain DIE's other than just member dies. + +Wed Dec 4 01:59:05 1991 John Gilmore (gnu at cygnus.com) + + * symfile.c (reread_symbols): Avoid kludging mtime_set, now that + BFD is fixed. + +Tue Dec 3 17:24:57 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: VERSION 4.2.96. + + * main.c (initialize_main): Revise command descriptions. + * command.c (show_user): `info user' -> `show user'. + * symtab.c (_initialize_symtab): Typo in `info types' desc. + + * coffread.c (coff_symfile_read): Avoid select_source_symtab, + since it is not needed and can cause errors when examining ".o"s. + (read_coff_symtab, decode_base_type): Use complain, not printf. + Print symbol name, not its number. + Remove "#if defined(clipper) #define BELIEVE_PCC_PROMOTION", which + someday should go in a clipper target config file. + + * symfile.c (compact_misc_function_vector): Handle empty vector. + (complain, clear_complaints, syms_from_objfile): Fix complaint + formatting. + * xcoffexec.c: Change syms_from_objfile caller. + + * sparc-xdep.c: Force tm-file as tm-sparc.h, to make it compile + when configured for cross debugging. FIXME, this needs a more + general solution. + +Mon Dec 2 11:04:05 1991 Per Bothner (bothner at cygnus.com) + + * mips-tdep.c (init_extra_frame_info): Float register + 'i' has gdb-internal number 'FP0+i', not '32+i'. + * mipsread.c (new_symbol): Translate g++ special + symbol "$t" to "this". + +Sat Nov 30 21:29:55 1991 Steve Chamberlain (sac at cygnus.com) + Changes due to include file renaming: + + * xcoffread.c: internalcoff.h ->coff/internal.c, + coff-rs6000.h ->coff/rs6000.h + * mipsread.c: coff-mips.h ->coff/mips.h + * elfread.c: elf-common.h ->elf/common.h + elf-external.h ->elf/external.h, + elf-internal.h ->elf/internal.h + * dwarfread.c dwarf.h ->elf/dwarf.h + * dbxread.c: aout64.h ->aout/aout64.h + stab.gnu.h ->aout/stab_gnu.h + + * coffread.c: internalcoff.h ->coff/internal.h + * buildsym.c: stab.gnu.h ->aout/stab_gnu.h + * depend Updated to take the above into account. + +Fri Nov 29 16:59:25 1991 Fred Fish (fnf at cygnus.com) + + * configure.in: Add SVR4 i386 configurations. + + * config/mh-i386v4, config/mt-i386v4, tm-i386v4.h, xm-i386v4.h: + New files for i386/SVR4. + + * tm-i386v.h: Allow START_INFERIOR_TRAPS_EXPECTED and + DECR_PC_AFTER_BREAK to be predefined by files including + tm-i386v.h. + + * i386-tdep.c: Add supply_gregset(), fill_gregset(), + supply_fpregset(), and fill_fpregset() functions, which are + target dependent support functions for the SVR4 /proc register + interface. + + * dwarfread.c (enum_type, struct_type): Expand recognized + compiler generated tags to include symbols beginning with '.' as + well as '~'. + + * symtab.c (sources_info): Change simple printf of error message + to call to error(). + +Fri Nov 29 16:04:21 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: remove leading comments that survived M4 but + described its role in the doc; add one more font to colophon; + strengthen disclaimer about unsupported configs. + +Wed Nov 27 01:23:41 1991 John Gilmore (gnu at cygnus.com) + + Fix bugs in C++ debugging. + + * symtab.h: target_type is not used in record types. + Eliminate TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT. Eliminate + lookup_method_type. Add TYPE_TYPE_SPECIFIC macro. + + * symtab.c (lookup_member_type): Don't chain them up, just + allocate one in symbol_obstack when we need one. + (allocate_stub_method): Build stub in symbol_obstack. + (check_stub_method): Move here from values.c. Don't deallocate + stub; overwrite it. + (lookup_method_type): Gone now. + + * buildsym.c: Handle g++ v1 stabs a little bit better. + Change some C++ parsing error()s to complain()ts. + * buildsym.c, findvar.c, printcmd.c, symtab.c: Make unions and + structs have the same representation and work the same as far as + C++ is concerned. + * buildsym.c, symtab.c, values.c: Remove all references to + TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT. + + * valops.c: Improve comments and indentation. Only call + check_stub_method when the stub flag is on. + * valprint.c: Fix or mark minor bugs and unportabilities. + + * coffread.c (anonymous unions): Allocate a cplus structure. + + * mipsread.c: Eliminate "template" types. Build new, real + types whenever we need them. Allocate cplus structures as needed. + Bulletproof the type parsing a bit more. Mark storage leaks. + (parse_type): Copy TYPE_TYPE_SPECIFIC when copying a real type + on top of a partial type. + +Fri Nov 22 16:39:57 1991 John Gilmore (gnu at cygnus.com) + + * inflow.c (terminal_inferior): Check the results of ioctl's, and + print a message if any of them fail. + (terminal_ours_1): Store result of ioctl's for debugging, but + don't print (the terminal isn't ours...). + + * tm-tahoe.h (FRAME_ARGS_ADDRESS): No need to offset from frame + pointer. + + * m2-exp.y (MAX, MIN): Rename to MAX_FUNC, MIN_FUNC to avoid + conflicts with system header files. + +Fri Nov 22 08:27:40 1991 John Gilmore (gnu at cygnus.com) + + * Roll VERSION to 4.2.95. + + * buildsym.c, coredep.c, mem-break.c, xcoffread.c: Put + first, before defs.h. + * config/mh-i386sco: Override compiler to gcc, print warning. + * configure.in: Handle i386-none-aout rather than i386-aout-none. + * infptrace.c, language.h, utils.c: Lint. + * m2-exp.y: #undef MAX and MIN in case system includes set them. + * xm-tahoe.h: Set HOST_BYTE_ORDER. Include system versions of + {BIG,LITTLE}_ENDIAN and the INT_MAX family first, to avoid + redefinition warnings. + * defs.h: Reorder things so that the xm-file gets first crack + at #define's, followed by defs.h and then the tm-file. + * Makefile.in: Remove spaces after 'ignore exit code' - flags. + Late-model BSD 'make's don't cope with them. + +Thu Nov 21 23:48:56 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll new files into various lists. + +Thu Nov 21 18:26:11 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (struct_type): Must initialize the c++ specific + portion of union types as well as struct types, since gdb attempts + to reference the c++ specific info for both types. + +Thu Nov 21 10:23:52 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.2.90. + + * defs.h: Incorporate param.h into defs.h. All users changed. + * param-no-tm.h: Change users to define TM_FILE_OVERRIDE instead. + * param.h, param-no-tm.h: Removed. + * Update copyrights in all changed files. + * dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c, + solib.c, symtab.h, tm-umax.h, valprint.c: Lint. + * tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h, + xm-merlin.h: Avoid host include files in target descriptions. + * getpagesize.h: Removed, libiberty copes now. + * Makefile.in: Remove getpagesize.h, param.h, param-no-tm.h. + + * exec.c (exec_files_info): If `verbose' is set, show file offset + as well. + + * main.c: Use getcwd rather than getwd. + * standalone.c: Fake getcwd rather than getwd. + * xm-*.h: Remove fake values of MAXPATHLEN. + + * xcoffexec.c: Add /* */ to #if 0'd thing to help ANSI. + +Wed Nov 20 18:35:56 1991 John Gilmore (gnu at cygnus.com) + + * Remove gdb/hp-include. Support for HP a.out oddities should be + in BFD, not in GDB. Move gdb/hp-include/a.out.h to include/a.out.hp.h. + + * infptrace.c, tm-sun386.h: Cashier , remove refs. + + * configure.in, xconfig, tconfig, Makefile.in, doc/gdbint.texinfo: + Makefile fragments for various hosts and targets now come from + gdb/config/mh-* and gdb/config/mt-*. This is for consistency with + other config setups. + + * rs6000-pinsn.c, rs6k-opcode.h: Clean up. + * rs6k-opcode.def: Delete. + +Wed Nov 20 05:04:40 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: Recognize obsolete form of AT_element_list + attribute still used by at least one AT&T compiler, and possibly + more. + +Tue Nov 19 07:53:55 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type, struct_type): Ignore names invented by + helpful compilers for anonymous structs, unions, and enums. + + * c-exp.y, m2-exp.y: Add defines for yymaxdepth, yy_yys, and + yy_yyv, so multiple parsers produced by SVR4 versions of yacc + can coexist in the same executable without collision. + + * symtab.h: Add declaration for lookup_template_type() to kill + compiler warnings about conversions from int to pointer. + +Mon Nov 18 17:45:18 1991 Fred Fish (fnf at cygnus.com) + + * procfs.c: Move inclusion of defs.h to before param.h, as in + all the other source files that include both. This is required + to supply some typedefs that are used in files included by param.h. + + * m68k-tdep.c (m68k_skip_prologue): Add generic m68k support for + skipping function prologues, ala the other cpu families (i386, + mips, m88k, etc). Add the ability to skip movm and fmovm + instructions in the prologues. Still needs support for profile + (-p compiled) prologue sequences (FIXME). + + * tm-68k.h: Change SKIP_PROLOGUE macro to use the new generic + m68k prologue skipping function by default. + + * tm-altos.h, tm-isi.h: Continue to use the old definition of + SKIP_PROLOGUE. + +Mon Nov 18 15:12:45 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Remove tdesc stuff, and extra blanks before colons. + * blockframe.c: Remove tdesc-related code. Default + FRAME_CHAIN_COMBINE. + * infrun.c: Remove tdesc-related code. + * m88k-tdep.c (frame_chain_combine, init_frame_pc): Remove copies + of defaultable things. + * tm-m88k.h: New file, common to all Moto 88k target configs. + Derived from tm-delta88.h. + * tm-delta88.h: Use it. + * xm-m88k.h: Common file for 88K hosts. Remove obsolete stuff. + * xm-delta88.h: Use it. + * tm-*.h: Remove FRAME_CHAIN_COMBINE macros, since all are + default. + * coffread.c: Remove tdesc stuff. + * tconfig/delta88, tconfig/m88k: Remove tdesc stuff. + * xconfig/m88k: Rename tm-88k.h to tm-m88k.h. + +Mon Nov 18 13:51:37 1991 Per Bothner (bothner at cygnus.com) + + * source.c (open_source_file): If openp fails, try again + using just the base (non-directory) part of the filename. + This solves various annoying problems, such as when the + source was compiled with an absolute pathname - and the + source files have moved. Or if the source was compiled + using a relative pathname, it can be more convenient + to just specific the source directory to the dir command. + +Mon Nov 18 00:04:41 1991 Fred Fish (fnf at cygnus.com) + + * cplus-dem.c (munge_function_name): Add missing third arg to + instance of call to do_type(). + + * dwarfread.c: Changes to match new dwarf.h. Remove + AT_deriv_list, AT_loclist, AT_incomplete, AT_const_data, + and AT_is_external. + +Sun Nov 17 16:20:53 1991 Michael Tiemann (tiemann at rtl.cygnus.com) + + * symtab.h (struct type): Moved C++-specific fields into new type + `struct cplus_struct_type'. Now takes 10% less memory. Many + macros changed. + * symtab.c (init_type): Don't set fields belonging to + TYPE_CPLUS_SPECIFIC unless TYPE is TYPE_CODE_STRUCT. + * buildsym.c (read_type): Allocate TYPE_CPLUS_SPECIFIC for + TYPE_CODE_STRUCT. + (read_struct_type): Ditto. Also, add comments about how we can + deduce TYPE_VPTR_FIELDNO from inheritance info and fieldname info. + * coffread.c (decode_base_type): Allocate TYPE_CPLUS_SPECIFIC for + TYPE_CODE_STRUCT. + (read_struct_type): Ditto. + * dwarfread.c (struct_type): Ditto. + + * symtab.c (read_range_type): Don't set TYPE_MAIN_VARIANT. + (lookup_pointer_type): Don't use or set TYPE_MAIN_VARIANT. + (lookup_reference_type): Ditto. + + * cplus-dem.c: Many changes made to handle decoding of + ANSI-mangled names. + * symtab.c (gdb_mangle_name): Mangle/demangle ANSI-mangled names + as well. + +Fri Nov 15 17:57:59 1991 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (parse_partial_symbols): patch to keep DEC C + compiler from making gdb bomb out. Thanks to Ed Santiago! + +Thu Nov 14 19:27:30 1991 Fred Fish (fnf at cygnus.com) + + * symfile.c: Add function compact_misc_function_vector() to + remove duplicate misc function vector entries. See comments + in source for why this is necessary/desirable. + + * dwarfread.c: Add misc function type parameter to internal + record_misc_function(). Remove calls to init_misc_bunches() + and condense_misc_bunches(), these are now done in elfread.c. + + * elfread.c: Add support for reading bfd canonical symbol tables + and generating misc function vector entries for global and + absolute symbols. Do calls to init_misc_bunches() and + condense_misc_bunches() where they will enclose all calls to + record_misc_function(), including those in dwarfread.c. + +Thu Nov 14 17:02:11 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile.in: new targets gdb.me, gdb.ms, gdb.mm + (roffable documentation). + * doc/gdb.texinfo: embedded hints (as comments) for better + texi2roff conversion. + +Thu Nov 14 13:18:25 1991 John Gilmore (gnu at cygnus.com) + + * m88k-tdep.c (examine_prologue): Deal with OR instructions + that shuffle parameters into other regs. + * symtab.c (decode_line_1): Fix bug introduced in Per's change + of Nov 12th. + +Wed Nov 13 19:51:11 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in, xconfig/delta88 made it install a sysV manual page; + gdb.z into the right place. + +Wed Nov 13 16:45:13 1991 John Gilmore (gnu at cygnus.com) + + Motorola 88000 port without tears, I mean without tdescs. + + * m88k-tdep.c: Blow away all tdesc stuff. + Provide functions for all the frame-related macros in + tm-delta88.h. Adopt i960-style EXTRA_FRAME_INFO. + (examine_prologue, frame_find_saved_regs, skip_prologue): borrow + from i960-tdep.c and adapt to the function prologues on the 88k. + (read_next_frame_reg): Borrow from mips-tdep.c. + FIXME: frame_locals_address should go away. + + * tm-delta88.h: Dump all the tdesc stuff. + Macros for all frame-related stuff call fns of same name. + Remove duplicated definitions. FP_REGNUM becomes same as + SP_REGNUM. + + * xm-88k.h: Eliminate lots of library dependencies, now handled + in libiberty. Eliminate KDB nonsupport. + + * doc/gdbint.texinfo: Add rudiments on frames. FIXME, add more. + + + * stack.c (frame_info): Mark frameless functions. + Print locals address (FIXME, remove if same). + * blockframe.c: Comment changes, FIXME after. + * coffread.c: Even without TDESC, need to zap "@" symbols. + Don't register for wierd format names; change the names in BFD. + + * alloca.c, language.c, tdesc.c: Lint. + * tdesc.c, tdesc-lib: FIXME: remove these. + +Tue Nov 12 19:30:22 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Add tdesc library support. Fixups to lint, + copying.c rules. + +Tue Nov 12 13:43:26 1991 Per Bothner (bothner at cygnus.com) + + * symtab.c (decode_line_1): Remove spurious call to operator_chars. + + Allow setting breakpoints on C++ destructors. + * valops.c (destructor_name_p): Don't check TYPE_HAS_DESTRUCTOR, + since it lies. Rely on callers to catch missing destructors. + * symtab.c (decode_line_1): For example (see above), here. + * buildsym.c, symtab.h: Remove TYPE_FLAGS_HAS{CON,DE}STRUCTOR + flags since they are no longer used. + + Fixes to support C++ methods with functional parameters. + * c-exp.y (func_mod rule): Allow (and ignore) list of parameter + types in a function type. + * eval.c (parse_and_eval_type), value.h: New function, + parse_and_eval_type, is based on old code from check_stub_method. + But don't actually evaluate the cast, since that calls + value_cast(), whcih may fail. Just extract the type + from the parsed expression. + * values.c (check_stub_method): While looping through the + arguments, adjust depth *after* parameter has been handled. + Replace call and setup of parse_and_eval with new function + parse_and_eval_type. + +Tue Nov 12 09:40:07 1991 Fred Fish (fnf at cygnus.com) + + * utils.c, rem-multi.shar: Remove fixed arg count version of + concat(). + + * altos-xdep.c, arm-xdep.c, coffread.c, command.c, convex-xdep.c, + core.c, dwarfread.c, gould-xdep.c, infcmd.c, language.c, + m88k-xdep.c, main.c, printcmd.c, pyr-xdep.c, source.c, + sun386-xdep.c, symm-xdep.c, umax-xdep.c, values.c, xcoffread.c: + Change all instances of use of fixed args concat() to variable + args concat() now located in libiberty. + +Tue Nov 12 07:23:46 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Add xcoffread.c, xcoffexec.c. + * xcoffread.c: New file for handling AIX mangled-coff files. + * xconfig/rs6000, tconfig/rs6000: New files. + * buildsym.c: Add hooks for xcoffread.c. + * rs6000-pinsn.c, rs6000-tdep.c, rs6000-xdep.c, tm-rs6000.h, + xm-rs6000.h, rs6k-opcode.def, rs6k-opcode.h: New files. + * xcoffexec.c: New file for handling AIX shared libraries. + +Mon Nov 11 19:14:31 1991 Fred Fish (fnf at cygnus.com) + + * core.c: Minor rewording of message to user containing name of + (and possibly arguments to) the program that generated a core + file. + + * elfread.c: Remove the register_addr() stub now that it is no + longer needed. + + * procfs.c: Move misplaced #endif for ATTACH_DETACH. Add new + fetch_core_registers() function for core file support. + +Sat Nov 9 13:37:57 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (dwarf_psymtab_to_symtab): Remove leftover call + to do_cleanups() which resulted from a previous change. + + * elfread.c: Re-enable compilation of register_addr() stub + whenever it is not supplied by coredep.c + +Sat Nov 9 00:40:32 1991 John Gilmore (gnu at cygnus.com) + + Add tracking of object files (that contain symbols) to gdb. + This includes a "struct objfile" that owns symtabs and psymtabs + that were read in from that binary file. + + * symfile.h: Add struct objfile. Add pointer to the objfile + into the struct sym_fns. + Replace global `symfile' and `symfile_mtime' with + `symfile_objfile'. Add global object_files chain. + + * symfile.c: Move param.h above symtab.h. + (sort_misc_function_vector): Add. + (syms_from_objfile): Was syms_from_bfd. + (symfile_open): Now returns objfile. + (allocate_objfile): New. + (free_objfile): New, replacing free_all_.*symtabs. + (symfile_init): Takes objfile arg, puts it in sym_fns result. + (reread_symbols): Searches whole chain of objfiles. + (allocate_symtab): Takes objfile as new parameter, chains them. + Handle INIT_EXTRA_SYMTAB_INFO. + (free_all_psymtabs, free_all_symtabs): Move here from symmisc.c. + + * dbxread.c: Make more errors into complaints. + (push_subfile, pop_subfile): Move to buildsym.c. + (dbx_symfile_read, dbx_symfile_init, fill_symbuf, read_dbx_symtab, + start_psymtab, psymtab_to_symtab_1, read_ofile_symtab, + dbx_psymtab_to_symtab, ): Use bfd ops, don't use file descriptor. + Pass objfile. Change callers. + (fill_symbuf, SWAP_SYMBOL): Take bfd as arg. + (read_dbx_symtab): Just wipe out new symbols, not all, on error. + (end_psymtab): Blow away psymtab if empty. + (process_symbol_pair): Swallow into read_ofile_symtab. + (process_one_symbol): Use push_context and pop_context. + (virtual_context): Delete #if 0'd obsolete stuff. + + * buildsym.c (end_symtab): Pass objfile. + (dbx_lookup_type): Handle null typevector. + (dbx_alloc_type): Check file number, not sym number, for -1. + (find_symbol_in_list): Add for xcoffread. + (start_symtab): Default typevector is empty. Keep reusing same + context_stack. + (end_symtab): Take objfile argument and pass it to + allocate_symtab. Don't make a symtab if no blocks or symbols. + Handle empty typevector. + (push_context): New function for context stack nesting. + (read_type): Mark FIXME where we need to reintroduce type smashing. + + * buildsym.h (pop_context): Macro, paired with push_context. + (subfile_stack): Move here from dbxread.c. + + * coffread.c (end_symtab, read_coff_symtab): Take and use objfile arg. + (read_coff_symtab): Cleanup by freeing objfile, not all symtabs. + + * mipsread.c (read_mips_symtab, parse_partial_symbols, parse_fdr, + new_psymtab, new_symtab): Take and use objfile arg. + + * dwarfread.c (scan_compilation_units, start_psymtab, + process_dies, end_symtab, dwarf_build_psymtabs, + read_lexical_block_scope, read_func_scope, read_file_scope): Take + and use objfile argument. + (psymtab_to_symtab_1, read_ofile_symtab): Don't take or use file + descriptor. Use BFD internal functions instead. + (end_symtab): Call global allocate_symtab. + + * elfread.c, target.c: Minor changes to accommodate objfiles. + * symtab.h: partial_symbol_table has no symfile_name member now. + (fn_fieldlists voffset): avoid non-int bitfield. + (struct symtab): Add objfile * and objfile_chain * of symtabs. + (struct partial_symtab): Add objfile * and objfile_chain * of + psymtabs. Remove symfile_name. + + * symmisc.c: Lose free_all_symtabs, free_all_psymtabs. + (printsyms_command): Rename from print_symtabs. Add selective + listing if 2nd argument given. Print objfile info. + (printpsyms_command): Rename from print_partial_symtabs. Ditto all. + (printobjfiles_command): New; prints objfiles lists, and checks + for consistency of symtab, psymtab, and objfile lists. + + * symfile.h, symfile.c, symtab.h: Lint + +Fri Nov 8 23:38:48 1991 John Gilmore (gnu at cygnus.com) + + * command.c: Include param.h. + * defs.h (warning_setup, warning): Declare. + * expprint.c (print_subexp, UNOP_MEMVAL case): Lint. + * inflow.c (new_tty): Use USE_O_NOCTTY #define. + * language.c, printcmd.c (print_scalar_formatted), signame.c, + stack.c: lint. + +Thu Nov 7 18:26:15 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * Makefile.in: link with libiberty after libreadline, since + readline might want something in libiberty. + * m88k-xdep.c: Fixed the register offsets in the ptrace_user + struct for BCS 88k machines. + * xm-m88k.h: don't define USIZE if already defined. + * configure.in: Added delta88 target. + +Thu Nov 7 04:51:19 1991 John Gilmore (gnu at cygnus.com) + + * am29k-pinsn.c, am29k-opcode.h: Fix decoding of mtacc, dmac, fmac. + + * tm-*.h: Remove READ_DBX_FORMAT, COFF_FORMAT, and + READ_MIPS_FORMAT, which have been unused since BFD. Still + remaining is COFF_NO_LONG_FILE_NAMES. + * tm-sun3.h, tm-altos.h: Remove detritus accidentally left from + function calling code moved to m68k-tdep.c. + +Wed Nov 6 17:21:59 1991 John Gilmore (gnu at cygnus.com) + + * coffread.c: Eliminate c_nsyms in favor of c_naux. + Complain if no auxents on .bf and .ef FCN symbols, and assume + lots of line numbers. + (init_linenos, enter_linenos): Use a sentinel at the end of the + read-in linenos, to make for a fast, safe loop-end test. + +Wed Nov 6 02:54:08 1991 Steve Chamberlain (sac at cygnus.com) + + * coffread.c (read_coff_symtab): coffread used to rely on the + x_sym.x_misc.x_lnsz.x_lnno field giving the # of linnos in a + function. Two of the formats I'm using (29k and 88k) don't seem to + set it. Ths patch to fcn_last_line and (enter_linenos) is an + attempt to use the actual size of the linno table in the file to set + the number of linenos to process. + +Tue Nov 5 22:47:46 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in: put a - infront of the mv y.tab.c c-exp.tab.c and + mv y.tab.c m2-exp.tab.c, so that if bison is used, and the files + are created in place, so the mv fails, then the make continues. + +Tue Nov 5 16:47:47 1991 Per Bothner (bothner at cygnus.com) + + Add C++ as a separate language. + * defs.h (enum language): Add language_cplus. + * dwarfread.c (end_symtab): Support language_cplus. + * c-exp.y: Add new struct language_defn cplus_language_defn. + Don't set c to be the default language (see main.c). + * c-exp.y (yylex): Only look for field of this if + language is C++. (First difference from C!) + * language.c: Add case branches for C++ (currently, all + the same as C). Also, add c++ to "usage" note for "set lang". + * valprint.c (typedef_print). Add case branches for C++. + * main.c (main): New way to set initial language: Look at + file extension of psymtab containing main(). (Same as we + do for symtabs, but avoid loading the symtab yet.) + * symtab.c: New routine find_main_psymtab(), used by main() + to set initial language. + * symfile.c (allocate_symtab): Move code for mapping file + extensions-> languages to new deduce_language_from_filename(). + + Fix a C++ problem when looking for methods in super-classes. + There was confusion between base and derived types. + * valops.c (value_fn_field): Change function interface. + * values.c: Use new value_fn_field interface. + +Mon Nov 4 10:49:33 1991 Per Bothner (bothner at cygnus.com) + + * infrun.c: Fixed typo in comment. + * utils.c: All the v*fprintf emulation is now in libiberty, + so we can get rid of some junk. + * xm-sun3os4.h, xm-sun4os4.h, xconfig/decstation, xconfig/i386sco, + xconfig/sun3os4, xconfig/sun4os4: Don`t need HAVE_STRSTR any more. + * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL + type operands, as used by branch instructions. + * gmalloc.c: Fix prototype of memcpy. + * elfread.c: Comment out register_addr, since it conflicts + with the one in coredep.c. + * buildsym.h: Remove extern declarations of two functions + that are really static in buildsym.c. + * tm-mips.h: Add symbolic names for more registers. + * mips-xdep.c (store_inferior_registers): Use new register names. + * xm-mips.h: Simplify REGISTER_U_ADDR, since it is now + only used for core files, not ptrace. Therefore, + the KERNEL_U_ADDR hack is no longer needed. + The mapping to ptrace number is now in in mips-xdep.c. + * mips-xdep.c: Define REGISTER_PTRACE_ADDR (using the + mapping from the old REGISTER_U_ADDR), and use it + in {fetch,store}_inferior_registers. + * mipsread.c: Rename #include ecoff.h to new name coff-mips.h. + * mips-tdep.c (mips_push_dummy_frame, mips_pop_frame): + Save/restore FP regs correctly (?). + * dbxread.c: Remove duplicate define_symbol and type_synonym_name + (these had been previously moved to buildsym.c). + Hence, define_symbol becomes extern instead of static. + * buildsym.c (read_struct_type): Comment out bogus handling + of C++ operator methods. Minor hacking of reading of class + contexts. Make define_symbol non-static, so dbxread.c can call it. + +Fri Nov 1 11:05:47 1991 John Gilmore (gnu at cygnus.com) + + * mipsread.c (read_mips_symtab, read_the_mips_symtab): Use real + filename with error messages. + * stack.c (frame_select_command): Rename to select_frame_command + to avoid "fr" and "fra" having nonunique completions. + * symfile.c (sort_symtab_syms): Ignore sort of zero symtab *. + (symfile_init): Print file format name when unable to handle it. + (free_named_symtabs): Use BLOCKVECTOR rather than obsolete BLOCKLIST. + * symmisc.c (free_symtab): Only free linetable if nonzero. + * symtab.h: Remove obsolete BLOCKLIST macros. + +Thu Oct 31 18:12:43 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): another stepi/nexti fix. Ensure + that stop_step is 1 at bottom of main loop. I don't know why this + needs to be done, but it helps me sleep better at night. + +Sun Oct 27 18:18:39 1991 Stu Grossman (grossman at cygnus.com) + + * main.c (initialize_history): Read history after reading all + init files. + +Sun Oct 27 14:09:25 1991 John Gilmore (gnu at cygnus.com) + + * buildsym.c: Break out initial malloc sizes. + (record_line): Record directly in a subfile. Alloc on demand. + (compare_line_numbers): Add from xcoffread.c. + (end_symtab): New params say whether to sort pendings and + linetable. Patch block stabs if defined. Shrink linetable before + allocating the symtab. + * buildsym.h: Delete line_vector* and prev_line_number. Add + global_stabs and file_stabs for xcoffread. + * dbxread.c (start_subfile): Move to buildsym. Change above calls. + * symtab.h: LINETABLE(symtab) can now be null. Zap LINELIST. + * symmisc.c, symtab.c: Cope with null LINETABLEs. + + * blockframe.c: Pass fromleaf to INIT_EXTRA_FRAME_INFO. + * tm-29k.h, tm-88k.h, tm-i960.h, tm-irix3.h, tm-mips.h, tm-pyr.h, + tm-sparc.h: Accept fromleaf parameter. + * c-exp.y (yyerror): Pass error message if given. + * configure.in: Add rs6000 host and target. + * inflow.c (new_tty): O_NOCTTY kludge for RS/6000. + * symfile.h (entry_point): Add. + +Sat Oct 26 00:16:32 1991 John Gilmore (gnu at cygus.com) + + * buildsym.c: New file. Breaks out symbol-table-building routines + from dbxread.c, so they can be shared with xcoffread.c. + * buildsym.h: New file. Declarations for buildsym.c users. + * dbxread.c: Remove large chunks into buildsym.c. + * Makefile.in: Add buildsym.c and buildsym.h. + + * symfile.c (syms_from_bfd): New routine. + (add_symbol_file): Call it to do the real work. + (syms_from_bfd): Initialize entry_point before calling symfile_init. + * symtab.h, symfile.c, coffread.c, mipsread.c, dwarfread.c: + Avoid declaring or setting entry_point (symfile.h & symfile.c cope). + +Fri Oct 25 10:58:16 1991 Mark Eichin (eichin at cygnus.com) + + * cplus-dem.c (cplus-demangle): added support for templates, static + data, and the new (correct) mangling for destructors. + + * dwarfread.c: (dwarfwarn): created a varargs version of + dwarfwarn, for non __STDC__ compilers. + + * c-exp.y: (yylex): added match for "template" token. + (typebase): added TEMPLATE name '<' type '>' clause, for explicit + specification of template types. + + * symtab.c: (lookup_template_type): new function for finding + templates in symbol table. + (type_name_no_tag): changed to explicitly check for s/u/e at the + beginning of the symbol - if it is a template, none of these will + be there (but the name will still contain spaces.) + +Fri Oct 25 18:59:32 1991 Per Bothner (bothner at cygnus.com) + + Various fixes to improve g++ debugging. + * symtab.h: Add is_const and is_volatile flags for each method. + These are bit fields - take their space from voffset, + which shrinks to 30 bits. Since voffset is now a bitfield, + make it unsigned for portability. This changes its interpretation + slightly: Static methods now have voffset 1 instead of -1, + and virtual offsets start at 2, not 1. + * symtab.c: Renamed gdb_mangle_typename to gdb_mangle_name, + since it now returns an entire magled method name, not just + the type part. This avoids some duplication. + It also allows us to correctly mangle const and volatile + methods (using the new is_const and is_volatile bit fields + mentioned above). + * valprint.c (type_print_base), values.c (check_stub_method): + Simplify by using new gdb_mangle_name. + * values.c (value_headof): Fix to correctly handle single + inheritance (actually two fixes, either of which suffices). + * dbxread.c (read_struct_type): Handle const and volatile + method specifiers. + * dbxread.c (read_struct_type): Yet one more place where + we must handle '\\' continuations. + * valprint.c (vtbl_ptr_name): Add final '\0'. + +Fri Oct 25 16:06:38 1991 Stu Grossman (grossman at cygnus.com) + + * tm-sparc.h, tm-68k.h (EXTRACT_RETURN_VALUE): fix output of + short return values for sparc and 68k. Patch from Paul Eggert. + + * coffread.c, coredep.c, i386-xdep.c: install patches for + SysV/386 3.2 from Mauro DePalma. + +Fri Oct 25 02:02:13 1991 John Gilmore (gnu at cygnus.com) + + * core.c (core_file_info), exec.c (exec_file_info): Print file + type. Use printf_filtered. + + * valops.c (value_fetch_lazy): Avoid 0-length fetches. + +Thu Oct 24 23:06:40 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: Add casts to remove compiler warnings. + + * tm-3b1.h, tm-68k.h, tm-altos.h, tm-amix.h, tm-hp300bsd.h, + tm-hp300hpux.h, tm-isi.h, tm-news.h, tm-pn.h, tm-sun2.h, + tm-sun3.h: Remove locally duplicated code for calling functions + in the inferior. The only differences were in the specific trap + vectors used and whether or not an fpu was present. These are + now handled by appropriate definitions of BPT_VECTOR and + HAVE_68881 respectively. Other minor obvious cleanups. + + * valops.c: Correct a minor misspelling. + + * utils.c: Remove local BSD/USG hacks that are now in libiberty. + + * dwarfread.c: Remove prototype for dwarfwarn. Does not work + with . + +Thu Oct 24 09:33:44 1991 John Gilmore (gnu at cygnus.com) + + * stack.c (frame_command): Always print. Use new + frame_select_command to select a frame without printing. + + * dwarfread.c: Use , since is not portable. + +Thu Oct 24 01:32:51 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: New file for DWARF debugging format support. + + * elfread.c: New file for ELF object file format support. + + * procfs.c: New file for SVR4 /proc (process file system) support. + + * tm-amix.h, xm-amix.h, tconfig/amix, xconfig/amix: New files for + Amiga UNIX support. + + * xm-svr4.h, tm-svr4.h: New files for SVR4 support. + + * xm-m68k.h: New file for host machines with m68k cpu. + + * Makefile.in: Add elfread.c and dwarfread.c to SFILES_MAINDIR. + Add elfread.o and dwarfread.o to OBS. + + * symfile.h: Add "elf" to list of supported formats in comment. + + * c-exp.y, defs.h, symtab.h, valprint.c: Add three new builtin + types to gdb, builtin_type_long_double, builtin_type_complex, and + builtin_type_double_complex. Add and use new TARGET_SHORT_BIT, + TARGET_INT_BIT, TARGET_LONG_BIT, TARGET_FLOAT_BIT, + TARGET_DOUBLE_BIT, TARGET_LONG_DOUBLE_BIT, TARGET_COMPLEX_BIT, and + TARGET_DOUBLE_COMPLEX_BIT, as the sizes in bits of the indicated + types on the target machine (ala the existing TARGET_LONG_LONG_BIT). + + * infrun.c: When using SVR4 /proc interface instead of ptrace(), + call proc_set_exec_trap() to setup child to stop at first instruction. + + * inftarg.c: When using SVR4 /proc interface, call proc_wait() + rather than wait(). + + * m68k-tdep.c: Add new routines supply_gregset(), fill_gregset(), + supply_fpregset(), and fill_fpregset(), which are machine + dependent support routines for SVR4 /proc interface. + + * utils.c: Add warning_setup() and warning(). Warning() behaves + the same as error() except that it returns normally rather than + jumping back to command level. Modules that don't want to call + warning() for some reason, but want to produce their own warnings, + can call warning_setup() to ensure compatibility with the way + warning() and error() deal with the terminal. + + * symtab.c: Make internal errors produce more useful messages. + + * tm-68k.h: Move code that is duplicated in almost every single + m68k based machine's configuration files to this common file. + Duplications in the configuration files still need to be removed + (FIXME). + + * infrun.c (child_create_inferior): System V versions must call + setpgrp() with no arguments, to comply with prototyping typically + in . + + * munch: Add support for SVR4 style nm output. + + * dbxread.c, mipsread.c symmisc.c, symtab.c: Remove the object + file specific fields from the partial symbol table structure and + replace them with a pointer to private data for each different + flavor of object file reader to initialize appropriately. + +Wed Oct 23 09:38:20 1991 John Gilmore (gnu at cygnus.com) + + * xconfig/sun[34]os4: Add note about strstr botch on sunos4.0.3c + and previous. + + * mipsread.c (fixup_undef_type): New function. If a struct / + union / enum is defined in a header file but nowhere else used, + (by typedefing, pointer referencing or declaration) the mipsread code + builds the complete tree for the structure but leaves its code as + TYPE_CODE_UNDEF as it doesn't know what kind of aggregate it is. + Guess its type based on the details of the members. + +Tue Oct 22 18:04:32 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): Check return value from + find_pc_line. + +Mon Oct 21 17:47:03 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): fix stepi/nexti that was broken + by my last edit to this routine. + +Mon Oct 21 14:27:43 1991 John Gilmore (gnu at cygnus.com) + + * tm-sun3.h (FIX_CALL_DUMMY): problem with cross debugging. + FIX_CALL_DUMMY does unaligned accesses and/or forgets to byte swap + the values before putting them into the dummy code. (From Peter + Schauer) + +Mon Oct 21 10:04:39 1991 Steve Chamberlain (steve at rtl.cygnus.com) + + * configure.in: added ebmon target. + +Wed Oct 16 22:49:58 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.2 release! + + * Makefile.in: Roll VERSION to 4.2. + * README, TODO, WHATS.NEW: Update. + + * core.c (core_open): Improve error message for bad file. + Pass .reg virtual memory address to fetch_core_registers to help + it find the registers in the core-file header. + * coredep.c (fetch_core_registers): Take new argument, use it, + and pass it to register_addr to locate the block of registers. + * xm-mips.h: Update KERNEL_U_ADDR for new scheme. Cleanup a bit. + + * dbxread.c (read_dbx_symtab, process_one_symbol): Handle + Sequent N_FN_SEQ like everybody else's N_FN. + + * main.c: Circumvent SCO cc bug with #if !!defined(USG). + * tm-i386v.h: #endif guck. + * xconfig/i386*: Remove -Dgetpagesize()=4096 kludge. + * xconfig/i386sco: Add HAVE_STRSTR to avoid ANSI bdeath. + * xconfig/tahoe: Add REGEX, which seems to be missing. + + * coredep.c: Add for SCOnix. + * dbxread.c (read_dbx_symntab): Avoid coredump on malformed file. + * printcmd.c (print_formatted): Flush output before disassembly. + +Tue Oct 15 20:12:32 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/refcard.tex (sec "Working Files"): consistent metavars and + other improvements, due to comments by François Pinard + (pinard@iro.umontreal.ca) + + * doc/gdb.texinfo (appendix "Installing GDB"): changes in + configure, and improvenets related to Pinard's refcard comments + +Tue Oct 15 08:45:12 1991 John Gilmore (gnu at cygnus.com) + + Changes from Fred Fish: + * tm-68k.h (FPI_REGNUM): Add. + * infrun.c (child_create_inferior): flush stdout and stderr + before forking. + * configure.in: Handle amigados, amix hosts and targets. + * inflow.c: Handle TIOCGLTC_BROKEN for Amiga. + + From Andreas Schwab: + * values.c (show_convenience): Use printf_filtered. + * main.c (define_command): Check result of lookup_command for + exact match. + (echo_command): Use printf_filtered, and force output out. + + * dbxread.c (read_enum_type): Avoid Modula-2 kludge that breaks C + programs. + * i387-tdep.c (double_to_i387): Fix typo for double_to_ieee_extended. + * utils.c (_initialize_utils): If !ISATTY, don't paginate. + * configure.in, tconfig/decstation, xconfig/decstation: Rename + dec3100 to decstation. + +Mon Oct 14 13:37:50 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: Catch up to changes recorded here in ChangeLog + (nodes Continuing and Stepping; Memory; Targets) clarifications + due to Larry Breed + +Fri Oct 11 23:27:06 1991 John Gilmore (gnu at cygnus.com) + + * tm-{irix3,mips,nindy960,pn,symmetry,vx960}.h: Move + REGISTER_U_ADDR to corresponding xm- file. Sugg. by Peter Schauer. + + * symmisc.c (print_partial_symtabs): Add printpsyms debug cmd. + + * m68k-tdep.c (m68k_push_dummy_frame, m68k_pop_frame): Add + generic routines for calling inferior functions. + + * blockframe.c (inside_main_scope, inside_entry_scope): New. + + * copying.awk: Filter formfeeds out of copying & warrantee. + Make them available as `show copying' and `show warrantee' also. + * main.c (print_gnu_advertisement): Advt `show' commands. + +Thu Oct 10 17:25:47 1991 John Gilmore (gnu at cygnus.com) + + * mach386-xdep.c: Even when cross-compiling, leave in the + core-file reading code. + * core.c (get_core_registers): Avoid coredump if no .reg section. + +Wed Oct 9 17:03:34 1991 John Gilmore (gnu at cygnus.com) + + * mipsread.c, coffread.c: initialise TYPE_VPTR_FIELDNO to -1. + This avoids coredumps under `set print object on' in value_headof + (called erroneously by value_from_vtable_info) for `p &struct' + or `p *struct'. From Peter Schauer. + +Mon Oct 7 00:06:52 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll version to 4.1.2. + * dbxread.c: Use aout64.h, not a.out.gnu.h. Get external symbol entry + size from BFD (but, FIXME, we don't yet read external nlists's and + convert them to internal nlists's before handling them -- we still + assume they have the same size and alignment.) Use SET_NAMESTRING + everywhere useful. + * exec.c (exec_file_command): Move dead coff-encapsulation code + to BFD. + * m88k-tdep.c, m88k-xdep.c: Remove encap test and #inc . + +Fri Oct 4 22:30:06 1991 John Gilmore (gnu at cygnus.com) + + * configure.in, tm-i386v.h, xm-i386v.h: Intel 386 Mach host port. + * xm-i386mach.h, mach386-xdep.c, xconfig/i386mach: New files. + +Fri Oct 4 17:04:31 1991 Per Bothner (bothner at cygnus.com) + + More patches from Peter Schauer : + * mips-xdep.c (store_inferior_registers): Don't try to + write the (pseudo) FP. + * mipsread.c (parse_partial_symbols): Improved algorithm for + setting pst->texthigh. + +Fri Oct 4 16:47:32 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile: make TEXINPUTS include . everywhere + +Fri Oct 4 00:35:56 1991 John Gilmore (gnu at cygnus.com) + + * coffread.c, dbxread.c, symfile.c, symmisc.c, symtab.h: Remove + vestiges of typevectors, which were for symsegs and are no longer + used. (From a question by Eliot Dresselhaus + ). + +Thu Oct 3 09:33:26 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c, coffread.c: static-ize functions that were + gratuitiously external. (From Fred Fish.) + + * c-exp.y: sym->class to SYMBOL_CLASS (sym). + + * dbxread.c (dbx_lookup_type): Keep doubling size of typevector + until it is large enough. + + * dbxread.c (read_type): Handle error case slightly better. + Make complaint message not C++-specific. + +Wed Oct 2 17:21:07 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): Fix step/next so that you only + stop at the beginning of a new line. This fixes various problems + with for loops, nested if-else's and switch statements. + +Tue Oct 1 06:33:55 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (lookup_symtab_1, lookup_symbol): "fatal" errors + between symtabs and psymtabs become ordinary error()s. + + * dbxread.c (read_dbx_symtab): Relocate end_of_text_addr + properly, making "end pc" correct in shared lib psymtabs. + (From Guy Harris .) + +Mon Sep 30 13:15:31 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c: Enable, but soften, const_vol_complaint. + (read_dbx_symtab): N_STSYM and N_LCSYM define static vars. + Ditto Gould N_NBSTS and N_NBLCS. Also, all types in the psymtab + should be file-scope, not global. + (read_struct_type): Remove ancient multiple-inheritance warning. + (read_range_type): Check base type, complain & patch if undefined. + * stack.c (frame_info): Demangle the function name in `info stack'. + (From Peter Schauer) + +Sat Sep 28 10:02:33 1991 John Gilmore (gnu at cygnus.com) + + * eval.c (evaluate_subexp_for_address): Don't use + TYPE_POINTER_TYPE directly (it might be zero if this type has + never had a pointer created before); use lookup_pointer_type. + * symtab.c (lookup_method_type): Arguments were swapped in all + callers, so fix it here. I'm amazed this worked at all! + +Fri Sep 27 18:09:31 1991 John Gilmore (gnu at cygnus.com) + + * c-exp.y, m2-exp.y: Define more yysymbols that happen to be + "bss" rather than "data" symbols, but which still conflict. + * m2-exp.y: Lint. + + * coffread.c (coff_symfile_read): Use xmalloc, not malloc. + * core.c (core_files_info): Shorten output. + * exec.c (exec_files_info): Ditto. + (build_section_table): Ignore zero-length sections. + * language.c, printcmd.c: Lint. + * language.h (get_frame_language): Declare. + * saber.suppress: update. + * stack.c (find_relative_frame): Remove complex code that was + #if 0'd, stick with simple code. Lint. + * saber.suppress: Update a bit. + * symfile.c (add_symbol_file_command): Add "?" to question. + * utils.c (parse_escape): Avoid \a due to bdead compilers. + * value.h: Declare typedef_print. + + * valprint.c (val_print, type_print_base): TYPE_CODE_RANGE less + kludgey. + + * nindy-tdep.c (nindy_frame_chain_valid): Use lookup_misc_func. + (Reported by Mark Peek .) + + * solib.c (solib_map_sections): Relocate all sections, even + though only the text section's size is tracked. Mark ld_text + for eventual elimination as we generalize to N sections. + + * infrun.c (wait_for_inferior): Don't check if the PC is in a + call_dummy if we were stopped by a random signal that is being + passed to the program. This produced wierd results when calling + functions in the inferior and signals (e.g. SIGALRM) were in use. + +Tue Sep 24 18:05:30 1991 John Gilmore (gnu at cygnus.com) + + * infrun.c (IN_SIGTRAMP): Not parenthesized properly. + Bugfix from Paul Eggert . + * tm-ultra3.h (IN_SIGTRAMP): Ditto. + * valprint.c (print_floating): Print 9 digits for IEEE floats. + From Paul Eggert. + +Mon Sep 23 15:50:07 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.1.1. + * source.c (line_info): Peter Schauer fixes a bug I introduced in + hex conversion. + +Fri Sep 20 16:10:52 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.1 release! + + * Makefile.in (VERSION): Set to 4.1. + * language.c (set_language_command): Print useful help message, + and restore the language string after giving help. + * valprint.c (typedef_print): Print typedef in C or M2. + * symtab.c (list_symbols): Use it. + * main.c (main): Avoid any output before (gdb) prompt when -q. + * language.c (set_language_command): Handle errors by restoring + the language string to its current state (fix from A. Beers). + * doc/gdbint.texinfo: Roll in information from README. Rearrange + "how to install" and "how to print the doc" stuff so it drops + easier into README. + * configure.in: Rename rtpc CPU to romp to match config.sub. + * README, WHATS.NEW, TODO: Update for gdb-4.1. + +Fri Sep 20 17:39:14 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: Updates from ChangeLog. set/show write, + autoloading shared libs, copyright etc on GDB startup, clean up $_ + and $__ index refs, set/show listsize and related updates to list + cmd. New host/target configs. + +Fri Sep 20 15:46:00 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile: generate aux version-no file doc/gdbVN.m4 + from main Makefile.in version definition + doc/gdb.texinfo: use version recorded in doc/gdbVN.m4 for current + GDB version no refs + Makefile.in (setup-to-dist): generate doc/gdbVN.m4 + + * doc/gdb.texinfo: merge new language-switching and lang-specific + doc by Andrew Beers + +Fri Sep 20 15:00:57 1991 Per Bothner (bothner at cygnus.com) + + * mcheck.c: Add __ONEFILE kludge to allow compilation by non-ANSI + compilers (which may lack stddef.h). + +Fri Sep 20 13:29:42 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c (read_dbx_symtab, process_one_symbol): N_FN and + N_WARNING are the same except for the N_EXT bit, so just use their + values alone, rather than OR-ing them with N_EXT. + +Fri Sep 20 12:27:55 1991 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (parse_lines): Deal with negative extended line + offsets correctly. + + * c-exp.y, m2-exp.y: #define yyerrflag and yynerrs to avoid + global symbol conflicts. + +Fri Sep 20 02:28:15 1991 John Gilmore (gnu at cygnus.com) + + * .gdbinit: Move 'set complaints' to top, so it runs even in + case we aren't debugging GDB. + * language.c (_initialize_language): Fix type check and range + check documentation strings. + * utils.c (!HAVE_VPRINTF): Define vfprintf as a function, so + language.c can use it. (Though language.c should really not be + handling warnings/errors the way it does, FIXME.) + * symtab.c (lookup_primitive_type): const lint. + + Bugfix from Peter Schauer: + * source.c (lines_to_list): Make signed, to avoid comparison + going unsigned and complaining that -3 is too high for 21 lines. + * stack.c (lines_to_list): Ditto. + +Thu Sep 19 23:33:41 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in (HFILES): Add minimon.h. + (VERSION): Roll version number to 4.0.95. + (gdb.tar.Z, make-proto-gdb.dir, setup-to-dist, gdb-XXX.tar.Z): + New rules for building distributions. Normal distribution + is built by doing `make -f Makefile.in gdb.tar.Z' in the directory + one level up from here; it calls make-proto-gdb.dir to build a + directory `proto-gdb' which is an image of the release. The old + `gdb.tar.Z' rule still works too. + * config.sub, configure: Roll in latest from .. + +Thu Sep 19 17:41:24 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdbint.texinfo: Reorder contents; reorganize new-host, + new-target, and new-config chapters; fix minor typos; come closer + to usual GNU markup conventions for @file @samp @code @var. + +Thu Sep 19 17:04:12 1991 Per Bothner (bothner at cygnus.com) + + Patches from Peter Schauer : + * mipsread.c (parse_partial_symbols): Enter the name of all + structs/unions... into the psymtab so we can access them if the + symtab is not read in. + * mips-tdep.c: Remove some unneeded #includes. + * xconfig/dec3100: Add HAVE_STRSTR. + +Thu Sep 19 15:14:23 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Circumvent Sun Make bug on *-exp.tab.o. + * c-exp.y, m2-exp.y: Lint. + * m2-exp.y: Avoid using yytname[] which is a Bison-ism. + * valprint.c (val_print_fields): Check for stub type. + * mipsread.c (_initialize_mipsread): Avoid using + builtin_type_void at initialize time. + (mipscoff_symfile_read): use it now. + +Wed Sep 18 15:55:51 1991 John Gilmore (gnu at cygnus.com) + + Merge multiple-language support, and partial Modula-2 support, + from Andrew Beers . + + * i387-tdep.c: New file, consolidates most 80387 support, + and eliminates host dependency on double<->extended conversions. + * i386-xdep.c, symm-xdep.c: Remove most 387 support. + * xconfig/i386{sco,v,v-g,v32,v32-g}: Now need i387-tdep.o. + + * symfile.c (allocate_symtab): New fn, consolidates the work + of allocating and initializing a new struct symtab. Set the + language of the symtab based on its filename extension. + * symfile.h: Declare it. + * mipsread.c (new_symtab): Use it. Minor formatting changes. + * dbxread.c (end_symtab): Use it. + + * mipsread.c (parse_symbol, case stParam and stProc): Add #if 0'd + code for saving types of parameters with each function definition. + * dbxread.c (define_symbol, function and parameter cases): Ditto. + (read_dbx_symtab, case N_DEFD): Ignore. + (read_enum_type): Recognize FALSE/TRUE enum as Modula-2 BOOLEAN. + (read_range_type): Rename MAX_OF_TYPE to MAX_OF_C_TYPE, etc. + #if 0 out its uses, though, since they set a dead value. + * coffread.c (end_symtab): Use allocate_symtab. + (process_coff_symbol): #if 0'd for functions and params as above. + (read_enum_type): Recognize Modula-2 BOOLEAN. + * symtab.c (add_param_to_type): #if 0'd function to add a + parameter type to a function type's field list. + + * defs.h (local_hex_format, local_hex_string, *_custom): Add. + * i386-xdep.c, pyr-tdep.c, pyr-xdep.c, remote-vx.c, solib.c, + source.c, symfile.c, dbxread.c, breakpoint.c, core.c, exec.c, + i387-tdep.c, infcmd.c, mips-tdep.c, stack.c, printcmd.c: Output + hex with local_hex_string for Modula-2 support. + + * breakpoint.c (breakpoint_cond_eval): Use new value_true to test + breakpoint condition language-independently. + + * parse.c: New file with the common code remains of expread.y. + * parser-defs.h: New file with common declarations from expread.y. + * c-exp.y: New file with the C parser from expread.y, and other + language-specific information. + * m2-exp.y: New file with the Modula-2 parser and etc. + * expread.y, expread.tab.c: Remove. + * breakpoint.c, eval.c, printcmd.c, expression.h: Use + parse_expression and parse_exp_1 rather than parse_c_expression + and parse_c_1. + + * symtab.h (enum languages): Move to defs.h. + (enum type_code): Add TYPE_CODE_CHAR and TYPE_CODE_BOOL. + Declare Modula-2 builtin types. + Add MAX_OF_TYPE and MIN_OF_TYPE macros. + + * symtab.c (_initialize_symtab): Remove builtin type + definition and initialization to *-exp.y. + (lookup_primitive_typename): Use language-dependent vector. + (lookup_typename): Fix bug, make it work if primitive typename. + (lookup_unsigned_typename): Call above. + (create_array_type): Set up range type for array index. + (list_symbols): Call typedef_print to print typedefs. + + * values.c (unpack_long, value_from_longest): Handle + TYPE_CODE_BOOL and TYPE_CODE_CHAR. + + * expression.h (enum exp_opcode): Add Modula-2 specific opcodes. + * expprint.c: Look up expression opcodes in language-specific + table, based on expression's language. Handle some Modula-2 + specific opcodes. + + * stack.c (frame_info): Print language of stack frame. + (select_frame): Also select language, if in auto-mode. + (get_frame_language): New subroutine. + * main.c (execute_command): Warn as language changes automatically. + + * printcmd.c (ptype_command): Parse types using the language + parser, both for language-independence, and so that scopes can + be specified. + + * language.h, language.c: New files for language-specific macros, + declarations, and definitions. + + Misc fixes: + + * main.c (main): If error() is called during early + initialization, print its message and then exit(1) from GDB. + + * valprint.c (type_print_base): Avoid printing garbage for ints + of unusual sizes. + (_initialize_valprint): Warn about host/target size assumption; + improve long long support slightly. + + * convex-tdep.c (comm_registers_info): Avoid parsing decimal and + hex -- let parse_and_eval_address do it. + + * doc/gdbint.texinfo (Languages): Doc how to add a language. + + * Makefile.in: Cope with new files and removed files. + +Tue Sep 17 08:37:41 1991 John Gilmore (gnu at cygint.cygnus.com) + + Add Andrew Beers' changes for Modula-2 support. His ChangeLog + entries are enclosed herein. Not all of these changes + have been merged into the master GDB sources -- check the + ChangeLog above here for the merge log. + +Mon Jun 3 17:05:45 EDT 1991 + + m2-exp.y Created. Tested outside of GDB for a few days. Proper + operators were added, C specific operators and tokens + removed. yylex() revamped to some extent. Still things + missing from the grammar, such as sets. + Tested for two weeks in GDB v3.5. + +Tue Jun 11 17:23:48 EDT 1991 + + m2-exp.y Added boolean constants TRUE and FALSE to the grammar + so they are built-in. Sort of a hack. + +Fri Jun 14 12:53:51 EDT 1991 + + m2-exp.y Added range checking for numeric constants. Any numeric + constant is assumed to be of builtin type INTEGER unless: + (1) it is octal or hexadecimal, in which case it is a + CARDINAL; (2) it is too big to fit into an INTEGER, in + which case it is a CARDINAL. + eval.c Added simple range checking for +, -, and * on integers. + Doesn't work very well for *, since 6 * 1,000,000,000 = + 1,705,032,704, which fails the simple test of result >= + first_operand, no matter in what order the operands are. + +Tue Jun 18 14:11:30 EDT 1991 + + Broke the parser into parts, one containing the C grammar and the other + containing code to be shared by all of the grammars. + + The following files no longer exist: + + expread.y + expread.tab.c + + The following files were added: + + c-exp.y (The C grammar) + m2-exp.y (The Modula-2 grammar) + parser-code.c (Code that is shared by the above grammar) + parser-code.h + parser-defs.h + + Makefile.dist Changed to reflect the above dependencies. NOTE: It is + now necessary to use the Bison compiler compiler, since it + will generate function/variable prefixes other than yy. + +Tue Jun 18 16:47:49 EDT 1991 + + symtab.[ch] Added the external variable working_lang, than holds the + value of the current working language. + Added the ennumerated type language_mode, with the values + language_auto and language_manual, the former meaning that + GDB sets working_lang as needed, and the latter meaning + that the value of working_lang is totally under user + control. + symtab.[ch] Added the Modula-2 pervasive types INTEGER, CARDINAL, + REAL, BOOLEAN and CHAR. Also added the type codes + TYPE_CODE_BOOL and TYPE_CODE_CHAR. + utils.c Added set_language_command and show_language_command to + implement the GDB support commands "set language" and + "show language". + expression.h A number of identifiers were added to the type exp_opcode + to facilitate Modula-2 builtin functions, integer + division, and array indexing. + +Wed Jun 19 13:25:58 EDT 1991 + + language.h Added the macro STRICT_TYPE, which evaluates to non-zero + if the language specified by working_lang requires the use + of strict typing of expressions. Eventually, even this + will be able to be changed by the user. + Added the macro RANGE_CHECK, which evaluates to non-zero + if the language specified by working_lang requires the + checking of a value against the domain of its type. + Eventually, even this will be able to be changed by the + user. + language.[ch] Predicates involving types (simple_type, ordered_type, + same_type, integral_type, numeric_type, character_type, + boolean_type, float_type) are added. These predicates are + based on the current value of working_lang, and are handy + in type-checking. + +Wed Jun 19 15:39:34 EDT 1991 + + eval.c Added the function type_array_rank which computes the rank + of an array type. + valarith.c Added the funtion value_bool, which when given a integer + value.h value (ie. struct value *) as an argument, it returns a + boolean value (ie. struct value *) true if that integer + is non-zero, and a boolean value false otherwise. + valprint.c Added cases for TYPE_CODE_BOOL, so Modula-2 BOOLEAN values + will print out properly. + +Wed Jun 19 16:36:34 EDT 1991 + + valops.c Added the function value_capitalize, which returns it + value.h argument capitalized if its argument is a lowercase + letter, or the argument unchanged if its argument is not a + letter. + valarith.c Added the function range_check_p, which returns non-zero + value.h if its value argument is between the integral bounds upper + and lower. + Added the function range_check_enum_p, which makes sure + that its value argument is a valid member of the domain of + its type argument. + Added the function range_check_range_p, which makes sure + its value argument lies between the upper and lower bounds + of its type argument, which must be a ranged type. + Added the function check_array_index, which range and type + checks an index of an array. + Added the function value_multi_subscript, which computes + array[idx1,idx2...idxN], given a value array and an array + of values representing indicies. + values.c Changed value_from_long to work with TYPE_CODE_CHAR and + unpack_long to work with TYPE_CODE_BOOL and + TYPE_CODE_CHAR. + +Wed Jun 19 18:04:08 EDT 1991 + + symtab.c Stored pervasive types in a structure and make + lookup_pervasive_type() a lookup function that was based + on working_lang. If lookup_pervasive_type() returned + non-zero, then that value was returned (a fix, since + before it simply wouldn't return the pervasive type.) + language.h Added the macro CAST_IS_CONVERSION, which evaluates to + non-zero if the language specified by working_lang means + "conversion" when it says "cast". + valops.c Added the function value_real_cast(), which performs a + value.h *cast*, not a *conversion*, which is what value_cast() + does when it can. In particular, + value_cast(,4) = 4.0, while + value_real_cast(,4) = some mess. + eval.c Modula-2 builtin functions implemented: ABS, CAP, CHR, + parser-code.c FLOAT, HIGH, MAX, MIN, ODD, ORD, TRUNC, and VAL. + expression.h Added macros MAX_OF_TYPE and MIN_OF_TYPE to work with MAX + and MIN on integral types. *NOTE*: These are currently + hardcoded to work only if there are 8 bits per storage + unit. FIXME. + eval.c Made logical functions call value_bool to return a + properly typed boolean value, based on working_lang. + +Thu Jun 20 11:55:27 EDT 1991 + + valprint.c Types now print out in a Modula-2 fashion. This works for + the cases when the type is printed out step-by-step, that + is, it doesn't work when the name of a structured type + (which includes the keyword "struct", etc.) is simply + displayed. + FIXME: Perhaps this is bad. Parts of it seem to kludgey, + since type specifications in C and Modula-2 are very + different. The C printing of a type is very recursive, + whereas in Modula-2 it is generally very simple. C has + type prefixes and suffixes, which have no real analogue in + Modula-2. Maybe type_print() should call a language + specific type printer. This is also advantageous if we + compile GDB to exclude some of the languages. We'll just + leave those functions out. + +Thu Jun 20 16:57:10 EDT 1991 + + dbxread.c When reading the complete symbol table in (via + psymtab_to_symtab()), the number and types of function + arguments are added to a function type. define_symbol() + calls add_param_to_type() to accomplish this. + Assumption: when we come across a function definition + (N_FUN symbol with an 'f' or 'F' in the name), its + arguments will appear before another function definition. + When a function is found, a pointer to its type is placed + in the global in_function_type. Changes that + add_param_to_type() makes are to this global. + valprint.c The type of a function now includes (for Modula-2) the + types of its parameters. + eval.c Type checking and a check for the proper number of + arguments is now done for function calls. Not sure of the + impact this has on C++ member function yet. + +Thu Jun 20 19:58:48 EDT 1991 + + valprint.c Rewrote the type printer. Broke it into two language + specific parts, adding the functions type_print_m2() and + type_print_m2_1(). + An unfortunate consequence is this: if you debugging a C + program in Modula-2 mode (why?), info types does not work + well with regular expressions, since the types are printed + out in Modula-2 terminology, but stored in C terminology. + language.[ch] Added the functions new_type_last(), type_keyword(), and + type_sep() to aid in the printing of typedefs. + symtab.c Made the printing of typedefs as language independent as + possible through calls to new_type_last(), type_keyword(), + and type_sep(). + +Fri Jun 21 11:50:26 EDT 1991 + + dbxread.c Check all incoming ennumerated types. If it looks like + Modula-2's BOOLEAN type, then change the type_code of the + type to TYPE_CODE_BOOL so we can process it as a boolean + variable. + valprint.c Replaced some of the 0x%x with calls to sprintf and + hexformat() in val_print(). + language.[ch] Added the function hex_to_string(), which converts its + integral argument to a hexadecimal number (format is + language based) and returns the result as a string. + +Mon Jun 24 12:25:07 EDT 1991 + + valprint.c Some functions call type_print_1() directly, instead of + value.h using type_print(), so they can specify where (column) to + print things. Since type_print() takes care of language + dependence, that needs to be called first. Added a + parameter depth to type_print() (so it is now like + type_print_1). Changed type_print to type_print_at, and + made type_print a macro that passes a depth argument of + zero. + symmisc.c Changed all calls to type_print_1 to calls to + type_print_at. + Makefile.dist Made it possible to build GDB for a specific set of + depend languages. Do this by passing a definition for the macro + LANGS to make. LANGS should be a string containing a + space-separated list of language names (ie. LANGS="c m2"). + The default is to build all languages. Note that grammar + files must follow the naming convention of -exp.y. + gdb.lang This holds the current value of the LANGS macro. It is + examined every time make is called, and is updated if + necessary. + eval.c Added #ifdef _LANG_ to these files. + expread.c Still need to add them to dbxread.c and coffread.c. + main.c + source.c + symtab.c + utils.c + valarith.c + valprint.c + +Mon Jun 24 16:33:11 EDT 1991 + + language.[ch] Added the functions hexformat_pre() and + hex_to_string_pre(), which take a prefix argument to + include in the format string. Thus, hexformat_pre("08") will + return "0x08x" (if the working language is language_c). + Made hexformat() and hex_to_string() calls to the above + with "" as the prefix argument. + + am29k-pinsn.c, arm-pinsn.c, breakpoint.c, convex-tdep.c, exec.c, core.c, + dbxread.c, i386-pinsn.c, i386-stub.c, i386-xdep.c, i960-pinsn.c, + infcmd.c, inflow.c, m68k-pinsn.c, m68k-stub.c, m88k-pinsn.c, + mips-pinsn.c, mips-tdep.c, ns32k-pinsn.c, printcmd.c, pyr-pinsn.c, + pyr-tdep.c, pyr-xdep.c, remote-vx.c, remote.c, solib.c, source.c, + stack.c, sun386-xdep.c, symfile.c, symm-xdep.c, symmisc.c, tahoe-pinsn.c, + valprint.c, vax-pinsn.c + + Changed all occurences of 0x%[0-9]*l*x in printf format strings to + calls to hexformat() and hex_to_string(). Format strings without + the leading "0x" were ignored. + + depend Updated to take the above into account. + + +Tue Jun 25 15:27:18 EDT 1991 + + symtab.h Added the types range_mode_t, range_check_t, type_mode_t, + and type_check_t to keep track of the current state of + range and type checking. + main.c Added the variables range_mode, range_check, type_mode, + and type_check to record the current state of range and + type checking. Added initialization code to main(). + language.h Changed the macros STRICT_TYPE and RANGE_CHECK to examine + the above variables. + + +Tue Jun 25 17:57:08 EDT 1991 + + dbxread.c process_one_symbol() updates the variable (enum language) + source_lang based on the extension of the filename + contained in the N_SO sybmol that started this symtab. + When end_symtab() is called, the value of source_lang is + put into the language field. + stack.c select_frame() sets working_lang (and possibly type_check + and range_check) to the language field of the symtab + associated with the frame that is selected if working_mode + is language_auto. If working_mode is language_manual, a + warning is printed and working_lang is not set. + language.c Added the function set_type_range(), which sets the value of + type_check and range_check (if their modes call for + automatic setting) based on the current value of + working_lang. A non-zero argument will cause the current + settings to be output. + + +Wed Jun 26 14:51:40 EDT 1991 + + eval.c Added range checks on assignment. + m2-exp.y Added the grammar for sets to the language. Currently, + these do not do anything except print an error message. + +Wed Jun 26 17:01:04 EDT 1991 + + m2-exp.y Added the ability for parse_number() to parse negative + numbers. A global flag is set upon encountering a unary + minus. This was done to make, for example, 1 parse as a + CARDINAL, and not as an integer, per Wirth's examples in + Programming in Modula-2 ed.4. + valprint.c Added support for "set radix 2" by then setting + output_format to 't'. + eval.c Implemented range checking on subrange types. Added calls + to range_check_range_p for BINOP_ASSIGN and BINOP_VAL. + Implemented MIN and MAX for ennumerated types. The + minimum value of an ennumerated type is defined by Wirth + as the first identifier, and the maximum as the last. + m2-exp.y Made octal numbers ending with "B" be characters and those + ending with "C" be numbers, per Wirth's book. (p. 34) + +Thu Jun 27 14:11:52 EDT 1991 + + stack.c select_frame() now only sets working_lang, it does not + notify the user. If working_mode is language_manual, then + a warning is issued once. + main.c At the end of each call to execute_command(), working_lang + is checked against the local static (enum language) + current. If they differ and working_mode is + language_auto, the new settings of language, type and + range checking are printed out. + stack.c Modified frame_info() to include the language of the + current frame in the output of "info frame". + language.[ch] Added the function language_str() which returns the name + of the current language. + +Fri Jun 28 15:33:14 EDT 1991 + + m2-exp.y Added the built-in procedures INC, INCL, DEC, and DECL to + the language. INCL and DECL currently cause an error, + since sets are not implemented yet. INC and DEC are + implemented as PREINCREMENT/PREDECREMENT with one + argument, and as ASSIGN_MODIFY with two arguments. + eval.c Added type checking to the above cases. + value.h Added not_lval_constant to the lval_type ennumerated type. + not_lval_constant means that the value is a constant + value; that is 3 or 'a' or TRUE, not as in a constant + identifier. This is used to help coerce numbers such as 3 + to either signed or unsigned numbers. + valops.c Added the function value_coerce_constants() which coerces + constant integers as following: if one is a constant and + the other is not, the constant's type is set to the type + of the other argument. If both are constants and one is + signed, the other is converted to a signed constant. + +Sat Jun 29 17:26:29 EDT 1991 + + valarith.c Added a better range checker. It now checks range + (successfully) on integral operations [+-] (signed and + unsigned) for any C sized type. Still does not work well + for multiplication.) + int_in_size() returns an integer that is coerced to fit into + specified number of bytes. + +Mon Jul 1 13:04:14 EDT 1991 + + language.[ch] Added the function binop_result_type(), which returns the + builtin (struct type *) type that would be the result of a + binop on the two values V1 and V2. + +Wed Jul 3 19:22:53 EDT 1991 + + source.c Extended source_info() to include the source language in + the output from "info source". + +Fri Jul 5 13:48:52 EDT 1991 + + utils.c Moved the support functions for the GDB set/show commands + dealing with language into language.c. + language.c Added the function language_info(), which displays info + about the current working language, type and range check + settings. Called via the GDB command "info language". + Added an initialization routine _initialize_language(), + that sets defaults for the language, type and range + variables and sets up the new GDB commands. + main.c Language setup moved to language.c. + depend Rebuilt. + +Mon Jul 8 10:10:22 EDT 1991 + + valarith.c Debugged the range checker for arithmetic. Still does not + work for multiplication very well. + +Mon Jul 8 12:40:37 EDT 1991 + + language.[ch] Added the function value_true() which returns non-zero if + its argument represents a boolean true value. + breakpoint.c Changed breakpoint_cond_eval() to call value_true() to + check the truth of an expression. + +Thu Jul 11 12:51:34 EDT 1991 + + language.[ch] Added the predicate structured_type(), which returns + non-zero if the argument is a structured type. + Added the predicate pointer_type(), which returns non-zero + if the argument is a pointer type. + eval.c Added the ability to do addition and substraction on + pointers and integers. This case simply bypasses the + type checker. + +Thu Jul 11 14:41:42 EDT 1991 + + include/stab.def + Added the symbol N_DEFD (0x4a) which is a definition + module dependency that is used by the GNU Modula-2 + compiler and the linker. It is not important to GDB, + except that [dbx|coff|mips]read.c should ignore these + symbols. + +Fri Jul 12 16:07:00 EDT 1991 + + valprint.c Changed the TYPE_LENGTH(type) >= 0 to TYPE_LENGTH(type) > + 0 in val_print(). Also added statements to the else part + to coerce type (argument to val_print) to a pointer type + if it is an "array of unspecified length". + valops.c Added the function value_m2_string(), which returns a + (value) value which is a constant string, whose type is + (ARRAY [0..n] OF CHAR). The length field of the type + structure is set to zero, so it will be interpreted as an + "array of unspecified length". + stack.c Moved the language/frame mismatch check to + main.c:execute_command(). + main.c The working language is recorded each time + execute_command() is executed. If working lang has + changed during its execution, then the new + language/type/range info is printed out for the user. If + the working language does not match the language of the + frame, a warning is issued. + +Sat Jul 13 16:16:39 EDT 1991 + + eval.c Moved all the type-checking stuff for operators to + language.[ch] language.c. This is so we can keep language-specific + stuff (like for what type operators are defined) in + language.c. + language.[ch] Added the function binop_type_check(), which checks to see + if its two (value) arguments are type-compatible with its + opcode argument. The opcode should represent an operation + involving an operator. Also added the macro function + unop_type_check, which calls binop_type_check with a + NULL second argument. + expprint.c Added Modula-2 operators to the op_print_tab, so info + expression.h break works correctly. Also added "op_string", which + returns the string corresponding to the (enum exp_opcode) + opcode that is its argument. + + +Sat Jul 13 18:26:18 EDT 1991 + + coffread.c Added code to record the type of function arguments with + each paricular function. Code is very similar to that + added to dbxread.c. + dbxread.c Moved add_param_to_type() to symtab.c + symtab.[ch] Added function add_param_to_type() from dbxread.c + + *** NOTE: The above additions have not been tested. + +Mon Jul 15 12:50:47 EDT 1991 + + langauge.[ch] Added the functions type_error and range_error, which work + like error() except if the type/range mode is set to + *_mode_warn, then they do not do a return_to_top_level(), + but merely print a warning. + Also changed [set|show]_[type|range]_command() to support + the new "warn" feature. + +Thu Jul 18 17:50:54 EDT 1991 + + mipsread.c Added code to record the type of function arguments with + each particular function. Code is very similar to that + added to dbxread.c. + + *** NOTE: The above additions have not been tested. + +Fri Jul 19 11:19:10 EDT 1991 + + defs.h Added macros MAX_OF_SIZE, MIN_OF_SIZE, UMAX_OF_SIZE, and + UMIN_OF_SIZE, which when given a size of a numeric type, + return the maximum and minimum value it can hold. UMAX... + and UMIN... return the result for unsigned types. + symtab.h Added the macros MAX_OF_TYPE and MIN_OF_TYPE to operate on + struct types. They call above macros. + dbxread.c Renamed the MAX and MIN_OF_TYPE macros to ..._OF_CTYPE to + avoid a name conlict with the above. + c-exp.y Added range checking on numeric constants in + parse_number() for completeness. + valarith.c Made binop_user_defined_p() and unop_user_defined_p() + return 0 if working_lang is not language_c. + +Thu Aug 8 14:17:22 EDT 1991 + + main.c + printcmd.c + breakpoint.c Documentation strings of some commands changed to + eliminate the references to the C language where + appropriate. + +Tue Aug 13 15:48:03 EDT 1991 + + m2-exp.y Added qualified identifiers to the grammar. The semantics + are slightly different from those of the GDB operator :: + c-exp.y + m2-exp.y Added a rule to each grammar of the form: start ::= exp | + type_exp, where type_exp is any valid type expression. + expression.h + eval.c Added the opcode OP_TYPE, and an error case in eval.c. + printcmd.c Modified ptype_command() so it actually parses the input + (necessary for type expressions with scope qualifiers). + Added the function ptype_eval() which expects an + expression composed of one OP_TYPE element. + *.[ch] Replaced all occurences of parse_c_expression with + parse_expression + *.[ch] Replaced all occurences of parse_c_1 with parse_exp_1 + +[End of ChangeLog entries from Andrew Beers for Modula-2 support.] + +Mon Sep 16 17:19:46 1991 John Gilmore (gnu at cygnus.com) + + Small fixes from Peter Schauer: + + * infrun.c (child_attach): Lint. + * solib.c (find_solib): Handle shared libs version 2. + + Small fixes from David Wood: + + * xm-ultra3.h (SYS_SIGLIST_MISSING): Typo. + + Small fixes: + + * remote-vx.c: Move to top, for FILE. Fix from + John S . + + * utils.c (wrap_here): Avoid wrap action of fputs_filtered if + chars_per_line is at maximum (user typed `set width 0'). Fix + from Andreas Schwab . + +Tue Sep 17 17:31:04 1991 Stu Grossman (grossman at cygnus.com) + + * coredep.c: include ptrace.h where necessary. + * mipsread.c(parse_lines): fix unsigned char problem that was + messing up line numbers on SGI's and possibly other MIPS based + platforms. + * infrun.c (child_create_inferior): use better test to check + return val from setpgrp(). + * tm-irix3.h, xm-irix3.h, tconfig/irix3, xconfig/irix3: add these + for sgi/irix support. + +Wed Sep 18 04:33:31 1991 Per Bothner (bothner at cygnus.com) + + * mipsread.c (parse_symbol): Put non-static procedures + in the global block. + +Fri Sep 13 00:14:52 1991 John Gilmore (gnu at cygnus.com) + + Patch together `text_start' and `text_end' for 29K port. + + * exec.c (exec_command): If NEED_TEXT_START_END, define the + variables and set them based on the exec file. + * am29k-tdep.c: declare text_start. + * valops.c (call_function_by_hand): declare text_end. + + * inferior.h: Eliminate CANNOT_EXECUTE_STACK in favor of + defining CALL_DUMMY_LOCATION as BEFORE_TEXT_END. This is + because machines that do this will also have to know to + set NEED_TEXT_START_END. Besides, it was a redundant way to + say the same thing. + * tm-29k.h, tm-convex.h, tm-np1.h: Eliminate + CANNOT_EXECUTE_STACK, define CALL_DUMMY_LOCATION and + NEED_TEXT_START_END. + +Thu Sep 12 00:22:24 1991 John Gilmore (gnu at cygint.cygnus.com) + + AMD 29000 changes from David Wood : + + * Makefile.in (CLIBS): Put XM_CLIBS and TM_CLIBS at end. + Pass MUNCH_DEFINE to munch whenever we run it. + * am29k-pinsn.c (print_insn): Handle NOP specially. Avoid %#x + format string; use 0x%x instead. + * am29k-tdep.c: Use DUMMY_SAVE_GREGS and RETURN_REGNUM. + * ultra-xdep.c, xm-ultra.h: New files for Ultracomputer host system. + * xm-rtbsd.h: New host support for RT/PC running BSD Unix. + * inflow.c: Handle `short' process group IDs. + * infptrace.c (fetch_register): Support CANNOT_FETCH_REGISTER, + and check for ptrace errors. + * coffread.c (SDB_REG_TO_REGNUM): Define if not already. + (coff_symfile_init): Initialize text_bfd_scnum. + (read_coff_symtab): Use it to find the text [and absolute?] sections. + * ../config.sub: Add vendor nyu and os "sym[1-9]*". + * configure.in: Add hosts rtpc-*-* and a29k-*-*. + Merge target arm case with other "easy" cases. Add target + cases a29k-*-none (rehack of am29k), a29k-*-kern (remote to + Ultracomputer kernel), and a29k-*-sym1 (ultracomputer OS's user + process). + * minimon.h, remote-adapt.c, remote-mm.c: Add. + * munch: Cope with RT/PC putting fns in data segment. + Restore ability to override `nm' by specifying MUNCH_NM. + * xconfig/rtbsd, xconfig/ultra3: New host systems. + * tconfig/a29k: Rename from tconfig/am29k. Add remote-mm + and remote-adapt. Remove encapsulated coff #define's (the + support should go in BFD, and gdb shouldn't know or care). + * tconfig/a29k-kern: Same, but for remote kernel debugging. + * tconfig/ultra3: For debugging user processes on Ultra3/Sym1. + * tm-29k.h: Update BADMAG (though it should go away). + Allow the register definitions to be overridden in another + tm-file. Fix SR_REGNUM. Add a mess of _REGNUM's. Separate + RETURN_REGNUM from GR96_REGNUM and DUMMY_SAVE_GREGS from + DUMMY_SAVE_GR96, for handling kernel calling conventions + that use GR64+ rather than GR96+. + * tm-ultra3.h: New file, for use on Ultra3 Unix as well as for + remote debugging of Ultra3 kernel. Includes tm-29k.h and + overrides various things. + + * remote-mm.c (mm_attach, mm_wait): Handle attach like + child_attach does, making a clean stop in the newly attached + program. + * remote-eb.c: Lint. + + * coffread.c: Make coffread independent of any particular + variant of COFF. Avoid #include-ing any particular one except + internalcoff.h. BFD now passes key values for symbol reading + as part of its coff_data structure (LINESZ, SYMESZ, AUXESZ, + and the symbol masks and shifts); use them. + Remove obsolete end_of_text_addr. + + * exec.c: Remove unused include files. + +Wed Sep 11 19:38:44 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in (documentation targets): Pass $(M4). + Bugfix from eggert@twinsun.com (Paul Eggert). + + * stack.c (down_silently_command): Check for stack existence. + +Tue Sep 10 23:08:29 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in (VERSION): Update to 4.0.3. + +Tue Sep 10 09:19:29 1991 John Gilmore (gnu at cygint.cygnus.com) + + * core.c (core_file_command): Print frame at coredump with + its level number, by calling print_stack_frame. + * frame.h: Add selected_frame_level, print_stack_frame. + * frame.h, stack.c: Remove print_sel_frame, print_selected_frame. + * convex-tdep.c, convex-xdep.c, infcmd.c, inflow.c, infrun.c: + Change print_sel_frame and print_selected_frame callers to + print_stack_frame. + + * dbxread.c (read_ofile_symtab): Avoid empty else clause. + * symfile.c (free_named_symtabs): Ditto. + * main.c (main): wrap_here needs an arg. + * solib.c (find_solib): Avoid memory access if _DYNAMIC is zero. + (solib_add): Avoid noise. + (solib_create_inferior_hook): Lint. + (sharedlibrary_command): Move dont_repeat to here. + * utils.c (error): Call wrap_here to force buffered output. + + Small patches from Peter Schauer: + + * coffread.c (start_symtab): Free any existing line_vector before + malloc-ing new one. + (read_coff_symtab): Ditto for type_vector. + + * source.c (lines_to_list): New variable, replacing function. + (all uses): Use as variable. + (_initialize_source): Add 'set listsize' and 'show listsize'. + * utils.c (lines_to_list): Remove function. + * stack.c (print_frame_info): Use as variable. + * defs.h (lines_to_list): Remove declaration. + +Mon Sep 9 13:45:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * breakpoint.c (insert_breakpoints): Restore warning about + the program might be running in another process, but only for + systems with this brain death (#ifdef ONE_PROCESS_WRITETEXT). + * xm-hp300bsd.h, xm-mips.h, xm-vax.h: Define it. + + * utils.c (error): if error_pre_print is set, print the string + first. + * main.c (main, print_gnu_advertisement, print_gdb_version): + Reformat legalese so it always prints, but acts as an "I'm here" + message while symbols are being read. If any errors occur, + print a few newlines to set off the message and start it at the + left margin. Remove mention of "help" command, and don't yak + about symbol reading. + (catch_errors): Error string is now printed first in case of + error, not last. + * command.c (undef_cmd_error, lookup_cmd): On undefined command, + suggest the "help" command. + + * Makefile.in (VERSION): Set to 4.0.2. + +Thu Sep 5 23:49:48 1991 John Gilmore (gnu at cygint.cygnus.com) + + * .gdbinit: Remove useless "rr" command. Set complaints + to 1 for people debugging gdb. + + * breakpoint.c, remote-vx.c: Reword strings printed by + catch_errors callers. + +Wed Sep 4 11:07:50 1991 John Gilmore (gnu at cygint.cygnus.com) + + * WHATS.NEW: "history write -> history save". Doc "write on/off". + (Fix from kenc@viewlogic.com.) + + Fix some infrastructure to be able to cope with host and target + machines with different sized basic types (ints, ptrs, etc). + (Idea from pierre@la.tce.com (Pierre Willard).) + + * values.c (value_from_longest): Rename from value_from_long. + Handle pointer types as well as integers, so that targets with + different pointer sizes from the host can be accomodated. + * breakpoint.c, convex-tdep.c, eval.c, expprint.c, printcmd.c, + valarith.c, valops.c, valprint.c, value.h, values.c: Rename + uses of value_from_long to value_from_longest. + * eval.c, findvar.c, printcmd.c, valarith.c, valops.c: Pass + the correct pointer type to value_from_long{est}. + + * doc/gdb.texinfo ($_, $__): Describe types of these variables. + + * remote-vx.c: Remove obsolete code for calling functions via + vxworks kludge interface (it referenced value_from_long). + + * valops.c (value_string): Find malloc with lookup_misc_func, not + raw search. + +Tue Sep 3 18:37:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + Make writing to files work properly. (Fixes to BFD are also needed.) + + * core.c (core_open): Open file ourselves, read or r/w, depending on + write_files. Use bfd_fdopenr. + * gdbcore.h (write_files): New variable. + * exec.c (write_files): Define variable, add set&show for it. + (exec_file_command): Use write_files to open for read or r/write. + + Make shared library reading happen automatically. These changes + are mostly from Peter Schauer . + + * inferior.h (stop_soon_quietly): Add to exported variables. + * infrun.c (child_create_inferior): call solib hook, if defined. + (child_attach): call solib hook, if defined. + * solib.c: Include inferior.h. Add from_tty to so_list as kludge. + (find_solib): Use lookup_misc_func rather than hand-rolled. + (symbol_add_stub): New stub for catch_errors. + (solib_add): Avoid output if !from_tty. Catch errors rather + than just calling symbol_file_add and bombing. + (solib_create_inferior_hook): Interface with the target process + to let it read and alloc shared libs, then figure out what it did. + + * core.c (validate_files): Fix typo, soften warning. + (Fix from Hiroto Kagotani .) + + * utils.c (fputs_demangled): Avoid duplicate printing if + demangling is off. (Fix from J.T. Conklin .) + + * infrun.c (proceed): Cast -1 to (CORE_ADDR) before comparing. + (Fix from pierre@la.tce.com (Pierre Willard).) + + * main.c (catch_errors): Change argument to a char * from an int, + since a char * can point to a struct full of glop, but an int + is not guaranteed to be able to hold a pointer. + * breakpoint.c (breakpoint_cond_eval, bpstat_stop_status, + breakpoint_re_set_one, breakpoint_re_set): Adapt. + * core.c (core_open, solib_add_stub): Adapt. + * remote-vx.c (symbol_stub, add_symbol_stub, callers): Adapt. + +Wed Aug 28 18:18:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in: Update VERSION to 4.0.1. Evade GNU Make bug + by adding .NOEXPORT target. + +Fri Aug 23 17:14:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + * GDB-4.0 release! + * Update README. + * Makefile.in (VERSION): Roll to 4.0. + (gdb.tar.Z): Make refcard.ps as well, for shipment. + +Fri Aug 23 14:07:09 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: minor rewordings, crossref to ptype from print, + more on printsyms. + + * doc/Makefile, Makefile.in: generate "gdb-all.texi" rather than + "gdb-all.texinfo" + + * doc/rdl-apps.texi: renamed from rdl-apps.texinfo + + * Makefile.in, doc/Makefile, doc/gdb.texinfo: + reflect above name change + + * WHATS.NEW: correct pointer to refcard. + + * doc/gdb.texinfo: update New Features, Installing + + * doc/gdbint.texinfo: add short description of configure +template + +Fri Aug 23 11:46:08 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: update, fix bugs in "Installing" appendix + +Fri Aug 23 01:02:00 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in: Add config.sub, make doc/rdl-apps.texinfo for + tar file, add dependencies for referenced doc files. + +Thu Aug 22 22:17:06 1991 Stu Grossman (grossman at cygint.cygnus.com) + + * coffread.c, symfile.c, stack.c: saberized. + +Thu Aug 22 16:20:27 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/refcard.tex: permuted Essential Commands sec + + * doc/gdb.texinfo: new C++ chapter; revised installation appendix; + new doc for + set/show symbol-reloading + default set complaints 0 + info all-registers + RET-repeat disabled after prompted long displays + processID (attach) interpretation of 2nd GDB cmdline arg + +Thu Aug 22 14:05:47 1991 Stu Grossman (grossman at cygint.cygnus.com) + + * expread.y, coffread.c, dbxread.c, target.c, mem-break.c, + cplus-dem.c, values.c, valprint.c, symfile.c, remote.c, + breakpoint.c, main.c: lint. + +Thu Aug 22 02:02:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + Install new configuration scheme for GDB and friends. + + * config.sub: Translate ordinary names to three-part names. + * configure: Use three-part names internally. + * configure.in: Translate three-part names to filenames. + + * README, WHATS.NEW: Update for gdb-4.0. + * Makefile.in: Roll VERSION to 3.99. + +Wed Aug 21 18:21:09 1991 John Gilmore (gnu at cygint.cygnus.com) + + * infptrace.c (KERNEL_U_ADDR_BSD): Include a.out.gnu.h. + * i960-tdep.c, m68k-tdep.c, sparc-tdep.c, tm-i960.h, + tm-m68k.h, remote-nindy.c: Change ext_format_XXX structs + to single structures rather than arrays; when passing + their address, use &. This avoids trouble with bdead compilers. + * mcheck.c: Don't include ; just declare "void abort();" + instead. This avoids portability headaches. + * mips-tdep.c (mips_do_registers_info): Only print FP regs if + asked to. + * source.c (open_source_file): Avoid ANSI const bdeath by + skipping declaration and then casting result value. + * tm-hp300bsd.h: Clarify comment. + * utils.c (strstr): Result is const char *; ANSI bdeath. + * xm-hp300bsd.h: Define HOST_BYTE_ORDER. Redefine INT_MIN, + since system include file defines it differently from "defs.h", + though the two are equivalent for our purposes. + * tconfig/hp300bsd: Add m68k-tdep.o. + +Tue Aug 20 16:01:11 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tconfig/sun*4: Remove warnings about system assembler. + +Mon Aug 19 13:44:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * mcheck.c: Avoid warning about undeclared abort fn. + * tm-sparc.h (PC_ADJUST): Avoid calling error() from this; + it causes recursive calls to error() when used in cleanups. + To do so requires that we make it a function, so we do. + * sparc-tdep.c (sparc_pc_adjust): New implem of PC_ADJUST. + * utils.c (do_cleanups): Remove the current cleanup from the + chain *before* calling it, in case error() is called from it. + The result won't be pretty, but won't be an infinite loop either. + +Mon Aug 19 00:41:04 1991 Michael Tiemann (tiemann at cygint.cygnus.com) + + * dbxread.c (read_struct_type): Grok anon structs for C++. + (vb_name, vptr_name): Null terminate these strings. + +Fri Aug 16 08:31:03 1991 John Gilmore (gnu at cygint.cygnus.com) + + Minor bug fixes from BSD Net2 gdb: + + * blockframe.c (get_prev_frame_info): If FRAME_CHAIN_COMBINE + returns 0, there is no previous frame. + * breakpoint.c (commands_command): If !from_tty, don't call + input_from_terminal_p(). + * dbxread.c (record_misc_function): Speed up slightly. + (compare_psymbols): Ditto. + * infcmd.c (do_registers_info): Take a second argument to + determine whether to print float registers. "info registers" + does not do so anymore. "info all-registers" does, now. + * mips-tdep.c, pyr-tdep.c (xxx_do_registers_info): Take second + arg and ignore it. + * tm-mips.h, tm-pyr.h (DO_REGISTERS_INFO): Pass second arg. + * inflow.c (initialize_inflow): Set tflags_ours correctly. + + Other fixes: + + * breakpoint.c (bpstat_do_actions): Use a cleanup to restore + executing_breakpoint_commands if we are interrupted by error. + * coffread.c (init_lineno): Avoid problem with zero-sized linetab + versus malloc/free. From: john@labtam.labtam.oz.au (John Carey). + * core.c (solib_add_stub, core_open): Call SOLIB_ADD inside a + catch_errors() so we can setup the frame regardless of whether + the shared libs work. + * ieee-float.c (double_to_ieee_extended): Get exponent from + right place in little-endian systems. From John Carey. + +Thu Aug 15 18:43:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * main.c: Remove unused terminating_signals and catch_termination(). + (long_options): Terminate with a zero element. + [Bugfix from Atsuo Kawaguchi .] + (gdb_readline): Make call-compatible with readline. + (init_signals): Improve comments re vfork vs. signal. + + * utils.c (prompt_for_continue): Use new gdb_readline(). + If we prompt for continuation, we don't let CR repeat the previous + command, once we get back to a prompt. It's too easy to keep + hitting CR, expecting "--more--" prompts, and have some long + command start repeating on you. + +Tue Aug 13 16:17:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + * blockframe.c (frameless_look_for_prologue): Speed up by + calling SKIP_PROLOGUE_FRAMELESS_P if it's defined. + * tm-sparc.h (SKIP_PROLOGUE, SKIP_PROLOGUE_FRAMELESS_P): + Define two variants, one faster. + * sparc-tdep.c (sparc_frame_chain): Use target_read_memory + and return zero, rather than giving an error. + (setup_arbitrary_frame): Initialize the PC in the new frame. + (skip_prologue): Add a second arg saying whether we're just + checking for a frameless function or not. + + * core.c (core_open, core_close, core_xfer_memory): Move + section table pointers and bfd* into the target_ops. + (core_open): Allow errors in shared lib reading, etc. + (core_files_info): Describe shared library sections. + + * exec.c (exec_open, exec_close, exec_xfer_memory, xfer_memory, + exec_files_info, set_section_command): Move section table + pointers and bfd* into the target_ops. + (add_to_section_table): Add BFD to section table. + + * target.c (target_xfer_memory, target_info): Pass target to + xfer_memory and target_info functions. + * target.h: '' + + * gdbcore.h: Move struct section_table. + * target.h: New home of struct section_table. + + * solib.c (solib_add): New argument is the target_ops whose + section list is to be added to, if any. Reallocate the + sections in that target to add any that come from shared libs. + (throughout) so_sections renamed to sections. + (solib_xfer_memory): Deleted. + * tm-sunos.h (SOLIB_ADD): Add target argument. + (SOLIB_XFER_MEMORY): Delete. + + * core.c, exec.c, inftarg.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, target.c, target.h: Remove add_syms vector + from target_ops. It's the same on all targets. Add two section + pointers to target_ops. + + * stack.c (find_relative_frame): Dump ancient algorithm for + "down", just use handy "next" pointers. + (frame_command): Don't error if there is no stack; let user + set one. + + * inflow.c (new_tty_prefork, new_tty): New prefork routine + modifies static state in the parent process; new_tty itself + runs in the child and modifies the child's file descriptors + to match the saved static state. + * infrun.c (child_create_inferior): Call new_tty_prefork, + fork, then new_tty. + + * infptrace.c (child_xfer_memory): Add ignored target arg. + * remote-eb.c (eb_xfer_inferior_memory): '' + * remote-nindy.c (nindy_xfer_inferior_memory): '' + * remote-vx.c (vx_xfer_memory): '' + * remote.c (remote_xfer_memory): ''. Rename from + remote_xfer_inferior_memory. + + * main.c (main): Only try to attach "corefile" argument if + it starts with a digit. + + * symfile.c (symbol_reloading): New "set/show" variable. + (symbol_file_add): Shorten message about symbol reading. + (add_symbol_file_command): Merge with add_syms_addr_command, + since this should work on all targets now. + (stop_whining): Default to zero, to shut up complaints + about bad symbol tables on many systems. + (free_named_symtabs): Just exit unless symbol_reloading. + + * xm-sun3os4.h, xm-sun4os4.h: Define BROKEN_LARGE_ALLOCA, + and add comment explaining shared library screw. + + * source.c: #if defined => #ifdef. + +Thu Aug 8 12:23:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + * doc/gdbint.texinfo: Improve doc on porting to new OS's. + +Tue Aug 6 17:16:15 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/rdl-apps.texinfo: provide default readline-appendix finder + (doc/Makefile knows how to make one for local config) + + * Makefile.in: use doc/Makefile for doc targets + + * doc/Makefile: GDB documentation now has its own Makefile + doc/refcard.tex: renamed from "gdbrc.tex" + doc/gdbint.texinfo: add markup in "Cleanups" chapter + + +Fri Aug 2 00:13:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * values.c (baseclass_addr): When reading target memory, use the + length of the basetype, not the upper type. We've only malloc'd + enough space for the basetype, leading to errors in free(). + + * expprint.c (print_subexp): Print UNOP_MEMVAL of an OP_LONG that + ends up as a function specially, since we know the actual type of + the pointed-to address. This (somewhat) fixes display of + expressions that include misc_function_vector names. Try `cond 1 + !strcmp("a","b")' then `i b'. + + * infrun.c: Move DO_DEFERRED_STORES from proceed() to resume(). + The child can be proceeded from inside wait_for_inferior in + evaluating breakpoint conditions, and DO_DEFERRED_STORES was + getting skipped in that case. + + * expprint.c (print_subexp): Use filtered output, since the + subroutines we call use it, otherwise the output is horribly + mangled, since output of wrappable stuff comes out late. + + * Makefile.in: Bump VERSION to 3.98.1 + + * infrun.c (child_create_process): Use execlp to find the + shell to exec our target program. This requires some fiddling + with `environ' since there is no execlpe(). + +Thu Aug 1 15:35:17 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.in, doc/gdbrc.tex, doc/rc-* (new files): + Minor rearrangement of refcard permits two new make targets-- + gdbrc.dvi DVI output for refcard, using CM fonts + gdbrc.ps PostScript refcard, using PS fonts + +Wed Jul 31 16:46:21 1991 John Gilmore (gnu at cygint.cygnus.com) + + * GDB-3.98 release. + + * TODO, Projects, WHATS.NEW, README: Update for gdb-3.98. + * Makefile.in (gdb-all.texinfo): Avoid touching file if M4 dies. + +Wed Jul 31 16:35:58 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: last changes for release. + Minor typo and formatting fixes; incorporated most fixes remaining from + filed mail commenting on earlier drafts. + + Added warnings: pipes don't work in run command; + conditions are converse of assertions; + step over fn without debug info goes to next fn; + vars may have "wrong" values near fn entrance, exit + + Added example from Kingston on printing repeated nonadjacent values + + Added explicit mention that in Emacs gdb mode C-c and C-z are like + shell mode for signals + + Renamed "Stepping and Continuing" to "Continuing and Stepping" so it + doesn't sound so much like its parent "Stopping and Continuing"; also + moved entries on continue to top of section, so they don't get lost. + + Improved installation directions in appendix, added manual formatting + instructions + +Tue Jul 30 17:26:39 1991 John Gilmore (gnu at cygint.cygnus.com) + + * configure.in: Remove xm.h and tm.h even if we aren't linking + new ones, so "./configure sun4; ./configure none" does the right + thing. Assume that alldeps.mak and depend are already built in + srcdir, and avoid running "make" (particularly "make depend", + which involves "gcc") from inside configure. Build Makefile + directly rather than building Makefile.conf first. + * configure: Regenerate with above changes. + * Makefile.in: Use $(BISON) to find bison. Roll VERSION + to 3.98. Revise gdb.tar.Z procedure to produce a file + called gdb-$(VERSION).tar.Z but which unpacks into a + directory called "gdb". Move non-source files out of + $(SFILES_SUBDIR). Pretty up alldeps.mak with comments. + (depend): Don't try to do "gcc expread.y". + (expread.o): Update dependencies by hand. + +Mon Jul 29 15:21:09 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: + Fixed a variety of small typos that prevented info from formatting + cleanly; altered too-long heading for GPL Appendix, as discussed + w/RMS; Changed date on cover to July 91. + +Fri Jul 26 13:20:02 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: + (1) Applied some fixes due to comments from Larry Breed (easier ones + through chapsec 5.2) + (2) Eliminated use of @footnote---had my doubts about it anyways, and + it's broken in latest texinfo + (3) Introduced *some* use of [] for optional arguments, where + explanation is not simpler by listing cmd w arg and cmd w/out arg + separately. Still not using @deffn. + (4) Dropped in GPL-2. NOTE: one of GPL-2 or texinfo is broken; a + couple of headings are too long. Need patches to texinfo or revision + to GPL-2. + + * Partial update to README (which still needs work for this + release!): (1) use of configure corrected for new script, + (2) "make gdb.dvi" and "make gdb.info" mentioned. + +Wed Jul 24 06:44:02 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symtab.c (lookup_symbol): Don't complain right off about + no debug symbols; use the misc function vector first. + (list_symbols): Use misc function vector to find symbols + that don't have debug info, and print them. + (find_pc_symtab): Temporarily avoid fatal() when psymtab + PC range doesn't match symtab PC range, as it does on the + MIPS because our symtab reading isn't perfect. + + * dbxread.c (dbx_symfile_read): Make warning about + "no debug symbols" slightly nicer. + + * source.c (select_source_symtab): If "main" symbol exists, + but decode_line_spec can't find line info, don't just return + a zero; try other source symtabs or give an error. + + * mipsread.c (parse_partial_symbols): Sort the psymtabs by + their low addresses first, then rip through fixing high addrs. + + * ns32k-opcode.h (sfsr): Bugfix from Rune Nerg}rd, + . + (NS32K_SVC_IMMED_OPERANDS): Reverse the #ifndef. + +Tue Jul 23 18:52:43 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Minor, mostly mechanical, cleanup of doc subdir for clean + makeinfo'ing and TeXing; also ensured gdb-all.texinfo (post-m4) + and gdb.info (post- texinfo2 makeinfo) generated for distribution. + +Sun Jul 21 03:54:52 1991 John Gilmore (gnu at cygint.cygnus.com) + + Mostly MIPS and general symbol-reading fixups. + + * doc/gdbint.texinfo: Add documentation on symbol-reading + interface. + + * mipsread.c: Remove kludges around #include "ecoff.h". + Remove redefinitions of a_magic, etc, no longer used. + (parse_symbol, ): Convert "Internal:" printfs to complain()ts. + Fix global overview comments to match symfile.c protocol. + (mipscoff_new_init): Eliminate cur_hdr if we have one. + (mipscoff_symfile_read): Eliminate unused code. Avoid + sorting all the symtabs, when all we have read here is psymtabs. + The symtabs are sorted as they are created anyway. Tell + condense_misc_bunches whether we're mainline. + (psymtab_to_symtab_1): Pass filename when recursing, to make + stack trace more informative. + (parse_partial_symbols): Assume cur_hdr as argument. + (read_mips_symtab): Don't clobber cur_hdr, so it can be freed. + Pass cur_hdr implicitly to parse_partial_symbols. Avoid checking + the TYPE_NAME of char *, since that's done in symfile.c. + (free_numargs, parse_symbol, add_symbol, add_block, + shrink_linetable): Declare these fns void. + (upgrade_type): Convert tree of if's to switch. Clean up + bogus "off == 0" handling with a complaint. Avoid setting + field bitpos and bitsize of array with lower and upper bounds. + Check specified bitsize of elements against their actual type's + bitsize, and complain if different. Complain about unknown + type qualifiers. + (parse_fdr): Don't assume sizeof(char *) == sizeof (struct *). + (psymtab_to_symtab_1): Print names of subsidiary files that + are being read in. FIXME, we read far too many files. This code + is not the problem, the problem is in parse_fdr where the psymtabs + are set up. + (cross_ref): Result should indicate that we used one aux entry + normally, or two if we encountered a "next" entry. This used + to leave the caller pointing at the wrong aux entry. + (add_symbol): If overflowed cur_block, reallocate it larger, + chase all pointers to it, and complain(), rather than clobber memory. + (shrink_block): Use xrealloc rather than xmalloc-and-copy. + (new_field): Only allocate one field initially, not two. + Pull ++ out of macro argument. Simplify. + (_initialize_mipsread): Avoid initialization of importd + global_psymbols and static_psymbols. + + * symfile.c (psymtab_to_symtab): Depend on XXX_psymtab_to_symtab + to properly set pst->symtab; avoid searching for it. + (symfile_fns): Improve comments, add a FIXME. + * dbxread.c: Update comments to reflect symfile protocol. + (read_ofile_symtab, end_symtab): Return the symtab. + (psymtab_to_symtab_1): Set pst->symtab. + + * coffread.c (coff_symfile_read): tell condense_misc_bunches + whether we're mainline. + + * symfile.h (sym_fns): Remove unused sym_discard member. + * coffread.c, mipsread.c, dbxread.c: Remove XXX_symfile_discard. + + * mtrace.c (mtrace): Take effect if mallwatch is set, even if + the environment variable is not. + * infcmd.c (finish_command): Use filtered printfs. + * cplus-dem.c: Add struct tags to a few unnamed structs. + * valops.c (value_coerce_array): Improve comments. + * valprint.c (type_print_varspec_suffix): Print array size only + if greater than zero. + * m88k-tdep.c: Shift some lines left by one space, that had + apparently been trashed at some point. + * TODO: More things to do, a few got done. + +Thu Jul 18 22:46:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symtab.h (LOC_EXTERNAL): Eliminate in favor of LOC_STATIC. + (ldsymoff, ldsymlen, globals_offset, statics_offset): Improve + comments. + * dbxread.c (read_dbx_symtab): LOC_EXTERNAL -> LOC_STATIC. + * expread.y, findvar.c, symmisc.c: Ditto. + * printcmd.c (address_info): Update printed forms of LOC_ + symbols. Elim LOC_EXTERNAL. + (print_frame_args): Keep track of param stack offsets before + re-looking up to find the local register param is kept in. + + * mipsread.c: Use and rather than . + Further integration of mipsread into gdb. Eliminate unused + routines, duplicate declarations. Handle static symbols in + psymtabs as well as external symbols. When reading symtabs, + insert symbols into the correct block (global, static, or a local + block). + (read_mips_symtab, parse_partial_symbols): Don't pass useless + "incremental" arg. + (mipscoff_symfile_read): Don't call select_source_symtab. + (parse_symbol): Use SYMBOL_VALUE_ADDRESS where appropriate, + rather than SYMBOL_VALUE. + (parse_external): Comment clobbering of top_stack. + (parse_partial_symbols): Update comments. Allocate and parse + static symbols as well as external symbols. FIXME, enum values + are not handled in this pass, but should be. Inline new_psymbol. + Use SYMBOL_VALUE_ADDRESS. + (psymtab_to_symtab_1): Read symbols into global static block + by default (until enter some function's local block context). + (sort_blocks): Clean up STATIC_BLOCK as well as GLOBAL_BLOCK. + (destroy_all_symtabs, new_psymbol): Eliminate, unused. + + * source.c (select_source_symtab): Select a source symtab + from either the symtabs or, failing that, the psymtabs. + (list_command): Update error message. + (forward_search_command, reverse_search_command): Use getc, not + fgetc, for speed. FIXME, add comment about buffers that die if + overrun by long line. + + * values.c (unpack_field_as_long, modify_field): Avoid shifting + by an entire word, which is not portable, if we have a 32-bit + field. (Code in dbxread.c already turns such bitfields, if + aligned, into ordinary ints, but fixing this will help for other + symbol formats and for future changes.) + * core.c (core_open): Handle ANSI const brain death. + * utils.c (vprintf): Fix varargs typo. + +Sun Jul 14 00:42:53 1991 John Gilmore (gnu at cygint.cygnus.com) + + * findvar.c (find_var_value): Handle &function better. + * TODO: Document work needed on &fn and &array. + * printcmd.c (print_address_symbolic): New arg is the prefix + to print if a name is printed. + (print_address_demangle): Honor "set print address" now. + Use new arg above to improve spacing of output. + * valprint.c (val_print): When printing function pointers, + print symbolic form too. + * breakpoint.c (breakpoint_1): Use new print_address_symbolic. + +Mon Jul 8 19:02:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * core.c (memory_error): Reword error msg to mislead less. + + * mips-pinsn.c (print_insn_arg 'd'): Print $ with reg name. + + * mipsread.c (read_mips_symtab, read_the_mips_symtab, + parse_partial_symbols): Use newer BFD internals (external_filehdr + and external_aouthdr), byte-swap the fields that we care about + before using them, and make the file header data local to + read_the_mips_symtab rather than global. + +Sat Jul 6 01:34:15 1991 John Gilmore (gnu at cygint.cygnus.com) + + * ns32k-opcode.h (movmw, movmd): Fix opcodes. Bug fix + from Rune Nerg}rd on 5 Jul 1991. + + * main.c (command_line_input): Flush stdout and stderr + before every call to readline. This reportedly fixes a bug + that comes up in Sys V running emacs-gdb and/or xxgdb, + when stdin/out are pipes or sockets. + +Thu Jul 4 14:47:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * configure.in, Makefile.in: Avoid rebuilding "depend" as much. + Avoid declaring Makefile dependencies, because GNU Make stupidly + tries to update it if we do. + + * coffread.c: Revise for minor changes to bfd internal coff + indexes. + + * configure: If -template= is given a relative path, make it + absolute before recurring in subdirectories. + + * configure, configure.in, Makefile.in: Install "configure" script + as replacement for config.gdb. + * config.gdb, Makefile.dist, Makefile.sdir: Remove + * README: Update for configure, mostly. FIXME. + + * Add dec3100 as equivalent to littlemips. Indicate in all host & + target config files that they are for the host. When the lines + get copied into the Makefile, this makes it more obvious what's + up. + +Mon Jun 24 23:49:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + * sparc-opcode.h (trap opcodes): Avoid leading spaces or + tabs, which end up in the disassembler output inadvertently. + +Wed May 29 23:01:03 1991 John Gilmore (gnu at cygint.cygnus.com) + + Make it compile cleanly in an ANSI GCC2 environment. + + * blockframe.c: + * cplus-dem.c: free takes a void *, ifdef __STDC__ + * dbxread.c (read_huge_number): avoid gcc2 bug hoisting calc of + LONG_MAX/radix. + * defs.h (alloca): Avoid doing anything if alloca already def'd. + * stddef.h, stdlib.h: Remove these files. + * symtab.c: Avoid declaring qsort, close. + * symfile.c: Avoid declaring close. + * utils.c (vprintf): Declare "ap" arg as proper va_alist. + * sparc-tdep.c: Avoid including lots of Sun-host-specific files. + + Assorted other changes. + * dbxread.c: include "libaout.h", not "liba.out.h". + * printcmd.c (print_frame_args): Set recurse properly for + indentation of struct and array parameters. + * valops.c (value_cast): Allow cast to void. + * infrun.c (resume): If NO_SINGLE_STEP, call machine dependent + single_step() in a target-independent fashion. + * sparc-tdep.c (single_step): Don't call ptrace ourselves, just + set up to be ready to continue. This makes us target independent. + * infptrace.c (child_resume): Remove call to single_step; now + can single step a SPARC target of any kind. + +Wed May 22 18:18:24 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist, doc/gdb.texinfo, doc/*-m4.texinfo: split up GDB + docn into separate sections---basically chapters, plus two loose + pieces that can be configured to go in different places. This + allows GNU m4 to preprocess the manual without coredumping. + + * Makefile.dist: tell TeX where to find texinfo. + +Mon May 20 12:15:04 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist, doc/gdb.texinfo: respectively create, and use, + the new target "rdl-apps.texinfo" which captures the Makefile + variable that records where to find the Readline libraries. + +Sun May 19 05:36:59 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tahoe-pinsn.c: #include "tahoe-opcode.h", not "opcode.h". + * tm-tahoe.h (FIX_CALL_DUMMY): Ignore more parameters. + * defs.h (const, volatile): Only define if not already defined. + * Makefile.dist (gdb.tar.Z): Create doc subdir w/out CVS/RCS crud. + + * README: Update for release 3.95. + * config.gdb: Don't create readline dir in subdir builds. + * main.c: Include with "..." form for non-system include files, + so "gcc -MM" for "make depend" works. + Include readline files with "...h" rather than . + * mipsread.c: Include "ecoff.h" rather than "intel-coff.h". + + * coffread.c: Undo minor damage done by Rich Pixley. Use + different internal and external representations of COFF + data structures. Use new BFD routines for swapping them in and + out. + * symfile.c (free_named_symtabs): Avoid freeing file names that + are null or empty. Old i960 tools seem to produce files that + claim to have empty names, causing each successive file read + to blow away the previous one. + * sparc-xdep.c (deferred_stores): Repair minor damage by Rich. + Move deferred_stores to top of file, but don't separate its + #define's from its variable. Add commentary. + * Makefile.dist: Fix Rich damage; undo "configure" changes in + favor of keeping the (working) config.gdb. Move readline + library up a notch. + +Fri May 17 12:49:56 1991 Per Bothner (via gnu at cygint.cygnus.com) + + * dbxread.c (read_struct_type): Try to handle g++ version 1 MI + debug info. + * infptrace.c (fetch_registers): no result, since now void. + * tconfig/news: target depends on m68k-tdep too. + +Fri May 17 14:40:14 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist: added readline/inc-*.texinfo to dependencies for + gdb.dvi target + + * readline/inc-history.texinfo, readline/inc-readline.texinfo: + applied various small fixes due to or inspired by RMS comments + + * doc/gdb.texinfo: finished using all RMS comments, save those for + appendices on readline and cmd history (which are in other source + files) + +Thu May 16 18:06:05 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/gdb.texinfo: (1) Updated w/ref to RMS comments through + chapter 9; (2) documented 'break' command's menu mode for + overloaded names, in response to hgs problem report C++ p-31 + +Wed May 15 11:02:48 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/gdb.texinfo: (1) better introductory example; (2) more + consistent use of @code, @samp, @file, @kbd throughout; small + cleanups to first three nodes; (3) new "Contributors" node; + (4) Appendix, Renamed Commands; (5) divert specialized startup + instructions to "Targets" chapter for generic manuals, while + leaving them up front for manuals specific to specialized + environments; (6) apply fixes from RMS comments through chapter 4. + + * pretex.m4: modify explanatory text slightly (and redefine + "regexp") to keep GNU m4 from complaining. (It still crashes + later, but one step at a time...) + +Wed May 15 10:32:12 1991 John Gilmore (gnu at cygint.cygnus.com) + + * readline/readline.c (update_line): Avoid dereferencing a pointer + before comparing it to its bounds. Saber caught this. + (init_terminal_io): Don't set BC from the "pc=" termcap variable, + and only set PC if tgetstr returned non-null. Saber caught this. + +Tue May 14 16:29:53 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * Makefile.dist: put gdb.dvi stuff (updated to use M4 preprocessor + stuff for config manual) here where it counts; updated + to use new subdir structure (gdb/doc/). + + * Makefile: generated from above via + config.gdb none + before checkin + + * gdbint.texinfo: added instructions on generating gdb.info* files + locally for release. These are ordinary info + files, formatted from gdb.texinfo (via gdb-all.texinfo, see + Makefile)---but due to use of texinfo 2, can't count on makeinfo + to generate these, so we distribute them already formatted. + + * gdb.texinfo: included full Info node and menu crud (as generated + by C-u M-x texinfo-master-menu using the texinfo-2 elisp code). + + * Makefile: updated "gdb.dvi" target to use M4 preprocessor; + put in comments-for-future gdb.info target (one day makeinfo will + work again). + +Tue May 14 13:51:36 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * gdb.texinfo: Updated to include new or old undocumented + commands, at least the following (perhaps some others I forgot to + record): info f, info float, info path, info program, info s, info + set, info source, info terminal, info types, info user, set/show + print object. + Also covered all recent GDB command renames for v4. + +Mon May 13 14:57:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * mipsread.c: Rather than keeping count of how many symtabs + and psymtabs we have, for sorting purposes, count them when + we need to sort. This fixes bug in rereading of symbol tables. + +Fri May 10 15:43:33 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * infcmd.c: renamed "info path" to "show paths" + * gdbrc.tex: documented above. + +Wed May 8 04:51:11 1991 John Gilmore (gnu at cygint.cygnus.com) + + * remote.c: Fix comments. + * utils.c (error): Force out any pending wrap output. + +Sat May 4 11:11:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.dist: Roll VERSION to 3.95. + Fix up "saber_gdb" to work again. + * saber.suppress: Update. + + * coffread.c, exec.c, infptrace.c, inftarg.c, remote.c, solib.c, + symtab.h, target.c, target.h: Lint. + * core.c: setup and select frame after reading shared libs, + else reading shared libs will clobber them. Lint. + * utils.c (error): Force out any buffered wrap text. + +Fri May 3 22:01:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + * remote.c: Remove decls of memory_insert_breakpoint + and memory_remove_breakpoint, no longer used. (Suggestion of + Jan Norden). + + * Makefile.dist: use ${subdir} in paths of BFD and LIBIBERTY, + to make it easier to interface to "configure"'d libraries. + +Fri May 3 13:10:01 PDT 1991 Roland Pesch (pesch at fowanton.cygnus.com) + + * valprint.c: introduce "set p", "set pr", "show p" and "show pr" as + aliases for set/show print. + +Thu May 2 11:22:02 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (coff_sym_fns) [TDESC]: Make the type be m88kbcs. + + * m88k-tdep.c (IEEE_isNAN): New function. + + * infrun.c, m88k-tdep.c, m88k-xdep.c: Change + initialize_{tdesc,dcontext} to init_{tdesc,dcontext}. + + * infrun.c [TDESC]: Add a bunch of crud. + + * xm-88k.h [__GNUC__]: Don't define memset. + + * m88k-xdep.c: #if 0 out push_breakpoint. + + * tm-88k.h: Define GET_SAVED_REGISTER. + + * tm-88k.h: Define DGUX. + + * m88k-opcode.h (UEXT, SEXT, MAKE): Put parentheses around arguments. + + * m88k-pinsn.c (sprint_address): Declare at top of file. + + * m88k-xdep.c: #if 0 out core_file_command. + + * values.c ({unpack_,value_as_}pointer): Just call + {unpack_,value_as_}long (for now anyway). + + * m88k-tdep.c (get_saved_register): Make get_reg a dc_word_t (*)(). + (psr_register): Change return type to dc_word_t. + + * m88k-tdep.c (tdesc_read_function): Comment out call to ptrace. + + * m88k-tdep.c (get_saved_register): Add lvalp parameter. + + * gdbcore.h (write_memory): Don't prototype it. + + * tm-88k.h, m88k-tdep.c: Make stack_error, stack_jmp global. + m88k-xdep.c: Don't mention stack_error. + + * {x,t}config/m88k ({X,T}DEPFILES): Add missing files. + + * mtrace.c: Don't typedef things like size_t, just #define them. + + * coffread.c [TDESC]: #if 0 out references to coffsyn. + + * symtab.h (struct symtab): Include EXTRA_SYMTAB_INFO. + tm-88k.h: Define EXTRA_SYMTAB_INFO. + + * coffread.c [TDESC]: Include "tdesc.h" and make tdesc_handle + dc_dcontext_t not int. + + * coffread.c [TDESC]: Use system include files not . + + * coffread.c [TDESC]: Move setting of debug_info from + coff_symfile_read to find_linenos and make it work with BFD. + + * cplus-dem.c [__STDC__]: Make x{m,re}alloc return void*. + + * signame.c: Cast const char* to char* when assigning to sys_siglist. + + * utils.c (strsave): Make arg const char* not char*. + + * infrun.c (wait_for_inferior) [SHIFT_INSN_REGS]: Use + bpstat_explains_signal (stop_bpstat) not stop_breakpoint. + + * tm-88k.h (START_INFERIOR_HOOK): Make tdesc_handle a dc_handle_t. + + * tm-88k.h (EXTRACT_RETURN_VALUE): Use char * not void *. + + * findvar.c (read_var_value, case LOC_CONST_BYTES): Put the address + in a char *, not a CORE_ADDR. Use SYMBOL_VALUE_BYTES. + + * tm-88k.h (INIT_EXTRA_FRAME_INFO): Use fci not prev (fci is + prev except from create_new_frame). Make next_frame a + local variable. + Declare get_prev_context. + {x,t}m-88k.h: Enclose USG and BCS defines in #if !defined. + m88k-{opcode.h,pinsn.c,xdep.c,tdep.c}: New files (same contents as + before; they had just been left out of the distribution for a long + time). + +Thu May 2 17:53:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + Mips bringup and general cleanup + + * cplus-dem.c: Move CPLUS_MARKER define to after defs.h. + * infptrace.c (PT_WRITE_D, PT_READ_D): Use correct values. + (This still doesn't seem to make MIPS bkpts work.) + * mipsread.c: Remove dup "Reading symbol data..." msg. + (symbol_file_command, add_file_command): Remove, obsol. + * printcmd.c (ptype_command): Say "an enum" rather than "a enum". + Wrap output appropriately. + * stack.c (locals_info, catch_info, args_info): Check + selected_frame rather than target_has_stack or coredumping. + * valprint.c (type_print_varspec_suffix): Wrap "ptype" output of + enums appropriately. + +Wed May 1 14:10:22 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * signame.c: Include defs.h and param.h. + + * cplus-dem.c: Include defs.h and param.h. + Makefile.dist: Don't hack in the "param.h". + param.h: Don't include defs.h. + + * expread.y: Use a union to deal with the fact that type_stack + can have both ints and enum type_pieces in it. + ({push,pop}_type_int): New functions. + +Tue Apr 30 13:18:58 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * cplus-dem.c (cplus_mangle_opname): Don't call error. + values.c (check_stub_method): Call error if NULL return from + cplus_mangle_opname. + + * blockframe.c, breakpoint.c, core.c, command.c, findvar.c, + eval.c, expprint.c, infcmd.c, infrun.c, main.c, printcmd.c, + remote.c, source.c, stack.c, dbxread.c, coffread.c, symfile.h, + symfile.c, utils.c, valarith.c, values.c, valops.c, tm-68k.h, + target.c, inftarg.c, ieee-float.c, environ.c, defs.h, + command.h, inferior.h, gdbcore.h, symtab.h, expression.h, + symtab.c, cplus-dem.c, value.h, expread.y, valprint.c, + copying.awk, solib.c, inflow.c, symmisc.c + : Lint. Use read_memory not read_memory_integer on CORE_ADDR's. + Use {value_as,unpack}_pointer (added to values.c) + not {value_as,unpack}_long on CORE_ADDR's. + Use longest_to_int (added to defs.h) instead of cast to int. + Remove from_tty arg to mod_path. + Put symfile_bfd in {coff,dbx}read.c not symfile.h. + Use OP_NULL instead of 0 where dummy enum exp_opcode needed. + + * tm-sparc.h: Remove GET_RWINDOW_REG. + (FRAME_CHAIN): Call sparc_frame_chain. + sparc-tdep.c (sparc_frame_chain): New function. + tm-sparc.h (EXTRACT_STRUCT_VALUE_ADDRESS): call + sparc_extract_struct_value_address (added to sparc-tdep.c). + + * xm-sun386.h: Don't define SET_STACK_LIMIT_HUGE. + +Tue Apr 30 13:13:33 1991 Michael Tiemann (tiemann at cygint.cygnus.com) + + * valprint.c (type_print_base): If the type being printed is a + struct containing undefined types, print "" + as the type instead of crashing. + * values.c (value_headof): Get the vtable pointer taking + TYPE_VPTR_BASETYPE into account. + * symtab.c, symtab.h, dbxread.c: Fix various whitespace splotches. + +Mon Apr 29 13:22:51 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * Move BROKEN_LARGE_ALLOCA from tm-sun386.h to xm-sun386.h. + + * sun386-xdep.c [!GDB_TARGET_IS_SUN386]: Just provide empty + functions which don't do anything. + tm-sun386.h: Define GDB_TARGET_IS_SUN386. + + * Makefile.dist: Add comment about tm-sun3os4.h: tm-sun3.h, etc. + + * sun3-xdep.c, tm-sun3.h, tm-68k.h: Change TARGET_SUN3 to + GDB_TARGET_IS_SUN3. + + * infrun.c: Don't include sys/user.h and friends (wrong for + cross-debugging and not necessary anymore (see IN_SIGTRAMP in + xm-vax.h)). + [SET_STACK_LIMIT_HUGE]: Include . + xm-tahoe.h: Don't define _DIRENT_. + + * xm-tahoe.h: Remove USE_OLD_TTY (not needed now that terminal.h + includes sgtty.h before sys/ioctl.h). + +Sun Apr 28 22:04:47 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * param-no-tm.h: Make BITS_BIG_ENDIAN defined to 0/1, not defined + or not defined. Don't define it based on TARGET_BYTE_ORDER if + it's already defined (in the tm.h file). + mips-opcode.h (BIT_FIELDS_*), + values.c (modify_field, unpack_field_as_long): + Use #if BITS_BIG_ENDIAN not #ifdef BITS_BIG_ENDIAN. + {x,t}m-tahoe.h, tahoe-pinsn.c, tahoe-opcode.h: New files. + +Fri Apr 26 12:02:06 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * tm-sparc.h: Add comments about gcc version 2 and structure passing. + + * xconfig/i386v{,32}{,-g}: Add XM_CFLAGS=-Dgetpagesize()=4096. + gmalloc.c: #if 0 out !HAVE_GETPAGESIZE code. + + * expread.y (abs_decl): Accept '&' and '&' abs_decl. + + * symtab.c, symtab.h: Have a builtin_type_{,unsigned_}long_long + regardless of LONG_LONG. + defs.h (TARGET_LONG_LONG_BIT): New macro. + expread.y (typebase): Add {unsigned,} long long {,int}. + +Thu Apr 25 12:31:22 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (typecmp): If t2 == 0, return 1. + +Wed Apr 24 09:45:17 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + Changes from Tiemann: + * cplus-dem.c (optable): Add "nw", "dl", "compound". + (cplus_mangle_opname): New function. + (do_type): Add case 'Q'. + * values.c (check_stub_method): Do lookup_method_type and stuff + rather than smash_to_method_type. + symtab.c, symtab.h (allocate_stub_method): New function. + dbxread.c (read_type): If we get "##", don't lookup_function_type + and start clobbering it; allocate_stub_method instead. + * printcmd.c (x_command): Dereference references. + * valprint.c (type_print_varspec_prefix, case TYPE_CODE_METHOD): + Don't print " " type_print_base (...) "::" if !passed_a_ptr. + * dbxread.c (read_struct_type): Put "op$" instead of "operator" + in the symbol table. + * values.c (check_stub_method): Deal with operator names. + * valprint.c (cplus_val_print): Check for error in baseclass_addr. + * values.c: Move declaration of cplus_demangle to top of file. + * values.c (baseclass_addr): If can't read memory, set *ERRP + rather than calling error(). + * value.h: Remove redundant declaration of value_static_field. + * values.c (value_static_field): Recursively check all baseclasses. + Return NULL if not found. + * values.c, value.h: New functions value_{headof,from_vtable_info}. + * valprint.c (val_print): Print out first element of vtbl + specially. + * valprint.c: Move print controls to top and add objectprint. + Add command "set print object on/off". + * valprint.c (value_print, is_vtbl_member): Put things in local + variables rather than continually doing VALUE_TYPE (val), etc. + * valops.c (value_struct_elt_for_address): Call check_stub_method. + * valops.c (value_struct_elt): Remove found, arg1_as_ptr. + * valops.c (search_struct_method): Give error if j > 0 && args == 0. + * valops.c (search_struct_field): New argument looking_for_baseclass. + Give error if value_static_field or value_primitive_field + return NULL. + valops.c (various): Call search_struct_field with extra parameter. + * symtab.c (decode_line_1): Deal with operators specified as + "operator" . + (operator_chars): Help do it. + * symtab.c (lookup_struct_elt_type): Call check_stub_type. + Take additional argument noerr. + Don't dump core if TYPE_FIELD_NAME is NULL. + Check the baseclasses recursively. + * symfile.c (fill_in_vptr_fieldno): Don't call check_stub_type. + Return void not int. (also declarations in symfile.h and value.h). + Deal with multiple inheritance. + * printcmd.c (print_command_1): Add if (objectprint) code. + * expread.y (variable): Allow for destructor with foo::~name. + * eval.c (evaluate_subexp, case UNOP_LOGNOT): If following opcode + is OP_SCOPE, give an error. + * eval.c (evaluate_subexp): Pass third arg to lookup_struct_elt_type. + * eval.c (evaluate_subexp), values.c (value_virtual_fn_field): + Don't bother to do anything with + return value from fill_in_vptr_fieldno. + * eval.c (evaluate_subexp): If value_static_field returns NULL, + give an error. + * dbxread.c (read_struct_type): Set fcontext to 0 for normal member + function. + * dbxread.c (read_struct_type): Initialize name to 0. + * dbxread.c (read_ofile_symtab, N_CATCH): Add offset to bufp->n_value. + * dbxread.c (dbx_create_type): Zero TYPE_VPTR_BASETYPE. + (read_struct_type): Don't bother to set TYPE_VTPR_{BASETYPE,FIELDNO} + if it's just going to be {0,1}. + + * dbxread.c (virtual_context): Use TYPE_BASECLASS starting at 0 + (yes, it's #if 0, but just in case...). + + * vax-opcode.h, expread.y, expprint.c, cplus-dem.c: Declare some + things "const". + + * i386-stub.c: New file. + + * WHATS.NEW: Remove mention of readline and more paging (in 3.5). + Try to keep command names up to date with renaming. + + * gmalloc.c [!HAVE_GETPAGESIZE]: Try to figure out the pagesize. + + * infun.c (resume, resume_cleanups): New functions. + (wait_for_inferior, proceed, child_create_inferior): Use resume + not target_resume. + + * remote.c (getpkt): Don't set immediate_quit. + + * blockframe.c, frame.h (reinit_frame_cache): New function. + solib.c (solib_add), symfile.c ({,add_}symbol_file_command): + Use it. + +Tue Apr 23 10:38:41 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * symtab.c (lookup_symbol): Add 3 more of those loops through + the symtabs which we all know and love: (1) Look in the + STATIC_BLOCK for mangled symbols right after we check the blocks, + (2, 3) Look in the STATIC_BLOCK for all the symtabs and psymtabs + at the end. + + * main.c (cd_command): Call dont_repeat. + + * dbxread.c (read_struct_type): If const/volatile character is + missing, don't complain, just continue. + + * dbxread.c (read_struct_type): Only try to read the fcontext if + it is there. Also change "error_type " to "return error_type ". + values.c (value_virtual_fn_field): If there is no fcontext, + then do things the way GDB 3.x did. + valops.c (search_struct_method): Add type to value_virtual_fn_field + arguments. + + * dbxread.c (read_struct_type): Fix typo: *pp != '\0' -> **pp != '\0'. + +Mon Apr 22 00:02:43 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * printcmd.c (print_scalar_formatted): Add 't' for binary. + + * dbxread.c (end_psymtab): Initialize pst->symtab. + + * core.c (core_open): Call ADD_SOLIB. + + * tm-sparc.h: Include not . + sparc-tdep.c: Don't include . + + * sun3-xdep.c [!TARGET_SUN3]: Just provide empty functions which + don't do anything. + + * core.c (core_open): Add make_cleanup (unpush_target, &core_ops). + + * Shared library/corefile changes from Peter Schauer: + core.c (core_close): Call CLEAR_SOLIB. + (core_open): Remove comment about "should deal with shared lib". + (core_xfer_memory): If we can't xfer the usual way, try the + shared libraries. + solib.c (so_list): New fields so_bfd and so_sections{,_end}. + (find_solib): Use solib_map_sections to get ld_text. + (solib_map_sections, solib_xfer_memory): New functions. + (clear_solib): Free so_sections and close so_bfd. + tm-sunos.h: Add solib_xfer_memory, solib_add. + + * sparc-tdep.c (skip_prologue): Don't skip anything unless there + is a "save" instruction in there somewhere. + + * symfile.c (symbol_file_add): Add comment. + solib.c (solib_add): Don't malloc name passed to symbol_file_add. + + * exec.c (build_section_table): If *start isn't NULL, free it. + + * stack.c (parse_frame_specification): Error if NULL selected_frame. + infcmd.c (finish_command): Error if NULL selected_frame. + inflow.c (kill_command): Deal with NULL selected_frame. + stack.c (record_selected_frame): Set *FRAMEP to NULL if there + is no selected frame. + infrun.c (restore_inferior_status): Add comment. + findvar.c (read_var_value): Check for NULL frame where we need + a frame. + breakpoint.c (get_catch_sals): Check for NULL selected_frame. + + * breakpoint.c (bpstat_print): Try all elements on the bpstat + chain before giving up with an internal error. + +Sun Apr 21 21:43:10 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * value.h, values.c (value_{,free_to_}mark): New functions. + breakpoint.c (bpstat_stop_status): Use them. + + * tm-i386v{,-g}.h: Remove N_SET_MAGIC define. + +Sat Apr 20 21:42:47 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-tdep.c: Remove unnecessary #includes. + + * symtab.c (various): Change error return of find_line_common to -1. + + * coffread.c (find_linenos): Use LINESZ not sizeof (struct lineno). + + * coffread.c (end_symtab): Initialize language, dirname, and + fullname fields. + +Fri Apr 19 18:18:31 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * mips-tdep.c (mips_frame_chain): Don't chain if saved_pc == 0. + + * stddef.h (size_t): Let either _SIZE_T or _SIZE_T_ guard it. + + * mipsread.c (parse_symbol): Set startup_file_{start,end} if + entry_point is in current file. + + * findvar.c (read_register_gen): Add "target byte-order" comment. + +Wed Apr 17 17:09:48 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-tdep.c (i386_get_frame_setup): Use SWAP_TARGET_AND_HOST + before returning locals or slocals. + + * i386-tdep.c (i386_follow_jump): Do not add data16 to pos in + call to codestream_seek; add one to pos if (and only if) + we are dealing with a jump with data16 == 1 (i.e. 0x66, 0xe9). + +Mon Apr 15 12:04:32 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (call_function_by_hand): Put dummy1 in target order + before FIX_CALL_DUMMY. + + * tm-i386v.h (FIX_CALL_DUMMY): Don't depend on host byte order. + +Sun Apr 14 11:55:19 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (push_word): Add SWAP_TARGET_AND_HOST. + + * remote.c (remote_open): Send '+' before calling putpkt(). + + * tm-i386v.h (REGISTER_VIRTUAL_TYPE): Return pointer to void, + not int, for pc, fp, and sp. + + * remote.c (remote_open): Call start_remote after putpkt("?"); + infrun.c (start_remote): Also call wait_for_inferior & normal_stop. + +Sat Apr 13 22:11:42 1991 Jim Kingdon (kingdon at spiff.cygnus.com) + + * exec.c: Include . + + * sun3-xdep.c (fetch_core_registers): Add #ifdef FP0_REGNUM. + +Fri Apr 19 09:36:50 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * tm-68k.h (NUM_REGS): Conditionalize on TARGET_SUN3 not sun. + tm-sun3.h: Define TARGET_SUN3. + + * utils.c: Use CPLUS_MARKER not '$'. + + * cplus-dem.c: Use CPLUS_MARKER not '$'. If CPLUS_MARKER isn't + defined, define it to '$'. + + * arm-opcode.h: New file (same contents as before; it had + just been left out of the distribution for a long time). + + * tm-68k.h: Put declaration of ext_format_68881 outside the macros. + + * main.c: New HAVE_SIGSETMASK #ifdefs. + + * coffread.c (read_coff_symtab): Check for "LF%" with all the + other L*% things. + + * coffread.c (SDB_TYPE): New macro. + various: Use it instead of checking against T_NULL. + + * Makefile.dist (cplus-dem.o): Hack in an #include "param.h" + before we compile it. + defs.h: Protect against multiple inclusion. + param.h: Include defs.h. + signame.c: Change #ifdef SYS_SIGLIST_MISSING to #if. + param-no-tm.h: Define SYS_SIGLIST_MISSING from USG. + +Thu Apr 18 19:49:10 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-pinsn.c (OP_E): Change %d to 0x%x for consistency. + + * putenv.c: New file + Makefile.dist: Add it to $(OBS). + + * mipsread.c [!CMUCS]: #include . + + * mips-xdep.c (fetch_core_registers): #if 0 out the whole function. + + * Move read_memory_nobpt from mem-break.c to breakpoint.c. + +Mon Apr 15 21:45:35 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * utils.c (_initialize_utils): Rename "set demangle" to + "set print demangle", "set asm-demangle" to "set print + asm-demangle" and "set sevenbit-strings" to "set print + sevenbit-strings". + + * main.c (initialize_main): Rename "set history write" to + "set history save". + + * main.c (initialize_main): Rename "set caution" to + "set confirm". + + * values.c (_initialize_values): Remove "info history" alias + for (what is now) "show values". + + * infcmd.c, gdbcmd.h: Add unsetlist. + infcmd.c: Add unset_command. + (_initialize_infcmd): Add "unset" and use it for "unset env". + + * breakpoint.c (_initialize_breakpoint): Remove "unset". + + * valprint.c: Add "set/show print", {set,show}_print. + Rename "set addressprint" to "set print address". + Rename "set arrayprint" to "set print array". + Rename "set array-max" to "set print elements". + Rename "set prettyprint" to "set print pretty". + Rename "set unionprint" to "set print union". + Rename "set vtblprint" to "set print vtbl". + + * main.c: Rename version_info to show_version. + (_initialize_main): Rename "info version" to "show version". + + * values.c: Rename value_history_info to show_values. + (_initialize_values): Rename "info values" to "show values". + +Sun Apr 14 23:08:34 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * inftarg.c (child_open), remote-vx{,.68}.c (vx_proc_open): + New function to give correct error message. + +Thu Apr 11 17:19:41 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * target.h: Add to_doc and target_preopen. + target.c: Add target_preopen and target_command. + Remove target_info. + (add_target): Call add_cmd and mess with targetlist->doc. + core.c, exec.c, remote-eb.c, remote-nindy.c, remote-vx.c, + remote-vx.68.c, inftarg.c, remote.c: Add doc field to target struct. + Call target_preopen from open routine. + + * main.c: Rename editing_info to show_commands. + (_initialize_main): Rename "info editing" to "show commands". + + * source.c: Rename directories_info to show_directories. + (_initialize_values): Rename "info directories" to "show directories". + + * values.c: Rename convenience_info to show_convenience. + (_initialize_values): Rename "info convenience" to "show convenience". + + * copying.awk (_initialize_copying): Rename "info copying" to + "show copying" and "info warranty" to "show warranty". + Rename {copying,warranty}_info to show_{copying,warranty}. + + * symfile.c: Rename add_syms_command to add_symbol_file_command. + (_initialize_symfile, add_syms_addr_command): + Rename add-syms to add-symbol-file. + +Thu Apr 18 18:08:30 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symfile.h (free_named_symtabs): Rename from free_named_symtab. + * symfile.c (clear_symtab_users_once, cashier_psymtab, + free_named_symtabs): Move these routines from symmisc.c. + * symmisc.c (same): same. + (free_symtab): Make non-static. + * symtab.h (free_symtab): Declare as exported void fn now. + * dbxread.c (end_symtab, end_psymtab): Change comments. + (initialize_dbxread): Call dbx_new_init() in case the first + command is add-symbols. + * target.c (dummy_target): Permit add_syms_addr_command. + +Sat Apr 13 14:46:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + Permit symbols to be superseded when new symbol files have + been read in, particularly for VxWorks. + + * dbxread.c (read_dbx_symtab): Allow N_SOL to cleanly take us back + to the main file, as well as to include files. Also, put global + functions into the global psymtab, to make "i fun" work. + (end_psymtab): Free named symtabs and psymtabs for a file, once a + new psymtab for it has been read. + * coffread.c (end_psymtab): Free named symtabs and psymtabs for + a file, once a new symtab has been read for it. + * mipsread.c: FIXME. We need to do the same for MIPS, but it + looks harder to determine the top-level block before it's been + queued to the psymtab list. + + * symfile.c (symbol_file_add): Use filtered printing and wrap it. + If we have wiped out any old symbol tables, clean up at end of + symbol reading. + (symbol_file_command): Don't reference symfile_fns if it's zero. + + * symtab.h (GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK): New + defines for the blocks of a blockvector that contain global and + file-static symbols and the first of the smaller scope contours. + * symtab.c (lookup_symbol, find_pc_symtab, find_pc_line, + decode_line_1, make_symbol_completion_list): Use the above. + * coffread.c (end_symtab, patch_opaque_types): Ditto. + * dbxread.c (end_symtab): Ditto. + * expread.y (block): Ditto. + * mipsread.c (throughout): Ditto. + * symmisc.c (free_named_symtabs): Ditto. + + * symtab.c (list_symbols): Process the first symbol of the + static psymbols list. + (types_info): Restore this function from its untimely #if 0. + It's not perfect, but it is better than nothing. + (_initialize_symtab): Restore "info types". + +Thu Apr 11 05:23:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + * m68k-stub.c: Remote stub for 680x0's, created from + rem-m68k.shar (which is removed). + * nindy-share/{Makefile,Onindy.c,blout.h,env.h,nindy.c,ttyflush.c}: + Remove RCS log stuff now that we use CVS and it blows our diffs. + +Wed Apr 10 14:18:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symmisc.c (free_named_symtab): Make it work, in its current + kludgy fashion. Change result to indicate if we blew away bkpts. + * dbxread.c (end_symtab): Accumulate result from + free_named_symtab and print warning if we blew user's state. + * symfile.h: free_named_symtab now returns an int. + +Mon Apr 8 23:57:43 1991 John Gilmore (gnu at cygint.cygnus.com) + + * dbxread.c (dbx_symfile_read): Initialize psymbol list if this + is the first symbol read, even if not mainline. + (dbx_psymtab_to_symtab): symfile might be zero, cope. + * exec.c (exec_ops): Add_syms_addr is valid in our tvec. + (set_section_command): New command ("section xxx yyy" -- should + be renamed to "set section xxx yyy" FIXME) which sets the + base address of a section of the exec file, overriding the + virtual address that BFD reports. + +Fri Apr 5 17:14:39 1991 John Gilmore (gnu at cygint.cygnus.com) + + * exec.c: Add add_syms_addr_command to exec_ops, so you can + load symbols at any address while examining an exec file. + +Thu Apr 4 10:09:35 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tm-i386v.h (FLOAT_INFO): Don't define it, since the code + for printing the float info is host-dependent, not + target-dependent. FIXME. + * i386-pinsn.c: Move #includes to top, remove useless ones. + * i386-tdep.c: Don't bother including <.../reg.h> since we + don't use it (and it doesn't exist on host systems). + + * ieee-float.c (ieee_extended_to_double): Convert NaN to Inf. + Convert negative numbers properly. + (ieee_test): Make numbers really random; fix format arg. + + * infcmd.c (attach_command, detach_command): Don't repeat on CR. + * core.c (core_detach): Unpush core_ops, which might not be on + top. We used to just pop the top, which broke things. Don't + need dont_repeat() any more. + (core_file_command): Psst! Don't repeat it. + * remote-nindy.c (nindy_detach): Don't need dont_repeat() now. + * expprint.c (print_subexp): Avoid switch fallthru on + BINOP_ASSIGN_MODIFY, so we can print += and such. + * frame.h: Fix typo. + * inflow.c (kill_command): After killing inferior, print our + current frame in the core file, if we have one. + (generic_mourn_inferior): When inferior dies, either select + the current frame (in the new target, e.g. core file), or + set both the current and selected frames to NULL. + + Changes from Peter Schauer. + + * infptrace.c: Avoid on USG. + + * Make all file names fit in 14 characters (sigh and damn!): + mv hp300hpux-xdep.c hp300ux-xdep.c + mv symmetry-xdep.c symm-xdep.c + mv symmetry-tdep.c symm-tdep.c + mv convex-opcode.h convx-opcode.h + mv tm-vxworks960.h tm-vx960.h + mv tm-vxworks68.h tm-vx68.h + mv Makefile.srcdir Makefile.sdir + mv gdb-int.texinfo gdbint.texinfo + mv remote-sa.m68k.shar rem-m68k.shar + mv remote-multi.shar rem-multi.shar + * Makefile.dist, README, config.gdb, convex-pinsn.c, + tconfig/symmetry, tconfig/vxworks960, tconfig/vxworks68, + xconfig/hp300hpux, xconfig/symmetry: Change names to shorter + names. + + * command.c (user_info_1, user_info): New command for listing + the user-defined commands. + +Wed Apr 3 15:00:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + * dbxread.c (really_free_pendings): Clear file_symbols + and global_symbols after freeing them; otherwise, running + this function twice (if it appears twice on the cleanup + chain), we try to free things twice. + + * dbxread.c (read_dbx_symtab): Calculate end_of_text_addr + based on text_addr (the address of text in core), not on addr (the + offset between text in the .o file and in core). This change + is from Peter Schauer. + + * main.c: Define ALL_CLEANUPS as a cast of zero. + (return_to_top_level): Use it. + (main): Do all cleanups after each command run as part + of the gdb startup sequence. Also do all cleanups before + entering the command loop, and every time we exit the command + loop and reenter. Before, the cleanups from the startup sequence + were being left undone until the first error! + (command_loop): Rename do_nothing cleanup to command_loop_marker + so we can see it easily when examining the cleanup chain. + (init_signals): Add another do_nothing for signal handling. + (quit_command): Only try to kill target if it has execution. + Problems in the target stack got us into a state where + inferior_pid was nonzero but none of the targets had execution. + In this state you couldn't exit gdb. + + * dbxread.c: Two changes from Peter Schauer. + (echo_command): Fflush output after an echo command. + (show_history): Pass all args to cmd_show_list. + + * utils.c (init_malloc): Call mtrace to turn on tracing + if the environment variable MALLOC_TRACE is set to a file name. + * mtrace.c: Add source file which provides a log of every malloc, + free, and realloc to a trace file. + * mtrace.awk: Add source file which analyzes the trace file. + * Makefile.dist (GNU_MALLOC, MALLOCSRC): Add mtrace.{c,o,awk}. + (VERSION): Roll to 3.94.3. + + * breakpoint.c (breakpoint_1): Add a space to "i watch" output. + (check_duplicates): Don't bother with watchpoints. + (set_raw_breakpoint): Comment about danger of this routine. + (watch_command): Parse and eval all args before calling + set_raw_breakpoint. + + * solib.c (find_solib): Avoid error in referencing memory to + see if any more shared libraries have been added. This is + particularly useful if the target has terminated. Bug reported + by Peter Schauer. + + Changes from Peter Schauer + in bringing up 3.94.2 on the Sun-3. + + * Makefile.dist: Include CFLAGS in rule for cplus-dem.o. + * breakpoint.c (enable_breakpoint): Check for valid watchpoint + expression (in scope) before reenabling watchpoint. + * signame.c (init_sigs): Add missing declaration of i, fix + sys_siglist declaration. + * source.c (list_command): Fixed range computation to use + lines_to_list (). + * stack.c (backtrace_command): Do not allow command if target has + no stack, print informative error message. + * target.c (target_command): Do not write into command line + because this fails if the target command is used in a user defined + command. [This change was enhanced by gnu to support any- + unique-prefix matching on target names.] + * valops.c (value_struct_elt): Avoid infinite loop on an + erroneous attempt to print the member of function (try p main.p). + +Mon Apr 1 17:05:45 1991 John Gilmore (gnu at cygint.cygnus.com) + + * expread.y (name_no_typename): Avoid reduce/reduce errors + caused by ambiguity in handling NAME_OR_INT and NAME_OR_UINT. + Since the GDB parser really doesn't use name_no_typename in a + name-only context, the parser can't tell the diff between + names and numbers here. Avoid allowing a name_no_typename + to be a NAME_OR_*INT to resolve the conflict. + +Sun Mar 31 20:12:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + Bugfixes from Mark Fox (markf@wrs.com) (test=testField.c): + + * valprint.c (val_print_fields): bitfield printing didn't handle + byte order. Indirect through a few more fns to cope. + + * values.c (modify_field): also cope with byte order. + +Sat Mar 23 10:02:21 1991 John Gilmore (gnu at cygint.cygnus.com) + + Cleanup for release 3.94.2: + + * Makefile.dist: Pull REMOTE_OBS. Fix saber includes for BFD + include files. Roll version to 3.94.2. + + * coffread.c (init_stringtab): Read length into unsigned char + array before swapping; don't assume 32-bit longs. + + * target.c (target_info): Don't bother with get_sym_file, just use + the symfile global variable. + * symtab.h, symfile.c (get_sym_file): Delete it. + + * dbxread.c (dbx_symfile_init): Don't depend on long == 4 bytes. + (define_symbol): Set symbol line number to 0 if not gcc-compiled. + (read_type): Replace one more error() with complain(). + + * mipsread.c (parse_partial_symbols): Replace printf with complain. + + * i960-tdep.c: Fix copyright attribution. + + * config.gdb: Quote all backquotes in doublequotes. You can + quote me on that. BSD 4.4 shell found this one. + + * infptrace.c (throughout): The third argument to ptrace is an + int *, not an int. + + * infrun.c (wait_for_inferior): When program has terminated, we + have to call target_terminal_ours before we pop that target off + the stack (e.g. before a call to target_kill or + target_mourn_inferior). This fixes problem where a program + terminates, then GDB stops for (tty output) and you have to type + "fg" to the shell to resume it. FIXME: This code for what to + do after termination really should be in normal_stop instead. + + * gdbcore.h (read_memory_check): Change declaration; it changed + names months ago. + + * terminal.h: Include before , since in BSD + 4.4 prereleases, this avoids a bug in their sgtty compatability + support. + * remote.c: Use terminal.h rather than hand-rolling the same. + + * signame.c, signame.h (psignal): Arg is unsigned, not int. + * utils.c (strsave, strstr): Fix arg types. + * valprint.c (val_print): lint + + MIPS symbol table support from Per Bothner: + + * symfile.c (symtab_fns): Remove initializer table that needs to + be hacked for each new symbol file format supported. + (add_symtab_fns): New function, chains symbol table + handlers into the global list. + (symfile_init): Search this list. + * symfile.h: Add next pointer, declare add_symtab_fns. + * coffread.c (_initialize_coffread): Call add_symtab_fns. + * dbxread.c (_initialize_dbxread): Call add_symtab_fns. + + * mipsread.c (psymtab_to_symtab_1): return void instead of (struct + symbol *). Thus, we no longer need the hack to trash + pst->filename. Good, since that hack confused code in symfile.c! + + (reorder_symtabs, destroy_all_symtabs): Removed static + all_symtabs, which was used to qsort symtabs in reorder_symtabs. + Instead, the latter now uses a temporary array (stack-allocated + from an obstack, and then freed). + + (parse_symbol): Added a hack to fix up BLOCK_{START,END} if they + haven't been set in the outermost stBlock of a procedure. This was + a problem with f77 binaries on Ultrix 4.?. + + (new_symtab, new_symbol, new_type): Continue changing code to use + obstacks more and otherwise conform to dbxread internal style. + Made the free_code of symtabs be free_linetable (as in dbxread) + instead of free_contents. This implies memory leaks when reading + a new symbol table, until the conversion is finished. Did change + (struct symbol) and (struct type) to be allocated on the + symbol_obstack. Blocks and blockvectors are among the things + still "leaking." + + * mipsread.c (parse_partial_symbols, parse_fdr): It hasn't been + tested much, but it solved one problem (reported by Meissner), and + cleans up some other things. The problem happened when an + included file contains actual code (functions) and not just + definitions. The mips coff is a little inconvenient there, since + it may cause a procedure to be mapped to the wrong psymtab. + + * mips-tdep.c (heuristic_proc_desc): Minor cleanup. + * mips-xdep.c (fetch_core_registers): Minor cleanup. FIXME, + this will need work for the new core paradigm. + + Opcode patches from the net: + + * mips-opcode.h: fix incorrect disassembly of the mfc1, cfc1, and + ctc1 instructions. Also, the cvt.d.w and cvt.s.w instructions were + missing altogether - they are added here. From Bruce Bauman. + * mips-opcode.h: The low mask for C0 instructions was too small. + From Garrett Lau. I modified the fix to check the entire 32-bit + opcode. + + * ns32k-opcode.h: Fix opcodes for deiw and deid. From Bruce + Bauman. + +Thu Mar 21 12:56:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from Per Bothner (Tue, 25 Sep 90 11:11:04): + + * dbxread.c (read_type): Pointer subtraction (value_sub in + valarith.c) sometimes failed because the types of the + pointers being subtracted were not identical. + These differed because dbxread.c was allocating pointer types + using dbx_alloc_type+smash_to_pointer_type instead of + lookup_pointer_type. I failed to find a justification for the + former, so I changed it to use the latter. Similarly, I + replaced smash_to_function_type by lookup_function_type, + and smash_to_reference_type by lookup_reference_type. + + * mipsread.c (parse_symbol, upgrade_type, parse_procedure, + _initialize_mipsread): corresponding changes. + + * symtab.c (smash_to_{pointer,reference,function}_type): eliminate. + + * source.c (mod_path): Do tilde_expand on each component of the path, + rather than on the (list of) paths as a whole. + (print_source_lines): Set first_line_listed in addition to + current_source_symtab and current_source_line. If the source was + not findable, after a "dir" command to fix the problem, + a "list" would get the wrong lines. + + While I was there... (gnu): + + * dbxread.c (read_type): Change error to complaint. + +Thu Mar 21 12:56:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + First attempt at detailed understanding of symbol table memory alloc. + + * dbxread.c (dbx_symfile_read): Free our string table if we + aren't the mainline. Free the "info" struct since we're done with + it. + (init_psymbol_list): Free any previously allocated psymbol lists. + (): FIXME: Should realloc-down the psymbol lists when done reading + the main symbol file? + + * symmisc.c (free_symtab): Free fullname field too. + + * xm-hp300hpux.h (USG): #undef then #define so Makefile can -D. + (REGISTER_ADDR): Make result type unsigned int. + + * xconfig/{i386*,hp300hpux,altosgas,altos}: All config files that + define REGEX must also define REGEX1 (its dependency). + +Tue Mar 19 21:28:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tconfig/i960: No longer works, points you at vxworks960 or + nindy960. + + * xgdb.c, XGDB-README: Remove file. Users can get the much + better xxgdb. + * Makefile.dist: Remove all trace of xgdb. + + * breakpoint.c (breakpoint_1): Pass demangle arg to + print_address_symbolic. + (clear_breakpoints): Remove unused function. + (breakpoint_re_set_one): Guts of breakpoint_re_set. + (breakpoint_re_set): Use catch_errors to do them all anyway. + + * gdb-int.texinfo (Host versus Target): Add section on what is + a "host" feature versus what is a "target" feature. + + * infcmd.c (path_command, path_info): Handle the PATH variable + (object search path) as conveniently as the source search path. + * environ.c (set_in_environ): Set some vars in GDB's environment, + in addition to the child's. PATH, G960BASE, G960BIN for starters. + * source.c (mod_path): New function, from guts of + directory_command, modifies a path. Used by path_command. + (directory_command): Call it. + * defs.h (strsave): Declare. + + * utils.c (sevenbit_strings): Add new printing option. + (printchar): Use it. + (strsave): Provide this handy helper routine. + (set_width_command): Rename set_screen_width_command. + (_initialize_utils): "set screen-width" => "set width"; + "set screen-height" => "set height"; add sevenbit-strings. + + * infcmd.c (do_registers_info): Print floating point registers + in raw hex as well as float format, regardless of whether it is + a "virtual" convertible register. + * tm-sparc.h (PRINT_REGISTER_HOOK): Print every pair of float + regs as a double, just in case it's being used that way. + * values.c (unpack_long): Comment on array/function coercion. + (unpack_double): Argument is in target byte order now. For + integer arguments, just call unpack_long and float the result. + * m68k-tdep.c: include defs.h for "const" handling. + * remote-nindy.c: Use ieee-float stuff. + (nindy_fetch_registers): Unpack double regs to host double, then + to extended. + (nindy_store_registers): Pack extendeds to host double, flip + around by misusing unpack_double, send as target double. + + * tm-vxworks68.h (FRAME_CHAIN): Handle current frame pointer of + zero, as when stopped at the first instruction of a process. + + * blockframe.c: Fix filename in comment (param.h => tm.h). + * sparc-tdep.c (skip_prologue): More explicit nudging comments. + * tm-68k.h: Fix typos. + +Fri Mar 15 01:09:34 1991 John Gilmore (gnu at cygint.cygnus.com) + + Changes from a bringup on the DEC Vax under Ultrix 4.0. + + * coredep.c (fetch_core_registers): Pass end-address of register + section to register_addr as expected. Don't call supply_register + if we'd just pass it garbage. + + * dbxread.c (read_dbx_symtab): Skip N_NSYMS on Ultrix. + + * exec.c (xfer_memory): Use boolean xfer_fn result, not int. + + * target.c (push_target, target_info): Cast enums to int for < or + > comparison. + + * stack.c (print_frame_info): Identify source file & line + even if we can't print it. + + * xm-vax.h (MISSING_VPRINTF): No longer missing in Ultrix V4.0. + +Sat Mar 9 10:08:20 1991 John Gilmore (gnu at cygint.cygnus.com) + + Clean up IEEE floating point support. + + * ieee-float.h: New file. + * ieee-float.c: Write real routines to convert between host + doubles and various target IEEE extendeds. + * m68k-xdep.c: Eliminate assembler code for extended floats. + * xconfig/{3b1,altos,altosgas,hp300bsd,isi,news,news1000,sun2os3, + sun2os4,sun3,sun3os3,sun3os4}: Eliminate use of m68k-xdep.o. + * tm-i960.h, tm-68k.h (REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Use ieee_extended_to_double and + double_to_ieee_extended. + * i960-tdep.c: Define ext_format_i960. + * m68k-tdep.c: Define ext_format_68881. + * sparc-tdep.c: Define ext_format_sparc, though unused. + * Makefile.dist (HFILES): Add ieee-float.h. + * inftarg.c: #include "ieee-float.h" for the REGISTER_CONVERT + macros. + + Obsolete the "coffstrip" program in favor of using BFD's strip. + + * nindy-share/coffstrip.c: Remove file. + * nindy-share/nindy.c (coffstrip): Routine to run bfd_strip. + * Makefile.dist: Remove references to nindy-share/coffstrip.c. + * tconfig/nindy960: Remove reference to coffstrip.o. + + * Makefile.dist: Roll version number to 3.94.1 (not yet final). + +Wed Mar 6 09:56:45 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symfile.h: Add symfile_bfd, common between dbxread and coffread. + * dbxread.c: Remove static symfile_bfd. + * infcmd.c (do_registers_info): Add PRINT_REGISTER_HOOK, though + it is not used yet. + * inftarg.c (child_detach): Pop the child_ops vector if the + detach is successful. + * remote-nindy.c (nindy_create_inferior): Don't push a new + nindy_ops since nindy uses the same one for execution and memory + examination anyway. + * core.c (core_ops): Use child_attach and child_create_inferior + rather than default attach and create_inferior functions. + + Handle floating point registers in core files. + + * sparc-xdep.c (fetch_core_registers): Rewrite for float support. + * sun3-xdep.c (fetch_core_registers): Rewrite for float support. + This version untested since BFD doesn't yet support sun3 core + files. + * hp300hpux-xdep.c: Rewrite fetch_core_registers to new calling + conventions. Fix comments and style. This version has not + been compiled yet, since we have no HP inhouse. + * core.c (get_core_registers): Look for two sections, ".reg" + and ".reg2", and pass both to fetch_core_registers sequentially. + + Revise directory path yet again. + + * source.c (forget_cached_source_info): Not static any more. + (init_source_path): New default source path is "$cdir:$cwd". + (dir_command): Handle variable arguments ($cdir, $cwd). + (source_info): Print "Compilation directory" rather than + "Originally compiled in" to remind people of $cdir. + (openp): If the path contains $cwd, use current directory. + (open_source_file): If compilation directory is known, replace + first $cdir in path with the compilation directory. + (print_source_lines): Even if we can't print the lines, set the + current symtab and line for future commands like "info source" or + "breakpoint". Also, error message now contains the file name, + line number, and file access error message. + (_initialize_source): Fix help text to describe changes. + * main.c (cd_command): Forget cached source info when we chdir. + * utils.c (strstr): Add simple implementation. + +Tue Mar 5 01:41:40 1991 John Gilmore (gnu at fowanton.cygnus.com) + + * coffread.c (read_one_sym, init_linetable, init_stringtab): + Byte-swap COFF symbol tables if necessary when reading them in. + Use complain() to replace error message in one spot. Needs + corresponding change in bfd/coff-code.h to make some symbol + swapping routines non-static. + +Mon Mar 4 00:53:40 1991 John Gilmore (gnu at cygint.cygnus.com) + + Merge changes from Eirik Fuller, for UTek. + + * defs.h (errno): Add declaration. + * altos-xdep.c, arm-xdep.c, convex-xdep.c, gould-xdep.c, + hp300hpux-xdep.c, infrun.c, inflow.c, infptrace.c, i386-tdep.c, + i386-xdep.c, pyr-xdep.c, mips-xdep.c, remote-eb.c, remote-nindy.c, + remote-vx.c, source.c, standalone.c, stuff.c, sun386-xdep.c, + symmetry-tdep.c, symmetry-xdep.c, umax-xdep.c, utils.c: Eliminate + declarations of errno. + + * remote-eb.c: Define B19200 and B38400 as EXTA and EXTB. + + * remote-vx.c: Include for UTek; Sun gets it via + and . + +Sat Mar 2 15:47:55 1991 John Gilmore (gnu at cygint.cygnus.com) + + * i960-tdep.c (examine_prologue): Add new argument limit, + which stops the scan at the end of the prologue, or at the PC. + This fixes a problem where it walks down into the code for the + user's statements if that code looks like function prologues. + Mark Fox and I have been bouncing this code back and forth, making + small changes to it. Callers changed to match. + +Tue Feb 26 01:47:07 1991 Cygnus John Gilmore (cygnus at yuba) + + Cleanup for gdb-3.94 release final: + + * Makefile.dist: Remove remote-vx.c, remote-nindy.c, and all + the .c files from vx-share and nindy-share, from the various + macros, since they are not found via ALLDEPFILES. + (SFILES): Add tm-i960.h. + (alldeps.mak rule): Break out ALLDEPFILES_MAINDIR and + ALLDEPFILES_SUBDIR. List all the nindy and vxworks subdir files + in the SUBDIR list. + (TAGFILES_MAINDIR): Change ALLDEPFILES to ALLDEPFILES_MAINDIR. + (gdb.tar.Z): Use ALLDEPFILES_SUBDIR as well as SFILES_SUBDIR. + +Mon Feb 25 16:02:35 1991 Cygnus John Gilmore (cygnus at oldman) + + * am29k-tdep.c: Add contribution line. + (examine_prologue): Cache information about function prologues in + the misc-function-vector to avoid lots of references over the + serial line while examining instructions. + + * core.c (core_close): New function made from cleanup_core. + + * core.c, exec.c, inftarg.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, target.c, target.h, + Update target_ops vector to add attach, close, and load entries. + Use add_syms_addr_command, not add_file_addr_command, for + add_file. Break out close routine from existing code. + + * dbxread.c (really_free_pendings): Don't free pending_blocks; + they are in an obstack. + (read_dbx_symtab): Relocate end_of_text_addr in the psymtab. + Lint. + (define_symbol): Add symbol type parameter; change callers; + pass type parameter to DBX_PARM_SYMBOL_CLASS macro to allow + it to influence the symbol class on the i960. + (define_symbol): Swap LOC_CONST's into target byte order. + + * exec.c (exec_close): New function. + (exec_file_command): Call it. + + * findvar.c (read_relative_register_raw_bytes): Doc byte order, + Fix byte order of frame pointer. + (read_var_value): Result of 0 if var's value can't be found, + e.g. missing FRAME_ARGS_ADDRESS. Byte-swap LOC_CONST and + LOC_LABEL values to target order. Add LOC_LOCAL_ARG. + (locate_var_value): Use read_var_value and use its lazy address + as the location of the var's value. Lint. + + * i960-pinsn.c (next_insn): Add routine from vxgdb for scanning + instructions. + + * i960-tdep.c (arg_address, i960_frame_find_saved_regs): Remove + obsolete Intel versions in favor of vxgdb versions. + (check_host, byteswap, byteswap_val, reorder_val): Eliminate + code dealing with byte order of values, which Intel did in host byte + order rather than gdb-4's target byte order. + (i960_frame_chain_valid): Move to nindy-tdep.c. + (examine_prologue, skip_prologue, frame_find_saved_regs, + frame_args_address, leafproc_return, saved_pc_after_call, + pop_frame): Add vxgdb versions from Mark Fox. + (examine_prologue, frame_struct_result_address): Add code + to deal with the saved value of G13 (struct return address + pointer). + (frame_args_address): Modify Mark's version to prefer the + saved value over the current value in the topmost frame. + Cache result in the frame info to avoid performance hair in + callers. + (print_fault): Add gdb960 code for printing faults. + (_initialize_i960): Actually call check_host. + + * ieee-float.c (ieee_extended_to_double, ieee_double_to_extended): + add stub routines. FIXME, these currently just return zero! + + * infcmd.c (program_info): Use PRINT_RANDOM_SIGNAL. + (attach_command): Call target_attach, not target_open, now. + + * infrun.c (normal_stop): Make global, not static, for vx_attach. + (child_attach): Rename from child_open. + (wait_for_inferior): Use PRINT_RANDOM_SIGNAL. If stop_pc is zero, + don't confuse it with a zero step_resume_break_address. + + * inftarg.c (child_detach): Eliminate inferior_pid test. + (child_files_info): Clean up message a bit. + (child_ops): Use child_attach, not child_open, to attach. + + * mem-break.c: #ifdef out the whole file if BREAKPOINT is not + set (e.g. on VxWorks or NINDY). Move read_memory_nobpt from + findvar.c to here, since it depends on the contents of the + shadow_contents of breakpoints, but keep if #if 0 since it is + never called. + + * nindy-tdep.c: New file, contains nindy_frame_chain_valid, moved + from i960-tdep.c. + + * printcmd.c (address_info): Handle LOC_LOCAL_ARG. Lint. + (ptype_command, display_command): Eliminate have_inferior_p and + have_core_file_p in favor of target_has_stack or + target_has_execution. + (print_frame_args): Handle LOC_LOCAL_ARG. Eliminate duplicate + code for actually finding the values of arguments, though we still + keep track of the maximum stack offset for use in printing unnamed + arguments. Handle missing FRAME_ARGS_ADDRESS. + + * remote-nindy.c (i960_print_fault): Move to i960-tdep.c. + (struct nindy_regs): Define registers passed to/from nindy. + (nindy_fetch_registers, nindy_store-registers): Translate between + nindy and GDB formats for the registers. + (dcache_init): Statically allocate the cache, since it was being + allocated by a malloc that was never freed anyway. + (nindy_create_inferior): Error, not core dump, if no exec file. + (nindy_before_main_loop): Use target_load, not target_add_file. + + * remote-vx.c (net_load): Specify large timeout for load + requests. Allow user to break out with INTERRUPT. + (net_break): Remove useless code, clean up. Change callers. + (parse-args, skip_white_space, find_white_space): Clean up arg + parsing to cope with quoted strings. + (net_wait, net_quit): Never call error, just return status. + (vx_read_register, vx_write_register): Cleanup status checking. + #ifdef the code based on which CPU we are using (960 or 68k), + FIXME, this should be completely general but it isn't yet. + (vx_xfer_memory, vx_resume): Cleanup status checking. + (vx_run_files_info): Improve message. + (vx_load_command): Renamed from vx_add_file_command. Allow load + to be interrupted. + (net_ptrace): Remove unused routine. + (vx_wait): Adopt code from vxgdb960 to cope with broken + connections to target machine and prompt to disconnect. Remove + debug printouts. Map some EVENT_'s to SIGnals. + (add_symbol_stub, vx_open): Print names of object files we found, + and "ok" if we read their symbols OK. Clarify output in general. + (vx_attach, vx_detach, vx_kill): Add these commands. + (vx_convert_from_virtual, vx_convert_to_virtual): Simplify. + (vx_run_ops): Turn off all_mem, to avoid spurious msg in the + "info files" output, and create_inferior, since we already have + an inferior. + + * stack.c (frame_info): Replace Frame_unknown with 0. + (print_frame_arg_vars): Handle LOC_LOCAL_ARG. + (return_command): Pop until the PC matches as well as the FP, + so it works even if the FP is shared with another function, + as in "frameless" or "leaf" procedures. + + * symfile.c (load_command): renamed from add_file_target_command. + (add_syms_addr_command): renamed from add_file_addr_command. + (add_syms_command): Stub to call target_add_syms. + (_initialize_symfile): Change command names and descriptions, + add-file => add-syms, and load from alias to its own command. + + * target.c (kill_or_be_killed, maybe_kill_then_attach, + maybe_kill_then_create_inferior): Default for attempts to start + a process, if one is already running, is to ask about killing + it and retry if yes. + (upstack_create_inferior): #if-0 it, strata obsolete it. + (push_target, unpush_target, pop_target): to_close() a target + before unstacking it. + (target_info): Renamed from target_files_info. + (_initialize_targets): Rename "i files" as "i target", accessible + under both names. + + * target.h: Improve comments about the target_ vectored routines. + + * tm-i960.h: Remove NINDY-specific stuff to tm-nindy960.h. + Convert commenting style to standard GNU style. + (DBX_PARM_SYMBOL_CLASS): allow LOC_LOCAL_ARG's to be recognized. + (SKIP_PROLOGUE): No longer a no-op. + (SAVED_PC_AFTER_CALL): Now handles leaf procedures. + (*_REGNUM): Sort register numbers. + (REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE, + MAX_REGISTER_RAW_SIZE, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Float regs + are now 10 byte extendeds, not 8 byte doubles. + (FRAME_CHAIN_VALID): Make this config-dependent, since it differs + for nindy versus vxworks targets. FIXME, this should possibly go + in the target vector. + (EXTRA_FRAME_INFO, INIT_EXTRA_FRAME_INFO): Cache both + frame_saved_regs and arg pointer with each frame. + (FRAMELESS_FUNCTION_INVOCATION): New leafproc support. + (FRAME_ARGS_ADDRESS): Use cached result. + (FRAME_ARGS_ADDRESS_CORRECT): New, avoids g14 guessing. + (FRAME_FIND_SAVED_REGS): Change arg to subsidiary fn. + (PRINT_RAMDON_SIGNAL): Call print_fault. + (POP_FRAME): Now works. + + * tm-nindy960.h: Break this off tm-i960.h. NINDY-specific + option parsing and startup; STACK_END_ADDR, FRAME_CHAIN_VALID, + BREAKPOINT, and DECR_PC_AFTER_BREAK are here. + (ADDITIONAL_OPTION_HANDLER): use target_load, not + target_add_file. + + * tm-vxworks960.h: Break this off tm-i960.h. VxGDB specific + startup; DECR_PC_AFTER_BREAK, and FRAME_CHAIN_VALID are here. + + * valarith.c (value_subscripted_rvalue): Avoid handling + floats and doubles specially; it gave alignment errors. Lint. + + * valops.c (value_of_variable, value_of_this): Error if unknown + value. + + * valprint.c (print_floating): Bcopy rather than pointer-deref, + to avoid alignment problems. + (value_print): Handle unknown value address. + (cplus_val_print): Two args are ignored; remove them. Change caller. + (val_print): Use unpack_long rather than pointer-deref. + + * values.c: Lint. + (unpack_long, unpack_double): Use bcopy rather than pointer-deref + to avoid alignment problems. + (value_being_returned): Error if return value unknown. + (set_return_value): Add bogosity warning, FIXME. * + + * TODO: A woman's work is never done. + + * Makefile.dist: Distribute REMOTE_OBS into tconfig files. + Separate INCLUDE_CFLAGS for use with lint. Add LINTFILES. + Add ieee-float.o to OBS. + * tconfig/{nindy960,vxworks68,vxworks960}: Include the desired + REMOTE_OBS remote-interface files in the TDEPFILES and TM_FILE. + * tconfig/i960: FIXME. Half-merge, produce warning if config'd. + + Changes to generalize the VxWorks RPC protocol slightly, to handle + i960 as well as 68000. + + * vx-share/dbgRpcLib.h (VX_SOURCE_STEP): Add. + * vx-share/reg.h: Produce i960 regs #ifdef I80960 + * vx-share/xdr_ptrace.c: Skip FPA registers if 960. + * vx-share/xdr_rdb.h: Add SOURCE_STEP struct and xdr decl. + * vx-share/xdr_rdb.c: Add xdr_SOURCE_STEP routine. + * vx-share/xdr_regs.c: Add xdr_regs, xdr_fp_status, xdr_ext_fp + for i960. Change xdr_vectors to xdr_opaques for 68k registers, + so they will move in target byte order rather than network + byte order (happens to be the same). + +Mon Feb 25 03:41:44 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tm-convex.h (END_OF_TEXT_DEFAULT): Remove #if 0'd block. + +Sun Feb 24 00:55:53 1991 John Gilmore (gnu at cygint.cygnus.com) + + * am29k-pinsn.c, + Add contribution lines to various files, showing where they + came from. + + * breakpoint.c (break_insn, check_break_insn_size, + read_memory_nobpt): Remove to mem-break.c. + + * xm-*.h, param-no-tm.h, tm-29k.h, valprint.c: Change BYTE_ORDER to + HOST_BYTE_ORDER. + + * tm-29k.h (STAB_REG_TO_REGNUM): Warn user if symbol table + entry has bad register number. This change is not + tested in this release, FIXME. + + * frame.h: Eliminate Frame_unknown in favor of a simple zero. + tm-vax.h: Ditto. + + * value.h: Force value's contents field to be aligned to hold + at least a double or a long long (if supported). This avoids + doing bcopy's in and out of the contents field. + + (step_1): Avoid coredump under obscure circumstances when we + have no frame. + + * symtab.h (misc_info): Add field to misc function vector for + any kind of cached information the target code desires. AMD + 29000 uses this to avoid repeating examine_function_prologue's. + + * coffread.c: Lint. Remove static symfile, read_section_header. + core.c (have_core_file_p): Lint: remove. + expprint.c (print_subexp): Lint. + infptrace.c, valops.c, valprint.c: lint. + + Roll in changes from vxgdb-5.0.1: + + * symtab.h: Comment byte order of each address class. Add + LOC_LOCAL_ARG for frame-relative args (960). + expread.y: Use LOC_LOCAL_ARG where LOC_ARG is used. + symtab.c, symmisc.c: ditto. + + * infrun.c (init_wait_for_inferior): Clear stop_signal. + + * remote.c (remote_resume): Error if resume with a signal. + + * symfile.c (prim_record_misc_function): Clear misc_info. + (fill_in_vptr_fieldno): Check stub type of arg. + + * valops.c (value_cast): Avoid looking up names of types whose + name we don't know, to prevent coredump. Sun CC produces typedef + rtx and the name of *rtx is zero... + +Mon Feb 18 21:16:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from final AMD 29000 port (Tiemann). + + tconfig/am29k: Add COFF_ENCAPSULATE and TARGET=TARGET_AM29K + for ../include/a.out.encap.h. This might not work now that BFD + is separately compiled. Instead, BFD support for encap will have + to translate machine type 29k into the right COFF_MAGIC. + + * infcmd.c: Remove references to inferior_pid that aren't used + in actual ptrace calls; use target_has_execution, etc. + (have_inferior_p): Remove function. + (program_info): Print target info rather than "process number"; + avoid gratuitous messages unless from_tty. + (run_stack_dummy, finish_command): Set proceed_to_finish. + infrun.c: Remove inferior_pid refs. Decl & init proceed_to_finish. + main.c: Lint. Lose have_inferior_p(). + inferior.h (have_inferior_p): Remove, lint. + (proceed_to_finish): Add flag to ask that all regs be saved + by normal_stop, for the few commands that need it, speeding up + serial I/O. Add comments to stop_registers. + + * remote-eb.c: Remove newline from breakpoint message we grep + for. Never time out when running the user program. + + + +Wed Feb 13 15:34:40 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from vxgdb-5.0.1: + + * dbxread.c (read_dbx_symtab): If we encounter a "FORTRAN COMMON" + symbol in its raw form, we are processing an unlinked ".o" file. + See if the target environment has assigned it an address, using + target_lookup_symbol (VxWorks does), and enter it into the symtab + that way. + + * tm-vxworks.h (FRAME_CHAIN, FRAME_CHAIN_VALID): Override usual + 68k versions for a simpler version that assumes zero FP at bottom. + Fixes bug of truncated stack reports. + + * target.h (target_lookup_symbol): Define this routine's args + and result, finally. + + * target.c (nosymbol): Default routine for target_lookup_symbol. + (target_default): Default lookup_symbol and call_function too. + (files_info): Only print has_all_memory warning if a non-dummy + target follows. + + * remote-vx.c (vx_read_register, vx_convert_to_virtual, + vx_convert_from_virtual): If target does not have floating point, + zero register "values", and avoid doing cross-net conversions. + (vx_lookup_symbol): Rename net_lookup_symbol, add to vectors. + (vx_open): Rearrange code that attaches to target and reads + symbols for all loaded modules, to work if some of the modules + are not accessible. Add symbol_stub() and add_symbol_stub() + as callbacks from catch_errors(). Allow connect attempt to be + interrupted painlessly with ^C (FIXME, there are still some bugs + if the interrupt happens during symbol reading.). Print + final message with puts_filtered, since symbol messages are + now filtered too. + + Misc cleanup: + + * main.c (catch_errors): Only print errstring if non-null. + (command_loop): Avoid an ioctl per command to test ISATTY. + + * remote-vx.c (net_load): make static; avoid sophomoric msg. + (vx_xfer_memory): Return correct result! + (vx_files_info): Indicate whether target has float or not. + (vx_lookup_symbol): Complain, not error, if target gone. + (vx_open): Print "Connected" msg before disabling immediate-quit. + [FIXME: lookup_symbol and vx_open changes need testing.] + + target.c, remote-eb.c, inftarg.c, am29k-opcode.h, target.h, + tm-29k.h, tmm-vxworks68.h, symfile.c, gdb-int.texinfo: Add + contributor lines and update copyrights to 1991. + + Changes from an attempted H-PUX host port: + + * infptrace.c (PT_ATTACH, PT_DETACH): Handle HP/UX, which + defines PT_ATTACH and PT_DETACH but not PT_KILL. + * remote-eb.c (eb_open): Misplaced endif kills sysv H/PUX. + * remote-vx.c: include for HPUX. + * hp300hpux-xdep.c (fetch_core_registers): Rewrite old + "core_file_command" routine to BFD regime. May not work yet. + + Attempted port of "gdb-3.4 Van Jacobson xgdb" to modern gdb. + + * xgdb.c: Replace X10 version with some VJ version. + (FIXME: Its copyright assignment is not on record.) + * xgdb.c: Update include files to X11R4 (Xaw crud). + (xgdb_display_source, create_text_widget): fix call to + get_filename_and_charpos. Rewack source window stuff for X11R4 + (gleaned from include files, and "nm's" of binary libraries, since + I had no doc available). + (append_selection, append_selection_word): Disable with FIXME + since R4 changed interface here. + (create_buttons): Add back the old set of buttons. + (xgdb_create_window): Fix call to XtInitialize (&argc not argc). + + * Makefile.dist (xgdb, xgdb-init.c): Update for X11R4 on Suns. + Roll VERSION to 3.94 (not yet final though). + +Sat Feb 9 09:46:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + * obstack.h (obstack_ptr_grow, obstack_ptr_grow_fast, + obstack_int_grow, obstack_int_grow_fast): Eliminate + cast on left of assignment, which gives MIPS cc fits and is + not Standard C. + + * sparc-pinsn.c (print_insn): Eliminate 'set' test, subsumed by + F_ALIAS. Use printf, not fprintf, when not passing a file + pointer... + (compare_opcodes): Check that identical instructions have + identical opcodes, complain otherwise. + + * sparc-opcode.h (st %fsr): Fix opcode "lose" mask. This + was reported by Roland McGrath. + (unimp): Only match if exactly zero instruction. (Roland) + (branches and traps): Generate all variations of these + instructions with macros, based on a single call that defines + each condition name and its binary representation. + (set): Turn on alias bit, to avoid test in sparc-pinsn.c. + + * valprint.c (val_print_fields): Take, and use, format parameter. + This means that "p/x struct" again prints the elements in the + desired format. Changed callers. + + * stack.c (frame_info): Use filtered output, and indicate wrap + points. Remove kludgy formatting designed to avoid line wrap. + + * utils.c (wrap_here): If the line is already full (because + we had printed a long indent or long wrapped string), do an + immediate newline-and-indent. + + * m68k-pinsn.c (print_insn_arg): Bugfix from + ntmtv!thompson@ames.arc.nasa.gov (Mike Thompson): 'bkpt #0' + instruction is incorrectly disassembled as bkpt #8. + + * dbxread.c (end_psymtab): Bugfix from Peter Schauer + : If you want to set a + breakpoint in a *.y file gdb will say Reading in symbols for *.y... + and then will dump core (sometimes). I traced it back to an + uninitialized symfile_name in psymtab_to_symtab. + (const_vol_complaint): Add quotes to message. + (define_symbol): Only believe line number if gcc_compiled. + Avoid allocating symbol if we will not return it. + + Add target strata support so that newly established targets go + into their right place in the target stack (e.g. a new exec file + doesn't wipe out the ability to access the running process). + + * target.h, core.c, exec.c, inftarg.c, remote-eb.c, + remote-nindy.c, remote-vx.c, remote.c, target.c: Add to_stratum + and initialize it properly in all the targets. + + * target.h: Document strata. Change return type of push_target. + + * target.c (nomemory): new function for dummy memory access. + (tcomplain): Rename complain, now also used in symfile.c. + (push_target): Push targets within strata. New return value shows + whether new target is on top of stack or not. Always keep dummy + target on stack. + (target_files_info): Ignore dummy target. + + * core.c (core_open): Warn user, and skip accessing file, if the + core target is not the topmost target in the stack. + * remote-nindy.c (nindy_create_inferior): Avoid unpush_target, now + already handled. + + * remote-vx.c: Remove vx_prepare_to_store from vxworks memory + target_ops, it doesn't belong there since we have no regs there. + Change name of target from machine => memory to clarify. + +Thu Feb 7 16:32:09 1991 John Gilmore (gnu at spiff.cygnus.com) + + * Freeze version 3.93 for release. + + * Makefile.dist: Handle vx-share and nindy-share subdirs + properly when building gdb.tar.Z. + + * symtab.c: lint; add no_symtab_msg to consolidate the messages + printed in various places, so I could change just one copy. + + * dbxread.c, coffread.c: Change references to bfd->iostream + to cast to FILE *, now that BFD avoids needing types defined + in other header files. + +Tue Feb 5 21:39:35 1991 John Gilmore (gnu at cygint.cygnus.com) + + * command.c, dbxread.c, expprint.c, infcmd.c, infptrace.c, + infrun.c, printcmd.c, remote-nindy.c, source.c, sparc-tdep.c, + sparc-xdep.c, symfile.h, symmisc.c, utils.c, valprint.c: Lint + (actually gcc -Wall). + + * dbxread.c: Remove first_global_sym, last_global_sym, since + they are never referenced. + + * defs.h (baud_rate): Declare. + main.c: Define it, and add the -b option to set it. + + * gdb-int.texinfo: Add text on how to define a new host or target + architecture, prompted by Per Bothner's questions about MIPS + support. + + * gdb.texinfo: Document "complaints". Change doc of -q since + gdb no longer prints the copyright and blurb if you specify a file + name to be debugged (just like Emacs). Add doc for Nindy-specific + command line flags for specifying target serial port and such. + Update copyright to 1991. + + * gdbcore.h: Remove a large mass of now-useless crud, since BFD + has taken over for us the job of ripping up executable files. The + crud caused Per Bothner's port to not compile. + + * infrun.c (normal_stop): Avoid printing "Program exited + normally" if we are in batch mode. This allows a GDB which + executes a program on a target system, to behave like a Unix + command (input from stdin, output to stdout, no extraneous + output). + + * main.c (main): Allow additional machine-dependent command line + options to be specified with the ADDITIONAL_OPTIONS, + ADDITIONAL_OPTION_CASES, ADDITIONAL_OPTION_HELP, and + ADDITIONAL_OPTION_HANDLER macros. Also allow machine-dependent + processing to occur just before the main loop with + BEFORE_MAIN_LOOP_HOOK. + (main): If a "core file" argument is specified, and it is not a + core file, try it as a process ID to attach. + (symbol_completion_function): Attempt to cope with + "show screen-" TAB, not very successfully. This needs more work, + FIXME. + (batch_file): New function, returns whether we are reading + commands from an interactive tty on stdin, or from somewhere else. + Called by normal_stop since it doesn't get from_tty passed down + to it like many commands do. + + * remote-nindy.c: Handle command line options for nindy + connection. + (nindy_before_main_loop): Prompt user for tty name if they + don't specify it before getting to the interactive command loop. + + * tm-i960.c: Add ADDITIONAL_OPTIONS, etc, to handle -O, -brk, + and -r command line options. Also add hook before main loop + to make it easy to specify a tty. + + * TODO: More things to do, one done. + +Mon Feb 4 23:57:39 1991 John Gilmore and Mike Tiemann (at cygint.cygnus.com) + + * dbxread.c: Make complaint() calls pass pointer, not struct. + Add complaints about badly formatted C++ type information + (const/volatile indicator, and parse errors resulting in + error_type). Fix C++ virtual member fn comment. + (read_struct_type): Avoid bumping pointer if we got a parse + error; this prevents our walking beyond the end of a string. + Terminate loop on null char as well as semicolon. + (process_one_symbol): Fix the LBRAC fix so that it uses the + last previous SLINE, FUN, or SO record's PC address. C++ debug + symbols did not have SLINE records in a useful order compared + to the LBRAC records. + (define_symbol): Handle "catch" records. + + * symtab.c (check_stub_type): Added new complain + `stub_noname_complain' and added a consistency check to + keep the debugger from crashing when finishing from an + exception frame. A real fix will be needed later. + +Sat Feb 2 10:43:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * infcmd.c (attach_command): Make global. + + * Makefile.dist (REMOTE_OBS): Make these compile by default, + but make them easy to comment out. Perhaps later they should + be enabled by what CPU you configure for? FIXME. + (VERSION): Roll to 3.93. + (pinsn.o): Remove rule for obsolete file. + (dbxread.o,coffread.o,mipsread.o): Use ${srcdir} explicitly. + + Run down a problem that manifested by printing the wrong function + name in stack traces of read_ofile_symtab. Turned out that the + problem was the SunOS 4.1.1 (and previous) C compiler outputs + the LBRAC symbol with an address in the *data* segment, which + blew our binary search through the blocks. + + * dbxread.c: Use the complain() facility consistently to bitch + about problems in the symbol file we are reading. + (finish_block): Add code to check the nesting of the blocks; + complain and Procrust them to fit if wrong. + (make_blockvector): Check the order of the blocks, complain + [but don't cope] if wrong. + (process_one_symbol): ifndef SUN_FIXED_LBRAC_BUG, check LBRAC + symbols to be sure their PC value is greater than the last SLINE + (line number) symbol we've seen, complaining and adopting the + SLINE PC value if wrong. + + * symfile.h (struct complaint, complaint_root, complain, + clear_complaints): Add. + * symfile.c (complain, complaint_root, clear_complaints): Add + facility to deal with non-fatal complaints and to regularize their + suppression. + (symbol_file_add): Clear complaint counters to allow new complaints. + (initialize_symfile): Add 'set complaints' and 'show complaints'. + + * dbxread.c (dbx_symfile_read): Remember the address and size + of the string table for the main symbol file, so we won't read it + more than once. + (dbx_psymtab_to_symtab): Fix the check for main symbol file, + to avoid reading the string table yet again. Lint. + (throughout): Improve filtered output, including word wrap. + (read_range_type): Improve Bothner's fix to handle other types too. + + * utils.c: Improve line wrap implementation. Handle unlimited + width by making chars_per_line unsigned. + (puts_filtered): New, easy, function. + + * defs.h (puts_filtered): add. + + * mipsread.c (compare_symbols, sort_symtab): Remove these fns, + call the identical sort_symtab_syms() in symfile.c instead. + + * expread.y: Suggest the `file' command rather than `symbol-file'. + + * command.h (enum var_types): Add zinteger for seroable + unsigned integer. + * command.c (do_setshow_command): Handle var_zinteger. Restructure + nested if's into a switch. + + * breakpoint.c (bpstat_print): If bpstat "print" flag is not set, + we did not stop because of a breakpoint (it must have been for + some other reason, like a "stepi"), so don't print anything. + + * symtab.c: Include all the time. Now that BFD + doesn't include , old SunOS's require it for + . + +Sat Feb 2 10:39:15 1991 Per Bothner (bothner@cs.wisc.edu) + + A test port of gdb-3.92.6 to the Sony NEWS. + + * Makefile.dist + Don't normally link in remote- or vx stuff. + Some of it doesn't compile, and it wastes space for 99% of the users. + Remove reference to no-longer-used HAVE_VPRINTF. + Fixed BFD_DEP typo to BFD_DIR. + * dbxread.c + Fix cast in arg to bfd_h_getlong. + Make char *prefix be const. + Fix how certain range types are mapped into builtin unsigned int types. + * infrun.c + Remove 2 #includes. They cause errors (on Sony, at least), + and aren't needed (they wern't in earlier versions). + * printcmd.c + print_address_symbolic should never demangle labels + (since it prints *assembler-level* labels). + + [This was superseded by the change to printcmd below.] + + * utils.c + Add some "volatile" return types to avoid warnings. + If MISSING_VPRINTF add vprintf function and not just macro + (since vprintf is used in printcmd.c). + * valprint.c + Unless __GNUC__, use obstack_grow instead of obstack_ptr_grow. + (The latter isn't grokked by some PCC-based compilers.) + + [This change is in abeyance, we prefer to fix obstack_ptr_grow.] + + Make chunk size of dont_print_obstack 32*4 instead of default 4096. + * nindy-share/coffstrip.c + Added some forward declarations (otherwise, gcc complains + about implicit extern redefined as static). + +Sun Jan 20 02:38:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + Changes inspired by Per Bothner: + * printcmd.c (print_address_symbolic): Take additional parameter + specifying whether to demangle. + (print_address): Pass in asm_demangle to control demangling. + (print_address_demangle): New fn, takes explicit arg to control + demangling. + * utils.c: Add new vars demangle and asm_demangle, and let them + be set and shown. + (fputs_demangled): If !demangle, just print the argument. + (fprint_symbol): If !demangle, just print raw symbol. + * valprint.c (val_print): Call print_address_demangle rather than + print_address, to cause demangling to depend on the global + rather than assembler-level demangling setting. + * WHATS.NEW, gdb.texinfo: Document. + + * main.c (show_command): Show all settings if no arg. + (initialize_main): Make "info set" the same as naked "show". + * command.c (cmd_show_list): Handle prefix commands in the + list, and print the name of the setting as well as its English + description and value. + + Allow gdb functions to specify where a line should wrap if it + exceeds the size of a terminal line. Use it to make the output + prettier. + * utils.c (set_screen_width_command): New fn, mallocs a buffer + of the right size when screen width changes. + (set_screensize_command, screensize_info): Remove #if 0'd fns. + (wrap_here): New fn, indicates a point in the output where we + should wrap the line rather than just letting it overflow at a + random place. + (fputs_filtered): Implement wrapping. + (n_spaces): New fn, returns a pointer to N spaces. + (print_spaces_filtered): Use n_spaces. + * defs.h (n_spaces): Declare. + * stack.c (print_frame_info): Wrap with 4-space indent after + fn name and before filename and line number. + * printcmd.c (print_frame_args): Wrap with 4-space indent + before each argument name is printed. + * valprint.c (value_print): Wrap with no indentation before + each repetition. + (val_print_fields): Wrap with indentation relative to nesting + level before each field name. + (val_print): Wrap with nesting indentation before array elements. + * command.c (do_setshow_command): Avoid extra newlines, + wrap with 4-space indent around values printed, end with period. + * WHATS.NEW, gdb.texinfo, gdb-int.texinfo: Document. + + * breakpoint.c (breakpoint_1): Implement addressprint for + "info breakpoints" display. Change file name and line number + format to " at file:nnn" rather than " (file line nnn)". + * gdb.texinfo: Document. + + +Fri Jan 18 07:21:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + Frozen for gdb-3.92.6 release. + + README, WHATS.NEW: Update for 3.92.6 release. + + tconfig/{altos, i386v, i386v32, m88k, umax}: Eliminate + coffread.o from configs since it is now built by default. + tconfig/{3b1, altosgas, arm, convex, hp300bsd, hp300hpux, + i386v-g, i386v32-g, isi, merlin, news, news1000, np1, pn, + pyramid, symmetry, vax, vxworks68}: Eliminate dbxread.o + from configs since it is now built by default. + + Makefile.dist: Update for release 3.92.6. Handle files that + have been moved to ../include, ../getopt, or ../bfd. Add + saber.suppress and tests directory. Add config.status to + the release (it will say "none"). + + coredep.c: Minor formatting fixes. + + These changes were made in early December but only checked in now: + * nindy-share/Onindy.c, nindy-share/coffstrip.c, + nindy-share/nindy.c: lint + * nindy-share/nindy.c (ninStopWhy): Don't byteswap the + register values coming back from the target; we store values + in target byte order everywhere. + +Wed Jan 16 19:01:37 1991 John Gilmore (gnu at cygint.cygnus.com) + + * am29k-opcode.h, am29k-pinsn.c: Add 29050 opcodes. + + * valprint.c (cplus_val_print, val_print_fields): New functions, + which print C++ objects. They conspire to avoid printing a + virtual base class more than once, following all the twists and + turns of C++ virtual base rules. + (val_print): Call the above rather than do it by hand. + + * symfile.c (symbol_file_add): Only reset symfile_mtime for main + symbol file, not for added files like shared libs. This really + needs to be generalized to a timestamp per file. + + * core.c (cleanup_core): Avoid coredump if no core file. + + * config.gdb: Accept -host or -target in place of +host or + +target. + + * coffread.c (find_linenos): Avoid desupported BFD interface + to line numbers. We still read them manually rather than using + BFD's "generic" features. + + * gdbrc.tex, threecol.tex: Add GDB reference card and its + formatting code. + Makefile.dist: Add refcard to OTHERS list for creating tar files. + + * Makefile.dist: Eliminate use of $< in explicit targets. + + * readline/Makefile: Use $< rather than $*.c, which does not + include the VPATH in GNU Make. + + * tconfig/i960-bout, tconfig/i960-coff: These are identical + copies of tconfig/i960, added for global configuration + compatability. All i960 versions can read both coff and b.out. + + * tm-88k.h: Fix multiline macro that lacked \'s. Remove + COFF_FORMAT and COFF_CHECK_X_ZEROES since these are now handled + automaticaly. + + * TODO: Think of more things to do. + +Wed Jan 2 19:09:29 1991 John Gilmore (gnu at spiff.cygnus.com) + + tconfig/{am29k,i960,sun2*,sun3*,sun4*}: Eliminate config + of sdb versus dbx debug symbols. Add kludge for 68881 80-bit to + 64-bit float conversion. + + tconfig/sun4, tconfig/sun3, xconfig/sun4, xconfig/sun3: Make + equivalent to sun?os4 so global config works. + +Wed Jan 2 18:20:51 1991 John Gilmore (gnu at spiff.cygnus.com) + + Fix from Eberhard Mattes + + * main.c: Only declare linesize once; declare pagesize not at + all, since it is never used. + (main): Clear newly allocated line before it is used. + +For older changes see ChangeLog-1990 + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1992 b/contrib/gdb/gdb/ChangeLog-1992 new file mode 100644 index 0000000..8e89824 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1992 @@ -0,0 +1,6285 @@ +Thu Dec 31 11:06:38 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (BISON): Add comment that when bison is used, it + must include the "-y" option. + * c-exp.y, m2-exp.y (yyrule, yyname, yyss, yyssp, yyvs, yyvsp): + Remove defines to remap non-yacc symbols, thus backing out of + previous recent changes. Standard policy is that non-yacc parser + generators get fixed, rather than adding bug workarounds in gdb + for each new one that pops up. Expand comment to note this. + * c-exp.y, m2-exp.y (YYDEBUG): Revert back to disabled by default. + +Thu Dec 31 09:03:02 1992 Stu Grossman (grossman at cygnus.com) + + * partial-stab.h (near N_BINCL): Remove redundant code in N_BINCL + case. Use code in N_SOL. + + * paread.c: New file that contains all HPPA/HPUX symbol reading + code. + * dbxread.c: Remove almost all HPPA/HPUX symbol reading code. + * (dbx_symfile_init): Use sizeof(long) instead of 4. + * (dbx_symfile_offsets): Make static. + * (pastab_build_psymtabs): New interface routine for paread to + send stabs into dbxread. + * gdb-stabs.h: Remove gobs of HPPA cruft. + +Wed Dec 30 19:47:13 1992 Fred Fish (fnf@cygnus.com) + + * c-exp.y, m2-exp.y (yyrule, yyname): Remap like other yy* names + for byacc. + * ch-exp.y (yyrule, yyname): Remap like other yy* names for byacc. + + * c-exp.y, m2-exp.y (yyreds, yytoks): Remap like other yy* names. + * c-exp.y, m2-exp.y (YYDEBUG): Define if MAINTENANCE_CMDS is defined + and YYDEBUG is not already defined. + * c-exp.y (strncmp): Replace throughout with STREQN, missed + them during the previous replacements. + * printcmd.c (_initialize_printcmd): Update internal documentation + for "set" command to note that the assignment syntax is language + dependent. + * ch-exp.y (yyreds, yytoks): Remap like other yy* names. + * ch-exp.y (YYDEBUG): Define if MAINTENANCE_CMDS is defined + and YYDEBUG is not already defined. + * ch-exp.y (GDB_REGNAME, GDB_LAST, GDB_VARIABLE, GDB_ASSIGNMENT, + single_assignment_action): New terminals and nonterminal for gdb + extensions to chill expression grammer. + * ch-exp.y (match_dollar_tokens): Lexer routine to match all + tokens that start with '$' (register names, convenience vars, etc). + * ch-exp.y (tokentab2): Add GDB_ASSIGNMENT. + * ch-exp.y (yylex): Call match_dollar_tokens. + +Mon Dec 28 15:00:01 1992 Stu Grossman (grossman at cygnus.com) + + * hppah-tdep.c (skip_trampoline_code): Use new macros for + accessing minimal symbol data. + * infcmd.c (read_pc): Use #ifdef, not #if. + * symfile.c (syms_from_objfile): Add CONST to decl for targets. + * tm-hppa.h (FIX_CALL_DUMMY): Use new macros for accessing + minimal symbol data. + + * hppah-tdep.c (frame_saved_pc): Use better test for outermost + frame. Use find_return_regnum to find the caller. + * (find_unwind_entry): New routine to locate stack frame info + associated with a procedure. This looks in the $UNWIND_START$ + section in the SOM file. + * (find_return_regnum): New routine. Uses find_unwind_entry() to + figure out where the caller's return address is stored. + * (find_proc_framesize): New routine. Uses find_unwind_entry() + to figure out the frame size for a procedure. + * (saved_pc_after_call): New routine, moved from tm-hppa.h. + * (init_extra_frame_info): New routine. Corrects PC and FP for + outermost frame if necessary. + * (frame_chain): New routine, moved from tm-hppa.h. + * (skip_trampoline_code): Handle computed function calls (ie: + calls from $$dyncall). + * (unwind_command): Temporary support function to allow user + to control/observe aspects of the unwind (stack frame) info. + * infcmd.c (read_pc): (Temporary), put a hack in to see if the PC + was in a system call, if so, then read the PC from r31. + * tm-hppah.h (SKIP_TRAMPOLINE_CODE, IN_SOLIB_TRAMPOLINE): Deal + with extra arg for skip_trampoline_code(). + * (INIT_EXTRA_FRAME_INFO): Define to point at subr (see above). + * (FRAME_CHAIN, FRAME_CHAIN_VALID): Turn into real subroutines. + * tm-hppa.h (SAVED_PC_AFTER_CALL): Turn into real subroutine. + +Sun Dec 27 17:34:15 1992 Fred Fish (fnf@cygnus.com) + + * dbxread.c (dbx_symfile_init, elfstab_build_psymtabs): + Call new bfd_get_size() and verify that string table is no larger + than the file that is supposed to contain it. + * symfile.c (syms_from_objfile): Only complain about configured + NAMES_HAVE_UNDERSCORE differences between gdb and bfd if the + current target is the default BFD target. + +Sat Dec 26 20:51:41 1992 Fred Fish (fnf@cygnus.com) + + * solib.c (BKPT_AT_MAIN): Change to BKPT_AT_SYMBOL. + * solib.c (bkpt_names): New array of symbol names to try to + use for the "mapping complete" breakpoint. Configurable + define SOLIB_BKPT_NAME is first one to try. + * solib.c (find_solib): Test debug_base for nonzero rather + than just greater than zero. + * solib.c (enable_break): Use bkpt_names to look up address + at which to set "mapping complete" breakpoint. + +Tue Dec 22 20:33:38 1992 Fred Fish (fnf@cygnus.com) + + * defs.h (STRCMP, STREQ, STREQN): New macros. + * defs.h (demangle_and_match): Remove prototype. + * dwarfread.c (STREQ, STREQN): Remove macros, replaced with STREQ + and STREQN defined in defs.h. + * dwarfread.c (set_cu_language): For completely unknown languages, + try to deduce the language from the filename. Retain behavior + that for known languages we don't know how to handle, we use + language_unknown. + * dwarfread.c (enum_type, symthesize_typedef): Initialize language + and demangled name fields in symbol. + * dwarfread.c, mipsread.c, partial-stab.h: For all usages of + ADD_PSYMBOL_TO_LIST, add language and objfile parameters. + * dwarfread.c (new_symbol): Attempt to demangle C++ symbol names + and cache the results in SYMBOL_DEMANGLED_NAME for the symbol. + * elfread.c (STREQ): Remove macro, use STREQ defined in defs.h. + Replace usages throughout. + * elfread.c (demangle.h): Include. + * elfread.c (record_minimal_symbol): Remove prototype and function. + * gdbtypes.h, symtab.h (B_SET, B_CLR, B_TST, B_TYPE, B_BYTES, + B_CLRALL): Moved from symtab.h to gdbtypes.h. + * infcmd.c (jump_command): Remove code to demangle name and add + it to a cleanup list. Now just use SYMBOL_DEMANGLED_NAME. + * minsyms.c (demangle.h): Include. + * minsyms.c (lookup_minimal_symbol): Indent comment to match code. + * minsyms.c (install_minimal_symbols): Attempt to demangle symbol + names as C++ names, and cache them in SYMBOL_DEMANGLED_NAME. + * mipsread.c (psymtab_language): Add static variable. + * stabsread.c (demangle.h): Include. + * stabsread.c (define_symbol): Attempt to demangle C++ symbol + names and cache them in the SYMBOL_DEMANGLED_NAME field. + * stack.c (return_command): Remove explicit demangling of name + and use of cleanups. Just use SYMBOL_DEMANGLED_NAME. + * symfile.c (demangle.h): Include. + * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): Fix + to match macros in symfile.h and allow them to be compiled + if INLINE_ADD_PSYMBOL is not true. + * symfile.h (INLINE_ADD_PSYMBOL): Default to true if not set. + * symfile.h (ADD_PSYMBOL_*): Add language and objfile parameters. + Add code to demangle and cache C++ symbol names. Use macro form + if INLINE_ADD_PSYMBOL is true, otherwise use C function form. + * symmisc.c (add_psymbol_to_list, add_psymbol_addr_to_list): + Remove, also defined in symfile.c, which we already fixed. + * symtab.c (expensive_mangler): Remove prototype and function. + * symtab.c (find_methods): Remove physnames parameter and fix + prototype to match. + * symtab.c (completion_list_add_symbol): Name changed to + completion_list_add_name. + * symtab.c (COMPLETION_LIST_ADD_SYMBOL): New macro, adds both + the normal symbol name and the cached C++ demangled name. + * symtab.c (lookup_demangled_partial_symbol, + lookup_demangled_block_symbol): Remove prototypes and functions. + * symtab.c (lookup_symbol): Remove use of expensive_mangler, + use lookup_block_symbol instead of lookup_demangled_block_symbol. + Remove code to try demangling names and matching them. + * symtab.c (lookup_partial_symbol, lookup_block_symbol): + Fix to try matching the cached demangled name if no match is + found using the regular symbol name. + * symtab.c (find_methods): Remove unused physnames array. + * symtab.c (name_match, NAME_MATCH): Remove function and macro, + replaced with SYMBOL_MATCHES_REGEXP from symtab.h. + * symtab.c (completion_list_add_symbol): Rewrite to use cached + C++ demangled symbol names. + * symtab.h: Much reformatting of structures and such to add + whitespace to make them more readable, and make them more + consistent with other gdb structure definitions. + * symtab.h (general_symbol_info): New struct containing fields + common to all symbols. + * symtab.h (SYMBOL_LANGUAGE, SYMBOL_DEMANGLED_NAME, + SYMBOL_SOURCE_NAME, SYMBOL_LINKAGE_NAME, SYMBOL_MATCHES_NAME, + SYMBOL_MATCHES_REGEXP, MSYMBOL_INFO, MSYMBOL_TYPE): New macros. + * symtab. (struct minimal_symbol, struct partial_symbol, struct + symbol): Use general_symbol_info struct. + * utils.c (demangle_and_match): Remove, no longer used. + * valops.c (demangle.h): Include. + * xcoffexec.c (eq): Remove macro, replace usages with STREQ. + * blockframe.c, breakpoint.c, c-exp.y, c-valprint.c, dbxread.c, + infcmd.c, m2-exp.y, minsyms.c, objfiles.h, solib.c, stack.c, + symmisc.c, symtab.c, valops.c: Replace references to minimal + symbol fields with appropriate macros. + * breakpoint.c, buildsym.c, c-exp.y, c-typeprint.c, c-valprint.c, + coffread.c, command.c, convex-tdep.c, cp-valprint.c, dbxread.c, + demangle.c, elfread.c, energize.c, environ.c, exec.c, + gdbtypes.c, i960-tdep.c, infrun.c, infrun-hacked.c, language.c, + main.c, minsyms.c, mipsread.c, partial-stab.h, remote-es1800.c, + remote-nindy.c, remote-udi.c, rs6000-tdep.c, solib.c, source.c, + sparc-pinsn.c, stabsread.c, standalone.c, state.c, stuff.c, + symfile.c, symmisc.c, symtab.c, symtab.h, tm-sysv4.h, + tm-ultra3.h, values.c, xcoffexec.c, xcoffread.c: Replace strcmp + and strncmp usages with STREQ, STREQN, or STRCMP as appropriate. + * breakpoint.c, buildsym.c, c-typeprint.c, expprint.c, findvar.c, + mipsread.c, printcmd.c, source.c, stabsread.c, stack.c, + symmisc.c, tm-29k.h, valops.c, values.c: Replace SYMBOL_NAME + references with SYMBOL_SOURCE_NAME or SYMBOL_LINKAGE_NAME as + appropriate. + * buildsym.c (start_subfile, patch_subfile_names): Default the + source language to what can be deduced from the filename. + * buildsym.c (end_symtab): Update the source language in the + allocated symtab to match what we have been using. + * buildsym.h (struct subfile): Add a language field. + * c-typeprint.c (c_print_type): Remove code to do explicit + demangling. + * dbxread.c (psymtab_language): Add static variable. + * dbxread.c (start_psymtab): Initialize psymtab_language using + deduce_language_from_filename. + +Mon Dec 21 22:24:33 1992 Fred Fish (fnf@cygnus.com) + + * valprint.c (val_print): Reorganize comment and add note + about dependency on target byte ordering. + * ch-exp.y (value_array_slice): Fix typo. + * ch-valprint.c (chill_val_print): Remove C'ism that arrays of + byte sized ints are assumed to be char strings and printed with + string syntax. In chill, arrays of chars and arrays of + bytes/ubytes are distinquishable, and printed appropriately. + +Mon Dec 21 18:02:35 1992 Stu Grossman (grossman at cygnus.com) + + * tm-hppah.h: #define NEED_TEXT_START_END for target memory + read/write routines for HPUX. + + * hppa-pinsn.c (print_insn): Improve handling of be and ble + branch targets to compute target address using const from previous + instruction if necessary. + * Add `Q' operator to print out bit position field various + instructions. + * hppah-nat.c: #include sys/param.h, and sys/user.h. General + cleanups, use new code from Utah. + * (store_inferior_registers): Update to new code from Utah. + * (initialize_kernel_u_addr): Re-enable decl of struct user u. + * (fetch_register): Clear out priv level when reading PCs. + * hppah-tdep.c: Get rid of gobs of KERNELDEBUG stuff. + * Remove decl of errno, #include wait.h and target.h. + * (frame_saved_pc): Check `flags' pseudo-register to see if we + were inside of a kernel call. If so, then PC is in a different + register. Also, mask out bottom two bits of all PCs so as not to + confuse higher level code. + * (push_dummy_frame): Create from #define in tm-hppa.h. + * (find_dummy_frame_regs): Update from Utah. + * (hp_pop_frame): Create from #define in tm-hppa.h. + * (hp_restore_pc_queue): New, from Utah. + * (hp_push_arguments): Big fixes from Utah. + * (pa_do_registers_info, pa_print_registers): Only print out fp + regs upon request. + * (skip_trampoline_code): New routine to deal with stubs that + live in nowhereland between callers and callees. + * i860-tdep.c: Remove decl of attach_flag. + * infrun.c (wait_for_inferior): Add new macro + INSTRUCTION_NULLIFIED, which can tell if the instruction pointed + at by PC will be nullified. If so, then step the target once more + so as to avoid confusing the user. + * (just before step_over_function:): Use stop_func_start, not + stop_pc when checking for the existance of line number info. + stop_func_start will reflect the proper address of the target + routine, not of the stub that we may be traversing to get there. + * tm-hppa.h: define SKIP_TRAMPOLINE_CODE and IN_SOLIB_TRAMPOLINE + to deal with the stubs that PA compilers sometimes stick between + callers and callees. Also, define FLAGS_REGNUM for access to the + `flags' pseudo-reg. + * (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use + memcpy, not bcopy. + * (CANNOT_STORE_REGISTER): New from Utah. Says that we can't + write gr0, PC regs, and PSW! + * (FRAME_FIND_SAVED_REGS): Bug fixes from Utah. + * (PUSH_DUMMY_FRAME, POP_FRAME): Make into real routines in + hppah-nat.c. + * (CALL_DUMMY, FIX_CALL_DUMMY): Fixes from Utah. + * Define struct unwind_table_entry. + * valops.c (call_function_by_hand): Add another arg to + FIX_CALL_DUMMY (under #ifdef GDB_TARGET_IS_HPPA). Why is this + necessary? + +Mon Dec 21 02:17:57 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * remote-vx.c: remove include of "symfile.h", replace it with "complaints.h" + +Fri Dec 18 10:32:25 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.7.4. + * Makefile.in (SFILES_MAINDIR): Add typeprint.c, c-typeprint.c, + m2-typeprint.c, c-valprint.c cp-valprint.c m2-valprint.c. + * Makefile.in (HFILES): Add valprint.h. + * Makefile.in (OBS): Add typeprint.o, c-typeprint.o, + m2-typeprint.o, c-valprint.o, cp-valprint.o m2-valprint.o. + * typeprint.c, typeprint.h: New files for language independent + type printing functions. + * c-typeprint.c, m2-typeprint.c: New files for language dependent + type printing functions and definitions. + * valprint.h: New include file for language independent value + printing definitions. + * c-valprint.c, cp-valprint.c, m2-valprint.c: New files for language + dependent value printing functions. + * c-exp.y (production ptype): Add range_type variable and use new + create_range_type function. + * c-exp.y (tokentab2, tokentab3), c-lang.c (c_op_print_tab), + infcmd.c (path_var_name), language.c (unk_op_print_tab), + m2-lang.c (m2_op_print_tab): Change from ANSI-obsolescent + "const static" to ANSI-conformant "static const". + * c-exp.y (c_create_fundamental_type): Remove unused nbytes. + * c-exp.y (c_language_defn, cplus_language_defn): Add c_print_type, + and c_val_print. + * c-lang.h (c_print_type, c_val_print): Add prototypes. + * coffread.c (decode_type): Add range_type variable and call to + new create_range_type function. + * complaints.c (complain): Remove unused val variable. + * complaints.c (_initialize_complaints): Make it void. + * convex-tdep.c (value_of_trapped_internalvar): Add range_type + variable and call new create_range_type function. + * defs.h (enum val_prettyprint): Move enum from value.h to here + so we can avoid having to include value.h just for prototypes that + need the enum (thanks ANSI). + * dwarfread.c (struct_type): Local anonymous_size variable is + only used if !BITS_BIG_ENDIAN. + * dwarfread.c (decode_subscript_data_item): Add rangetype + variable and call new create_range_type function. + * elfread.c (elf_symfile_read): Remove unused dbx and text_sect + variables. + * eval.c (evaluate_subexp): Remove unused local variable name + and the statement with no side effects that initializes it. + * expprint.c (print_subexp): Change local_printstr to + LA_PRINT_STRING. + * gdbtypes.c (create_range_type): New function that creates + a range type using code fragments from object file readers as + an example of what has to be initialized. + * gdbtypes.c (create_array_type): Removed index_type, low_bound, + and high_bound parameters, replaced with a single range_type + parameter. Change function body to use passed in range_type + rather than handcrafting one. + * gdbtypes.h (create_range_type): Add prototype. + * gdbtypes.h (create_array_type): Change prototype parameters. + * infrun.c (normal_stop): Remove unused local variables tem and c. + * infrun.c (hook_stop_stub): Return 0 rather than random value. + * language.c (unk_lang_print_type, unk_lang_val_print): Add + stub functions that call error if called. + * language.c (unknown_language_defn, auto_language_defn, + local_language_defn): Add initializers unk_lang_print_type and + unk_lang_val_print. + * language.h (struct language_defn): Reformat for larger + comments, add la_print_type and la_val_print members. Add + LA_PRINT_TYPE and LA_VAL_PRINT macros. Change local_printchar + to LA_PRINT_CHAR and local_printstr to LA_PRINT_STRING. + * m2-lang.c (m2_create_fundamental_type): Remove unused local + variable nbytes. + * m2-lang.c (m2_language_defn): Add initializers m2_print_type + and m2_val_print. + * m2-lang.h (m2_print_type, m2_val_print): Add prototypes. + * main.c (execute_command): Remove unused local variable cmdlines. + * main.c (echo_command), stabsread.c (read_type), printcmd.c + (clear_displays), symmisc.c (block_depth), values.c + (clear_value_history): + Make testing of truth value of assignment result explicit. + * mipsread.c (upgrade_type): Update FIXME to include future use + of create_range_type. + * printcmd.c (ptype_command, ptype_eval, whatis_command, + whatis_exp, maintenance_print_type): Move prototypes and functions + to new typeprint.c. + * printcmd.c (_initialize_printcmd): Move add_com calls for + ptype_command and whatis_command to new typeprint.c. + * ser-bsd.c (serial_open): Remove unused variable sgttyb. + * source.c (find_source_lines): Local variable c only used + when LSEEK_NOT_LINEAR is defined. + * stabsread.c (read_array_type): Use new create_range_type + function. + * stabsread.c (read_range_type): Add new index_type variable and + call new create_range_type function rather than handcrafting + range types. + * symmisc.c (type_print_1): Change usages to LA_PRINT_TYPE. + * symtab.c (typedef_print usages): Use c_typedef_print, renamed. + * symtab.c (type_print_base usages): Use c_type_print_base. + * symtab.c (type_print_varspec_prefix usages): Use + c_type_print_varspec_prefix. + * symtab.c (type_print_method_args usages): Use + cp_type_print_method_args. + * valprint.c: Completely ripped apart and the fragments used + to create c-valprint.c, cp-valprint.c, m2-valprint.c, and + valprint.h. Remaining stuff is language independent. + * value.h (struct fn_field): Forward declare for prototypes. + * value.h (type_print_1): Remove prototype. + * value.h (enum val_prettyprint): Moved to defs.h. + * value.h (typedef_print): Prototype renamed to c_typedef_print. + * value.h (baseclass_offset): Add prototype. + * Makefile.in (SFILES_MAINDIR): Add ch-typeprint.c, ch-valprint.c. + * Makefile.in (OBS): Add ch-typeprint.o, ch-valprint.o. + * ch-typeprint.c: New file for language dependent type printing. + * ch-valprint.c: New file for language dependent value printing. + * ch-exp.y (parse_number): Remove prototype and stub function. + * ch-exp.y (decode_integer_literal): Removed unused digits and + temp variables. + * ch-exp.y (convert_float): Completely ifdef out for now. + * ch-exp.y (tokentab2, tokentab3, tokentab4, tokentab5), + ch-lang.c (chill_op_print_tab): + Change from ANSI-obsolescent "const static" to ANSI-conformant + "static const". + * ch-exp.y (yylex): Add unhandled storage class enumeration + literals to switch statement for completeness. + * ch-lang.c (chill_create_fundamental_types): Remove unused + nbytes variable. Change dummy type to 2 bytes to match int. + Handle FT_VOID types gratuituously added to chill DWARF by + compiler. Change FT_CHAR case to generate an TYPE_CODE_CHAR + type rather than a one byte TYPE_CODE_INT type. + * ch-lang.c (chill_language_defn): Add chill_print_type and + chill_val_print. + * ch-lang.h (chill_print_type, chill_val_print): Add prototypes. + +Thu Dec 17 00:44:57 1992 John Gilmore (gnu@cygnus.com) + + Eliminate uses of NAMES_HAVE_UNDERSCORE, using + bfd_get_symbol_leading_char instead. + + * coffread.c (EXTERNAL_NAME): New macro for removing possible + leading character from names. + (read_coff_symtab): Use BFD's FILE *, don't open a second one. + (process_coff_symbol, coff_read_struct_type, coff_read_enum_type): + Replace NAMES_HAVE_UNDERSCORE with EXTERNAL_NAME. + + * kdb-start.c (main): Remove NAMES_HAVE_UNDERSCORE. + * minsyms.c (install_minimal_symbols): Replace NAMES_HAVE_UNDERSCORE. + Remove SOME_NAMES_HAVE_DOT support (apparently unused). + * partial-stab.h: Replace NAMES_HAVE_UNDERSCORE. + * solib.c: Replace NAMES_HAVE_UNDERSCORE. + * stabsread.h: Remove NAMES_HAVE_UNDERSCORE and HASH_OFFSET. + * symfile.c (syms_from_objfile): Insert debugging check to test + NAMES_HAVE_UNDERSCORE setting against the BFD support. + + * doc/gdbint.texinfo (Host Conditionals): Remove + NAMES_HAVE_UNDERSCORE, SOME_NAMES_HAVE_DOT, document + MEM_FNS_DECLARED. + (Target Conditionals): Remove all of the above. + + * xm-rs6000.h (MEM_FNS_DECLARED): Update comments. + + * coffread.c (read_coff_symtab, C_BLOCK): Use complain() rather + than error() for .bb/.eb. Bug found by Eddie Fung, . + +Tue Dec 15 10:05:56 1992 Ian Lance Taylor (ian@cygnus.com) + + * coffread.c (decode_type): catch negative tagndx fields generated + by SCO 3.2v4 cc. + * exec.c: comment out string following #endif. + * configure.in (i[34]86-*-sco3.2v4*): use host i386sco4. + * xm-i386sco.h: include and , required by + . + * config/i386sco4.mh: new file; like i386sco.mh, but don't require + gcc, and define const to empty to avoid SCO 3.2v4 cc bug. + +Tue Dec 15 04:14:24 1992 Fred Fish (fnf@cygnus.com) + + * complaints.c: New file, code moved from utils.c. + * complaints.c (complain): Made into a varargs function. + * complaints.h: New file, code moved from symfile.h. + * Makefile.in (SFILES_MAINDIR): Add complaints.c. + * Makefile.in (HFILES): Add complaints.h. + * Makefile.in (OBS): Add complaints.o. + * symfile.c (complaint_root, stop_whining, complaint_series, + complain, clear_complaints, add_show_from_set for stop_whining): + Moved to complaints.c. + * symfile.h (struct complaint, complaint_root decl, complain + prototype, clear_complaints prototype): Moved to complaints.h. + * buildsym.c, coffread.c, dbxread.c, dwarfread.c, elfread.c, + gdbtypes.c, mipsread.c, stbsread.c, symfile.c: Include + complaints.h. Remove casts from arguments to complain(), + which is now a varargs function, and remove unnecessary + placeholder zero args. + * defs.h (begin_line): Add prototype. + * defs.h (vprintf_filtered): Add prototype. + * dwarfread.c (varargs.h): Remove, no longer needed. + * dwarfread.c (dwarfwarn): Remove prototype and function. + * dwarfread.c (complaints): Define a bunch of complaints. + * dwarfread.c (SQUAWK): Remove macro defs, convert all + usages to standard complain() calls. + * utils.c (begin_line): New function that ensures that + whatever gets filter-printed next starts on its own line. + * utils.c (vprintf_filtered): New func, like vfprintf_filtered, + but to stdout (calls vfprintf_filtered internally). + +Tue Dec 15 02:01:00 1992 John Gilmore (gnu@cygnus.com) + + * remote.c: Avoid printf_filtered line limit. Suggested by + Robert R. Henry, . + * infcmd.c (environment_info): Ditto, for Don Allen . + + * main.c (main): Accept --silent as well as --quiet. Change +help + to --help. Suggested by Karl Berry, . + + * doc/gdbint.texinfo: SWAP_HOST_AND_TARGET => SWAP_TARGET_AND_HOST. + Noticed by Andy Jackson, . + +Mon Dec 14 23:28:15 1992 John Gilmore (gnu@cygnus.com) + + * tm-nindy960.h, remote-nindy.c: Lint. + +Mon Dec 14 18:48:52 1992 Fred Fish (fnf@cygnus.com) + + * gdbtypes.c (create_array_type): Complete rewrite. Now requires + a optional type to decorate as an array type, the type of the + index, and the bounds of the array. Records this additional info + in the array type for use with languages with nonzero array + bounds. + * gdbtypes.h (enum type_code): Update comment for TYPE_CODE_ARRAY + to note that arrays may have bounds. + * gdbtypes.h (create_array_type): Update prototype. + * c-exp.y (ptype production): Adjust for new create_array_type + calling conventions. + * coffread.c (decode_type): Call create_array_type rather than + handcrafting array types. + * convex-tdep.c (value_type): Remove, now use create_array_type. + * convex-tdep.c (value_of_trapped_internalvar): Convert calls to + vector_type into calls to create_array_type. + * dwarfread.c (decode_subscr_data): Name changed to + decode_subscript_data_item throughout. + * dwarfread.c (decode_subscript_data_item): Rewrite to use + create_array_type. Now records index type and range as well. + * dwarfread.c (dwarf_read_array_type): Rewrite as part of + change to use create_array_type. + * dwarfread.c (read_subroutine_type): Test existing user defined + types before decorating them, to ensure they are blank, and + complain about it if they are not. + * dwarfread.c (decode_fund_type): For unrecognized types, always + return some valid type (type integer). If the unrecognized type + cannot be an implementation defined type, complain as well. + * m88k-tdep.c (pushed_size): Update comment for TYPE_CODE_ARRAY. + * m88k-tdep.c (store_param): Update comment for TYPE_CODE_ARRAY. + * mipsread.c (upgrade_type): Add FIXME comment that code to + handcraft arrays should be replaced with call to create_array_type. + * stabsread.c (read_array_type): Replace code to handcraft + array types with call to create_array_type. + * valprint.c (type_print_varspec_prefix): Minor formatting + change, join lines that don't need to be split. + +Mon Dec 14 17:18:42 1992 Stu Grossman (grossman at cygnus.com) + + * convex-xdep.c, hppab-nat.c, infptrace.c: Remove + decl for attach_flag, it now lives in inferior.h. + * hppa-pinsn.c: Reformat opcode tables. Add function prototypes. + Make most functions static. + * hppah-nat.c: General cleanups, remove BSD specific code (since + that all lives in hppab-nat.c). + * hppah-tdep.c (frame_chain_valid), tm-hppa.h (FRAME_CHAIN): + Change sense of test against inside_entry_file(). This fix is + from U. of Utah. + * tm-hppa.h (PUSH_DUMMY_FRAME, POP_FRAME): Use char * for 2nd arg + to read/write_register_bytes(). + * gdbtypes.h: Remove const from decl for cplus_struct_default to + work around PA-GAS assembler bug. Also, add trailing */ to some + comments. + * gdbtypes.c: Remove const from decl for cplus_struct_default. + Same reason as above. + +Wed Dec 9 19:53:25 1992 John Gilmore (gnu@cygnus.com) + + * mipsread.c (parse_symbol): When checking whether a structured + type is an enum, check qualifiers of its first member, as well as + the base type of the member. Bug found and fixed by John M. + Farrell, . + + * vx-share/{reg.h,xdr_regs.h,xdr_regs.c}: Remove, unused. + * remote-vx.c: Don't include vx-share/reg.h. + * vx-share/ptrace.h: Reproduce from scratch. + * config/{vxworks68,vxworks960}: Don't include xdr_regs.o. + * Makefile.in: Remove references to removed files, and to removed + 29k-share directories. + +Tue Dec 8 13:30:58 1992 Fred Fish (fnf@cygnus.com) + + * c-lang.c (_initialize_c_language): Name changed from + _initialize_c_exp. + * m2-lang.c (_initialize_m2_language): Name changed from + _initialize_m2_exp. + * m2-lang.c (_initialize_m2_language): Change malloc to xmalloc since + it is no longer inside m2-exp.y, where it was remapped by Makefile. + * c-exp.y, m2-exp.y: Migrate code that has nothing to do with + expression parsing into c-lang.c and m2-lang.c respectively. + * c-lang.c, m2-lang.c: New files, code migrated from c-exp.y and + m2-exp.y respectively. + * c-lang.h, m2-lang.h: New files, internal interfaces between c-* + and m2-* files respectively. + * Makefile.in (SFILES_MAINDIR): Add c-lang.c, m2-lang.c. + * Makefile.in (HFILES): Add c-lang.h, m2-lang.h. + * Makefile.in (OBS): Add c-lang.o, m2-lang.o. + * expression.h (struct block): Forward declaration for prototypes. + * language.h (struct objfile): Forward declaration for prototypes. + * Makefile.in (SFILES_MAINDIR): Add ch-lang.c. + * Makefile.in (HFILES): Add ch-lang.h. + * Makefile.in (OBS): Add ch-lang.o. + * ch-exp.y: Migrate code that has nothing to do with expression + parsing into ch-lang.c. + * ch-lang.c: New file, code migrated from c-exp.y. + * ch-lang.h: New file, internal interface between ch-* files. + * ch-lang.c (_initialize_chill_language): Name changed from + _initialize_chill_exp. + + Changes for Amiga Unix from rhealey@ub.d.umn.edu. + * config/amix.mh (NAT_FILE): Add, set to nm-sysv4.h. + * config/amix.mh (NATDEPFILES): Add. + * config/amix.mh (XDEPFILES): Move procfs.o and fork-child.o + to NATDEPFILES. + + * dwarfread.c (decode_subscr_data): Remove spurious test that + accepted only integer subscript types. We don't do anything + with the type at the moment anyway. + +Fri Dec 4 06:56:56 1992 Fred Fish (fnf@cygnus.com) + + * ch-exp.y (match_character_literal): Fix case where no + match at all is found. + * ch-exp.y (chill_create_fundamental_type): Chill uses fixed + width types. For example, "INT" is always 2 bytes regardless + of the values of any TARGET_*_BIT macros. So use explicit + numeric sizes for the types. + +Thu Dec 3 12:00:06 1992 Fred Fish (fnf@cygnus.com) + + * c-exp.y (c_create_fundamental_type): New function to create + language specific fundamental types for C. + * m2-exp.y (m2_create_fundamental_type): New function to create + language specific fundamental types for Modula 2. + * c-exp.y (c_language_defn, cplus_language_defn): Add + c_create_fundamental_type to language struct initializers. + * m2-exp.y (m2_language_defn): Add m2_create_fundamental_type + to language struct initializers. + * dwarfread.c (expression.h, language.h): Include. + * dwarfread.c (ftypes): New array to hold fundamental types + for current compilation unit. + * dwarfread.c (cu_language_defn): New pointer to language + struct for language of current compilation unit. + * dwarfread.c (dwarf_fundamental_type): New function to + create/lookup fundamental types. + * dwarfread.c (set_cu_language): Initialize cu_language_defn. + * dwarfread.c (throughout): Replace lookup_fundamental_type + with dwarf_fundamental_type. + * dwarfread.c (read_file_scope): Zero out ftypes for each new + compilation unit (may be different language or different objfile). + * gdbtypes.c (lookup_fundamental_type): Move actual type + creations into language specific fundamental type creation + functions and call via create_fundamental_type. Add comment + about this function being obsolescent. + * gdbtypes.h (FT_BYTE, FT_UNSIGNED_BYTE): New types, true byte + sized signed and unsigned integers. + * gdbtypes.h (FT_NUM_MEMBERS): Increment, new types added. + * language.c (language_def): New function to lookup a language + struct given it's enumeration. + * language.h (struct language_defn): Add la_fund_type, a pointer + to a function that creates fundamental types for this language. + * language.h (create_fundamental_type): New macro to create + fundamental types based on the current language. + * language.h (language_def): Add prototype. + * language.c (unk_lang_create_fundamental_type): New function + for initializing language structs, calls error if called. + * language.c (unk_language_defn, auto_language_defn, + local_language_defn): Use unk_lang_create_fundamental_type. + ch-exp.y (chill_create_fundamental_type): New function. + ch-exp.y (chill_language_defn): Add chill_create_fundamental_type. + ch-exp.y (_initialize_chill_exp): BOOL types are only one byte. + +Tue Dec 1 17:07:31 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (CHILL_PRODUCER): Add producer string for + GNU chill. + * dwarfread.c (handle_producer): Test CHILL_PRODUCER as well + as GCC_PRODUCER and GPLUS_PRODUCER. + +Mon Nov 30 18:46:58 1992 Stu Grossman (grossman at cygnus.com) + + * remote-udi.c (udi_wait): Don't stop if TIP says that remote is + still running. + +Mon Nov 30 12:00:25 1992 Fred Fish (fnf@cygnus.com) + + * tm-sun4sol2.h: Add CPLUS_MARKER. Solaris 2.0 requires '.' + rather than '$'. This particular piece of braindamage is + spreading like ooze. It's now infected libiberty, deja-gnu, + gdb, and gcc. + * values.c (baseclass_addr): Use CPLUS_MARKER rather than + hardwired '$' character. + +Sun Nov 29 15:22:42 1992 Fred Fish (fnf@cygnus.com) + + (Changes to break incredibly ugly, unmaintainable 750 line + read_struct_type function up into managable pieces.) + * Makefile.in (VERSION): Bump to 4.7.3. + * stabsread.c (struct field_info): Local struct definition. + * stabsread.c (read_member_functions, read_struct_fields, + read_baseclasses, read_tilde_fields, attach_fn_fields_to_type, + attach_fields_to_type, read_cpp_abbrev): Prototypes and new + functions from fragmented read_struct_type. + * stabsread.c (stabs_general_complaint): Catchall complaint. + * stabsread.c (STABS_CONTINUE): Macro'ize cretinous stabs + symbol name continuation code. Use macro throughout. + * stabsread.c (various places): Replace add-one-to-pointer + with pointer increment. + * stabsread.c (read_type): Retain function local copy of type + descriptor. Rearrange code calling read_struct_type() to match + new conventions. + * stabsread.c (define_symbol): For the sake of dbx, gcc emits + a single blank as the name of nameless enumerations. Recognize + this special case and set nameless flag. + * ch-exp.y (GENERAL_PROCEDURE_NAME, LOCATION_NAME): New + terminal tokens. + * ch-exp.y (access_name): New non-terminal token and + production. + * ch-exp.y (general_procedure_name): Now a terminal token. + * ch-exp.y (location): Expand production. + * ch-exp.y (match_simple_name_string): New function. + * ch-exp.y (yylex): Call match_simple_name_string and return + GENERAL_PROCEDURE_NAME or LOCATION_NAME as appropriate. + +Wed Nov 25 07:17:13 1992 Fred Fish (fnf@cygnus.com) + + * munch: Backslash escape vertical bar characters inside + grep patterns since they have special meaning for some greps. + * parse.c (write_exp_string): Complete rewrite to store string + contants as a leading explicit length, followed by the string data, + followed by a trailing explicit length. + * eval.c (evaluate_subexp), expprint.c (print_subexp), + parse.c (length_of_subexp), parse.c (prefixify_subexp): + Use recorded explicit length of strings in expression elements, + rather than strlen. Adjust code to skip over strings stored in + expression elements, and code to access strings, to account for + new leading explicit size expression element. + * parse.c (length_of_subexp): Test for minimum endpos of 1, not + 0, to avoid negative expression element indices. + * valops.c (search_struct_method): Minor whitespace change. + +Mon Nov 23 11:14:15 1992 Fred Fish (fnf@cygnus.com) + + * c-exp.y (yylex): Add tempbuf, tempbufindex, and tempbufsize, + which together maintain a dynamically expandable static buffer + for the lexer to use when translating C strings to their internal + form (other future uses possible). Fix parsing of C style strings + to do the normal C style input conversions of escaped character + sequences. + * valops.c (value_string): Remove translation of escaped + character sequences, now done in C expression parser. + * language.h (PRINT_LITERAL_FORM): New macro that takes character + and decides if it should be printed in literal form or some other + form, based on it's ASCII value and setting of sevenbit_strings. + * {c-exp.y, m2-exp.y} (emit_char): Use new PRINT_LITERAL_FORM + macro, change indentation style. + * ch-exp.y (chill_printchar): Use new PRINT_LITERAL_FORM macro. + * ch-exp.y (chill_printstr): First cut at real function instead + of error stub. + +Sun Nov 22 16:21:41 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * nindy-share/stop.h: fixed bogus comment-end in copyright message + + * i960-pinsn.c: fixed two calls of fputs_filtered that had 3 arguments + +Fri Nov 20 21:35:57 1992 Fred Fish (fnf@cygnus.com) + + * defs.h (sevenbit_strings): Add declaration. + * defs.h (printchar): Replace with gdb_printchar. + * language.h (language_defn): Add new function pointers + la_printchar and la_printstr, to do language dependent + printing of characters and strings. + * language.h (local_printchar, local_printstr): New macros + to call language dependent functions pointed to by la_printchar + and la_printstr respectively. + * c-exp.y (emit_char, c_printchar, c_printstr): New language + dependent functions for printing characters and strings. + * c-exp.y (c_language_defn, cplus_language_defn): Add + c_printchar and c_printstr. + * command.c (do_setshow_command): Rename printchar use to + gdb_printchar. + * expprint.c (print_subexp): Replace C style string output + with call to local_printstr. + * language.c (unk_lang_printchar, unk_lang_printstr): + New stubs, currently errors. + * language.c (unknown_language_defn, auto_language_defn, + local_language_defn): Add unk_lang_printchar and + unk_lang_printstr. + * m2-exp.y (emit_char, m2_printchar, m2_printstr): New + language dependent functions to print characters and strings. + * m2-exp.y (m2_language_defn): Add m2_printchar and m2_printstr. + * utils.c (printchar): Renamed to gdb_printchar. + * valprint.c (print_string): Remove prototype, function moved + to c-exp.y, where it becomes c_printstr. + * valprint.c (print_max): Made global for reference from the + language dependent printing routines in *-exp.y. + * valprint.c (repeat_count_threshold): New variable with function + of old REPEAT_COUNT_THREHOLD define, but now settable by user. + Change all references to old macro to references to new variable. + * valprint.c (value_print, val_print): Replace calls to + print_string with calls to local_printstr. + * valprint.c (val_print): Replace C style character printing + with call to local_printchar. + * valprint.c (val_print): Add case for TYPE_CODE_CHAR. + * valprint.c (_initialize_valprint): Add add_show_from_set + call for setting up repeat_count_threshold as print variable. + * ch-exp.y (decode_integer_value): New function. + * ch-exp.y (decode_integer_literal): Use decode_integer_value. + * ch-exp.y (chill_printchar, chill_printstr): New language + dependent functions for printing characters and strings. + * ch-exp.y (chill_language_defn): Add chill_printchar and + chill_printstr. + +Thu Nov 19 21:22:21 1992 John Gilmore (gnu@cygnus.com) + + * main.c (main): Print GDB version number in gdb -help; doc pid arg. + Suggested by Marty Leisner, . + (print_gdb_version): New arg is stdout or stderr. Callers changed. + +Wed Nov 18 15:05:45 1992 Ian Lance Taylor (ian@cygnus.com) + + * remote-vx.c (vx_kill): just warn if we can't contact the board, + and assume the process has been killed. + +Wed Nov 18 14:39:57 1992 Stu Grossman (grossman at cygnus.com) + + * remote-udi.c (udi_open): Reset vars so that user can re-run + programs without leaving GDB. + * (many routines): Slightly improve error handling. + * (download): Zero out BSS by longs instead of bytes to avoid + timeouts in real hardware. + * 29k-share/udi/udip2soc.c (UDIDisconnect, UDIKill): Indicate + that connection is no longer in use after shutdown() of socket. + This keeps GDB from dying of a SIGPIPE when you issue multiple + `target udi' commands. + +Wed Nov 18 14:27:47 1992 Fred Fish (fnf@cygnus.com) + + * language.h (language_format_info): New structure to bundle + local formatting information. + * language.h (language_defn): Replace individual format info + with language_format_info structs. + * language.h (local_*_format, local_*_format_prefix, + local_*_format_specifier, local_*_format_suffix): New macros + for binary/octal/decimal/hex formats to access info elements. + * c-exp.y (c_language_defn): Update for new format handling. + * m2-exp.y (m2_language_defn): Update for new format handling. + * dbxread.c (language.h): Include for partial-stab.h use. + * mipsread.c (expression.h, language.h): Include for + partial-stab.h use. + * defs.h (local_hex_format, local_hex_format_custom, + local_hex_string, local_hex_string_custom): Move to language.h. + * language.c (local_hex_format_custom, local_hex_string, + local_hex_string_custom, local_octal_format_custom): Use new + format handling. + * language.c (unknown_language_defn, auto_language_defn, + local_language_defn): Update for new format handling. + * printcmd.c (print_scalar_formatted): Use new macros + to access decimal and binary format info for printing. + * c-exp.y (chill_language_defn): Update for new format handling. + * ch-exp.y (CHARACTER_LITERAL): Add support to yylex. + * ch-exp.y (decode_integer_literal): Add function + * ch-exp.y (match_integer_literal): Use decode_integer_literal. + * ch-exp.y (builtin_type_chill_char): Add definition. + * gdbtypes.h (builtin_type_chill_char): Add declaration. + +Tue Nov 17 11:17:06 1992 Ian Lance Taylor (ian@cygnus.com) + + * tm-rs6000.h (BELIEVE_PCC_PROMOTION): Define, since AIX cc gets + it right. + (aix_framedata): added nosavedpc field. + (SAVED_PC_AFTER_CALL): Don't try to optimize; just call + read_register. + (FRAMELESS_FUNCTION_INVOCATION): Pass second argument of 0. + (FRAME_SAVED_PC): If PC not saved, use SAVED_PC_AFTER_CALL. + * rs6000-tdep.c (skip_prologue): Handle gcc generated stfd + instructions as function_frame_info does. Expand special case of + st r31,-4(r1) to be st r31,NUM(r1), since gcc can generate offsets + other than -4. + (pop_frame): Add 4 rather than sizeof (int) to avoid host + dependence. + (function_frame_info): Set frameless if the function has no frame, + and set nosavedpc if the PC was not saved. Handle gcc generated + stfd 31,-4(31); st 31, -12(31) correctly. + (frameless_function_invocation): New second argument pcsaved; if 0 + return whether the function has a frame, if 1 return whether the + function saved PC. + (frame_initial_stack_address): Correct typo: cache registers for + callee_fi, not for fi, (avoids reading garbage memory locations). + +Mon Nov 16 15:58:07 1992 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior (just before step_over_function + label)): Change test for stepping into subroutine to check for the + presence of line number info. This makes stuff compiled with -g1 + cause GDB to not lose control when stepping. + + * symtab.c (find_pc_line): Improve code per gnu's suggestions. + Improve comments as well. + +Sun Nov 15 09:22:09 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.7.2 + * symtab.c (find_pc_symtab): Fix return of random value + to caller. + * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add dependency on + Makefile since it contains sed patterns used in generation. + Add sed pattern to also delete #include of any malloc.h. + * c-exp.y, expr.c, expression.h, language.c, m2-exp.y, + parser-defs.h, valarith.c, valops.c, value.h: Remap macros and + function names to conform to K&R terminology with respect to + logical and bitwise operators: + UNOP_ZEROP => UNOP_LOGICAL_NOT + UNOP_LOGNOT => UNOP_COMPLEMENT + BINOP_LOGAND => BINOP_BITWISE_AND + BINOP_LOGXOR => BINOP_BITWISE_XOR + BINOP_LOGIOR => BINOP_BITWISE_IOR + BINOP_AND => BINOP_LOGICAL_AND + BINOP_OR => BINOP_LOGICAL_OR + PREC_OR => PREC_LOGICAL_OR + PREC_AND => PREC_LOGICAL_AND + PREC_LOGIOR => PREC_BITWISE_IOR + PREC_LOGXOR => PREC_BITWISE_XOR + PREC_LOGAND => PREC_BITWISE_AND + value_zerop() => value_logical_not() + value_lognot() => value_complement() + * c-exp.y (c_op_print_tab): Add explicit empty terminator. + * m2-exp.y (m2_op_print_tab): Add explicit empty terminator. + * i387-tdep.c (sys/dir.h): Remove, appears to be unnecessary + and is nonexistant in some SVR4 based systems. + * language.c (DEFAULT_ALLOCSIZE): Change from 3 => 4. + * m2-exp.y (number_sign, modblock): Make static, #ifdef out + unused modblock. + * m2-exp.y (ANDAND): Rename to LOGICAL_AND. + * source.c (source_info): Fix minor nits, print "1 line" rather + than "1 lines", and "language is ". + * valarith.c (value_binop): Handle TYPE_CODE_BOOL as well + as TYPE_CODE_INT and TYPE_CODE_FLOAT. + * valprint.c (val_print): Print TYPE_CODE_BOOL type values as + "TRUE" or "FALSE". + * values.c (value_from_longest): Handle TYPE_CODE_BOOL. + * ch-exp.y: New expression parser, for GNU-Chill. + * defs.h (enum language): Add language_chill. + * dwarfread.c (set_cu_language): Add LANG_CHILL case and make + LANG_MODULA2 a recognized language. + * gdbtypes.h (enum_typecode): Note TYPE_CODE_BOOL used for + Chill as well as Modula-2. + * gdbtypes.y (builtin_type_chill_bool, builtin_type_chill_long, + builtin_type_chill_ulong, builtin_type_chill_real): Add. + * language.c (set_language_command): Add chill. + * language.c (binop_result_type, integral_type, character_type, + boolean_type, structured_type, value_true, binop_type_check): + Add language_chill cases. + * language.h (_LANG_chill): Define. + * symfile.c (deduce_language_from_filename): Recognize the + filename extensions ".chill", ".c186", and ".c286" for Chill. + * valprint.c (typedef_print): Add case for language_chill. + * Makefile.in (SFILES_MAINDIR): Add ch-exp.y. + * Makefile.in (YYFILES): Add ch-exp.tab.c. + * Makefile.in (YYOBJ): Add ch-exp.tab.o. + * Makefile.in (saber_gdb): Add unload of ch-exp.y and load + of ch-exp.tab.c. + * Makefile.in (distclean): Add target ch-exp.tab.c. + * Makefile.in (realclean): Add rm of ch-exp.tab.c. + * Makefile.in (ch-exp.tab.o, ch-exp.tab.c): New targets. + * eval.c (evaluate_subexp): Add OP_BOOL case. + * expprint.c (print_subexp): Add OP_BOOL case. + +Fri Nov 13 20:36:28 1992 John Gilmore (gnu@cygnus.com) + + * infcmd.c (set_environment_command): Avoid skipping first + char of env value if an '=' appears in it. Bug report and fix + by Mark Jungerman, . + +Fri Nov 13 20:24:10 1992 Stu Grossman (grossman at cygnus.com) + + * infcmd.c (step_over_calls): Improve comments. + * symtab.c (find_pc_psymtab): Clean up a bit. + * (find_pc_symtab): Fix comments, clean up code. + * (find_pc_line): General cleanups, efficiency improvements. + Also, don't return garbage when some line info exists, but there + was no good match. + +Thu Nov 5 23:04:38 1992 Rob Ryan (rr2b@andrew.cmu.edu) + + * xcoffexec.c (vmap_symtab): fixed a bug where if a object has no + member, and the stat pointer passed to vmap_symtab was NULL, the + wrong vmap entries would be modified. Fixes behavior where + attempting to load symbols for a module with no member would mess + up already read in symbols. + +Wed Nov 11 17:09:17 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Remove dependancies for 29k-share/dfe/yank.o and + 29k-share/dfe/mini2udi.o. + * config/a29k-udi.mt: Remove yank.o and mini2udi.o. + * alldeps.mak, depend: Update to deal with removal of + aforementioned files. + * remote-udi.c: Major cleanups. Clean up udi_open and drop + requirement for useless 'program' argument. Clean up + udi_create_inferior, and udi_load to call common download() + routine. Create download routine to load remote hosts directly + (with the help of BFD) so that we don't need yank.c and + mini2udi.c. + Fix udi_detach to call UDIDisconnect with + the right arguments. Clean up udi_resume, don't assign tip_error + twice. Clean up udi_wait, straighten out status codes. Make + udi_kill really work. + +Fri Nov 6 10:26:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * c-exp.y: separated host/target idea of integer type size, + removed redundant parse rules. (YYSTYPE): added typed_val, removed + UINT and CHAR rules. (parse_number): work out the targetwise type + of a number based upon it's size and qualifiers. (yylex): chars + are now treated the same way as ints. + + * source.c (indentify_source_line): don't core dump if wanted + line is larger than number of lines in source. (can happen when + coff gets confused about #included source). + +Fri Nov 6 03:00:39 1992 John Gilmore (gnu@cygnus.com) + + Fix problems noticed by Allan Steel, , + when debugging a program with 100 shared libraries. + + * solib.c (solib_map_sections): Always close the BFD we open. + Free all malloc'd storage we allocate, too, including error cases. + (struct so_list): Remove unused so_bfd member. + (clear_solib): Don't bother closing so_bfd. + + * symfile.c (symfile_bfd_open): Mark newly opened BFD as + cacheable. `So many symbol files, so little file descriptors.' + +Fri Nov 6 00:14:38 1992 John Gilmore (gnu@cygnus.com) + + * m68k-stub.c: Remove ansidecl.h and the few uses of it. + Stubs should stand alone as much as possible. + + * source.c (show_directories): Avoid printf_filtered length prob + pointed out by Jonathan Stone. + + * i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper limit properly to + avoid accesses beyond end of table. Fix by Lee W. Cooprider, + . + +Thu Nov 5 17:33:08 1992 Fred Fish (fnf@cygnus.com) + + * {ser-bsd.c, ser-termios.c} (serial_close): Pass address of + struct, not struct itself. + * serial.h (serial_restore): Fix prototype, takes pointer not + struct. + +Thu Nov 5 17:12:42 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (depend): Add nm.h to the list of things to fixup. + * depend: Redo, to fixup nm.h problems with *-tab.c files. + +Thu Nov 5 00:19:51 1992 John Gilmore (gnu@cygnus.com) + + * i386-stub.c: Remove ansidecl.h and the few uses of it. + Stubs should stand alone as much as possible. + + * README: Add remote-es1800.c and remote-st2000.c to table. + * go32-nat.c: Remove, there is no native go32 support. + * go32-xdep.c: Remove unused fork, fvork, wait, execlp, kill_inferior. + +Wed Nov 4 15:27:31 1992 Stu Grossman (grossman at cygnus.com) + + * inflow.c (pass_signal, set_sigint_trap, clear_sigint_trap): Add + new routines to deal with sending SIGINTs to attached processes + when the user interrupts the controlling GDB. + * inftarg.c (child_wait), procfs.c (procfs_wait): Add calls to + the aforementioned routines when waiting for the attached process. + + * elfread.c, mipsread.c: Include . + * i386-stub.c: Include "ansidecl.h" to deal with prototypes. + * serial.h: Add prototype for serial_restore(). + +Wed Nov 4 11:13:25 1992 Ian Lance Taylor (ian@cygnus.com) + + * minsyms.c (lookup_minimal_symbol_by_pc): subtract 1, not 2, from + minimal_symbol_count, because the NULL symbol is not included in + the count. This prevented this function from finding the last + symbol in the table. + +Tue Nov 3 11:29:17 1992 Ian Lance Taylor (ian@cygnus.com) + + * dbxread.c (process_one_symbol): if not defined + (BLOCK_ADDRESS_FUNCTION_RELATIVE), set function_start_offset at + the start of the function, not just after N_FUN. + +Fri Oct 30 16:33:02 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add sed patterns to + remap all malloc's to xmalloc's and all realloc's to xrealloc's. + * c-exp.y, m2-exp.y: Add comment about how malloc/realloc are + remapped to xmalloc/xrealloc, use only malloc/realloc in grammer + file. Remove preprocessor defines that previously did remapping. + +Fri Oct 30 00:58:18 1992 John Gilmore (gnu@cygnus.com) + + * infcmd.c (run_command): Avoid long calls to printf_filtered. + Bug fix courtesy of Alexander Klaiber. + +Tue Oct 27 17:08:45 1992 K. Richard Pixley (rich@cygnus.com) + + hp300 native support (hp300hpux untested). + + * hp300ux-xdep.c: removed. + * xm-hp300bsd.h (REGISTER_U_ADDR): removed. + * xm-hp300hpux.h: updated copyright. + (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed. + * nm-hp300bsd.h, nm-hp300hpux.h, hp300ux-nat.c: new files. + * Makefile.in (HFILES): added nm-hp300bsd.h and nm-hp300hpux.h. + * config/hp300bsd.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/hp300bsd.mt (TDEPFILES): removed exec.o. + * config/hp300hpux.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/hp300hpux.mt (TDEPFILES): removed exec.o. + + Vax ultrix native support. + + * nm-vax.h: new file. + * Makefile.in (HFILES): added nm-vax.h. + * config/vaxult.mh (XDEPFILES): infptrace.o inftarg.o fork-child.o + coredep.o corelow.o removed. + (NAT_FILE, NATDEPFILES): new macros. + * xm-vax.h: updated copyright. + (REGISTER_U_ADDR): removed. + + Apollo native support (untested). + + * Makefile.in (HFILES): added nm-apollo68[bv].h. + * a68v-nat.c, nm-apollo68[bv].h: new files. + * xm-apollo68[bv].h (FETCH_INFERIOR_REGISTERS): removed. + * xm-apollo68b.h (PTRACE_IN_WRONG_PLACE): removed. + * a68v-xdep.c: removed. + * config/apollo68[bv].mh (XDEPFILES): removed infptrace.o + inftarg.o fork-child.o a68v-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + + * defs.h: include nm.h. + * coredep.c, infptrace.c, procfs.c, rs6000-nat.c, sparc-nat.c, + sparc-tdep.c, : do not include nm.h. + * doc/gdbint.texinfo: nm.h now included in defs.h. + +Fri Oct 23 04:47:17 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (VERSION): 4.7.1 post release! + + * config/hppahpux.mh (NATDEPFILES): Add hppah-nat.o. + +Fri Oct 23 00:48:08 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): gdb-4.7 release. + * README: Update for gdb-4.7. + +Thu Oct 22 11:24:18 1992 Stu Grossman (grossman at cygnus.com) + + * sparc-tdep.c: include nm.h (for now) so that we get USE_PROC_FS + when necessary. + + * alldeps.mak, depend: Update. + +Thu Oct 22 03:14:36 1992 John Gilmore (gnu@cygnus.com) + + * partial-stab.h ('f', 'F'): Don't reference pst->textlow if pst + is null. + * tm-sun4sol2.h (PROLOGUE_FIRSTLINE_OVERLAP): Remove -- it + causes problems in setting breakpoint in the right place in + functions with `float' args which are passed as doubles. + * xm-vaxbsd.h (MEM_FNS_DECLARED): Avoid erroneous redecl's. + * config/rs6000.mh (NATDEPFILES): Add corelow.o. + +Thu Oct 22 01:01:24 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (HFILES): Add nm-i386sco.h. + * dwarfread.c: include for SCO. + * infptrace.c: Don't include ptrace.h under SCO. + * config/i386sco.mh: Use -D_POSIX_SOURCE instead of -posix for + gcc. + * config/i386v.mt: Add exec.o to TDEPFILES. + +Wed Oct 21 19:08:20 1992 Stu Grossman (grossman at cygnus.com) + + * i386v-nat.c: Remove space from front of #endif. + * irix4-nat.c: Remove externs of registers[], include inferior.h + instead. + * mips-nat.c: Explicitly initialize zerobuf to 0! + * mips-tdep.c (init_extra_frame_info): Undo John's last change. + Always setup fci->frame, even if it's non-zero. Too many places + depend upon this behavior (and I have to get a release out the + door)! + * mipsread.c (parse_partial_symbols, psymtab_to_symtab_1): Set + processing_gcc_compilation if we find the embedded stabs marker. + This fixes several bugs with finding the location of short or char + function parameters passed on the stack. + +Wed Oct 21 17:46:07 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Native support for sun4sol2. + + * xm-sysv4.h (USE_PROC_FS, ATTACH_DETACH): removed to nm-sysv4.h. + * nm-sysv4.h: new file. + * Makefile.in (HFILES): added nm-sysv4.h. + * config/sun4sol2.mh (XDEPFILES): removed procfs.o fork-child.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/sun4sol2.mt (TDEPFILES): removed exec.o and solib.o. + +Wed Oct 21 03:51:01 1992 John Gilmore (gnu@cygnus.com) + + * coredep.c: Include "nm.h" to get REGISTER_U_ADDR. + * doc/gdbint.texinfo: Improve REGISTER_U_ADDR and USE_PROC_FS doc. + + * Makefile.in (VERSION): Tick to 4.6.9. + +Tue Oct 20 23:27:56 1992 John Gilmore (gnu@cygnus.com) + + * mipsread.c (UNSAFE_DATA_ADDR): Remove MIPS-host-specific + definition, replace with portable one. + * remote-nindy.c: Lint. + (nindy_wait): Return type is int, result is inferior_pid. + * symmisc.c (dump_psymtab): Only print section_offsets if set. + (initialize_symmisc): Remove empty function. + * tm-spc-noun.h, tm-sun4os4.h, tm-sun4sol2.h (STACK_END_ADDRESS): + Remove obsolete, misspelled macro. + * doc/gdbint.texinfo: Document obsolete STACK_END_ADDR. + (all @node commands): Use new form to avoid nitpicking errors. + * doc/gdbint.texinfo: Document host/native/target split. + +Wed Oct 21 00:14:34 1992 Stu Grossman (grossman at cygnus.com) + + * mips-nat.c (zerobuf): Get rid of const to avoid gcc warnings. + + * xm-mips.h (offsetof): Don't define this if __STDC__. + +Tue Oct 20 21:32:18 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + umax native support (untested). + + * config/umax.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/umax.mt (TDEPFILES): removed exec.o. + * xm-umax.h (U_REGS_OFFSET, ATTACH_DETACH, REGISTER_U_ADDR): + removed to nm-umax.h. + * nm-umax.h: new file. + * Makefile.in (HFILES): added nm-umax.h. + + hppa native support (untested). + + * config/hppahpux.mh, config/hppabsd.mh (XDEPFILES): now empty. + (NAT_FILE, NATDEPFILES): new macros. + * config/hppabsd.mt (TDEPFILES): removed exec.o and hppab-core.o. + * config/hppahpux.mt (TDEPFILES): removed exec.o. + * xm-hppa[bh].h (REGISTER_U_ADDR, U_REGS_OFFSET): removed. + * nm-hppa[bh].h, hppa[bh]-nat.c: new files. + * hppa[bh]-xdep.c: removed. + * hppa[bh]h-tdep.c: do not include ptrace.h. + * Makefile.in (HFILES): added nm-hppa[bh].h. + + * doc/gdbint.texinfo: add PUSH_DUMMY_FRAME, POP_FRAME. + +Tue Oct 20 00:01:46 1992 Stu Grossman (grossman at cygnus.com) + + * mips-nat.c: Straighten out include files. Work around + conflicting defs of JB_xxx syms in and + for Ultrix-4.2. + +Mon Oct 19 15:09:57 1992 Stu Grossman (grossman at cygnus.com) + + * mips-nat.c (fetch_core_registers, register_addr): Copy from + coredep.c, but zero out FP_REGNUM & ZERO_REGNUM so that stack + backtraces from core files work. + * config/decstation.mh, config/irix3.mh: Remove coredep.o. + Functions are now defined in mips-nat.c. + + * tm-irix3.h: Put MIPS_EFI_SYMBOL_NAME in here too. + + * remote-hms.c: Disable all uses of serial_nextbaudrate and + serial_default_name(). + + * remote-hms.c, ser-go32.c, serial.h: Change from + serial_timedreadchar() to new serial_readchar(). + + * Makefile.in (HFILES): Fixup list of nm-*.h files. Add missing ones. + +Mon Oct 19 12:45:23 1992 Per Bothner (bothner@cygnus.com) + + * c-exp.y: Moved handling of 'const' and 'volatile' from + to . This removes 2 conflicts. + +Sun Oct 18 00:36:30 1992 Fred Fish (fnf@cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Don't delete watchpoints + from breakpoint table when reseting breakpoints. + +Sat Oct 17 00:59:23 1992 Fred Fish (fnf@cygnus.com) + + Native support cleanup and corefile fixes for i386 SVR4 systems. + + * i386-tdep.c (supply_gregset, fill_gregset, supply_fpregset, + fill_fpregset): Moved to i386v4-nat.c + * i386v4-nat.c, nm-i386v4.h, : New files. + * i386sol2.mh, i386v4.mh, ncr3000.mh (NAT_FILE): Use nm-i386v4.h. + * i386sol2.mh, i386v4.mh, ncr3000.mh (NATDEPFILES): Add corelow.o, + change i386v-nat.o to i386v4-nat.o. + +Fri Oct 16 13:06:08 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Miscellaneous 386 configs updated. + + * config/i386aout.mt (TDEPFILES): removed exec.o. + * config/i386sol2.mh, config/ncr3000.mh, config/i386v4.mh + (XDEPFILES): removed procfs.o fork-child.o i386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/i386aout.mt, config/i386sol2.mt, config/ncr3000.mt, + config/i386v4.mt (TDEPFILES): removed exec.o. + * config/i386v32.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o i386-xdep.o i387-tdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/i386sco.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o i386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + + Native support cleanup for i386bsd (untested). + + * config/i386bsd.mt (NATDEPFILES): exec.o removed. + * config/i386bsd.mh (NATDEPFILES): added exec.o + * tm-i386bsd.h (FLOAT_INFO): removed. + * nm-i386bsd.h (FLOAT_INFO): added. + + Native support for i386v (untested). + + * config/i386v.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o i386-xdep.o i387-tdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/i386v.mt (TDEPFILES): removed exec.o, added i387-tdep.o. + * i386-xdep.c: removed. + * Makefile.in (HFILES): added nm-i386v.h + * i386v-nat.c, nm-i386v.h: new file. + * xm-i386v.h: (REGISTER_U_ADDR, i386_register_u_addr): removed to + nm-i386v.h. + * tm-i386v.h (FLOAT_INFO): removed. + + Native support for linux (untested). + + * config/linux.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o i387-tdep.o i386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/linux.mt (TDEPFILES): removed exec.o, added i387-tdep.o. + * Makefile.in (HFILES): added nm-linux.h. + * nm-linux.h: new file. + * xm-linux.h: updated copyright. cleaned up formatting. + (ATTACH_DETACH, U_REGS_OFFSET): removed to nm-linux.h. + + Native support for sun386 (untested). + + * config/sun386.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o sun386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/sun386.mt (TDEPFILES): removed exec.o. + * Makefile.in (HFILES): added nm-sun386.h. + * sun386-nat.c, nm-sun386.h: new file. + * sun386-xdep.c: removed. + * xm-sun386.h: updated comment and copyright. + (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed to + nm-sun386.h. + + Native support for i386mach (untested). + + * config/i386mach.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o mach386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * Makefile.in (HFILES): added nm-i386mach.h. + * nm-i386mach.h, i386mach-nat.c: new files. + * mach386-xdep.c: removed. + * xm-i386mach.h: updated copyright. + (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed to + nm-i386mach.h. + + Native separation for go32 (untested). + + * config/go32.mh (NAT_FILE, NATDEPFILES): new macros. + * go32-nat.c: new file. + * go32-xdep.c (call_ptrace, child_resume, + fetch_inferior_registers, store_inferior_registers, + child_xfer_memory, fetch_core_registers): removed to go32-nat.c. + + Native support for m88k (untested). + + * Makefile.in (HFILES): added nm-m88k.h + * xm-delta88.h, xm-m88k.h (REGISTER_U_ADDR, + FETCH_INFERIOR_REGISTERS): removed. + * config/m88k.mh, config/delta88.mh (XDEPFILES): infptrace.o + inftarg.o fork-child.o m88k-xdep.o removed to NATDEPFILES. + (NAT_FILE, NATDEPFILES): new macros. + * config/m88k.mt, config/delta88.mt (TDEPFILES): removed exec.o. + * m88k-nat.c, nm-m88k.h, nm-delta88.h: new files.o. + * m88k-xdep.c: removed. + +Fri Oct 16 04:16:30 1992 John Gilmore (gnu@cygnus.com) + + * i386b-nat.c: Comment changes. + * nm-i386bsd.h, xm-i386bsd.h: Split native dependent pieces out + into new nm-file. + * config/i386bsd.mh (NAT_FILE): Point to new nm-file. + +Fri Oct 16 03:34:01 1992 John Gilmore (gnu@cygnus.com) + + Avoid longjmp()-catching compilation errors in cross-ports. + + * doc/gdbint.texinfo: Update GET_LONGJMP_TARGET, L_SET doc. + * irix4-nat.c, mips-nat.c (JB_ELEMENT_SIZE, get_longjmp_target): + Move from mips-tdep.c and tm-{irix3,mips}.h. + * mips-nat.c: Remove a bunch of code that was ifdef'd out of + native MIPS ports. + * nm-irix3.h, nm-mips.h (GET_LONGJMP_TARGET): Move from tm-irix3.h + and tm-mips.h. + + * ultra3-nat.c (register_addr): Move from ultra3-xdep.c. + (fetch_core_registers): Fix bfd_seek arguments. + +Fri Oct 16 03:02:28 1992 John Gilmore (gnu@cygnus.com) + + Make core files work again (add back the `core' target). + + * config/decstation.mh, news.mh, sun2os3.mh, sun2os4.mh + (NATDEPFILES): Add corelow.o. + * config/delta88.mt, m88k.mt (TDEPFILES): Remove coredep.o, it's + native dependent. + + * config/3b1.mh, bigmips.mh, hp300bsd.mh, hppabsd.mh, hppahpux.mh, + i386sco.mh, i386v.mh, i386v32.mh, irix3.mh, isi.mh, linux.mh, + littlemips.mh, merlin.mh, news1000.mh, pn.mh, rtbsd.mh, tahoe.mh, + vaxbsd.mh, vaxult.mh (XDEPFILES): Add corelow.o whenever coredep.o + appears. FIXME, these should be moved to NATDEPFILES for native + use only. + +Thu Oct 15 21:53:53 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Ultra3 host/target/native split. (untested). + + * ultra3-xdep.c: updated copyright. Do not include sys/ptrace.h. + (fetch_register, fetch_inferior_registers, + store_inferior_registers, fetch_core_registers): removed to + ultra3-nat.c. + * xm-ultra3.h (FETCH_INFERIOR_REGISTERS, U_REGS_OFFSET): removed + to nm-ultra3.h. + * Makefile.in (HFILES): added nm-ultra3.h. + * nm-ultra3.h, ultra3-nat.c: new files for native support. + * config/ultra3.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o. + (NAT_FILE, NATDEPFILES): new macros for native support. + * config/ultra3.mt (TDEPFILES): exec.o removed. + + * xm-vaxult.h: add MEM_FNS_DECLARED. + +Thu Oct 15 02:59:30 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): Roll to 4.6.8. + (OBS): Put version.o first, so Makefile rebuild happens early. + + * command.h: Publicize prototype for not_just_help_class_command. + * command.c: Remove proto. + * maint.c: Mark "mt" as an abbrev, to avoid duplicated help + output. Move "maint info" from class info to class maintenance, + and improve text. + * infrun.c: Move "stop" to class_obscure, and give it a + function so it will not be seen as a global help topic. FIXME, + it should be possible to set these attributes independently. + + * core.c (core_command): Make nicer error message for no core support. + + Lint around file_ptr's (bfd's off_t's) and bfd_seek. + + * dbxread.c (read_dbx_symtab): Use L_SET as bfd_seek arg. + (elfstab_build_psymtabs): staboffset and stabstroffset args are + file_ptr's. + * dwarfread.c (struct dwfinfo): Convert dbfoff, lnfoff to file_ptr. + (scan_compilation_units): Punt unused filename arg. dbfoff, + lnoffset, and curlnoffset are file_ptr's now. + (dwarf_build_psymtabs): Drop desc and filename args; use + objfile. dbfoff and lnoffset are file_ptr's now. + (read_ofile_symtab): foffset is now file_ptr. Use L_SET in bfd_seek. + * elfread.c (struct elfinfo): dboffset and lnoffset are file_ptr's. + (elf_symfile_read): Skip desc and filename args to + dwarf_build_psymtabs. Pass file_ptr's to elfstab_build_psymtabs. + * gdb-stabs.h: Use file_ptr rather than off_t. + * mipsread.c (fixup_symtab): f_ptr is a file_ptr. Re-enable + compile-time debug check that someone turned off as "unused". + (read_the_mips_symtab): st_filptr is a file_ptr. Fix bfd_seek call. + * symfile.h: Update dwarf_build_psymtabs and + elfstab_build_psymtabs prototypes. + * xcoffread.c (init_stringtab, init_lineno, xcoff_symfile_read): + Use file_ptr offsets. bfd_seeks use L_SET. + +Thu Oct 15 01:27:32 1992 Stu Grossman (grossman at cygnus.com) + + * mips-tdep.c, mipsread.c, tm-mips.h: Get rid of ".gdbinfo." + symbol. #define MIPS_EFI_SYMBOL_NAME instead. Use different + value so that demangler won't be invoked. This greatly speeds up + stepping. + * mips-tdep.c (mips_pop_frame): Rewrite handling of + linked_proc_info so that it properly deallocates the appropriate + item after it is done with it instead of before. + * Don't pass bogus frame pointer to create_new_frame(). Just + leave it as zero so that lower level code will figure out the + correct value. + +Wed Oct 14 18:56:28 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Sony News native support. + + * Makefile.in (HFILES): added nm-news.h. + * nm-news.h: new file. + * config/news.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o to NATDEPFILES. + (NAT_FILE, NATDEPFILES): new macros for native support. + * config/news.mt (TDEPFILES): removed exec.o. + + * remote-vx.c: remove redundant include of sys/time.h. + + * infrun.c: include ctype.h. Otherwise some machines result in + undefined for isdigit. + +Tue Oct 13 01:27:14 1992 John Gilmore (gnu@cygnus.com) + + * configure.in: Convert m68k entries to m68* entries to handle + all the various m68xxx hosts and targets. + * config/news1000.mt: No longer needed, same as news.mt. + +Fri Oct 9 18:54:37 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/sun3os[34].mh (NATDEPFILES): remove duplicate inftarg.o. + +Fri Oct 9 14:20:08 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (HFILES): Add all nm-irix3.h, nm-irix4.h, + nm-sun2.h, nm-mips.h. + + * config/irix3.mh (NATDEPFILES): nat-mips.o => mips-nat.o. + + * Makefile.in (alldeps.mak): Add = sign after NATDEPFILES. + + * config/bigmips.mh config/littlemips.mh: Remove mips-xdep.o. + +Fri Oct 9 08:41:11 1992 Ian Lance Taylor (ian@cygnus.com) + + * xm-hppah.h: if __STDC__ is not defined, define + HPPA_COMPILER_BUG. + symtab.c (decode_line_1): avoid a bug in the HP9000/700 native + compiler; see the comment in the file. + +Fri Oct 9 04:43:43 1992 John Gilmore (gnu@cygnus.com) + + First cut at support for all BSD variants on 386. + + * tm-i386bsd.h, xm-i386bsd.h: New config files. + * i386b-nat.c: New native support file. + * configure.in: Add host and target for i[34]86-*-bsd*. + * config/i386bsd.mh, config/i386bsd.mt: New config files. + +Fri Oct 9 00:31:33 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Sun2 native support (untested). + + * xm-sun2.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS, + REGISTER_U_ADDR): removed to nm-sun2.h. + * nm-sun2.h: new file. + * config/sun2os[34].mh (XDEPFILES): infptrace.o inftarg.o + fork-child.o sun3-xdep.o removed. + (NAT_FILE, NATDEPFILES): new macros. + + Mips native support. Decstation and iris4 have been tested. + Iris3 has not. + + * mips-tdep.c (supply_gregset, fill_gregset, supply_fpregset, + fill_fpregset): removed to irix4-nat.c + * mips-xdep.c: removed. + * irix4-nat.c, mips-nat.c, nm-irix3.h, nm-irix4.h, nm-mips.h: new + files. + * procfs.c: include nm.h. + * xm-irix3.h (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS): removed. + * xm-irix4.h: bump copyright. + (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS, USE_PROC_FS, + PROC_NAME_FMT): removed. + * xm-mips.h (FETCH_INFERIOR_REGISTERS): removed. + * config/irix4.mh (XDEPFILES): removed procfs.o fork-child.o. + (NAT_FILE, NATDEPFILES): new macros for native support. + (CC): supply default compiler switches. + * config/irix3.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o. + (NAT_FILE, NATDEPFILES): new macros for native support. Note that + irix3 is untested. + * config/decstation.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o mips-xdep.o coredep.o. + (NAT_FILE, NATDEPFILES): new macros for native support. + +Thu Oct 8 23:50:51 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/rs6000.mh (XDEPFILES): removed fork-child.o. + (NATDEPFILES): added fork-child.o + * config/sun3os3.mh (XDEPFILES): removed fork-child.o. + (NATDEPFILES): added fork-child.o + * config/sun3os4.mh (XDEPFILES): removed fork-child.o. + (NATDEPFILES): added fork-child.o + +Thu Oct 8 23:19:25 1992 John Gilmore (gnu@cygnus.com) + + * infcmd.c (path_info): Avoid 250-char limit on printf_filtered, + by using puts_filtered instead. + +Fri Oct 9 00:28:25 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * remote-nindy.c (nindy_load): Replacement version from Steve + Chamberlain, doesn't require forking to run "strip" or "sx". + +Thu Oct 8 18:27:35 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (HFILES): Add nm-*.h files. + +Thu Oct 8 16:27:45 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/sun4os4.mh (XDEPFILES): fork-child.o removed. + (NATDEPFILES): added fork-child.o. + + * doc/gdbint.texinfo: document a few more macros, create new + section for native macros. + +Thu Oct 8 13:52:46 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in alldeps.mak depend: Rip out 29k/udi pending + resolution of copyright issues. + +Wed Oct 7 20:08:53 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (setup-to-dist): Remove -norecursion so that doc + subdir gets configured. + +Wed Oct 7 12:24:01 1992 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (nindy.o): Define "STRIP" as pathname of strip + program. + * nindy-share/nindy.c (coffstrip): Use that pathname, instead of + searching for a "bfd_strip" program. Also, fixed up arguments + passed to that program. + + * tm-nindy960.h (ADDITIONAL_OPTIONS): Use "-ser" rather than "-r", + which is now used for something else. Rewrite description of + associated parameters to match how gdb does it now. + (ADDITIONAL_OPTION_HELP): Fix message accordingly. + + * m68k-pinsn.c (print_insn_arg): Handle new "`" operand type. + +Tue Oct 6 14:47:11 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + NOTICE_SIGNAL_HANDLING_CHANGE macro added to the target vector as + to_notice_signals. + + * inferior.h (proc_signal_handling_change): prototype removed. + * infrun.c (NOTICE_SIGNAL_HANDLING_CHANGE): default removed. + (handle_command): now calls target_notice_signals. + * procfs.c (proc_signal_handling_change): renamed to + procfs_notice_signals. Now static. Add prototype. All callers + changed. + * target.h (struct target_ops): new field, to_notice_signals. + (target_notice_signals): new macro to cover new field. + * target.c (cleanup_target): default to_notice_signals to ignore. + * corelow.c (core_ops), + exec.c (exec_ops), + inftarg.c (child_ops), + procfs.c (procfs_ops), + remote-adapt.c (adapt-ops), + remote-eb.c (eb_ops), + remote-es1800.c (es1800_ops, es1800_child_ops), + remote-hms.c (hms_ops), + remote-mm.c (mm_ops), + remote-nindy.c (nindy_ops), + remote-st2000.c (st2000_ops), + remote-udi.c (udi_ops), + remote-vx.c (vx_ops, vx_run_ops), + remote.c (remote_ops), + target.c (dummy_target), + xcoffexec.c (exec_ops): added static initializer for + to_notice_signals. + * xm-irix4.h, xm-sysv4.h (NOTICE_SIGNAL_HANDLING_CHANGE): removed. + +Tue Oct 6 12:13:08 1992 John Gilmore (gnu@cygnus.com) + + * main.c (define_command): Add forgotten initializer. + +Tue Oct 6 02:23:17 1992 John Gilmore (gnu@cygnus.com) + + * language.c, language.h: Move saved_language out to global + expected_language. Set expected_language when user expectation + changes. + * language.c (language_info): Don't print type/range checking gub. + * main.c (main): Set expected language. + (execute_command): Check against expected language. + * symfile.c (set_initial_language): Set expected language. + + * configure.in, config/i386sol2.{mh,mt}: Preliminary Solaris-x86 conf. + +Fri Sep 4 00:34:30 1992 Per Bothner (bothner@rtl.cygnus.com) + + A bunch of changes mostly to improve debugging of C++ programs. + Specifically, the calling of inferiors methods is improved. + + * value.h: New macros METHOD_PTR_IS_VIRTUAL, + METHOD_PTR_FROM_VOFFSET, METHOD_PTR_TO_VOFFSET to partially + hide the implementation details of pointer-to-method objects. + How to tell if the pointer points to a virtual method is + still very dependent on the particular compiler, but this + should make it easier to find the places to change. + * eval.c (evaluate_subexp [case OP_FUNCALL]), valprint.c + (val_print [case TYPE_CODE_PTR]): Use the new METHOD_PTR_* + macros, instead of a hard-wired-in code that incorrectly + assumed a no-longerused representation of pointer-to-method + values. And otherwise fix the relevant bit-rotted code. + + * valprint.c (type_print_base [case TYPE_CODE_STRUCT]): + If there are both fields and methods, put a space between. + + * stabsread.c (read_struct_type): Fix bug in handling of + GNU C++ anonymous type (indicated by CPLUS_MARKER followed + by '_'). (It used to prematurely exit the loop reading in + the fields, so it would think it should start reading + methods while still in the fields. This could crash gdb + given a gcc that can emit nested type information.) + + * valops.c (search_struct_method): Pass 'this' value by + reference instead of by value. This provides a more + consistent interface through a recursive search where the + "bottom" functions may need to adjust offsets (due to multiple + inheritance). + * valops.c, value.h, values.c: Pass extra parameters to + value_fn_field and value_virtual_fn_field so we can + correctly adjust offset for multiple inheritance. + * eval.c (evaluate_subexp [case OP_FUNCALL]): Simplify + virtual function calls by using value_virtual_fn_field(). + * values.c: New function baseclass_offset, derived from + baseclass_addr (which perhaps can be made obsolete?). + It returns an offset rather than an address. This is a + cleaner interface since it doesn't mess around allocating + new values. + * valops.c (search_struct_method): Use baseclass_offset + rather than baseclass_addr. + +Mon Oct 5 16:02:04 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Re-install 29K/UDI stuff. + * remote-udi.c (udi_resume): Clean up. + * (udi_wait): Rewrite, leave out bugs. + * Add debugging code to print out all register fetches and stores. + * Straighten out target_ops. + * tm-29k.h (DUMMY_FRAME_RSIZE): Pad out to doubleword. + +Mon Oct 5 09:46:44 1992 Ian Lance Taylor (ian@cygnus.com) + + * remote-udi.c (udi_create_inferior): run with no arguments should + not pass the program name as an argument, since the UDI code + already handles that. + (udi_load): get the symbols from prog_name, not arg_string (the + load command should really use arg_string as the program name, not + prog_name, but at least the run command works now). + + * munch: HP9000/300 nm puts an extra space between T and symbol + name. + + * config/irix4.mh: added -lsun to XM_CLIBS to get RPC functions + needed for vxworks targets. + +Fri Oct 2 22:04:42 1992 John Gilmore (gnu@cygnus.com) + + * am29k-tdep.c (_initialize_29k): Make it possible for the + user to set and query the address where function calls into the + inferior write a small scratch routine. `set call_scratch_address' + * inferior.h (PC_IN_CALL_DUMMY): Fix fencepost error. + * remote.c (remote_prepare_to_store): Only fetch regs if they are + not already cached validly. + +Thu Oct 1 14:36:42 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Rs6000 native support. + + * infptrace.c: remove #ifdef USG from around include ptrace.h. + machines without this header should not be compiling this file. + * nm-rs6000.h, rs6000-nat.c: new files for native support. + * rs6000-tdep.c: do not include sys/ptrace.h or sys/reg.h. + * rs6000-xdep.c: removed. all code now in rs6000-nat.c. + * xm-rs6000.h: do not include ptrace.h. + (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to nm-rs6000.h. + * config/rs6000.mh (XDEPFILES): removed rs6000-xdep.o. + infptrace.o and inftarg.o move to NATDEPFIES. + (NAT_FILE, NATDEPFILES): new macro for native support. + + Sun3 native support. + + * config/sun3os3.mh, config/sun3os4.mh (NAT_FILE, NATDEPFILES): + new macros for native support. + (XDEPFILES): moved infptrace.o and inftarg.o to NATDEPFILES, + removed sun3-xdep.o. + * xm-sun3.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to + nm-sun3.h. + * sun3-xdep.c: removed. All code is now in sun3-nat.c. + * sun3-nat.c, nm-sun3.h: new files for native support. + +Thu Oct 1 10:30:54 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (dbsize): New variable to hold size of dwarf info. + * dwarfread.c (dwarf_build_psymtabs): Rename dbsize parameter to + dbfsize and use it to initialize new local file scope dbsize. + * dwarfread.c (read_ofile_symtab): Initialize dbsize and use it. + * dwarfread.c (basicdieinfo): Use dbsize to check for oversize + DIEs as well as the current check for undersize DIEs. This helps + to gracefully detect and reject corrupted DIE information. + +Thu Oct 1 01:57:56 1992 John Gilmore (gnu@cygnus.com) + + Add `command hooks' and a hook for inferior program stopping. + + * command.h (struct cmd_list_element): Remove unused `aux' + field. Add new `hook', `hookee', and `cmd_pointer' fields. + * command.c (add_cmd): Initialize new fields, elim old. + (add_alias_cmd): Clone new fields. + (delete_cmd): Un-hook hookee if we're deleting hook. + (help_cmd): Tell user the command is hooked, if it is. + (lookup_cmd_1): Abbreviations return the original command + instead of themselves, so that hooks on the original cmd will be + run. + * defs.h (enum command_class): Add class_pseudo and comments. + * gdbcmd.h (execute_user_command): Add prototype. + * infrun.c (normal_stop): If the stop command is hooked, + run the hook whenever we stop. + (hook_stop_stub): Stub for catch_errors. + (_initialize_infrun): Set up pseudo "stop" command. + * main.c (execute_user_command): Code extracted from execute_command. + (execute_command): If hooked, run the hook before the command. + (define_command): If defining a new hook, check the command it + is hooking, and warn if none. Install the hook. + * source.c (_initialize_source): "l" is an abbrev for "list". + * doc/gdb.texinfo: Document command hooks. + + * Makefile.in (VERSION): Roll to 4.6.7. + * config/sun4os4.mh: Remove dup inftarg.o from NATDEPFILES. + * infrun.c (breakpoints_inserted): Make it static again. + * tm-symmetry.h (FLOAT_INFO): #if 0 it for cross-ptrace abuse. + +Wed Sep 30 15:33:22 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Native file renaming. + + * nat-sparc.c -> sparc-nat.c + * nat-sun4os4.h -> nm-sun4os4.h + * nat-trash.h -> nm-trash.h + * config/sun4os4.mh: track file renaming. + * configure.in: link to nm.h rather than nat.h. + * infptrace.c: include nm.h rather than nat.h. + +Tue Sep 29 14:35:00 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Host/target/native split for sun4. + + * Makefile.in (TSOBS): removed corelow.o. + * infptrace.c: included nat.h. + * nat-trash.h: temporary header file. This should be removed once + all hosts have the native/host/target split. + * configure.in: add a symlink from nat-trash.h to nat.h if no + other nat file exists for this configuration. + * sparc-tdep.c: no longer include sys/ptrace.h. + * sparc-xdep.c: removed. contents have been moved to nat-sparc.c. + * xm-sparc.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to + nat-sun4os4.h. + * nat-sparc.c, nat-sun4os4.h: new files for sun4 native support. + * config/sun4os4.mh (XDEPFILES): moved infptrace.o and inftarg.o + to NATDEPFILES. removed sparc-xdep.o. + (NATDEPFILES, NAT_FILE): new macros for native support. + + Break the direct connection from core_file_command to any + particular type of core file support. + + * target.h (find_core_target): new prototype. + * target.c (find_core_target): new function. Walks the target + list looking for the core target. + * core.c (core_file_command): replace calls to core_detach and + core_open with find_core_target and direct calls. + +Tue Sep 29 10:19:00 1992 Ian Lance Taylor (ian@cygnus.com) + + * xm-hp300hpux.h: define MEM_FNS_DECLARED; include + for infptrace.c. + config/hp300hpux.mh: ALLOCA1 was not defined. + +Mon Sep 28 22:03:41 1992 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c, exec.c, language.c, main.c, printcmd.c, symfile.c, + target.c, valprint.c: Use unfiltered forms of f/printf, et. al. + until we can figure out a better way to do paging. + +Sat Sep 26 02:07:31 1992 John Gilmore (gnu@cygnus.com) + + * findvar.c (supply_register): Add CLEAN_UP_REGISTER_VALUE hook. + * tm-hppa.h (CLEAN_UP_REGISTER_VALUE): Use it. + * hppa-coredep.c: Remove, now that we use the hook. + * config/hppab.mh, config/hppah.mh: Use standard coredep.o. + * hppab-xdep.c, hppah-xdep.c: Remove custom code, use hook. + + * dbxread.c, partial-stab.h: Replace all #ifdef hp9000s800's with + GDB_TARGET_IS_HPPA's. This is a SERIOUS KLUDGE. The code needs to all + be ripped out and reimplemented right (see elfread.c). + * tm-hppa.h (GDB_TARGET_IS_HPPA): Define. + + Rename all HPPA files to fit into unique DOS filenames: + * *hppabsd* => *hppab* + * *hppahpux* => *hppah* + +Sat Sep 26 00:25:15 1992 John Gilmore (gnu@cygnus.com) + + Make the /proc support a target-struct in its own right. + + * Makefile.in: Remove inftarg.[co], since it is now included via + config/*.mh files. + * config/*.mh: Add inftarg.o and fork-child.o to all *.mh that + reference infptrace.o. Add fork-child.o to all *.mh that + reference procfs.o. + + * inferior.h (proc_wait, inferior_proc_init, proc_set_exec_trap): + No longer global functions. + (fork_inferior): New global function from fork-child.c. + * inftarg.c (child_wait): Remove USE_PROC_FS conditional. + (ptrace_me, ptrace_him): New stub functions for fork_inferior(). + (child_create_inferior): Moved to fork-child.c as fork_inferior. + (child_create_inferior): New tiny function that calls fork_inferior. + * fork-child.c: New file, containing fork_inferior, which is + built from slight mods to inftarg.c's child_create_inferior. + + * procfs.c (procfs_ops): Add target vector. + (attach): Rename as static do_attach. + (procfs_create_inferior): New tiny function that calls fork_inferior. + (child_xfer_memory): Rename to static procfs_xfer_memory. + (store_inferior_registers): Rename to static procfs_store_registers. + (inferior_proc_init): Rename to static procfs_init_inferior. + (procfs_attach, procfs_detach, procfs_prepare_to_store, + procfs_files_info, procfs_open, procfs_mourn_inferior, + procfs_can_run): Slightly mangled copies of the corresponding + child_XXX routines from inftarg.c. + (proc_wait): Renamed to static procfs_wait. + (child_resume): Rename to static procfs_resume. + (fetch_inferior_registers): Rename to static procfs_fetch_registers. + (initialize_proc_fs): Rename to initialize_procfs. Set up + procfs_ops, too. + + * putenv.c: index -> strchr. + * regex.c: Always rename bcopy to memcpy, etc. + FIXME: Eventually do the renames rather than use #define's. + * sparc-tdep.c (deferred_stores): Moved from sparc-xdep.c. + Fix bcopy->memcpy. + * sparc-xdep.c: Move deferred_stores to target dependent. + * xm-irix4.h, xm-sysv4.h (CREATE_INFERIOR_HOOK): No longer needed. + +Fri Sep 25 21:59:27 1992 John Gilmore (gnu@cygnus.com) + + Split non-target-dependent code out of target_attach routines. + + * target.h: Comments on target_attach args and results. + * infcmd.c (attach_command): Check for existing execution, call + target_attach, set up terminal status and wait_for_inferior, wait + for the attach status, and do normal_stop. + * inftarg.c (child_attach): Remove target independent stuff. + * remote-adapt.c (adapt_attach): Ditto. + * remote-mm.c (mm_attach): Ditto. + * remote-udi.c (udi_attach): Ditto. + * remote-vx.c (vx_attach): Ditto. + + Cleanup. + + * remote-hms.c (hms_attach): Remove completely, it was useless. + * remote-mm.c, remote-hms.c, remote-udi.c, remote-adapt.c: Remove + commented-out start_remote calls. + * remote-hms.c, remote-adapt.c, remote-mm.c, remote-udi.c: Remove + DENTER and DEXIT macros and their calls. Use a real debugger -- + like gdb -- to see what functions are being called when. + * utils.c (strcmp_iw): Make nonstatic, for lint. + +Fri Sep 25 18:48:20 1992 John Gilmore (gnu@cygnus.com) + + * infrun.c, inftarg.c, inferior.h: Comment and lint cleanups. + +Fri Sep 25 15:13:44 1992 Stu Grossman (grossman at cygnus.com) + + * tm-sparc.h, dbxread.c (read_ofile_symtab): Install Jim Wilson's + fix to differentiate between gcc1 & gcc2 compiled files so that we + can debug calls that pass structs as args correctly. + * symmisc.c (dump_symtab): If block was compiled with gcc, say + so, and what version. + + * remote.c (remote_wait): Make regs be char to avoid picayune + ANSI compiler warnings. + + * energize.h: Move all external struct decls to inside of + __STDC__, add prototype for energize_shell_wait(). + * energize.c (getpty): Clean up, make us really get a controlling + terminal. + * (energize_initialize): Disable SIGIO prior to setting up for + I/O interrupts. Move setsid(), et. al. to getpty(). + * (energize_shell_wait): New routine to wait for things started + via the shell command, uses wait() instead of /dev/proc. + * Also, add prototype for execute_command_1(). + +Fri Sep 25 12:09:33 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * inftarg.c (child_create_inferior, child_attach, + child_mourn_inferior): collect unix child process stratum + functions which live below the target vector into this file to + facilitate host/target/native split. Also, make them static. + * inflow.c (child_mourn_inferior): removed. + * infrun.c (child_create_inferior, child_attach): removed. + (resume): becomes global so that functions below the + target vector can find it. + * inferior.h (resume): add prototype. + (child_mourn_inferior, child_create_inferior, child_attach): + remove prototypes. + + * xcoffexec.c (exec_ops): child_attach and child_create_inferior + replaced with find_default_attach and + find_default_create_inferior. + +Fri Sep 25 10:21:04 1992 Ken Raeburn (raeburn@rtl.cygnus.com) + + * i960-pinsn.c: Use _filtered routines for printing, so symbolic + addresses don't get displayed in the wrong positions. + +Fri Sep 25 09:52:47 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Separate core functions along target vector in preparation for + native support. Functions above vector now live in core.c. Those + below in corelow.c. + + * core.c (solib_add_stub, core_close, core_open, core_detach, + get_core_registers, core_files_info, core_ops): moved to corelow.c + (_initialize_core): removed addition of core_ops target. + * corelow.c: new file. + (solib_add_stub, core_close, core_open, core_detach, + get_core_registers, core_files_info, core_ops): moved from core.c + (_initialize_corelow): new function. + * gdbcore.h (core_open, core_detach): added prototypes. + (core_ops): add forward declaration. + * Makefile.in (SFILES_MAINDIR): add core.c + (OBS): add core.o + (TSOBS): change core.o to corelow.o + +Wed Sep 23 11:14:53 1992 Stu Grossman (grossman at cygnus.com) + + * m68k-tdep.c (m68k_saved_pc_after_call): Use 'GDB_TARGET_IS_SUN3' + instead of 'sun' predefined symbol so that trap analysis code is + enabled only when the TARGET is a sun3. + +Tue Sep 22 17:13:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * tm-i960.h (ext_format_i960): Add top-level declaration. + (REGISTER_CONVERT_TO_{VIRTUAL,RAW}): Don't declare it in nested + blocks, else Sun4 compiler complains. + +Tue Sep 22 00:43:51 1992 John Gilmore (gnu@cygnus.com) + + * mips-pinsn.c (print_insn_arg, case 'B'): Disassemble `break' + instruction's argument. Patch from jonathan@cs.stanford.edu + (Jonathan Stone). + +Mon Sep 21 18:16:30 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Break the thread of control that implies that a unix child + process will be the default target. + + * target.c (find_default_run_target, find_default_attach, + find_default_create_inferior, return_zero): new functions. + (cleanup_target): Make return_zero the default for to_can_run. + + * exec.c (exec_ops), core.c (core_ops): Replace child_attach and + child_create_inferior references with find_default_XXX instead. + + * target.h (struct target_ops): new field, to_can_run. + (find_default_attach, find_default_create_inferior): new prototypes. + (target_can_run): new macro. + + * Also added a zero (default) to_can_run element to all static + struct target_ops initializations throughout GDB, except: + * inftarg.c (child_ops): Use new child_can_run() to enable child runs. + + * infrun.c (child_create_inferior): Clean up error handling when + no exec file is specified. + (child_attach): Don't require exec file. + +Mon Sep 21 19:43:13 1992 John Gilmore and K. Richard Pixley (gnu@cygnus.com) + + Remove kill_inferior_fast, in favor of target_kill, which goes + through the target vector. + + * inferior.h (kill_inferior_fast): remove declaration. + + * main.c (disconnect): call quit_cover using catch_errors rather + than calling kill_inferior_fast directly. New way goes through + the target vector, handles attached processes, and writes + command history if appropriate. + (quit_cover): new function, wrapper for quit_command. + + * convex-xdep.c, go32-xdep.c, hppabsd-xdep.c, hppahpux-xdep.c, + infptrace.c, procfs.c: Removed all instances of kill_inferior_fast, + inlining them into the local kill_inferior when needed. + +Mon Sep 21 19:23:05 1992 John Gilmore (gnu@cygnus.com) + + * infrun.c (_initialize_infrun): Alias `i handle' == `i signals'. + * stabsread.c (read_struct_type): Simplify complicated expression + for dumb DECstation compiler. + +Mon Sep 21 14:54:35 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68k-pinsn (print_insn_arg, fetch_arg): added support for + operands to memory management instructions, from WRS. + +Sep 20 08:42:12 1992 Fred Fish (fnf@cygnus.com) + + * main.c (main): Back out previous language setting changes. + Replace with simple default to C before processing any init + files. There MUST be a language set, even in the absence of + init files or executables, or expression parsing fails. + +Sat Sep 19 09:52:26 1992 Fred Fish (fnf@cygnus.com) + + * main.c (main): Move code that sets initial language to + symfile.c. Fixup places where command files are processed to + be consistent in setting a default language if none has been + previously set. + * symfile.c (set_initial_language): Add code moved from + main() that sets an initial default language when a new + symbol file is read. + * symfile.c (symbol_file_command): Call set_initial_language. + * symtab.c (find_main_psymtab): Add FIXME comment. + +Wed Sep 16 22:31:55 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * breakpoint.c, sparc-tdep.c: comment changes. + * configure.in: removed target_dependent line. + + * remote-mm.c (mm_attach): change printf to error to prevent + fallthrough bug. + * remote-udi.c (udi_attach): change printf to error to prevent + fallthrough bug. + + * rs6000-tdep.c (push_dummy_frame, pop_dummy_frame): replace + calls to {fetch|store}_inferior_registers with calls to + target_{fetch|store}_registers, for remote-target independence. + +Sat Sep 19 04:23:54 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in: Fix bug I introduced in merging Rich's change. + * infrun.c (child_create_inferior): Use proceed() rather than + doing all the same stuff by hand. + +Thu Sep 17 17:35:37 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in, configure.in: add support for files used only when + configured native, that is, when host = target. + +Wed Sep 16 23:03:23 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * tm-sparc.h, xm-sparc.h: externs and macros relating to deferred + stores are target dependent and were moved from xm to tm. + +Sat Sep 19 03:14:37 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (gdb-all.texi): Build in objdir, not $srcdir. + + * config/decstation.mh: Add MMALLOC_LIB and MMALLOC_DISABLE + overrides, to avoid problem in xdr_bytes with malloc(0) => 0. + +Wed Sep 16 20:04:54 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * target.h (struct target_ops): removed to_convert_to_virtual and + to_convert_from_virtual elements. Initializations removed from + all static initializations. + (target_convert_to_virtual, target_convert_from_virtual): + removed. + (host_convert_to_virtual, host_convert_from_virtual): Removed + forward declarations. + * target.c (cleanup_target): removed default assignments for + to_convert_to_virtual and to_convert_from_virtual. + * inftarg.c (host_convert_to_virtual, host_convert_from_virtual): + removed. + * findvar.c (value_of_register, value_from_register): + target_convert_to_virtual inlined. + * infcmd.c (do_registers_info): target_convert_to_virtual inlined. + * valops.c (value_assign): target_convert_from_virtual inlined. + +Fri Sep 18 02:07:39 1992 John Gilmore (gnu@cygnus.com) + + * main.c (gdb_readline): Avoid printf_filtered, which sets char + position wrong if used for the prompt. + * utils.c (puts_filtered): Comment: NOT a puts() replacement! + + Support for accessing arbitrary MIPS stack frames in memory. + + * blockframe.c (get_prev_frame_info): If INIT_FRAME_PC_FIRST is + set, run it before INIT_EXTRA_FRAME_INFO. + * stack.c (frame_info): If PRINT_EXTRA_FRAME_INFO defined, call it. + + * mips-tdep.c (init_extra_frame_info): Only clobber the `frame' + (FP) value in the frame_info struct if it is zero (as from top of + execution stack). + (setup_arbitrary_frame): Implement FRAME_SPECIFICATION_DYADIC. + + * mips-xdep.c (fetch_inferior_registers): ZERO_REGNUM always + comes back as zero. So does FP_REGNUM, as a trigger for + init_extra_frame_info. + + * tm-mips.h (INIT_FRAME_PC_FIRST): Kludge, FIXME, defined to get + the program counter set before INIT_EXTRA_FRAME_INFO is run. + (INIT_FRAME_PC): Defined to null. + (PRINT_EXTRA_FRAME_INFO): print frame pointer location via symtab. + (FRAME_SPECIFICATION_DYADIC): Ask for two args in frame command. + Briefly explain MIPS stacks in GDB. + +Thu Sep 17 03:49:59 1992 John Gilmore (gnu@cygnus.com) + + * copying.awk, copying.c (show_copying_command, + show_warranty_command): Rename from copying_info, warranty_info, + to match command function conventions. + + * utils.c (prompt_for_continue): Reinitialize more-counts + before printing anything, and again afterward. Fix comments. + (vfprintf_filtered): Eliminate static buffer; use auto buffer, + or alloca() if needed. + + * rs6000-xdep.c: Use correct conditional (IBM6000_TARGET) to + detect native versus cross-host. + +Wed Sep 16 21:57:14 1992 Stu Grossman (grossman at cygnus.com) + + * m68k-tdep.c (sun3_saved_pc_after_call): Only do trap check for + Suns. Rename to m68k_saved_pc_after_call. + * tm-68k-noun.h, tm-sun3.h (SAVED_PC_AFTER_CALL): Use + m68k_saved... instead of sun3_saved... + +Wed Sep 16 17:00:07 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (update-depend, update-alldeps): Split out of + setup-to-dist, for convenience in rebuilding the depend and + alldeps.mak files. + (assorted): Update to catch straggler files when building gdb.tar.Z. + +Tue Sep 15 01:18:50 1992 John Gilmore (gnu@cygnus.com) + + Preliminary cleanup for splitting host/native/target. + + * infptrace.c (child_resume): Don't deal with NO_SINGLE_STEP + here; it is dealt with at a gdb-target-independent level. + * rs6000-tdep.c (single_step): Don't call ptrace, we are a + high toned routine. Fix return type to void. + * tm-rs6000.h (AIX_BUGGY_PTRACE_CALL): Zap, we think we fixed it. + Rich and I believe the "real problem" was that both single_step + and target_resume were issuing PT_CONTINUE calls. This would + cause the second PT_CONTINUE to sometimes fail because the process + was already running. + * infptrace.c (child_resume): Remove AIX_BUGGY_PTRACE_CALL kludge. + +Mon Sep 14 19:20:43 1992 Stu Grossman (grossman at cygnus.com) + + * energize.c (pty_to_kernel): Must check for EAGAIN as + termination condition. + (full_filename): Don't prepend dirname if filename begins with /. + (breakpoint_notify, kernel_dispatch): Deal with DynamicLoad + messages properly!! + (getpty (NCR)): Lotsa bug fixes... + (kernel_dispatch (case StopRType)): Use kill() instead of + killpg() so we can deal with losing systems... + (wait_for_events): Work around NCR select() lossage. It doesn't + zero out readfds when select() returns zero. + (energize_initialize): Use I_SETSIG to get SIGIO interrupts. Use + getcwd() instead of getwd() (NCR getwd() seg faults). + (energize_wait): Use sigaction() for NCR. Their version of signal() + is unreliable by default. + + * procfs.c (proc_wait): Call print_sys_errmsg() if we get an + error from PIOCSWSTOP. + + * breakpoint.c, core.c, exec.c, language.c, main.c, printcmd.c, + symfile.c, target.c, valprint.c: Use _filtered form of *printf. + defs.h, utils.c: Make vfprintf_filtered global. + + * energize.c (send_location): New routine to consolidate all + places where we must notify kernel of where the given pc is. + (cplus_demangle): Put single-quotes around demangled names. + (energize_call_command): Call send_location() after doing up, + down, and frame commands. + +Fri Sep 11 18:28:28 1992 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/gdb.texinfo, doc/gdbinv-m.m4.in, doc/gdbinv-s.m4.in: first + pass at doc for two new remote targets---29K using UDI, and Tandem + ST2000 using STDBUG. + + * doc/all.m4, doc/none.m4: new m4 switch, _ST2000__ + + * doc/all.m4: turn on H8/300 stuff for generic manual + + * doc/gdbinv-s.m4.in: remove text on special procedures to continue + after explicit call to breakpoint() in serial stubs. + +Fri Sep 11 01:34:25 1992 John Gilmore (gnu@sphagnum.cygnus.com) + + * mipsread.c: Clean up some white space. + (parse_symbol): Handle stEnd of stFile. + (parse_partial_symbols): Remove old #if 0'd code. Handle stLocal. + + * mips-xdep.c (REGISTER_PTRACE_ADDR, fetch_inferior_registers, + store_inferior_registers): Replace unexplained numbers + with manifest constants from a DECstation header file. + * xm-mips.h (KERNEL_U_ADDR): Get from . + (REGISTER_U_ADDR): Fix up for Ultrix 4.2. + + * tm-tahoe.h, xm-tahoe.h (KERNEL_U_ADDR): Move macro to xm-tahoe.h. + + * stack.c (_initialize_stack): "dow" should be a valid abbreviation + for "down". Suggested by Richard Stallman. + +Thu Sep 10 15:26:07 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * remote-vx.c: Rename realloc for inclusion of rpc/rpc.h, to avoid + redeclaration bug on SunOS 4. + +Wed Sep 9 17:36:53 1992 John Gilmore (gnu@cygnus.com) + + * i386-stub.c, sparc-stub.c (getpacket): Actually check checksums. + * m68k-stub.c: Remove a few extraneous ANSI-isms. + * remote-nindy.c (nindy_prepare_to_store): Only fetch regs if + they aren't already there. + * remote-vx.c (vx_prepare_to_store): Ditto. + * xcoffread.c: Surround forward struct defns with #ifdef __STDC__. + +Wed Sep 9 16:50:22 1992 John Gilmore (gnu@cygnus.com) + + Removed a large number of changes inserted by Per Bothner + for C++ support. These will go back in when they've been + examined. + +Tue Sep 8 21:05:18 1992 Stu Grossman (grossman at cygnus.com) + + * serial.h: Fix prototye for serial_raw(). + * ser-bsd.c, ser-termios.c: Fix args for serial_open() & + serial_write() to match prototypes. + * remote-st2000.c (get_reg_name): Make *p be const. + +Tue Sep 8 17:24:52 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * remote-nindy.c (nindy_fetch_registers): Make return type void, + to agree with target structure field type. + (nindy_store_registers): Ditto. + + * Makefile (OPCODES): New var, pointing to opcodes library. + (CLIBS, CDEPS): Include it. + (saber_gdb): Load opcodes library. + +Tue Sep 8 15:22:06 1992 Stu Grossman (grossman at cygnus.com) + + * a68v-xdep.c (store_inferior_registers): declare as void. + * infptrace.c: HP/Apollos have ptrace.h in the wrong place. + * remote-st2000.c: Massive changes to use new serial package. + Also added 'connect' command to transparantly connect to serial + port. + * ser-termios.c: Big cleanup, use nicer coding conventions. + * ser-bsd.c: New module, serial stuff for BSD systems. + * serial.h: Define struct ttystate properly using HAVE_TERMIO. + * xm-apollo68b.h: #define PTRACE_IN_WRONG_PLACE... + +Fri Sep 4 18:53:57 1992 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/gdb.texinfo: fix shameful error of agreement reported by + jimb@occs.cs.oberlin.edu (Jim Blandy) + * doc/gdb.texinfo: remove old partial discussion of remote serial + protocol (via serial debug stubs) + * doc/gdbinv-m.m4.in, doc/gdbinv-s.m4.in: new section discussing + use of serial debug stubs + +Fri Sep 4 00:34:30 1992 Per Bothner (bothner@rtl.cygnus.com) + + * symfile.h: Declaration of set_demangling_style() moved + here from demangle.h (which is now in ../include). + * i386-xdep.c: Update comment. + +Thu Sep 3 13:44:46 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * symtab.c (completion_list_add_symbol): restructured to optimize + for time. First clip names that cannot match. Then clip any + names we've already considered. Drop a redundant strncpy. Drop + a redundant malloc and associated free for demangled names. + +Thu Sep 3 09:17:05 1992 Stu Grossman (grossman at cygnus.com) + + * a68v-xdep.c (store_inferior_registers): Define as type void. + * configure.in: Add host m68k-apollo*-bsd*. + * demangle.c (struct demanglers): Use enum instead of constant + value to keep braindamaged HP/Apollo compiler happy. + +Wed Sep 2 20:45:31 1992 Per Bothner (bothner@rtl.cygnus.com) + + * utils.c (strcmp_iw): Add a hack to allow "FOO(ARGS)" to + match "FOO". This allows 'break Foo' to work when Foo is + a mangled C++ function. (See comment before function.) + +Wed Sep 2 13:45:27 1992 John Gilmore (gnu@cygnus.com) + + * config/rs6000.mh (MH_CFLAGS): Circumvent IBM bug, + for files in vx-share/*.c. + * xm-rs6000.h (fd_set): Circumvent the rs6000.mh circumvention, + for normal GDB source files. + + * Makefile.in (VERSION): Roll to 4.6.6. + + * tm-vx68.h, tm-es1800.h: Use tm-68k.h rather than tm-sun3.h. + * tm-sun3.h: Remove STACK_END_ADDR, no longer used. + * tm-sun3os4.h: Update comments. + * xm-delta88.h: Remove STACK_END_ADDR. + +Wed Sep 2 01:18:31 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): Roll to 4.6.5. + + * infrun.c: Lint for recent `handle' changes. + + * ser-termios.c, ser-go32.c: Remove DEFUN crap, clean up. + * serial.h (EXFUN): Remove all uses, convert to PARAMS. + * config/sun4os4.mh: Include ser-termios.o. FIXME, all .mh files + should include a ser-XXX.o module. + + * dbxread.c (elfstab_build_psymtabs): Remove DEFUN crap. + * defs.h, i960-pinsn.c, remote-hms.c: Replace CONST with simple const. + + * configure.in: Map unrecognized sun 68k's, sun sparcs, into + known suns in configure.in, rather than mapping them to unique + config files that happen to duplicate other config files. + * config/sun3.{mh,mt}: Remove (use identical sun3os4.*). + * config/sun4.{mh,mt}: Remove (use identical sun4os4.*). + +Wed Sep 2 00:10:43 1992 John Gilmore (gnu@cygnus.com) + + * configure.in (*-*-sunos*): Use trailing * to match all + sub-variants of SunOS, e.g. sunos4* to match sunos4.1.1. + (sparc-*-sunos3): Remove host & target. Sunos3 never shipped + in production on Sun-4. + ({a29k,i[34]86,i960}-*-elf): Add targets, equivalent to coff. + (m68k-*-{aout,coff,elf}): Add targets, w/new config and tm files. + (sparc-*-{aout,coff,elf}): Add targets, w/new config and tm files. + + * config/m68k-un.mt, config/m68k-noun.mt, config/sparc-un.mt, + config/sparc-noun.mt: New target configs for embedded. + * config/sun4os3.{mh,mt}: Remove, never existed in production. + + * tm-68k-un.h, tm-68k-noun.h, tm-spc-un.h, tm-spc-noun.h: New + target definitions for embedded with and without underlines on + identifiers. + + * tm-sparc.h, tm-sun2.h, tm-sun3.h: Delete NAMES_HAVE_UNDERSCORE: + not a parameter of the CPU, but of the development environment. + * tm-es1800.h, tm-sunos.h, tm-vx68.h: Add NAMES_HAVE_UNDERSCORE. + +Tue Sep 1 17:31:45 1992 John Gilmore (gnu@cygnus.com) + + * breakpoint.c (breakpoint_re_set): Avoid setting source symtab + (which involves reading in main's symtab) if we have no breakpoints. + +Mon Aug 31 13:47:45 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (cu_language): New local variable to record + language for current compilation unit being processed. + * dwarfread.c (set_cu_language): New local function to decode + and record language for current compilation unit being processed. + * dwarfread.c (synthesize_typedef): Add local function to + synthesize a typedef for C++ classes, structs, unions, and + enumerations. + * dwarfread.c (read_structure_scope): Synthesize typedefs + for C++ classes, structs and unions. + * dwarfread.c (read_enumeration): Synthesize typedefs for + C++ enumerations. + * dwarfread.c (read_file_scope): Call set_cu_language to + record language for current compilation unit. After symtab + is built, save this recorded language. + * dwarfread.c (process_dies, add_partial_symbol, struct_type, + scan_partial_symbols, new_symbol): Recognize TAG_class_type. + * dwarfread.c (add_partial_symbol): Synthesize partial symbol + typedefs for C++ classes, structs, unions, and enumerations. + * dwarfread.c (scan_compilation_units): Call set_cu_language + to record language for current compilation unit. + * dwarfread.c (scan_partial_symbols): Call add_enum_psymbol here + for TAG_enumeration_types, rather than in add_partial_symbol. + * dwarfread.c (add_partial_symbol): Combine TAG_enumeration_type + case with class, struct, and union type cases, now that they are + the same. Remove tests for non-NULL name attributes, now done + by callers. + * gdbtypes.h (TYPE_CODE_CLASS): Add type for C++ classes, but + treat as alias for TYPE_CODE_STRUCT for now. + +Sun Aug 30 21:32:17 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: map "gdb" through program_transform_name when + installing. + +Sun Aug 30 21:18:51 1992 Fred Fish (fnf@cygnus.com) + + * {i386-tdep.c, m68k-tdep.c, mips-tdep.c, sparc-tdep.c} + (supply_gregset, fill_gregset, supply_fpregset, fill_fpregset): + Use "regi" for local indexing through register numbers, reserving + "regno" for the name of a specific register passed as an input + parameter. Fix bug propagated through all versions that sometimes + used regno as an index when it should have been regi, thus using + -1 as an index in some cases. + +Sun Aug 30 18:15:17 1992 Per Bothner (bothner@rtl.cygnus.com) + + * cplus-dem.c, demangle.h: Moved to ../libiberty and ../include, + respectively, so same demangler can be used by other programs. + * Makefile.in: Remove demangler stuff. + * Makefile.in (depend): Pass -I../readline (needed for main.c). + * demangle.c (_initialize_demangler): Tell demangler which + CPLUS_MARKER to assume. + +Fri Aug 28 13:13:33 1992 John Gilmore (gnu@cygnus.com) + + RS/6000 portability changes (for hosting cross-debuggers). + + * breakpoint.c (fixup_breakpoints): Re-kludge to IBM6000_TARGET. + * buildsym.c, rs6000-xdep.c, rs6000-tdep.c, tm-rs6000.h, + xcoffexec.c, xcoffread.c: Rename aixcoff to xcoff everywhere. + * printcmd.c (print_frame_args): Remove an RS/6000 dependency. + * stabsread.c (define_symbol): Remove RS/6000 dependencies. + * tm-rs6000.h (ATTACH_DETACH): Remove: host-dependent. + (PTRACE_ATTACH, PTRACE_DETACH): Remove: host-dep. + (NO_SINGLE_STEP): Add, target-dependent. + (loadinfotextindex): Lowercase, remove "aix_". + * xm-rs6000.h: Add for infptrace.c. + (NO_SINGLE_STEP): Remove, target-dependent. + * xcoffexec.c (vmap_symtab): Cleanup #if 0'd code. + * xcoffread.c: Only build file if RS/6000 native GDB. + (build_function_symbol): Remove #if 0'd code. + * rs6000-tdep.c: Cleanup. Add static fn protos. + Use CORE_ADDR for addresses throughout. Make void fns void. + (pop_dummy_frame): Add FIXME about bogosity of design here. + (rs6000_struct_return_address): Ditto. + (frameless_function_invocation, frame_get_cache_fsr, + frame_initial_stack_address, xcoff_relocate_symtab, + xcoff_init_loadinfo, free_loadinfo, xcoff_add_toc_to_loadinfo, + add_text_to_loadinfo, find_toc_address): Move from xdep file. + Use CORE_ADDRs. Change identifiers to lowercase. + + * rs6000-xdep.c: Make whole file conditional on native RS/6000, + supplying dummy routines if non-native. Add prototype for + static exec_one_dummy_insn. Move a mess of functions to + rs6000-tdep.c (as above). Remove #if 0'd code. + + * config/rs6000.mh (XDEPFILES): Move xcoffexec.o to target side. + (XM_CLIBS): Add -lm to circumvent AIX 3.2 libc ldexp bug. + * config/rs6000.mt (TDEPFILES): Adopt xcoffexec.o. + + * gdbtypes.h (TYPE_ALLOC): Parenthesize result to avoid problems + for callers. + + * vx-share/README, nindy-share/README: New files describing + how these directories' code is shared, and with whom. + +Thu Aug 27 20:04:56 1992 John Gilmore (gnu@cygnus.com) + + * configure.in (target configurations): Reformat into table. + Remove unsupp. Amigados host and target. Ditto Mach 386 target. + + * tm-altosgas.h, tm-i386v-g.h: Remove ancient coff encap configs. + * config/{altosgas.mt, i386v-g.mt, i386v32-g.mt}: Ditto. + * config/{i386sco.mt,i386v32.mt}: Remove; identical to i386v.mt. + * config/{go32.mt,i960.mt}: Remove; they only printed error msgs. + * config/nindy960.mt: Remove useless MT_CFLAGS setting. + * config/i386aout.mt: Use tm-i386v.h, not tm-i386v-g.h. + + * Makefile.in (config-check): Add command to check whether + configure.in is consistent with config/*. + +Wed Aug 26 21:10:52 1992 John Gilmore (gnu@cygnus.com) + + * configure.in (host configurations): Reformat nested cases into + easy-to-maintain table. + (m68k-altos-*, i386v*): We don't care whether coff encap is used. + config/{altosgas.mh, i386v-g.mh, i386v32-g.mh}: Remove. + +Wed Aug 26 16:02:01 1992 Fred Fish (fnf@cygnus.com) + + * cplus-dem.c: Reorder args to most local functions to make them + follow the consistent pattern of struct work_stuff pointer first, + followed by pointer into string being demangled, followed by + pointer to the string where the result is being stored, followed + by other args. Also generally replace most variables of name + "type" with "mangled" for consistency. They all pointed to the + same string but half were one name and half the other. + * cplus-dem.c (LONGERNAMES): Remove #ifndef's. + * cplus-dem.c (demangle_qualified): Rewrite to clean up and allow + use whenever a qualified name is being demangled. + * cplus-dem.c (do_type): Qualified names are treated similarly + to fundamental types, not as modifiers of fundamental types. + +Mon Aug 24 20:44:38 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add sparclite as a target. + + * sparc-stub.c (handle_exception): Flush instruction cache just + before returning to the user. (hexToInt): Fix overzealous cleanup. + +Mon Aug 24 11:57:13 1992 Fred Fish (fnf@cygnus.com) + + * infrun.c (handle_command): Rewrite to allow multiple signal + numbers, signal number ranges, and to recognize "all" to mean all + signals except those used by the debugger. + * infrun.c (SET_SIGS, UNSET_SIGS): Macros used in handle_command + to set or reset actions for specific signals. + +Sun Aug 23 17:10:07 1992 Fred Fish (fnf@cygnus.com) + + * coffread.c (decode_type): Call alloc_type to alloc new + types. + * stabsread.c (read_array_type, read_range_type, define_symbol): + Call alloc_type to alloc new types. + * stabsread.c (define_symbol): Move dbl_valu symbol field data + from type_obstack to symbol_obstack. + * stabsread.c (define_symbol): Move typedef_sym from type_obstack + to symbol_obstack. + * gdbtypes.h (TYPE_ALLOC): New macro to allocate space for data + associated with a type, using the same mechanism as was used to + allocate space for the type structure itself. + * coffread.c (patch_type, coff_read_struct_type, + coff_read_enum_type): Use TYPE_ALLOC. + * dwarfread.c (struct_type): Use TYPE_ALLOC. + * gdbtypes.c (create_array_type, check_stub_method, + allocate_cplus_struct_type): Use TYPE_ALLOC. + * mipsread.c (parse_symbol, parse_type): Use TYPE_ALLOC. + * stabsread.c (read_struct_type, read_array_type, read_enum_type, + read_range_type): Use TYPE_ALLOC. + +Sun Aug 23 11:04:08 1992 Fred Fish (fnf@cygnus.com) + + * breakpoint.c (breakpoint_re_set): Select a default source + symtab if one is not currently selected. + * utils.c (query): Call wrap_here before building the output + query string, to turn off wrapping and flush any buffered output. + Otherwise our query may end up in the wrap buffer and never be + seen by the user. + * eval.c (evaluate_subexp): Report error when attempting to + evaluate subscript for types without a target type, rather + than dumping core by using the NULL pointer. + * symfile.c (symbol_file_command): Forget current_source_symtab + and current_source_line when discarding symbol table. + +Sat Aug 22 22:33:20 1992 John Gilmore (gnu@cygnus.com) + + Bug fixes from Andrew Heybey . + + * tm-mips.h (REGISTER_VIRTUAL_TYPE): Float regs are float type. + * mips-tdep.c (mips_print_register): Alloc enough space for two regs. + +Fri Aug 21 15:17:03 1992 Stu Grossman (grossman at cygnus.com) + + * remote.c (remote_open): Fix baud rate setting to make -b flag + work. (remote_wait): Change 'T' message parser to deal with new + improved format which allows stub to send an arbitrary bunch of + registers. + * sparc-stub.c: General cleanups. (trap_low, handle_exception): + make all this re-entrant by storing all state on the stack. Clean + up memory error trapping. (computeSignal, set_debug_traps): + make it all table driven. Make a start at a baud rate setting command. + +Wed Aug 19 10:23:27 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68k-pinsn.c: handle new operand type 'r', introduced for cas2. + + * remote-vx.c: redefine malloc to avoid buggy declaration on + RS/6000 . + xm-rs6000.h: include to define fd_set for + on RS/6000. + +Tue Aug 18 14:48:24 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added FLAGS_TO_PASS variable, and passed it to + recursive invocations of make. Always create installation + directories. + +Mon Aug 17 18:29:58 1992 Per Bothner (bothner@rtl.cygnus.com) + + * m68k-pinsn.c: Minor fix in style of output (don't use + range to indicate floating point control registers). + +Sat Aug 15 02:58:03 1992 John Gilmore (gnu@cygnus.com) + + * m68k-pinsn.c: Surround extended support with #ifdef HAVE_68881. + + * infcmd.c (registers_info): Handle multiple register names. + Changes inspired by Roland McGrath. + +Sat Aug 15 02:28:52 1992 Stu Grossman (grossman at cygnus.com) + + * sparc-stub.c: New file. Mix it with your SPARClite + application, and it will speak GDB remote protocol! + * remote.c (remote_wait): Change 'T' (expedited reply) message to + deal with arbitrary registers. Needed for sparc-stub. + +Fri Aug 14 12:11:25 1992 Fred Fish (fnf@cygnus.com) + + * cplus-dem.c (cplus_markers): Add table for gnu style and + use throughout, in place of compile time constant CPLUS_MARKER. + * cplus-dem.c (ARM_VTABLE_STRING, ARM_VTABLE_STRLEN): Add. + * cplus-dem.c (cfront_special): New function, as suggested + by pfieland@stratus.com. + * cplus-dem.c (forget_types): New function. + * cplus-dem.c (cplus_demangle): Call gnu_special, moved from + demangle_prefix(). + * cplus-dem.c (mop_up): Call forget_types(). + * cplus-dem.c (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING): + Use throughout, instead of checking current_demangling_style. + * cplus-dem.c (demangle_signature): When finding an explicit + start of function args, forget all remembered types for + lucid/cfront style demangling. + * cplus-dem.c (demangle_prefix): In a sequence of two or more + underbar characters, use last pair as the delimiter. Hoist + gnu_special() call up to cplus_demangle(). Call cfront_special() + when appropriate. + * cplus-dem.c (cplus_special): Fix virtual table name demangling + for inherited classes. + * cplus-dem.c (demangle_args): Document quirks of numbered + references to previously seen types. + * dbxread.c (read_ofile_symtab, process_one_symbol): + Use AUTO_DEMANGLING rather than explicitly checking + current_demangling_style. + * demangle.h: Add some comments. + * demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING, + CFRONT_DEMANGLING): New macros. + * dwarfread.c (LCC_PRODUCER): Remove trailing space, which is + not found in the actual producer string produced by lcc. + * dwarfread.c (handle_producer): Use AUTO_DEMANGLING rather + than explicitly checking current_demangling_style. + +Thu Aug 13 11:54:46 1992 John Gilmore (gnu at cygnus.com) + + * breakpoint.c (enable_longjmp_breakpoint, + disable_longjmp_breakpoint, set_longjmp_resume_breakpoint): + Check for duplicate breakpoints at the same address. Bug report + and preliminary fix from Dave Morrison, . + +Wed Aug 12 11:14:58 1992 Fred Fish (fnf@cygnus.com) + + * buildsym.c (end_symtab): Document that end_symtab can return + NULL under non-error conditions. + * dwarfread.c (read_file_scope): Guard against dereferencing NULL + returned from end_symtab for empty compilation units. + +Tue Aug 11 02:49:39 1992 John Gilmore (gnu at cygnus.com) + + * am29k-tdep.c: Lint from DECstation compiler. + * mem-break.c: Restore test of BREAKPOINT size that Fred removed. + As the man page says, "Sometimes you just can't get lint to shut + up". That doesn't mean you should blow away the code it won't + shut up about. + * mips-xdep.c: Revise stubbing-out of code until Rich cleans + it up over the next few weeks. Make mips x 29k build. + * tm-29k.h (CALL_DUMMY): Make it work on cross-endian hosts. + (FIX_CALL_DUMMY): Comment in the patching of the breakpoint, + but leave it as a comment because the breakpoint instruction + is not easily accessible at this moment (it's static, and if + we define one here, it goes into every file compiled). + +Mon Aug 10 22:27:19 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.6.3. + * dwarfread.c (scan_partial_symbols): Skip over DIE's within + function scopes when building partial symbol tables. + * objfiles.c (open_existing_mapped_file): Make it clear in + warning message that out of date mapped files are ignored. + * symtab.c (lookup_symtab_1, lookup_symbol): Print compilation + unit source file name in error message. + +Sat Aug 8 23:12:22 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (struct dieinfo): Add has_at_byte_size. + * dwarfread.c (struct_type): In absence of AT_byte_size for + bitfield, use size of object of member's type for the size of + the anonymous object containing the bit field. + * dwarfread.c (completedieinfo): Set has_at_byte_size when + an AT_byte_size attribute is seen. + * mipsread.c (psymtab_to_symtab_1): Fix misspelled cast to + union aux_ext (was aux_ent). + * i386-pinsn.c (print_insn): Cast 2'nd arg to read_memory from + unsigned char* to char*, for Lucid compiler. + * i386-tdep.c (codestream_fill): Fix cast of 2'nd arg to read_memory + to be correct type (from unsigned char* to char*). + * valprint.c (type_print_derivation_info): Minor tweak to placement + of commas in derived class printing. + * xcoffread.c (builtin_type): Fix misspelling in fatal message. + +Fri Aug 7 11:18:23 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * xm-go32.h: Define LSEEK_NOT_LINEAR + * source.c (find_source_lines): if LSEEK_NOT_LINEAR is defined + then work out the lseek positions of newlines by running through + the file and `tell'ing. This makes source file listing work on + OS's where the relationship between physical position in file and + canonical position is indeterminate, eg VMS and DOS. + +Thu Aug 6 10:56:01 1992 Fred Fish (fnf@cygnus.com) + + * stabsread.c: Ensure that all members of all allocated structures + are initialized to known state to avoid hard to find bugs with gdb + using fields containing random data. + * buildsym.c (start_subfile): Compact dirname initialization. + * buildsym.c (patch_subfile_names): New function. + * buildsym.c (end_symtab): Make copy of dirname on symbol obstack. + * buildsym.c (end_symtab): Free all malloc'd subfile fields. + * buildsym.h (patch_subfile_names): Add prototype. + * dbxread.c (process_one_symbol): Call patch_subfile_names. + +Wed Aug 5 01:42:40 1992 John Gilmore (gnu at cygnus.com) + + * remote-udi.c: Update comments. + + * remote.c (getpkt): Only force retransmission ten times; + after that, assume bug in target code, and handle pkt anyway. + +Mon Aug 3 17:06:20 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add support for apollo 68k under BSD environment. + * xm-apollo68b.h: New file to support above. + +Mon Aug 3 00:25:56 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Recognize i486 host cpu. + * valprint.c (type_print_derivation_info): Print derivation info + in same form as class declarations in source. + * valprint.c (type_print_varspec_suffix): Split arg printing + code out to type_print_args function. + +Sat Aug 1 13:32:58 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (struct dieinfo): Remove obsolete at_visibility, + at_import, at_frame_base. + * dwarfread.c (completedieinfo): Remove cases for obsolete + AT_visibility, AT_import, and AT_frame_base attributes. + * breakpoint.h (BREAKPOINT_MAX): Increase from 10 to 16 for + i860, which can keep up to 4 shadow breakpoints. + * tm-stratus.h (USG): Define. + * tm-stratus.h (TARGET_BYTE_ORDER): Define to BIG_ENDIAN. + * xm-stratus.h (HOST_BYTE_ORDER): Define to BIG_ENDIAN. + * xm-stratus.h (xm-sysv4.h): Include, name changed from xm-svr4.h. + * xm-stratus.h (NO_JOB_CONTROL): Remove define. + * config/stratus.mt (TDEPFILES): Include files available from + stratus that are not yet in release pending receipt of paperwork + at FSF. + * buildsym.c (finish_block): Minor code format change. + * gdbtypes.h (struct field): Add to comments. + * gdbtypes.h (virtual_field_bits): Add to comments. + * objfiles.c (allocate_objfile): Change obstack interface to + match FSF merging efforts. + +Mon Jul 27 21:14:44 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.6.2. + * Makefile.in (SFILES_MAINDIR): Add stabsread.c + * Makefile.in (OBS): Add stabsread.o + * Makefile.in (stabsread.o): Add build rule. + * stabsread.c, stabsread.h: New files. + * buildsym.c: Split out stabs specific support to stabsread.c. + * buildsym.h: Split out stabs specific support to stabsread.h. + * dbxread.c (stabsread.h): Include + * dbxread.c (dbx_new_init): Call stabsread_new_init. + * dbxread.c (dbx_psymtab_to_symtab_1): Call stabsread_init. + * dbxread.c (read_ofile_symtab): Call end_stabs. + * dbxread.c (process_one_symbol): Call end_stabs and start_stabs. + * dbxread.c (elfstab_build_psymtabs): Call stabsread_new_init. + * dwarfread.c (psymtab_to_symtab_1): Call buildsym_init, add + really_free_pendings to cleanups. + * elfread.c (elf_new_init): Call stabsread_new_init. + * gdbtypes.c: Small changes to maintenance commands. + * mipsread.c (stabsread.h): Include. + * mipsread.c (psymtab_to_symtab_1): Call end_stabs. + * xcoffread.c (stabsread.h): Include. + * xcoffread.c (global_stabs): Remove redundant def. + * xcoffread.c (read_xcoff_symtab): Call start_stabs and end_stabs. + +Wed Jul 22 21:39:33 1992 Fred Fish (fnf@cygnus.com) + + * lmode_inferior_valid, lmode_ours_valid: New static vars. + * inflow.c (terminal_init_inferior, terminal_inferior, + terminal_ours_1, initialize_inflow): Record and use state + of lmode_inferior_valid and lmode_ours_valid. + +Wed Jul 22 04:23:03 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * es1800.c: use FREAD|FWRITE rather than _FREAD|_FWRITE. + include on USG. (from sef). + + * depend: es1800 dependency needed here. + +Mon Jul 20 21:09:53 1992 Fred Fish (fnf@cygnus.com) + + * buildsym.c (read_struct_type): Initialize structs allocated + with alloca, to avoid using random values from stack later on. + * defs.h (fprintf_filtered): Add prototype. + * gdbtypes.c (check_stub_method): Fix misleading comments. + * gdbtypes.c (print_arg_types, dump_fn_fieldlists): New maint + support functions. + * gdbtypes.c (print_cplus_stuff, recursive_dump_type): Many + small changes to maint support functions. + * gdbtypes.h (cplus_struct_type): Reorganize member ordering + for some fields and expand comments. + * objfiles.c (allocate_objfile): Use new obstack_alloc_arg + macro and track change to obstack_full_begin macro. + * utils.c (fprintfi_filtered): New function. + * valprint.c (type_print_base): Fixup field printing to not + print extraneous lines and not print bogus "no data fields" + messages for C++ classes with no data members. Also use new + fprintfi_filtered function. + +Mon Jul 20 11:25:18 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * configure.in: es1800 ok for 68000 too. + +Sat Jul 18 15:48:58 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: echo error messages to stderr, not stdout + +Fri Jul 17 17:07:24 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognize hppa* instead of hppa + +Fri Jul 17 16:52:04 1992 Stu Grossman (grossman at cygnus.com) + + * energize.c: Second cut at DynamicLoad message handling. + + * energize.c: Relativize pathnames in #include statements. + * (kernel_dispatch): Better error messages for unknown protocol + messages. + * (kernel_dispatch): First cut at DynamicLoad message handling. + + * Makefile.in: Remove -I../readline from all compilations, + include a special case for main.o instead. + +Fri Jul 17 10:14:56 1992 Fred Fish (fnf@cygnus.com) + + * eval.c (evaluate_subexp): Ask lookup_struct_elt_type to call + error if it fails to find a member type, rather than return NULL + and trigger a coredump. + * symtab.c (lookup_symbol, lookup_demangled_block_symbol, + lookup_demangled_partial_symbol,): Ask demangle_and_match to + match on complete demanglings, including argument lists for member + functions, rather than just accepting the first demangling that + matches the class and function name. + * dwarfread.c (read_file_scope): Pass contents of AT_comp_dir + to start_symtab as the directory name. + * dwarfread.c (completedieinfo): Strip off any leading hostname + portion of the AT_comp_dir attribute string. Gdb doesn't know + what to do with them (FIXME). + +Thu Jul 16 13:37:09 1992 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c (commands_command): Simplify code a bit, remove + unnecessary fflush(). + + * Makefile.in (OTHERS): Add gcc.patch. + * partial-stab.h (N_SO): Fix handling of redundant SOs (again...) + +Thu Jul 16 12:07:40 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (LCC_PRODUCER): Change to match current NCR + lcc producer string. + +Thu Jul 16 11:40:55 1992 Stu Grossman (grossman at cygnus.com) + + * WHATS.NEW renamed to NEWS. + +Wed Jul 15 11:37:31 1992 Fred Fish (fnf@cygnus.com) + + * dbxread.c, dwarfread.c: Re-enable experimental code to + automatically select demangling style. + * demangle.c (DEFAULT_DEMANGLING_STYLE): Rename from simply + DEMANGLING_STYLE, to make more descriptive. Revert back to + "auto" as default. Comment use. + * Makefile.in (DEMANGLING_STYLE, DEMANGLE_OPTS): Remove. + * Makefile.in (${DEMANGLER}.o) Remove target and special + compilation rule. + +Tue Jul 14 23:05:14 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.6.1 (post-release versions). + +Tue Jul 14 19:26:54 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in, demangle.c: Change default demangling style to + gnu. + * Makefile.in: Update version to 4.6 !!! + * README, WHATS.NEW: Update for 4.6. + +Tue Jul 14 16:59:46 1992 Ken Raeburn (raeburn@cygnus.com) + + * i960-tdep.c (frame_args_address): If arg pointer can't be found, + use frame address. + + * buildsym.c (read_struct_type): Don't die on TYPE_CODE_UNDEF + nodes as base classes. + +Tue Jul 14 00:12:30 1992 Stu Grossman (grossman at cygnus.com) + + * alldeps.mak, depend: Update. + + * xcoffread.c: Add decl for section_offset to keep prototype happy. + + * Makefile.in (VERSION): 4.5.9. + + * xm-hp300bsd.h: Add decl for strdup(). + * mips-tdep.c (heuristic_proc_desc): Fill in proc start addr in + PDR. Cleanup a few things, fix compilation warnings. + +Mon Jul 13 19:06:54 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (DEMANGLING_STYLE): New define to set default + demangling style for C++. Defaults to "auto". + * Makefile.in (DEMANGLE_OPTS): Use DEMANGLING_STYLE. + * Makefile.in (SFILES_MAINDIR): Add demangle.c + * Makefile.in (OBS): Add demangle.o + * cplus-dem.c (GNU_DEMANGLING, ARM_DEMANGLING, LUCID_DEMANGLING): + Remove compile time decisions about demangling style and replace + with runtime decisions using current_demangling_style. + * cplus-dem.c (main): Expand code included during building of + standalone demangler to recognize demangling style options. + * dbxread.c (demangle.h): Include. + * dbxread.c (read_ofile_symtab, process_one_symbol): Set GNU C++ + demangling style if processing g++ code and current demangling style + is auto (Note: this feature currently disabled.) + * demangle.c: New file, generic demangling control. + * demangle.h (demangling_styles): New enumeration to select one + of several demangling styles. Also define string names for each + style. + * demangle.h (set_demangling_style): Add prototype. + * dwarfread.c (demangle.h): Include. + * dwarfread.c (GPLUS_PRODUCER, LCC_PRODUCER, CFRONT_PRODUCER): + New producer string prefixes to recognize. + * dwarfread.c (handle_producer): Consolidate actions for specific + producers. Set demangling style based on producer string if + current style is auto. (Note: this feature currently disabled.) + * config/ncr3000.mt (DEMANGLE_OPTS): Remove. + +Sat Jul 11 18:23:58 1992 John Gilmore (gnu at cygnus.com) + + * config/sun4sol2.mh: Remove -xs flag, default INSTALL to cp. + +Fri Jul 10 13:58:34 1992 Per Bothner (bothner@rtl.cygnus.com) + + * gdbtypes.c, gdbtypes.h: New function lookup_signed_typename. + * c-exp.y: Call lookup_signed_typename() after seeing + "signed". This handles "signed char" correctly. + * c-exp.y: Recognize (but ignore) 'const' and 'volatile' + keywords before a type specifier. + +Fri Jul 10 10:19:52 1992 Fred Fish (fnf@cygnus.com) + + * command.c (lookup_cmd_1): Clarify descriptive comments. + * gdbcmd.h (maintenanceprintlist): Add declaration. + * main.c (maintenanceprintlist): Add definition. + * main.c (gdb_completer_command_word_break_characters): Add. + * main.c (symbol_completion_function): Switch completer word + break character sets dynamically, based on whether completion is + being done on commands or on something else. + * main.c (initialize_cmd_lists): Init maintenanceprintlist. + * maint.c: Include demangle.h. + * maint.c (maintenance_demangle): New function. + * maint.c (maintenance_print_command): New function. + * maint.c (_initialize_maint_cmds): Reorganize some commands + under new maintenance print subcommand. + +Thu Jul 9 19:05:27 1992 Per Bothner (bothner@rtl.cygnus.com) + + * gdbtypes.c (lookup_struct_elt_type): If the input type is + TYPE_CODE_PTR or TYPE_CODE_REF, dereference it to get the + target type. Otherwise, 'whatis this.field' wouldn't work, + which would be inconsistent, since 'print this.field' works. + * buildsym.c (read_struct_type, read_enum_type): Clear + TYPE_FLAG_STUB flag. + * buildsym.c (cleanup_undefined_types): Don't rely on a + flawed "Reasonable test to see if" a type has been defined + since it was referred to; now we can just see if the + TYPE_FLAG_STUB flag has been cleared. + * valprint.c (print_type_base): Emit public/protected/private + labels for methods as well as fields. Also, indent these labels + 2 spaces instead of 4, for a more conventional "look". + * symtab.c (gdb_mangle_name): Undo Fred's change, unless + GCC_MANGLE_BUG is defined. Also, handle destructors specially. + * gcc.patch: New file. Contains patch for gcc (so people + with gdb-2.2.x won't have to wait for a new gcc release). + +Thu Jul 9 18:44:26 1992 Ken Raeburn (raeburn@cygnus.com) + + * i960-pinsn.c (mem): Variables reg[123] should point to CONST. + (print_addr): Call print_address to show symbolic version as well. + + * remote-vx.c (vx_kill): Don't look for arguments; they aren't + being passed. + (vx_read_register): Declare inferior_fp_regs. Delete code for + copying "inferior_registers" around; the values are already in var + "registers". Use correct size for register set. + + * remote-vx.c (vx_write_register): Don't try writing FP regs; the + target doesn't support it. + (vx_read_register): Don't try reading them either. + + * tm-i960.h (IP_REGNUM): Move to end of non-FP list, since the + VxWorks back end reads them in one contiguous set except for this + one. + (register_names): Change "pc" to "pcw" to avoid confusion printing + "$pc". + * tm-vx960.h (PC_REGNUM): Use RIP_REGNUM, since that's where we + find the PC under VxWorks. + +Wed Jul 8 21:34:30 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (alloc_utype, decode_subscr_data): Call alloc_type + to create new blank types, instead of handcrafting them. + * defs.h (printfi_filtered): Add prototype. + * utils.c (printfi_filtered): New function. + * gdbtypes.c (recursive_dump_type): Use printfi_filtered to + to simplify the code. Other cleanups. + * gdbtypes.c (check_stub_method): Demangle using DMGL_ANSI. + * gdbtypes.h (struct cplus_struct_type): Add comments describing + use of various fields. + * gdbtypes.c (print_bit_vector, print_cplus_stuff): New functions. + * c-exp.y (%token): Add CLASS as a token for C++, add grammar + production that currently treats it exactly the same as STRUCT. + * c-exp.y (yylex): Recognize "class" as token CLASS. + * symtab.c (gdb_mangle_name): Rewrite to match current g++ stabs. + * symtab.c (decode_line_1): Fix to pass quoted args on down to + general symbol handling code. Call cplus_mangle_opname with + DMGL_ANSI. + * symtab.c (decode_line_2): Print demangled function names in + breakpoint menus, instead of just file and line number. + * symtab.c (name_match): Call cplus_demangle with DMGL_ANSI. + * valprint.c (type_print_base): Print "class" for C++ classes, + rather than "struct". Print section labels for public, protected + and private members of C++ classes. + * values.c: Include demangle.h. + * values.c (value_headof): Call cplus_demangle with DMGL_ANSI. + +Wed Jul 8 17:23:07 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (VERSION): Update to 4.5.8. + + Wed Jul 8 00:11:02 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (dbx_symfile_init): Init stab_section_info to NULL to + prevent crashes when examining cross-targets. + * dbxread.c (process_one_symbol): Include directory name when + calling start_subfile for SOL & BINCL symbols. This allows gdb to + find include files, and yacc/lex sources when the cwd doesn't match + that in which the object was compiled. + * objfiles.h (ALL_MSYMBOLS): Don't seg fault when there are no + msymbols. + * symtab.c (lookup_symtab_1): Rewrite. It now handles include + files. + +Tue Jul 7 09:00:42 1992 Fred Fish (fnf@cygnus.com) + + * maint.c (maintenance_command, maintenance_info_command): + Install with allow_unknown as 0 and call help_list to show + list of possibilities when no subcommand is specified. + +Tue Jul 7 00:20:29 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Add m68k-ericsson-*. + * remote-es1800.c, tm-es1800.h, config/es1800.mt: New files. + +Sun Jul 5 17:17:16 1992 Fred Fish (fnf@cygnus.com) + + * maint.c: New file. + * Makefile.in (SFILES_MAINDIR): Add new file maint.c. + * Makefile.in (OBS): Add new file maint.o. + * defs.h (command_class): Add class_maintenance. + * defs.h (MAINTENANCE_CMDS): Default to including maintenance + commands. Allow for them (and other nonessential parts of gdb) + to be selectively left out under special circumstances. + * gdbtypes.c (recursive_dump_type): New function; supports + maintenance print-type command. + * gdbtypes.h (recursive_dump_type, maintenance_print_type): + Add prototypes. + * main.c (maintenancelist, maintenanceinfolist): Add maintenance + command lists. + * main.c (initialize_cmd_lists): Eliminate unnecessary casts on + initializers. Add initializations for setprintlist, showprintlist, + setchecklist, showchecklist, maintenancelist, and maintenanceinfolist. + * printcmd.c (maintenance_print_type): New maintenance cmd. + * valprint.c (setprintlist, showprintlist): Move to main.c, as + implied by comment that all cmd lists are owned by main.c. + * infcmd.c (unsetlist): Move to main.c, as implied by comment + that all cmd lists are owned by main.c. + * language.c (setchecklist, showchecklist): Move to main.c, as + implied by comment that all cmd lists are owned by main.c + * breakpoint.c (enablelist, enablebreaklist, disablelist, cmdlist, + deletelist): Remove redundant declarations (also in gdbcmd.h). + * symmisc.c (printsyms_command): Now maintenance_print_symbols. + * symmisc.c (printmsyms_command): Now maintenance_print_msymbols. + * symmisc.c (printpsyms_command): Now maintenance_print_psymbols. + * symmisc.c (printobjfiles_command): Now maintenance_print_objfiles. + * symtab.h (maintenance_print_symbols, maintenance_print_psymbols, + maintenance_print_msymbols, maintenance_print_objfiles): + Add prototypes. + * symmisc.c (printsyms_command, printpsyms_command, + printmsyms_command, printobjfiles_command): Removed from + _initialize_symmisc. + * main.c (dump_me_command): Moved to maint.c and renamed to + maintenance_dump_me. + * breakpoint.c (all_breakpoints_info): Rename to + maintenance_info_breakpoints. + * breakpoint.c (_initialize_breakpoint): Convert add_info of + all_breakpoints_info to add maintenance_info_breakpoints to the + maintenanceinfolist instead. + main.c (initialize_main): Set up maintenance class commands. + +Sun Jul 5 11:03:53 1992 Stu Grossman (grossman at cygnus.com) + + * energize-patches: Fix minor problems with building energize lib. + + * energize-patches: Change names of all cadillac procedure calls + to be energize procedure calls. Simplify many hooks by moving + tests energize.c. Configure energize, and build it automatically now. + +Sun Jul 5 09:43:28 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.5.7. + * cplus-dem.c (demangle_args): Validate index for previously + seen type to guard against bogus values from malformed manglings. + * valops.c (value_struct_elt_for_reference): Guard against + blindly using NULL return value from lookup_symbol. + +Sun Jul 5 09:46:43 1992 Stu Grossman (grossman at cygnus.com) + + * cadillac.c, cadillac-patches: Rename to energize.c and + energize-patches. Change all routines and variables named + 'cadillac*' to 'energize*'. Create new file called energize.h to + hold all interface declarations. + + * deblib/connection/*: Move all of this stuff into energize/, but + delete unneeded files. + +Sun Jul 5 03:06:39 1992 John Gilmore (gnu at cygnus.com) + + * tm-sysv4.h (NAMES_HAVE_UNDERSCORE): SVR4 systems don't. + + * buildsym.c (finish_block): Fix thinko `inner block' complaints. + * dbxread.c (process_one_symbol): Parse N_OPT "gcc2_compiled.". + * procfs.c (proc_set_exec_trap): Set run-on-last-close flag on + child processes, to avoid dead ones "hanging around" after GDB exits. + (attach): Always stop the process if it needs it. Set RLC flag + when attaching running processes, so it will continue if we detach + it, quit, or are killed. + (detach): Clear faults and set RLC flag to make process run + when we close it. + (open_proc_file): New `mode' argument for O_RDONLY or O_RDWR. + Callers changed. + (info_proc): Open process O_RDONLY, so we can see any process, + even those controlled by debuggers. + * tm-sun4sol2.h (SUN_FIXED_LBRAC_BUG): They did (in Sol 2). + +Sat Jul 4 03:43:38 1992 John Gilmore (gnu at cygnus.com) + + Relocate symbols using an array of section_offsets, rather than a + single `addr' or `offset'. This makes Solaris-2 support work, and + permits better VxWorks (and maybe xcoff) support later. + + * symtab.h (struct section_offsets): New structure for keeping + a set of offsets, rather than a single one. + (struct objfile): Replace addr with section_offsets member. + * symfile.h: Add sym_offsets to struct sym_fns. Conforming changes. + * gdb-stabs.h: New include file with `symbol type specific' + parameters for psymtabs and objfiles. + * Makefile.in (HFILES): Add gdb-stabs.h. + * buildsym.h (start_psymtab, process_one_symbol): Fix prototypes. + * coffread.c: Conforming changes. Fake offset array always 0. + * dbxread.c: Conforming changes. + (struct dbx_symfile_info): Move to gdb-stabs.h. + (start_psymtab): Call elfstab_offset_sections to calculate good + offsets for this source file, based on the ELF symbol table info. + (read_ofile_symtab): Yank N_CATCH, which is dead. + (process_one_symbol, N_CATCH): Yank. + (", N_FUN, N_FNAME, N_FN, N_FN_SEQ, N_SO, N_SOL, N_ENTRY): + Relocate with SECT_OFF_TEXT. + (", N_STSYM, N_LCSYM, N_ROSYM): Grope around in the stab string + to distinguish relocatable from absolute symbols. Then, if not + absolute, do: + (", N_STSYM, N_DSLINE): SECT_OFF_DATA. + (", N_LCSYM, N_BSLINE): SECT_OFF_BSS. + (", N_ROSYM): SECT_OFF_RODATA. + (elfstab_build_psymtabs): Caller has allocated dbx_symfile_info. + (dbx_symfile_offsets): Add to translate addr to offset. + * dwarfread.c: Conforming changes. Single offset currently used. + * elfread.c: Add various complaints about elf/stab stuff. + #include gdb-stabs.h. Conforming changes, using a single offset. + (elf_symtab_read): Record info from BSF_FILE symbols, and local + variables called "Bbss.bss", "Ddata.data", and "Drodata.rodata", + for later use in building psymtabs. + (elf_symfile_read): Allocate dbx_symfile_info here, to keep + the info collected in elf_symtab_read. Cleanup calls free_elfinfo. + (free_elfinfo): New fn, frees all chained stab_section_infos + in an objfile, and zaps the start-of-chain pointer. + (elfstab_offset_sections): New fn, looks in stab_section_info + chain to determine section bases to relocate a psymtab's worth + of symbols, as they are being read. + * mipsread.c: Conforming changes. Stabs-reading will relocate + using one offset. MIPS-reading will not relocate at all. + * partial-stab.h: Relocate different symbol types using different + offsets from section_offsets. + * symfile.c: Conforming changes. + (find_lowest_section): Unused function to use later + to free us from the Tyranny of the Text Section. + (syms_from_objfile): Translate absolute arg ADDR to offsets used + in all lower layers of symbol reading. Call format-specific + sym_offsets function to initialize offsets for high speed symbol + reading. + (symbol_file_add): Call reinit_frame_cache so callers don't have to. + (symbol_file_command, add_symbol_file_command): Callers changed. + * symmisc.c (dump_psymtab): Print new relocation parameters. + * xcoffread.c: Corresponding changes. + + * buildsym.c: Tidy innerblock_complaint and blockvector_complaint. + * main.c (main): Read the $HOME/.gdbinit file before processing + the argv arguments (e.g. reading symbol files or core + files). This allows global parameters to be set, which will apply + during the symbol reading. The ./.gdbinit is still read after + argv processing. + * symtab.c (list_symbols): `i variables' shouldn't show enum values. + * xcoffexec.c: Clean up quote inside comment. + +Fri Jul 3 20:18:26 1992 Fred Fish (fnf@cygnus.com) + + * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c, + core.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, environ.c, + eval.c, findvar.c, gdbtypes.c, hppabsd-tdep.c, hppahpux-tdep.c, + i386-tdep.c, ieee-float.c, infcmd.c, inflow.c, infptrace.c, + infrun.c, m2-exp.y, mipsread.c, objfiles.c, parse.c, procfs.c, + putenv.c, remote-mm.c, remote-vx.c, solib.c, sparc-tdep.c, + sparc-xdep.c, stack.c, symfile.c, symtab.c, symtab.h, target.c, + tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, + values.c, xcoffread.c: + Remove "(void)" casts from function calls where the return value + is ignored, in accordance with GNU coding standards. + +Fri Jul 3 00:00:49 1992 John Gilmore (gnu at cygnus.com) + + * dbxread.c (process_one_symbol): Ignore N_MAIN, N_ENDM for Solaris. + * partial-stab.h: Ignore N_ENDM. + * elfread.c (elf_symtab_read): Ignore symbols that don't have a + CODE or DATA section attachment. This eliminates a lot of random + values from shared libraries, which screw up the ordinary symbols + in the address ranges they happen to overlap. + * buildsym.c (define_symbol): Eliminate special tests + for function types; move into "function" cases in switch statement. + (define_symbol: 'f', 'F', 'P'): Process all parameter types + in case they define new type numbers. But ignore them (FIXME). + ('k', 'B'): Ignore const and volatile if we see them (FIXME). + (read_sun_builtin_type): Add commentary. + +Wed Jul 1 00:47:02 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * xm-rs6000.h: define MEM_FNS_DECLARED + +Tue Jun 30 02:25:10 1992 John Gilmore (gnu at cygnus.com) + + * tm-mips.h (GDB_TARGET_IS_MIPS): Define for mips-xdep.c. + (READ_MIPS_FORMAT, COFF_FORMAT): Remove, unused now. + * mips-xdep.c: Remove most include files (unused, caused errs). + (fetch_core_registers): Use right parameters in dummy fn. + +Mon Jun 29 18:30:57 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (scan_file_globals): Beware the null file. + Fix from Jim Williams. + + * stack.c (return_command): Evaluate expression *before* popping + off the stack frames! Fix inspired by Jim Williams. + (up_silently_command, down_silently_command): No sel frame is error. + + * defs.h (memcpy, memset): Conditionalize decls on + #ifndef MEM_FNS_DECLARED, since DECstation differs. + (alloca): Break out the STDC and non-STDC alloca cases, to make + it work on old preprocessors as well as "picky ANSI" ones. + * xm-mips.h (memcpy, memset): Declare, and set MEM_FNS_DECLARED. + + * mips-tdep.c (heuristic_proc_start): Zero arg produces zero. + * utils.c (fputs_demangled): Rename SLOP since DECstation system + header files define it! + + * tm-29k.h (BREAKPOINT): Allow it to be overridden with -D. + +Mon Jun 29 16:30:25 1992 Fred Fish (fnf@cygnus.com) + + * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c, + symtab.h, tm-i386v4.h, valprint.c, values.c: Lint. + * breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c, + findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c, + putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h, + utils.c, valarith.c, valops.c, valprint.c, values.c: + Replace bcopy() use with memcpy(), which is more standard and can + take advantage of gcc's builtin functions for increased performance. + * breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c, + ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h, + target.c, values.c: + Replace bzero() use with memset(), which is more standard and can + take advantage of gcc's builtin functions for increased performance. + * i386-tdep.c, main.c, valprint.c: + Replace bcmp() use with memcmp(), which is more standard and can + take advantage of gcc's builtin functions for increased performance. + +Sun Jun 28 13:30:22 1992 Fred Fish (fnf@cygnus.com) + + * remote.c (remote_wait): Fix cast on signal() call. + * defs.h (alloca): More diddling with alloca. Have to ensure + that it has a prototype, so that if alloca is defined as a macro + that takes an arg, the definition is seen as a use of a macro + that takes an arg, to satisfy picky ANSI preprocessors. + +Sat Jun 27 12:12:20 1992 Fred Fish (fnf@cygnus.com) + + * sparc-pinsn.c: Use rather than "string.h", for + consistency with all other gdb files. + * cadillac.c: Use rather than . + * cadillac.c (kernel_dispatch): Convert rindex usage to strrchr. + * Makefile.in (MAKE): Remove definition for consistency with + other Makefile.in files and to fix problem with recursive makes. + +Fri Jun 26 19:03:23 1992 John Gilmore (gnu at cygnus.com) + + * hppahpux-xdep.c (child_xfer_memory): Avoid PT_WDUSER because it + crashes H-PUX. + +Fri Jun 26 11:09:10 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * source.c (print_source_lines): for DOS interoperability; don't + print CR (013) as ^M. + +Thu Jun 25 15:18:42 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (dbx_symfile_init): Move more code under hp9000s800 + conditional. + * hppabsd-core.c: Don't include "param.h", include + instead. + * remote.c (remote_wait): Cast signal to void * to avoid warning + from busted HP compiler. + + * partial-stab.h (N_SO): Rearrange code a little so that all SO + stabs cause end_psymtab to be called. + + * buildsym.c (read_sun_builtin_type): Handle new FCS Sun CC + compiler feature of putting 'c' into basic type descriptors for + all forms of char. + + * procfs.c (child_resume): Work around Solaris (on Sparc) lossage + where there is no place for nPC in prrun struct. + +Thu Jun 25 12:06:00 1992 Fred Fish (fnf@cygnus.com) + + * mipsread.c: Pass NULL name pointer to init_type, not 0. + * gdbtypes.c (init_type): Use copy of typename on type_obstack. + * dwarfread.c (enum_type): Save enum names on type_obstack. + * dwarfread.c (struct_type): Save member name on type_obstack. + * symtab.c (_initialize_symtab): Fix misspelling. + * regex.c (store_jump, insert_jump): Return void. + +Thu Jun 25 04:00:10 1992 John Gilmore (gnu at cygnus.com) + + * defs.h (PARAMS): Move to ../include/ansidecl.h. + (alloca): Declare return type on SPARC, since Sun doesn't. + (*_BYTE_ORDER): Improve comment: *must* be defined. + + * tm-hppa.h: New file, architectural definition of HP PA. + * tm-hppabsd.h, tm-hppahpux.h: Shrink to deltas from tm-hppa.h. + + * am29k-pinsn.c, am29k-tdep.c, copying.awk, copying.c, + hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c, + hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, remote-udi.c, + ser-go32.c, xcoffsolib.c: Remove which is already in + "defs.h". + + * hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c, + hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, xcoffsolib.c, + xcoffsolib.h, xm-go32.h, xm-hppabsd.h, xm-hppahpux.h: Copyrights. + +Wed Jun 24 12:53:20 1992 John Gilmore (gnu at cygnus.com) + + * printcmd.c (output_command): Thinko. + (x_command): Only set remembered size/format if cmd succeeds. + + * dbxread.c (read_ofile_symtab): Remove N_CATCH special case, + since it is no longer used and burns time for every symbol read. + (process_one_symbol): Treat N_CATCH like default (complain). + +Wed Jun 24 00:26:56 1992 Stu Grossman (grossman at cygnus.com) + + * partial-stab.h (case N_TEXT): Fix fencepost error when + detecting start of new symbol info after reading symtab for a + module with a zero length TEXT segment. + +Tue Jun 23 21:46:26 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.5.6. + * coffread.c (coff_end_symtab): Cast 2nd arg of complain() to + correct type. + * defs.h (NORETURN): Define away for Lucid compiler. + * remote.c (remote_timer, remote_interrupt): Signal handlers + take one int arg. + * ser-termios.c (serial_write, serial_close): Return whatever + value the write/close call returns, rather than falling off end. + * inferior.h (PTRACE_ARG3_TYPE): Third arg to ptrace is int on + more systems than it is "char *". Define PTRACE_ARG3_TYPE to + default to int. + * infptrace.c, hppabsd-xdep.c, hppahpux-xdep.c, i386-xdep.c, + inferior.h (call_ptrace): Use PTRACE_ARG3_TYPE to declare type + of third arg. + * a68v-xdep.c, arm-xdep.c, convex-xdep.c, hp300ux-xdep.c, infrun.c, + m88k-xdep.c, mach386-xdep.c, mips-xdep.c, os68k-xdep.c, pyr-tdep.c, + pyr-xdep.c, rs6000-xdep.c, sparc-xdep.c, sun3-xdep.c, sun386-xdep.c, + symm-xdep.c, ultra3-xdep.c: Use PTRACE_ARG3_TYPE to cast ptrace + argument 3. + * sparc-xdep.c, a68v-xdep.c (fetch_inferior_registers, + store_inferior_registers): Supply missing fourth argument to + ptrace(). + * cadillac.c (kernel_dispatch): Make return type void. + * cadillac.c (iosig): Signal handlers take one int arg. + * valprint.c (val_print_fields): Call fprint_symbol to get + automatic C++ demangling for mangled field names. + +Mon Jun 22 20:18:06 1992 Fred Fish (fnf@cygnus.com) + + * command.c (add_abbrev_prefix_cmd): Fix misspelling in comment. + * dwarfread.c (enum_type): Fix misspelling in comment. + * valprint.c (val_print_fields, cplus_val_print): Minor + adjustment to printing of C++ class structures to more closely + match format for printing C structures, with and without setting + pretty print. + +Mon Jun 22 17:19:02 1992 Per Bothner (bothner@cygnus.com) + + * infrun.c (wait_for_inferior): Don't test for SIGEMT + (which is not a Posix signal) if it isn't defined. + * tm-linux.h, xm-linux.h, config/linux.m[ht], configure.in: + New port to Linux (a free Unix clone for 386 machines). + +Sat Jun 20 19:19:52 1992 John Gilmore (gnu at cygnus.com) + + COFF changes for dealing better with EPI 29K C compiler output. + + * coffread.c (record_minimal_symbol): Pass the minsym type to it. + Callers changed. + (coff_end_symtab): Sort blocks if needed. Complain if misordered. + (read_coff_symtab): Move patch_opaque_types call from + coff_symfile_read. Restrict it to symtabs from this objfile. + (process_coff_symbol: C_TPDEF): Don't put ordinary foward + references on opaque type chain; just let coff_lookup_type handle 'em. + (decode_type): Complain about tagndx values on + non-struct/union/enum types, which the EPI compiler tends to produce. + + * symtab.c (list_symbols): Make minimal symbol variable-finding work. + + * tm-68k.h (FIX_CALL_DUMMY): Avoid alignment and byte order + dependency. + + * elfread.c (elf_symfile_read): Update bfd_elf_find_section + usage to match new prototype. Include libbfd.h to get prototype. + + * source.c (find_source_lines): Handle large st_size fields. + +Sat Jun 20 16:28:39 1992 Fred Fish (fnf@cygnus.com) + + * infcmd.c (jump_command): Use cleanups to avoid memory leaks. + * stack.c (return_command): Use cleanups to avoid memory leaks. + +Fri Jun 19 19:06:41 1992 John Gilmore (gnu at cygnus.com) + + * remote-adapt.c, remote-eb.c, remote-mm.c: Lint. Fix + INT_REGNUM to INTE_REGNUM. + + * tm-29k.h (SDB_REG_TO_REGNUM): Add for EPI 29K C compiler. + +Fri Jun 19 15:30:15 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in, dbxread.c, hppa-coredep.c, hppa-pinsn.c, + hppabsd-core.c, hppabsd-tdep.c, hppabsd-xdep.c, hppahpux-tdep.c, + hppahpux-xdep.c, munch, partial-stab.h, tm-hppabsd.h, + tm-hppahpux.h, xm-hppabsd.h, xm-hppahpux.h: HPPA merge. + + * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Filter out bogus extern + declarations of malloc/realloc/free that are inserted by some + versions of yacc. + * m2-exp.y: Prevent conflicts with TRUE and FALSE tokens by + #undeffing them. + * xm-rs6000.h: Declare malloc/realloc/free appropriately. Yet + another decl of strdup (this really ought to come from libiberty.h!). + +Fri Jun 19 10:28:05 1992 John Gilmore (gnu at cygnus.com) + + * remote.c (getpkt): Error if input exceeds buffer size. + (_initialize_remote): `set remotedebug' enables packet trace. + + * dbxread.c (process_one_symbol:N_FUN): GCC now produces relative + N_SLINE's, etc, just like Sun cc on Solaris2. + + * am29k-tdep.c (read_register_stack, write_register_stack): + Change RSTACK_HIGH_ADDR to rstack_high_address, a user-settable + variable. Add `set' and `show' commands for it. + * doc/gdb.texinfo: Document it. + +Thu Jun 18 19:35:22 1992 Fred Fish (fnf@cygnus.com) + + * valprint.c (type_print_1): Plug memory leak. Print all + C++ syms as demangled, not just functions. + * buildsym.c (read_range_type): When we find a signed char + type, do a lookup of signed char, not plain char. Plain char's + still get looked up as plain char's elsewhere. + +Thu Jun 18 18:59:04 1992 John Gilmore (gnu at cygnus.com) + + * eval.c: Avoid residue-by-zero when evaluating without side effects. + (Bug and fix found by Pierre Willard.) + +Wed Jun 17 13:08:33 1992 Stu Grossman (grossman at cygnus.com) + + * xm-rs6000.h: Fix decls for malloc, realloc, and free. + + * xm-rs6000.h: Add decl for strdup(). + + * tm-rs6000.h: Remove #include of inferior.h. Fixes many + compilation errors. + + * breakpoint.c (enable_command, disable_command): Without args, + should only affect normal breakpoints and watchpoints. + + * m68k-pinsn.c (print_insn_arg): Make register be const. + * xcoffexec.c: Remove ' from comment. + * xm-sun3os4.h: Define MALLOC_INCOMPATIBLE to avoid conflicts + with decls of malloc in c-exp.tab.c (as produced by yacc). + There's got to be a better way to do this... + +Wed Jun 17 11:10:40 1992 Fred Fish (fnf@cygnus.com) + + * partial-stab.h: Convert single rindex use to strrchr. + * mipsread.c, dbxread.c: Remove troublesome inclusion of non- + standard file, now that the only single use of + rindex in the gdb source files is gone. + +Tue Jun 16 22:17:49 1992 Fred Fish (fnf@cygnus.com) + + * mipsread.c: Undo ill effects from including , + which #defines index to be strchr. Unfortunately, index is + a member of a symbol table structure that can't be changed. + * mipsread.c: tm-mips.h includes coff/symconst.h and coff/sym.h, + remove redundant #include's. + +Tue Jun 16 14:15:51 1992 Stu Grossman (grossman at cygnus.com) + + * mipsread.c: #include for rindex(). + +Tue Jun 16 09:01:49 1992 Fred Fish (fnf@cygnus.com) + + * xcoffexec.c (map_vmap): Turn comment into a real C comment. + +Mon Jun 15 18:41:23 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (process_one_symbol), partial-stab.h: Ignore + extraneous SO stabs from busted C++ compilers. + +Mon Jun 15 12:21:45 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.5.5. + * symtab.c (decode_line_1): Until C++ support stabilizes, when + C++ lookups fail, print possibly helpful hint about completion. + * cplus-dem.c (demangle_signature): Fix ARM style demangling + for static data members. + * dbxread.c (dbx_psymtab_to_symtab_1): Fix prototype. + * config/ncr3000.mh (INSTALL): Don't use /usr/ucb/install, + it's broken on ncr3000's. + +Mon Jun 15 07:21:00 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (decode_modified_type): Change type of first arg. + Change 'modifier' to char from unsigned char. Cast single use + that needs to be unsigned char. + * symtab.h (SYMBOL_BASEREG_VALID): Explain disabling. + * utils.c (strdup_demangled): Add function. + * defs.h (strdup_demangled): Add prototype. + * stack.c (return_command): Demangle C++ function names for query. + * infcmd.c (jump_command): Demangle C++ function names for query. + * cplus-dem.c (consume_count): New function and prototype. + * cplus-dem.c (demangle_class, gnu_special, demangle_func_type, + do_type): Replace conversion code with consume_count(). + * cplus-dem.c (gnu_special): Fix demangled of static members. + * source.c (list_command): Print demangled function names + when appropriate. Fix supplied by Peter Schauer. + +Mon Jun 15 01:45:48 1992 John Gilmore (gnu at cygnus.com) + + * sparc-tdep.c: Clean up slightly for Solaris2. + + * buildsym.c (define_symbol): Nameless types are now on several + platforms; generalize them and un-ifdef them to make Solaris 2 + work. + +Sun Jun 14 10:55:51 1992 John Gilmore (gnu at cygnus.com) + + * infcmd.c: Fix typo (reported by Rob Savoye). + * xm-sun4sol2.h (gregset_t): Thinko in register set definition. + * symtab.h: Disable SYMBOL_BASEREG_VALID until it works. + * dbxread.c (dbx_psymtab_to_symtab_1): Renamed from + psymtab_to_symtab_1. Use current psymtab's sym_offset and symbol_size, + rather than the one for the first file in the dependency chain. + + * dbxread.c (end_psymtab): Only reset texthigh if it's not already + set. Don't reset our own texthigh, or dependency-only pst's, in + scanning all the rest of the psymtabs. + (process_one_symbol): Fix comments around N_OBJ, N_OPT, N_UNDF. + + * buildsym.h (N_UNDF): Improve comments. + (N_LSYM, etc): Skip types without names (":T(0,3)=sfoob..."). + +Sat Jun 13 11:16:45 1992 Fred Fish (fnf at cygnus.com) + + * symtab.h (struct symbol): Add aux_value union for preserving + an additional per-symbol value. + * symtab.h (SYMBOL_BASEREG, SYMBOL_BASEREG_VALID): Add defines. + * frame.h (FRAME_GET_BASEREG_VALUE): Provide default definition. + * findvar.c (read_var_value): Use SYMBOL_BASEREG if valid. + * printcmd.c (address_info): Use SYMBOL_BASEREG if valid. + * symmisc.c (print_symbol): Use SYMBOL_BASEREG if valid. + +Sat Jun 13 09:18:46 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * symfile.c (clear_symtab_users_once): Now non-static (for + objfiles.c). + +Fri Jun 12 18:54:40 1992 John Gilmore (gnu at cygnus.com) + + * arm-pinsn.c, i960-pinsn.c, m68k-pinsn.c, mips-pinsn.c, + ns32k-pinsn.c, pyr-pinsn.c, sparc-pinsn.c, tahoe-pinsn.c, + vax-pinsn.c: Remove reg_names decl (now in defs.h). + + Solaris-2 support on SPARC: + + * dbxread.c: Add symbol_size to struct dbx_symfile_info. + Add symbol_size and file offsets to struct symloc. + Add static symbol_table_offset, string_table_offset, + file_string_table_offset, next_file_string_table_offset, + last_function_name. + (add_old_header_file): Convert error() to complain()t. + (dbx_symfile_read): Get symbol size via the objfile. + Also get symbol_table_offset. + (dbx_symfile_init): Record symbol size and count via the objfile. + (dbx_next_symbol_text): Always add file_string_table_offset when + accessing string table. + (read_dbx_symtab): Initialize file_string_table_offset to 0. + (SET_NAMESTRING): Use the offset. + (end_psymtab): Large kludge to determine addresses where source + files start and end (for the psymtab header). + (psymtab_to_symtab_1): Set file_string_table_offset before reading. + Get this, symbol size, and symbol offset, from psymtab. + (read_ofile_symtab): Don't back up one symbol for Solaris2. + Patch up last_source_start_addr if zero in N_SO. + (process_one_symbol): Add variable function_start_offset. + ( "", N_FUN, N_LBRAC, N_RBRAC, N_SLINE): Add ifdef for + BLOCK_ADDRESS_FUNCTION_RELATIVE. + ( "", N_OBJ, N_OPT): Ignore. + (elfstab_build_psymtabs): New function to read stabs out of + an ELF file. + + * Makefile.in: Accept $(BISON) even though we really want $(YACC). + (gdb): use GLOBAL_CFLAGS when linking, too. + * partial-stab.h (N_UNDF): Deal with Sol2 relative stringtab offsets. + (N_OBJ, N_OPT): Ignore. + ('f', 'F'): Save last function name. + + * elfread.c (record_minimal_symbol_and_info): Kludged to put + extra info in the minimal symbol. + (elf_symtab_read): The extra info is the size of an ELF object, + which was kludged to us in the `udata' field of the BFD symbol. + Gag me with a crowbar... + (elf_symfile_read): Keep track of both the absolute load address, + and the offset between load addr and symbols. Handle STABS as + well as DWARF sections, passing the absolute load address to + elfstab_build_psymtabs. + + * symfile.h: Prototype elfstab_build_psymtabs. + * symfile.c: Add almost-OK debug versions of add_psymbol_*to_list. + + * xm-sysv4.h: Add to avoid conflicting defns in defs.h. + + * buildsym.h: Add processing_acc_compilation flag. + * buildsym.c (read_sun_builtin_type, read_sun_floating_type): New. + (define_symbol): Skip arg types in function entries. Resolve + overloaded 'P' which acc uses for prototypes of functions called + by this file. + (read_type: 'b', 'r'): Handle Solaris2 builtin types. + + * minsyms.c (prim_record_minimal_symbol_and_info): Hack to + save size of ELF symbols. FIXME. + * tm-sun4os5.h: Rename to tm-sun4sol2.h. Update defines for Sol2. + * xm-sun4os5.h: Rename to xm-sun4sol2.h. Hack more defines. + + * configure.in: Solaris config is sparc-sun-solaris2. + * config/sun4os5.m[ht]: Rename to config/sun4sol2.m[ht]; new xm, tm. + + * objfiles.c (free_objfile): Eliminate storage leaks. Contributed + by . + * symfile.c (symfile_bfd_open): Comment where name is freed. + * symmisc.c (extend_psymbol_list): Comment where list is freed. + +Fri Jun 12 08:24:36 1992 Fred Fish (fnf at cygnus.com) + + * expprint.c (print_subexp): Add missing ']'. + * defs.h (reg_names): Fix declaration to match that in infcmd.c + * stack.c (reg_names): Delete redundant (and inconsistent) decl. + * WHATS.NEW: Point out improved C++ function name handling. + * gdbtypes.c (lookup_fundamental_type): For now, use the same + type names for both implicitly and explicitly signed integral + types. See comment in the source code. + +Thu Jun 11 12:31:50 1992 John Gilmore (gnu at cygnus.com) + + Two `long long' fixes from Robert R. Henry (rrh@dino.tera.com): + * defs.h (longest_to_int): Avoid void arm of ?: in error case. + * expprint.c (print_subexp): Fix printing of register names. + +Thu Jun 11 01:33:40 1992 John Gilmore (gnu at cygnus.com) + + * inferior.h (register_valid): Declare. + * remote-udi.c, rs6000-xdep.c, sparc-xdep.c, tm-rs6000.h: Remove decl. + * objfiles.h (ALL_OBJFILE_{SYMTABS,PSYMTABS,MSYMBOLS}): Add + macros for traversing the data structures in a single objfile. + * tm-m88k.h, tm-sparc.h (REGISTER_NAMES): Remove extra semicolon. + * tm-i960.h (REGISTER_NAMES): Cosmetic change. + * infcmd.c: Lint. + +Tue Jun 9 17:19:45 1992 Fred Fish (fnf at cygnus.com) + + * c-exp.y, m2-exp.y: Move remapping defines for malloc and + realloc. Add remapping defines for {yyss, yyssp, yyvs, yyvsp}. + * config/{amix.mh, i386v4.mh, ncr3000.mh, stratus.mh, + sun4os5.mh}: Add definition for INSTALL using /usr/ucb/install. + +Tue Jun 9 16:29:19 1992 Stu Grossman (grossman at cygnus.com) + + * depend: rebuild to account for remote-st2000.c. + * remote-st2000.c: Almost works now. + * tm-st2000.h: Need to turn on HAVE_68881, else things won't compile. + +Mon Jun 8 23:05:51 1992 Fred Fish (fnf@cygnus.com) + + * c-exp.y (yylex): Recognize single-quoted strings that specify + tokens with embedded whitespace, such as C++ demangled names. + * defs.h (demangle_and_match, strcmp_iw, skip_quoted): Prototypes. + * main.c (gdb_completer_quote_characters): Add global variable. + * main.c (symbol_completion_function): Total rewrite for C++ + demangled name handling. + * main.c (skip_quoted): New function. + * main.c (main): Set rl_completer_quote_characters. + * symmisc.c (dump_symtab): Print source language for symtab. + * symtab.c (expensive_mangler): Add prototype and function. + * symtab.c (completion_list_add_symbol): Total rewrite for new + C++ demangled name handling. + * symtab.c (lookup_symbol): Check for demangled C++ symbol first, + other changes for demangled C++ symbol handling. + * symtab.c (lookup_demangled_block_symbol): Use demangle_and_match. + * symtab.c (lookup_demangled_partial_symbol): Use demangle_and_match. + * symtab.c (decode_line_1): Recognize C++ demangled names on input. + * symtab.c (completion_list_add_symbol): Total rewrite for new + C++ demangled name handling. + * symtab.c (expensive_mangler): New function. + * utils.c (strcmp_iw, demangle_and_match): New functions. + * xcoffread.c (aixcoff_symfile_read): Fix prototype. + +Mon Jun 8 21:59:08 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.5.4. + * Makefile.in, config/*.mh, config/*.mt: Rename TM_CFLAGS + to MT_CFLAGS, XM_CFLAGS to MH_CFLAGS to match file names. + * config/sun4os5.mh: Add MH_CFLAGS=-xs to save debug info. + +Mon Jun 8 14:17:42 1992 Stu Grossman (grossman at cygnus.com) + + * alldeps.mak: Rebuild to account for new files. + * config/st2000.mt: Use tm-st2000.h, not tm-68k.h. + * tm-st2000.h: New file. + * configure.in: Tandem debug monitor (st2000) support. + * remote-st2000.c, config/st2000.mt: ditto. + +Fri Jun 5 11:51:01 1992 John Gilmore (gnu at cygnus.com) + + * blockframe.c (inside_entry_file, inside_main_func, + inside_entry_func): Return 0 if no symbols; avoid crashing. + +Wed Jun 3 17:48:04 1992 John Gilmore (gnu@cygnus.com) + + * xcoffread.c (read_xcoff_symtab): Set c_sclass from n_sclass + without masking, since it is signed and will later be compared + against signed quantities. The right fix is probably to make + it all unsigned, but this is a small, safe fix for this release. + FIXME -- make the real change sometime soon. + +Mon Jun 1 16:16:12 1992 Michael Tiemann (tiemann@cygnus.com) + + * remote-vx.c (vx_load_command,add_symbol_stub): Default READNOW + parameter in call to `symbol_file_add' to 0. + + * xm-sun4os4.h (MALLOC_INCOMPATIBLE): Define it. + +Sun May 31 06:38:27 1992 Michael Tiemann (tiemann@cygnus.com) + + * configure.in: Handle -m680[01234]0-wrs. + +Fri May 29 22:16:02 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * m68k-pinsn.c (print_insn_arg): Pass &EXT_FORMAT_68881 to + `ieee_extended_to_double'. + +Wed May 27 09:27:57 1992 John Gilmore (gnu at cygnus.com) + + * valops.c (value_assign): Lint, by Pierre Willard. + +Tue May 19 19:38:10 1992 John Gilmore (gnu at cygnus.com) + + * coredep.c (fetch_core_registers): Remove premature warning, + which triggers on DECstation even though all regs are accessible. + + * m68k-pinsn.c (print_insn_arg): Use new macros to get + sign-extension of instruction fields even on unsigned-char hosts. + Bug found by Fred J Roeber, fjr@sgfb.ssd.ray.com. + + 88K changes inspired by Ted Lemon (uunet!lupine!mellon): + * tm-m88k.h, tm-umax.h: Avoid sizeof() in REGISTER_xxx macros, + since they define the target, not the host. + * m88k-pinsn.c: Fix typo. + +Thu May 14 01:16:48 1992 John Gilmore (gnu at cygnus.com) + + * valarith.c (value_zerop): -0.0 is still zero. + * eval.c (evaluate_subexp): Avoid NaN anomalies in float compares. + Patches by Paul Eggert . + +Mon May 18 13:53:51 1992 Stu Grossman (grossman at cygnus.com) + + * alldeps.mak, depend: re-make to account for ser-*.c. + +Sun May 17 16:51:20 1992 Fred Fish (fnf@cygnus.com) + + * inflow.c (new_tty): Temporarily ignore SIGTTOU when + disconnecting from controlling terminal, to avoid gdb hanging + on SVR4. Fixes bug reported by Oliver Okrongli. + * procfs.c (PROC_NAME_FMT): Change format to match default used + by system, as suggested by Oliver Okrongli. + * tm-68k.h (FRAME_FIND_SAVED_REGS): Apply missing parentheses + bug fix from Brent Townshend (bst%tt@cam.ORG). + * c-exp.y (nonempty_typelist): Fix memory overrun bug reported + by turlais@rechser.total.fr. + * dwarfread.c (decode_subscr_data): Fix bug in calculation of + length of non-zero lowerbound arrays. Bug fix from Peggy Fieland. + * objfiles.h (unlink_objfile): Add prototype. + * objfiles.c (unlink_objfile): Add function. + * objfiles.c (free_objfile): Call unlink_objfile. + * objfiles.c (allocate_objfile): Call unlink_objfile on newly + remapped objfiles. Bug reported by hahn@sunshine.labs.tek.com. + Also, discard old possibly bogus sf struct. + * symfile.c (symbol_file_add): Call init_entry_point_info() and + find_sym_fns() for remapped symbol files, in case of any changes + since the last mapping. + +Wed May 13 18:28:20 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * findvar.c (read_relative_register_raw_bytes): use the raw size + of a register to bcopy, rather than the host's sizeof(CORE_ADDR). + +Tue May 12 17:44:39 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + Changes to support GDB running on DOS using GO32 and H8 support + + * defs.h: if xm.h doesn't define FOPEN_RB, include "fopen-same.h", + allowing hosts with different text and binary file formats to + work. + * coffread.c (read_coff_symtab): changed calling convention and + operation - now it opens its own file with FOPEN_RB rather than + duping and fdopening the provided handle. + * dbxread.c, cplus-dem.c: #include mangling. + * exec.c: If O_BINARY isn't defined, set it to 0, call openp for + binary files oring in the right bit. + * utils.c, terminal.h, inflow.c: hackery because dos doesn't have terminals. + * remote-hms.c: cleanup to use the new remote serial stuff + * serial.h, ser-termios.c, ser-go32.c: newfiles to provide host + independent remote terminal I/O. + * remote.c: if DONT_USE_REMOTE not defined, then don't use it. + * source.c (openp): fix off by one problem removing / - can now + open a source file in the root directory with DOS. + * values.c (value_as_pointer): remove bogus address bits from + long. (unpack_long): unpack into unsigned long/short if pointer. + +Tue May 12 14:15:48 1992 Stu Grossman (grossman at cygnus.com) + + * infrun.c (child_attach): Don't allow gdb to attach to itself. + It gets permanently stuck in many OSes. + * breakpoint.c, infcmd.c, infrun.c, utils.c: Change many printfs + to printf_filtered. + * breakpoint.c: Improve help text for info breakpoints. + +Mon May 11 14:17:18 1992 John Gilmore (gnu at cygnus.com) + + * README: Add pointer to internals doc, and describe reading + info files. + * utils.c (print_sys_errmsg): Use stderr. Reported by Pierre Willard. + * symtab.c (output_source_filename): Remove old glop for wrapping + lines, use wrap_here. Reported by Pierre Willard (pierre@la.tce.com). + +Thu May 7 11:45:03 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: version.c should depend on Makefile, not Makefile.in. + * munch: Add sort -u to avoid duplications. + * symtab.c (lookup_symbol): Improve Stu's fix of 22 April. + Improved fix by hahn@sunshine.labs.tek.com (Doug Hahn). + +Mon May 11 13:27:46 1992 Fred Fish (fnf@cygnus.com) + + * cplus-dem.c (demangle_signature): Recognize misplaced '_' to + avoid infinite loops while demangling bogus mangled names. + * valprint.c (type_print_base): Minor fix for GNU style guide + conformance. + +Sat May 9 18:02:17 1992 Fred Fish (fnf at fishpond) + + * Makefile.in (VERSION): Bump to 4.5.3 + * Makefile.in (DEMANGLE_OPTS): Remove obsolete -Dnounderscore + * Makefile.in (demangle): New target to create standalone + demangler with same code and options as internal demangler. + * cplus-dem.c: Massive restructuring, rewriting, cleanups, etc + to support ARM style and Lucid style demangling, improve + maintainability, fix several demangling bugs. More changes + to follow. + * defs.h (strstr): Add ANSI compatible prototype. + * valprint.c (type_print_1): Demangle using ansi option. + * config/ncr3000.mt (DEMANGLE_OPTS): Remove -Dnounderscore. + +Sat May 9 14:47:28 1992 Stu Grossman (grossman at cygnus.com) + + * xcoffexec.c (vmap_exec): Don't assume .text and .data are the + first two sections. + +Fri May 8 11:42:15 1992 Per Bothner (bothner@rtl.cygnus.com) + + * mipsread.c (parse_procedure): Return rather than using + uninitialized variable 'b'. + +Fri May 8 07:48:27 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in, remote-udi.c, remote-vx.c, 29k-share/dfe/mini2udi.c, + 29k-share/dfe/yank.c, vx-share/xdr_ptrace.c, vx-share/xdr_regs.c: + Remove -I29k-share, -Ivx-share from Makefile.in. Make #includes + relative to each source file. + +Fri May 8 07:48:27 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: propogate INSTALL, INSTALL_DATA, INSTALL_PROGRAM on + recursions. + +Thu May 7 10:00:52 1992 Stu Grossman (grossman at cygnus.com) + + * am29k-pinsn.c: Use new opcode table in "opcode/a29k.h". + * am29k-tdep.c: Update to latest code from AMD. + (get_saved_register) don't crap out if no frame. + * remote-udi.c: Set/clear inferior_pid as appropriate. + (udi_open) call target_preopen, don't close fd 0!!!, clean up + error handling. Fixup end-of-debugging messages. + (udi_fetch_registers) clean up big time, mainly don't multiply + register_valid indices by 4, and use proper Offset when reading + gr96-gr127. (udi_store_registers) general cleanup. + (fetch_register) cleanup, simplify. (regnum_to_srnum) + INT_REGNUM->INTE_REGNUM. + * tm-29k.h: Upgrade to latest code from AMD. + * 29k-share/udi/udip2soc.c: Get rid of useless errmsg_m macro. + (UDIConnect) Clean up error processing (like, don't do exit() if + execlp fails), make code restartable, make more attractive. + (UDIStop) Use SIGINT instead of SIGUSR1, as isstip won't stop + otherwise. + +Wed May 6 14:34:18 1992 Per Bothner (bothner@rtl.cygnus.com) + + * tm-irix3.h: Re-define CPLUS_MARKER to '.'. + * xm-rs6000.h, tm-rs6000.h: Move re-definition of CPLUS_MARKER + from former to latter. + +Wed May 6 14:12:35 1992 Fred Fish (fnf@cygnus.com) + + * cplus-dem.c (do_args): Handle void args the same as others. + * objfiles.c (free_objfile): Only try to unmap files when + reusable objfiles are supported. + * valprint.c (type_print_varspec_suffix): Add parameter that + specifies if C++ demangling included function arguments. Use + it to suppress printing extra pair of ()'s. + * valprint.c (type_print_1): Fix problem with printing demangled + C++ function types where demangled type includes the function + args. + +Tue May 5 11:10:27 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (DEMANGLER): Define and default to cplus-dem. + Allows selection of C++ demangler to be a configuration option + until multiple demanglers are supported. + * demangle.h: New include file for extended demangler support. + * breakpoint.c, gdbtypes.c, printcmd.c, stack.c, symtab.c, + utils.c, valprint.c: Include "demangle.h" and change all calls + to cplus_demangle() or fputs_demangled() to use individual + demangling options. + * valprint.c (type_print_1): Change options to cplus_demangle + to print demangled function args. Still broken, but now less so. + * cplus-dem.c: Include demangle.h, reorganize and update some + comments to reflect reality. + * cplus-dem.c (cplus_demangle, cplus_mangle_opname): Change + second arg from fixed integer to bit based multiple options. + * cplus-dem.c (optable): Reformat and replace ansi members with + bit based options. + * cplus-dem.c (do_type): Fix bug with parsing missing return type. + +Mon May 4 22:26:59 1992 John Gilmore (gnu at cygnus.com) + + * values.c (set_internalvar): Force evaluation of lazy values. + Bug reported by RMS. + +Sun May 3 15:47:45 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.5.2. + * Makefile.in (DEMANGLE_OPTS): Add, default to -Dnounderscore. + * configure.in: Simplify ncr3000 gdb_host logic, add gdb_target. + * dwarfread.c (struct_type): Apply fix from Peggy Fieland for + proper handling of bit fields. + * gdbtypes.h (struct type): Clarify use of field.bitpos. + * symtab.h: Fix couple of misspellings in comments. + * value.h (struct value): Clarify use of bitpos. + * value.h (unpack_field_as_long): Change prototype, returns + LONGEST. + * values.c (unpack_field_as_long): Change return type to LONGEST, + sign extend unpacked fields that are signed, other rewriting. + * config/ncr3000.mt: New target config file. + +Fri May 1 01:53:26 1992 John Gilmore (gnu at cygnus.com) + + * utils.c (printchar): Print 0x7F and 0x80-0x9F in \nnn notation + even when printing 8-bit characters. + + * gdbtypes.c (make_{reference,pointer,function}_type): New + functions which handle overwriting of forward-referenced types + for stabs file reading. + (lookup_{reference,pointer,function}_type): These just call + the make_*_type functions with a null storage alloc parameter. + * gdbtypes.h (make_{reference,pointer,function}_type): Declare. + * xcoffread.c (smash_to_pointer_type): Remove, no longer used. + + * buildsym.c (dbx_lookup_type): Zero result for (-1,-1) arg. + (dbx_alloc_type): Make it easier to understand. No funct change. + (define_symbol: 't'): Don't put the typedef name into the name of + the struct, union, or enum. Bugfix. + (read_type: '*', '&', 'f'): Add comments. Use make_XXX_type + routines to properly handle overwriting preallocated types so that + forward references will work. + (read_enum_type): Force enum values to file scope, due to bug in + Sun compiler output. FIXME, fix later. + + Remove unused header_file_prev_index mechanism. It was already + obsolete in gdb-3.5. These comments appeared in 3.5: + /* This code was used before I knew about the instance codes. + My first hypothesis is that it is not necessary now + that instance codes are handled. */ + * dbxread.c (add_new_header_file): Remove header_file_prev_index. + * buildsym.h: Remove it and prev_index that saves it. + * buildsym.c (push_subfile, pop_subfile, start_symtab): Remove it. + + * solib.c (special_symbol_handling): When called from core files, + must set up debug_addr. Don't print error messages, just return. + * symmisc.c (print_symbol): Less ascii diarrhea for enums, please. + +Wed Apr 29 15:26:51 1992 Per Bothner (bothner@rtl.cygnus.com) + + * cplus-dem.c: Allow nested class names (as in + Foo::Bar::method()). + Allow the cleaner cfront style of nested class names + (Q2_3Foo3Bar as well as Q23Foo3Bar). + Make cplus_demangle re-entrant by removing use of global + variables. Instead, place all shared variables in a + stack-allocated structure, and pass around its address. + +Fri Apr 24 07:41:19 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (make-proto-gdb-1): 1st cut at packaging + 29k-share/* subdirs... + + * remote-udi.c (udi_insert/remove_breakpoint): Completely + rewrite, only leave out the bugs. + + * Makefile.in: Add 29k/UDI support. Improve depend. + * alldeps.mak, configure.in, depend: Add 29k/UDI support. + + * am29k-tdep.c: Update to use new calling conventions, and misc + symbol elements. + + * m68k-pinsn.c (print_insn_arg): Make branch offsets be signed. + +Thu Apr 23 18:43:17 1992 Fred Fish (fnf@cygnus.com) + + * tm-29k.h: Set DECR_PC_AFTER_BREAK to 0, as 29ks have nice + breakpoint instructions that leave PC pointing at the right place. + + * core.c (core_open): Call warning() to print warnings. + +Wed Apr 22 09:55:42 1992 Stu Grossman (grossman at cygnus.com) + + * symtab.c (lookup_symbol): Need to check if msymbol->name is + NULL, as ALL_MSYMBOLS will never return a NULL msymbol pointer. + This prevents a crash when trying to lookup the value of a + non-existent symbol. + +Wed Apr 22 09:42:15 1992 Fred Fish (fnf@cygnus.com) + + * signame.c, signame.h: Remove, replaced by strsignal.c in + libiberty. + * i960-tdep.c, infrun.c, mach386-xdep.c, procfs.c, sparc-tdep.c, + sun386-xdep.c: Remove include of signame.h + * Makefile.in (SFILES_MAINDIR): Remove signame.c + * Makefile.in (HFILES): Remove signame.h + * Makefile.in (OBS): Remove signame.o + * defs.h (safe_strerror, safe_strsignal, strerrno, strsigno, + errno_max, signo_max, strtoerrno, strtosigno, strsignal, + psignal, perror): Add prototypes. + * defs.h, xm-apollo68v.h, xm-ultra3.h (SYS_SIGLIST_MISSING): + Remove define. + * depend: Manually remove signame.[cho] references. + * convex-tdep.c (subsig_name): Replace use of sys_siglist with + strsignal. + * convex-xdep.c (core_file_command): Replace use of sys_siglist + with safe_strsignal. + * core.c (core_open): Replace use of sys_siglist with + safe_strsignal. + * core.c (memory_error): Replace use of sys_errlist with + safe_strerror. + * i960-tdep.c (print_fault): Replace use of sys_siglist with + safe_strsignal. + * infcmd.c (program_info): Replace use of sys_siglist with + safe_strsignal. + * infrun.c (signal_stop, signal_print, signal_program): + Allocate dynamically based on dynamic determination of number + of signals to support. + * infrun.c (child_create_inferior): Replace use of sys_errlist + with safe_strerror. + * infrun.c (wait_for_inferior): Replace use of sys_siglist with + safe_strsignal. + * infrun.c (sig_print_info): Replace use of sig_abbrev with + strsigno and sys_siglist with safe_strsignal. + * infrun.c (handle_command): Call signo_max to find number of + signals. Replace sig_number with strtosigno and sig_abbrev with + strsigno. + * infrun.c (signals_info): Replace sig_number with strtosigno. + * infrun.c (_initialize_infrun): Call signo_max to find number of + signals. Dynamically allocate signal_{stop,print,program}. + * procfs.c (errno_table): Remove, now in libiberty/strerror.c. + * procfs.c (errnoname): Add function and prototype. + * procfs.c (info_proc_siginfo): Call errnoname, replace use + of sys_siglist with safe_strsignal. + * procfs.c (info_proc_stop, info_proc_signals): Replace use of + sys_siglist with safe_strsignal. + * procfs.c (info_proc_stop): Call errnoname. + * procfs.c (signalname): Replace sig_abbrev with strsigno. + * stuff.c (main, get_offset): Replace use of sys_errlist with + strerror. + * sun386-xdep.c (core_file_command): Replace use of sys_siglist + with safe_strsignal. + * umax-xdep.c (core_file_command): Replace use of sys_siglist + with safe_strsignal. + * utils.c (safe_strerror, safe_strsignal): Add functions that + call strerror and strsignal respectively, and deal with NULL + returns. + * utils.c (perror_with_name, print_sys_errmsg): Replace use of + sys_errlist with safe_strerror. + * valprint.c (val_print): Replace use of sys_errlist with + safe_strerror. + +Tue Apr 21 12:00:47 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: rework CFLAGS so that they can be set from the + command line to make. CFLAGS -> INTERNAL_CFLAGS. + USER_CFLAGS -> CFLAGS. Remove MINUS_G. Default CFLAGS to -g. + Pass CFLAGS on recusions. + +Fri Apr 17 19:25:57 1992 Fred Fish (fnf@cygnus.com) + + * gdbtypes.h, c-exp.y, m2-exp.y, mipsread.c, gdbtypes.c: Back + out of change on 4/14/92 and remove TYPE_FLAG_FUND_TYPE. It was + overkill for the problem it solved. + * valprint.c (type_print_base): Remove TYPE_FLAG_FUND_TYPE test + and default to simply printing type names as appropriate. + * main.c (main): Remove one of the leading newlines from + warning_pre_print initialization. + * objfiles.c (open_existing_mapped_file): Add function and + prototype. + * objfiles.c (open_mapped_file): Rewrite to use new function + open_existing_mapped_file. + +Thu Apr 16 23:50:12 1992 John Gilmore (gnu at cygnus.com) + + * sun3-xdep.c (fetch_core_registers): Lint. + * tm-sun3.h: Prototype lint. + * value.h: Typo. + +Thu Apr 16 19:56:50 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (TARGET_FT_POINTER_SIZE, TARGET_FT_LONG_SIZE): + Define using TARGET_PTR_BIT and TARGET_LONG_BIT for now. + * objfiles.c: Cast calls to close() with unused returns to void. + * objfiles.c (allocate_objfile): Initialize objfile's mmfd, free + old objfile's name before updating it. + * objfiles.c (free_objfile): Major rewrite for mapped objfiles. + * objfiles.h (objfile struct): Add mmfd member. + * symfile.c (syms_from_objfile): Move some code to + new_symfile_objfile. + * symfile.c (new_symfile_objfile): Add new function, common code + from syms_from_objfile. + * symfile.c (symbol_file_add): Call new_symfile_objfile for both + mapped and unmapped symbol files. + * symfile.c (symbol_file_command): Print "No symbol file now" + message, ala exec_file_command for the exec file. + * symfile.h (new_symfile_objfile): Add prototype. + * xcoffexec.c (map_vmap): Add call to new_symfile_objfile. + * xcoffsolib.c (solib_add): Add call to new_symfile_objfile. + +Thu Apr 16 18:26:34 1992 Per Bothner (bothner@cygnus.com) + + * rs6000-pinsn.c: New version from IBM (Metin). + * m2-exp.y: Re-write string initializers ("<>" => {'<', '>'}) + to avoid warnings from some compilers. + +Tue Apr 14 22:33:55 1992 Fred Fish (fnf@cygnus.com) + + * gdbtypes.h (FT_FIXED_DECIMAL, FT_FLOAT_DECIMAL): Add defines. + * gdbtypes.h (TYPE_FLAG_FUND_TYPE): Add define for bit in a + type's flag word that marks it as a fundamental type. + * c-exp.y (_initialize_c_exp): Add TYPE_FLAG_FUND_TYPE bit to + flags argument for all calls to init_type(). + * m2-exp.y (_initialize_m2_exp): Add TYPE_FLAG_FUND_TYPE bit to + flags argument for all calls to init_type(). Also remove + dependency on host sizes for ints, floats, etc. + * mipsread.c (_initialize_mipsread): Add TYPE_FLAG_FUND_TYPE bit to + flags argument for all calls to init_type(). Also remove + dependency on host sizes for ints, floats, etc. + * gdbtypes.c (lookup_fundamental_type): Add TYPE_FLAG_FUND_TYPE + bit to flags argument for all calls to init_type(). Add types + FT_FIXED_DECIMAL and FT_FLOAT_DECIMAL. + * valprint.c (unsigned_type_table, signed_type_table, + float_type_table): Remove. + * valprint.c (type_print_base): Test new TYPE_FLAG_FUND_TYPE + bit when printing fundamental types, and print the actual name + for such types, rather than inventing one. Remove code that + invented fundamental type names. + * valprint.c (_initialize_valprint): Remove initializations + for now removed unsigned_type_table, signed_type_table, and + float_type_table. + +Tue Apr 14 14:30:46 1992 Stu Grossman (grossman at cygnus.com) + + * remote-vx.c, vx-share/xdr_ptrace.c, vx-share/xdr_ptrace.h, + vx-share/xdr_rdb.h: Update for new remote protocol under VxWorks + 5.0.2. + +Mon Apr 13 20:59:21 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (target_to_host): New function similar to previous + swapin function. + * dwarfread.c (SWAPIN, swapin): Remove macro and support function. + Extensive changes to convert all previous usages to use new + target_to_host() function. + * dwarfread.c (struct dieinfo): Change types of most integral + members to be unsigned. + +Mon Apr 13 15:59:10 1992 John Gilmore (gnu at cygnus.com) + + * WHATS.NEW: Revise -mapped doc. + +Sat Apr 11 23:14:36 1992 John Gilmore (gnu at cygnus.com) + + * mipsread.c (parse_partial_symbols): Complain when sh->index is + too high or when skipping `forwards' moves us backwards. + (parse_type): Print mis-guessed tag name in complaint. + (parse_external): Eliminate cur_stab and obscure top_stack clobbers. + (parse_procedure): Do not attempt to create symbols; just fill in + the SYMBOL_VALUE field of a .gdbinfo. symbol if we can find one. + (psymtab_to_symtab_1): Split up `stabs' from `native ecoff' code + for clarity. Set top_stack before calling parse_external. In + stabs, sort symbols before calling parse_procedure. + * mipsread.c: Lint. + * symmisc.c (std_in, std_out, std_err): Add vars to access std + FILE *'s when debugging GDB (e.g. as args to dump_symtab). + * Makefile.in: Remove stage* targets. Avoid echo on recursive + makes. Eliminate doc/Makefile from tar.Z file if doc/Makefile.in + exists. + +Fri Apr 10 23:47:37 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in (VERSION): Set to 4.5.1. + * xcoffread.c (NO_TYPEDEFS): Fix typo in commented-out #define. + * sparc-tdep.c (supply_gregset, fill_gregset, supply_fpregset, + fill_gregset): New functions for SVR4 /proc support. + * mipsread.c: Cleanup. Add more complaints for unhandled cases. + Remove new symbol types and such to ../include/coff/symconst.h. + (parse_symbol): Simplify code for parsing struct/enum/unions. + (parse_type): Handle `long long' types. + (upgrade_type): Handle `const' qualifier. + (parse_partial_symbols): fix indentation, clean a bit. + +Fri Apr 10 22:41:03 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (SWAPIN,swapin): New macro and function to call to + copy in data from raw read buffers, calling bfd byteswapping + routines as appropriate. Use to replace most existing memcpy + calls. + * dwarfread.c (basicdieinfo, completedieinfo): Add objfile arg. + * configure.in: Recognize new ncr3000 config. + * config/ncr3000.mh: New config file. + +Fri Apr 10 08:30:58 1992 Stu Grossman (grossman at cygnus.com) + + GDB-4.5 release! + + * README: Update for release. + * Makefile.in: Update version to 4.5. + * WHATS.NEW: The obvious. + + * depend: Generate new depend file for this release. + + * Makefile.in (depend): Fix dependancy generation so that it does + not include gcc 'fixincluded' files, which are usually in a system + specific location. + +Thu Apr 9 13:35:00 1992 Per Bothner (bothner@rtl.cygnus.com) + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik). + * buildsym.c (#ifdef RS6000_TARGET): Don't create unnecessary + symbols for nameless types. And, handle `R' (register parameter + type) for AIX. (an extension to existing stabstring grammar). + * rs6000-xdep.c: Fix typo (= should have been ==). + +Thu Apr 9 12:10:06 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: version=4.4.88, add xm-vax.h to HFILES. + +Thu Apr 9 02:29:03 1992 John Gilmore (gnu at cygnus.com) + + * xm-sun4os5.h (DO_DEFERRED_STORES, CLEAR_DEFERRED_STORES): Zap. + * signame.c (SIGWAITING, SIGLWP): Add. + +Tue Apr 7 16:34:07 1992 Per Bothner (bothner@cygnus.com) + + * xm-i386mach.h: add decls for errno and strdup(). + + * breakpoint.c (breakpoint_1): Add (int) casts for enums + used in array index context (otherwise, some compilers barf). + +Tue Apr 7 08:45:46 1992 Stu Grossman (grossman at cygnus.com) + + * m68k-tdep.c, tm-sun3.h: #ifdef around get_longjmp_target(). + Change def of SAVED_PC_AFTER_CALL to call routine to see if we are + in a system call, and provide better backtrace if so. + + * Makefile.in (HFILES): Add xcoffsolib.h. + * rs6k-opcode.h: Move to ../include/opcode/rs6k.h. + * rs6000-pinsn.c: #include "opcode/rs6k.h" + + * mipsread.c (read_mips_symtab, read_the_mips_symtab, + mipscoff_symfile_read): Convert to BFD to do file I/O. + + * symfile.c: #include to get proper def if isspace(). + + * i386-tdep.c (get_longjmp_target): #ifdef GET_LONGJMP_TARGET. + +Mon Apr 6 17:25:45 1992 Per Bothner (bothner@cygnus.com) + + * mipsread.c: Create a .gdbinfo pseudo-symbol for each + function also when parsing embedded stabs. + +Mon Apr 6 15:25:03 1992 Stu Grossman (grossman at cygnus.com) + + * mipsread.c: Fix more declarations. + + * mipsread.c: Fix many invocations of complain. Use enum + type_code where appropriate. + + * xm-vaxult.h: Add decl for strdup(). + + * Makefile.in: Add dependancies for xm-vaxbsd.h and xm-vaxult.h + for xm-vax.h. + +Fri Apr 3 17:41:29 1992 Stu Grossman (grossman at cygnus.com) + + * buildsym.h, dbxread.c, mipsread.c: Add objfile arg to + process_one_symbol. + +Fri Apr 3 12:17:14 1992 Per Bothner (bothner@cygnus.com) + + * munch: Must pre-pend "_" to "initialize" for SYSV style nm. + * tm-rs6000.h, xcoffexec.c, xcoffread.c, xm-rs6000.h: + Merge in more patches for rs6000 from Metin Ozisik. + * utils.c: Fix typo in comment. + +Fri Apr 3 11:23:03 1992 Fred Fish (fnf@cygnus.com) + + * procfs.c (procinfo struct): Add nopass_next_sigstop member. + * procfs.c (attach): Set nopass_next_sigstop if attached + process is forcibly stopped. + * procfs.c (child_resume): Use nopass_next_sigstop to suppress + resending SIGSTOP to attached process on first resume. + +Fri Apr 3 01:37:26 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (SFILES_MAINDIR): add mipsread.c + +Thu Apr 2 20:20:54 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in (OBS): Compile mipsread.c for all targets now. + (VERSION): Bump to 4.4.85. + * mipsread.c: Update for new include files. Lint. + * tm-irix3.h, tm-mips.h: Use new include files for ECOFF symtab. + * config/{bigmips.mt, littlemips.mt, irix3.mt, decstation.mt}: + Don't need to bring in mipsread.o specially any more. + +Thu Apr 2 19:38:31 1992 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (fixup_sigtramp): Also look for _sigtramp as a real + routine (for Irix-4.x). Make many funcs static and void. + * mips-tdep.c (mips-frame-chain): Clean up, simplify. + * (init_extra_frame_info): Don't trash cached value of frame + pointer register. This fixes backtracing through routines that use + alloca(). Generally clean up declarations of functions, and use + typedefs and macros to reference data structures as appropriate. + * tm-irix3.h, tm-mips.h (EXTRA_FRAME_INFO): use proper type for + proc_desc element. + +Thu Apr 2 09:47:11 1992 Fred Fish (fnf@cygnus.com) + + * values.c (unpack_long): Fix unpacking error for signed chars + on hosts where the default character type is unsigned. + * procfs.c (pr_flag_table, pr_why_table): Add some entries + for newer SVR4 variants. + * procfs.c (proc_set_exec_trap): Reorder tests for ioctl's that + turn off trace inherit-on-fork flag to favor latest SVR4 method. + * procfs.c (mappingflags): Add support for MA_PHYS + +Thu Apr 2 00:55:56 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (read_struct_type): Avoid coredump when C++ + abbreviated type name is messed up. Reported by Joe Buck. + FIXME, we need to determine whether GDB or GCC needs to be + smarter to correctly locate this type name. + + * c-exp.y, coffread.c, command.c, command.h, copying.awk, + dbxread.c, gdbtypes.c, infcmd.c, inferior.h, infrun.c, + m2-exp.y, printcmd.c, remote.c, solib.c, source.c, stack.c, + symtab.c, tm-sun4os4.h, tm-sun4os5.h, values.c: Lint. + * symfile.c (add_symbol_file_command): Initialize mapped/readnow. + +Wed Apr 1 11:39:52 1992 Fred Fish (fnf@cygnus.com) + + * breakpoint.h (bpdisp, bptype): Remove trailing comma. + * symtab.h (current_source_symtab): Make extern + * symtab.h (current_source_line): Make extern + * inferior.h: Move all procfs.c prototypes to one place, add + prototype for proc_signal_handling_change. Add prototypes for + signal_stop_state, signal_print_state, and signal_pass_state. + * inferior.h (stop_soon_quietly): Make extern + * inferior.h (attach_flag): Make extern + * infrun.c (NOTICE_SIGNAL_HANDLING_CHANGE): Default is null. + * infrun.c (signal_stop_state, signal_print_state, + signal_pass_state): New functions to query specific signal + handling flags. + * infrun.c (handle_command): Minor error message change, add + NOTICE_SIGNAL_HANDLING_CHANGE. + * procfs.c (open_proc_file): Remove iris specific reset of + inherit-on-fork flag, moved to proc_set_exec_trap(). + * procfs.c (proc_set_exec_trap): Add SVR4 and iris code + to reset inherit-on-fork flag, bash comment to GNU form. + * procfs.c (proc_base_address, set_proc_siginfo, + fetch_core_registers): Conform to code style. + * procfs.c (signame.h): Include. + * procfs.c (MAX_SYSCALLS, syscall_table[], init_syscalltable(), + syscallname(), info_proc_syscalls()): New macros, tables, and + functions to organize and report system call information. + * procfs.c (saved_fltset, saved_trace, saved_sighold, + saved_exitset, saved_entryset): Add to procinfo struct. + * procfs.c (struct trans): Add. + * procfs.c (pr_flag_table, pr_why_table, faults_table, + siginfo_table, errno_table): Tables to translate numeric values + to symbolic names and short descriptions. + * procfs.c (signalname, info_proc_signals): Add function and + prototype. + * procfs.c (proc_info): Now info_proc. + * procfs.c (proc_info_address_map): Now info_proc_mappings. + * procfs.c (info_proc_flags, info_proc_stop, info_proc_siginfo, + info_proc_faults, lookupname, lookupdesc, sigcodename, + sigcodedesc): New functions. + * procfs.c (proc_signal_handling_change): New function to set + the trace flags based on the state of gdb's signal handling flags. + * procfs.c (inferior_proc_init): Call proc_signal_handling_change + and remove code to do PIOCSTRACE ioctl. + * procfs.c (attach, detach): Preserve and restore process flags + using saved_* fields in procinfo struct. + * procfs.c (attach): Call proc_signal_handling_change. + * procfs.c (info_proc): Major rework to expand "info proc" cmd. + * procfs.c (proc_desc): Update for latest changes. + * xm-irix4.h (CREATE_INFERIOR_HOOK): Protect by USE_PROC_FS. + * xm-irix4.h (NOTICE_SIGNAL_HANDLING_CHANGE): Add definition. + * xm-sysv4.h (NOTICE_SIGNAL_HANDLING_CHANGE): Add definition. + +Tue Mar 31 18:38:28 1992 Fred Fish (fnf@cygnus.com) + + * procfs.c (set_proc_siginfo): Add prototype and new function. + * procfs.c (detach, child_resume): Call set_proc_siginfo to set + up inferior siginfo struct. + * elfread.c (elf_symfile_read): Compute the relocation amount + by subtracting off the address of the ".text" section. + * solib.c: Add pointer to ".text" section to so_list struct. + * solib.c (solib_map_sections): Initialize pointer to ".text" + section in so_list struct. + * solib.c (symbol_add_stub): Pass base address of ".text" + section to symbol_file_add, rather than the load address of + the shared library. On SunOS they are the same. On SVR4 they + are not. + +Tue Mar 31 17:48:15 1992 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (parse_procedure): PDR.isym should get pointer to + function name, not .gdbinfo. symbol. + +Tue Mar 31 17:05:04 1992 John Gilmore (gnu at cygnus.com) + + * breakpoint.c (breakpoint_1): Fix prototype, this time for sure! + +Tue Mar 31 11:01:06 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (VERSION): 4.4.8 + + * procfs.c (open_proc_file): Disable inherit-on-fork flag so that + commands in .cshrc/.profile won't get traced. + +Tue Mar 31 08:11:58 1992 John Gilmore (gnu at cygnus.com) + + * elfread.c (elf_symtab_read): Use xmalloc, not bfd_xmalloc. + * exec.c (build_section_table): Don't abort if no sections. + * sparc-tdep.c (single_step): Lint. + * utils.c (mrealloc): Handle realloc (0, size) case here. + +Mon Mar 30 16:50:43 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (alldeps.mak): Config files are now *.m[ht] as + opposed to m[ht]-*! + + * config/irix4.mh: Don't use coredep.o. It doesn't work with procfs. + + * mipsread.c (parse_symbol, parse_procedure): Re-do the way that + .gdbinfo. symbols are created. Move creation from parse_procedure + to parse_symbol, where it is fairly easy to grow the symtab. This + also fixes a symtab trashing bug on all mips-based systems. + * (got_numargs, lookup_numargs, free_numargs): Delete. Not + needed anymore. + * tm-mips.h, tm-iris3.h, mips-tdep.c, mipsread.c: Re-do struct + mips_extra_func_info, and all the PROC_xxx macros that look at it. + +Mon Mar 30 14:17:53 1992 Per Bothner (bothner@cygnus.com) + + * c-exp.y: Add missing return type to yyparse() prototype. + +Sat Mar 28 22:22:06 1992 John Gilmore (gnu at cygnus.com) + + Create and use macros for iterating on symtabs, psymtabs, msymbols. + + * minsyms.c (iterate_over_msymbols): Remove; clunky and slow. + * symfile.h, symtab.h (iterate_over_msymbols): Remove prototype + * coffread.c (coff_symfile_read): iterate_over_symtabs => ALL_SYMTABS. + (patch_opaque_types): Avoid dummy args and result. + * objfiles.c (have_partial_symbols, have_full_symbols, + have_minimal_symbols): explicit iteration => ALL_OBJFILES; simplify. + (iterate_over_objfiles, iterate_over_symtabs, + iterate_over_psymtabs): Remove, clunky and slow. + * objfiles.h: Replace iterate_over_* prototypes with ALL_SYMTABS, + ALL_PSYMTABS, and ALL_MSYMBOLS macros. + * symmisc.c (dump_symtab, dump_psymtab, dump_msymbols, + dump_objfile): Remove dummy args and results. Move filename + comparisons to callers. + (printsyms_command, printpsyms_command, printmsyms_command, + printobjfiles_command): iterate_over_* => ALL_*. Compare filenames. + * symtab.c (lookup_symtab_1, lookup_symtab, lookup_partial_symtab, + lookup_symbol, find_main_psymtab, find_pc_symtab, sources_info, + list_symbols, make_symbol_completion_list): Replace explicit + iteration with ALL_SYMTABS, ALL_PSYMTABS, or ALL_MSYMBOLS. + Eliminate Dijkstra flag crap, break out of loops with gotos. + (lookup_symtab_1): Protect '/' tests from short filenames. + (cplus_mangled_symbol): Move inline into lookup_symbol. + * xcoffexec.c (relocate_objfile_msymbols): Remove poor hack. + (relocate_minimal_symbol): Move inline to vmap_symtab. + (vmap_symtab): Replace iteration with ALL_OBJFILES, + iterate_over_msymbols with ALL_MSYMBOLS. + + Misc cleanup prior to release. + + * Makefile.in (VERSION): Roll to 4.4.7. + (HFILES): Add call-cmds.h. + * call-cmds.h: New header for command fns called by other files. + * breakpoint.c (watchpoints_info): Remove, same as breakpoints_info. + (breakpoint_1): Remove unused type arg. Change callers. + + * dwarfread.c (dwarf_build_psymtabs): Remove mainline test. + * mipsread.c (compare_symtabs, compare_psymtabs): Remove, unused. + * mipsread.c: Add prototypes for all static functions. + + * symmisc.c (dump_symtab_lines, dump_symtabs, dump_last_symtab, + dump_blockvector, dump_block, dump_addrchass, dump_namespace, + dump_symbol, dump_type, dump_linetable, dump_strtbl): Remove, unused. + * xcoffread.c (dump_symtab_lines, dump_symtabs, dump_last_symtab, + dump_blockvector, dump_block, dump_addrchass, dump_namespace, + dump_symbol, dump_type, dump_linetable, dump_strtbl): Remove 2nd + unused copy! + + * buildsym.c (define_symbol): Handle global register variables + (from Pierre Willard). Complain if register numbers are too large. + * target.c (nomemory): Now that higher levels examine errno, give EIO. + * tm-sparc.h: Don't #include . + * sparc-tdep.c (sparc_frame_chain, frame_saved_pc): Remove + dependency on . Start to handle cross-byte-order. + + * language.h: Avoid forward enum declaration. + * configure.in, tm-sun4os5.h, xm-sun4os5.h, config/sun4os5.mh, + config/sun4os5.mt: New host and target. + * defs.h (errno): #include rather than assuming int. + From Pierre Willard. + + * breakpoint.c, breakpoint.h, buildsym.c, coffread.c, cplus-dem.c, + dbxread.c, dwarfread.c, elfread.c, infcmd.c, infrun.c, inftarg.c, + language.c, main.c, mem-break.c, mips-tdep.c, mipsread.c, + partial-stab.h, remote.c, saber.suppress, symfile.c, symtab.c, + valops.c, valprint.c, xcoffread.c, c-exp.y, m2-exp.y, blockframe.c, + command.c, core.c, exec.c, gdbtypes.h, parse.c, printcmd.c, solib.c, + sparc-xdep.c, utils.c, value.h, values.c: Lint. + +Sat Mar 28 02:43:26 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (read_range_type): Avoid int overflow by using unsigned. + * dbxread.c (dbx_symfile_init): Remove bogus `lvalue cast'. + * language.h (enum exp_opcode): Avoid forward enum def. + * main.c (define_command, user_defined_command): Lint. + * mem-break.c, xcoffread.c: Lint. + * solib.c: Only #include on SunOS, not SVR4. + +Sun Mar 29 14:16:22 1992 Per Bothner (bothner@cygnus.com) + + * Merged in latest RS6000 diffs from Metin G. Ozisik. + * xcoffsolib.c, xcoffsolib.h: New files, from Metin. + * Various files: Changed #ifdef IBM6000 to IBM6000_HOST + or IBM6000_TARGET as (approximately) appropriate. + +Sat Mar 28 13:00:10 1992 Fred Fish (fnf@cygnus.com) + + * objfiles.h (OBJF_SYMS): Define flag bit for objfile flags. + * symfile.c (symbol_file_add): Use OBJF_SYMS to decide whether + or not to try reading symbols from a mapped objfile. Plugs memory + leak due to shared libraries generating no psymtabs or symtabs. + +Fri Mar 27 15:44:55 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (MAX_OF_C_TYPE, MIN_OF_C_TYPE): Unused, remove. + * copying.awk: Lint. Make stronger warning at top of copying.c. + * elfread.c (elf_symtab_read): Eliminate check of mainline. + * gdbtypes.c (smash_to_*): Remove FIXME comments. + (lookup_pointer_type): Add FIXME comment. + * main.c (set_history_size_command): Disallow negative size. + * partial-stab.h: Update copyright. + * rs6000-tdep.c (skip_trampoline_code): Better comments. + +Wed Mar 25 10:45:38 1992 John Gilmore (gnu at cygnus.com) + + * main.c (set_history_size_command): Negative size is error. + (Reported by Peggy Fieland.) + +Thu Mar 26 17:01:18 1992 Fred Fish (fnf@cygnus.com) + + * coffread.c (coff_symfile_init): Update comment. + * dbxread.c (DBX_SYMFILE_INFO, DBX_TEXT_SECT, DBX_SYMCOUNT, + DBX_STRINGTAB, DBX_STRINGTAB_SIZE, DBX_SYMTAB_OFFSET): Define + macros to access the dbx specific objfile information. + * dbxread.c (symfile_string_table, symfile_string_table_size): + Remove these local variables. + * dbxread.c (read_ofile_symtab, psymtab_to_symtab_1, + read_dbx_symtab): Remove the stringtab and stringtab_size params + from the function prototypes, the function definition, and the + function calls. These are now available via DBX_STRINGTAB and + DBX_STRINGTAB_SIZE using the objfile pointer. + * dbxread.c (dbx_symfile_read): Relocate addr before using as + an arg to read_dbx_symtab. + * dbxread.c (dbx_symfile_read): Remove code that free'd the + stringtab and the dbx specific per-objfile private info. + * dbxread.c (init_psymbol_list): Remove symbol count from passed + args in prototype, function definition, and function calls. It is + now available via the DBX_SYMCOUNT macro using the objfile + pointer. + * dbxread.c (dbx_symfile_read, dbx_symfile_init): Remove the + local instance of struct dbx_symfile_info and replace with DBX_* + macros. + * dbxread.c (dbx_symfile_read): Remove init's of now deleted + symfile_string_table and symfile_string_table_size. + * dbxread.c (dbx_symfile_finish): Remove now obsolete free of + symfile_string_table. + * dbxread.c (init_psymbol_list): Use DBX_SYMCOUNT. + * dbxread.c (dbx_psymtab_to_symtab): Remove local stringtab and + stringtab size variables. Remove all code that used to reread + the stringtab. + * objfiles.c (allocate_objfile): Move calls to init_malloc() + to prior to any calls to mmalloc for the objfile specific heap. + * utils.c (init_malloc): Document the requirement that for each + heap for which corruption checking is desired, that init_mmalloc + must be called prior to any mmalloc calls on the heap. + +Thu Mar 26 13:20:06 1992 Per Bothner (bothner@cygnus.com) + + * rs6000-pinsn.c: Make dis-assembly output more like + other targets: Don't print instruction in hex before + the assembly; use print_address to print out jump + destinations. + +Wed Mar 25 16:52:35 1992 Per Bothner (bothner@cygnus.com) + + * c-exp.y, gdbtypes.h: Add builtin_type_signed_char. + * cplus-dem.c: Support "Sc" meaning "signed char". + +Wed Mar 25 15:21:44 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: fix iris/iris3. + +Wed Mar 25 14:55:48 1992 Per Bothner (bothner@cygnus.com) + + * command.c, main.c (various places): Use ctype.h macros + (such as isupper(x)), instead of hard-wiring in ASCII-isms + (such as (x >= 'A' && x <= 'Z')). + (There are still more of these in other files.) + * main.c (defined_command): Lower-case the user's + new command before entering it. Needed because + command lookup is case-insensitive (and also lower-cases). + (Based on Metin's earlier patch.) + +Tue Mar 24 23:27:01 1992 K. Richard Pixley (rich@cygnus.com) + + * config/irix4.mh: new file. + +Tue Mar 24 14:17:48 1992 Stu Grossman (grossman@cygnus.com) + + * infcmd.c (step_1): Call disable_longjmp_breakpoint at the right + time. + + * xm-mips.h: Declare strdup for ultrix. + + * mipsread.c (fixup_sigtramp): Make sure that current_objfile is setup + when calling new_symbol. + * mips-tdep.c (mips_frame_chain): Use symfile_objfile instead of + current_objfile. + +Tue Mar 24 13:26:25 1992 Per Bothner (bothner@rtl.cygnus.com) + + * config/rs6000.mh: Update (for Fred's new mmalloc) + flags to disable use of GNU malloc/mmalloc. + * munch: Change SYSV rule to allow .text before the label, + as well as after, to work for AIX. + * gdbtypes.h: Minor clarifiction. + +Tue Mar 24 07:26:19 1992 Michael Tiemann (tiemann@cygnus.com) + + * buildsym.c (read_struct_type): Handle cretinous dbx symbol name + continuation in yet another place (between method declarations). + +Mon Mar 23 23:01:41 1992 Stu Grossman (grossman at cygnus.com) + + * mips-tdep.c: include symfile.h and objfiles.h to fix + compilation errors. + +Mon Mar 23 15:49:14 1992 Per Bothner (bothner@cygnus.com) + + * valops.c (value_struct_elt_for_reference): Added 'offset' + parameter to handle multiple inheritance. + * eval.c, value.h: Update accordingly. + +Fri Mar 20 17:43:27 1992 Fred Fish (fnf@cygnus.com) + + * objfiles.h: New file + * Makefile.in (HFILES): Add objfiles.h + * blockframe.c: Remove entry_scope_lowpc, entry_scope_highpc, + main_scope_lowpc, main_scope_highpc. + * blockframe.c, buildsym.c, coffread.c, dbxread.c, dwarfread.c, + elfread.c, gdbtypes.h, minsyms.c, mipsread.c, objfiles.c, solib.c, + source.c, symfile.c, symmisc.c, symtab.c, target.c, xcoffexec.c, + xcoffread.c, : Include objfiles.h. + * tm-29k.h, tm-i386v.h, tm-merlin.h, tm-rs6000.h, tm-sun386.h, + tm-symmetry.h, tm-tahoe.h, tm-umax.h, tm-vax.h, m88k-tdep.c, + mips-tdep.c (FRAME_CHAIN): Renamed outside_startup_file to + inside_entry_file() and logic changed appropriately. + * blockframe.c (outside_startup_file): Renamed to + inside_entry_file() and logic changed appropriately. + * blockframe.c (inside_main_scope): Renamed to inside_main_func() + and logic changed to use per-objfile specific fields. + * blockframe.c (inside_entry_scope): Renamed to + inside_entry_func() and logic changed to use per-objfile specific + fields. + * blockframe.c, buildsym.h, coffread.c, dwarfread.c, mipsread.c, + symfile.c, mips-tdep.c (startup_file_start, startup_file_end): + Remove extern decls. + * symfile.c, symfile.h (entry_point): Remove extern decl. + * coffread.c (coff_symfile_init): Common entry point init code + moved to symfiles.c, call init_entry_point_info(). + * coffread.c (complete_symtab): Use new per-objfile entry info. + * mip-tdep.c (mips_frame_chain): Use new per-objfile entry info. + * mipsread.c (parse_partial_symbols): Use new per-objfile entry + info. + * dbxread.c (read_dbx_symtab): Use new per-objfile entry info. + * defs.h (inside_entry_scope, outside_startup_file, + inside_main_scope): Prototypes changed for renames to + inside_entry_func, inside_entry_file, inside_main_func, + respectively. + * symfile.c (syms_from_objfile): Common entry point init code + moved to init_entry_point_info() and call init_entry_point_info(). + * symfile.h (init_entry_point_info): Include prototype. + * xcoffread.c (aixcoff_symfile_init): Common entry point init code + moved to symfiles.c and call init_entry_point_info(). + * dwarfread.c (entry_scope_lowpc, entry_scope_highpc, + main_scope_lowpc, main_scope_highpc): Remove extern decls. + * dwarfread.c (read_func_scope, read_file_scope): Use new per- + objfile entry info. + * frame.h (FRAME_CHAIN_VALID): Provide default definition that + works for the majority of targets. + * tm-68k.h, tm-convex.h, tm-h8300.h, tm-i386v.h, tm-irix3.h, + tm-merlin.h, tm-mips.h, tm-pyr.h, tm-rs6000.h, tm-sparc.h, + tm-sun386.h, tm-tahoe.h, tm-umax.h, tm-vax.h (FRAME_CHAIN_VALID): + Use default definition in frame.h. + * frame.h (selected_frame_level): Make decl extern. + * objfiles.c, symfile.c (current_objfile): Moved to objfiles.c + * objfiles.c, symfile.c (symfile_objfile): Moved to objfiles.c + * partial-stab.h: Use new per-objfile entry info. + * symfile.h (struct objfile): Removed, moved to objfiles.h. + * symfile.h, objfiles.h (allocate_objfile, free_objfile, + free_all_objfiles, iterate_over_objfiles, iterate_over_symtabs, + iterate_over_psymtabs, have_partial_symbols, have_full_symbols, + have_minimal_symbols): Prototypes moved to objfiles.h. + * symfile.h, objfiles.h (ALL_OBJFILES, ALL_OBJFILES_SAFE): + Macros moved to objfiles.h. + * tm-h8300.h, tm-i386v4.h (FRAME_CHAIN_VALID_ALTERNATE): Define. + +Thu Mar 19 18:49:45 1992 Per Bothner (bothner@cygnus.com) + + More C++ improvements (pointers to members, qualified names). + * c-exp.y: Support exp.type::name and exp->type::name + syntaxes. (Unfortunately, doesn't work for static members.) + * c-exp.y, eval.c: Make type::~type work better. + * eval.c (evaluate_subexp: OP_SCOPE): Replace use of + value_static_field by value_struct_elt_for_reference. + * eval.c (evaluate_subexp): Merge code for STRUCTOP_MEMBER + and STRUCTOP_MPTR; cast arg1 to domain-type of arg2. + * eval.c (evaluate_subexp): Remove special case for UNOP_ADDR + for OP_SCOPE operand; no point in it now that we use lazy + reading of values, and use "reference to member" objects. + * gdbtypes.h: Clarify comment. + * valops.c: Change value_struct_elt_for_address to return + a reference (or variable), rather than a pointer. Change + the name to value_struct_elt_for_reference to reflect this. + Returning a reference instead of a address provides a + generalization, since we can use the routine for both + class::name as well as &class::name. + Also, recurse to handle multiple inheritance properly. + * valprint.c: Moved code to print pointer-to-members + to new function point_class_member. This allows a + "reference-to-member" to be printed using the same code. + * valprint.c (type_print_varspec_prefix): Avoid printing + "struct " for domains of class-member types. + * valops.c (search_struct_field): Inline code for simplified + version of value_static_field (which can then be deleted). + * value.h: Rename value_struct_elt_for_address to + value_struct_elt_for_reference. Delete value_static_field. + * values.c: Remove no longer used function value_static_field. + +Thu Mar 19 13:54:11 1992 Fred Fish (fnf@cygnus.com) + + * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, + elfread.c (coff_symfile_finish): Add function, prototype, and + add to the xxxx_sym_fns struct for each file type. Also reformat + the xxxx_sym_fns vector to a standard format and add comments. + * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, + elfread.c (xxx_symfile_new_init, xxx_symfile_init, xxx_symfile_read): + Pass pointer to struct objfile rather than pointer to sym_fns. + Change references inside each function accordingly. Allocate any + symbol file specific info in the per-objfile memory region. + * dbxread.c (free_and_init_header_files): Break function into + free_header_files(), called from dbx_symfile_finish(), and + init_header_files(), called from dbx_new_init(). + * dbxread.c (dbx_new_init): Move deallocation things to new + dbx_symfile_finish function. + * elfread.c (elf_new_init): Call buildsym_new_init(). + * objfiles.c (free_objfile): Call the appropriate symfile_finish() + routine for the objfile before deallocating other stuff. + * sparc-tdep.c (get_longjmp_target): Cast target_read_memory arg. + * symfile.h: Move struct sym_fns to before struct objfile def. + Add sym_finish function pointer and change prototypes of other + function pointers to reflect passing struct objfile pointer rather + than struct sym_fns pointer. + * symfile.c: Remove now obsolete symtab_fns pointer. + * symfile.c (symfile_init): Renamed to find_sym_fns, and now only + locates the correct sym_fns struct for the given objfile. + * symfile.c (syms_from_objfile, symbol_file_add): Restructured + for better support of mapped symbol tables. + * symfile.c (symbol_file_command): Remove obsolete code using + symfile_fns. + * symfile.h: Remove duplicate declarations for symfile_objfile, + entry_point, and object_files. + * target.c (target_info): Compare symfile_objfile to NULL. + * xcoffread.c (aixcoff_new_init): Move deallocation stuff to + aixcoff_symfile_finish(). + +Wed Mar 18 18:22:46 1992 Fred Fish (fnf@cygnus.com) + + * infrun.c (IN_SOLIB_TRAMPOLINE): Add default definition. + * infrun.c (wait_for_inferior): Use IN_SOLIB_TRAMPOLINE. + * tm-sysv4.h (IN_SOLIB_TRAMPOLINE): Add SVR4 definition. + +Wed Mar 18 15:51:15 1992 Per Bothner (bothner@cygnus.com) + + Some improvements to g++ debugging. + * symtab.c (list_symbols): demangle before pattern matching. + * symtab.c: Other fixes to improve handing of operators. + * valprint.c (type_print_base): Fix test for constructor. + * values.c (value_static_field): Allow evaluation of + CLASS::METHOD, returning a function pointer. + +Wed Mar 18 08:39:52 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Roll 4.4.6. + * exec.c (exec_file_command): Add code to ignore optional args + passed in by file_command() for use in symbol_file_command(). + * main.c (main): Document -mapped and -readnow in help summary. + * objfiles.c (open_mapped_file): Cosmetic change, arg renamed. + * objfiles.c (allocate_objfile): Filename arg removed. Changes + to get filename from bfd with bfd_get_filename(). Test mapto + against 0, not NULL. Use mstrsave() to make copy of filename. + * remote-mm.c (mm_load): Symbol_file_add() takes an additional + arg. + * remote-vx.c (vx_load_command, add_symbol_stub): + Symbol_file_add() takes an additional arg. + * solib.c (symbol_add_stub): Symbol_file_add() takes an + additional arg. + * symfile.c (symfile_open): Renamed to symfile_bfd_open and + changed to return a bfd not an objfile pointer. + * symfile.c (syms_from_objfile): Eliminate local copy of bfd. + * symfile.c (symbol_file_add): Takes an additional arg (readnow). + Change to eliminate local bfd and use symfile_bfd_open() plus + allocate_objfile(). Add code to implement readnow option. + * symfile.c (symbol_file_command): Changes to option handling, + readnow functionality moved to symbol_file_add(). + * symfile.c (symfile_init): Eliminate local copy of bfd. + * symfile.c (add_symbol_file_command): Changes to parse mapped + and readnow options. + * symfile.h (allocate_objfile): Arg removed from prototype. + * symtab.h (symbol_file_add): Arg added to prototype. + * xcoffexec.c (map_vmap): Allocate_objfile() takes an additional + arg. + +Sat Mar 14 16:38:47 1992 Fred Fish (fnf@cygnus.com) + + * gmalloc.c, gmalloc.h mcheck.c mmap-alloc.c mmap-sbrk.c mtrace.c, + mtrace.awk, state.c, state.h: Removed. + * .gdbinit: Add ../malloc, ../libiberty, and ../bfd to list of + directories searched for source files. + * Makefile.in (GNU_MALLOC, MALLOC_CFLAGS, MALLOCSRC): Removed + * Makefile.in (MMALLOC_DIR, MMALLOC_DEP, MMALLOC_LIB, + MMALLOC_DISABLE, MMALLOC_CHECK, MMALLOC_CFLAGS): Add + * Makefile.in (CFLAGS): Replace MALLOC_CFLAGS with MMALLOC_CFLAGS. + * Makefile.in (CLIBS, CDEPS): Add MMALLOC_LIB + * Makefile.in (ADD_FILES, ADD_DEPS): Remove GNU_MALLOC. + * Makefile.in (SFILES_MAINDIR): Remove stat.c mmap-alloc.c, mmap- + sbrk.c + * Makefile.in (HFILES): Remove state.h + * Makefile.in (POSSLIBS_MAINDIR): Remove MALLOCSRC. + * Makefile.in (OBS): Remove state.o mmap-alloc.o mmap-sbrk.o + * Makefile.in (saber_gdb): Remove mcheck, mtrace. Add MMALLOC_DIR. + * Makefile.in (clean): Remove all object files. + * c-exp.y: Define malloc to xmalloc and realloc to xrealloc. + * cplus-dem.c: Remove prototypes definitions that are now done in + def.h. + * dbxread.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * defs.h: Remove prototypes for mmap_* functions. Add prototypes + for xmmalloc, xmrealloc, mfree, mmcheck, mmtrace, mmalloc_attach, + mmalloc_detach, mmalloc_setkey, msavestring, and mstrsave, nomem. + * depend: Remove dependencies for state.o, state.h. + * dwarfread.c: Add declaration for warning_pre_print. + * dwarfread.c (dwarfwarn): Use warning_pre_print. + * dwarfread.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * gdbtypes.c (lookup_fundamental_type): Fix init_type calls to + use supplied objfile. + * i386-xdep.c (print_387_status): Change to use warning() rather + than printfs. + * i387-tdep.c (print_387_control_word): Change to use warning() + rather than printfs. + * infrun.c (wait_for_inferior): Remove unreachable abort() call + that some compilers grumble about. + * language.c (throughout): Add declaration for warning_pre_print + and using warning() instead of printfs. + * m2-exp.y: Define malloc to xmalloc and realloc to xrealloc. + * main.c (main): Add declaration for warning_pre_print and set it + similarly to error_pre_print. Add declarations for + mapped_symbol_files and readnow_symbol_files. Add appropriate + definitions to long_options[]. + * minsyms.c: Trivial fix to comment. + * objfiles.c (allocate_objfile): Substantially rewritten for + using mapped symbol files. + * objfiles.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * objfiles.c (open_mapped_file, mapped_to_address): Add functions. + * source.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * source.c (open_source_file): Use mstrsave to save file name in + mapped symbol region for objfile. + * symfile.c: Remove include for state.h. + include to local form. + * symfile.c (symbol_file_add_digested): Remove. + * symfile.c (symbol_file_add): Substantially rewritten for mapped + symbol files. + * symfile.h: Remove malloc/xrealloc/xmalloc/xrealloc/free members + from objfile structure. Add malloc descriptor pointer (md). + * symfile.h (OBJF_DUMPABLE): Changed name to OBJF_MAPPED. + * symm-xdep.c (print_fpu_status): Use warning() rather than + printfs. + * symmisc.c (free_symtab_block): Now takes and uses current + objfile pointer. + * symmisc.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * symtab.c (cplus_mangled_symbol): Cast return value to avoid + Sun compiler grumblings when PTR is char *. + * symtab.c (lookup_symbol): Cast return value of iterate_over_ + msymbols() to correct pointer type. + * utils.c (warning_pre_print): Initialize to "\nwarning: ". + * utils.c (fatal, fatal_dump_core): Ensure that the fatal + error always starts on a line of it's own. + * utils.c (init_malloc, malloc_botch, xmalloc, xrealloc): + Rewrite for new mapped malloc package use. + * utils.c (mmalloc, mrealloc, mfree): Stubs for configurations + that don't want to use the mapped malloc package; pass arguments + on to traditional malloc package functions. + * utils.c (nomem): Add for fatal virtual memory exhausted aborts. + * utils.c (xmmalloc, xmrealloc, xmalloc, xrealloc): Like mmalloc, + mrealloc, malloc, and realloc but get fatal error if runs out + of memory. + * utils.c (msavestring, mstrsave): Save a string in a specific + mapped malloc region. + * utils.c (print_spaces): Use xmalloc to get the buffer. + * xm-amix.h, xm-i386v4.h, xm-sun3os4.h, xm-sun4os4.h: Add defines + for MMAP_BASE_ADDRESS and MMAP_INCREMENT. + * config/i386v4.mh: Insignificant reorganization. + +Sat Mar 14 11:44:47 1992 Fred Fish (fnf@cygnus.com) + + * xcoffread.c: Only enable compilation of debugging functions + if IBM6000 is defined. Fails to compile otherwise. + +Fri Mar 13 15:51:11 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: pass MAKEINFO down on info. + +Fri Mar 13 12:56:36 1992 John Gilmore (gnu at cygnus.com) + + * mipsread.c (mipscoff_symfile_read): Eliminate a lot of + useless code, including an lseek to an uninitialized variable. + Reported by Jim Williams . + +Thu Mar 12 11:56:46 1992 Per Bothner (bothner@cygnus.com) + + Merged in patches from metin@ibmpa.awdpa.ibm.com (Metin G. + Ozisik) (dated Fri, 6 Mar 92 17:51) for the rs6000. + * minsyms.c, symfile.c: Changes that may be generally + applicable, but are #ifdef IBM6000 for now. + * rs6000-xdep.c: Fixed typo in comment. + * rs6000-tdep.c: Non-substatial changes. + * xoffread.c: The main change here is addition of some + debugging functions. + * xoffexec.c: More changes. + + * xcoffread.c: Fixed two too-few-parameters bugs. + + * solib.h, infrun.c, tm-rs6000.h: Add a PID parameter + to SOLIB_CREATE_INFERIOR_HOOK macro. + +Sun Mar 8 21:17:48 1992 Fred Fish (fnf@cygnus.com) + + * symfile.h: Add prototype for iterate_over_msymbols(). + * symtab.c (cplus_mangled_symbol): Add function. + * symtab.c (lookup_symbol): Call cplus_mangled_symbol via + iterate_over_msymbols to find demangled C++ symbol. + * xcoffexec.c (relocate_minimal_symbol): Return meaningful + value to iterate_over_msymbols(). + * xcoffexec.c (vmap_symtab): Ignore return from iterate_over_ + msymbols(). + +Fri Mar 6 21:59:34 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added check target. + +Thu Mar 5 23:56:01 1992 John Gilmore (gnu at cygnus.com) + + * ecoff.c: Move to ../bfd/coff-msym.c. + * config/mt-*mips: Remove ecoff.o from the configuration. + * remote.c (): Add newline to initial +. + (remote_resume): Mention how to cope with signals. + (remote_interrupt): Add debug msg. + (remote-wait): Implement new 'T' reply, which includes + status, PC, and FP all in a single short message. + (putpkt): Add further debugging of packet acks. + * mipsread.c (fixup_symtab): Also swap RFD's. + (parse_partial_symbols): Avoid bug on unknown symbol types. + * Makefile.in (VERSION): Roll to 4.4.5. + * mips-tdep.c (heuristic_proc_start): Avoid long delays + for remote MIPS by limiting heuristic to 200 byte search. + (heuristic_proc_desc): Byte-swapping. + (mips_print_register): Cope with failure of + read_relative_register_raw_bytes. Byte-swap integers for + printing. + * mips-pinsn.c (print_insn): Byte-swap instruction. + +Thu Mar 5 12:32:09 1992 Stu Grossman (grossman at cygnus.com) + + * config.sub configure.in config/mh-irix4 + gdb/configure.in gdb/mips-tdep.c gdb/mipsread.c + gdb/procfs.c gdb/signame.h gdb/tm-irix3.h gdb/tm-mips.h + gdb/xm-irix4.h gdb/config/mt-irix3 + gdb/config/mh-irix4 texinfo/configure.in: Port to SGI Irix-4.x. + +Wed Mar 4 11:56:42 1992 Fred Fish (fnf@cygnus.com) + + * defs.h, utils.c: xrealloc takes PTR as first arg. + * defs.h: Reword confusing comment about ANSI prototypes. + * defs.h: Some minor whitespace changes. + * infrun.c (wait_for_inferior): Compare int tmp to int 0, + not NULL, which can be (void *). + * tm-amix.h, tm-i386v4.h: Add defines for setjmp/longjmp handling. + * tm-i386v.h (SP_ARG0): Define + * xm-sysv4.h: Back out of change for missing prototypes. + * i386-tdep.c (get_longjmp_target): Add function. + +Wed Mar 4 05:46:11 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: install man page too. + +Tue Mar 3 15:11:52 1992 Michael Tiemann (tiemann@cygnus.com) + + * All GDB files that #include defs.h: Removed stdio.h. + (defs.h): #include stdio.h. + +Mon Mar 2 23:00:12 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * gdbtypes.c (lookup_pointer_type): initialize the TYPE_LENGTH of + a ptype to reflect the setting of TARGET_PTR_BIT. Set the + TYPE_FLAGS of a ptype to TYPE_FLAG_UNSIGNED. + * tm-h8300.h, h8300-tdep.c, remote-hms.c: personal checkpoint + * printcmd.c (print_address): if ADDR_BITS_REMOVE is defined, use + it before printing out the hex shape of an address. + +Sun Mar 1 17:41:09 1992 Per Bothner (bothner@cygnus.com) + + * rs6000-xdep.c (frame_initial_stack_address): Move + code to set frame->cache_fsr into new separate function + frame_get_cacahe_fsr. This allows fixing a fatal error. + * xcoffexec.c: Turn previously suppressed error + message back on, after cleaning up BFD. + + * breakpoint.c (breakpoint_re_set): Removed (at least for now) + printing of blank line, since it cases printing of an + extra blank line. Is this intended? It does mess up + gdb test suite. + * defs.h: Put back declarations of malloc and realloc, + but protected by #ifndef MALLOC_INCOMPATIBLE. + * objfiles.c: Undo previous change: Use malloc/realloc + for objfile malloc/realloc fields (but add a cast). + * xcoffexec.c: Suppress an error message (for now). + +Sat Feb 29 14:43:02 1992 Per Bothner (bothner@cygnus.com) + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Fri, 21 Feb 92 13:14:54 -0800] + * buildsym.c: Use smash_to_pointer_type() to handle forward type + references. + * xcoffread.c: Modifications to C_DECL storage class handling, and + introduction of an old smash_to_pointer_type() routine. + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 20 Feb 92 13:57:16 -0800] + * rs6000-xdep.c, rs6000-tdep.c, tm-rs6000.h: function_frame_info() + parameters have been modified. + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 20 Feb 92 10:10:05 -0800] + * rs6000-tdep.c: Before Feb 5 92, register_valid[] array was not used, + and fetch_inferior_registers() always fetched all the registers + resulting valid register values at hand all the time. Pushing a dummy + frame did not require validating all register values first. After + putting the above mechanism into action, we didn't have valid registers + values always ready. Thus, all registers need to be fetched before + pushing a dummy frame now. + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 13 Feb 92 16:22:44 -0800] + * rs6000-xdep.c: frame_initial_stack_address() function to calculate + the starting address (actual frame address) of a frame. + * rs6000-tdep.c: modifications to function_frame_info() to see if + function reserves a frame pointer register (alloca register) + * tm-rs6000.h: EXTRA_FRAME_INFO, FRAME_ARGS_ADDRESS and + FRAME_LOCALS_ADDRESS has been updated to support debugging of + functions with alloca() calls. + +Sun Mar 1 13:13:39 1992 Fred Fish (fnf@cygnus.com) + + * xm-sysv4.h: Provide definitions/prototypes for host environment + functions for which no definitions or prototypes are provided in + any currently included gdb or host environment header files. + For SVR4, this currently includes malloc and realloc, which cannot + be portably prototyped in any gdb include file. + +Sat Feb 29 14:43:02 1992 Per Bothner (bothner@cygnus.com) + + * buildsym.h: Remove obsolete variable file_stabs. + + * Makefile.in: Move place where configure merges in host- + and target-dependent fragments later, so the latter + can override (say) GNU_MALLOC. + * config/mh-rs6000: Use system malloc. Otherwise, I + ended up with *two* incompatible versions of malloc + (functions in libc would call the malloc in libc). + I assume this is a shared library problem. + + * remote.c: Fix (presumed) typo. + * objfiles.c: Use xmalloc/xrealloc instead of + malloc/realloc (since the latter are no longer declared). + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 6 Feb 1992 10:22:02 -0800] + * rs6000-xdep.c: Improvements to fetch_inferior_registers() to + handle individual registers. + * tm-rs6000.h: Fix SAVED_PC_AFTER_CALL macro to handle pc value + correctly in case it wasn't cached yet. (A problem showed up + after fetching individual registers.) + * buildsym.c: Disable type_synonym_name's type name overwriting + in cases it is unnecesary. rs6000 portation doesn't use + type_synonym_name, and it used to nullify type names + * xcoffread.c: to handle g++'s typename abbreviation, fill in a + type's name as soon as space for that type is allocated. + * xcoffread.c: ignore a section's lineno information if it is + not `.text'. (In rs6000 bfd portation integration, skipping over + `.pad' sections are ignored since it was in machine independent + part of the code. Thus, a problem of fake sections with invalid + lineno information arised.) + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 6 Feb 1992 13:26:22 -0800] + * rs6000-tdep.c: make function_frame_info() work whether or not + reading from a core file. + * tm-rs6000.h: Implementation of FRAME_FIND_SAVED_REGS macro. + + * infrun.c. main.c, printcmd.c. symtab.c: + More changes from IBM for rs6000. + + +Thu Feb 27 22:57:19 1992 Per Bothner (bothner@cygnus.com) + + * rs6k-opcode.h, tm-rs6000.h, xm-rs6000.h, rs6000-tdep.c, + rs6000-xdep.c, xcoffexec.c, xcoffread.c: + Merge in changes (mostly from IBM) for RS6000. + * breakpoint.c, buildsym.c, infptrace.c, stack.c, symtab.c: + More changes from IBM for RS6000. These are in machine- + independent code, and probably could do with some cleaning + up. The most questionable of these are #ifdef IBM6000. + * infrun.c, sparc-tdep.c: Pass a parameter (signal number) + to single_step() (for consistency with rs6000 and i860). + * utils.c: Allow the 1st arg to xrealloc to be NULL + (in which case do malloc). This removes the need for + some tests in xcoff code (and perhaps other places?). + * coffread.c: Removed variables last_source_file, + type_vector, and type_vector_length as these are now + defined by buildsym.[ch]. + * defs.h: Remove prototypes for malloc and realloc, since + these should only be used to implement xmalloc and xrealloc, + and they conflict with in AIX - where they + return void* even when __STDC__ isn't defined. Sigh. + * munch: Recognize *initialize* in data as well as text + (AIX uses data). Also, incorporate a patch from Garrett + Wollman to make the sed script + much more sensible, by only trying to match the name of + the initialize_foo function, and not the junk before it. + +Thu Feb 27 20:07:43 1992 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Don't reset breakpoint + unless symbol table indicates that something has changed. + +Thu Feb 27 11:48:47 1992 John Gilmore (gnu at cygnus.com) + + * remote.c: Make it work for embedded MIPS. Increase buffer + size, and use throughout. Round buffer size up if too many regs. + Support baud rate setting and try for an 8-bit path. If + interrupted while waiting for target, send a ^C down the wire. + Avoid single-byte reads. + * tm-mips.h: Add more embedded-system registers to REGISTER_NAMES + and NUM_REGS. + * mips-xdep.h: Avoid the embedded regs when on Unix. + + * mipsread.c: Byte-swap the symbol table structures, using + routines from ecoff.c, to read a symbol table written in any + of the four possible byte orders. + * configure.in (mips-big-* target): Same as Sony News. + * config/mt-bigmips, config/mt-littlemips: Add ecoff.o. + * ecoff.c: New file for symbol swapping routines. + +Thu Feb 27 09:26:38 1992 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c (all_breakpoints_info, breakpoint_1): Add 'info + all-breakpoints' command. + * (get_number): Allow users to enter negative breakpoint numbers. + * (breakpoint_1): Reformat display of 'info break' to show new + fields. + * (create_longjmp_breakpoint, breakpoint_re_set, + breakpoint_re_set_one, enable/disable_longjmp_breakpoint), + symfile.c (syms_from_objfile): Re-do + insertion of longjmp breakpoints. Move all code into + breakpoint_re_set, and call that instead of + create_longjmp_breakpoint in symfile.c. + +Thu Feb 27 06:11:05 1992 John Gilmore (gnu at cygnus.com) + + * breakpoint.h (ALL_BREAKPOINTS_SAFE): Add. + * breakpoint.c (breakpoint_re_set): Use ALL_BREAKPOINTS_SAFE. + * symtab.c (find_pc_symtab): Handle having no objfiles. + * infcmd.c: Fix comment. + * objfiles.c (free_all_objfiles): Add. + * symfile.h (ALL_OBJFILES, ALL_OBJFILES_SAFE): Add. + * symfile.c (symbol_file_command): free all objfiles when + specifying a new symbol file. + (reread_symbols): Stat the file name, don't fstat the descriptor. + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +Tue Feb 25 19:31:19 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (end_psymtab): Delete empty psymtabs. + * symfile.c (allocate_psymtab): Recycle empty psymtabs. + * symfile.h (struct objfile): Add free_psymtabs. + +Sat Feb 22 02:00:32 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in (VERSION): Roll to gdb-4.4.4. + + * symfile.c (symbol_file_command): strcmp => !strcmp. + * breakpoint.h: Move prototypes to follow enum definition they need. + * breakpoint.c, infrun.c: Lint. + * printcmd.c: Use `enum enable' rather than `enum + display_status'. + * mipsread.c: First pass at making it compile with the new + objfile changes. Probably seriously broken still, but it + compiles. FIXME. + +Sat Feb 22 00:56:39 1992 Stu Grossman (grossman at cygnus.com) + + * infrun.c, infcmd.c, breakpoint.c, main.c, symfile.c, + breakpoint.h, tm-sun4os4.h, tm-sparc.h, sparc-tdep.c, tm-mips.h, + mips-tdep.h, tm-sun3.h, tm-68k.h, m68k-tdep.h: Add support for + stepping (and nexting) through longjmp(). Also, cleanup + breakpoint handling quite a bit by creating explicit breakpoint + types instead of using magic breakpoint numbers. + Makefile.in: Update version to 4.4.3 + +Sat Feb 22 00:08:50 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c, dwarfread.c, gdbtypes.c, inflow.c, main.c, + minsyms.c, printcmd.c, remote.c, saber.suppress: Saberlint. + * symmisc.c, xcoffread.c: Move debug functions to symmisc.c. + + * xm-sun3os4.h, xm-sun4os4.h: Enable HAVE_MMAP. + + * minsyms.c (install_minimal_symbols): Add bunches to any + existing minsyms in the objfile. Avoid extra mallocation + by working directly in the obstack. Remove ignored `mainline' parm. + * coffread.c, dbxread.c, elfread.c, mipsread.c, solib.c, symtab.h, + xcoffread.c: Change all callers. + * FIXME: We should be able to eliminate MAINLINE from all the + symbol readers now, with a small bit of work. + + * valops.c, value.h: Lint. + * remote-vx.c: Add missing break; statement. Bugfix by + Michael Sclafani, . + +Fri Feb 21 17:29:54 1992 Fred Fish (fnf at cygnus.com) + + * Makefile.in (VERSION): Update version to 4.4.2 + * Makefile.in (SFILES_MAINDIR): Add gdbtypes.c, state.c, objfiles.c, + minsyms.c, mmap-alloc.c, mmap-sbrk.c + * Makefile.in (HFILES): Add gdbtypes.h, state.h, solib.h + * Makefile.in (OBS): Add gdbtypes.o, state.o, objfiles.o, minsyms.o, + mmap-alloc.o, mmap-sbrk.o + + * altos-xdep.c: Minor whitespace change. + * am29k-tdep.c (examine_prologue): Convert from misc function vector + use to new minimal symbol table use. + * arm-xdep.c (fetch_inferior_registers): Document unused argument. + * arm-xdep.c (store_inferior_registers): Returns void. + * blockframe.c (get_pc_function_start, find_pc_partial_function): + Convert from misc function vector use to new minimal symbol table use. + Remove find_pc_misc_function(). Ifdef out block_innermost_frame(). + * breakpoint.c: Add prototypes for local functions. + * breakpoint.c (catch_command_1): Change to static and remove unused + local "pc". + * breakpoint.c (map_breakpoint_numbers): Prototype arg "function". + * breakpoint.h: Change function decls to prototype form. + * buildsym.c: Add prototypes for local functions. + * buildsym.c: Moved hashname() function here from dbxread.c. + * buildsym.c (dbx_lookup_type): Cast args to xrealloc(). + * buildsym.c: Remove dbx_create_type(), uses changed to alloc_type(). + * buildsym.c (dbx_alloc_type): Change to static. + * buildsym.c (finish_block): Add objfile parameter. + * buildsym.c (misc): Change symbol_obstack to objfile version. + * buildsym.c (make_blockvector): Change to static. + * buildsym.c (start_subfile): Use strdup instead of obsavestring. + * buildsym.c (compare_line_numbers): Change to static, args are const, + cast args when used. + * buildsym.c (start_symtab): Inline new_object_header_files() call. + * buildsym.c (patch_block_stabs): Moved to this file from xcoffread + and made static. Add objfile parameter. + * buildsym.c (end_symtab): Simplify code using line table size. + Realloc the linetable on the objfile symbol_obstack and copy there. + * buildsym.c (scan_file_globals): Convert from misc function vector + use to new minimal symbol use. + * buildsym.c (define_symbol): Add objfile parameter. Make sure + strings get allocated in objfile's symbol_obstack. Convert references + to builtin types to lookup_fundamental_type(). + * buildsym.c (read_type): Make static, add objfile parameter, convert + references to buildin types to lookup_fundamental_type(). + * buildsym.c (read_struct_type): Add objfile parameter. + * buildsym.c (read_array_type): Make static, add objfile parameter. + * buildsym.c (read_enum_type): Make static, add objfile parameter. + * buildsym.c (read_huge_number): Make static. + * buildsym.c (read_range_type): Make static, add objfile parameter, + convert references to buildin types to lookup_fundamental_type (). + * buildsym.c (read_args): Make static, add objfile parameter. + * buildsym.h: Convert function decl's to prototype form. + * c-exp.y: Add prototypes for local functions, convert uses of misc + function vector to minimal symbol table. Reformat all builtin type + initializations and pass a NULL objfile to init_type() for them. + * coffread.c: Change context_stack ref's to coff_context_stack, + add local function prototypes. Cast uses of xrealloc arg 1. + * coffread.c (coff_alloc_type): Call alloc_type instead of hand- + crafting a new type. + * coffread.c (add_symbol_to_list): Change to coff_add_symbol_to_list. + * coffread.c (finish_block): Change name to coff_finish_block. + * coffread.c (make_blockvector): Add and use objfile parameter. + * coffread.c (record_line): Change name to coff_record_line. + * coffread.c (start_symtab): Change name to coff_start_symtab. + * coffread.c (end_symtab): Change name to coff_end_symtab. + * coffread.c (record_misc_function): Change name to record_minimal_ + symbol and change to minimal symbol table use from misc func tbl. + * coffread.c (coff_symfile_read): Convert from misc function vector + use to minimal symbol table use. + * coffread.c (hashname): Remove; use common version in buildsym.c. + * coffread.c (decode_base_type): Change references to builtin types + to calls to lookup_fundamental_type(). + * coffread.c (read_struct_type): Change name to coff_read_struct_type. + * coffread.c (read_enum_type): Change name to coff_read_enum_type. + * command.c: Add prototypes for local functions. + * command.c (add_cmd): Prototype the 'fun' parameter and use the + appropriate member of the function union for that type. + * command.c (add_abbrev_cmd): Prototype the 'fun' parameter and + ifdef out the function since it isn't currently used. + * command.c (add_alias_cmd): Pass correct function type to add_cmd. + * command.c (add_prefix_cmd): Prototype the 'fun' parameter. + * command.c (add_abbrev_prefix_cmd): Prototype the 'fun' parameter. + * command.c (help_cmd): Compare function pointer to NULL. + * command.c (help_cmd_list): Compare function pointer to NULL. + * command.c (lookup_cmd_1): Use correct member of function union. + * command.c (undef_cmd_error): Make static. + * command.c (complete_on_cmdlist): Use correct member of func union. + * command.c (do_setshow_command): Use correct member of func union. + * command.c (shell_escape): Convert rindex use to strrchr. + * command.h (COMMAND_H): Define if already included. + * command.h (cmd_list_element struct): Change 'function' to a union + and prototype args. Prototype completer function. + * command.h: Convert decl's to prototype form. + * convex-xdep.c (store_inferior_registers): Returns void. + * copying.c: Prototype local functions. + * coredep.c: Minor whitespace change. + * cplus-dem.c: Remove hack to use BSD equivalents of mem* and str*. + * cplus-dem.c: Prototype local functions. + * dbxread.c (hashname): Remove; moved to buildsym.c. + * dbxread.c (free_and_init_header_files): Make static. + * dbxread.c: Add prototypes for local functions. + * dbxread.c (new_object_header_files): Remove; inlined usages. + * dbxread.c (xrealloc usages): Cast args. + * dbxread.c (record_misc_function): Change to record_minimal_symbol + and change usages accordingly. + * dbxread.c (static_psymbols usages): Change to use per-objfile copy. + * dbxread.c (xmalloc usages): Use per-objfile copy when appropriate. + * dbxread.c (dbx_next_symbol_text): Make static. + * dbxread.c (init_psymbol_list): Convert to use per-objfile data. + * dbxread.c (init_bincl_list): Add and use objfile parameter. + * dbxread.c (free_bincl_list): Add and use objfile parameter. + * dbxread.c (compare_psymbols): Remove; use common symfile.c version. + * dbxread.c (end_psymtab): Convert to use per-objfile data. + * dwarfread.c (DEFUN/EXFUN): Remove all usages. Use PARAMS for + prototypes. + * dwarfread.c (record_misc_function): Change name to record_minimal_ + symbol and use minimal symbol table throughout. + * dwarfread.c (compare_psymbols): Remove; use common symtab.c version. + * dwarfread.c: Convert all references to builtin types to use the new + lookup_fundamental_type function. + * dwarfread.c (read_enumeration): Add and use objfile parameter. + * elfread.c (DEFUN/EXFUN): Remove all usages. Use PARAMS for proto- + types. + * elfread.c (record_misc_function): Convert to use record_minimal_ + symbol. + * elfread.c (elf_symtab_read): Add objfile parameter. + * eval.c: Add prototypes for local functions and move some decls + around to accomodate prototypes. + * expprint.c: Add prototypes for local functions. Change references + to misc function vector to minimal symbol table. + * findvar.c (read_memory usages): Cast args. + * gdbtypes.h: New file, type info from symfile.h and symtab.h. + * gmalloc.c: Use NOARGS where prototypes used hardwired void. + * gmalloc.c (BLOCKSIZE): Constant to be shifted is unsigned. + * gmalloc.h: Use NOARGS where prototypes used hardwired void. + * gould-xdep.c: Minor whitespace change. + * hp300ux-xdep.c (fetch_inferior_registers): Remove unused regno var. + * hp300ux-xdep.c (store_inferior_registers): Returns void. + * hp300ux-xdep.c (fetch_core_registers): Takes unused arg reg_addr. + * i386-stub.c: Add prototypes, change "volatile" to NORETURN. + * i386-tdep.c: Add prototypes for local functions. + * i386-tdep.c (codestream_fill, codestream_seek, codestream_read, + i386_get_frame_setup, i386_skip_prologue): Explicitly declare params + that defaulted to int. + * i386-tdep.c (i386_follow_jump, i386_frame_find_saved_regs, + i386_push_dummy_frame): Returns void. + * i386-xdep.c (i386_register_u_addr): Declare params that default to + int and explicitly declare return type as int. + * i387-tdep.c: Minor formatting changes. + * i960-tdep.c (leafproc_return): Convert from misc function vector + use to minimal symbol table use. + * infcmd.c: Add prototypes for local functions. + * infcmd.c (continue_command, until_next_command, until_command, + path_info, path_command): Make static. + * infcmd.c (step_1, until_next_command): Convert from misc func + vector to minimal symbol table use. + * inflow.c: Add prototypes for local functions. + * infptrace.c (store_inferior_registers): Returns void, not int. + * language.c (_initialize_language): Use proper member of function + union. + * m2-exp.y: Add prototypes for local functions, convert misc function + vector uses to minimal symbol table uses. + * m2-exp.y (make_qualname, yyerror): Make static. + * m2-exp.y (_initialize_m2_exp): Call init_types with NULL objfile. + * m68k-pinsn.c: Add prototypes for local functions. + * m68k-pinsn.c (print_insn): Cast args to read_memory. + * m68k-pinsn.c (fetch_arg): Make parameter 'code' and int. + * m68k-stub.c: Add prototypes. + * m88k-pinsn.c (sprint_address): Convert from misc function vector + use to minimal symbol table use. + * m88k-xdep.c (fetch_inferior_registers): Takes an unused parameter. + * m88k-xdep.c (store_inferior_registers): Returns void. + * mach386-xdep.c (fetch_inferior_registers): Takes an unused param. + * mach386-xdep.c (store_inferior_registers): Returns void. + * mach386-xdep.c (fetch_core_registers): Takes an unused parameter. + * main.c: Add prototypes for local functions. + * main.c (return_to_top_level): Is type NORETURN (volatile). Cast + longjmp() result to (NORETURN void). + * main.c (catch_errors): Prototype the 'func' parameter. + * main.c (disconnect, stop_sig, do_nothin, float_handler): + Takes an unused arg. + * main.c (execute_command): Call the right member of the func union. + * main.c (command_loop_marker, symbol_completion_function, + command_loop): Make static. + * main.c (command_line_input): Make linelength unsigned, cast arg + to command_line_input(). + * main.c (add_info, add_com): Prototype the 'fun' parameter. + * main.c (initialize_main): Call right member of function union. + * mcheck.c (NOARGS): Change hardwired void in prototypes to NOARGS. + * mem-break.c: Include symtab.h + * mips-xdep.c (fetch_inferior_registers): Takes unused param. + * mips-xdep.c (store_inferior_registers): Returns void. + * mipsread.c (mipscoff_symfile_read): Change from misc function vector + use to minimal symbol table use. + * mipsread.c (symbol_obstack usages): Convert all to use per-objfile + version. + * mipsread.c (make_type): Remove, convert usages to init_type. + * mipsread.c (_initialize_mipsread): Call init_type with NULL objfile. + * nindy-tdep.c (nindy_frame_chain_valid): Convert from misc function + vector use to minimal symbol table use. + * parse.c: Add prototypes for local functions. + * parse.c (xrealloc usages): Cast args. + * parse.c (prefixify_expression, length_of_subexp): Make static. + * parser-defs.h (PARSER_DEFS_H): Define when first included. + * parser-defs.h: Convert function decls to prototype form. + * partial-stab.h: Convert from misc function vector use to new minimal + symbol table use. + * partial-stab.h (global_psymbols, static_psymbols usages): Reference + the per-objfile copies. + * printcmd.c: Add prototypes for local functions. Move some struct + definitions around to accomodate prototypes. + * printcmd.c (decode_format): Make static, change args oformat and + osize to int from char. + * printcmd.c (print_formatted): Change 'format' and 'size' to int. + * printcmd.c (print_scalar_formatted): Change arg 'format' to int. + * printcmd.c (print_address_symbolic): Convert from misc function + vector use to minimal symbol table use. + * printcmd.c (address_info): Convert from misc function vector use + to minimal symbol table use. + * printcmd.c (delete_display, enable_display, disable_display_command): + Make static. + * procfs.c (EXFUN/DEFUN): Remove all usages, convert to PARAMS. + * procfs.c (fetch_core_registers): Add unused param reg_addr. + * pyr-xdep.c (fetch_inferior_registers): Add unused param regno. + * pyr-xdep.c (store_inferior_registers): Returns void. + * remote-mm.c (mm_load): symbol_file_add return value unused. + * remote-nindy.c: Minor format change. + * remote-vx.c (vx_load_command): symbol_file_add result unused. + * rs6000-xdep.c (fetch_inferior_registers): Add unused param regno. + * rs6000-xdep.c (store_inferior_registers): Returns void. + * rs6000-xdep.c (fetch_core_registers): add unused param reg_addr + * rs6000-xdep.c (aixcoff_relocate_symtab): Convert from misc function + vector use to minimal symbol table use. + * solib.c: Add prototypes for local functions. + * solib.c (solib_add_common_symbols, locate_base): Convert from misc + function vector use to minimal symbol table use. + * solib.c (EXFUN/DEFUN): Remove all usages, convert to PARAMS. + * solib.c (find_solib, shared_library_command): Make static + * solib.c (read_memory, write_memory usages): Cast args. + * solib.c (special_symbol_handling): Add function + * source.c: Add prototypes for local functions. + * source.c (select_source_symtab): Convert to scan objfiles. + * source.c (open_source_file): Make static. + * source.c (xrealloc usages): Cast args. + * source.c (source_line_charpos): ifdef out, unused. + * source.c (get_filename_and_charpos): Make static. + * stack.c: Add prototypes for local functions. + * stack.c (print_frame_info, frame_info): Convert from misc function + vector use to minimal symbol table use. + * symfile.c: Add prototypes for local functions. + * symfile.c (compare_symbols): Make args const PTR's. + * symfile.c (compare_psymbols, sort_pst_symbols) add. + * symfile.c (sort_all_symtab_syms): Scan objfile list. + * symfile.c (obsavestring): Add objfile parameter. + * symfile.c (init_misc_bunches, prim_record_misc_function, + compare_misc_functions, discard_misc_bunches, condense_misc_bunches, + sort_misc_function_vector, compact_misc_function_vector): Remove + * symfile.c (symbol_file_add_digested): Add function. + * symfile.c (symbol_file_add): Returns struct objfile *. + * symfile.c (symbol_file_command): Modify for state file use. + * symfile.c (symfile_open): Add parameter "dumpable". + * symfile.c (allocate_objfile, free_objfile): Moved to objfiles.c + * symfile.c (load_command, add_symbol_file_command): Make static. + * symfile.c (fill_in_vptr_fieldno): Moved to gdbtypes.c + * symfile.c (rindex usages): Converted to strrchr. + * symfile.c (allocate_psymtab): New + * symfile.c (free_named_symtabs): Ifdef out code that needs to be + converted to minimal symbol table usage, but no obvious conversion. + * symfile.c (free_all_symtabs): Remove. + * symfile.c (_initialize_symfile): Use per-objfile info. + * symfile.h: Rework the objfile structure to add per-objfile data + objects (psymbol_obstack, symbol_obstack, type_obstack, + global_psymbols, static_psymbols, msymbols, minimal_symbol_count, + fundamental_types, malloc, realloc, free, xmalloc, xrealloc, etc). + Add prototypes to function declarations. + * symm-tdep.c (symmetry_extract_return_value): Convert from misc + function vector usage to minimal symbol table usage. + * symmisc.c (DEV_TTY): Define if not defined. + * symmisc.c: Add local function prototypes. + * symmisc.c (dump_objfile, dump_msymbols, dump-symtab, print_syms, + printpsyms_command, print_objfiles, print_objfiles_command): + Rework to use iterate_over_* + * symtab.c: Add prototypes for local functions. + * symtab.c (lookup_symtab_1): Convert to look through objfiles. + * symtab.c (lookup_partial_symtab): Scan through objfiles. + * symtab.c (lookup_primitive_typename, lookup_typename, lookup_ + unsigned_typename, lookup_struct, lookup_union, lookup_enum, + lookup_template_type, lookup_struct_elt_type, lookup_pointer_type, + lookup_reference_type, lookup_member_type, allocate_stub_method, + check_stub_method, create_array_type, smash_to_member_type,): + Moved to gdbtypes.c + * symtab.c (lookup_symbol): Some args are const. + * symtab.h: All type related defs and structs moved to gdbtypes.h + * symtab.h: Convert decls to prototypes. + * target.c (noprocess): Make static. + * target.h: Change decl's to prototypes. + * tm-sunos.h: (CLEAR_SOLIB, SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK, + DISABLE_UNSETTABLE_BREAK) Moved to solib.h. + * utils.c (_initialize_utils): Use correct member of function union. + * valarith.c: include gdbtypes.h + * valops.c: include gdbtypes.h, add prototypes for local functions. + * valops.c (value_push, value_arg_push, find_function_addr): + Make static. + * valops.c (value_string): Convert from misc function vector use + to minimal symbol table use. + * valops.c (check_field_in): Make arg const. + * valprint.c: Add prototypes for local functions. + * valprint.c (print_string): Make static + * valprint.c (value_print, val_print_fields, val_print): Make arg int. + * values.c: Add prototypes for local functions. + * values.c (value_headof): Convert from misc function vector to + minimal symbol table. + * xcoffexec.c: Add prototypes for local functions. + * xcoffexec.c (exec_close, file_command, add_to_section_table): + Make static. + * xcoffexec.c (relocate_minimal_symbol): Add. + * xcoffread.c (patch_block_stabs): Moved to buildsyms.c. + * xcoffread.c: Add prototypes for local functions. + * xcoffread.c (sort_syms): Convert to scan objfiles. + * xcoffread.c (read_xcoff_symtab): Make static. + * xcoffread.c (various): Replace references to builtin types with + calls to lookup_fundamental_type. Replace references to symbol_obstack + and psymbol_obstack with pointers to the per-objfile copies. + * xcoffread.c (dump_linetable, dump_type, dump_symbol, dump_namespace, + dump_block, dump_blockvector, dump_last_symtab, dump_symtabs): + Make static. + * xcoffread.c (init_stringtab): Add objfile parameter. + * gdbtypes.c: New file + * minsyms.c: New file + * mmap-alloc.c: New file + * mmap-sbrk.c: New file + * objfiles.c: New file + * state.c: New file + * state.h: New file + +Fri Feb 21 17:29:54 1992 John Gilmore (gnu at cygnus.com) + + * Check in Fred Fish's changes in these modules. Fred + will make ChangeLog entries for all of them. Update VERSION + to 4.4.2. + +Thu Feb 20 18:10:17 1992 Fred Fish (fnf at cygnus.com) + + * tm-sparc.h, tm-sysv4.h, solib.h: Move shared lib definitions + into solib.h. + * sparc-pinsn.c, sparc-tdep.c, standalone.c, sun3-xdep.c, + sun386-xdep.c, symm-xdep.c, target.c, ultra3-xdep.c, utils.c, + value.h: Prototypes for static functions; lint. + * gdbtypes.h: Empty file to ease transition. + +Thu Feb 20 16:43:13 1992 Fred Fish (fnf at cygnus.com) + + * environ.h, expression.h, frame.h, gdbcmd.h, gdbcore.h, + inferior.h, language.h, signame.h, target.h, terminal.h, + tm-68k.h, tm-i386v.h, tm-sparc.h, tm-sun386.h, tm-symmetry.h, + xm-i386v.h, xm-sparc.h: Prototypes for all external functions. + Lint. + * core.c, exec.c, infrun.c, inftarg.c, language.c, remote.c, + signame.c, sparc-xdep.c: Prototypes for all static functions. + Lint. + * core.c, eval.c, exec.c, inftarg.c, remote-adapt.c, remote-eb.c, + remote-hms.c, remote-mm.c, remote-nindy.c, remote-vx.c, remote.c, + target.c, target.h, valarith.c, valops.c, value.h, xcoffexec.c: + Remove to_call_function and target_call_function, since it + always calls the same thing (call_function_by_hand). + * core.c, exec.c, solib.c: Rename target_ops sections => + to_sections, etc. + * infcmd.c, inflow.c, infptrace.c, infrun.c, main.c, target.c, + target.h: target_kill takes no args. + * language.c (language_info): Scaffolding to allow briefer + messages when the current language changes. FIXME. + * xm-amix.h, xm-i386v4.h, xm-stratus.h: Define NORETURN to avoid + complaints about volatile functions. + * xm-sysv4.h (HAVE_MMAP): Define. + +Thu Feb 20 09:04:18 1992 Fred Fish (fnf at cygnus.com) + + * defs.h: Include ansidecl.h and PARAMS macro. Use PARAMS + to make prototypes for all functions declared here. + * cplus-dem.c: Avoid declaring xmalloc and xrealloc. + * c-exp.y: Rename SIGNED, OR, and AND to avoid conflict. + * environ.c: Include before defs.h. Minor cleanup. + * ieee-float.h: Use PARAMS for prototypes; make some params const. + * ieee-float.c, valarith.c: Include . Lint. b*=>mem*. + * m2-exp.y: Remove unused CONST; Rename OR and AND. + * utils.c: Avoid declaring malloc and realloc. Lint. + (request_quit): Accept signal-number parameter. + +Mon Feb 17 07:13:27 1992 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (process_dies): Add case to handle TAG_pointer_type + DIE's. Add new function read_tag_pointer_type() to read them. + + * dwarfread.c (dwarf_read_array_type, read_subroutine_type): + When creating a new user defined type, check to see if a partial + type already exists, and if so, bash it to fit. + +Fri Feb 14 19:00:17 1992 John Gilmore (gnu at cygnus.com) + + * coffread.c (decode_base_type): Pass long, not union. + Fix by Eric Valette, ev@chorus.fr. + +Thu Feb 13 17:14:28 1992 Fred Fish (fnf at cygnus.com) + + * elfread.c (elf_symtab_read): Fix code to correctly track + changes in bfd for absolute symbols. + +Thu Feb 13 12:43:29 1992 Stu Grossman (grossman at cygnus.com) + + * xm-vaxbsd.h: Close off comment. + +Thu Feb 13 07:45:19 1992 Fred Fish (fnf at cygnus.com) + + * xm-sysv4.h: Define NEED_POSIX_SETPGID. + +Fri Feb 7 11:51:12 1992 Per Bothner (bothner at cygnus.com) + + * mips-tdep.c (mips_print_registers): Print correct register + number for double pseudo-registers. + +Fri Feb 7 07:56:05 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (read_struct_type): Avoid double-bump of parse ptr + in the op$::OPERATOR. case. From Steven McCanne, + . + + * exec.c (set_section_name): Pass arg to exec_files_info; + only call it if interactive. From Francis Kauth . + +Thu Feb 6 17:41:32 1992 John Gilmore (gnu at cygnus.com) + + * main.c (print_gdb_version): Copyright msg: only this year. + (cd_command): Avoid changing current_directory on error. + +Thu Feb 6 15:14:01 1992 Per Bothner (bothner at cygnus.com) + + * mipsread.c (parse_partial_symbols): Handle dependencies + between partial symbol tables (when not doing stabs-in-ecoff). + (This used to be handled by parse_fdr, but parse_fdr was + incompatible with handling stabs-in-ecoff, so the code + was re-written to not use parse_fdr. Unfortunately, + the logic to handle dependencies was overlooked.) + +Thu Feb 6 11:51:39 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffread.c (read_enum_type): Use the size of a target int when + describing enum. + * defs.h: added new #define for TARGET_PTR_BIT, defaults to size + of target int. + * h8300-tdep.c, remote-hms.c, tm-h8300.h: too many changes to count + * symtab.c (lookup_reference_type, lookup_ptr_type): use + TARGET_PTR_BIT to determine size of a pointer + * values.c (unpack_long): when unpacking a REF or a PTR don't + assume the size of the type. + +Wed Feb 5 22:29:59 1992 John Gilmore (gnu at cygnus.com) + + * mipsread.c (parse_symbol): Avoid clobbering enum pointer when + looking at its members. Improve guess between struct and union, + only assuming union if multiple members have offsets of zero. + +Tue Feb 4 18:05:44 1992 Per Bothner (bothner at cygnus.com) + + * mipsread.c: Use (FP0_REGNUM-32) instead of magic number 6. + (This is just for clarity - and one day permitting us to + change FP0_REGNUM from 38 to 32, which would make more sense.) + * tm-mips.h: Added STAB_REG_TO_REGNUM macro, so that + register numbers in stabs-in-ecoff get handled correctly. + +Sat Feb 1 04:45:10 1992 Stu Grossman (grossman at cygnus.com) + + * xm-vax.h, xm-vaxult.h, xm-vaxbsd.h, config/mh-vaxult, + config/mh-vaxbsd, configure.in: Split up config stuff for Vaxen + into BSD and Ultrix. + +Sat Feb 1 04:39:41 1992 John Gilmore (gnu at cygnus.com) + + * dbxread.c (dbx_symfile_init): Call malloc, not xmalloc. + +Sat Feb 1 04:15:41 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Increment version to 4.4.1. + * main.c (print_gdb_version): Update copyright notice. + +Sat Feb 1 01:43:11 1992 Per Bothner (bothner at cygnus.com) + + * mipsread.c: Prepend "struct " to the names of structure + types, and similarly for enums and unions. (This used + to be done, but got lost in the re-write to "guess" the + difference between enum/struct/union.) + Also, guess that a tag is an enum if the first member + has type btNil. + +Fri Jan 31 21:45:51 1992 Stu Grossman (grossman at cygnus.com) + + * xm-vax.h: #ifndef ultrix around #include of endian.h and + limits.h (sigh). + +Fri Jan 31 00:05:01 1992 John Gilmore (gnu at cygnus.com) + + * Projects: Patching executables is done. + * Makefile.in (VERSION): Roll to gdb-4.4. + * README, WHATS.NEW: Update for gdb-4.4. + + * symfile.c (reread_symbols): Whenever we reread one object + file's symbols, we must restart the scan, because the object_files + chain has been permuted. + + * exec.c (exec_files_info): Split out into print_section_info. + Print BFD filename of each section if it's not the default one. + * core.c (core_files_info): Call print_section_info. + + * xm-vax.h: Include a few system header files whose definitions + must precede defs.h. + * language.c, language.h: Make some things const. + * expression.h, main.c: const spreads like ooze. + + * mem-break.c (break_insn, break_insn_size): Use unsigned chars, + since BREAKPOINT values can be >0x80. + +Thu Jan 30 17:21:14 1992 Stu Grossman (grossman at cygnus.com) + + * infrun.c, xm-i386sco.h: SCO needs to use setpgid(). + +Thu Jan 30 01:04:23 1992 John Gilmore (gnu at cygnus.com) + + * sparc-pinsn.c: Remove kludge for preferring architectures. + Remove #ifdef's for SORT_NEEDED. We need to sort the table, now + and forever. Add `add' instruction to the set that get checked + for a preceding `sethi' in order to print an absolute address. + Corresponding changes in ../include/opcode/sparc.h needed + to eliminate garbage instructions. + +Wed Jan 29 19:24:34 1992 Per Bothner (bothner at cygnus.com) + + * mipsread.c (parse_partial_symbols): Make sure partial + symbols are created for external symbols (as used to be + the case). This is a bit of a pain with the mips-coff. + It uses a table which points to all of the external + symbols belonging to a particular FDR or psymtab. + Once we've generated this table, we might as well save + it, and then use it in psymtab_to_symtab_1 to find + the symbols to pass to parse_external(). + * symfile.c, symfile.c: New function start_psymtab_common + to share the common parts of allocating a new psymtab + for dbxread, mipsread (and later dwarfread). Its code + was pulled out from start_psymtab in dbxread.c. + * dbxread.c (start_psymtab): Use start_psymtab_common(). + + * valprint.c (val_print): If there is an error when trying + to print a string, check to see if there really is a problem + by reading just one character. If that works, assume + things are ok. + +Wed Jan 29 18:58:43 1992 Stu Grossman (grossman at cygnus.com) + + * sparc-pinsn.c (compare_opcodes): Make it prefer v6, v7, + cypress, v8 mnemonics in that order. + +Tue Jan 28 17:32:13 1992 Per Bothner (bothner at cygnus.com) + + * sparc-pinsn.c: Put the qsort() back in. + +Mon Jan 27 18:51:03 1992 John Gilmore (gnu at cygnus.com) + + * findvar.c (read_register, write_register): Handle machines + where REGISTER_TYPE is not the same size as "int". + + Handle debug symbols in dynamically loaded (relocated) code: + + * dbxread.c (read_ofile_symtab): Fix up N_CATCH better. Pass + offset to process_one_symbol. + (process_one_symbol): Take new offset parameter. Add it into + appropriate symbol types to relocate symbols to loaded addresses. + Handle all possible symbol types, and complain() about types that + we don't expect to see. + * mipsread.c (psymtab_to_symtab_1): Pass offset of zero to + process_one_symbol (FIXME, should pass real offset). + + Misc bugfixes: + + * breakpoint.c (resolve_sal_pc): Split out code to resolve a + sal's PC value. + (set_breakpoint, break_command_1, until_break_command, + catch_command_1, breakpoint_re_set_one): Use it. + * symtab.h (resolve_sal_pc): Declare. + * infcmd.c (jump_command): Use resolve_sal_pc. + + * source.c (list_command): Shorten "FILE, line N" to "FILE:N". + + * putenv.c (putenv): Avoid unportably casting pointers to unsigneds. + + * c-exp.y (yylex): `this' and `template' are only tokens in C++. + + * xm-convex.h, xm-hp300bsd.h, xm-isi.h, xm-merlin.h, xm-news.h, + xm-np1.h, xm-pn.h, xm-pyr.h, xm-rtbsd.h, xm-symmetry.h, xm-umax.h: + Remove MISSING_VPRINTF declaration, and superfluous "kgdb" defines. + +Mon Jan 27 15:46:21 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (process_one_symbol): Make a first cut at handling + symbol tables generated by Sun's acc. (#ifdef'd out, FIXME.) + + * symtab.c (find_pc_line): Fix stepping into and out of #included + files. + +Mon Jan 27 13:00:55 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (OPCODES): Remove OPCODES defs and refs. There is + no longer any need to copy ../include/opcode/* into gdb. + +Mon Jan 27 12:30:38 1992 John Gilmore (gnu at cygnus.com) + + * ChangeLog, ChangeLog-9091: Split ChangeLog at 1992. + +Sun Jan 26 19:05:40 1992 Per Bothner (bothner at cygnus.com) + + * valprint.c (type_print_base, type_print_method_args): + Print C++ constructor methods without bogus "return type." + +Sat Jan 25 15:57:59 1992 Fred Fish (fnf at cygnus.com) + + * infptrace.c (child_xfer_memory): Parameter "target" should + be a pointer to a structure, not the entire structure. + +Fri Jan 24 01:30:27 1992 Fred Fish (fnf at cygnus.com) + + * depend: Convert the couple of references to ansidecl.h that + used the local gdb version to use the ../include version. + +Thu Jan 23 22:24:43 1992 Fred Fish (fnf at cygnus.com) + + * procfs.c + (child_xfer_memory): Takes pointer to a struct, not entire struct. + (inferior_proc_init): Fix non-ANSI version of args. + (attach): Call print_sys_errmsg with correct number of args. + (mappingflags): Make static, does not need to be global. + + * i386-tdep.c (i386_frame_num_args): Takes a pointer to a struct + not the entire struct itself. + + * valops.c (value_assign): Cast some args to modify_field() and + {read,write}_register_bytes() correctly. + + * ansidecl.h: Removed, is duplicate of ../include/ansidecl.h + + * Makefile.in (MALLOCSRC): Removed reference to removed local + copy of ansidecl.h. + + * dwarfread.c (list_in_scope): Needs an initial value, use file + scope. + +Mon Jan 20 19:06:28 1992 Stu Grossman (grossman at cygnus.com) + + * main.c (main): Make option_index local to keep new getopt happy. + main.c, solib.c, Makefile.in: Update copyright notices. + +Mon Jan 20 08:54:00 1992 Michael Tiemann (tiemann at cygnus.com) + + * cplus-dem.c (cplus_demangle): Correctly demangle destructors. + +Sat Jan 18 17:17:45 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (HFILES): Add partial-stab.h. + +Sat Jan 18 16:45:01 1992 Fred Fish (fnf at cygnus.com) + + * config/mh-stratus, config/mt-stratus, tm-stratus.h, xm-stratus.h: + New files for stratus. Not complete enough to actually build + on the Stratus machine; that awaits copyright assignment for + i860 changes. + + * Makefile.in (USER_CFLAGS): Add macro specifically reserved + for getting custom flags into CFLAGS when doing makes. + + * configure.in: Add config information for stratus. + +Thu Jan 16 00:51:46 1992 Fred Fish (fnf at cygnus.com) + + * dbxread.c (process_one_symbol): Pass address of structure + to complain(), rather than the whole structure. + +Wed Jan 15 09:56:16 1992 Fred Fish (fnf at cygnus.com) + + * solib.c (solib_add_common_symbols): Only compile in when not + using SVR4 style shared libraries. + +Tue Jan 14 22:34:00 1992 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (locval): Add offreg flag to indicate location + values that are computed off a base register. + + * dwarfread.c (new_symbol): Rework TAG_global_variable and + TAG_local_variable cases to account for static variables + within function scopes. + +Tue Jan 14 12:28:52 1992 Stu Grossman (grossman at cygnus.com) + + * inflow.c: remove #include . Not necessary, and + doesn't exist on some systems. + + * infrun.c (wait_for_inferior!!!!): Prevent gdb from hanging when + nexting over recursive function calls. + + * target.c (target_read_string): Create this routine to read null + terminated strings from the target. It deals with running off the + end of memory elegantly as well. solib.c (find_solib): Use + target_read_string() to avoid problems with running off the end of + memory. + + * inflow.c (child_terminal_info): #ifdef TIOCPGRP around lines + that reference pgrp_inferior. + +Mon Jan 13 14:57:11 1992 Per Bothner (bothner at cygnus.com) + + * tm-mips.h: Removed BLOCK_ADDRESS_ABSOLUTE, now that + mips-tfile has been hacked to act more "traditionally." + * dbxread.c: Fixed typo in comment. + +Sun Jan 12 13:08:36 1992 Per Bothner (bothner at cygnus.com) + + * mips-tdep.c (mips_skip_prologue): Add some number of + 'sw' instructions before 'addiu' adjusts the stack. + +Fri Jan 10 13:47:06 1992 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (start_symtab, end_symtab, scopecount, openscope, + freescope, buildblock closescope, record_line, add_symbol_to_list, + gatherblocks, make_blockvector): Extensive changes to switch + to generic symbol table building code in buildsym.c. Remove + scope tree structures and functions, symbol table building + functions, and lots of other small changes. + + * dwarfread.c: Add new macros GCC_PRODUCER and STREQN. Remove + GCC_COMPILED_FLAG_SYMBOL and GCC2_COMPILED_FLAG_SYMBOL. + +Tue Jan 7 13:09:57 1992 Stu Grossman (grossman at cygnus.com) + + * buildsym.c (cleanup_undefined_types): Add support for enums. + This fixes the 'GDB internal error. cleanup_undefined_types with + bad type' problem. + +Sun Jan 5 09:47:50 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c: detect gcc2 compilations. + +Thu Jan 2 15:07:41 1992 John Gilmore (gnu at cygnus.com) + + * sparc-pinsn.c: Rename bitfields that overlap with macro names + in ../include/opcode/sparc.h. + +Wed Jan 1 04:29:00 1992 Fred Fish (fnf at cygnus.com) + + * Makefile.in: Change tm-svr4.h to tm-sysv4.h. Change xm-svr4.h + to xm-sysv4.h. Split OPCODE_DIR into OPCODE_DIR1 and OPCODE_DIR2 + to reflect actual locations of opcode files, so TAGS target will + be buildable. + + * i386-tdep.c: Change an erroneous 'm68k' reference to 'i386'. + + * i386-tdep.c (supply_fpregset, fill_fpregset): Remove m68k + code. + + * m68k-tdep.c (supply_fpregset, fill_fpregset): Fix array + dereferencing to access the correct elements. + + * valops.c (value_addr): Declare return type of external func + value_copy(). + + * xcoffread.c: Undefine next_symbol_text before redefining it. + +For older changes see ChangeLog-1991 + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1993 b/contrib/gdb/gdb/ChangeLog-1993 new file mode 100644 index 0000000..4aba2d3 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1993 @@ -0,0 +1,7597 @@ +Fri Dec 31 14:33:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * nindy-share/nindy.c: Fix order of arguments to store_unsigned_integer + (second and third arguments were reversed). + (say): Use varargs. + +Fri Dec 31 12:13:47 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * remote-mips.c: Add timeout parameter to mips_request and + mips_receive_packet. + (callers): pass in mips_receive_wait except mips_initialize (where + we use it to clean up the kludge where we had been changing + mips_receive_wait temporarily) and mips_wait (where we pass in + -1 for no timeout). + +Fri Dec 31 14:33:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stack.c (print_block_frame_locals): Also print LOC_BASEREG variables. + +Fri Dec 31 06:55:38 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symtab.c (find_methods): Call fprintf_symbol_filtered with DMGL_ANSI. + +Thu Dec 30 10:16:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * values.c (unpack_long): Fix garbled error message. + + * remote-mips.c (mips_error): New function. + * remote-mips.c: Use it instead of error() most places. + * remote-mips.c (mips_receive_packet): New arg throw_error. + (mips_initialize): Use it not catch_errors. + * defs.h: Declare error_pre_print and warning_pre_print here... + * main.c: ...not here. + + * breakpoint.c (breakpoint_chain): Make static. + * breakpoint.c, breakpoint.h (frame_in_dummy): New function. + * stack.c (print_frame_info): Use it. + +Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * exec.c (add_to_section_table): Check for SEC_ALLOC instead of + SEC_LOAD to handle .bss segments properly. + +Thu Dec 30 10:16:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (wait_for_inferior): Enable code which assumes that if + we jump into the prologue from another function, then it was a + subroutine call. #if 0 AT_FUNCTION_START; the above code should + take care of this case. + +Wed Dec 29 12:32:08 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * valprint.c (val_print_string): Change chunksize from 200 + to 8. + + * symfile.c (generic_load): If no arguments, get file name + from get_exec_file. + + * c-exp.y: Revert Kung's change. "..." is not a type, and the + change caused "p (...)0" to dump core. + * gdbtypes.c (check_stub_method): Don't pass "..." to + parse_and_eval_type. This should fix the bug which Kung was + trying to fix. + + * stabsread.c (define_symbol): If we choose not to combine + two symbols, don't just ignore the second (LOC_REGISTER) one. + * printcmd.c (print_frame_args): If we have a LOC_ARG and a + LOC_REGISTER, use the LOC_ARG not the LOC_REGISTER. + +Tue Dec 28 15:08:00 1993 Fred Fish (fnf@deneb.cygnus.com) + + * solib.c (DEBUG_BASE): Remove macro and all references. + * solib.c (debug_base_symbols): Add array of symbols to lookup. + * solib.c (IGNORE_FIRST_LINK_MAP_ENTRY): Add macro. + * solib.c (look_for_base, locate_base): Use debug_base_symbols. + * solib.c (find_solib): Use IGNORE_FIRST_LINK_MAP_ENTRY. + +Tue Dec 28 12:06:57 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * c-exp.y : fix grammar to parse ellipsis (...) + +Mon Dec 27 18:42:14 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * stabsread.c (read_type): fix problem when reading static member + of a class. caused by change to allow :: inside template + instantiated name. + +Mon Dec 27 11:07:05 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbtypes.h: Expand on comments for TYPE_CODE_BITSTRING and + TYPE_CODE_STRING a bit. + + * m68k-tdep.c (m68k_skip_prologue, m68k_find_saved_regs): + Allow pea %fp; move.l %sp, %fp instead of link instruction to + set up the new frame. + + * main.c (init_main): Change "set remotedebug" back to var_zinteger + from var_boolean. + + * c-exp.y (yylex): Don't try to deal with nested types. + + * cp-valprint.c (cplus_print_value): Call check_stub_type on + TYPE_BASECLASS (type, i) before we look at its name. + + * dbxread.c: Move default definition of GCC_COMPILED_FLAG_SYMBOL + from here . . . + * symtab.h: . . . to here. + * dbxread.c (record_minimal_symbol): Move check for gcc{,2}_compiled. + and __gnu_compiled* from here . . . + * minsyms.c (prim_record_minimal_symbol_and_info): . . . to here. + * minsyms.c (prim_record_minimal_symbol): Call + prim_record_minimal_symbol_and_info rather than duplicating code. + * minsyms.c, symtab.h (prim_record_minimal_symbol{,_and_info}), + coffread.c (record_minimal_symbol), + xcoffread.c (RECORD_MINIMAL_SYMBOL), callers: Add objfile parameter. + +Sun Dec 26 20:44:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * dbxread.c (process_one_symbol): Handle stabs-in-som just like + stabs-in-elf. + (pastab_build_psymtabs): Likewise. + + * hppa-tdep.c: Change all comments to reference %r3 or frame + pointer rather than %r4. + (frame_chain, skip_prologue, dig_rp_from_stack): Handle %r3 as the + frame pointer. + + * config/pa/tm-hppa.h (FP_REGNUM): Define as %r3. + (FIND_FRAME_SAVED_REGS): Handle %r3 as frame pointer. + (CALL_DUMMY): Likewise. + +Sun Dec 26 16:59:39 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * exec.c (exec_file_command): If error occurs after we have opened + exec_bfd but before we call push_target, make sure to close exec_bfd. + + * infrun.c (wait_for_inferior): Remove confusing and inaccurate + stuff about subroutine calls, return, etc., from comment which + says "We've wandered out of the step range.". + +Sun Dec 26 09:18:10 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (wait_for_inferior): When checking whether the line has + changed, check the symtab as well. + +Sun Dec 26 09:18:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbtypes.c (force_to_range_type): Use switch statement. + complain() not warning() if the TYPE_CODE isn't one we know how to + deal with gracefully. Use builtin_type_int not + lookup_fundamental_type (the objfile we passed to + lookup_fundamental_type was sometimes NULL). + + * valops.c (call_function_by_hand, push_word), defs.h (push_word), + convex-xdep.c, m88k-nat.c, i386m3-nat.c, mips-tdep.c, mipsm3-nat.c, + ns32km3-nat.c, remote-bug.c, m88k-tdep.c, remote-hms.c, remote-mips.c, + config/gould/tm-np1.h, hppa-tdep.c (hppa_fix_call_dummy), remote-vx.c: + Use REGISTER_SIZE, unsigned LONGEST, and + {store,extract}_unsigned_integer, instead of sizeof + (REGISTER_TYPE) and REGISTER_TYPE. + * All tm.h files: Change REGISTER_TYPE to REGISTER_SIZE. + * hppa-tdep.c (pa_print_fp_reg): Remove unused variable val. + + * Makefile.in (ALLDEPFILES): Remove i386ly-nat.c and m68kly-nat.c. + Add lynx-nat.c. + +Sat Dec 25 20:05:41 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (init_extra_frame_info): Correctly adjust the base + of the current frame when "fromleaf" is true. Do not adjust the + frame base of the innermost frame if it is a leaf function. + +Sat Dec 25 13:39:21 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (define_symbol): Only combine a p/r pair into a + LOC_REGPARM if REG_STRUCT_HAS_ADDR. + +Sat Dec 25 09:50:29 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * valops.c (value_struct_elt): Check for (value)-1 return from + search_struct_method. + +Sat Dec 25 09:50:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * defs.h: Move definitions of TARGET_*_BIT after include of tm.h. + The old way (using #undef in tm.h) was ugly and asking for + trouble, because it makes it possible for some file to use the + wrong definition. Move definition of HOST_CHAR_BIT after definition + of TARGET_CHAR_BIT. + * config/alpha/tm-alpha.h, config/h8300/tm-h8300.h, + config/h8500/tm-h8500.h, config/z8k/tm-z8k.h: Don't undef TARGET_*_BIT + before defining them. + + * mdebugread.c: Change the builtin_type_* in this file to + mdebug_type_* and make them static. Use TYPE_CODE_ERROR for + complex and float decimal. + + * printcmd.c (disassemble_command): Call wrap_here between printing + address and printing instruction. + +Fri Dec 24 14:23:57 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (read_type): Don't fall through 'S' case (the case it + was falling though happened to do the right thing ("break;") but that + is hardly a good thing to assume). + +Tue Dec 21 13:32:02 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * ch-exp.y (match_dollar_tokens): Fix off-by-one bug. + * ch-lang.c (chill_is_varying_struct), ch-lang.h: New function. + * ch-lang.c (chill_printstr): Use double quotes, not single quotes. + * ch-typeprint.c (chill_type_print_base): Handle TYPE_CODE_BITSTRING. + Improve printing of TYPE_CODE_STRING, TYPE_CODE_SET, and + TYPE_CODE_STRUCT (including checking chill_is_varying_struct). + Print TYPE_DUMMY_RANGE by printing its TYPE_TARGET_TYPE. + Handle TYPE_CODE_ENUM. + * ch-valprint.c (chill_val_print): Handle TYPE_CODE_BITSTRING. + For TYPE_CODE_STRING, never print address. Handle VARYING strings. + * gdbtypes.c (force_to_range_type): New. + * gdbtypes.c (create_set_type): Make work, following Chill layout. + * gdbtypes.h (TYPE_LOW_BOUND, TYPE_HIGH_BOUND, TYPE_DUMMY_RANGE): New. + * stabsread.c (read_type): Distinguish string and bitstring from + char-array and set. + * valarith.c (value_subscript), valops.c (value_coerce_array): + Handle STRINGs as well as ARRAYs. + * valarith.c (value_bit_index): Fix think. Use new macros. + + +Fri Dec 17 10:45:32 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * symtab (decode_line_1): fix a bug when position char is not + set correctly. + * c-valprint (c_val_print): handle vtbl printing when vtbl is not + set up yet. + +Thu Dec 16 16:46:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips-tdep.c (read_next_frame_reg): If SIGFRAME_REG_SIZE is not + defined, define it as 4. + +Thu Dec 16 13:08:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/m68k/nm-hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD. + + * config/m68k/tm-hp300bsd.h (REMOTE_BPT_VECTOR): Define. + + * config/m68k/tm-m68k.h (REMOTE_BPT_VECTOR): Allow targets to + override. + (REMOTE_BREAKPOINT): Likewise. + +Thu Dec 16 09:14:58 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (read_hp_function_type): Correctly handle + pass-by-value structures > 64bits in size. + (process_one_debug_symbol): Likewise. + +Mon Dec 13 20:17:39 1993 Per Bothner (bothner@kalessin.cygnus.com) + + Implement support for Chill POWERSETs. + * ch-exp.y (operand_2): Implement 'Element IN PowerSet'. + * ch-typeprint.c (chill_type_print_base): Handle POWERSETs. + * ch-valprint.c (chill_val_print): Handle TYPE_CODE_SET. + * eval.c (evaluate_subexp): Implement BINOP_IN. + * expression.h (enum exp_opcode): Added BINOP_IN. + * gdbtypes.c (create_set_type), gdbtypes.h: New function. + * stabsread.c (read_type): If 'S', create a set type. + * valarith.c (value_bit_index, value_in), value.h: New functions, + for indexing in SETs. + +Mon Dec 13 06:42:37 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * paread.c (pa_symfile_init): Check for the existance of stabs + after DBX_TEXT_SECT has been initialized. + +Tue Nov 23 17:29:28 1993 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/h8300/tm-h8300.h (BREAKPOINT): Insn changed to sleep. + (DECP_PC_AFTER_BREAK): Now is 0. + * config/h8500/tm-h8500.h (REGISTER_BYTES, REGISTER_BYTE, + REGISTER_NAMES): update to new view. (INIT_EXTRA_FRAME_INFO): No + extra frame info now. + * config/sh/sh.h (NOP): Define NOP insn. + * config/z8k/tm-z8k.h (BIG): is now sim_z8001_mode. + * config/z8k/z8ksim.mt (TDEPFILES): Add remote-sim.o to list. + * ser-go32.c: Lint. (strncasecmp): Removed, now in libiberty. + (go32_readchar): Special handling for faster polling. (async + structure): Volatile. + * h8300-tdep.c (print_register_hook): Allocate and use the right + number bytes for the raw register. + * h8500-tdep.c (regoff, frame_find_saved_reg, examine_prologue): + deleted. (h8500_register_size, h8500_register_virtual_type, ): + Use new way of counting registers. + * remote-e7000.c (echo_index): deleted. (expect): Better handling + of user interrupts. (expect_prompt): Remove never used log file + support. (want, want_nopc): Add support for H8/300H. + (fetch_regs_from_dump): Treat \r and \n as whitespace. + (e7000_drain): Send an "end" command before waiting for output to + stop. (e7000_wait): Cope with H8/300H, better handling of user + interrupts. (why_stop, expect_n, sub2_from_pc): New function. + * remote-utils.c (gr_load_image): call fflush and QUIT more regularly. + * utils.c (notice_quit): New function for polling for user interrupts. + +Fri Dec 10 15:53:56 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * stabsread.c (read_array_type): Allow negative array bounds, + without interpreting that to mean "adjustable." + * ch-valprint.c (chill_val_print): Handle RANGE types. + * ch-typeprint.c (chill_type_print_base): Handle BOOL. + Handle variant records. Handle RANGE types. + +Tue Dec 7 15:41:32 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/mips/idt.mt: Use tm-idt.h instead of tm-bigmips.h. + * config/mips/idtl.mt: Use tm-idtl.h instead of tm-mips.h. + * config/mips/tm-idt.h, config/mips/tm-idtl.h: New files; use + different BREAKPOINT value for IDT. + + * mipsread.c: Include bfd.h and coff/sym.h. + +Mon Dec 6 16:34:10 1993 K. Richard Pixley (rich@cygnus.com) + + * ser-unix.c (set_tty_state): set the rest of the terminal state + pieces. + +Mon Dec 6 12:01:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in: Recognize mips* for all mips targets. + (mips*el-*-elf*, mips*-*-elf*): New targets; use idt and idtl. + + Added Irix 5 support. + * configure.in (mips-sgi-irix5*): New host and target. Use irix5 + for both. + * config/mips/irix5.mh, config/mips/irix5.mt, + config/mips/xm-irix5.h, config/mips/nm-irix5.h, + config/mips/tm-irix5.h, irix5-nat.c: New files for Irix 5 support. + * mdebugread.c: New file, split out of mipsread.c. Added + elfmdebug_build_psymtabs routine. Added some checks on external + symbols. Changed code to keep ecoff_debug_info and + ecoff_debug_swap structs in the psymtab and in global pointers + rather than retrieving them from the bfd. Also changed to keep + the pending list with the psymtab rather than the objfile (each + psymtab for a single objfile points to the same pending list). + * mipsread.c: Bulk of file moved into mdebugread.c, leaving just + the sym_fns. + * Makefile.in (SFILES): Added mdebugread.c. + (OBS): Added mdebugread.o. + (mdebugread.o): New target. + * symfile.h: Declare mdebug_build_psymtabs and + elfmdebug_build_psymtabs. + * elfread.c (struct elfinfo): Added mdebugsect field. + (elf_locate_sections): Remember location of .mdebug section. + (elf_symfile_read): Call elfmdebug_build_psymtabs on .mdebug + section. + * infrun.c (AT_FUNCTION_START): Set to 0 if not already defined. + (wait_for_inferior): Use AT_FUNCTION_START if it is defined to see + if PC is at the start of a function. + * mips-tdep.c (read_next_frame_reg): Use SIGFRAME_REG_SIZE, and + give it a default definition. + (mips_skip_prologue): Skip instructions which initialize $gp + register. + (in_sigtramp): New procedure, moved in from mipsread.c. + * config/mips/tm-mips.h: Declare in_sigtramp. + + * serial.h (serial_fdopen): Make parameter const to match + function definition. + +Fri Dec 3 14:20:43 1993 Stu Grossman (grossman at cygnus.com) + + * config/mips/irix4.mh: Enable ser-tcp.o. + +Tue Nov 30 15:24:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (check): Do not use subdir_do, so that + TARGET_FLAGS_TO_PASS is used correctly. + +Mon Nov 29 16:10:38 1993 Stu Grossman (grossman at cygnus.com) + + * i386-nlmstub.c: Undo I/O redirection changes by Tom Lord. + These definitely won't work under Netware. + +Mon Nov 29 15:34:58 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * stabsread.c(read_struct_field): Fix the check when getting to + member functions. + +Mon Nov 29 16:48:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + gcc -Wall -O lint: + * mips-tdep.c (heuristic_proc_desc): Initialize reg30 to avoid + warning. Unnest comment. + (init_extra_frame_info): Remove unused variable mask. + (MASK): Fully parenthesize. + (mips_push_dummy_frame): Remove unused variable val. + (mips_skip_prologue): Remove unused variables f and b. + +Mon Nov 29 12:23:25 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (parse_symbol, parse_partial_symbols): Do not create + (partial) symbols for opaque struct definitions. + +Mon Nov 29 11:36:57 1993 Stu Grossman (grossman at cygnus.com) + + * i386ly-tdep.c (i386lynx_saved_pc_after_call): Change call_inst + to unsigned char to avoid domain warning for some values. + +Mon Nov 22 23:42:59 1993 Steve Chamberlain (sac@jonny.cygnus.com) + + * remote-e7000.c (e7000_wait): Cope with H8/300 register dump. + * config/h8300/h8300hms.mt: Add remote-e7000. + +Mon Nov 22 11:03:45 1993 Fred Fish (fnf@cygnus.com) + + Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner): + * gdb/config/m88k/delta88.mh (NATDEPFILES): Added corelow.o and + coredep.o to this list. + * gdb/m88k-nat.c (m88k_register_u_addr): Avoid error when passed + the number for an M88110 extended register by just returning the + address of r0. + +Sat Nov 20 09:20:51 1993 Fred Fish (fnf@rtl.cygnus.com) + + * go32-xdep.c (re_comp, re_exec): Remove stubs now that gdb + always uses it's own version of regex. + +Fri Nov 19 18:23:19 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * valops.c(value_struct_elt_for_reference): enhance search operator in + c++. + * symtab.c(decode_line_1): same as above. + +Fri Nov 19 15:08:47 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.c (decode_line_1): Add comment about use of + return_to_top_level directly instead of error. Add comment saying + that the '' should not be needed--that the completer should be fixed. + +Fri Nov 19 11:00:33 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * symtab.c(decode_line_1): fix the inconsistency of setting + breakpoint with '' or without them. The '' is needed when you + want name completion. + +Thu Nov 18 08:25:50 1993 Fred Fish (fnf@cygnus.com) + + * valprint.c (val_print_string): When looking for a null + terminator compare current bufsize to fetchlimit to determine + when to stop, instead of computing buffer+fetchlimit which + may overflow for very large limits (like "unlimited"). + +Wed Nov 17 18:23:09 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * eval.c(evaluate_subexp): to use unified search so type conversion + operator works in calling method. + * valarith.c(value_x_binop, value_x_unop): same as above. + * valops.c(search_struct_method): same as above. + +Wed Nov 17 18:47:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mipsread.c: Change use of ECOFF information to correspond to + changes in bfd/libecoff.h. + (mipscoff_symfile_offsets): Made static. + +Wed Nov 17 09:43:31 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * valops.c (typecmp): improve prototype matching when calling + a method. Make 'p (*(ostream *) &cout) << "lll" ' to work. + * eval.c(evalute_subexp): fix operator search problem when call + like p x.'operator+'(i). + +Tue Nov 16 17:15:03 1993 Stu Grossman (grossman at cygnus.com) + + * i386ly-nat.c, i386lynx-nat.c, m68kly-nat.c: Remove. Move + common code into lynx-nat.c. + * lynx-nat.c: New module. Contains portable code for Lynx native + stuff (mostly ptrace related). + * config/i386/i386lynx.mh (NATDEPFILES): i386ly-nat.o -> lynx-nat.o + * config/m68k/m68klynx.mh (NATDEPFILES): i386ly-nat.o -> lynx-nat.o + + * config/nm-lynx.h, config/tm-lynx.h: New files to contain + non-architecture specific native and target defs. + * config/i386/nm-i386lynx.h, config/i386/tm-i386lynx.h, + config/m68k/nm-m68klynx.h, config/m68k/tm-m68klynx.h: Move all + (arch) portable stuff into ../{tm nm}-lynx.h. + +Tue Nov 16 13:33:47 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.c (gdb_mangle_name): Only assume that the physname is + the entire mangled name if it looks like the mangled name of a + constructor. Needed for testsuite to work with GCC 2.4.5. + + * a68v-nat.c: Replace with new version from Troy Rollo. The + version I am replacing appears to be an old copy of sun3-nat.c. + * dstread.c (dst_symfile_read): Replace sort_all_symtab_syms call + with loop. + + * Makefile.in (TAGS): Depend on TAGFILES_{NO,WITH}_SRCDIR. + + * Makefile.in: (HFILES,TAGFILES): Split into _WITH_SRCDIR and + _NO_SRCDIR versions. + (TAGS): Only add srcdir to TAGFILES_NO_SRCDIR. + (This is part of a long saga involving me putting srcdir on + everything (perhaps for now-obsolete reasons, I forget), Rich + removing the srcdir from everything, Stu putting it back some + places for Sun make, and me just now getting around to fixing + `make TAGS' again). + +Mon Nov 15 12:29:10 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * stack.c(print_frame_info): print demangled function name + ansi style. + +Mon Nov 15 14:32:29 1993 Steve Chamberlain (sac@jonny.cygnus.com) + + * remote-e7000.c: New file to cope with the Hitachi E7000 ICE. + * remote-utils.c, remote-utils.h (gr_load_image): New function to + download to target. + * h8300-tdep.c, h8500-tdep.c, remote-z8k.c, sh-tdep.c z8k-tdep.c + (sim_load): delete. + * remote-sim.c (gdbsim_load): Use gr_load_image, rather than + sim_load. + * config/sh/sh.mt: Add remote-e7000 + +Mon Nov 15 11:38:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/i386/linux.mh: Remove XM_CLIBS, TERMLIB, SYSV_DEFINE, and + REGEX. + * config/i386/xm-linux.h: Don't include xm-i386v.h. Define + HOST_BYTE_ORDER ourselves. Define HAVE_TERMIOS not HAVE_TERMIO. + Define NEED_POSIX_SETPGID. Include unistd.h. + +Mon Nov 15 12:29:10 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * symtab.c(gdb_mangle_name): fix the problem with constructor + name mangling. + +Mon Nov 15 11:38:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbtypes.h: Add TYPE_FLAG_TARGET_STUB. + * gdbtypes.c (check_stub_type): On TYPE_FLAG_TARGET_STUB, do + what cleanup_undefined_types does for arrays, except we clear + TYPE_FLAG_TARGET_STUB if we fix up the type. + * stabsread.c (cleanup_undefined_types): Add comments about how + doing arrays here is no longer the clean way to do it. + (read_array_type): Set TYPE_FLAG_TARGET_STUB as well as calling + add_undefined_type. + * c-typeprint.c, ch-typeprint.c: Move call to check_stub_type + outside switch so it happens for all type codes. + * cp-valprint.c (cp_print_value_fields): Recurse to val_print, + instead of c_val_print, so that check_stub_type gets called. + + * gdbtypes.h, gdbtypes.c, m2-lang.c, ch-lang.c, c-lang.c: Remove + TYPE_FLAG_SIGNED. It was inconsistently set, never checked + (except in recursive_dump_type), and is pointless. + +Mon Nov 15 00:40:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * paread.c (pa_symfile_init): Look for the $TEXT$ section rather + than the .text section. + +Sun Nov 14 00:28:13 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c: Remove #if 0'd dbx_class_complaint. We now handle + this (more or less) gracefully, and complain() was never a good + way of dealing with this. + + * stabsread.c (read_type): Skip the colon when reading a + cross-reference. Only complain, not error_type, on unrecognized + cross-reference types. error_type, not dump core, if the colon is + missing. + +Fri Nov 12 16:23:08 1993 Stu Grossman (grossman at cygnus.com) + + * config/m68k/tm-sun3.h: Disable use of alternate breakpoint insn + when doing remote stuff. + +Fri Nov 12 16:22:39 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * c-exp.y (yylex): Call lookup_symtab not lookup_partial_symtab. + + * partial-stab.h: Ignore ':' symbol descriptors. Same case as + Kung's stabsread.c change. + +Fri Nov 12 11:18:02 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * stabsread.c (patch_block_stabs, define_symbol, read_type): in + g++ template instantiation, nested class can be part of the + params, and '::' can gets into symbol or type names. This is + to fix the problem. + + * gdbtypes.c (lookup_struct_elt_type): Handle type ref or pointer + to struct/union case. + +Fri Nov 12 10:39:31 1993 Stu Grossman (grossman at cygnus.com) + + * coff-solib.c (coff_solib_add): Cast result of alloca(). + * m68k-tdep.c (m68k_saved_pc_after_call): Get rid of + GDB_TARGET_IS_SUN3. Use more general SYSCALL_TRAP macro. + * config/m68k/m68klynx.mh (NATDEPFILES): Remove exec.o (it's + already in TDEPFILES). + * config/m68k/tm-m68k.h (SAVED_PC_AFTER_CALL): Use + m68k_saved_pc_after_call. + * Remove all Sun3 specific stuff. + * (FIX_CALL_DUMMY): Cast arg to bfd_putb32 to unsigned char *. + * config/m68k/tm-m68klynx.h: Define SYSCALL_TRAP as trap #10. + Disable REMOTE_BREAKPOINT mechanism. + * config/m68k/tm-sun3.h: Get rid of GDB_TARGET_IS_SUN3. + * Protect from multiple includion. + * Move Sun3 specific stuff from tm-m68k.h to here. + * Define SYSCALL_TRAP as trap #0. + * Remove def of SAVED_PC_AFTER_CALL (now in tm-m68k.h). + * gdbserver/low-lynx.c: Redo all register store/fetch stuff to + make it portable for 386 and 68k. + +Fri Nov 12 09:53:26 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * mips-tdep.c (init_extra_frame_info): Check to see whether the + registers mentioned in the proc_desc have been saved. This + generalizes mips_in_lenient_prologue in the sense that we keep + searching until we've found saves for all the registers, not just + look for a "lenient prologue" pattern. + * mips-tdep.c: #if 0 lenient prologue code. + + * mips-tdep.c (heuristic_proc_desc): Don't assume a host short + is 16 bits. + +Thu Nov 11 19:58:05 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/i386/i386sol2.mh: Comment out corelow.o. + + * printcmd.c (address_info): Use filtered, not unfiltered functions. + We should be able to deal with a QUIT here. + +Thu Nov 11 15:22:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * printcmd.c (address_info): Use fprintf_symbol_filtered + to print the symbol name. + + * stabsread.c (define_symbol): Handle cfront lossage for + struct/union/enums and typedefs. + + * partial-stab.h (case N_BINCL): Update psymtab_language + as appropriate when changing subfiles. + (case N_SOL): Update psymtab_language as appropriate when + changing subfiles. Add typedef for structs, unions, and enums + when processing C++ files. + +Thu Nov 11 13:18:47 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * README: Remove information on languages and just cite the (newly + updated) information in doc/gdb.texinfo instead. + + * delta68-nat.c: Fix typos (add missing ");" and stuct -> struct). + +Wed Nov 10 09:31:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dbxread.c (process_one_symbol, N_RBRAC): Don't clear + within_function just because local_symbols is NULL. It appears + that this bug has existed since the 10 Apr 89 change which started + clearing within_function here. + + * config/m68k/tm-m68k.h: Clean up CALL_DUMMY comment. + * config/m68k/{tm-hp300bsd.h,tm-hp300hpux.h,tm-m68k-em.h, + tm-monitor.h,tm-sun3.h,tm-vx68.h}, config/sparc/tm-sparc.h: + Define BELIEVE_PCC_PROMOTION. + * dbxread.c: Remove BELIEVE_PCC_PROMOTION define. The code which + used this was moved to stabsread.c a long time ago. + + * dstread.c (dst_sym_fns): Update for flavours. + * symfile.c (find_sym_fns): Add kludge for apollo like for rs/6000. + * dstread.c (dst_symfile_offsets): Set objfile->num_sections. + + gcc -Wall lint: + * thread.c: Include "gdbcmd.h" and . + * Makefile.in: Update dependency. + * thread.c (thread_command): Remove unused variable p. + * values.c (unpack_double): Use len instead of TYPE_LENGTH (type). + * valprint.c (print_floating): Correctly check sign bit now that + we are using unsigned arithmetic. + * symtab.c (find_pc_line_range): Remove unused variables exact_match, + ind, and l. + +Tue Nov 9 17:42:25 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * valarith.c (value_x_binop): fix search operator in class bug + * valarith.c (value_x_unop): fix search operator in class bug + +Tue Nov 9 19:20:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (init.c): Add udi2go32.o to list of files that we + should not try to search for _initialize_* functions. + + * remote-udi.c (udi_wait): Change UDIGdb_StdoutReady back to + UDIStdoutReady. It accidentally got changed on 24 Oct 93 when + stdout was changed to gdb_stdout. Likewise for UDIGetStdout, + UDIStderrReady, and UDIGetStderr. + +Tue Nov 9 12:48:06 1993 Tom Lord (lord@cygnus.com) + + * remote-hms.c (hms_wait): fixed too many arguments to putc_unfiltered. + +Tue Nov 9 12:20:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * utils.c (quit): Also call gdb_flush on standard output and error. + + * .gdbinit: Remove "source /.gdbinit". It causes a spurious error + if /.gdbinit doesn't exist (and I know of no convention of putting + something in /.gdbinit). + +Mon Nov 8 18:17:11 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * cp-valprint.c (cp_print_value_fields): change output from to + +Mon Nov 08 17:05:30 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: Change RUNTEST_FLAGS back to RUNTESTFLAGS + Change RUNTEST = runtest to test for existance of + a runtest in the source tree first. + +Mon Nov 8 10:42:03 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Remove unused variable GCC. Remove "#CC=cc" line + which doesn't really relate to anything. + + * Makefile.in (CC_FOR_TARGET): Test for existence of gcc/xgcc, not + for existence of gcc/Makefile. + + * inflow.c (terminal_init_inferior), infptrace.c (child_resume): + Add comments about use of Lynx PIDGET and how we will want to + clean it up. + + * stabsread.c: Remove long_kludge_name code (it was already #if 0). + * stabsread.c (read_one_struct_field): Clean up comments to reflect + Kung's change of 5 Nov 93. + * stabsread.c (read_one_struct_field): Don't give up on unknown + visibility character, just shove it in fip->list->visibility. + (read_baseclasses): Don't give up on unknown virtual or visibility + characters, just assume a reasonable default, complain, and keep + going. + (attach_fields_to_type): Complain on unrecognized visibility. + One result of all this is that '9' (VISIBILITY_IGNORE) can be used + in a stab as well as being something which GDB uses internally. + +Mon Nov 8 07:57:30 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: Remove h8300h, we have multilib now. + +Mon Nov 8 06:11:24 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com) + + * configure.in: Add unixware as a configuration alias for x86 + sysv4 + + * config/i386/i386nw.mt: add i387-tdep.o, exec.o to TDEPFILES + +Sun Nov 7 23:49:21 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symtab.c (decode_line_1, decode_line_2): Do not adjust pc by + FUNCTION_START_OFFSET if funfirstline is not set. + +Fri Nov 5 17:19:30 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * gdbtypes.h : add a field 'ignore_field_bits in cplus_specific, + and macros to handle the bits. + * stabsread.c (read_one_struct_field): add VISIBILITY_IGNORE, and + for field of length 0, set this bit on. + * cp-valprint.c (cp_print_value_fields): for VISIBILITY_IGNORE + field, print . + +Fri Nov 5 14:43:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Version 4.11.2. + +Fri Nov 5 09:49:22 1993 Stu Grossman (grossman at cygnus.com) + + * inflow.c (terminal_init_inferior): Temporarily use Lynx PIDGET + macro to set process groups. + * infptrace.c (child_resume): Temporarily use Lynx PIDGET to + specify resumption of all threads. + * infrun.c (wait_for_inferior): Fix handling of thread-specific + breakpoints for systems where DECR_PC_AFTER_BREAK > 0 (ie: backup + PC by the right amount when continuing the thread). + * thread.c (thread_apply_command): Add the `thread apply' + command to apply a given GDB command to a list of threads. + +Fri Nov 5 05:58:03 1993 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in (init.c): Don't call sed if filename is empty. + +Thu Nov 4 08:27:24 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dbxread.c (unknown_symchar_complaint): Make message refer to + "symbol descriptor" not "symbol type character" for consistency + with stabs.texinfo terminology. + + * stabsread.c (read_struct_fields): Accept either '$' or '.' as + the character which introduces a cpp_abbrev or anonymous type. + + * c-lang.c (c_printstr): Print "" to stream (like all the other + output from this function), not gdb_stdout. + + * dbxread.c (process_one_symbol): Do relocate 'S' symbols by + the text offset (revert 12 Oct 93 change). + + * configure.in: Make hppa*-*-hiux* use hppahpux, + not non-existent hppahiux. + +Wed Nov 3 16:24:09 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * values.c (value_fn_field): when physical name not found, do not + error, but return null. + * valops.c (value_struct_elt): when name and args match does not + mean it is the one, some times a typedef class can have the same + member method and args. This probably will not happen with new + version of g++, but it does happen in old g++ and cause gdb error. + +Wed Nov 3 09:20:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + Merge changes for dos x udi: + * Makefile.in (udi2go32.o): add rule to build this file + * 29k-share/udi/udi2go32.c: new file + * config/a29k/a29k-udi.mt: add udi2go32.o + * 29k-share/udi/{udr.c, udip2soc.c}: #ifdef out the entire file + if __GO32__ is defined. What a hack. + +Wed Nov 3 09:20:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote.c (putpkt, getpkt): Don't call interrupt_query. + + * findvar.c (value_of_register): Rename val to reg_val to avoid + name conflict with some (e.g. tm-m68k.h) REGISTER_CONVERT_TO_VIRTUAL. + + * main.c: Add variables source_line_number, source_file_name, + source_error, source_error_allocated, and source_pre_error. + (command_line_input): If source_file_name set, increment + source_line_number and set error_pre_print with them. + (source_command): Set source_* and make a cleanup so they get + set back. + +Tue Nov 2 16:28:34 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stack.c (down_silently_command): Add comment about PR 1913. + + * breakpoint.c (insert_breakpoints, delete_breakpoint): Call + target_terminal_ours_for_output before attempting output. + + * fork-child.c (fork_inferior): Fix comment so that it suggests + "set shell" rather than having "set env SHELL" affect GDB's + operation. + +Tue Nov 2 15:03:08 1993 Tom Lord (lord@rtl.cygnus.com) + + * utils.c (vfprintf_unfiltered): don't use maybe_filtered + since it involves a fixed size buffer. + +Tue Nov 2 13:42:30 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * findvar.c (value_of_register, value_from_register), + hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info), + valops.c (value_assign): Use REGISTER_CONVERT_TO_* only if + REGISTER_CONVERTIBLE is defined, otherwise just copy the content. + Pass desired type to REGISTER_CONVERT_TO_*. + + * config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*): + Pass length of desired type to store/extract_floating. + * config/i386/tm-arm.h, config/i386/tm-i386aix.h, + config/i386/tm-sun386.h, config/i386/tm-symmetry.h, + config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*): + Use extract_floating and store_floating with length of desired type. + * config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE): Add type + parameter to REGISTER_CONVERT_*. + + * config/a29k/tm-a29k.h, config/convex/tm-convex.h, + config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h, + config/h8500/tm-h8500.h, config/i386/tm-i386v.h, + config/mips/tm-mips.h, config/ns32k/tm-merlin.h, + config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h, + config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h, + config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Remove + versions for which REGISTER_CONVERTIBLE is always false. + * z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw): + Remove, no longer used. + + * alpha-tdep.c (alpha_register_convert_to_raw, + alpha_register_convert_to_virtual): New routines to handle + the different raw formats in alpha floating point registers. + * config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use them. + +Tue Nov 2 12:45:23 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * gdbserver/configure.in: Recognize *-*-lynxos* instead of + *-*-lynx*, recognize sparc-*-lynxos*. + * gdbserver/Makefile.in (install, install_only): Add. + * gdbserver/gdbserver.1: New file, man page for gdbserver. + +Tue Nov 2 03:01:01 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Include and . Change include + of "libhppa.h" to "som.h". + (BYTES_IN_WORD): Define. + (hppa_sym_fns): "hppa" is 4 characters, not 5. + +Mon Nov 1 09:40:21 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.c, symtab.h, source.c: Change find_line_pc_range to take + a struct symtab_and_line argument, rather than a symtab and a line. + Re-write it to be based on the address rather than bogusly adding + one to the line number and hoping that has something to do with the + end of the line. + + * config/m88k/m88k.mh (NATDEPFILES): Remove exec.o. + + * paread.c (pa_symtab_read): Change comments to say ignoring + labels really should be handled by the assembler/compiler. + + * Makefile.in: Add -O to CXXFLAGS. + + * TODO: Expand comments on fast watchpoints. + +Sun Oct 31 19:45:06 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * paread.c (pa_symtab_read): Also filter out local symbols + starting with "L$". + +Sun Oct 31 09:28:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symfile.h (sym_fns), symfile.c (find_sym_fns), xcoffread.c, + coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c: + Change from using bfd target name to using the flavour. + + * objfiles.h, infcmd.c, symfile.c: Add comments about how various + objfiles get created and when we should blow them away. + +Sat Oct 30 08:32:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symfile.c (reread_symbols): When re-reading symbols, do all the + right operations ourself, rather than calling symbol_file_command. + If we re-read something, call clear_symtab_users not just + breakpoint_re_set. + * objfiles.h, objfiles.c (build_objfile_section_table): No longer + static. + * symfile.c (clear_symtab_users): Call clear_pc_function_cache. + * coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c + (*_symfile_offsets): Set objfile->num_sections. + * remote.c (remote_wait), symfile.c (syms_from_objfile): + Don't muck with objfile->num_sections now that all the symbol + readers set it. + * elfread.c: Clean up obsolete comment about handling only DWARF. + * paread.c: Remove comment about how we should use an "ordinary" + file format with an hppa suffix. There is nothing ordinary about SOM. + + * config/i386/{i386m3.mh,i386mk.mh}, config/mips/mipsm3.mh, + config/ns32k/ns32km3.mh: Change MMALLOC_LIB to MMALLOC. + * TODO: Update Mach stuff. + +Fri Oct 29 16:30:36 1993 Stan Shebs (shebs@rtl.cygnus.com) + + LynxOS support: + * configure.in: Change *-*-lynx* to *-*-lynxos*, add + sparc-*-lynxos*. + * Makefile.in (ALLDEPFILES): Add m68kly-nat.c, sparcly-nat.c. + Rename i386lynx-nat.[co] to i386ly-nat.[co]. + (ALLCONFIG): Add config/{m68k,sparc}/{m68k,sparc}lynx.m[ht]. + (m68kly-nat.o, sparcly-nat.o): Add rules. + * i386ly-tdep.c: Cosmetics. + * i386lynx-nat.c: Removed. + * i386ly-nat.c: New file, was i386lynx-nat.c. + * m68kly-nat.c: New file. + * sparcly-nat.c: New file. + * config/xm-lynx.h: New file, cpu-independent host info. + * config/i386/i386lynx.mh: Changes for consistency. + * config/i386/i386lynx.mt: Ditto. + * config/i386/tm-i386lynx.h: Ditto. + * config/i386/nm-i386lynx.h: Ditto. + * config/i386/xm-i386lynx.h: Include config/xm-lynx.h. + * config/m68k/m68klynx.mh, config/m68k/m68klynx.mt, + config/m68k/tm-m68klynx.h, config/m68k/nm-m68klynx.h, + config/m68k/xm-m68klynx.h: New files, M68K LynxOS support. + * config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, + config/sparc/tm-sparclynx.h, config/sparc/nm-sparclynx.h, + config/sparc/xm-sparclynx.h: New files, Sparc LynxOS support. + +Fri Oct 29 08:11:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * defs.h, findvar.c (extract_floating, store_floating): New functions. + * Move SWAP_TARGET_AND_HOST from defs.h to findvar.c because it is + now used only by extract_floating and store_floating. + * valprint.c (print_floating): Use unsigned arithmetic. Use + extract_unsigned_integer instead of SWAP_TARGET_AND_HOST. + Change sizeof (float) to 4 and sizeof (double) to 8 (those are always + the relevant sizes for this code, which is in #ifdef IEEE_FLOAT). + * values.c (unpack_long, unpack_double, value_from_double), + valarith.c (value_binop), stabsread.c (define_symbol): + Use extract_floating and store_floating instead of + SWAP_TARGET_AND_HOST. + * config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*): + Use extract_floating and store_floating. + * config/m88k/tm-m88k.h: Add comments (it should be doing the same). + * i386-tdep.c (i386_extract_return_value), + * remote-nindy.c (nindy_store_registers): Use store_floating. + +Fri Oct 29 09:31:38 1993 Steve Chamberlain (sac@rtl.cygnus.com) + + * remote-sim.c (gdbsim_store_register): Change var name so + it compiles with non-ANSI compilers. + +Fri Oct 29 08:11:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Add idea for "disassemble" with source. + +Fri Oct 29 00:41:01 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.11.1 after release and cvs + tagging. + +Thu Oct 28 09:14:42 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Add section on Mach. Stop calling it a "bug list". + Remove John's name and email address. Remove item on "always" + ("hook-stop" takes care of this). Remove item on executables with + no symbols (this works on some machines, at least). Remove item + about calling error() during symbol reading (I think all the important + ones have been cleaned up). Revise items about signals and remote + systems. Remove section on ^Z requiring several continues to make + it go (this now works. Perhaps the item is based on confusion over + programs (like GDB itself) which catch SIGTSTP and then re-send + themselves the signal. PR 2575 might contain relevant info). + +Thu Oct 28 16:55:34 1993 Fred Fish (fnf@cygnus.com) + + * NEWS: Note improvements in C++ support, preliminary thread + implementation, and LynxOS native and target support for 386. + +Thu Oct 28 16:55:34 1993 Fred Fish (fnf@cygnus.com) + + * README: Add note from Peter Schauer about OSF/1 shared + libraries. Add note from Pace Willisson about configuring on BSDI + BSD/386 release 1.0. Update gdb references to gdb 4.11. + +Thu Oct 28 09:14:42 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * NEWS: Add notes about Alpha and "set remotedebug" for UDI. + + * valops.c (value_assign): Change bitfield code to use a buffer of + the correct size, rather than an int. + +Wed Oct 27 13:43:07 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/i386/{i386m3.mt,i386m3.mh}, + config/mips/{mipsm3.mt,mipsm3.mh}, + config/ns32k/{ns32km3.mt,ns32km3.mh}: Use correct names for TM_FILE + and XM_FILE. Replace host files *mach3-xdep.o with native + files *m3-nat.o. Replace host file os-mach3.o with native + file m3-nat.o. + + * remote-udi.c: Remove LOG_FILE stuff; superceded by "set remotedebug". + * remote-mon.c: Remove commented out "set remotedebug" command. + * remote-nindy.c: Clean up comment about wanting alternative to + options specified on the GDB command line. + + * fork-child.c (fork_inferior): Set inferior_pid before calling + init_trace_fun. Move the code which gets us through the shell + to new function startup_inferior. + * inferior.h: Declare startup_inferior. + * procfs.c (procfs_init_inferior), inftarg.c (ptrace_him): + Call startup_inferior. + * m3-nat.c (m3_trace_him): Call intercept_exec_calls. + * config/nm-m3.h: Don't define STARTUP_INFERIOR. + * config/i386/tm-i386m3.h, config/ns32k/tm-ns32k.h, + config/mips/tm-mipsm3.h: Don't define START_INFERIOR_TRAPS_EXPECTED. + + * m68k-stub.c: Change vector 13 from SIGFPE to SIGBUS. + +Tue Oct 26 22:05:03 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * mips-tdep.c (mips_pop_frame): If proc_desc is NULL, don't dump core. + +Tue Oct 26 15:07:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + gcc -Wall lint: + * nlmread.c: Include stabsread.h. + * Makefile.in: Update dependencies. + + * remote.c: Change PBUFSIZ back to 400. John's 28 Feb 1992 change + to increase it broke the ability to write large chunks of memory + with m68k-stub and i386-stub. Now we only use more than 400 on + machines where we need that much to write the registers. + * remote.c (remote_write_bytes): Eliminate possible abort(). The + check for when to abort was off by a few bytes and besides which, + it is handled by MAXBUFBYTES, which the caller uses. + * m68k-stub.c: Add comments about trap #1 and trap #8 instructions. + +Tue Oct 26 08:36:07 1993 Doug Evans (dje@canuck.cygnus.com) + + * remote-sim.h (SIM_ADDR): New type (same as CORE_ADDR). + (sim_set_pc): Update prototype. + (sim_read, sim_write): Ditto, and use unsigned char *buf. + (sim_fetch_register, sim_store_register): Use unsigned char *buf. + (sim_info): Pass printf function as argument, add verbose argument. + (sim_stop_reason): Renamed from sim_stop_signal, fix prototype. + * remote-sim.c (gdbsim_wait): Update call to sim_stop_reason. + (gdbsim_files_info): Update call to sim_info. + +Tue Oct 26 10:41:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * valops.c (value_assign): Call reinit_frame_cache when assigning + to a register. + +Mon Oct 25 11:08:59 1993 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): Fix PC out of objfile bounds + check to just use stop_func_name == 0. + * remote-udi.c (store_register): Invalidate NPC/PC_REGNUM after + changing PC. + +Mon Oct 25 14:57:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbserver/{low-lynx.c,low-sparc.c,low-sun3.c}, standalone.c, + m3-nat.c, i386m3-nat.c, mipsm3-nat.c, ns32km3-nat.c: bcopy -> memcpy. + + gcc -Wall lint: + * breakpoint.c: Include thread.h. + * coffread.c: Include stabsread.h. + * Makefile.in: Update dependencies. + * breakpoint.c (mention): Add bp_call_dummy to switch. + * symmisc.c (dump_symtab): Use %d not %ld for line number. + +Sun Oct 24 18:29:32 1993 Tom Lord (lord@rtl.cygnus.com) + + * every non-obsolete file except utils.c: + Change the stream argument to _filtered to GDB_FILE *. + Change all references to stdout/stderr to gdb_stdout/gdb_stderr. + Replace all calls to stdio output functions with + calls to corresponding _unfiltered functions. + Replaced calls to fopen for output to gdb_fopen. + Added sufficient goo to utils.c and defs.h to make the above + work. + + The net effect is that stdio output functions are only directly + used in utils.c. Elsewhere, the _unfiltered and _filtered + functions and GDB_FILE type are used. + + In the near future, GDB_FILE will stop being equivalant to + FILE. + + The semantics of some commands has changed in a very subtle way: + called in the right context, they may cause new occurences of + prompt_for_continue() behavior. + + Please respect this change by not reintroducing stdio output + dependencies in the main body of gdb code. All output from + commands should go to a GDB_FILE. + +Sun Oct 24 20:16:38 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * parse.c, parser-defs.h (write_exp_msymbol): New function to write + the appropriate expression for a minimal symbol. Taken from c-exp.y + and m2-exp.y but handles mst_file_*. + * c-exp.y, m2-exp.y: Use it. + +Sun Oct 24 09:31:05 1993 Fred Fish (fnf@lisa.cygnus.com) + + * elfread.c (elf_symtab_read): Use bfd convention that both + initialized and uninitialized data sections have the SEC_ALLOC + flag bit set, but only initialized sections have SEC_LOAD set. + SEC_DATA is ignored since it only gets set for initialized + data. + +Sat Oct 23 14:48:18 1993 Doug Evans (dje@canuck.cygnus.com) + + * remote-sim.h (sim_stop): New enum. + (sim_stop_signal): Change prototype, result is enum sim_stop. + * remote-sim.c (gdbsim_wait): Update call to sim_stop_signal. + +Fri Oct 22 07:49:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (define_symbol): Skip the whole thing about "pcc + promotion" on little-endian machines. + + * remote-vx.c (vx_wait): Rename pid parameter to pid_to_wait_for. + Some compilers (legitimately) don't like variables in the + function's outermost block whose name is the the same as the name of + a parameter. + + Merge Apollo patches from Troy Rollo (troy@cbme.unsw.edu.au): + * dst.h, dstread.c, config/m68k/{apollo68b.mt,tm-apollo68b.h}: + New files. + * config/m68k/nm-apollo68b.h: Add more defines. + * configure.in: Recognize apollo target, not just host. + + * configure.in: Add * to end of all OS names. + +Fri Oct 22 06:14:01 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (ALLPARAM): Add config/m88k/xm-delta88v4.h + +Thu Oct 21 12:23:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (init.c): Generate using the source, not munch. This + cleans up all kinds of hassles (which nm to use in munch, etc). The + new formatting conventions (mostly already followed) are that + the name of the _initialize_* routines must start in column zero, + and must not be inside #if. + * munch: Removed. + * Makefile.in: Remove references to munch. + * serial.c, remote.c, infptrace.c, maint.c, convex-tdep.c, + alpha-tdep.c, hp300ux-nat.c, hppab-nat.c, osfsolib.c, remote-es.c, + procfs.c, remote-udi.c, ser-go32.c, ultra3-xdep.c, sh-tdep.c, + i960-tdep.c, hppa-tdep.c, h8500-tdep.c, dpx2-nat.c, delta68-nat.c, + z8k-tdep.c: Make sure the above conventions are followed. Make + sure they are all declared as returning void. Clean up + miscellaneous comments and such. + + * sh-tdep.c (sim_load): Add function. + +Thu Oct 21 15:58:48 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * remote-mips.c (mips_wait): add pid argument. + +Thu Oct 21 12:23:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (c-exp.tab.o): Remove notice about shift/reduce conflicts + which no longer occur. + + gcc -Wall lint: + * findvar.c (symbol_read_needs_frame), corelow.c (ignore), + inflow.c (gdb_has_a_terminal): Make sure to return a value. + * regex.h: Declare re_set_syntax. + * printcmd.c: Include valprint.h. + * infcmd.c, exec.c, maint.c, core.c: Include language.h. + * maint.c: Include expression.h. + * infrun.c, fork-child.c, corelow.c, inflow.c: Include thread.h. + * inftarg.c: Include command.h. + * coredep.c: Include value.h. + * c-exp.y, m2-exp.y, ch-exp.y: Include bfd.h, symfile.h and objfiles.h. + * ch-typeprint.c: Include typeprint.h. + * ch-valprint.c: Include c-lang.h. + * nlmread.c: Include buildsym.h. + * environ.c: Include gdbcore.h. Only include defs.h once. + (set_in_environ): Cast const char * to char * when passing to + set_gnutarget. + * Makefile.in: Update dependencies to reflect all these new includes. + Remove unused variables: + * printcmd.c (printf_command): args_to_vprintf. + * coffread.c (coff_symfile_init): strsection. + Move variables to within the #ifdefs where they are used: + * symtab.c (gdb_mangle_name): opname. + * inftarg.c (child_attach): pid and exec_file. + * inftarg.c (child_detach): siggnal. + * objfiles.c (allocate_objfile): mapto, md, and fd. + * objfiles.c (free_objfile): mmfd. + * infrun.c (wait_for_inferior): Include BPSTAT_WHAT_LAST in switch. + * infrun.c (wait_for_inferior): Remove unused same_pid label. + * inferior.h: Declare set_sigint_trap and clear_sigint_trap. + * parser-defs.h: Declare write_exp_elt_block. + * stabsread.h: Declare elfstab_offset_sections and + coffstab_build_psymtabs. + +Thu Oct 21 12:05:08 1993 Ken Raeburn (raeburn@cygnus.com) + + Patch from Jeff Law: + * paread.c: Fix references to "hppa" that should now be "som". + +Thu Oct 21 12:23:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.c (decode_line_1): Don't use SYMBOL_LINE for functions. + +Thu Oct 21 02:59:07 1993 Stu Grossman (grossman at cygnus.com) + + * remote-udi.c (udi_store_registers, store_register): Use + UDI29KPC address space when modifying PC. It seems that you can't + modify the PC directly (at least in the isstip simulator). + +Wed Oct 20 11:35:43 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * target.h: Put remote_debug declaration back here. Add baud_rate. + * remote.c, remote-udi.c, remote-utils.h: Let target.h take care of + declaring these. Those random externs all over are error prone. + * Move "set remotebaud" from remote-utils.c to main.c to it applies + to remote.c as well. + + * xcoffread.c (xcoff_symfile_read), coffread.c (coff_symfile_read): + Sort symtabs for this objfile only, not for all objfiles. + * symfile.c, symfile.h (sort_all_symtab_syms): Remove; no longer used. + + * mipsread.c (parse_symbol): In third-eye, a function has a block + within it which represents the whole function. Create only one + GDB block for both. + +Wed Oct 20 17:47:42 1993 Stu Grossman (grossman at cygnus.com) + + * main.c: Make baud_rate and remote_debug be global variables, + remove #include "remote-utils.h". This makes it possible to build + GDB without remote-utils.c. Also, move setting of remote_debug + into main, so that all remote*.c files can use it (not just the + serial line ones). And, make baud_rate be an int. + * remote-udi.c: Change kiodebug to remote_debug. + * remote-utils.c: Move setting of baud rate and debug into main.c. + * remote-utils.h: Redefine sr_{get set}_debug and sr_{get set}_baud + to use baud_rate and remote_debug globals for compatibility. + * remote.c: Use remote_debug and baud_rate globals directly, + instead of sr_ functions, so that we don't need to load + remote-utils.c. + * config/a29k/a29k-udi.mt: Define REMOTE_O as null so that we don't + get the default remote* modules. + +Wed Oct 20 11:35:43 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (define_symbol): When combining a LOC_ARG and a + LOC_REGISTER, use the type from the LOC_REGISTER, not from the + LOC_ARG. + +Wed Oct 20 14:34:38 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/i386/xm-go32.h: define some signals if they aren't + already defined. + +Wed Oct 20 11:35:43 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (INTERNAL_LDFLAGS): New macro. The new part is + that we use CFLAGS and PROFILE_CFLAGS to link. + (gdb, rapp, kdb): Use INTERNAL_LDFLAGS instead of + LDFLAGS and/or GLOBAL_CFLAGS. + +Wed Oct 20 09:29:55 1993 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Add $(srcdir) to all refs to 29k-share + directories. + +Tue Oct 19 17:23:34 1993 Fred Fish (fnf@deneb.cygnus.com) + + * Makefile.in (ALLCONFIG): Add config/i386/{i386m3.mh, i386m3.mt, + i386/i386mk.mh i386/i386mk.mt}, config/mips/{mipsm3.mh, + mipsm3.mt}, config/ns32k/{ns32km3.mh, ns32m3.mt} + * Makefile.in (remote_utils_h): Add remote-sim.h + * Makefile.in (NONSRC): Add i386-nlmstub.c + * Makefile.in (HFILES): Add coff-solib.h + +Tue Oct 19 14:15:40 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * values.c (value_virtual_fn_field): Fix the offset calculation + when calling virtual functions. (gdb.t22/virtfunc.exp). + * eval.c (evaluate_subexp): same as above. + +Tue Oct 19 10:43:16 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/rs6000/rs6000.mh (TERMCAP): Define to -lcurses. + + * Makefile.in: Define CXXFLAGS. + +Tue Oct 19 09:28:52 1993 Stu Grossman (grossman@cygnus.com) + + * sparclite/Makefile.in: Fixup so that this works with Sun make + and VPATH. + +Tue Oct 19 10:43:16 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.h (struct bpstat_what): Don't use bitfields. + + * typeprint.c: Add "class CLASS-NAME" to docstring for ptype. + +Tue Oct 19 06:17:10 1993 Fred Fish (fnf@cirdan.cygnus.com) + + * Makefile.in (ALLPARAM): Add config/m88k/{nm-delta88v4.h, + tm-delta88v4.h, xm-dgux.h}. + * Makefile.in (ALLCONFIG): Add config/m88k/{delta88v4.mh, + delta88v4.mt}. + + * README: Remove comment about SunOS 5.x programs leaving + coredumps. Info from Sun is that this was not in customer + releases. + +Mon Oct 18 10:28:08 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hppa-tdep.c (restore_pc_queue): Call target_terminal_ours after + done stepping the inferior. + + * c-exp.y: Remove never-used (because of shift/reduce conflicts) + rules for pointers to members. + * Makefile.in: Remove notice about expected shift/reduce conflicts. + + * buildsym.c (finish_block): If we pop the context stack and it is + not empty, complain () instead of abort (). + +Sun Oct 17 19:42:31 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * parse.c, parser-defs.h (follow_types): New function. + * c-exp.y (ptype : typebase abs_decl): Use it. + * c-exp.y (ptype): Add support for type qualifiers after the + typebase. The typebase rule already has support for them before + the typebase. + * Makefile.in: Change the expected number of shift/reduce + conflicts to 6. This is OK--the 2 new conflicts are basically the + same as one of the old ones. + +Sun Oct 17 13:04:49 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.10.3. + +Sun Oct 17 09:18:57 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (wait_for_inferior): Clean up comments which were at + the top of the file, making them more concise and moving them with + the code (Sorry, Randy, but these stream-of-consciousness comments + really have to go). Switch the order of the "&&", which makes + things clearer and turns out to be an improvement with respect to + side effects and speed. + +Sun Oct 17 02:06:01 1993 Stu Grossman (grossman at cygnus.com) + + * procfs.c: Handle process exits more elegantly by trapping on + entry to _exit. Also, cleanup procinfo list when process dies of + it's own accord (as opposed to being killed). + +Sat Oct 16 20:47:30 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m88k/xm-dgux.h: Define NO_PTRACE_H. + + * corelow.c (add_to_thread_list): Need a cast to go from PTR to + asection *. + + * infrun.c: Add comment about signals. + + * fork-child.c (fork_inferior): Remove CREATE_INFERIOR_HOOK again. + Stu reinstated it (accidently I assume). + +Sat Oct 16 15:27:10 1993 Stu Grossman (grossman at cygnus.com) + + * procfs.c (procfs_wait): Losing Unixware can't do poll on /proc + files. Use PIOCWSTOP instead. + * corelow.c (add_to_thread_list): Fix arg to match prototype. + + * procfs.c (procfs_set_sproc_trap): Don't use this if sproc + isn't available. + * (procfs_notice_signals): Fix prototype. + +Fri Oct 15 22:46:07 1993 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c (breakpoint_thread_match break_command_1): + Thread-specific breakpoint support. + * breakpoint.h (struct breakpoint): Add thread id field. + * fork-child.c (fork_inferior): Move call to init_thread_list() + back a bit so that init_trace_fun can do thread functions. + * hppa-tdep.c (restore_pc_queue): Add pid to call to target_wait. + * hppab-nat.c (child_resume): Handle default pid. + * hppah-nat.c (child_resume): Handle default pid. + * i386lynx-nat.c (child_wait): New arg pid. + * inflow.c (kill_command): Reset thread list. + * infptrace.c (child_resume): Handle default pid. + * infrun.c: Thread-specific breakpoint support. + * inftarg.c (child_wait): Add pid arg. + * osfsolib.c (solib_create_inferior_hook): Add pid to call to + target_resume. + * procfs.c: Multi-thread support. + * remote-bug.c (bug_wait): Add pid arg. + * remote-hms.c (hms_wait): Add pid arg. + * remote-mips.c (mips_wait): Add pid arg. + * remote-mon.c (monitor_wait): Add pid arg. + * remote-nindy.c (nindy_wait): Add pid arg. + * remote-sim.c (gdbsim_wait): Add pid arg. + * remote-udi.c (udi_wait): Add pid arg. + * remote-vx.c (vx_wait): Add pid arg. + * remote-z8k.c (sim_wait): Add pid arg. + * remote.c (remote_wait): Add pid arg. + * solib.c (solib_create_inferior_hook): Add pid to call to + target_resume. + * target.h (struct target_ops): Add pid arg to to_wait and + to_notice_signals. + * thread.c (valid_thread_id): New func to validate thread #s. + * (pid_to_thread_id): New func to do the obvious. + * thread.h: Prototypes for above. + + * coff-solib.c (coff_solib_add): Use nameoffset field to locate + filename. + +Fri Oct 15 21:29:40 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * h8300-tdep.c, h8500-tdep.c: Define sim_load only, but not + sim_kill, sim_open, or sim_set_args. + + * stack.c (print_stack_frame): Put catch_errors around + print_frame_info so (for example) error printing source doesn't + cause auto-displays to get skipped in normal_stop. + + * findvar.c (value_from_register): When preparing to cast a value + from REGISTER_VIRTUAL_TYPE to type, copy the REGISTER_VIRTUAL_SIZE; + the old code didn't copy the whole thing. + * valops.c (value_assign): Add comment. + +Fri Oct 15 12:57:30 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (upgrade_type): Replace bitsize sanity checks and + complaint by a comment explaining why they were useless. + +Fri Oct 15 14:30:30 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Move comments on bypassing call dummy breakpoint from stack.c + to breakpoint.h. + +Fri Oct 15 11:52:56 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symtab.c (lookup_partial_symtab): If filename is not found and + contains no slashes, try again and compare without leading path + components. + * symtab.c (lookup_symtab_1): Replace open coded version of + lookup_partial_symtab with a function call. + +Thu Oct 14 20:34:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * fork-child.c (fork_inferior), remote-eb.c (eb_create_inferior), + remote-mon.c (monitor_create_inferior), remote-nindy.c + (nindy_create_inferior), remote-st.c (st2000_create_inferior), + remote-vx.c (vx_create_inferior): Remove CREATE_INFERIOR_HOOK; it + is replaced by init_trace_fun. + * config/convex/xm-convex.h, convex-xdep.c: Add comments explaining + how to do without CREATE_INFERIOR_HOOK for whoever fixes the Convex + port. + + * Makefile.in: Add Mach files to ALLDEPFILES, etc. + * m3-nat.c: Clean up more hair--message(), cprocs. + * configure.in: Recognize Mach targets and hosts. + * config/ns32k/tm-umax.h: Add some #ifndef's so tm-ns32km3.h can + include this file. + * Mach headers in config/*/tm-*.h: Fix includes to match correct + locations of files. + +Thu Oct 14 21:35:55 1993 Rob Savoye (rob@darkstar.cygnus.com) + + * remote-mon.c (general_open): Set dev_name. Minor tweaking to get + it working again. + * config/m68k/tm-monitor.h: Remove floating point register names + as there aren't any on any of the monitors that use this code. + +Wed Oct 13 11:47:23 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * inflow.c: Pass pointer to process group, not process group itself, + to TIOCSPGRP ioctl. + + * inflow.c (terminal_ours_1): Don't print warning on failure to + set process group. + + * printcmd.c (printf_command): Instead of using makeva* and + calling vprintf, just make the appropriate calls to printf. + * printcmd.c, config/pa/xm-pa.h, config/mips/xm-makeva.h, + config/alpha/xm-alpha.h, config/m88k/xm-m88k.h: Remove all + traces of makeva*. My apologies to everyone (including me!) + who spent so much time getting it to work on various machines, + but look at the bright side, at least you won't have to do it + again in the future. + + * printcmd.c (printf_command): Make a cleanup for val_args (fixes + a memory leak). + +Tue Oct 12 22:54:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mips/xm-mips.h: Remove comment about HAVE_SGTTY vs. usleep. + +Tue Oct 12 12:01:29 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: only configure gdbserver for native environments + +Tue Oct 12 08:59:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (read_type): Treat a negative type number at the start + of a type as a type reference, not as a definition of a type with + "50=" omitted. This makes things work on the RS/6000 again (the + 14 Sep 1993 change broke it). + + * inflow.c: Use 0 (standard input) not scb->fd. + (terminal_ours_1): If printing warning, don't claim it happened in + terminal_inferior. + + * blockframe.c (get_prev_frame_info): Don't error() if there are no + frames; just return NULL. + + * xcoffsolib.h, xcoffexec.c: Undo the part of Fred's bfd->abfd + change which involved structure elements. It was unnecessary and + was not consistently done. + + * stabsread.h, stabsread.c, dbxread.c (common_block*, copy_pending): + Move common block handling from dbxread.c to stabsread.c. + Use the name from the BCOMM instead of the ECOMM. + Allocate things on the symbol_obstack. + * xcoffread.c (process_xcoff_symbol): Process C_BCOMM, C_ECOMM, + and C_ECOML. On unrecognized storage classes, go ahead and call + define_symbol (after the complaint). + + * dbxread.c (process_one_symbol): Don't relocate 'S' symbols by + the text offset. + +Tue Oct 12 12:33:09 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * osfsolib.c (solib_create_inferior_hook): Reset stop_soon_quietly + after shared library symbol reading to get rid of warning from + heuristic_proc_start. + +Tue Oct 12 12:01:29 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * remote-sim.c: fix unterminated character string + +Tue Oct 12 08:59:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c: Fix comment about gcc 2.3.3 stab for long long int. + +Mon Oct 11 14:27:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m3-nat.c, config/nm-m3.h: Add a target_ops struct and other + various things to try to get this to work. + + * symtab.h: Fix comments re headers, sharing blockvectors, etc. + +Mon Oct 11 11:46:06 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config/i960/vxworks960.mt (REMOTE_O): add dcache.o and remote-utils.o + +Mon Oct 11 02:48:57 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (parse_partial_symbols): Do not add undefined + symbols to the partial symbol table. + * alpha-tdep.c (init_extra_frame_info): Remove kludge for gcc, + gcc has to be compatible with the native tools. + * alpha-tdep.c (alpha_push_arguments): Rename NUM_ARG_REGS to + ALPHA_NUM_ARG_REGS and move its definition to tm-alpha.h. + * config/alpha/tm-alpha.h (FRAME_ARGS_ADDRESS): Change it to the + way the native tools define it, update comment. + +Fri Oct 8 15:54:06 1993 Fred Fish (fnf@deneb.cygnus.com) + + * osfsolib.c, remote-sim.c, remote.c, solib.c, xcoffexec.c, + xcoffsolib.h: Use 'abfd' for bfd variables instead of 'bfd'. + Sun cc doesn't like variable names that match their typedef'd type. + +Fri Oct 8 14:56:21 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * inflow.c: Remove unused includes of sys/param.h and sys/types.h. + + * inflow.c, ser-unix.c, ser-go32.c, ser-tcp.c, serial.h, + terminal.h, fork-child.c, main.c, utils.c: Move all the process + group stuff back to inflow.c and terminal.h; that's a better place + for it and fixes problems with trying to get/set the process group + of a tty we're doing remote debugging on. + * terminal.h: Skip the redefines and includes if HAVE_TERMIOS. + + * findvar.c, value.h (symbol_read_needs_frame): New function. + * c-exp.y, m2-exp.y: Call it instead of having our own switch on + the symbol's class. + * valops.c (value_of_variable): Use symbol_read_needs_frame to + decide whether we care about finding a frame. + +Fri Oct 8 02:34:21 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * blockframe.c (get_frame_block): Do not adjust pc if the frame + function was interrupted by a signal. + +Thu Oct 7 19:20:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/h8300/tm-h8300.h: Don't define sr_get_debug. + * remote-sim.c: Include remote-utils.h. + * target.h: Add comment about target_has_execution. + +Thu Oct 7 16:14:19 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * h8300-tdep.c (sim_load, sim_kill, sim_open, sim_set_args): + New functions. + * infrun.c (normal_stop): Don't try and set the pc in the current + frame coredump if there isn't one. + * remote-sim.c (gdbsim_store_register): Don't + SWAP_TARGET_AND_HOST, sim_store_register takes bytes in raw order. + (gdbsim_wait): Set status with WSETSTOP. + * config/h8300/tm-h8300.h (sr_get_debug): Define + +Thu Oct 7 12:56:57 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + New Mach stuff: + * config/i386/i386mach.c: Explain this is for the old (probably + non-functional and/or obsolete) Mach stuff. + * m3-nat.c, config/nm-m3.h, + i386m3-nat.c, mipsm3-nat.c, ns32km3-nat.c, + config/i386/{i386m3.mh,i386m3.mt,tm-i386m3.h,xm-i386m3.h}, + config/i386/{i386mk.mh,i386mk.mt,tm-i386mk.h,xm-i386mk.h}, + config/mips/{mipsm3.mh,mipsm3.mt,tm-mipsm3.h,xm-mipsm3.h}, + config/ns32k/{ns32km3.mh,ns32km3.mt,tm-ns32km3.h,xm-ns32km3.h}: + New files. + + * blockframe.c (find_pc_partial_function): If we call + PSYMTAB_TO_SYMTAB, call target_terminal_ours_for_output first. + This is needed now that wait_for_inferior passes in endaddr. + * infrun.c: Move call to target_terminal_inferior from proceed + to resume. + +Thu Oct 7 09:22:04 1993 Stu Grossman (grossman at cygnus.com) + + * blockframe.c (find_pc_partial_function): Fix handling for PCs + beyond the end of the last function in an objfile. + * coff-solib.c (coff_solib_add): Use BFD to get fields from .lib + section. + * infrun.c (wait_for_inferior): Modify test for subroutine entry + to include pc out of bounds of the previous function. + * remote.c (remote_wait): Use strtoul for parsing 'N' message. + Add code to relocate symfile_objfile->sections. + +Thu Oct 7 06:22:43 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/sparc/sun4os4.mh: Add comment saying why we don't use + -lresolv. + +Thu Oct 7 09:29:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * breakpoint.c, breakpoint.h (breakpoint_init_inferior): New function + that clears the `inserted' flag for all breakpoints and deletes + any breakpoints which should go away between runs of programs. + * inflow.c (generic_mourn_inferior), infrun.c (init_wait_for_inferior), + remote-es.c (es1800_load), comments in exec.c and corelow.c: + Use it instead of mark_breakpoints_out. + * breakpoint.c (mark_breakpoints_out): Update comment, tm-rs6000.h + uses it in a completely different context. + * breakpoint.c (breakpoint_re_set_one): Add bp_call_dummy case. + +Thu Oct 7 09:29:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * Makefile.in (REGEX, REGEX1): Always use our own version of + regex.c to be consistent across hosts. + * source.c (_initialize_source): Initialize regex to use grep + style syntax as an approximation to POSIX basic regex syntax. + +Wed Oct 6 12:43:47 1993 Jeffrey A Law (law@snake.cs.utah.edu) + Jim Kingdon (kingdon@lioth.cygnus.com) + + * hppa-tdep.c (frame_chain): Rework so that it correctly + handles boundaries where code with a frame pointer calls code + without a frame pointer. + (dig_fp_from_stack): New function. + +Wed Oct 6 12:43:47 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (delete_breakpoint): Don't insert a disabled breakpoint. + + * README: Add Alpha notes from Schauer. + +Tue Oct 5 15:26:04 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (install, uninstall): Remove $$n.1 stuff; I don't + understand what it is trying to do, but I suspect it's not doing + it. + + * config/ns32k/merlin.mh: Add comment about M_INSTALL. + * config/m88k/{delta88.mh,delta88v4.mh}: Remove M_INSTALL and + M_UNINSTALL; it tries to install a non-existent file gdb.z. + * Makefile.in: Remove M_INSTALL stuff; the above were the only uses. + + * stabsread.c (read_range_type): Remove comment which recommends + distinguishing float from complex by the name. + +Tue Oct 5 12:17:40 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + Jim Kingdon (kingdon@cygnus.com) + Stu Grossman (grossman@cygnus.com) + + Changes to support alpha OSF/1 in native mode. + * alpha-nat.c, alpha-tdep.c, config/alpha/alpha-osf1.mt, + config/alpha/nm-alpha.h, config/alpha/tm-alpha.h, osfsolib.c: + New files. + * Makefile.in: Add new files and dependencies. + * configure.in: Add alpha target. + * config/alpha/alpha-osf1.mh (NATDEPFILES): Add osfsolib.o + * config/alpha/alpha-osf1.mh (MH_CFLAGS): Remove, we can handle + shared libraries now. + * config/alpha/xm-alpha.h: Cleanup, get MAKEVA_* defines right. + + * defs.h (CORE_ADDR): Make its type overridable via CORE_ADDR_TYPE, + provide `unsigned int' default. + * breakpoint.c (breakpoint_auto_delete): Delete only if we really + stopped for the breakpoint. + * stabsread.c, stabsread.h (define_symbol): Change valu parameter + to a CORE_ADDR. + * stabsread.c (read_range_type): Handle the case where the lower + bound overflows and the upper doesn't and the range is legal. + * infrun.c (resume): Do not step a breakpoint instruction if + CANNOT_STEP_BREAKPOINT is defined. + + * inferior.h (CALL_DUMMY_LOCATION): New variant AT_ENTRY_POINT. + Now that we have the bp_call_dummy breakpoint the call dummy code + is no longer needed. PUSH_DUMMY_FRAME, PUSH_ARGUMENTS and + FIX_CALL_DUMMY can be used to set up everything for the dummy. + The breakpoint for the dummy is set at the entry point and thats it. + * blockframe.c (inside_entry_file, inside_entry_func): Do not stop + backtraces if pc is in the call dummy at the entry point. + * infcmd.c (run_stack_dummy): Handle AT_ENTRY_POINT case. Use + the expected breakpoint pc when setting up the frame for + set_momentary_breakpoint. + * symfile.c (entry_point_address): New function for AT_ENTRY_POINT + support. + * valops.c (call_function_by_hand): Handle AT_ENTRY_POINT case. + +Tue Oct 5 11:37:02 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Recognize hppa*-*-hiux* (currently synonym for hpux). + Change other hppa host entries to use -*- not -hp-. + +Mon Oct 4 19:16:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * i386-nlmstub.c: New file; debugging stub for i386 NetWare. Must + be compiled with NetWare header files and turned into an NLM with + nlmconv. + +Mon Oct 4 11:02:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * minsyms.c (lookup_minimal_symbol_by_pc): Don't use mst_abs symbols. + + * dbxread.c (process_one_symbol): Make n_opt_found static. + + * Rename i386lynx-tdep.c to i386ly-tdep.c for 14 character file names. + * Makefile.in, config/i386/i386lynx.mt: Change accordingly. + + * values.c (record_latest_value): Fetch lazy values and set VALUE_LVAL + to not_lval. + +Sun Oct 3 15:54:51 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * objfiles.h (objfile): New slot sym_stab_info, use by most + stab-reading formats. + * gdb-stabs.h (DBX_SYMFILE_INFO): Access sym_stab_info instead of + sym_private. + * coffread.c (coff_symfile_init): Alloc struct for sym_stab_info. + * dbxread.c, elfread.c, paread.c: Change sym_private references to + sym_stab_info references. + +Sat Oct 2 19:28:35 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * mipsread.c, objfiles.c, utils.c: Use PTR not void *. RISC/OS + 4.02 lacks void *. + * elfread.c: Use void * not PTR inside PARAMS. + + * config/mips/news-mips.mh: Remove coredep.o; mips-nat.o does it. + * config/mips/news-mips.mh: Define NAT_FILE not NM_FILE. + * config/mips/nm-news-mips.h: Include mips/nm-mips.h not nm-mips.h. + +Sat Oct 2 16:05:22 1993 Stu Grossman (grossman at cygnus.com) + + * Makefile.in, coff-solib.c, coff-solib.h, i386lynx.mt, + tm-i386lynx.h: Add support for SVR3 COFF shared libraries. + +Sat Oct 2 15:50:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m88k-nat.c (store_inferior_registers): When writing all registers, + don't try to write EXIP_REGNUM or ENIP_REGNUM (not needed for this + case, and they cause trouble). + + * TODO: Don't suggest doing fast watchpoints by stepping a line + at a time. That would be really hairy and still not fast enough. + Do suggest debug registers and page table diddling. + +Fri Oct 1 14:54:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (do_examine): Make meaning of 'h', 'w', and 'g' not + depend on builtin_type_*. Instead, it is always 2, 4, and 8 bytes + like the documentation says. + * printcmd.c (decode_format) [CC_HAS_LONG_LONG]: Remove 'l' as + synonym for 'g'. This was never documented, it shouldn't depend on + CC_HAS_LONG_LONG, and I don't see what's wrong with 'g'. + +Fri Oct 1 10:06:35 1993 Kung Hsu (kung@cirdan.cygnus.com) + + * symtab.c: fix a bug in testsuite (virtfunc.exp) + +Thu Sep 30 11:30:56 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m88k-nat.c (fill_gregset): Fix typo (R_SFIP -> R_FIP). + + * c-typeprint.c (c_type_print_base, TYPE_FN_FIELD_STUB code): + If demangled name lacks a colon, don't dump core. + + * blockframe.c (find_pc_partial_function): If pst->readin is + set, don't try to get symbols from pst. + + * inflow.c (generic_mourn_inferior): Call reinit_frame_cache + instead of doing it ourself. + * blockframe.c (reinit_frame_cache): Use code which was in + generic_mourn_inferior so we can use this function even when + we have switched targets. + * corelow.c (core_detach): Call reinit_frame_cache. + * target.c (target_detach): Don't call generic_mourn_inferior + (revert yesterday's change, now handled by core_detach). + * objfiles.c (free_objfile): Detach any core file if we call + SOLIB_CLEAR. #include target.h. + + * fork-child.c (fork_inferior): Don't call target_terminal_init + and target_terminal_inferior until we are sure that the inferior + has called gdb_setpgid. This fixes PR 2900 (Schauer tracked it + down and was able to reliably reproduce it by putting a sleep() + before the gdb_setpgid()). + +Thu Sep 30 12:00:49 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * c-exp.y, m2-exp.y: Change type of address for msymbol to + builtin_type_long. + * infptrace.c (fetch_register, store_inferior_register, + child_xfer_memory): Use PTRACE_XFER_TYPE for the type of ptrace + transfers. Provide an `int' default for PTRACE_XFER_TYPE. + +Thu Sep 30 11:30:56 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * defs.h (TARGET_*_BIT): Don't use host information (sizeof) in + picking defaults. + + * cp-valprint.c (cp_is_vtbl_ptr_type): Continue to accept old form. + +Thu Sep 30 11:25:55 1993 Kung Hsu (kung@cygnus.com) + + * cp-valprint.c (cp_is_vtbl_ptr_type): + change vtable field name to __vtbl (pr2695). + + * symtab.c (gdb_mangle_name): fix a bug, to get mangled name right. + +Wed Sep 29 18:34:22 1993 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Add deps for i386lynx-nat.o and i386lynx-tdep.o to + keep non-gnu makes happy. + +Wed Sep 29 17:20:54 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (read_hpux_symtab): When a K_END is found for a + K_MODULE, clear the have_module and have_name flags. + +Wed Sep 29 10:52:19 1993 Kung Hsu (kung@cygnus.com) + + * c-valprint.c: to fix virtual table print bug (pr2695). + +Wed Sep 29 10:52:19 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * target.c (target_detach): Call generic_mourn_inferior. + * inflow.c (generic_mourn_inferior): Call flush_cached_frames. + +Tue Sep 28 23:08:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dbxread.c, coffread.c, elfread.c: A few changes to comments. + +Tue Sep 28 18:39:37 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * configure.in: Rename ...-lynx* to ...-lynxos*. + Add m68*-*-lynxos* configuration. + * dbxread.c (coffstab_build_psymtabs): New function, + interfaces coffread.c to dbxread functions. + * coffread.c (coff_symfile_info): Expand to include + dbx_symfile_info slots. + (coff_symfile_init): Init coff_symfile_info struct. + (coff_locate_sections): New functions, finds the stab and stabstr + sections. + (coff_symfile_read): Call coffstab_build_psymtabs if a stab + section is present. + (coff_section_offsets): Replace fake version with real offsets. + +Tue Sep 28 18:00:50 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infcmd.c (run_stack_dummy): Set the frame in the bp_call_dummy + breakpoint. + +Tue Sep 28 17:53:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/nm-sysv4.h: Include solib.h. Define SVR4_SHARED_LIBS. + * config/tm-sysv4.h: Don't include solib.h. + * config/xm-sysv4.h: Don't define SVR4_SHARED_LIBS. + * config/i386/i386v4.mt (TDEPFILES): Move solib.o from here... + * config/i386/i386v4.mh (NATDEPFILES): ...to here. + * config/i386/nm-i386v4.h: Include nm-sysv4.h. + * config/m68k/amix.mt (TDEPFILES): Move solib.o from here... + * config/m68k/amix.mh (NATDEPFILES): ...to here. + +Tue Sep 28 09:45:38 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symmisc.c (print_symbol): Use %02x not %2x for LOC_CONST_BYTES. + + Clean up problems with targets and hosts that have 64 bit longs + and pointers and 32 bit ints. + * breakpoint.c, buildsym.c, c-lang.c, c-valprint.c, ch-lang.c, + ch-valprint.c, core.c, cp-valprint.c, dbxread.c, exec.c, + expprint.c, gdbtypes.c, infcmd.c, language.c, language.h, + m2-lang.c, maint.c, mips-tdep.c, mipsread.c, partial-stab.h, + printcmd.c, remote-vx.c, solib.c, source.c, stack.c, symfile.c, + symmisc.c, symtab.c, valops.c, valprint.c, xcoffexec.c: + Change all printf formats from %x to %lx if outputting an address. + Change la_*_format to use long format. + local_hex_string, local_hex_string_custom now take an unsigned long + argument, change all callers. + * coffread.c (read_coff_symtab): Remove superfluous cast for + complaint output. + * dbxread.c (end_psymtab): Cast MSYMBOL_INFO to long, not int. + * findvar.c, value.h (write_register): Change val to LONGEST. + * gdbtypes.h (struct type): Change `bitsize' to long as + TYPE_FIELD_STATIC_PHYSNAME uses this field as a pointer. + * inferior.h (struct inferior_status): Change type of stop_pc to + CORE_ADDR. + * language.h (local_octal_string, local_octal_string_custom): + Remove prototype, the functions are neither defined nor used. + * mipsread.c (parse_symbol): Use temporary variable for bitsize as + f->bitsize is a long now. + * objfiles.c (add_to_objfile_sections, build_objfile_section_table): + Use unsigned long casts instead of int for abusing sections_end + pointer as integer. + * stack.c (parse_frame_specification): Change type of `args' to + CORE_ADDR for SETUP_ARBITRARY_FRAME. + + * printcmd.c (make_vasize): Allow redefinition via MAKEVA_SIZE. + * mipsread.c (parse_type): Alpha cc now supports the t->continued + bit, update algorithm to match the way the compiler uses it. + +Tue Sep 28 12:05:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * utils.c (fprintfi_filtered): Fix comments. + +Mon Sep 27 18:10:08 1993 Stu Grossman (grossman at cygnus.com) + + * coffread.c (read_coff_symtab): Don't call getfilename if there + are no auxents. + +Mon Sep 27 10:22:37 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.c (find_pc_line): Fix comments. + + * remote-udi.c (udi_mourn): Don't pop target. + +Fri Sep 24 17:25:41 1993 Stu Grossman (grossman at cygnus.com) + + * corelow.c: Add multi thread/process support for core files with + .reg/XXX pseudo-sections. + * i386lynx-nat.c thread.h thread.c: Remove unnecessary core file + support. + +Thu Sep 23 10:49:37 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-udi.c (download): Skip zero length sections. + + * valops.c (search_struct_method, value_struct_elt): + Use (value)-1, not -1, for error. + + * infcmd.c (step_1), infrun.c (wait_for_inferior): Add comments + about SHIFT_INST_REGS. + + * exec.c (exec_file_command): Set text_end based on all code readonly + sections, not just ".text". + + * defs.h, infcmd.c, config/z8k/tm-z8k.h, config/m88k/tm-m88k.h, + config/sh/tm-sh.h, config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, + z8k-tdep.c: Remove all references to ADDR_BITS_SET. + * config/m88k/tm-m88k.h: Define TARGET_WRITE_PC. + + * config/m88k/tm-m88k.h, m88k-tdep.c: Add call function stuff. + +Thu Sep 23 00:13:06 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/mips/tm-mips.h (STORE_STRUCT_RETURN): Define as noop as + the pushing of the struct return address is already handled in + mips_push_arguments. + * mips-tdep.c (reinit_frame_cache_sfunc): Fix typo in prototype + declaration. + * mipsread.c (parse_symbol, parse_type, upgrade_type): Add more + sanity checks for corrupt symbol entries to avoid core dumps + reported by benson@odi.com. Obviously Ultrix 4.3A cc now has + the same problems as the OSF/1 alpha cc. + * mipsread.c (parse_lines): Iterate over the range of the compressed + line number entries, the old iteration sometimes failed to stop + and wrote past the end of the LINETABLE. Add sanity check to avoid + the same problem in case the line number info is corrupt. + * mipsread.c (parse_procedure): Adjust pdr for alpha __sigtramp. + * mipsread.c (parse_external, parse_partial_symbols): Ignore stNil + symbols that are produced for statics in .o files and stLocal symbols + that are produced for every section in OSF/1 dynamically linked + executables. + * mipsread.c (psymtab_to_symtab_1): Put out `undefined symbols' + warning only under `verbose on' as there are many undefined symbols + in a dynamically linked executable. + +Wed Sep 22 10:28:06 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/i960/nindy960.mt: Don't define REMOTE_O; REMOTE_O was + intended only for VxWorks. Remove dcache.o from TDEPFILES now + that we pick it up from the default REMOTE_O. + + * breakpoint.c (bpstat_what): Initialize retval.call_dummy and + retval.step_resume. + + * mips-tdep.c (mips_frame_chain): If frame size zero, return zero. + * rs6000-tdep.c: Add comment about framelessness. + + * remote-nindy.c: Declare ninMemGet and ninMemPut. + +Wed Sep 22 08:02:57 1993 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Add i386lynx-tdep to the right places. + (TARDIRS): Add gdbserver. + + * exec.c (print_section_info): Print entry point. + * i386lynx-nat.c (i386lynx_saved_pc_after_call): Move into + i386lynx-tdep.c. Add core file support. + * i386lynx-tdep.c: New module for Lynx/386 target dependant code. + * maint.c: Add `maint info sections' command to print info about all + sections that BFD knows about for exec and core files. + * sparc-tdep.c (sparc_push_dummy_frame): Update stack pointer + before putting frame on the stack. Consolidate writes to reduce + traffic for remote debugging. + * config/i386/i386lynx.mh (NATDEPFILES): Remove exec.o. + * config/i386/i386lynx.mt (TDEPFILES): Add exec.o, i386lynx-tdep.o. + * config/i386/nm-i386lynx.h: Add target_pid_to_str(). + * config/i386/tm-i386lynx.h: Remove target_pid_to_str(). + * sparclite/Makefile.in: Add deps to keep Sun make happy. + +Tue Sep 21 17:48:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.h, breakpoint.c (bpstat_stop_status): Add new argument + not_a_breakpoint. + * infrun.c (wait_for_inferior): Pass it. Also consolidate the + test of whether we are stepping into a CURRENTLY_STEPPING macro. + +Tue Sep 21 17:22:34 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * breakpoint.c (bpstat_stop_status), + infcmd.c (step_1), + infrun.c (wait_for_inferior): collapse SHIFT_INST_REGS ifdef + and insert macro. + + * m88k-tdep.c: include ieee-float.h. new global target_is_m88110. + new const struct ext_format_m88110 for float format. + (pic_prologue_code): add braces. + (next_insn): remove unused variable buf. + (frame_find_saved_regs): remove unused variables next_addr, + saved_regs, regnum. + (frame_locals_address): remove unused variables frame, ap. + (frame_args_address): remove unused variables frame, ap. + (push_parameters): add some breaks and a default case. + + * remote-bug.c: remove redundant includes of value.h, target.h, + serial.h. + (bug_open): corrected typo, sr_multi_scan -> gr_multi_scan. + (bug_fetch_register): special case sfip register for m88110. + remove flag bit masking of pc registers. This should be handled + by the ADDR_BITS_* macros. + (bug_store_register): special case sfip register for m88110. + Corrected sprint format for extended registers. + + * config/m88k/tm-m88k.h: white space and comment changes. include + ieee-float.h. expanded to cope with m88110 extended registers. + (R0_REGNUM, XFP_REGNUM, X0_REGNUM): new macros. + (SHIFT_INST_REGS): becomes a real macro. + +Tue Sep 21 17:48:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (breakpoint_1): Support bp_call_dummy. + +Tue Sep 21 17:06:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfread.c (record_minimal_symbol_and_info): Guess the section to + use from the type. + * objfiles.c: Include gdb-stabs.h for SECT_* macros. + (objfile_relocate): Relocate textlow and texthigh in psymtabs. + Relocate partial symbols. Check that minimal SYMBOL_SECTION is + nonnegative before using it. + * symtab.h: Adjust section field comment. + + * remote.c (interrupt_query): New function. + (remote_interrupt_twice): Call interrupt_query. + (putpkt, getpkt): If quit_flag is set, call interrupt_query. + (remote_wait): Don't bother with objfile_relocate if the addresses + haven't changed. + (remote_fetch_registers): If we see a packet that doesn't start + with a hex character, fetch a new one. + +Tue Sep 21 11:44:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote.c, remote-utils.c: Use SERIAL_FLUSH_INPUT after opening it. + + * printcmd.c (print_scalar_formatted): When truncating value we are + going to print as unsigned, handle it generally for any length + less than sizeof (LONGEST), rather than special-casing sizeof (char), + sizeof (short), and sizeof (long). Clarify comment on what this + is for. + + * symfile.c (deduce_language_from_filename): Accept .cxx for C++. + * buildsym.c (start_subfile): Use deduce_language_from_filename + rather than checking for .C or .cc ourself. + +Mon Sep 20 14:53:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * defs.h: Declare argument of re_comp as const char *. + + * remote.c, remote-mips.c: Use sr_get_debug not remote_debug. + + * README: Say using bfd from another release doesn't generally work. + +Sat Sep 18 10:13:18 1993 Jim Kingdon (kingdon@poseidon.cygnus.com) + + * mipsread.c (parse_type): Don't complain() if we guessed struct + and it was a union, or vice versa. + + * defs.h (make_cleanup): Change PTR to void * when inside PARAMS. + + Some of the following is in #ifdef CALL_DUMMY_BREAKPOINT_OFFSET. + * breakpoint.h (enum bptype): Add bp_call_dummy. + (struct bpstat_what): Add call_dummy field. + * infrun.c (wait_for_inferior): Deal with it. + * breakpoint.c (bpstat_what): Deal with call dummy breakpoint. + * infcmd.c (run_stack_dummy): Set the call dummy breakpoint. + * config/sparc/tm-sparc.h: Define CALL_DUMMY_BREAKPOINT_OFFSET. + + * remote-sim.h: New file. + * remote-sim.c: Add remote debug feature. Rename stuff to distinguish + interface to simulator from gdb-specific stuff. Other changes. + * remote-sp64sim.c: Renamed to remote-sim.c. + Use sr_get_debug instead of our own sim_verbose/simif_snoop. + Use gnutarget in call to bfd_openr. + Rename simif_* to gdbsim_*. + * config/sparc/sp64sim.mt: Change remote-sp64sim.c to remote-sim.c. + +Fri Sep 17 04:41:17 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * findvar.c (extract_signed_integer): Cast *p to LONGEST before doing + the xor and subtract. Otherwise it will not sign extend if the type + of LONGEST is larger than int. + * cp-valprint.c (cp_print_class_method): Inhibit core dump if + domain is an undefined cross reference. + * valops.c (call_function_by_hand): Set real_pc to correct + value if CALL_DUMMY_LOCATION != ON_STACK. + +Thu Sep 16 20:37:06 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * config/a29k/tm-a29k.h (FRAME_CHAIN): If rsize is zero, return zero. + +Thu Sep 16 13:16:22 1993 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): Allow user to single step within + a stack dummy. + +Thu Sep 16 12:34:01 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * dbxread.c (copy_pending): Deal with END NULL. + (process_one_symbol): Add comments about what common_block NULL means. + +Wed Sep 15 14:50:26 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * remote-udi.c, remote-adapt.c, remote-mm.c: Move processor_type + to tm-a29k.h and a29k-tdep.c and make it an enum. + * a29k-tdep.c (a29k_get_processor_type): New function. Fix many + aspects of how we detected the processor type. + * remote-udi.c, remote-adapt.c, remote-mm.c (*_open): Call it + rather than figuring out the type ourselves. + +Thu Sep 16 12:12:59 1993 Stu Grossman (grossman at cygnus.com) + + * sparc-stub.c (_trap_low): Do restore/save sequence after + setting sp to ensure that we load the previous window from the + right place on the stack. + +Thu Sep 16 00:36:32 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c: Many changes for alpha ecoff format: + Correct sizeof(int) == sizeof(long) assumptions. + Replace stParsed hack by putting the parsed types on the pending chain. + Replace mips specific ecoff mapping by ECOFF_REG_TO_REGNUM macro, + provide default for cross debugging. + Swapping the symbol back is no longer needed as the symbol is not + modified anymore. + Add new alpha basic types, handle btTypedef, handle stStaticProc + external symbols . + Update and clean up cross_ref for alpha cc cross ref variations. + Allocate types on the type_obstack to inhibit storage leaks. + * config/mips/tm-mips.h (ECOFF_REG_TO_REGNUM): Define. + * gdbtypes.c (recursive_dump_type): Dump TYPE_TAG_NAME if it is set. + +Tue Sep 14 09:12:17 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * stabsread.c (read_type): Process "s" (size) type attribute. + If type is defined to another type, copy the type. + +Tue Sep 14 18:37:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/i386/i386v4.mh (NATDEPFILES): Move exec.o from here... + * config/i386/i386v4.mt (TDEPFILES): ...to here. + +Tue Sep 14 12:21:49 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (remote_utils_h): add serial.h and target.h. + (main.o, remote-es.o, remote-nindy.o, remote.o): remove target.h + (already in remote_utils_h). + (remote-utils.o): new rule. + + * remote-utils.h: include serial.h. + + * serial.h: ifdef protect from multiple inclusion. + + * remote.c, remote-nindy.c, remote-mon.c, remote-es.c: include + remote-utils.h. + + * remote.c (remote_open), remote-nindy.c (nindy_open, + nindy_files_info), remote-mon.c (general_open), remote-es.c + (es1800_open): use remote-utils facilities for baud rate. + +Tue Sep 14 09:12:17 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * paread.c, coffread.c, elfread.c, dwarfread.c: + Include and before libbfd.h. + + * paread.c: Define BYTES_IN_WORD before including aout/aout64.h. + + * Makefile.in (a29k-tdep.o): Depend on $(defs_h). + * config/a29k/tm-a29k.h (SAVED_PC_AFTER_CALL): Use gr122 not lr0 + if this is a transparent procedure. + +Mon Sep 13 16:06:43 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * remote.c: Define remote_debug to 0 and #if 0 baud_rate. Temporary + hack so this file compiles again. + + * remote-utils.c (gr_multi_scan): Cast return value from alloca. + (gr_multi_scan): #if 0 never-reached return(-1). + + * remote-udi.c (udi_wait): Return inferior_pid not 0. + +Mon Sep 13 14:14:35 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + Collect some remote things into remote-utils. + * remote-utils.[ch]: new files of functions collected from several + different remote targets. + * Makefile.in (REMOTE_O): add remote-utils.o. + (dcache_h, remote_utils_h): new macros. + (HFILES): add $(remote_utils_h). + (ALLDEPFILES): add $(remote_utils_h). + (dcache.o): new rule. + (main.o, remote-bug.o): also depend on $(remote_utils_h). + * target.h (remote_debug): extern moved to remote-utils.h. + * target.c (find_default_run_target, find_core_target): initialize + runable. + (remote_debug): moved to remote-utils.c. + (_initialize_targets): move declaration of user variable + remotedebug to remote-utils.c. + * remote-bug.c: include remote-utils.h rather than dcache.h. + (bug_close, bug_write, bug_write_cr, desc, bug_dcache, timeout, + dev_name, check_open, is_open, readchar, readchar_nofail, + pollchar, expect, expect_prompt, get_hex_digit, get_hex_byte, + get_hex_word, bug_kill, bug_detach, bug_create_inferior, + multi-scan, bug_prepare_to_store, bug_fetch_word, + bug_store_word, bug_files_info, bug_mourn, bug_com, bug_device, + bug_speed): removed and replaced with facilities from + remote-utils.[ch]. + (bug_read_inferior_memory): renamed to bug_read_memory. + (bug_write_inferior_memory): renamed to bug_write_memory. + (bug_xfer_inferior_memory): renamed to bug_xfer_memory. + (get_word): comment out this unused function for now. + (bug_settings, cpu_check_strings): new statics. + (bug_open): rewritten to use gr_open. + (_initialize_remote_bug): remove declarations of commands bug, + device, speed. + * main.c: include remote-utils.h. + (baud_rate): removed to remote-utils.c. + (main): handle baud rate settings using new facilities from + remote-utils. + * defs.h (baud_rate): removed extern. + + m88110 support via bug-197 monitor. + * remote-bug.c (get_reg_name, bug_fetch_register, + bug_store_register): added m88110 extended register support. + (wait_strings): added bug-197 prompt. + (bug_wait): cope with bug-197 prompt. + (start_load): cope with either bug-197 or bug-187 prompt. + +Mon Sep 13 12:53:09 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * inferior.h, infrun.c, thread.c, infcmd.c: Remove all uses of + pc_changed. If it was ever set to a non-zero value, it was before + GDB 2.8. It doesn't seem to have any useful function. + + * defs.h: Don't define NORETURN (see comment). + +Sat Sep 11 10:46:09 1993 Jim Kingdon (kingdon@poseidon.cygnus.com) + + * m88k-nat.c (fill_gregset): Set r31 and sfip. + +Thu Sep 9 10:18:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-udi.c (udi_wait, case UDIStdinNeeded): Use a loop calling + getchar() (terminated only on '\n') instead of scanf. Send the + '\n' which terminates it to the remote system. + + More gcc lint: + * exec.c (ignore): Return 0. + * stack.c (return_command): Fetch lazy value directly, not via + VALUE_CONTENTS, to avoid "value computed is not used". + * inflow.c (new_tty): Move osigttou inside #if. + + * remote.c (remote_fetch_registers): If remote reply is short, just + note that fact and keep going (reading extra registers as all bits 0). + (remote_store_registers): Send number of registers that were found + by remote_fetch_registers. + * m68k-tdep.c, config/m68k/tm-m68k.h, config/m68k/tm-*.h: Remove + HAVE_68881. Define CANNOT_STORE_REGISTER if ptrace() can't write + floating registers. + * config/m68k/{tm-m68k-nofp.h,m68k-nofp.mt,tm-m68k-fp.h,m68k-fp.mt}: + Remove, replaced by {tm-m68k-em.h,m68k-em.mt}. + * Makefile.in, configure.in: Change accordingly. + +Thu Sep 9 04:59:03 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (cross_ref): Allow SGI extended symbol types as cross + reference targets. + * symmisc.c (print_symbol): Use TYPE_TAG_NAME not TYPE_NAME to avoid + printing of identities. + +Wed Sep 8 19:18:27 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (breakpoint_1): Deal with step resume breakpoint. + +Wed Sep 8 13:01:10 1993 K. Richard Pixley (rich@cygnus.com) + + Gcc lint. + * config/m88k/tm-m88k.h (frame_find_saved_regs): prototype. + * config/h8300/tm-h8300.h (NUM_REGS): rewrite to avoid nested comment. + * blockframe.c (get_prev_frame_info): initialize address. + * breakpoint.c (bpstat_copy): initialize retval. + (bpstat_stop_status): initialize value_is_zero. + (bpstat_what): initialize bs_class. + (breakpoint_1, mention): add do-nothing case for bp_step_resume. + (break_command_1): initialize cond_end, addr_end, & + canonical_strings_chain. + (enable_breakpoint): initialize save_selected_frame. + * buildsym.c (end_symtab): initialize symtab & linetablesize. + * c-exp.y (parse_number): initialize i. + * c-typeprint.c (c_type_print_varspec_prefix): include + TYPE_CODE_BITSTRING in switch statements and do nothing. + * c-valprint.c (c_val_print): removed unused variable c. + * ch-valprint.c (chill_val_print): removed unused variable eltlen. + * cp-valprint.c (cp_print_class_method): initialize f & j. + * eval.c (evaluate_subexp): initialize pc2, arg1, arg2. + * expprint.c (print_subexp): initialize myprec, assoc, & tempstr. + * findvar.c (value_from_register): initialize first_addr. + * gdbtypes.c (lookup_struct_elt_type): localize use of temporary + variable typename. + * infcmd.c (run_stack_dummy): return zero rather than simple + return. + * infrun.c (wait_for_inferior): initialize stop_sp, prologue_pc. + remove symtab, appears unused. + (restore_selected_frame): return 1. + * mipsread.c (psymtab_to_symtab_1): initialize first_off. + (fixup_sigtramp): initialize b0. + * printcmd.c (do_examine): initialize val_type. + (print_frame_args): initialize b. + * ser-tcp.c (tcp_restore): comment out declaration. Appears + unused. + * ser-unix.c (hardwire_restore): comment out declaration. Appears + unused. + (hardwire_send_break): moved variable status into ifdef + HAVE_SGTTY. + (wait_for): moved variable numfds into ifdef HAVE_SGTTY. + * serial.h: comment change only. + * stabsread.c (rs6000_builtin_type): initialize rettype. + (read_range_type): initialize nbits. + * stack.c (print_frame_info): remove unused variable numargs. + (parse_frame_specification): remove unused variables arg1, arg2, + arg3. + (return_command): initialize return_value. + * symfile.c (cashier_psymtab): initialize pprev. + * symtab.c (find_pc_psymbol): initialize best. + (lookup_symbol): initialize s. + (make_symbol_completion_list): initialize quote_pos. + * thread.c: include command.h. + (thread_info): static declaration removed; unused. + (info_threads_command): fix == vs = typo. + * typeprint.c (whatis_exp): initialize old_chain. + * valprint.c (val_print_string): remove unused variable + first_addr_err. Initialize old_chain. + (_initialize_valprint): white space comment change. + * values.c (show_values): rewrite if statement to avoid empty + body. + (vb_match): remove unused variable fieldtype_target_type. + +Wed Sep 8 10:21:33 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (mipsread.o): Depend on $(bfd_h). + +Tue Sep 7 13:06:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbserver/Makefile.in (TAGS): config files are in + $(srcdir)/../config, not $(srcdir)/config. + + * config/pa/tm-hppa.h: Declare target_read_pc and target_write_pc. + (STORE_RETURN_VALUE): Pass the correct offset of the return + register to write_register_bytes. + * hppa-tdep.c: Use target_write_pc if PCOQ_TAIL_REGNUM was not saved. + +Tue Sep 7 14:30:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * remote.c (remote_wait): Don't call error. Instead, call warning + inside a loop. User can ^C to get out. + + * config/m68k/tm-m68k.h (FIX_CALL_DUMMY): Changed name of swapping + routine to match BFD name change. + * config/z8k/tm-z8k.h (FIX_CALL_DUMMY): Likewise. + +Mon Sep 6 15:01:57 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * elfread.c: change elf32_symbol_type to elf_symbol_type + +Mon Sep 6 15:43:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * remote.c (remote_wait): Added 'W' and 'N' responses. + +Fri Sep 3 08:57:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * main.c, utils.c: Add comments about immediate_quit. + + * elfread.c (elf_symtab_read): Don't add symbols starting with ".L" + to minimal symbols. + + * target.c (pop_target): Don't try to deal with the stack becoming + empty. Shouldn't happen and the code that tried was broken. + + * dcache.c: Cast return value from xmalloc. + + * remote.c: Move setting of immediate_quit from remote_open to + remote_start_dummy and set it back to zero when done. + +Thu Sep 2 00:07:36 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m88k-tdep.c: Remove a bunch of unused #includes. + + * language.h: Add comment about current_language. + + * mips-tdep.c (_initialize_mips_tdep): Change heuristic-fence-post + from var_uinteger to var_zinteger. + + * configure.in: Fix typo (delta88r4 -> delta88v4). + + * config/m88k/xm-delta88.h: Don't include sys/siginfo.h. It was + to make this work on SVR4 before SVR4 had its own configuration, + and it breaks SVR3. + + * config/m88k/tm-delta88v4.h: Define FRAME_CHAIN_VALID_ALTERNATE. + + * config/m88k/delta88v4.h (NATDEPFILES): Remove infptrace.o inftarg.o. + + * config/m88k/xm-dgux.h: Renamed from config/m88k/xm-m88k.h. + * config/m88k/m88k.mh: Use xm-dgux.h. + * config/m88k/xm-m88k.h: New file, with HOST_BYTE_ORDER, + MAKEVA_END and MAKEVA_ARG. + * config/m88k/xm-*.h: Include m88k/xm-m88k.h. + * printcmd.c: Remove __INT_VARARGS_H code; now in xm-m88k.h. + +Wed Sep 1 19:31:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-udi.c (udi_wait): Call `warning' not `error'. + + * symtab.c (COMPLETION_LIST_ADD_SYMBOL): If the symbol has a + demangling, don't put the mangled form in the completion list. + + * symtab.c, symfile.c, c-exp.y, ch-exp.y, m2-exp.y, buildsym.c, + symfile.h, stabsread.c, minsyms.c, solib.c, nlmread.c, dwarfread.c + partial-stab.h, symmisc.c, gdbtypes.c: Lint. Remove (or put + inside #if) unused variables and labels. Fix unclosed comment. + Deal with enumeration values unhandled in switch statements. Make + sure non-void functions return values. Include appropriate + headers. + * dbxread.c (elfstab_build_psymtabs): Don't check for unsigned + value < 0. + +Wed Sep 1 14:36:00 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * i960-tdep.c, ns32k-pinsn.c, remote-adapt.c, xcoffread.c: + index -> strchr. + +Wed Sep 1 11:35:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote.c: Add comment explaining why dcache is disabled. + (remote_fetch_word, remote_store_word): Make static and #if 0. + They are not called from anywhere. + +Wed Sep 1 14:41:28 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * arm-tdep.c, convex-tdep.c, convex-xdep.c, dbxread.c, + h8300-tdep.c, h8500-tdep.c, i960-pinsn.c, i960-tdep.c, + infptrace.c, m88k-tdep.c, mips-tdep.c, regex.c, remote-vx.c, + rs6000-tdep.c, xcoffexec.c, xcoffread.c, z8k-tdep.c, + config/arm/tm-arm.h, config/convex/tm-convex.h, + config/gould/tm-np1.h, config/gould/tm-pn.h, + config/m68k/tm-isi.h, config/ns32k/tm-umax.h, + config/pa/tm-hppa.h, config/pyr/tm-pyr.h, + config/rs6000/tm-rs6000.h, config/tahoe/tm-tahoe.h, + config/vax/tm-vax.h: bzero -> memset. + + * regex.c: bcmp -> memcmp. + +Wed Sep 1 11:35:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.c (find_pc_line, find_line_common), + symtab.h (struct linetable), xcoffread.c (arrange_linetable): + Revise comments re linetable sorting. + * buildsym.c (compare_line_numbers): Sort by pc, not by line. + * coffread.c: Tell end_symtab to sort the line table. + + * coffread.c: Re-work a lot of the coff-specific stuff to use stuff + in buildsym.c. This includes coff_finish_block, coff_context_stack, + coff_local_symbols, coff_file_symbols, coff_global_symbols, + coff_end_symtab and coff_add_symbol_to_list. + (read_enum_type): Deal with it now that we have a "struct pending" + not a "struct coff_pending". + + * buildsym.c (end_symtab): Don't realloc subfile->linetable. + +Wed Sep 1 13:12:43 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * a68v-nat.c, altos-xdep.c, convex-tdep.c, convex-xdep.c, + findvar.c, hppab-nat.c, hppah-nat.c, i386mach-nat.c, + irix4-nat.c, m68k-tdep.c, m88k-tdep.c, mipsread.c, regex.c, + remote-bug.c, remote-hms.c, rs6000-nat.c, rs6000-tdep.c, + sparc-nat.c, stabsread.c, sun3-nat.c, sun386-nat.c, symfile.c, + umax-xdep.c, xcoffread.c, 29k-share/udi/udip2soc.c, + 29k-share/udi/udr.c, config/a29k/tm-a29k.h, config/arm/tm-arm.h, + config/convex/tm-convex.h, config/gould/tm-np1.h, + config/gould/tm-pn.h, config/h8300/tm-h8300.h, + config/h8500/tm-h8500.h, config/i386/tm-i386aix.h, + config/i386/tm-sun386.h, config/i386/tm-symmetry.h, + config/i960/tm-i960.h, config/m68k/tm-news.h, + config/m88k/tm-m88k.h, config/mips/tm-mips.h, + config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, + config/pa/tm-hppa.h, config/pyr/tm-pyr.h, + config/rs6000/tm-rs6000.h, config/sh/tm-sh.h, + config/tahoe/tm-tahoe.h, config/vax/tm-vax.h, + config/z8k/tm-z8k.h, nindy-share/nindy.c: bcopy -> memcpy. + +Wed Sep 1 05:05:53 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (parse_partial_symbols): Use language from FDR if it + is unambigous. Patch from ptf@delcam.co.uk (Paul Flinders). + * mipsread.c (ecoff_symfile_info): New struct to hold the global + pending_list. + * mipsread.c (mipscoff_symfile_init, parse_partial_symbols): + Allocate the global pending list and link it to the objfile. + * mipsread.c (is_pending_symbol, add_pending): Use global pending + list from objfile. Allocate pending list entries from the + psymbol_obstack. + * mipsread.c (free_pending): Remove. The pending list is now + freed when the psymbol_obstack is freed. + * mipsread.c (psymtab_to_symtab1): Remove pending list allocation, + the global pending list is used now. + * mipsread.c (parse_partial_symbols): Skip only the first + file indirect entry when building the dependency list. + +Tue Aug 31 15:01:27 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + Break dcache code out of remote.c. + * dcache.h: white space changes only. + * dcache.c: add user settable variable to set whether data caching + is in use. + * remote.c: include dcache.h. removed data caching code which is + now in dcache.c. Compile in data caching again. (data caching + is currently off by default.) + (remote_read_bytes, remote_write_bytes): change second arg to + unsigned char. + (remote_dcache): new static variable. + * Makefile.in (REMOTE_O): add dcache.o. + * config/m88k/m88k.mt (TDEPFILES): removed dcache.o. + + Break dcache code out of remote-nindy.c. + * remote-nindy.c: removed dcache code. Changed callers to use new + conventions. include dcache.h. + (nindy_dcache): new static variable. + * config/i960/nindy960.mt (TDEPFILES): added dcache.o. + + Break dcache code out of remote-bug.c into dcache.[hc]. + * Makefile.in (dcache_h): new macro. + (HFILES): added $(dcache_h). + (ALLDEPFILES): added dcache.c. + (dcache.o): new rule. + (remote-bug.o): now depends on $(dcache_h). + * remote-bug.c: include dcache.h. remove externs for insque and + remque, add extern for bcopy. Prototype bug_close, + bug_clear_breakpoints, bug_write_cr. dcache code moved to + dcache.[hc]. Changed dcache calling convention to include an + initial DCACHE argument. + (bug_dcache): new static variable. + (bug_read_inferior_memory): change second arg to + unsigned char. + * dcache.[ch]: new files. + * config/m88k/m88k.mt (TDEPFILES): add dcache.o. + +Tue Aug 31 10:33:13 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * c-typeprint.c (c_print_type_base): Treat show = 0 just like + show < 0. The only case where we had been distinguishing is that + show = 0 used to print "struct " or "enum " instead of + "struct {...}" or "enum {...}" which seems clearly wrong. + +Mon Aug 30 17:51:32 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * configure.in: recognize m88110 as an m88k. + +Mon Aug 30 16:07:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * valops.c (call_function_by_hand): If we discard cleanups, call + bpstat_clear (&inf_status.stop_bpstat). + +Mon Aug 30 12:47:46 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * stabsread.h, dbxread.c (end_psymtab): Return NULL if the psymtab + was empty and thrown away. + * mipsread.c (parse_partial_symbols): Do not add empty psymtabs to + dependency list, skip self dependencies. + * mipsread.c (parse_fdr): Removed, obsolete. + * mipsread.c (parse_lines): Check for cbLine being zero, not + cbLineOffset. + * mipsread.c (struct symloc): Add pst_language. + * mipsread.c (parse_partial_symbols): Set up proper language for + header files, save it in pst_language for psymtab_to_symtab_1. + * mipsread.c (psymtab_to_symtab_1): Use pst_language. + +Mon Aug 30 10:48:06 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Fix typo m88*-motorola-svr4* -> sysv4*. + +Fri Aug 27 17:09:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * paread.c: Include som.h instead of libhppa.h. (From Utah.) + +Fri Aug 27 09:30:40 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * symmisc.c (dump_symtab): Use catch_errors around print_symbol. + Change calling sequence of print_symbol to fit catch_errors. + + * mips-tdep.c: Call reinit_frame_cache every time the user does + "set heuristic-fence-post". + + * gdbserver/low-sun3.c: New file. + * gdbserver/Makefile.in, config/m68k/sun3.mh: Change accordingly. + + * Rename files for 14-character limits: + gdbserver/remote-gutils.c -> gdbserver/utils.c + gdbserver/remote-inflow.c -> gdbserver/low-lynx.c + gdbserver/remote-inflow-sparc.c -> gdbserver/low-sparc.c + gdbserver/remote-server.c -> gdbserver/server.c + remote-monitor.c -> remote-mon.c + * Makefile.in, gdbserver/Makefile.in, gdbserver/configure.in, + config/m68k/monitor.mt, config/i386/i386lynx.mh, + config/sparc/sun4os4.mh: Change accordingly. + * gdbserver/Makefile.in: Remove more junk inherited from gdb Makefile. + +Thu Aug 26 14:32:51 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infcmd.c, inferior.h (run_stack_dummy): If we stop somewhere + besides the dummy, return 1 rather than calling error(). + Let caller print the error message. Remove name argument. + * valops.c (call_function_by_hand): Deal with changes to calling + sequence of run_stack_dummy. Discard restore_inferior_status cleanup + if run_stack_dummy returns 1. + + * Version 4.10.2. + + * config/mips/tm-mips.h (EXTRACT_STRUCT_VALUE_ADDRESS): + Get struct return address from v0, not a0. + + * infrun.c (restore_inferior_status): Use catch_errors when + restoring selected frame. + +Wed Aug 25 21:52:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (save_inferior_status, restore_inferior_status): + Save and restore the registers too. + * inferior.h (struct inferior_status): Add "registers". + +Tue Aug 24 00:36:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dbxread.c (end_psymtab): Clean up comment. + + * frame.h, symtab.h, findvar.c (read_var_value): Change basereg + support to use LOC_BASEREG rather than SYMBOL_BASEREG_VALID. + * dwarfread.c: Use LOC_BASEREG where appropriate. + * Various: Support LOC_BASEREG and LOC_BASEREG_ARG. + + * coffread.c (init_lineno, init_stringtab): Don't check whether + xmalloc returned NULL. + + * config/vax/xm-vaxult.h: Define NO_PTRACE_H. + + * target.c, target.h: Add "set remotedebug" command. + * remote-bug.c, remote.c, remote-mips.c: Remove "set remotedebug" and + "set m88ksnoop" options and use generic "set remotedebug" instead. + * NEWS: Describe this change. + +Mon Aug 23 20:26:22 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * buildsym.h: Remove declaration of dbxread.c functions. + * stabsread.h: Group together dbxread.c functions. + Move elfstab_build_psymtabs here from symfile.h. + Declare pastab_build_psymtabs. + * elfread.c, paread.c: Include stabsread.h (for stabsread_new_init + declaration, etc). + +Mon Aug 23 17:16:23 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * remote-bug.c: rename quiet to bug88k_snoop. + (double_scan, multi_scan): generalize double_scan into a scan + for multiple patterns. Rename to multi_scan. + (bug_wait, bug_write_inferior_memory): adapt to use the new + multi_scan in order to catch and represent target bus errors. + (bug_scan): currently unused, so comment out. + (bug_quiet): removed. Replaced with a standard user settable boolean. + + * m88k-tdep.c: remove include of sys/dir.h. Appears unnecessary + and isn't available on solaris. + +Mon Aug 23 14:56:42 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m88k/{delta88v4.mt,delta88v4.mh}: New files + * config/m88k/delta88.mh: Fix comment. + * config/m88k/tm-delta88.h: Remove unused BCS define. + * config/m88k/{tm-delta88v4.h,xm-delta88v4.h,nm-delta88v4.h}: + New files. + * configure.in: Recognize m88*-motorola-sysv4*. + * m88k-nat.c: Always include sys/types.h; don't depend on USG. + +Mon Aug 23 12:57:42 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (parse_symbol, parse_type, cross_ref): Pass name of + symbol as an argument and use it in complaints. + * symmisc.c (dump_psymtab): Dump filenames of dependencies. + +Mon Aug 23 1993 Sean Fagan (sef@cygnus.com) + and Jim Kingdon (kingdon@cygnus.com) + + Add NetBSD support: + * configure.in: Recognize netbsd. + +Sun Aug 22 22:50:32 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (get_textlow): Don't go past a K_END when looking for a + K_FUNCTION. Avoids losing on source files with no functions. + +Fri Aug 20 14:01:39 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-nindy.c: Remove unused include of sys/ioctl.h. + + * frame.h, symtab.h: Revise comments regarding baseregs. + +Fri Aug 20 15:07:05 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (parse_partial_symbols, psymtab_to_symtab_1): + Set language for psymtab and symtab. + * mipsread.c (new_symbol): Set language and initialize demangled + name for symbol. + * symmisc.c (print_symbol): Use SYMBOL_SOURCE_NAME when printing + the symbol type. + * symtab.c (decode_line_1): Inhibit coredumps with cfront executables. + +Fri Aug 20 14:01:39 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Move KERNEL_U_ADDR from xm-hp300bsd.h to nm-hp300bsd.h and make + it conditionalized on 4.3 vs. 4.4. + * config/m68k/nm-hp300bsd.h: Move REGISTER_U_ADDR out of 4.3 and + 4.4 sections; it was identical and now works for 4.4. + + * mips-tdep.c (is_delayed): Use INSN*BRANCH* not ANY_DELAY. + + * printcmd.c (MAKEVA_END): Update this version to use "aligner". + +Thu Aug 19 22:08:09 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/vax/tm-vax.h (BELIEVE_PCC_PROMOTION): Define. + * mipsread.c (parse_symbol, parse_type, cross_ref): Handle corrupt + file indirect entries with complaints instead of core dumps. Remove + complaint for stTypedef within aggregates. + +Thu Aug 19 17:58:39 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * coffread.c (process_coff_symbol): Ignore tagnames like .0fake. + + * coffread.c (coff_read_enum_type): #if 0 out code which changes + enum {FALSE, TRUE} into boolean. + + * config/m68k/delta68.m{t,h}: Use nm-delta68.h, etc. not + non-existent files nm-delta.h, etc. + * config/m68k/tm-delta68.h: Define CANNOT_STORE_REGISTER. + * delta68-nat.c: Add "[0]" in offsetof argument. + * delta68-nat.c (_initialize_kernel_u_addr): Don't try to set up + nl with initializer, just assign to it. Check n_scnum field on + return. + +Wed Aug 18 21:42:52 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (read_hpux_symtab): Call SET_NAMESTRING for K_MODULE + debug symbols. + +Wed Aug 18 12:03:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (print_address), values.c (value_as_pointer): Don't + use ADDR_BITS_REMOVE. + * defs.h: Try to clarify comment about ADDR_BITS_REMOVE. + + * blockframe.c (block_innermost_frame): Uncomment. + Return NULL if passed NULL. + * frame.h: Declare it. + * expression.h (union exp_element): Add field block. + * parse.c (write_exp_elt_block): New function. + * expression.h (OP_VAR_VALUE): Now takes additional struct block *. + * *-exp.y: Write block for OP_VAR_VALUE. + * eval.c, expprint.c, parse.c: Deal with block for OP_VAR_VALUE. + * valops.c, value.h (value_of_variable), callers: + Add second argument, for block. + + * main.c (gdb_readline): If we read some characters followed by EOF, + return them rather than returning NULL. + +Tue Aug 17 11:14:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * mips-tdep.c: Remove unused #ifndef NUMERIC_REG_NAMES and add comment. + +Tue Aug 17 15:10:04 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/m88k/tm-m88k.h: Fix typo in comment. + (FP_REGNUM): define in terms of SP_REGNUM + rather than by absolute number. Also clearly comment that this + is a convenient lie in order to decrease future confusion. + (ACTUAL_FP_REGNUM): new macro for FP. + (FRAME_CHAIN_VALID): removed. Standard default works fine. + * m88k-tdep.c (frame_chain_valid): redundant, so removed. + (NEXT_PROLOGUE_INSN): removed unused fourth arg, fixed all + callers. + (read_next_frame_reg): declare static. + (examine_prologue): removed unused variabel insn2, rename insn1 + to insn, rewrote comment about finding fp, sp, etc. set frame_fp + based on ACTUAL_FP_REGNUM rather than FP_REGNUM which is + actually a scammed alias for SP_REGNUM on m88k. + + * frame.h: fixed typo in comment. + +Tue Aug 17 11:14:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * 29k-share/udi/udiphcfg.h: Always include udiphunix.h not udiphdos.h. + + * complaints.c (complain): fflush (stdout) after output. + +Tue Aug 17 01:43:55 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * blockframe.c, frame.h (sigtramp_saved_pc): New routine to fetch + the saved pc from sigcontext on the stack for BSD signal handling. + * config/i386/tm-i386bsd.h (SIGTRAMP_START, SIGTRAMP_END, FRAME_CHAIN, + FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC, SIGCONTEXT_PC_OFFSET): + Define to make backtracing through sigtramp work. + * config/vax/tm-vax.h (SIGTRAMP_START, SIGTRAMP_END, TARGET_UPAGES, + FRAME_SAVED_PC, SIGCONTEXT_PC_OFFSET): Ditto. + +Mon Aug 16 13:52:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * main.c (cd_command): If current_directory on entry is "/", then + don't append an extra slash. + Don't assume that /../.. means /. + + * target.c (target_xfer_memory): Clear errno before calling + to_xfer_memory. + + * stack.c (frame_info, print_frame_info): Add comment about using + the starting source line number on a line boundary if backtracing + through sigtramp. + +Mon Aug 16 09:52:33 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Add U Utah contribution notice. Add TODO list. + (hp_type_lookup): Use TYPE_NAME and TYPE_TAG_NAME. + (process_one_debug_symbol): Likewise. + +Mon Aug 16 02:56:01 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * blockframe.c (create_new_frame, get_prev_frame_info): + Use the function name when calling IN_SIGTRAMP. + * config/m68k/tm-m68k.h (SIG_PC_FP_OFFSET, SIG_SP_FP_OFFSET): + Define for correct handling of bachtraces through _sigtramp. + * m68k-tdep.c (m68k_find_saved_regs): Adjust saved sp for fake + sigtramp frames. + * mipsread.c (parse_type): Handle corrupt TIR info with complaint + instead of core dump. + * mipsread.c (parse_partial_symbols): Put static symbols into the + mimimal symbol table, use proper mst_types for all minimal symbols. + * stack.c (frame_info, print_frame_info): Use the starting source + line number on a line boundary if backtracing through sigtramp. + +Fri Aug 13 14:37:05 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * remote-bug.c: include gdbcmd.h. + (sleep, remque, insque): forward decls added. + (bug_fetch_registers, bug_store_registers): forward decls + removed. + (bug_read_inferior_memory, bug_write_inferior_memory): forward + decls added. + (srec_frame, srec_max_retries, srec_bytes, srec_echo_pace, + srec_sleep, srec_noise): new static variables for user settable + options. Mostly these are for debugging and tuning. I don't + expect them to stay user settable options for long. + (timeout): change default to 4 seconds. + (check_open): declare funtion static, force return value. + (readchar_nofail): if timeout, then say so if not being quiet. + (pollchar, double_scan, bug_scan, bug_srec_write_cr, + start_load): new functions. + (bug_wait): rewritten to use double scan. + (expect): while (1) -> for (;;) + (get_hex_digit): rewrite if condition to avoid gcc complaints. + (bug_load, bug_create_inferior, bug_open, bug_store_register): + removed unused variables. + (bug_load): replaced DELTA macro with user settable srec_frame + variable. Other minor lint. + (find_end_of_word, is_baudrate_right, set_rate, not_bug_wait, + gethex, timed_read, translate_addr, bug_before_main_loop): + unsused and removed. + (bug_resume): add missing first arg, pid. + (get_reg_name): use ip rather than cr04. + (bug_write, bug_write_cr, but_clear_breakpoints, bug_quiet): + declare type, args, and explicitly return. + (bug_store_register): straighten out the ip vs cr04 confusion. + (bug_write_inferior_memory): rewrite to cope with errors while + downloading s-records. + (bug_read_inferior_memory): declare static. + (bug_clear_breakpoints): expect nobr before prompt. + (_initialize_remote_bug): add initializations for srec-bytes, + srec-max-retries, srec-frame, srec-noise, srec-sleep, + srec-echo-pace. + + * Makefile.in (remote-bug.o): new rule. + (ALLDEPFILES): added remote-bug.c + + * remote-hms.c (hms_wait): use -1 for timeout's which means block + forever rather than 99999. + + * ser-unix.c (get_tty_state): if a descriptor is not a tty, then + simply save encode this fact as the process group and return + success rather than an error. + (set_tty_state): if process group is -1, do not reset the + process group. + (hardwire_reachar): comment change. + + * serial.h: comment change. + + * config/m88k/tm-m88k.h: comment change to remove embedded + comment. + (SKIP_PROLOGUE): skip_prologue returns a value which is expected + to reset the pc argument. So reset it. + +Fri Aug 13 10:15:24 1993 Fred Fish (fnf@deneb.cygnus.com) + + * Makefile.in (VERSION): Bump to 4.10.1 after release and cvs + tagging. + +Thu Aug 12 20:40:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbserver/Makefile.in: Use GDBSERVER_LIBS and + GDBSERVER_DEPFILES. Also remove much (but not all that could be + removed) crud inherited from gdb Makefile.in. + * config/i386/i386lynx.mh, config/sparc/sun4os4.mh: Define GDBSERVER_*. + * gdbserver/README: Say it works on Sun and change configuration + instructions slightly. + +Wed Aug 11 18:56:59 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config/i386/i386v4.mh: use -lsocket and -lnsl, for remote + targets that use BSD style network connections + +Wed Aug 11 17:54:24 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-{monitor,bug}.c: Make bug_ops not static (forward declaration + of statics doesn't work with SunOS4 /bin/cc). + Rename the occurrence in remote-monitor.c to monitor_bug_ops. + +Tue Aug 10 13:07:14 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * blockframe.c (find_pc_partial_function), + mips-tdep.c (find_proc_desc): Deal with "pathological" case. + +Tue Aug 10 14:50:30 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * utils.c (wrap_here): Allow indent to be NULL. + (fputs_filtered): Don't check for null wrap_indent (wrap_here now + guarantees that it isn't, and anyway we were only checking one out + of the two places we dereferenced it). + + * objfiles.h (struct objfile): Clean up comments for + {obj,sym}_private to clarify what they are private to. + +Mon Aug 9 16:45:00 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * stabsread.c, buildsym.c (hashname): Moved function to + buildsym.c, as suggested in the sources. + +Mon Aug 9 09:53:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-udi.c: Make udi_ops extern rather than trying forward + declaration of a static variable. + + * hppab-nat.c: Define ptrace to call_ptrace and pass the 5th arg + there, rather than using an ANSI C specific macro. + + * 29k-share/udi/udr.c: Include fcntl.h not sys/fcntl.h. Also put + sys/types.h near the top (just on general principles). + + * environ.c (set_in_environ): Remove G960BASE and G960BIN; they are + no longer used. + + * gdbcore.h: New variable gnutarget. + * core.c: Add commands to set and show it. + * Callers to bfd_*open*: Pass gnutarget instead of NULL as target. + * environ.c (set_in_environ): For GNUTARGET, use set_gnutarget not + putenv. + + * symtab.c (decode_line_1): Give error on unmatched single quote. + +Sun Aug 8 13:59:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * ser-unix.c (hardwire_send_break) [HAVE_SGTTY]: Use select not usleep. + + * remote.c: Add comments about 'd', 'r', and unrecognized requests. + + * inflow.c (terminal_init_inferior): Don't muck with tty state if + gdb_has_a_terminal() is false. + +Sun Aug 8 10:07:47 1993 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (record_minimal_symbol): Remove prototype and + function. + * dwarfread.c (add_partial_symbol): Remove code to add minimal + symbols and remove comment about limitations. Experiments show + that now that gdb handles the ELF symtab better for creating + minimal symbols, that no additional information is added by + examining the DWARF information, and in fact, given the + limitations, the DWARF code was actually making things worse. + +Sat Aug 7 10:59:03 1993 Fred Fish (fnf@deneb.cygnus.com) + + * elfread.c (elf_symtab_read): Properly sort out the bss symbols + from the data symbols and give them the correct minimal_symbol_type. + Add file static symbols to the minimal symbol table, not just + global symbols. Add absolute symbols as well (like _edata, _end). + Redo stabs-in-elf special symbol handling now that file static + symbols are entered into the into the minimal symbol table. + * dwarfread.c (add_partial_symbol): Add comment about limitations + of DWARF symbols for distinquishing data from bss when adding + minimal symbols. Add file local symbols to minimal symbols. + +Thu Aug 5 08:58:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * ser-go32.c: Define job_control variable. + +Thu Aug 5 15:56:13 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: z8k-coff is the same as z8k-sim + +Thu Aug 5 08:58:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * 29k-share/udi/udip2soc.c: Include sys/types.h before sys/file.h. + + * config/i386/tm-i386bsd.h (NUM_REGS): There are only 10, not 11. + + * inflow.c: Put all uses of F_GETFL and F_SETFL in #ifdef F_GETFL. + + * 29k-share/udi/udip2soc.c: Include fcntl.h not sys/fcntl.h. + +Wed Aug 4 18:32:12 1993 Fred Fish (fnf@cygnus.com) + + * inflow.c (pass_signal): Signal handlers take one int arg; + supply an unused one to make it type compatible as an arg to + signal(). + +Tue Aug 3 18:34:14 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/mips/tm-mips.h: Include bfd.h before coff/sym.h. + +Tue Aug 3 15:34:57 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (ALLCONFIG): Add config/i386/i386nw.mt, + config/m68k/delta68.mh, config/m68k/delta68.mt, + config/m68k/dpx2.mh, config/m68k/dpx2.mt, config/mips/riscos.mh, + config/mips/news-mips.mh. + * Makefile.in (ALLPARAM): Add config/i386/nm-symmetry.h, + config/i386/tm-i386nw.h, config/m68k/nm-delta68.h, + config/m68k/tm-delta68.h, config/m68k/xm-delta68.h, + config/m68k/nm-dpx2.h, config/m68k/tm-dpx2.h, + config/m68k/xm-dpx2.h, config/mips/xm-makeva.h. + * Makefile.in (ALLDEPFILES): Add dpx2-nat.c. + +Tue Aug 3 12:02:09 1993 Ian Lance Taylor (ian@cygnus.com) + + * mipsread.c: Updated for BFD ECOFF changes. Now gets the + swapping routines and external structure sizes via the + ecoff_backend information. No longer includes coff/mips.h. + +Tue Aug 3 10:58:04 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (SFILES): Add thread.c + +Tue Aug 3 10:21:58 1993 Doug Evans (dje@canuck.cygnus.com) + + * remote-sp64sim.c (simif_create_inferior): Add FIXME regarding + sim_set_args return code. + +Mon Aug 2 16:35:31 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (VERSION): bumped to 4.9.4. + + * remote-monitor.c: updated copyright. + (bug_ops, monitor_desc): now static. + (monitor_desc): in several places, check and/or set to NULL. + + * remote-hms.c (hms_files_info): Add the appropriate items where + missing in the printf call. + + * remote-bug.c: new file for m88k bug support. + + * config/m88k/m88k.mt (TDEPFILES): added remote-bug.o. + +Mon Aug 2 14:22:09 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * h8300-tdep.c: Use new variable h8300hmode. + +Mon Aug 2 12:06:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * valops.c (typecmp): If we are passing a non-reference to a function + which takes a reference, pass the address. + (value_arg_coerce): Don't use COERCE_ENUM; we don't want to dereference + references here. + + * thread.c (thread_switch): Define as static. + (add_thread): Cast return value from xmalloc. + + * gdbtypes.c (fill_in_vptr_fieldno): Call check_stub_type. + * gdbtypes.{c,h}: Improve comments on vptr_fieldno. + +Mon Aug 2 11:58:52 1993 Fred Fish (fnf@deneb.cygnus.com) + + * README: Elaborate on gdb C++ support and cfront support. + +Mon Aug 2 11:30:57 1993 Stu Grossman (grossman at cygnus.com) + + * i386lynx-nat.c, thread.c, thread.h: Update copyrights. + +Mon Aug 2 12:06:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (ALLDEPFILES): Add i386lynx-nat.c. + +Mon Aug 2 08:42:50 1993 Stu Grossman (grossman at cygnus.com) + + * gdbserver/remote-inflow.c (create_inferior): Fix comments, and + error msg. Setup seperate process group for child. + * (write_inferior_memory): Sleep for 1 second and retry on ptrace + failure. + +Sun Aug 1 22:58:18 1993 Stu Grossman (grossman at cygnus.com) + + * config/i386/i386lynx.mh (NATDEPFILES): Drop coredep (for now). + * config/i386/nm-i386bsd.h: Protect from multiple inclusion. + * config/i386/nm-i386lynx.h: Lotsa new host porting stuff. + * config/i386/tm-i386lynx.h: Define SAVED_PC_AFTER_CALL and + target_pid_to_str. + + * Makefile.in (CLIBS): Reorder to make Lynx ld happy. + * (HFILES): New file thread.h. + * (OBS): New file thread.c. + * configure.in: Host config for Lynx/386. + * fork-child.c (fork_inferior): Call init_thread_list(). + * infrun.c (resume): Add pid to invocation of target_resume(). + * (wait_for_inferior): Pay attention to pid from target_wait(). + Multi-threading code now uses this to determine what to do. + * inftarg.c (child_wait): Conditionalize based on CHILD_WAIT macro. + Use target_pid_to_str() macro throughout when printing pid. + * inferior.h (child_resume): Add pid to prototype. + * hppab-nat.c hppah-nat.c infptrace.c (child_resume): Pass in pid as + argument, instead of using inferior_pid. + * procfs.c (procfs_resume): Pass in pid as argument. Ignored for + now. Use target_pid_to_str() macro throughout for printing process id. + * remote-adapt.c (adapt_resume): Pass in pid as argument. + * remote-eb.c (eb_resume): Pass in pid as argument. + * remote-es.c (es1800_resume): Pass in pid as argument. + * remote-hms.c (hms_resume): Pass in pid as argument. + * remote-mips.c (mips_resume): Pass in pid as argument. + * remote-mm.c (mm_resume): Pass in pid as argument. + * remote-monitor.c (monitor_resume): Pass in pid as argument. + * remote-nindy.c (nindy_resume): Pass in pid as argument. + * remote-sa.sparc.c (remote_resume): Pass in pid as argument. + * remote-sim.c (rem_resume): Pass in pid as argument. + * remote-sp64sim.c (simif_resume): Pass in pid as argument. + * remote-st.c (st2000_resume): Pass in pid as argument. + * remote-udi.c (udi_resume): Pass in pid as argument. + * remote-vx.c (vx_resume): Pass in pid as argument. + * remote-z8k.c (rem_resume): Pass in pid as argument. + * remote.c (remote_resume): Pass in pid as argument. + * solib.c (solid_create_inferior_hook): Pass inferior_pid to + target_resume(). + * target.c (normal_pid_to_str): New routine to print out process + ID normally. + * target.h (struct target_ops): Add pid to prototype at + to_resume(). (target_resume): Add pid argument. + * (target_pid_to_str): Default definition for normal type pids. + * thread.h, thread.c: New modules for multi thread/process control. + +Sun Aug 1 13:02:42 1993 John Gilmore (gnu@cygnus.com) + + * README: Say that bug-gdb is also the place to send requests + for help with GDB. + +Sun Aug 1 09:42:13 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (make-proto-gdb-1): Use -f opt on rm of Makefile. + * h8500-tdep.c: Add parens around a few macro args. + +Fri Jul 30 15:43:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Remove items about unix-to-unix/rapp debugging (now we + have gdbserver), moving xm files to subdirectory, ptype yylval, + and file-local symbols. + + * gdbtypes.h: Improve comments about C++ methods. + +Fri Jul 30 14:16:32 1993 Fred Fish (fnf@deneb.cygnus.com) + + * c-exp.y: Add missing 5th arg for one call to lookup_symbol, cast + NULL in all other calls to correct pointer types. + +Fri Jul 30 15:43:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + From Jeffrey Law: + * tm-hppa.h (TARGET_WRITE_PC): Define. + * hppa-tdep.c (hppa_fix_call_dummy): If in a syscall, + then return the address of the dummy itself rather than + the address of $$dyncall. + (target_write_pc): New function to store a new PC. + +Fri Jul 30 12:51:27 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + and Jim Kingdon (kingdon@cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Always reparse breakpoint + conditions, they might contain symbol table references. + +Fri Jul 30 12:51:27 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (parse_symbol): Handle opaque struct definitions and + type naming for stTypedef symbols. + +Fri Jul 30 14:44:21 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * c-exp.y (yylex): Detect C++ nested types. + +Fri Jul 30 11:07:37 1993 Doug Evans (dje@canuck.cygnus.com) + + * sp64-tdep.c (sparc64_frame_chain, sparc64_frame_saved_pc): Deleted. + (dump_ccreg, sparc_print_register_hook): New fns. + * remote-sim.h: New file. + * remote-sp64sim.h (sim_*): External fns. (simif_*): Internal fns. + + * config/sparc/sp64.mt: New file. + * config/sparc/tm-sp64.h (FRAME_CHAIN, FRAME_SAVED_PC): Deleted. + (PRINT_REGISTER_HOOK): Call new fn sparc_print_register_hook. + +Fri Jul 30 10:15:01 1993 Fred Fish (fnf@deneb.cygnus.com) + + * Makefile.in (ALLCONFIG): Add config/i386/ptx.mh + +Fri Jul 30 08:58:01 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + From J. Law: + * infcmd.c (read_pc): Remove PA specific code. + * tm-hppa.h (TARGET_READ_PC): Define. + * hppa-tdep.c (target_read_pc): New function. + + * symtab.c (gdb_mangle_name): Deal with it if type lacks a name. + +Fri Jul 30 07:36:53 1993 Fred Fish (fnf@deneb.cygnus.com) + + * NEWS: Add note that DEC alpha support is host only, not native. + * README: Emphasize that C++ support works best with GNU C++ and + stabs debugging format. + * delta68-nat.c: Add missing FSF copyright. + +Fri Jul 30 08:58:01 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * paread.c (pa_symtab_read): Put file-local symbols in minimal symbols. + * hppa-tdep.c (frame_chain_valid): Check that our function has the + same address as _start, not that it must be the same symbol. + +Fri Jul 30 00:18:40 1993 Fred Fish (fnf@deneb.cygnus.com) + + * Makefile.in (ALLDEPFILES): Add delta68-nat.c + * Makefile.in (delta68-nat.o): Add dependency. + +Thu Jul 29 12:09:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * value.h (COERCE_ENUM): Use COERCE_REF to coerce refs; value_ind + was adequate in gdb 3.5 but not now. + + * valops.c (typecmp): An array in t2 matches a pointer in t1. + + * valops.c (typecmp): When comparing type1& to type2, compare + type1 and type2 as leniently as if we were comparing type1 to + type2. + + * cp-valprint.c (cplus_print_value): Don't dump core if the + baseclass doesn't have a name. + * values.c (vb_match): New function, which finds the virtual + base class pointer even if the types are nameless. + (baseclass_{addr,offset}): Use it. + + * hppa-tdep.c: Make "maintenance print unwind" command from old + "unwind" command. + + * remote-udi.c: Remove udi_timer, call to siginterrupt, and associated + obsolete junk which apparently had been copied from the + pre-serial.h remote.c, but which is no longer used. + +Thu Jul 29 12:36:20 1993 Fred Fish (fnf@deneb.cygnus.com) + + * Makefile.in (NONSRC): Need 29k-share/README, not + 29k-share/udi/README. + +Thu Jul 29 12:09:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * paread.c (pa_symfile_init): If error reading string table, don't + use errno in cases where it hasn't been set. + + * ser-unix.c (gdb_setpgid): Pass our pid, not 0, to setpgid. + + * remote-monitor.c (_initialize_monitor): Comment out use of + connect_command, since connect_command itself is commented out. + + * remote-monitor.c (generic_open): Parse arguments the same way + as remote.c. + + * hppa-tdep.c (pc_in_linker_stub): Fix unclosed comments. + +Wed Jul 28 13:19:34 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mips/xm-mips.h: Define HAVE_TERMIOS. + + * dbxread.c (record_minimal_symbol): Don't put gcc_compiled or + __gnu_compiled* symbols into the minimal symbols. + +Wed Jul 28 08:26:58 1993 Ian Lance Taylor (ian@cygnus.com) + + * remote-mips.c (_initialize_remote_mips): Added "timeout" and + "retransmit-timeout" variables to set mips_receive_wait and + mips_retransmit_wait, respectively. + +Wed Jul 28 03:58:58 1993 (pes@regent.e-technik.tu-muenchen.de) + + * symmisc.c (dump_msymbols): Handle new mst_file_* types. + +Tue Jul 27 12:07:38 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-udi.c: Remove old comment about download not implemented. + + * serial.h, ser-{unix,go32,tcp}.c: Add flush_input and send_break. + * nindy-share/*, remote-nindy.c: Extensive hacking to make it + conform to GDB conventions like using memcpy not bcopy, serial.h, + etc. This is to make it host on Solaris, AIX, etc. + * Makefile.in: Reflect removed nindy-share files. + * config/i960/nindy960.mt (TDEPFILES): Remove ttybreak.o. + + * stack.c (print_frame_info): Revise comment about `pathological' + case (there was a wrong FIXME about text labels; also asm() can + trigger this as well as versions of ar which truncate .o names). + + * buildsym.c (start_subfile): If a .c file includes a .C file, set + the language of both of them to C++. + + * config/sparc/xm-sun4os4.h: Define MEM_FNS_DECLARED and include + . + Include rather than declaring malloc functions ourself. + + * ser-unix.c (set_tty_state): Don't ignore errors setting process + group. + * inflow.c (terminal_inferior): If attach_flag set, ignore errors + from set_tty_state. + + * fork-child.c (fork_inferior): Only quote exec file if needed. + + * mipsread.c (parse_symbol): Remove 21 Jul 93 change with + stTypedef inside an stBlock. + +Tue Jul 27 12:36:49 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * breakpoint.c (breakpoint_1): Walk the breakpoint chain to decide if + we have breakpoints or watchpoints as we might have to ignore internal + breakpoints. + + Fix gdb core dumps after `file newfile' commands. + * symtab.h, symfile.c (clear_symtab_users): New routine which + unconditionally clears symtab users. clear_symtab_users_once + commented out as it was a noop anyway. + * objfiles.c (free_objfile): Don't call clear_symtab_users_once. + * objfiles.c (free_all_objfiles), symfile.c (new_symfile_objfile), + xcoffexec.c (exec_close): Call clear_symtab_users if necessary. + * symfile.c (syms_from_objfile): Install cleanups for errors during + symbol reading. + * coffread.c, dbxread.c, mipsread.c, xcoffread.c (*_symfile_read): + Lint cleanup code, call do_cleanups explicitly. + * symfile.c (symbol_file_add): Call new_symfile_objfile and + reinit_frame_cache _after_ the new symbols are read in. + +Tue Jul 27 01:57:01 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (parse_type): Do not set tag name for compiler + generated fake tag names. + +Mon Jul 26 17:31:49 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * config/m88k/m88k.mt (TDEPFILES): add exec.o. + +Mon Jul 26 13:17:36 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hppa-tdep.c: Remove all uses of use_unwind and `set use_unwind' + command. Now we use unwind info by default if we can find it. + + * config/sparc: Move VARIABLES_INSIDE_BLOCK and SUN_FIXED_LBRAC_BUG + to tm-sparc.h so they are shared between Solaris and SunOS4. + * dbxread.c (process_one_symbol): Deal with SunOS4 acc N_STSYM and + N_GSYM functions. + + * config/pa/tm-hppa.h (REGISTER_NAMES): Use "fr" rather than "fp" + for floating point registers. + + * mipsread.c (parse_symbol): Put stStaticProc symbols in minimal + symbols as mst_file_text. + + * hppa-tdep.c (pc_in_linker_stub): Return 0 if can't read memory. + + * stabsread.c (rs6000_builtin_type): Make logical types be + TYPE_CODE_BOOL. + +Sun Jul 25 23:41:48 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.{c,h} (struct breakpoint): Replace symtab field with + source_file field. + +Fri Jul 23 09:57:25 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * remote.c: Don't error() on errors xferring memory. + * target.h: Clean up comments about *xfer_memory. + + * exec.c, corelow.c (target_ops struct): Don't allow + {insert,remove}_breakpoints to be defaulted to + memory_{insert_remove}_breakpoint. + + * demangle.c: Make it so `help set dem' tells you how to get the + list of demangling styles. + +Thu Jul 22 15:41:09 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * Makefile.in: Use REMOTE_O macro not remote.o. + * config/i960/{nindy960,vxworks960}: Don't use remote.o. + +Thu Jul 22 12:43:25 1993 Ian Lance Taylor (ian@cygnus.com) + + * coredep.c: If NEED_SYS_CORE_H defined, include + (can't include it in nm-*.h file because it causes conflicts with + a.out symbol definitions). + * hp300ux-nat.c (fetch_core_registers): Commented out; obsolete. + * config/m68k/hp300hpux.mh (NATDEPFILES): Added coredep.o and + corelow.o. + * config/m68k/nm-hp300hpux.h (NEED_SYS_CORE_H): Defined. + (REGISTER_U_ADDR): Defined. + * config/m68k/xm-hp300hpux.h (HAVE_TERMIOS): Define instead of + HAVE_TERMIO. + * config/pa/xm-hppah.h: Likewise. + +Wed Jul 21 11:37:30 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * mipsread.c (parse_symbol): when stTypedef and friends occur within + an stBlock, skip over the fields of the inner one. + + * mips-tdep.c (init_extra_frame_info): If in lenient prologue, call + heuristic_proc_desc rather than just assuming registers not saved. + + * Makefile.in (regex.o): Add dependency. + + * hppa{b,h}-nat.c: Warning, not error, if can't access registers. + + * config/pa/hppa{b,h}.h: Define ATTACH_DETACH. + +Wed Jul 21 03:07:30 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/mips/xm-makeva.h: New file implements va_list alignment + restrictions for mips hosts. + * config/mips/{xm-irix3.h, xm-mips.h, xm-news-mips.h, xm-riscos.h}: + Use it. + +Wed Jul 21 00:11:05 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips-tdep.c (init_extra_frame_info): Do not check for + mips_in_lenient_prologue if it is a dummy frame. + * mipsread.c (fixup_sigtramp): Initialize pdr.adr, it is used by + mips_in_lenient_prologue. + +Tue Jul 20 14:14:59 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (read_hp_array_type): Handle "char foo[]". + +Tue Jul 20 12:53:47 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * mips-tdep.c (heuristic_proc_start): First time we print the + warning, elaborate. + (_initialize_mips_tdep): Improve docstring for `set heur'. + + * config/rs6000/tm-rs6000.h: Remove call to insert_step_breakpoint. + + * symtab.c (find_line_symtab): New function, to deal with multiple + symtabs with the same name. + (find_line_pc{,_range}): Use it. + (find_pc_symtab): Add comment about overlapping symtabs. + +Mon Jul 19 21:29:14 1993 Fred Fish (fnf@deneb.cygnus.com) + + * Makefile.in (SFILES): Add nlmread.c. + * Makefile.in (OBS): Add nlmread.o. + * Makefile.in (nlmread.o): Add new target. + * configure.in (i[34]86-*-netware): New configuration. + * nlmread.c, config/i386/{i386nw.mt, tm-i386nw.h}: New files + for NLM/NetWare support. + +Mon Jul 19 11:48:57 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * symtab.h (enum minimal_symbol_type): Add mst_file_*. + * partial-stab.h [DBXREAD_ONLY]: Record statics in miminal symbols. + * dbxread.c (record_minimal_symbol): Deal with statics. + * minsyms.c (lookup_minimal_symbol): Prefer externals to statics. + + * config/i386/xm-i386sco.h: Define HAVE_TERMIOS. + + * printcmd.c, config/pa/xm-pa.h, config/alpha/xm-alpha.h: Make it so + arg_bytes field of makeva_list is always aligned. + * config/pa/xm-pa.h: Make arglist_address a char *. + + * ser-unix.c: Don't try to use job control with termio. + +Sun Jul 18 23:11:28 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + and Jim Kingdon (kingdon@cygnus.com) + + Make breakpoint_re_set_one work with overloaded member functions, + `b 123' and `b foo' if foo is a static function. + * symtab.c (decode_line_1, decode_line_2): New argument `canonical' + to return canonical line specs if requested by the caller. + * breakpoint.c, source.c, symtab.c, symtab.h: Change prototypes and + callers accordingly. + * symtab.c (build_canonical_line_spec): New helper function which + constructs the canonical line spec. + * breakpoint.c (break_command_1): Use canonical line spec instead + of command string as addr_string if necessary. + * source.c (line_info): Fix storage leak. + +Sun Jul 18 15:22:45 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * infptrace.c: Split out define of PT_KILL; Sequent defines PT_KILL + but not the others. + * symm-tdep.c: Remove exec_file_command. + [_SEQUENT_] (ptx_coff_regno_to_gdb, register_addr): New functions. + A few miscellaneous cleanups. + * symm-nat.c: Renamed from symm-xdep.c. + * All symmetry dependent files: Many changes. + + * mips-tdep.c (mips_skip_prologue): New argument lenient. + Use read_memory_nobpt. + (is_delayed, mips_in_lenient_prologue): New functions. + (init_extra_frame_info): If in the prologue, don't use saved registers. + * config/mips/tm-mips.h: Declare mips_skip_prologue. + + * partial-stab.h (N_SO): Add the text offset to valu before, not after, + passing it to END_PSYMTAB. + +Fri Jul 16 18:48:52 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * symtab.c (find_pc_symtab): Call warning, not printf directly. + + * solib.c (solib_add): Use x{re,m}alloc, not {re,m}alloc. + +Fri Jul 16 09:56:42 1993 Ian Lance Taylor (ian@cygnus.com) + + * mipsread.c: No longer need to undefine ZMAGIC. + +Thu Jul 15 18:03:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * m88k-pinsn.c: Moved code into opcodes/m88k-dis.c. + (print_insn): Now just calls print_insn_m88k. + +Thu Jul 15 14:54:05 1993 Doug Evans (dje@canuck.cygnus.com) + + * h8300-tdep.c (examine_prologue): Make prototype match definition. + +Thu Jul 15 08:34:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * NEWS: Mention that remote.c now has a `load' operation. + + * hppa-tdep.c (pc_in_linker_stub): New function. + (find_proc_framesize): Return 0 for linker stubs. + (rp_saved): Tell the caller where rp is saved. + (frame_chain_valid): Return 1 for linker stubs. + (frame_saved_pc): Use return value from rp_saved. + + * stack.c (print_frame_info): When checking PC_IN_CALL_DUMMY, + pass the sp relative to the frame in question, not the sp in the + innermost frame. + +Wed Jul 14 17:37:03 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * mipsread.c (parse_procedure): Take as argument the symtab to look + the name up in. Look it up with mylookup_symbol, not lookup_symbol. + (psymtab_to_symtab_1): For stabs, pass the symtab to parse_procedure. + + * mipsread.c (mylookup_symbol): Use strcmp, not STREQ, as we have + already checked the first characters. + + Changes from Jeffrey Law: + * printcmd.c (makeva_list): Use MAKEVA_EXTRA_INFO to define + machine dependent fields in the makeva_list structure. + (makeva_size): Allocate extra space to handle gaps made by + alignment restrictions. + * config/pa/xm-pa.h (MAKEVA_EXTRA_INFO): Define. + (MAKEVA_START): Initialize arglist_address field. + (MAKEVA_ARG): Always store arguments on natural alignment + boundaries. Set arglist_address to the address right after + the args. + (MAKEVA_END): Simply return the value stored in arglist_address. + +Wed Jul 14 13:51:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * ch-valprint.c (chill_val_print, case TYPE_CODE_STRING): Print + address, not addr. + + * hppah-nat.c (store_inferior_registers): Don't print i in cases + where we aren't using it. + + * a29k-tdep.c (get_saved_register): Fix typo. + +Wed Jul 14 09:45:52 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: Recognize h8300h (variant of h8300). + +Wed Jul 14 09:45:52 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: Recognize sparc64-*-*. + +Tue Jul 13 14:03:48 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (define_symbol): Make the caddr_t hack apply to `function + returning foo' as well as `pointer to foo'. + + * remote.c [REMOTE_BREAKPOINT]: Use for breakpoint insn if defined. + * config/m68k/tm-m68k.h: Define it. + * mem-break.c, breakpoint.c: Improve comments. + +Tue Jul 13 13:35:31 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) + + * config/m68k/tm-dpx2.h: Replace "tm-68k.h" with "m68k/tm-m68k.h". + * config/m68k/xm-dpx2.h: Define HAVE_TERMIOS not HAVE_TERMIO. + +Tue Jul 13 11:50:38 1993 Doug Evans (dje@canuck.cygnus.com) + + * gdbcore.h (read_memory_integer, read_memory_unsigned_integer): + Make prototype match definition. + +Tue Jul 13 11:15:15 1993 Fred Fish (fnf@cygnus.com) + + * elfread.c: Remove notice about file still being under + construction. + * Makefile.in (ultra3-xdep.o, umax-xdep.o): Add missing ')'. + +Mon Jul 12 17:46:35 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * a29k-tdep.c (read_register_stack): Make val static. + +Mon Jul 12 14:10:48 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/h8300/tm-h8300.h (REGISTER_CONVERTIBLE): Change value to 0. + (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Move def'n to + usual spot. + +Mon Jul 12 11:29:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * c-valprint.c (c_val_print): Fix thinko with unspecified length + arrays. + + * hppa-tdep.c (find_proc_framesize): If there is a frame pointer, + use it. + +Sun Jul 11 19:35:05 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.c (decode_line_1): Use end of block to figure out whether + val.end is in the same function, not minimal symbols. + + * source.c (line_info): Add a few more wrap_here's. + + * i386-tdep.c (i386_follow_jump): Do byteswapping where needed and + don't make assumptions about sizes of host data types. + + * blockframe.c, symtab.h (find_pc_partial_function): New arg endaddr. + * infrun.c, breakpoint.c, printcmd.c: Change callers. + * printcmd.c (containing_function_bounds): Remove. + * printcmd.c (disassemble_command): Use find_pc_partial_function, + not containing_function_bounds. + * infcmd.c (step_1): Use find_pc_partial_function rather than + trying to roll our own. Move check for a pc between SIGTRAMP_START and + SIGTRAMP_END in find_pc_partial_function, not step_1. + + * sparc-tdep.c (sparc_frame_chain, frame_saved_pc): + Keep unswapped value in array of char, not REGISTER_TYPE. + Use REGISTER_RAW_SIZE not sizeof (REGISTER_TYPE). + (sparc_extract_struct_value_address): Use TARGET_PTR_BIT not + sizeof (CORE_ADDR). + +Thu Jul 1 15:50:05 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) + + * configure.in (m68*-bull-sysv*): added support for Bull dpx2. + * config/m68k/{t,x,n}m-dpx2.h, dpx2-nat.c: New files. + * config/m68k/dpx2.m{h,t}: New files. + +Thu Jul 1 15:46:10 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Run through gnu-indent. + +Sun Jul 11 12:32:08 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/sparc/tm-sparc.h (PRINT_REGISTER_HOOK): Fix typo, add + more parens around macro arg. + +Sat Jul 10 09:54:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c: Remove step_resume_{duplicate,shadow}. Replace + step_resume_break_address with step_resume_breakpoint (now local + to wait_for_inferior). + ({insert,remove}_step_breakpoint): Remove. + (wait_for_inferior): Set step resume break with + set_momentary_breakpoint. Test hitting it with bpstat_stop_status + and bpstat_what (stop_step_resume_break removed). + * breakpoint.{h,c}, infrun.c: Return value from bpstat_what now struct + which includes previous return value as main_action, and a step_resume + bit. + * breakpoint.c (delete_breakpoint): If breakpoint was inserted, and + there is another breakpoint there, insert it. + * infrun.c (wait_for_inferior): Rearrange the spaghetti a bit. Use + a few more gotos. + Various: Clean up and add comments. + + * infrun.c [TDESC]: Remove remaining tdesc code (see ChangeLog + for Wed Nov 13 16:45:13 1991). + +Fri Jul 9 12:36:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * values.c, value.h (modify_field), callers: Make fieldval a LONGEST. + + * h8300-tdep.c (NEXT_PROLOGUE_INSN): Make pword1 an INSN_WORD * + not short *. + + * findvar.c, defs.h + ({extract,store}_{signed_integer,unsigned_integer,address}): + New routines to replace SWAP_TARGET_AND_HOST. + All over: All uses of SWAP_TARGET_AND_HOST on integers replaced. + + * config/sparc/tm-sparc.h: Add comment suggesting that removing + ins and locals from the registers array might clean things up. + + * utils.c: Clean up comments about wrap buffer and wrap_here. + * printcmd.c (printf_command): Call wrap_here before vprintf. + + * mipsread.c (cross_ref): Set the name to unknown for "struct *" case. + Patch from ptf@delcam.co.uk (Paul Flinders). + + * a29k-tdep.c, findvar.c (get_saved_register): Fix byteswapping sins. + +Fri Jul 9 09:47:02 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * defs.h, remote-eb.c (TM_FILE_OVERRIDE): Remove it. + * mips-tdep.c (init_extra_frame_info): Set proper fci->frame if pc + is at the start of the dummy code. + +Thu Jul 8 14:48:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * sparc-tdep.c (sparc_push_dummy_frame): Skip all the do_save_insn + stuff, just write the sp and fp. + (sparc_pop_frame): Skip the do_restore_insn; we already restore + the sp with the other out registers. + + * hppa-tdep.c (hppa_push_arguments): Allocate enough space for + arguments. + + * hppa-tdep.c: Change _initialize_hppab_tdep to _initialize_hppa_tdep. + +Thu Jul 8 14:47:00 1993 Doug Evans (dje@canuck.cygnus.com) + + * sparc-tdep.c (sparc_frame_chain): Handle sizeof (CORE_ADDR) + != sizeof (REGISTER_TYPE). + (frame_saved_pc): Ditto. + +Thu Jul 8 08:22:05 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/h8300/tm-h8300.h: (REGISTER_TYPES): Adjust for h8/300h. + (REGISTER_RAW_SIZE): Ditto. + (REGISTER_VIRTUAL_TYPE): Use builtin_type_unsigned_long for regs + on the h8/300h (ints may still be 16 bits). + (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE, + EXTRACT_STRUCT_VALUE_ADDRESS): Add FIXME's for h8/300h. Some + thought needed here. + + * h8300-tdep.c (print_insn): Call print_insn_h8300h if h8/300h. + (examine_prologue): reg_save_depth is 4 if h8/300h. + + * findvar.c (read_register): Provide some support for 64 bit regs. + (write_register): Ditto. + +Wed Jul 7 14:30:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mips/nm-riscos.h: machine/machparam.h is always the right + place to look for BSD43_NBPG, not machine/vmparam.h + + * infcmd.c (run_stack_dummy): New argument name. + Change error message in (another) attempt to make it comprehensible. + * valops.c (call_function_by_hand): Pass name to run_stack_dummy. + * symtab.h: Declare demangle and asm_demangle since macros use them. + + * eval.c (evaluate_subexp): Add comment about calling a member + function of a variable in a register. + + * expression.h: Clean up comment about string in STRUCT_STRUCT etc. + + * config/{rs6000/tm-rs6000.h,sparc/tm-sparc.h,pyr/tm-pyr.h}, + inferior.h (PC_IN_CALL_DUMMY) [ON_STACK]: Add comments about stack + frame tops and bottoms. + + * frame.h, blockframe.c, stack.c, a29k-tdep.c, + config/gould/tmp-{pn,np1}.h, + config/{sparc/tm-sparc.h,pyr/tm-pyr.h,vax/tm-vax.h}: Remove field + next_frame from struct frame_info. It has no purpose beyond + ->next->frame and is an artifact from GDB 2.8. + +Tue Jul 6 11:51:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Remove gdb before creating a new one. + Update init.c atomically. + + * Makefile.in (ALLPARAM): Add config/{alpha/xm-alpha.h,pa/xm-pa.h}. + (ALLCONFIG): Add config/alpha/alpha-osf1.mh. + + * infcmd.c (_initialize_infcmd): In docstring for "continue", + describe argument as setting ignore count. + +Sun Jul 4 15:04:47 1993 Doug Evans (dje@cygnus.com) + + * h8300-tdep.c (examine_prologue): Fix call to + read_memory_unsigned_integer. + +Fri Jul 2 18:22:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mips/{x,n}m-irix{3,4}.h: Make some definitions here + rather than including xm-bigmips.h. + + * eval.c (evaluate_subexp): Improve error messages for OP_TYPE and + default cases. + + * Makefile.in (distclean): Remove y.tab.h. + +Fri Jul 2 14:55:48 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * exec.c (exec_file_command): Remove Mar 28 hack as BFD handles + file updates properly now. + * mipsread.c (mips_coff_new_init): Force reevaluation of sigtramp + addresses if switching to a new symbol file. + * dbxread.c (process_one_symbol): Avoid dereferencing NULL + symbols that might be returned from define_symbol. + +Fri Jul 2 13:33:12 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + New target macros for getting at the pc, sp and fp. + * infcmd.c (read_pc, write_pc): Modify to use new macros. + (read_sp, write_sp, read_fp, write_fp): New functions. + * blockframe.c (reinit_frame_cache, get_prev_frame_info): + Use new functions. + * breakpoint.c (bpstat_alloc): ditto. + * infrun.c (wait_for_inferior): ditto. + * stack.c (print_frame_info): ditto. + * valops (call_function_by_hand): ditto. + * corelow.c (core_open): ditto. + * h8500-tdep.c: (target_read_sp, target_write_sp, target_read_pc, + target_write_pc, target_read_fp, target_write_fp): New functions. + * inferior.h (read_sp, write_sp, read_fp, write_fp): Prototypes. + + * config/alpha/xm-alpha.h: Add MAKEVA_END. + * config/h8500/tm-h8500.h: Define new macros. + +Fri Jul 2 13:51:04 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (mipos-*-riscos*): New host and target; use riscos. + * config/mips/nm-riscos.h: If BSD43_NBPG is not defined by + vmparam.h, include machparam.h. + (KERNEL_U_ADDR): Define to be BSD43_UADDR. + +Fri Jul 2 13:39:48 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * c-exp.y (yylex): Give error if unmatched single quote. + + * configure.in, config/m68k/*delta68*, delta68-nat.c: New port. + + * Remove unused STACK_END_ADDR in the following files (in other + files it is used for something): tm-mips.h, tm-sun2.h, tm-news.h, + tm-a29k, tm-i386v.h, tm-hppa.h, tm-nindy960.h, tm-amix.h, + tm-hp300hpux.h, tm-isi.h. + +Thu Jul 1 09:51:27 1993 Jim Kingdon (kingdon@cygnus.com) + + * config/mips/nm-riscos.h: Define NBPG and UPAGES. + config/mips/xm-riscos.h: Include . + + * ser-unix.c (hardwire_noflush_set_tty_state): Use an assignment, + not an initializer, to copy the structure. + + * gdbtypes.h (struct type): Add field tag_name. + * gdbtypes.c (type_name_no_tag), c-typeprint.c (c_type_print_base): + Use it. + * {coff,dwarf,mips,stabs}read.c: Set it. + + * xm-sysv4.h: Undefine HAVE_TERMIO. + + * config/mips/nm-riscos.h: Remove unmatched #endif. + Define FETCH_INFERIOR_REGISTERS. + * config/mips/riscos.mh: Don't include coredep.o; mips-nat.o is enough. + Fix misspelling of NAT_FILE. + * mips-nat.c (fetch_core_registers): If KERNEL_U_ADDR is not defined, + we can still process "modern" core files. + + * ser-unix.c (hardwire_print_tty_state) [HAVE_TERMIOS]: Don't + print c_line. + (_initialize_ser_hardwire): Just check whether _POSIX_JOB_CONTROL + is defined; don't care what it is defined to. + +Wed Jun 30 20:06:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/vax/xm-vaxult2.h: Define FD_SET and FD_ZERO. + +Tue Jun 29 11:02:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * inftarg.c: Remove unused include of terminal.h. + * signals.h: Don't undefine signals anymore. + * main.c: Use job_control from serial.h. + * fork-child.c (fork_inferior): Use gdb_setpgid. + * serial.h, ser-unix.c, ser-go32.c: Provide gdb_setpgid. + * utils.c (quit): Use current_target->to_terminal_ours to figure + out whether we care about lack of job control, rather than __GO32__. + * utils.c: Include serial.h not terminal.h + (quit): Use job_control not TIOCGPGRP. + * terminal.h: Don't undefine TIOCGPGRP. + * serial.h, ser-unix.c, ser-go32.c, ser-tcp.c: Add SERIAL_FLUSH_OUTPUT. + * utils.c (quit): Use it. + * serial.h: Add SERIAL_UN_FDOPEN. + * utils.c (quit): Use it. + * ser-unix.c: Add process group to ttystate. + [HAVE_SGTTY]: Add tchars, ltchars, and lmode to ttystate. + * inflow.c: Include serial.h not terminal.h. + Use serial.h stuff to replace most of the maze of #ifdef's. + * inflow.c, main.c, inferior.h: make gdb_has_a_terminal a function. + * serial.h: Document SERIAL_SET_TTY_STATE as being immediate. + * ser-unix.c: Use TIOCSETN not TIOCSETP so it is true. + * serial.h, ser-unix.c, ser-go32.c, ser-tcp.c: + Add SERIAL_PRINT_TTY_STATE, SERIAL_NOFLUSH_SET_TTY_STATE, and + SERIAL_SET_PROCESS_GROUP. + * inflow.c: Use them. + * config/xm-svr4.h, config/rs6000/xm-rs6000.h, config/sparc/sun4os4.h: + Define HAVE_TERMIOS. + * Various: Remove all use of TIOC*_BROKEN. + +Wed Jun 30 12:20:51 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/m68k/tm-sun3.h (BELIEVE_PCC_PROMOTION_TYPE): Define. + +Tue Jun 29 13:44:41 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * target.h (target_detach): Turn macro into function. + * target.c (target_detach): Define it, do deferred register stores + before calling the real target function. + +Tue Jun 29 13:15:42 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + and Jim Kingdon (kingdon@cygnus.com) + + * symtab.h (BLOCK_SHOULD_SORT): Do not sort blocks corresponding to + a function to avoid printing of function arguments in wrong order + due to sorting. + * symfile.c (compare_symbols): Remove code for sorting arguments + as blocks containing arguments are no longer sorted. + * symtab.c (lookup_block_symbol): Update comment accordingly. + +Tue Jun 29 11:02:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/pa/tm-hppa.h: Remove unused ARGS_GROW_DOC. + (REG_STRUCT_HAS_ADDR): Add comment. + + * infrun.c (wait_for_inferior): Use find_pc_line not find_pc_symtab + to check whether there is line number information. + +Tue Jun 29 08:29:17 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * remote-udi.c: Fix docstring so that it compiles. + + * remote-mips.c, remote-nindy.c: move bfd.h before symfile.h + (for file_ptr). + +Tue Jun 29 09:11:27 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dbxread.c (process_one_symbol): If we find a LOC_BLOCK where we + don't expect it, change it to LOC_STATIC so at least we don't coredump. + + * c-typeprint.c (c_type_print_base): Don't error() on invalid type. + + * symtab.h: Add comments about line numbers. + * source.c (identify_source_line): Fix off by one bug with line. + +Mon Jun 28 19:00:21 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Do not include libhppax. Instead include libhppa.h + and hpux-symtab.h. Misc indention fixes. + (find_unwind_entry): Add PARAM prototype. + (read_hpux_symtab): More fixes for names and sizes of structs, + unions, enums, typedefs, and tagdefs. + (read_hp_enum_type, read_hp_struct_type): Likewise. + (read_hp_set_type, read_hp_subrange_type): Likewise. + (hp_type_lookup, process_one_debug_symbol): Likewise. + (process_one_debug_symbol): Search forward from the K_FUNCTION for + the first K_BEGIN when setting the line number associated with a + function. Avoid unnecessary calls to savestring. + (hp_alloc_type): Initialize TYPE_CPLUS_SPECIFIC here. Remove + most cases where we set it elsewhere. + (hppa_sym_fns): Use "hppa" instead of hppax since hpread.c and + paread.c use the same BFD backend now. All references changed. + (hpux_symfile_init): Allocate space to hold the debugging section + contents on the symbol obstack. + +Mon Jun 28 10:09:08 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (makeva*): New interface, for making a va_list. + (printf_command): Use it. + * config/m88k/xm-delta88.h: Remove VPRINTF define, not needed. + * config/pa/xm-pa.h: New file. + * config/pa/xm-hppa{b,h}.h: Include it. + + * xcoffread.c: Remove obsolete NO_TYPEDEFS comment. + +Sun Jun 27 08:54:55 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * valprint.c (val_print_type_code_int): Fix off by one error with + eliminating leading zeroes for large little endian integers. + +Sun Jun 27 08:58:56 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mips/riscos.mh (CC): Use -systype sysv. + + * ser-unix.c: Move #include of to HAVE_SGTTY section. + + * Makefile.in (ALLPARAM): Add config/mips/{x,n}-{news-mips,riscos}.h. + +Fri Jun 25 11:22:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m68k/tm-m68k.h: Remove obsolete comment about duplicating + CALL_DUMMY between different 68k machines. + +Fri Jun 25 17:02:45 1993 Stu Grossman (grossman at cygnus.com) + + * gdbserver/Makefile.in: Add dependancies on server.h. + * gdbserver/remote-gutils.c: Remove lots of unused functions and + variables. + * gdbserver/remote-inflow.c: Remove lots of unused variables and + #includes. Also, use PTRACE_* symbols instead of constants. + (mywait): Surround calls to wait() with enable/disable_async_io() + so that we can be interrupted from GDB while waiting for the + child. Also, handle child exit more gracefully. + * gdbserver/remote-server.c: Remove lots of unused variables. + Move all extern defs into server.h. Redo main loop so that + failure from getpkt() causes communications to be re-established. + Fix 'k' command so that it restarts the child. + * gdbserver/remote-utils.c: Remove lots of unloved vars and + subrs. Move many extern decls into server.h. (remote_open): For + tcp, seperate usage of proto fd from connected fd. Close proto + fd after getting connection. (putpkt/getpkt): Pay attention to + errors when reading/writing. Report these to the caller. New + routines input_interrupt/enable_async_io/disable_async_io to make + it possible to get an I/O interrupt when data arrives from the + comm link. + * serial.h: New file to contain common defs for all remote files. + +Fri Jun 25 17:02:45 1993 Stu Grossman (grossman at cygnus.com) + + * remote.c: Add arg names to prototypes, in a modest effort at + clarification. Also add prototypes for some new functions. + * (remote_wait): Better error reporting for 'T' responses. + * ser-go32.c (strncasecmp): Make str1 & str2 be const. + * (dos_async_init): Make usage message reflect requested port #. + * ser-tcp.c (tcp_open): Terminate hostname properly to prevent + random hostname lookup failures. Add nicer message for unknown + host error. (wait_for): Wake up in case of exceptions. Also, + restart select() if we got EINTR. + * ser-unix.c (wait_for): Restart select() if we got EINTR. + * serial.c: (serial_close): Clean up code. + +Fri Jun 25 11:22:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m68k/tm-m68k.h: Remove obsolete comment about duplicating + CALL_DUMMY between different 68k machines. + +Fri Jun 25 11:22:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (*.tab.c): Use ./c-exp.tab.c not just c-exp.tab.c. + Make comment explaining this comprehensible. + (TAGFILES): Include ALLDEPFILES. + (ALLDEPFILES): udi2soc.c and udr.c are in 29k-share/udi, not + 29k-share/udi/udi. + (update-alldeps): Remove; obsolete. + + * remote.c: Move comments regarding packets to top of file with the + rest of the protocol comments. + Fix incorrect description of 'T' response. + + * README (Reporting Bugs): Refer people to the GDB manual. + + * c-valprint.c (c_val_print): Handle TYPE_CODE_BOOLEAN. + * stabsread.c: Type -16 is 4 bytes. + + * remote-udi.c: Improve docstring. + +Fri Jun 25 11:16:31 1993 Fred Fish (fnf@cygnus.com) + + * elfread.c (elf_symfile_read): Call bfd_elf_find_section, not + bfd_elf32_find_section, to track bfd changes. + +Fri Jun 25 11:22:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mips/riscos.mh (REGEX{,1}, MUNCH_DEFINE, MH_CFLAGS): Define. + * config/mips/xm-riscos.h: Define USG. + +Thu Jun 24 14:52:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * main.c (filename_completer): Don't complete to files ending in ~. + + * NEWS: Mention filename completion and "info line" enhancements. + + * main.c (symbol_completion_function): On "info t foo", return NULL, + don't error(). + + * main.c (symbol_completion_function): Don't use readline word + breaking. Use new calling convention for c->completer and + complete_on_cmdlist. + * command.h (struct command): Change arguments; now the text passed + to completer does not have any word breaking done. New arg word. + * symtab.{c,h} (make_symbol_completion_list): Do word breaking. Take + word argument. + * {main.c,gdbcmd.h} ({filename,noop}_completer): Take word argument. + * command.{c,h} (complete_on_cmdlist): Take word argument. + + * command.c (lookup_cmd_1): Doc fix. + +Thu Jun 24 13:26:04 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (OP_INCLUDE): define. + (OPCODE_CFLAGS): use OP_INCLUDE. + + * config/i386/ncr3000.mh, config/i386/i386v4.mh, + config/i386/i386sol2.mh, config/m68k/hp300hpux.mh, + config/m68k/amix.mh, config/mips/irix[34].mh, + config/m88k/delta88.mh, config/sparc/sun4sol2.mh (ALLOCA, + ALLOCA1): macros removed. + + * config/mips/decstation.mh, config/rs6000/rs6000.mh + (MMALLOC_LIB): renamed to MMALLOC. + +Wed Jun 23 00:25:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * partial-stab.h: Consolidate case statements for N_LSYM and N_FUN. + * dbxread.c: Change comment regarding acc. + +Wed Jun 23 16:33:36 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Document a few functions, misc cleanups. Update + copyright to reflect the first "release" of this file. + (struct hpux_symfile_info): Delete unneeded fields. Keep pointers + to the contents of the debug sections rather than offsets within + the file itself. Corresponding changes to the accessor macros. + (sl_symbol_size, slt_symbuf): Delete unneeded global variables. + (slt_symbuf_start, slt_symbuf_end, lntt_symbuf): Likewise. + (lntt_symbuf_start, lntt_symbuf_end, gntt_symbuf): Likewise. + (gntt_symbuf_start, gntt_symbuf_end): Likewise. + (fill_slt_symbuf, fill_lntt_symbuf): Delete unneeded functions. + (fill_gntt_symbuf): Likewise. + (get_lntt, get_gntt, get_slt): Simplify. + (hpux_symfile_init): Read and store the contents of the debugging + sections. Do error checking on memory allocation and BFD calls. + (read_hpux_symtab): Delete KERNELDEBUG crud. Ignore debug symbols + which are not needed for building partial symbol tables. Handle + K_CONST, K_TYPEDEF, and K_TAGDEF just like K_SVAR and K_DVAR. + (read_ofile_symtab): Delete useless processing_gcc_compilation stuff. + (read_hp_struct_type): Initialize TYPE_CPLUS_SPECIFIC. + (read_hp_set_type, read_hp_array_type): Likewise. + (read_hp_subrange_type, hp_type_lookup): Likewise. + +Wed Jun 23 15:04:54 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + Makefile overhaul dropping autodepend features. + * Makefile.in: many comment changes. forced consistent use of $() + for makefile variables references. dropped leading ./ in file + references. Drop $(srcdir)/ prefix on all dependencies. + Inserted contents of alldeps.mak and depend. + (INCLUDE_CFLAGS): defined as new macro for getting libiberty's + include directory into the compilation line. + (GDB_CFLAGS): new macro to take up the semantic previously held + by INCLUDE_CFLAGS. + (LIBIBERTY): dropped ancient subdir macro. I last removed this + macro in feb of '92. How does it keep coming back? + (MMALLOC_LIB): renamed to MMALLOC. + (BFD_SRC_DIR): renamed to BFD_SRC. + (BFD_OBJ_DIR): renamed to BFD_DIR. + (BFD_LIB): renamed to BFD. + (BFD_INCLUDES): renamed to BFD_CFLAGS. + (READLINE_DIR): now represents object directory. + (RL_LIB): renamed to READLINE. + (READLINE_SRC, READLINE_CFLAGS, OPCODES, OPCODES_CFLAGS): new + macros. + (INTERNAL_CFLAGS): added GDB_CFLAGS, OPCODES_CFLAGS, + READLINE_CFLAGS, BFD_CFLAGS. Dropped USER_CFLAGS. + (LDFLAGS): removed default assignment. + (TEXIDIR, INCLUDE_DEP, MMALLOC_DIR, MMALLOC_DEP, BFD_DEP, + READLINE_DEP, LIBIBERTY_DIR, TESTS, depend, STAGESTUFF): unused, so removed. + (ALLOCA1, ALLOCA): removed all references. alloca is now in + libiberty. + (VERSION): unilaterally and arbitrarily bumped to 4.9.3. + (SFILES, NONSRC, HFILES, ALLDEPFILES, ALLPARAM, ALLCONFIG): + removed all $(srcdir) prefixes. + (getopt_h, ieee-float_h, bfd_h, wait_h, dis-asm_h): new macros + for potential dependencies. commented out by default. + (readline_headers, udiheaders): convenient abbreviations. + (gdbcore_h, frame_h, symtab_h, gdbtypes_h, expression_h, + value_h, breakpoint_h, command_h, gdbcmd_h, defs_h, inferior_h): + new macros used for header file dependencies. + (install-info, clean-info): collapse into the info rule. + (install): now depends on all. + (install-only): new target for installing without depending on + all. + (uninstall): new target. + (config-check, config-check-hosts, config-check-targets): added + fixme comments. + (ch-exp.tab.c, m2-exp.tab.c): added artificial dependencies in + order to force parallel makes into keeping these rules separate. + * configure.in: omit cat'ing depend file onto generated Makefile. + * alldeps.mak, depend: removed. + + * inferior.h: remove redundant include of symtab.h which is + included in value.h via breakpoint.h. + + * alloca.c: removed. alloca is now in libiberty. + + * config/m88k/delta88.mh, config/ns32k/merlin.mh (M_UNINSTALL): + new macro to undo what M_INSTALL does. + +Wed Jun 23 00:25:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/ns32k/{merlin.mh,xm-merlin.h}: Be consistent about name + of gdb-sh. + + * dbxread.c (copy_pending): Change name and function of begi argument + to endi, since that is what the caller needs. + + * Makefile.in (TAGFILES): Don't include YYFILES. + + * Makefile.in (HFILES): Include monitor.h. + + * Makefile.in: Include text that used to be in alldeps.mak. + Remove config/mips/{bigmips.mh,xm-bigmips} from it. + * Makefile.in, configure.in: Remove all traces of alldeps.mak. + + * main.c (main): Print help message on stdout not stderr + per standards.texi. + New option --version per standards.texi. + In help message, show long options with "--" not "-". + Don't try to print help message or version until after we have + called initialize_all_files. + +Tue Jun 22 11:03:13 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Delete useless #if 1 statements. + (hp_type_translate): Use T_LONG, T_UNS_LONG, and T_DOUBLE instead + of magic integers. Fix handling for T_UNS_INT. Abort if the type + passed in is not an "immediate" type. + (read_hp_enum_type): Properly compute the size of the type. + (read_hp_array_type): Likewise. + (hp_type_lookup): Prefix the names of structs, unions and enums + with "struct", "union", and "enum" as appropriate. + +Tue Jun 22 03:15:38 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * solib.c (solib_add_common_symbols): Don't call lookup_minimal_symbol. + (solib_add): Call special_symbol_handling once, not once per library. + + * procfs.c (procfs_resume): Don't pass a SIGTSTP whose action + is SIG_DFL. + + * procfs.c (procfs_resume): Skip the unnecessary PRSVADDR on all + systems, not just Solaris. + + * stabsread.c: Include . + +Mon Jun 21 16:09:46 1993 Jim Kingdon (kingdon@cygnus.com) + + * fork-child.c (fork_inferior): Quote exec_file so it can contain + funky characters. + +Mon Jun 21 16:56:47 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (INCLUDE_CFLAGS): Add BFD_INCLUDES for now, since + bfd.h is included by target.h, which most of gdb includes. + * depend: Hand remove BFD_INCLUDES from ${CC} lines, now that + it's in INCLUDE_CFLAGS. + +Mon Jun 21 16:09:46 1993 Jim Kingdon (kingdon@cygnus.com) + + * config/i386/*aix*, i386aix-nat.c: New files. + * configure.in: Use them. + * alldeps.mak: List them. + * coffread.c (decode_base_type): Deal with anonymous enum type. + * i387-tdep.c (print_387_status_word): Add comment re "top". + * i386-tdep.c [I386_AIX_TARGET] (i386_extract_return_value): New func. + * dbxread.c: Use SEEK_SET and SEEK_CUR, not L_*. Define them if and + only if not defined by a header file. + * mipsread.c: Don't define L_SET or L_INCR. + +Mon Jun 21 15:10:07 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (BFD_INCLUDES): Bfd.h is now back in bfd build dir. + * depend: Hand updated to match. + +Mon Jun 21 10:13:42 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Include "demangle.h". + (process_one_debug_symbol): Set the SYMBOL_LANGUAGE and + SYMBOL_INIT_DEMANGLED_NAME for the current symbol. Adjust + SYMBOL_VALUE for local variables in the stack by the size of the + current function's stack (found in unwind descriptor). Keep + better track of the current unwind descriptor. + +Sun Jun 20 13:11:11 1993 Jim Kingdon (kingdon@cygnus.com) + + * stabsread.c (read_struct_fields): Don't call read_cpp_abbrev on $_. + (read_cpp_abbrev): Don't complain specially for $_. Also return 0 if + we don't recognize the abbrev. + +Sun Jun 20 00:24:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * solib.c (solib_add_common_symbols): Add comment about performance. + +Fri Jun 18 12:37:36 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mips/{{x,n}m-riscos.h,riscos.mh}: New files. + * configure.in (mips-*-sysv*): Use riscos for host, bigmips for target. + + * config/mips/{{x,n}m-news-mips.h,news-mips.mh}: New files. + * config/mips/{bigmips.mh,xm-bigmips.h}: Remove. + * configure.in (mips-sony-*): Use news-mips for host. + + * buildsym.h: Doc fix for processing_acc_compilation. + +Thu Jun 17 19:57:08 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (print_formatted): Don't use tab in wrap_here arg. + +Thu Jun 17 17:29:30 1993 Jim Kingdon (kingdon@lisa.cygnus.com) + + * Makefile.in (INTERNAL_CFLAGS): Include ../include as well as + ${srcdir}/../include. + + * config/m88k/xm-delta88.h: Comment out unused defines which conflict + with system headers. + * printcmd.c (printf_command): Cast second arg to vprintf to PTR. + Use VPRINTF macro if defined. + * config/m88k/xm-delta88.h: Define VPRINTF. Include . + Define TIOC{GETC,GLTC}_BROKEN. + * m88k-nat.c: Uncomment include of . + * main.c: Rename initialize_{main,cmd_lists,history} to init_* to + make things easier on munch (apparently this matters on + the delta88 with svr3). + +Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com) + + * Makefile.in: canonicalize install.sh; for use within + this directory (and subdirs) + +Tue Jun 15 17:01:23 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: remove parentdir support; use INSTALL_XFORM + +Thu Jun 17 15:08:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * configure.in (alpha-*-osf*), config/alpha/alpha-osf.mh: New + host. + * sh-tdep.c (frame_find_saved_regs): Use NUM_REGS rather than hard + wired (and wrong) constant. + * values.c (unpack_long): Add case to unpack when target object is + sizeof(int). + * config/sh/tm-sh.h (REGISTER_NAMES): Know about the news ones the + simulator defines. + +Wed Jun 16 16:08:18 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * NEWS: tracking user visible changes starting with + vxworks-timeout. + + * remote-vx.c (_initialize_vx): rename user settable option from + rpcTimeout to vxworks-timeout. + +Wed Jun 16 14:34:10 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (hp_type_translate): Fix promotion bugs from + char to short and short to int. + +Wed Jun 16 12:21:49 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (depend): More makefile diddling. + * alldeps.mak, depend: Update to latest automatically built + versions. + + * Makefile.in (depend): Bfd.h keeps moving, keep up with it. + * alldeps.mak, depend: Update to latest automatically built + versions. + +Tue Jun 15 12:26:05 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * remote-vx.c: include gdbcmd.h for setlist. + (_initialize_vx): make rpcTimeout user settable. + +Mon Jun 14 09:23:51 1993 Jim Kingdon (kingdon@cygnus.com) + + * main.c, gdbcmd.h: Add function filename_completer. + * main.c, symfile.c, source.c, exec.c, core.c: Use it for + "directory", "source", "cd", "symbol-file" "add-symbol-file", + "load", "file", "exec-file", "core-file" commands. + (But '/' is a word break, limiting usefulness; see comments). + + * source.c (mod_path): Warning not error if can't find directory. + + * isi-xdep.c: New file. + * config/m68k/isi.mh (XDEPFILES): Add isi-xdep.o + +Sun Jun 13 09:17:48 1993 Jim Kingdon (kingdon@cygnus.com) + + * config/m68k/xm-news.h: Include . + + * m88k-tdep.c (IEEE_isNAN): Remove. + config/m88k/tm-m88k.h (INVALID_FLOAT): Return 0. This was the same + broken isNAN as on the mips. + + * valprint.c (_initialize_valprint): Use c->function.sfunc not just + c->function. + + * dbxread.c (process_one_symbol): If SUN_FIXED_LBRAC_BUG is not + defined, don't worry about Sun's silly LBRAC bug. + * config/m68k/tm-sun3.h: Define SUN_FIXED_LBRAC_BUG to 0. + + * dbxread.c (process_one_symbol): If there's a symbol before an + N_SO, don't error(). + (case N_BCOMM): complain () not error (). + + * defs.h, main.c (catch_errors): Add return_mask arg. + stack.c (print_frame_info): Pass RETURN_MASK_ERROR. + other callers: Pass RETURN_MASK_ALL. + (return_to_top_level), callers: Add return_reason arg. + * utils.c (quit): + Use return_to_top_level (RETURN_QUIT) instead of error (). + * main.c (main), tm-nindy960.h (ADDITIONAL_OPTION_HANDLER): + Use SET_TOP_LEVEL not setjmp (to_top_level). + * remote-nindy.c: Use catch_errors not setjmp (to_top_level). + +Sat Jun 12 14:40:54 1993 Jim Kingdon (kingdon@cygnus.com) + + * solib.c (solib_create_inferior_hook) [SVR4_SHARED_LIBS]: + Don't try to get the debug base yet. + + * dbxread.c (process_one_symbol): Set n_opt_found based on whether + a non-gcc N_OPT symbol is found. Make SUN_FIXED_LBRAC_BUG a macro + which returns 0 or 1 to say whether to do it. + * config/sparc/sun4{sol2,os4}.h + (SUN_FIXED_LBRAC_BUG,VARIABLES_INSIDE_BLOCK): Use n_opt_found so + the right thing happens for both acc and SunOS4 /bin/cc. + + * valprint.c (print_hex_chars): Use local_hex_format_{pre,suf}fix. + * printcmd.c (print_scalar_formatted): Use val_print_type_code_int. + + * mips-tdep.c: Remove isa_NAN; it assumed sizeof(host int) == 4 and + probably contained byte-order sins too. + config/mips/tm-mips.h (INVALID_FLOAT): Define to 0 like most machines. + The IEEE_FLOAT code in print_floating takes care of it. + +Sat Jun 12 14:47:04 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.9.2. + * c-valprint.c (c_val_print): For array of chars printed with + string syntax, don't print the address of the array. From + bothner@cygnus.com. + * c-exp.y (yylex): Recognize '.' as indicating a floating point + number regardless of the radix. From wilson@cygnus.com. + * valprint.c (set_input_radix_1, set_output_radix_1): New + prototypes and functions that do the actual radix setting work. + * valprint.c (set_radix, set_output_radix, set_input_radix): + Rewrite to use set_input_radix_1 and set_output_radix_1. + * valprint.c (initialize_valprint): Enable commands to + independently set and show input and output radices. + * valprint.c (show_radix): New prototype and function that + handles separate input and output radices. + +Fri Jun 11 18:39:38 1993 Ken Raeburn (raeburn@cygnus.com) + + Patches from Jeff Law, law@cs.utah.edu: + * hppa-pinsn.c: Now uses disassembler from opcode library, + this contains only the stub function print_insn. + +Fri Jun 11 15:19:59 1993 K. Richard Pixley (rich@cygnus.com) + + * main.c (main): back to two periods for elipse. + (print_gdb_version): revised format for configuration info. + +Fri Jun 11 10:24:35 1993 Fred Fish (fnf@cygnus.com) + + * defs.h (INT_MAX): Cast unsigned shift result to int. + +Fri Jun 11 10:17:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * dbxread.c (process_one_symbol): Rather than having + BLOCK_ADDRESS_FUNCTION_RELATIVE a macro, make it a variable which + is true if we are doing stabs-in-elf, false otherwise. + config/sparc/tm-sun4sol2.h: Don't define it. + +Fri Jun 11 13:33:40 1993 Ian Lance Taylor (ian@cygnus.com) + + * remote-mips.c (mips_send_packet): Don't print garbage character + in debugging info. + (mips_request): Don't check that remote pid is 0, because + sometimes it isn't. + (mips_fetch_registers): Pass a pointer to SWAP_TARGET_AND_HOST, + not an integer. + +Fri Jun 11 10:17:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * stack.c (print_frame_info): Use catch_errors around print_frame_args. + + * Makefile.in (install): Don't depend on gdb. + + * Rename remote-es1800.c to remote-es.c + and remote-st2000.c to remote-st.c for 14-char filenames. + config/m68k/{es1800,st2000}: Use the new names. + + * mips-tdep.c (isa_NAN): Don't return true on -0. + +Fri Jun 11 10:24:35 1993 Fred Fish (fnf@cygnus.com) + + * defs.h (INT_MAX): Cast unsigned shift result to int. + +Thu Jun 10 13:26:41 1993 Fred Fish (fnf@cygnus.com) + + * elfread.c (elf_symtab_read): Add bfd section address to bfd + symbols, now that they are section relative. + * solib.c (bfd_lookup_symbol): Ditto. + +Thu Jun 10 11:27:34 1993 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (read_hp_function_type): Adjust SYMBOL_VALUE for + arguments in the stack by the size of the current function's stack + (found in the unwind descriptor). + (process_one_debug_symbol): Likewise. Keep track of the current + function's unwind descriptor. + +Thu Jun 10 10:56:56 1993 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in (depend): Add bfd -I's for paread.c and xcoffexec.c + depend: Updated accordingly. + +Wed Jun 9 16:08:44 1993 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in (*.tab.c): Use mv for atomic update. + + * Makefile.in ({dist,real}clean): Also remove nm.h. + (realclean): Also remove ${TESTS}, y.output, yacc.{acts,tmp}. + (distclean): Don't rebuild *.tab.c or TAGS. + +Wed Jun 9 12:56:58 1993 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in (version.c): add host and target names to version.c. + * main.c (main): print three periods for the elipse. + (print_gdb_version): also print configuration. + + * udi/udiids.h, udi/udip2soc.c, udi/udiphcfg.h, udi/udiphunix.h, + udi/udiproc.h, udi/udipt29k.h, udi/udiptcfg.h, udi/udisoc.h, + udi/udr.c: Change AMD copyrights to FSF copyleft '93. + + * remote-eb.c (get_hex_regs, eb_fetch_registers), remote-adapt.c + (get_hex_regs, adapt_fetch_registers): cast args to + supply_register to avoid gcc warning. + + * config/a29k/a29k.mt (TDEPFILES): drop minimon support. It + doesn't compile on solaris and is now obsolete. + + * config/sparc/sun4os4.mh (XM_CLIBS): remove -lresolv. This + breaks stock sunos installations. + +Wed Jun 9 06:14:33 1993 Jim Kingdon (kingdon@cygnus.com) + + * m68k-stub.c: Add comment about frame cache. + + * target.h (target_store_registers): Doc fix re error handling. + + * findvar.c (write_register): Call SWAP_TARGET_AND_HOST regardless + of register_valid[regno]. + +Tue Jun 8 14:42:10 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * symtab.h, dwarfread.c: Doc fix re dependencies. + +Tue Jun 8 17:54:09 1993 Rob Savoye (rob@rtl.cygnus.com) + + * serial.c (serial_close): If scb is NULL, don't try to close + it. + * configure.in: Add support for rom68k and bug boot monitors. + +Tue Jun 8 17:39:12 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * coffread.c (init_stringtab): Fix bug where sizeof(long) != 4. + * gdbcore.h, core.c (read_memory_unsigned_integer): New function. + * findvar.c (read_register, write_register): Fix thinko where + sizeof(host long) != sizeof(target int). + * h8300-tdep.c: Use new read_memory_unsigned_integer call. + * sh-tdep.c (_initialize_sh_tdep): Add memory_size command. + +Tue Jun 8 14:42:10 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * Move config/m68k/tm-m68k.h (FRAME_FIND_SAVED_REGS) to + m68k-tdep.c (m68k_find_saved_regs). Don't duplicate code between + 68881 and non-68881 cases. Check for a pair of movel instructions. + +Tue Jun 8 14:52:55 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + First cut at sparc-vxworks targetting. + * config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt: new files. + * configure.in: sparc-vxworks gdb_target now vxsparc. + + * remote-eb.c, remote.c: symfile.h requires bfd.h so include it. + +Tue Jun 8 14:42:10 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * config/m68k/xm-news.h: add "extern int errno". + +Tue Jun 8 13:45:07 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * remove-vx.c (vx_read_register, vx_write_register): collapse + ifdef I80960 else (assumes) m68k into parameterizable macros + VX_NUM_REGS and VX_SIZE_FPREGS. + * config/m68k/tm-vx68.h, config/i960/tm-vx960.h (VX_NUM_REGS, + VX_SIZE_FPREGS): new definitions. + +Tue Jun 8 11:08:29 1993 Jim Kingdon (kingdon@cygnus.com) + + * symfile.{c,h} (generic_load): New function. + remote{,-nindy,-eb,-mips}.c: Use it. + +Mon Jun 7 20:07:30 1993 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (depend): More sed gubbish to deal with + ../bfd/bfd.h being generated during the build. + * depend: Re-done with corrected makefile. + +Mon Jun 7 16:32:05 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (BFD_SRC_DIR): Renamed def and usages from BFD_DIR. + * Makefile.in (BFD_OBJ_DIR): New definition for the bfd build + directory to find automatically generated header files and library. + * Makefile.in (BFD_LIB): Use BFD_OBJ_DIR. + * Makefile.in (LINTFLAGS): Include BFD_OBJ_DIR. + * Makefile.in (saber_gdb): Include BFD_OBJ_DIR. + * Makefile.in (depend): Include BFD_OBJ_DIR in gcc args. + * Makefile.in (paread.o, xcoffexec.o): Remove, now in depend. + * depend, alldeps.mak: Rebuild after Makefile.in changes. + +Fri Jun 4 10:18:51 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: change lynx support to CPU-*-lynxos* + + * Makefile.in (subdir_do): change test from existence of directory + to existence of Makefile (the directory may exist but not be configured) + +Thu Jun 3 01:18:51 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/sparc/xm-sun4sol2.h: define MEM_FNS_DECLARED + +Fri Jun 4 10:43:33 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (mips-idt-ecoffl*): New target; use idtl. + (mips-idt-ecoff*): Added trailing '*'. + * config/mips/idtl.mt: New file; like idt.mt, but little endian. + +Thu Jun 3 17:36:56 1993 Stu Grossman (grossman@cygnus.com) + + * ser-go32.c: Clean up lots of compilation nits. + +Thu Jun 3 14:44:57 1993 Stu Grossman (grossman@cygnus.com) + + * Patches from Jeffrey Law . + * hppab-nat.c: Eliminate unnecessary ifdefs for + FETCH_INFERIOR_REGISTERS, CANNOT_FETCH_REGISTER, and + CANNOT_STORE_REGISTER. + (fetch_register): Delete code to handle CANNOT_FETCH_REGISTER. + * hppa-pinsn.c: Support 'I', 'J', and 'K' in output + templates for 1.1 FP computational instructions. + +Thu Jun 3 03:34:49 1993 Stu Grossman (grossman@cygnus.com) + + * Makefile.in: Remove ser-tcp.[co]. (Use XDEPFILES instead.) + * alldeps.mak, depend: Rebuild to account for ser-tcp. + * config/sparc/sun4os4.mh: Add ser-tcp to XDEPFILES. + * gdbserver/Makefile.in (gdbserver): Use -lbsd. + * gdbserver/remote-inflow{-sparc}.c (create_inferior): Don't use a + shell when running the child, as args have been expanded by the + time we get here. Simplify calling convention. + * gdbserver/remote-server.c (main): Use new calling convention + for create_inferior, remove defunct code for coalescing argv. + Remove extra calls to mywait(), as we no longer have to wade + through a shell. + + * target.c (target_read_memory_partial): Don't deref errnoptr + when checking for null pointer. + +Wed Jun 2 19:58:46 1993 John Gilmore (gnu@cygnus.com) + + * remote-es1800.c: Fix typo. + +Tue Jun 1 21:22:39 1993 Fred Fish (fnf@cygnus.com) + + * target.c (target_read_memory_partial): Like target_read_memory, + but does partial reads, such as reads that bump into the end of + the address space. + * target.h (target_read_memory_partial): Add prototype. + * valprint.c (PRINT_MAX_DEFAULT): New define, initial value 200. + * valprint.c (val_print_string): Complete rewrite to fix bug with + bumping into end of memory, avoiding unnecessarily long reads, and + fixing bug when print_max is set to 0 (unlimited print length). + * valprint.c (_initialize_valprint): Use PRINT_MAX_DEFAULT to + initialize print_max. + +Tue Jun 1 18:11:35 1993 Rob Savoye (rob at darkstar.cygnus.com) + + * configure.in: Add support for rom68k and bug boot monitors. + +Mon May 31 10:37:04 1993 Jim Kingdon (kingdon@cygnus.com) + + * printcmd.c (print_scalar_formatted): Print integers bigger than + LONGEST in hex no matter how big, and no matter what the format + and size. + + * stabsread.c (read_type): Skip type attributes if present. + + * stabsread.c (read_huge_number): Don't accept '0' + radix as part + of number, just through '0' + radix - 1. + +Sun May 30 15:35:21 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (SER_HARDWIRE): Temporarily comment out ser-tcp.o. + + * {dbxread.c, dwarfread.c} (read_ofile_symtab): Rewrite to take + single parameter, the pointer to the partial symtab, rather than + a bunch of args that are derived from the partial symtab. Change + prototypes and callers to match. + + * dbxread.c (read_ofile_symtab): Remove "#if 1" around code to + set demangling style automatically. + * defs.h (CPLUS_MARKER): Clarify comment that this is only for + GNU C++, not C++ in general. + * symtab.h (general_symbol_info): Simplify by eliminating one + structure level for the language dependent info. + +Sat May 29 15:59:29 1993 Fred Fish (fnf@cygnus.com) + + * c-typeprint.c (c_type_print_base): Avoid dereferencing NULL + names for TYPE_CODE_STRUCT and TYPE_CODE_UNION types. + TYPE_CODE_ENUM was already testing for this. + +Fri May 28 17:18:05 1993 Stu Grossman (grossman@cygnus.com) + + * Makefile.in: Add new file ser-tcp.c. + * defs.h (memcmp): Add decl for memcmp to #ifndef MEM_FNS_DECLARED. + * findvar.c (write_register): See if we are writing back the same + value that's already in the register. If so, don't bother. + * remote.c (putpkt, getpkt): Improve handling of communication + problems. + * ser-go32.c: Prototype it to death. Update serial_ops and add + dummy routines where appropriate. + * ser-tcp.c: New module to implement serial I/O via TCP + connections. + * ser-unix.c: Clean up getting/setting of tty state. Get rid of + SERIAL_RESTORE, add SERIAL_{GET|SET}_TTY_STATE interfaces. + * serial.c: Add start of support for connect command. + (serial_open): Distinguish between tcp and local devices. + * serial.h (struct serial_ops): Get rid of restore, add + get_tty_state and set_tty_state. Define protoypes and macros for + this mess. + * gdbserver/remote-utils.c: Add tcp support. (readchar): Do + some real buffering. Handle error conditions gracefully. + * gdbserver/remote-inflow-sparc.c: Update to remote-inflow.c + (Lynx), remove lots of cruft. + +Fri May 28 17:24:51 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * printcmd.c (print_address_symbolic): turn this into an assigment + instead of an initialization (many compilers don't accept + structure initialization). + +Thu May 27 16:56:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (read_xcoff_symtab): If several program csects in one + source file, give them all the name of the source file, rather than + the 2nd and subsequent ones having NULL names. + +Thu May 27 06:16:56 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * printcmd.c (print_address_symbolic): Append source filename and + linenumber of the symbol if print symbol-filename is on. + (initialize_printcmd): `set print symbol-filename'. + +Wed May 26 13:46:16 1993 Stu Grossman (grossman@cygnus.com) + + * configure.in: Add config for Lynx target. Configure gdbserver + only for Lynx. Re-do selective configuration of sparclite. + + * gdbserver/{remote-gutils.c remote-server.c Makefile.in + configure.in remote-inflow.c remote-utils.c}: New files to + support GDB remote server. Currently only works for Lynx. + +Wed May 26 10:28:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (define_symbol, case 't'): Only set the name if it + is not a pointer type. + + * stabsread.c (define_symbol): Clean up logic; move the read_type + calls to inside the switch statement (this improves the error + handling). + + * mipsread.c (parse_symbol, parse_partial_symbols): Deal with Fortran + common blocks. + +Tue May 25 20:44:24 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (print_formatted, case 'i'): Pass a tab to wrap_here. + + * source.c (line_info): Change "pc" to "address" in messages and + use print_address for addresses. + + * source.c (line_info): If we don't find a symtab, print more useful + output, including the symbolic address. + + * source.c (line_info): If --fullname, display the source. + (identify_source_line), callers: Take pc as argument, rather than + assuming innermost frame (emacs doesn't use this, so no one ever + noticed). + * symtab.h: Declare frame_file_full_name. + * main.c: Don't. + +Tue May 25 15:30:43 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * breakpoint.c (catch_command_1): Fix typo in error msg. + +Tue May 25 16:05:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfread.c (elf_symfile_read): Update ELF structure and routine + names to specify 32-bit versions. + (elf_symtab_read): Retrieve size field directly from symbol, + instead of using old kludge. + + * mips-pinsn.c (print_insn): Cast address to bfd_vma before + calling opcodes library. + * z8k-tdep.c (print_insn): Likewise. + +Tue May 25 13:06:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c: Remove all uses of error(). Make error_type and + read_type_number static. + (define_symbol): Don't try to deal with a missing symbol + descriptor which isn't followed by digit, '(', or '-'. + * stabsread.h: Don't declare read_type_number here. + * gdbtypes.h: Don't declare error_type here. + * xcoffread.c: Remove NO_TYPEDEFS code. + +Tue May 25 09:33:16 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips-tdep.c: Removed #include of many header files, and #define + of MIPSMAGIC; no longer used. + +Tue May 25 09:36:13 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Many places: replace "the inferior" in messages with "the program" + or "the program being debugged". + * inflow.c (try_writing_regs): Remove; it's been #if 0'd forever + and I'm getting sick of maintaining it. + + * config/i386/linux.mh: Don't use \ newline; the awk scripts don't + support it. + + * config/i386/go32.mh: Define SER_HARDWIRE. + * Makefile.in: Define SER_HARDWIRE. + (DEPFILES): Use it. + (alldeps.mak): Add SER_HARDWIRE. + Remove all references to ser-hardwire.{c,o}. + * configure.in: Remove all ser_hardwire and gdb_serial_driver stuff. + +Mon May 24 23:50:05 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * sparc-nat.c (store_inferior_registers): Fill in all members of + inferior_fp_registers by reading them from the inferior before + modifying and writing them back. + Fixes unexplainable inferior FP exceptions after calls to the inferior + or setting of floating point registers. + * mips-tdep.c (mips_skip_prologue): Skip move of argument register + to register which is generated by gcc-2.4. + +Tue May 25 00:42:39 1993 Ken Raeburn (raeburn@cygnus.com) + + * hppa-pinsn.c: Define OLD_TABLE before including opcode/hppa.h. + +Mon May 24 13:55:14 1993 Stu Grossman (grossman@cygnus.com) + + * config/i386/{i386lynx.mh i386lynx.mt nm-i386lynx.h tm-i386lynx.h + xm-i386lynx.h}: New configuration for Lynx. + +Mon May 24 10:01:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * mipsread.c (parse_symbol): Deal with scVar and scVarRegister. + * symtab.h: Comment that LOC_REGPARM_ADDR can be call by reference. + + * c-typeprint.c (c_type_print_base): Don't print typedef'd names + as struct, union, or enum tags. + +Mon May 24 01:10:01 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symmisc.c (dump_msymbols): Avoid gdb coredump with stripped + executable. + +Sat May 22 10:03:09 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (wait_for_inferior), + infcmd.c (program_info, signal_command): Use symbolic signal names. + + * inftarg.c (child_wait): Deal with EINTR and include message from + strerror if printing an error message. + + * main.c (command_line_input): Use STOP_SIGNAL not SIGTSTP. + + * stabsread.c: Remove most uses of lookup_fundamental_type. + (define_symbol): Use read_type for type of enum constant, + not just read_type_number. Also don't call error(). + (define_symbol): For unrecognized constant type, one complaint (the + one from error_type) is enough. Don't make our own in addition. + (define_symbol): Don't treat an N_FUN 'R' as a prototype. + * gdbtypes.h: Doc fixes. + +Sat May 22 03:33:07 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Fix stack unwinding through _sigtramp on Irix. These patches are from + Paul Flinders . + * mipsread.c (fixup_sigtramp): Find _sigtramp on Irix even when the + executable uses sigvec. + * mips-tdep.c (read_next_frame_reg): Allow tm-file to override + sigcontext offsets. + * config/mips/tm-irix3.h: Add sigcontext offsets for Irix. + +Sat May 22 00:39:01 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (wait_for_inferior): Clear stop_signal if it should not + be passed to the inferior to make "handle nopass nostop" work. + +Sat May 22 00:21:41 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/mips/tm-irix3.h: Clean up, use tm-bigmips.h and redefine + the necessary bits. + * findvar.c (value_from_register): Fix uninitialized first_addr + which caused problems with assignment of doubles to register variables + on some targets. + * mipsread.c: Remove TM_FILE_OVERRIDE, include tm.h and provide the + missing mips definitions if necessary. + + Fix handling of double register variables for mips targets and big + endian hosts. These patches are from Paul Flinders . + * config/mips/tm-mips.h: Increase MAX_REGISTER_{RAW,VIRTUAL}_SIZE to + 8 bytes for doubles. + * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): New macro for + conversion of type held in multiple registers to host format. + * config/mips/tm-mips.h (REGISTER_CONVERT_FROM_TYPE): New macro, + companion to REGISTER_CONVERT_TO_TYPE. + * config/mips/tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): + Convert to function calls. + * config/mips/tm-mips.h (FIX_CALL_DUMMY): New code for big endian + mips targets. + * mips-tdep.c (mips_print_register): Raw buffer now needs just + MAX_REGISTER_RAW_SIZE bytes. + * mips-tdep.c (mips_print_register): Use REGISTER_CONVERT_TO_TYPE + (if defined) for doubles. + * mips-tdep.c: (mips_extract_return_value, mips_store_return_value): + New functions, take care of REGISTER_CONVERT_TO/FROM_TYPE. + * valops.c (value_assign): Use REGISTER_CONVERT_TO_TYPE if + defined. + * findvar.c (value_from_register): Use REGISTER_CONVERT_TO_TYPE if + defined. + +Fri May 21 09:04:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Add i[34]86-*-isc*. + + * stabsread.c: Make sure all complain() pass the address of the struct. + + * xcoffread.c: Make sure all struct complaints are static not auto. + + * Makefile.in: Add rule for xcoffexec.o like that for paread.o. + + * xcoffread.c (process_xcoff_symbol, case C_LSYM): Use define_symbol. + +Wed May 19 12:33:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/i386/linux.mh: Re-enable coredumps now that they should work. + +Wed May 19 15:44:20 1993 K. Richard Pixley (rich@cygnus.com) + + * config/m68k/tm-m68k.h (FRAME_CHAIN): add missing close paren. + +Wed May 19 15:33:57 1993 Stu Grossman (grossman@cygnus.com) + + * config/pa/nm-hppab.h: Comment PTRACE_ARG3_TYPE. + +Wed May 19 12:33:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (INSTALLED_LIBS): New variable. + +Tue May 18 14:08:50 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * main.c (quit_command): In the "quit anyway?" message, tell the user + whether we are planning to detach or kill the program. + + * config/vax/vaxbsd.mh: Add "NAT_FILE= nm-vax.h". + * config/vax/xm-vaxbsd.h: Use not + + * infcmd.c (read_pc): Doc fix. + + * printcmd.c (print_address_symbolic): Use %u not %d for offset. + + * blockframe.c (get_prev_frame_info): If pc in sigtramp, set + signal_handler_caller. + * tm-68k.h (FRAME_{CHAIN,SAVED_PC}): Deal with sigtramp. + * tm-hp300bsd.h: Define SIGTRAMP_{START,END} not IN_SIGTRAMP. + * inferior.h (IN_SIGTRAMP): Definition moved from infrun.c. + Use SIGTRAMP_START if defined. + * infcmd.c (step_1): Use SIGTRAMP_{START,END} if needed. + * infrun.c (wait_for_inferior): Check IN_SIGTRAMP before SKIP_PROLOGUE. + + * infptrace.c: Remove unused KERNEL_U_ADDR_HPUX code. + + * infcmd.c (step_1): Fix poorly worded error message. + + * config/{i386/linux.mh,m68k/isi.mh} (NATDEPFILES): + Comment out corelow.c because core dumps are broken on these machines. + + * Makefile.in (depend): Put "${srcdir}" in generated dependencies + if srcdir is not ".". + Also put in -I${BFD_DIR} or -I${READLINE_DIR} for files which need it. + (INCLUDE_CFLAGS): Remove BFD_DIR and READLINE_DIR. + * depend: Update to latest automatically built version. + +Tue May 18 08:10:45 1993 Fred Fish (fnf@cygnus.com) + + * ChangeLog, ChangeLog-92: Split ChangeLog at 1993. + * Makefile.in (NONSRC): Add ChangeLog-92 + +Tue May 18 08:03:37 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * findvar.c ({read,write}_register): Use REGISTER_RAW_SIZE + not typo RAW_REGISTER_SIZE. + + * frame.h, inferior.h: Doc fixes. + +Mon May 17 15:43:03 1993 Stu Grossman (grossman@cygnus.com) + + * findvar.c (write_register): Add sanity check for register size. + (read_register): Fixup sanity check for register size to be + consistent with write_register(). + +Mon May 17 07:36:20 1993 Ian Lance Taylor (ian@cygnus.com) + + * sparclite/Makefile.in: Add dummy info, install and install-info + targets. + +Thu May 13 07:30:22 1993 Ian Lance Taylor (ian@cygnus.com) + + * remote-nindy.c: Removed declaration of coffstrip. + * nindy-share/nindy.c: #if 0 coffstrip routine; no longer used. + +Wed May 12 00:35:19 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.9.1 after release and cvs + tagging. + + * Makefile.in (VERSION): GDB 4.9 release. + +Tue May 11 08:04:41 1993 Fred Fish (fnf@cygnus.com) + + * README: Update known bugs to include the Solaris bug that + leaves core dumps in the current directory when restarting the + inferior with "run". Expand on the testsuite information. + + * Makefile.in (VERSION): Bump to 4.8.96 for what should hopefully + be the last 4.9 prerelease test archive. + +Mon May 10 22:13:23 1993 Jim Kingdon (kingdon@cygnus.com) + + * config/m68k/xm-hp300bsd.h: Include to avoid INT_MAX + redefined warnings. + +Mon May 10 20:00:43 1993 Fred Fish (fnf@cygnus.com) + + * README, NEWS: Update for gdb 4.9 release. + +Mon May 10 19:38:34 1993 John Gilmore (gnu@cygnus.com) + + * ch-exp.y (MAX, MIN): Rename to MAX_TOKEN, MIN_TOKEN. + * target.c (MIN): #undef before defining. + +Mon May 10 16:03:03 1993 Jim Kingdon (kingdon@cygnus.com) + + Patch from Jeffrey Law: + * gdb/config/pa/nm-hppab.h (PTRACE_ARG3_TYPE): Define as caddr_t. + +Mon May 10 15:28:27 1993 Ian Lance Taylor (ian@cygnus.com) + + * hppa-tdep.c (hppa_push_arguments): Allocate correct amount of + memory. + +Mon May 10 13:14:46 1993 Fred Fish (fnf@cygnus.com) + + * ch-exp.y (start): Apply work-around to avoid bison warning. + +Sun May 9 07:25:02 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (BISON): Remove double quotes around BISON + definition when bison is used. + + * configure.in (hppa*-hp-bsd): Change to hppa*-hp-bsd* + * configure.in (hppa*-hp-hpux): Change to hppa*-hp-hpux* + * configure.in (m68*-hp-bsd): Change to m68*-hp-bsd* + * configure.in (m68*-hp-hpux): Change to m68*-hp-hpux* + * configure.in (hppa*-*-bsd): Change to hppa*-*-bsd* + * configure.in (hppa*-*-hpux): Change to hppa*-*-hpux* + * configure.in (m68*-hp-bsd): Change to m68*-hp-bsd* + * configure.in (m68*-hp-hpux): Change to m68*-hp-hpux* + + * Makefile.in (VERSION): Bump to 4.8.6. + +Sat May 8 12:36:03 1993 Fred Fish (fnf@cygnus.com) + + * config/pa/xm-hppah.h (MALLOC_INCOMPATIBLE): Define it, and + include declarations for malloc/realloc/free. Both malloc and + realloc return 'void *' for non-ANSI compilations. + +Sat May 8 01:39:30 1993 (pes@regent.e-technik.tu-muenchen.de) + + * coffread.c (read_coff_symtab): Don't fclose stream as it is no + longer opened twice. + +Thu May 6 21:08:55 1993 Jim Kingdon (kingdon@cygnus.com) + + * solib.c (clear_solib): Don't close bfd if it is NULL. + +Thu May 6 20:55:35 1993 Fred Fish (fnf@cygnus.com) + + * core.c (dis_asm_read_memory): Cast second arg of + target_read_memory to "char *". + * breakpoint.c (watchpoint_check): Change arg type from PTR to + "char *", to match other functions called by catch_errors(). + +Thu May 6 15:47:45 1993 Stu Grossman (grossman@cygnus.com) + + * More patches from Jeffrey Law (law@cs.utah.edu). + * gdb/config/nm-hppab.h (PTRACE_ARG3_TYPE): Define as caddr_t. + * gdb/config/pa/tm-hppah.h (millicode_start, millicode_end): + Delete unnecessary declarations. + +Thu May 6 15:15:46 1993 Stu Grossman (grossman@cygnus.com) + + * ser-unix.c (wait_for): Use VTIME to do timeouts instead of + poll() for termio{s}. + +Thu May 6 10:03:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * i386-tdep.c (i386_frame_num_args): Always return -1. + +Wed May 5 15:16:33 1993 Stu Grossman (grossman@cygnus.com) + + * Patches from Jeffrey Law . + * gdb/hppa-tdep.c: Declare frame_saved_pc. + (frameless_function_invocation): New function. + (frame_saved_pc, init_extra_frame_info): Use + frameless_function_invocation. + * gdb/config/pa/tm-hppa.h (SAVED_PC_AFTER_CALL): Use saved_pc_after + call instead of just grabbing the value currently in %r2. + (FRAMELESS_FUNCTION_INVOCATION): Use frameless_function_invocation. + * gdb/config/pa/tm-hppah.h (SAVED_PC_AFTER_CALL): Delete private + definition and use the common one in tm-hppa.h. + * gdb/hppa-tdep.c (frame_chain_valid): If "use_unwind" is true, then + use unwind descriptors to determine if the frame chain is valid. + * gdb/hppa-tdep.c (find_dummy_frame_regs): Rework so that + it does not assume %r4 is the frame pointer. + * gdb/hppa-pinsn.c (print_insn): Handle 'r' and 'R' for break, rsm, + and ssm instructions. + * gdb/hppa-tdep.c (extract_5r_store, extract_5R_store): New + helper functions for print_insn. + * gdb/hppa-tdep.c (gcc_p, hpux_cc_p): Delete unused functions. + * gdb/config/pa/tm-hppa.h (ABOUT_TO_RETURN): Handle a return + which nullifies the following instruction. + +Tue May 4 12:11:38 1993 Jim Kingdon (kingdon@cygnus.com) + + * infptrace.c [FIVE_ARG_PTRACE]: Define ptrace to call_ptrace and + pass the 5th arg there, rather than using an ANSI C-specific macro. + + * Makefile.in (depend): Don't include ${CC} command for *.tab.c. + +Tue May 4 19:33:12 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.8.5 + * Makefile.in (INCLUDE_CFLAGS): Add BFD_DIR and READLINE_DIR + directories to include search path. + * Makefile.in (CLIBS, CDEPS, ADD_FILES, ADD_DEPS): Clean up + whitespace. + * Makefile.in (depend): For gcc -MM line, use INTERNAL_CFLAGS + * Makefile.in (main.o, dbxread.o, coffread.o, mipsread.o, + elfread.o, dwarfread.o, stabsread.o, xcoffread.o, xcoffexec.o, + xdr_ld.o, xdr_rdb.o, nindy.o, Onindy.o, ttybreak.o, ttyflush.o, + udr.o, udip2soc.o): Remove explicit rules, use the ones that + are automatically generated in "depend". + * Makefile.in (paread.o): Document why a dependency doesn't get + automatically generated in "depend" and leave this explicit rule + in for now (FIXME). + * depend: Update to latest automatically generated version. + +Tue May 4 12:11:38 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffread.c: Doc fix. + + * Makefile.in (depend): Include $(CC) command in generated output. + +Mon May 3 22:51:05 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (NONSRC): Remove ${srcdir}/putenv.c. + * Makefile.in (SFILES): Add ${srcdir}/putenv.c. + * depend: Update to latest automatically built version. + +Mon May 3 19:20:20 1993 Stu Grossman (grossman@cygnus.com) + + * sparclite/Makefile.in: Create default target that does nothing + in order to force user to build by hand. + + * sparclite/Makefile: Remove. It's not necessary anymore. + + * ser-unix.c (wait_for): New routine to handle read timeouts, + etc. Uses poll() if HAVE_TERMIO[S] is defined, select() otherwise. + +Mon May 3 13:52:08 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips-pinsn.c (print_insn): Return value. + +Sun May 2 11:43:57 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (SFILES): Remove ser-hardwire.c; it is a link made + at configuration time and doesn't belong in the distribution archive. + + * Makefile.in (NONSRC): Add 29k-share/README. + * Makefile.in (HFILES): Add 29k-share/udi/udiids.h. + + * defs.h (UINT_MAX, LONG_MAX, INT_MAX, INT_MIN): Replace hex + constants with slightly more portable definitions (still depends + on 2's complement arithmetic though). + * config/i386/nm-linux.h: Define NO_SYS_REG_H for no . + * i386v-nat.c (sys/reg.h): Conditionalize include on + NO_SYS_REG_H. Linux doesn't have . + * ser-unix.c (termio.h): Include like other files that + include termio.h, not which may not exist (on + linux for example). + +Sat May 1 16:05:24 1993 Fred Fish (fnf@cygnus.com) + + * valprint.c (print_longest): Change format parameter from a + 'char' to an 'int'. We can't have 'char' parameters with the + current coding style, where we mix prototypes with pre-ANSI + style declarations. + * value.h (print_longest): Change format parameter in prototype + from a 'char' to an 'int'. + +Sat May 1 02:47:20 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/mips/tm-mips.h (STAB_REG_TO_REGNUM): Match it with the gcc + definition. + * config/mips/tm-irix3.h (STAB_REG_TO_REGNUM): Add. + * irix4-nat.c (fill_fpregset): Fix bug with indexing into fpregsetp. + +Fri Apr 30 17:45:32 1993 Stu Grossman (grossman@cygnus.com) + + * The following patches are from Jeffrey Law . + * config/pa/hppabsd.mh: Add more files to NATDEPFILES. + * config/pa/xm-hppa[bh].h: Define FIVE_ARG_PTRACE. + * hppab-nat.c: Delete WANT_NATIVE_TARGET ifdefs. + ptrace needs 5 arguments, #define ptrace to always + pass zero as the 5th argument. + +Fri Apr 30 15:54:13 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * configure.in: Match z8k-*-sim for z8000. + * config/h8500/tm-h8500.h, h8500-tdep.c: Lint. + * remote-hms.c: Update to use new serial protocol. + +Fri Apr 30 16:50:38 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * mips-tdep.c: remove include of sys/dir.h. Doesn't seem + necessary and Solaris doesn't have it. + + * Makefile.in (clean-info, install, install-info, info, dvi, + check, all): do not echo recursion lines. + + * 29k-share/udip2soc.c (UDIConnect): replace union wait with int. + + * config/sparc/sun4sol2.mh (XM_CLIBS): add -lsocket which is + required target ports which use sockets (like a29k-udi). + + * remote-udi.c (udi_wait): Use SIGURG, as Solaris doesn't have SIGLOST. + +Fri Apr 30 11:05:42 1993 Jim Kingdon (kingdon@cygnus.com) + + * ser-unix.c [USE_{TERMIO,ALARM}_TIMEOUT]: New code to deal with + systems lacking select(). + + * Makefile.in (TAGS): Doc fix. Deal with empty DEPFILES. + +Fri Apr 30 10:06:46 1993 Fred Fish (fnf@cygnus.com) + + * alldeps.mak, depend: Update with latest automatically built + versions. + +Thu Apr 29 12:03:23 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (SFILES): Add ser-unix.c and ser-go32.c. + + * Makefile.in (make-proto-testsuite.dir): New target to make + prototype testsuite tree. + + * Makefile.in (VERSION): Bump to 4.8.4. + +Thu Apr 29 08:46:22 1993 Jim Kingdon (kingdon@cygnus.com) + + * stabsread.c (define_symbol): If unrecognized constant type, + complain() not error(). + +Thu Apr 29 00:03:59 1993 Fred Fish (fnf@cygnus.com) + + * infptrace.c: Add missing close paren to test for + FIVE_ARG_PTRACE defined. + + * defs.h (CC_HAS_LONG_LONG): Set up to define CC_HAS_LONG_LONG + when compiling with gcc, but disable it for now. See comment. + * defs.h (LONGEST): Define as either "long" or "long long" + based on CC_HAS_LONG_LONG. + * defs.h (longest_to_int): Use CC_HAS_LONG_LONG to control + how longest_to_int is defined. + * c-valprint.c (c_val_print): Call print_longest. + * expprint.c (dump_expression): Use PRINTF_HAS_LONG_LONG + instead of LONG_LONG. + * {printcmd.c, gdbtypes.h} (LONG_LONG): Replace usages with + CC_HAS_LONG_LONG. + * printcmd.c (print_scalar_formatted): Call print_longest + and let it figure out what to do for PRINTF_HAS_LONG_LONG. + * typeprint.c (print_type_scalar): Call print_longest and let + it figure out what to do for PRINTF_HAS_LONG_LONG. + * valprint.c (val_print_type_code_int): Call print_longest + and let it figure out what to do for PRINTF_HAS_LONG_LONG. + * stabsread.c (LONG_LONG): Replace usages with CC_HAS_LONG_LONG. + * value.h (struct value): Replace usage of LONG_LONG with + CC_HAS_LONG_LONG. + * value.h (print_longest): Add prototype. + * values.c (LONG_LONG): Replace usages with CC_HAS_LONG_LONG. + * values.c (unpack_double): Collapse code that was unnecessarily + dependent on CC_HAS_LONG_LONG. Use LONGEST instead of direct types. + * values.c (value_from_longest): Remove dependency on + CC_HAS_LONG_LONG and just use LONGEST. + * solib.c (solib_map_sections): Use bfd_get_filename + to access filename field. + * solib.c (clear_solib): Save filename and free it later, after + bfd_close, since bfd_close may reference it. Use bfd_get_filename + to access the field. + * config/convex/xm-convex.h (LONG_LONG): Replace with + CC_HAS_LONG_LONG. Add define for PRINTF_HAS_LONG_LONG. + * doc/gdbint.texinfo (LONG_LONG): Replace with CC_HAS_LONG_LONG. + Add PRINTF_HAS_LONG_LONG references. + +Wed Apr 28 06:11:38 1993 Jim Kingdon (kingdon@cygnus.com) + + * inflow.c (kill_command), infcmd.c (attach_command), + remote.c (remote_interrupt_twice): In messages for the user, call it + "the program" or "the program being debugged" not "the inferior". + + * hp300ux-nat.c: Cast second arg to supply_register calls. + (_initialize_kernel_u_addr, getpagesize): New functions. + (store_inferior_register_1): Change arg name from value to val. + (fetch_core_registers): Make arg core_reg_size unsigned. + Pass 5 args to ptrace. + * config/m68k/xm-hp300hpux.h: Define FIVE_ARG_PTRACE. + Remove KERNEL_U_ADDR stuff. + * infptrace.c [FIVE_ARG_PTRACE]: Pass 5th arg to ptrace. + * config/m68k/hp300hpux.m{t,h}: + Move exec.o from NATDEPFILES to TDEPFILES + * config/m68k/hp300hpux.mt: Mention GAS requirement. Remove + hp-include stuff. Add m68k-tdep.o to TDEPFILES. + +Wed Apr 28 13:27:54 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * ch-exp.y (yylex): Don't STREQ with simplename if it is NULL. + +Wed Apr 28 06:11:38 1993 Jim Kingdon (kingdon@cygnus.com) + + * config/sparc/xm-sun4os4.h [__STDC__]: Don't use MALLOC_INCOMPATIBLE. + +Wed Apr 28 11:39:18 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/gdb.texinfo: make node "Shell Commands" unconditional; + describe `set demangle-style arm' (not cfront); + mention can type `q' to discard output, when gdb pages + +Wed Apr 28 11:32:39 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * valops.c (search_struct_field): Fix gdb core dump with incomplete + stabs info. + +Wed Apr 28 06:11:38 1993 Jim Kingdon (kingdon@cygnus.com) + + * remote.c: Change timeout to 2. + (remote_open): Use unpush_target not remote_close. + (remote_resume): If siggnal != 0, give warning not error(). + (remote_wait, remote_interrupt, remote_interrupt_twice): + If we get two interrupts, let the user get out if they want. + (remote_{kill,mourn}): New functions. + i386-stub.c (handle_exception, case 'k'): Don't BREAKPOINT. + +Wed Apr 28 09:20:55 1993 Ian Lance Taylor (ian@rtl.cygnus.com) + + * config/sparc/sun4sol2.mh (XM_CLIBS): Define to be -lnsl. + +Wed Apr 28 06:11:38 1993 Jim Kingdon (kingdon@cygnus.com) + + * Remote targets (mourn): Call unpush_target. + + * config/sparc/xm-sun4os4.h: Declare free() to return int. + Remove twisted use of PARAMS. + + * config/rs6000/xm-rs6000.h: Don't define MALLOC_INCOMPATIBLE now + that ansidecl.h assumes ANSI on AIX. + +Tue Apr 27 10:01:33 1993 Jim Kingdon (kingdon@cygnus.com) + + * README: Move most stuff about hacking GDB to doc/gdbint.texinfo. + (Known bugs): Remove AIX bugs, revise SPARC struct bug description. + +Tue Apr 27 13:44:19 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * expprint.c (print_subexp): Fix bug with OP_SCOPE operator output. + +Tue Apr 27 10:01:33 1993 Jim Kingdon (kingdon@cygnus.com) + + * remote-vx.c (net_connect): Allow numeric IP address for host. + +Mon Apr 26 17:59:38 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/sh/sh.mt, config/sh/tm-sh.h, sh-tdep.c: New files. + +Mon Apr 26 07:13:32 1993 Jim Kingdon (kingdon@cygnus.com) + + * rs6000-tdep.c (branch_dest): Deal with stepping through system call. + + * symtab.h, xcoffread.c: Revise linetable sorting comments. + +Sun Apr 25 02:32:16 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * valops.c (value_cast): A cast might also change the object + representation in C++. + * dbxread.c (end_psymtab): Copy subpst read_symtab function from pst + to get the proper read_symtab function when called from mipsread.c. + * mipsread.c (mipscoff_psymtab_to_symtab, psymtab_to_symtab_1): + Set cur_bfd in psymtab_to_symtab_1 as CURBFD(pst) is invalid + for dummy psymtabs, inhibit processing of dummy psymtabs. + +Sat Apr 24 19:59:54 1993 Jim Kingdon (kingdon@cygnus.com) + + * Changes from (or inspired by) AMD: + * remote-udi.c (udi_attach): Assignments to Space and Offset were + switched, fix it. + (udi_wait): Make error message (UDIGetStdout) match error. + (udi_wait): Handle UDIStdinNeeded. + * command.c [CANT_FORK]: Use system(). + * utils.c (prompt_for_continue): Allow quit with 'q'. + + * solib.c (solib_add): Don't call special_symbol_handling if there + were errors in symbol_add_stub. Also set so->from_tty before + calling symbol_add_stub. + +Fri Apr 23 16:17:00 1993 Stu Grossman (grossman@cygnus.com) + + * Merge in HPPA/BSD patches from Utah: + * defs.h: Add const to 2nd arg of psignal prototype. + * hppah-tdep.c: Renamed to hppa-tdep.c 'cuz it's common code with + BSD now. + * hppab-core.c: Deleted. No longer useful. + * hppab-nat.c: #include more files. Use PT_WUREGS, not + PT_WRITE_U. + * hppab-tdep.c: Deleted. Supplanted by hppa-tdep.c. + * config/pa/hppabsd.mh (NATDEPFILES): Remove hppab-core.o. + * config/pa/hppabsd.mt (TDEPFILES): hppab-tdep.o => hppa-tdep.o + * config/pa/hppahpux.mt (TDEPFILES): hppab-tdep.o => hppa-tdep.o + * config/pa/xm-hppab.h: #define SET_STACK_LIMIT_HUGE. + +Fri Apr 23 10:34:02 1993 Stu Grossman (grossman@cygnus.com) + + * Fix two bugs found by deja-gnu. One is the incorrect reporting + of the PC being in a stack dummy when looking at a core file + without symbols. The other is the incorrect passing of char + arguments during expression evaluation (ie: p foo('a','b') would + mess up the passing of it's args because it wasn't coercing the + char's to ints). + * hppah-tdep.c: Rename global functions to have consistent hppa_ + prefix. Make more functions static. Drop hp_ prefix from static + functions. (hppa_push_arguments): Call value_arg_coerce to cast + char to int args if necessary. (hppa_fix_call_dummy): Create + this routine from FIX_CALL_DUMMY macro in tm-hppa.h. + * inferior.h (PC_IN_CALL_DUMMY): Check for frame_address being + valid (ie: != 0) before doing comparison against PC. + * valops.c (call_function_by_hand): Adjust call to FIX_CALL_DUMMY + to reflect new arguments. + * config/pa/tm-hppa.h (POP_FRAME, PUSH_ARGUMENTS): Use new hppa_ + prefix for func name. (FIX_CALL_DUMMY): Move code into + hppah-tdep.c. + + * testsuite/gdb.t16/gdbme.c, testsuite/gdb.t17/gdbme.c: Add calls + to malloc() so that we can test GDB eval of dynamically created + arrays (like char strings in `print "foo"'). + +Fri Apr 23 01:28:14 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * printcmd.c (print_address_symbolic): Search symtabs as well as the + minimal symbols for a nearby symbol. + +Thu Apr 22 19:44:21 1993 John Gilmore (gnu@cacophony.cygnus.com) + + * coffread.c: Comment changes around minimal symbol recording. + +Thu Apr 22 16:24:36 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * command.c: comment changes only. + + * mips-tdep.c (heuristic_fence_post): new static variable. + (heuristic_proc_start): use heuristic_fence_post, print better + warnings, but only if not stop_soon_quietly. + (_initialize_mips_tdep): add_set_cmd for heuristic-fence-post. + +Thu Apr 22 14:50:05 1993 Jim Kingdon (kingdon@cygnus.com) + + * symtab.h: Fix LOC_REF_ARG comment. + +Wed Apr 22 20:21:30 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + and Jim Kingdon (kingdon@cygnus.com) + + * stabsread.c (define_symbol): Combine a 'p', 'r' arg pair to a + LOC_REGPARM symbol. + * config/sparc/tm-sparc.h (REG_STRUCT_HAS_ADDR): Revise comments. + symfile.c (compare_symbols): Don't check first character; STRCMP + does that. + + * stabsread.c (define_symbol): Generate a LOC_REGPARM_ADDR for + structures that are passed by address in a register. + * symtab.h (enum address_class): Add LOC_REGPARM_ADDR. + * findvar.c (read_var_value), + printcmd.c (address_info, print_frame_args), + stack.c (print_frame_arg_vars), symmisc.c (print_{,partial_}symbol), + * symtab.c (lookup_block_symbol): Deal with it. + +Thu Apr 22 09:07:24 1993 Jim Kingdon (kingdon@cygnus.com) + + * objfiles.h (obj_section), objfiles.c (build_objfile_section_table): + Add objfile field. + * objfiles.c (find_pc_section): Return a struct obj_section *. + * sparc-tdep.c (in_solib_trampoline): Deal with find_pc_section return. + * symfile.c (syms_from_objfile) [IBM6000_TARGET]: + Don't use obj_section hack. + * xcoffexec (vmap_symtab): Relocate obj_sections. + * printcmd.c (containing_function_bounds): Use find_pc_section. + + * symtab.h: Clean up SYMBOL_VALUE comments. + +Wed Apr 21 14:29:57 1993 Jim Kingdon (kingdon@cygnus.com) + + * stack.c (print_frame_arg_vars), printcmd.c (print_frame_args): + Expand comments about LOC_ARG/LOC_LOCAL pairs. + + * coffread.c (read_coff_symtab): Use rewind before fseek. + +Wed Apr 21 14:24:19 1993 Per Bothner (bothner@cygnus.com) + + * ch-exp.y: Removed unused structure_primitive_value and FIXME_23. + * Makefile.in: Add $(YFLAGS) when using $(YACC). + * Makefile.in: Remove message to expect conflicts and unused + rules in ch-exp.y, since there no longer are any such. + +Wed Apr 21 13:27:50 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * stabs.texinfo: fixed bad xrefs (un-initialized statics) + +Tue Apr 20 08:55:11 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffexec.c (xcoff_relocate_core): If no exec file, error() + rather than dumping core. + + * Makefile.in: Add ${srcdir}/ to all source files. + (alldeps.mak): Add "${srcdir}/" to files when generating alldeps.mak. + (TAGS): Deal with srcdir and new config directory scheme. + createtags: Remove. + Makefile.in (NONSRC): Remove createtags. + alldeps.mak: Updated. + + * rs6000-tdep.c: Delete unused function print_frame. + + * frame.h (struct frame_info): Doc fix for next_frame. + New field signal_handler_caller. + blockframe.c (create_new_frame, get_prev_frame_info), + config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO): Set it (needs + INIT_FRAME_PC_FIRST). + stack.c (print_frame_info), rs6000-tdep.c (rs6000_frame_chain): + Check it. + +Mon Apr 19 22:52:33 1993 Stu Grossman (grossman@cygnus.com) + + * irix4-nat.c (fetch_core_registers): Special version of this for + Irix 4.x, which stores regs a bit differently from other /proc + based systems. + * procfs.c, core-svr4.c: Move fetch_core_registers from procfs.c + to new file core-svr4.c. + * config/i386/i386sol2.mh, config/i386/i386v4.mh, config/m68k/amix.mh, + config/i386/ncr3000.mh, config/sparc/sun4sol2.mh: Add core-svr4.o + to NATDEPFILES. + * config/mips/irix4.mh: Add corelow.o to NATDEPFILES. + +Mon Apr 19 11:13:34 1993 Jim Kingdon (kingdon@cygnus.com) + + * i387-tdep.c: Remove unused #includes. + + * configure.in: Match i[34]86-*-sysv3.2 not i[34]86-*-sysv32. + + * config/i386/nm-i386v.h: Define NO_PTRACE_H. + +Sun Apr 18 10:39:35 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffread.c: Nuke NO_DEFINE_SYMBOL code. There is no going back. + + * stabsread.c (define_symbol): 'R' is synonym for 'P', not 'r'. + xcoffread.c (process_xcoff_symbol, case C_RPSYM): + Don't muck with SYMBOL_CLASS. + +Fri Apr 16 17:38:33 1993 Stu Grossman (grossman@cygnus.com) + + * munch: Don't use head command. It doesn't exist everywhere. + +Fri Apr 16 15:07:57 1993 Fred Fish (fnf@cygnus.com) + + * inflow.c (new_tty): Remove spurious 'o' character at end + of #endif line. + +Fri Apr 16 12:27:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips-tdep.c (mips_skip_prologue): Always skip the typical prologue + instructions and nothing more. + * mipsread.c (add_line): Add comment why we have to combine line number + entries for the same line number. + +Fri Apr 16 09:42:03 1993 Jim Kingdon (kingdon@cygnus.com) + + * symtab.{c,h}: Doc fixes (remove symseg references, last relevant + in gdb 2.8!). + +Thu Apr 15 21:16:58 1993 Fred Fish (fnf@cygnus.com) + + * depend, alldeps.mak: Update, now that gcc -MM bug is fixed. + +Thu Apr 15 12:38:39 1993 Jim Kingdon (kingdon@cygnus.com) + + * source.c (select_source_symtab): Clean up comment. Also, if + we have a current_source_symtab, and s is NULL, return without + doing anything. + xcoffread.c (xcoff_symfile_read): Don't call select_source_symtab. + breakpoint.c (breakpoint_re_set): Don't call select_source_symtab. + +Thu Apr 15 02:37:48 1993 John Gilmore (gnu@cacophony.cygnus.com) + + * dbxread.c (unknown_symchar_complaint): Add new complaint. + * stabsread.h: Declare it. + * partial-stab.h: Use it. + + * utils.c (malloc_botch): Don't forward-declare if NO_MMALLOC. + +Wed Apr 14 17:12:51 1993 Jim Kingdon (kingdon@cygnus.com) + + * stack.c (print_frame_info): Print specially if dummy frame. + + * breakpoint.c: Add comments regarding within_scope future direction. + + * Version 4.8.3. + + * xcoffread.c (record_include_{begin,end}): Change fatal to complain. + +Wed Apr 14 14:03:18 1993 Per Bothner (bothner@cygnus.com) + + * ch-exp.y: Fix thinko that broke parsing of FALSE. + +Wed Apr 14 12:49:29 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * stabsread.c (read_member_functions): Initialize domain for stubbed + member functions to avoid gdb core dumps when printing pointers + to member functions. + * cp-valprint.c (cp_print_class_method): Check for stubbed member + functions. + +Tue Apr 13 08:28:26 1993 Jim Kingdon (kingdon@cygnus.com) + + * expprint.c (print_subexp): If opcode not found in op_print_tab, + stop with an error(). + eval.c (evaluate_subexp): Change error message. + + * objfiles.c (build_objfile_section_table): Cast return value + from obstack_finish. + +Mon Apr 12 10:53:50 1993 Jim Kingdon (kingdon@cygnus.com) + + * config/rs6000/tm-rs6000.h, rs6000-tdep.c: Move FRAME_CHAIN + to rs6000_frame_chain and deal with it if we're in a signal handler. + (FRAME_SAVED_PC): Use rs6000_frame_chain. + + * breakpoint.c (within_scope): New function. + (enable_breakpoint, watchpoint_check): Use it. + + * source.c (openp): Handle "exec-file ./ls" correctly. + + * breakpoint.c (breakpoint_1): Use wrap_here before "at". + +Sat Apr 10 01:32:43 1993 Per Bothner (bothner@rtl.cygnus.com) + + * ch-exp.y: Clean up lexing of identifiers and + reserved words. (E.g. don't recognize FALSEXXX as the + keyword FALSE followed by the identifier XXX.) + Also, convert identifiers to lower case. + +Fri Apr 9 15:53:19 1993 Stu Grossman (grossman@cygnus.com) + + * remote-mips.c, remote-monitor.c, remote-st2000.c: Convert to + new serial interface. + +Fri Apr 9 15:01:12 1993 Stu Grossman (grossman@cygnus.com) + + * remote.c (remote_open): Use SERIAL_OPEN instead of serial_open. + (putpkt, getpkt): Use new return codes for SERIAL_READCHAR. + * ser-go32.c: Return -1 on most failures, 0 on most successes, + and use new return codes for go32_readchar(). + * ser-unix.c: Ditto. Also, move error handling up to caller for + SERIAL_SETBAUDRATE(). + * serial.c (serial_open): Internal call, not SERIAL_OPEN to get + to specific routine. + (serial_close): New routine to wrap around device close routine. + serial.h: Clean & document return values more clearly. + +Fri Apr 9 10:20:55 1993 Jim Kingdon (kingdon@cygnus.com) + + * rs6000-pinsn.c (print_operand): Deal with no operand instructions. + + * rs6000-pinsn.c (print_operand, case LI): Print condition register + operand in decimal rather than wrong textual versions. + + * printcmd.c (_initialize_printcmd): Clean up docstring for "x" + (mention 't', remove false thing about 'g' only good with 'f'). + + * breakpoint.h: move "struct breakpoint" and friends to top of + file so that bpstat_find_breakpoint prototype works. + + * solib.c (struct so_list): Add bfd field. + (solib_map_sections): Leave bfd open and scratch_pathname allocated. + Put the bfd in bfd field of the so_list. + (clear_solib): Free bfd name and close_bfd on the bfd. + +Fri Apr 9 00:45:41 1993 Per Bothner (bothner@rtl.cygnus.com) + + * valarith.c (value_subscript): Add COERCE_REF. + * ch-exp.y (operand_5): We can generalize the 2nd operand + of a string repetition ot 'literal' without ambiguity. + +Thu Apr 8 10:15:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.h (struct bpstat): Remove momentary field. + Remove bpstat_momentary_breakpoint. This was always kludgy + and is no longer used. + + * breakpoint.h: Add enum bpstat_what. + breakpoint.h (struct bpstat), breakpoint.c (bpstat_stop_status): + stop and print fields of bpstat now per-breakpoint, not just + one for the whole chain. + breakpoint.{c,h} (bpstat_what): New function. + breakpoint.h: Remove bpstat_stop and bpstat_should_print. + infrun.c: Replace switch (stop_bpstat->breakpoint_at->type) + with call to bpstat_what. + README: Remove watchpoint/breakpoint bug from known bugs. + + * breakpoint.h: Prototype bpstat_find_breakpoint. + +Thu Apr 8 16:01:21 1993 Fred Fish (fnf@cygnus.com) + + * symtab.c (find_methods, gdb_mangle_name): Note that functions + are g++ specific. + * symtab.h (VTBL_FNADDR_OFFSET, OPNAME_PREFIX_P, VTBL_PREFIX_P, + DESTRUCTOR_PREFIX_P): Note that macros are g++ specific. + +Thu Apr 8 12:45:32 1993 Ian Lance Taylor (ian@cygnus.com) + + * i960-pinsn.c (tabent): Copied struct definition from + opcodes/i960-dis.c. + +Thu Apr 8 10:34:37 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symtab.h (DESTRUCTOR_PREFIX_P): New macro to check if physname + is a C++ destructor. + * symtab.c (gdb_mangle_name): Use it. + * symtab.c (find_methods): Do not add destructors to choice list + for constructors. + * symtab.c (decode_line_1): Make breakpoints on destructors work + for gcc-2.x again. + +Wed Apr 7 18:43:09 1993 Stu Grossman (grossman@cygnus.com) + + * ser-go32.c: Make it use serial port name. + * go32-xdep.c: Put in def for strlwr, needed by dir.o in go32 libc. + + * infcmd.c (read_pc): Make sure that we read PC_REGNUM when not + in a system call! + +Wed Apr 7 15:52:11 1993 Stu Grossman (grossman@cygnus.com) + + * configure.in: Only configure sparclite subdir when target_cpu + is sparclite. + +Wed Apr 7 10:11:22 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffread.c (struct coff_symbol): Change c_sclass to unsigned char. + Remove FIXME comment regarding this. + + * symfile.h: Change NULL->'\0' in comment (that wasn't a typo). + + * xcoffread.c (read_xcoff_symtab): Use E_SYMNMLEN. + +Tue Apr 6 22:30:58 1993 K. Richard Pixley (rich@cygnus.com) + + Add section table to objfile struct. Use it for find_pc_section. + * objfiles.c (add_to_objfile_sections, + build_objfile_section_table, find_pc_section): new functions. + (allocate_objfile): build section table. + * objfiles.h (struct obj_section): new structure. + (struct objfile): add section table. + (find_pc_section): new prototype. + * solib.[ch] (find_pc_section_from_so_list): removed. + * sparc-tdep.c: include objfiles.h for find_pc_section. include + symfile.h for objfiles.h. + (in_solib_trampoline): adjusted for new find_pc_section + prototype. Removed BAD_RICH_HACK ifdefs. + * symfile.c (syms_from_objfile): offset objfile sections. + (find_pc_section): removed. Also removed BAD_RICH_HACK ifdefs. + * symfile.h (find_pc_section): prototype removed. Also fixed + comment typo NUL -> NULL. + * target.[ch] (find_pc_section_from_targets): removed. + * config/sparc/tm-sun4sol2.h (BAD_RICHH_HACK): removed. + +Tue Apr 6 21:41:13 1993 Stu Grossman (grossman@cygnus.com) + + * ser-go32.c: Format. (go32_open): Use proper return value. + + * configure.in: Undo conditional configdirs hack for sparclite. + +Tue Apr 6 17:07:37 1993 Jim Wilson (wilson@sphagnum.cygnus.com) + + * symtab.c (list_symbols): When call break_command, pass both + filename and function name not just function name. + +Tue Apr 6 15:00:09 1993 Fred Fish (fnf@cygnus.com) + + (Changes and new files to make "none" a full fledged configuration) + * config/none/{nm-none.h, tm-none.h, xm-none.h}: New files. + Currently only tm-none.h has any meaningful contents. + * config/none/none.mh (NAT_FILE): Use nm-none.h + * config/none/none.mh (XM_FILE): Use xm-none.h + * config/none/none.mt (TM_FILE): Use tm-none.h + * Makefile.in (depend): Remove comment about parse errors in + valops.c, it now parses correctly and generates a correct depend + line. Remove line that touches xm.h, tm.h, and nm.h; they are + now linked to config/none/{xm-none.h, tm-none.h, nm-none.h}. + +Tue Apr 6 09:54:29 1993 Jim Kingdon (kingdon@cygnus.com) + + * values.c (USE_STRUCT_RETURN): Only use gcc wierdness for gcc1. + + * xcoffread.c (read_xcoff_symtab): Deal correctly with symbols of + exactly 8 characters. + +Tue Apr 6 10:31:26 1993 Stu Grossman (grossman@cygnus.com) + + * configure.in: Sparclite uses sparc config dir. Also has it's + own tm- & .mt files now. Also add sparclite to configdirs. + * go32-xdep.c: Dummy routines for sigsetmask & strlwr. + * config/i386/go32.mh: Nullify def of TERMCAP. + * config/i386/xm-go32.h: Get rid of redef of EIO. + * config/sparc/{sparclite.mh tm-sparclite.h}: New sparclite + specific configs. Very similar to sun4os4, but without solib. + * sparclite/{Makefile.in configure.in}: First cut at making this + dir configgable. + +Tue Apr 6 03:10:44 1993 Stu Grossman (grossman@cygnus.com) + + * ser-go32.c: First cut at adapting to new serial interface. + +Mon Apr 5 22:29:43 1993 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (SFILES OBS): Add serial.[co] & ser-hardwire.[co]. + These implement a new serial line interface for talking to remote + targets. + * configure.in: Link ser-hardwire.c to ser-unix.c for all hosts, + EXCEPT go32, which gets ser-go32.c. + * remote.c: Use new serial interface. More remote-xxx's to be + converted later. + * ser-bsd.c, ser-termios.c: Removed. + * serial.c: New. Implements common operations for all serial + types. + * ser-unix.c: New. Unix specific serial operations for various + flavors of Unix (Posix, SysV, BSD). + * serial.h: Generic serial interface defs. + * config/i386/go32.mh, config/i386/i386bsd.h, + config/m68k/apollo68b.mh, config/sparc/sun4os4.mh: Remove + ser-bsd.o from XDEPFILES. All the magic is now handled in + configure.in. + +Mon Apr 5 20:48:54 1993 Stu Grossman (grossman@cygnus.com) + + * config/h8500/tm-h8500.h: Clean up brain damage found by GCC. + +Fri Apr 2 08:23:14 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffread.c (xcoff_symfile_offsets): Use 0 not addr for offsets. + + * rs6000-tdep.c (frameless_function_invocation): Don't even think + about framelessness except on the innermost frame. + + * xcoffexec.c: Call fatal() not abort(). + + * stabsread.c (patch_block_stabs): If stab & no symbol, make + a LOC_OPTIMIZED_OUT symbol. + symtab.h (enum address_class): Add LOC_OPTIMIZED_OUT. + findvar.c (read_var_value), printcmd.c (address_info), + symmisc.c (print_{,partial_}symbol), c-exp.y (variable), + m2-exp.y (yylex): Deal with it. + ch-exp.y (yylex): Deal with it. + +Thu Apr 1 18:43:02 1993 Stu Grossman (grossman@cygnus.com) + + * findvar.c (value_from_register): H8500 specific, check to see + if we are looking at short pointer. If so, skip crock. + * h8500-tdep.c (h8500_frame_chain): Mask down value from + read_memory_integer() to avoid getting messed up by sign extension. + +Thu Apr 1 16:44:41 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * sparc-tdep.c (in_solib_trampoline), symfile.c (find_pc_section): + ifdef protect using BAD_RICH_HACK. This should be removed soon. + * config/sparc/tm-sun4sol2.h (BAD_RICH_HACK): define. + +Thu Apr 1 09:01:38 1993 Jim Kingdon (kingdon@cygnus.com) + + * i960-pinsn.c, a29k-pinsn.c: Much abridged, just use libopcodes.a. + + * core.c (dis_asm_print_address): New function. + + * core.c (dis_asm_read_memory): Reinstate 4th arg. The prototype + has been fixed. + +Thu Apr 1 09:34:43 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * breakpoint.c (bpstat_print, bpstat_stop_status): Change to walk the + entire breakpoint chain and print only the first entry that needs to + be printed and needs to be stopped for. Fixes problems with printing + of multiple breakpoints with different conditions. + * breakpoint.c (print_it_done): Renamed from print_it_noop as it + effectively stops printing of the breakpoint chain. + * breakpoint.c (print_it_noop): New routine to print nothing + for this breakpoint entry and dont stop printing. + * breakpoint.c (breakpoint_re_set_one): mention the reevaluated + watchpoint only if it is enabled. + * mipsread.c (parse_procedure): Correct incorrect setjmp procedure + descriptor from the library to make backtraces through setjmp work. + * mipsread.c (fixup_sigtramp): Correct pcreg and fregoffset for + sigtramp. + * mips-tdep.c (read_next_frame_reg): Provide correct values for + all registers saved within sigtramp, cleanup. + +Wed Mar 31 12:52:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * sparc-pinsn.c: Much abridged, just calls version in libopcodes.a. + +Wed Mar 31 21:23:41 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * core.c (dis_asm_read_memory): drop fourth arg which conflicts + with prototype in ../include/dis-asm.h. + +Wed Mar 31 12:52:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * core.c (dis_asm_{read_memory,memory_error}): New functions. + m68k-pinsn.c, h8500-tdep.c, i386-pinsn.c, mips-pinsn.c, z8k-tdep.c: + Use read_memory_func interface to disassembler. + +Tue Mar 30 15:46:14 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + Teach sparc solaris to next over shared library functions. + * solib.[hc] (find_pc_section_from_so_list): new function and + prototype. + * sparc-tdep.c (in_solib_trampoline): new function. + * symfile.[hc] (find_pc_section): new function and prototypes. + * target.[hc] (find_pc_section_from_targets): new function and + prototypes. + * config/sparc/tm-sun4sol2.h (IN_SOLIB_TRAMPOLINE): redefine to + in_solib_trampoline. + +Tue Mar 30 08:06:24 1993 Jim Kingdon (kingdon@cygnus.com) + + * infrun.c (wait_for_inferior): Revise comment. + + * command.c (do_setshow_command): Use %u with var_{u,z}integer. + + * command.{c,h}: New var_type var_integer. + main.c: Use it for history_size. + + * rs6000-tdep.c, xcoffexec.c, config/rs6000/xm-rs6000.h, breakpoint.c: + Lint and byte-order fixups. + + * breakpoint.c (print_it_normal): Return 0 after hitting watchpoint. + + * breakpoint.h (bpstat): New field print_it. + breakpoint.c (bpstat_print): Use it. + (print_it_normal): New function (from old bpstat_print code). + (bpstat_{alloc,stop_status}): Set print_it field. + + * breakpoint.c (bpstat_stop_status): Use catch_errors when + evaluating watchpoint condition, via new function watchpoint_check. + Also stop if watchpoint disabled due to leaving its block. + + * findvar.c [REG_STRUCT_HAS_ADDR]: Add comment. + +Tue Mar 30 00:14:38 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips-pinsn.c: Add missing include of dis-asm.h. + +Mon Mar 29 15:03:25 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (clean, distclean, realclean): Recursively apply + to subdirs first, rather than last. This avoids, for example, + Makefile being removed in a parent directory before the recursive + make is run. + + * alldeps.mak, depend: Update for below changes. + + * config/m68k/tm-m68k.h: Renamed from config/m68k/tm-68k.h. + * m68k/{tm-3b1.h, tm-altos.h, tm-amix.h, tm-es1800.h, + tm-hp300bsd.h, tm-hp300hpux.h, tm-isi.h, tm-news.h, tm-os68k.h, + tm-st2000.h, tm-sun2.h, tm-sun3.h, tm-vx68.h}: Include tm-m68k.h + instead of tm-68k.h. + * Makefile.in (HFILES): tm-68k.h renamed to tm-m68k.h. + * README, a29k-pinsn.c, m68k-pinsn.c, m68k-stub.c, remote-vx.c, + m68k/{altos.mh, altos.mt, apollo68b.mh, nm-apollo68b.h, + nm-hp300bsd.h, config/m68k/xm-apollo68b.h}: Map '68k' to 'm68k'. + * a29k/tm-a29k.h, doc/gdbint.texinfo: Account for renaming of + tm-68k.h to tm-m68k.h. + * m68k/m68k-fp.mt (TM_FILE): tm-68k-fp.h renamed to tm-m68k-fp.h. + * m68k/m68k-nofp.mt (TM_FILE): tm-68k-nofp.h renamed to + tm-m68k-nofp.h. + + * config/a29k/tm-a29k.h: Renamed from config/a29k/tm-29k.h. + * a29k-pinsn.c: Renamed from am29k-pinsn.c. + * a29k-tdep.c: Renamed from am29k-tdep.c. + * remote-eb.c, config/a29k/tm-ultra3.h: Include renamed tm-a29k.h. + * remote-monitor.c, remote-st2000.c, config/a29k/{nm-ultra3.h, + tm-a29k.h, xm-ultra3.h}, config/romp/rtbsd.mh, doc/gdbinv-s.texi, + testsuite/gdb.t15/funcargs.exp, testsuite/gdb.t17/callfuncs.exp: + Map '29k' to 'a29k'. + * config/a29k/{a29k-kern.mt, a29k-udi.mt, a29k.mt, ultra3.mt} + (TDEPFILES): Use renamed a29k-pinsn.o and a29k-tdep.o. + * config/a29k/{a29k-udi.mt, a29k.mt} (TM_FILE): Use renamed + tm-a29k.h. + * config/a29k/a29k-udi.mt (MT_CFLAGS): Remove TARGET_AM29K + define that does not appear anywhere else in the gdb source tree. + * doc/gdbinit.texinfo: Document renaming of tm-29k.h to tm-a29k.h. + +Mon Mar 29 13:55:29 1993 Jim Kingdon (kingdon@cygnus.com) + + * breakpoint.c: Add comments regarding breakpoint_re_set. + + * xcoffread.c (sort_syms, compare_symbols): Remove. + (xcoff_symfile_read): Use sort_all_symtab_syms from symfile.c + not our own sort_syms (it is identical). + + * xcoffread.c: Nuke NAMES_HAVE_DOT define (not used). + +Sun Mar 28 11:24:37 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * breakpoint.c (breakpoint_re_set_one): Fix storage leak. + * breakpoint.c (enable_breakpoint): Don't enable watchpoint if it + went out of scope. + * exec.c (exec_close): Fix storage leak. + * exec.c (exec_file_command): Make sure that bfd doesn't realign the + output sections when patching an executable. + * mips-nat.c (store_inferior_registers): Use REGISTER_PTRACE_ADDR + when writing all registers. + * mips-tdep.c (mips_push_dummy_frame): Save floating point registers + at the right offset in the dummy frame. + * mipsread.c (psymtab_to_symtab_1): Do not complain for stProc, + stStaticProc and stEnd symbols as they are generated by gcc-2.x. + * mipsread.c (mipscoff_new_init): Initialize stabsread and buildsym. + +Fri Mar 26 15:25:05 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (TARFILES): Avoid trailing backslash. + +Fri Mar 26 11:29:30 1993 Jim Kingdon (kingdon@cygnus.com) + + * breakpoint.{c,h}: Add exp_string to struct breakpoint and use + it in breakpoint_re_set. + * breakpoint.c (watch_command, enable_breakpoint): Fetch lazy values. + + * rs6000-tdep.c (single_step): Misc cleanups (CORE_ADDR not int, + don't use sizeof(int) for target stuff, etc). + +Thu Mar 25 15:03:53 1993 Fred Fish (fnf@cygnus.com) + + * alldeps.mak, configure.in, i860-break.h, i860-opcode.h, + i860-pinsn.c, i860-tdep.c, config/i860/*: Remove incomplete i860 + support that can't be integrated anyway due to lack of clear + authorship. + +Thu Mar 25 12:26:50 1993 Stu Grossman (grossman@cygnus.com) + + * findvar.c (read_register, write_register): Make these capable + of reading/writing registers that are shorter than REGISTER_TYPE. + * (value_from_register): Install H8500 specific code to return + proper value when register is being used as a pointer. + * h8500-tdep.c: Remove extra defines of NUM_REGS. + (h8500_skip_prologue): Use correct lengths for LINK instructions. + (FRAME_CHAIN): Change name to h8500_frame_chain. Rewrite code to + chain frames properly by combining frame pointer with T reg. + (init_extra_frame_info): Delete. It's now a macro. + (frame_args_address): Don't add PTR_SIZE. Stack args are already + offset by the correct amount off of the frame pointer. + (register_byte): Delete. It's now a macro. + (register_raw_size, register_virtual_size): Delete. Replaced by + common routine h8500_register_size, cuz there's no difference + between the raw & virtual sizes on this machine. + (register_convert_to_raw, register_convert_to_virtual): Delete, + cuz there's no difference between the raw & virtual forms. + Replaced by memcpy in tm file. + (register_virtual_type): Rename to h8500_register_virtual_type. + Get rid of pointer pseudo-regs, use _REGNUM with all reg names. + (_initialize_h8500_tdep): Get rid of crock to ensure that GDB & + emulator have same reg offsets. This is all handled in the + simulator code now. + (h8500_trapped_internalvar): New routine to detect references to + convenience vars acting as pointer pseudo-regs. + (h8500_value_trapped_internalvar): Conjure up value of pointer + pseudo-regs. + (h8500_set_trapped_internalvar): Convert set value in real + register references. + infcmd.c (read_pc, write_pc): Add h8500 specific code to handle + code segment register. + infrun.c (proceed): Simplify. Call write_pc instead of doing it + by hand. + (wait_for_inferior): Add h8500 specific code to add stack segment + when reading SP register. + remote-sim.c (fetch_register): Spacing. + tm-h8500.h: #define GDB_TARGET_IS_H8500 to make it easier to + detect cruft. Redo all register manipulation stuff. Get rid of + pointer pseudo-regs. (INIT_EXTRA_FRAME_INFO): Adds stack segment + to frame pointer. (IS_TRAPPED_INTERNALVAL, + VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR): Use these + to create internal vars for pointer pseudo-regs. + +Thu Mar 25 10:10:28 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in: Numerous small changes to macro definitions + and rules for building gdb distribution tree. Many macros + eliminated or merged, and rules simplified. + * alldeps.mak: Update. + * depend: Update. + +Wed Mar 24 13:52:29 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) + + * Makefile.in: recurse through SUBDIRS for dvi target too + +Wed Mar 24 08:48:30 1993 Jim Kingdon (kingdon@cygnus.com) + + * Clean up xcoff relocation. + objfiles.h (struct objfiles): Add section_offsets, num_sections. + symfile.c (syms_from_objfile), xcoffread.c (xcoff_symfile_offsets): + Set them. + symtab.h (struct general_symbol_info): Add section field. + minsyms.c (prim_record_minimal_symbol{,_and_info}): Set it. + xcoffread.c: Set section for symbols and msymbols. + (struct symtab): Add block_line_section field. + buildsym.c (end_symtab): Set it. + (end_symtab and callers): Add section parameter. + objfiles.c (objfile_relocate): New funciton. + xcoffexec.c (vmap_symtab): Use it. + xcoffsolib.h (struct vmap): Remove unused fields. + config/rs6000/tm-rs6000.h, stack.c, xcoffexec.c: Remove + CORE_NEEDS_RELOCATION, symtab_relocated. + config/rs6000/tm-rs6000.h: Remove use of loadinfotext. + rs6000-tdep.c: Make loadinfotext static. + breakpoint.c (fixup_breakpoints): Doc fix. + symtab.h (struct symtab), config/rs6000/tm-rs6000.h, buildsym.c + (end_symtab): primary field replaces nonreloc. + +Tue Mar 23 00:10:53 1993 John Gilmore (gnu@cygnus.com) + + * symtab.h (struct linetable_entry): Remove confusing comment. + +Tue Mar 23 00:01:23 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: add installcheck target + +Mon Mar 22 16:17:58 1993 Fred Fish (fnf@cygnus.com) + + * config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k, + m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, + z8k}: New directories to hold cpu specific configuration files. + Naming follows gcc convention. + * config/{*.mt, *.mh}: All target and host makefile fragment + config files moved to an appropriate config/ subdirectory. + * nm-*, xm-*, tm-*: All native, host, and target files, which + get linked to nm.h, xm.h, and tm.h respectively by configure, + moved to appropriate config/ subdirectory. + * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: + Native, host, and target files that are common across more than + one cpu architecture and included by one of the configured + native, host, or target files, get moved to config directory. + * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to + pick up native, host, or target include files moved to one of + the config subdirectories, and that are included by other files. + * Makefile.in (alldeps.mak): Modify to account for new config + directory structure. + * alldeps.mak, depend: Update for new config directory structure. + * config/*/[ntx]m-*.h: Modify all files that include other + [ntx]m-*.h files to use path relative to gdb/config. I.E. + "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just + "tm-29k.h". + * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. + * mipsread.c (tm-mips.h): Include mips/tm-mips.h. + * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. + * configure.in: Default gdb_host_cpu to host_cpu, and remap + the ones where the default is not unique or different than the + config subdirectory name. Similarly, handle gdb_target_cpu. + Modify configure.in as appropriate to make use of gdb_host_cpu + and gdb_target_cpu to find makefile fragments and make links. + +Mon Mar 22 12:36:24 1993 Ian Lance Taylor (ian@cygnus.com) + + * mipsread.c (compare_blocks): Sort blocks with the same start + address by decreasing ending address. + +Mon Mar 22 20:36:04 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (parse_procedure): Save cur_fdr accross call to + lookup_symbol as it might get clobbered by the call. + + * mipsread.c (parse_partial_symbols): Use ADD_PSYMBOL_ADDR_TO_LIST. + The previous code did not initialize the language field for the psymtab + entry. + +Sat Mar 20 00:33:39 1993 John Gilmore (gnu@cygnus.com) + + * c-exp.y (parse_number): Avoid shift warning. + * serial.h (struct ttystate): Declare empty one on DOS. + +Fri Mar 19 12:59:50 1993 Stu Grossman (grossman@cygnus.com) + + * xm-sun4os4.h: Return type of free() should be void, not int. + + * vx-share/vxWorks.h: Remove #def of NULL. + +Fri Mar 19 11:28:18 1993 Jim Kingdon (kingdon@cygnus.com) + + * tm-rs6000.h: Nuke no-op STAB_REG_TO_REGNUM. + +Fri Mar 19 07:40:09 1993 Steve Chamberlain (sac@cygnus.com) + + * z8k-tdep.c (print_insn): Include the new dis-asm header file. + +Thu Mar 18 14:26:57 1993 Per Bothner (bothner@rtl.cygnus.com) + + * ieee-float.c: Moved to ../libiberty. + * ieee-float.h: Moved to ../include. + * Makefile.in: Update accordingly. + * i386-pinsn.c (print_insn), m68k-pinsn.c (print_insn): + Convert to stubs that call disassemblers in ../opcodes/*-dis.c. + * m68k-tdep.c: Removed definition of ext_format ext_format_68881; + it is now in ../opcodes/m68881-ext.c. + * mips-tdep.c (mips_skip_prologue): Try to skip more of the + prologue (some callers _do_ care). + * mips-pinsn.c (print_insn), z8k-tdep.c (print_insn): Convert to + new interface of ../opcodes/*-dis.c. + * ch-exp.y: Add #include . + +Thu Mar 18 11:57:49 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffexec.c (exec_close): Don't close exec_bfd twice. + + * xcoffread.c (enter_line_range): endaddr is exclusive, not inclusive. + +Wed Mar 17 09:46:31 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffread.c (arrange_linetable): Use x{m,re}alloc not {m,re}alloc. + +Wed Mar 17 11:28:11 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * z8k-tdep.c (extract_return_value, write_return_value, + store_struct_return): New functions from macros in tm-z8k.h. + +Wed Mar 17 11:23:06 1993 Fred Fish (fnf@cygnus.com) + + * valops.c (value_arg_coerce): Apply temporary patch to + fix problem with coercion of array and function types when + passed as arguments to C functions, pending a more complete + review of when and how coercion should be done, depending + upon context and language. + +Wed Mar 17 09:46:31 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffread.c (MIN_TBTABSIZ): Change to 12. + + * xcoffread.c (xcoff_symfile_read): Only read stringtab and + debugsec if there are a non-zero number of symbols. + +Tue Mar 16 18:08:45 1993 John Gilmore (gnu@cygnus.com) + + * command.c (show_user): Avoid fprintf_filtered botch (AGAIN!). + +Tue Mar 16 15:18:17 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffexec.c (add_vmap): Wrap symbol read in catch_errors. + + * xcoffread.c (read_symbol_lineno): Look to end of symbols for .bf, + not just 50 symbols. + (symtbl_num_syms): New variable. + (read_xcoff_symtab): Set it. + (read_symbol_nvalue): Check for bad symno. + (read_symbol_{lineno,nvalue}, callers): Don't pass symtable; it's + always symtbl. + +Tue Mar 16 10:09:05 1993 Stu Grossman (grossman@cygnus.com) + + * config/rs6000.mh: Get rid of -Dfd_set=int crock. + This is defined in defs.h if necessary. + * vx-share/vxWorks.h: Remove #defs of min and max. + * vx-share/xdr_ld.c, vx-share/xdr_ptrace.c, + vx-share/xdr_rdb.c: include defs.h. + +Fri Mar 12 09:33:23 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffread.c (retrieve_tracebackinfo): Move assignment out + of while condition. + + * xcoffread.c (enter_line_range): complain() on bad endoffset. + xcoffread.c: Doc fixes. + +Tue Mar 9 09:56:12 1993 Jim Kingdon (kingdon@cygnus.com) + + * tm-rs6000.h (CORE_NEEDS_RELOCATION): Just call xcoff_relocate_core. + xcoffexec.c (xcoff_relocate_core): New function. + (text_adjustment): Removed. + (add_vmap): Return the vmap. + rs6000-tdep.c (add_text_to_loadinfo): No longer static. + +Fri Mar 5 05:22:46 1993 Jim Kingdon (kingdon@cygnus.com) + + * xcoffsolib.h: Add objfile member to struct vmap. + xcoff{exec,solib}.c: Use it, not lookup_objfile_bfd. + xcoffexec.c (add_vmap): Allocate objfiles here. + +Sun Mar 14 02:54:15 1993 John Gilmore (gnu@cygnus.com) + + Support 68000 series without floating point. + + * configure.in (m68000-*-{aout,elf,coff}): New configs. + * tm-68k-nofp.h: New file, lacks 68881 support. + * config/m68k-nofp.mt: New file. + +Sun Mar 14 02:30:08 1993 John Gilmore (gnu@cygnus.com) + + Remove a few remaining underscore/no-underscore remnants from + config files. + + * config/{m68k-un.mt, sparc-un.mt}: Remove. + * config/m68k-noun.mt: Rename to m68k-fp.mt. + * config/sparc-noun.mt: Rename to sparc-em.mt. + * tm-68k-noun.h, tm-spc-noun.h: Remove. + * tm-68k-un.h: Rename to tm-68k-fp.h. + * tm-spc-un.h: Rename to tm-spc-em.h. + * tm-sun4sol2.h: Cleanup. + * configure.in (m68k-*, sparc-* targets): Corresponding changes. + +Sat Mar 13 14:58:22 1993 John Gilmore (gnu@cygnus.com) + + * symmisc.c (std_in, std_out, std_err): Move initializations + to runtime code, in case they aren't constant. + +Fri Mar 12 16:23:54 1993 K. Richard Pixley (rich@cygnus.com) + + * symtab.c (find_pc_symtab): some object file formats, notably + mips, have holes in the address ranges of symtabs. Change + this algorithm from first hit to tightest fit. + + * mips-tdep.c (heuristic_proc_start): if we walk the pc into the + fence post without finding the enclosing function, then print a + warning. + +Thu Mar 11 09:33:01 1993 Fred Fish (fnf@cygnus.com) + + * utils.c (fputs_demangled, fprint_symbol): Remove. + * utils.c (fprintf_symbol_filtered): New function which combines + the functionality of fputs_demangled and fprint_symbol. Uses a + caller provided language parameter to select the appropriate + demangler, and caller provided args to pass to the demangler. + * defs.h (enum language): Move further up in file so enum can + be used in prototypes. + * defs.h (fputs_demangled, fprint_symbol): Remove prototypes. + * defs.h (fprintf_symbol_filtered): Add prototype. + * c-typeprint.c (cp_type_print_method_args): Replace calls to + fputs_demangled with call to fprintf_symbol_filtered. + * cp-valprint.c (demangle.h): Include + * cp-valprint.c (cp_print_value_fields): Replace calls to + fprint_symbol with calls to fprintf_symbol_filtered. + * printcmd.c (print_frame_args): Replace call to fprint_symbol + with call to fprintf_symbol_filtered. + * stack.c (print_frame_info): Remove obsolete code so we don't + have to update fputs_demangled usage in it. + * stack.c (print_frame_info, frame_info): Add language variable + to pass to fprintf_symbol_demangled and initialize it from the + symbol's language. Replace calls to fputs_demangled with calls + to fprintf_symbol_filtered. + * symtab.c (find_methods): Replace call to fputs_demangled with + call to fprintf_symbol_filtered. + * ch-valprint.c (demangle.h): Include. + * ch-valprint.c (chill_print_value_fields): Replace call to + fprint_symbol with call to new fprintf_symbol_filtered. + +Wed Mar 10 17:37:11 1993 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump version to 4.8.2. + + * main.c (source_command): Require an explicit pathname of file + to source, since previous behavior of defaulting to gdb init file + was troublesome and undocumented. + * printcmd.c (disassemble_command): Add missing '{}' pair to + else with two statements. Bug reported by Stephane Tsacas + . + * symtab.c (find_pc_line): Don't complain about zero length or + negative length line numbers for the moment, since we may not own + the terminal when called, such as when single stepping. (FIXME) + * language.h (CAST_IS_CONVERSION): True if current language is + C++ as well as C. Fix from Peter Schauer. + * environ.c (get_in_environ, set_in_environ, unset_in_environ): + Use STREQN macro rather than bare '!strncmp()'. + * environ.c (unset_in_environ): Avoid use of memcpy on + overlapping memory regions, as suggested by Paul Eggert + . + * c-exp.y (%union struct): Remove unused ulval as suggested + by Paul Eggert . + +Mon Mar 8 19:03:06 1993 Fred Fish (fnf@cygnus.com) + + * main.c (gdbinit): Make static. + * main.c (inhibit_gdbinit): Move to file scope. + * main.c (main): Remove local inhibit_gdbinit. + * main.c (source_command): Don't source '.gdbinit' file by + default if gdb has been told to ignore it. + +Sun Mar 7 21:58:53 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (MAKEOVERRIDES): Define to be empty for GNU Make + 3.63. + +Fri Mar 5 17:39:45 1993 John Gilmore (gnu@cacophony.cygnus.com) + + * printcmd.c (print_address_symbolic): Only print if offset + is shorter than max_symbolic_offset. + (initialize_printcmd): `set print max-symbolic-offset'. + + * am29k-tdep.c (TAGWORD_ZERO_MASK): New #define. + (examine_tag): Use it. + (read_register_stack): Only look in the local registers for a + memory address if it's between rfb and rsp; go to memory otherwise. + (initialize_29k): Fix call_scratch_address doc. Remove reginv_com. + (reginv_com): Remove ancient kludge command. + +Fri Mar 5 17:16:26 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * tm-irix3.h (ZERO_REGNUM): copy this macro from tm-mips.h so that + irix4 will again compile. + + * tm-mips.h (GDB_TARGET_IS_MIPS): no longer used, now removed. + + * configure.in: accept mips-sgi-irix4* for irix4. + +Fri Mar 5 07:49:48 1993 Steve Chamberlain (sac@lisa.cygnus.com) + + * z8k-tdep.c (print_register_hook): Lint. + +Thu Mar 4 17:42:03 1993 John Gilmore (gnu@cygnus.com) + + Lint fixes from Paul Eggert (eggert@twinsun.com): + + * command.c (do_setshow_command): var_uintegers are unsigned. + * sparc-tdep.c (save_insn_opcodes, restore_insn_opcodes): + unsigned, since they use hex values with the high bit set. + +Thu Mar 4 08:22:55 1993 Fred Fish (fnf@cygnus.com) + + Fixes submitted by Karl Berry (karl@nermal.hq.ileaf.com): + * m88k-pinsn.c (sprint_address): Use SYMBOL_NAME macro to + access symbol name. + * m88k-nat-c (SXIP_OFFSET, SNIP_OFFSET, SFIP_OFFSET): Enclose + macro definitions in parenthesis. + + * dbxread.c (dbx_symfile_init): Catch the case where there is + no string table, but the only way we find out is by reading zero + bytes from EOF. + +Wed Mar 3 15:51:28 1993 Fred Fish (fnf@cygnus.com) + + * dbxread.c (dbx_symfile_init): Make size of the string table + size field a define (DBX_STRINGTAB_SIZE_SIZE). Ensure that the + offset to the string table is nonzero and handle the nonexistant + string table case, should it occur. Ensure that the string table + size read from the file is reasonable, with a minimum lower bound + of DBX_STRINGTAB_SIZE_SIZE instead of zero. + +Wed Mar 3 07:23:03 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: Changes to build testsuite correctly. + (FLAGS_TO_PASS): Added CXX and CXXFLAGS. + (CC_FOR_TARGET, CXX, CXX_FOR_TARGET): New variables. + (TARGET_FLAGS_TO_PASS): New variable. + (SUBDIRS): Added testsuite. + (all): Build testsuite using TARGET_FLAGS_TO_PASS, so that + testsuite is compiled with CC_FOR_TARGET rather than CC. + +Tue Mar 2 17:57:56 1993 Fred Fish (fnf@cygnus.com) + + * dbxread.c (dbx_symfile_init): Fix for nonexistant string table, + reported by mycroft@gnu.ai.mit.edu. + + (Ultrix 2.2 support from Michael Rendell ) + * configure.in (vax-*-ultrix2*): New triplet. + * config/vaxult2.mh: New file. + * xm-vaxult2.h: New file. + + * c-exp.y (parse_number): Change high_bit to unsigned. + * demangle.c: Change all references to cfront to ARM, since the + actual algorithm is the one specified in the Annotated Reference + Manual. This was confusing users into thinking that full cfront + support was implemented. + * dwarfread.c (CFRONT_PRODUCER): Remove, was never really used. + * eval.c (evaluate_subexp): For STRUCTOP_PTR pass the arg type + directly to lookup_struct_elt_type, which will do the + dereferencing itself. + * gdbtypes.c (lookup_struct_elt_type): Expand comments. Fix + NULL dereferencing bug for unnamed structs, comment out + questionable code. + +Mon Mar 1 17:54:41 1993 John Gilmore (gnu@cygnus.com) + + * coffread.c (process_coff_symbol): Change PCC argument correction + so that it only happens on big-endian targets; so that it only + happens if the short or char argument is aligned on an int + boundary; and so that it changes the location, rather than the + type, of the argument. These changes tend to parallel similar + (old) changes in stabsread.c. + + * coffread.c (coff_read_enum_type): Use the specified size for + enums, don't assume that they are int-sized. + + * c-valprint.c (c_val_print): Don't assume enums are the same as + ints. + + * coredep.c: Handle NO_PTRACE_H in coredep.c. Fix by Michael + Rendell, . + +Mon Mar 1 09:25:57 1993 Fred Fish (fnf@cygnus.com) + + * language.h (local_decimal_format_custom): Add prototype. + * language.c (local_decimal_format_custom): Add function, bug + reported by Robert R. Henry (rrh@tera.com). + +Fri Feb 26 18:33:18 1993 John Gilmore (gnu@cacophony.cygnus.com) + + * xcoffexec.c (vmap_ldinfo): Fix "/" for '/' typo, reported + by Josef Leherbauer, joe@takeFive.co.at. + +Wed Feb 24 19:17:11 1993 John Gilmore (gnu@cacophony.cygnus.com) + + * symfile.c (syms_from_objfile), tm-29k.h, tm-3b1.h, tm-68k-un.h, + tm-altos.h, tm-arm.h, tm-convex.h, tm-es1800.h, tm-h8300.h, + tm-hp300bsd.h, tm-hp300hpux.h, tm-hppa.h, tm-i386bsd.h, + tm-i386v.h, tm-i960.h, tm-irix3.h, tm-isi.h, tm-linux.h, + tm-m88k.h, tm-merlin.h, tm-mips.h, tm-news.h, tm-np1.h, tm-pn.h, + tm-pyr.h, tm-rs6000.h, tm-spc-un.h, tm-sun386.h, tm-sunos.h, + tm-symmetry.h, tm-sysv4.h, tm-tahoe.h, tm-umax.h, tm-vax.h, + tm-vx68.h, tm-z8k.h: Remove remnants of NAMES_HAVE_UNDERSCORE. + +Wed Feb 24 07:41:15 1993 Fred Fish (fnf@cygnus.com) + + * symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Initialize contents + of demangled name fields to NULL if no demangling exists for + a symbol. SYMBOL_INIT_LANGUAGE_SPECIFIC does this for new + symbols if their language is known at the time they are created, + but sometimes the language is not known until later. + + * ch-typeprint.c (chill_print_type_base): Name changed to + chill_type_print_base to match pattern for C and C++ names. + * ch-typeprint.c (chill_print_type): Change "char" to "CHAR" + to be consistent with other usages. + * ch-typeprint.c (chill_type_print_base): Add support for + printing Chill STRUCT types. + * ch-valprint.c: Include values.h. + * ch-valprint.c (chill_print_value_fields): New function and + prototype for printing Chill STRUCT values. + * ch-valprint.c (chill_val_print): Fix call to val_print_string + that was being called with two args instead of three. + * ch-valprint.c (chill_val_print): Call chill_print_value_fields + to print Chill STRUCT values. + +Tue Feb 23 18:58:11 1993 Mike Werner (mtw@poseidon.cygnus.com) + + * configure.in: added testsuite to configdirs. + +Tue Feb 23 11:46:11 1993 Mike Stump (mrs@cygnus.com) + + * doc/stabs.texi: The `this' pointer is now known by the name + `this' instead of `$t'. + +Tue Feb 23 11:21:33 1993 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (read_tag_string_type): Rewrite to allow forward + references of TAG_string_type DIEs in user defined types. + * ch-lang.c (chill_create_fundamental_type): Track compiler + change that now emits debugging info with the type long for Chill + longs. + +Mon Feb 22 15:21:54 1993 Ian Lance Taylor (ian@cygnus.com) + + * remote-mips.c: New file; implements MIPS remote debugging + protocol. + * config/idt.mt: New file; uses remote-mips.c + * configure.in (mips-idt-ecoff): New target; uses idt.mt. + + * mips-tdep.c (mips_fpu): New variable; controls use of MIPS + floating point coprocessor. + (mips_push_dummy_frame): If not mips_fpu, don't save floating + point registers. + (mips_pop_frame): If not mips_fpu, don't restore floating point + registers. + (_initialize_mips_tdep): New function; let the user reset mips_fpu + variable. + * tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): If not + mips_fpu, don't use fp0 as floating point return register. + (FIX_CALL_DUMMY): If not mips_fpu, don't save floating point + registers. + +Mon Feb 22 07:54:03 1993 Mike Werner (mtw@poseidon.cygnus.com) + + * gdb/testsuite: made modifications to testcases, etc., to allow + them to work properly given the reorganization of deja-gnu and the + relocation of the testcases from deja-gnu to a "tool" subdirectory. + +Sun Feb 21 10:55:55 1993 Mike Werner (mtw@poseidon.cygnus.com) + + * gdb/testsuite: Initial creation of gdb/testsuite. + Migrated dejagnu testcases and support files for testing nm to + gdb/testsuite from deja-gnu. These files were moved "as is" + with no modifications. This migration is part of a major overhaul + of dejagnu. The modifications to these testcases, etc., which + will allow them to work with the new version of dejagnu will be + made in a future update. + +Fri Feb 19 18:36:55 1993 John Gilmore (gnu@cygnus.com) + + * NEWS: Add reminders for next release. + +Fri Feb 19 10:01:39 1993 Ian Lance Taylor (ian@cygnus.com) + + * mipsread.c (parse_lines): Correct check for files compiled with + -g1. + +Fri Feb 19 05:56:15 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): 4.8.1 to distinguish local versions. + +Fri Feb 19 01:32:58 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): GDB-4.8 release! + * README, NEWS: Update for release. + +Thu Feb 18 22:44:40 1993 Stu Grossman (grossman@cygnus.com) + + * am29k-pinsn.c (print_insn): Minor nits with const. + * am29k-tdep.c: More minor nits with arg types for + supply_register, NULL vs. 0, read_register_gen, & reginv_com. + +Thu Feb 18 22:38:03 1993 John Gilmore (gnu@cygnus.com) + + * gcc.patch: Update for a different GCC (G++) bug. + * main.c (print_gdb_version): Update copyright year to 1993. + * nm-hp300bsd.h: Decide whether this is BSD 4.3 or 4.4, + conditionalize this file on it. FIXME, right way is to split + these into two config files. + (ATTACH_DETACH): Define for BSD 4.4 + (PTRACE_ARG_TYPE): caddr_t for BSD 4.4, unset for 4.3. + (U_REGS_OFFSET): Revise for 4.4. + (REGISTER_U_ADDR): Separate for 4.4, but it doesn't work yet. + * xm-hp300bsd.h: Move definitions of UINT_MAX, INT_MAX, INT_MIN, + LONG_MAX into this file to avoid cpp "redefinition" warnings. + +Thu Feb 18 16:13:28 1993 K. Richard Pixley (rich@rtl.cygnus.com) + + * nm-hp300bsd.h (PTRACE_ARG3_TYPE): FSF's hp300's have int* not + caddr_t. + +Thu Feb 18 04:10:06 1993 John Gilmore (gnu@cygnus.com) + + * c-lang.c (c_printstr): Bugfix for length==0 case. + + * c-lang.c (c_printstr): If a C string ends in a null, don't + print the null. + +Thu Feb 18 02:39:21 1993 Stu Grossman (grossman at cygnus.com) + + * defs.h (STRCMP): Make it work for unsigned chars. + +Thu Feb 18 01:56:06 1993 John Gilmore (gnu@cygnus.com) + + * nm-hp300bsd.h (ATTACH_DETACH, PTRACE_ATTACH, PTRACE_DETACH): define. + * config/hp300bsd.mh (REGEX, REGEX1): Define. + * m68k-pinsn.c (BREAK_UP_BIG_DECL, AND_OTHER_PART): #if __GNUC__, + define to kludge the large opcode table into two smaller tables, + since GCC take exponential space to build the table. Lint. + (NOPCODES): Remove, use "numopcodes" from opcode/m68k.h instead. + +Wed Feb 17 19:24:40 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): Roll to 4.7.9. + * xm-hp300bsd.h: Define PSIGNAL_IN_SIGNAL_H and put a compatible + definition here, to handle both BSD 4.3 and 4.4 systems. + * mipsread.c (ZMAGIC): #undef to avoid duplicate define. + * remote.c (alarm): Move declaration to global level, before + first reference to it. + * tm-i386bsd.h (NUM_REGS): There are only eleven, not twelve. + * dbxread.c (process_one_symbol): Cast to unsigned char, not int. + +Wed Feb 17 13:40:29 1993 K. Richard Pixley (rich@cygnus.com) + + * remote.c (readchar): forward declare alarm which otherwise looks + like an undeclared variable to gcc. + + * dbxread.c (process_one_symbol): cast enum value N_SO into int + when comparing against an int. Avoids superfluous warning from + vax ultrix 4.2 cc. + + * inflow.c (set_sigint_trap): add cast to assignment from signal. + Avoids superfluous warnings from some systems and/or compilers + (like vax ultrix 4.2.) + + * language.c (struct op_print unk_op_print_tab): use the enum + values rather naked zeros as initializers. Avoids warnings from + ultrix type compilers. + +Tue Feb 16 00:53:20 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): Roll to 4.7.6. + (SFILES_SUBDIR): Add 29k-share/udi_soc. + (SFILES_SUBSUBDIR): Move 29k-share/udi files to this macro. + (alldeps.mak): Make ALLDEPFILES_SUBSUBDIR for files in sub sub dirs. + (ALLDEPFILES_SUBSUBDIR): Depend on this for deeper dep files. + (HFILES): Remove all nm-* except nm-trash.h. Add ns32k-opcode.h. + (depend): Fix bug where nm-files in config files weren't noticed. + (make-proto-gdb-1): Avoid changing directories while building new + prototype. Build SFILES_SUBSUBDIR with longer symlinks. + +Mon Feb 15 20:48:09 1993 John Gilmore (gnu@cygnus.com) + + * remote.c: Improve error recovery. Allow user to break out + of initial connection attempt with INTERRUPT. Treat a timeout + while waiting for remote packet like a retry, unless the remote + side is actively running user code. Fix a few long printf_filtered's. + + * xcoffread.c (read_xcoff_symtab): Don't use null symbol name for + trampoline symbols. + + * buildsym.c (start_subfile): Allow null file name. + +Fri Feb 12 15:46:49 1993 K. Richard Pixley (rich@cygnus.com) + + * xcoffread.c (process_xcoff_symbol, read_symbol_lineno): complain + expects a pointer to complaint rather than a complaint + structure. + (process_linenos): free the previously allocated subfile name, + then allocate the new one from the heap. + +Fri Feb 12 08:06:05 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * h8300-tdep.c, tm-h8300.h: turn off some experimental features + +Thu Feb 11 00:59:07 1993 John Gilmore (gnu@cygnus.com) + + * stabsread.c (dbx_lookup_type): Handle negative type numbers. + Previously, would bogusly index off the bottom of type_vector. + (rs6000_builtin_type): Accept type number as argument. + (read_type, case '-'): Handle negatives like any other type number. + + * symfile.c (deduce_language_from_filename): Handle null name. + + * mips-tdep.c (isa_NAN): Fix byte order dependency. + Reported by Nobuyuki Hikichi , + fixed by sato@sm.sony.co.jp. + + * xcoffread.c (parmsym): Don't use an initializer to set up + this struct symbol. Set it up in initialize_xcoffread. + (read_xcoff_symtab, xcoff_symfile_read): Surround code that only + works on real rs/6000 target with #ifndef FAKING_RS6000. + +Wed Feb 10 23:42:37 1993 John Gilmore (gnu@cygnus.com) + + * stabsread.c (rs6000_builtin_type): Move function from + xcoffread.c:builtin_type. + * xcoffread.c (builtin_type): Move to stabsread. Remove + IBM6000_HOST dependency. Move misplaced comments. + (various): Change printf's to complaints. + (patch_block_stabs, process_xcoff_symbol case C_DECL): Add + objfile argument to read_type calls under #if 0. + (process_xcoff_symbol case C_RSYM): Fix typo in #ifdef. + * xcoffexec.c (map_vmap): Don't allocate an objfile for the exec_file. + * Makefile.in: xcoffread.o is not built by default. + * xm-rs6000.h (IBM6000_HOST): Remove. + * config/rs6000.mh (NATDEPFILES): xcoffread.o is native only. + * doc/gdbint.texinfo: Eliminate IBM6000_HOST, document + IBM6000_TARGET. + +Wed Feb 10 18:31:20 1993 Stu Grossman (grossman at cygnus.com) + + * findvar.c (read_var_value): If REG_STRUCT_HAS_ADDR, then set + VALUE_LVAL to be lval_memory so that we don't try to modify wild + register numbers when user tries to modify elements in structs + passed as arguments. + * inflow.c (child_terminal_info): Move banner outside of system + specific #ifdefs. + * tm-hppa.h (REG_STRUCT_HAS_ADDR): Define this for HPPA, which + passes struct/union arguments by address. + +Wed Feb 10 15:34:46 1993 Ian Lance Taylor (ian@cygnus.com) + + * Based on patch from Kean Johnston : + * nm-i386sco4.h: New file. Like nm-i386sco.h, but define + ATTACH_DETACH, PTRACE_ATTACH and PTRACE_DETACH. + * config/i386sco4.mh (NAT_FILE): Use nm-i386sco4.h. + +Tue Feb 9 20:07:18 1993 John Gilmore (gnu@cygnus.com) + + * remote-udi.c (FREEZE_MODE): Fix && for & typo. Found and + fixed by Lynn D. Shumaker, shumaker@saifr00.cfsat.honeywell.com. + +Tue Feb 9 08:18:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/i386sco4.mh (MUNCH_DEFINE): Pass -p to nm to avoid bug in + cc debugging output. + +Tue Feb 9 00:19:28 1993 John Gilmore (gnu@cygnus.com) + + * stabsread.c (define_symbol): Complain about unrecognized names + that begin with CPLUS_MARKER (often '$'), but don't die. Fix + suggested by gb@cs.purdue.edu (Gerald Baumgartner). + (read_cpp_abbrev): Don't use the class name as part of the + vtable pointer member name (_vptr$) in $vf abbrevs or unrecognized + abbrevs. Inspired by Mike Tiemann. + (read_tilde_fields): Comment. Remove ancient dead code. + Remove erroneous but non-dead code. Simplify. Add complaints. + (in general): Remove extraneous (parentheses) in return + statements. + +Fri Feb 5 14:01:22 1993 John Gilmore (gnu@cygnus.com) + + * coffread.c (coff_lookup_type): Fix fencepost error reported + by Art Berggreen, . + + Fix long file name bug reported on SCO Open Desktop 2.0 by Ulf Lunde + and Dag H. Wanvik : + + * coffread.c (getfilename): Eliminate COFF_NO_LONG_FILE_NAMES + test, which is apparently left over from when we used native + include files and couldn't depend on the member names being there. + * tm-3b1.h, tm-altos.h, tm-i386v.h: Don't set it. + +Thu Feb 4 12:23:15 1993 Ian Lance Taylor (ian@cygnus.com) + + * mipsread.c: Major overhaul to use new BFD symbol table reading + routines. Now swaps information as it is needed, rather than + swapping everything when the file is read. + +Thu Feb 4 01:52:36 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (TARDIRS): Add sparclite demo dir. + (*.tab.c): Change dependency on Makefile to depend on + Makefile.in, otherwise it always rebuilds after configuring. + Force output *.tab.c file into current directory even in "make" + versions that rewrite dependent file names used in command lines. + + * TODO: Remove some things we did. + * am29k-opcode.h, convx-opcode: Remove; now in ../include/opcode. + * os68k-xdep.c: Remove; useless file (os68k is a target only). + * convex-pinsn.c: Use ../include/opcode/convex.h. Add CONST. + * symtab.h: Eliminate unnamed unions and structs. + +Wed Feb 3 14:48:08 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): Roll to 4.7.5. + +Tue Feb 2 20:47:42 1993 John Gilmore (gnu@cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Handle watchpoints when + re-evaluating symbol pointers. + +Tue Feb 2 16:10:31 1993 Fred Fish (fnf@cygnus.com) + + * c-exp.y (lcurly, rcurly): New nonterminals. + * c-exp.y (exp): Use lcurly and rcurly for arrays and UNOP_MEMVAL + constructs. + * parse.c (free_funcalls): Moved prototype from parser-defs.h, + made function static. + * parse.c (struct funcall): Moved struct def from parser-defs.h. + * parse.c (funcall_chain): Moved from parser-defs.h, made static. + * parse.c (start_arglist): + * parser-defs.h (free_funcalls): Moved prototype to parse.c. + * parser-defs.h (struct funcall): Moved struct def to parse.c. + * parser-defs.h (funcall_chain): Moved to parse.c. + * printcmd.c (print_frame_nameless_args): Fix prototype. + * tm-mips.h (setup_arbitrary_frame): Fix prototype. + * tm-sparc.h (setup_arbitrary_frame): Fix prototype. + * valops.c (typecmp): Moved prototype from values.h. + * value.h (typecmp): Moved prototype to valops.c, made static. + * ch-exp.y (yylex): Change way control sequences are disabled. + +Tue Feb 2 16:11:43 1993 John Gilmore (gnu@cygnus.com) + + * tm-mips.h, tm-sparc.h: Fix thinko in SETUP_ARBITRARY_FRAME. + +Tue Feb 2 15:30:33 1993 Ian Lance Taylor (ian@cygnus.com) + + * mipsread.c (upgrade_type): Build array types correctly, using + create_range_type and create_array_type. + +Tue Feb 2 00:19:08 1993 John Gilmore (gnu@cygnus.com) + + * remote-nindy.c: Cleanup. + + * infrun.c (wait_for_inferior): When rolling back the PC after + a breakpoint, call write_pc so that NPC gets rolled back as well + (for the 29K). + + * blockframe.c (inside_entry_file, inside_main_func, + inside_entry_func): PC of zero is always "bottom of stack". + + * printcmd.c (print_frame_args, print_frame_nameless_args): + Let print_frame_nameless_args decide whether there are any, + laying groundwork for possibly later printing 29K args for + functions where we have tag words but no symbols. + +Mon Feb 1 18:09:58 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * Makefile.in: fix GDB doc targets for new doc subdir structure + +Mon Feb 1 17:56:47 1993 John Gilmore (gnu@cygnus.com) + + * stack.c (parse_frame_specification): Parse as many arguments + as there are (up to MAXARGS). Pass all of them in argc, argv + format to SETUP_ARBITRARY_FRAME. Put the burden of checking how + many there were, onto SETUP_ARBITRARY_FRAME. + * tm-mips.h, tm-sparc.h: Corresponding changes. + * mips-tdep.c, sparc-tdep.c: Ditto. + +Mon Feb 1 17:19:37 1993 John Gilmore (gnu@cygnus.com) + + * hp300ux-nat.c: Update copyrights. + * mipsread.c (parse_partial_symbols): Complain about block + indexes that go backwards. Fix from Peter Schauer. + * symfile.c (syms_from_objfile, symbol_file_add): Allow a + symbol-file that has no linkage symbols to be read. + * tm-rs6000.h, xm-rs6000.h: (SIGWINCH_HANDLER and friends): Move + from tm- file to xm-file, since they're host dependent. + * valarith.c (value_binop): Typo. + +Mon Feb 1 16:16:59 1993 Stu Grossman (grossman at cygnus.com) + + * sparclite/aload.c: Add copyleft. + * sparclite/crt0.s: Add comment at beginning. + +Mon Feb 1 14:36:11 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * remote-z8k.c, z8k-tdep.c: support for the Z8001 and Z8002. + * parse.c (std_regs): Only declare if NO_STD_REGS is defined. + +Sun Jan 31 04:32:48 1993 Michael Tiemann (tiemann@rtl.cygnus.com) + + * values.c (value_headof): Fix typo in which VTBL and ARG were + being confused for one another. + + * valops.c (typecmp): Now static. + + * gdbtypes.c (fill_in_vptr_fieldno): Don't ignore the first + baseclass--we don't always inherit its virtual function table + pointer. + + * eval.c (evaluate_subexp): In OP_FUNCALL case, adjust `this' + pointer correctly in case value_struct_elt moves it around. + + * valops.c (typecmp): Now static. Also, now groks references + better. + + * gdbtypes.c (lookup_struct_elt_type): Pass NOERR instead of + zero on recursive call. If NAME is the name of TYPE, return TYPE. + +Sat Jan 30 19:55:52 1993 John Gilmore (gnu@cygnus.com) + + * hppah-nat.c: Eliminate and other unnecessary stuff, + to avoid "too much defining" error from native C compiler (!). + + * Makefile.in (HFILES): Add typeprint.h. + * typeprint.[ch]: Update copyrights. + +Thu Jan 28 19:09:02 1993 John Gilmore (gnu@cygnus.com) + + * Makefile.in: Update to match doc/ subdir changes. + + * config/hp300hpux.mh: No cross-host file needed, just native. + * config/go32.mh: Remove nonexistent "native" support. + + M88K fixes reported by Carl Greco, : + * tm-m88k.h (REGISTER_CONVERT_TO_RAW): Fix typo. + * m88k-tdep.c (next_insn): Lint, cleanup. + (store_parm_word): Lint. + + * README: Fix typo (reported by karl@hq.ileaf.com). + +Wed Jan 27 21:34:21 1993 Fred Fish (fnf@cygnus.com) + + * expression.h (BINOP_CONCAT): Document use for self concatenation + an integral number of times. + * language.c (binop_type_check): Extend BINOP_CONCAT for self + concatenation case. + * valarith.c (value_concat): Rewrite to support self + concatenation an integral number of times. + * Makefile.in (ch-exp.tab.c): Change "expect" message. + * ch-exp.y (FIXME's): Make all FIXME tokens distinct, to + eliminate hundreds of spurious shift/reduce and reduce/reduce + conflicts that mask the 5 real ones. + * ch-exp.y (STRING, CONSTANT, SC): Remove unused tokens. + * ch-exp.y (integer_literal_expression): Remove production, + no longer used. + +Thu Jan 21 09:58:36 1993 Fred Fish (fnf@cygnus.com) + + * eval.c (evaluate_subexp): Fix OP_ARRAY, remove code that + implied that "no side effects" was nonfunctional. + * eval.c (evaluate_subexp): Add BINOP_CONCAT case to deal with + character string and bitstring concatenation. + * expprint.c (dump_expression): Add case for BINOP_CONCAT. + * expression.h (exp_opcode): Add BINOP_CONCAT. + * gdbtypes.h (type_code): Add TYPE_CODE_BITSTRING. + * language.c (string_type): Add function to determine if a type + is a string type. + * language.c (binop_type_check): Add case for BINOP_CONCAT. + * valarith.c (value_concat): New function to concatenate two + values, such as character strings or bitstrings. + * valops.c (value_string): Remove error stub and implement + function body. + * value.h (value_concat): Add prototype. + * ch-exp.y (operand_3): Add actions for SLASH_SLASH (//). + * ch-exp.y (yylex): Recognize SLASH_SLASH. + * ch-lang.c (chill_op_print_tab): Add SLASH_SLASH (//) as + BINOP_CONCAT. + +Tue Jan 19 14:26:15 1993 Fred Fish (fnf@cygnus.com) + + * c-exp.y (exp): Add production to support direct creation + of array constants using the obvious syntax. + * c-valprint.c (c_val_print): Set printed string length. + * dwarfread.c (read_tag_string_type): New prototype and + function that handles TAG_string_type DIEs. + * dwarfread.c (process_dies): Add case for TAG_string_type + that calls new read_tag_string_type function. + * expprint.c (print_subexp): Add support for OP_ARRAY. + * gdbtypes.c (create_range_type, create_array_type): Inherit + objfile from the index type. + * ch-typeprint.c (chill_print_type): Add case for + TYPE_CODE_STRING. + * ch-valprint.c (chill_val_print): Fix case for + TYPE_CODE_STRING. + +Mon Jan 18 11:58:45 1993 Ian Lance Taylor (ian@cygnus.com) + + * mipsread.c (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, + MIPS_UNMARK_STAB, STABS_SYMBOLS): Removed; now in + include/coff/mips.h. + +Fri Jan 15 20:26:50 1993 Fred Fish (fnf@cygnus.com) + + * c-exp.y (exp:STRING): Convert C strings into array-of-char + constants with an explicit null byte terminator. OP_STRING is + now used for real string types. + * c-lang.c (builtin_type_*): Move declarations to lang.c since + they are used by all languages. + * c-lang.c (_initialize_c_language): Move initializations of + builtin_type_* to lang.c. + * c-typeprint.c (c_type_print_varspec_prefix, + c_type_print_varspec_suffix): TYPE_CODE_PASCAL_ARRAY renamed + to TYPE_CODE_STRING. + * c-valprint.c (c_val_print): Change the way character arrays + are printed as strings to be consistent with the way strings + are printed when pointer-to-char types are dereferenced. + Remove test of print_max before calling val_print_string, which + now does it's own test. + * eval.c (evaluate_subexp): Add case for OP_ARRAY. + * expprint.c (print_subexp, dump_expression): Add case for OP_ARRAY. + * expression.h (enum exp_opcode): Add OP_ARRAY and document. + * gdbtypes.c (builtin_type_*): Add declarations moved from + c-lang.c. + * gdbtypes.c (create_string_type): New function to create real + string types. + * gdbtypes.c (recursive_dump_type): TYPE_CODE_PASCAL_ARRAY + renamed to TYPE_CODE_STRING. + * gdbtypes.c (_initialize_gdbtypes): Add initializations of + builtin_type_* types moved from c-lang.c. + * gdbtypes.h (enum type_code): TYPE_CODE_PASCAL_ARRAY renamed + to TYPE_CODE_STRING. + * gdbtypes.h (builtin_type_string): Add extern declaration. + * gdbtypes.h (create_string_type): Add prototype. + * m2-lang.c (m2_create_fundamental_type): TYPE_CODE_PASCAL_ARRAY + renamed to TYPE_CODE_STRING. + * m88k-tdep.c (pushed_size): TYPE_CODE_PASCAL_ARRAY renamed to + TYPE_CODE_STRING. + * mipsread.c (_initialize_mipsread): TYPE_CODE_PASCAL_ARRAY + renamed to TYPE_CODE_STRING. + * parse.c (length_of_subexp, prefixify_subexp): Add case for + OP_ARRAY. + * printcmd.c (print_formatted): Recognize TYPE_CODE_STRING. + * typeprint.c (print_type_scalar): TYPE_CODE_PASCAL_ARRAY renamed + to TYPE_CODE_STRING. + * valops.c (allocate_space_in_inferior): New function and + prototype, using code ripped out of value_string. + * valops.c (value_string): Rewritten to use new function + allocate_space_in_inferior, but temporarily disabled until some + other support is in place. + * valops.c (value_array): New function to create array constants. + * valprint.c (val_print_string): Add comment to document use, + complete rewrite to fix several small buglets. + * value.h (value_array): Add prototype. + * value.h (val_print_string): Change prototype to match rewrite. + * ch-valprint.c (chill_val_print): Add case for TYPE_CODE_STRING. + * ch-exp.y (match_character_literal): Disable recognition of + control sequence form of character literals and document why. + +Thu Jan 14 15:48:12 1993 Stu Grossman (grossman at cygnus.com) + + * nindy-share/nindy.c: Add comments to #endif's to clarify + grouping. + + * hppa-pinsn.c (print_insn): Use read_memory_integer, instead of + read_memory to get byte order right. + * hppah-tdep.c (find_unwind_info): Don't read in unwind info + anymore. This is done in paread.c now. We expect unwind info + to hang off of objfiles, and search all of the objfiles when until + we find a match. + * (skip_trampoline_code): Cast arg to target_read_memory. + * objfiles.h (struct objfile): Add new field obj_private to hold + per object file private data (unwind info in this case). + * paread.c (read_unwind_info): New routine to read unwind info + for the objfile. This data is hung off of obj_private. + * tm-hppa.h: Define struct obj_unwind_info, to hold pointers to + the unwind info for this objfile. Also define OBJ_UNWIND_INFO to + make this easier to access. + +Wed Jan 13 20:49:59 1993 Fred Fish (fnf@cygnus.com) + + * c-valprint.c (cp_print_class_member): Add extern decl. + * c-valprint.c (c_val_print): Extract code for printing methods + and move it to cp_print_class_method in cp-valprint.c. + * c-valprint.c (c_val_print): Extract code to print strings and + move it to val_print_string in valprint.c. + * cp-valprint.c (cp_print_class_method): New function using + code extracted from c_val_print. + * valprint.c (val_print_string): New function using code + extracted from c_val_print. + * value.h (val_print_string): Add prototype. + * ch-exp.y (CHARACTER_STRING_LITERAL): Set correct token type. + * ch-exp.y (literal): Add action for CHARACTER_STRING_LITERAL. + * ch-exp.y (tempbuf, tempbufsize, tempbufindex, GROWBY_MIN_SIZE, + CHECKBUF, growbuf_by_size): New variables, macros, and support + functions for implementing a dynamically expandable temp buffer. + * ch-exp.y (match_string_literal): New lexer function. + * ch-exp.y (match_bitstring_literal): Dynamic buffer code + removed and replaced with new CHECKBUF macro. + * ch-exp.y (yylex): Call match_string_literal when appropriate. + * ch-valprint.c (ch_val_print): Add code for TYPE_CODE_PTR. + +Sat Jan 9 19:59:33 1993 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Add info for paread.o. + * config/hppahpux.mh: Add paread.o to NATDEPFILES. + + * blockframe.c (frameless_look_for_prologue): Correct the + comment. + * gdbtypes.h, gdbtypes.c: Use const in decl of + cplus_struct_default, now that pa-gas assembler has been fixed. + * hppah-nat.c: Formatting. + * hppah-tdep.c: Remove lots of useless externs for variables we + don't use. + * (find_unwind_entry): Speed up by using binary search, and a one + entry cache. + * (rp_saved): New routine to see what unwind info says about RP + being saved on the stack frame. + * (frame_saved_pc): Look for prologue to see if we need to + examine the stack for the saved RP or not. + * (init_extra_frame_info): Check for prologue, instead of + framesize to determine if we are frameless or not. + * (frame_chain_valid): Stop backtraces when we run into _start. + * (push_dummy_frame): Reformat to make more readable. + * (find_dummy_frame_regs): ditto. + * (hp_pop_frame): ditto. + * (hp_restore_pc_queue): small cleanup. + * (hp_push_arguments): ditto. + * (pa_do_registers_info): ditto. + * (skip_prologue): New routine created from SKIP_PROLOGUE macro. + * tm-hppa.h: Move contents of SKIP_PROLOGUE into hppah-tdep.c. + * Define FRAME_CHAIN_VALID. + * Turn on BELIEVE_PCC_PROMOTION so that we can access char args + passed to functions. + + * paread.c (pa_symtab_read): Use new bfd conventions for + accessing linker symbol table. + * (pa_symfile_init): Access embedded STAB info via BFD section + mechanism and related macros. + + +Sat Jan 9 19:31:43 1993 Stu Grossman (grossman at cygnus.com) + + * sparc-stub.c: Use a seperate stack for our traps. + * Handle recursive traps. + * Remove all trap init code. This needs to be done by the + environment. + * (set_mem_fault_trap): Call exceptionHandler() to setup this + trap. + * (handle_exception): See if we are at breakinst, if so, then + advance PC sp that users can just step out of breakpoint(). + * (case 'G'): Don't let GDB hack CWP. Also, copy saved regs to + new place if SP has changed. + * (case 's'): Get rid of this, we can't do it yet. + * (case 't'): New command to test any old random feature. + * (case 'r'): New command to reset the system. + * (breakpoint): Add label to breakpoint trap instruction so that + handle_exception() can detect where we are and get past the + breakpoint trivially. + +Thu Jan 7 13:33:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips-pinsn.c: Actual work now done by opcodes/mips-dis.c. + +Thu Jan 7 09:21:51 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognise all sparclite variants + +Wed Jan 6 10:14:51 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * symfile.c: If O_BINARY isn't defined, set it to 0, call openp for + binary files oring in the right bit. + + * main.c, source.c, state.c, symmisc.c: use macros defined in + fopen-{bin|both} when fopening files. + +Wed Jan 6 08:19:11 1993 Fred Fish (fnf@cygnus.com) + + * defs.h (HOST_CHAR_BIT): New macro, defaults to either CHAR_BIT + from a configuration file (typically including ), or to + TARGET_CHAR_BIT if CHAR_BIT is not defined. + * eval.c (evaluate_subexp): Use new BYTES_TO_EXP_ELEM macro. + * eval.c (evaluate_subexp): Add case for OP_BITSTRING. + * expprint.c (print_subexp): Use new BYTES_TO_EXP_ELEM macro. + * exppritn.c (print_subexp, dump_expression): Add case for + OP_BITSTRING. + * expression.h (OP_BITSTRING): New expression element type for + packed bitstrings. + * expression.h (EXP_ELEM_TO_BYTES, BYTES_TO_EXP_ELEM): New + macros to convert between number of expression elements and bytes + to store that many elements. + * i960-tdep.c (leafproc_return): Use new macros to access + minimal symbol name and address fields. + * m88k-pinsn.c (sprint_address): Use new macros to access + minimal symbol name and address fields. + * nindy-tdep.c (nindy_frame_chain_valid): Use new macro to access + minimal symbol address field. + * parse.c (write_exp_elt, write_exp_string, prefixify_expression, + parse_exp_1): Use new EXP_ELEM_TO_BYTES macro. + * parse.c (write_exp_string, length_of_subexp, prefixify_expression): + Use new BYTES_TO_EXP_ELEM macro. + * parse.c (write_exp_bitstring): New function to write packed + bitstrings into the expression element vector. + * parse.c (length_of_subexp, prefixify_subexp): Add case for + OP_BITSTRING. + * parser-defs.h (struct stoken): Document that it is used for + OP_BITSTRING as well as OP_STRING. + * parser-defs.h (write_exp_bitstring): Add prototype. + * ch-exp.y (BIT_STRING_LITERAL): Change token type to sval. + * ch-exp.y (NUM, PRED, SUCC, ABS, CARD, MAX, MIN, SIZE, UPPER, + LOWER, LENGTH): New tokens for keywords. + * ch-exp.y (chill_value_built_in_routine_call, mode_argument, + upper_lower_argument, length_argument, array_mode_name, + string_mode_name, variant_structure_mode_name): New non-terminals + and productions. + * ch-exp.y (literal): Useful production for BIT_STRING_LITERAL. + * ch-exp.y (match_bitstring_literal): New lexer support function + to recognize bitstring literals. + * ch-exp.y (tokentab6): New token table for 6 character keywords. + * ch-exp.y (tokentab5): Add LOWER, UPPER. + * ch-exp.y (tokentab4): Add PRED, SUCC, CARD, SIZE. + * ch-exp.y (tokentab3): Add NUM, ABS, MIN, MAX. + * ch-exp.y (yylex): Check tokentab6. + * ch-exp.y (yylex): Call match_bitstring_literal. + +Mon Jan 4 16:54:18 1993 Fred Fish (fnf@cygnus.com) + + * xcoffexec.c (vmap_symtab): Use new macros to access minimal + symbol name and value fields. + + * c-exp.y (yylex): Make static, to match prototype and other + -exp.y files. + + * expression.h (exp_opcode): Add BINOP_MOD. + * eval.c (evaluate_subexp): Handle new BINOP_MOD. + * expprint.c (dump_expression): Handle new BINOP_MOD. + * language.c (binop_type_check): Handle new BINOP_MOD. + * main.c (float_handler): Re-enable float handler when hit. + * valarith.c (language.h): Include, need current_language. + * valarith.c (TRUNCATION_TOWARDS_ZERO): Define default macro + for integer divide truncates towards zero for negative results. + * valarith.c (value_x_binop): Handle BINOP_MOD if seen. + * valarith.c (value_binop): Allow arithmetic operations on + TYPE_CODE_CHAR variables. Add case to handle new BINOP_MOD. + * ch-exp.y (operand_4): Add useful actions for MOD and REM. + * ch-exp.y (tokentab3): Add MOD and REM. + * ch-exp.y (yylex): Set innermost_block for symbols found + in local scopes. Return LOCATION_NAME for local symbols. + * ch-lang.c (chill_op_print_tab): Fix MOD entry to use + BINOP_MOD instead of BINOP_REM. Add REM entry, using BINOP_REM. + +Mon Jan 4 07:35:31 1993 Steve Chamberlain (sac@wahini.cygnus.com) + + * command.c (shell_escape, make_command, _initialize_command): + don't create or use fork if CANT_FORK is defined. + * serial.h, ser-go32.c: now compiles, but "the obvious problems of + code written for the IBM PC" remain. + * xm-go32.h: define CANT_FORK + +Sun Jan 3 14:24:56 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * remote-sim.c: first attempt at general simulator interface + * remote-hms.c: whitespace + * h8300-tdep.c: (h8300_skip_prologue, examine_prologue): + understand new stack layout. (print_register_hook): print ccr + register in a fancy way. + +Sun Jan 3 14:16:10 1993 Fred Fish (fnf@cygnus.com) + + * eval.c (language.h): Include. + * eval.c (evaluate_subexp_with_coercion): Only coerce arrays + to pointer types when the current language is C. It loses for + other languages when the lower index bound is nonzero. + * valarith.c (value_subscript): Take array lower bounds into + account when performing subscripting operations. + * valops.c (value_coerce_array): Add comment describing why + arrays with nonzero lower bounds are dealt with in value_subscript, + rather than in value_coerce_array. + +Sat Jan 2 12:16:41 1993 Fred Fish (fnf@cygnus.com) + + * ch-exp.y (FLOAT_LITERAL): Add token. + * ch-exp.y (literal): Add FLOAT_LITERAL. + * ch-exp.y (match_float_literal): New lexer routine. + * ch-exp.y (convert_float): Remove. + * ch-exp.y (yylex): Call match_float_literal. + * ch-exp.y (yylex): Match single '.' after trying + to match floating point literals. + + * eval.c (evaluate_subexp): Add case MULTI_SUBSCRIPT. + * expprint.c (print_subexp): Rename BINOP_MULTI_SUBSCRIPT to + MULTI_SUBSCRIPT. + * expprint.c (dump_expression): New function for dumping + expression vectors during gdb debugging. + * expression.h (BINOP_MULTI_SUBSCRIPT): Name changed to + MULTI_SUBSCRIPT and moved out of BINOP range. + * expression.h (DUMP_EXPRESSION): New macro that calls + dump_expression if DEBUG_EXPRESSIONS is defined. + * m2-exp.y (BINOP_MULTI_SUBSCRIPT): Changed to MULTI_SUBSCRIPT. + * parse.c (length_of_subexp, prefixify_subexp): Change + BINOP_MULTI_SUBSCRIPT to MULTI_SUBSCRIPT. + * parse.c (parse_exp_1): Call DUMP_EXPRESSION before and after + prefixify'ing the expression. + * printcmd.c (print_command_1): Add comment. + * ch-exp.y (expression_list): Add useful actions. + * ch-exp.y (value_array_element): Add useful actions. + * ch-exp.y (array_primitive_value): Add production. + * ch-exp.y (yylex): Recognize ',' as a token. + +Fri Jan 1 18:22:02 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: pass prefix and exec_prefix via FLAGS_TO_PASS, + POSIXize the recursive makes (make [variable assignments] target{s}) + +Fri Jan 1 11:56:23 1993 Fred Fish (fnf@cygnus.com) + + * tm-sun4sol2.h (CPLUS_MARKER): Remove, now set in tm-sysv4.h. + * tm-sysv4.h (CPLUS_MARKER): By default, g++ uses '.' as the + CPLUS_MARKER for all SVR4 systems, so follow suit. + * defs.h (strdup_demangled): Remove prototype. + * dwarfread.c (enum_type, synthesize_typedef): Use new macro + SYMBOL_INIT_LANGUAGE_SPECIFIC. + * dwarfread.c (new_symbol): Use SYMBOL_INIT_DEMANGLED_NAME. + * minsyms.c (install_minimal_symbols, prim_record_minimal_symbol, + prim_record_minimal_symbol_and_info): Use new macro + SYMBOL_INIT_LANGUAGE_SPECIFIC. + * minsyms.c (install_minimal_symbols): Use new macro + SYMBOL_INIT_DEMANGLED_NAME. + * stabsread.c (define_symbol): Use new macro + SYMBOL_INIT_DEMANGLED_NAME. + * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): + Use new macro SYMBOL_INIT_DEMANGLED_NAME. + * symfile.h (ADD_PSYMBOL_VT_TO_LIST): Use new macro + SYMBOL_INIT_DEMANGLED_NAME. + * symmisc.c (dump_msymbols, dump_symtab, print_partial_symbol): + SYMBOL_DEMANGLED_NAME now tests language itself. + * symtab.c (COMPLETION_LIST_ADD_SYMBOL): SYMBOL_DEMANGLED_NAME + now tests language itself. + * symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): New macro that does + what SYMBOL_DEMANGLED_NAME used to do, directly access the C++ + mangled name member in the language dependent portion of a symbol. + * symtab.h (SYMBOL_DEMANGLED_NAME): New macro that returns the + mangled name member appropriate for a symbol's language. + * symtab.h (SYMBOL_SOURCE_NAME, SYMBOL_LINKAGE_NAME, + SYMBOL_MATCHES_NAME, SYMBOL_MATCHES_REGEXP): + SYMBOL_DEMANGLED_NAME now tests language itself. + * symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC): New macro that + initializes language dependent portion of symbol. + * symtab.h (SYMBOL_INIT_DEMANGLED_NAME): New macro that + demangles and caches the demangled form of symbol names. + * utils.c (fputs_demangled, fprint_symbol): Use current language + to select an appropriate demangling algorithm. + * utils.c (strdup_demangled): Remove, no longer used. + * symtab.h (SYMBOL_CHILL_DEMANGLED_NAME): New macro that directly + access the Chill mangled name member in the language dependent + portion of a symbol. + * ch-lang.c (chill_demangle): New function, simple demangler. + * defs.h (chill_demangle): Add prototype. + * symtab.h (language_dependent_info): Add struct for Chill. + +For older changes see ChangeLog-1992 + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1994 b/contrib/gdb/gdb/ChangeLog-1994 new file mode 100644 index 0000000..68dbcb6 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1994 @@ -0,0 +1,5705 @@ +Fri Dec 30 17:58:55 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/m68k/tm-est.h: Remove cruft. + + +Thu Dec 29 22:40:00 1994 Jeff Law (law@snake.cs.utah.edu) + + * Allow up to 10 whitespace separated arguments to user defined + commands. + * top.c (struct user_args): Structure for holding arguments to + user defined commands. + (print_command_line): Delete unused "tmp_chain" variable. Clean + up flow control by having cases exit in the same manner. + Before executing a command or evaluating an expression, substitute + the current $arg0..$arg9 values if the command/expression uses them. + (arg_cleanup): New function. + (setup_user_args, locate_arg, insert_args): Likewise. + (execute_user_command): Allow arguments to user defined commands. + + * Allow if/while commands to be used within a breakpoint command + list. + * breakpoint.c (bpstat_do_actions): Call execute_control_command + rather than execute_command (passes entire command structure rather + than just the command line text). + (breakpoint_1): Use "print_command_line" to print a breakpoint + command line (including control structures). + * gdbcmd.h (execute_control_command): Provide extern decl. + (print_command_line): Likewise. + * top.c (execute_control_command): No longer static. + (print_command_line): New function to recursively print a command + line, including control structures. + +Thu Dec 29 18:18:31 1994 Rob Savoye + + * hppa-tdep.c (pa_print_registers): Extract register values stored + in big endian format on big and little endian hosts. + + * array-rom.c: Support for Array Tech LSI33k based RAID disk + controller board. + * configure.in: Recognize "mips*-*-ecoff*" rather than + "mips*-idt-ecoff*" so it'll work for the LSI33k. + + * monitor.[ch], op50-rom.c, rom68k-rom.c, w89k-rom.c: Add support + to monitor config structure for supported baud rates for a target + and variable stop bits. + * monitor.c (monitor_fetch_register): Store register values in big + endian format on any host. + +Wed Dec 28 19:27:22 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (hppa_fix_call_dummy): Prefer import stubs over + export stubs and actual shared library functions so that lazy + binding works correctly. Try both __d_plt_call and __gcc_plt_call + trampolines for calling import stubs. + +Wed Dec 28 15:29:02 1994 Stan Shebs + + * a29k-tdep.c (pop_frame): Fix a variable name. + +Wed Dec 28 12:21:39 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (push_dummy_frame): Refine code to determine what + space ID to place in the stack & inf_status structure. + (hppa_pop_frame): Don't walk through trampoline code if popping a + call dummy frame. + (hppa_fix_call_dummy): Call the stack dummy directly if the + current PC is in a shared library. + + * hppa-tdep.c (push_dummy_frame): Return type is void. Clear + in_syscall bit in flags. Don't depend on the PC queue registers + when in_syscall is set, they're not valid. + * config/pa/tm-hppa.h (PUSH_DUMMY_FRAME): Pass inf_status down to + push_dummy_frame. + (SR4_REGNUM): Define. + + * hppa-tdep.c: Misc. lint changes. + +Tue Dec 27 12:32:43 1994 Jeff Law (law@snake.cs.utah.edu) + + * breakpoint.c (watchpoint_check): Don't bother restoring the + "selected" frame anymore, it's not necessary. Initialize the + frame cache before trying to find the current frame in the frame + chain. + + * somsolib.c (som_solib_add): Return without loading any shared + libraries if symfile_objfile is NULL. + (som_solib_create_inferior_hook): Likewise. + +Fri Dec 23 17:03:13 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * remote-est.c: New file supports EST-300 CPU32 background + mode ICE. + * remote-utils.c (sr_com): Call registers_changed. + * configure.in (m68*-*-est*): New configuration. + * config/m68k/tm-est.h: New file. + +Fri Dec 23 16:18:50 1994 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (CLIBS): Put LIBIBERTY last. + +Thu Dec 22 09:27:16 1994 Jim Kingdon + + * ser-tcp.c (tcp_open): Cast to struct sockaddr when passing to + function which expects that. + +Thu Dec 22 13:25:33 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * nlm/gdbserve.c, nlm/ppc.c, nlm/ppc.h: Don't try to use + ALTERNATE_MEM_FUNCS. + +Wed Dec 21 14:00:26 1994 Rob Savoye + + * monitor.c: Now supports xmodem as a remoteloadprotocol. + +Tue Dec 20 23:01:17 1994 Stu Grossman (grossman@cygnus.com) + + * config/mips/xm-irix4.h, config/mips/xm-irix5.h: #define + _BSD_COMPAT to get reliable signal handling. + +Tue Dec 20 11:44:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * sparc-tdep.c, a29k-tdep.c, findvar.c (get_saved_register): + if !target_has_registers, call error(). + + * value.h: Remove obsolete comments about FRAME vs struct + frame_info *. + + +Sun Dec 18 11:52:58 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * sparc-tdep.c (sparc_pop_frame): Remove erroneous extra argument + to write_register. + +Sat Dec 17 13:23:21 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * tm-sparc.c (EXTRA_FRAME_INFO): New field sp_offset. + * sparc-tdep.c (sparc_init_extra_frame_info): Set it. + (examine_prologue, sparc_init_extra_frame_info): Use ->frame plus + ->sp_offset to compute the address something is saved at, not + ->bottom. + + * sparc-tdep.c (get_saved_register): New function. + * tm-sparc.h: Define GET_SAVED_REGISTER; don't define + FRAME_FIND_SAVED_REGS, HAVE_REGISTER_WINDOWS or REGISTER_IN_WINDOW_P. + * stack.c (frame_info): Add comment about what to do if + FRAME_FIND_SAVED_REGS is not defined. + + * sparc-tdep.c (sparc_init_extra_frame_info): Set ->frame field + here. Get it right for flat frames. + * sparc-tdep.c (sparc_frame_chain): Instead of returning + meaningful value for ->frame field, just return dummy value. + This change is needed because the old code didn't deal with mixed + flat and non-flat frames. + + * sparc-tdep.c (sparc_pop_frame): Write SP_REGNUM from + frame->frame, don't go through saved regs for this. + + * sparc-tdep.c: Move guts of skip_prologue to new function + examine_prologue. Check for flat prologue and set is_flat. + Provide the caller with the information about what is saved where + if desired. + (skip_prologue, sparc_frame_find_saved_regs): Call examine_prologue. + + * sparc-tdep.c: Replace union sparc_insn_layout and anonymous + union in isannulled, which won't work on a little-endian host, + with X_* macros. + + * sparc-tdep.c (sparc_frame_saved_pc): If addr == 0, the saved PC + is still in %o7. + + * config/sparc/tm-sparc.h: Define INIT_FRAME_PC and + INIT_FRAME_PC_FIRST. + * blockframe.c (get_prev_frame_info): Modify comments regarding + INIT_FRAME_PC_FIRST and the sparc. + + * sparc-tdep.c (single_step): Use 4 not sizeof (long) for size of + instruction. + +Sat Dec 17 02:33:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * c-typeprint.c (c_type_print_base): Use `show' of -1 to print + the return type of methods to avoid infinite loops with anonymous + types. + * valops.c (search_struct_field): Handle anonymous unions. + + * sparc-tdep.c (sunos4_skip_trampoline_code): New function + to correctly handle steps into -g compiled PIC objects in the + main executable. + * config/sparc/tm-sun4os4.h (SKIP_TRAMPOLINE_CODE): + Redefine to use sunos4_skip_trampoline_code. + + * dwarfread.c (DWARF_REG_TO_REGNUM): Provide a default mapping + from DWARF to GDB register numbering. + * dwarfread.c (locval): Use DWARF_REG_TO_REGNUM to map the + register value. + * config/mips/tm-mipsv4.h (DWARF_REG_TO_REGNUM): Define. + +Fri Dec 16 10:56:29 1994 J.T. Conklin + + * Makefile.in (uninstall): transform file names. + +Thu Dec 15 16:55:35 1994 Stan Shebs + + * defs.h: Include progress.h. + (QUIT): Call PROGRESS. + * main.c (main): Call START_PROGRESS and END_PROGRESS, break + usage message into shorter strings. + * source.c: Change long command help strings into concats of + shorter ones, for picky ANSI compilers. + + * top.c (command_loop): For space usage display, show both + absolute size and the change from before command execution. + +Thu Dec 15 16:40:10 1994 Stu Grossman (grossman@cygnus.com) + + * defs.h, main.c (gdb_fputs), top.c: Add stream arg to + fputs_unfiltered_hook. + * defs.h, top.c, utils.c (error): Add error_hook. + +Tue Dec 13 15:15:33 1994 Stan Shebs + + * breakpoint.c, infrun.c, printcmd.c: Change long command help + strings into concats of shorter ones, for picky ANSI compilers. + +Mon Dec 12 17:08:02 1994 Stan Shebs + + Sparc flat register window support. + * sparc-tdep.c (sparc_insn_layout): New union, defines layout of + instructions symbolically (used to be local to skip_prologue). + (sparc_init_extra_frame_info): New function. + (sparc_frame_chain): Add flat cases throughout. + (skip_prologue): Add recognition of flat prologues. + (sparc_frame_find_saved_regs): Add flat cases. + (sparc_pop_frame): Ditto. + * config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): New slots. + (INIT_EXTRA_FRAME_INFO): Call sparc_init_extra_frame_info. + (PRINT_EXTRA_FRAME_INFO): Define. + + +Mon Dec 12 13:06:59 1994 Jim Kingdon + + * f-lang.c: Remove duplicate declaration of + builtin_type_f_integer, and only include it in the f_builtin_types + once. + + * somread.c (som_symfile_read): Just assign to objfile->obj_private, + not OBJ_UNWIND_INFO. Assigning to a cast is a GCC-ism which + the HP compiler doesn't like. + + +Fri Dec 9 15:50:05 1994 Stan Shebs + + * remote.c (remote_wait): Pass string instead of char to strcpy. + +Fri Dec 9 04:43:17 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbserver/low-lynx.c (mywait): Remove debugging printf. + +Thu Dec 8 15:07:29 1994 Jim Kingdon + + * frame.h: Restore pre-Nov 3 comments about FRAME_FP with minor + changes. They are correct, unlike the post-Nov 3 comment + (FRAME_FP doesn't have any machine-independent relationship with + FP_REGNUM or any other such notion of a "frame pointer"). + +Wed Dec 7 14:50:54 1994 Jim Kingdon + + * gdbserver/remote-utils.c (write_ok): Write "OK", not "Ok", to + match stubs and protocol spec. + * gdbserver/remote-utils.c (remote_open): Cast to struct sockaddr + when passing to function which expects that. + + The following changes aren't quite enough to make things work with + LynxOS (apprently kernel problems). + * infrun.c (wait_for_inferior): When resuming new thread, pass pid + not -1 for remote case. + * thread.c (info_threads_command): Give error if !target_has_stack. + * infrun.c (start_remote): Call init_thread_list. + * thread.c (info_threads_command): Don't call kill for remote + debugging target. + * target.c (normal_pid_to_str): Print "thread" not "process" for + remote. + * remote.c, gdbserver/*: Add 'H', 'S', and 'C' requests, 'X' + response, and `thread' part of 'T' response. + * gdbserver/*: If program exits, send packet to GDB before + exiting. Handle termination with a signal the same as exiting + with an exitstatus. + * remote.c: Don't try to kill program after getting an 'X' + response. + * infrun.c (wait_for_inferior): Add comment about kill versus mourn. + +Thu Dec 8 12:37:38 1994 Rob Savoye + + * config/pa/tm-pro.h tm-hppap.h, hppapro.mt: Rename tm-hppap.h to + tm-pro.h. + +Wed Dec 7 18:22:59 1994 Stan Shebs + + * source.c: Various cosmetic changes. + (forward_search_command): Handle very long source lines correctly. + +Wed Dec 7 13:21:47 1994 Rob Savoye + + * hppa-tdep.c: Use GDB_TARGET_IS_PA_ELF so SOM target support will + stop being linked in. + + * config/pa/tm-hppap.h: New file. Set GDB_TARGET_IS_PA_ELF, + otherwise it looks like BSD-ELF. + +Mon Dec 5 21:43:52 1994 Stu Grossman (grossman@cygnus.com) + + * inftarg.c: include to get def of pid_t. + +Fri Dec 2 15:03:07 1994 Stan Shebs + + * solib.c (auto_solib_add_at_startup): New global. + (solib_create_inferior_hook): Call solib_add only if + auto_solib_add_at_startup is nonzero. + (_initialize_solib): New command "set auto-solib-add". + +Fri Dec 2 12:52:04 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * parse.c (msymbol_addr_type): Replaced by + lookup_pointer_type (builtin_type_void). + + * printcmd.c (_initialize_printcmd): Give examine_*_type + a name for `ptype $_'. + +Fri Dec 2 12:52:04 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (print_formatted): Call val_print_string directly, + rather than via value_print. + +Wed Nov 30 22:27:27 1994 Jeff Law (law@snake.cs.utah.edu) + + * somsolib.c (som_solib_get_got_by_pc): New function. + * somsolib.h (som_solib_get_got_by_pc): Add extern decl. + * hppa-tdep.c (hppa_fix_call_dummy): Handle case where FUN is the + function's export stub or real address in a shared library. + +Tue Nov 29 13:40:25 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * config/i386/nbsd.mh (REGEX, REGEX1): No longer define. + + * configure.in (i[345]86-*-freebsd*): New configuration. + * config/i386/{fbsd.mh,fbsd.mt,nm-fbsd.h}: New files. + +Tue Nov 29 12:23:25 1994 Stan Shebs (shebs@andros.cygnus.com) + + * top.c (read_next_line): Pass annotation suffix "commands" + instead of "command", matches documentation. + +Mon Nov 28 14:53:21 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/a29k/tm-a29k.h (setup_arbitrary_frame): Replace + FRAME_ADDR with CORE_ADDR in prototype. + + * top.c (command_line_input): If annotation suffix is NULL, + replace it with an empty string. + (read_next_line): Pass "command" as annotation suffix to + command_line_input. + +Mon Nov 28 11:03:14 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * config/rs6000/tm-rs6000.h (setpgrp): move defn from here... + * config/rs6000/xm-rs6000.h: ...to here. + + +Fri Nov 25 21:26:02 1994 Jeff Law (law@snake.cs.utah.edu) + + * tm-hppa.h (skip_trampoline_code): Add extern decl. + * hppa-tdep.c (hppa_pop_frame): Silently restart the inferior and + allow it to execute any return path trampoline code. Stop the + inferior and give the user control when the trampoline has + finished executing. + (in_solib_call_trampoline): Handle export stubs which also perform + parameter relocations. + (in_solib_return_trampoline): Likewise. + +Fri Nov 25 13:37:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * coffread.c, symfile.h (coff_getfilename): Make it static again. + * xcoffread.c (coff_getfilename): Use a static copy from + coffread.c, modified for accessing the static xcoff strtbl. + +Fri Nov 25 00:51:05 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (in_solib_call_trampoline): Recognize calls through + _sr4export and $$dyncall as trampolines. Likewise for long-call + stubs and parameter relocation stubs. + (in_solib_return_trampoline): Recognize a return trampoline for + return value relocation stubs. + + * hpread.c: Include hp-symtab.h instead of hpux-symtab.h. + Various name changes to match those used by hp-symtab.h. + +Thu Nov 24 00:39:27 1994 Jeff Law (law@snake.cs.utah.edu) + + * blockframe.c (find_pc_partial_function): Inhibit mst_trampoline + symbol special handling when INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK + is defined. + * infrun.c (IN_SOLIB_CALL_TRAMPOLINE): Renamed from + IN_SOLIB_TRAMPOLINE. All callers changed. + (IN_SOLIB_RETURN_TRAMPOLINE): Provide default definition. + (wait_for_inferior): Handle single stepping through trampolines on + return paths from shared libraries. + * config/pa/tm-hppa.h (IN_SOLIB_CALL_TRAMPOLINE): Use + in_solib_call_trampoline. + (IN_SOLIB_RETURN_TRAMPOLINE): Use in_solib_return_trampoline. + (INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK): Define. + * hppa-tdep.c (in_solib_call_trampoline): New function. + (in_solib_return_trampoline): New function. + +Wed Nov 23 21:43:03 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * tm-h8300.h (REMOTE_BREAKPOINT): Define. + * h8300-tdep.c (h8300_pop_frame): Remove redundant call. + + * remote-e7000.c (HARD_BREAKPOINTS): Reenable. + (BC_BREAKPOINTS): Disable. + * sh-tdep.c (print_insn): Cope with big and little endian machines. + * sh/sh.mt: Use libsim.a + * sh/tm-sh.h (TARGET_BYTE_ORDER_SELECTABLE): New + (BREAKPOINT): Changed to be byteorder independent. + +Tue Nov 22 19:13:39 1994 Stan Shebs (shebs@andros.cygnus.com) + + Maintenance commands to report time and space usage. + * main.c (display_time, display_space): New globals. + (main): Add argument --statistics to enable reporting, display + time and space after startup is done. + * maint.c (maintenance_time_display, maintenance_space_display): + New commands. + * top.c (command_loop): Display time and space after command + execution. + + * top.c (pre_init_ui_hook): New global. + (gdb_init): If pre_init_ui_hook set, call before all other init. + +Tue Nov 22 10:25:59 1994 Kung Hsu (kung@mexican.cygnus.com) + + * a29k-tdep.c (examine_tag): Fix a bug in stack frame size. + +Sat Nov 19 03:10:51 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/i386/i386sol2.mh: Reenable core file support. + + * symfile.c (deduce_language_from_filename): Treat .c++ as a + C++ extension. + + * valops.c (destructor_name_p): Do not compare the template + part for template classes. + +Fri Nov 18 14:55:59 1994 Stan Shebs (shebs@andros.cygnus.com) + + * defs.h, infcmd.c (reg_names): Don't declare as constant. + * remote-mips.c (mips_open): Read and set the processor type. + * mips-tdep.c (mips_set_processor_type): Always return an int. + +Fri Nov 18 10:38:12 1994 J.T. Conklin + + * nlm/alpha.c (strtol): Remove, it is provided by NetWare C library. + * nlm/gdbserve.def (strtol): Add to import list. + * nlm/fake_aio.c: Remove file, no longer used. + + * Makefile.in (LD_FOR_TARGET, NLMCONV_FOR_TARGET): Remove. + * nlm/Makefile.in (gdbserve.O): Link with ${CC_FOR_TARGET}. + (LD_FOR_TARGET): Remove. + +Thu Nov 17 22:09:50 1994 Rob Savoye + + * monitor.h, monitor.c, w89k-rom.c, op50n-rom.c, idp-rom.c: Add + support for two variables used to control the load protocol and + conversion type. + +Thu Nov 17 17:51:12 1994 Stan Shebs (shebs@andros.cygnus.com) + + Support for different MIPS IDT processor models. + * mips-tdep.c (mips_processor_type, tmp_mips_processor_type, + mips_generic_reg_names, mips_r3041_reg_names, + mips_r3051_reg_names, mips_r3081_reg_names, + mips_processor_type_table): New globals. + (mips_do_registers_info): Don't display register if name is empty. + (mips_set_processor_type_command): New command. + (mips_show_processor_type_command): New command. + (mips_set_processor_type): New function. + (mips_read_processor_type): New function. + * config/mips/tm-idt.h (DEFAULT_MIPS_TYPE): New macro. + * config/mips/tm-mips.h (DEFAULT_MIPS_TYPE): New macro. + (NUM_REGS): Increase to account for all CP0 registers. + (REGISTER_NAMES): Add empty names for CP0 registers. + (FIRST_EMBED_REGNUM, LAST_EMBED_REGNUM): Adjust. + (PRID_REGNUM): New macro. + +Wed Nov 16 16:41:52 1994 Stan Shebs (shebs@andros.cygnus.com) + + * README: Add warning about termcap in Ultrix and OSF/1. + +Wed Nov 16 15:28:29 1994 Rob Savoye (rob@cygnus.com) + + + * hppa-tdep.c: Remove including sys/dir.h from a target file. + +Wed Nov 16 10:31:27 1994 J.T. Conklin (jtc@cygnus.com) + + * config/powerpc/gdbserve.mt (TDEPFILES): Remove fake_aio.o. + + * nlm/gdbserve.c: Include before other NetWare headers. + * nlm/ppc.c: Likewise. + + * nlm/ppc.c (strtol): Remove, it is provided by NetWare C Library. + (StopBell): New function (stubbed out). + +Wed Nov 16 00:12:21 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (skip_trampoline_code): Handle shared library import + trampolines. + +Tue Nov 15 16:18:52 1994 Kung Hsu (kung@mexican.cygnus.com) + + * c-exp.y (yylex): Fix a bug in template scanning. + +Tue Nov 15 14:25:47 1994 Stan Shebs (shebs@andros.cygnus.com) + + * i386-stub.c, m68k-stub.c, sparc-stub.c, sparcl-stub.c: Mask out + the top bit returned by getDebugChar. + +Tue Nov 15 01:03:56 1994 Rob Savoye (rob@slipknot.cygnus.com) + + * op50-rom.c, w89k-rom.c, monitor.c: Modify to usr two variables + to set remote load type and protocol. + * rom68k-rom.c: Add to_stop in target_ops. + + +Sat Nov 12 21:55:47 1994 Jeff Law (law@snake.cs.utah.edu) + + * somsolib.c: Add TODO list. + (som_solib_add): Immediately return if $SHLIB_INFO$ sections does + not exist or has size zero. Slightly simplify error handling. + Keep an internal list of all the loaded shared libraries and + various tidbits of information about the loaded shared libraries. + Build section tables for each loaded shared library and add those + tables to the core target if necessary. + (som_solib_create_inferior_hook): Force re-reading of shared + libraries at exec time. + (som_sharedlibrary_info_command): New function for dumping + information about the currently loaded shared libraries. + (_initialize_som_solib): New function. + +Sat Nov 12 02:26:50 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * Makefile.in (copying.o, f-exp.tab.o, dpx2-nat.o, dstread.o, + i386aix-nat.o, i386m3-nat.o, irix5-nat.o, lynx-nat.o, m3-nat.o, + mipsm3-nat.o, ns32km3-nat.o, remote-e7000.o, remote-os9k.o): + Add dependencies. + (copying.o, os9kread.o, remote.o): Update dependencies. + + * valarith.c (value_sub): When subtracting pointers, only + check for a match of the pointed to element lengths. + Cast element length to LONGEST to obtain a signed result for + pointer subtractions. + +Fri Nov 11 10:51:07 1994 Jeff Law (law@snake.cs.utah.edu) + + * ch-exp.y (yylex): Fix off-by-one error when converting string to + lowercase. Null terminate new string. + + * hppa-tdep.c (rp_saved): Handle IMPORT stubs too. + + * somsolib.c (som_solib_add): Check the value of __dld_flags, if + it indicates __dld_list is not valid return an error. If it + indicates that libraries were not mapped privately, issue a + warning. + +Thu Nov 10 23:17:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symfile.c (syms_from_objfile): Only call find_lowest_section if + no ".text" section exists. + +Thu Nov 10 15:16:21 1994 Rob Savoye + + * rom68k-rom.c: New file. Replaces the old remote-mon.c and uses + the new generic ROM interface in monitor.c. + * config/m68k/monitor.mt: Use new ROM support. + * monitor.c: Add support for xmodem download protocol. + +Wed Nov 9 18:46:24 1994 Stan Shebs (shebs@andros.cygnus.com) + + * findvar.c (find_saved_register): Fix a frame variable name. + * infcmd.c (finish_command): Ditto. + +Tue Nov 8 13:20:14 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Remove "Watchpoints seem not entirely reliable, though + they haven't failed me recently." item--this old (4.6 at least) + item is too vague to be useful (some watchpoint bugs have been + fixed since then). + * TODO: Add explanation of "RPC interface" item. + +Mon Nov 7 22:25:21 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (read_unwind_info): Use "text_offset" for linker + stub unwind descriptors too. + + * Enable backtracing from inside a SOM shared library back into + user code. + * hppa-tdep.c (internalize_unwinds): Accept and use new + "text_offset" argument for dynamic relocation of + region_{start,end} fields in the unwind descriptor. + (read_unwind_info): Pass text_offset to internalize unwinds. + +Mon Nov 7 14:34:42 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m3-nat.c: Remove comments about arbitrary limit in + printf_filtered; that limit is gone. + +Mon Nov 7 00:27:16 1994 Jeff Law (law@snake.cs.utah.edu) + + * Beginnings of SOM shared library support. Breakpoints and + single frame backtracing within the library only. Only works when + using the HPUX 9 dynamic linker. More functionality to be added + soon. + + * somsolib.c, somsolib.h: New files. + * Makefile.in (HFILES_NO_SRCDIR): Add somsolib.h + (ALLDEPFILES): Add somsolib.c. + (somsolib.o): Add some dependencies. + * somread.c (som_symtab_read): Accept multiple section offsets. + All callers changed. Adjust all text symbols with the first + section offset. + * symfile.c (find_lowest_section): Enable this function. Add some + tie-breaking logic when sections have the same vma. + (syms_from_objfile): Use find_lowest_section rather than looking + for ".text" by name. Relax warning to only warn if the lowest + section is not a code section. + * config/pa/{hppabsd.mh, hppahpux.mh} (NATDEPFILES): Add somsolib.o + * config/pa/{nm-hppab.h, nm-hppah.h}: Include somsolib.h. + +Sun Nov 6 12:54:54 1994 Jeff Law (law@snake.cs.utah.edu) + + * partial-stab.h (N_TEXT): Put back GDB_TARGET_IS_HPPA kludge, + it is still needed for GCC-2.6 compiled code. + * TODO (GDB_TARGET_IS_HPPA): Note this kludge can be nuked + sometime after GCC-2.7 has been released. + + * hppa-tdep.c (frame_saved_pc): Mask off low two bits when + retrieving the PC from a signal handler caller. Fix thinko + in Stan's last change ("frame", should have been "frame->next"). + If the next frame is a signal handler caller and it's a system + call which has entered the kernel ((PSW & 0x2) != 0), then the + saved pc is in %r2 instead of %r31. + +Fri Nov 4 23:47:07 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (hppa_frame_find_saved_regs): Change "frame" to + "frame_info" throughout. + +Fri Nov 4 16:26:59 1994 Kung Hsu (kung@mexican.cygnus.com) + + * sparcl-stub.c: get rid of defs.h. + +Fri Nov 4 13:11:54 1994 Jim Kingdon + + * gdbserver/Makefile.in (MMALLOC_CFLAGS): Add -I${MMALLOC_DIR}. + Correct definition of MMALLOC_DIR to reflect fact this is + gdb/gdbserver/Makefile.in, not gdb/Makefile.in. + + * gdbserver/server.c (main): After we kill the inferior in + response to a 'k' request, exit. + + * remote.c (remote_kill): Use catch_errors when calling putpkt. + (putpkt): Return int, not void, to match catch_errors calling + convention. + +Fri Nov 4 10:52:38 1994 Stan Shebs (shebs@andros.cygnus.com) + + * rs6000-tdep.c (pop_frame): Correct a variable name. + +Fri Nov 4 05:43:35 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Re-write item about SIGINT handling to reflect the fact + that target_stop now exists. + +Thu Nov 3 15:19:17 1994 Stan Shebs (shebs@andros.cygnus.com) + + Replace useless FRAME, FRAME_ADDR types with struct frame_info * + and CORE_ADDR, respectively. + * frame.h (FRAME, FRAME_INFO_ID, FRAME_ADDR): Remove. + * blockframe.c (get_frame_info): Remove. + * a29k-tdep.c, alpha-tdep.c, blockframe.c, breakpoint.c, + breakpoint.h, energize.c, findvar.c, gould-pinsn.c, + h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, i386-tdep.c, i960-tdep.c, + infcmd.c, inferior.h, infrun.c, m68k-tdep.c, m88k-tdep.c, + mips-tdep.c, nindy-tdep.c, printcmd.c, pyr-tdep.c, rs6000-tdep.c, + sh-tdep.c, sparc-tdep.c, stack.c, valops.c, z8k-tdep.c, + config/a29k/tm-a29k.h, config/alpha/tm-alpha.h, + config/gould/tm-pn.h, config/h8300/tm-h8300.h, + config/h8500/tm-h8500.h, config/mips/tm-mips.h, + config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, + config/pyr/tm-pyr.h, config/sparc/tm-sparc.h): Replace FRAME with + struct frame_info * everywhere, replace FRAME_ADDR with CORE_ADDR, + rename variables consistently (using `frame' or `fi'), remove + calls to get_frame_info and FRAME_INFO_ID, remove comments about + FRAME and FRAME_ADDR cruftiness. + +Thu Nov 3 14:25:24 1994 Stu Grossman (grossman@cygnus.com) + + * corelow.c, exec.c, inftarg.c, m3-nat.c, op50-rom.c, procfs.c, + remote-adapt.c, remote-e7000.c, remote-eb.c, remote-es.c, + remote-hms.c, remote-mips.c, remote-mm.c, remote-mon.c, + remote-nindy.c, remote-os9k.c, remote-pa.c, remote-sim.c, + remote-st.c, remote-udi.c, remote-vx.c, remote-z8k.c, remote.c, + w89k-rom.c, target.c, target.h: Add support for target_stop(). + +Thu Nov 3 01:23:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * osfsolib.c (solib_map_sections, first_link_map_member, + next_link_map_member, xfer_link_map_member): Retrieve and use + shared library relocation offset from runtime loader structures. + Use libxproc.a routines to get a working version if + USE_LDR_ROUTINES is defined. + * README: Remove item about shared library relocation for + Alpha OSF/1. + +Wed Nov 2 15:05:39 1994 Kung Hsu (kung@mexican.cygnus.com) + + * c-exp.y (yylex): scan template names, and scan nested class + names. + +Wed Nov 2 11:01:55 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * nlm/Makefile.in: install gdbserve.nlm. + + +Tue Nov 1 13:00:46 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * c-valprint.c (c_value_print): Check for plain literal `char' + target type when suppressing `(char *)' output for strings. + +Mon Oct 31 19:19:51 1994 Stan Shebs (shebs@andros.cygnus.com) + + * coffread.c (coff_symfile_init): Remove unused local abfd. + * utils.c [NO_MMALLOC] (mmalloc, mrealloc): Define and use size_t + instead of long, for compatibility with mmalloc.h. + +Sat Oct 29 02:40:40 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * top.c (line_completion_function): Renamed from + symbol_completion_function, takes the line buffer and the + point in the line buffer as additional arguments. + (readline_line_completion_function): New function, interface + between readline and line_completion_function. + (init_main): Use it. + (complete_command): Use line_completion_function instead of + abusing rl_line_buffer. Free completion strings after printing + them. + * symtab.c (completion_list_add_name): Recheck for duplicates + if we intend to add a modified symbol. + + * gdbtypes.h (cplus_struct_type): nfn_fields_total no longer + includes the number of methods from the baseclasses. + * stabsread.c (attach_fn_fields_to_type): No longer add the + number of methods from the baseclasses to TYPE_NFN_FIELDS_TOTAL, + the baseclass type might not have been completely filled in yet. + * symtab.c (total_number_of_methods): New function to compute + the total number of methods for a type, including the methods + from baseclasses. + (decode_line_1): Use it instead of TYPE_NFN_FIELDS_TOTAL to + allocate the symbol array for find_methods. + + * stabsread.c (scan_file_globals): Add default case to minimal + symbol type switch, to avoid gcc -Wall warnings. + + * config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO): + Don't test for zero backchain pointer to recognize a signal + handler frame, if read() gets interrupted by a signal, the + backchain will be non zero. + (SIG_FRAME_FP_OFFSET): Move to here from rs6000-tdep.c, + improve comment. + (SIG_FRAME_PC_OFFSET): New definition. + (FRAME_SAVED_PC): Return saved pc from sigcontext if this + is a signal handler frame. + * rs6000-tdep.c (function_frame_info): Do not error out + if we can't access the instructions. + + * config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): + New definition to get the function address from a function pointer. + * valops.c (find_function_addr): Use it when calling a user + function through a function pointer. + +Fri Oct 28 16:16:52 1994 Stan Shebs (shebs@andros.cygnus.com) + + * Makefile.in (MMALLOC_DIR): New definition. + (MMALLOC): Use MMALLOC_DIR. + (MMALLOC_CFLAGS): Look in MMALLOC_DIR for mmalloc.h. + (OPCODES): Remove gratuitous "./". + * defs.h (mmalloc.h): Include. + (mmalloc, mrealloc, etc): Remove decls. + (cplus_demangle, cplus_demangle_opname): Remove decls. + +Wed Oct 26 15:41:07 1994 Stu Grossman (grossman@cygnus.com) + + * defs.h, main.c, top.c: Change sense and name of + no_windows variable. Now called use_windows, and defaults to off + (for compatibility). + +Wed Oct 26 12:20:53 1994 Jim Kingdon + + * coffread.c (coff_symtab_read): If we get the address from + target_lookup_symbol, set the section to -2 not SECT_OFF_BSS. + (coff_symtab_read): Set value and section of symbol that + process_coff_symbol returns. + +Tue Oct 25 09:53:04 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * config/i386/tm-nbsd.h: Enable longjmp support. + +Sat Oct 22 03:41:13 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * valarith.c (value_binop): Take care of ANSI `value preserving' + rule, which was not addressed by the previous change. + + * rs6000-tdep.c (skip_prologue): Handle `mr r31,r1', which is + generated by gcc-2.6, as a synonym for `oril r31,r1,0'. + + * TODO: Remove item about RS/6000 shared libraries. + +Thu Oct 20 17:35:45 1994 Stu Grossman (grossman@cygnus.com) + + * defs.h, infrun.c (wait_for_inferior), top.c: Call + target_wait_hook to allow GUI to handle blocking for inferior. Call + call_command_hook in execute_command to provide means for wrapping + commands with GUI state change updates. + + * infrun.c (wait_for_inferior): Make sure + through_sigtramp_breakpoint is non-null before deleting. + +Thu Oct 20 10:26:43 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * config/powerpc/ppc-nw.mt (TDEPFILES): Removed exec.o. + +Thu Oct 20 06:56:07 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (coffread.o): Depend on target.h. + (remote-vx.o): Depend on gdb-stabs.h objfiles.h symfile.h $(bfd_h). + +Wed Oct 19 22:49:31 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Fix typo. + +Wed Oct 19 11:32:15 1994 Jim Kingdon + + * objfiles.c (objfile_relocate): When relocating ->sections, use + objfile not symfile_objfile. + + * symtab.h, minsyms.c (minsyms_sort): New function. + * objfiles.c (objfile_relocate): Call it. + + * remote-vx.c (vx_add_symbols): Call breakpoint_re_set. + + * objfiles.c, objfiles.h (objfile_to_front): New function. + * remote-vx.c (vx_add_symbols): Call it. + + * coffread.c (coff_symtab_read): Handle common symbols the same + way that partial-stab.h does. + +Wed Oct 19 21:06:12 1994 Rob Savoye (rob@cirdan.cygnus.com) + + * hppa-tdep.c: Remove include files a.out.h, ioctl.h, and + machine/psl.h. These are host files. + +Wed Oct 19 15:13:51 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * objfiles.h (struct objfile): Fix comment--minimal_symbol_count + does *not* include the terminating NULL msymbol. + +Tue Oct 18 20:53:29 1994 Rob Savoye + + * monitor.c (monitor_load_srec,monitor_make_srec): Add an asrecord + loader that reads files using BFD and converts it on the fly. + +Mon Oct 17 18:52:06 1994 Rob Savoye + + * monitor.c (set_loadtype_command): Fixed so it doesn't core dump. + * monitor.c (monitor_load): check the load type and load the file + accordingly. Default to gr_load_image(). + * monitor.c (monitor_load_ascii_srec): Load an ascii file in + srecord format by downloading to the monitor. + * w89k-rom.c, op50n-rom.c: set supported load types. + +Mon Oct 17 10:29:08 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (ALLDEPFILES): Remove xcoffexec.c. + * Makefile.in: Remove xcoffexec.o rule. + + * exec.c (exec_file_command): Add comment. + + Fix data and bss relocation for VxWorks 5.1: + * remote-vx.c (vx_add_symbols): New function. + (vx_load_command, add_symbol_stub): Call it instead of + symbol_file_add. + (vx_wait): Remove comment which was wrong to useless. + * remote-vx.c: Reindent much of file. + * coffread.c (cs_to_section, find_targ_sec): New functions. + (process_coff_symbol): Set SYMBOL_SECTION to result + from cs_to_section. + (coff_symtab_read): Call cs_to_section and deal with result + rather than assuming sections are in a certain order. Deal with + BSS. + * coffread.c: Remove text_bfd_scnum variable. + +Sat Oct 15 16:55:48 1994 Stan Shebs (shebs@andros.cygnus.com) + + * corelow.c: Format to standard. + (core_close): Use name instead of bfd_filename. + +Fri Oct 14 10:29:08 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * exec.c (map_vmap): Cast return from xmalloc to its proper type, + not to PTR. + + * symfile.c (reread_symbols): Include bfd_errmsg string in error + message if bfd_close fails. + * exec.c (exec_close), solib.c (clear_solib), corelow.c + (core_close), objfiles.c (free_objfile), irix5-nat.c + (clear_solib), osfsolib.c (clear_solib), remote-utils.c + (gr_load_image): Check for errors from bfd_close. + * solib.c (look_for_base), remote-utils.c (gr_load_image), + remote-udi.c (download), corelow.c (core_open), symfile.c + (symfile_bfd_open), symfile.c (generic_load): Add comment + regarding error from bfd_close. + * remote-udi.c (download), remote-utils.c (gr_load_image): Add + comment about bogus handling of errors from bfd_openr. + * exec.c (exec_close): Add comment regarding memory leak and + dangling reference to vp->name. + +Sat Oct 15 03:43:00 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * eval.c (evaluate_subexp): Make fnptr a LONGEST instead + of using longest_to_int. + + * infcmd.c (run_stack_dummy): Reinstate set_current_frame call, + mips and alpha targets need the real breakpoint pc for + creating the breakpoint frame. + + * stack.c (return_command): Cast return value to the return + type of the function from which we return. + * values.c (set_return_value): Pass VALUE_CONTENTS unmodified + to STORE_RETURN_VALUE. + + * symtab.c (lookup_symbol): Remove search for `static mangled + symbols', the search for `static symbols' already looks for + mangled and demangled symbols via lookup_block_symbol. + + * valarith.c (value_binop): Use ANSI C arithmetic conversions + when performing integral evaluations, implement BINOP_EQUAL and + BINOP_LESS. + (value_equal, value_less): Use value_binop to perform the + comparison if both operands have TYPE_CODE_INT. + + * rs6000-tdep.c (pop_frame): Make sure all registers are valid, + as they are written back later. Handle sp restore for frameless + functions. Use fdata.nosavedpc instead of fdata.frameless to + determine if the pc has been saved. + (function_frame_info): Handle `mr r31,r1', which is generated by + gcc-2.6, as a synonym for `oril r31,r1,0'. + (skip_trampoline_code): Handle shared library trampolines. + * xcoffread.c (read_xcoff_symtabs): Record XMC_GL symbols with + their real name. Enables setting of breakpoints in shared libraries + before the executable is run. + +Fri Oct 14 19:39:47 1994 Rob Savoye + + * monitor.h, remote-mon.c: Hack up to so the old ROM monitor + interface code still works with the new ROM monitor + structures. Fake out a couple of fields. + +Fri Oct 14 14:54:37 1994 Stan Shebs (shebs@andros.cygnus.com) + + * h8500-tdep.c (target_read_sp, target_write_sp, target_read_pc, + target_write_pc, target_read_fp, target_write_fp): Rename to + h8500_read_sp, etc. + (h8500_read_pc, h8500_write_pc): Add pid argument. + * config/h8500/tm-h8500.h (TARGET_READ_SP, TARGET_WRITE_SP, + TARGET_READ_PC, TARGET_WRITE_PC, TARGET_READ_FP, TARGET_WRITE_FP): + Change to match functions above. + +Thu Oct 13 13:24:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * NEWS: Add item about if and while. + + * .gdbinit: Restore `end'; it was not excess. Reindent + list-objfiles to make this clear. Comment out all of + list-objfiles because old gdb's choke on it. + +Wed Oct 12 23:19:08 1994 Ian Lance Taylor + + * config/mips/tm-bigmips64.h: Just define TARGET_BYTE_ORDER and + include tm-mips64.h. + +Wed Oct 12 18:02:17 1994 Stan Shebs (shebs@andros.cygnus.com) + + * Makefile.in (ANNOTATE_OBS): New definition. + (COMMON_OBS): Add exec.o. + (annotate.o): Remove extra compile rule. + * config/*/*.mh, config/*/*.mt: Remove exec.o from *DEPFILES lists + everywhere. + + * .gdbinit: Remove excess `end'. + + * exec.c: Merge in RS6000 support from xcoffexec.c. + (symfile.h, objfiles.h, xcoffsolib.h): Include. + (vmap): New global variable. + (exec_close): Close and free objects in vmap chain. + (exec_file_command) [IBM6000_TARGET]: Set up initial vmap. + (bfdsec_to_vmap, map_vmap): Moved here from xcoffexec.c. + (exec_files_info): Print vmap information. + * xcoffexec.c: Remove. + * config/rs6000/rs6000.mt, config/rs6000/rs6000lynx.mt + (TDEPFILES): Use exec.o instead of xcoffexec.o. + * TODO: Remove pertinent items. + +Wed Oct 12 10:08:19 1994 Jeff Law (law@snake.cs.utah.edu) + + * partial-stab.h (N_TEXT): Delete GDB_TARGET_IS_HPPA kludge; they + are no longer needed as of gcc-2.6.0. + +Tue Oct 11 15:51:01 1994 Ian Lance Taylor + + * lynx-nat.c (child_wait): Correct handling of byte reversed SPARC + Lynx wait status. + (fetch_core_registers): Don't try to fetch a register if + regmap maps it to -1. + * sparc-tdep.c (sparc_frame_find_saved_regs): Use FRAME_SAVED_I0 + and FRAME_SAVED_L0 when setting saved_regs_addr. SPARC Lynx + stores the registers in a weird order. + +Sat Oct 8 20:59:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * blockframe.c (reinit_frame_cache): Reinstate select_frame call + if inferior_pid is nonzero. + +Sat Oct 8 04:27:21 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Speed up GDB startup time by not demangling partial symbols. + * symfile.h (ADD_PSYMBOL_VT_TO_LIST), + symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): + No longer demangle partial symbols. + * symtab.c (lookup_symbol, list_symbols): Handle mangled + variables, e.g. C++ static members, via the minimal symbols. + + Handle reordered functions in an objfile, for Irix 5.2 shared + libraries. + * objfiles.h (OBJF_REORDERED): New bit in the objfile flags, + set if the functions in an objfile are reordered. + * mdebugread.c (parse_partial_symbols): Detect reordered + functions in an objfile. + * symtab.c (find_pc_psymtab, find_pc_symtab): Use expensive + lookup algorithm if the functions in the objfile are reordered. + + * xcoffexec.c (exec_close): If the current target has a copy + of the exec_ops sections, reflect the freeing of the sections + in current_target. + + * valops.c (call_function_by_hand): Use `sizeof dummy1', not + `sizeof dummy', for constructing the call dummy code. + + * config/sparc/tm-sparc.h: Add PARAMS declarations to all + function declarations. + * sparc-tdep.c (sparc_pop_frame): Cast result of + read_memory_integer to CORE_ADDR when passing it to PC_ADJUST. + + * irix5-nat.c (enable_break): Set breakpoint at the entry point + of the executable, to handle the case where main resides in a + shared library. + * irix5-nat.c (solib_create_inferior_hook): Reset stop_soon_quietly + after shared library symbol reading, to get rid of a warning from + heuristic_proc_start if the startup code has no symbolic debug info. + + * breakpoint.h (struct breakpoint): Add new fields language + and input_radix, to enable breakpoint resetting with the + proper language and radix. + * breakpoint.c (set_raw_breakpoint): Initialize them. + (breakpoint_re_set_one): Use them when resetting the breakpoint. + (breakpoint_re_set): Preserve current language and input_radix + across breakpoint_re_set_one calls. + + * symtab.c (decode_line_1): Do not build a canonical line + specification for `*expr' line specifications. + + * breakpoint.h (bpstat_stop_status): Fix prototype declaration. + +Fri Oct 7 08:48:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + The point of these changes is to avoid reading the frame pointer + and stack pointer during stepping, to speed things up. + A. Changes to not select a frame until we need a selected frame: + * blockframe.c (flush_cached_frames): Call select_frame (NULL, -1). + * infrun.c (wait_for_inferior): Move call to select_frame back to + normal_stop. This reverts a change of 13 Apr 94 (it says Jeff + Law, but the change was my idea); the only reason for that change + was so we could save and restore the selected frame in + wait_for_inferior, and now that flush_cached frames clears the + selected frame, that should work OK now. + B. Changes to not create a current_frame until we need one: + * blockframe.c (get_current_frame): If current_frame is NULL, try + to create an innermost frame. + * sparc-tdep.c (sparc_pop_frame), infcmd.c (run-stack_dummy), + infrun.c (wait_for_inferior), thread.c (thread_switch), + convex-tdep.c (set_thread_command), a29k-tdep.c (pop_frame), + alpha-tdep.c (alpha_pop_frame), convex-xdep.c (core_file_command), + h8300-tdep.c (h8300_pop_frame), h8500-tdep.c (h8300_pop_frame), + hppa-tdep.c (hppa_pop_frame), i386-tdep.c (i386_pop_frame), + i960-tdep.c (pop_frame), m68k-tdep.c + (m68k_pop_frame), mips-tdep.c (mips_pop_frame), rs6000-tdep.c + (push_dummy_frame, pop_dummy_frame, pop_frame), sh-tdep.c + (pop_frame), config/arm/tm-arm.h (POP_FRAME), + config/convex/tm-convex.h (POP_FRAME), config/gould/tm-pn.h + (POP_FRAME), config/ns32k/tm-merlin.h (POP_FRAME), + config/ns32k/tm-umax.h (POP_FRAME), config/tahoe/tm-tahoe.h + (POP_FRAME), config/vax/tm-vax.h (POP_FRAME): Don't + call create_new_frame. + * corelow.c (core_open), altos-xdep.c (core_file_command), + arm-xdep.c (core_file_command), gould-xdep.c (core_file_command), + m3-nat.c (select_thread), sun386-nat.c (core_file_command), + umax-xdep.c (core_file_command): Don't call create_new_frame; do + call flush_cached_frames. + * blockframe.c (reinit_frame_cache): Don't call create_new_frame + or select_frame. + C. Changes to get rid of stop_frame_address and instead only + fetch the frame pointer when we need it. + * breakpoint.c (bpstat_stop_status): Remove argument + frame_address; use FRAME_FP (get_current_frame ()). + * infrun.c (wait_for_inferior): Don't pass frame pointer to + bpstat_stop_status. + * infrun.c (wait_for_inferior): Use FRAME_FP (get_current_frame + ()) instead of stop_frame_address. + * infrun.c (save_inferior_status, restore_inferior_status), + inferior.h (struct inferior_status): Don't save and restore + stop_frame_address. + * inferior.h, infcmd.c, thread.c (thread_switch), m3-nat.c + (select_thread): Remove stop_frame_address and uses thereof. + D. Same thing for the stack pointer. + * infrun.c (wait_for_inferior): Remove stop_sp and replace + uses thereof with read_sp (). + E. Change to eliminate one nasty little spot where we were + wanting to know the frame pointer from before the current step + (idea from GDB 3.5, which saved my ass, because my other ideas of + how to fix it were very baroque). + * infrun.c: Remove prev_frame_address. + * infrun.c (wait_for_inferior, step_over_function): Use + step_frame_address instead of prev_frame_address. + F. Same basic idea for the stack pointer. + * inferior.h, infcmd.c: New variable step_sp. + * infcmd.c (step_1, until_next_command): Set it. + * infrun.c: Remove prev_sp and replace uses by step_sp. + * infrun.c (wait_for_inferior): If we get out of the step + range, then set step_sp to the current stack pointer before we + start going again. + +Fri Oct 7 12:17:17 1994 Ian Lance Taylor + + * top.c (target_byte_order_auto): New static variable. + (set_endian): Mention that ``auto'' is permitted. + (set_endian_auto): New static function. + (show_endian): Change message based on target_byte_order_auto. + (set_endian_from_file): New function. + (init_main): Add command ``auto'' to endianlist. + * exec.c (exec_file_command): Call set_endian_from_file. + * defs.h (set_endian_from_file): Declare. + +Thu Oct 6 18:10:41 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * nlm/i386.c (flush_i_cache): New function, does nothing. + (frame_to_registers, registers_to_frame, set_step_traps, + clear_step_traps, do_status): Make non-static. + +Thu Oct 6 12:26:42 1994 Ian Lance Taylor + + * config/mips/tm-mips.h (GDB_TARGET_IS_MIPS64): If not already + defined, define as 0. + (FIX_CALL_DUMMY): Rewrite to remove presumption that host and + target are similar. + * config/mips/tm-idt.h (TARGET_BYTE_ORDER_SELECTABLE): Define. + * config/mips/tm-idtl.h (TARGET_BYTE_ORDER_SELECTABLE): Define. + * config/mips/tm-idt64.h (TARGET_BYTE_ORDER_SELECTABLE): Define. + (BREAKPOINT): Remove definition. + * config/mips/tm-idtl64.h (TARGET_BYTE_ORDER_SELECTABLE): Define. + (BREAKPOINT): Remove definition. + * config/mips/tm-mips64.h (GDB_TARGET_IS_MIPS64): Define with a + value of 1, rather than without a value. + * config/mips/tm-bigmips64.h (GDB_TARGET_IS_MIPS64): Likewise. + * mips-tdep.c: Rewrite uses of GDB_TARGET_IS_MIPS64 to switch at + run time rather than at compile time. + + * remote-mips.c (break_insn): Remove. + (BREAK_INSN, BREAK_INSN_SIZE): Define. + (mips_insert_breakpoint): Use BREAK_INSN, not break_insn. + (mips_remove_breakpoint): Likewise. + + * defs.h: If TARGET_BYTE_ORDER_SELECTABLE is defined by tm.h, + define TARGET_BYTE_ORDER as target_byte_order, and declare + target_byte_order as an extern int, and define BITS_BIG_ENDIAN as + a test of TARGET_BYTE_ORDER. + * top.c: Several additions if TARGET_BYTE_ORDER_SELECTABLE is + defined: + (endianlist, target_byte_order): New variables. + (set_endian, set_endian_big, set_endian_little): New functions. + (show_endian): New function. + (init_cmd_lists): Initialize endianlist. + (init_main): Add commands ``set endian big'', ``set endian + little'', and ``show endian''. + * a29k-pinsn.c: Rewrite uses of TARGET_BYTE_ORDER and + BITS_BIG_ENDIAN to switch at run time rather than at compile time. + * coffread.c, dwarfread.c, findvar.c, mips-tdep.c: Likewise. + * remote-os9k.c, stabsread.c, valarith.c, valprint.c: Likewise. + * values.c: Likewise. + +Wed Oct 5 11:41:24 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * nlm/configure.in: ${gdb_host_cpu} defaults to ${host_cpu}. + + * nlm/Makefile.in: Get rid of NWINCLUDES. + * config/{alpha,powerpc}/gdbserve.mt: Remove NWINCLUDES. + User should now configure with --with-headers. + +Mon Oct 3 07:48:34 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbserver/server.c (main): Silently accept all unrecognized + requests and send back a zero length acknowledge. That is what + *-stub.c do and is what remote.c expects. + +Mon Oct 3 05:11:47 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * corelow.c (core_open): Copy the modified to_sections_end + vector from current_target to core_ops too. + + * gdbserver/server.c (main): Silently accept query requests + and send back a zero length acknowledge. + +Fri Sep 30 17:17:21 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * nlm/Makefile.in: Don't define NWINCLUDES. + * config/{alpha,powerpc}/gdbserve.mt: define NWINCLUDES. + +Fri Sep 30 15:59:55 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbserver/low-lynx.c (create_inferior): Pass all 4 args to ptrace. + +Fri Sep 30 06:42:42 1994 Ian Lance Taylor (ian@cygnus.com) + + * lynx-nat.c (child_wait): Use status.w_status, not status, in + arithmetic. status is a `union wait'. + + * config/nm-lynx.h (PTRACE_ARG3_TYPE): Define to int, not char *. + + * lynx-nat.c (child_wait): Pass fourth argument to ptrace. + +Thu Sep 29 08:22:27 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (read_xcoff_symtab): Fix comment for yesterday's change. + +Wed Sep 28 17:48:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * coffread.c (complete_symtab): If last_source_file is set upon + entry, free it. + +Wed Sep 28 08:59:14 1994 Jim Kingdon (kingdon@cygnus.com) + + * xcoffread.c (read_xcoff_symtab, case C_FILE): + Set main_aux before using it. + + * xcoffexec.c (exec_close): If quitting, don't call clear_symtab_users. + + * xcoffread.c (read_xcoff_symtab): Process XTY_LD symbols we were + ignoring before. But continue to ignore XMC_DS. + +Wed Sep 28 00:35:23 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (hpread_read_array_type): Do not change the type code + to TYPE_CODE_PTR for "char foo[]". Just make it a zero length + array type. + + * hpread.c (hpread_type_translate): Handle T_UNS_LONG types with + lengths other than 32bits (HP C 9.69 represents an "unsigned char" + as an T_UNS_LONG with length 8). + + * hpread.c (struct hpread_symfile_info): Delete have_module field + and accessor macro. Minor indentation fix. + (hpread_build_psymtabs, case K_MODULE): Only start a new psymtab + and reset state variables have_name & texthigh if pst is NULL. + (hpread_build_psymtabs, case K_SRCFILE): Only reset the name of a + partial symbol table if pst is non-NULL. If pst is NULL, then + start a new psymtab. + (hpread_process_one_debug_symbol, case K_MODULE): Now empty. + (hpread_process_one_debug_symbol, case K_SRCFILE): Simplify and + correct handling of subfiles. + +Mon Sep 26 02:59:00 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * defs.h (misc_command_type): Remove trailing comma from + enumerator list. + +Sun Sep 25 23:19:58 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (frame_saved_pc): Fix thinko in code to dig saved pc + out of an interrupt frame. + +Sun Sep 25 12:50:17 1994 Stan Shebs (shebs@andros.cygnus.com) + + * infcmd.c (do_registers_info) [INVALID_FLOAT]: Only use if + defined. + * values.c (unpack_double) [INVALID_FLOAT]: Ditto. + * mips-tdep.c (mips_print_register): Don't test float validity. + * config/a29k/tm-a29k.h, config/alpha/tm-alpha.h, + config/arm/tm-arm.h, config/convex/tm-convex.h, + config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, + config/i386/tm-i386v.h, config/i386/tm-sun386.h, + config/i960/tm-i960.h, config/m68k/tm-m68k.h, + config/m88k/tm-m88k.h, config/mips/tm-mips.h, + config/ns32k/tm-merlin.h, config/ns32k/tm-nbsd.h, + config/ns32k/tm-ns32km3.h, config/ns32k/tm-umax.h, + config/pa/tm-hppa.h, config/pyr/tm-pyr.h, + config/rs6000/tm-rs6000.h, config/sh/tm-sh.h, + config/sparc/tm-sparc.h, config/z8k/tm-z8k.h (INVALID_FLOAT): + Remove definition. + +Sun Sep 25 06:07:37 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Remove item about adding general multi-threaded stuff; + this is done. + Remove item about specifying arbitrary locations of stack frames + (this works on some machines). + Remove item about debugging functions without a frame pointer + (this works on some machines). + Remove item about re-writing macros which handle frame chaining and + frameless functions. They have been re-written at least once + since that item was written. + Remove item about gdb catching SIGINT when attached; this is done. + Remove item about having list_command not read symbols--why bother? + +Sat Sep 24 17:40:10 1994 Stan Shebs (shebs@andros.cygnus.com) + + * TODO: Append contents of Projects file. + * Projects: Remove. + +Sat Sep 24 01:47:25 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * corelow.c (add_solib_stub): Remove copying of to_sections, + pass current_target to SOLIB_ADD. The Sep 10 change failed + if SOLIB_ADD errored out, or if SOLIB_ADD was trying to access + target memory. + * corelow.c (core_open): After reading the shared libraries, + copy the modified to_sections vector from current_target to + core_ops, so that core_close can free it later. + * config/rs6000/nm-rs6000.h, rs6000-nat.c (xcoff_relocate_core): + Pass down target parameter from SOLIB_ADD and use it instead of + directly accessing core_ops. + +Fri Sep 23 14:58:49 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * solib.c: *BSD systems need to be included before + . + + * i386b-nat.c: Add i386_float_info(), etc. + * config/i386/nm-nbsd.h: #define FLOAT_INFO. + + * config/nm-nbsd.h: New file, for generic NetBSD native support. + * config/i386/nm-nbsd.h: Use it. + * config/sparc/nm-nbsd.h: Use it. + * config/ns32k/nm-nbsd.h: Use it. + + * configure.in (i386-*-netbsd): Use config/i386/nbsd.m[ht]. + (ns32k-*-netbsd): Use config/ns32k/nbsd.m[ht]. + * config/i386/{nbsd.mh,nbsd.mt,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}: + New files, support for NetBSD/i386. + * config/ns32k/{nbsd.mh,nbsd.mh,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}: + New files, support for NetBSD/ns32k. + +Tue Sep 20 11:34:27 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * .gdbinit: Add list-objfiles command. + + * TODO: Reword item regarding NO_STD_REGS. + + * coffread.c (record_minimal_symbol, coff_read_enum_type, + coff_read_struct_type): Allocate on symbol_obstack, not directly + via malloc/savestring. + +Tue Sep 20 15:42:02 1994 Stan Shebs (shebs@andros.cygnus.com) + + * TODO: Add more items. + * tests: Remove the directory and all of its (obsolete) contents. + +Tue Sep 20 11:34:27 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * coffread.c (init_stringtab): When copying length to stringtab, + use target format, not host format, since that is what the rest of + the code assumes. + +Mon Sep 19 15:48:10 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * Makefile.in: Removed prelude.o, i386-nlmstub.o, nlmstub.o, + nlmstub.nlm, and nlmstub targets. Removed NWSOURCE and + NWINCLUDES definitions. + * i386-nlmstub.c: Removed. + +Mon Sep 19 07:48:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dbxread.c (read_dbx_dynamic_symtab): Cast bfd_asymbol_name to + char * (from const char *) before assigning. Don't save string we + pass to record_minimal_symbol (it already saves it). + + +Sat Sep 17 02:26:58 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * cp-valprint.c (static_field_print): New variable, controls + printing of static members. + (_initialize_cp_valprint): New print set subcommand + "static-members". Turn on printing of static members by default. + (cp_print_value_fields): Print static members if necessary. + + * solib.c: Remove inclusion of libelf.h and elf/mips.h. + (elf_locate_base): Use only standard BFD functions to collect + information about the .dynamic section. Check for DT_MIPS_RLD_MAP + tag only if it got defined via the inclusion of . + + * f-exp.y: Write block for OP_VAR_VALUE. + * f-valprint.c (info_common_command): Handle `info common' + without an argument correctly. + + * c-typeprint.c (c_type_print_base): Handle template constructors. + * symtab.c (gdb_mangle_name): Handle template method mangling, + get rid of GCC_MANGLE_BUG code, which only applied to gcc-2.2.2. + +Fri Sep 16 16:06:08 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * gdbtypes.h (TYPE_INDEX_TYPE): New macro. + * ch-typeprint.c, ch-valprint.c: Use TYPE_INDEX_TYPE. + * ch-valprint.c (chill_val_print): Pass index type directly + (instead of its TYPE_TARGET_TYPE) to print_type_scalar. + * stabsread.c (read_type): Don't set TYPE_FLAG_TARGET_STUB + if the index type is a stub. + +Fri Sep 16 17:18:44 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/i386/{i386aix.mh, i386bsd.mh, i386lynx.mh, i386sco.mh, + i386sco4.mh, i386sol2.mh, i386v.mh, i386v32.mh, i386v4.mh, + ncr3000.mh, ptx.mh, ptx4.mh}, config/m68k/{altos.mh, apollo68v.mh, + delta68.mh, dpx2.mh, hp300bsd.mh, hp300hpux.mh, m68klynx.mh, + m68kv4.mh}, config/m88k/{delta88.mh, delta88v4.mh}, + config/mips/riscos.mh, config/pa/hppahpux.mh, + config/rs6000/rs6000lynx.mh, config/sparc/{sparclynx.mh, + sun4sol2.mh}, config/tahoe/tahoe.mh, config/vax/{vaxbsd.mh, + vaxult.mh, vaxult2.mh} (REGEX, REGEX1, SYSV_DEFINE): No longer + define. + * config/i386/i386sco4.mh (MUNCH_DEFINE): No longer define. + +Fri Sep 16 15:40:34 1994 Stu Grossman (grossman@cygnus.com) + + * defs.h (QUIT): Call interactive_hook to allow GUI to interrupt. + Also, add decl for symtab_to_filename. + * source.c (symtab_to_filename): New. Returns the file + associated with a symtab. + * top.c: Define interactive_hook. Called during QUIT to animate + the GUI. + +Fri Sep 16 00:14:40 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * stabsread.c (read_type): Handle stub types for bitstrings. + * stabsread.c (read_array_type): Check for stub domain type + using TYPE_FLAG_STUB, not its length. + * gdbtypes.c (create_set_type): Handle a stub domain type. + + * ch-exp.y: Get rid of some extra non-terminals, and move + their rules into primitive_value. + * parser-defs.h: Add comment about unary postfix operators. + * ch-lang.c (chill_op_print_tab): Add '->', postfix and prefix. + * expprint.c (print_subexp): Recognize unary postfix operator. + +Wed Sep 14 18:27:42 1994 Jason Molenda (crash@phydeaux.cygnus.com) + + * remote-hms.c: use remote_debug instead of hms_silent toggle. + Add warnings about depreciation of `snoop' cmd. + +Wed Sep 14 18:18:58 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * remote-hms.c (hms_read_inferior_memory): Cope when + target sends both \r and \n. + +Wed Sep 14 17:14:57 1994 Stan Shebs (shebs@andros.cygnus.com) + + * remote-mips.c (mips_error): Place NORETURN macro correctly. + * TODO: Add item about START_INFERIOR_TRAPS_EXPECTED. + +Wed Sep 14 14:26:21 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (read_xcoff_symtab): Fix obsolete comment about + mst_solib_trampoline. + + * f-valprint.c (f_val_print): Change cast of valaddr from + CORE_ADDR * to char **, since that is how it is used. + + * dbxread.c (read_dbx_dynamic_symtab): Save copy of symbol names + using obsavestring, and pass that to prim_record_minimal_symbol. + Having the objfile point to bfd_asymbol_name directly doesn't work + if we save and restore a mapped symbol file. + + +Tue Sep 13 18:23:26 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * w89k-rom.c, op50-rom.c, monitor.c, config/pa/hppapro.mt: New files + to add a generic ROM monitor interface, and support file for the + WinBond W89K and the Oki OP50N PA based target boards. + + +Sun Sep 11 22:34:57 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/pa/tm-hppa.h (REGISTER_NAMES): Use r26-r23 for arg0-arg3. + +Sun Sep 11 04:36:47 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * irix5-nat.c, osfsolib.c, solib.c (solib_add): Simplify last + change by replacing `symbols_added' with `so_last'. + * mdebugread.c (parse_external, parse_partial_symbols): Ignore + global common symbols, they will be resolved by the runtime loader. + * mdebugread.c (parse_symbol, parse_partial_symbols, cross_ref): + Handle scSCommon like scCommon symbols. + +Sat Sep 10 01:43:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * corelow.c (add_solib_stub): Copy to_sections changes from + core_ops to current_target after adding the shared libraries. + * partial-stab.h (N_EXCL), dbxread.c (add_old_header_file, + find_corresponding_bincl_psymtab): Change `repeated header not seen' + error to a complaint, simplify complaint. + * procfs.c (signalname, errnoname): Make `name' const. + * symfile.c (reread_symbols): Use filename from old BFD to + reopen the objfile. + * values.c (record_latest_value): Don't record value in the + history chain until we are sure there won't be an error. + +Fri Sep 9 15:52:09 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * nlm/Makefile.in: remove MMALLOC, READLINE, TERMCAP, and other + cruft. + + * config/i386/gdbserve.mt: New file, defs for i386 nlm stub. + +Thu Sep 8 17:14:43 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * remote.c (fromhex): Make error more explicit. + (read_frame): Don't print bad checksum information unless + remote_debugging. Don't use repeat count unless it's > 0. + * remote-e7000.c (expect): When echoing, ignore multiple newlines. + (e7000_insert_breakpoint, e7000_remove_breakpoint, target_ops): + Optionally cope with BC style breakpoints. + (e7000_command): After command send directly to the E7000 mark + registers as changed. + (why_stop, e7000_wait: Understand BC style stop condition. + * sh-tdep.c (sh_skip_prologue): Understand more complicated + sequences. (frame_find_saved_regs): Likewise. + * config/h8500/tm-h8500.h (target_write_pc, TARGET_WRITE_PC): + Handle extra arg. + * config/i386/xm-go32.h (GDBINIT_FILENAME): Set to gdb.ini. + (more work here to come) + * config/sh/tm-sh.h (EXTRA_FRAME_INFO): Add f_offset and leaf_function + fields. + +Thu Sep 8 16:15:34 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * sparclite/Makefile.in: Assorted stuff needed for eload. + + * sparclite/eload.c: Merge in command line argument parsing and + error message handling improvements orignally made to aload.c. + +Wed Sep 7 23:24:50 1994 Jeff Law (law@snake.cs.utah.edu) + + * defs.h (enum misc_command_type, command_control_type): Enums + for describing the command and control types. + (struct command_line): Add new fields to keep track of the command + type and body associated with the command. + * top.c: Include value.h. Delete whitespace at the end of lines. + (build_command_line, get_command_line): New functions. + (execute_control_command, while_command, if_command): Likewise. + (realloc_body_list, read_next_line): Likewise. + (recurse_read_control_structure): Likewise. + (execute_user_command): Call execute_control_command. + (read_command_lines): Simplify by calling read_next_line, call + read_control_structure for "if" and "while" commands. + (free_command_lines): Free new fields in the command structure. + (define_command): Reset control_level to zero. + (init_main): Install command handlers for "if" and "while" commands. + +Tue Sep 6 16:24:07 1994 Stan Shebs (shebs@andros.cygnus.com) + + * c-typeprint.c (c_type_print_varspec_prefix, + c_type_print_varspec_suffix): Add cases for Fortran type codes. + * eval.c (evaluate_subexp): For OP_ARRAY expressions in Fortran, + call f77_value_literal_string instead. + * f_exp.y: Include , move include of parser-defs.h. + (parse_number): Translate 'd' floats to 'e' so atof() works. + (yylex): Remove unused variables. + * f-lang.c: Include . + (get_bf_for_fcn): Remove unused variable. + * f-typeprint.c (f_type_print_varspec_prefix, + f_type_print_varspec_suffix): Remove unused + variables, add cases to switch statements. + (f_type_print_base): Remove unused variables. + * f-valprint.c (gdbcore.h, command.h): Include. + (f77_get_dynamic_lowerbound, f77_get_dynamic_upperbound): + Call read_memory_integer with correct number of arguments. + (f77_get_dynamic_upperbound): Call f77_get_dynamic_lowerbound + with correct argument type. + (f77_print_array): Removed unused array array_size_array. + (f_val_print): Don't use a CORE_ADDR as a char *. + * valops.c (value_cast): Handle COMPLEX and BOOL types. + (value_assign): Handle Fortran literal string and complex values. + (f77_cast_into_complex, f77_assign_from_literal_string, + f77_assign_from_literal_complex): New functions. + +Mon Sep 5 14:46:41 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * ch-typeprint.c (chill_type_print_base): Make TYPE_CODE_RANGE + case more robust. + +Sun Sep 4 16:06:34 1994 Stan Shebs (shebs@andros.cygnus.com) + + * i960-tdep.c (signal.h): Don't include. + + * cxux-nat.c (target_is_m88110): Remove definition. + + * configure.in (config/nm-empty.h): If cross only, use instead + of config/nm-trash.h. + * config/nm-trash.h: Remove. + * config/nm-empty.h: New file. + * config/i386/nm-m3.h: New file, includes config/nm-m3.h. + * config/mips/nm-m3.h: New file, includes config/nm-m3.h. + * config/m68k/nm-sysv4.h: New file, includes config/nm-sysv4.h. + * config/mips/nm-sysv4.h: New file, includes config/nm-sysv4.h. + * config/sparc/nm-sysv4.h: New file, includes config/nm-sysv4.h. + + +Fri Sep 2 17:35:55 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * configure.in: No longer look for nm, tm, and xm headers in + config/
; they are always in config//
. + +Fri Sep 2 16:40:03 1994 Stan Shebs (shebs@andros.cygnus.com) + + * objfiles.c (allocate_objfile): Add the newly-created objfile to + the end of the list of objfiles, instead of at the beginning. + + * xcoffread.c (allocate_include_entry): New function, abstracted + from code in record_include_begin. + (record_include_begin, record_include_end): Call it. + + * blockframe.c (reinit_frame_cache): Test inferior_pid instead of + target_has_stack to decide whether to create a real stack frame + for the cache. + + * coffread.c (process_coff_symbol) [CXUX_TARGET]: Ignore vendor + section. + * config/m88k/tm-cxux.h (CXUX_TARGET): Define. + + * h8300-tdep.c: Include "dis-asm.h" instead of . + +Fri Sep 2 09:51:46 1994 J.T. Conklin (jtc@cygnus.com) + + * config/sparc/tm-nbsd.h: Add #defines to map NetBSD struct and + field names into what is expected by sparc-nat.c. + +Thu Sep 1 17:32:54 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * c-typeprint.c (c_typedef_print): Add missing Chill support. + +Thu Sep 1 15:41:21 1994 Stu Grossman (grossman@cygnus.com) + + * rs6000-pinsn.c (print_insn): Use powerpc disassembler when + doing Power PC. + * config/powerpc/tm-ppc-nw.h: Define GDB_TARGET_POWERPC. + + * config/i386/i386lynx.mh, config/m68k/m68klynx.mh, + config/rs6000/rs6000lynx.mh, config/sparc/sparclynx.mh: Enable + ser-tcp. + + * nlm/Makefile.in: Get rid of NWSOURCE. + * nlm/alpha-io.S (inVti, outVti): Remove extraneous ldha's. + * nlm/gdbserve.o: Add dummy __main routine. + * nlm/gdbserve.def: Turn on debug. + +Thu Sep 1 12:36:39 1994 Jim Kingdon (kingdon@cygnus.com) + + * config/xm-nbsd.h: Don't define SET_STACK_LIMIT_HUGE; it is obsolete. + +Thu Sep 1 11:01:40 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * config/tm-nbsd.h: New file, support for all NetBSD targets. + * config/xm-nbsd.h: fix typo. + * config/sparc/{nm,tm,xm}-nbsd.h: New files, renamed from + {nm,tm,xm}-sparcnbsd.h to conform to prefered file naming + conventions. + * configure.in: (sparc-*-netbsd): use config/sparc/nbsd.m[ht]. + +Wed Aug 31 14:40:33 1994 Jason Molenda (crash@phydeaux.cygnus.com) + + * remote-udi.c (udi_read_inferior_memory,udi_write_inferior_memory): + change typeo in error msg (`inferrior' -> `inferior'). + +Wed Aug 31 09:17:02 1994 Jim Kingdon (kingdon@cygnus.com) + + * inflow.c (set_sigint_trap, clear_sigint_trap): Check for + attach_flag (this check was performed by the callers). Also check + inferior_thisrun_terminal. + * inftarg.c (child_wait), lynx-nat.c (child_wait), + procfs.c (wait_fd), symm-nat.c (child_wait): Don't check + attach_flag in deciding whether to call set_sigint_trap and + clear_sigint_trap. + + * value.h (struct value): Change literal_data from PTR to char *, + since that is the way it is used. + +Tue Aug 30 21:56:54 1994 Jeff Law (law@snake.cs.utah.edu) + + * somread.c (som_symfile_read): Force unwinds to be re-read after + reading in a new partial symbol table. + +Tue Aug 30 13:14:16 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/h8500/tm-8500.h (DONT_USE_REMOTE): Remove definition, + an obsolete conditional. + * config/pa/tm-hppa.h (BREAKPOINT) [KERNELDEBUG]: Remove use, + an obsolete conditional. + * config/rs6000/rs6000.mh, config/rs6000/rs6000.mt: Clean up + comments. + +Mon Aug 29 14:39:42 1994 Stan Shebs (shebs@andros.cygnus.com) + + * Makefile.in (ns32k-opcode.h): Remove reference. + (ns32k-pinsn.o): Update dependencies. + * ns32k-opcode.h: Remove file. + * ns32k-pinsn.c (print_insn): Call version in libopcodes, remove + all other code in this file. + +Mon Aug 29 12:04:07 1994 Stu Grossman (grossman@cygnus.com) + + * nlm/configure.in: Stop using cpu.c. Put it in TDEPFILES instead. + * config/alpha/gdbserve.mt (TDEPFILES): Remove alpha-patch.o. + + * nlm/Makefile.in: Add rule for .S.o. + * nlm/aio.h: Protect from multiple inclusions. + * nlm/alpha-io.S: Remove everything we don't need. + * nlm/{alpha-patch.c, alpha-patch.h, alpha-uart.c, alpha-uart.h}: + Remove, no longer needed. + * nlm/alpha.c: Merge in lots of stuff from previous files. + * nlm/alpha.h: Don't #include alpha-patch.h. Make + breakpoint_insn extern. + * Move stuff from alpha-patch.h into here. + + * config/alpha/gdbserve.mt (TDEPFILES): Get rid of alpha-uart.o. + +Mon Aug 29 11:34:34 1994 Jim Kingdon (kingdon@cygnus.com) + + * annotate.c (annotate_starting): Flush output. + +Sat Aug 27 23:32:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symfile.c (symbol_file_add): Move reinit_frame_cache call to + the callers of symbol_file_add. Gets rid of heuristic fence-post + warnings on mips and alpha targets when the PC resides in a shared + library which is not yet read in. + * coff-solib.c (coff_solib_add), cxux-nat.c (add_shared_symbol_files), + irix5-nat.c (solib_add), osfsolib.c (solib_add), + remote-vx.c (vx_open), solib.c (solib_add): + Add call to reinit_frame_cache after all shared libraries are read in. + * remote-udi.c (udi_load), remote-vx.c (vx_load_command), + symfile.c (symbol_file_command, add_symbol_file_command): + Add call to reinit_frame_cache after symbol_file_add. + +Wed Aug 24 17:45:14 1994 J.T. Conklin (jtc@cygnus.com) + + * config/xm-nbsd.h: New file, support for all NetBSD ports. + * config/sparc/{nm-sparcnbsd.h,tm-sparcnbsd.h,xm-sparcnbsd.h, + sparcnbsd.mh,sparcnbsd.mt}: New files, support for NetBSD/sparc. + * configure.in: Add sparc-*-netbsd target. + +Wed Aug 24 13:17:34 1994 Stan Shebs (shebs@andros.cygnus.com) + + * remote-vx.c (vx_attach): Interpret the command argument as an + unsigned long. + +Wed Aug 24 13:08:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in: Change i[34]86 to i[345]86. + * nlm/configure.in: Likewise. + * gdbserver/configure.in: Likewise. + +Wed Aug 24 09:41:09 1994 J.T. Conklin (jtc@cygnus.com) + + * configure.in (i386-*-netware): Automatically configure nlm + subdir. + +Tue Aug 23 17:51:13 1994 J.T. Conklin (jtc@cygnus.com) + + * nlm/gdbserve.c: conditionalize header file inclusion for either + NetWare 4.0 or PIN targets. + * nlm/i386.c: include appropriate header files. + * nlm/prelude.c: define TERMINATE_BY_UNLOAD for NetWare 4.0 + targets. + +Tue Aug 23 16:54:16 1994 Stu Grossman (grossman@cygnus.com) + + * nlm/ppc.c (set_step_traps clear_step_traps): Cleanups. + * nlm/gdbserve.def: Autoload clib. + +Tue Aug 23 12:05:19 1994 Jim Kingdon (kingdon@cygnus.com) + + * breakpoint.c (condition_command): Call breakpoints_changed. + + * gdbtypes.h: Declare f77_create_literal_string_type and + f77_create_literal_complex_type. + * valops.c (f77_value_literal_string, f77_value_substring, + f77_value_literal_complex): Use xmalloc not malloc. + * valops.c (f77_value_literal_string, f77_value_substring): + Make addr char * not CORE_ADDR. + * value.h (struct value): Add new field literal_data of aligner union. + (VALUE_LITERAL_DATA): Use it. + * f-lang.h: Declare find_common_for_function. + * value.h, valops.c: Split VALUE_SUBSTRING_START into memaddr and + myaddr fields of a union. Don't overload it with the frame field + (not sure this is necessary; I'm not sure what lval_* codes + VALUE_SUBSTRING_* can be used with). + +Mon Aug 22 11:45:01 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/a29k/{a29k-kern.mt,a29k-udi.mt,a29k.mt,ultra3.mh, + ultra3.mt}: Clean up comments, remove no-longer-used definitions. + + * rs6000-nat.c: Include libbfd.h again, needed until reference + to bfd_cache_lookup is cleaned out. + + * config/i386/linux.mh (XM_CLIBS): Add -lm. + +Mon Aug 22 10:42:15 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + Work to reduce the interrupts-off duration when running in DOS. + * ser-go32.c: (dos_async_ready): See if anything is in the buffer. + (dos_async_rx): rewrite to unpack as many characters from the + asynctsr as possible into a local buffer. + +Fri Aug 19 14:55:45 1994 Stan Shebs (shebs@andros.cygnus.com) + + Initial Fortran language support, adapted from work by Farooq Butt + (fmbutt@engage.sps.mot.com). + * Makefile.in: Add Fortran-related files and dependencies. + * defs.h (language_fortran): New language enum. + * language.h (_LANG_fortran): Define. + (MAX_FORTRAN_DIMS): Define. + * expression.h: Reformat to standard. + (MULTI_F77_SUBSCRIPT, OP_F77_UNDETERMINED_ARGLIST, + OP_F77_LITERAL_COMPLEX, OP_F77_SUBSTR): New expression opcodes. + * gdbtypes.h (TYPE_CODE_COMPLEX, TYPE_CODE_LITERAL_COMPLEX, + TYPE_CODE_LITERAL_STRING): New type codes. + (type): New fields upper_bound_type and lower_bound_type. + (TYPE_ARRAY_UPPER_BOUND_TYPE, TYPE_ARRAY_LOWER_BOUND_TYPE, + TYPE_ARRAY_UPPER_BOUND_VALUE, TYPE_ARRAY_LOWER_BOUND_VALUE): New + macros. + (builtin_type_f_character, etc): Declare. + * value.h (VALUE_LITERAL_DATA, VALUE_SUBSTRING_START): Define. + * f-exp.y: New file, Fortran expression grammar. + * f-lang.c: New file, Fortran language support functions. + * f-lang.h: New file, Fortran language support declarations. + * f-typeprint.c: New file, Fortran type printing. + * f-valprint.c: New file, Fortran value printing. + * eval.c (evaluate_subexp): Add code for new expression opcodes, + fix wording of error message. + * gdbtypes.c (f77_create_literal_complex_type, + f77_create_literal_string_type): New functions. + * language.c (set_language_command): Add Fortran info. + (calc_f77_array_dims): New function. + * parse.c (length_of_subexp, prefixify_subexp): Add cases for new + expression opcodes. + * symfile.c (deduce_language_from_filename): Recognize .f and .F + as Fortran source files. + * valops.c (f77_value_literal_string, f77_value_substring, + f77_value_literal_complex): New functions. + +Fri Aug 19 13:35:01 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * c-typeprint.c (c_print_type): Assume demangled arguments + if a '(' is found in varstring, looking for ')' at the end of + varstring did fail with demangled const member functions, which + have a trailing `const'. + * remote.c (get_offsets, putpkt): Change to `char' buffers, + to avoid errors when compiling with DEC c89. + (remote_wait): Cast to `char *' before passing buffer to + fputs_filtered, to avoid errors when compiling with DEC c89. + (remote_wait): Do not return inferior_pid by default, this + statement is never reached, which causes warnings from some + compilers. + * stabsread.c (scan_file_globals): Ignore static minimal symbols. + * symfile.c (load_command): If called with no argument, try + to get the filename from the executable file. + (generic_load): Remove check for NULL filename, it is done + in load_command now. + +Fri Aug 19 10:36:15 1994 Jeff Law (law@snake.cs.utah.edu) + + * Makefile.in (ALLDEPFILES): Add hpread.c. + (hpread.o): Add dependencies. + + * somread.c: Do not include "aout/aout64.h". SOM has nothing to + do with a.out. + (BYTES_IN_WORD): Delete. + (som_symfile_read): Call hpread_build_psymtabs to build any + minimal symbols based on the HP C native debug symbols. + (som_symfile_finish): Call hpread_symfile_finish. + (som_symfile_init): Call hpread_symfile_init. + * config/pa/tm-hppa.h (HPREAD_ADJUST_STACK_ADDRESS): Define. + * hppa-tdep.c (hpread_adjust_stack_address): New function. + + * config/pa/hppabsd.mh (NATDEPFILES): Add hpread.o + * config/pa/hppahpux.mh (NATDEPFILES): Likewise. + * hpread.c: New file. + +Fri Aug 19 00:40:55 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (skip_trampoline_code): Revert incorrect change + from June 2, 1994 (what was I thinking?!?). Fix it right this + time. + +Thu Aug 18 17:01:35 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * nlm/i386.c, nlm/i386.h: New files that contain i386 specific code. + +Thu Aug 18 14:39:46 1994 Stan Shebs (shebs@andros.cygnus.com) + + * README: Grammar improvements, clarifications, updates. + +Wed Aug 17 23:08:53 1994 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (TARGET_FLAGS_TO_PASS): Pass down LD_FOR_TARGET and + NLMCONV_FOR_TARGET. (SUBDIRS): Add nlm target. + * configure.in (powerpc-*-netware*): Automatically configure nlm + subdir. + * nlm/Makefile.in: Add {CC NLMCONV LD}_FOR_TARGET. Remove alpha + specific stuff. Make things more configurable. + * nlm/configure.in: Add powerpc-*-netware* target. Use + gdbserve.mt/cpu.c/cpu.h for target stuff. Get rid of tm/xm/nm.h + files. + * nlm/gdbserve.c: Move Alpha specific stuff into other files. + Remove lots of architecture-specific stuff. + * nlm/gdbserve.def: Add new imports. + * nlm/ppc.c, nlm/ppc.h: New files that contain PowerPC specific code. + * nlm/prelude.c: Don't include libhooks.h, get rid of call to + register library. + * nlm/prelude.o: What was this doing here? + * config/alpha/gdbserve.mt: Defs for alpha nlm stub. + * config/powerpc/gdbserve.mt: Defs for PowerPC nlm stub. + * config/powerpc/ppc-nw.mt: Defs for PowerPC target for GDB. + * config/powerpc/tm-ppc-nw.h: Ditto. + + * nlmstub.def: New file, contains imports for 386 nlm stub. + +Wed Aug 17 23:17:33 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * remote-pa.c: New file for HPPA embedded support. Currently it's + a copy of remote.c. + * config/pa/hppabsd.mt,hppahpux.mt,hppaosf.mt: User remote-pa.c. + +Wed Aug 17 13:19:52 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/m68k/tm-delta68.h (EXTRACT_RETURN_VALUE, + STORE_RETURN_VALUE): Define to use %a0 for pointers. + +Wed Aug 17 07:43:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-mips.c: Remove unused declaration of mips_load. + +Tue Aug 16 16:45:34 1994 Stan Shebs (shebs@andros.cygnus.com) + + * coffread.c: General cleanup, and support for section offsets. + (time.h, sys/types.h, libbfd.h): Don't include. + (cur_src_start_addr, cur_src_end_addr): Rename to + current_source_start_addr, current_source_end_addr. + (nlist_stream_global): Remove. + (nlist_bfd_global): New global variable. + (coff_symfile_read): Remove code that gets and uses fileno() + directly. + (read_coff_symtab, enter_linenos, process_coff_symbol): Add + section_offsets parameter, add text/data section offset to + appropriate symbols' values. + (read_one_sym): Use bfd_read instead of fread. + (init_stringtab, init_lineno): Change first parameter to a bfd, + use bfd routines instead of raw I/O. + +Tue Aug 16 15:24:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.c (decode_line_1): If funfirstline and we get a + non-LOC_BLOCK symbol (e.g. variable or type), then error(). + + * Makefile.in (TARFILES, NONSRC, SFILES_STAND, SFILES_KGDB): + Remove; unused. + (TAGFILES_NO_SRCDIR): Remove ALLPARAM. + (HFILES_NO_SRCDIR): Remove all files in config sub-directory. + (TAGS): Also pass result of find on config sub-directory to etags. + (ALLPARAM): Remove; now unused. + +Sun Aug 14 13:05:26 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.13.1 + * NEWS, README: Update to match gdb 4.13 release version. + +Sat Aug 13 08:22:50 1994 Fred Fish (fnf@cygnus.com) + + Harris CX/UX support, from Bob Rusk (rrusk@mail.csd.harris.com). + * cxux-nat.c: Remove dangling #else block. + (m88k_harris_core_register_addr): New function. + + * environ.c (init_environ): If no environment, do nothing. + +Fri Aug 12 19:30:53 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Delete rest of TODO list. Do not include "libbfd.h", + , , "demangle.h", , + "expression.h", "language.h", "gdbtypes.h", "demangleh". + Move all global variables into the private symbol table structure + and add accessor macros. Update some comments. + (hpread_build_psymtabs): Delete dbsubc_addr, we don't need it. + (hpread_end_psymtab): New function to end a partial symbol table, + all callers changed (no more bogus sharing with dbxread.c). + +Fri Aug 12 15:52:37 1994 Stu Grossman (grossman@cygnus.com) + + * remote.c (remote_wait): Return inferior_pid instead of 0 for + `W` message. + +Fri Aug 12 11:47:10 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * sparclite/aload.c (sys_error, error): Use vfprintf for variable + argument lists. + +Thu Aug 11 04:06:42 1994 Doug Evans (dje@canuck.cygnus.com) + + * defs.h (concat, basename, buildargv, freeargv, strerrno, strsigno, + errno_max, signo_max, strtoerrno, strtosigno): Delete. + Include "libiberty.h" instead. + +Wed Aug 10 13:23:47 1994 Rick Sladkey (jrs@world.std.com) + + * i386v-nat.c (i386_insert_nonaligned_watchpoint): + add additional argument specifying raw address to permit + proper release of debug registers. + (i386_insert_watchpoint, i386_insert_aligned_watchpoint): + change all callers. + +Wed Aug 10 16:13:45 1994 Stu Grossman (grossman@cygnus.com) + + * defs.h, top.c: Use `extern' in declarations of GUI hooks, and + define them in top.c. Add comments to the hooks. + +Wed Aug 10 15:57:43 1994 Doug Evans (dje@canuck.cygnus.com) + + * remote-sim.c (gdbsim_ops): Set `to_insert_breakpoint' and + `to_remove_breakpoint' fields. + +Wed Aug 10 15:46:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infcmd.c (run_command): Remove comment suggesting using + target_has_execution instead of inferior_pid. + +Wed Aug 10 10:33:20 1994 Kung Hsu (kung@mexican.cygnus.com) + + * remote-mips.c (mips_open): add code to handle baud rate. + +Tue Aug 9 09:44:42 1994 Stu Grossman (grossman@cygnus.com) + + * infrun.c (wait_for_inferior): Call target_resume() upon + detection of new processes. + + * procfs.c (create_procinfo): Return pointer to new procinfo + structure. + * (do_detach): Spacing & formatting cleanup. + * (procfs_wait): Move wait_again label to ensure that we really + wait again. On exit from fork, release new child from gdbs' + clutches. + * (procfs_set_sproc_trap): Enable trapping of fork and vfork. + +Mon Aug 08 15:34:13 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (hpread_process_one_debug_symbol): Fix block scoping + problem (losing localvars on the close-brace instead of after + the close brace). + +Mon Aug 8 15:09:32 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * i386-nlmstub.c (handle_exception): Wait until the thread has + been started before killing the NLM by pointing the PC at + _exit(). + +Sat Aug 6 22:27:30 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/mips/tm-irix5.h (IN_SIGTRAMP): Redefine for Irix 5, + Irix 5 has a standard _sigtramp signal handler. + * irix5-nat.c (solib_add): Get rid of sigtramp_address handling, + it is not needed for a standard _sigtramp signal handler. + Add shared library sections to the section table of the target + before adding the symbols. + * mips-tdep.c (mips_skip_prologue): Do not skip load immediate + instructions that do not prepare a stack adjustment. + * regex.c (SIGN_EXTEND_CHAR): Update to emacs-19.25 definition, + which does the right thing on machines where `char' is unsigned. + +Fri Aug 5 17:50:59 1994 Stu Grossman (grossman@cygnus.com) + + * remote.c (remote_open): Move setting of inferior_pid prior to + call to remote_start_remote. Also use unique value for pid to + avoid confusion with read_register_pid & friends. + * (remote_wait): Return inferior_pid instead of 0 in all cases. + +Fri Aug 5 12:23:02 1994 Stan Shebs (shebs@andros.cygnus.com) + + * dwarfread.c (bfd.h): Don't include. + +Fri Aug 5 09:08:34 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * i386-nlmstub.c (handle_exception): Point the PC at _exit() to + kill the program being debugged. KillMe(), the undocumented + call intended for this purpose, causes the server to hang. + +Thu Aug 4 16:26:06 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * remote.c (read_frame): Calculate run length encoded checksum + correctly. + * config/sh/stub.c: New file. + +Thu Aug 4 14:34:12 1994 Stu Grossman (grossman@cygnus.com) + + * target.c (find_default_run_target): Make sure to_can_run is set + before calling it. + +Thu Aug 4 11:46:27 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Remove note about fast watchpoints and remove obsolete + Mach stuff. + +Thu Aug 4 11:08:03 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/i386/xm-i386v4.h, config/m68k/xm-m68kv4.h, + config/sparc/xm-sun4sol2.h (NORETURN): Don't define. + * config/m88k/tm-cxux.h (ARCH_NUM_REGS): Undefine before defining. + +Thu Aug 4 10:26:36 1994 Stu Grossman (grossman@rtl.cygnus.com) + + * target.c (add_target): Don't call clean_target on target + vectors anymore. + * (unpush_target): Test for to_close being set before calling. + * (target_xfer_memory, target_info): Check for to_has_memory + before playing with memory. + + * remote.c (remote_open): Set inferior_pid to make kill command + happy. + * inflow.c (kill_command): Revert change of Aug 2. Use + inferior_pid to determine whether to print out "The program is not + being run." message. + +Thu Aug 4 07:55:04 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/i386/i386m3.mh (NAT_CLIBS): Add -lmachid and -lnetname. + * m3-nat.c, config/nm-m3.h: #if 0 REQUEST_QUIT stuff. + * m3-nat.c: Pass argument to return_to_top_level. + Declare m3_kill_inferior before use. + (port_chain_insert): In "can't happen" case, abort rather than + setting `mid' to large decimal constant (which gcc warns about). + (get_thread_name): Use cast to convert const char * to char *. + (add_mach_specific_commands): #if 0 "thread break" command. + (m3_trace_him): Call push_target. + (mach_really_wait): New argument pid; remove unused + variable pid. + (intercept_exec_calls): Call target_terminal_init and + target_terminal_inferior once the child execs. + * infrun.c (proceed): Pass argument to PREPARE_TO_PROCEED. + +Wed Aug 3 22:41:13 1994 Tom Lord (lord@x1.cygnus.com) + + * procfs.c (procfs_mourn_inferior): don't dereference the + procinfo pointer after it has been freed. + +Wed Aug 3 12:05:13 1994 Stan Shebs (shebs@andros.cygnus.com) + + * breakpoint.c (breakpoint_1): Improve pluralization in display + of breakpoint hit counts. + + * language.h (struct language_defn): Remove unused field + la_longest_float. + (longest_float): Remove, no longer used. + * language.c (unknown_language_defn, auto_language_defn, + local_language_defn): Remove init of la_longest_float field. + * c-lang.c (c_language_defn, cplus_language_defn, + asm_language_defn): Ditto. + * ch-lang.c (chill_language_defn): Ditto. + * m2-lang.c (m2_language_defn): Ditto. + +Tue Aug 2 10:58:34 1994 Stan Shebs (shebs@andros.cygnus.com) + + * defs.h (bfd_read, bfd_seek): Remove declarations. + * os9kread.c, rs6000-nat.c (libbfd.h): Don't include. + +Tue Aug 2 09:50:50 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * inflow.c (kill_command): Fix a bug which prevented target + programs to be killed. + +Mon Aug 1 18:48:47 1994 Stan Shebs (shebs@andros.cygnus.com) + + * defs.h: Change two-line declarations to one-line form. + (NORETURN): Define as "volatile" only for older GCCs. + (ATTR_NORETURN): Define for newer GCCs. + * procfs.c (proc_init_failed): Add ATTR_NORETURN to declaration. + +Mon Aug 1 16:43:24 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (mention), main.c (fputs_unfiltered): Add comments. + * breakpoint.c (delete_breakpoint, enable_breakpoint, + disable_breakpoint): Don't call breakpoints_changed; it is now + called via the *_breakpoint_hook functions. + * annotate.c (_initialize_annotate, breakpoint_changed): New functions. + +Mon Aug 1 13:38:04 1994 Kung Hsu (kung@mexican.cygnus.com) + + * stabsread.c (read_type): Fix a bug in enum size calculation. + +Mon Aug 1 01:36:13 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (compare_unwind_entries): Add "const" to both + argument types to shut up GCC. + + * hppa-tdep.c (saved_pc_after_call): If the saved PC is in a + linker stub, then return the address the stub will return to. + (frame_saved_pc): Correctly restart the search for the saved + pc when a linker stub is encountered. + + * hppa-tdep.c (inst_saves_gr): Handle 16 and 8 bit instruction + register stores emitted by the version 9 HP compilers. + (inst_saves_fr): Relax test for a specific base register (%r1); + this avoids losing with the version 9 HP compilers. + (skip_prologue): Try to skip argument stores emitted by the HP + compilers. It's not perfect, but it's better than before. + +Fri Jul 29 23:20:30 1994 Stu Grossman (grossman@cygnus.com) + + * findvar.c (write_pc write_pc_pid): Remove casts to long when + calling write_register_pid. + * (write_register_pid): Add prototype. + +Fri Jul 29 21:56:23 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * remote.c (read_frame): Split readchar/checksum calculation into + two parts since evaluation order is undefined. + +Fri Jul 29 13:46:08 1994 Fred Fish (fnf@cygnus.com) + + From Kevin A. Buettner (kev@cujo.geg.mot.com). + * Makefile.in (coredep.o): Add inferior.h as dependency. + * inflow.c: Add F_SETOWN to list of defines to check + around code that uses F_SETOWN. + +Fri Jul 29 09:59:05 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): If using newlib, + set the -L and -B directory prefixes so we can link with it. + +Thu Jul 28 14:37:36 1994 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (INSTALLED_LIBS, CLIBS, DEPFILES): Add support for + --enable-xxx configure option by adding ENABLE_{CLIBS DEPFILES} + where appropriate. + + * General hackery to support alternate user-interface. + * breakpoint.c (mention, delete_breakpoint, enable_breakpoint, + disable_breakpoint): Call hooks for alternate user-interface. + * defs.h: Add declarations for alternate user-interface hooks. + * main.c (main): Add --nw (and --nowindows) options to disable + the GUI. + * (near call to command_loop): Call command_loop_hook if set. + * (fputs_unfiltered): Call fputs_unfiltered_hook if set. + * stack.c: Call print_frame_info_listing_hook if set. + * top.c (gdb_init): Initialize targets.c and utils.c prior to + other files to make sure that calls to error and warning will + work. Call init_ui_hook after everything else. + * utils.c (query): Call query_hook if set. + * (gdb_flush): Call flush_hook if set. + * Change _initialize_utils to initialize_utils cuz we don't use + automatic initialization of utils.c anymore. + + + * remote.c: Get rid of #ifdef DONT_USE_REMOTE. It's no longer + necessary. + +Thu Jul 28 14:52:01 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Use newlib if it is + there and we are using the gcc from the tree. + (LD_FOR_TARGET): Look for ld in ../ld/ld.new. + +Thu Jul 28 10:43:36 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (annotate.o): Add dependencies. + +Wed Jul 27 14:34:42 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * sparclite/aload.c: Added new -q (quiet) option. + return 0 exit status if file was successfully downloaded. + + * nlm/gdbserve.c: merge in command line argument parsing changes + and bug fixes made to i386-nlmstub.c. + + * i386-nlmstub.c: The returnLength field must be initialized + before portConfig is passed to AIOGetPortConfiguration. + Compare command line arguments with strnicmp(); args are + case insensitive on netware. + +Wed Jul 27 09:24:19 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (DISTSTUFF): Add definition. + (diststuff): Add for new distribution support. + (gdb.tar.Z, make-proto-gdb.dir, setup-to-dist, + gdb-$(VERSION).tar.Z, make-proto-gdb-1, make-proto-testsuite.dir): + Remove old distribution building rules, now uses standard + distribution support in parent directory Makefile.in. + +Tue Jul 26 14:15:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * target.c (push_target): Cast result from xmalloc. + +Tue Jul 26 18:20:46 1994 Paul Flinders (ptf@smee) + + * elfread.c (elf_symtab_read): Discard compiler labels generated + by the Solaris 2.1/Intel SunPro compiler. + +Mon Jul 25 18:19:24 1994 Stu Grossman (grossman@cygnus.com) + + * target.c (nomemory): Fix prototype and routine to take correct + args. + +Mon Jul 25 15:38:23 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (clean): Remove libgdb-files. + +Mon Jul 25 11:50:57 1994 Stan Shebs (shebs@andros.cygnus.com) + + * coredep.c: Include inferior.h. + +Mon Jul 25 11:36:02 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * i386-nlmstub.c: Add support for NODE, PORT and BAUD command + line arguments. + +Sat Jul 23 14:36:09 1994 Stan Shebs (shebs@andros.cygnus.com) + + * symfile.c (deduce_language_from_filename): Recognize .S as asm, + .cp as C++, alphabetize better. + + * breakpoint.c (ignore, condition): Move usage note into body of + help text, so first line can be one-line summary. + +Sat Jul 23 00:58:15 1994 Stu Grossman (grossman@cygnus.com) + + * target.c (unpush_target): Fix handling of removal of top target. + +Fri Jul 22 17:30:39 1994 Stu Grossman (grossman@cygnus.com) + + * Makefile.in: Add stuff to build nlmstub. + * Add rule for annotate.o to keep Sun make happy. + * configure.in: Add config for powerpc/Netware. + + * partial-stab.h (near N_SO): Don't call START_PSYMTAB with null + filename. This speeds up handling of trailing N_SO stabs (they + mark the end of a .o file). + + * target.c, target.h: Change the way pushing and popping of + targets work to support target overlays and inheritance. + * corelow.c, hppa-tdep.c, inflow.c, remote-nindy.c, utils.c: + Fixup references to current_target, due to previous changes. + + * config/i386/tm-i386nw.h: Enable longjmp support. More work is + needed to get the address of longjmp out of the target. + +Tue Jul 19 13:25:06 1994 Stan Shebs (shebs@andros.cygnus.com) + + * main.c: Include . + +Mon Jul 18 15:32:17 1994 Kung Hsu (kung@mexican.cygnus.com) + + * remote-mips.c (mips_readchar): Fix a bug in checking + prompt. + +Mon Jul 18 14:26:35 1994 Stan Shebs (shebs@andros.cygnus.com) + + * solib.c (look_for_base): Don't deref exec_bfd if NULL. + +Sun Jul 17 15:38:36 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.12.4. + +Sun Jul 17 12:20:35 1994 Stan Shebs (shebs@andros.cygnus.com) + + Harris CX/UX support, from Bob Rusk (rrusk@mail.csd.harris.com). + * configure.in (m88*-harris-cxux*): New configuration. + * cxux-nat.c, config/m88k/cxux.mh, config/m88k/cxux.mt, + config/m88k/xm-cxux.h, config/m88k/tm-cxux.h, config/m88k/nm-cxux.h: + New files. + * config/m88k/tm-m88k.h: Add comment about Harris OS. + (TARGET_WRITE_PC): Pass pid through to register writers. + + * configure.in (m68*): Put vendor-only-specified host configs + after vendor-and-os-specified configs. + (m68*-atari-sysv4*, m68*-cbm-sysv4*): Replace with m68*-*-sysv4. + + * config/m88k/delta88.mh (MUNCH_DEFINE): Remove. + * config/m88k/delta88.mt, config/m88k/delta88v4.mh: Format + consistently. + +Sat Jul 16 23:39:17 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * elfread.c (elf_symtab_read): Handle error return from + bfd_get_dynamic_symtab_upper_bound gracefully. + +Sat Jul 16 14:43:17 1994 Stan Shebs (shebs@andros.cygnus.com) + + * inferior.h (ARCH_NUM_REGS): New macro, actual number of + registers in use by the inferior. + * coredep.c (fetch_core_registers, register_addr): Use it. + * findvar.c (registers_changed, registers_fetched, + read_register_bytes): Ditto. + * infcmd.c (do_registers_info, registers_info): Ditto. + * infptrace.c (fetch_inferior_registers, + store_inferior_registers): Ditto. + * stack.c (frame_info): Ditto. + + * coredep.c (CORE_REGISTER_ADDR): New macro. + (fetch_core_registers): Use it. + + * breakpoint.c (ignore, condition): Add usage notes to help strings. + * symfile.c (add-symbol-file): Add usage note to help string. + (add_shared_symbol_files_command): New command. + + gcc -Wall lint. + * inferior.h (read_pc_pid): Declare. + * breakpoint.c (watchpoint_check): Cache breakpoint in local + variable b, remove unused variable other_type_used. + * main.c (inferior.h, call-cmds.h): Include. + (gdb_init): Declare. + * remote.c (remote_wait): Return 0 by default. + +Fri Jul 15 16:43:33 1994 Stan Shebs (shebs@andros.cygnus.com) + + Stop printing at null char option, from Oliver Meyer + (omeyer@i3.informatik.rwth-aachen.de). + * valprint.h, valprint.c (stop_print_at_null): New global. + * valprint.c (_initialize_valprint): New print set subcommand + "null-stop". + * c-valprint.c (c_val_print): If stop_print_at_null is on, and + printing a char array, adjust the number of chars to print. + +Fri Jul 15 14:33:40 1994 Stan Shebs (shebs@andros.cygnus.com) + + From Kevin A. Buettner (kev@cujo.geg.mot.com). + * m88k-tdep.c (examine_prologue): Modified to handle prologues for + pic code in addition to prologues where an instruction from the + prologue gets moved into the delay slot of a branch instruction + immediately following the prologue. A table of potential prologue + instructions (prologue_insn_tbl) is now used for picking apart a + function prologue. + (frame_find_saved_regs): Changed the way in which limit gets set + so that the delay slot of branch instructions immediately + following the prologue gets examined. + (pushed_size, store_parm_word, store_parm, push_parameters, + collect_returned_value): Deleted. + +Fri Jul 15 01:06:00 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (wait_for_inferior): Handle stepping into leaf + functions whose prologue consists of gp loading code only. + +Thu Jul 14 14:22:12 1994 Stan Shebs (shebs@andros.cygnus.com) + + * dbxread.c: Don't include libbfd.h. + * dwarfread.c, elfread.c somread.c: Don't include libbfd.h, + , or . + * elfread.c (elf_symfile_read): Use only standard BFD functions to + collect information about the stab and stab string sections. + +Thu Jul 14 13:17:39 1994 Kung Hsu (kung@x1.cygnus.com) + + * stabsread.c (read_huge_number): handle large unsigned number + for stabs generated by os9k C compiler. + +Wed Jul 13 18:58:15 1994 Stan Shebs (shebs@andros.cygnus.com) + + Breakpoint hit counts, from Bob Rusk (rrusk@mail.csd.harris.com). + * breakpoint.h (hit_count): New breakpoint field. + * breakpoint.c (show_breakpoint_hit_counts): New variable. + (clear_breakpoint_hit_counts): New function. + (bpstat_stop_status): Increment the hit count. + (breakpoint_1): Display the hit count. + * infcmd.c (run_command): Reset breakpoint hit counts. + * target.c (generic_mourn_inferior): Don't clear ignore counts if + displaying hit counts. + +Tue Jul 12 12:23:15 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * elfread.c (elf_symfile_read): Unconditionally add dynamic + 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. + +Mon Jul 11 16:38:49 1994 Stan Shebs (shebs@andros.cygnus.com) + + Atari support, from Uwe Seimet (seimet@chemie.uni-kl.de). + * configure.in (m68*-atari-sysv4*): New configuration. + (m68*-cbm-sysv4*): Use m68kv4 instead of amix. + * m68k-tdep.c (R_PS): Define as R_SR if necessary. + * config/m68k/m68kv4.mh, config/m68k/m68kv4.mt, + config/m68k/tm-m68kv4.h, config/m68k/xm-m68kv4.h: New files. + * config/m68k/amix.mh, config/m68k/amix.mt, + config/m68k/tm-amix.h, config/m68k/xm-amix.h: Removed, superseded + by m68kv4 files. + +Sat Jul 9 16:28:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symtab.c (find_function_start_sal): New function to find + 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. + +Wed Jul 6 20:22:07 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * ch-exp.y (match_simple_name_string): Don't lower-case here. + * ch-exp.y (yylex): First try name lookup using exact name + typed by user; if that fails, try lower-cased name. + +Wed Jul 06 12:39:07 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: More cleanups. Delete lots of trailing whitespace. + Remove some items from the TODO list and notes throughout code + for things which need fixing. Add more comments. + Document bogus struct symloc sharing with dbxread.c. Delete more + useless variables. Add more PARAM prototypes. Fixup more + indention problems that have crept in. + (SET_NAMESTRING): Accept new namep and objfile arguments so that + it doesn't depend on the variable names on the procedures it's + used from. + (hpread_symfile_init): Delete incorrect checks for bogus sizes of + the debug sections. + +Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dbxread.c, elfread.c, mipsread.c, nlmread.c, os9kread.c: + 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. + +Mon Jul 04 19:48:03 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (hpread_symfile_init): Make sure to initialize all the + private data to zero. Not having any HP C debug symbols is not an + error. Just return. + +Mon Jul 4 19:28:56 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (read_unwind_info): ELF unwind information is in the + .PARISC.unwind section now. + +Mon Jul 4 17:06:26 1994 Stan Shebs (shebs@andros.cygnus.com) + + * breakpoint.c (mention): Always show breakpoint address if no + source file. + +Sat Jul 2 01:51:33 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * solib.c (bfd_lookup_symbol, look_for_base): Reinstate to reenable + handling of shared libraries for non-ELF executables, but only if + HANDLE_SVR4_EXEC_EMULATORS is defined. + (locate_base): Try to find debug_base in the dynamic linker + for non-ELF executables if HANDLE_SVR4_EXEC_EMULATORS is defined. + * config/sparc/tm-sun4sol2.h (HANDLE_SVR4_EXEC_EMULATORS): + Define to enable handling of shared libraries for a.out executables, + run under Solaris BCP. + +Fri Jul 01 19:50:21 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c: Change contribution notice to the Cygnus/Utah agreed + upon notice. Delete some stuff from the TODO list. Rework + many comments to be clearer. Major cleanups. Consistently + use "hpread_" prefix. Delete unnecessary macros, structures + variables, fiels, functions and #if 0 code. Mark code which + still needs to be cleaned up. PARAMize and make most functions + static. Fix error checking when reading in the debug section + contents. No more minimal symbol table handling in this code! + +Thu Jun 30 13:59:23 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (wait_for_inferior): Print "Program exited normally" + regardless of batch_mode. + * defs.h, top.c (batch_mode): Removed. + +Wed Jun 29 18:53:36 1994 Stan Shebs (shebs@andros.cygnus.com) + + * Makefile.in (dcache_h): Remove redundant definition. + (init.c): Add a comment. + (top.c): Remove explicit compile action. + * breakpoint.c (mention): Share code indicating location of + break/watchpoints, don't print address if addressprint is off. + * breakpoint.c, c-typeprint.c, c-valprint.c, energize.c, symtab.h + (demangle): Remove redundant declarations. + * eval.c: Remove redundant function declarations. + * objfiles.h: Cosmetic and grammatical improvements. + * TODO: Various updates. + + * remote-mips.c: Replace all \r chars with \015. + (mips_receive_header): Display control characters readably. + (mips_xfer_memory): Add a simple progress display. + +Wed Jun 29 13:11:45 1994 Steve Chamberlain (sac@cirdan.cygnus.com) + + * remote-e7000.c (e7000_open): Don't try a tcp open if we're + using go32. + * remote-hms.c (flush): New function. + (expect): Get edge case right. + (hms_read_inferior_memory): Be more tolerant of line noise. + +Tue Jun 28 14:17:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Use i386m3.mh and i386m3.mt as names of host and + target files, not non-existent mach3.mh and mach3.mt. + +Wed Jun 29 00:26:17 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dbxread.c (dbx_symfile_read): Unconditionally add dynamic + 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. + +Tue Jun 28 15:28:01 1994 Stu Grossman (grossman@cygnus.com) + + * dbxread.c, partial-stab.h (near N_SO): SO stabs with blank + 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. + +Mon Jun 27 09:57:23 1994 Steve Chamberlain (sac@cirdan.cygnus.com) + + * ser-go32.c: Rewrite to run under windows. + * ser-e7kpc.c: New file to support the E7000 with the PC ISA + 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. + +Mon Jun 27 00:35:51 1994 Jeff Law (law@snake.cs.utah.edu) + + * somread.c: Simplify by using stabsect_build_psymtabs. + * 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. + +Sun Jun 26 23:54:08 1994 Jeff Law (law@snake.cs.utah.edu) + + * somread.c: Renamed from paread.c. Changed function names and + 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. + +Fri Jun 24 08:15:42 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * core-sol2.c: New file to handle ELF and BCP core file flavours. + * config/sparc/sun4sol2.mh (NATDEPFILES): Use it instead of + core-svr4. + * Makefile.in: Updated for core-sol2.c. + * README: Add notes about SPARCworks cc under Solaris 2.x, + from Casper H.S. Dik (casper@fwi.uva.nl). + * config/mips/xm-makeva.h: Removed, no longer necessary. + * Makefile.in, config/mips/xm-irix3.h, config/mips/xm-irix5.h, + config/mips/xm-mips.h, config/mips/xm-news-mips.h, + config/mips/xm-riscos.h: Remove references to xm-makeva.h + +Wed Jun 22 17:48:21 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdba.el: Put program input and output in a separate buffer. + +Wed Jun 22 16:54:15 1994 Fred Fish (fnf@cygnus.com) + + * energize-patches, main.c (main), top.c (gdb_init, pwd_command), + top.h: Change all occurances of dirbuf to gdb_dirbuf. Collides + with global variable of same name in libnsl.so on UnixWare. + +Wed Jun 22 14:40:52 1994 Kung Hsu (kung@mexican.cygnus.com) + + * symtab.c (decode_line_1): fix a bug in dealing with '<>' + embedded in template name. + +Tue Jun 21 14:06:46 1994 Kung Hsu (kung@mexican.cygnus.com) + + * config/i386/nm-linux.h: change calling convention of + TARGET_CAN_USE_HARDWARE_WATCHPOINT() and + target_insert_watchpoint() and + target_remove_watchpoint(). + + * config/mips/tm-mips64.h: define FORCE_LONG_LONG to force LONGEST + to be long long in gdb. + * config/mips/tm-bigmips.h: ditto. + +Mon Jun 20 23:54:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * c-lang.c (asm_language_defn): New definitions for language_asm, + mostly copied from c_language_defn, to avoid warnings when + switching between c and asm stack frames. + +Mon Jun 20 13:51:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * mdebugread.c (parse_symbol): Don't call ecoff_swap_tir_in or + 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. + +Fri Jun 17 20:58:58 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c: Include annotate.h. Call annotate_field rather + than printing annotation directly. + + * main.c: Include string.h. + +Thu Jun 16 14:41:37 1994 Stan Shebs (shebs@andros.cygnus.com) + + * fork-child.c (startup_inferior) [STARTUP_INFERIOR]: If defined, + 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. + + * configure.in: Improve sorting/formatting of hosts and targets. + (i[34]86-*-mach3*, i[34]86-*-osf1mk*, mips-*-mach3*, + m88*-*-mach3*, ns32k-*-mach3*): Recognize. + * Makefile.in (stop-gdb): New target. + * stop-gdb.c: New file, utility to get attention of waiting GDBs + in Mach 3. + +Wed Jun 15 00:41:03 1994 Tom Lord (lord@rtl.cygnus.com) + + * top.c (gdb_init): Init current_directory in gdb_init. Probably + the identical initialization can be deleted from main.c, but i + haven't done so just in case. + +Tue Jun 14 17:24:41 1994 Tom Lord (lord@x1.cygnus.com) + + * gdba.el: Added menu windows and slightly improved window + handling to gdba.el. Fixed numerous minor bugs that were causing + emacs and gdb to fall out of sync. + +Tue Jun 14 16:18:44 1994 Kung Hsu (kung@mexican.cygnus.com) + + * breakpoint.c: annotate changes lost at merge, put back in. + +Mon Jun 13 17:28:50 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/i386/i386sco.mh, i386sco4.mh (XDEPFILES): Remove + i387-tdep.o. + +Sun Jun 12 03:51:52 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/m68k/dpx2.mh (NATDEPFILES): Remove duplicate inclusion + 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. + +Fri Jun 10 14:52:56 1994 Kung Hsu (kung@mexican.cygnus.com) + + * breakpoint.c: fix a syntax error native cc does not like. + + * Makefile.in: change sparclite-tdep.c to sparcl-tdep.c. + * sparclite/Makefile.in: ditto. + * sparcl-tdpe.c: change file name because first 8 chars has to be + unique. + * sparcl-stub.c: ditto. + + * sparclite/Makefile.in: fix INCLUDE_CFLAGS to have {srcdir}/../config. + +Fri Jun 10 10:38:15 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (target_read_pc, target_write_pc): Accept (and + 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. + +Thu Jun 9 18:10:44 1994 Kung Hsu (kung@mexican.cygnus.com) + + * Makefile.in: add new file sparclite-tdep.c. + * sparclite/Makefile.in: add new file sparclite-stub.c. + * sparclite/hw_breakpoint.note: note for SPARClite hardware breapoint + support. + * config/sparc/sparclite.mt: add sparclite-tdep.o. + * config/sparc/tm-sparclite.h: add hardware breakpoints support + defiines and code. + * 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. + * config/mips/nm-irix4.h: change interface for target dependent + code supporting watch point. + * config/pa/nm-hppab.h: change interface for target dependent + code supporting watch point. + +Thu Jun 9 14:59:58 1994 Kung Hsu (kung@mexican.cygnus.com) + + * 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. + +Wed Jun 8 23:20:45 1994 Stu Grossman (grossman@cygnus.com) + + * nlmread.c (nlm_symtab_read): Clean up a bit. + * (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. + +Sat Jun 4 18:17:03 1994 Per Bothner (bothner@kalessin.cygnus.com) + + Fix value_print, which used to be ostensibly language-independent, + but would print pointers and arrays in C syntax. Instead, call + a language-specific function. + * language.h (struct language_defn): New functional field + la_value_print. + (LA_VALUE_PRINT): New macro. + * language.c (unk_lang_value_print): New stub/dummy function. + (unknown_language_defn, auto_language_defn, local_language_defn): + Use it. + * c-valprint.c (c_value_print): New function, with code moved from: + * valprint.c (value_print): ... here. Now just invoke + LA_VALUE_PRINT to do language-specific stuff. + * valprint.c (value_print_array_elements): Make non-static. + * c-lang.c (c_language_defn, cplus_language_defn): Add + c_value_print in the la_value_print field. + * m2-lang.c (m2_language_defn): Likewise. + * ch-lang.c (chill_language_defn): But here use chill_value_print. + * ch-valprint.c (chill_val_print): Print null pointer as NULL. + * ch-valprint.c (chill_value_print): New function, based on + c_value_print, but use Chill "look and feel." + * c-lang.h (c_value_print): New prototype. + * ch-lang.h (chill_value_print): New prototype. + * value.h (value_print_array_elements): New prototype. + + * ch-valprint.c (chill_val_print, case TYPE_CODE_BITSTRING + and case TYPE_CODE_SET): Check that the element type isn't a stub. + +Fri Jun 3 09:15:00 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * main.c: Move entire file except for #ifndef MAIN_OVERRIDE code + 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. + +Thu Jun 2 23:19:10 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (skip_trampoline_code): Fix typo. + +Thu Jun 2 18:09:59 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * ch-valprint.c (chill_val_print_array_elements): New function. + 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. + +Thu Jun 2 08:50:00 1994 Stu Grossman (grossman@cygnus.com) + + * configure.in: Add nlm subdir to configdirs for alpha-*-netware + 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. + +Tue May 31 20:35:44 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * inftarg.c (child_wait): Call proc_wait, not wait. + (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. + +Wed Jun 1 11:08:52 1994 Stan Shebs (shebs@andros.cygnus.com) + + 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. + +Wed May 25 17:06:15 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Replace libgdb.a with libgdb-files. Make "all" + build it. + +Thu May 19 09:56:20 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * target.c, target.h: New variables target_activity_function and + target_activity_fd. + * inflow.c, inferior.h: New functions set_sigio_trap and + clear_sigio_trap. + * inftarg.c (child_wait), procfs.c (wait_fd): Call them. + +Wed May 18 13:01:55 1994 Doug Evans (dje@canuck.cygnus.com) + + * remote-sim.h (sim_verbose): Delete. + Document callbacks needed. + (sim_*): Change result to void where there isn't one. + (sim_open): Clarify argument and error response. + (sim_close): Declare. + (sim_load): Change bfd_handle argument to file name. Clarify result. + (sim_create_inferior): Renamed from sim_set_args. + (sim_set_pc): Delete. + (sim_info): Delete printf_fn argument. + * remote-sim.c (gdbsim_kill): Add comment describing purpose. + (gdbsim_load): Try sim_load first. + (gdbsim_create_inferior): Call sim_create_inferior. + (gdbsim_open): Handle args == NULL. Update call to sim_open. + (gdbsim_close): Call sim_close. + (gdbsim_files_info): Update call to sim_info. + (gdbsim_ops): Realign comments. + + * printcmd.c (decode_format): Allow TARGET_PTR_BIT to be non-constant. + +Tue May 17 16:45:20 1994 Stan Shebs (shebs@andros.cygnus.com) + + * xcoffread.c (read_xcoff_symtab): For C_FILE symbols, only use + the auxent if the symbol's name is ".file". From David Edelsohn + . + +Tue May 17 11:08:22 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (breakpoint_1): Fix typo. + + * annotate.c (annotate_field_end): Fix typo. + + * Makefile.in: Move annotate.o from COMMON_OBS to OBS. + + * Makefile.in (TSSTART): Remove; no longer used. + + * utils.c (vfprintf_maybe_filtered, vfprintf_unfiltered): Call + 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. + +Sat May 14 15:13:52 1994 Stan Shebs (shebs@andros.cygnus.com) + + * 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. + +Sat May 14 09:11:44 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * source.c (find_source_lines): Always use code that was #ifdef + 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. + +Fri May 13 08:10:21 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * 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. + + gcc -Wall lint: + * breakpoint.c (watchpoint_check): Remove unused variable b. + * stack.c (print_frame_info): Move sp and buf inside #if. + * eval.c (evaluate_subexp): Remove unused variables pp, + mangle_ptr, ptr, and mangle_tstr. + * valarith.c (value_x_binop): Remove unused variables mangle_tstr + and mangle_ptr. + * symtab.c (lookup_symtab): Put variable copy inside #if. + (decode_line_1): Put variable q1 inside #if 0. + * target.h: Declare target_link. + * infrun.c (wait_for_inferior): Remove unused variables signame. + * remote.c (remote_resume): Remove unused variable name. + * c-exp.y (parse_number): Parenthesize operand of shift. + * dbxread.c (record_minimal_symbol): Parenthesize operand of && + (this is a semantic change, the warning seems to have detected a bug). + * dbxread.c (end_psymtab): Move variable p1 inside #if. + * coffread.c: Move variable temptype inside #if. + * ch-typeprint.c (chill_type_print_base): Remove unused variable + name. + * ch-valprint.c: #include typeprint.h and ch-lang.h. + (chill_val_print): Remove unused variable in_range. + (chill_val_print): Remove statement "length > TYPE_LENGTH (type);". + (chill_val_print): Add default case for switch. + * stabsread.h: Declare stabsect_build_psymtabs. + * os9kread.c (read_minimal_symbols): Make this return void. + (os9k_symfile_read): Remove unused variables stb_exist and val. + (os9k_symfile_init): Remove unused variable val. + (fill_sym): Remove unused variable id. + (read_os9k_psymtab): Put variable back_to inside #if 0. Remove + unused variable nsl. + Remove unused variable symfile_bfd. + #if 0 unused variables lbrac_unmatched_complaint and + lbrac_mismatch_complaint. + Remove declaration for non-existent function os9k_next_symbol_text. + + * annotate.c, annotate.h: New files, containing a function for + each annotation which outputs it. + * Move breakpoints_changed from breakpoint.c to annotate.c. + * breakpoint.c, blockframe.c, infrun.c, cp-valprint.c, main.c, + printcmd.c, source.c, stack.c, utils.c, valprint.c: + Use annotate.c functions to output annotations. + * Makefile.in (OBS): Add annotate.o. + +Thu May 12 10:46:27 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (read_unwind_info): Make sure elf_unwind_size and + elf_unwind_entries are always initialized. + + * hppa-tdep.c (skip_trampoline_code): Handle argument relocation + stubs which return directly to the caller rather than to the stub + itself. + +Wed May 11 20:11:51 1994 Stan Shebs (shebs@andros.cygnus.com) + + * c-exp.y (yyerror): Display a more informative error message. + * ch-exp.y (yyerror): Ditto, don't use global yychar. + * m2-exp.y (yyerror): Ditto. + +Tue May 10 11:57:53 1994 Stan Shebs (shebs@andros.cygnus.com) + + * inflow.c (job_control): Move definition to front of file. + +Tue May 10 14:42:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * maint.c (print_section_table): Rename SEC_SHARED_LIBRARY to + SEC_COFF_SHARED_LIBRARY to match corresponding change in bfd. + +Fri May 6 13:30:22 1994 Stan Shebs (shebs@andros.cygnus.com) + + * 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. + +Fri May 6 13:24:04 1994 Steve Chamberlain (sac@cygnus.com) + + * config/i386/go32.mh: Define CC. + +Fri May 6 11:56:54 1994 Stan Shebs (shebs@andros.cygnus.com) + + * gdbserver/Makefile.in: Remove irrelevant definitions and + comments inherited from the gdb Makefile. + (BFD_DIR, BFD, BFD_SRC, BFD_CFLAGS): Add from gdb Makefile. + (VERSION): Update to 4.12.3. + (gdbserver): Remove any existing executable first. + (distclean, realclean): Remove nm.h. + * gdbserver/low-lynx.c: Add Sparc Lynx support. + * gdbserver/low-sparc.c, gdbserver/low-sun3.c (sys/wait.h): + Don't use absolute pathname. + +Thu May 5 12:00:22 1994 Stan Shebs (shebs@andros.cygnus.com) + + * rs6000-nat.c (vmap_ldinfo): Don't fail if fstat returns an + error. + +Wed May 4 06:56:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (proceed, normal_stop, wait_for_inferior), breakpoint.c + (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. + +Wed May 4 18:15:51 1994 Stu Grossman (grossman@cygnus.com) + + * remote.c (get_offsets): Handle case where stub doesn't support + qOffsets message. + +Wed May 4 15:30:39 1994 Per Bothner (bothner@kalessin.cygnus.com) + + Add partial support for g++ code compiled with -fvtable-thunks. + * 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. + +Wed May 4 06:56:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * valprint.c (print_longest): Clarify comment about use_local. + * printcmd.c, defs.h (print_address_numeric), callers in + symmisc.c, symfile.c, stack.c, source.c, remote.c, infcmd.c, + cp-valprint.c, core.c, ch-valprint.c, c-valprint.c, breakpoint.c, + exec.c: New argument use_local. + * source.c (identify_source_line): Use filtered output. Use + print_address_numeric. + + * core.c (memory_error), symtab.c (cplusplus_hint, decode_line_1), + language.c (type_error, range_error): Use filtered output. + * utils.c (error_begin): Update comment to tell people to use + filtered output. + + * Makefile.in (HFILES_WITH_SRCDIR): List bfd.h. + (HFILES_NO_SRCDIR): List gdbcore.h not gdbcore_h, so as not to get + bfd.h. + +Tue May 3 07:41:33 1994 Jim Kingdon (kingdon@cygnus.com) + + * procfs.c (procfs_wait): Reinstate code which deduces the signal + from the fault, #ifndef FAULTED_USE_SIGINFO. + * config/sparc/tm-sun4sol2.h: Define FAULTED_USE_SIGINFO. + +Fri Apr 29 18:15:04 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (breakpoint_1): Annotate each field of the headers. + Explicitly annotate each record. + +Fri Apr 29 15:56:18 1994 Stan Shebs (shebs@andros.cygnus.com) + + * 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. + +Thu Apr 28 08:40:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * utils.c, defs.h (error_begin): New function. + (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. + + * dbxread.c (stabsect_build_psymtabs): Assign to sym_stab_info + directly, rather than via DBX_SYMFILE_INFO. A cast on the left + side of an assignment is non-portable. + + * utils.c (query): Change syntax of query annotations to be + consistent with other input annotations. + (prompt_for_continue): Likewise for prompt-for-continue annotation. + +Thu Apr 28 01:20:39 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (psymtab_to_symtab_1): Do not call sort_blocks + 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. + +Wed Apr 27 16:33:51 1994 Stan Shebs (shebs@andros.cygnus.com) + + * 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. + +Wed Apr 27 16:01:37 1994 Jim Kingdon (kingdon@cygnus.com) + + * procfs.c (procfs_wait): Use the signal from the pr_info rather + than trying to deduce it from the fault. + +Wed Apr 27 12:22:46 1994 Steve Chamberlain (sac@cygnus.com) + + * printcmd.c (print_address_symbolic): Initialize name to empty + string to avoid core dump if lookup fails. + * remote-e7000.c (printf_e7000debug): Error if target not open. + +Tue Apr 26 22:45:24 1994 Stu Grossman (grossman at cygnus.com) + + * i386-nlmstub.c: Update to be more in line with PIN stub. + * nlm/gdbserve.c (putDebugChar): Install bug fix from i386-nlmstub. + * (hex2mem): Init ptr. + * General cleanups to use ConsolePrintf, standard prologues, etc... + +Tue Apr 26 10:23:04 1994 Stu Grossman (grossman at cygnus.com) + + * i386-nlmstub.c: More changes to be compatible with remote.c. + + * dbxread.c: Move a bunch of strncmps out of process_one_symbol + into (the far less frequently called) dbx_symfile_read. + + * i386-nlmstub.c: An interim version till we get PIN for the x86. + +Tue Apr 26 09:50:45 1994 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (record_minimal_symbol): Record the section + 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. + * (get_offsets): Temporary kludge to force data & bss sections to + have the same relocation. + * stabsread.c (define_symbol, scan_file_globals): Record section + info in sym. + +Sat Apr 23 19:05:52 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (breakpoint_1): Annotate each field of output. Add + FIXME-32x64 comment. + +Fri Apr 22 16:43:54 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (wait_for_inferior): Move call to flush_cached_frames + 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. + + * stabsread.c (read_type): Call read_type, not nonexistent + os9k_read_type. + +Fri Apr 22 14:25:36 1994 Kung Hsu (kung@mexican.cygnus.com) + + * 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. + +Fri Apr 22 11:27:39 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * solib.c (symbol_add_stub): If so->textsection is NULL, don't + dump core. + +Thu Apr 21 07:45:49 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * utils.c (prompt_for_continue): Annotate prompt. + (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. + + * breakpoint.c (watch_command): Use (CORE_ADDR)0, not NULL, for + target null pointer. + * blockframe.c (find_frame_addr_in_frame_chain): Likewise. + + * printcmd.c (output_command): Annotate things we print here too. + * printcmd.c (print_command_1): Add "value-history-value" annotation. + * 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. + +Thu Apr 21 09:29:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dbxread.c (read_dbx_dynamic_symtab): Reinstall support for sun3, + BFD handles sun3 dynamic relocations now. + * elfread.c (elf_symtab_read, elf_symfile_read): Handle dynamic + symbol table. + +Wed Apr 20 19:41:21 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (print_command_1): Annotate the top-level expressions + 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. + +Wed Apr 20 13:18:41 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * findvar.c (read_var_value): Handle LOC_REPARM_ADDR case correctly, + the register contains a pointer to the type, not the type itself. + +Mon Apr 11 10:44:35 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * main.c (main): Accept --annotate=N option and make --fullname + 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. + +Wed Apr 20 08:37:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (xcoff_next_symbol_text): Don't return before + updating raw_symbol and symnum. Return a value in the case where + we complained. + + * dstread.c, coffread.c: Don't define pending_blocks; buildsym.c + takes care of it. + * parse.c: Don't define block_found; it is defined in symtab.c. + * parser-defs.h: Add comment regarding block_found. + +Tue Apr 19 09:46:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (internalize_unwind_info): Delete unused indexp + argument. + +Mon Apr 18 13:18:56 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dbxread.c (read_dbx_dynamic_symtab): Relocate BFD symbols by + section vma. Do not read dynamic relocs for sun3 executables to + avoid BFD assertion message. + +Mon Apr 18 10:08:07 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * nm-hppab.h (KERNEL_U_ADDR): Define. + (FIVE_ARG_PTRACE): Likewise. + (CANNOT_STORE_REGISTER): Likewise. + * nm-hppah.h (KERNEL_U_ADDR): Define. + (FIVE_ARG_PTRACE): Likewise. + (CANNOT_STORE_REGISTER): Likewise. + (NEED_TEXT_START_END): Likewise. + + * tm-hppah.h (NEED_TEXT_START_END): Delete definition. + * xm-hppah.h (KERNEL_U_ADDR): Delete definition. + (FIVE_ARG_PTRACE): Likewise. + * xm-hppab.h (KERNEL_U_ADDR): Delete definition. + (FIVE_ARG_PTRACE): Likewise. + + * hppa-tdep.c (read_unwind_info): Make static. + (restore_pc_queue): Indirect through the target vector to + reload the register state. + +Sat Apr 16 22:20:51 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * paread.c (compare_unwind_entries): Delete function. It's been + 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. + +Fri Apr 15 11:53:46 1994 Stan Shebs (shebs@andros.cygnus.com) + + * source.c (DIRNAME_SEPARATOR): New macro, replaces all references + to : in search path processing. + * defs.h (qsort): Rename argument in prototype. + * symtab.h (SAYMBOL_VALUE): Rename value field, avoids bugs in + some compilers. + * breakpoint.c, exec.c, mdebugread.c, mipsread.c, xcoffexec.c + (false): Eliminate usages. + +Fri Apr 15 11:35:19 1994 Steve Chamberlain (sac@cygnus.com) + + * h8500-tdep.c (initialize_h8500_tdep, large_command): + All references to value changed to value_ptrlage_command is now + called big_command. + All references to value changed to value_ptr. + * remote-e7000.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. + +Thu Apr 14 07:01:56 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * procfs.c (procfs_wait): Protect watchpoint code with appropriate + #ifdefs. + (procfs_set_watchpoint, procfs_stopped_by_watchpoint): Likewise. + +Wed Apr 13 14:52:46 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * breakpoint.h (enum bptype): Add bp_hardware_watchpoint and + 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. + + * config/mips/nm-irix4.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Define. + (STOPPED_BY_WATCHPOINT, HAVE_NONSTEPPABLE_WATCHPOINT): Likewise. + (target_{insert,remove}_watchpoint): Likewise. + +Mon Apr 11 19:21:27 1994 Stu Grossman (grossman at cygnus.com) + + * 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(). + +Mon Apr 11 10:44:35 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * remote.c: Around redefinition of PBUFSIZE, adjust whitespace. + * 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. + +Mon Apr 11 09:18:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * paread.c (pa_symtab_read): Handle ST_STUB symbols and symbols + with scope SS_EXTERNAL. ST_ENTRY symbols in dynamic executables + are type mst_solib_trampoline. + +Fri Apr 8 17:14:37 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * config/m68k/es1800.mt: Change comments. + +Fri Apr 8 17:14:37 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * config/m68k/monitor.mt (TDEPFILES): Don't include remote-es.o. + +Fri Apr 8 15:35:30 1994 Stu Grossman (grossman at cygnus.com) + + * lynx-nat.c: Restore regmap structure for SPARC. It's needed + for core files. + +Fri Apr 8 14:53:35 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * values.c (unpack_long): Remove obsolete comment about using a + switch statement. + + * symfile.c (symbol_file_command): Add comments about command syntax. + +Thu Apr 7 17:25:21 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + Jim Kingdon (kingdon@cygnus.com) + + * infrun.c (IN_SOLIB_TRAMPOLINE): Correct comment, trampolines + 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. + +Thu Apr 7 17:22:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * 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 . + * 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. + +Thu Apr 7 15:11:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * dbxread.c (read_dbx_dynamic_symtab): Adjust for recent changes + to BFD handling of dynamic symbols. + +Tue Apr 5 15:29:25 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (hppa_fix_call_dummy): If FUN is a procedure label, + then gets its real address into FUN and its GOT/DP value into %r19. + + * tm-hppa.h (CALL_DUMMY): Use %r20, not %r19 as a temporary. + + * hppa-tdep.c (frameless_function_invocation): If no unwind + 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. + + * xm-hppab.h: Never define USG. + * xm-hppah.h: Always define USG. + +Tue Apr 5 12:58:47 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * values.c (unpack_long, value_from_longest), + valarith.c (value_binop): Allow TYPE_CODE_RANGE. + +Fri Apr 1 14:04:34 1994 Jason Merrill (jason@deneb.cygnus.com) + + * symfile.c (deduce_language_from_filename): .cpp is a C++ extension. + +Fri Apr 1 00:44:00 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + For SVR4 targets, enable gdb to set breakpoints in shared + 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. + +Wed Mar 30 16:14:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfread.c (elf_symtab_read): Change storage_needed, + 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. + +Wed Mar 30 11:43:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (xcoff_next_symbol_text): New function. + (read_xcoff_symtab): Set next_symbol_text_func to it. + Move raw_symbol outside of read_xcoff_symtab. + + * remote.c (getpkt): Remove unused "out" label. + +Wed Mar 30 09:15:42 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * breakpoint.c (print_it_normal): Allow GDB to notify the user + about more than one watchpoint being triggered. + +Wed Mar 30 08:24:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m68k/tm-dpx2.h: Include tm-m68k.h not nonexistent tm-68k.h. + +Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * blockframe.c (find_pc_partial_function): mst_file_text + symbols do not live in the shared library transfer table. + * ch-exp.y (decode_integer_value, match_character_literal, + match_bitstring_literal): Guard tolower calls with isupper, + tolower on old BSD systems blindly subtracts a constant. + * dbxread.c (read_ofile_symtab): Check for __gnu_compiled_* as + well when determining the producer of the object file. + * mdebugread.c (has_opaque_xref): New function to check for + cross reference to an opaque aggregate. + * mdebugread.c (parse_symbol, parse_partial_symbols): Do not + enter typedefs to opaque aggregates into the symbol tables. + * mdebugread.c (parse_external): Remove skip_procedures argument, + it has always been 1. Remove code that handled stProc symbols, + it was never executed and was wrong, as the index of a + stProc symbol points to the local symbol table and not to the + auxiliary symbol info. Update caller. + * mdebugread.c (parse_partial_symbols): Do not enter external + stProc symbols into the partial symbol table, they are already + entered into the minimal symbol table. + * config/i386/tm-symmetry.h: Clean up, it is now only used for Dynix. + Remove all conditionals and definitions for ptx. + I386_REGNO_TO_SYMMETRY moved to here from symm-tdep.c. + Fix addresses of floating point registers in REGISTER_U_ADDR. + STORE_STRUCT_RETURN now handles cc and gcc conventions. + FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC, + IN_SIGTRAMP, SIGCONTEXT_PC_OFFSET defined to make backtracing through + signal trampoline code work. + * config/i386/xm-symmetry.h: Clean up, it is now only used for Dynix. + Remove all conditionals and definitions for ptx. + Remove KDB definitions. + * symm-nat.c (store_inferior_registers): Fetch registers before + storing them to obtain valid floating point control registers. + Store fpu registers. + * symm-nat.c (print_1167_control_word): Dynix 3.1.1 defines + FPA_PCR_CC_C0 and FPA_PCR_CC_C1, avoid duplicate case value. + * symm-nat.c (fetch_inferior_registers, child_xfer_memory): + Fix typos. + * symm-nat.c (child_resume): Update type of `signal' parameter. + * symm-tdep.c (I386_REGNO_TO_SYMMETRY): Moved to tm-symmetry.h. + +Tue Mar 29 23:01:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (hppa_fix_call_dummy): Use an alternate method for + calling import stubs for functions in shared libraries. + +Tue Mar 29 21:14:04 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * ch-exp.y: Implement SIZE(mode_name) and SIZE(expression). + + * ch-lang.c (chill_is_varying_struct): Magic string is + was "" is now "__var_length" (more portable). + +Tue Mar 29 19:41:34 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote.c (getpkt): If we get a timeout, actually retry rather + than just giving up the first time it happens. + * remote.c: Document sequence numbers. + (remote_store_registers): Change syntax of 'P' request so that it + never looks like a sequence number. + +Tue Mar 29 16:06:01 1994 Kung Hsu (kung@mexican.cygnus.com) + + * os9kread.c (record_minimal_symbol): add section_offset to + relocate minimal symbol table. + * os9kread.c (read_minimal_symbols): ditto. + * os9kread.c (os9k_symfile_init): increase size of dbg and stb + file names. + * os9kread.c (read_os9k_psymtab): if there's no dbg file, just + return. Also if file addr is 0 leave it 0, not to relocate. + * remote-os9k.c (_initialize_remote_os9k): add 'set remotexon', + 'set remotexoff' and 'set remotelog' commands. + +Tue Mar 29 12:38:45 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote.c (remote_store_registers): Add 'P' request to set an + individual register. + (remote_write_bytes, remote_read_bytes): Use %lx, not %x, to print + a target address. + +Sat Mar 26 07:05:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/sparc/tm-sparc.h: Define USE_REGISTER_NOT_ARG. + * stabsread (define_symbol): If USE_REGISTER_NOT_ARG, go back to + combining all 'p' and 'r' pairs into a LOC_REGPARM. + + * command.c (do_setshow_command, case var_string): Never add a + space to the end of the string. + * NEWS: Document this change. + * .gdbinit: Add a space to the "set prompt" command. + +Fri Mar 25 12:40:41 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m3-nat.c, i386m3-nat.c, config/i386/i386m3.mh: Many minor + changes to make it compile (it doesn't link yet). + + * buildsym.c (start_subfile, patch_subfile_names), demangle.c + (set_demangling_style, set_demangling_command): Use savestring not + strdup. We were not dealing properly with a NULL return from + strdup, and were not declaring strdup (the system header may or + may not have it). + + * valprint.c (val_print): Remove inaccurate comment about what + types can be stub types. + + * config/i386/ptx.mh (XDEPFILES): Add coredep.o. Delete infptrace.o. + * symm-nat.c (child_wait, _initialize_symm_nat, kill_inferior): + Supply alternate version if ATTACH_DETACH is not defined. + * ptx4-nat.c, config/i386/{nm-ptx4.h, ptx4.mh, ptx.mt, ptx4.mt, + tm-ptx.h, tm-ptx4.h, xm-ptx.h, xm-ptx4.h}: New files. + * configure.in: Recognize i[34]86-sequent-sysv4* host. + +Fri Mar 25 10:14:03 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (skip_prologue): Do nothing if not at the beginning + of a function. + (skip_trampoline_code): Rewrite and add support for argument + relocation stubs stubs, import/export stubs, calls through + "_sr4export" and cascaded trampolines. + + * hppa-tdep.c (skip_prologue): Return "pc" not zero + if no unwind descriptor is found. + + * tm-hppa.h (NUM_REGS): Bump to 128 registers. + (REGISTER_NAMES): Add entries for "right-half" of FP registers. + (REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE): Do not treat FP regs + differently. All registers are four bytes. + (REGISTER_BYTES, REGISTER_BYTE): Simplify now that all registers are + the same size. + (REGISTER_VIRTUAL_TYPE): Use builtin_type_float for all FP regs. + + * hppa-tdep.c (pa_print_fp_reg): Update to print even numbered FP + registers as both single and double values (fetching 2nd 32bit half + as necessary). Annotate each register printed with its precision. + + * paread.c (read_unwind_info): Fix off-by-one error. + +Fri Mar 25 08:33:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * main.c (complete_command): Deal with it if arg is NULL. + +Thu Mar 24 07:12:09 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mips/tm-mips.h (SETUP_ARBITRARY_FRAME): Revise comment + regarding using the PC--using the PC is necessary and all the + FIXME comments in the world won't make it go away. + + * valops.c (value_at, value_at_lazy): Give error if we dereference + a pointer to void. + * gdbtypes.h: Fix comments regarding TYPE_CODE_VOID. + * stabsread.c: Use 1, not 0, for TYPE_LENGTH of void types. + + * stabsread.c (patch_block_stabs): Add comment about what happens + if the definition is in another compilation unit from the stab. + + * dbxread.c (end_psymtab): Add comment about empty psymtabs. + +Wed Mar 23 07:50:33 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * main.c (complete_command): New command, from Rick Sladkey + . + (symbol_completion_function): Don't declare rl_point and + rl_line_buffer; they are now declared in readline.h. + (show_commands): Don't declare history_base; it is declared in + history.h. + * command.c (lookup_cmd): Don't delete trailing whitespace. + Reverts change of 14 May 1989. + +Wed Mar 23 16:14:52 1994 Stu Grossman (grossman at cygnus.com) + + * minsyms.c (prim_record_minimal_symbol): Move section deduction + code from prim_record_minimal_symbol_and_info() to here. Callers + of the latter can legitimately supply a section number of -1. + +Wed Mar 23 07:50:33 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbtypes.h, gdbtypes.c: Add comments regarding whether static + member functions have an element in args for a (nonexistent) this + pointer. + +Tue Mar 22 20:12:53 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/pa/tm-hppao.h (NO_PC_SPACE_QUEUE_RESTORE): Define. + + * hppa-tdep.c (hppa_pop_frame): Do not restore the PC space + queue if NO_PC_SPACE_QUEUE_RESTORE is defined. + + * stabsread.c (REG_STRUCT_HAS_ADDR): Accept additional argument + for the structure's type. All callers changed. + + * valops.c (call_function_by_hand): Check REG_STRUCT_HAS_ADDR + for each structure argument rather than assuming it's either + true or false for all structure arguments. + + * config/pa/tm-hppa.h (REG_STRUCT_HAS_ADDR): Depend only + on the length structure passed, not the compiler used. + + * config/sparc/tm-sparc.h (REG_STRUCT_HAS_ADDR): Accept additional + argument for the structure's type. + +Tue Mar 22 15:28:33 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * values.c (set_internalvar): Don't set var->value until we are + sure there won't be an error(). + + * remote.c (get_offsets): Reinstate comment which was in + remote_wait about use of SECT_OFF_TEXT and so on. + +Mon Mar 21 13:11:30 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symmisc.c (maintenance_check_symtabs): New function to check + consistency of psymtabs and symtabs. + * symtab.h (maintenance_check_symtabs): Add prototype. + * maint.c: Add new `maint check-symtabs' command. + * config/i386/tm-i386aix.h, config/i386/tm-sun386.h, + config/i386/tm-symmetry.h (REGISTER_CONVERT_TO_RAW): Fix typo. + * config/i386/tm-symmetry.h: Make comment inside #if 0 a real + comment. + * config/i386/tm-symmetry.h (STORE_STRUCT_RETURN): Cast argument + to write_memory to avoid warnings from gcc. + * config/i386/xm-symmetry.h: Add missing #endif. + * config/i386/nm-symmetry.h (NO_PTRACE_H): Add for Dynix. + * config/i386/symmetry.mt (TDEPFILES): Add i386-tdep.o. + * config/i386/symmetry.mh (NAT_FILE, NATDEPFILES): Add. + +Mon Mar 21 11:50:28 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (hppa_fix_call_dummy): Use value_ptr. + (hppa_push_arguments): Likewise. + +Mon Mar 21 11:02:51 1994 Stu Grossman (grossman at cygnus.com) + + * alpha-tdep.c: Gobs of changes (many imported from mips-tdep) to + improve remote debugging efficiency. Also fixed problems with + doing function calls for programs with no entry points. + * infcmd.c (run_stack_dummy): Use CALL_DUMMY_ADDRESS instead of + entry_point_address. + * inferior.h (PC_IN_CALL_DUMMY): ditto. + * mdebugread.c (parse_symbol, parse_procedure, parse_external, + parse_lines): Pass section_offsets info to these routines so that + we can relocate symbol table entries upon readin. + * (psymtab_to_symtab_1): Set symtab->primary to tell + objfile_relocate to do relocations for our symbols. + * (ecoff_relocate_efi): New routine to relocate adr field of PDRs + (which hang off of the symbol table). + * Use prim_record_minimal_symbols_and_info instead of + prim_record_minimal_symbols to supply section info to make minimal + symbol relocations work. + * minsyms.c (prim_record_minimal_symbols_and_info): If section is + -1, try to deduce it from ms_type. + * objfiles.c (objfile_relocate): Use ALL_OBJFILE_SYMTABS where + appropriate. Handle relocation of MIPS_EFI symbols special. Also, + add code to relocate objfile->sections data structure. + * remote.c (get_offsets): Use new protocol message to acquire + section offsets from the target. + * (remote_wait): Get rid of relocation stuff. That's all handled + by objfile_relocate now. + * config/alpha/alpha-nw.mt (TM_FILE): Use tm-alphanw.h. + * config/alpha/tm-alpha.h: Define CALL_DUMMY_ADDRESS, and + VM_MIN_ADDRESS. + * config/alpha/tm-alphanw.h: DECR_PC_AFTER_BREAK=0, VM_MIN_ADDRESS=0. + +Mon Mar 21 10:09:06 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (_initialize_hpuxread): Don't call add_symtab_fns if + HPREAD is not defined. + +Sun Mar 20 15:21:57 1994 Doug Evans (dje@cygnus.com) + + * sparc-tdep.c (sparc_frame_find_save_regs): Use REGISTER_RAW_SIZE + instead of 4. + * sp64-tdep.c (target_ptr_bit, set_target_ptr_bit): Deleted, + can no longer set this at run time. + * config/sparc/sp64.mt (SIMFILES): Use remote-sim.o now. + (TM_CLIBS): Define to -lm, the simulator uses the sqrt() function. + * config/sparc/tm-sp64.h (FPS_REGNUM, CPS_REGNUM): Define (so + sparc-tdep.c compiles). + (TARGET_PTR_BIT): Must be a constant now, fix at 64. + +Sat Mar 19 08:51:12 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m68k/{cisco.mt,tm-cisco.h}: New files. + * Makefile.in (ALLPARAM, ALLCONFIG): Add them. + * configure.in: Recognize m68*-cisco*-*. + + * Makefile.in (TAGS): Use variables directly, rather than using + find, to locate TM_FILE, XM_FILE, and NAT_FILE. This is faster + and means that these filenames no longer need be unique across all + the config/* directories. + * configure.in: Put the config/*/ into TM_FILE, etc. + + * m68k-stub.c (computeSignal): Return SIGFPE, not SIGURG, for chk + and trapv exceptions. + + * target.h (struct section_table), objfiles.h (struct obj_section): + Change name of field sec_ptr to the_bfd_section. More mnemonic + and avoids the (sort of, for the ptx compiler) name clash with + the name of the typedef. + * exec.c, xcoffexec.c, sparc-tdep.c, rs6000-nat.c, osfsolib.c, + solib.c, irix5-nat.c, objfiles.c, remote.c: Change users. + + * utils.c: Include readline.h. + * Makefile.in (utils.o): Add dependency. + + * remote.c (getpkt): Add support for run-length encoding. + +Fri Mar 18 19:11:15 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * utils.c (prompt_for_continue): Call readline, not gdb_readline. + +Fri Mar 18 10:25:55 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dstread.c (record_minimal_symbol): New arg objfile. Pass it to + prim_record_minimal_symbol. + Callers: Pass it. + + * regex.c (EXTEND_BUFFER): Adjust pointers within buffer by + computing their offset from the start of the old buffer and adding + to the new buffer, rather than by assuming we can add the + difference between the old buffer and the new buffer (it might not + fit in an int). Merge in cosmetic differences from emacs regex.c + version of this macro. + +Wed Mar 16 15:28:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (install-only): Fix use of program_transform_name. + +Wed Mar 16 07:18:43 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c: Remove "set print fast-symbolic-addr off" command. + The bug which it worked around was fixed on 25 Feb 94 in coffread.c, + so I'm nuking the command. + * symtab.c (find_addr_symbol): Comment out, no longer used. + + * main.c (main): Don't init_source_path for the -cd argument. Now + that source_path doesn't contain the current_directory from when + GDB started up, init_source_path is no longer useful (and is + harmful because it clobbers a source_path set in $HOME/.gdbinit). + + * TODO: Remove item about line numbers being off. It is useless + and confusing without a reproducible test case (it mentions + proceed(), but I was able to step through proceed without trouble). + +Tue Mar 15 13:39:23 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + For Sunos 4.x targets, enable gdb to set breakpoints in shared + library functions before the executable is run. Retrieve dynamic + symbols from stripped executables. + * symtab.h (minimal_symbol_type): Add mst_solib_trampoline type. + * parse.c (write_exp_msymbol), symmisc.c (dump_msymbols), + symtab.c (list_symbols): Handle mst_solib_trampoline. + * minsyms.c (lookup_minimal_symbol): Handle mst_solib_trampoline + for all targets, remove IBM6000_TARGET dependencies. + * dbxread.c (read_dbx_dynamic_symtab): New function. + * dbxread.c (dbx_symfile_read): Use it. + * dbxread.c (SET_NAMESTRING): Set namestring to + "" instead of "foo" if the string index is + corrupt. + * xcoffread.c (read_xcoff_symtab): Use mst_solib_trampoline instead + of mst_unknown. + * symtab.c (list_symbols): Take from_tty as parameter and pass it + to break_command. Handle mst_file_* minimal symbol types. + * config/i386/tm-i386bsd.h: Give just macro name, not args, to #undef. + +Tue Mar 15 11:40:43 1994 Kung Hsu (kung@mexican.cygnus.com) + + * c-exp.y(yylex): fix potential memory overflow. + +Tue Mar 15 10:33:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * environ.c (set_in_environ): Eliminate special handling of PATH and + GNUTARGET. + * putenv.c: Removed, conflicts with system declaration of + putenv on RS/6000 running AIX 3.2.5, and above change makes it + unnecessary. + * Makefile.in: Change accordingly. + * procfs.c (procfs_create_inferior): Change comment accordingly. + +Tue Mar 15 10:05:27 1994 Jim Kingdon (kingdon@cygnus.com) + + * rs6000-tdep.c: Change value to value_ptr. + +Sun Mar 13 17:19:03 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (read_hpux_symtab: Correctly determine the namespace + and address class of SVAR, DVAR, TYPEDEF, TAGDEF, CONST, and + MEMENUM symbols. Do not include function-scoped variables in + the partial symbol table. + +Sun Mar 13 09:45:51 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * i386m3-nat.c: Include floatformat.h. + (get_i387_state): Use memset not bzero. + + * Version 4.12.3. + + * Makefile.in: Enable commented out getopt_h, bfd_h, etc. Change + ieee-float.h to floatformat.h. + + * valprint.c (val_print_string): Ignore error if the error + happened after a terminating '\0'. + + * c-valprint.c (c_val_print): Never add 1 to return value from + val_print_string; just return what it returns. + + * target.h (enum target_signal): Add TARGET_SIGNAL_FIRST, for + looping through all of the enums. + * infrun.c (signals_info): Use it. + +Fri Mar 11 08:08:50 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * main.c (main): When printing warning about bad baud rate, don't + use warning(); it relies on current_target which isn't set up yet. + + * breakpoint.c (_initialize_breakpoint): Update docstring for + tbreak to match what the code actually does. Don't mention tbreak + in docstrings for "enable once" or "enable breakpoints once". + +Thu Mar 10 08:52:38 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symfile.h (ADD_PSYMBOL_VT_TO_LIST): Don't put a semicolon after + while (0). That defeats the whole purpose of using do . . . while (0). + * mdebugread.c (parse_partial_symbols): Don't use ?: expression as + list for ADD_PSYMBOL_TO_LIST; the macro takes its address and + using a ?: expression as an lvalue is not portable. + + * stabsread.c (define_symbol): If REG_STRUCT_HAS_ADDR, also + convert a LOC_ARG to a LOC_REF_ARG. Update code which combines + 'p' and 'r' symbol descriptors into a single symbol to look for a + LOC_REF_ARG. + * README, config/sparc/tm-sparc.h: Update comments. + +Wed Mar 9 21:43:24 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_type): Do not complain for types with + an `indexNil' aux index, these are simply undefined types. + Remove indexNil check from caller of parse_type. + * mdebugread.c (parse_partial_symbols): Do not enter + stGlobal, scCommon symbols into the minimal symbol table, their + value is the size of the common, not its address. + Handle scInit, scFini, scPData and scXData sections. + Use minimal symbol type mst_file_* for stLabel symbols, instead of + mst_*. + Enter stProc symbols into the global_psymbols list once, not into + the static_psymbols_list. + Get rid of dummy psymtab if it is empty, to allow proper detection + of stripped executables. + * mdebugread.c (cross_ref): Allow cross references to Fortran + common blocks. + +Wed Mar 9 15:23:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (common_block_end, fix_common_block): Stash the + struct pending * in the SYMBOL_TYPE, not the SYMBOL_NAMESPACE, so + as to not assume that a pointer fits in an enum. + +Wed Mar 9 18:56:36 1994 Kung Hsu (kung@mexican.cygnus.com) + + * os9kread.c (fill_sym): check compiler verion number for pre- + UltraC compiler. + * os9kread.c (os9k_process_one_symbol): address of symbol is + relative to section not module. + * stabsread.c (define_symbol): add symbol type 's' as local + symbol for os9k. + * remote-os9k.c: add command 'set monitor_log' to turn on or off + monitor logging. + * remote-os9k.c: fix bug in delete breakpoint, single step trace. + * remote-os9k.c: fix bug in 'set remotebaud' function. + * remote-os9k.c (rombug_link): minimize checking so to improve + speed. + * symfile.c (symbol_file_command): check if failed to link, also make + the command be able to accept more than one filenames. + * target.c (target_link): check if failed to link with rombug. + * config/i386/tm-i386os9k.h : add #define DECR_PC_AFTER_BREAK 0. + +Wed Mar 9 15:23:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-es.c (es1800_child_ops): Don't declare it static. + +Tue Mar 8 11:42:39 1994 Jim Kingdon (kingdon@cygnus.com) + + * config/i386/tm-i386v4.h: Give just macro name, not args, to #undef. + +Tue Mar 8 06:56:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dbxread.c: New variable lowest_text_address. + (record_minimal_symbol, read_dbx_symtab): Set it. + (read_dbx_symtab): Use lowest_text_address + text_size instead of + end_of_text_address. + * config/gould/tm-pn.h: Add comment regarding END_OF_TEXT_DEFAULT. + + * dbxread.c (end_psymtab): Remove old and commented out + capping_global and capping_static. Fix comments regarding + N_SO_ADDRESS_MAYBE_MISSING to match the real name of the macro. + + * parser-defs.h: Add "extern" to start of variable declarations so + we don't end up with commons. + * parse.c: Define these variables. + + * irix5-nat.c (find_solib): Cast o_path to CORE_ADDR when using it + as one. + +Mon Mar 7 13:00:50 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * alpha-tdep.c: Change value to value_ptr. + +Sun Mar 6 17:36:53 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * solib.c (elf_locate_base): New function to locate the address + of the dynamic linker's runtime structure in the dynamic info section. + * solib.c (locate_base): Use it instead of iterating over the list + of mapped address segments. + * solib.c (look_for_base, bfd_lookup_symbol): Removed, no longer + necessary. + +Fri Mar 4 09:50:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (pc_in_linker_stub): Move decl to beginning of file. + (pc_in_interrupt_handler): New function. Also add PARAM decl. + (find_proc_framesize): Deal with HPUX setting SAVE_SP bit for + signal trampoline and interrupt routines. + (frame_saved_pc): Handle signal trampolines and interrupt routines. + (frame_chain, frame_chain_valid): Likewise. + (hppa_frame_find_saved_regs): Likewise. Also deal with special + saved regs convention for SP. + + * tm-hppa[bho].h: FRAME_FIND_SAVED_PC_IN_SIGTRAMP): Define. + (FRAME_BASE_BEFORE_SIGTRAMP): Define. + (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Define. + + * tm-hppah.h (IN_SIGTRAMP): Define. + +Thu Mar 3 12:41:16 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * ch-exp.y (match_simple_name_string): Accept '_' as well as an + alphabetic character as the start of a name. + + * sparclite/Makefile.in (all install): Build and install aload. + + * configure.in: Accept i[34]86-*-*sysv32 because that is what + config.guess and config.sub produce. + + * mips-tdep.c: Change value to value_ptr. + +Wed Mar 2 09:17:55 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * breakpoint.c, breakpoint.h, c-valprint.c, ch-valprint.c, + cp-valprint.c, eval.c, expprint.c, findvar.c, language.c, + objfiles.h, infcmd.c, printcmd.c, stack.c, typeprint.c, + valarith.c, valops.c, valprint.c, value.h, values.c: Replace + value with value_ptr. This is for the ptx compiler. + * objfiles.h, target.h: Don't declare a "sec_ptr" field using a + "sec_ptr" typedef. + * symm-nat.c: Add a bunch of stuff for symmetry's ptrace stuff. + #if 0 i386_float_info. + * symm-tdep.c (round): Remove. Also remove sgttyb. + * symm-tdep.c: Remove lots of stuff which duplicates stuff from + i386-tdep.c. Remove register_addr and ptx_coff_regno_to_gdb. + * i386-tdep.c (i386_frame_find_saved_regs): Put in + I386_REGNO_TO_SYMMETRY check in case it is needed for Dynix + someday. + * config/i386/nm-symmetry.h: Change KERNEL_U_ADDR. Move + stuff from PTRACE_READ_REGS, PTRACE_WRITE_REGS macros to + symm-nat.c. Define CHILD_WAIT and declare child_wait(). + * config/i386/tm-symmetry.h: Remove call function stuff; stuff in + tm-i386v.h is apparently OK. + * config/i386/xm-symmetry.h [_SEQUENT_]: Define HAVE_TERMIOS not + HAVE_TERMIO. Define MEM_FNS_DECLARED, NEED_POSIX_SETPGID, and + USE_O_NOCTTY. + +Wed Mar 2 11:31:08 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * osfsolib.c (xfer_link_map_member): Update to use new + target_read_string interface. + +Wed Mar 2 09:17:55 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * infrun.c (wait_for_inferior): In checking + remove_breakpoints_on_following_step, check + through_sigtramp_breakpoint as well as step_resume_breakpoint. + +Tue Mar 1 16:22:56 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * os9kread.c (os9k_process_one_symbol): Rename + VARIABLES_INSIDE_BLOCK to OS9K_VARIABLES_INSIDE_BLOCK. + * symfile.c (symbol_file_command): Check for (CORE_ADDR)-1, not + (CORE_ADDR)0, from target_link, since that is what it uses. + Process name at end, not during parsing (like we did before Kung's + change), so that -readnow and -mapped can appear anywhere. + Make text_relocation a local variable. + * config/i386/i386os9k.mt: Fix comment. + * Makefile.in (ALLDEPFILES): Add remote-os9k.c. + * os9kread.c: Put "comments" after #endif inside /* */. + * stabsread.h: Add os9k_stabs variable. + * stabsread.c (start_stabs), os9kread.c (os9k_process_one_symbol): + Set it. + * stabsread.c (define_symbol): If os9k_stabs, put a 'V' symbol + descriptor in global_symbols not local_symbols. + (read_type): If os9k_stabs, accept 'c', 'i', and 'b' type + descriptors. + (read_type): If os9k_stabs, accept function parameters after 'f' + type descriptor. + (read_array_type): If os9k_stabs, don't expect index type and + expect lower and upper to be separated by ',' not ';'. + (read_enum_type): If os9k_stabs, read a number before the first + enumeration constant. + (os9k_init_type_vector): New function. + (dbx_lookup_type): Call it when starting new type vector. + * config/i386/tm-i386os9k.h: Define BELIEVE_PCC_PROMOTION. + * (os9k_process_one_symbol): Call define_symbol not os9k_define_symbol. + * os9kstab.c: Removed. + * Makefile.in: Update accordingly. + * objfiles.c (objfile_relocate_data): Removed. + * remote-os9k.c (rombug_wait): Call objfile_relocate + not objfile_relocate_data. + * objfiles.h, objfiles.c: Remove find_pc_objfile. + * remote-os9k.c (rombug_wait): Call find_pc_section not + find_pc_objfile. + * main.c (quit_command): Check inferior_pid; revert Kung change. + * remote-os9k.c (rombug_create_inferior): Set inferior_pid. + +Tue Mar 1 14:56:14 1994 Kung Hsu (kung@mexican.cygnus.com) + + * os9kread.c: New file to read os9000 style symbo table. + * os9kstab.c: new file to read os9000 style stabs. + * remote-os9k.c: remote protocol talking to os9000 rombug monitor. + * objfiles.c (find_pc_objfile): new function to search objfile + from pc. + * objfiles.c (objfile_relocate_data): new function to relocate + data symbols in symbol table. + * objfiles.h: Add two aux fields in struct objfile to handle + multiple symbol table files situation like in os9000. + * symfile.c: Change so 'symbol-file' command can handle multiple + files. Also call target_link() to get relocation infos. + * target.c (target_link): new function to get relocation info when + a symbol file is requested to load. + * main.c (quit_command): take out 'inferior_pid != 0' condition, + because in cross mode there's no inferior pid, bit they need to + be detached. + Makefile.in: add os9kread.c os9kstab.c and .o's. + configure.in: add i386os9k target. + config/i386/i386os9k.mt: new add. + config/i386/tm-i386os9k.h: new add. + +Tue Mar 1 13:16:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/sparc/tm-sun4sol2.h (IN_SIGTRAMP): Handle ucbsigvechandler. + * sparc-tdep.c (sparc_frame_saved_pc): Handle ucbsigvechandler. + +Tue Mar 1 11:54:11 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * target.c, target.h (target_read_string): Provide error detection to + caller. Put string in malloc'd space, so caller need not impose + arbitrary limits. + * solib.c (find_solib): Update to use new interface. + * irix5-nat.c (find_solib): Read o_path from inferior + (clear_solib): Free storage for o_path. + * valprint.c (val_print_string): Add comments. + +Mon Feb 28 23:54:39 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symtab.c (decode_line_1): Handle the case when skip_quoted does not + advance `p'. + +Mon Feb 28 12:40:46 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * value.h (struct value): Add modifiable field. + * values.c (allocate_value, record_latest_value, value_copy): Set it. + (record_latest_value): Don't mess with VALUE_LVAL of value. + * valops.c (value_assign): Check it. Reword existing error + message on not_lval. + + * mips-tdep.c (mips_step_skips_delay), config/mips/tm-mips.h + (STEP_SKIPS_DELAY): Added. + * infrun.c (proceed) [STEP_SKIPS_DELAY]: Check for a breakpoint in + the delay slot. + + * valprint.c (val_print_string): If errcode is set, always print + an error, regardless of force_ellipsis. In the non-EIO case, + just print the error message rather than calling error(). Don't + access *(bufptr-1) if bufptr points to the start of the buffer. + When looking for '\0', don't increment bufptr and addr if bufptr + started out already at limit. If an error happens on fetching the + first character, don't print the string. + +Sun Feb 27 21:05:06 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * config/m68k/tm-apollo68b.h: Remove HAVE_68881 define; it is + obsolete. + + * i387-tdep.c, i386-tdep.c i386v-nat.c, i386aix-nat.c, + i386m3-nat.c, config/m68k/tm-m68k.h, i960-tdep.c + config/i960/tm-i960.h, remote-nindy.c, config/m88k/tm-m88k.h, + m88k-tdep.c: Use floatformat.h instead of ieee-float.h. + * sparc-tdep.c: Remove now-obsolete ieee-float.h stuff + * findvar.c: Update comment regarding ieee-float.h. + +Sun Feb 27 21:39:48 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/i386/tm-i386v4.h (I386V4_SIGTRAMP_SAVED_PC, IN_SIGTRAMP, + FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC): + Define to make backtracing through the various sigtramp handlers + work. + * i386-tdep.c (i386v4_sigtramp_saved_pc): New routine to fetch + the saved pc from ucontext on the stack for SVR4 signal handling. + +Fri Feb 25 09:41:11 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * remote.c, remote-mon.c, remote-utils.c, remote-utils.h, + target.h, remote-es.c, remote-nindy.c: Don't set baud rate if + baud_rate is -1. Remove sr_get_baud_rate and sr_set_baud_rate; + just use the global variable itself. When printing baud rate, + don't print a baud rate if baud_rate is -1. + + * coffread.c (read_coff_symtab): Pass mst_file_* to + record_minimal_symbol for C_STAT symbols. Put C_EXT and C_STAT + symbols in the minimal symbols regardless of SDB_TYPE. + +Thu Feb 24 08:30:33 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * breakpoint.h (enum bptype): New type bp_through_sigtramp. + (bpstat_what_main_action): New code BPSTAT_WHAT_THROUGH_SIGTRAMP. + * breakpoint.c (bpstat_what): Return BPSTAT_WHAT_THROUGH_SIGTRAMP + if we hit a bp_through_sigtramp breakpoint. Remove kludge which + ignored bs->stop for a bp_step_resume breakpoint. + * infrun.c (wait_for_inferior): Make a through_sigtramp_breakpoint + which performs one (the check_sigtramp2 one) of the functions + which had been handled by the step_resume_breakpoint. For each + use of the step_resume_breakpoint, make it still use the + step_resume_breakpoint, use the through_sigtramp_breakpoint, or + operate on both. + Deal with BPSTAT_WHAT_THROUGH_SIGTRAMP return from bpstat_what. + When setting the frame address of the step resume breakpoint, set + it to the address for frame *before* the call instruction is + executed, not after. + + * mips-tdep.c (mips_print_register): Print integers using + print_scalar_formatted rather than duplicating all the + CC_HAS_LONG_LONG and so on. + (mips_push_dummy_frame): Use read_register_gen rather than using + read_register and then putting it back in target format with + store_unsigned_integer. If registers are more than 4 bytes, give + an error rather than have some registers overwrite other + registers. + #if 0 unused include of opcode/mips.h. + + * symfile.h: Don't declare arguments for coff_getfilename. + + * defs.h: Revert Kung change regarding FORCE_LONG_LONG. + +Thu Feb 24 08:06:52 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * configure.in (hppa*-*-osf*): New configuration. + * config/pa/hppaosf.mt: New target makefile fragment. + * config/pa/tm-hppao.h: New target include file. + +Thu Feb 24 04:29:19 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * exec.c (print_section_info): Print entry point for exec_bfd only. + * ser-unix.c (wait_for): Fix typo in HAVE_TERMIO case. + * dwarfread.c: Remove second inclusion of , which + causes problems if has no multiple inclusion protection. + +Wed Feb 23 16:28:55 1994 Jeffrey A. Law (law@cygnus.com) + + * tm-hppa.h (CALL_DUMMY): Add two NOP instructions to the end of + the call dummy to avoid kernel bugs in HPUX, BSD, and OSF1. + (CALL_DUMMY_LENGTH): Changed accordingly. + +Wed Feb 23 16:21:25 1994 Stu Grossman (grossman at cygnus.com) + + * sparc-stub.c (trap_low): Make trap handler work for arbitrary + numbers of register windows. + + * sparclite/hello.c: Add factorial function for testing. + * salib.c: Use macros instead of constants for I/O addresses to + make 931 support easier. + * sparclite.h: Change constraint for LOC to "rJ" to force use of + register in sta/lda instructions. + +Wed Feb 23 10:39:18 1994 Jim Kingdon (kingdon@rtl.cygnus.com) + + * dbxread.c (process_one_symbol): Set + block_address_function_relative for COFF like we do for ELF and SOM. + +Sat Feb 19 03:17:32 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (new_psymtab): Pass in section_offsets and set + them in the pst. + * mdebugread.c (handle_psymbol_enumerators): New function to enter + the enumerators of an ecoff enum into the partial symbol table. + * mdebugread.c (parse_partial_symbols): Call it. + * symfile.c (reread_symbols): Initialize objfile->*_psymbols.next. + * symmisc.c (dump_psymtab): Fix typo, clean up output of section + offsets. Cast psymtab->read_symtab to PTR before passing it to + gdb_print_address. + * i386-tdep.c (i386_skip_prologue): Skip over instructions that + set up the global offset table pointer in pic compiled code. + * config/mips/tm-mips.h (FIX_CALL_DUMMY): For big endian targets, + error() on TYPE_CODE_FLT arguments whose size is greater than 8, + swap all other TYPE_CODE_FLT arguments as mips_push_arguments + ensures that floats are promoted to doubles before they are pushed + on the stack. + +Fri Feb 18 23:12:59 1994 Stu Grossman (grossman at cygnus.com) + + * sparclite/Makefile.in, sparclite/salib.c, sparclite/sparclite.h: + Fixup cache_on and flush_i_cache so that they work for both the + 930 and 932 processors. Rewrite most low level funcs (uart + access & cache stuff) to use new ASI access macros in sparclite.h. + Also make it easy to access second serial port. + +Fri Feb 18 22:17:33 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * hp300ux-nat.c: Don't incloude , , or + ; not needed. + +Fri Feb 18 08:26:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stack.c (print_frame_info): In "pathological" case, don't + distrust the line number information. + +Fri Feb 18 16:51:14 1994 Kung Hsu (kung@mexican.cygnus.com) + + * mips-tdep.c (mips_print_register): handle 64 bits register. + * valprint.c (print_longest): fix a bug in printing 64 bits value. + +Fri Feb 18 08:26:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Version 4.12.2. + + * Makefile.in (install): Do the sed for program_transform_name + ourselves instead of worrying about INSTALL_XFORM. This enables + users to override INSTALL_PROGRAM in the standard way. + + * Makefile.in (c-exp.tab.o, ch-exp.tab.o, m2-exp.tab.o): Don't + depend on Makefile.in. + + * defs.h, valprint.c: Make longest_to_int a function not a macro. + Only test against INT_MIN if a LONGEST is bigger than an int. + + * README: Change GhostScript to Ghostscript. + +Fri Feb 18 07:30:55 1994 Jim Kingdon (kingdon@cygnus.com) + + * config/rs6000/{tm-rs6000lynx.h,nm-rs6000lynx.h,xm-rs6000lynx.h}: + Rename to tm-rs6000ly.h, nm-rs6000ly.h, xm-rs6000ly.h for 14 + character file names. + * Makefile.in (ALLPARAM): Add these files. + + * config/mips/littlemips64.mt: Rename to mipsel64.mt for 14 + character file names. + * Makefile.in: Add Kung's new mips64 files. + +Thu Feb 17 17:25:47 1994 Kung Hsu (kung@mexican.cygnus.com) + + * configure.in: add mips64-*-elf, mips64-*-ecoff, mips64el-*-elf, + mips64el-*-ecoff and mips64-big-*. + * defs.h: get rid of FORCE_LONG_LONG. + * mips-tdep.c (mips_find_saved_regs): add sd and sdc1 instruction + parsing. Change register size to be MIPS_REGSIZE. + +Thu Feb 17 09:30:22 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * corelow.c, exec.c, irix5-nat.c, mipsread.c, objfiles.c, + osfsolib.c, rs6000-nat.c, solib.c, symfile.c, utils.c, + xcoffexec.c: Use bfd_get_error and bfd_set_error and new error names. + +Fri Feb 11 21:47:24 1994 Steve Chamberlain (sac@sphagnum.cygnus.com) + + * remote-hms.c (readchar, hms_open, hms_fetch_register): Made more robust. + (remove_commands, add_commands): Add/remove hms-drain when target + is connected. + +Fri Feb 11 16:11:38 1994 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add Lynx/rs6000 support. + * lynx-nat.c: Clean up some Sparc stuff. Clean up ptrace error + messages. Add rs6000 support. Don't try to modify unwritable + registers. + * rs6000-nat.c: Move lots of native dependent stuff (like core + file support) from rs6000-tdep.c & xcoffexec.c to here. + * rs6000-tdep.c: Move native dependent stuff to nat.c. + * xcoffexec.c: Move native dependent stuff to nat.c. + * config/rs6000/nm-rs6000.h: Move defs of SOLIB_* macros to here + from tm file. + * config/rs6000/tm-rs6000.h: Remove defs of SOLIB_* funcs, cuz they're + really native. + * config/rs6000/tm-rs6000lynx.h, config/rs6000/xm-rs6000lynx.h: + New files to support Lynx/rs6000. + +Tue Feb 8 00:32:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * README: Remove note about gcc warnings on alpha, these should be + gone now. + * c-exp.y, ch-exp.y, core.c, corelow.c, eval.c, fork-child.c, + m2-exp.y, minsyms.c, nlmread.c, parse.c, putenv.c, regex.c + remote-utils.c, stabsread.c: Include . + * regex.c: Include "defs.h", change re_comp argument to const char *. + * infptrace.c (fetch_register, store_inferior_registers): Change + regaddr to type CORE_ADDR. + * config/alpha/alpha-nw.mt, config/alpha/alpha-osf1.mt (MT_CFLAGS): + Remove, no longer necessary now that we use bfd_vma for a CORE_ADDR. + +Mon Feb 7 09:21:17 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * symtab.h: Always define BYTE_BITFIELD to nothing. + +Mon Feb 7 08:44:17 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * config/m68k/{m68k-em.mt,tm-m68k-em.h}: Remove; no longer used. + * configure.in: Remove comment about m68k-em.mt. + * Makefile.in: Remove references. + +Mon Feb 7 08:22:42 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * defs.h [BFD64]: Use BFD_HOST_64_BIT, not nonexistent + BFD_HOST_64_TYPE. + +Sun Feb 6 15:56:09 1994 Jeff Law (law@wild.cs.utah.edu) + + * hpread.c (hpux_symfile_init): Use obj_som_* rather than obj_* to + access BFD private data. Search for the "$TEXT$" space rather + than ".text". + (hppa_sym_fns): Add bfd target flavour to initializer. + +Sun Feb 6 06:55:15 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * target.c (target_preopen): If target_kill doesn't remove the + target from the stack, use pop_target to do it. + + * coffread.c (process_coff_symbol, case C_TPDEF): Don't set name + of TYPE_CODE_PTR or TYPE_CODE_FUNC types. This parallels similar + changes to stabsread.c from summer 1993. + + * remote-udi.c (udi_files_info): If prog_name is NULL, just skip + printing the program, rather than passing NULL to printf. + (udi_detach): Set udi_session_id to -1 so that udi_close doesn't + try to call UDIDisconnect again. Print better message. + (udi_kill): Just call UDIDisconnect ourselves, rather than doing + it via udi_close. + (udi_create_inferior): If udi_session_id is negative, open a new + TIP rather than giving an error. + + * config/mips/mipsm3.mh, config/i386/i386m3.mh, + config/ns32k/ns32km3.mh: Define NAT_FILE. + * config/nm-m3.h: Change guard from _OS_MACH3_H_ and _OS_MACH3_H + (it was inconsistent and namespace-wrong) to NM_M3_H. + * m3-nat.c (mach_really_wait): Change parameter name to ourstatus. + (m3_open): New function. + (m3_ops): Use it. + * TODO: Update Mach section. + + * Makefile.in: Remove "rapp" stuff; it is superseded by gdbserver. + +Sun Feb 6 13:26:21 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * printcmd.c (printf_command): Add missing single-letter + backslash-escape sequences, and improve error message. + +Sun Feb 6 06:55:15 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * corelow.c (solib_add_stub, core_open): Pass address of from_tty + rather than trying to shove an int into a pointer and back out + again. This avoids compiler warnings. + + * defs.h (alloca): Declare as void *, not char *, on hpux. + Don't prototype it, just declare the return type. + +Sun Feb 6 03:25:41 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/i386/tm-sun386.h, config/i386/tm-symmetry.h + (REGISTER_CONVERT_TO_RAW): Add missing backslash. + +Sat Feb 5 08:03:41 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-mips.c (mips_fetch_registers): If regno is FP_REGNUM or + ZERO_REGNUM, just read it as zero without talking to the board. + + * config/i386/tm-i386aix.h (REGISTER_CONVERT_TO_RAW): Add missing + backslash. + * i386-tdep.c (i386_extract_return_value): Pass TYPE_LENGTH (type) + to store_floating, not nonexistent variable len. + + * remote-mips.c (mips_insert_breakpoint, mips_remove_breakpoint): + New functions. + (mips_store_word): Change calling convention to return errors, and + to provide old contents if the caller wants it. + (mips_xfer_memory): Deal with errors from mips_store_word. + * config/mips/tm-idt.h, config/mips/tm-idtl.h: Remove BREAKPOINT + define now that remote-mips.c doesn't use BREAKPOINT. + + * remote-mips.c (mips_create_inferior): Call warning if arguments + specified, and then execute "set args" command. Call error, not + mips_error, if executable file not specified. + + * remote-e7000.c: Replace "snoop" command (e7000_noecho) with + remote_debug. + + * config/rs6000/tm-rs6000.h (STORE_STRUCT_RETURN): Don't cast + to unsigned int. + +Sat Feb 5 05:27:05 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * value.h (print_longest): Rename "value" to "val" in prototype + declaration because some compilers don't like arguments whose + names are the same as types. + * remote.c (remote_xfer_memory): Cast "myaddr" to unsigned char * + before passing it to remote_*_bytes. + +Fri Feb 4 15:53:18 1994 Steve Chamberlain (sac@cygnus.com) + + * h8500-tdep.c (saved_pc_after_call): The size of the + pc is memory model dependent. (segmented_command, + unsegmented_command, _initialize_h8500_tdep): New commands to + change memory model. + * remote-e7000.c (_initialize_remote_e7000): Change name of snoop + command. + * remote-hms.c (hms_load): Remove breakpoints when loaded. + (hms_wait): Use new status structure + (hms_open): Push the target here. (hms_before_main_loop): Not + here. (supply_val, hms_fetch_register, hms_store_register): Cope + with H8/500 names too. (hms_fetch_register): Take out REGISTER_TYPE. + * sh-tdep.c (show_regs, initialize_sh_tdep): New command to print + all registers in a compact way. + +Fri Feb 4 07:41:13 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * config/rs6000/tm-rs6000.h: Declare rs6000_struct_return_address + as CORE_ADDR to match definition in rs6000-tdep.c. + +Fri Feb 4 01:14:20 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dwarfread.c (process_dies): Skip nested TAG_compile_unit DIEs. + * dwarfread.c (add_partial_symbol): Do not enter opaque aggregate + definitions into the psymtab. + +Thu Feb 3 12:38:58 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m68k-stub.c: Treat mc68332 like mc68020 most places. Provide + a special exceptionSize for the 68332. + + * remote-udi.c (udi_attach): If no arguments, print error. + +Thu Feb 3 17:34:05 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.12.1 + * NEWS, README: Update to match 4.12 release. + +Thu Feb 3 12:38:58 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * command.c (empty_sfunc): New function. + (add_set_cmd): Use it instead of not_just_help_class_command. + (not_just_help_class_command): Change calling convention back to + what it was before yesterday's change. + + * stabsread.c (read_sun_builtin_type): Skip the semicolon at the end + of the type if present. + +Wed Feb 2 11:16:45 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (decode_format): Don't blithely set the size for + an address to 'w'. Make it 'g' or 'h', depending on TARGET_PTR_BIT. + + * defs.h: Just typedef CORE_ADDR to bfd_vma. Include bfd.h. + If BFD64, make a LONGEST a BFD_HOST_64_BIT. + * defs.h (longest_to_int): Don't depend on CC_HAS_LONG_LONG; instead + always just check against INT_MIN and INT_MAX (this also fixes things + if sizeof (long) > sizeof (int), e.g. Alpha). + * config/pa/tm-hppa.h, config/i386/sun386.h, config/rs6000/tm-rs6000.h: + Don't define LONGEST or BUILTIN_TYPE_LONGEST. + * gdbtypes.h: Remove BUILTIN_TYPE_LONGEST and + BUILTIN_TYPE_UNSIGNED_LONGEST. + * language.h, c-lang.c, ch-lang.c, m2-lang.c, language.c: Remove + longest_int and longest_unsigned_int. + * value.h (struct value): Just align to LONGEST, rather than worrying + about CC_HAS_LONG_LONG. + * valarith.c (value_binop): Figure out type ourself based on + sizeof (LONGEST) rather than relying on BUILTIN_TYPE_LONGEST. The + point is that we don't depend on CC_HAS_LONG_LONG anymore. + * valprint.c (val_print_type_code_int): Just call + extract_unsigned_integer directly, rather than going through + unpack_long. + * printcmd.c (decode_format): Remove code which would sometimes + change 'g' size to 'w' for integers. print_scalar_formatted handles + printing huge integers well enough, thank you. + + * command.c (add_set_cmd, not_just_help_class_command): Change + to make this the sfunc, not cfunc, since that is how we call it. + * command.h: Comment difference between sfunc and cfunc. + * demangle.c (set_demangling_command): Add third arg since that + is how it is called. + (_initialize_demangler): Use sfunc, not cfunc, for + set_demangling_command, since that is how it is called. + Remove show_demangling_command; it has no effect. + + * command.c (shell_escape): Report errors correctly (with error + message from strerror). + +Wed Feb 2 14:35:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * xcoffread.c (read_xcoff_symtab): Change CSECT_LEN to use + x_scnlen.l rather than x_scnlen to match corresponding change in + coff/internal.h. + +Wed Feb 2 11:16:45 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbtypes.h, ch-typeprint.c, ch-valprint.c: + Change comments regarding TYPE_CODE_BOOL. + * language.c (boolean_type): Always return 1 for TYPE_CODE_BOOL, + regardless of the language. + (value_true): Just call value_logical_not regardless of language. + * coffread.c (coff_read_enum_type), stabsread.c (read_enum_type): + Remove #if 0'd code which makes some enums TYPE_CODE_BOOL. + * language.h: Improve comment for la_builtin_type_vector. + * m2-lang.c (_initialize_m2_language): Don't add any fields to + builtin_type_m2_bool. + +Tue Feb 1 17:13:32 1994 Kevin Buettner (kev@cujo.geg.mot.com) + + * config/m88k/{tm-delta88.h,tm-delta88v4.h}, m88k-tdep.c: + Define IN_SIGTRAMP and backtrace correctly through signal handlers. + +Tue Feb 1 22:13:25 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * procfs.c (wait_fd): Handle EINTR error return from PIOCWSTOP ioctl + by restarting the ioctl. + +Tue Feb 1 16:16:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * target.h (target_wait): Add comment about calling + return_to_top_level. + +Tue Feb 1 12:21:00 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffread.c (read_one_sym): bfd_coff_swap_aux_in now takes + additional arguments. + * xcoffread.c (read_xcoff_symtab, read_symbol_lineno): Likewise. + +Mon Jan 31 16:10:41 1994 Stu Grossman (grossman at cygnus.com) + + * sparc-stub.c: Remove unnecessary #include of memory.h. + +Mon Jan 31 12:12:34 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * mips-tdep.c: Remove code which sets saved_regs from + init_extra_frame_info and put it in new function mips_find_saved_regs. + (READ_FRAME_REG): Remove macro and replace uses with the expansion. + * mips-tdep.c, config/mips/tm-mips.h: When examining ->saved_regs, + check if it is NULL and call mips_find_saved_regs if so. + + * remote-mips.c: Use unfiltered, not filtered, output most places. + + * blockframe.c (get_prev_frame_info): Detect and stop an infinite + backtrace. Revise comments. + +Mon Jan 31 09:40:33 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_procedure): Remove _sigtramp kludges for + alpha and irix. The _sigtramp case has to be handled properly + in the tdep files if we have no ecoff debugging info. + * alpha-tdep.c (alpha_frame_saved_pc, alpha_frame_chain), + mips-tdep.c (mips_frame_saved_pc): Handle signal handler frames + without PC_REGNUM kludge. + * mdebugread.c (fixup_sigtramp), mips-tdep.c (read_next_frame_reg): + Clean up handling of mips sigtramp frames, improve comments. + +Sat Jan 29 23:25:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * paread.c (read_unwind_info): Fix typo. + + * paread.c (pa_symtab_read): Update the "check_strange_names" + filter to match GCC's current output. Filter out section symbols + (which the HP linker sometimes puts in the wrong place). + +Sat Jan 29 07:44:59 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * serial.h (SERIAL_SET_TTY_STATE): Comment return value. + + * Makefile.in (TAGS): Just echo one line, rather than the whole thing. + + * Makefile.in: Remove all references to sparcly-nat.c. + + * Makefile.in (HFILES_NO_SRCDIR): Include dcache.h remote-utils.h + remote-sim.h directly, rather than via $(remote_utils_h). This avoids + duplicating serial.h and target.h. + + * Makefile.in: Don't set M_INSTALL and M_UNINSTALL. These variables + are not used anywhere (a 5 Oct 1993 change removed the uses). + + * config/m68k/monitor.mt (TDEPFILE): Add remote-es.o. + * config/m68k/es1800.mt: Add comment. + * remote-es.c: Extensive changes to update to current conventions. + + * ser-unix.c (wait_for, hardwire_readchar) [HAVE_TERMIO, HAVE_TERMIOS]: + If the timeout is too big to fit in c_cc[VTIME], then do multiple reads + to achieve the desired timeout. + * serial.h (serial_t): Add field timeout_remaining. + +Fri Jan 28 08:45:02 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * c-exp.y (yylex): Reenable nested type code. + +Fri Jan 28 15:40:33 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * a29k-tdep.c (examine_tag): Add comment regarding argcount. + + * remote-mips.c (mips_ops): Fix docstring. + + * remote-bug.c (bug_ops): Remove spurious newline from docstring. + + * config/m68k/tm-monitor.h: Changes to bring this into accordance + with the old tm-m68k-em.h: + (GDBINIT_FILENAME, DEFAULT_PROMPT): Remove. + (HAVE_68881): Don't undefine; HAVE_68881 is obsolete. + (REGISTER_NAMES): Don't muck with it; what tm-m68k.h has is fine. + Add FIXME regarding GET_LONGJMP_TARGET. + + * remote-udi.c (udi_close, udi_detach, udi_kill): Add comments. + * infptrace.c (kill_inferior): Add comments. + * main.c (quit_command): Call target_close after we kill or + detach. + * remote-udi.c (udi_close): Don't error() if QUITTING. + +Fri Jan 28 11:55:52 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * configure.in: Make m68k-coff and aout add monitor support in + addition to the standard serial support. + +Fri Jan 28 08:45:02 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * mdebugread.c (psymtab_to_symtab_1): Don't complain on stLabel with + index indexNil. + +Fri Jan 28 10:40:34 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/pa/tm-hppa.h: Define macro SMASH_TEXT_ADDRESS. + * elfread.c (record_minimal_symbol_and_info), + dwarfread.c (process_dies), paread.c (pa_symtab_read): Use it. + +Thu Jan 27 15:12:23 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * i386-stub.c: Add ".text" right before "mem_fault:". + + * main.c (baud_rate): Add FIXME comment about printing -1 value. + + * remote-utils.c (usage): Fix message to be accurate and conform + more closely to normal conventions. + + * remote-utils.c (gr_files_info): Have the exec_bfd test control + whether to show information about exec_bfd, and not control whether + to show information about device and speed. + + * remote-utils.c (gr_open): If sr_get_device returns NULL, give + usage message, don't dump core. + + * remote-bug.c (bug_write_memory): Use alloca, not GCC extension + for variable size array. + (bug_fetch_register, bug_store_register): Rename "value" to + "fpreg_buf" because some compilers don't like variables whose + names are the same as types. + (bug_store_register): Use a cast when converting char * to + unsigned char *. + + * symmisc.c (maintenance_print_symbols): Don't refer to the name + of the command in error message (the text was referring to the old + name of the command). + + * symmisc.c (dump_symtab): Fix args to fprintf_filtered. + + * c-typeprint.c (c_type_print_base): Have SHOW == 0 mean to print + full details on structure elements without names. This partially + reverts the changes of 1 Jul 1993 and 31 Aug 1993; I think this aspect + of those changes was accidental. + + * stack.c (parse_frame_specification): If SETUP_ARBITRARY_FRAME is + defined, make it an error to specify a single argument which is not + a frame number. + + * Makefile.in (version.c), main.c (print_gdb_version): Use + host_alias and target_alias, not host_canonical and + target_canonical, to print configuration. + +Wed Jan 26 10:57:21 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * parse.c (write_exp_msymbol): Use new type msymbol_addr_type instead + of builtin_type_long. It is necessary to get a type which is + TARGET_PTR_BIT bits in size; builtin_type_long might not be big enough. + + Fix many sins which will come up in 32 bit x 64 bit GDB, and + various miscellaneous things discovered in the process: + * printcmd.c, defs.h (print_address_numeric): New function. + * c-valprint.c (c_val_print), ch-valprint.c (chill_val_print) + breakpoint.c (describe_other_breakpoints, breakpoint_1, mention), + cp-valprint.c (cplus_print_value), infcmd.c (jump_command), + printcmd.c, stack.c, symfile.c, symmisc.c, valprint.c: + Use it. + * utils.c, defs.h (gdb_print_address): New function. + * expprint (dump_expression), gdbtypes.h: Use it. + * breakpoint.c (describe_other_breakpoints), + symmisc.c (dump_symtab, print_symbol): + Use filtered not unfiltered I/O. + (remove_breakpoints): Remove BREAKPOINT_DEBUG code. Might as well + just run gdb under a debugger for this (and it had problems with + printing addresses, how to print b->shadow, etc.). + * buildsym.c (make_blockvector), core.c (memory_error), + exec.c (print_section_info), maint.c (print_section_table), + mdebugread.c (parse_procedure), solib.c, source.c, symfile.c, + symmisc.c, symtab.c, valops.c, valprint.c, xcoffexec.c: + Add comments saying code is broken. Marked with "FIXME-32x64". + * dbxread.c (process_one_symbol), partial-stab.h (default), + remote-vx.c (vx_run_files_info): + Don't cast int being passed to local_hex_string. + * symmisc.c (print_symbol): Don't cast long being passed to %lx. + * symtab.h (general_symbol_info): Add comment about SYMBOL_VALUE + only being a long. + * symmisc.c (print_symbol): Print "offset" in message for LOC_ARG + and LOC_LOCAL. + * printcmd.c (print_address): Remove #if 0 code with ADDR_BITS_REMOVE. + * source.c: Include regardless of USG. + +Tue Jan 25 12:58:26 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * valops.c (value_assign): Set `type' after coercing toval. + * c-valprint.c (c_val_print), ch-valprint.c (chill_val_print): + Use extract_unsigned_integer to get the address of a reference. + +Tue Jan 25 11:31:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (STABS_CONTINUE, error_type), partial-stab.h: + AIX can use ? instead of \ for continuation. Deal with it. + + * paread.c (read_unwind_info): Just assign to objfile->obj_private, + not OBJ_UNWIND_INFO. Assigning to a cast is a GCC-ism which + the HP compiler in ANSI mode doesn't like. + + * main.c: When defaulting HAVE_SIGSETMASK based on USG, just do it + based on USG, rather than defining HAVE_SIGSETMASK to an + expression containing defined. Having a macro used in #if expand + to an expression containing "defined" is undefined according to + ANSI, and the HP compiler in ANSI mode doesn't do what we wanted + it to. + +Mon Jan 24 20:51:29 1994 John Gilmore (gnu@cygnus.com) + + * sparc-nat.c (fetch_inferior_registers, store_inferior_registers): + Clean up the changes of 11 Jan, as recommended by Peter Schauer. + +Fri Jan 21 19:10:44 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * ch-exp.y (match_string_literal): Allow a zero-length string. + * ch-lang.c (chill_printstr): Don't print zero-length string funny. + +Sat Jan 22 17:08:48 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * i386aix-nat.c (i386_float_info): Reverse order of registers before + passing them to print_387_status. + (print_387_status): Don't subtract top from 7 before using it. + * i387-tdep.c: Remove comment about AIX wanting "top" subtracted + from 7; the above explains it. + +Sat Jan 22 20:25:11 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips-tdep.c (init_extra_frame_info): Use frame relative stack + pointer value when fixing up the frame at the start of a function. + +Sat Jan 22 12:29:13 1994 Stu Grossman (grossman at cygnus.com) + + * lynx-nat.c (fetch_core_registers): Load the I & L regs for the + Sparc from the stack. + +Sat Jan 22 08:30:42 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * remote-mips.c (mips_initialize): Clear mips_initializing via + cleanup chain, not directly. + + * ser-unix.c (wait_for) [HAVE_TERMIO, HAVE_TERMIOS]: Make a timeout + of -1 mean forever, like in the HAVE_SGTTY case. Warn if we are + munging the timeout due to the limited range of c_cc[VTIME]. + + * fork-child.c, inferior.h (fork_inferior): New argument shell_file. + * procfs.c (procfs_create_inferior), inftarg.c (child_create_inferior), + m3-nat.c (m3_create_inferior): Pass it. + * procfs.c: Remove ptrace function. It was declared in a way which + conflicted with the prototype in unistd.h on Solaris. + +Sat Jan 22 01:37:40 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * sparc-tdep.c (frame_saved_pc): Get the pc from the saved pc + in the sigcontext if it is a signal trampoline frame. + * config/sparc/tm-sun4sol2.h (IN_SIGTRAMP, SIGCONTEXT_PC_OFFSET): + Define for Solaris2. + +Sat Jan 22 00:34:47 1994 Stu Grossman (grossman at cygnus.com) + + * sparc-tdep.c, lynx-nat.c, config/sparc/tm-sparc.h, + config/sparc/tm-sparclynx.h: Move defs of FRAME_SAVED_I0/L0 to + tm-sparc.h so they can be overridden if necessary. + +Fri Jan 21 17:49:28 1994 Stu Grossman (grossman at cygnus.com) + + * lynx-nat.c: Add Sparc support. + * sparcly-nat.c: Remove. It's useless. + * config/sparc/nm-sparclynx.h: Rewrite. + * config/sparc/sparclynx.mh (NATDEPFILES): Replace sparcly-nat.o + with lynx-nat.o + * config/sparc/tm-sparclynx.h: Rewrite. + +Fri Jan 21 19:08:48 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * rs6000-pinsn.c: Use the new disassembler in the opcodes + directory. Old code was discarded, since the new opcode table has + a different format. + +Fri Jan 21 14:28:30 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (realclean): Remove info files per make-stds.texi. + +Fri Jan 21 12:47:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dbxread.c (end_psymtab): Only patch psymtab textlow and texthigh + if N_SO_ADDRESS_MAYBE_MISSING is defined. + * config/sparc/tm-sun4sol2.h: Define it. + +Thu Jan 20 15:04:24 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * printcmd.c (print_address_symbolic): Unconditionally use msymbol + if we did not find a symbol. + +Fri Jan 21 08:20:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * infptrace.c (child_xfer_memory): Only use if CHILD_XFER_MEMORY + is not defined. + + * hppab-nat.c (call_ptrace): Delete redundant function. + (kill_inferior, attach, detach, child_resume): Likewise. + (child_xfer_memory): Likewise. + + * hppah-nat.c (call_ptrace): Delete redundant function. + (kill_inferior, attach, detach, child_resume): Likewise. + + * config/pa/hppabsd.mh (NATDEPFILES): Add infptrace.o. + + * config/pa/hppahpux.mh (NATDEPFILES): Add infptrace.o. + + * config/pa/nm-hppab.h (FETCH_INFERIOR_REGISTERS): Define. + + * config/pa/nm-hppah.h (FETCH_INFERIOR_REGISTERS): define. + (CHILD_XFER_MEMORY): Define. + (PT_*): Define so that generic infptrace.c code can be used. + +Fri Jan 21 09:23:33 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (xcoff_symfile_read): Make second parameter a + struct section_offsets *, not a (nonexistent) struct section_offset *. + + * xcoffread.c (read_xcoff_symtab): Make main_aux just a union + internal_xcoff_symtab, not an array of one of them. Change lots of + "main_aux" to "&main_aux" and so on. + + * coffread.c, xcoffread.c: Include + before "symfile.h". + +Thu Jan 20 17:30:55 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * coffread.c (coff_getfilename): Make it not static. + + * xcoffread.c (read_xcoff_symtab): complain() not abort(). + + * xcoffread.c (struct coff_symbol): Rename c_nsyms to c_naux (removes + a completely gratuitous difference between xcoffread.c and coffread.c). + +Wed Jan 19 15:09:44 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (wait_for_inferior): Don't set frame for + step_resume_breakpoint for IN_SIGTRAMP cases. + + * infrun.c (wait_for_inferior), breakpoint.h (struct bpstat_what), + breakpoint.c (bpstat_what): Move step_resume from its own field of + the struct bpstat_what into the main_action. Make it override + other breakpoints. This is a conservative change in the sense + that before the step resume breakpoint was a breakpoint.c + breakpoint, hitting the step resume breakpoint overrode even + calling bpstat_stop_status. + +Wed Jan 19 12:40:25 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (normal_stop): Set stop_pc after popping the dummy frame + in case execution was stopped in the called function. + * stack.c (print_frame_info, frame_info): If backtracing through + a call dummy, handle the starting source line number on a line + boundary like backtracing through sigtramp. + * sparc-tdep.c (sparc_frame_find_saved_regs): Get frame address + for call dummy frame right. Remove old test for dummy frame, + it has been unused at least since gdb-3.5. + * sparc-tdep.c (sparc_push_dummy_frame): Set return address register + of the dummy frame. + +Tue Jan 18 16:16:35 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infcmd.c (signal_command): Accept 0 as legitimate signal number. + +Tue Jan 18 14:09:25 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (signals_info), target.c (target_signal_from_name): + Use ugly casts to avoid enumvar < enumvar or enumvar++. + +Mon Jan 17 22:00:15 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * ser-unix.c (hardwire_noflush_set_tty_state): Don't muck with ICANON. + * inflow.c (terminal_ours_1): When discussing how to deal with the + tty state, make note of query() as well as readline. + + * infrun.c (_initialize_infrun): Add TARGET_SIGNAL_POLL to list of + signals for which stop and print are cleared by default. + +Mon Jan 17 20:00:51 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/pa/tm-hppa.h (unwind_table_entry): Use one of the + reserved fields to hold a stub unwind entry type. Fix typo. + (stub_unwind_entry): New structure for raw stub unwind entries. + (stub_unwind_types): The types of stubs we may encounter. + (UNWIND_ENTRY_SIZE, STUB_UNWIND_ENTRY_SIZE): New defines. + * hppa-tdep.c (rp_saved): Use additional information provided + by linker stub unwind descriptors. + (frameless_function_invocation): Likewise. + (frame_chain_valid): Likewise. + * paread.c (compare_unwind_entries): New function for sorting + unwind table entries. + (read_unwind_info): Rewrite to remove dependency on host endianness. + Read in data from the $UNWIND_END$ subspace which contains linker + stub unwind descriptors. Merge that data into the basic unwind + table. + + * hppab-nat.c (_initialize_kernel_u_addr): Delete unwanted functions. + +Mon Jan 17 22:00:15 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (read_xcoff_symtab, case C_FILE): Accept the name + from either the symbol name or the auxent. + * coffread.c, symfile.h (coff_getfilename): Renamed from getfilename, + no longer static. + +Mon Jan 17 13:35:01 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (ALLPARAM): Change irix5.h to nm-irix5.h. + +Mon Jan 17 12:35:42 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * README: Update notes for alpha port. + +Mon Jan 17 11:15:57 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * i960-tdep.c (i960_fault_to_signal): Return TARGET_SIGNAL_ILL + for operation fault, constraint fault, and type fault. + +Sun Jan 16 12:46:01 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (init.c): Add comment explaining formatting conventions. + + * c-exp.y (parse_number): Assign to temporary between the right + shifts, to work around a bug in the SCO compiler. + + * Makefile.in (ALLCONFIG, ALLPARAM, ALLDEPFILES, HFILES_NO_SRCDIR): + Add various files which were added to GDB recently. + + * xcoffread.c (process_xcoff_symbol): Only change 'V' to 'S' if not + within_function. + + * Makefile.in: Add mostlyclean target. + +Sat Jan 15 10:20:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Version 4.11.4. + +Sat Jan 15 18:27:34 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * main.c (show_commands): Make return type of extern + history_get be HIST_ENTRY, rather than struct _hist_entry. + (The latter loses with the upcoming merged readline.) + +Sat Jan 15 10:20:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * minsyms.c (prim_record_minimal_symbol_and_info): Make tempstring + const char *, not char *. + + * symtab.h (struct symbol): Make section short, not unsigned short. + + * symtab.c (lookup_symbol): Add comment about QUIT here. + + * utils.c (fputs_unfiltered): Call fputs, not fputs_maybe_filtered. + + * c-exp.y (parse_number): Check for overflow regardless of range + checking. Fix overflow check to use unsigned LONGEST, not + unsigned int. + + * c-exp.y (parse_number): Make it so that integer constants are + builtin_type_long_long if builtin_type_long isn't big enough or if + an "LL" suffix is used. Properly handle "UL" or "LU" suffixes. + + * c-typeprint.c (c_type_print_varspec_suffix, case TYPE_CODE_FUNC): + Print our "()" first, then recurse for the target type. + +Fri Jan 14 21:55:39 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-udi.c (udi_create_inferior): Quote empty execfile argument. + + * gdbserver/low-lynx.c: Include not "/usr/include/wait.h". + +Fri Jan 14 14:17:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * utils.c (request_quit): Re-establish signal handler regardless + of USG. + + * config/mips/xm-irix4.h: Define HAVE_TERMIOS. + +Fri Jan 14 21:55:39 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * i960-tdep.c: Include target.h. + +Fri Jan 14 17:12:28 1994 Stan Shebs (shebs@andros.cygnus.com) + + * lynx-nat.c (sys/wait.h): Don't use absolute pathname. + +Fri Jan 14 11:06:10 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * lynx-nat.c (child_wait): Fix thinkos in struct target_waitstatus + changes (status -> ourstatus; declare status, etc.). + * config/nm-lynx.h: Fix child_wait prototype and include target.h. + +Fri Jan 14 14:17:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (ALLPARAM): Add config/nm-lynx.h. + +Fri Jan 14 11:49:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * remote-mips.c (mips_request, mips_wait): Correct prototypes. + +Fri Jan 14 11:37:17 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/i386/xm-linux.h: Define HAVE_TERMIOS. + +Fri Jan 14 01:04:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/alpha/tm-alpha.h (CALL_DUMMY): Improve comment. + +Thu Jan 13 10:32:38 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote-vx.c (vx_wait): Only call i960_fault_to_signal if I80960 + is defined. Otherwise just report TARGET_SIGNAL_UNKNOWN. + + * mips-tdep.c (mips_push_arguments): Byteswap struct_addr before + writing it. + + Add search to target vector (#if 0'd until after 4.12): + * target.h (to_search, target_search): Add. + * gdbcore.h, core.c (generic_search): Add. + * remote.c (remote_search): Add. + * a29k-tdep.c (init_frame_info): Use target_search to find traceback + tag. + + * printcmd.c (print_address_symbolic): If set print fast-symbolic-addr + is on, call find_pc_function rather than relying just on the minimal + symbols (probably only matters for symbol readers which don't put + statics in the minimal symbols, but changing this strikes me as + not conservative enough). + Initialize name_location in all cases. + If no symbol and no msymbol, don't print anything symbolic. + + * a29k-tdep.c (push_dummy_frame): Add comment about saving lr0. + +Wed Jan 12 20:53:16 1994 John Gilmore (gnu@cygnus.com) + + * printcmd.c (print_address_symbolic): Make it search the + symtabs for variables as well as functions. Add `set print + fast-symbolic-addr' and default it to fast (the old way). + Print line numbers for data items as well as functions. + + * symtab.c (find_addr_symbol): Return the symtab and the symbol + address, if a symbol is found (take two more args pointing to + where to store these results). + + * symtab.h (find_addr_symbol): Add prototype. + +Wed Jan 12 19:32:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * objfiles.h: Fix comments to reflect the fact that the phrase + "top of stack" always refers to where the pushing and popping takes + place, regardless of whether it is at the highest or lowest address. + +Wed Jan 12 13:23:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_symbol): Do not set TYPE_TAG_NAME for + compiler generated tag names. + * mdebugread.c (parse_type): Handle cross references to qualified + aggregate types. + * valops.c (value_struct_elt): Improve error message if the + address of a method is requested from an object instance. + * valops.c (search_struct_method): Make name_matched non-static + to get it initialized correctly. + * config/i386/nm-i386sco.h (CANNOT_STORE_REGISTER): Define to + exclude segment register which are not writable on newer SCO versions. + +Wed Jan 12 14:44:45 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * go32-xdep.c: Remove unused function uerror. + (sigsetmask): Declare return type. Declare argument (to match the + way it is called). Explicitly return 0. + +Wed Jan 12 01:44:25 1994 John Gilmore (gnu@cygnus.com) + + * symtab.h (struct symbol, general_symbol_info, minimal_symbol, + partial_symbol): Shrink the storage sizes of symbols, by making + enums into 1-byte bitfields when compiled __GNUC__, moving all the + enums and small ints to the end of each struct to improve + alignment, and switching the section number from int to unsigned + short. + +Wed Jan 12 00:16:26 1994 John Gilmore (gnu@cygnus.com) + + * symtab.c (find_addr_symbol): New routine that will find the nearest + symbol associated with an address. It does so by exhaustive + search of the symtabs, so it's slow but complete. + +Tue Jan 11 23:57:30 1994 John Gilmore (gnu@cygnus.com) + + * coffread.c (read_coff_symtab): Set PC bounds of _globals_ symtab + to [0,0] rather than [0, end of first source file]. This avoids + problems with other parts of GDB looking for linetables in the + _globals_ symtab. Eliminate variables num_object_files and + first_object_file_end. + +Tue Jan 11 00:53:46 1994 John Gilmore (gnu@cygnus.com) + + * a29k-tdep.c (init_frame_info): Cast null arg to examine_tag. + (pop_frame): Restore PC2 and LR0 from dummy frames. + (push_dummy_frame): Save PC2 and LR0 into dummy frames. + (setup_arbitrary_frame): Handle 3 args and set up real frames. + * config/a29k/tm-a29k.h (FRAME_NUM_ARGS): Update comments. + (DUMMY_FRAME_RSIZE): Add 2 longwords for PC2 and LR0. + (SETUP_ARBITRARY_FRAME): Define. + +Tue Jan 11 06:59:10 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * infrun.c, config/mips/tm-irix5.h: Remove #if 0'd AT_FUNCTION_START. + +Tue Jan 11 14:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * remote-udi.c (udi_resume): Correct prototype. + +Tue Jan 11 11:10:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/pa/tm-hppa.h (FRAME_FIND_SAVED_REGS): Call + hppa_frame_find_saved_regs. + * hppa-tdep.c (dig_fp_from_stack): Delete function. + (prologue_inst_adjust_sp): New function. + (is_branch, inst_saves_gr, inst_saves_fr): New functions. + (skip_prologue): Completely rewrite to use unwind information. + (hppa_frame_find_saved_regs): Likewise. + +Tue Jan 11 06:59:10 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * remote-mips.c (mips_wait): Use new function mips_signal_from_protocol + to convert a signal number with appropriate bounds checking. + + * remote-mips.c (mips_wait): Fix typos (0x177 -> 0177, 0x377 -> 0377). + +Tue Jan 11 00:53:46 1994 John Gilmore (gnu@cygnus.com) + + * stack.c (frame_info): If FRAME_FIND_SAVED_REGS isn't defined, + print a newline to end the display anyway. + + * sparc-tdep.c (sparc_pop_frame): Pop the fsr and csr (float and + coprocessor status regs) when popping a frame. This fixes + float exceptions that occur after calling inferior functions. + + * sparc-nat.c (fetch_inferior_registers, store_inferior_registers): + Read and write the fsr (float status register) to/from the child + process along with the float regs. Remove Peter Schauer's change + of May 24 '93, which has higher overhead and doesn't solve the + real problem (which was that FSR wasn't being set). + +Mon Jan 10 23:16:42 1994 John Gilmore (gnu@cygnus.com) + + * a29k-tdep.c (examine_prologue): Don't worry if the ASGEQ + stack overflow check isn't right after the register stack + adjustment instruction. Metaware R2.3u compiler moves other + things in front of it. This fix isn't perfect but is what's + running. + +Mon Jan 10 20:08:23 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * c-valprint.c (c_val_print): Treat TYPE_CODE_RANGE like TYPE_CODE_INT. + + * config/alpha/alpha-netware.mt: Rename to alpha-nw.mt for 14 + character filenames. + * configure.in: Change accordingly. + +Mon Jan 10 15:48:36 1994 Tom Lord (lord@rtl.cygnus.com) + + * m68k-stub.c, sparc-stub.c: removed spurious introduction of + _filtered io routines from these two files. + +Fri Jan 7 12:42:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/i386/tm-i386v.h, config/m68k/tm-m68k.h, config/mips/tm-mips.h, + config/vax/tm-vax.h (CALL_DUMMY_BREAKPOINT_OFFSET): Define. + * mdebugread.c (parse_symbol): Handle enum sh.type produced by + DEC c89. + * mdebugread.c (add_line): Handle zero linenos produced by DEC c89. + +Fri Jan 7 12:55:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * utils.c (print_sys_errmsg): Call gdb_flush (gdb_stdout) before + printing to gdb_stderr. + + * remote-udi.c (udi_kill): Don't close the connection, just set + inferior_pid to zero. + (udi_mourn): Call remove_breakpoints. + + * remote-udi.c: Remove obsolete need_artificial_traps comment. + + * i386b-nat.c (sregmap): If sEAX, etc., not defined, use tEAX, etc. + +Thu Jan 6 07:17:53 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * symtab.c (lookup_symbol): Don't try adding .c to the name. + + * remote-bug.c: At the start of each section, reset srec_frame + back to 160. + + * target.h: Add TARGET_WAITKIND_LOADED and TARGET_WAITKIND_SPURIOUS. + * target.c (store_waitstatus): Add CHILD_SPECIAL_WAITSTATUS hook. + * infrun.c (wait_for_inferior): Replace SIGTRAP_STOP_AFTER_LOAD with + code which looks for those two waitkinds. Use switch statement. + * config/rs6000/tm-rs6000.h: Replace SIGTRAP_STOP_AFTER_LOAD with + CHILD_SPECIAL_WAITSTATUS. + + * procfs.c (procfs_wait): Fix argument name to match 4 Jan changes. + * Move target_signal_from_host, target_signal_to_host, and + store_waitstatus from inftarg.c to target.c. procfs needs them. + * target.c: Include "wait.h" and . + * target.h, infrun.c (proceed), proceed callers: Pass new code + TARGET_SIGNAL_DEFAULT instead of -1. This avoids problems with + enums being treated as unsigned and is cleaner. + * infrun.c (signals_info): Don't print TARGET_SIGNAL_DEFAULT or + TARGET_SIGNAL_0. + * infcmd.c (signal_command), infrun.c (signals_info): + Don't allow user to specify numeric equivalent of + TARGET_SIGNAL_DEFAULT. + +Tue Jan 4 15:34:36 1994 Stu Grossman (grossman@cygnus.com) + + * config/alpha/alpha-netware.mt: New target support for Alpha + running Netware. + * configure.in: Add alpha-*-netware* target. + +Tue Jan 4 14:51:35 1994 Stan Shebs (shebs@andros.cygnus.com) + + * remote-mips.c (mips_wait): Fix ref to TARGET_WAITKIND_STOPPED. + +Tue Jan 4 09:47:14 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * target.h: Add enum target_waitkind, enum target_signal, and + struct target_waitstatus. Change status argument to target_wait to + be struct target_waitstatus * instead of int *. + * target.h, infrun.c, all targets: Change type of signal arguments + to resume(), proceed(), and target_resume() from int to enum + target_signal. + * All targets (*_wait, *_resume): Change accordingly. + * infcmd.c (program_info, signal_command), throughout infrun.c, + * fork-child.c, solib.c, hppa-tdep.c, osfsolib.c: Use this stuff. + * convex-xdep.c, convex-tdep.c: Add FIXME's (getting the Convex + signal code stuff right with the new signals would be non-trivial). + * inferior.h (stop_signal): Make it enum target_signal not int. + * target.c, target.h (target_signal_to_string, target_signal_to_name, + target_signal_from_name): New functions. + * inftarg.c, target.h (target_signal_to_host, target_signal_from_host, + store_waitstatus): New functions. + * procfs.c (procfs_notice_signals): Use them. + * i960-tdep.c (i960_fault_to_signal): New function, to replace + print_fault. + * config/i960/tm-i960.h: Don't define PRINT_RANDOM_SIGNAL. + + * objfiles.c (build_objfile_section_table): Don't abort() if + objfile->sections is already set. + + * objfiles.c (add_to_objfile_sections): Check SEC_ALLOC not SEC_LOAD + to match recent change to exec.c. + + * Version 4.11.3. + + * main.c (print_gdb_version): Change year to 1994. + + * ChangeLog, ChangeLog-93: Split ChangeLog at 1994. + * Makefile.in (NONSRC): Add ChangeLog-93. + +Mon Jan 3 11:57:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabsread.c (read_type): Allow defining several type numbers + at once (e.g. "(1,2)=(3,4)="...). + + * stabsread.c (read_enum_type): Use TARGET_INT_BIT not sizeof (int). + + * breakpoint.c (frame_in_dummy): Check PC as well as frame. + +Mon Jan 3 02:47:03 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (psymtab_to_symtab_1): Only pass N_STAB symbols + to process_one_symbol. + * symtab.c (find_pc_psymbol): Search global_psymbols as well to + avoid caching a bad endaddr in find_pc_partial_function. + +Sun Jan 2 21:41:17 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m68k/tm-sun3.h: Don't define BELIEVE_PCC_PROMOTION. + +Sat Jan 1 04:35:23 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (wait_for_inferior): Do not step or step resume past + the end of a one-line function we just stepped into. + +For older changes see ChangeLog-1993 + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1995 b/contrib/gdb/gdb/ChangeLog-1995 new file mode 100644 index 0000000..9d4149e --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1995 @@ -0,0 +1,4915 @@ +Fri Dec 29 16:30:58 1995 Stan Shebs + + * symfile.c (find_sym_fns): Add PowerMac to xcoff file recognition + kludge. + +Fri Dec 22 11:05:59 1995 Michael Meissner + + * configure.in (gdb_host): Add support for DG/UX running on x86 as + a host. + (all x86 targets and hosts): Add support for pentium-pro machines. + + * configure: Rebuild. + + * config/i386/i386dgux.mh: New file for DG/UX running on x86 host. + +Thu Dec 21 19:09:20 1995 Rob Savoye + + * remote-array.c (array_wait): Poll the keyboard along with the + serial port so users can tpye at the target while their + application is running. + +Thu Dec 21 11:58:52 1995 Michael Meissner + + * Makefile.in (ppcbug-rom.o, srec.o): Add dependencies. + + * monitor.c (monitor_debug): Take prefix, and suffix arguments. + Print trailing newline after the suffix. + (monitor_printf{,_noecho}): Change monitor_debug calls. + (monitor_printf): Call monitor_expect instead of trying to do the + expect processing locally so that if there is extra junk, it + doesn't hang things up. + (readchar): If MO_HANDLE_NL is set, handle \r\n pairs and convert + them to a single \r. Use monitor_debug to print out byte read. + + * monitor.h (MO_HANDLE_NL): Add new flag. + + * ppcbug-rom.c (ppcbug_ops{1,2}): Split into two ops, one that + uses lo 0 to load, and the other that uses lo 1. Set flag + MO_HANDLE_NL. + (ppcbug_open{0,1}): Clone and split to handle ppcbug_ops{1,2}. + (_initialize_ppcbug_rom): Set up both ppcbug_open{0,1}. + +Wed Dec 20 10:54:41 1995 Fred Fish + + * defs.h: Delete extraneous whitespace at end of file. + * symfile.h: Move #include of demangle.h outside conditional. + * objfiles.h (struct objstats, OBJSTAT, OBJSTATS): New struct and + macros to hold per-objfile statistics for internal + instrumentation. + (struct objfile): Add OBJSTATS member, which is optional. + * buildsym.h (next_symbol_text_func): Now takes objfile argument. + Also update copyright to 1995. + * dbxread.c (dbx_next_symbol_text): Now takes objfile argument. + (dbx_symfile_init, coffstab_build_psymtabs, elfstab_build_psymtabs, + stabsect_build_psymtabs): Accumulate string table size. + (dbx_next_symbol_text, read_dbx_symtab, read_ofile_symtab): + Accumulate number of stabs symbols read. + * dwarfread.c (new_symbol, symthesize_typedef): + Accumulate number of full symbols created. + * gdbtypes.c (alloc_type): Accumulate number of types. + * maint.c (maintenance_print_statistics): New function. + * mdebugread.c (mdebug_next_symbol_text): Now takes objfile + argument. + * minsyms.c (prim_record_minimal_symbol_and_info): Accumulate + number of minimal symbols read. + * os9kread.c (read_os9k_psymtab): next_symbol_text takes objfile + arg. + * partial-stab.h: next_symbol_text takes objfile arg. + * stabsread.c (error_type, STABS_CONTINUE): Now takes objfile arg + and uses it to call next_symbol_text. + * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): + Accumulate number of partial symbols created. + * symfile.h (ADD_PSYMBOL_VT_TO_LIST): Accumulate number of partial + symbols created. + * symmisc.c (print_objfile_statistics): Print the per-objfile + internal instrumentation statistics gathered. + * xcoffread.c (xcoff_next_symbol_text): Now takes objfile argument. + +Fri Dec 15 16:15:55 1995 Ian Lance Taylor + + * top.c (set_endian_from_file): Use new bfd_big_endian macro. + +Fri Dec 15 12:21:10 1995 Raymond Jou + + * mpw-make.sed: Add quotes to RIncludes reference. + +Fri Dec 15 13:18:55 1995 Rob Savoye + + * remote-array.c: Remove bogus setting of baudrate to 4800. Their + hardware has real UARTS now. + +Mon Dec 11 18:19:16 1995 Stan Shebs + + * configure.in (powerpc-*-macos*): New target configuration. + * configure: Update. + * config/powerpc/macos.mh, config/powerpc/macos.mt, + config/powerpc/nm-macos.h, config/powerpc/tm-macos.h, mac-nat.c: + New files, native PowerMac debugging support. + * Makefile.in (mac-nat.o): Add build rule. + * mpw-config.in (enable_cflags): Add support. + (m68k-apple-macos, powerpc-apple-macos): Fix natdepfiles to + list object file instead of source file. + * mpw-make.sed (@ENABLE_CFLAGS@): Don't edit out, replace with + value of variable. + (install, install-only): Edit MPW-specific installation into + place of Unix shell code. + * mac-gdb.r: Fix version resources to use symbolic version strings. + (cfrg): New resource, code fragment for PowerMac. + +Mon Dec 11 14:13:03 1995 Fred Fish + + * dbxread.c (process_one_symbol): When looking at the next + minimal symbol, check for end of the minimal symbol array + (symbol with NULL pointer for name) before dereferencing it. + +Mon Dec 11 15:56:55 1995 Per Bothner + + * eval.c (evaluate_struct_tuple): Fix thinko. + +Mon Dec 11 06:52:02 1995 Wilfried Moser + + * ch-typeprint.c (chill_type_print_base): Slightly change of printing + of variant structures. + +Mon Dec 11 00:36:01 1995 Per Bothner + + * valops.c (value_cast): Handle casts to and from TYPE_CODE_CHAR. + * ch-exp.c (match_integer_literal): Fix long long support. + * gdbtypes.c (get_discrete_bounds): Make TYPE_LENGTH (type) == + sizeof (LONGEST) case work OK. + +Fri Dec 8 21:02:24 1995 Fred Fish + + * coffread.c, dbxread.c, dstread.c, objfiles.c, os9kread.c, + symfile.c, symtab.c: Use "obstack.h" rather than . + +Wed Dec 6 16:16:18 1995 Stu Grossman (grossman@cirdan.cygnus.com) + + * remote-mips.c (mips_receive_header): Allow mips_syn_garbage to be + user-settable (via set syn-garbage-limit). Setting it to -1 makes + it unlimited. + +Tue Dec 5 18:33:43 1995 Brendan Kehoe + + * gdbtypes.c (check_stub_method): Make sure we get back a function + string in the demangled name before we try to use it. + +Tue Dec 5 18:08:29 1995 Stu Grossman (grossman@cygnus.com) + + * monitor.c (monitor_expect_regexp): Make static, add prototype. + * (monitor_read_memory_single): Call monitor_expect_regexp with + pointer to getmem_resp_delim_pattern, not entire struct. + +Tue Dec 5 15:51:25 1995 Stan Shebs + + * c-lang.h (c_op_print_tab): Don't declare, some compilers + consider illegal if structure not defined, and only used + in c-lang.c anyway. + +Sun Dec 3 12:31:03 1995 Per Bothner + + * eval.c (evaluate_subexp_standard case): Fix typo. + +Sun Dec 3 11:59:21 1995 Jeffrey A. Law + + * ch-exp.c (parse_named_record_element): Avoid aggregrate + initializations for automatic variables. + + * hppa-tdep.c (hppa_alignof): Fix typo in last change. + +Sat Dec 2 19:32:57 1995 Fred Fish + + * symfile.c (global_psymbols, static_psymbols): Remove, unused. + +Sat Dec 2 03:02:21 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * alpha-tdep.c (heuristic_proc_desc): Add heuristic to + determine the return address register, needed for OSF/1-3.2C. + * config/alpha/tm-alpha.h (T7_REGNUM, T9_REGNUM): Define. + +Fri Dec 1 07:23:57 1995 Michael Meissner + + * ppcbug-rom.c (ppcbug_cmds): Turn on MO_GETMEM_READ_SINGLE + because PPCbug displays the memory as characters as well as hex. + Fix getmem/setmem commands. + + * srec.c (load_srec): Fix off by one typo in last submission. + + * rs6000-tdep.c (push_arguments): Fix typo. + +Thu Nov 30 23:54:17 1995 Per Bothner + + * language.c (lang_bool_type), language.h: New function. + * language.h (LA_BOOL_TYPE): New macro. + * eval.c (evaluate_subexp_standard) Use LA_BOOL_TYPE instead + of builtin_type_int where appropriate, + * valarith.c (value_subscript): Likewise. + + * valops.c (value_slice): Implement (value) bitstring slices. + * valprint.c (val_print): If TYPE_LENGTH is zero, don't automatically + print "" - Chill has zero-length (string) types. + + * gdbtypes.c (check_stub_type): Removed; no longes needed. + * ch-exp.c (expect, parse_call): Tweak error messages. + +Wed Nov 29 13:35:18 1995 Per Bothner + + * scm-valprint.c (scm_isymnames): Remove "#@" prefix. + (scm_scmval_print): Do not print "#@" prefix. + + * gdbtypes.h (enum type_code): Added TYPE_CODE_TYPEDEF. + (check_typedef): New prototype. + (CHECK_TYPEDEF): New macro. + (TYPE_DUMMY_RANGE): Removed. + * gdbtypes.c (get_discrete_bounds): Fix paren error; make more robust. + (create_array_type): Don't force_to_range_type; users of the + array are responsible for handling non-range index types. + (create_set_type): Likewise. + (force_to_range_type): Removed. + (check_typedef): New function handles stub types and typedefs. + (check_stub_type): Just call check_typedef. (To be removed.) + (recursive_dump_type): Handle TYPE_CODE_TYPEDEF. + * ch-lang.c (type_lower_upper): Use get_discrete_bounds. + (evaluate_subexp_chill): Handle string repetition. + Re-arrange to handle EVAL_AVOID_SIDE_EFFECTS better. + * ch-typeprint.c (chill_type_print_base): Handle TYPE_CODE_TYPEDEF. + Pass show=0 in recursive calls various places. + (case TYPE_CODE_ARRAY): Don't require index type to have + TYPE_CODE_RANGE. + (case TYPE_CODE_RANGE): Don't need to support TYPE_DUMMY_RANGE. + * gdbtypes.c, ch-lang.c, ch-typeprint.c (numerous places): + Add check_typedef/CHECK_TYPEDEF as needed. + + * ch-exp.y: Replaced by ... + * ch-exp.c: New file. Use recursive-descent. + Recognize labelled array tuples and powerset ranges. + * Makefile.in: Update for no longer using yacc for ch-exp. + + * c-lang.c: Make various functions non-static. + * c-lang.h: Add bunches of prototypes. + * cp-valprint.c (cp_print_value_fields): Also take address. + (cp_print_value): Likewise. Use baselcass_offset. + * stabsread.c (current_symbol): New static variable. + (type_synonym_name): Remove. + (read_type): If copying, make copy be a TYPE_CODE_TYPEDEF. + (read_array_type): Don't need to handle undefined element type here. + (cleanup_undefined_types): Ditto. + (read_range_type): Look for Chill ranges. + * valops.c (value_assign): Fix case lval_internalvar - don't try + to assign into old value (which might be too small!). + (value_coerce_array): No longer need special VALUE_REPEATED handling. + (value_arg_coerce): Cleaner array->pointer decay mechanism. + (search_struct_field): Use baseclass_offset rather than + baseclass_addr. + (value_slice): Use get_discrete_bounds. + * value.h (COERCE_VARYING_ARRAY): Take type argumnt as well. + * values.c (baseclass_offset): Change parameter interface. + (baseclass_addr): Removed. + * c-typeprint.c, c-valprint.c, ch-valprint.c, values.c, valops.c: + Add check_typedef/CHECK_TYPEDEF as needed. + + * alpha-tdep.c, c-exp.y, h8500-tdep.c, f-exp.y, f-valprint.c, + findvar.c, hppa-tdep.c, infcmd.c, language.c, printcmd.c, + rs6000-tdep.c, symmisc.c, symtab.c, mdebugread.c: + Add check_typedef/CHECK_TYPEDEF as needed. + + * f-typeprint.c, valarith.c, valprint.c, typeprint.c, eval.c: + Add check_typedef/CHECK_TYPEDEF as needed. + * f-typeprint.c: Various cleaning up. + * valarith.c (value_subscript): Also subscript bitstrings (for Chill). + * typeprint.c (print_type_scalar): Also support TYPE_CODE_RANGE. + * eval.c (evaluate_subexp_standard case OP_ARRAY): Implement + support for labelled array tuples and ranges in powerset tuples. + (init_array_element): New function. + + * top.c (command_line_input): Only strip out an initial #-comment. + Looking for internal comments is language-specific (breaks Scheme). + + * expression.h (enum exp_opcode): Add BINOP_RANGE. + * expprint.c (dump_expression): Support BINOP_RANGE. + * eval.c (evaluate_subexp_standard): Handle BINOP_RANGE (as error). + (case MULTI_SUBSCRIPT): Fix broken f77 value->int ad hoc conversion. + * ch-lang.c (chill_op_print_tab): Support BINOP_RANGE. + (evaluate_subexp_chill): Error on BINOP_COMMA. + + * Makefile.in: Clean up so doc stuff stays in doc sub-dir. + +Wed Nov 29 16:39:50 1995 Michael Meissner + + * monitor.c (monitor_debug): New function to print monitor debug + output in printable fashion. + (monitor_printf{,_noecho}): Call monitor_debug instead of + fputs_unfiltered. + + * srec.c (load_srec): When printing srec debug information, do not + print the carriage return directly, instead print \\r followed by + a newline. + +Tue Nov 28 15:25:28 1995 Doug Evans + + * Makefile.in (target_subdir): Define. + (CC_FOR_TARGET, CXX_FOR_TARGET): Use it to find target libraries. + * configure.in (X_CFLAGS): Fix typo. + (target_subdir): Set to "${target_alias}/" if cross. + * configure: Regenerated. + + * dbxread.c (dbx_symfile_read): Set block_address_function_relative + for `pe' format files. + +Tue Nov 28 11:17:47 1995 Fred Fish + + * magic.h: Renamed to gmagic.h to avoid conflict. + * magic.c: Renamed to gmagic.c in sympathy. + * eval.c, gmagic.c, config/tm-magic.h: + Include "gmagic.h" rather than "magic.h". + +Sat Nov 25 02:56:38 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (handle_psymbol_enumerators, parse_symbol): + Recognize enums from alpha cc -migrate. + (upgrade_type): Pass correct fd to parse_symbol when parsing + the index type of an array. + (parse_procedure, parse_lines, psymtab_to_symtab_1): Handle + unsorted procedure descriptors from Irix 5.x and Alpha OSF/1-3.x + shared libraries. Use CORE_ADDR instead of `unsigned long' in + procedure descriptor address computations. + + * symtab.c (decode_line_1): Prevent accidental strchr match + of a null character with the terminating null character of + gdb_completer_quote_characters. + (cplusplus_hint): Make sure that only a single quote is printed + in the hint message. + +Fri Nov 24 16:17:01 1995 Jeffrey A Law (law@cygnus.com) + + * top.c (recurse_read_control_structure): Don't make cleanups + here. Callers handle that correctly. + +Tue Nov 21 15:16:34 1995 Fred Fish + + * config/m68k/xm-hp300hpux.h: Define MMAP_BASE_ADDRESS and MMAP_INCREMENT. + Also force HAVE_MMAP to be defined since autoconf is currently broken + for detecting a working mmap under hpux. + * config/pa/xm-hppah.h (MMAP_BASE_ADDRESS): Tweak MMAP_BASE_ADDRESS + to a better value suggested by Jeffrey A Law (law@cygnus.com). + +Tue Nov 21 08:48:58 1995 Fred Fish + + * config/pa/xm-hppah.h: Define MMAP_BASE_ADDRESS and MMAP_INCREMENT. + Also force HAVE_MMAP to be defined since autoconf is currently broken + for detecting a working mmap under hpux. + * objfiles.c (map_to_address): Have gdb print a warning when it + is compiled with HAVE_MMAP but without both MMAP_BASE_ADDRESS and + MMAP_INCREMENT defined (thus making it appear mmap doesn't work). + +Mon Nov 20 14:13:53 1995 Stu Grossman (grossman@cygnus.com) + + * infrun.c (wait_for_inferior): Add support for dynamic function + trampolines. These are pieces of code between the caller and the + callee that figure out the address of the callee's code at run + time. Upon entry, we can't figure out the callee's address, so we + set a breakpoint within the trampoline where the address will be + known, and continue the target. Once we hit the breakpoint, we + break at the callee's address and proceed as usual. + +Mon Nov 20 11:12:34 1995 Fred Fish + + * objfiles.c (allocate_objfile): Change warning message about mapped + symbol tables so that it is obvious that they are not supported on + this particular machine rather than implying they are not supported + at all in this version of gdb. + +Sun Nov 19 05:20:53 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * irix5-nat.c, osfsolib.c (solib_address): Return the name of the + containing solib. + * stack.c (print_frame_info): Use minimal symbol only if + fi->pc is in a known section. + +Sat Nov 18 11:19:35 1995 Roland McGrath + + * solib.c (solib_address): Return the name of the containing solib. + * solib.h (PC_SOLIB): New macro; define using solib_address. + * stack.c (print_frame_info) [PC_SOLIB]: If no function name, try + PC_SOLIB on the PC value. + +Sat Nov 18 04:09:31 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * annotate.c (annotate_source, annotate_frame_begin): Issue + `0x' prefix for the pc value, to remain consistent with previous + GDB versions. + + * blockframe.c (find_pc_partial_function), config/pa/tm-hppa.h: + Remove Sun shared library transfer hack and + INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK, it is obsoleted by the + mst_solib_trampoline minimal symbols. + + * blockframe.c (inside_main_func): Check main_func_*pc against + INVALID_ENTRY_*PC, not zero. + * symfile.c (init_entry_point_info): Initialize ei.*pc with + INVALID_ENTRY_*PC. + * mipsread.c (mipscoff_symfile_read): If the entry_file bounds + are still unknown after processing the partial symbols, then try + to set them from the minimal symbols. + + * infcmd.c (registers_info): Error out if selected_frame is NULL. + * stack.c (return_command): Select new current frame silently if + not interactive. + + * mipsread.c (read_alphacoff_dynamic_symtab): Ignore additional + DT_MIPS_LOCAL_GOTNO and DT_MIPS_GOTSYM entries. + + * irix5-nat.c (solib_create_inferior_hook): Call solib_add only + if auto_solib_add_at_startup is nonzero. + (_initialize_solib): Add "set auto-solib-add" command. + * osfsolib.c (solib_create_inferior_hook): Call solib_add only + if auto_solib_add_at_startup is nonzero. + (_initialize_solib): Add "set auto-solib-add" command. + +Wed Nov 15 17:12:04 1995 Stan Shebs + + * utils.c: Don't include sys/ioctl.h etc if MPW is host. + +Tue Nov 14 17:16:46 1995 Doug Evans + + * config/arm/tm-arm.h (ADDITIONAL_REGISTER_NAMES): Fix r5. + (FRAME_SAVED_PC): Minor clean up. + +Tue Nov 14 14:51:05 1995 Stu Grossman (grossman@cygnus.com) + + * monitor.c (monitor_load_srec monitor_make_srec): Move all + S-record download code into srec.c. + * srec.c srec.h: New files. Contain S-record loading routines + formerly in monitor.c. + * serial.c serial.h: New routine just like fprintf, but uses + serial_t instead of FILE *. + * sh-tdep.c (frame_find_saved_regs init_extra_frame_info): + Don't add four to saved pc (makes things match manual). Also, fix + bug where we didn't get pc from stack frame correctly. + * config/sh/tm-sh.h (SAVED_PC_AFTER_CALL): Don't add four to + saved pc. Real hardware does this for you. + * sh3-rom.c (sh3_load): New routine. Sets up for download then + calls generic S-record loader. + * config/h8300/h8300.mt, config/h8500/h8500.mt, + config/m68k/monitor.mt, config/pa/hppapro.mt, config/sh/sh.mt: + Add srec.o to TDEPFILES. + +Tue Nov 14 15:57:36 1995 Michael Meissner + + * ppcbug-rom.c: New file to support the Motorola PPCBUG monitor + for PowerPC's. + + * config/powerpc/ppc{,le}-{eabi,sim}.mt (TDEPFILES): Include + ppcbug-rom.o, monitor.o, and srec.o + + * config/i386/linux.mt (XDEPFILES): Include ser-tcp.o. + +Mon Nov 13 13:12:46 1995 Jeffrey A Law (law@cygnus.com) + + * partial-stab.h: Remove GDB_TARGET_IS_HPPA kludge. + +Fri Nov 10 13:08:54 1995 Jeff Law (law@kahlua.cs.utah.edu) + + * terminal.h (HAVE_SGTTY): Fix typo. + +Thu Nov 9 17:34:01 1995 Michael Meissner + + * configure.in (gdb_target): Build in the simulator for all + PowerPC eabi targets, not just eabisim, providing + --enable-sim-powerpc is used, or the host compiler is GCC. + +Thu Nov 9 14:04:05 1995 Raymond Jou (rjou@mexican.cygnus.com) + + * mpw-config.in: Add variable with names of SIOW libraries. + * mpw-make.sed: Add an action to build SIOWgdb. + +Wed Nov 8 19:25:22 1995 Stan Shebs + + * mpw-make.sed: Edit @ENABLE_CFLAGS@ out, mpw-configure can + add back in if necessary. + +Wed Nov 8 15:59:52 1995 James G. Smith + + * config/mips/vr4300.mt: Added simulator to default VR4300 build. + +Tue Nov 7 16:02:25 1995 Stu Grossman (grossman@cygnus.com) + + * remote-mips.c (mips_initialize): Fix brain damage found by + Jamie. Basically had case statement in the wrong place... + * (mips_load): Remove unnecessary `db tty0' command. It's all + handled by mips_initialize now. + +Tue Nov 7 12:59:14 1995 Raymond Jou + + * mac-gdb.r: Added #ifdef Macgdb. + +Tue Nov 7 14:59:51 1995 James G. Smith + + * remote-mips.c (mips_initialize): Updated to talk to VR4300 RISQ + monitor board. + +Mon Nov 6 11:44:11 1995 James G. Smith + + * config/mips/{tm-vr4300.h tm-vr4300el.h} (TARGET_MONITOR_PROMPT): + Change into real strings. + + * remote-sim.c (gdbsim_open): Moved sim_open() call to after + callback initialisation. + +Sun Nov 5 00:07:52 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in (AC_CHECK_HEADERS): add stddef.h. + +Fri Nov 3 12:30:43 1995 Fred Fish + + * Makefile.in (COMMON_OBS): Use corefile.o rather than core.o + * core.c: Rename to corefile.c. + * config/pyr/tm-pyr.h, umax-xdep.c, sun386-nat.c, pyr-xdep.c, + Makefile.in (SFILES), gould-xdep.c, coredep.c, armtdep.c, + arm-xdep.c, altos-xdep.c: Change core.c references to corefile.c. + + From Graham Stoney . + * Makefile.in (remote-array.o): Add rule to build. + (ALLDEPFILES): Add remote-array.c + * remote-array.c (baud_rate): Remove unnecessary declaration. + (baudrate): Remove. + (array_files_info): Print global baud_rate not baudrate. + +Sat Nov 4 10:21:58 1995 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (INTERNAL_CFLAGS): Add ENABLE_CFLAGS. + * fork-child.c (fork_inferior): Add call to + TARGET_CREATE_INFERIOR_HOOK to allow target specific code to get + control just before the new process executes it's first instruction. + * remote-mips.c (mips_initialize): Cleanup a bit. Don't try to + receive a packet at first. This speeds up initialization a lot. + Use TARGET_MONITOR_PROMPT instead of "". + (common_breakpoint): Use rresponse instead of rerrflg to inspect + error code. + * symfile.c (syms_from_objfile reread_symbols): Call + TARGET_SYMFILE_POSTREAD to allow target specific code to get + control after reading new symbols. + * target.h: New macros TARGET_SYMFILE_POSTREAD, and + TARGET_CREATE_INFERIOR_HOOK. See above for descriptions. + * config/mips/{irix5.mh nm-irix5.h}: Delete nm-irix5.h. Make + NAT_FILE point directly at ../nm-sysv4.h. + * config/mips/{mipsm3.mh nm-m3.h}: Delete nm-m3.h. Make + NAT_FILE point directly at ../nm-m3.h. + * config/mips/{mipsv4.mh nm-sysv4.h}: Delete nm-sysv4.h. Make + NAT_FILE point directly at ../nm-sysv4.h. + * config/mips/nm-mips.h: Improve comment at top of file. + * config/mips/tm-mips.h (TARGET_MONITOR_PROMPT): Change + definition into a proper string. + +Wed Nov 1 20:18:08 1995 Fred Fish + + * config/i386/tm-i386.h: New file containing generic i*86 target + definitions. + (TARGET_BYTE_ORDER): Moved here from tm-i386v.h. + (IEEE_FLOAT): Moved here from tm-i386v.h. + (START_INFERIOR_TRAPS_EXPECTED): Define default as 2. + (FUNCTION_START_OFFSET): Moved here from tm-i386v.h. + (SKIP_PROLOGUE): Moved here from tm-i386v.h. + (SAVED_PC_AFTER_CALL): Moved here from tm-i386v.h. + (INNER_THAN): Moved here from tm-i386v.h. + (BREAKPOINT): Moved here from tm-i386v.h. + (DECR_PC_AFTER_BREAK): Moved here from tm-i386v.h. + (ABOUT_TO_RETURN): Moved here from tm-i386v.h. + (REGISTER_SIZE): Moved here from tm-i386v.h. + (NUM_REGS): Moved here from tm-i386v.h. + (REGISTER_NAMES): Moved here from tm-i386v.h. + (EXTRACT_STRUCT_VALUE_ADDRESS): Moved here from tm-i386v.h. + (FP_REGNUM): Moved here from tm-i386v.h. + (SP_REGNUM): Moved here from tm-i386v.h. + (PC_REGNUM): Moved here from tm-i386v.h. + (PS_REGNUM): Moved here from tm-i386v.h. + (FP0_REGNUM): Moved here from tm-i386aix.h. + (FPC_REGNUM): Moved here from tm-sun386.h. + (REGISTER_BYTES): Moved here from tm-i386aix.h. + (REGISTER_BYTE): Moved here from tm-i386aix.h. + (REGISTER_RAW_SIZE): Moved here from tm-i386aix.h. + (MAX_REGISTER_RAW_SIZE): Moved here from tm-i386aix.h. + (REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h. + (MAX_REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h. + (EXTRACT_RETURN_VALUE): Moved here from tm-i386aix.h. + (STORE_RETURN_VALUE): Moved here from tm-i386aix.h. + (REGISTER_VIRTUAL_TYPE): Moved here from tm-i386v.h. + (STORE_STRUCT_RETURN): Moved here from tm-i386v.h. + (FRAME_CHAIN): Moved here from tm-i386v4.h. + (FRAMELESS_FUNCTION_INVOCATION): Moved here from tm-i386v4.h. + (FRAME_SAVED_PC): Moved here from tm-i386os9k.h + (FRAME_ARGS_ADDRESS): Moved here from tm-i386v.h. + (FRAME_LOCALS_ADDRESS): Moved here from tm-i386v.h. + (FRAME_NUM_ARGS): Moved here from tm-i386sun.h. + (FRAME_ARGS_SKIP): Moved here from tm-i386v.h. + (FRAME_FIND_SAVED_REGS): Moved here from tm-i386v.h. + (PUSH_DUMMY_FRAME): Moved here from tm-i386v.h. + (POP_FRAME): Moved here from tm-i386v.h. + (CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET, + CALL_DUMMY_BREAKPOINT_OFFSET, FIX_CALL_DUMMY): Moved here from + tm-i386v.h + (print_387_control_word, print_387_status_word): Declare prototypes. + (struct frame_info, struct frame_saved_regs): Forward decls for + prototypes. + (SP_ARG0): Moved here from tm-i386v.h. + + * config/i386/tm-i386v.h: + (i386/tm-i386.h): Include. + (TARGET_BYTE_ORDER): Remove. + (IEEE_FLOAT): Remove. + (START_INFERIOR_TRAPS_EXPECTED): Undef before redefine to 4. + (FUNCTION_START_OFFSET): Remove. + (SKIP_PROLOGUE): Remove. + (i386_skip_prologue): Remove prototype. + (SAVED_PC_AFTER_CALL): Remove. + (INNER_THAN): Remove. + (BREAKPOINT): Remove. + (DECR_PC_AFTER_BREAK): Remove. + (ABOUT_TO_RETURN): Remove. + (REGISTER_SIZE): Remove. + (NUM_REGS): Undef before redefine to 16 (no FP support). + (REGISTER_NAMES): Undef before redefine. + (FP_REGNUM, SP_REGNUM, PC_REGNUM, PS_REGNUM): Remove. + (REGISTER_BYTES): Undef before redefine. + (REGISTER_BYTE): Undef before redefine. + (REGISTER_RAW_SIZE): Undef before redefine. + (REGISTER_VIRTUAL_SIZE): Undef before redefine. + (MAX_REGISTER_RAW_SIZE): Undef before redefine. + (MAX_REGISTER_VIRTUAL_SIZE): Undef before redefine. + (REGISTER_VIRTUAL_TYPE): Undef before redefine. + (STORE_STRUCT_RETURN): Undef before redefine. + (EXTRACT_RETURN_VALUE): Undef before redefine. + (STORE_RETURN_VALUE): Undef before redefine. + (EXTRACT_STRUCT_VALUE_ADDRESS): Remove. + (FRAME_CHAIN): Undef before redefine. + (FRAMELESS_FUNCTION_INVOCATION): Undef before redefine. + (FRAME_SAVED_PC): Undef before redefine. + (FRAME_ARGS_ADDRESS): Remove. + (FRAME_LOCALS_ADDRESS): Remove. + (FRAME_NUM_ARGS): Undef before redefine. + (FRAME_ARGS_SKIP): Remove. + (FRAME_FIND_SAVED_REGS): Remove. + (PUSH_DUMMY_FRAME): Remove. + (POP_FRAME): Remove. + (CALL_DUMMY): Remove. + (CALL_DUMMY_LENGTH): Remove. + (CALL_DUMMY_START_OFFSET): Remove. + (CALL_DUMMY_BREAKPOINT_OFFSET): Remove + (FIX_CALL_DUMMY): Remove. + (print_387_control_word): Remove. + (print_387_status_word): Remove. + (SP_ARG0): Remove. + + * config/i386/tm-symmetry.h: + (TM_SYMMETRY_H): Enclose file in test for define & define if needed. + (START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of + tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2. + (DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h + or tm-i386v.h, #undef, and #define to 0. + (MAX_REGISTER_RAW_SIZE): Remove. + (FRAME_CHAIN): Remove. + (FRAMELESS_FUNCTION_INVOCATION): Remove. + (FRAME_SAVED_PC): Remove. + (print_387_control_word, print_387_status_word): Remove prototypes. + + * config/i386/tm-ptx.h: + (TM_PTX_H): Enclose file in test for define & define if needed. + (START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of + tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2. + (DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h + or tm-i386v.h, #undef, and #define to 0. + (SDB_REG_TO_REGNUM): Remove obsolete commented out define. + (print_387_control_word, print_387_status_word): Remove prototypes. + + * config/i386/tm-linux.h: + (TM_LINUX_H): Enclose file in test for define & define if needed. + (i386/tm-i386.h): Include instead of tm-i386v.h. + (START_INFERIOR_TRAPS_EXPECTED): Remove. + + * config/i386/tm-i386v4.h: + (TM_I386V4_H): Enclose file in test for define & define if needed. + (i386/tm-i386.h): Include instead of tm-i386v.h. + (START_INFERIOR_TRAPS_EXPECTED): Remove. + (FRAME_CHAIN): Moved to tm-i386.h. + (FRAMELESS_FUNCTION_INVOCATION): Moved to tm-i386.h. + (FRAME_SAVED_PC): Remove. + (sigtramp_saved_pc): Define as i386v4_sigtramp_saved_pc. + (FRAME_NUM_ARGS): Remove. + + * config/i386/tm-i386os9k.h: + (TM_I386OS9K_H): Enclose file in test for define & define if needed. + (i386/tm-i386.h): Include instead of tm-i386v.h. + (START_INFERIOR_TRAPS_EXPECTED): Remove. + (NUM_REGS): Undefine before redefining. + (FRAME_CHAIN): Remove. + (FRAMELESS_FUNCTION_INVOCATION): Remove. + (FRAME_SAVED_PC): Move to tm-i386.h. + + * config/i386/tm-i386nw.h: + (TM_I386NW_H): Enclose file in test for define & define if needed. + (i386/tm-i386.h): Include instead of tm-i386v.h. + (START_INFERIOR_TRAPS_EXPECTED): Remove. + + * config/i386/tm-i386bsd.h: + (TM_I386BSD_H): Enclose file in test for define & define if needed. + (i386/tm-i386.h): Include instead of tm-i386v.h. + (START_INFERIOR_TRAPS_EXPECTED): Remove. + (FRAMELESS_FUNCTION_INVOCATION): Remove. + (FRAME_SAVED_PC): Remove. + + * config/i386/tm-i386aix.h: + (i386/tm-i386.h): Include instead of tm-i386v.h. + (START_INFERIOR_TRAPS_EXPECTED): Remove. + (FP_REGNUM): Remove. + (SP_REGNUM): Remove. + (PC_REGNUM): Remove. + (PS_REGNUM): Remove. + (FP0_REGNUM): Moved to tm-i386.h. + (NUM_REGS): Remove. + (REGISTER_NAMES): Remove. + (REGISTER_BYTES): Moved to tm-i386.h. + (REGISTER_BYTE): Moved to tm-i386.h. + (REGISTER_RAW_SIZE): Moved to tm-i386.h. + (MAX_REGISTER_RAW_SIZE): Moved to tm-i386.h. + (REGISTER_VIRTUAL_SIZE): Moved to tm-i386.h. + (REGISTER_VIRTUAL_TYPE): Removed. + (EXTRACT_RETURN_VALUE): Moved to tm-i386.h. + (STORE_RETURN_VALUE): Moved to tm-i386.h. + + * config/i386/tm-sun386.h: + (TM_SUN386_H): Enclose file in test for define & define if needed. + (i386/tm-i386.h): Include. + (TARGET_BYTE_ORDER): Remove. + (FUNCTION_START_OFFSET): Remove. + (SKIP_PROLOGUE): Remove. + (SAVED_PC_AFTER_CALL): Remove. + (INNER_THAN): Remove. + (BREAKPOINT): Remove. + (DECR_PC_AFTER_BREAK): Remove. + (ABOUT_TO_RETURN): Remove. + (REGISTER_SIZE): Remove. + (NUM_REGS): Undefine before defining. + (REGISTER_NAMES): Undefine before redefining. + (REGISTER_BYTES): Undefine before redefining. + (REGISTER_BYTE): Undefine before defining. + (FP_REGNUM): Undefine before defining. + (PC_REGNUM): Undefine before defining. + (FPC_REGNUM): Undefine before defining. + (REGISTER_RAW_SIZE): Undefine before defining. + (FRAME_CHAIN): Undefine before defining. + (FRAMELESS_FUNCTION_INVOCATION): Undefine before defining. + (FRAME_SAVED_PC): Undefine before defining. + (FRAME_NUM_ARGS): Moved to tm-i386.h. + (MAX_REGISTER_RAW_SIZE): Remove. + (MAX_REGISTER_VIRTUAL_SIZE): Remove. + (STORE_STRUCT_RETURN): Remove. + (EXTRACT_STRUCT_VALUE_ADDRESS): Remove. + (FRAME_ARGS_ADDRESS): Remove. + (FRAME_LOCALS_ADDRESS): Remove. + (FRAME_NUM_ARGS): Undefine before defining. + (FRAME_ARGS_SKIP): Remove. + (FRAME_FIND_SAVED_REGS): Remove. + (PUSH_DUMMY_FRAME): Remove. + (POP_FRAME): Remove. + (CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET): Remove. + (struct frame_info, struct frame_saved_regs): Remove forward decls + for prototypes. + + * config/i386/tm-i386lynx.h (i386/tm-i386.h): Include instead of + tm-i386v.h. + * config/i386/tm-i386m3.h (i386/tm-i386.h): Include instead of + tm-i386v.h. + + * i386-tdep.c (i386_extract_return_value): Make function visible + for all i386 targets, but only assume floating point values returned + in floating point registers for I386_AIX_TARGET. + + * i386v-nat.c (i386_register_u_addr): Enable code to locate + floating point regs in user struct. + +Wed Nov 1 15:32:57 1995 Fred Fish + + * breakpoint.c (breakpoint_re_set): Fix typo in comment. + * symtab.c (in_prologue): Document func_start and when it is zero + don't call SKIP_PROLOGUE (which typically leads unconditionally to + an error when we try to access a prologue at address 0). + +Tue Oct 31 13:01:15 1995 Fred Fish + + * elfread.c: Include elf-bfd.h rather than libelf.h. + +Tue Oct 31 10:42:42 1995 steve chamberlain + + * win32-nat.c (xlate_exception): Treat a stack overflow like a SEGV. + +Sun Oct 29 11:22:05 1995 Fred Fish + + * monitor.c: Include gnu-regex.h rather than system regex.h. + +Sat Oct 28 23:51:48 1995 steve chamberlain + + * defs.h: Test on name __WIN32__ rather than WIN32. + * inflow.c (new_tty): Likewise + * terminal.h: Likewise. + * utils.c (initialize_utils): Likewise. + * win32-nat.c (child_create_inferiror): Print error code when failing. + * config/i386/win32.mh (XM_CLIBS): Need -lkernel32. + +Sat Oct 28 04:52:36 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symtab.h (enum address_class): Add LOC_UNRESOLVED for + a location whose address has to be resolved via the minimal + symbol table. + * buildsym.c (finish_block), findvar.c (symbol_read_needs_frame, + read_var_value), printcmd.c (address_info), + symmisc.c (print_symbol, print_partial_symbol): Handle + LOC_UNRESOLVED. + * stabsread.c (scan_file_globals): Change unresolved LOC_STATIC + symbols to LOC_UNRESOLVED. Remove rt_common_objfile lookup + kludge, global common symbols are now handled by LOC_UNRESOLVED. + (scan_file_globals_1): Move code back to scan_file_globals, + delete. + +Fri Oct 27 09:54:07 1995 Stu Grossman (grossman@cygnus.com) + + * breakpoint.c (breakpoint_re_set): #ifdef GET_LONGJMP_TARGET + around calls to create_longjmp_breakpoint. Why install the + breakpoints if we can't find the longjmp target? + * infrun.c (wait_for_inferior): Cleanup comments near call test. + * remote-mips.c: Fixed a bunch of prototypes to avoid char/int + complaint from picky compilers. Add comment to mips_expect. + Replace all instances of sr_get_debug with remote_debug. + * (mips_readchar): Don't jam init string to monitor. + mips_initialize() handles that. + * (mips_receive_header): Print better message when we get too + much garbage. + * (mips_request): Allow caller to pass in buff to allow them to + analyze the returned message. + * (mips_initialize): Re-do initialization to try sending a BREAK, + a ^C, and then a download escape sequence. Cleanup protocol + startup. Eliminate sleeps. Clear breakpoints (if using monitor + breakpoints). Re-init frame. + * (mips_detach): Close down target. + * (mips_wait): Handle return status with registers, or breakpoint + * stuff. + * (mips_kill): Add ^C handling. + * (mips_insert_breakpoint mips_remove_breakpoint): Call new + breakpoint stuff if enabled. + * (calculate_mask remote_mips_set_watchpoint + remote_mips_remove_watchpoint remote_mips_stopped_by_watchpoint): + Hardware watchpoint/breakpoint stuff. + * (common_breakpoint): Common code for new monitor breakpoint commands. + * (mips_load): Don't use `prompt'. It's a global variable. + * top.c (dont_repeat_command): New command for use in + user-defined commands to suppress auto-repeat (by hittin return key). + * valops.c: Add start of auto function-call abandonment capability. + +Thu Oct 26 22:02:27 1995 Stan Shebs + + * mpw-config.in: Add support for PowerMac host, add beginnings + of native support. + * mpw-make.sed: Disable subdir recursion, edit out useless rule. + * mac-xdep.c (Values.h): Don't include. + (GestaltEqu.h): Include Gestalt.h instead. + (do_mouse_down): Comment out control tracking, needs to be + updated to use UPP before will work on PowerMac. + * config/xm-mpw.h: New file, all-Mac host support. + * config/m68k/xm-mpw.h: Move most definitions into generic Mac + support. + * config/powerpc/xm-mpw.h: New file, PowerMac host support. + +Thu Oct 26 15:21:32 1995 Brendan Kehoe + + * regex.h: Renamed to gnu-regex.h. + * regex.c: Renamed to gnu-regex.c. + * Makefile.in (POSSLIBS): Refer to gnu-regex.h and gnu-regex.c. + (REGEX, REGEX1): Change to gnu-regex.o instead of regex.o. + (regex.o): Renamed to gnu-regex.o; refer to gnu-regex.c. + (irix5-nat.o, osfsolib.o, gnu-regex.o, solib.o, source.o, symtab.o): + Likewise. + * irix5-nat.c, osfsolib.c, gnu-regex.c, solib.c, source.c, symtab.c): + Include "gnu-regex.h" instead of "regex.h". + * alpha-tdep.c (in_prologue): Rename to alpha_in_prologue, to + avoid conflicts with symtab.h. + +Tue Oct 24 18:30:18 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * config/pa/hppahpux.mh: Remove hardcoding of X locations. + * Makefile.in: Use X11_CFLAGS, X11_LDFLAGS and X11_LIBS. + * configure.in: Link X statically on Solaris, SunOS and HPUX. + +Tue Oct 24 12:26:14 1995 Stu Grossman (grossman@cygnus.com) + + * monitor.c (monitor_expect_regexp): Same as monitor_expect, but + with the obvious extension. + (monitor_read_memory_single): Use regexp for getmem.resp_delim + because of parsing ambiguities caused by certain monitors. + (monitor_read_memory): Use new regexp stuff to parse + getmem.resp_delim. + * monitor.h (struct memrw_cmd->resp_delim): Document this as a + regexp. + * sh3-rom.c: Finish off table. Use new regexp capability for + getmem commands. + + * infrun.c (wait_for_inferior): Disable questionable code near + the step range test. Replace call detection test with much + simpler (and more efficient) test that doesn't require prologue + examination (as often). + * symtab.c symtab.h (in_prologue): New function that indicates + whether or not we are in a function prologue. This uses the + symbol table, and then falls back to prologue examination if that + fails. It's much more efficient for remote debugging because it + avoids examining memory, which is very slow. This is used in + wait_for_inferior to determine if we've made a function call that + needs to be skipped over (for next/nexti). + * mips-tdep.c (after_prologue): New function, returns the PC + after the prologue. Uses PDRs and the symbol table. + (mips_find_saved_regs): Use in_prologue() to avoid costly + prologue examination if possible. + (mips_skip_prologue): Use after_prologue() if possible to avoid + costly prologue examination. + +Mon Oct 23 16:03:33 1995 James G. Smith + + * configure.in (configdirs): Added support for the VR4300 default + builds (mips64*vr4300*el-*-elf*, mips64*vr4300*-*-elf*). + + * configure: Regenerated. + + * remote-mips.c (mips_load): Updated the prompt spotting code to + make use of the TARGET_MONITOR_PROMPT manifest. + +Sat Oct 21 06:11:49 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * alpha-tdep.c, mips-tdep.c (init_extra_frame_info): + Do not set saved registers from heuristics for a sigtramp frame. + + * dwarfread.c (enum_type): Determine signedness of enum type + from enumerators. + + * mips-tdep.c: Include gdb_string.h, gcc -Wall lint. + + * rs6000-nat.c (xcoff_relocate_core): Fix typo. + + * valops.c (value_repeat): Fix length of memory transfer to + match recent allocate_repeat_value change. + +Thu Oct 19 19:04:35 1995 Per Bothner + + * gdbtypes.c (get_discrete_bounds): Fix typo. + +Thu Oct 19 12:15:37 1995 Stan Shebs + + * defs.h (SEEK_SET, SEEK_CUR): Add default definitions. + * dbxread.c, mdebugread.c, os9kread.c (SEEK_SET, SEEK_CUR): + Remove default definitions. + + * Makefile.in (CC-LD): Rename to CC_LD, so MPW xform works. + (MMALLOC_SRC): Define. + (MMALLOC_CFLAGS): Use. + (ser-mac.o): Add rule. + * dwarfread.c, somread.c, ultra3-nat.c, xcoffread.c: Replace L_SET + with SEEK_SET in all calls to bfd_seek. + * scm-tags.h (scm_tags): Remove excess comma. + + * mpw-config.in: Adapt to work with autoconf'ed configury; + build config.h, add empty definitions to mk.tmp. + (powerpc-apple-macos): Make it work. + * mpw-make.sed: New file, sed commands to translate Unix makefile + into MPW syntax. + * mpw-make.in: Remove. + * mac-gdb.r: New file, was macgdb.r, renamed for consistency + with other tools, now includes cfrg resource. + * macgdb.r: Remove. + * config/m68k/xm-mpw.h: Remove most of contents, replace with + include of include/mpw/mpw.h. + +Tue Oct 17 10:38:53 1995 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (frame_chain): Fix more obscure problems caused + by system calls that core dump processes without saving all + the register state. + + * config/pa/hppahpux.mt (XDEPFILES): Remove bogus definition. + * config/pa/hppapro.mt (XDEPFILES): Likewise. + +Tue Oct 17 08:04:26 1995 Fred Fish + + * NEWS: Fix typo. + +Mon Oct 16 18:24:03 1995 Jim Wilson + + * config/sh/tm-sh.h (REGISTER_VIRTUAL_TYPE): Return builtin_type_float + for FP registers. + (REGISTER_NAMES): Add FP register names. Remove ticks, stalls, cycles, + insts, plr, and tlr. + (NUM_REGS, NUM_REALREGS): Increase from 23 to 41. + (FPUL_REGNUM, FP0_REGNUM): New macros. + +Mon Oct 16 11:27:06 1995 Stu Grossman (grossman@cygnus.com) + + * remote-mips.c: Add support for speedy (about 10x faster) + downloads. + + * remote-array.c: Move baud_rate initialization from + _initialize_array to array_open. It was forcing the baud rate of + all targets to be 4800 baud! Seems like I've fixed this before... + * config/mips/idt.mt (TDEPFILES): Remove remote-array.o. This + has *nothing* to do with IDT!!! + + + * Makefile.in sh3-rom.c config/sh/sh.mt config/sh/tm-sh.h: Add + sh3 monitor support. + * monitor.c: Cleanup regexp compilation stuff to make it easier + to use several regexps. + * monitor.h: Get rid of struct rom_cmd_data. It's no longer used. + * config/m68k/tm-monitor.h: Don't redefine NUM_REGS here. It just + causes GDB to crash. + + * sparcl-tdep.c: Cleanup serial error handling. + +Sun Oct 15 16:19:27 1995 Stan Shebs + + * rs6000-tdep.c: Don't include a.out.h, improve some formatting. + +Fri Oct 13 15:27:49 1995 Stu Grossman (grossman@cygnus.com) + + * dcache.c: Change default value of remotecache to off. It just + screws up too many targets. + * sparcl-stub.c: Add prototypes to many forward decls. + * Create private copies of strlen, strcpy, and memcpy to prevent + chaos when user steps into them. + * (trap_low handle_exception): Clean up DSU support code + (hardware breakpoints). Move lots of stuff from asm-land to + C-land (make it much easier to #ifdef if necessary). Also, use + trap 255 to get into break mode instead of doing a DSU register + write, which may trash the register. + * (putpacket): Don't check return value of putDebugChar. It + returns void... + +Fri Oct 13 14:16:17 1995 steve chamberlain + + * remote-sim.h: Always include callback.h. + (sim_set_callbacks): New declaration. + +Fri Oct 13 10:57:40 1995 Jeffrey A Law (law@cygnus.com) + + * somsolib.c (som_solib_add): Just give a warning if a file + mentioned in the dld_list can't be found. + * config/pa/tm-hppah.h (FRAME_SAVED_PC_IN_SIGTRAMP): Dig out + the PC from the PC queues rather than %r31. + +Thu Oct 12 13:36:15 1995 Jeffrey A Law (law@cygnus.com) + + * corelow.c (core_open): Don't update the to_sections and + to_sections_end fields in core_ops here. It's too late. + * irix5-nat.c (solib_add): Update the to_sections and + to_sections_end fields in core_ops here if needed. + * osfsolib.c (solib_add): Likewise. + * rs6000-nat.c (xcoff_relocate_core): Likewise. + * solib.c (solib_add): Likewise. + * somsolib.c (solib_add): Likewise. + +Wed Oct 11 17:25:59 1995 Fred Fish + + * Makefile.in (VERSION): Bump version to 4.15.1 + +Tue Oct 10 15:26:39 1995 Fred Fish + + * Makefile.in (VERSION): Version 4.15 released. + * README: Updated for version 4.15. + * NEWS: Updated for 4.15 release. + +Tue Oct 10 13:18:50 1995 Fred Fish + + * configure.in: Add AC_PROG_YACC + * configure: Regenerate + * Makefile.in (BISON): Remove macro definition. + (YACC): Set from autoconfig. + (FLAGS_TO_PASS): Remove BISON. + (TARGET_FLAGS_TO_PASS): Remove BISON. + +Tue Oct 10 12:25:11 1995 steve chamberlain + + * win32-nat.c (child_create_inferior): Pass argv correctly. + * Makefile.in (win32-nat.o): Add dependencies. + +Mon Oct 9 14:36:29 1995 steve chamberlain + + * NEWS: Add information about win32 and arm code. + * win32-nat.c: Renamed from win32.c. + * config/i386/win32.mh: Renamed from config/i386/i386win32.mh. + * config/i386/win32.mt: Renamed from config/i386/i386win32.mt. + * config/i386/tm-win32.h: Renamed from config/i386/tm-i386win32.h. + * config/i386/xm-win32.h: Renamed from config/i386/xm-i386win32.h. + * configure.in (i[345]86-*-win32): Updated to cope with filename + changes. + * configure: Regenerated. + +Sun Oct 8 18:01:04 1995 Per Bothner + + * ch-exp.y (yylex): Also look for '$' following '$'. + +Sat Oct 7 22:52:42 1995 Michael Meissner + + * ch-exp.y (yylex): Fix typo. + +Fri Oct 6 11:56:49 1995 Jim Wilson + + * remote-sim.c (gdbsim_open): Put callback initializations here. + (_initalize_remote_sim): Not here. + +Fri Oct 6 17:08:49 1995 Stan Shebs + + * top.c (execute_control_command): Use 0/1 instead of BFD's + true/false. + +Fri Oct 6 14:43:19 1995 Stu Grossman (grossman@cygnus.com) + + * sparcl-stub.c: Include sparclite.h to get access to register + fondling macros. + * (trap_low): Save and restore FP regs if necessary. Also, clean + up save and restore of debug unit regs. + * (hard_trap_info): Add more architecturally defined traps. + * (set_debug_traps): Only set FP disabled trap if FP is disabled. + * (get_in_break_mode): Clean up. Get rid of calls to + set_hw_breakpoint_trap(). Also, use write_asi macro. + * (handle_exception): Clean up `g' and `G' commands. Add `P' + command. + * (hw_breakpoint): Why was this here!? It's gone now... + +Fri Oct 6 11:56:49 1995 Jim Wilson + + * callback.c (fdbad): Fix typo in comment. + (os_close, os_isatty, os_lseek, os_read, os_write): Use if + statements rather than || to get correct return value. + (os_write_stdout): Pass missing first argument to os_write. + * remote-sim.c: Include callback.h. + (_initialize_remote_sim): Call sim_set_callbacks and then + initialize the callbacks. + +Thu Oct 5 17:28:09 1995 Per Bothner + + * values.c (allocate_repeat_value): Allocate an array type, and + a value of that type; use that instead of setting VALUE_REPEATED. + * value.h (struct value): Remove fields repetitions and repeated. + (VALUE_REPEATED, VALUE_REPETITIONS): Removed, no longer used. + * c-valprint.c, ch-valprint.c, eval.c, printcmd.c, valops.c, + value.h, values.c: Simplify, since now VALUE_REPEATED is never + used. + * valprint.c (value_print_array_elemen): Removed never-used + function. + +Thu Oct 5 15:14:36 1995 Per Bothner + + * parse.c (write_dollar_variable): New function. + + * c-exp.y (yylex): Replace code for recognizing '$' + pseudo-variables with a call to write_dollar_variable. + Simplify grammar correspondingly. + * f-exp.y: Likewise. + * m2-exp.y: Likewise. + * ch-exp.y: Likewise. (Remove function match_dollar_tokens.) + * scm-exp.c (scm_lreadr): Call write_dollar_variable to handle '$'. + +Thu Oct 5 13:27:30 1995 steve chamberlain + + * win32.c: New file; support for debugging on windows NT. + * configure.in: (i[345]86-*-win32): New target. + * configure: Regnerated. + * eval.c (evaluate_subexp_standard): Remove unused name. + * serial.c (gdb_string.h): Include. + * source.c (value.h): Include. + * config/i386/i386win32.mh (XDEPFILES): Add win32.o + * config/i386/i386win32.mt: New. + * config/i386/tm-i386win32.h: New. + +Wed Oct 4 18:41:34 1995 Per Bothner + + * expression.h (enum exp_code): Added OP_NAME. + * expprint.c (print_subexp): Add OP_NAME support. + * parse.c (length_of_subexp, prefixify_subexp): Likewise. + * scm-lang.c (scm_unpack, in_eval_c, scm_lookup_name): new function. + * scm-lang.h: Declare builtin_type_scm; other minor tweaks. + * values.c (unpack_long): If type is SCM, call scm_unpack. + * scm-valprint.c (scm_val_print): Use extract_signed_integer, + instead unpack_long + * scm-lang.c: More Scheme expression parsing from here ... + * scm-exp.c: ... to here. New file. + Also, provide for gdb to evaluate simple constants and names.. + * Makefile.in: Note new scm-exp.{c,o}. + +Wed Oct 4 17:23:03 1995 Per Bothner + + * gdbtypes.c (get_discrete_bounds): New function. + (force_to_range_type): Use get_discrete_bounds. + * gdbtypes.h (get_discrete_bounds): Add declaration. + * valarith.c (value_bit_index): Generalize to use get_discrete_bounds. + * ch-valprint.c (chill_val_print): Make (power)sets and bitstring + support use get_discrete_bounds and generally be more robust. + +Tue Oct 3 16:54:56 1995 Stan Shebs + + * remote-nrom.c (nrom_ops): Add value for to_thread_alive, + add comments naming slots. + +Mon Oct 2 21:45:44 1995 Jeff Law (law@hurl) + + * top.c (build_command_line): Demand arguments for if/while + commands. + +Mon Oct 2 13:08:01 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * Makefile.in (X11_CFLAGS): Set only to @X_INCDIR@. + +Sat Sep 30 16:13:36 1995 Per Bothner + + * scm-lang.c: Moved Scheme value printing code to ... + * scm-valprint.c: ... this new file. + Also major improvements in support for printing SCM values. + * scm-lang.h: New file. + * scm-tags.h: New file. + * Makefile.in: Note new scm-valprint.{c,o}. + +Sat Sep 30 09:35:02 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in: X_INCDIR and X_LIBDIR added. + * Makefile.in: @X_INCDIR@ and @X_LIBDIR@ added. + * configure: Regnerated. + +Fri Sep 29 02:10:05 1995 steve chamberlain + + * config/arm/tm-arm.h (FRAME_CHAIN, FRAME_CHAIN_VALID): + Any pc > LOWESTPC is ok. + + * remote-rdp.c (rdp_init): Take out variable baud rate stuff. + (remote_rdp_detatch): Delete. + * breakpoint.c (ctype.h): Don't include twice. + + * Makefile.in (remote-rdp.o): Doesn't need remote-rdp.h + * callback.c (os_printf_filtered): fix protos. + * defs.h (puts_filtered, puts_unfiltered + [v|f|]printf_[un]filtered): Make format arg const. + * remote-rdp.c (rdp_init): Attept to sync at different + baudrates. + * utils.c (puts_filtered, puts_unfiltered + [v|f|]printf_[un]filtered): Define prototypes with + const in the right place. + +Thu Sep 28 17:43:39 1995 Per Bothner + + * defs.h (enum language): Add language_scm. + * expression.h (enum exp_code): Added OP_EXPRSTRING. + * scm-lang.c: Preliminary support for Guile /SCM dialect of Scheme. + * expprint.c (print_subexp): Add OP_EXPRSTRING support. + * parse.c (length_of_subexp, prefixify_subexp): Likewise. + * valops.c (find_function_in_inferior): New function. + (value_allocate_space_in_inferior): New function. + (allocate_space_in_inferior): Redefine using previous function. + * Makefile.in (SFILES): Add scm-lang.c. + (COMMON_OBS): Add scm-lang.o + +Thu Sep 28 14:32:11 1995 steve chamberlain + + * callback.[ch]: New files. + * remote-rdp.c: Support for the ARM RDP monitor. + * Makefile: Update. + * arm-tdep.c (arm_othernames): New. + (_initialize_arm_tdep): install 'othernames' command. + (arm_nullified_insn, shifted_reg_val, arm_get_next_pc): New. + * configure.in: Check for termios.h, termio.h and sgtty.h. + (i[345]86-*-win32*): New host. + * configure: Regenerated. + * inflow.c: Clean up inclusions. + * main.c (main): Check for WINGDB, not WIN32. + * printcmd.c (do_examine): Put QUIT test in loop. + * remote-hms.c (e7000_load): Delete. + (hms_ops): Point to generic_load instead. + * remote-hms.c (hms_ops): Point to generic_load. + * remote-sim.c (sim_callback_write_stdout): Becomes + gdbsim_write_stdout. + (gdbsim_load): Call generic_load. + * remote-utils.c (gr_load_image): Delete. + * ser-unix.c (terminal.h): Include instead of havig + own #if tree. + (hardwire_flush_input): Reset input buffer too. + * source.c (openp): If WIN32 then open file in binary mode. + * terminal.h: Configure IO mechanism using autoconf defines if + available and not overriden. + * utils.c (quit, pollquit, notice_quit): WIN32 check becomes + WINGDB check. + + * config/arm/arm.mt (TDEPFILES): Add remote-rdp.o. + * config/arm/tm-arm.h (TARGET_BYTE_ORDER): becomes + TARGET_BYTE_ORDER_SELECTABLE. + (ADDR_BITS_REMOVE): New. + (ORIGINAL_REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): New. + (INST_xx): New. + (FRAME_FIND_SAVED_REGS): Pass the right argument. + (arm_get_next_pc): Declare. + +Wed Sep 27 10:14:36 1995 Per Bothner + + * valops.c (search_struct_field): Also allow "else" as a variant + name. + * eval.c (evaluate_struct_tuple): New function. Used to evaluate + structure tuples. Now also handles Chill variant records. + (get_label): New function, used by evaluate_struct_tuple. + (evaluate_subexp_standard case OP_ARRAY): Use evaluate_struct_tuple. + (evaluate_labeled_field_init): Removed. + + * valops.c (search_struct_field): Generalize to work with Chill + variant records. + +Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_partial_symbols): Reset includes_used + and dependencies_used after finishing the partial symbol table. + + * rs6000-tdep.c (push_dummy_frame): Handle lr_offset of zero + correctly. + + * rs6000-nat.c (xcoff_relocate_core): Don't relocate data + addresses for the main objfile if DONT_RELOCATE_SYMFILE_OBJFILE + is defined. + * xcoffread.c: gcc -Wall lint. Remove traceback table reading + code. The existing code tried to add parameter information for + functions compiled without -g, which cannot be done properly + for optimized code and produced misleading parameter displays. + (ef_complaint, eb_complaint): Make a local static copy to avoid + dependency on coffread.c. + (read_xcoff_symtab, process_xcoff_symbol, scan_xcoff_symtab): + Enter C_EXT/C_HIDEXT symbols into the minimal symbol table only. + (read_xcoff_symtab): Ignore C_STAT section auxiliary entry + symbols. Complain about unmatched .ef and .eb symbols instead of + segfaulting. + (process_xcoff_symbol): Determine value of C_GSYM symbols via + the global_sym_chain mechanism in stabsread.c. + (xcoff_new_init): Call stabsread_new_init and buildsym_new_init. + (init_string_tab): Initialize length field bytes in the strtbl. + (scan_xcoff_symtab): Skip symbols that start with `$' or `.$'. + Set first_fun_line_offset for symbols with two auxents only. + +Wed Sep 20 21:06:35 1995 Jeff Law (law@snake.cs.utah.edu) + + * op50-rom.c (op50n_cmds): Send ".\r" after the interrupt + character. + +Wed Sep 20 13:12:56 1995 Ian Lance Taylor + + * Makefile.in (maintainer-clean): New target, synonym for + realclean. Add GNU standard maintainer-clean echos. + * gdbserver/Makefile.in (maintainer-clean): New target, synonym + for realclean. + * nlm/Makefile.in (maintainer-clean): Likewise. + +Wed Sep 20 08:16:03 1995 steve chamberlain + + * defs.h (xmalloc, xrealloc): Delete, they're declared in libiberty.h. + (GETENV_PROVIDED, FCLOSE_PROVIDED): New. + * doc/gdbint.texinfo (GETENV_PROVIDED, FCLOSE_PROVIDED): Document. + * remote-sim.[ch] (sim_callback_write_stdout): New. + +Tue Sep 19 15:28:58 1995 Per Bothner + + * gdbtypes.c (create_set_type): Set TYPE_LENGTH in bytes, not bits. + * valops.c (value_bitstring): TYPE_LENGTH is bytes, not bits. + + * gdbtypes.c (force_to_range_type): Calculate upper limit of + TYPE_CODE_CHAR depending on TYPE_LENGTH (instead of just using 255). + +Mon Sep 18 01:43:42 1995 Jeff Law (law@snake.cs.utah.edu) + + * somsolib.c (auto_solib_add_at_startup): Delete definition. No + longer needed. + +Sat Sep 16 13:23:36 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/mips/tm-mips.h (UNUSED_REGNUM): Define. + * mipsv4-nat.c (supply_gregset): Fill UNUSED_REGNUM register + with zero. + +Thu Sep 14 17:35:24 1995 Stu Grossman (grossman@cygnus.com) + + * remote-sim.c (gdbsim_create_inferior): Back out change that + broke all simulator configurations except the rs6000. + +Thu Sep 14 14:44:59 1995 Jeffrey A. Law + + * monitor.c (monitor_expect): Discard NULL characters. + +Thu Sep 14 14:12:30 1995 Kung Hsu + + * infcmd.c: Add extern declaration for auto_solib_add_at_startup. + +Wed Sep 13 13:33:58 1995 Kung Hsu + + * symfile.c: Move global variable auto_solib_add_at_startup from + solib.c to symfile.c. + * solib.c: ditto. + * symfile.h: Add extern declaration of the above mentioned variable. + * infcmd.c: Take out extern declaration, since it's in symfile.h. + +Thu Sep 14 12:39:35 1995 Stu Grossman (grossman@cygnus.com) + + * coffread.c (coff_symtab_read): Complain about unmatched .ef and + .eb symbols instead of segfaulting. + +Wed Sep 13 13:33:58 1995 Kung Hsu + + * stabsread.c (read_one_struct_field): Use subfile language instead of + global language. Improve efficiency. + +Wed Sep 13 08:45:02 1995 Jeff Law (law@fast.cs.utah.edu) + + * somsolib.c (auto_solib_add_at_startup): Define new global variable. + (som_solib_create_inferior_hook): Don't add libraries if + auto_solib_add_at_startup is zero. + (_initialize_som_solib): Add command to toggle + auto_solib_add_at_startup. + +Tue Sep 12 19:37:24 1995 Jeff Law (law@snake.cs.utah.edu) + + * monitor.c (monitor_make_srec): Fix thinkos in computation + of addr_size. + +Tue Sep 12 15:46:18 1995 Kung Hsu + + * stabsread.c (read_one_struct_field): Add a patch to handle cfront + generated stabs that each field is in full mangled name. + + * stabsread.c: To include language.h and expression.h for the reason + above. + + * infcmd.c (attach_command): Add solibs only when + auto_solib_add_at_startup is set. + +Mon Sep 11 17:22:35 1995 Fred Fish + + * NEWS: Add information about remote target caching. + +Sun Sep 10 15:36:21 1995 Fred Fish + + * defs.h: Only include mmalloc.h if NO_MMALLOC is not + defined. + +Sun Sep 10 10:24:48 1995 Michael Tiemann + + * tm-ppc-eabi.h (PC_IN_CALL_DUMMY): Redefine this to work with the + simulator. FIXME. + + * rs6000-tdep.c (push_dummy_frame): Calculate the correct link + register offset from the current frame (don't assume it is always 8). + (push_dummy_frame): Add comment about having only 4096 bytes of + stack space in the simulator (by default). + + * remote-sim.c (gdbsim_create_inferior): Call + `add_text_to_loadinfo' so that gdb can find TOC entries when + calling functions in the inferior. + +Sun Sep 10 09:00:28 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * sparc-tdep.c (fill_fpregset): Fix incorrect FP_MAX_REGNUM + substitution. + (supply_fpregset): Use FP_MAX_REGNUM. + +Sat Sep 9 08:21:52 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * stabsread.c (read_enum_type): Exit loop for putting pending + enum symbols into the enum type correctly if we had no pending + symbols on entry to read_enum_type. + +Fri Sep 8 12:57:41 1995 Kung Hsu + + * inferior.h: Add extern declaration of inferior_environ. + * solib.c (solib_map_sections): To get inferior's env instead of + gdb's for LD_LIBRARY_PATH, same for PATH. + + * solib.c (solib_map_sections): Copy full path name into so_list + structure so that symbol_file_add can find it. + +Tue Sep 5 17:47:53 1995 Doug Evans + + * config/sparc/tm-sp64.h (REGISTER_RAW_SIZE): Lower 32 fp regs + have size 4. + (REGISTER_VIRTUAL_SIZE): Likewise. + (REGISTER_VIRTUAL_TYPE): Lower 32 fp regs have type float. + Upper 32 fp regs have type double. + * sparc-tdep.c (NUM_SPARC_FPREGS): Replace with + (FP_REGISTER_BYTES): this, and update all uses. + (FP_MAX_REGNUM): Define if not already. + (get_saved_register): Handle new sparc64 fp regs. + (sparc_frame_find_saved_regs): Likewise. + (sparc_print_register_hook): Only print fp regs < 32 as doubles. + Add code to handle long doubles when gdb does. + (_initialize_sparc_tdep): Use print_insn_sparc64 if sparc64. + +Sat Sep 2 06:41:26 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.in: Explicitly `exit 0' for broken shells. + * configure: Rebuilt. + + * symtab.c (list_symbols): Add missing blank after + `' output. + + * valops.c (value_assign): Handle truncation when assigning + to bitfields. Use value_copy to construct the return value + from toval. + * values.c (value_copy): Copy VALUE_FRAME and VALUE_OPTIMIZED_OUT. + +Fri Sep 1 08:25:50 1995 James G. Smith + + * configure (mips64*vr4300*-*-elf): Support added. + * remote-mips.c (mips_readchar): Change to allow build-time prompt + string. + * config/mips/tm-mips.h: Added TARGET_MONITOR_PROMPT. + * config/mips/{vr4300.mt, vr4300el.mt, tm-vr4300.h, + tm-vr4300el.h}: Added. + +Thu Aug 31 12:48:04 1995 Jim Wilson + + * config/sh/sh.mt (SIM): Add -lm. + +Wed Aug 30 18:10:57 1995 Kung Hsu + + * rmote-nindy.c (non_dle, nidy_resume, nindy_wait): Changes to + conform to GNU coding standards. + + * solib.c (match_main): Modify to follow GNU coding conventions. + +Mon Aug 28 17:07:26 1995 Kung Hsu + + * remote.c (remote_wait): Revert 19 July my change which should be + customer specific. + +Sat Aug 26 00:26:11 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_symbol): Handle sh.value of zero for enums. + Determine signedness of enum type from enumerators. + (parse_type): Handle btIndirect types, handle fBitfield for + some non-member types. + (upgrade_type): Use TYPE_FLAG_TARGET_STUB for arrays with + unknown length. + (cross_ref): Handle stIndirect forward reference to btTypedef. + + * stabsread.c (read_enum_type): Determine signedness of enum + type from enumerators. + + * top.c (execute_command): Remove trailing whitespace from + command arguments, except for `set' and `complete' commands. + (validate_comname): Allow underscores in user defined command + names. + + * values.c (modify_field): Change `Value does not fit in %d bits' + error to a warning. Exclude sign extension bits of negative field + values from fit check. + +Fri Aug 25 11:31:29 1995 Michael Meissner + + * configure.in (powerpc*-*-eabisim*): Only link in the simulator + if the target is powerpc{,le}-*-eabisim*, since the simulator + needs GCC to build. + * config/powerpc/ppc{,le}-sim.mt: Cloned from ppc{,le}-eabi.mt. + * config/powerpc/ppc{,le}-eabi.mt: Remove simulator support. + * config/powerpc/tm-ppc{,le}-sim.mt: Include tm-ppc{,le}-sim.h. + +Wed Aug 23 16:55:35 1995 Michael Meissner + + * config/powerpc/ppc{,le}-eabi.mt (SIM_OBJS, SIM): Link in the + PowerPC simulator. + +Tue Aug 22 02:00:47 1995 Jeff Law (law@snake.cs.utah.edu) + + * tm-hppa.h (EXTRACT_RETURN_VALUE): Fix for FP values. + + * tm-hppa.h (STORE_RETURN_VALUE): Fix to work with -msoft-float + calling conventions too. Use the TYPE of the return value, not + its length to determine if it should also be copied into the + floating point registers. + + * tm-hppa.h (PROLOGUE_FIRSTLINE_OVERLAP): Delete. Causes more + problems than it fixes. + * hppa-tdep.c (skip_prologue): If we exit the main loop without + finding all the register saves, retry again without looking for + the registers we could not find the first time. + +Mon Aug 21 23:39:56 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (frame_chain_valid): Handle systems where "$START$" + calls "main" directly. + (skip_prologue): Always assume arguments were saved into the stack + since GCC will do so without setting the magic Args_Saved bit in + the unwind descriptor. + +Mon Aug 21 11:49:17 1995 Kung Hsu + + * remote-udi.c (udi_wait): Mask off high bits of stop reason. + * remote-udi.c (fetch_register): For unfetchable regs, pretend it's + done. Fix a bug. + +Mon Aug 21 00:45:17 1995 Jeff Law (law@snake.cs.utah.edu) + + * Makefile.in (install): Remove "brokensed" hack, unnecessary now + that we're using autoconf. + (uninstall): Likewise. + + +Sat Aug 19 01:19:34 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * gdbtypes.c (recursive_dump_type): Add dont_print_type_obstack + to inhibit infinite recursion when printing aggregate types. + +Fri Aug 18 17:48:55 1995 steve chamberlain + + * dcache.c (dcache_write_line): Write dirty lines right. + +Fri Aug 18 06:26:56 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * sparc-tdep.c (isbranch): Fix typo which caused wrong + target addresses for annulled branches. + +Wed Aug 16 21:54:39 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/pa/tm-hppa.h (PROLOGUE_FIRSTLINE_OVERLAP): Define. + +Tue Aug 15 07:51:21 1995 steve chamberlain + + * remote.c (remote_write_bytes): Chop up large transfers. + +Mon Aug 14 17:56:36 1995 Stan Shebs + + * gcc.patch: Remove, relevant only to long-ago versions of GCC. + +Mon Aug 14 13:43:01 1995 Kung Hsu + + * config/sparc/tm-sparclite.h: Define FRAME_CHAIN_VALID_ALTERNATE. + * blockframe.c (inside_main_func): If main func addr range not set, + try to set it now. + +Sat Aug 12 15:34:54 1995 Jeffrey A. Law + + * config/powerpc/xm-aix.h (FIVE_ARG_PTRACE): Define. + * config/rs6000/xm-rs6000.h (FIVE_ARG_PTRACE): Likewise. + + * configure.in: Recognize aix4 specially as some aspects + of aix4 need different handling than aix3. + * configure: Updated. + * config/powerpc/{aix4.mh,aix4.mt,tm-ppc-aix4.h}: New files + specific to aix4 support on the power pc. + * config/powerpc/tm-ppc-aix.h (DONT_RELOCATE_SYMFILE_OBJFILE): Do + not defined. The aix4 specific target files will do that. + * config/rs6000/{aix4,mh,aix4,mt,tm-rs6000-aix4.h}: New files + specific to aix4 support on the rs6000. + + * config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): Don't + do the conversion if the pointer is not a magic aix function + pointer. + * rs6000-tdep.c: Include objfiles.h and symtab.h. + (is_magic_function_pointer): New function. + + * rs6000-tdep.c (skip_prologue): Refine check for frameless + functions. Handle b .+4 emitted by aix4 compilers. Only + allow one load of a minimal toc pointer. Handle aix4 compiler's + code for alloca. + + * rs6000-tdep.c (find_toc_address): Report an error if no toc was + found rather than possibly core dumping. + + * partial-stab.h: Handle extra field generated by the aix4 compiler + for enumerations. + * stabsread.c (read_enum_type): Likewise. + +Sat Aug 12 03:18:04 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * rs6000-tdep.c (extract_return_value): Fix returning of values + whose length is less than the register size for big endian targets. + +Fri Aug 11 13:04:32 1995 Kung Hsu + + * symtab.c (list_symbols): if break command set breakpoint on + matched symbol. + +Wed Aug 9 18:59:05 1995 Fred Fish + + * defs.h (strchr, strrchr, strstr, strtok, strerror): Enclose in + #ifndefs to protect against previous definitions as macros. + +Wed Aug 9 14:51:36 1995 Kung Hsu + + * xcoffread.c (xcoff_symfile_offset): Revert an unwanted change + that got in accidentally with Aug 1 change. + +Sat Aug 5 09:07:28 1995 steve chamberlain + + * remote-hms.c (hms_cmds): Get reg term right. + * monitor.c (monitor_fetch_register): If we see + a non-hex digit, just stop reading. + * remote.c (remote_wait): Change way $O is handled. + +Wed Aug 9 11:42:36 1995 Jeffrey A. Law + + * configure.in (powerpc-*-aix*): Recognize as a new gdb host + and target. + (powerpc-*-eabi*): Don't set configdirs. + (powerpcle-*-eabi*): Likewise. + * configure: Updated. + * rs6000-nat.c (vmap_ldinfo): Don't relocate data addresses + for the main objfile if DONT_RELOCATE_SYMFILE_OBJFILE is + defined. + * config/powerpc/{aix.mh,aix.mh}: Host and target makefile fragments + for powerpc running aix4. + * config/powerpc/{nm-aix.h, tm-ppc-aix.h, xm-aix.h}: Native, target + and host include files for powerpc running aix4. + +Wed Aug 9 08:11:45 1995 Stan Shebs + + * top.c (target_output_hook): Really make it match defs.h (char * + is not the same as unsigned char *). + +Tue Aug 8 15:13:05 1995 J.T. Conklin + + * Makefile.in (CXX_FOR_TARGET): Don't use ${rootme}/../gcc/xgcc + unless it is present. + +Tue Aug 8 10:50:15 1995 Jeffrey A. Law + + * top.c (target_output_hook): Make declaration match the one + in defs.h. + + * symfile.c (add_psymbol_to_list): Initialize SYMBOL_SECTION. + (add_psymbol_addr_to_list): Likewise. + * symfile.h (ADD_PSYMBOL_VT_TO_LIST): Likewise. + +Mon Aug 7 15:34:29 1995 steve chamberlain + + * top.c (target_output_hook): New definition. + * stack.c (gdb_string.h): Include after defs.h + * defs.h (target_output_hook): New declaration. + * source.c (mod_path): Fix Win32 \ handling. + +Sun Aug 6 22:14:25 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (frame_saved_pc): Don't try to dig a return pointer + out of a long branch stub. + +Fri Aug 4 13:37:31 1995 Jeffrey A. Law + + * xcoffread.c (process_linenos): Fix typo in last change. + +Thu Aug 3 22:01:26 1995 Fred Fish + + * ch-exp.y (write_lower_upper_value): Add prototype so bison + generated parser will insert prototype before first func usage. + Bison and byacc order the output sections differently. Also + make function static. + +Thu Aug 3 10:45:37 1995 Fred Fish + + * Update all FSF addresses except those in COPYING* files. + +Thu Aug 3 01:38:45 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/alpha/tm-alpha.h (EXTRA_FRAME_INFO): Add pc_reg field. + (SKIP_TRAMPOLINE_CODE): Define. + * alpha-tdep.c (alpha_frame_saved_pc): Use pc_reg field from + frame to find the saved pc register. + (alpha_saved_pc_after_call): Skip over shared library trampoline + before trying to find the saved pc register. + (find_proc_desc): Copy PROC_PC_REG from found proc_desc + to heuristic proc_desc. + (init_extra_frame_info): Initialize pc_reg field in frame. + +Wed Aug 2 18:00:36 1995 Stan Shebs + + * configure.in (m68*-est-*): Use monitor target config. + * configure: Update. + * config/m68k/est.mt, config/m68k/tm-est.h: Delete. + * config/m68k/monitor.mt, config/m68k/tm-monitor.h: Fix comments. + +Tue Aug 1 22:52:53 1995 Fred Fish + + * Makefile.in (VERSION): Bump to 4.14.2 + +Tue Aug 1 16:04:36 1995 Kung Hsu + + * xcoffread.c (process_linenos): The value in include file symbol + should point to line number table. Currently this value is not + set correctly by AIX ld. A fix to get around this bug. + +Tue Aug 1 11:44:53 1995 J.T. Conklin + + * configure.in: Check for working mmap, ansi headers, string.h, + strings.h, and memory.h. + * configure: Regenerated. + + * gdb_stat.h: New file, "portable" . + * gdb_string.h: New file, "portable" . + + * altos-xdep.c, arm-tdep.c, arm-xdep.c, convex-tdep.c, + convex-xdep.c, coredep.c, cxux-nat.c, dbxread.c, exec.c, + gould-xdep.c, hppa-tdep.c, i386aix-nat.c, i386b-nat.c, + i386mach-nat.c, i386v-nat.c, infptrace.c, m88k-nat.c, main.c, + mdebugread.c, objfiles.c, os9kread.c, procfs.c, pyr-xdep.c, + rs6000-nat.c, source.c, standalone.c, stuff.c, sun386-nat.c, + symfile.c, symm-nat.c, symm-tdep.c, symtab.c, top.c, ultra3-nat.c, + ultra3-xdep.c, umax-xdep.c, xcoffread.c: Include "gdb_stat.h" + instead of . + + * alpha-tdep.c, breakpoint.c, buildsym.c, c-typeprint.c, + ch-typeprint.c, coffread.c, command.c, core-sol2.c, core-svr4.c, + core.c, corelow.c, cp-valprint.c, dbxread.c, dcache.c, demangle.c, + dpx2-nat.c, dstread.c, dwarfread.c, elfread.c, environ.c, eval.c, + exec.c, f-lang.c, f-typeprint.c, f-valprint.c, findvar.c, + fork-child.c, gdbtypes.c, hpread.c, i386-tdep.c, infcmd.c, + inflow.c, infptrace.c, infrun.c, irix5-nat.c, language.c, + m2-typeprint.c, main.c, mdebugread.c, minsyms.c, mipsread.c, + monitor.c, nlmread.c, objfiles.c, os9kread.c, osfsolib.c, parse.c, + printcmd.c, procfs.c, regex.c, remote-adapt.c, + remote-array.c, remote-bug.c, remote-e7000.c, remote-eb.c, + remote-es.c, remote-hms.c, remote-mm.c, remote-os9k.c, + remote-pa.c, remote-sim.c, remote-st.c, remote-udi.c, + remote-utils.c, remote-vx.c, remote-vx29k.c, remote-vx68.c, + remote-vx960.c, remote-vxmips.c, remote-vxsparc.c, remote.c, + solib.c, somread.c, source.c, stabsread.c, stack.c, symfile.c, + symmisc.c, symtab.c, target.c, top.c, typeprint.c, utils.c, + valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Include + "gdb_string.h" instead of . + + * config/xm-sysv4.h, i386/xm-ptx.h, m68k/xm-sun3os4.h, + sparc/xm-sun4os4.h (HAVE_MMAP): Removed. + + * config/xm-lynx.h, config/i386/xm-ptx.h, + config/m68k/nm-apollo68b.h, config/m68k/xm-hp300hpux.h, + config/mips/xm-irix3.h, config/mips/xm-mips.h, + config/mips/xm-news-mips.h, config/mips/xm-riscos.h, + config/pa/hppah.h, config/rs6000/xm-rs6000.h, + config/sparc/xm-sun4os4.h, config/sparc/xm-sun4sol2.h, + config/vax/xm-vaxbsd.h, config/vax/xm-vaxult.h, + config/vax/xm-vaxult2.h (MEM_FNS_DECLARED): Removed. + * config/mips/xm-irix3.h, config/mips/xm-mips.h, + config/pa/xm-hppah.h (memcpy, memset): Removed declarations. + +Tue Aug 1 02:08:30 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips-tdep.c (mips_extract_return_value): Fix returning of + values whose length is less than the register size for big endian + targets. + * alpha-tdep.c (alpha_extract_return_value, + alpha_store_return_value): Use alpha_convert_register_to_* + to handle functions returning "float" correctly. + +Mon Jul 31 19:12:48 1995 Stan Shebs + + * h8500-tdep.c: General linting and cleanup. + (opcodes/h8500-opc.h): Don't include. + (code_size, data_size): Make static. + (frame_locals_address, frame_args_address): Remove. + (h8300_pop_frame): Rename to h8500_pop_frame. + (big_command, medium_command, compact_command, small_command): + Define as regular functions rather than with macro trickery. + (tm_print_insn): Set to correct disassembler function. + * config/h8500/tm-h8500.h: Minor cleanup, add prototypes. + (ABOUT_TO_RETURN): #if 0 out. + (FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS): Use usual define. + (GDB_TARGET_IS_H8500): Remove duplicate definition. + (regoff): Remove, never used. + * config/h8500/h8500.mt (TDEPFILES): Add monitor.o. + +Mon Jul 31 14:32:30 1995 J.T. Conklin + + * configure.in: Check for unistd.h. + * configure: Regenerated. + + * command.c, cp-valprint.c, fork-child.c, i386-tdep.c, + i386b-nat.c, inflow.c, main.c, maint.c, objfiles.c, solib.c, + source.c, stack.c, symfile.c, top.c, utils.c: Include strings.h + and/or unistd.h to bring prototypes into scope. + +Sun Jul 30 01:40:11 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * rs6000-tdep.c (frame_saved_pc): Check for signal handler caller + before trying to determine the start of the function. + (skip_prologue): Skip subroutine call which might save the + floating point registers only if it is within the first three + instructions. + Reinstate setting of alloca_reg if setup of a gcc frame pointer + is found. + (frame_get_cache_fsr): Use new fields in rs6000_framedata. + +Sat Jul 29 14:43:35 1995 Stan Shebs + + * sparclite: Removed subdirectory. aload and eload are now in + utils/sparclite, low-level library is in libgloss. + * configure.in (sparclite*): Don't configure sparclite subdir. + * configure: Update. + * Makefile.in (TARDIRS): Remove, no longer used. + +Sat Jul 29 01:45:56 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * procfs.c (unconditionally_kill_inferior): Clear current signal + if PROCFS_NEED_CLEAR_CURSIG_FOR_KILL is defined. + * config/alpha/nm-osf3.h (PROCFS_NEED_CLEAR_CURSIG_FOR_KILL): Define. + + * alpha-tdep.c: Move sigtramp handling of saved registers from + read_next_frame_reg to alpha_find_saved_regs, handle saved + floating point registers. + * mips-tdep.c: Move sigtramp handling of saved registers from + read_next_frame_reg to mips_find_saved_regs, handle saved + floating point registers. + * config/mips/tm-irix3.h, config/mips/tm-irix5.h, + config/mips/tm-mipsv4.h (SIGFRAME_FPREGSAVE_OFF): Define. + + * sparc-tdep.c (sparc_pc_adjust): Fix check for `unimp' + instruction to handle functions returning structures with + large sizes properly. + +Fri Jul 28 11:50:17 1995 steve chamberlain + + * configure, configure.in (z8k-*-sim): deleted. + +Thu Jul 27 12:49:28 1995 Jeffrey A. Law + + * lynx-nat.c (child_wait): Handle threads exiting. + +Thu Jul 27 07:47:50 1995 Michael Meissner + + * rs6000-tdep.c (skip_prologue): Don't assume the update stack + instruction is the last in the prologue, since xlc stores the lr + after the stack update. Make sure offset is correct sign for + large frames. + (frame_saved_pc): Move test for signal before frameless. + + * config/rs6000/tm-rs6000.h (DEFAULT_LR_SAVE): Define. + * config/powerpc/tm-ppc-eabi.h (DEFAULT_LR_SAVE): Redefine. + +Thu Jul 27 01:22:08 1995 Jeffrey A. Law + + * hppa-tdep.c (hppa_fix_call_dummy): Rewrite code for calling + into shared libraries. + +Wed Jul 26 23:33:34 1995 Michael Meissner + + * config/rs6000/tm-rs6000.h (rs6000_framedata): Add offsets the + gprs, fprs, lr, and cr is stored at. + (FRAME_FIND_SAVED_REGS): Use new fields in rs6000_framedata. + (function_frame_info): Delete declaration. + (SKIP_PROLOGUE): Skip_prologue is now passed a rs6000_framedata + structure to fill in. + (FRAMELESS_FUNCTION_INVOCATION): Function now longer takes a + second argument. + (FRAME_SAVED_PC): Call frame_saved_pc. + + * rs6000-tdep.c (skip_prologue): Recognize V.4 prologues as well + as AIX style. Fill in rs6000_framedata structure. Remember where + the gprs, fprs, cr, and lr are saved. + (pop_frame): Use skip_prologue, not function_frame_info, and use + new rs6000_framedata fields. + (function_frame_info): Function deleted. + (frameless_function_invocation): Separate frame_saved_pc support + to new function. Recognize V.4 frames. + (frame_saved_pc): New function. + (frame_get_cache_fsr): Use skip_prologue, not function_frame_info. + (frame_initial_stack_address): Ditto. + +Wed Jul 26 01:00:37 1995 Jeff Law (law@snake.cs.utah.edu) + + * remote.c: Add documentation for extended protocol operations + and for thread_alive change from a couple weeks ago. + (extended_remote_ops): Declare and define a new target vector + for the extended remote protocol. + (extended_remote_restart): New function to restart the remote + server & process. + (remote_open): Just a stub routine. + (extended_remote_open): New function to start a remote session + using the extended gdb remote protocol. + (remote_open_1): New function containing code common to both + remote_open and extended_remote_open. + (remote_mourn, extended_remote_mourn, remote_mourn_1): Similarly. + (extended_remote_create_inferior): New function for the extended + remote target. + (initialize_remote): Add the extended_remote_ops target vector. + * gdbserver/server.c (main, case '!'): Set extended_protocol. + (main, case 'k'): If the extended protocol is in use, kill the + inferior then start a new one. + (main, case 'R'): New command to restart the remote server and + inferior process. Only supported when using the extended + protocol. + (main, server loop): If the inferior terminates while using the + extended protocol then start a new one. If getpkt fails when + using the extended protocol then exit. + +Tue Jul 25 11:43:44 1995 Stan Shebs + + * mdebugread.c (psymtab_to_symtab_1): Relocate encoded stab + line numbers using the psymtab's section offsets. + +Tue Jul 25 10:43:27 1995 Michael Meissner + + * config/rs6000/tm-rs6000.h (rs6000_framedata): Rename from + aix_framedata. Change all uses. + * rs6000-tdep.c: Change all aix_framedata -> rs6000_framedata. + +Sat Jul 22 23:44:18 1995 Jeff Law (law@snake.cs.utah.edu) + + * defs.h (ATTR_FORMAT): Disable if ANSI_PROTOTYPES is not defined. + +Fri Jul 21 16:50:28 1995 Jeffrey A. Law + + * lynx-nat.c (child_thread_alive): New function. Somehow I + forgot to check this in with all the other thread_alive changes. + +Thu Jul 20 22:22:34 1995 Jeff Law (law@snake.cs.utah.edu) + + * somread.c (som_symtab_read): Add unsatisfied common symbols to + the minimal symbol table. All common symbols are "unsatisfied" + when -E is passed to the linker. + +Thu Jul 20 15:04:57 1995 Fred Fish + + * top.c (show_endian): Cast first arg of printf_unfiltered to + correct type of "char *". + +Thu Jul 20 14:18:51 1995 Jeffrey A. Law + + * lynx-nat.c (child_wait): A thread_id of zero from wait apparently + means the process is single threaded, so there's no need to add + it to the thread list. Handle case where multi-threaded process + reverts back to a single-threaded process. + + * gdbserver/low-hppabsd.c: Remove error declaration. + * gdbserver/low-sparc.c: Likewise. + * gdbserver/low-sun3.c: Likewise. + * gdbserver/server.h: Remove error and fatal declaration. + * gdbserver/utils.c (error): Update to be compatable with recent + changes in defs.h. + (fatal): Likewise. + +Wed Jul 19 22:42:43 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/m68k/tm-m68kv4.h (DWARF_REG_TO_REGNUM): Define to + correctly map floating point registers numbers. + + * dwarfread.c (locval, new_symbol): Handle variables that are + optimized out. + + * mdebugread.c: Replace all uses of builtin_type_* with + mdebug_type_*. Define and initialize mdebug_type_*. + + * serial.h (serial_close): Add additional argument `really_close'. + (SERIAL_CLOSE): Update serial_close call accordingly. + (SERIAL_UN_FDOPEN): Use serial_close to handle refcnt properly. + * serial.c (serial_close): Handle `really_close'. + * serial.h (scb_base): Moved to serial.c, made static. + + * valops.c (value_addr): Don't coerce arrays. + (typecmp): Coerce arrays instead of calling value_addr if necessary. + +Wed Jul 19 18:19:28 1995 Stan Shebs + + From Richard Earnshaw (rearnsha@armltd.co.uk): + * infrun.c (wait_for_inferior): Set the convenience variable + $_exitcode to the termination code of the inferior. + * top.c (quit_command): Accept optional expression to use + as parameter to exit(). + +Wed Jul 19 13:15:32 1995 Kung Hsu + + * remote.c (remote_wait): When getting registers, check endianess and + do conversion if necessary. + +Tue Jul 18 00:41:31 1995 Jeff Law (law@snake.cs.utah.edu) + + * gdbserver/low-hppabsd.c: New file. + * gdbserver/Makefile.in (SFILES): Add low-hppabsd.c. + * config/pa/hppabsd.mh (XDEPFILES): Add ser-tcp.o. + (GDBSERVER_DEPFILES): Add low-hppabsd.o. + * config/pa/hppaosf.mh: Likewise. + +Mon Jul 17 21:35:18 1995 Fred Fish + + * dache.c (struct dcache_block): Change data member from unsigned + char to char, since everything passed in and out of dcache is char + or casted to appropriate type anyway. + (dcache_alloc): Move assignment of db out of test and combine + separate tests into if-else. + (dcache_peek_byte): Change ptr from unsigned char* to char*. + (dcache_peek_byte): Remove now unnecessary cast in read_memory call. + (dcache_peek): Change cast of incoming data arg. + (dcache_poke): Change cast of addr of incoming data arg. + (dcache_info): Mask data passed to printf_filtered to lsbyte only. + (dcache_info): Change printf_filtered arg from "% 2x" to " %2x". + * target.c (debug_to_thread_alive): Change return type to int and + return zero, for type compatibility with other *_thread_alive + funcs. + (cleanup_target): Change cast of ignore function to match type of the + to_thread_alive member. + * defs.h (error_hook): Add ATTR_NORETURN. + * defs.h (NORETURN, ATTR_NORETURN): Switch from volatile to + __attribute__ method with gcc 2.7, to avoid gcc 2.6.3 bug. + * remote.c (remote_wait): Cast first arg to strtol, strchr, and + strncmp to "const char *" from "unsigned char *". + (remote_wait): Cast arg to putpkt and strcpy from "unsigned char *" + to "char *". + (remote_wait): Change printf format for long arg from "%d" to "%ld". + (getpkt): Remove unused variable "bp". + (remote_fetch_word, remote_store_word): Ifdef out apparently unused + functions. + * breakpoint.c (watchpoint_check): Removed unused variables + "saved_level" and "saved_frame". + * valops.c (value_arg_coerce): Add other enum TYPE_CODE_* and + default cases to switch for completeness. + * infrun.c (wait_for_inferior): Enclose "have_waited" label + in #ifdef that matches the one in which it is referenced. + * ser-unix.c (hardwire_noflush_set_tty_state): Enclose otherwise + unused variable "state" in #ifdef that matches one in which it is + referenced. + * eval.c (evaluate_subexp_standard): Remove unused variable "var". + * eval.c (evaluate_subexp_standard): Remove unused variable + "tmp_symbol". + * valarith.c (value_subscript): Remove unused variable + "lowerbound", which is redeclared in a nested scope prior to use. + * printcmd.c (print_frame_nameless_args): Use "%ld" to print long + arg, not "%d". + * {mem-break.c, remote-pa.c, remote.c, saber.suppress}: + Remove unused static var "check_break_insn_size". + * buildsym.c (finish_block): Add other enum LOC_* and default + cases to switch for completeness. + ch-lang.c (type_lower_upper): Removed unused label "retry". + Add other enum TYPE_* and default cases to switch for completeness. + * f-typeprint.c (f_type_print_args): Ifdef out unused function + that may be used someday when Fortran support is complete. + * ch-valprint.c (chill_print_type_scalar): Add other enum + TYPE_* and default cases to switch for completeness. + (chill_val_print): Remove unused local var "high_bound" that + is redeclared in a nested scope prior to use. + (chill_var_print): Use "%ld" to print long arg, not "%d". + * regex.c (re_compile_fastmap, re_match_2): Add remaining enum + types and default to switches for completeness. + * minsyms.c (lookup_minimal_symbol_text): Delete unused variable + "trampoline_symbol". + (prim_record_minimal_symbol_and_info): Return NULL rather than + trash. + * elfread.c (elf_symtab_read): Don't dereference NULL returns from + record_minimal_symbol_and_info. + * f-lang.c (saved_function_list_end): Ifdef out unused variable + that may be used someday. + * f-valprint.c (f_val_print): Remove unused local "straddr". + +Mon Jul 17 13:08:00 1995 Ian Lance Taylor + + * stabsread.h (struct stab_section_list): Define. + (coffstab_build_psymtabs): Remove staboff and stabsize parameters. + Add textaddr, textsize, and stabs parameters. + * gdb-stabs.h (struct dbx_symfile_info): Remove text_sect field. + Add text_addr and text_size fields. + (DBX_TEXT_SECT): Don't define. + (DBX_TEXT_ADDR, DBX_TEXT_SIZE): Define. + * coffread.c: Include . + (struct coff_symfile_info): Remove stabsect and stabindexsect + fields. Add textaddr, textsize, and stabsects fields. + (coff_locate_sections): Record the address of the .text section, + and total the sizes of all sections with names beginning with + ".text". Don't bother to record a .stab.index section (COFF + doesn't use them). Make a linked list of all sections with names + beginning with ".stab". + (coff_symfile_read): Adjust call to coffstab_build_psymtabs for + new parameters. + * dbxread.c (dbx_symfile_read): Use DBX_TEXT_ADDR and + DBX_TEXT_SIZE, rather than getting both from DBX_TEXT_SECT. + (dbx_symfile_init): Set DBX_TEXT_ADDR and DBX_TEXT_SIZE, not + DBX_TEXT_SECT. + (elfstab_build_psymtabs): Likewise. + (stabsect_build_psymtabs): Likewise. + (symbuf_sections, symbuf_left, symbuf_read): New static variables. + (fill_symbuf): If symbuf_sections is not NULL, read symbols from + multiple sections. + (coffstab_build_psymtabs): Remove staboffset and stabsize + parameters. Add textaddr, textsize, and stabsects parameters. + Set DBX_TEXT_ADDR and DBX_TEXT_SIZE, not DBX_TEXT_SECT. Handle + multiple stabs sections. + * os9kread.c (os9k_symfile_read): Use DBX_TEXT_ADDR and + DBX_TEXT_SIZE, rather than getting both from DBX_TEXT_SECT. + (os9k_symfile_init): Set DBX_TEXT_ADDR and DBX_TEXT_SIZE, not + DBX_TEXT_SECT. + + * remote-vx.c (vx_ops, vx_run_ops): Initialize new to_thread_alive + field. + +Sat Jul 15 01:02:53 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/alpha/alpha-osf3.mh, config/alpha/nm-osf3.h: New files + for OSF/1-3.x procfs support. + * configure.in (alpha-dec-osf): Use them when configuring + for OSF/1-3.x. + * configure: Updated. + * target.c: Include . + +Fri Jul 14 16:16:56 1995 J.T. Conklin + + * Makefile.in, configure.in: Use one variable, frags, to hold + pathnames of makefile fragments. + * configure: regenerated. + +Fri Jul 14 09:49:47 1995 Jeff Law (law@snake.cs.utah.edu) + + * procfs.c (procfs_ops): Fix typo in last change. + +Thu Jul 13 13:42:38 1995 Jeffrey A. Law + + * inftarg.c (child_thread_alive): New function to see if a + particular thread is still running. + (child_ops): Add child_thread_alive entry. + * remote.c (remote_thread_alive): New function to see if a + particular thread is still alive. + (remote_ops): Add remote_thread_alive. + * target.c (dummy_target): Add dummy entry for thread_alive. + (cleanup_target): de_fault thread_alive too. + (update_current_target): INHERIT thread_alive too. + (debug_to_thread_alive): New function. + (setup_target_debug): Add debug_to_thread_alive. + * target.h (struct target_ops): Add to_thread_alive. + (target_thread_alive): Define. + * thread.c (info_threads_command): Don't call kill; use + target_thread_alive instead. + * config/nm-lynx.h (CHILD_THREAD_ALIVE): Define. + * gdbserver/low-lynx.c (mythread_alive): New function. + (mywait): Don't restart any threads after a new thread notification, + let the generic code handle it. + * gdbserver/low-sparc.c (mythread_alive): Dummy version. + * gdbserver/low-sun3.c (mythread_alive): Likewise. + * gdbserver/server.c (main): Handle thread_alive requests. + * gdbserver/server.h (mythread_alive): Declare. + * corelow.c (core_ops): Add dummy entry for thread_alive. + * exec.c (exec_ops): Likewise. + * m3-nat.c (m3_ops): Likewise. + * monitor.c (monitor_ops): Likewise. + * procfs.c (procfs_ops): Likewise. + * remote-array.c (array_ops): Likewise. + * remote-e7000.c (e7000_ops): Likewise. + * remote-es.c (es1800_ops, es1800_child_ops): Likewise. + * remote-mips.c (mips_ops): Likewise. + * remote-pa.c (remote_hppro_ops): Likewise. + * remote-sim.c (gdbsim_ops): Likewise. + * sparcl-tdep.c (sparclite_ops): Likewise. + +Tue Jul 11 11:15:55 1995 Kung Hsu + + * solib.c: Add _DYNAMIC__MGC base symbol for Mentor Graphics Inc. + * solib.c (match_main): New function for checking name of main. + * solib.c (solib_add): Not to add if solib match main. + +Fri Jul 7 14:41:56 1995 Kung Hsu + + * elfread.c (elf_symtab_read): Fix a bug ignoring compiler + generated internal labels ($LM...). + +Wed Jul 5 11:38:36 1995 Kung Hsu + + * defs.h: if __GO32__ or WIN32 the directory separating symbol should + be '\' not '/'. + + * remote-nindy (nindy_wait): Use infinite timeout reading after + esacpe character. + +Tue Jul 4 10:30:22 1995 Jeffrey A. Law + + * infrun.c (wait_for_inferior): When switching from one thread to + another, save infrun's state for the old thread and load infrun's + previous state for the new thread. + * thread.c (struct thread_info): Add new fields for thread specific + state saved/restored in infrun.c. + (add_thread): Initialize new fields. + (load_infrun_state): New function. + (save_infrun_state): New function. + * thread.h (load_infrun_state): Provide external decl. + (save_infrun_state): Likewise. + + * infrun.c (wait_for_inferior): When we hit a breakpoint for the + wrong thread, make sure to write the fixed PC value into the thread + that stopped. Restart all threads after single stepping over a + breakpoint for a different thread. + * breakpoint.c (set_momentary_breakpoint): Make momentary + breakpoints thread specific in a multi-threaded program. + * lynx-nat.c (child_resume): Add some comments. Correctly + choose between the single and multi-threaded step and continue + ptrace calls. + +Fri Jun 30 16:15:36 1995 Stan Shebs + + * config/h8300/h8300.mt: Renamed from h8300hms.mt. + * config/h8500/h8500.mt: Renamed from h8500hms.mt. + * config/z8k/z8k.mt: Renamed from z8ksim.mt. + * configure, configure.in: Update to reflect renamings. + + * remote-sim.c (sim): New command, passes commands to simulator. + (simulator_command): New function. + (gdbsim_ops): Clean up. + * remote-sim.h (sim_do_command): Declare. + * sh-tdep.c (memory_size): Remove command. + + * Makefile.in (SIM, SIM_OBS): New variables. + (CLIBS, CDEPS): Add value of SIM. + (DEPFILES): Add value of SIM_OBS + + * config/arm/arm.mt, config/h8300/h8300.mt, config/h8500/h8500.mt, + config/sh/sh.mt, config/sparc/sp64sim.mt, config/w65/w65.mt, + config/z8k/z8k.mt: Remove simulator files from TDEPFILES, + define in SIM_OBS and SIM. + config/sparc/sp64sim.mt (SIMFILES): Remove. + + * remote-z8k.c: Remove, was superseded by remote-sim.c + * Makefile.in, mpw-make.in: Remove references to remote-z8k.c. + +Sun Jun 25 15:30:43 1995 Stan Shebs + + * remote.c (remote_read_bytes, remote_write_bytes): Second arg + should be char *, not unsigned char *. + * dcache.h (memxferfunc): Ditto. + * monitor.c (monitor_write_memory, monitor_read_memory_single): + Ditto. + (monitor_make_srec): Let compiler figure size of hextab. + +Sat Jun 24 19:27:37 1995 Jeffrey A. Law + + * lynx-nat.c (child_wait): Don't restart new threads and loop + to the top of child_wait; let the machine independent code in + wait_for_inferior deal with new thread notifications. + +Fri Jun 23 11:51:58 1995 Kung Hsu + + * remote-nindy (nindy_load): Put in target specific load, it's + 20 times faster. + +Thu Jun 22 20:21:59 1995 Stan Shebs + + * utils.c (error): Move local `args' outside conditional, + move local `string1' inside, declare function as void if + non-ANSI compiler, dereference error_hook when calling. + + * mac-xdep.c (stdarg.h): Don't include. + +Thu Jun 22 13:12:33 1995 Kung Hsu + + * remote-nindy.c (nindy_wait): Change timeout in SERIAL_READCHAR. + +Wed Jun 21 13:24:41 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppam3-nat.c: Change HP800_THREAD_STATE to TRACE_FLAVOR and + HP800_THREAD_STATE_COUNT to TRACE_FLAVOR_SIZE. + +Wed Jun 21 05:57:56 1995 Steve Chamberlain + + * monitor.c: Turn on caching. + (monitor_printf): If a ^C was sent, don't expect to see its + echo. + (monitor_open): Enable caching. + (monitor_resume, monitor_load): Flush cache. + (monitor_xfer_memory): Call cache routine. + (monitor_dump_regs): New. + (monitor_fetch_registers): If monitor_dump_regs available + then use it. + (monitor_load): Don't ref exec_bfd if it's NULL. + (monitor_load_srec): Use new monitor_make_srec calling convention. + (monitor_make_srec): Rewrite to cope with two, three and four byte + addresses. + * remote-hms.c (hms_cmds): Initialze end-of-command delim. + * dcache.h, dcache.h: Rewritten. + * remote.c: Reenable caching. + (getpkt): Reduce MAX_TRIES to 3. + (remote_xfer_memory): Use dcache_xfer_memory. + * defs.h (error_hook): New. + * top.c (error_hook): New definition. + * utils.c (error): Use error_hook if initialized. + * sparcl-tdep.c (HAVE_SOCKETS): Don't define if GO32 or WIN32. Use + HAVE_SOCKETS in place of #ifndef GO32. + +Tue Jun 20 22:17:44 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/pa/tm-hppa.h (PSW_*): Define processor status word masks. + (INSTRUCTION_NULLIFIED): Allow specific targets to override. + * config/pa/tm-hppao.h (INSTRUCTION_NULLIFIED): Define to work + around losing mach kernel behavior. + +Tue Jun 20 12:03:36 1995 Stan Shebs + + * monitor.c (monitor_wait): Don't use the watchdog timeout + if its value is 0. + * w89k-rom.c (w89k_open): Define to be static. + + +Sat Jun 17 10:17:16 1995 Jeff Law (law@snake.cs.utah.edu) + + * somsolib.c (som_solib_add): Validate regexp argument. + Don't assume the first entry on dld's library list is the main + program. Don't load the same library more than once and don't + consider the main program a shared library. + (som_solib_sharedlibrary_command): New function + (_initialize_som_solib): Add "sharedlibrary" command. + +Thu Jun 15 14:54:58 1995 Stan Shebs + + * array-rom.c: Remove, no longer used. + + * remote-hms.c (hms_open): Make static. + + * mpw-config.in (MacSerial.h): Copy from version in {CIncludes}, + not {MPW}Interfaces:CIncludes. + * ser-mac.c (mac_baud_rate_table): Fix value for 38400 baud. + +Wed Jun 14 14:27:07 1995 Per Bothner + + * ch-exp.y: Remove lots of unsupported productions and names. + Add support for IF-expressions, ORIF, ANDIF, NUM, and ADDR. + +Tue Jun 13 21:40:11 1995 Per Bothner + + * parser-defs.h (enum precedence): Added PREC_BUILTIN_FUNCTION. + * expression.h (enum exp_opcode): Added UNOP_LOWER, UNOP_UPPER, + UNUP_LENGTH. + * expprint.c (dump_expression): Handle the new exp_opcodes. + (print_subexp): Handle PREC_BUILTIN_FUNCTION. + (print_simple_m2_func): Removed. + (print_subexp): Remove support for Modula2 builtin functions. + * m2-lang.c (m2_op_print_tab): Add support for builtin functions. + * ch-exp.y: Parse LOWER, UPPER, and LENGTH builtins. + (write_lower_upper_value): Convenience function for LOWER and UPPER. + (upper_lower_argument, length_argument): Removed non-terminals. + * ch-lang.c (chill_op_print_tab): Entries for UPPER, LOWER, LENGTH. + (type_lower_upper): New function. Calculate LOWER/UPPER of type. + (value_chill_length): New function. Calcalate LENGTH of ARRAY/STRING. + (evaluate_subexp_chill): Handle UNOP_LOWER, UNOP_UPPER, UNOP_LENGTH. + +Mon Jun 12 12:48:13 1995 Stan Shebs + + Windows support bits from Steve Chamberlain . + * defs.h: Don't declare strchr and friends if WIN32. + (DIRNAME_SEPARATOR): Move here from source.c. + (SLASH_P, SLASH_CHAR, SLASH_STRING, ROOTED_P): New macros, + symbolic definitions for filename bits. + * top.c (cd_command): Use these. + * source.c (mod_path, openp): Ditto. + * terminal.h: Disable termio/sgtty definitions if WIN32. + * findvar.c (registers_changed): Call registers_changed_hook + if it is defined. + +Mon Jun 12 12:22:05 1995 J.T. Conklin + + * Makefile.in (distclean, realclean): Remove config.cache and + config.log. + +Mon Jun 12 00:21:59 1995 Jeff Law (law@snake.cs.utah.edu) + + * somsolib.c: Include gdb-stabs.h. + (som_solib_section_offsets): Use SECT_OFF_XXX rather than 0, 1, + etc. Initialize offsets for RODATA & BSS too. + +Sat Jun 10 17:59:11 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa-tdep.c (frame_chain): Try to compensate for incomplete + register information in core files when backtracing. + +Fri Jun 9 14:51:38 1995 Stu Grossman (grossman@cygnus.com) + + * remote-nrom.c: Remove everything but download code. More + cleanups. + +Thu Jun 8 15:06:00 1995 Stu Grossman (grossman@cygnus.com) + + * defs.h maint.c monitor.c remote-mips.c remote.c: Add support + for `watchdog' variable. This allows the user to put an upper + limit on the amount of time that GDB will wait for the target to + return from a step or continue operation. This will primarily be + used for the testsuite, where it is difficult to come up with a + reasonable timeout for things like function calls, which can take + as long as three minutes under some circumstances. If the + watchdog timer expires, GDB will generate an error that looks like + `Watchdog has expired.', and will detach from the target. + + * remote-mips.c (mips_open): Setup initial frame from target. + Print it out so that user is told where the program is stopped + when they attach. + + * remote-nrom.c: Loads of cleanups. Use serial code to open + network connections. Use expect() to wait for response to + download command. + + * ser-tcp.c (tcp_open): Retry connection if we get ECONNREFUSED. + + * serial.c serial.h (serial_open serial_fdopen serial_close): + Allow users to open the same device multiple times. They all get + to share the same serial_t. This is about the only way to have + multiple active targets use the same device (for download and + debug). + + * sparcl-tdep.c: Keep #include away from GO32. + + * target.c: Add `targetdebug' variable. If this is non-zero, + then a special target is put at the top of the target stack which + will cause all calls through the target vector to have their args + and results printed out. + +Wed Jun 7 17:40:37 1995 Per Bothner + + * ch-exp.y: Handle "->" . + +Wed Jun 7 17:46:33 1995 Michael Meissner + + * mem-break.c (LITTLE_BREAKPOINT): If BREAKPOINT and + {LITTLE,BIG}_BREAKPOINT are all defined, don't redefine. + (BIG_BREAKPOINT): Ditto. + + * config/rs6000/tm-rs6000.h (BREAKPOINT): Define as either + BIG_BREAKPOINT or LITTLE_BREAKPOINT depending on the target byte + order. + +Wed Jun 7 12:41:42 1995 Jeff Law (law@snake.cs.utah.edu) + + * somsolib.c (som_solib_section_offsets): Handle relative pathnames. + + * hppa-tdep.c (frame_saved_pc): Handle backtracing through signal + handler in dynamically linked executables. + +Tue Jun 6 10:44:25 1995 Michael Meissner + + From Andrew Cagney + * rs6000-tdep.c (single_step): Handle both little and big endian + breakpoints. + (gdb_print_insn_powerpc): Deal with disassembling both little and + big endian PowerPC systems. + (_initialize_rs6000_tdep): Use gdb_print_insn_powerpc to handle + disassembly, rather that assuming big endian order. + + * config/rs6000/tm-rs6000.h (BREAKPOINT): Delete. + (BIG_BREAKPOINT): Define, big endian breakpoint instruction. + (LITTLE_BREAKPOINT): Define, little endian breakpoint instruction. + +Sat Jun 3 01:54:56 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * README: Add note about Unixware 2.x. + + * dbxread.c (process_one_symbol): Check for exact symbol name + match when fixing up N_GSYM and N_STSYM symbols from Sun acc. + + * valprint.c (value_print_array_elements): Use + fprintf_filtered to put out `', + from schwab@issan.informatik.uni-dortmund.de (Andreas Schwab). + + * value.h (struct value): Change `repetitions' field from + `short' to `int' type. + +Fri Jun 2 11:17:23 1995 Doug Evans + + * arc-tdep.c (arc_bfd_mach_type): New static global. + (codestream_fill): Handle byte order differences. + (setup_prologue_scan): Don't read stdarg function's "sub sp,sp,N". + (arc_get_frame_setup): Read it here. + (arc_frame_saved_pc): And here. + (arc_print_insn): New function. + (arc_set_cpu_type): Set arc_bfd_mach_type. Don't set tm_print_insn. + (_initialize_arc_tdep): Set tm_print_insn to arc_print_insn. + +Wed May 31 12:04:01 1995 J.T. Conklin + + * nlm/{configure.in, Makefile.in}: Converted to use autoconf. + * nlm/configure: New file, generated with autoconf 2.3. + + * nlm/configure.in: Use sed instead of awk to get the value of + cpufile. Awk is not a utility required by the GNU coding + standards. This change also fixes the rigid whitespace + requirements that were required for awk. + + * sparclite/aload.c: Use a file descriptor instead of a stdio + stream for i/o with target board. + Use #error if HAVE_TERMIOS is not defined. + + * sparclite/{Makefile.in, configure.in}: Converted to use + autoconf. + * sparclite/configure: New file, generated with autoconf 2.3. + +Sun May 28 23:10:07 1995 Jeff Law (law@snake.cs.utah.edu) + + * defs.h: Include either varargs.h or stdarg.h (for va_list). + Fix stupid thinko in last change ("..." -> "va_list"). + + * defs.h (vprintf_filtered declaration): Add PARAMS prototype; + gcc-2.5 chokes on format attributes for unprototyped functions. + (vfprintf_filtered declaration): Likewise. + (vprintf_unfiltered declaration): Likewise. + (vfprintf_unfiltered). Likewise. + +Sat May 27 23:54:17 1995 J.T. Conklin + + * configure.in: Use sed instead of awk to get the values of + hostfile, targetfile and nativefile. Awk is not a utility + required by the GNU coding standards. This change also + fixes the rigid whitespace requirements that were required + for awk. + * configure: regenerated. + +Sat May 27 16:24:04 1995 Angela Marie Thomas + + * sparclite/{Makefile,configure}.in: Add hooks for building with + -lsocket & -lnsl for solaris2. Don't build aload/eload for DOS. + +Thu May 25 12:46:37 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdbserver/remote-utils.c (prepare_resume_reply): Add FIXME + comment regarding signal numbering. + +Wed May 24 15:49:47 1995 Steve Chamberlain + + * arm-tdep.c (_initialize_arm_tdep): Use print_insn_little_arm + now. + + * arm-tdep.c (convert_from_extended, convert_to_extended): + New. + * coffread.c (enter_linenos): Return if linetab 0. + * config/arm/arm.mt (TDEPFILES): Add simulator support. + * config/arm/tm-arm.h (FRAME_FIND_SAVED_REGS): Fix prototypes. + +Mon May 22 19:37:21 1995 Rob Savoye + + * config/idt.mt: replace monitor and array-rom with the new + remote-array. + +Mon May 22 15:38:25 1995 Stu Grossman (grossman@cygnus.com) + + * remote-nindy.c: Install Kung patch for PR 6820. I have no idea + what this does... + + * breakpoint.c: Move defaults of watchpoint related macros into + target.h. + * target.h: Macros from breakpoint.c. Conditionalize based on + TARGET_HAS_HARDWARE_WATCHPOINTS. + * i386v-nat.c procfs.c: Use TARGET_HAS_HARDWARE_WATCHPOINTS + instead of TARGET_CAN_USE_HARDWARE_WATCHPOINT to enable watchpoint + code. + * config/i386/nm-linux.h, config/mips/nm-irix4.h, + config/pa/nm-hppab.h, config/sparc/tm-sparclite.h: #define + TARGET_HAS_HARDWARE_WATCHPOINTS to enable watchpoint code. + +Mon May 22 06:47:30 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c, target.h: Move defaults of watchpoint related + macros back to breakpoint.c. Required to get GDB compiling + on Solaris again. + +Fri May 19 14:49:37 1995 J.T. Conklin + + * defs.h (ATTR_FORMAT): New macro, expands to gcc's format + attribute when compiled by gcc. + * defs.h, language.h, monitor.h: Changed many function + declarations to use ATTR_FORMAT. + + * breakpoint.c (delete_command); source.c (directory_command); + top.c (define_command): Changed call to query() that had too + many arguments. + * printcmd.c (address_info): Changed call to printf_filtered() + that had too many arguments. + +Fri May 19 09:52:07 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (wait_for_inferior): Move assignments to stop_signal + and stop_pc, and STOPPED_BY_WATCHPOINT code, back where they + were--after the switch statement on w.kind. You can't read the + registers of an inferior which has exited. Use a goto in the + STOPPED_BY_WATCHPOINT code. + * infrun.c (wait_for_inferior): Reinstate + HAVE_STEPPABLE_WATCHPOINT and HAVE_CONTINUABLE_WATCHPOINT code. + +Fri May 19 06:15:40 1995 Jim Kingdon + + * utils.c, complaints.c, language.c, monitor.c, remote-array.c, + remote-mips.c, remote-os9k.c, remote-st.c: Conditionalize use of + stdarg rather than varargs on ANSI_PROTOTYPES not __STDC__; it + must match the definition of PARAMS. + +Thu May 18 15:58:46 1995 J.T. Conklin + + * utils.c (fprintf_filtered, fprintf_unfiltered, fprintfi_filtered, + printf_filtered, printf_unfiltered, printfi_filtered, query, warning, + error, fatal, fatal_dump_core): Use stdarg.h macros when compiling + with an ANSI compiler. + * complaints.c (complain): Likewise. + * language.c (type_error, range_error): Likewise. + * monitor.c (monitor_printf, monitor_printf_noecho): Likewise. + * remote-array.c (printf_monitor, debuglogs): Likewise. + * remote-mips.c (mips_error): Likewise. + * remote-os9k.c (printf_monitor): Likewise. + * remote-st.c (printf_stdebug): Likewise. + + * defs.h, complaints.h, language.h, monitor.h: Add prototypes to + match above changes. + + * printcmd.c: Remove uneeded #include . + * remote-e7000.c: Likewise. + + * f-typeprint.c (f_type_print_base): Fix typo found by above + changes. + +Wed May 17 11:21:32 1995 Jim Kingdon + + * Makefile.in (xcoffread.o): Depend on partial-stab.h. + + * xcoffsolib.c (sharedlibrary_command): New command. + * xcoffsolib.c (solib_info): Call xcoff_relocate_symtab. + * xcoffsolib.c: Miscellaneous cleanups. + + * partial-stab.h: Ignore symbol descriptor '-' (for local + variables with negative type numbers) without complaint. + + * rs6000-nat.c (vmap_ldinfo): Use bfd_stat rather than our own + local emulation thereof. Remove unused variable ostart. + +Wed May 17 15:55:53 1995 J.T. Conklin + + * Makefile.in (config.status): changed target so that + config.status --recheck is executed if configure script changes. + + * monitor.c (monitor_printf): Changed format specification in + error message to work with pre-ansi compilers. + (monitor_load_srec): reduced length of s-records from 128 to 32 + bytes so download is more reliable with the rom68k monitor. + + * rom68k-rom.c: Added trailing space to prompt string. + + * config/i386/xm-i386sco.h (HAVE_STRSTR): Removed. + * config/i386/xm-go32.h, mswin/xm.h (SYS_SIGLIST_MISSING): + Removed. + * defs.h, config/{xm-lynx.h, xm-nbsd.h}, + config/i386/{xm-i386bsd.h, xm-linux.h}, + config/m68k/xm-hp300bsd.h, config/mips/xm-irix4.h, + config/ns32k/xm-ns32km3.h, doc/gdbint.texinfo + (PSIGNAL_IN_SIGNAL_H): Removed. + +Tue May 16 13:16:06 1995 J.T. Conklin + + * Makefile.in (Makefile): Added config.status to dependency list. + + * configure.in: Added INIT-CMDS argument to AC_OUTPUT which sets + gdb_host_cpu, gdb_target_cpu and nativefile. + * configure: regenerated. + +Mon May 15 23:50:51 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_symbol): Do not relocate stBlock/scText + symbols, their value is the displacement from the procedure address. + * top.c (init_main): Add missing newlines to help strings for + `if' and `while' commands, fix help string for `show commands'. + +Mon May 15 18:37:56 1995 Stu Grossman (grossman@cygnus.com) + + * breakpoint.c: Move defaults of watchpoint related macros into + target.h. Use BP_TEMPFLAG and BP_HARDWAREFLAG instead of + constants. + * infrun.c (wait_for_inferior): Enhance comment near + STOPPED_BY_WATCHPOINT. + * target.h: Macros from breakpoint.c. + +Mon May 15 17:11:38 1995 J.T. Conklin + + * config/i386/{i386sol2.mh, i386v4.mh, ncr3000.mh}, + config/m68k/m68kv4.mh, config/mips/{irix4.mh, irix5.mh, + mipsv4.mh}, config/sparc/sun4so2.mh (INSTALL): Removed, figured + out by autoconf. + * config/apollo68v.mh (RANLIB): Removed, figured out by autoconf. + + * Makefile.in, configure.in: Converted to use autoconf + * aclocal.m4: New file, local autoconf macro definitions. + * configure: New file, generated with autoconf 2.3. + +Mon May 15 14:46:41 1995 Stan Shebs + + * remote.c (remote_kill): Add prototype. + * cpu32bug-rom.c (cpu32bug_open): Properly define as static. + * config/h8300/h8300hms.mt (TDEPFILES): Add monitor.o. + +Mon May 15 12:12:34 1995 Stu Grossman (grossman@cygnus.com) + + * sparclite/salib.c (win_ovf win_unf): Make window size constant + into a variable (__WINSIZE) so that it can be controlled via the + .h file. + * sparclite/sparclite.h: Add SL933 #ifdef to set __WINSIZE to 6 + for the 933 board. + + * infrun.c: Add #ifdef HP_OS_BUG to all references to + trap_expected_after_continue. + * (wait_for_inferior): Fix for remote watchpoints. Don't try to + insert breakpoints while target is running (this only works on + *some* native targets). This may also speed up native watchpoints + considerably. + +Sat May 13 13:55:04 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dwarfread.c (struct dwfinfo), dbxread.c (struct symloc), + mdebugread.c (struct symloc), hpread.c (struct symloc), + xcoffread.c (struct symloc): Fix inaccurate comment introduced + 20 Apr 1995. + +Sat May 13 13:34:18 1995 Jim Kingdon + + * rs6000-tdep.c (find_toc_address): Revise comment. + * symfile.c, symfile.h (init_psymbol_list): New function; + consolidate duplicated copies from os9kread.c, dbxread.c + and dwarfread.c. + * defs.h: Declare info_verbose. + * xcoffread.c: Extensive changes to support psymtabs. + +Fri May 12 13:48:41 1995 Stu Grossman (grossman@andros.cygnus.com) + + * cpu32bug-rom.c remote-est.c rom68k-rom.c: Update line_term element. + +Fri May 12 06:39:30 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * partial-stab.h: Expand comments. + +Thu May 11 19:01:37 1995 Jeff Law (law@snake.cs.utah.edu) + + * Support debugging using native MACH primitives on hppa*-*-osf*. + * configure.in: hppa*-*-osf* != hppa*-*-bsd* anymore. + * config/pa/hppaosf.mh: New file. + * config/pa/nm-hppao.h: Likewise. + * hppam3-nat.c: Likewise. + * config/pa/tm-hppao.h (PSW_SS): Define for single-stepping. + (MACHINE_CPROC_*_OFFSET): Define. + (TRACE_*): Define. + (START_INFERIOR_TRAPS_EXPECTED): Delete definition. + +Wed May 10 18:59:26 1995 Stu Grossman (grossman@andros.cygnus.com) + + * hppa-tdep.c (read_unwind_info): Cosmetic cleanup. + * (unwind_command): Clean it up and make it print things out + nicer. + * monitor.c: Add ^C handling capability (mostly ripped off from + remote.c). + * (monitor_printf): Make it check the command echo. + * (monitor_printf_noecho): Similar to above, but doesn't check + for echo. + * (monitor_stop): No longer waits for prompt. That is the job of + the caller. This makes things work much better for monitor_wait, + which waits for the prompt itself. + * (monitor_open): Deal with new monitor_stop semantics. Also, + flush input after sending init strings to get rid of junk that may + be output. Also, don't always send \r to remote. Use + monitor_ops->line_term cuz proper character isn't always \r. + * (monitor_fetch_register): Switch to completely different + algorithm to deal with lame-ass monitors which put spaces in the + middle of numbers, and prompt with a space!!!!! + * (monitor_read_memory_single): New routine to be used with + monitors that can only return one byte/short/long at a time. This + is selected via MO_GETMEM_READ_SINGLE. + * (monitor_load_srec): Use monitor_printf_noecho for sending S + records. Most targets don't echo them. + * (monitor.h): Get rid of cmd_delim. Add line_delim. + * op50n-rom.c (op50n_cmds): Fill it up. Make it work. + * w89k-rom.c: Change all eols from \r to \n. Change load_resp to + ^Q to prevent error message. + * config/pa/tm-hppa.h (CALL_DUMMY (for hppro)): Add special + instruction sequence at end to make restore_pc_queue happy. + +Wed May 10 15:59:00 1995 Torbjorn Granlund + + * remote-est.c (est_open): Make static to match prototype. + +Tue May 9 16:58:50 1995 Michael Meissner + + * configure.in: Add little endian PowerPC support. + * config/powerpc/ppcle-eabi.mt: New file for little endian PowerPC + support. + * config/powerpc/tm-ppcle-eabi.h: ditto. + +Mon May 8 12:11:38 1995 J.T. Conklin + + * nlm/configure.in (gdb_host, gdb_host_cpu, gdb_target): Removed. + These variables not used. + + * config/m68k/monitor.mt (TDEPFILES): Added cpu32bug-rom.o. + +Wed May 3 17:54:47 1995 Stan Shebs + + * monitor.c (monitor_command): Don't use PROMPT until monitor + target is known to be open. + (monitor_make_srec): Don't define size of hextab. + +Tue May 2 18:32:24 1995 Stan Shebs + + * configure.in (--enable-netrom): New configuration option. + * Makefile.in (REMOTE_OBS): Rename from REMOTE_O, append + value of NETROM_OBS. + (NETROM_OBS): New variable. + * remote-nrom.c: New file, NetROM target support. + * config/a29k/a29k-udi.mt, config/i960/vxworks960.mt: Use + REMOTE_OBS instead of REMOTE_O. + * config/arc/arc.mt: Ditto. + +Fri Apr 28 23:30:00 1995 Stu Grossman (grossman@cygnus.com) + + * array-rom.c (_initialize_array array_open): Move baud_rate + initialization from _initxxx to array_open to fix bug with + overriding -b command line option. + +Thu Apr 27 20:29:34 1995 Doug Evans + + * Makefile.in (RUNTEST): Fix reference of `srcdir'. + +Wed Apr 26 19:01:08 1995 Steve Chamberlain + + * remote-hms.c: Rewrite to use new monitor conventions. + +Tue Apr 25 11:27:14 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dbxread.c: Add comment explaining lowest_text_address. + Add comment regarding stringtab_global and psymtabs. + +Sat Apr 22 01:26:29 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/pa/tm-hppa.h (EXTRACT_STRUCT_VALUE_ADDRESS): Fix. + + * config/pa/tm-hppa.h (EXTRACT_RETURN_VALUE): Rewrite to correctly + handle "short", "int" and small structures returned in registers. + +Fri Apr 21 12:57:53 1995 Kung Hsu + + * minsyms.c: add new function lookup_minimal_symbol_text, to look + for text symbol only. + * breakpoint.c (create_longjmp_breakpoint): call + lookup_minimal_symbol_text instead of lookup_minimal_symbol. + * symtab.h: add lookup_minimal_symbol_text prototype. + +Fri Apr 21 12:03:44 1995 Stan Shebs + + * sh-tdep.c (sh-opc.h): Don't include. + (gdbcore.h): Include. + (frame_find_saved_regs): Remove unused local. + +Thu Apr 20 10:12:21 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dwarfread.c (struct dwfinfo), dbxread.c (struct symloc), + mdebugread.c (struct symloc), hpread.c (struct symloc): Clean + up comments. + +Wed Apr 19 16:58:11 1995 Stu Grossman (grossman@andros.cygnus.com) + + * hppa-tdep.c (deposit_17): New routine to deposit 17 bit + constants into PA instructions. + * Put #ifdefs around all signal handling code. Not generally + needed for embedded boards. + * (hppa_fix_call_dummy): Parameterize offsets into call dummy to + allow different dummys to be used by this code. Use + INSTRUCTION_SIZE instead of REGISTER_SIZE for things. + Conditionalize setup of _sr4export fixup. Improve comments. + * config/pa/tm-hppa.h: Define INSTRUCTION_SIZE. Use a different + call dummy if PA_LEVEL_0 is defined. Better comments for call + dummys. Define offsets for LDIL/LDO instructions which load + function addresses. + * config/pa/tm-pro.h: Get rid of signal handling stuff. Define + PA_LEVEL_0 to disable mucking with space regs and such. + +Mon Apr 17 15:37:08 1995 Stu Grossman (grossman@andros.cygnus.com) + + * cpu32bug-rom.c monitor.h op50-rom.c remote-est.c rom68k-rom.c + w89k-rom.c: Remove loadtypes, loadprotos and baudrates. + * op50-rom.c: Fix copyrights and add load routine to op50n_cmds. + * rom68k-rom.c (_initialize_rom68k): Don't set baud rate. + * w89k-rom.c: Fix copyrights. + +Sun Apr 16 14:00:55 1995 Stu Grossman (grossman@andros.cygnus.com) + + * monitor.c: Move all xmodem stuff into xmodem.[ch]. Remove + unnecessary remoteloadprotocol and remoteloadtype support. + * (expect expect_prompt): Change names to monitor_expect and + monitor_expect_prompt. Make them global. + * (printf_monitor): Change name to monitor_printf. Make global. + * (monitor_read_memory): Flush command echo to avoid parsing + ambiguity with CPU32Bug monitor. + * (monitor_load): Remove remoteloadprotocol and remoteloadtype + support. Call target_ops->load_routine, default to + monitor_load_srec. + * (monitor_load_srec): Remove everything but S-record support. + * monitor.h (monitor_ops): Add load_routine to provide monitor + specific download capability. + * remote-est.c: Clean up copyrights and comments. + * w89k-rom.c: Use new xmodem support. + * xmodem.c xmodem.h: New files to support xmodem downloads. + * rom68k-rom.c remote-est.c: Fix copyrights, add load_routine + entry to monitor_ops. + * cpu32bug-rom.c: New file to support Moto BCC debuggers. + * config/m68k/est.mt (TDEPFILES): Add cpu32bug.o. + * config/pa/hppapro.mt (TDEPFILES): Add xmodem.o. + +Sat Apr 15 18:00:15 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * rem-multi.shar: Removed; superceded by gdbserver. + +Fri Apr 14 12:10:24 1995 Jim Kingdon + + * xcoffread.c (xcoff_sym_fns): Revise comment about merging this + with coffread.c. + + * breakpoint.c (fixup_breakpoints): Removed. + * rs6000-nat.c (vmap_symtab): Don't call fixup_breakpoints. + (vmap_ldinfo, xcoff_relocate_core): Call breakpoint_re_set. + + * coffread.c (coff_symfile_offsets): Allocate SECT_OFF_MAX + sections, not just SECT_OFF_MAX-1. + + * rs6000-nat.c (vmap_symtab), xcoffread.c: Re-do section offsets + to be indexed by SECT_OFF_* instead of xcoff section numbers. + * objfiles.c, remote.c: Remove comments regarding SECT_OFF_*. + * symtab.h: Revise comment about block_line_section. + * rs6000-nat.c (vmap_symtab): Don't relocate objfile->sections. + +Sat Apr 15 14:15:14 1995 Stan Shebs + + * mpw-make.in (init.c): Don't try to do symbolic {o} in sed + command, not allowed by some version of MPW Make. + * ser-mac.c (mac-setbaudrate): Make it actually set baud rates. + +Sat Apr 15 14:05:09 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * alpha-tdep.c (alpha_push_arguments): Fix typo (TYPE_VALUE -> + VALUE_TYPE). Do the cast for TYPE_CODE_BOOL, TYPE_CODE_CHAR, + TYPE_CODE_ENUM, and TYPE_CODE_RANGE as well as TYPE_CODE_INT. + +Sat Apr 15 14:04:32 1995 Per Bothner + + * alpha-tdep.c (alpha_push_arguments): Only cast to long for + TYPE_CODE_INT. + + +Thu Apr 13 16:17:04 1995 Rob Savoye + + * remote-array.c: New file for Array Tech LSI33k based controller + board. + +Thu Apr 13 12:23:31 1995 Kung Hsu + + * a29k-tdep.c (get_longjmp_target): Replace SWAP_TARGET_AND_HOST with + extract_address. + * remote-vxsparc.c: New file, preliminary check in, this configuration + not supported yet. + * remote-vxmips.c: ditto. + +Thu Apr 13 12:10:14 1995 Michael Meissner + + * rs6000-tdep.c (xcoff_add_toc_to_loadinfo): Don't use a prototype + to declare the function. + +Wed Apr 12 16:40:20 1995 Stan Shebs + + * monitor.h (init_monitor_ops): Declare. + * rom68k-rom.c: Clarify some comments. + (rom68k_open): Define as static, to match decl. + +Wed Apr 12 16:36:44 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * gdb.gdb: New file. + * .gdbinit: Move list-objfiles to gdb.gdb. + + * values.c (set_internalvar): Set modifiable flag of newval. + +Wed Apr 12 14:34:31 1995 Jim Kingdon + + * xcoffread.c: Call complain() rather than error() or printing a + warning. + +Wed Apr 12 08:15:27 1995 Doug Evans + + * arc-tdep.c: #include "gdbcmd.h". + (codestream_seek): Pass CORE_ADDR. + (arc_cpu_type, tmp_arc_cpu_type, arc_cpu_type_table): New globals. + (debug_pipeline_p): Likewise. + (X_...): Instruction field access macros. + (BUILD_INSN): Define. + (codestream_tell): Allow for stream elements > 1 byte. + (codestream_fill): Likewise. + (setup_prologue_scan): New function. + (arc_get_frame_setup): Call it. Update to current spec + regarding prologues. Use BUILD_INSN. + (skip_prologue): New argument `frameless_p'. Use BUILD_INSN. + (arc_frame_saved_pc): New function. + (frame_find_saved_regs): Use BUILD_INSN. + (get_insn_type, single_step): New functions. + (one_stepped): New global. + (arc_set_cpu_type_command, arc_show_cpu_type_command): New functions. + (arc_set_cpu_type): New function. + (_initialize_arc_tdep): Define new `set' commands `cpu', + `displaypipeline', and `debugpipeline'. + * arc/tm-arc.h (TARGET_BYTE_ORDER): Delete. + (TARGET_BYTE_ORDER_SELECTABLE): Define. + (DEFAULT_ARC_CPU_TYPE): Define. + (SKIP_PROLOGUE_FRAMELESS_P): Define. + (BREAKPOINT): Delete. + (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Define. + (DECR_PC_AFTER_BREAK): Change to 8. + (NO_SINGLE_STEP): Define. + (ARC_PC_TO_REAL_ADDRESS): Define. + (SAVED_PC_AFTER_CALL): Use it. + (NUM_REGS, REGISTER_BYTES): Fix. + (FRAME_SAVED_PC): Call arc_frame_saved_pc. + (FRAME_LOCALS_ADDRESS): Fix. + +Tue Apr 11 16:42:37 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * top.c, utils.c, defs.h: Remove error_hook. It is currently + unused and would need to hook into error_begin()/return_to_top_level(), + instead of error(), if it were to be used. + +Tue Apr 11 13:46:25 1995 Jim Kingdon + + * utils.c, defs.h (warning_begin): Renamed from warning_setup, for + consistency with error_begin. Also print warning_pre_print. + Document it better. + * utils.c (warning): Use it. + * utils.c (error_begin): Doc fix. + * rs6000-nat.c (vmap_ldinfo): If we don't find ldinfo for the + symfile_objfile, nuke it. + +Tue Apr 11 09:35:20 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * printcmd.c (print_address_numeric): Pass use_local to + print_longest, rather than always passing 1. + + * nlm/Makefile.in: Remove comments discussing munch. + + +Mon Apr 10 18:31:57 1995 Stan Shebs + + Merge in support for Mac MPW as a host. + (Old change descriptions retained for informational value.) + + * mpw-config.in (i386-unknown-go32): Change from aout. + (sh-hitachi-hms): New target. + * mpw-make.in (BISON): Use byacc instead of bison. + (VERSION): Bump to 4.14.1. + (*-pinsn.*): Remove mentions everywhere. + (all): Don't build MacGDB. + (gdb, SiowGDB): Depend on Version.r. + (Version.r): Generate from version info. + * main.c (main): Pass program name to START_PROGRESS, END_PROGRESS. + (main) [MPW]: Remove debugging hook. + * mac-xdep.c (debug_openp): New flag. + (mac_init): Set flag if env variable defined. + * ser-mac.c (mac_open): Clarify error message. + (mac_readchar): Call PROGRESS while looping. + (mac_write): Call sleep instead of sec_sleep. + (sec_sleep): Remove. + * source.c (openp) [MPW]: Only print debugging info if debugging. + * utils.c (query) [MPW]: Clarify that behavior is a bug. + + * mpw-make.in (init.c): Use open-brace instead of mpw-open-brace. + + * main.c, source.c: Remove hacks that replace long strings + with shorter ones, now solved portably. + + * config/m68k/xm-mpw.h (spin.h): Include. + (ALMOST_STDC): Only define if MPW_C. + * config/m68k/tm-mac.h: New file, Mac target definitions. + + * mpw-config.in (m68k-apple-macos, ppc-apple-macos, + i386-unknown-aout): New targets. + (mk.tmp): Add *DEPFILES definitions. + * mpw-make.in: Remove gC rules, clean up definitions for other + include files, bump version, fix bogus \ that should be \Option-d. + (init.c): Build correctly. + + * mpw-make.in (HFILES_NO_SRCDIR): Add somsolib.h + (ALLDEPFILES): Add somsolib.c. + (somsolib.o): Add some dependencies. + + * mpw-config.in: Use nm-empty.h if host is not target. + (xdepfiles): Add mac-xdep.c.o. + (xm_file): Remove. + * mpw-make.in: Add Fortran files. + (XDEPFILES): Remove. + + * mpw-config.in (MacSerial.h): Duplicate from standard Serial.h. + * ser-mac.c (MacSerial.h): Include instead of Serial.h. + + * mpw-make.in: Use {s} instead of {srcdir} everywhere. + (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. + + * mpw-make.in: Change references from paread.c to somread.c + + * mpw-make.in (VERSION): Update to 4.12.3. + (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. + + * 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. + + * 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. + + * 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. + + * mpw-config.in: New file, MPW configuration fragment. + * mpw-make.in: New file, MPW makefile fragment. + * config/m68k/xm-mpw.h: New file, MPW host definitions. + * ser-mac.c: New file, Mac serial interface. + +Mon Apr 10 16:47:57 1995 Kung Hsu + + * valprint.c (print_longest): Fix a syntax error in #ifdef + PRINTF_HAS_LONG_LONG. + + * config/mips/xm-irix5.h: turn on CC_HAS_LONG_LONG and + PRINTF_HAS_LONG_LONG. + * config/mips/tm-irix5.h: turn on FORCE_LONG_LONG. + +Sat Apr 8 02:47:45 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_symbol): Use new variable + nodebug_var_symbol_type as type of variables which don't have any + ecoff debug info associated with them. + (parse_symbol, parse_procedure): Use heuristics to determine if + functions were compiled without debugging info and change their + type to nodebug_function_symbol_type. + (_initialize_mdebugread): Initialize nodebug_*_symbol_type. + + * source.c (line_info): Clear sal.pc for `info line' without + arguments. + +Fri Apr 7 17:43:01 1995 Stu Grossman (grossman@andros.cygnus.com) + + * monitor.c: make_xmodem_packet and print_xmodem_packet go away. + send_xmodem_packet shows up to do the obvious. Lots of fixes to + xmodem downloads including resetting of block number at start of + new transfers, fix for buffer overrun problem, addition of CRC + generation code. + * (monitor_open): loadtype_str and loadproto_str now default to + first entry in monitor_ops->loadtypes. + * (monitor_wait): Lengthen register dump buf, because of verbose + Winbond monitor. + * (monitor_fetch_register): Report unimplemented registers as 0. + * (monitor_read_memory): Only do 16 byte aligned transfers + because of formatting weirdness with the Winbond monitor. Also, + ignore non-hex, non-whitespace formatting between bytes (same + monitor). + * (monitor_load): Clean up logic. + * (monitor_load_srec): Re-do xmodem support. Move lots of it + into send_xmodem_packet. + * (getacknak): Get rid of polls and timeouts. Handle CRC + requests from receiver. + * (monitor_make_srec): Efficiency improvements. Don't call + sprintf to output two digit hex numbers. + * (crcinit, docrc): New, CRC-16 support routines. + * (send_xmodem_packet): New routine to generate either CRC-16 or + checksummed xmodem packets. + + * remote-est.c (est_loadtypes), rom68k-rom.c (rom68k_loadtypes): + Reduce tables down to only the load types supported by each + monitor. + + * w89k-rom.c (w89k_supply_register): Parses output of Winbond + register dumps. + * (w89k_loadtypes, w89k_loadprotos): Reduce to just srec/xmodem. + * (w89k_cmds): Add clear all breakpoints, memory fill, and dump + registers commands. + + * config/pa/tm-hppa.h: Define lots register offsets needed by + w89k-rom.c. + + +Thu Apr 6 17:00:46 1995 Michael Meissner + + * Makefile.in (X11_INCLUDES): Define as empty. + (X11_CFLAGS): Define as including $(X11_INCLUDES). + (X11_LIB_SWITCHES): Define as empty. + (X11_LIBS): Define as -lX11. + + +Wed Apr 5 19:57:38 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * mips-tdep.c (mips_print_register): Remove unused variable + our_type and call to init_type. Fixes memory leak. Reindent function. + + * mips-tdep.c (mips_print_register), findvar.c + (write_register_bytes): Make buffer char[] instead of unsigned + char[]. + +Mon Apr 3 19:28:14 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * top.c, utils.c, main.c, defs.h: Replace error_pre_print with two + variables: error_pre_print (for RETURN_ERROR) and quit_pre_print + (for RETURN_QUIT). Fixes a bug whereby typing ^C (e.g. in "maint + print sym") could output extraneous stuff. + * objfiles.c: Don't declare error_pre_print; defs.h does it. + +Mon Apr 3 13:48:28 1995 Stu Grossman (grossman@andros.cygnus.com) + + * monitor.h: Add MO_GETMEM_NEEDS_RANGE flag. + * monitor.c (monitor_read_memory): Use previously mentioned flag + to send proper format memory examine commands to the w89k monitor. + Also, try to handle bizarre format of memory dump... + + * op50-rom.c w89k-rom.c: Update to new monitor.[ch] conventions. + +Sat Apr 1 03:22:20 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dbxread.c (process_one_symbol) [SOFUN_ADDRESS_MAYBE_MISSING]: + Handle relocated symbol address. + * partial-stab.h, case N_SO, SOFUN_ADDRESS_MAYBE_MISSING: + Do not relocate a zero address. + +Thu Mar 30 19:46:36 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/a29k/tm-a29k.h: Nuke obsolete define CONTROL_END_ADDR; it + is nowhere used. + + * stabsread.c (read_range_type): Remove FIXME comment about + type-id (I presume this meant a number followed by = followed by a + type) versus type number; Per fixed it. + +Wed Mar 29 09:56:04 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in: sparc-*-sunos5* is same as sparc-*-solaris2*. + +Wed Mar 29 18:30:03 1995 Stan Shebs + + * remote-e7000.c (why_stop): Add new kinds of strings to expect + from the emulator. + (e7000_wait): Add interpretations for more stop reasons, + including warnings for write protect and cycle address errors. + +Wed Mar 29 17:09:29 1995 Stu Grossman (grossman@cygnus.com) + + * monitor.c monitor.h remote-est.c rom68k-rom.c: Add start of + support for interrupting target. + * monitor.c (monitor_open): Send stop command before doing + anything else. + * (monitor_load_srec): Fix record size calculation to prevent end + of segment from getting trashed. + * rom68k-rom.c: Update to latest version of struct monitor_ops. + * config/sparc/tm-sparc.h (FIX_CALL_DUMMY): Fix byte-order + problems. Makes DOS hosted function calling work. + * sparclite/crt0.s: Define _start to make COFF happy. + +Wed Mar 29 09:11:51 1995 Michael Meissner + + * defs.h (atof): Don't provide an external declaration if atof is + a macro. + +Wed Mar 29 00:01:07 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * rs6000-tdep.c (skip_prologue): Skip saving of LR and CR in + the stack frame, fix typos in `st rx,NUM(r1)' and `stu r1,NUM(r1)' + tests. + +Tue Mar 28 17:04:04 1995 Per Bothner + + * gdbtypes.c (create_range_type): If indextype has TYPE_FLAG_STUB + set, set TYPE_FLAG_TARGET_STUB. + (check_stub_type): Recalculate TYPE_LENGTH for range type. + * stabsread.c (read_range_type): If index type number is followed + by '=', back up, call read_type. and assume we have a true range. + * gdbtypes.h (TYPE_FLAG_TARGET_STUB): Update comment. + +Mon Mar 27 22:51:54 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * alpha-nat.c, irix4-nat.c, irix5-nat.c, mipsv4-nat.c, + sparc-tdep.c (supply_gregset, supply_fpregset): Fill inaccessible + registers with zero to handle recent read_register_bytes change. + * irix4-nat.c, irix5-nat.c, mipsv4-nat.c (supply_gregset, + fill_gregset): Fix handling of CAUSE_REGNUM. + * mips-nat.c (store_inferior_registers): Handle unwritable + registers when storing a single register. + * config/mips/tm-irix3.h (CAUSE_REGNUM, BADVADDR_REGNUM): + Fix definitions. + + * mdebugread.c (parse_symbol, psymtab_to_symtab_1): Clear + allocated mips_extra_func_info, if the debug info is corrupt, + the PDR to fill it in might be missing. + +Mon Mar 27 14:43:00 1995 Kung Hsu + + * vx-share/regPacket.h: a new file interfacing with vxworks. + +Sun Mar 26 13:22:47 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (bpstat_do_actions): Once we've executed the + commands, set bs->commands to NULL. + +Sat Mar 25 01:16:10 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * buildsym.c (patch_subfile_name): Update last_source_file + with the real source file name. + * dbxread.c (end_psymtab): Handle static functions in the + SOFUN_ADDRESS_MAYBE_MISSING case by passing pst->filename + to lookup_minimal_symbol. + (process_one_symbol): Ignore extra outermost context from + SunPRO cc and acc. + * stabsread.c (define_symbol): Do not complain for SunPRO + static variable encoding if STATIC_TRANSFORM_NAME is defined. + * sparc-tdep.c, config/sparc/tm-sun4sol2.h + (sunpro_static_transform_name): Renamed from + solaris_static_transform_name. + * config/sparc/tm-sun4os4.h (STATIC_TRANSFORM_NAME): + Define to sunpro_static_transform_name for acc 3.0 compiled + executables. + * procfs.c, config/alpha/nm-osf2.h (PROCFS_DONT_TRACE_FAULTS): + Renamed from PROCFS_DONT_TRACE_IFAULT, don't trace any faults + if defined. + * procfs.c (info_proc_siginfo): Cast sip->si_addr to + `unsigned long' and use `lx' format for printing it. + +Fri Mar 24 15:45:42 1995 Stu Grossman (grossman@cygnus.com) + + * configure.in: Move test for m68*-est-* before m68*-*-coff*. + * findvar.c: Move default def of CANNOT_STORE_REGISTER closer to + the beginning of the code. + * (write_register_gen): New routine. Analogous to + read_register_gen. + * (write_register_bytes): Another rewrite! Make it smarter about + not updating regs with the same value. + * monitor.c (printf_monitor readchar): Use stderr instead of + stdout to output debug info. Also cleanup readchar a little. + * (expect): Make sure that excessive responses are null + terminated. + * (monitor_open): Check for magic number in monitor_ops struct. + Allow multiple commands as init strings. Also, clear all + breakpoints. + * (monitor_resume monitor_wait): Send a command to dump all the + regs for those targets which don't do so when waking up after a + continue command. + * (monitor_wait): Handle excessive response output better. + * (monitor_write_memory): Use block fill, word, and long word + commands (if they exist) to write memory more efficiently. + * General cleanups to use flag bits instead of individual flag + words in monitor_ops struct. + * (monitor_command): Return output from command. + * (monitor_load_srec): Allocate buffer only once. Use alloca. + Wait for load response string instead of using a timeout to start + sending S-records. Fix bug where value of srec_frame shrinks. If + hashmark is set, print `-' for retransmissions. General cleanups. + * (monitor_make_srec): Get rid of S-record default type kludge. + * monitor.h: Use seperate struct for memory and register + read/write commands. Memory commands can come in byte, word, + long, and longlong forms. + * (monitor_ops): Change lots of fields. Generalize some stuff. + Put all flags into flags word. Allow init to be a list of commands. + Add command for clearing all breakpoints, block fill, dumping all + registers. + * remote-est.c: Rewrite to use new monitor conventions. + * config/m68k/est.mt (TDEPFILES): Add monitor.o. + * config/m68k/tm-est.h: Set NUM_REGS to 18. + * testsuite/gdb.base/break.exp: Lots of cleanups. Use gdb_test + more thoroughly. + +Thu Mar 23 23:20:00 1995 Jeff Law (law@snake.cs.utah.edu) + + * somsolib.c (som_solib_add): Handle case where a shared library + referenced by a core file has sections without the SEC_ALLOC bit + set (eg stabs sections). + +Thu Mar 23 15:07:08 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * breakpoint.c (bpstat_do_actions): For each element in the bpstat + chain, do all the commands regardless of whether they run the + inferior. + +Wed Mar 22 19:17:06 1995 Doug Evans + + * mem-break.c (LITTLE_BREAKPOINT, BIG_BREAKPOINT): Define as + BREAKPOINT if mono-endian. + (break_insn): Deleted. + (big_break_insn, little_break_insn): Define. + (memory_insert_breakpoint): Handle bi-endian cpus. + (BREAKPOINT_LEN): Define. + (memory_remove_breakpoint): Use it. + (memory_breakpoint_size): Likewise. + +Tue Mar 21 17:03:17 1995 Kung Hsu + + * sparc-stub.c: add nop after 'bg good_wim'. + * sparcl-stub.c: ditto. + +Tue Mar 21 13:34:12 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (handle_command): Don't print TARGET_SIGNAL_0, + TARGET_SIGNAL_UNKNOWN, or TARGET_SIGNAL_DEFAULT. + +Mon Mar 20 10:09:59 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppab-nat.c (store_inferior_registers): Sync with HPUX version. + +Mon Mar 20 07:34:48 1995 Stu Grossman (grossman@cygnus.com) + + * hppah-nat.c (store_inferior_registers): Move check for + CANNOT_STORE_REGISTER to a better place. Fixes ptrace I/O errors + found by test suite during function calls, which attempts to write + unwritable registers. + +Sat Mar 18 02:02:24 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_symbol): If finishing a function without + known parameter type info, set that from parameter symbols. + Remove commented-out add_param_to_type support. + +Thu Mar 16 16:38:03 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (process_linenos): Make sure filename we pass to + start_subfile will cause deduce_language_from_filename to return + the correct thing. Reindent function to GNU standards. + +Thu Mar 16 15:54:00 1995 J.T. Conklin + + * nlm/gdbserve.c (handle_exception): #if out call to StopBell, + as it is not available on NetWare 3 or PIN. + * nlm/ppc.c (StopBell): Removed. + +Thu Mar 16 12:14:41 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (read_xcoff_symtab): When creating a dummy parameter + inferred from the traceback tags, give its type the name + "". + + * stabsread.c (rs6000_builtin_type): Recognize types -31 to -34. + +Wed Mar 15 15:09:29 1995 Stu Grossman (grossman@cygnus.com) + + * findvar.c (read_register_bytes write_register_bytes): Make + these routines much smarter about updating registers from the + target, only doing so when absolutely necessary. This really + speeds up register modification on some remote targets. + + * monitor.c: More cleanups. Get rid of monitor_load_ascii_srec. + BFD makes this unnecessary. Lots of debugging speedups. + * (expect): NULL terminate return string. + * (monitor_open monitor_supply_register parse_register_dump + monitor_wait monitor_fetch_register): Switch to using GNU regexp + library to parse multi-register displays. + * (monitor_read_memory): Read multiple bytes (up to 16) at once. + * (monitor_create_inferior): Call clear_proceed_status to make run + command notice first breakpoint. + * (monitor_load): Clean up. Reset inferior_pid, set pc to start + address and reset symbol table stuff to make loads put things into + a fresh state. + * (monitor_load_srec): Lower sleep time to 1 second. + + * monitor.h (struct monitor_ops): Add register_pattern and + supply_register to monitor_ops. + + * rom68k-rom.c: Add new support for handling register dumps. + * config/m68k/tm-m68k.h: Define D0_REGNUM and A0_REGNUM for register + dump handling. + +Wed Mar 15 15:18:27 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * utils.c, defs.h (putchar_unfiltered, fputc_unfiltered): Make + argument be an int, not a char. Using a prototype followed by an + old-style function definition in a case where an argument is + widened is a GCC-ism not supported by the native AIX compiler. + +Wed Mar 15 12:22:35 1995 J.T. Conklin + + * nlmstub.def: Removed, this was moved to nlm/gdbserve.def + long ago. + + * configure.in (alpha-*-netware*): Removed configuration. + * config/alpha/{alpha-nw.mt, gdbserve.mt, tm-alphanw.h}: Removed. + * nlm/{README-ALPHA-NETWARE, aio.h, alpha-io.S, alpha-regdef.h, + alpha.c, alpha.h, altdebug.h}: Removed. + + * nlm/gdbserve.c (main): Add support for processing BOARD= + argument, deprecate NODE=. + +Wed Mar 15 10:58:26 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * c-exp.y (yylex): Make an empty character constant an error. + +Tue Mar 14 15:00:54 1995 Per Bothner + + * valops.c (value_arg_coerce): Do possible value_coerce_array + before determining type argument to value_cast. + +Tue Mar 14 10:41:41 1995 Kung Hsu + + * remote-es.c: Replace ignore with 0. + +Tue Mar 14 05:52:36 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * valops.c (value_repeat), eval.c (evaluate_subexp_standard): + If VALUE_REPEATED is already set, just error out. + + * valops.c (value_cast, value_slice), parse.c (follow_types): Add + FIXME-type-allocation comments. + + * gdbtypes.h (struct type): Fix comment about what units the + TYPE_LENGTH is in. + +Mon Mar 13 18:27:25 1995 Stan Shebs + + * ch-valprint.c (annotate.h): Include. + * eval.c (evaluate_subexp_standard): Remove unused variable. + (calc_f77_array_dims): Add parens to expression. + * f-exp.y (yylex): Add parens to expression, remove unused label. + * f-lang.h (calc_f77_array_dims): Declare. + * f-valprint.c (f_val_print): Remove unused variables. + +Mon Mar 13 15:25:47 1995 Jim Kingdon + + * alpha-tdep.c (find_proc_desc): If pdr.framereg field is -1, don't + use the PDR, just examine prologues instead. + +Fri Mar 10 16:13:18 1995 Kung Hsu + + * config/arc/tm-arc.h: Change arc register names. + +Fri Mar 10 02:49:40 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Fix problems with infinite recursion when printing a class + that contains a static instance of the class. + * cp-valprint.c (dont_print_vb_obstack): Renamed from + dont_print_obstack, made static. + (dont_print_statmem_obstack): New obstack, controls printing + of static member classes. + (_initialize_cp_valprint): Initialize it. + (cp_print_static_field): New function, handles printing of + static members. + (cp_print_value_fields): New parameter dont_print_statmem to + handle recursive printing of static member classes, use + cp_print_static_field to handle printing of static members. + * c-valprint.c (cp_print_value_fields): Update prototype and + call to include additional dont_print_statmem parameter. + * c-valprint.c, f-valprint.c (dont_print_obstack): Remove unused + extern declaration. + + * alpha-tdep.c, findvar.c, infptrace.c: Include . + + * config/alpha/tm-alpha.h (FRAME_FIND_SAVED_REGS): Call + alpha_find_saved_regs if fi->saved_regs is still NULL. + + * elfread.c (elf_symtab_read): Ensure that the filename field + of a minsym is nonempty. Ignore solib trampoline symbols from + the main symbol table, they might have a bogus value. + + * procfs.c (set_proc_siginfo), config/alpha/alpha-osf2.mh: + Fix typos in comments. + +Thu Mar 9 17:19:47 1995 Jim Kingdon + + * mdebugread.c (parse_symbol, psymtab_to_symtab_1): Initialize + pdr.framereg field of MIPS_EFI_SYMBOL_NAME symbol to -1. That way + we know whether the PDR ever got set. + * mips-tdep.c (find_proc_desc): If pdr.framereg field is -1, don't + use the PDR, just examine prologues instead. + +Wed Mar 8 23:35:10 1995 Jeff Law (law@snake.cs.utah.edu) + + * somsolib.c (som_solib_section_offsets): Get offset of text + section right. + +Wed Mar 8 16:12:21 1995 Stu Grossman (grossman@cygnus.com) + + + * source.c (forward_search_command reverse_search_command): Set + convenience variable $_ to be the line # of the match. + * symtab.c (decode_line_1): Allow convenience variables to be + used in line specs (for breakpoints and such). + +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 + into monitor.c. + * monitor.c (monitor_create_inferior): Allow run command to start + program. + + * monitor.c (monitor_load): Set PC to start address when done + loading. + + * 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 + unused routines. Fix bug with wrong number of args to error(). + + * main.c (main): Don't start up GUI when running under gdb mode + in emacs. + + * 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 + (rom68k) target work right. + * 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-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 + putc_unfiltered (it's superfluous). + + * 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) + + * valops.c (value_cast): Don't use backslash newline--pre-ANSI + compilers (such as SunOS4 /bin/cc) don't generally support it + except in some contexts. + +Fri Mar 3 17:42:48 1995 Per Bothner + + * valops.c (value_cast): Check for cast to array type *before* + we coerce array to pointer (in case arg2 is already array). + + * valops.c (call_function_by_hand): Set using_gcc to 2 if using + gcc2. Needed for REG_STRUCT_HAS_ADDR to work on sparc. + Also check REG_STRUCT_HAS_ADDR for union, array and string types. + + * valops.c (call_function_by_hand): Re-arrange code for pushing + paramaters on the stack so we can do better STACK_ALIGN. + + * valops.c (call_function_by_hand): Call error if the number + of arguments is fewer than parameter types in function type. + +Fri Mar 3 17:13:05 1995 Doug Evans + + * sparc-tdep.c (sparc_extract_struct_value_address): Move + sparc64 support to here. + (sparc64_extract_struct_value_address): Deleted. + (dump_ccreg): Add a prototype so long long arg -> int. + * sparc/tm-sp64.h (USE_STRUCT_CONVENTION): Define. + (EXTRACT_STRUCT_VALUE_ADDRESS): Delete. + +Fri Mar 3 15:12:12 1995 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (hpread_record_lines): New argument "offset". All + callers changed. Use it to handle dynamic address relocation. + (hpread_build_psymtabs): Adjust texthigh as we read each function + debug symbol. Fix computation of texthigh. + (hpread_read_subrange_type): Work around macro bugs in HP's + compilers. + (hpread_process_one_debug_symbol): Correctly map source lines. + + * somread.c (check_strange_names): Filter names emitted by the HP + compiler when generating PIC code. + + * valops.c (value_struct_elt_for_reference): Work around macro + bugs in HP's compilers. + * c-exp.y (block): Likewise. + +Fri Mar 3 12:27:28 1995 Jim Kingdon + + * rs6000-tdep.c (push_dummy_frame): Fix order of arguments to + store_address. + + * utils.c [_AIX]: Include stddef.h instead of #defining size_t. + +Fri Mar 3 12:33:24 1995 Michael Meissner + + * rs6000-tdep.c (skip_prologue): Skip multiple stores of the saved + registers that GCC emits on the PowerPC by default in addition to + the store multiple instruction used on the Power series. + +Fri Mar 3 00:54:58 1995 Doug Evans + + * sparc-tdep.c (decode_asi): New function. + (sparc_print_register_hook): Pretty print more v9 registers. + * sparc/tm-sp64.h (REGISTER_NAMES): Fix some typos. + +Thu Mar 2 22:20:22 1995 Doug Evans + + * dwarfread.c (struct dieinfo): Use CORE_ADDR for at_{low,high}_pc. + (target_to_host): Change result type to CORE_ADDR. + +Thu Mar 2 15:13:04 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * rs6000-tdep.c: Fix byte-swapping sins. + +Thu Mar 2 16:48:45 1995 Michael Meissner + + * rs6000-tdep.c (branch_dest): Minor code cleanup, don't share + code between branch unconditional and branch conditional cases. + +Wed Mar 1 09:41:26 1995 Doug Evans + + Various changes for sparc64. + * sparc-tdep.c (NUM_SPARC_FPREGS): Define. + (SPARC_INTREG_SIZE): Define. + (*): Use SPARC_INTREG_SIZE instead of REGISTER_RAW_SIZE (intreg) + where appropriate. + (enum branch_type): New value `done_retry'. + (isbranch): Renamed from isannulled. All callers changed. + Support new sparc64 branch insns. + (single_step): Handle done_retry. + (sparc_extract_struct_value_address): Don't assume 4 byte regs. + (get_saved_register): Likewise. + (sparc_push_dummy_frame): Likewise. + (sparc_frame_find_saved_regs): Likewise. + (sparc_pop_frame): Likewise. Don't refer to FPS_REGNUM, CPS_REGNUM, + or PS_REGNUM if not sparc64. sparc64 has 64 fp regs. + (sparc64_extract_struct_value_address): New function. + (dump_ccreg, sparc_print_register_hook): Likewise. + * sp64-tdep.c: Deleted. + * sparc/tm-sp64.h (GDB_TARGET_IS_SPARC64): Define. + (NUM_REGS): Reduce by 2, cle/tle are in the pstate reg. + (CC_HAS_LONG_LONG): Define. + (REGISTER_NAMES): Delete cle/tle and reorganize. + (PS_REGNUM, FPS_REGNUM, CPS_REGNUM): Delete, they're ifdef'd out of + sparc-tdep.c now. + (REGISTER_BYTES): Update. + (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Delete. + (EXTRACT_RETURN_VALUE): Delete. Use definition in tm-sparc.h. + (NO_SINGLE_STEP): Likewise. + * sparc/tm-sparc.h (EXTRACT_VALUE_RETURN): Don't assume 4 byte regs. + * sparc/sp64.mt: Move simulator support ... + * sparc/sp64sim.mt: ... to here. + +Wed Mar 1 13:14:42 1995 Kung Hsu + + * remote-vx960.c: new file for target specific register packaging. + * remote-vx68.c: ditto. + * config/i960/vxworks960.mt: add remote-vx960.o. + * config/m68k/vxworks68.mt: add remote-vx68.o. + +Wed Mar 1 13:42:49 1995 Michael Meissner + + * remote.c (remote_wait): Make calls to strtol be type correct by + passing the address of a char * pointer instead of an unsigned + char *. + + * rs6000-tdep.c (push_dummy_frame): Cast sp to char * when calling + write_memory to make things type correct. + +Wed Mar 1 12:17:31 1995 Michael Meissner + + * ch-exp.y, c-exp.y, f-exp.y, m2-exp.y (yy defines): Support the + standard Linux yacc by adding more names to be redefined with a + prefix. + +Tue Feb 28 22:55:47 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hppa-tdep.c (pa_print_registers), monitor.c: Use + extract_unsigned_integer and friends, not SWAP_TARGET_AND_HOST. + * defs.h, findvar.c: Move SWAP_TARGET_AND_HOST back to findvar.c. + Rename it to SWAP_FLOATING to make it clear it is no longer for + integers. + +Tue Feb 28 14:38:39 1995 Kung Hsu + + * defs.h (SWAP_TARGET_AND_HOST): check endianess at runtime not + compile time. + * arc-tdep.c (_initialize_arc_tdep): set tm_print_insn according to + processor. + + * vx-share/ptrace.h: merge in WRS new ptrace requests. + + * defs.h: fix a syntax error. + + * a29k-tdep.c (get_longjmp_target): add this function, from WRS. + * remote-vx.c: move read_register and write_register out to + target specific files. + * remote-vx29k.c (get_fp_contnets): add this function, from WRS. + + * defs.h: define SWAP_TARGET_AND_HOST macro. + * findvar.c, monitor.c, hppa-tdep.c: remove definition of + SWAP_TARGET_AND_HOST. + +Tue Feb 28 08:31:40 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * alpha-tdep.c (find_proc_desc): Only attempt to set + PROC_LOCALOFF (found_heuristic) if found_heuristic is non-NULL. + +Mon Feb 27 11:56:32 1995 Stan Shebs + + * monitor.c: General gcc -Wall lint cleanup and reformat. + (monitor_command): If no args, send an empty command. + +Thu Feb 23 21:07:25 1995 Stu Grossman (grossman@cygnus.com) + + * monitor.c (monitor_load_ascii_srec): Add a one second sleep + after send LOAD_CMD to prevent loss of first S-record. + +Tue Feb 21 20:48:42 1995 Per Bothner + + * valops.c (call_function_by_hand): Set using_gcc to 2 if gcc-2. + Call error if too few arguments. + If REG_STRUCT_HAS_ADDR (structs passed by invisible reference), + copy and convert to reference *before* we calculate alignment. + Also, make sure structs allocated for return values and invisible + reference don't violate STACK_ALIGN. + +Tue Feb 21 23:29:59 1995 Per Bothner + + * ch-exp.y (expression_conversion): Recognize 'ARRAY () TYPE (EXPR)' + (same as C's '(TYPE[])EXPR') + +Tue Feb 21 11:47:26 1995 Stan Shebs + + * top.c (print_gdb_version): Update the year. + +Sun Feb 19 14:31:57 1995 Jim Kingdon + + * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Look for newlib in + `..' not in `../..'. + +Sun Feb 19 11:05:28 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * procfs.c (unconditionally_kill_inferior): Don't issue a PIOCKILL + in addition to a PIOCSSIG to kill the inferior. + +Thu Feb 16 15:06:12 1995 Per Bothner + + * parse.c (follow_types): Given (TYPE[]) (i.e. with no length), + create a 0-length array type, and set BOUND_CANNOT_BE_DETERMINED. + * valops.c (value_cast): If a cast like (TYPE[])VALUE (i.e. array + of unknown length) use sizeof(VALUE)/sizeof(TYPE) as the length. + * c-typeprint.c (c_type_print_varspec_suffix): If array length + is 0, print it, but not if upper_bound is BOUND_CANNOT_BE_DETERMINED. + +Thu Feb 16 16:06:50 1995 Michael Meissner + + * dcache.c (insque, remque): Rewrite Linux support. + +Wed Feb 15 12:33:20 1995 Michael Meissner + + * config/powerpc/tm-ppc-eabi.h (TEXT_SEGMENT_BASE): Define as 1. + + * dcache.c (insque, remque): If compiling in standard C on Linux, + protect insque and remque with macros to cast the pointer + arguments to the proper type. + +Tue Feb 14 17:16:41 1995 Stu Grossman (grossman@cygnus.com) + + * annotate.c, breakpoint.c, defs.h, top.c: Replace + enable/disable_breakpoint_hook with modify_breakpoint_hook. + +Tue Feb 14 16:58:07 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * expression.h: Move declaration of evaluate_subexp_with_coercion + from here... + * value.h: ...to here. + * expression.h: Don't include value.h + +Tue Feb 14 11:46:07 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * expression.h: Move include of value.h until after declaration of + enum exp_opcode. + +Sun Feb 12 13:47:30 1995 Stan Shebs + + * remote-e7000.c: Comprehensive cleanup; removal of dead code, + simplify code, declare things, format to standards. + (inferior.h, value.h, command.h, remote-utils.h): Include. + (e7000_login): Rename to e7000_login_command. + (e7000_ftp): Rename to e7000_ftp_command. + (e7000_drain): Rename to e7000_drain_command. + + * irix5-nat.c (string.h): Include near beginning of file. + +Sun Feb 12 12:36:38 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * valops.c (value_arg_coerce): Use VALUE_TYPE not SYMBOL_TYPE on + arg, it is a value not a symbol. + + gcc -Wall lint: + * eval.c: Move declaration of evaluate_subexp_with_coercion from here.. + * expression.h: ..to here. + * expression.h: Include value.h. + * ch-lang.c (evaluate_subexp_chill): Add default case in switch. + +Sun Feb 12 11:03:47 1995 Per Bothner + + * language.h (struct language_defn): New field evaluate_exp. + * c-lang.c (c_language_defn, cplus_language_defn, asm_langauge_defn), + f-lang.c (f_language_defn), language.c (unknown_language_defn, + auto_language_defn, local_language_defn), m2-lang.c (m2_language_defn): + Set evaluate_exp to evaluate_subexp_standard. + * ch-lang.c (evaluate_subexp_chill): New function. Chill-specific + support for MULTI_SUBSCRIPT. + (chill_language_defn): Set evaluate_exp to evaluate_subexp_chill. + * eval.c (enum noside): Move from here .... + * expression.h (enum noside): ... to here. + (evaluate_subexp_standard): New prototype. + * eval.c (evaluate_subexp): Renamed to evaluate_subexp_standard. + Removed lo-longer-needed test for chill_varying_type. + (evaluate_subexp): New. Calls exp->language_defn->evaluate_exp. + + * ch-exp.y (maybe_expression_list): New non-terminal. + (primitive_value): Allow empty parameter list. + +Sun Feb 12 10:02:16 1995 Per Bothner + + * buildsym.c (finish_block): If finishing a function without known + parameter type info, set that from parameter symbols. + * c-typeprint.c (c_type_print_varspec_suffix): For TYPE_CODE_FUNC, + print parameter types, if available. + * ch-typeprint.c (chill_type_print_base): Likewise. + + * gdbtypes.h (struct type): Remove function type field. + (TYPE_FUNCTION_TYPE): Remove macro. We can't as simply re-use + function types now that we're also storing parameter types. + And the payoff is much less. + * gdbtypes.c (make_function_type): Don't use/set TYPE_FUNCTION_TYPE. + (recursive_dump_type): Don't print TYPE_FUNCTION_TYPE. + * dwarfread.c (read_subroutine_type): Don't set TYPE_FUNCTION_TYPE. + + * valops.c (value_arg_coerce): Now takes param_type argument. + (call_function_by_hand): Convert arguments with value_arg_coerce + early, and overwrite original args with converted args. + No longer need multiple calls to value_arg_coerce. + (value_arg_push): Removed. + * hppa-tdep.c (hppa_push_arguments): No longer call value_arg_coerce. + * mips-tdep.c (mips_push_arguments): Likewise. + * alpha-tdep.c (alpha_push_arguments): Likewise. + * rs6000-tdep.c (push_arguments, ran_out_of_registers_for_arguments): + Likewise. + * value.h (value_arg_coerce): Remove declaration. (It's now static.) + + * valops.c (value_cast): Do COERCE_VARYING_ARRAY after COERCE_REF. + + * symtab.c (add_param_to_type): Remove (commented-out) function, + since that functionality has been re-written. + * coffread.c: Remove commented-out add_param_to_type support. + * mdebugread.c (parse_symbol): Likewise. + * stabsread.c (define_symbol): Likewise. + +Sun Feb 12 09:03:47 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * buildsym.c (start_subfile): Set language for f2c like for cfront. + +Thu Feb 9 20:20:11 1995 Rob Savoye + + * op50n-rom.c: Add the control registers. + +Thu Feb 9 15:46:39 1995 Stan Shebs + + * Makefile.in (CLIBS): Add $(LIBIBERTY) before, in addition to + after, any host/target/native libraries. + * dcache.c (insque, remque): Remove declarations. + * gdbtypes.h (type_code): Remove trailing comma. + + From Peter Schauer: + * xcoffread.c (read_xcoff_symtab) [C_HIDEXT]: Move #ifdef + STATIC_NODEBUG_VARS inside case. + +Thu Feb 9 07:43:41 1995 Jim Kingdon + + * config/sparc/tm-sun4sol2.h: Define STATIC_TRANSFORM_NAME. + * partial-stab.h: Call it. + * stabsread.c (define_symbol) [STATIC_TRANSFORM_NAME]: Call + STATIC_TRANSFORM_NAME to get the name and use minimal symbols to + get the address. + * sparc-tdep.c (solaris_static_transform_name): New function. + +Thu Feb 9 12:09:09 1995 Jeff Law (law@snake.cs.utah.edu) + + * somread.c (som_symtab_read): Handle dynamic relocation for both + text and data symbols. + (som_symfile_offsets): If objfile is a shared library, then get + text and data offsets from the shared library structures. + * somsolib.c (som_solib_add): Copy the bfd pointer from the + objfile rather than reopening the file again. + (som_solib_section_offsets): New function. + * somsolib.h (som_solib_section_offsets): Declare. + +Wed Feb 8 20:32:18 1995 Jim Kingdon + + * config/sparc/tm-sun4sol2.h, dbxread.c: Rename + N_SO_ADDRESS_MAYBE_MISSING to SOFUN_ADDRESS_MAYBE_MISSING. + * symtab.h (minimal_symbol) [SOFUN_ADDRESS_MAYBE_MISSING]: Add + filename field. + * elfread.c (record_minimal_symbol_and_info), + minsyms.c, symtab.h (prim_record_minimal_symbol_and_info): Return + newly created symbol. + * elfread.c (elf_symtab_read) [SOFUN_ADDRESS_MAYBE_MISSING]: + Set filename field of minimal symbol. + * symmisc.c (dump_msymbols) [SOFUN_ADDRESS_MAYBE_MISSING]: + Print filename field. + * minsyms.c, symtab.h (lookup_minimal_symbol): New arg sfile. + * symm-tdep.c, somsolib.c, hppa-tdep.c, c-exp.y, f-exp.y, + m2-exp.y, nindy-tdep.c, m3-nat.c, irix5-nat.c, hpread.c, + os9kread.c, breakpoint.c, alpha-tdep.c, valops.c, symtab.c, + printcmd.c, dbxread.c: Change callers to pass NULL for sfile. + * dbxread.c (process_one_symbol) [SOFUN_ADDRESS_MAYBE_MISSING]: + Find address of function from minimal symbols. + * partial-stab.h, case 'f', 'F': Call find_stab_function_addr + instead of getting pst->textlow from the stab. + * minsyms.c (find_stab_function_addr): New function. + +Wed Feb 8 19:19:56 1995 Rob Savoye + + * monitor.c: Fix so all the output shows up in the GUI command + window. + +Mon Feb 6 18:50:59 1995 Stan Shebs + + * i386-tdep.c (_initialize_i386_tdep): Put void decl on separate + line, so init.c generation works correctly. + * arc-tdep.c (_initialize_arc_tdep): Ditto. + +Mon Feb 6 14:44:36 1995 Rob Savoye + + * config/mips/idt.mt: Add support for the lsi33k target. + * config/sparc/sun4sol2.mh: Add support for ser-tcp. + * array-rom.c: Finish the rest of the support commands needed by + GDB. + * mips-tdep.c: Add LSI33k register names and processor type. + +Sat Feb 4 13:29:52 1995 Stan Shebs + + * config/m68k/est.mt (TDEPFILES): Remove m68k-pinsn.o. + +Fri Feb 3 11:19:20 1995 Stu Grossman (grossman@cygnus.com) + + * core.c (dis_asm_read_memory), defs.h, top.c: Get rid of + dis_asm_read_memory_hook. We can now call the disassemblers + directly and have no need for this hook anymore. + * defs.h, printcmd.c: Make print_insn be static. + + * ser-go32.c (dos_comisr): Make this 8 bit clean. + * (dos_open dos_close): Allow multiple opens to the same device. + Use a ref count to prevent unwanted deallocations. + * sparcl-tdep.c: Put #ifdefs around all socket stuff to make GO32 + happy. + * (sparclite_ops): Switch to download_stratum. + * target.h (enum strata): Move download_stratum before + process_stratum so that executable targets get pushed on top of + download targets. + +Thu Feb 2 19:02:45 1995 Rob Savoye + + * array-rom.c: Remove the non GDB remote protocol config stuff. + + * monitor.c: All reading/writing functions for memory and + registers work. + +Thu Feb 2 16:11:04 1995 Kung Hsu + + * config/arc/arc.mt: new target makefile for arc processor. + * config/arc/tm-arc.h: new target header for arc processor. + * config/arc/go32.mh: new go32 host makefile for arc processor. + * config/arc/xm-go32.h: new go32 host header for arc processor. + * arc-tdep.c: new target dependent codes for arc processor. + +Thu Feb 2 13:58:40 1995 Stan Shebs + + * Makefile.in (VERSION): Bump to 4.13.2. + +Thu Feb 2 07:27:56 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + Fix compiler warnings: + * remote-e7000.c (printf_e7000debug): Rename to puts_e7000debug + and have the caller do the sprintf. Saves us from varargs hell. + (normal): Define before use. + * remote-e7000.c: Reindent a few things. + +Wed Feb 1 21:16:42 1995 Per Bothner + + * f-typeprint.c (f_type_print_varspec_suffix): Print array index + ranges in reverse order. + * f-valprint.c (f77_create_arrayprint_offset_tbl): Fix calculation. + + * eval.c (evaluate_subscript): Don't call value_subscript, since + it adjusts for lower bound and enforces ranges. + + * expression.h (exp_code): Remove MULTI_F77_SUBSCRIPT, OP_F77_SUBSTR. + * eval.c, parse.c: Removed uses of removed opcodes. + * eval.c (evaluate_subexp): Clean up handling of + OP_UNDETERMINED_ARGLIST (no backtracking, more general). + + * f-valprint.c (f_val_print): Print TYPE_CODE_STRING using + LA_PRINT_STRING, and not val_print_string (which reads from inferior). + + * ch-lang.c (chill_is_varying_struct), ch-lang.h: Remve function + duplicate function made redundant by chill_varying_type. + + Re-write of f77 string and complex number support: + + * language.h (struct language_defn): New fields string_lower_bound + and string_char_type. + * c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn), + language.c (unknown_language_defn, auto_language_defn, + local_language_defn), m2-lang.c (m2_language_defn), f-lang.c + (f_language_defn), ch-lang.c (chill_language_defn): Set new fields. + * gdbtypes.c (create_string_type): Use new string_char_type field. + * valops.c (value_string): Use new string_lower_bound field. + + * defs.h (TARGET_COMPLEX_BIT, TARGET_DOUBLE_COMPLEX_BIT): Removed. + * f-lang.c (f_create_fundamental_type, _initialize_f_language), + m2-lang.c (m2_create_fundamental_type), + gdbtypes.c (_initialize_gdbtypes): Set TYPE_TARGET_TYPE of complex + types. Set their TYPE_CODEs to TYPE_CODE_COMPLEX. + * mdebugread.c (mdebug_type_complex, mdebug_type_double_complex): + Removed. Use builtin_type_complex and builtin_type_double_complex. + + * gdbtypes.h (enum type_code): Removed TYPE_CODE_LITERAL_STRING + and TYPE_CODE_LITERAL_COMPLEX. + * c-typeprint.c, f-typeprint.c, f-valprint.c, eval.c: Removed uses of + TYPE_CODE_LITERAL_STRING and TYPE_CODE_LITERAL_COMPLEX. + * gdbtypes.c, gdbtypes.h (f77_create_literal_complex_type, + f77_create_literal_string_type): Removed. + * value.h (VALUE_LITERAL_DATA, VALUE_SUBSTRING_MEMADDR, + VALUE_SUBSTRING_MYADDR): Removed. + + * expression.h (enum exp_opcode): Rename OP_F77_LITERAL_COMPLEX to + OP_COMPLEX. + * parse.c: Update accordingly. + + * f-valprint.c (f77_print_cmplx): Removed. + (f_val_print case TYPE_CODE_COMPLEX): Re-write to use print_floating. + + * f-exp.y (STRING_LITERAL): Use OP_STRING instead of OP_ARRAY. + * eval.c (evaluate_subexp): For case OP_ARRAY, don't call + f77_value_literal_string. + * valops.c, value.h (f77_value_literal_string, f77_value_substring, + f77_assign_from_literal_string, f77_assign_from_literal_complex): + Removed. + (value_assign): No longer need to handle literal types. + * valops.c (f77_value_literal_complex), value.h: Re-written and + renamed to value_literal_complex. Last arg is now a (complex) type. + * valops.c (f77_cast_into_complex): Re-written and renamed to + cast_into_complex. + * eval.c (evaluate_subexp): Update accordingly. + + * ch-valprint.c (chill_val_print): On TYPE_CODE_STRING, don't + print address for non-'s'-formats. + * ch-typeprint.c, ch-valprint.c: Use chill_varying_type instead + of chill_is_varying_struct. + +Wed Feb 1 13:27:33 1995 Stan Shebs + + gcc -Wall lint. + * alpha-tdep.c (alpha_in_lenient_prologue): Comment out. + (after_prologue): Remove unused local b. + * procfs.c (thread.h): Include. + (pr_flag_table, pr_why_table, faults_table, siginfo_table): Use + nested braces in initializer. + * top.c (initialize_targets, initialize_utils): Declare. + (locate_arg, insert_args): Add parens around tested assignments. + * remote-utils.c (sr_scan_args): Remove decl of strtol. + * remote.c (thread.h): Include. + (remote_wait): Remove unused local p2. + * sparc-tdep.c (fill_gregset, fill_fpregset): Remove decls of + registers array. + + defs.h (stdlib.h): Include. + (exit, perror, atoi, qsort, memcpy, memcmp): Don't declare. + (fclose, atof, malloc, realloc, free, strchr, strrchr, strstr, + strtok, strerror): Don't specify parameter types in declaration. + +Wed Feb 1 12:23:57 1995 Per Bothner + + * ch-exp.y (value_string_element, string_primitive_value, + start_element, left_element, right_element, slice_size, + lower_element, upper_element, first_element): Removed. + (value_string_slice, value_array_slice): Replaced by ... + (slice): New non-terminal, with working slice support. + (primitive_value_lparen, rparen): New non-terminals. + (maybe_tuple_elements): New non-terminal, to allow empty tuples. + (idtokentab): Added "up". + + * value.h (COERCE_VARYING_ARRAY): New macro. + * valarith.c (value_subscript): Use it. + * valops.c (value_cast): Likewise. Also, do nothing if already + correct type, and allow converting from/to range to/from scalar. + + * valops.c, value.h (varying_to_slice, value_slice): New functions. + * eval.c (OP_ARRAY): Add cast for array element. + * expression.h (TERNOP_SLICE, TERNOP_SLICE_COUNT): New exp_opcodes. + * valops.c (chill_varying_type): Moved function frp, here ... + * gdbtypes.c (chill_varying_type), gdbtypes.h: ... to here. + * parse.c (length_of_subexp, prefixify_subexp): Add support + for TERNOP_SLICE, TERNOP_SLICE_COUNT. + * expprint.c (print_subexp, dump_expression): Likewise. + * eval.c (evaluate_subexp): Likewise. + + * eval.c (evaluate_subexp case MULTI_SUBSCRIPT): Don't call + value_x_binop on a Chill varying string. + +Tue Jan 31 13:51:53 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m68k/monitor.mt, + config/pa/{hppabsd.mt,hppahpux.mt,hppaosf.mt,hppapro.mt}: Put + depfiles in TDEPFILES not REMOTE_O. + +Tue Jan 31 11:14:44 1995 Steve Chamberlain + + From nigel@algor.co.uk. + * ser-go32.c (dos_close): Don't crash if scb null. + (dos_sendbreak): New function. + (dos_ops): Point to dos_sendbreak. + (dos_info): Calculate COM number correctly. + +Tue Jan 31 09:40:11 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * xcoffread.c (process_xcoff_symbol): Use new variables + func_symbol_type and var_symbol_type as type of functions and + variables which don't have any stabs associated with them. + Reindent most of function. + (_initialize_xcoffread): Initialize *_symbol_type. + + * xcoffread.c (read_xcoff_symtab): Reindent most of function. + Put C_HIDEXT symbols in the minimal symbols, rather than ignoring + them (this part commented out as I didn't quite get it to work). + (cs_to_section, find_targ_sec): New functions, to support above code. + * xcoffread.c (RECORD_MINIMAL_SYMBOL): Only skip '.' if it is + actually present. + +Mon Jan 30 17:34:24 1995 Stu Grossman (grossman@cygnus.com) + * sparcl-tdep.c: Add `sparclite' target for doing serial and udp + downloads to SPARClite demo boards. + +Sun Jan 29 09:43:22 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * remote.c, remote-pa.c: Remove #if 0'd icache code. It has had + no hope of working as is for a long time (in particular, shebs' 27 + Jan 95 change confuses the issue further--target_read_memory and + xfer_core_file do *not* do the same thing in this context). + Revise comment. + +Sat Jan 28 13:40:46 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * elfread.c (elf_symtab_read): Do not test BSF_GLOBAL for + procedure linkage table symbols, it is no longer set due to the + Jan 6 BFD change in bfd/elfcode.h. + +Fri Jan 27 17:08:06 1995 Stan Shebs + + * top.c (use_windows): Clarify comments. + + * convex-tdep.c (xfer_core_file): Comment out. + * config/convex/tm-convex.h (XFER_CORE_FILE): Remove. + * remote.c, remote-pa.c (remote_fetch_word): Change xfer_core_file + references to target_read_memory. + * gdbcore.h (xfer_core_file, core_open, core_detach): Remove + declarations. + * corelow.c (core_open, core_detach): Make static. + + * arm-tdep.c: Make it compile. + (exec_file_command, xfer_core_file): Comment out. + (arm_print_insn): Remove, now in libopcodes. + (skip_prologue): Comment out most of body. + (arm_frame_find_saved_regs): Move here from tm-arm.h. + (_initialize_arm_tdep): Set tm_print_insn. + * config/arm/tm-arm.h: Remove old refs to first_object_file_end. + (XFER_CORE_FILE): Remove. + (FRAME_FIND_SAVED_REGS): Call arm_frame_find_saved_regs. + +Fri Jan 27 08:48:28 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (CHILL_LIB): Define as in testsuite/Makefile.in. + +Thu Jan 26 18:24:41 1995 Jim Kingdon + + * symtab.c (find_pc_line): When subtracting one to get a line + number, make sure not to end up with zero. + + * remote-vx.c: Revert all of Kung's changes of 16 Jan. The + problems with those changes were (a) the file didn't compile, (b) + they changed memset to bzero--memset is correct, (c) they took out + code to deal with boards lacking floating point, (d) who knows + what I didn't discover in a quick read. + +Thu Jan 26 17:32:54 1995 Stu Grossman (grossman@cygnus.com) + + * sparcl-tdep.c: Clean up formatting and indentation. + +Thu Jan 26 10:49:59 1995 Steve Chamberlain + + * remote-hms.c (hms_ops): Change ref of hr_load_image + to gr_load_image. + (dcache_flush, dcache_hit, dcache_value, dcache_fetch, + dcache_poke, dcache_init): Deleted. + (hms_open, hms_resume, hms_fetch_word, hms_store_word): + Use dcache routines provided by remote-util.h + +Thu Jan 26 12:08:31 1995 Michael Meissner + + * configure.in: Add support for powerpc-*-eabi. + + * powerpc/tm-ppc-eabi.h, powerpc/pcc-eabi.mt: New files for + PowerPC support. + +Wed Jan 25 18:13:14 1995 Per Bothner + + * language.h (struct language_defn): New field c_style_arrays. + * language.c (unknown_language_defn, auto_language_defn, + local_language_defn), c-lang.c (c_language_defn, cplus_language_defn, + asm_language_defn): Set c_style_arrays to true. + * m2-lang.c (m2_language_defn), ch-lang.c (chill_language_defn), + f-lang.c (f_language_defn): Set c_style_arrays to false. + * valops.c (value_string): If c_style_array is not set, + allocate string in gdb (not inferior) using allocate_value. + + * value.h (COERCE_ARRAY), valops.c (value_addr, value_arg_coerce): + Only call value_coerce_array if current_language->c_style_arrays. + * values.c: Add #include "language.h". (Needed for COERCE_ARRAY.) + + * valops.c (chill_varying_type): New predicate. + * valops.c (value_cast): Support assigning a fixed string or array + to a variable string/array structure. + + * valarith.c (value_subscripted_rvalue): Extra parameter lowerbound. + Check index>=lowerbound, and then add lowerbound to index here, + instead of in caller. Generalize to arbitrary lval_types. + (value_subscript): Use enhanced value_subscripted_rvalue if + c_style_arrays is false (and index is in range). + + +Wed Jan 25 18:13:14 1995 Per Bothner + + * eval.c (evaluate_subexp case OP_ARRAY): Fix calls to memset: + TYPE_LENGTH is length in bytes, not bits. + +Wed Jan 25 08:19:35 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * infrun.c (proceed): Flush stdout before resuming inferior. + * infcmd.c (step_1), annotate.c (annotate_starting): + Don't bother to flush here. + +Wed Jan 25 01:11:21 1995 Jeff Law (law@snake.cs.utah.edu) + + * hpread.c (hpread_process_one_debug_symbol): Fix lines garbled + by an ill-advised global search and replace. + +Mon Jan 23 13:11:46 1995 Per Bothner + + Add support for Chill bitstring literals (e.h. H'FF00'). + * ch-exp.y (match_bitstring_literal): Fix for proper endianness. + * expprint.c (print_subexp): Don't call error on OP_BITSTRING, + just print B''. + * gdbtypes.c (create_set_type): Fix bug in length calculation. + * valops.c, value.h (value_bitstring): New function. + * eval.c (evaluate_subexp): Implement support for OP_BITSTRING. + + * ch-typeprint.c (chill_type_print_base): For TYPE_CODE_FUNC, + check that return type is non-void, and print in proper Chill syntax. + +Mon Jan 23 12:20:34 1995 Rob Savoye + + * Makefile.in: Remove references to remote-mon.c. + * remote-mon.c: remove. Replaced by rom68k-rom.c. + * rom68k-rom.c: Support for Rom68k monitor. + +Mon Jan 23 10:50:57 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (CHILL_FOR_TARGET): Update -L argument to point to + gcc/ch/runtime not chillrt, since that is where the chill runtime + lives now. + +Mon Jan 23 00:06:57 1995 Steve Chamberlain + + * remote-hms.c (hms_load): Delete. + (target_ops): Use hr_load_image. + + * remote-e7000.c, remote-z8k.c, remote-nindy.c (target_ops): + Define memory_insert/remove_breakpoint. + * xm-go32.h: Remove redundant SIGs. + +Thu Jan 19 20:26:58 1995 Steve Chamberlain + + * ser-go32.c: Rewritten by nigel@algor.co.uk. + +Fri Jan 20 15:23:55 1995 Per Bothner + + * expression.h (OP_LABELED): New operator, for Chill + labeled structre tuples. + * ch-exp.y (tuple_element, named_record_element, tuple_elements): + New non-terminals, to handle labeled structure tuples. + (tuple): Re-define using tuple_elements. + * eval.c (evaluate_labeled_field_init): New function, to handle + initialization of structure fields, possibly using OP_LABELED. + (evaluate_subexp): Use it. + * expprint.c (print_subexp case): For OP_ARRAY, use Chill syntax + for Chill. Handled OP_LABELED. + * parse.c (length_of_subexp, prefixify_subexp): Handle OP_LABELED. + + * eval.c (evaluate_subexp): Handle Chill Powerset tuples. + * valarith.c (value_bit_index): Just treat bitstring as represented + by an array of bytes. Alignment is handled by compiler. + +Wed Jan 18 19:00:29 1995 Stan Shebs + + * h8300-tdep.c (gdb_print_insn_h8300): Fix typo (&info -> info). + * sh-tdep.c (gdb_print_insn_sh): Ditto. + +Wed Jan 18 11:25:43 1995 Kung Hsu + + * remote-os9k.c (rombug_open): Fix a bug in exception handling + command. + * remote-os9k.c (rombug_write_inferior_memory): reset buffer after + write. + +Tue Jan 17 09:48:38 1995 Jim Kingdon + + * parse.c (_initialize_parse): Improve wording of names of + msym_*_symbol_type. + +Tue Jan 17 14:00:58 1995 Ian Lance Taylor + + * config/mips/tm-mips.h (enum mips_fpu_type): New enum. + (mips_fpu): Change type to enum mips_fpu_type. + (FIX_CALL_DUMMY): Handle mips_fpu == MIPS_FPU_SINGLE. + * mips-tdep.c (mips_fpu): Change type to enum mips_fpu_type. + Don't initialize. + (mips_fpu_string): New static variable. + (mips_push_dummy_frame): Handle mips_fpu == MIPS_FPU_SINGLE. + (mips_pop_frame): Likewise. + (mips_extract_return_value): Likewise. + (mips_store_return_value): Likewise. + (mips_set_fpu_command): New static function. + (mips_show_fpu_command): New static function. + (_initialize_mips_tdep): Change handling of set/show mipsfpu. + +Tue Jan 17 09:48:38 1995 Jim Kingdon + + * a29k-tdep.c (gdb_print_insn_a29k): Fix typo (&info -> info). + + * parse.c (write_exp_msymbol): Use new variables + msym_*_symbol_type as type of msymbol expression. + (_initialize_parse): Initialize them. + +Mon Jan 16 18:11:03 1995 Stan Shebs + + General cleanup and simplication of disassembler interface. + * a29k-pinsn.c, arm-pinsn.c, convex-pinsn.c, gould-pinsn.c, + hppa-pinsn.c, i386-pinsn.c, i960-pinsn.c, m68k-pinsn.c, + m88k-pinsn.c, mips-pinsn.c, ns32k-pinsn.c, pyr-pinsn.c, + rs6000-pinsn.c, sparc-pinsn.c, tahoe-pinsn.c, vax-pinsn.c: Remove. + * gould-tdep.c, ns32k-tdep.c, tahoe-tdep.c, vax-tdep.c: New files, + had been -pinsn.c files. + * Makefile.in (ALLDEPFILES): Remove removed files. + (a29k-pinsn.o, arm-pinsn.o, convex-pinsn.o, gould-pinsn.o, + hppa-pinsn.o, i386-pinsn.o, i960-pinsn.o, m68k-pinsn.o, + m88k-pinsn.o, mips-pinsn.o, ns32k-pinsn.o, pyr-pinsn.o, + rs6000-pinsn.o, sparc-pinsn.o, tahoe-pinsn.o, vax-pinsn.o): + Remove compile actions. + * arm-tdep.o, gould-tdep.o, ns32k-tdep.o, tahoe-tdep.o, + vax-tdep.o: Add compile actions. + * defs.h (tm_print_insn): New global. + * a29k-tdep.c (gdb_print_insn_a29k): New function. + (_initialize_a29k_tdep): Rename from _initialize_29k, + set tm_print_insn. + * alpha-tdep.c (print_insn): Remove. + (_initialize_alpha_tdep): Set tm_print_insn. + * arm-tdep.c (arm_print_insn): New function, was print_insn + in arm-pinsn.c. + * convex-tdep.c (convex_print_insn): New function, was print_insn + in convex-pinsn.c. + * h8300-tdep.c (print_insn): Remove. + (gdb_print_insn_h8300): New function. + (_initialize_h8300_tdep): New function. + * h8500-tdep.c (print_insn): Remove. + (_initialize_h8500_tdep): New function. + * hppa-tdep.c (_initialize_hppa_tdep): Set tm_print_insn. + * i386-tdep.c (_initialize_i386_tdep): New function. + * i960-tdep.c (mem, next_insn): New functions, were in + i960-pinsn.c. + (_initialize_i960_tdep): Set tm_print_insn. + * m68k-tdep.c (_initialize_m68k_tdep): New function. + * m88k-tdep.c (_initialize_m88k_tdep): New function. + * mips-tdep.c (gdb_print_insn_mips): New function. + (_initialize_mips_tdep): Set tm_print_insn. + * pyr-tdep.c (pyr_print_insn): New function, was print_insn + in pyr-pinsn.c. + * rs6000-tdep.c (_initialize_rs6000_tdep): New function. + * sh-tdep.c (print_insn): Remove. + (gdb_print_insn_sh): New function. + (_initialize_sh_tdep): Set tm_print_insn. + * sparc-tdep.c (_initialize_sparc_tdep): New function. + * w65-tdep.c (print_insn): Remove. + (_initialize_w65_tdep): New function. + * z8k-tdep.c (print_insn): Remove. + (gdb_print_insn_z8k): New function. + (_initialize_z8k_tdep): Set tm_print_insn. + * printcmd.c (print_insn): New function, generic disassembler. + * config/*/*.mt (TDEPFILES): Remove refs to *-pinsn.o. + +Mon Jan 16 15:43:29 1995 Kung Hsu + + * Makefile.in: add new files remote-vx29k.c, config/a29k/tm-vx29k.h, + and config/a29k/vx29k.mt. + * configure.in: add new configuration a29k-*-vxworks. + * remote-vx29k.c: new file merged from WRS. + * remote-vx.c: merge changes from WRS. + * config/a29k/vx29k.mt: new file for new configuration. + * config/a29k/tm-vx29k.h: new header file for newconfiguration. + +Sun Jan 15 14:36:19 1995 Steve Chamberlain + + * breakpoint.h (disable_breakpoint, enable_breakpoint): + New declarations. + (enum bpdisp): Change name of 'delete' member to 'del'. + (struct bpstat): Changed name to 'bpstats'. + * breakpoint.c (disable_breakpoint, enable_breakpoint, + breakpoint_chain): Made globally visible. + (bpstat_stop_status): Use new name for bpstat. + (break_command_1, watch_command_1, catch_command_1, + breakpoint_auto_delete, denable_delete_breakpoint): Use 'del' + instead of 'delete'. + (set_breakpoint_sal): New function. + * defs.h (registers_changed_hook): New declaration. + * infcmd.c (run_stack_dummy): 'delete' is now 'del'. + * inflow.c (new_tty): Treat WIN32 in same way as __GO32__ + * main.c (main): Don't scan options when in WIN32 and exit + without entering main loop. + * m2-exp.y (m2_elx): Member 'class' is now 'aclass'. + * symtab.h (struct symbol, struct partial_symbol): Changed name of + member 'class' to 'aclass'. + (SYMBOL_CLASS, PSYMBOL_CLASS): Reflect change. + * top.c (registers_changed_hook): New definition. + * utils.c (quit, notice_quit, initialize_utils): Treate WIN32 + in same way as __GO32__. + * value.h (c_typedef_print): Rename 'new' argument. + + * w65-tdep.c, config/tm-w65.h, config/w65.mt: New files. + * configure.in: Suppprt for w65, + + +Sat Jan 14 11:18:11 1995 Jim Kingdon + + * infcmd.c (signal_command): For "signal 0", pass (CORE_ADDR)-1, + not stop_pc, to proceed. + + * eval.c (evaluate_subexp): Clear expect_type except for C++ and CHILL. + +Fri Jan 13 17:52:57 1995 Jim Kingdon + + * infcmd.c (signal_command): Accept "signal 0"; the change to not + accept it was accidental. "handle 0" and "info signal 0" remain + illegal, though. + +Fri Jan 13 15:19:01 1995 Stan Shebs + + * Makefile.in (all): Don't make libgdb-files. + (libgdb): New action, makes libgdb-files. + +Thu Jan 12 21:23:25 1995 Per Bothner + + * stabsread.c (read_enum_type): When pending enum symbols are + put into the enum type, they must be inserted in "backwards + order, in case we've overflowed a struct pending buffer. + + +Thu Jan 12 09:33:24 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * README: Add note about SPARCworks cc release 3.0 and higher. + + Add procfs support for Alpha OSF/1-2.x. + * config/alpha/nm-osf.h: Renamed from nm-alpha.h, generic + OSF/1 native support. + * config/alpha/alpha-osf1.mh (NAT_FILE): Changed accordingly. + (MUNCH_DEFINE): Removed. + * config/alpha/alpha-osf2.mh, config/alpha/nm-osf2.h: New files + for procfs support. + * configure.in (alpha-dec-osf*): Use alpha-osf2.mh for OSF/1 + release 2.x and higher, else alpha-osf1.mh, as the procfs support + in release 1.x is incomplete. + * Makefile.in (ALLCONFIG): Add config/alpha/alpha-osf2.mh. + * alpha-nat.c (supply_gregset, fill_gregset, supply_fpgregset, + fill_fpgregset): New routines for procfs support. + * inftarg.c (_initialize_inftarg): Don't add ptrace support + if we have an optional procfs and /proc is accessible. + * procfs.c: Include sys/fault.h and sys/syscall.h before + including sys/procfs.h. + (unconditionally_kill_inferior): If PROCFS_NEED_PIOCSSIG_FOR_KILL + is defined, additionally perform a PIOCSSIG to really terminate + the inferior. + (create_procinfo): Always return a result. + (create_procinfo, do_attach): Don't trace T_IFAULT faults if + PROCFS_DONT_TRACE_IFAULT is defined. + (procfs_init_inferior): Use START_INFERIOR_TRAPS_EXPECTED as + argument to startup_inferior if it is defined. + (proc_set_exec_trap): If PIOCSSPCACT is defined, use it instead + of tracing exits from exec system calls. Needed for the user level + loader under Alpha OSF/1. + (do_detach): Clear any pending signal if we want to detach from + a process without a signal. + (set_proc_siginfo): If PROCFS_DONT_PIOCSSIG_CURSIG is defined, + don't issue a PIOCSSIG if pr_cursig already contains the signal we + intend to set. + (info_proc_signals): If PROCFS_SIGPEND_OFFSET is defined, the + pending signals are numbered from 1 instead of 0. + (info_proc_mappings): Increase size of output format for addresses + if BFD_HOST_64_BIT is defined. + (procfs_stop): Renamed from child_stop. + (_initialize_procfs): Don't add procfs support if we have an + optional procfs and /proc is not accessible. + + +Wed Jan 11 17:53:26 1995 Rob Savoye + + * array-rom.c: Add support for most commands. + + * monitor.c: Add GDB remote protocol for the hybrid environment on + the Array board. + +Wed Jan 11 00:44:01 1995 Jeff Law (law@snake.cs.utah.edu) + + * command.c (show_user_1): Use print_command_line to show a user + defined command (including control structures). + + * top.c (init_main): Change documentation for user defined + commands to indicate they may accept up to ten arguments. + +Tue Jan 10 16:22:41 1995 Jim Kingdon + + * mips-tdep.c (mips_skip_prologue): Accept or as well as addu for + `move $s8, $sp' instruction. + +Sun Jan 8 12:45:34 1995 Jim Kingdon + + * target.c, target.h (target_signal_from_command): New function. + * infrun.c (handle_command, signals_info), infcmd.c + (signal_command): Use it. + * infrun.c, infcmd.c: Update docstrings for these commands. + + * target.h (enum target_signal), target.c (signals), target.c + (target_signal_from_host, target_signal_to_host): Add + TARGET_SIGNAL_REALTIME_* and TARGET_SIGNAL_PRIO for lynx. + * config/tm-lynx.h: Define signal numbers for realtime events. + +Sat Jan 7 07:23:53 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dbxread.c (process_one_symbol): Handle N_FUN symbols + for Sun acc 3.0 under SunOS4. + + Changes to improve handling of runtime common symbols + under SunOS4. + * minsyms.c (get_symbol_leading_char): New routine to determine + the leading symbol character for an objfile. + (prim_record_minimal_symbol_and_info, install_minimal_symbols): + Use it. + * objfiles.h (rt_common_objfile): New global, points to objfile + containing the runtime common minimal symbols. + * objfiles.c (free_objfile): Mark rt_common_objfile as + unallocated before freeing it. + * solib.c (allocate_rt_common_objfile): New routine to allocate + an objfile for the runtime common minimal symbols. + (solib_add_common_symbols): Allocate an objfile for the runtime + common symbols if necessary and put common symbols into it. + Clean up code and comments. + (solib_add, special_symbol_handling): Cleanup comments regarding + runtime common symbols. + * stabsread.c (scan_file_globals_1): New routine, contains + old scan_file_globals code. Checks if there are any unresolved + global symbols before starting the expensive minimal symbol table + search. + (scan_file_globals): Now calls scan_file_globals_1 for the passed + objfile and eventually for the runtime common objfile. Complains + about any unresolved global symbols and removes them from the + global symbol chain to avoid dangling pointers into the symbol + table if the symbol table is reread. + +Thu Jan 5 17:38:29 1995 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (install_only uninstall): Indent for clarity. + + * core.c (dis_asm_read_memory): Add call to + dis_asm_read_memory_hook to provide alternate way for disassembler + to read memory. + + * defs.h: Protect from multiple inclusion. Add decl for + dis_asm_read_memory_hook. + + * top.c: Make window startup be the default. + * Add dis_asm_read_memory_hook. + + +Thu Jan 5 01:16:40 1995 Jeff Law (law@snake.cs.utah.edu) + + * stabsread.c (define_symbol): Handle `a' symbol type used for + reference parameter passed in a register. + + +Wed Jan 4 12:27:29 1995 Kung Hsu + + * defs.h: move include tm.h up, so that the type LONGEST can + also based on the target requirement to determine. In this case + target mips64. + + * remote-os9k.c (rombug_open): catch exception e in rombug. + * remote-os9k.c (rombug_wait): print message before register display + from rombug. + +Wed Jan 4 09:18:27 1995 Jim Kingdon (kingdon@lioth.cygnus.com) + + * top.c (locate_arg): Call strchr not index. + +Tue Jan 3 16:52:03 1995 Per Bothner + + * ch-exp.y (literal): Recognize NULL. + (tuple): Parse simple unlabelled tuples. + * eval.c (evaluate_subexp case OP_ARRAY): Use expect_type to + evaluate brace-initializer-expressions depending on context. + (evaluate_subexp case UNOP_CAST): Pass the target type as + expected type when evaluating the expression. + + * ch-typeprint.c (chill_type_print_base): Get names of PTR and + BOOL from TYPE_NAME. + * ch-valprint.c (chill_print_type_scalar): New function, to handle + TYPE_CODE_RANGE better than print_type_scalar does. + (chill_val_print_array_elements): Use above new function. + +Mon Jan 2 15:02:51 1995 Stan Shebs + + * remote-udi.c (udi_load): Tell symbol_file_add that the + program being loaded is the main program. + +For older changes see ChangeLog-1994 + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1996 b/contrib/gdb/gdb/ChangeLog-1996 new file mode 100644 index 0000000..442386f --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1996 @@ -0,0 +1,5116 @@ +Tue Dec 31 15:19:32 1996 Geoffrey Noer + + * config/mn10300/tm-mn10300.h: more small register fixes + +Tue Dec 31 06:51:43 1996 Mark Alexander + + * config/i386/xm-windows.h: Undo previous change to SIGTRAP + and SIGQUIT values; it messed up non-MIPS targets. + * config/mips/tm-mips.h: Undefine BREAKPOINT, replace + with separate LITTLE_BREAKPOINT and BIG_BREAKPOINT definitions; + this fixes problem with setting breakpoints in little-endian + programs in the simulator. + +Mon Dec 30 00:14:06 1996 Doug Evans + + * remote-sim.c (gdbsim_open_p): New static local. + (gdbsim_open): Call unpush_target if sim open. Set gdbsim_open_p. + (gdbsim_close): Only call sim_close if sim open. Reset gdbsim_open_p. + +Sun Dec 29 09:15:03 1996 Mark Alexander + + * config/i386/xm-windows.h: Make SIGTRAP and SIGQUIT consistent + with sim/mips/support.h. + +Fri Dec 27 14:53:40 1996 Michael Meissner + + * v850-tdep.c (struct pifsr): Add cur_frameoffset field. + (v850_scan_prologue): Add debug code #ifdef'ed DEBUG. Support new + compiler prologues using register save functions and short store + instructions. Add support for functions with large stack frames. + + * config/v850/tm-vm850.h ({R0,R1,R12,EP}_REGNUMS): New register + number defintiions for r0, r1, r12, ep. + (SAVE{1,2,3}_{START,END}_REGNUM): Register number definitions for + the 3 sets of saved registers. + +Thu Dec 26 19:56:55 1996 Mark Alexander + + * valprint.c (print_longest): Don't lose upper bits + of 64-bit values on Windows. + * config/i386/xm-windows.h: Leave CC_HAS_LONG_LONG defined, + undefine PRINTF_HAS_LONG_LONG, so that 64-bit values will + be printed without loss of upper bits. + +Thu Dec 26 15:15:21 1996 Michael Snyder + + * config/sparc/tm-sparclet.h: make registers ASR15, ASR19 invisible + (they're not useful, you can't change, write or even read them) + +Thu Dec 26 15:20:48 1996 Fred Fish + + * config/pa/hppahpux.mh (TERMCAP): Always link to libc before + libcurses, to avoid picking up broken select() from libcurses + on some versions of HPUX. + +Thu Dec 26 15:14:41 1996 Michael Snyder + + * sparclet-rom.c: Remove includes of Unix system files. + Add function "sparclet_supply_register" so that parse_register_dump + will not seg-fault by calling a null function pointer. + Remove XMODEM support (unfinished work?). + Remove flag "MO_HANDLE_NL", so monitor's output can be read by humans. + Add fill command. + Remove colon from getreg.resp_delim so PSR register will work. + Remove pointer to sparclet_load (downloading SREC's doesn't work). + Null out local register names for %g0, all %cc and all %asr regs, + since the monitor can't report them. Will return zero instead. + * sparclet-stub.c: New -- remote protocol support for sparclet CPU. + * config/sparc/tm-sparclet.h: Re-arrange REGISTER_NAMES: + Add back %g0 and %psr, add %cc coprocessor regs, add %asr regs. + Adjust NUM_REGS and REGISTER_BYTES accordingly + +Tue Dec 24 10:27:37 1996 Jeffrey A Law (law@cygnus.com) + + * remote-e7000.c (want_h8300h, want_nopc_h8300h): Renamed + from want and want_nopc. + (want_h8300s, want_nopc_h8300s): New variables for H8/S register + lists. + (e7000_fetch_registers): Use H8/300H or H8/S register list string + as needed. + (e7000_wait): Likewise. + +Mon Dec 23 02:25:58 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips-tdep.c (mips_find_saved_regs): If a frame has been + interrupted by a signal, figure out whether the registers that + the proc_desc claims are saved have been saved yet. + (mips_push_dummy_frame): Write dummy frame register after all + registers have been saved in the dummy frame. Update comments + to reflect the fact that we are now using an AT_ENTRY_POINT + call dummy. + +Sun Dec 22 15:52:25 1996 Martin M. Hunt + + * d10v-tdep.c (d10v_skip_prologue): PR11287. Fix problem where + some breakpoints weren't being set. + +Sat Dec 21 12:57:59 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/mips/tm-mips.h (PC_IN_CALL_DUMMY): Removed, the default + definition in inferior.h is sufficient. + * mips-tdep.c (mips_pc_in_call_dummy): Ditto. + (mips_push_arguments): Make sure that the stack is aligned to a + multiple of 8 after the arguments are pushed. + Structures are always passed by value in the old ABI. + Adjust argument register value on big endian targets when passing + a value whose length is less than the register size. + Write stack arguments with a single write_memory call. + (mips_pop_frame): Use frame_saved_regs instead of proc_desc to + decide which registers have to be restored. + + * irix5-nat.c (fill_gregset): Sign extend registers before + filling in the gregset structure. + +Fri Dec 20 11:06:03 1996 Stu Grossman (grossman@critters.cygnus.com) + + * mswin/genmakes: Don't define _DEBUG. This breaks wingdb. + +Thu Dec 19 19:42:44 1996 Michael Meissner + + * v850-tdep.c (v850_scan_prologue): Deal with -mep shorting + register saves by using the ep register. + +Thu Dec 19 15:57:16 1996 Doug Evans + + * m32r-tdep.c (m32r_frame_find_saved_regs): Fix thinko in arg def. + +Thu Dec 19 09:38:56 1996 Mark Alexander + + * values.c (unpack_double): Make it compile with MSVC++ 2.x. + * remote-mips.c (S_IROTH): Define if not defined by stat.h, e.g. + when using MSVC++. + (common_open): Fix help string. + +Wed Dec 18 23:01:32 1996 Stan Shebs + + * mpw-make.sed: Use NewFolderRecursive for installation. + +Sat Dec 14 20:50:01 1996 Mark Alexander + + * mips-tdep.c (mips_push_arguments): Handle floating point args. + * config/mips/tm-mips.h (FIX_CALL_DUMMY): Define to set up $25 + correctly for PIC on Irix 5. + +Sat Dec 14 09:52:30 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * i386-tdep.c (i386_frame_find_saved_regs): Handle zero return + from get_pc_function_start gracefully. + +Sat Dec 14 00:43:57 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * c-exp.y (qualified_name): Replace explicit check for valid + destructor name with call to destructor_name_p. + + * c-lang.h, c-typeprint.c (cp_type_print_method_args): Removed, + no longer needed. + + * c-typeprint.c (c_type_print_varspec_prefix, c_type_print_base): + Replace remaining fprintf_unfiltered calls with their filtered variant. + (c_type_print_base): Do not print return type for destructors from + template classes. + Replace cp_type_print_method_args with cplus_demangle call to get + consistent type output for stubbed and unstubbed methods. + + * cp-valprint.c (cp_print_class_method): Replace + cp_type_print_method_args with cplus_demangle call to get consistent + type output for stubbed and unstubbed methods. + + * gdbtypes.c, gdbtypes.h (get_destructor_fn_field): New function + to find the destructor field indices for a type. + + * gdbtypes.h (struct type): Clarify comments for vptr_basetype + and arg_types fields. + (struct fn_field): Remove args field, no longer used. + + * symtab.c (decode_line_1), valops.c (value_struct_elt, + check_field_in): Use get_destructor_fn_field to find the destructor + field indices instead of assuming that the compiler passes the member + function fields in a specific order. + + * symtab.c (find_methods): Pass NULL instead of SYMBOL_BLOCK_VALUE + to lookup_symbol. + (list_symbol): Replace cp_type_print_method_args with cplus_demangle + call in zapped out code and explain why this code is zapped out. + +Thu Dec 12 13:29:14 1996 Michael Meissner + + * config/powerpc/ppc{,le}-sim.mt (SIM): Add the simulator common + library ../sim/common/libcommon.a. + +Wed Dec 11 11:15:08 1996 Doug Evans + + * monitor.c (monitor_load): Add support for load address argument. + * dsrec.c: #include . + (load_srec): New argument load_offset. Print download stats. + * srec.h (load_srec): Update prototype. + * sh3-rom.c (sh3_load): Update call to load_srec. + +Mon Dec 9 17:34:05 1996 Geoffrey Noer + + * config/mn10300/tm-mn10300.h: more small register fixes + * mn10300-tdep.c: filled in from another target + +Mon Dec 9 17:12:19 1996 Doug Evans + + * monitor.c (monitor_insert_breakpoint): Handle bi-endian machines. + +Mon Dec 9 15:58:51 1996 Mark Alexander + + * config/mips/tm-mips.h: Get rid of call-dummy code. + Minor changes to make pre-ANSI compilers happy. + * mips-tdep.c: Minor changes to make pre-ANSI compilers happy. + (mips_push_arguments): Rewrite to partially support EABI. + (mips_pc_in_call_dummy): New function. + * infcmd.c: Include symfile.h to get prototype of entry_point_address, + which fixes 64-bit sign extension bug on MIPS. + +Mon Dec 9 00:14:49 1996 Geoffrey Noer + + * config/mn10300/tm-mn10300.h: fix register names + * mn10300-tdep.c: new skeleton tdep for mn10300 + +Sun Dec 8 18:02:57 1996 Doug Evans + + * remote-sim.h: Update some comments. + * remote-sim.c (gdb_os_error): New function. + (init_callbacks): Fix initializing of gdb_callback. Add gdb_os_error. + (gdb_os_printf_filtered): Use gdb_stdout, not stdout. + +Sun Dec 8 00:36:31 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * irix5-nat.c (supply_gregset, fill_gregset): Handle gregsets + from O32 and N32 ABI. + (xfer_link_map_member): Work around problem with alignments + in struct obj when compiling GDB under N32 ABI. + +Thu Dec 5 23:30:44 1996 Stan Shebs + + * d10v-tdep.c: Add support for examination and interpretation + of instruction trace buffer. + (trace, untrace, info trace, tdisassemble): New commands. + +Thu Dec 5 14:06:23 1996 Doug Evans + + * config/sparc/tm-sparclet.h (TARGET_BYTE_ORDER): Undef. + (TARGET_BYTE_ORDER_SELECTABLE): Define. + (BREAKPOINT): Undef. + ({BIG,LITTLE}_BREAKPOINT): Define. + (TM_PRINT_INSN_MACH): Redefine for sparclet. + +Wed Dec 4 16:34:05 1996 Geoffrey Noer + + * config/mn10300/mn10300.mt, config/mn10300/tm-mn10300.h: New. + +Tue Dec 3 13:02:08 1996 Fred Fish + + * infptrace.c (store_inferior_registers): Move some common code out + to store_register, like fetch_inferior_registers & fetch_register. + (store_register): New function, from store_inferior_registers. + (fetch_inferior_registers, fetch_register): Minor code tweaks to + make {fetch,store}_inferior_registers and {fetch,store}_register + routines as similar in structure as possible. + (fetch_inferior_registers, store_inferior_registers): Eliminate + local variable numregs and just use ARCH_NUM_REGS directly. + +Tue Dec 3 11:38:14 1996 Michael Snyder + + * blockframe.c: add macro USE_GENERIC_DUMMY_FRAMES to enable/disable + code for generic call_dummy frames. + * config/h8300/tm-h8300.h: turn on USE_GENERIC_DUMMY_FRAMES + * config/m32r/tm-m32r.h: Ditto. + * config/sh/tm-sh.h: Ditto. + * config/v850/tm-v850.h: Ditto. + +Sun Dec 1 00:41:47 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * vax-tdep.c (vax_print_insn, print_insn_arg): Use info functions + for printing. From Valeriy Ushakov . + +Sun Dec 1 00:40:46 1996 Geoffrey Noer + + * configure.tgt: Add new mn10300 entry. + +Sun Dec 1 00:18:59 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Add support for Irix 6.2 native O32 and N32 ABI. + + * config.in, configure.in, configure: Check for . + * configure.tgt: Handle mips*-sgi-irix6* like irix5 for now. + + * cp-valprint.c (cp_print_value_fields): Use SYMBOL_VALUE_ADDRESS + instead of SYMBOL_BLOCK_VALUE to get the address of a static member. + + * dwarf2read.c: Turn warnings and recoverable errors into complaints, + add new complaints where appropriate. + gcc -Wall cleanup. + (struct line_head): Change line_base from char to int to avoid + problems with compilers whose plain char is represented by an + unsigned char. + (struct partial_die_info): Add is_declaration field. + (dwarf2_tmp_obstack): New obstack for allocating temporary storage + used during symbol reading. + (cu_header_offset): New variable for resolving relative reference + dies. + (optimized_out, basereg, islocal, frame_base_reg, frame_base_offset): + New interface variables for decode_locdesc. + (struct dwarf2_pinfo): New structure for communication between + psymtab and symtab reading, passed via pst->read_symtab_private. + (dwarf2_has_info, dwarf2_build_psymtabs): Accept objects files + without line number sections. + (dwarf2_build_psymtabs_hard): Initialize temporary obstack + for symbol reading. + Allocate and initialize pst->read_symtab_private. + Relocate pst->textlow and pst->texthigh with baseaddr. + (scan_partial_symbols): Do not add DW_AT_declaration symbols + to the partial symbol table. + Add file scope enumerator symbols to the partial symbol table. + Fix typo in highpc computation. + If we didn't find a lowpc, set it to highpc to avoid complaints + from `maint check. + (add_partial_symbol): Relocate symbol values with baseaddr. + Add static DW_TAG_subprogram and DW_TAG_variable symbols to the + minimal symbol table. + Obtain symbol values for DW_TAG_variable symbols from the location + descriptor, skip symbols with missing location desciptors. + Skip symbols for aggregate types without children. + Handle enumerator symbols. + (dwarf2_psymtab_to_symtab): Issue symbol reading message if verbose. + (psymtab_to_symtab_1): Set local variables from + pst->read_symtab_private, set cu_header_offset and baseaddr. + Initialize temporary obstack for symbol reading, initialize + buildsym and add a cleanup to really_free_pendings. + Relocate highpc with baseaddr when calling end_symtab. + If the compilation is from a C file generated by language + preprocessors, do not set the symtab language if it was already + deduced by start_subfile. + Removed verbose sorting symbol table message. + (process_die): Handle DW_TAG_ptr_to_member_type and + DW_TAG_reference_type. + Use read_subroutine_type to get the function type for + DW_TAG_subprogram before calling read_func_scope. + (read_file_scope): Initialize file name to , start_subfile + expects a non-NULL name. + If we didn't find a lowpc, set it to highpc to avoid complaints + from finish_symbol. + Relocate lowpc and highpc with baseaddr. + Get rid of Irix6.2 native cc compile machine prefix in comp_dir. + Zero out ftypes for each new compilation unit (may be different + language or different objfile). + Accept compilation units without line number information, pass + comp_dir to decode_lines. + (read_func_scope): Initialize function name to to avoid + core dumps when DW_AT_name is missing. + Relocate lowpc and highpc with baseaddr. + Handle DW_AT_frame_base, keep result for DW_OP_fbreg operations. + Pass function type to new_symbol. + (read_lexical_block_scope): Relocate lowpc and highpc with baseaddr. + (read_structure_scope): Set TYPE_TAG_NAME, not TYPE_NAME. + Handle DW_TAG_class_type. + Copy fields to type_obstack, release temporary storage for fields. + Don't add symbol if die is a stub die and has no children. + Handle C++ static member fields. + (read_enumeration): Set TYPE_TAG_NAME, not TYPE_NAME. + Copy fields to type_obstack, release temporary storage for fields. + Let new_symbol handle the symbol creation for enumerators + instead of handcrafting a symbol. + Determine signedness of enum type from enumerators. + (dwarf_read_array_type): Handle variable length arrays. + Use lookup_pointer_type instead of handcrafting a type. + Create array type only if a DW_TAG_subrange_type was found. + (read_tag_pointer_type, read_tag_reference_type): + Use lookup_pointer_type and lookup_reference_type instead + of handcrafting a type. + (read_tag_ptr_to_member_type): New function to handle + DW_TAG_ptr_to_member_type. + (read_subroutine_type): Handle parameter dies. + Use lookup_function_type instead of handcrafting a type. + (read_typedef): Allocate a TYPE_CODE_TYPEDEF type for the typedef. + (read_base_type): If the type has a name, use init_type to create + a new type instead of second guessing a fundamental type. + (read_comp_unit): Reset die reference table before building + a new one. + (dwarf2_read_section): Read section contents into psymbol_obstack. + (dwarf2_read_abbrevs): Handle unterminated abbreviations + for a compile unit gracefully. + (read_partial_die): Zero partial die before reading its info. + Handle DW_AT_declaration. + Fix typo in handling of DW_FORM_block4. + (read_full_die): Fix typo in handling of DW_FORM_block4. + (read_1_signed_byte, read_2_signed_bytes, read_4_signed_bytes): + New routines to get signed values from a buffer. + (read_n_bytes, read_string): Allocate storage from the temporary + obstack. If the host char size permits it, return pointer + to buffer instead of allocating storage. + (set_cu_language): Handle DW_LANG_Mips_Assembler. + (dwarf_attr): Return NULL if reference die for DW_AT_specification + or DW_AT_abstract_origin die is not found. + (record_minimal_symbol): Removed, replaced with a direct call to + prim_record_minimal_symbol, it now handles saving the string itself. + (convert_locdesc): Removed, partial symtab reading now uses + decode_locdesc. + (dwarf_attr): Use dwarf2_get_ref_die_offset to get the absolute + offset for the die reference. + (dwarf_decode_lines): Complain if the line section info is missing. + Use read_1_signed_byte to extract lh.line_base to avoid + problems with compilers whose plain char is represented by an + unsigned char. + Add cleanups for allocated temporary storage. + Start a subfile for the first file in the state machine. + Fix off by one problem with dirs.dirs access. + Use comp_dir when directory index is 0. + Support multiple sequences (from Jason Merrill ). + (dwarf2_start_subfile): Try to keep line numbers from identical + absolute and relative file names in a common subfile. + (new_symbol): Allocate symbol and symbol name on the symbol_obstack. + Set SYMBOL_LINE from DW_AT_decl_line if present. + Set SYMBOL_TYPE from passed type if not NULL. + Change DW_TAG_variable symbol types with missing type entries + to a sensible type. + Handle optimized_out, offreg and islocal storage classes. + Add external symbols with type information whose address isn't + known as LOC_UNRESOLVED symbols. + Synthesize typedefs for C++ classes, structs, unions and enumerations. + Handle DW_TAG_enumerator symbols, complain for unrecognized + symbol tags. + (die_type): A missing DW_AT_type represents a void type. + Use dwarf2_get_ref_die_offset to get the absolute offset for + the die reference. + (die_containing_type): New function to build type from + DW_AT_containing_type attribut. + (read_type_die): Handle DW_TAG_ptr_to_member_type. + Treat DW_TAG_subprogram like DW_TAG_subroutine_type. + (dwarf_base_type): Fix typo with creation of FT_UNSIGNED_SHORT + fundamental type. + (create_name): Removed, symbol name allocation is now done + in new_symbol. + (dump_die): Use print_address_numeric to print a CORE_ADDR. + (dwarf2_empty_die_ref_table): New function to clear the die + reference table. + (dwarf2_get_ref_die_offset): New function to get the absolute + die offset from a die reference attribute. + (decode_locdesc): Complete rewrite using a stack, code mostly + borrowed from dwarfread.c:locval. + (dwarf_alloc_type): Removed, replaced by direct calls to alloc_type. + (dwarf_alloc_block): Allocate block on temporary obstack. + + * elfread.c (elf_symtab_read): When handling Irix dynamic symbols, + skip section name symbols and relocate all others. + (elf_symfile_read): Build dwarf2 psymtab even if offset is non-zero. + + * irix5-nat.c (fetch_core_registers): Handle core_reg_sect + from N32 executables. Call registers_fetched after extracting + the registers. + (obj_list_variant, struct link_map, LM_OFFSET, LM_ADDR): New + definitions to enable support of O32 and N32 format objlists. + (struct so_list): New members offset, so_name and lmstart to + eliminate dependencies from the objlist format used. + (solib_map_sections, symbol_add_stub, solib_add, + info_sharedlibrary_command, solib_address, clear_solib): Use + so_name and LM_OFFSET. + (first_link_map_member): Rewrite to enable support of O32 and N32 + format objlists. + (next_link_map_member, xfer_link_map_member): New functions to + support O32 and N32 format objlists. + (find_solib): Use first_link_map_member, next_link_map_member and + xfer_link_map_member. + (solib_create_inferior_hook): Use TARGET_SIGNAL_* instead of + host signal numbers. + + * mdebugread.c (parse_partial_symbols, handle_psymbol_enumerators): + Pass CORE_ADDR variant to add_psymbol_to_list. + + * mips-tdep.c (heuristic_proc_desc): Stop examining the prologue + if we encounter a positive stack adjustment. Handle `move $30,$sp'. + Handle `sd reg,offset($sp)' for 32 bit ABIs. + + * symmisc.c (dump_msymbols, print_partial_symbols): Use + print_address_numeric to print a SYMBOL_VALUE_ADDRESS. + (dump_symtab): Print compilation directory if it is not NULL. + + * valops.c (search_struct_field, value_struct_elt_for_reference): + Use SYMBOL_VALUE_ADDRESS instead of SYMBOL_BLOCK_VALUE to get the + address of a static member. + +Thu Nov 28 00:46:24 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * vax-tdep.c (vax_print_insn): Made static, modified to take + disassemble_info as parameter. + (_initialize_vax_tdep): New function to initialize tm_print_insn + to vax_print_insn. + +Wed Nov 27 11:29:06 1996 Michael Snyder + + * blockframe.c: Remove old-style CALL_DUMMY code. + * h8300-tdep.c, config/h8300/tm-h8300.h: Ditto. + * m32r-tdep.c, config/m32r/tm-m32r.h: Ditto. + * sh-tdep.c, config/sh/tm-sh.h: Ditto. + * v850-tdep.c, config/v850/tm-v850.h: Ditto. + +Wed Nov 27 10:32:14 1996 Michael Snyder + + * breakpoint.c: DELETE command will not delete CALL_DUMMY breakpoint. + * blockframe.c: Add target-independant support for managing + CALL_DUMMY frames on the host side. + * frame.h: Declarations for generic CALL_DUMMY frame support. + * h8300-tdep.c: Add target function calls using generic frame support. + * config/h8300/tm-h8300.h: config for generic target function calls. + * m32r-tdep.c: Add target function calls using generic frame support. + * config/m32r/tm-m32r.h: config for generic target function calls. + * sh-tdep.c: Add target function calls using generic frame support. + * config/sh/tm-sh.h: config for generic target function calls. + * v850-tdep.c: Add target function calls using generic frame support. + * config/v850/tm-v850.h: config for generic target function calls. + * valops.c: ADD PUSH_RETURN_ADDRESS so that it doesn't have to be + done by PUSH_ARGUMENTS when there's no CALL_DUMMY. + +Tue Nov 26 19:21:35 1996 Mark Alexander + + * config/mips/tm-mips.h (ADDR_BITS_REMOVE, TARGET_READ_SP): Define. + (mips_addr_bits_remove): Declare. + * mips-tdep.c (mips_push_dummy_frame): Fix heuristic-fence-post + errors when hitting breakpoints during inferior function calls + in 64-bit programs. + (fix_sign_extension): Make public, rename to mips_addr_bits_remove. + * utils.c (paddr_nz, preg_nz): New functions, similar to + paddr and preg but don't print leading zeroes. + * defs.h (paddr_nz, preg_nz): Declare. + * remote-mips.c: Use paddr_nz instead of paddr throughout + to reduce packet size. + (pmon_end_download): Improve timeout error handling. + +Tue Nov 26 17:21:37 1996 Ian Lance Taylor + + * configure: Rebuild with autoconf 2.12. + +Mon Nov 25 13:17:16 1996 Fred Fish + + From: Paul Eggert + * remote-bug.c (wait_strings): Avoid creating a trigraph. + +Fri Nov 22 15:55:22 1996 Martin M. Hunt + + * valops.c (value_at, value_fetch_lazy): Put in D10V call + to fix up address pointers. + * values.c (value_from_longest): Removed previous d10v changes. + * config/d10v/tm-d10v.h (TARGET_PTR_BIT): Change to 4 bytes. + +Fri Nov 22 10:06:19 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/i386/nm-i386v4.h (LOSING_POLL): Define, needed for + Unixware 1.1.2. + +Thu Nov 21 19:13:58 1996 Mark Alexander + + * mips-tdep.c: Replace hard-coded constants with MIPS_INSTLEN. + (common_breakpoint): Use paddr instead of %x to print 64-bit values. + (heuristic_proc_desc): Add tests for 64-bit instructions. + (init_extra_frame_info, mips_push_arguments): Recognize additional + registers for EABI. + * remote-mips.c: Extend DDB target to allow TFTP downloads. + * config/mips/tm-mips.h (MIPS_LAST_ARG_REGNUM, MIPS_NUM_ARG_REGS): + Define. + +Wed Nov 20 19:09:16 1996 Martin M. Hunt + + * infcmd.c (do_registers_info): Call val_print with the + virtual buf instead of the raw buf. Needed for REGISTER_CONVERT + to work with non-floating point regs. + + * d10v-tdep.c (d10v_skip_prologue): If we have line debugging + information, then the end of the prologue should the first + assembly instruction of the first source line. + + * values.c (value_from_longest): Put in D10V call to + fix up address pointers. + + * config/d10v/tm-d10v.h (REGISTER_VIRTUAL_SIZE): Modified. + (REGISTER_VIRTUAL_TYPE): Modified for PC_REGNUM and SP_REGNUM. + (REGISTER_CONVERTIBLE): Make PC and SP convertible. + (REGISTER_CONVERT_TO_VIRTUAL): Define. + (REGISTER_CONVERT_TO_RAW): Define. + (D10V_MAKE_DADDR): Define. + (D10V_MAKE_IADDR): Define. + +Wed Nov 20 16:15:15 1996 Geoffrey Noer + + * config/i386/cygwin32.mh: add MMALLOC_CFLAGS = -I$(MMALLOC_SRC) + -DMMCHECK_FORCE=1 so memory checks are loaded for cygwin32 gdb + +Wed Nov 20 00:43:09 1996 Doug Evans + + * callback.h: Delete, moved to ../include. + * callback.c: Delete, moved to ../sim/common. + * Makefile.in (SFILES,COMMON_OBJS): Delete callback.[co]. + (callback.o): Delete rule. + * remote-sim.h: No longer include callback.h. + (sim_callback_write_stdout): Delete prototype. + * remote-sim.c (init_callbacks,end_callbacks): New functions. + (gdb_os_write_stdout, gdb_os_printf_filtered): New functions. + (gdb_callback, callbacks_initialized): New static globals. + (gdbsim_open): Call init_callbacks. + (gdbsim_close): Call end_callbacks. + (simulator_command): Call init_callbacks. + + * config/h8300/h8300.mt (SIM): Change to ../sim/h8300/libsim.a. + * config/h8500/h8500.mt (SIM): Change to ../sim/h8500/libsim.a. + +Mon Nov 18 15:58:05 1996 Jim Wilson + + * config/mips/tm-mips.h (FIX_CALL_DUMMY): Change unsigned LONGEST + to ULONGEST. + +Fri Nov 15 15:34:18 1996 Fred Fish + + From Peter Schauer + * procfs.c (wait_fd): Handle EINTR error return from poll + by restarting the poll. + * defs.h (PIDGET): Define a default version that just + returns its argument unchanged. + * inflow.c (terminal_init_inferior): Eliminate #ifdef + of PIDGET and fold both alternatives into common code. + (pass_signal): Use PIDGET for pid passed to kill(). + +Thu Nov 14 15:54:20 1996 Michael Meissner + + * utils.c (paddr,preg): Use a static variable initialized to 32 + instead of doing addr>>32 to eliminate a warning produced by GCC + on 32-bit systems. + + * config/d10v/tm-d10v.h (ULONGEST): Define. + +Tue Nov 12 12:25:27 1996 Jim Wilson + + * c-typeprint.c (cp_type_print_method_args): Pass -1 for show in + recursive call to type_print. + +Tue Nov 12 12:18:29 1996 Jim Wilson + + * defs.h (ULONGEST): New macro. + * alpha-tdep.c, breakpoint.c, c-exp.y, ch-exp.c, convex-xdep.c, + corefile.c, defs.h, f-exp.y, findvar.c, gdbcore.h, m2-exp.y, + m88k-tdep.c, printcmd.c, remote-hms.c, remote-mips.c, sparc-tdep.c, + valarith.c, valops.c, values.c, config/gould/tm-np1.h, + config/mips/tm-mips.h, mswin/prebuilt/gdb/cexptab.c, + mswin/prebuilt/gdb/fexptab.c, mswin/prebuilt/gdb/m2exptab.c: + Change all occurances of unsigned LONGEST to ULONGEST. + + * configure.host (mips-sgi-irix6): Add. + +Tue Nov 12 12:16:40 1996 Michael Snyder + + * sh-tdep.c: Add functionality for target function calls. + * config/sh/tm-sh.h: Add support for target function calls. + +Tue Nov 12 12:06:58 1996 Michael Snyder + + * m32r-tdep.c: Add functionality for target function calls. + * valops.c: Small change to support target function calls. + * config/m32r/tm-m32r.h: Add support for target function calls. + +Mon Nov 11 17:15:59 1996 Geoffrey Noer + + * defs.h: Modify Nov 11 12:59:00 change so _MSC_VER is checked + instead of _WIN32. + * win32-nat.c: Fix Nov 11 12:59:00 change (windows.h should + be included instead of windefs.h for compilers other than + VC++). + * mswin/windefs.h: Remove ^Ms and change C++ style comments + to C style comments. + +Mon Nov 11 14:32:38 1996 Mark Alexander + + * utils.c (get_cell): Fix off-by-one bug. + * mips-tdep.c (get_frame_pointer, fix_sign_extension): + New functions to consolidate common code. + (mips_frame_chain, init_extra_frame_info): Use new functions + to fix problems with backtrace and finish commands on ddb board. + +Mon Nov 11 12:59:00 1996 Dawn Perchik + + * mips-tdep.c, remote-mips.c, values.c, mdebugread.c, + config/mips/tm-mips.h: Add/fix bugs for 64-bit mips support. + * defs.h: Cleanup; add prototypes. + * corefile.c: Change FIXME #ifdef + * win32-nat.c: Include windefs instead of windows.h. + * utils.c: Add routines for printing addresses and registers + based on type size. + +Sat Nov 9 01:05:10 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * alpha-tdep.c (heuristic_proc_desc): Stop examining the prologue + if we encounter a positive stack adjustment. + (find_proc_desc): If heuristic_fence_post is non-zero, use + heuristic_proc_start to determine the start of a function before + calling heuristic_proc_desc. + + * coffread.c (coff_symtab_read): Change minimal symbol types + for C_LABEL symbols from mst_* to mst_file_*. + + * config/m68k/sun3os4.mh (MMALLOC_CFLAGS): Define MMCHECK_FORCE to 1. + + * configure.in: Handle error message from sun3 native ld when + configuring HLDFLAGS. + * configure: Regenerated with autoconf. + + * c-valprint.c (c_value_print): Adjust value address by VALUE_OFFSET. + * cp-valprint.c (cp_print_value): Prevent gdb crashes by making sure + that the virtual base pointer from an user object still points to + accessible memory. + + * dbxread.c (dbx_symfile_init): Initialize sym_stab_info to + clear the recently added header_files fields. + (dbx_symfile_finish): Free hfiles[i].vector to avoid storage leak. + +Fri Nov 8 14:30:23 1996 Michael Snyder + + * config/tm-sh.h: Added a missing comma in middle of + REGISTER_NAMES list. + +Fri Nov 8 12:29:51 1996 Stan Shebs + + * monitor.c: Fix some formatting and comments. + + * remote-sim.c (simulator_command): Set up callbacks before + entering the simulator. + +Thu Nov 7 15:19:08 1996 Martin M. Hunt + + * d10v-tdep.c: Fix some problems with inferior function calls. + * config/d10v/tm-d10v.h (EXTRA_FRAME_INFO): Change dummy to be + a pointer to the dummy's stack instead of just a flag. + +Tue Nov 5 10:21:02 1996 Michael Snyder + + * m32r-tdep.c: Improved frame_chain and fn prologue analysis. + * config/tm-m32r.h: Add framesize and register to extra_frame_info. + +Tue Nov 5 10:08:07 1996 Stu Grossman (grossman@critters.cygnus.com) + + * mswin/gdbwin.h: Remove bogus definition of CORE_ADDR. + * mswin/srcwin.cpp (CSrcScroll1::CSrcScroll1): Initialize depth + to fix divide-by-zero problem with clicking on source window. + +Mon Nov 4 00:48:37 1996 Stu Grossman (grossman@critters.cygnus.com) + + * mswin/recordit: Fix problem with absolute paths. + * mswin/recordit: Fix problem with relative paths. + +Sun Nov 3 18:06:42 1996 Stu Grossman (grossman@critters.cygnus.com) + + * mswin/{Makefile.in configure configure.in}: New files for + configuring wingdb under Unix. + +Sat Nov 2 03:54:13 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * irix5-nat.c, osfsolib.c, solib.c (symbol_add_stub): Handle + missing or zero-sized .text sections properly. + * mdebugread.c: Handle scRConst and scSUndefined storage classes. + * stabsread.c (scan_file_globals): Try to resolve symbols + for shared libraries from the minimal symbol table of the main + executable first. + +Fri Nov 1 13:59:28 1996 Martin M. Hunt + + * d10v-tdep.c, config/d10v/tm-d10v.h: Major fixes to support + inferior function calls and proper stack backtracing on D10V-EVA + board. + +Fri Nov 1 10:50:51 1996 Michael Meissner + + * config/powerpc/linux.mh (NATDEPFILES): Fix up things so that it + links. + (GDBSERVER_DEPFILES,TERMCAP): Ditto. + + * monitor.c (dev_name,targ_ops): Move static variables before + first use, to avoid compiler warnings. + +Thu Oct 31 16:37:17 1996 Michael Snyder + + * m32r-tdep.c: Improved frame_chain and fn prologue analysis. + * configure.tgt: Add entry for m32r target. + * monitor.h: Add a flag to tell monitor_store_register to use + (val, regno) instead of (regno, val). + * monitor.c: Make monitor_store_register honor the above flag. + Make monitor_exp ignore DC1/DC3 for m32r. + Increase buf size in monitor_dump_regs. + +Wed Oct 30 18:14:14 1996 Michael Snyder + + * m32r-tdep.c, m32r-rom.c: New files. + * config/m32r/m32r.mt: New file. + * config/m32r/tm-m32r.h: New file. + +Tue Oct 29 16:56:01 1996 Geoffrey Noer + + * config/i386/xm-cygwin32.h: + * config/powerpc/xm-cygwin32.h: + add #define LSEEK_NOT_LINEAR so source lines aren't unexpectedly + truncated. + +Tue Oct 29 18:36:43 1996 Michael Meissner + + * config/powerpc/tm-ppc-eabi.h (TARGET_BYTE_ORDER_SELECTABLE): + Define. + +Tue Oct 29 14:59:20 1996 Stan Shebs + + * TODO: Add item suggesting an "info bfd" command. + +Tue Oct 29 12:48:04 1996 Martin M. Hunt + + * d10v-tdep.c: Snapshot that supports D10V-EVA board. + + * config/d10v/tm-d10v.h (REGISTER_NAMES): Add imap0,imap1,dmap. + (TARGET_READ_FP,TARGET_WRITE_FP): Define. + +Mon Oct 28 17:34:24 1996 Stu Grossman (grossman@critters.cygnus.com) + + * mswin/genmakes mswin/recordit: New scripts to generate make + files for MSVC. + +Sun Oct 27 20:18:04 1996 Mark Alexander + + * config/mips/{tm-vr5000.h,tm-vr5000el.h,vr5000.mt,vr5000el.mt}: + New files. + * configure.tgt: Modify cases for vr5000 to use new files. + +Sat Oct 26 07:15:14 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/alpha/alpha-osf3.mh (XM_CLIBS): Add -lm for OSF/1-4.0. + + * procfs.c (proc_set_exec_trap): Under Alpha OSF/1-4.0, tracing + the entry to the exit system call to detect termination of the + inferior stopped working. Trace termination of the inferior via + PRFS_STOPTERM instead. + (procfs_init_inferior): Do not trace entry to exit system call + if PIOCSSPCACT is defined. + (procfs_wait): Handle PR_DEAD event, which signals the termination + of the inferior if PRFS_STOPTERM is set. + + * mdebugread.c (parse_partial_symbols): Ignore stNil section + start address symbols. + + * sparc-tdep.c (get_saved_register): Get saved PC from the + frame info if not in innermost frame. + +Thu Oct 24 10:51:45 1996 Mark Alexander + + * dbxread.c (process_one_symbol): Interpret end-of-function + markers correctly; this fixes problem on Vr5000 where all + functions in a module had the same address. + * configure.in, configure.tgt, configure.host, gdbserver/configure.in: + Correct for pc-linux-gnu problem in config.guess. + * configure: Regenerate. + +Thu Oct 24 10:06:58 1996 Stu Grossman (grossman@critters.cygnus.com) + + * dbxread.c: Don't swap symbols in place, since internal and + external forms may have different sizes. Don't assume that an + internal_nlist has the same layout as an external_nlist. Create + symbol for n_strx element so to hide specifics of nlist from + partial-stab.h. + * partial-stab.h: Don't reference dbxread symbols directly. Use + CUR_SYMBOL_STRX instead. + * config/i386/xm-windows.h: Define SIGQUIT and SIGTRAP. + + * config/v850/tm-v850.h: Define PS_REGNUM and TARGET_V850 for + MSVC builds. + * mswin/gdbwin.c (reg_order): Define register order for V850. + * mswin/gui.cpp (CGuiApp::InitInstance): Define target name for + V850. + * mswin/regdoc.h: Define MAXREGS for V850. + +Tue Oct 22 16:28:20 1996 Stu Grossman (grossman@critters.cygnus.com) + + * v850-tdep.c (scan_prologue): Changes to deal with scheduled + prologues correctly. First, prologue end is now defined by + presence of a branch, jump or call insn. Second, can no longer + fix frame offsets because we may not know the offset until after a + register has been saved. + * (v850_init_extra_frame_info): Fixup frame offsets here because + we have all the info at this time. + * (v850_frame_chain): Use new calling convention for scan_prologue. + +Tue Oct 22 10:25:29 1996 Martin M. Hunt + + * d10v-tdep.c, config/d10v/tm-d10v.h: Changes to allow stack + backtraces and inferior function calls. + +Tue Oct 22 10:32:46 1996 Stan Shebs + + * mpw-make.sed: Update init.c editing to work with Oct 8 change. + (@HLDFLAGS@): Always edit out. + +Mon Oct 21 18:17:08 1996 Mark Alexander + + * mdebugread.c (parse_partial_symbols): Fix 64-bit + sign-extension problems in calculating psymtab addresses. + * buildsym.c (end_symtab): Use macro to pop context. + +Mon Oct 21 14:40:50 1996 Stu Grossman (grossman@critters.cygnus.com) + + * v850-tdep.c: Cleanup lots of things. Add many comments. + + * v850-tdep.c (v850_init_extra_frame_info v850_frame_chain): Fix + sign bugs with scanning prologues. Get a little smarter about + calculating the length of uninteresting instructions. + +Mon Oct 21 14:01:38 1996 Michael Snyder + + * top.c: Add new commands "set annotate" and "show annotate". + +Sun Oct 20 04:38:39 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * corelow.c (core_close): Clear inferior_pid only if there is + an open core_bfd. + + * cp-valprint.c (cp_print_value_fields): Pass correct address + to val_print, not 0. + + From Andreas Schwab (schwab@issan.informatik.uni-dortmund.de): + * eval.c (evaluate_subexp_standard) [case BINOP_REPEAT]: Chase + typedefs before checking for integral type of right operand. + +Fri Oct 18 17:26:22 1996 Mark Alexander + + * mdebugread.c (parse_symbol): Fix crash when malloc has + no type info and void type has no associated pointer type. + +Thu Oct 17 18:18:20 1996 Stan Shebs + + * configure.host: New file, host configuration mapping. + * configure.tgt: New file, target configuration mapping. + * configure.in: Remove host and target mapping. + * configure: Rebuild. + +Wed Oct 16 17:46:03 1996 Stan Shebs + + * breakpoint.c (must_shift_inst_regs): New global. + (bpstat_stop_status): Change #if uses of DECR_PC_AFTER_BREAK into + equivalent expression uses. + * infrun.c (wait_for_inferior): Ditto. + +Wed Oct 16 01:53:43 1996 Stu Grossman (grossman@critters.cygnus.com) + + * v850-tdep.c (v850_push_arguments): Use symbolic names for arg + registers. + * config/v850/tm-v850.h: Change FP to 29. Define arg regs. + +Tue Oct 15 16:30:07 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in (init.c): Don't use -s option with grep. It means + something different under Digital Unix. + + * buildsym.c (finish_block): Treat LOC_BASEREG_ARG and + LOC_LOCAL_ARG as arguments so that GDB will know about function + args declared this way. Mostly affects dwarf. + * dwarfread.c (decode_die_type): Change default type from int to + void. This allows GDB to recognize void functions. + * (new_symbol): If AT_PROTOTYPED is present, set a flag in the + type structure. + * findvar.c (extract_floating store_floating): Clean up comments + to reflect reality. + * gdbtypes.h: Add TYPE_FLAG_PROTOTYPED so that we can tell if a + function has a prototype. Currently, only dwarf supports this. + * utils.c (floatformat_from_doublest): Fix logic error with + converting from double to float. (It wasn't shifting mant_long if + it had a hidden bit.) + * v850-tdep.c: Add support for function calling. Fix some + problems with debugging code w/o debug symbols. + * config/v850/tm-v850.h: Ditto. + +Tue Oct 15 18:19:42 1996 Ian Lance Taylor + + * utils.c: Always ensure that size_t is defined. Check + HAVE_STDDEF_H rather than __STDC__ + (xmalloc, xrealloc): Use size_t rather than long. + +Tue Oct 15 14:24:19 1996 Martin M. Hunt + + * config/powerpc/tm-ppc-eabi.h: Undefine NO_SINGLE_STEP so targets + can use single-step commands. + +Sun Oct 13 11:38:25 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * stabsread.c (define_symbol): If REG_STRUCT_HAS_ADDR is non-zero, + follow typedefs before checking TYPE_CODE for structures and unions. + +Fri Oct 11 15:43:54 1996 Stu Grossman (grossman@critters.cygnus.com) + + * frame.h: Move definition of struct frame_saved_regs to before + struct frame to make it possible to use frame_saved_regs in + EXTRA_FRAME_INFO macro. + + * v850-tdep.c config/v850/tm-v850.h: Lotsa new functions and + macros to make frame operations (such as backtrace) work. + +Fri Oct 11 14:23:50 1996 Fred Fish + + * dbxread.c (process_one_symbol): Check for null string directly + rather than using strcmp against "". + * partial-stab.h: Ditto. + +Fri Oct 11 12:18:32 1996 Mark Alexander + + * gdbserver/{gdbreplay.c,low-linux.c,remote-utils.c,utils.c}: + Make it compile on Linux and eliminate some warnings. + +Thu Oct 10 16:32:08 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in (init.c): Fixup final sed script to work around + Linux bug with `p' operator. + +Wed Oct 9 18:02:48 1996 Stan Shebs + + * remote-mips.c: Use the correct name everywhere (DDB) for NEC's + VR4300 target. + (ddb_ops, pmon_ops): Fix the documentation strings. + +Wed Oct 9 07:42:44 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in (init.c): Retro HPUX grep lacks -h option. Strip + filenames with sed instead. + +Tue Oct 8 15:59:44 1996 Stu Grossman (grossman@critters.cygnus.com) + + * defs.h: Remove decls of xmalloc and xrealloc. There is a + conflicting definition in libiberty.h. + +Tue Oct 8 11:47:13 1996 Fred Fish + + * dbxread.c (dbx_symfile_read): Call free_pending_blocks rather + than poking global variable (which is now static). + * hpread.c (hpread_build_psymtabs): Ditto. + * os9kread.c (os9k_symfile_read): Ditto. + * xcoffread.c (xcoff_initial_scan): Ditto. + + * buildsym.h (free_pending_blocks): Declare here. + (pending_blocks): Remove declaration of global symbol. + (free_pendings): Remove declaration of global symbol. + (make_blockvector): Declare here. + (record_pending_block): Declare here. + + * dstread.c (make_blockvector): Remove static copy that was old + clone of version in buildsym.c. + (process_dst_block): Call record_pending_block rather than doing + it by hand. + (read_dst_symtab): Ditto. + + * buildsym.c (make_blockvector): Make global rather than static, + (record_pending_block): New function, code moved from finish_block. + (finish_block): Use record_pending_block. + (free_pending_blocks): New function. + (really_free_pendings): Call free_pending_blocks. + (pending_blocks): Make static instead of global. + (free_pendings): Make static instead of global. + +Tue Oct 8 09:03:22 1996 Stu Grossman (grossman@critters.cygnus.com) + + * config/i386/windows.mh config/i386/xm-windows.h:: New config + files to support building Wingdb (built under Microsoft build + environment). + + * Makefile.in: Add rule for hpux-thread.o (needs special header + files). + * (SUBDIRS): Remove mswin. + * Change procedure for creating init.c. Speeds things up quite a + bit. + * config.in configure configure.in: Check for select, poll. + * Check for OSF header files before including hpux-thread.o. + * Don't configure doc or testsuite when building under MSVC. + * findvar.c value.h (read_register_pid write_register_pid): Make + global. Needed for hppa-tdep.c. + * (supply_register): Don't set pid to inferior_pid when supplying + registers. + * hppa-tdep.c (saved_pc_after_call): frame_saved_pc -> + FRAME_SAVED_PC. + * (frame_saved_pc): Change name to hppa_frame_saved_pc. + * (hppa_pop_frame): Don't use a pid of 0 with target_write_pc. + Use write_pc instead, which uses the correct pid. + * (target_read_pc target_write_pc): Use read/write_register_pid + instead of read/write_register to preserve the pid passed in. + * inftarg.c (child_can_run): Add flag child_suppress_run to allow + hpux-threads.c to override this as a runnable target. + * config/pa/nm-hppah.h: Define target_new_objfile and + target_pid_to_str. + * config/pa/tm-hppa.h (FRAME_SAVED_PC): Use hppa_frame_saved_pc + instead of frame_saved_pc. + * config/m68k/tm-m68k.h: Define TARGET_M68K for Wingdb. + * config/m68k/tm-monitor.h: Use FRAME_CHAIN_VALID_ALTERNATE, since + we can't easily determine the start file bounds with ELF. + * config/mips/tm-mips.h: Define TARGET_MIPS for Wingdb. + * hpux-thread.c: New file for HPUX/OSF thread support. + * osf-share/{README AT386/cma_thread_io.h HP800/cma_thread_io.h + RIOS/cma_thread_io.h cma_attr.h cma_deb_core.h cma_debug_client.h + cma_errors.h cma_handle.h cma_init.h cma_list.h cma_mutex.h + cma_sched.h cma_semaphore_defs.h cma_sequence.h cma_stack.h + cma_stack_int.h cma_tcb_defs.h cma_util.h}: New files for OSF + thread support. + +Sun Oct 6 15:48:09 1996 Fred Fish + + * buildsym.c (finish_block): Change innerblock_anon_complaint to + print the addresses as part of the complaint. Add a complaint for + cases where the block end address is smaller than the block start + address, in case any such conditions slip through our fixup mechanism. + * symmisc.c (dump_symtab): Only print blockvector for primary + symtabs, to avoid massive duplication of output due to secondary + symtabs that point to same blockvector. Also do some minor + formatting tweaks. + +Mon Oct 7 10:42:32 1996 Per Bothner + + Replace header_files global by per-objfile field. + * gdb-stabs.h (struct dbx_symfile_info): Add fields header_files, + n_header_files, n_allocated_header_files. + * stabsread.h (header_files, n_header_files, n_allocated_header_files): + Replace externs by macros HEADER_FILES, N_HEADER_FILES, and + N_ALLOCATED_HEADER_FILES. + * dbxread.c (dbx_symfile_finish): Free HEADER_FILES. + (free_header_files, init_header-files): Don't free/init headerfiles. + (various functions): Use macros instead of header_files globals. + * stabsread.c (various functions): Likewise. + +Sun Oct 6 22:43:06 1996 Jason Merrill + + * dwarf2read.c (read_tag_reference_type): New fn. + (read_type_die): Call it. + (dwarf_attr): Also look in the DIEs referred to by specification + or abstract_origin attributes. + +Wed Oct 2 22:07:16 1996 Fred Fish + + * inferior.h (IN_SIGTRAMP): Pass pc to SIGTRAMP_START and + SIGTRAMP_END. + * config/i386/tm-i386os9k.h (SIGTRAMP_START, SIGTRAMP_END): + Define with dummy pc arg. + * config/m68k/tm-nbsd.h: Ditto. + * doc/gdbint.texinfo: Document that SIGTRAMP_START and + SIGTRAMP_END are macros that take an single argument. + +Mon Sep 30 20:02:45 1996 Fred Fish + + * defs.h: Remove define of PRIVATE_XMALLOC. + +Mon Sep 30 15:39:28 1996 Stu Grossman (grossman@critters.cygnus.com) + + * config/v850/tm-v850.h: Use distinct register for PC, not EIPC. + +Mon Sep 30 11:16:34 1996 Jeffrey A Law (law@cygnus.com) + + * top.c (execute_control_command): Free values from while_control + and if_control conditions after evaluation to avoid storage leaks. + From Peter Schauer. + +Fri Sep 27 17:43:06 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure configure.in: Recognize v850 target. + * v850-tdep.c: New file, NEC V850 target support. + * config/v850/{v850.mt tm-v850.h}: New files for NEC V850 support. + +Fri Sep 27 14:48:15 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (wait_for_inferior): Update current_line and + current_symtab when stepping continues in the middle of a new line. + +Fri Sep 27 10:25:30 1996 Fred Fish + + * top.c (print_gdb_version): Rewrote to comply with new GNU coding + standards for the --version option. + (print_gnu_advertisement): Remove, now part of print_gdb_version. + (show_version): Remove call to print_gnu_advertisement. + * top.h (print_gnu_advertisement): Remove prototype. + * main.c (print_gdb_help): Move help to static function and + add prototype. + (main): Call print_gdb_help rather than inlining it. + (main): Remove call to print_gnu_advertisement. + +Fri Sep 27 13:32:53 1996 Michael Meissner + + * config/d10v/tm-d10v.h (TARGET_{INT,PTR}_BIT): Define. + (TARGET_{,LONG_}DOUBLE_BIT): Ditto. + +Thu Sep 26 23:10:26 1996 Mark Alexander + + * configure.in, config/i386/tm-linux.h: Fix configure + problem on older Linux systems that prevented core files + from being recognized. + +Wed Sep 25 18:31:33 1996 Stan Shebs + + * dbug-rom.c: New file, support for Motorola's dBUG monitor. + * config/m68k/monitor.mt (TDEPFILES): Add it. + * NEWS: Mention it. + +Mon Sep 23 16:13:50 1996 Martin M. Hunt + + * config/d10v/tm-d10v.h (SAVED_PC_AFTER_CALL): Fixed. + Now single-steps correctly. + * d10v-tdep.c (d10v_pop_frame): Fixed. + +Fri Sep 20 16:10:58 1996 Stan Shebs + + * config/sh/tm-sh.h (REGISTER_NAMES): Move fp registers to + be consistent with GCC. + (FPUL_REGNUM, etc): Renumber to match list changes. + (ADDR_BITS_REMOVE): Delete. + * sh-tdep.c (sh_reg_names, sh3_reg_names, sh3e_reg_names): + Rearrange to match REGISTER_NAMES. + * sh3-rom.c (sh3_regnames, sh3e_regnames): Ditto. + +Thu Sep 19 16:19:01 1996 Martin M. Hunt + + * d10v-tdep.c: Stack chain should work now. + +Tue Sep 17 18:46:57 1996 Martin M. Hunt + + * d10v-tdep.c, config/d10v/tm-d10v.h: Snapshot. + +Tue Sep 17 12:20:50 1996 Ian Lance Taylor + + * configure.in: Add cases for MIPS 5000 like MIPS 4300. + * configure: Rebuild. + +Tue Sep 17 12:09:00 1996 Dawn Perchik + + * ser-e7kpc.c: Added wingdb support for target e7000pc. + +Tue Sep 17 10:56:52 1996 James G. Smith + + * remote-mips.c (pmon_wait): DDB PMON does not require forced + re-entry back into debug mode. + +Mon Sep 16 14:32:58 1996 James G. Smith + + * remote-mips.c (mips_load): Ensure that the PC is explicitly + loaded after a load to a DDB PMON system. + +Fri Sep 13 12:02:39 1996 Fred Fish + + * Makefile.in (INTERNAL_LDFLAGS): Add @HLDFLAGS@ to list. + (HLDENV): Set to @HLDENV@. + (gdb): Prefix link command line with $(HLDENV). + * configure.in: Add support to test for --enable-shared and + generate appropriate values for HLDFLAGS and HLDENV. + * configure: Regenerated with autoconf. + +Sun Sep 8 15:26:27 1996 Fred Fish + + * alpha-nat.c (fetch_core_registers): Match Sep 4 gdbcore.h prototype + change for core_read_registers in struct core_fns. + * core-regset.c (fetch_core_registers): Ditto & add prototype. + * core-sol2.c (fetch_core_registers): Ditto & add prototype. + * i386aix-nat.c (fetch_core_registers): Ditto & add prototype. + * i386b-nat.c (fetch_core_registers): Ditto. + * i386mach-nat.c (fetch_core_registers): Ditto & add prototype. + * irix4-nat.c (fetch_core_registers): Ditto. + * irix5-nat.c (fetch_core_registers): Ditto. + * lynx-nat.c (fetch_core_registers): Ditto & add prototype. + * m68knbsd-nat.c (fetch_core_registers): Ditto. + * mips-nat.c (fetch_core_registers): Ditto & add prototype. + * rs6000-nat.c (fetch_core_registers): Ditto. + * sparc-nat.c (fetch_core_registers): Ditto. + * sun3-nat.c (fetch_core_registers): Ditto & add prototype. + * ultra3-nat.c (fetch_core_registers): Ditto & add prototype. + + * alpha-nat.c (register_addr): Match Sep 4 gdbcore.h prototype change. + * delta68-nat.c (register_addr): Ditto. + * gdbserver/low-linux.c (register_addr): Ditto. + * gdbserver/low-hppabsd.c (register_addr): Ditto. + * i386m3-nat.c (register_addr): Ditto. + * mips-nat.c (register_addr): Ditto. + * ultra3-nat.c (register_addr): Ditto. + +Sun Sep 8 15:14:00 1996 Stu Grossman (grossman@critters.cygnus.com) + + * blockframe.c (inside_main_func): Cleanup slightly. Move + mainsym def into the block it's used in. + * configure.in configure: Allow NATDEPFILES to be recognized in + .mh files regardless of whitespace. + + * cpu32bug-rom.c (cpu32bug_cmds): Change load_response string to + keep downloads from hanging. + + * remote-wiggler.c: Add support for flash upgrades. + * (wiggler_error): Fix message format. Add new error code. + * (wiggler_write_byets): Error code is hex. Report errors with + proper routine name. + * (wiggler_read_byets): Report errors with proper routine name. + * (get_packet): Add support for new flash commands. + * (wiggler_load): Call clear_symtab_users() to reset things + properly after download. + * (flash_xfer_memory bdm_update_flash_command): New funxtions to + support flash upgrades for Wiggler. + * (_initialize_remote_wiggler): Add `bdm update-flash' command. + +Fri Sep 6 13:14:13 1996 Geoffrey Noer + + * ser-tcp.c: don't include netinet/tcp.h if __CYGWIN32__ + +Thu Sep 5 17:05:13 1996 Geoffrey Noer + + * config/i386/cygwin32.mh: + * config/powerpc/cygwin32.mh: build ser-tcp.o for both hosts + +Thu Sep 5 12:09:13 1996 Per Bothner + + * value.h (COERCE_REF): Fix previous change. + (COERCE_ENUM): Add a check_typedef (this is the real fix). + +Thu Sep 5 03:28:30 1996 Wilfried Moser + + * eval.c (evaluate_subexp_standard): In case of OP_ARRAY: make a + better check of array boundaries. + +Thu Sep 5 01:29:42 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure: Update aclocal.m4 and re-run autoconf to get correct + defs for BFD stuff. + * remote-wiggler.c (wiggler_error): Error codes are hex. Also, + fix default message generation. + +Wed Sep 4 17:28:40 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in: Add mswin to SUBDIRS. Add rules for + mswin/libwingdb.a and remote-wiggler.o. + * breakpoint.c (breakpoint_here_p): Clean up bp enabled test. + * (breakpoint_inserted_here_p): New func, just like + breakpoint_here_p, except it's honest. Honestly. + * breakpoint.h: Proto for above. + * configure configure.in: Add mswin to configdirs if host is + i[3456]86-*-windows. + * core-aout.c (fetch_core_registers register_addr) gdbcore.h: + Change all vars that can contain addresses to type CORE_ADDR. + * findvar.c (supply_register): Allow val to be NULL. This means + that regno is unsupported. + * (read_pc read_pc_pid write_pc write_pc_pid): Make non-pid forms + just call pid forms with inferior_pid so that there's only once + place to hack PC's and such. + * infrun.c (proceed): Don't skip breakpoints if user changed PC. + * remote-wiggler.c: New file. Support for BDM interface from + Macraigor Systems. + * serial.c: Enhance serial logging capability. Add hex and octal + output modes (set remotelogbase {hex|octal|ascii}. Also log + breaks, timeouts, errors, and eofs. + * serial.h: Redefine SERIAL_SEND_BREAK to go through a wrapper + function so that we can log breaks. Don't export serial_logfile + or serial_logfp. + * top.c (execute_command): Don't test for serial_logfp here. + Just call serial_log_comand, and let serial.c sort it out. + * valops.c (value_of_variable): Don't attempt to establish frames + for static and global variables. This makes things work a bit + better if the stack or frame pointer is trashed. + * config/m68k/monitor.mt (TDEPFILES): Add remote-wiggler.o. + * config/m68k/tm-m68k.h: Define STACK_ALIGN. CPU32 can't hack + misaligned stacks during function calls. + +Wed Sep 4 13:06:26 1996 Ian Lance Taylor + + * terminal.h: Don't use #elif. + +Wed Sep 4 06:49:35 1996 Wilfried Moser + + * ch-exp.c (parse_tuple_element): Allow (*): for array tuples + if we have a type. + + * eval.c (evaluate_subexp_standard): In case of OP_ARRAY: + check number of args against bounds of array to avoid + memory corruption. + + * value.h (COERCE_REF): Do a CHECK_TYPEDEF in case we get + a TYPE_CODE_TYPEDEF. + +Fri Aug 30 15:07:14 1996 James G. Smith + + * remote-mips.c: Provide support for DDBVR4300 target board. + (ddb_open, ddb_ops): Added. + (mips_monitor_type): MON_DDB Added. + (mips_enter_debug, mips_exit_debug, mips_initialize, + mips_fetch_registers, common_breakpoint, mips_load, + _initialize_remote_mips): Updated. + +Thu Aug 29 17:00:18 1996 Michael Meissner + + * nlm/configure.in (i[345]86-*-*): Recognize i686 for pentium pro. + * nlm/configure: Regenerate. + + * gdbserver/configure.in (i[345]86-*-*): Recognize i686 for + pentium pro. + +Wed Aug 28 13:11:15 1996 Ian Lance Taylor + + * configure.in: If CY_AC_PATH_TCLCONFIG can't find TCL, don't run + CY_AC_LOAD_TCLCONFIG. + * configure: Rebuild. + +Tue Aug 27 12:40:40 1996 Fred Fish + + * infrun.c (wait_for_inferior): Initialize stop_func_end before calling + find_pc_partial_function. + +Tue Aug 27 10:17:34 1996 Michael Meissner + + * configure: Regenerate again. + +Tue Aug 27 04:25:08 1996 Geoffrey Noer + + * configure.in: work around host_alias configure bug. + AC_CANONICAL_HOST is called twice (first by AC_CHECK_TOOL + and second by AC_CANONICAL_SYSTEM). The second clobbers the + previous setting. Circumventing by moving the second check + to before the first. + * configure: regenerated + +Mon Aug 26 18:36:54 1996 Martin M. Hunt + + * config/d10v/d10v.mt: New file. + * config/d10v/tm-d10v.h: New file. + * configure.in: New target D10V. + * d10v-tdep.c: New file. + +Sun Aug 25 00:09:47 1996 Fred Fish + + * rs6000-tdep.c: Fix typo in comment. + * valops.c (call_function_by_hand): Set using_gcc to 2 + for code compiled without -g, per comment in code. + * config/a29k/tm-a29k.h (STACK_ALIGN): Add comment. + * config/sparc/tm-sparc.h (STACK_ALIGN): Add comment. + * config/sparc/tm-sp64.h (STACK_ALIGN): Add comment. + * config/pyr/tm-pyr.h (STACK_ALIGN): Add comment. + * config/m88k/tm-m88k.h (STACK_ALIGN): Add comment. + * config/pa/tm-hppa.h (PUSH_ARGUMENTS): Enclose args in ()'s. + (STACK_ALIGN): Add comment, move to be with other associated + macros, and document. + * config/mips/tm-mips.h (PUSH_ARGUMENTS): Enclose args in ()'s. + (STACK_ALIGN): Remove completely, handled by PUSH_ARGUMENTS. + * config/alpha/tm-alpha.h (PUSH_ARGUMENTS): Enclose args in ()'s. + * config/rs6000/tm-rs6000.h (STACK_ALIGN): Remove completely, + handled by PUSH_ARGUMENTS. + (PUSH_ARGUMENTS): Enclose args in ()'s. + +Fri Aug 23 13:55:05 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (wait_for_inferior): Try to reenable shared library + breakpoints even if auto_solib_load is not set. + +Wed Aug 21 16:31:27 1996 Fred Fish + + * valprint.c (print_longest): Test for CC_HAS_LONG_LONG as well as + PRINTF_HAS_LONG_LONG. + * expprint.c (dump_expression): Ditto. + * configure.in: Fix check for long long support in compiler to + use a function body, not a nested function. + * configure: Rebuild with autoconf. + +Tue Aug 20 17:59:42 1996 Ian Lance Taylor + + * aclocal.m4: Include ../bfd/aclocal.m4. + * configure.in: Add stdlib.h to AC_CHECK_HEADERS. Call + BFD_NEED_DECLARATION on malloc, realloc, and free. + * acconfig.h: Add NEED_DECLARATION_MALLOC, + NEED_DECLARATION_REALLOC, and NEED_DECLARATION_FREE. + * configure, config.in: Rebuild. + * defs.h: Include and based on HAVE_*_H + rather than __STDC__. Only declare malloc, realloc, and free if + NEED_DECLARATION_* is defined. + +Tue Aug 20 15:37:03 1996 Fred Fish + + * solib.c (_initialize_solib): Add missing '\' chars at ends of + strings that continue on next line. + (enable_break): Replace "return 0" with setting success to zero + and letting normal return handle the return. + +Sat Aug 17 14:16:23 1996 Fred Fish + + * mips-tdep.c (mips_push_arguments): Make sure sp and struct_addr + are properly aligned. + +Fri Aug 16 17:54:26 1996 Stan Shebs + + * rs6000-tdep.c (rs6000_fix_call_dummy): Add full set of arguments. + * config/rs6000/tm-rs6000.h (FIX_CALL_DUMMY): Pass all arguments + to function, declare function correctly. + +Fri Aug 16 17:24:35 1996 Dawn Perchik + + * symtab.h: changed namespace to _namespace for compiling under + MFC v4.0. + +Fri Aug 16 13:52:21 1996 Stan Shebs + + * mpw-make.sed: Update for various recent changes, add some + comments. + +Fri Aug 16 15:47:36 1996 Michael Meissner + + * config/rs6000/tm-rs6000.h (FIX_CALL_DUMMY): Cast args to be an + integer for type correctness. + +Fri Aug 16 15:15:37 1996 James G. Smith + + * config/mips/{vr4300.mt, vr4300el.mt} (SIM): Add -lm when + simulator is included. + +Thu Aug 15 13:44:13 1996 Fred Fish + + * findvar.c (write_register_pid): Only needed when TARGET_WRITE_PC + is not defined. + (read_register_pid): Only needed when TARGET_READ_PC is not + defined. + * hppa-tdep.c (frame_saved_pc): Remove prototype. + * infptrace.c (udot_info): Prototype when CHILD_XFER_MEMORY is + not defined. + * config/xm-aix4.h (aix_resizewindow): Convert old style decl + to prototype. + * xcoffsolib.c (command.h): Include for needed prototypes. + +Wed Aug 14 17:54:19 1996 Stu Grossman (grossman@critters.cygnus.com) + + * config/i386/cygwin32.mh: Set NAT_FILE to nm-empty.h to make + native work. + +Wed Aug 14 02:03:42 1996 Fred Fish + + From Blair MacIntyre : + * hppa-tdep.c (hppa_fix_call_dummy): Use MSYMBOL_TYPE rather + than SYMBOL_TYPE on msymbols. + * somsolib.c (som_solib_create_inferior_hook): Ditto. + + * Makefile.in (init.c): Generate with prototypes. + + * config/pa/tm-hppa.h (frame_saved_pc): Add prototype. + * config/rs6000/xm-rs6000.h (aix_resizewindow): Ditto. + * config/rs6000/tm-rs6000.h (frame_initial_stack_address): Ditto. + (pc_load_segment_name): Ditto. + (pop_frame): Ditto. + (extract_return_value): Ditto. + (is_magic_function_pointer): Ditto. + (push_dummy_frame): Ditto. + (fix_call_dummy): Ditto. + (push_arguments): Ditto. + (skip_trampoline_code): Ditto. + (aix_process_linenos): Ditto. + + * config/m68k/tm-cisco.h (get_longjmp_target): Add prototype. + * config/m68k/tm-es1800.h: Ditto. + * config/m68k/tm-vx68.h: Ditto. + * config/m68k/tm-sun3.h: Ditto. + * config/m68k/tm-m68kv4.h: Ditto. + +Tue Aug 13 23:04:36 1996 Fred Fish + + * config/mips/nm-mips.h (get_longjmp_target): Add prototype. + * config/mips/nm-irix3.h (get_longjmp_target): Add prototype. + * remote-mips.c (mips_read_processor_type): Remove prototype. + * mips-tdep.c (gdb_print_insn_mips): Add prototype and make static. + * irix5-nat.c (fetch_core_registers): Add prototype. + +Mon Aug 12 21:23:44 1996 Fred Fish + + * remote-pa.c (boot_board): Add dummy params to make type compatible + for passing to add_com. + * scm-exp.c (scm_lreadr): Ensure svalue is not used uninitialized. + * buildsym.c (compare_line_numbers): Change function to match + prototype and also what qsort expects. + +Mon Aug 12 19:19:00 1996 Mark Alexander + + * remote.c: Make remote_write_size public. + * sh-tdep.c (_initialize_sh_tdep): Set remote_write_size to 300 + to prevent packet errors with some versions of CMON. + +Mon Aug 12 16:20:58 1996 Stu Grossman (grossman@critters.cygnus.com) + + * defs.h: Define CONST_PTR as blank if compiling with Microsoft + C, else it's `const'. + * c-lang.c c-lang.h ch-lang.c f-lang.c language.c m2-lang.c + scm-lang.c: Microsoft C can't hack const pointers. Use CONST_PTR + macro instead. + * configure configure.in defs.h: Use AC_C_CONST to figure out if + the compiler supports const. Gets rid of some cruft in defs.h. + * dwarf2read.c: -> "gdb_string.h" + * remote-sim.c: Add prototypes. Fix call to gdbsim_kill. + * sparcl-tdep.c (download): Add prototypes to write_routine and + start_routine args. + + * mswin/gdbwin.c: Don't include both varargs.h AND stdarg.h. Get + rid of varargs.h Include string.h. + * (gdbwin_update gdbwin_fputs regs_changed_f bpt_changed_f + update): Fix prototypes, fix calls. + * (update): Return value for catch_errors. + * (run_execute_command togdb_command_from_tty togdb_command): + Cleanup catching of errors from calls to execute_command. Also, + dup command string to avoid modifying const strings. + * (togdb_breakinfo_i_init togdb_breakinfo_i_next): Use 0 instead + of NULL when see if b->address isn't set. + * (bi_disable_bpt bi_enable_bpt bi_delete_all + bi_delete_breakpoint): Add arg to calls to update. + * (gui_command): Add prototype. + * (mswin_query): Fix prototype. + * (_initialize_gdbwin): Dup string to avoid modifying const. + * (info_path togdb_get_info_path): Remove const from decls cuz + this can't be const (it points at malloc'ed memory). + * (togdb_searchpath): Remove const from path. Dup string to + avoid modifying const strings. + * rindex -> strrchr. + * (gdbwin_list_symbols): Regexp param is const. + * Fix lots of refs to psymtabs to deref correct pointers. + * (togdb_set_breakpoint_sal): Call set_breakpoint_sal with sal, + not &sal. + * mswin/gdbwin.h (togdb_searchpath togdb_get_info_path + toget_set_info_path): Fix prototypes to match reality. + * mswin/gui.cpp: Define _beginthreadex and _endthreadex routines + with proper prototypes. + * mswin/iface.cpp (gdbwin_fputs): Define with correct number of args. + * mswin/ser-win32s.c: Fix defs of min and max. + * mswin/serdll32.c (OpenComm16): Make cbInQueue and cbOutQueue be + USHORT. + * (WriteComm16): Change lpBug from LPVOID to LPCSTR. + * mswin/serdll32.h: Fix prototypes for OpenComm16 and WriteComm16. + +Sun Aug 11 20:54:16 1996 Stu Grossman (grossman@critters.cygnus.com) + + * main.c (main): Make sure command loop is used with cygwin32. + * terminal.h: Allow cygwin32 to use termios.h. + +Fri Aug 9 12:42:49 1996 Jeffrey A Law (law@cygnus.com) + + * somread.c (som_symtab_read): Handle secondary definition + symbols (aka weak symbols). + + * config/tm-hppa.h (EXTRACT_RETURN_VALUE): Fix thinko in + last change. + +Thu Aug 8 10:12:36 1996 Stu Grossman (grossman@critters.cygnus.com) + + * symfile.c (symfile_bfd_open): Change ifdef from __WIN32__ to + _WIN32. + + * somread.c: Rearrange order of includes to fix warnings under + hpux-10.10. Also don't include sys/file.h. + +Wed Aug 7 21:45:52 1996 Stu Grossman (grossman@critters.cygnus.com) + + * dbxread.c: Don't include param.h or sys/file.h. + * (dbx_symfile_read): Determine symfile_relocatable from bfd + flags instead of file extension. Also clean up a little bit. + +Wed Aug 7 17:18:37 1996 Stu Grossman (grossman@critters.cygnus.com) + + * dwarf2read.c dwarfread.c exec.c infcmd.c infrun.c main.c + mdebugread.c os9kread.c source.c top.c utils.c: Don't + include param.h or sys/file.h (or unistd.h in some cases). + * defs.h exec.c inflow.c remote-array.c remote-e7000.c + sparcl-tdep.c terminal.h utils.c: Replace all occurances of + __WIN32__, WINGDB, WIN32, etc... with _WIN32. + * main.c: Remove #ifndef WINGDB around option processing. Fix + bug with passing argc==0 and argv==NULL to getopt. + * (main) Remove calls to access() before source_command. Let + soure_command handle access errors. + * maint.c (maintenance_dump_me): #ifdef out for _WIN32. + * symtab.c (operator_chars): Make this global for wingdb. + * top.c (disconnect): #ifdef out for _WIN32. + * (source_command): If got an error and from_tty, then call print + error, else just return quietly. + * utils.c (fatal_dump_core): Can't kill ourselves under windows. + Just exit. + * (pollquit notice_quit): #ifdef out stuff that doesn't exist + under windows. + +Wed Aug 7 09:59:19 1996 Jeffrey A Law (law@cygnus.com) + + * config/pa/tm-hppa.h (EXTRACT_RETURN_VALUE): Tweak for + structures > 4 bytes in size. + + * valops.c (call_function_by_hand): Handle aligning stacks that + grow up correctly. + * config/pa/tm-hppa.h (USE_STRUCT_CONVENTION): Define. + (STACK_ALIGN): Define. + * hppa-tdep.c (hppa_alignof): Don't demand a minumim two byte + alignment on structs/unions. + +Sun Aug 4 16:22:42 1996 Fred Fish + + * config/powerpc/nm-aix.h (PTRACE_ARG3_TYPE): Define to "int *", + which is the documented type under at least AIX 3 and AIX 4. + +Sat Aug 3 04:02:46 1996 Fred Fish + + * config/alpha/alpha-osf3.mh (XM_FILE): Change from xm-alpha.h to + xm-alphaosf.h. + (MMALLOC_CFLAGS): Define NO_MMCHECK to not install consistency + checks. + +Thu Aug 1 10:11:34 1996 Fred Fish + + * config/mips/tm-mips.h (TM_MIPS_H): Enclose file contents in + this, define when contents are included. + (mips_read_processor_type): Add prototype. + * config/mips/xm-mips.h: Remove strdup decl, now in gdb_string.h + * mdebugread.c (ecoff_relocate_efi): Add prototype. + (fixup_sigtramp): Only needed when TM_MIPS_H is defined. + +Wed Jul 31 20:21:24 1996 Fred Fish + + * rs6000-nat.c (add_vmap): Return 0 to caller rather than random value. + (vmap_ldinfo): Ensure got_exec_file is not used uninitialized. + (fetch_core_registers): Add prototype. + (vmap_symtab): Ditto. + (objfile_symbol_add): Ditto. + (add_vmap): Ditto. + (vmap_ldinfo): Ditto. + (vmap_exec): Ditto. + +Tue Jul 30 17:57:46 1996 Stan Shebs + + * stabsread.c (get_substring): Declare second arg as int. + + * remote-es.c: Include gdb_string.h after defs.h. + +Mon Jul 29 21:13:20 1996 Fred Fish + + * rs6000-tdep.c (push_arguments): Remove unused variable "pc". + (branch_dest): Remove unused variable "offset". + (pop_dummy_frame): Add prototype and make static. + (push_arguments): Guard against using len uninitialized. + (push_arguments): Guard against using arg uninitialized. + (frame_saved_pc): Remove unused variable "frameless". + (free_loadinfo): Ifdef out unused function. + + * xcoffread.c (compare_lte): Change prototype and function to + be correct type for passing to qsort. + (add_stab_to_list): Ifdef out unused function and prototype. + (compare_lte): Add prototype + (arrange_linetable): Ditto. + (record_include_begin): Ditto. + (record_include_end): Ditto. + (process_linenos): Ditto. + (xcoff_next_symbol_text): Ditto. + (scan_xcoff_symtab): Ditto. + (xcoff_initial_scan): Ditto. + + * mips-tdep.c (mips_read_processor_type): Add parens around + bitwise-and operands in comparison; previous expression always + evaluated to 0 because of equality comparison of two constants. + + * rs6000-tdep.c (skip_prologue): Add missing parens around + operands of logical-or so that first operand does not bind + to previous logical-and. + + * configure.in: Expand "long long" test to include code that triggers + known problem on HPUX with native compiler. + (configure): Regenerated. + +Mon Jul 29 18:12:27 1996 Jeffrey A Law (law@cygnus.com) + + * somsolib.c (som_solib_create_inferior_hook): Don't + warn if __d_pid can't be found. + +Sun Jul 28 10:46:39 1996 Fred Fish + + * config/mips/tm-mips.h (struct frame_info): Forward decl. + (struct type): Ditto. + (struct value): Ditto. + + * config/mips/tm-mips.h (sigtramp_address): Move extern decl + from mips-tdep.c to here. + (sigtramp_end): Ditto. + (fixup_sigtramp): Ditto. + + * config/mips/tm-mips.h (init_extra_frame_info): Add prototype. + (mips_frame_chain): Ditto. + (mips_step_skips_delay): Ditto. + (mips_frame_saved_pc): Ditto. + (mips_find_saved_regs): Ditto. + (mips_frame_num_args): Ditto. + (mips_pop_frame): Ditto. + (mips_extract_return_value): Ditto. + (mips_store_return_value): Ditto. + (mips_push_dummy_frame): Ditto. + (mips_push_arguments): Ditto. + (mips_do_registers_info): Ditto. + (ecoff_relocate_efi): Ditto. + (ecoff_relocate_efi): Ditto. + * irix4-nat.c (fetch_core_registers): Add prototype. + * mips-tdep.c (read_next_frame_reg): Add prototype + (heuristic_proc_start): Ditto. + (heuristic_proc_desc): Ditto. + (mips_print_register): Ditto. + * config/mips/nm-irix5.h (procfs_set_watchpoint): Add prototype. + (procfs_stopped_by_watchpoint): Ditto. + * config/mips/nm-irix4.h (procfs_set_watchpoint): Add prototype. + (procfs_stopped_by_watchpoint): Ditto. + * config/alpha/tm-alpha.h (ecoff_relocate_efi): Add prototype. + (struct symbol): Add forward decl for prototype. + + * breakpoint.c (internal_breakpoint_number): Only needed if + GET_LONGJMP_TARGET or SOLIB_ADD is defined. + + * objfiles.c (ecoff_relocate_efi): Remove prototype. + +Sat Jul 27 17:47:35 1996 Fred Fish + + * configure.in: Add test for "long long" support. + * configure: Regenerate with autoconf. + * acconfig.h: Add CC_HAS_LONG_LONG + * config.in: Regenerate with autoheader. + * config/mips/tm-mips64.h (FORCE_LONG_LONG): Remove + * config/sparc/tm-sp64.h (CC_HAS_LONG_LONG): Remove. + * config/mips/tm-vr4300el.h (CC_HAS_LONG_LONG): Remove. + * config/mips/tm-vr4300.h (CC_HAS_LONG_LONG): Remove. + * config/mips/xm-irix5.h (CC_HAS_LONG_LONG): Remove + (PRINTF_HAS_LONG_LONG): Remove. + (FORCE_LONG_LONG): Remove. + * config/powerpc/xm-aix.h (UINT_MAX): Undef and use gdb's version. + * config/convex/xm-convex.h (CC_HAS_LONG_LONG): Remove + (PRINTF_HAS_LONG_LONG): Remove. + * config/xm-nbsd.h (CC_HAS_LONG_LONG): Remove. + (PRINTF_HAS_LONG_LONG): Remove. + * config/pa/tm-hppa.h (GET_FIELD): Put parens around + subtraction inside shift. Put parens around subtraction + in operand of bitwise and. + (struct frame_info): Forward declare + if __STDC__ defined. + (frame_saved_regs): Ditto. + (struct value): Ditto. + (struct type): Ditto. + (struct inferior_status): Ditto. + (init_extra_frame_info): Add prototype. + (skip_prologue): Ditto. + (frameless_function_invocation): Ditto. + (frame_chain): Ditto. + (frame_chain_valid): Ditto. + (saved_pc_after_call): Ditto. + (hppa_fix_call_dummy): Ditto. + (hppa_push_arguments): Ditto. + (pa_do_registers_info): Ditto. + (in_solib_call_trampoline): Ditto. + (in_solib_return_trampoline): Ditto. + (push_dummy_frame): Ditto. + * convex-tdep.c (decout): Use print_longest rather than + fprintf_filtered. + * defs.h: Remove use of FORCE_LONG_LONG and __GNUC__ to set + CC_HAS_LONG_LONG. + (INT_MIN): Fix so it works correctly when assigned to a long long. + * valprint.c (longest_to_int): Rewrite to remove dependence + on INT_MIN and INT_MAX. + (print_longest): Rewrite the code that falls back to synthesized + hex output when LONGEST value is not representable as in a long and + printf doesn't support printing long longs. + * ch-valprint.c (chill_val_print): Cast 2nd arg of + chill_print_type_scalar to LONGEST. + chill_print_type_scalar): Make static and add prototype. + * hppa-tdep.c (get_field): Ifdef out unused function. + (set_field): Ditto. + (extract_3): Ditto. + (extract_5_store): Ditto. + (extract_11): Ditto. + (extract_12): Ditto. + (deposit_17): Ditto. + (extract_14): Convert to static and add prototype. + (deposit_14): Ditto. + (extract_21): Ditto. + (deposit_21): Ditto. + (extract_17): Ditto. + (extract_5r_store): Ditto. + (extract_5R_store): Ditto. + (extract_5_load): Ditto. + (find_proc_framesize): Ditto. + (find_dummy_frame_regs): Ditto. + (sign_extend): Ditto. + (find_unwind_entry): Add prototype. + (find_return_regnum): Ditto. + (unwind_command): Ditto. + (find_dummy_frame_regs): Add parens around subtraction in operand + of bitwise-and. + (skip_prologue): Add parens around operands of logical-and inside + operand of logical-or. + (sign_extend): Add parens around operands of subtraction inside + operand of shift. + (low_sign_extend): Ditto. + * top.c (filename_completer): Convert old style decl of + filename_completion_function into prototype. + * f-lang.c (patch_common_entries): Ifdef out unused function. + * stabsread.c (read_cfront_baseclasses): Remove unused local + variable "msg_noterm". + (resolve_cfront_continuation): Remove unused local variable "fip". + (read_type): Remove unused variable xtypenums. + (read_cfront_static_fields): Remove unused variable "i". + (read_cfront_static_fields): Remove unused variable "nfields". + (read_cfront_member_functions): Add missing comment terminator. + (read_cfront_static_fields): Return 1 rather than random value. + (read_cfront_baseclasses): Ditto. + (read_cfront_baseclasses): Ditto. + (read_cfront_baseclasses): Ditto. + * somsolib.c (som_solib_create_inferior_hook): Remove unused + variable "u". + (som_solib_create_inferior_hook): Remove unused variable + shadow_contents. + (language.h): Add for needed prototypes. + (som_solib_sharedlibrary_command): Add prototype. + * hpread.c: (hpread_read_array_type): Add prototype. + * somread.c (hpread_build_pysmtabs): Add prototype. + (hpread_symfile_finish): Ditto. + (hpread_symfile_init): Ditto. + * hppah-nat.c (fetch_register): Convert old style decl + to prototype. + (gdbcore.h): Include for needed prototypes. + (fetch_register): Remove unused variable "mess". + * remote-pa.c (get_offsets): Ifdef out unused function. + (remote_start_remote): Remove unused variable "timeout". + (boot_board): Add prototype. + (reaad_frame): Add prototype. + (getpkt): Remove unused variable "bp". + (remote_kill): Add prototype. + (remote_mourn): Add prototype. + (remote_insert_breakpoint): Add prototype. + (remote_remove_breakpoint): Add prototype. + * valops.c (value_push): Only use if PUSH_ARGUMENTS is not defined. + * infcmd.c (do_registers_info): Only need prototype if + DO_REGISTERS_INFO is not defined. + (breakpoint_auto_delete_contents): Only need if + CALL_DUMMY_BREAKPOINT_OFFSET is defined. + +Sat Jul 27 08:49:49 1996 Fred Fish + + * xcoffread.c (xcoff_end_psymtab): Add textlow_not_set parameter. + (END_PSYMTAB): Ditto. + (scan_xcoff_symtab): Call xcoff_end_psymtab with textlow_not_set. + +Fri Jul 26 14:07:37 1996 Ian Lance Taylor + + * printcmd.c (_initialize_printcmd): Initialize + tm_print_insn_info.flavour. + +Thu Jul 25 19:41:31 1996 Fred Fish + + * Makefile.in (scm-valprint.o): Depends upon gdbcore_h. + (arm-tdep.o): Ditto. + (dcache.o): Ditto. + (i386ly-tdep.o): Ditto. + (i960-tdep.o): Ditto. + (m68k-tdep.o): Ditto. + (nindy-tdep.o): Ditto. + (scm-lang.o): Ditto. + (w65-tdep.o): Ditto. + (z8k-tdep.o): Ditto. + (m68k-tdep.o): Depends upon value_h and gdb_string.h + (m2-valprint.o): Depends upon m2-lang.h. + (sparc-tdep.o): Depends upon gdb_string.h + (valprint.o): Depends upon valprint.h + + * remote-e7000.c (notice_quit): Remove prototype. + * top.c (initialize_targets): Remove prototype, now in target.h. + * stabsread.c (resolve_cfront_continuation): Remove prototype. + * dbxread.c (resolve_cfront_continuation): Remove prototype. + * symfile.h (set_demangling_style): Remove prototype. + * config/tm-sysv4.h (in_plt_section): Remove prototype, in objfiles.h. + * config/sparc/tm-sparc.h (single_step): Remove extern decl, now in + target.h. + * config/arc/tm-arc.h (one_stepped, single_step): Remove extern decls, + now in target.h. + * ser-unix.c (hardwire_restore): Remove obsolete prototype. + * sparc-tdep.c (single_step): Remove forward decl of isbranch. + * scm-lang.c (find_function_in_inferior): Remove prototype. + (value_allocate_space_in_inferior): Ditto. + * infrun.c (write_pc_pid): Remove prototype, now in inferior.h. + * defs.h (strchr): Remove declarations, they are declared in + gdb_string.h also. + (strrchr): Ditto. + (strstr): Ditto. + (strtok): Ditto. + (strerror): Ditto. + * f-valprint.c (f77_print_array_1): Remove extra arg that was being + passed to f77_print_array_1. + * gdbtypes.c (add_name): Remove unused variables lenstrlen and lenstr. + * scm-exp.c (scm_istr2int): Remove unused variable "j". + (scm_parse): Remove unused variable "str". + * hp300ux-nat.c (store_inferior_register): Remove unused variable + "buf". + (store_inferior_registers): Remove unnecessary decl "registers". + * m68k-tdep.c (m68k_pop_frame): Remove unused variable "fi". + * scm-lang.c (scm_get_field): Remove unused variable "val". + (scm_lookup_name): Remove unused variable "symval". + * objfiles.c (map_to_file): Remove unused local variable "tempfd". + * procfs.c (do_attach, do_detach): Remove unused variable "result". + (last_resume_pid): Remove unused static variable. + * alpha-tdep.c (alpha_linux_sigtramp_offset): Remove unused variable + "res". + * objfiles.c (map_to_address): Remove unused function. + * f-valprint.c (print_max): Remove extraneous extern decl, + in valprint.h. + (calc_f77_array_dims): Remove extraneous prototype, in f-lang.h. + * ch-exp.c (write_lower_upper_value): Remove prototype for + type_lower_upper. + + * gdbtypes.c (cfront_mangle_name): #ifdef out unused function. + * ch-exp.c (parse_mode_call): Ditto. + * f-valprint.c (there_is_a_visible_common_named): Ditto. + * f-lang.c (clear_function_list): Ditto. + (get_bf_for_fcn): Ditto. + (clear_bf_list): Ditto. + (add_common_block): Ditto. + (patch_all_commons_by_name): Ditto. + (find_first_common_named): Ditto. + (add_common_entry): Ditto. + (allocate_saved_function_node): Ditto. + (allocate_saved_bf_node): Ditto. + (allocate_common_entry_node): Ditto. + (allocate_saved_f77_common_node): Ditto. + + * arm-tdep.c (gdbcore.h): Include for necessary prototypes. + * dcache.c (gdbcore.h): Ditto. + * i386ly-tdep.c (gdbcore.h): Ditto. + * i960-tdep.c (gdbcore.h): Ditto. + * m2-valprint.c (m2-lang.h): Ditto. + * m68k-tdep.c (gdbcore.h): Ditto. + (value.h): Ditto. + (gdb_string.h): Ditto. + * nindy-tdep.c (gdbcore.h): Ditto. + * scm-lang.c (gdbcore.h): Ditto. + * scm-valprint.c (gdbcore.h): Ditto. + * w65-tdep.c (gdbcore.h): Ditto. + * z8k-tdep.c (gdbcore.h): Ditto. + * sparc-tdep.c (gdb_string.h): Include. + * valprint.c (valprint.h): Include. + + * config/xm-lynx.h: Remove part of comment about INT_MIN + redefined warnings from defs.h, since INT_MIN define in + defs.h is now protected by #ifndef INT_MIN. + * config/i386/xm-i386bsd.h: Ditto. + * config/m68k/xm-hp300bsd.h: Ditto. + * config/m68k/xm-news.h: Ditto. + + * config/pa/xm-hppah.h (INT_MIN): Remove bogus INT_MIN + definition as 0x80000000. The macro in defs.h is better. + * config/i386/xm-i386m3.h (INT_MIN): Ditto. + * config/i386/xm-i386mach.h (INT_MIN): Ditto. + * config/ns32k/xm-ns32km3.h (INT_MIN): Ditto. + * config/pa/xm-hppab.h: Ditto. + + * core-aout.c (fetch_core_registers): Add prototype. + * hp300ux-nat.c (fetch_inferior_register): Ditto. + (store_inferior_register_1): Ditto. + (store_inferior_register): Ditto. + * config/m68k/tm-m68k.h (find_saved_regs): Ditto. + *scm-valprint.c (c_val_print): Ditto. + * procfs.c (add_fd): Ditto. + (remove_fd): Ditto. + (wait_fd): Ditto. + (sigcodename): Ditto. + (sigcodedesc): Ditto. + (procfs_kill_inferior): Ditto. + (procfs_xfer_memory): Ditto. + (procfs_store_registers): Ditto. + (create_procinfo): Ditto. + (procfs_init_inferior): Ditto. + (proc_set_exec_trap): Ditto. + (procfs_attach): Ditto. + (procfs_detach): Ditto. + (procfs_prepare_to_store): Ditto. + (procfs_files_info): Ditto. + (procfs_open): Ditto. + (procfs_wait): Ditto. + (procfs_fetch_registers): Ditto. + (procfs_mourn_inferior): Ditto. + (procfs_can_run): Ditto. + (procfs_thread_alive): Ditto. + (procfs_stop): Ditto. + * alpha-nat.c (fetch_core_registers): Ditto. + * config/alpha/tm-alpha.h (alpha_osf_skip_sigtramp_frame): Ditto. + * objfiles.c (ecoff_relocate_efi): Ditto. + * inflow.c (pass_signal): Ditto. + (handle_sigio): Ditto. + * annotate.c (breakpoint_changed): Ditto. + * callback.c (wrap): Ditto. + (fdbad): Ditto. + (fdmap): Ditto. + * utils.c (malloc_botch): Ditto. + (fputs_maybe_filtered): Ditto. + (vfprintf_maybe_filtered): Ditto. + * defs.h (notice_quit): Ditto. + * defs.h (xmalloc, xrealloc): Ditto. + * top.c (stop_sig): Ditto. + (init_signals): Ditto. + (user_defined_command): Ditto. + (source_cleanup_lines): Ditto. + (dont_repeat_command): Ditto. + (serial_log_command): Ditto. + (disconnect): Ditto. + * target.h (initialize_targets): Ditto. + * os9kread.c (read_minimal_symbols): Ditto. + * mdebugread.c (mdebug_psymtab_to_symtab): Ditto. + (fdr_name): Ditto. + (push_parse_stack): Ditto. + (pop_parse_stack): Ditto. + (is_pending_symbol): Ditto. + (add_pending): Ditto. + * serial.c (serial_logchar): Ditto. + (serial_interface_lookup): Ditto. + * serial.h (serial_log_command): Ditto. + * f-valprint.c (info_common_command): Ditto. + * gdbtypes.h (print_type_scalar): Ditto. + * scm-valprint.c (scm_scmlist_print): Ditto. + (scm_ipruk): Ditto. + * scm-lang.c (scm_printstr): Ditto. + (in_eval_c): Ditto. + (evaluate_subexp_scm): Ditto. + * scm-exp.c (scm_read_token): Ditto. + (scm_skip_ws): Ditto. + (scm_lreadparen): Ditto. + * m2-lang.c (emit_char): Ditto. + (m2_printchar): Ditto. + (m2_printstr): Ditto. + (m2_create_fundamental_type): Ditto. + * f-lang.c (emit_char): Ditto. + (f_printchar): Ditto. + (f_printstr): Ditto. + (f_create_fundamental_type): Ditto. + * ch-lang.c (chill_printchar): Ditto. + (chill_printstr): Ditto. + (chill_create_fundamental_type): Ditto. + (value_chill_length): Ditto. + (value_chill_card): Ditto. + (value_chill_max_min): Ditto. + (evaluate_subexp_chill): Ditto. + * ch-exp.c (PEEK_TOKEN): Ditto. + (peek_token_): Ditto. + (forward_token_): Ditto. + (parse_case_label): Ditto. + (parse_opt_untyped_expr): Ditto. + (parse_unary_call): Ditto. + (parse_call): Ditto. + (parse_named_record_element): Ditto. + (parse_tuple_element): Ditto. + (parse_opt_element_list): Ditto. + (parse_tuple): Ditto. + (parse_primval): Ditto. + (parse_operand6): Ditto. + (parse_operand5): Ditto. + (parse_operand4): Ditto. + (parse_operand3): Ditto. + (parse_operand2): Ditto. + (parse_operand1): Ditto. + (parse_operand0): Ditto. + (parse_expr): Ditto. + (parse_then_alternative): Ditto. + (parse_else_alternative): Ditto. + (parse_if_expression): Ditto. + (parse_untyped_expr): Ditto. + (growbuf_by_size): Ditto. + (match_simple_name_string): Ditto. + (decode_integer_value): Ditto. + (decode_integer_literal): Ditto. + (match_float_literal): Ditto. + (match_float_literal): Ditto. + (match_string_literal): Ditto. + (match_character_literal): Ditto. + (match_integer_literal): Ditto. + (match_bitstring_literal): Ditto. + (write_lower_upper_value): Ditto. + * ch-lang.h (type_lower_upper): Ditto. + * c-lang.c (emit_char): Ditto. + * dwarfread.c (free_utypes): Ditto. + * stabsread.h (resolve_cfront_continuation): Ditto. + * stabsread.c (get_substring): Ditto. + (read_one_struct_field): Ditto. + * stabsread.h (process_later): Ditto. + * demangle.c (set_demangling_command): Ditto. + * defs.h (set_demangling_style): Ditto. + * maint.c (maintenance_info_command): Ditto. + (print_section_table): Ditto. + (maintenance_info_sections): Ditto. + (maintenance_print_command): Ditto. + * symtab.h (maintenance_print_statistics): Ditto. + * objfiles.h (in_plt_section): Ditto. + * objfiles.c (add_to_objfile_sections): Ditto. + * bcache.c (hash): Ditto. + (lookup_cache): Ditto. + * exec.c (bfdsec_to_vmap): Ditto. + (ignore): Ditto. + * f-exp.y (growbuf_by_size, match_string_literal): Ditto. + * language.c (unk_lang_printchar): Ditto. + (unk_lang_printstr): Ditto. + (unk_lang_create_fundamental_type): Ditto. + (unk_lang_print_type): Ditto. + (unk_lang_val_print): Ditto. + (unk_lang_value_print): Ditto. + * target.c (update_current_target): Ditto. + (debug_to_open): Ditto. + (debug_to_close): Ditto. + (debug_to_attach): Ditto. + (debug_to_detach): Ditto. + (debug_to_resume): Ditto. + (debug_to_wait): Ditto. + (debug_to_fetch_registers): Ditto. + (debug_to_store_registers): Ditto. + (debug_to_prepare_to_store): Ditto. + (debug_to_xfer_memory): Ditto. + (debug_to_files_info): Ditto. + (debug_to_insert_breakpoint): Ditto. + (debug_to_remove_breakpoint): Ditto. + (debug_to_terminal_init): Ditto. + (debug_to_terminal_inferior): Ditto. + (debug_to_terminal_ours_for_output): Ditto. + (debug_to_terminal_ours): Ditto. + (debug_to_terminal_info): Ditto. + (debug_to_kill): Ditto. + (debug_to_load): Ditto. + (debug_to_lookup_symbol): Ditto. + (debug_to_create_inferior): Ditto. + (debug_to_mourn_inferior): Ditto. + (debug_to_can_run): Ditto. + (debug_to_notice_signals): Ditto. + (debug_to_thread_alive): Ditto. + (debug_to_stop): Ditto. + * breakpoint.h (set_breakpoint_sal): Ditto. + * remote-utils.c (usage): Ditto. + * remote.c (set_thread): Ditto. + (remote_thread_alive): Ditto. + (get_offsets): Ditto. + (read_frame): Ditto. + (remote_insert_breakpoint): Ditto. + (remote_remove_breakpoint): Ditto. + * sparc-nat.c (fetch_core_registers): Ditto. + * corelow.c (add_to_thread_list): Ditto. + (ignore): Ditto. + * inftarg.c (proc_wait): Ditto. + * infptrace.c (udot_info): Ditto. + (fetch_register): Ditto. + * ser-unix.c (hardwire_noflush_set_tty_state): Ditto. + (hardwire_print_tty_state): Ditto. + (hardwire_flush_output): Ditto. + (hardwire_flush_input): Ditto. + (hardwire_send_break): Ditto. + (hardwire_setstopbits): Ditto. + * ser-tcp.c (tcp_return_0): Ditto. + (tcp_noflush_set_tty_state): Ditto. + (tcp_print_tty_state): Ditto. + * solib.c (match_main): Ditto. + * gdbtypes.c (print_bit_vector): Ditto. + (print_arg_types): Ditto. + (dump_fn_fieldlists): Ditto. + (print_cplus_stuff): Ditto. + * symfile.h (entry_point_address): Ditto. + * symfile.c (decrement_reading_symtab): Ditto. + * valops.c (value_arg_coerce): Ditto. + * value.h (find_function_in_inferior): Ditto. + (value_allocate_space_in_inferior): Ditto. + * values.c (vb_match): Ditto. + * thread.c (info_thread_command): Ditto. + (restore_current_thread): Ditto. + (thread_apply_all_command): Ditto. + (thread_apply_command): Ditto. + * inferior.h (write_pc_pid): Ditto. + * infrun.c (delete_breakpoint_current_contents): Ditto. + * breakpoint.c (print_it_normal): Ditto. + (watchpoint_check): Ditto. + (print_it_done): Ditto. + (print_it_noop): Ditto. + (maintenance_info_breakpoints): Ditto. + (create_longjmp_breakpoint): Ditto. + (hbreak_command): Ditto. + (thbreak_command): Ditto. + (watch_commnd_1): Ditto. + (rwatch_command): Ditto. + (awatch_command): Ditto. + (do_enable_breakpoint): Ditto. + * ch-valprint.c (chill_val_print_array_elements): Ditto. + * eval.c (evaluate_subexp): Ditto. + (get_label): Ditto. + (evaluate_struct_tuple): Ditto. + * eval.c (init_array_element): Ditto. + + * alpha-tdep.c (push_sigtramp_desc): Add prototype and make static. + * breakpoint.c (hw_breakpoint_used_count): Ditto. + (hw_watchpoint_used_count): Ditto. + * findvar.c (write_register_gen): Ditto. + (read_register_pid): Ditto. + * symtab.c (cplusplus_hint): Ditto. + * infcmd.c (breakpoint_auto_delete_contents): Ditto. + * ch-valprint.c (chill_print_type_scalar): Ditto. + * gdbtypes.c (add_name): Ditto. + (add_mangled_type): Ditto. + (cfront_mangle_name): Ditto. + * sparc-tdep.c (isbranch): Ditto. + * inftarg.c (child_stop): Ditto. + * win32-nat.c (child_stop): Ditto. + * mac-nat.c (child_stop): Ditto. + * remote-utils.c (sr_com): Ditto. + * dbxread.c (process_now): Ditto. + * ch-exp.c (require): Ditto. + (check_token): Ditto. + (expect): Ditto. + (parse_mode_call): Ditto. + (parse_mode_or_normal_call): Ditto. + * scm-lang.c (scm_lookup_name): Ditto + * f-lang.c (allocate_saved_bf_node): Ditto. + (allocate_saved_function_node): Ditto. + (allocate_saved_f77_common_node): Ditto. + (allocate_common_entry_node): Ditto. + (add_common_block): Ditto. + (add_common_entry): Ditto. + (find_first_common_named): Ditto. + (patch_common_entries): Ditto. + (patch_all_commons_by_name): Ditto. + (clear_bf_list): Ditto. + (get_bf_for_fcn): Ditto. + (clear_function_list): Ditto. + * scm-exp.c (scm_istr2int): Ditto. + (scm_istring2number): Ditto. + * scm-valprint.c (scm_inferior_print): Ditto. + * f-typeprint.c (print_equivalent_f77_float_type): Ditto. + * f-valprint.c (f77_get_dynamic_length_of_aggregate): Ditto. + (f77_create_arrayprint_offset_tbl): Ditto. + (f77_print_array_1): Ditto. + (f77_print_array): Ditto. + (list_all_visible_commons): Ditto. + (there_is_a_visible_common_named): Ditto. + * mdebugread.c (ecoff_relocate_efi): Ditto. + * callback.c (os_close): Ditto. + (os_get_errno): Ditto. + (os_isatty): Ditto. + (os_lseek): Ditto. + (os_open): Ditto. + (os_read): Ditto. + (os_read_stdin): Ditto. + (os_write): Ditto. + (os_write_stdout): Ditto. + (os_rename): Ditto. + (os_system): Ditto. + (os_time): Ditto. + (os_unlink): Ditto. + (os_shutdown): Ditto. + (os_init): Ditto. + (os_printf_filtered): Ditto. + + * scm-lang.h (scm_parse): Change old style decl to prototype. + * config/alpha/tm-alphalinux.h (alpha_linux_sigtramp_offset): Ditto. + * top.c (init_proc): Ditto. + (query_hook): Ditto. + (error_hook): Ditto. + * f-lang.c (c_value_print): Ditto. + * ch-exp.c (parse_expression): Ditto. + (parse_primval): Ditto. + (parse_untyped_expr): Ditto. + (parse_opt_untyped_expr): Ditto. + (ch_lex): Ditto. + * config/sparc/tm-sparc.h (sparc_init_extra_frame_info): Ditto. + (sparc_frame_saved_pc): Ditto. + (sparc_push_dummy_frame): Ditto. + (sparc_pop_frame): Ditto. + * defs.h (fclose): Ditto. + (atof): Ditto. + (error_hook): Ditto. + + * arc-tdep.c (single_step): Change arg to type "enum target_signal". + * rs6000-tdep.c (single_step): Ditto. + * sparc-tdep.c (single_step): Ditto. + + * breakpoint.c (cleanup_executing_breakpoints): Change unused arg type + to PTR which is what make_cleanup expects. + * utils.c (null_cleanup): Change arg type to PTR. + * defs.h (null_cleanup): Change prototype to match actual function. + * config/sparc/tm-sparc.h (struct frame_info): Move forward decl. + * ch-valprint.c (chill_val_print): Cast 2nd arg of + chill_print_type_scalar to LONGEST. + * infrun.c (wait_for_inferior): Have empty switch case for + BPSTAT_WHAT_CHECK_SHLIBS when SOLIB_ADD is not defined. + (stop_on_solib_events): Only needed if SOLIB_ADD is defined. + * infcmd.c (attach_command): Only need auto_solib_add if SOLIB_ADD + is defined. + * symfile.c (generic_load): Scan long int using a long int spec, + not an int spec. + * infptrace.c (udot_info): Only need local variables if KERNEL_U_SIZE + is defined. + (fetch_register): Only need function if FETCH_INFERIOR_REGISTERS is + not defined. + * inflow.c (handle_sigio): Only need prototype when the actual + function is compiled in. + * valprint.c (longest_to_int): Expand error message to be + separate messages for args larger than largest signed int + and args smaller than smallest signed int. + * valprint.c (print_longest): Fix problems with support for case + where compiler supports type "long long" but the runtime doesn't + support printing them with "%ll". + * scm-valprint.c (scm_scmlist_print, scm_scmval_print): Change + return types to void since we don't actually return anything + meaningful and callees ignore the values anyway. + * procfs.c (modify_inherit_on_fork_flag): Enclose pr_flags in PIOCSET + ifdef. + (modify_run_on_last_close_flag): Ditto. + (wait_fd): Enclose local variables "num_fds" and "i" LOSING_POLL + ifdef + * alpha-tdep.c (push_sigtramp_desc): Return proc_desc rather than + random value. + * infrun.c (wait_for_inferior): Ensure random_signal is not used + uninitialized. + * valops.c (call_function_by_hand): Ensure struct_addr is not used + uninitialized. + * breakpoint.c (watch_command_1): Ensure prev_frame is not used + uninitialized. + * utils.c (vfprintf_maybe_filtered): Change second arg from "char *" + to "const char *". + * infptrace.c (udot_info): Add two dummy args so that the type is + correct for passing to add_info. + * f-lang.c (saved_fcn): Move decl to head of file so it can be used + in prototypes. + (saved_bf_symnum): Ditto. + (SAVED_FUNCTION): Ditto. + (SAVED_FUNCTION_PTR): Ditto. + (SAVED_BF): Ditto. + (SAVED_BF_PTR): Ditto. + * ch-exp.c (parse_named_record_element): Build error message in + temporary buffer before passing it to expect, rather than passing + wrong number of args to expect. + * demangle.c (set_demangling_style): Call set_demangling_command with + correct number of arguments. + * inferior.h (terminal_init_inferior_with_pgrp): Change arg type to + int to match actual function. + (os_isatty): Call fdmap with right number of arguments, was missing + the host_callback* arg. + * target.c (cleanup_target): Prototype all functions casts. + * target.h (one_stepped, single_step): Declare here and convert + single_step to prototype. + * infrun.c (one_stepped, single_step): Don't declare externs + here, they have moved to target.h. + * eval.c (init_array_element): Declare previously undeclared + last two args as LONGEST. + * dcache.c (dcache_xfer_memory): Change xfunc decls to prototype form. + +Thu Jul 25 16:11:54 1996 Doug Evans + + * dsrec.c (load_srec): Protect ANSI style function parms with PARAMS. + +Mon Jul 22 18:13:27 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in (os9kread.o): Remove dependency on partial-stab.h. + * dbxread.c (read_dbx_symtab end_psymtab), partial-stab.h: Don't + use partial_symtab->textlow==0 as a flag, as 0 is a legitimate + text address. Use a seperate flag (textlow_not_set) instead. + This makes stabs in ELF .o files work a lot better. + * mdebugread.c xcoffread.c: Define textlow_not_set for + partial-stab.h. + * stabsread.h (end_psymtab): Add textlow_not_set arg to prototype. + +Sat Jul 20 10:41:06 1996 Fred Fish + + * dwarf2read.c (struct filenames): Change internal "struct file" + to "struct fileinfo" to avoid conflict with "struct file" in + on HPUX and Solaris. + +Fri Jul 19 14:05:57 1996 Stan Shebs + + * dwarf2read.c: New file, DWARF 2 reader originally contributed by + Brent Benson, with additions by Gary Funck and Jerry Kreuscher. + * Makefile.in (COMMON_OBS): Add dwarf2read.o. + (SFILES): Add dwarf2read.c. + (dwarf2read.o): Add build rule. + * symfile.h (dwarf2_has_info, dwarf2_build_psymtabs): Declare + exported functions. + * elfread.c (elf_symfile_read): Call them. + (elf_symtab_read) [HARRIS_TARGET]: Skip some special symbols. + +Thu Jul 18 01:22:01 1996 Geoffrey Noer + + * symfile.c (symfile_bfd_open): + * exec.c (exec_file_command): for __GO32__ and __WIN32__ systems, + free the user from having to type the .exe extension. + +Wed Jul 17 06:54:50 1996 Mark Alexander + + * mon960-rom.c: Shorten the mon960_inits string to a single + carriage return; this prevents a hang on connecting immediately + after powerup, when MON960 is attempting autobaud detection. + +Tue Jul 16 23:47:04 1996 Mark Alexander + + * a29k-tdep.c (get_saved_register): Allow PC to be modified + when innermost frame is selected, but not in outer frames. + +Tue Jul 16 23:37:25 1996 Stu Grossman (grossman@critters.cygnus.com) + + * command.c (do_setshow_command): Don't segfault when showing + var_string and var_string_noescape vars that are NULL. + +Mon Jul 15 16:55:48 1996 Doug Evans + + * win32-nat.c (handle_load_dll): dos_path_to_unix_path renamed to + cygwin32_conv_to_posix_path. + (child_create_inferior): unix_path_to_dos_path renamed to + cygwin32_conv_to_win32_path. Rewrite code to translate PATH. + +Mon Jul 15 16:44:05 1996 Stu Grossman (grossman@critters.cygnus.com) + + * defs.h printcmd.c: Create global disassemble_info structure + tm_print_insn_info. + * i386-tdep.c (set_assembly_language_command): set + tm_print_insn_info.mach to the appropriate value for 386 or 8086 + disassembly. + * printcmd.c (print_insn): Move init of disassembler_info to + _initialize_printcmd. Set endian for disassembler here. + * sparc-tdep.c: Set tm_print_insn_info.mach as appropriate to + select sparc/sparclite. + * config/sparc/{tm-sparc.h tm-sparclite.h}: Get rid of + TM_PRINT_INSN. Set TM_PRINT_INSN_MACH to + bfd_mach_sparc/bfd_mach_sparc_sparclite. + +Fri Jul 12 19:04:32 1996 Fred Fish + + * hpread.c (hpread_lookup_type): Use xmmalloc/xmrealloc rather + than xmalloc/xrealloc. + +Fri Jul 12 17:59:47 1996 Fred Fish + + * objfiles.c (map_to_file): Error return from mmalloc_findbase is + a NULL pointer, not a -1. + +Fri Jul 12 10:16:24 1996 Stu Grossman (grossman@critters.cygnus.com) + + * i386-tdep.c (set_assembly_language_command): New routine to + select between i386 and i8086 instruction sets for disassembly. + New command `set assembly-language {i386 i8086}'. + +Thu Jul 11 21:13:21 1996 Mark Alexander + + * monitor.c (monitor_write_memory, monitor_read_memory_single): + Disable use of "long long" memory read/write commands; can't + use them because we hold the values to read/write in an int + variable, and because strtoul fails on values that exceed the + size of a long. This fixes breakpoint problems on MON960. + +Thu Jul 11 11:39:31 1996 Fred Fish + + * config/m68k/xm-hp300hpux.h (HAVE_MMAP): Remove definition. + * config/pa/xm-hppah.h (HAVE_MMAP): Ditto. + +Wed Jul 10 16:54:41 1996 Fred Fish + + * Makefile.in (MMALLOC_CFLAGS): Eliminate intermediate MMALLOC_DISABLE + and MMALLOC_CHECK macros, and add comment indicating how host dependent + makefile fragment should modify MMALLOC_CFLAGS to not use mmalloc, or + to use it but to not do heap corruption checking. + * gdbserver/Makefile.in: Ditto. + * utils.c (init_malloc): Replace warning() use with direct call of + fprintf_unfiltered, since current_target has not yet been set and thus + we cannot use warning(). If we try to use mmcheck and it fails, + suggest that this configuration needs NO_MMCHECK or MMCHECK_FORCE + defined. Other small mmalloc related cleanups. + * config/sparc/sun4os4.mh (MMALLOC_CFLAGS): Define MMCHECK_FORCE to 1. + * config/alpha/alpha-osf2.mh (MMALLOC_CFLAGS): Set to -DNO_MMCHECK. + + * config/sparc/xm-sun4os4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT): + * config/i386/xm-i386v4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT): + * config/i386/xm-linux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT): + * config/m68k/xm-hp300hpux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT): + * config/m68k/xm-m68kv4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT); + * config/m68k/xm-sun3os4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT): + * config/pa/xm-hppah.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT): + * config/sparc/xm-sun4sol2.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT): + Remove obsolete defines. + + * config/alpha/alpha-linux.mh (MMALLOC_DISABLE): + * config/alpha/alpha-osf1.mh (MMALLOC_DISABLE): + * config/rs6000/rs6000.mh (MMALLOC_DISABLE): + * config/rs6000/aix4.mh (MMALLOC_DISABLE): + * config/powerpc/aix4.mh (MMALLOC_DISABLE): + * config/powerpc/aix.mh (MMALLOC_DISABLE): + * config/ns32k/ns32km3.mh (MMALLOC_DISABLE): + * config/mips/mipsm3.mh (MMALLOC_DISABLE): + * config/mips/decstation.mh (MMALLOC_DISABLE): + * config/m88k/cxux.mh (MMALLOC_DISABLE): + * config/i386/i386mk.mh (MMALLOC_DISABLE): + * config/i386/i386m3.mh (MMALLOC_DISABLE): + * config/i386/i386gnu.mh (MMALLOC_DISABLE): + Use MMALLOC_CFLAGS instead. + +Tue Jul 9 22:41:12 1996 Jeffrey A Law (law@cygnus.com) + + * h8300-tdep.c: Remove some outdated comments. + (h8300_skip_prologue): Rework to be more correct for the H8/300H. + Handle stm.l insns for the H8/S. + (examine_prologue): Likewise. + +Tue Jul 9 16:48:55 1996 Raymond Jou + + * ser-mac.c (mac_close): Change a typo SetSetBuf to SerSetBuf. + +Mon Jul 08 08:50:39 1996 Mark Alexander + + * mon960-rom.c (mon960_open): Add floating point detection to + prevent hang on non-FPU processors (PR 9775). + (mon960_cmds): Swap setmem.cmdw and setmem.cmdl to fix problem + setting breakpoints and improve loading speed. + +Sun Jul 7 14:57:34 1996 Fred Fish + + * coffread.c (record_minimal_symbol): Don't presave name string + on symbol_obstack before passing to prim_record_minimal_symbol. + It now handles saving the string itself. + * dbxread.c (read_dbx_dynamic_symtab): Ditto. + * mipsread.c (read_alphacoff_dynamic_symtab): Ditto. + * os9kread.c (record_minimal_symbol): Ditto. + * solib.c (solib_add_common_symbols): Ditto. + + * coffread.c (coff_symtab_read): Don't presave name string on + symbol_obstack before passing to prim_record_minimal_symbol_and_info. + It now handles saving the string itself. + * dbxread.c (record_minimal_symbol): Ditto. + * elfread.c (record_minimal_symbol_and_info): Ditto. + + * dstread.c (record_minimal_symbol): Remove static function that just + called prim_record_minimal_symbol with the same args (after change to + prim_record_minimal_symbol to do it's own name string saves). + * nlmread.c (record_minimal_symbol): Ditto. + * somread.c (record_minimal_symbol): Ditto. + + * hpread.c (hpread_read_enum_type): Save symbol name on symbol obstack. + (hpread_read_function_type): Ditto. + (hpread_process_one_debug_symbol): Ditto. + * mdebugread.c (parse_symbol): Ditto. + (new_symbol): Ditto. + * minsyms.c (prim_record_minimal_symbol_and_info): Ditto. + + * coffread.c (process_coff_symbol): Use obsavestring to save + SYMBOL_NAME, rather than obstack_copy0. + * dstread.c (create_new_symbol): Ditto + * symfile.c (obconcat): Ditto. + * stabsread.c (patch_block_stabs): Ditto. + * xcoffread.c (SYMNAME_ALLOC): Ditto. + + * symfile.c (obsavestring): Update comments + * solib.c (solib_add_common_symbols): Remove local var origname. + +Wed Jul 3 15:56:08 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure: Re-build with autoconf-2.10. + + * sparcl-tdep.c (_initialize_sparc_tdep) config/sparc/tm-sparc.h, + config/sparc/tm-sparclite.h: Initialize tm_print_insn from + TM_PRINT_INSN, which comes from the tm file. + +Tue Jul 02 21:41:20 1996 Mark Alexander + + * coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, + os9kread.c: Replace identical sym_offsets functions with + default_symfile_offsets. + * somread.c (som_symfile_offsets): Use new SIZEOF_SECTION_OFFSETS + macro to allocate section_offsets. + * symfile.c (default_symfile_offsets): New function. + * symfile.h: Declare default_symfile_offsets. + * symtab.h: Define SIZEOF_SECTION_OFFSETS macro to + simplify allocation of section_offsets. + +Tue Jun 11 12:02:55 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in (INTERNAL_LDFLAGS): Add in flags from configure. + * configure configure.in: Only make sol-thread.o for native. + Also, switch to dlopened libthread_db.so.1. + * sol-thread.c: Switch to using dlopen to get the thread_db + library. + +Thu Jun 13 16:53:25 1996 Stu Grossman (grossman@critters.cygnus.com) + + * configure, configure.in: Change test for libthread_db to only + work for configs where build/host/target are the same. + +Tue Jul 2 15:04:20 1996 Michael Meissner + + * config/powerpc/{linux.mh,xm-linux.h}: New files, for Linux on + PowerPC. + + * configure.in (powerpc-*-linux): Add Linux, System V, and ELF + support. + * configure: Regenerate. + +Mon Jul 1 13:00:43 1996 Stan Shebs + + From Raymond Jou : + * mpw-make.sed: Add lines to whack out autoconf hook + @CONFIG_LDFLAGS@. + +Mon Jul 01 11:07:15 1996 Mark Alexander + + * remote-e7000.c (e7000_stop): New function. + +Fri Jun 28 06:34:19 1996 Dawn Perchik + + * configure, configure.in: Add target sparclet. + * monitor.h, monitor.c: Added monitor flags MO_NO_ECHO_ON_SETMEM + (don't expect echo on setmem command), MO_RUN_FIRST_TIME (if + command to start process running on target is different from one + to continue execution), MO_HEX_PREFIX (if addresses from monitor + have a "0x" prefix). + * monitor.c, parse.c, sparc-tdep.c: Don't require strings in the + registers array. This is to allow NULLs to be place holders in + the tm-*.h file so that only minor changes are needed when a new + processor is introduced (eg, one without floating point). + * sparc-tdep.c: Conditionally remove dependancies on floating + point. + * sparclet-rom.c, config/sparc/sparclet.mt, + config/sparc/tm-sparclet.h: New files for target sparclet. + * symfile.c (load_command): Add option for 2nd parameter; a load + offset added to the vma of each section. + +Fri Jun 28 05:39:19 1996 Dawn Perchik + + * main.c (main): Add option "l" for setting remote_timeout. + +Fri Jun 28 05:25:18 1996 Dawn Perchik + + * remote-e7000.c, remote.c, target.h, top.c: Add set option + "remote_timeout" for setting remote_timeout. Add set option + "use_hard_breakpoints" for setting hardware .vs. memory + breakpoints. + +Fri Jun 28 04:32:18 1996 Dawn Perchik + + * remote-e7000.c (e7000_parse_device): New function. + Add option "tcp_remote" to target command if using + tcp to connect to a remote host which is then connected + via serial port to the e7000 (for exampole, a port master). + (e7000_open): Change to call e7000_parse_device. + +Fri Jun 28 03:47:17 1996 Dawn Perchik + + * monitor.c (monitor_debug): Fix remotedebug buffering. + +Thu Jun 27 18:24:17 1996 Stan Shebs + + * config/i386/cygwin32.mh, config/powerpc/cygwin32.mh + (NATDEPFILES): Add a space. + +Wed Jun 26 06:05:39 1996 Wilfried Moser + + * gdbtypes.c (create_array_type): If TYPE_LENGTH (result_type) + is zero, set TYPE_FLAG_TARGET_STUB to force reevaluation of the type. + + * ch-exp.c (calculate_array_length): Function removed. + +Tue Jun 25 17:41:06 1996 Martin M. Hunt + + * remote-e7000.c (e7000_read_inferior_memory_large): New function. + (e7000_xfer_inferior_memory): Call it. + +Tue Jun 25 23:14:07 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * gdb/gdbserver/Makefile.in (docdir): Removed. + +Tue Jun 25 22:05:38 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir): + Use autoconf set values. + (docdir): Removed. + * configure.in (AC_PREREQ): autoconf 2.5 or higher. + * nlm/Makefile.in (bindir, libdir, datadir, mandir, infodir, + includedir): Use autoconf set values. + (docdir): Removed. + * nlm/configure.in (AC_PREREQ): autoconf 2.5 or higher. + * nlm/configure: Rebuilt. + * gdb/gdbserver/Makefile.in (datadir): Set to $(prefix)/share. + +Mon Jun 24 09:56:14 1996 Angela Marie Thomas (angela@cygnus.com) + + * stabsread.c (read_cfront_member_functions): add type + +Sun Jun 23 23:40:48 1996 Doug Evans + + * win32-nat.c: #include . + (unix_paths_to_dos_paths, dos_paths_to_unix_paths): Delete. + (child_create_inferior): Convert only env var PATH to win32 style. + (set_pathstyle_dos): Delete. + (_initialize_inftarg): Delete dos-path-style command. + +Thu Jun 20 13:42:23 1996 Doug Evans + + * configure.in: Revise sol-thread.o test. + * configure: Regenerated. + + * source.c (find_source_lines): Reassign size to result of read. + +Tue Jun 18 16:25:54 1996 Jeffrey A. Law + + * h8300-dep.c (gdb_print_insn_h8300): Handle the H8/S. + (h8300_command): Likewise. + (set_machine): Likewise. + (set_machine_hook): Likewise. + (_initialize_h8300m): Likewise. + + * config/h8300/tm-h8300.h (h8300smode): Declare. + +Sun Jun 16 15:21:51 1996 Jeffrey A. Law + + * somsolib.c (som_solib_create_inferior_hook): Handle tracking + of shl_load calls for hpux10. + +Thu Jun 13 11:16:10 1996 Tom Tromey + + * config.in: Regenerated. + * acconfig.h (HAVE_THREAD_DB_LIB): Added entry. + + * configure: Regenerated. + * aclocal.m4 (CY_AC_PATH_TCLH, CY_AC_PATH_TKH): Use odd names to + avoid name clashes with SunOS headers. + +Tue Jun 11 19:52:50 1996 Fred Fish + + From Michael Snyder : + * bcache.c (print_bcache_statistics): Avoid divide-by-zero + exception if one or more objfile has no symbols, such as when + a dynamic library has been stripped. + +Tue Jun 11 12:02:55 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in (INTERNAL_LDFLAGS): Add in flags from configure. + * configure configure.in: Only make sol-thread.o for native. + Also, switch to dlopened libthread_db.so.1. + * sol-thread.c: Switch to using dlopen to get the thread_db + library. + +Mon Jun 10 14:17:19 1996 Fred Fish + + * config/sparc/{xm-sun4sol2.h,xm-sun4os4.h} (MMAP_BASE_ADDRESS): + Change from 0xE0000000 to 0xC0000000. + +Thu Jun 6 17:10:32 1996 Michael Meissner + + * config/powerpc/xm-solaris.h: Initial version of support for + Solaris on PowerPC. + +Wed Jun 5 01:52:57 1996 James G. Smith + + * configure.in (configdirs): Force 4100 builds to use 4300 GDB + target. + * configure: Rebuild. + + * config/mips/vr4300el.mt (SIM_OBS): Include simulator in + little-endian builds. + +Mon Jun 3 11:48:29 1996 Jeffrey A Law (law@cygnus.com) + + * inftarg.c (child_thread_alive): Protect declaration with + #ifndef CHILD_THREAD_ALIVE. + + * source.c (find_source_lines): Check the time on the symtab's bfd if + it exists, else check the time on the exec_bfd. + +Thu May 30 09:43:17 1996 Mark Alexander + + * dsrec.c (make_srec): Fix calculation of address size + to allow addresses less than 0x100. + +Thu May 30 04:24:09 1996 Wilfried Moser + + * ch-exp.c (ch_lex): In case of LOC_TYPEDEF call calculate_array_length. + +Tue May 28 16:15:47 1996 Geoffrey Noer + + * remote-mips.c: cannot use EINVAL for breakpoint test since + its value varies for different hosts (e.g. go32's is 19, while + sunos is 22). Changed to hardcoded 22 since that is what the + mips boards return. + +Tue May 28 11:14:58 1996 Tom Tromey + + * configure: Regenerated. + * aclocal.m4 (CY_AC_PATH_TCLH): Don't use AC_TRY_RUN. + (CY_AC_PATH_TKH): Don't use AC_TRY_RUN. + +Sun May 26 16:56:35 1996 Miles Bader + + * solib.c (solib_absolute_prefix, solib_search_path): New variables. + (_initialize_solib): Add set/show commands for those variables. + (solib_map_sections): Implement searching using them. + +Sun May 26 14:14:49 1996 Fred Fish + + Changes from: David Mosberger-Tang + + * NEWS: Add Alpha Linux as a new native configuration. + + * mdebugread.c (parse_symbol): When we find a malloc() symbol with + return type VOID, assume no debugging info is available for that + object file and patch the return value into VOID *. Otherwise, + operations requiring an implicit call to malloc() will fail. + + * infrun.c (wait_for_inferior): The criterion to detect entering a + sigtramp handler is now: (a) the current pc is inside a sigtramp + handler, (b) the previous pc is not in a sigtramp handler, and (c) + the current stack pointer is "inner" than the old one. Condition + (c) is new to avoid mistaking a return from a signal handler into + sigtramp as a new sigtramp invocation. + + * dcache.c (struct dcache_block): Declare addr as CORE_ADDR. An + int may not be big enough to hold an address. + (dcache_hit): Ditto. + (dcache_peek_byte): Fix indentation. + + * configure.in (alpha-*-linux*): Add target. + * configure: Rebuild + + * config/alpha/tm-alpha.h (PROC_DESC_IS_DYN_SIGTRAMP): New macro. + (SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto. + (DYNAMIC_SIGTRAMP_OFFSET): Ditto. + (SIGCONTEXT_ADDR): Ditto. + (FRAME_PAST_SIGTRAMP_FRAME): Ditto. + + * config/alpha/alpha-linux.mh: New file. + * config/alpha/alpha-linux.mt: Ditto. + * config/alpha/nm-linux.h: Ditto. + * config/alpha/tm-alphalinux.h: Ditto. + * config/alpha/xm-alphalinux.h: Ditto. + * config/alpha/xm-alphaosf.h: Renamed from xm-alpha.h. + * config/alpha/alpha-osf1.mh (XM_FILE): Change from xm-alpha.h to + xm-alphaosf.h. + * config/alpha/alpha-osf2.mh: Ditto. + + * blockframe.c (find_pc_partial_function): Pass PC to + SIGTRAMP_START and SIGTRAMP_END macros for the benefit of systems + that detect sigtramp code via designated code sequences (as is the + case for Linux/Alpha, for example). + + * config/i386/tm-i386bsd.h: Change SIGTRAMP_START and SIGTRAMP_END + to ignore new PC argument. + * config/m68k/tm-hp300bsd.h: Ditto. + * config/vax/tm-vax.h: Ditto. + + * alpha-tdep.c (alpha_linux_sigtramp_offset): New function. + (alpha_osf_skip_sigtramp_frame): Ditto. + (push_sigtramp_desc): Ditto. + (alpha_find_saved_regs): Use SIGCONTEXT_ADDR macro to extract + sigcontext address from frame. + (alpha_saved_pc_after_call): When in sigtramp, use + alpha_frame_saved_pc() instead of read-register(). + (after_prologue): When inside a dynamically generated sigtramp + function, there is no prologue, so return address of first + instruction. + (alpha_in_prologue): Fix typo in comment. + (find_proc_desc): Use macro DYNAMIC_SIGTRAMP_OFFSET to determine + whether we're inside a dynamicaly generated sigtramp function. If + so, create and push and appropriate procedure descriptor. + (alpha_frame_chain): Use macro FRAME_PAST_SIGTRAMP_FRAME to obtain + the frame past a sigtramp frame (if the current frame is indeed a + sigtramp function). + (init_extra_frame_info): Don't read next frame register off of + stack-pointer when inside a dynamiccaly generated sigtramp. + (alpha_pop_frame): Also unlink and destroy procedure descriptors + created for dynamically generated sigtramp functions. + + * alpha-nat.c: When compiling under Linux, include and + instead of + +Tue Jul 2 13:58:10 1996 Miles Bader + + * gnu-nat.c (inf_validate_task_sc): + Give terminal to gdb while asking question. + (inf_resume): Don't validate the task suspend-count while execing. + +Thu Jun 13 11:04:52 1996 Miles Bader + + * gnu-nat.c (inf_validate_task_sc): Query user before clearing any + additional suspend count. + (S_proc_wait_reply, gnu_attach): Don't call inf_validate_task_sc. + (inf_resume): Call inf_validate_task_sc here. + (gnu_resume): Call inf_update_procs to ensure noticing new threads. + +Fri Jun 7 17:00:43 1996 Miles Bader + + * gnu-nat.c (gnu_create_inferior: attach_to_child): Return PID. + +Thu May 23 15:13:56 1996 Jeffrey A Law (law@cygnus.com) + + * h8300-tdep.c (IS_PUSH): Refine. + (IS_MOVE_FP, IS_MOV_SP_FP): Accept H8/300H varaints. + (IS_SUB4_SP, IS_SUBL_SP): New macros. + (h8300_skip_prologue): Handle H8/300H prologue code sequences. + (examine_prologue): Handle addresses from 0x010000 to 0xffffff + when in H8/300H mode. Get the return pointer's address correctly + for the H8/300H. Handle H8/300H prolouge code sequences. + + * symfile.c (generic_load): Print the starting address + of the file just loaded. + +Thu May 23 12:09:52 1996 Stan Shebs + + * mpw-make.sed: Edit @THREAD_DB_OBS@ out of makefile. + +Tue May 21 11:53:56 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * breakpoint.c (bpstat_do_actions): Avoid endless recursion + if a `source' command is contained in bs->commands. + + * infrun.c (wait_for_inferior): Update step_frame_address when + stepping into a new line. + + From schwab@issan.informatik.uni-dortmund.de (Andreas Schwab): + * breakpoint.c (breakpoint_1): Add shlib_disabled case to + bpenables array. + +Mon May 20 22:52:00 1996 Mark Alexander + + * dsrec.c (load_srec): Add WAITACK parameter, for machines + like EST visionICE that send back an ACK after each S-record. + * monitor.c (monitor_wait_srec_ack): New function. + (monitor_load): Pass monitor_wait_srec_ack to load_srec + if the monitor's MO_SREC_ACK flag is set. + * monitor.h: Define MO_SREC_ACK flag. + * remote-est.c (est_cmds): Add MO_SREC_ACK flag. + * sh3-rom.c (sh3_load): Accomodate change in load_srec prototype. + * srec.h: Add WAITACK parameter to load_srec prototype. + +Sun May 19 21:22:00 1996 Rob Savoye + + * config/sparc/sparclite.mt: Add the sparc simulator. + +Sun May 19 16:49:37 1996 Fred Fish + + * defs.h (read_command_lines, query_hook): Update prototypes. + (readline_begin_hook, readline_hook, readline_end_hook): Declare. + * breakpoint.c (commands_command): Build message in temporary buffer + and pass that, as well as tty control flag, to read_command_lines. + * top.c (readline_begin_hook, readline_hook, readline_end_hook): + Define here. + (command_loop): Check for non-NULL instream before looping. + (command_line_input): Use readline_hook when appropriate, to get + user input from a GUI window. + (read_next_line): Also build prompt if getting user input from a GUI. + (recurse_read_control_structure): Fix typo in comment. + (read_command_lines): Use passed in prompt and tty flag to decide how + to build message. Use readline_begin_hook when appropriate, to set + up a GUI interaction window. Just return head, whether NULL or not, + after using readline_end_hook to complete GUI interaction. + (define_command, document_command): Build message in a temporary + buffer and pass it to read_command_lines, along with tty flag. + + +Sat May 18 02:43:58 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * blockframe.c (frameless_look_for_prologue): + Add FUNCTION_START_OFFSET only if func_start is non-zero. + * minsyms.c (lookup_minimal_symbol_by_pc): Return NULL if + pc is not in a known section. + * stack.c (print_frame_info): Remove check for fi->pc in known + section, now handled by lookup_minimal_symbol_by_pc. + + +Fri May 17 13:31:04 1996 Stan Shebs + + * sh-stub.c: New file, was config/sh/stub.c. + + +Wed May 15 08:25:12 1996 Jeffrey A Law (law@cygnus.com) + + * top.c (read_next_line): Fix thinkos. From Donn Seeley. + + * coffread.c (coff_symtab_read): Handle C_LABEL symbols like + C_STAT symbols. + * h8300-tdep.c (h8300_pop_frame): Reset $sp and $pc correctly. + Flush cached frames just before exiting. + * remote-sim.c (gdbsim_resume): Complain if the program isn't + being run. + * config/h8300/tm-h8300.h (BELIEVE_PCC_PROMOTION): Define. + +Tue May 14 18:05:16 1996 Stu Grossman (grossman@critters.cygnus.com) + + * procfs.c (procfs_thread_alive procfs_stop): Make static. + (procfs_pid_to_str): New routine to print out thread id's in an + intelligible manner. + * sol-thread.c (sol_thread_fetch_registers): Re-order manner in + which supply_register is called to fix bug with writing + individual regs. + * config/sparc/tm-sun4sol2.h: Define default for + target_pid_to_str in case host lacks libthread_db. + +Mon May 13 23:53:30 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in config.in configure configure.in + config/sparc/nm-sun4sol2.h config/sparc/sun4sol2.mh + config/sparc/tm-sun4sol2.h: Use autoconf to config Solaris thread + and pthread support, since pre-2.5 systems don't come with + libthread_db.so.1. + + * procfs.c (info_proc): Use int instead of id_t. Old versions of + Irix don't seem to define this. + +Mon May 13 17:40:58 1996 Jeffrey A Law (law@cygnus.com) + + * top.c (execute_control_command, case while_control): Allow + a while command to be interrupted. + +Mon May 13 16:17:36 1996 Stu Grossman (grossman@critters.cygnus.com) + + * sol-thread.c: More cleanup, add comments. + (sol_thread_resume): Prevent people from trying to step + inactive threads. + (sol_thread_wait sol_thread_fetch_registers + sol_thread_store_registers): Remove unnecessary check for + sol_thread_active. These routines won't get called unless threads + are active. + +Mon May 13 11:29:37 1996 Stan Shebs + + SH3-E support from Allan Tajii : + * sh-tdep.c (sh_reg_names, sh3_reg_names): Add empty names for + float registers. + (sh3e_reg_names): New register name array. + (sh_processor_type_table): Add sh3e processor type. + * config/sh/tm-sh.h (REGISTER_VIRTUAL_TYPE): Fix test. + (REGISTER_NAMES, NUM_REGS, NUM_REALREGS, etc): Adjust for + full set of registers. + * remote-e7000.c (want_sh3, want_sh3_nopc): New globals. + (e7000_fetch_registers, e7000_wait): Use them. + * sh3-rom.c (sh3_regnames): Add float registers. + (sh3e_cmds, sh3e_ops): New globals. + (sh3e_open): New function. + (_initialize_sh3_rom): Rename from _initialize_sh3, set up + sh3e target vector. + +Fri May 10 15:53:38 1996 Stu Grossman (grossman@lisa.cygnus.com) + + * sol-thread.c: Cleanup. gcc -Wall fixes. Add prototypes. + Print out messages instead of codes for thread_db errors. Make + access macros for thread and lwp manipulation. Make cleanups to + fixup inferior_pid in case of errors. + +Thu May 9 19:06:02 1996 Fred Fish + + * aclocal.m4: Remove unused definition of AC_C_CROSS. + * configure.in: Add powerpcle-*-solaris* host and target config + so April 30th change does not get lost next time configure is + rebuilt. + +Thu May 9 14:13:08 1996 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in, breakpoint.c, corelow.c, fork-child.c, inflow.c, + infrun.c, mac-nat.c, procfs.c, remote.c, sol-thread.c, thread.c, + win32-nat.c, config/nm-lynx.h: Rename thread.h to gdbthread.h to + avoid conflict with Solaris /usr/include/thread.h. + +Thu May 9 12:33:32 1996 Rob Savoye + + * abug-rom.c: Config file for the older style ABug monitor that + runs on the mvme13x boards. + * config/m68k/monitor.mt: Add abug support for m68k cross + debugging. + +Wed May 8 20:33:24 1996 Fred Fish + + * infcmd.c (do_registers_info): Always print the raw floating + point value's bytes in big endian order, so the the leftmost bit + is the most significant. + * breakpoint.c (clear_momentary_breakpoints): Remove dead code + that is referenced nowhere else. + (set_breakpoint): Ditto. + (do_enable_breakpoint): Created from enable_once_breakpoint + with a couple of changes. + (enable_breakpoint): Call do_enable_breakpoint with an appropriate + bpdisp enum value to set disposition of breakpoint. + (enable_once_breakpoint): Ditto. + (enable_delete_breakpoint): Ditto. + * breakpoint.h (clear_momentary_breakpoints): Remove prototype. + * symtab.c (find_pc_line): Improve comments. + * xcoffread.c: Ditto. + +Tue May 7 18:37:06 1996 Stan Shebs + + * target.c (debug_to_xfer_memory): Insert line breaks when + dumping the memory block. + +Mon May 6 13:52:52 1996 Stu Grossman (grossman@critters.cygnus.com) + + * fork-child.c (fork_inferior), inferior.h: init_trace_fun now + returns a possibly modified pid. + * inftarg.c (ptrace_him): Now returns pid; + * m3-nat.c (m3_trace_him): Now returns pid; + * infcmd.c (run_command): Minor cleanup. + * infrun.c (wait_for_inferior): Add another check for one_stepped + near where we read the pc to avoid erroneously setting + random_signal for multi-threaded support. + * procfs.c: Add support for Solaris LWPs. Remove def of + LOSING_POLL. Many cleanups... Several workarounds for Solaris + lossage. System call entry and exit are now handled by + dynamically registered handlers. + * (syscallname): Don't barf when handed an unknown syscall + number. + * (info_proc_syscalls): Ditto. + * sol-thread.c: New file. Implements Solaris thread support. + * symfile.c (symbol_file_add): Add call to target_new_objfile to + notify target-dependent code about new symbol tables. + * (clear_symtab_users): Call target_new_objfile to notify it of + the removal of all symbol tables. + * target.c (push_target): Make sure that to_close is non-zero + before calling it. + * target.h (target_new_objfile): Provide default. + * config/alpha/nm-osf2.h: Define LOSING_POLL because this version + of OSF can't hack using poll with /proc. + * config/sparc/nm-sun4sol2.h (target_new_objfile): Define to be + sol-thread-new-objfile. + * config/sparc/sun4sol2.mh: Add sol-thread.o to NATDEFFILES, and + add libthread_db.so.1 to NAT_CLIBS. + * config/sparc/tm-sun4sol2.h: Define PIDGET, TIDGET, and + target_pid_to_str. + +Sat May 4 02:13:34 1996 N Srin Kumar + + * procfs.c (remove_fd): Fix copy of fds to fill hole left after + removal of the requested fd. + +Mon May 6 07:52:48 1996 Michael Meissner + + * rs6000-tdep.c (_initialize_rs6000_tdep): Don't do XCOFF specific + hooks under ELF. + + * config/powerpc/tm-ppc-eabi.h: Define ELF_OBJECT_FORMAT. + +Thu May 2 12:46:14 1996 Jeffrey A Law (law@cygnus.com) + + From Peter Schauer: + * breakpoint.h (enum bpdisp): Add del_at_next_stop. + * breakpoint.c (insert_breakpoints, watchpoint_check, + bpstat_stop_status): Avoid bad references to memory freed via + delete_breakpoint on watchpoints going out of scope. + Do not delete these watchpoints, disable them and change their + disposition to del_at_next_stop instead. + (breakpoint_auto_delete): Delete all breakpoints whose disposition + is del_at_next_stop. + (breakpoint_init_inferior): Use switch to avoid reference to + already deleted breakpoint. + +Wed May 1 17:29:18 1996 Fred Fish + + * Makefile.in (rs6000-nat.o): Depend on xcoffsolib.h. + * config/rs6000/rs6000.mh (NATDEPFILES): Move xcoffread.o ... + * config/rs6000/rs6000.mt (TDEPFILES): ... to here. + * xcoffsolib.c (xcoff_relocate_symtab_hook): Define and initialize. + (solib_info): Call xcoff_relocate_symtab via the hook. + (sharedlibrary_command): Ditto. + * xcoffread.c: Remove all FAKING_RS6000 comments and defines. + (xcoff_add_toc_to_loadinfo_hook): Define and initialize here. + (xcoff_init_loadinfo_hook): Define and initialize here. + (scan_xcoff_symtab): Call xcoff_add_toc_to_loadinfo via the hook. + (xcoff_initial_scan): Call xcoff_init_loadinfo via the hook. + * xcoffsolib.h (xcoff_relocate_symtab_hook): Declare extern func. + * rs6000-tdep.c (_initialize_rs6000_tdep): Add initializations + of xcoff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook. + * rs6000-nat.c (_initialize_core_rs6000): Add initialization + of xcoff_relocate_symtab_hook. + +Tue Apr 30 13:22:02 1996 Michael Meissner + + * configure (powerpcle-*-solaris*): Add Solaris support. + + * config/powerpc/{solaris.m[ht],tm-solaris.h}: New files for + Solaris support. + +Mon Apr 29 16:17:31 1996 Dawn Perchik + + * c-valprint.c (c_val_print): Fix printing for arrays defined + with 0 length. + +Sun Apr 28 15:08:05 1996 Stan Shebs + + Support for bi-endian remote breakpoints. + * remote.c (big_break_insn, little_break_insn): New globals. + (break_insn): Remove. + (remote_insert_breakpoint, remote_remove_breakpoint): Use own + code if REMOTE_BREAKPOINT defined, otherwise call memory + breakpoint functions. + * config/sh/tm-sh.h (REMOTE_BREAKPOINT): Remove. + (BIG_REMOTE_BREAKPOINT, LITTLE_REMOTE_BREAKPOINT): Define. + + * mon960-rom.c (mon960_cmds): Remove forward decl. + (mon960_load): Use current_monitor instead of mon960_cmds. + (mon960_regnames): Remove backslashes from line ends. + (_initialize_mon960): Fix documentation string. + +Sun Apr 28 12:10:35 1996 Fred Fish + + * symfile.h (psymbol_allocation_list): Expand comments which + describe the psymbol allocation list and how each field is + used. + +Sun Apr 28 03:44:30 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * breakpoint.c (delete_breakpoint): Fix bpt->val, bpt->exp + storage leaks. + (breakpoint_re_set_one): Fix b->exp, b->val, b->cond storage leaks. + + * infcmd.c (run_command), solib.c (locate_base): Check for + target_has_execution in addition to inferior_pid, a core file + from a threaded program is yielding a non-zero inferior_pid. + + * sparc-tdep.c (get_saved_register): Handle window registers + in a dummy frame correctly. + +Sat Apr 27 20:38:32 1996 Fred Fish + + * Makefile.in (CLIBS): Move $(MMALLOC) past all other libs, + so that anything that wants an allocation function not yet pulled + in, will get it from mmalloc rather than a system library. + * Makefile.in (INSTALLED_LIBS): Reorder to match order of CLIBS, + to avoid surprising results when used. + +Sat Apr 27 00:12:05 1996 Dawn Perchik (dawn@cygnus.com) + + * stabsread.c: Changes and bug fixes for cfront support. + Fix bug for class data members. + Fix parsing bug when no base classes exist. + Fix memory bug - allocate space for cplusplus specific info. + Add support for static data. + Add prototypes for static functions. + Enhance comments to show what each function expects to parse. + Cleanup code. + * stabsread.c(resolve_cont),dbxread.c(resolve_cont): Rename + function to resolve_cfront_continuation. + +Fri Apr 26 23:58:26 1996 Jeffrey A Law (law@cygnus.com) + + * infrun.c (wait_for_inferior): Call registers_changed when + restarting the inferior to get over a nullified instruction. + +Tue Apr 24 12:12:55 1996 Dawn Perchik (dawn@cygnus.com) + + * dbxread.c,stabsread.c,gdbtypes.c,partial-stab.h,valops.c: + Add new support for parsing cfront stabs. + +Wed Apr 24 00:32:55 1996 Jeffrey A Law (law@cygnus.com) + + * infrun.c (wait_for_inferior): Move "have_waited" label + outside of #ifdef conditionals. Don't trash the wait status + if we get a signal and the current instruction is nullified. + +Mon Apr 22 20:17:01 1996 Fred Fish + + * Makefile.in (VERSION): Bump version number to 4.16.1. + * NEWS: Update for 4.16 release. + +Mon Apr 22 16:32:29 1996 Stan Shebs + + * monitor.h: Clean up comment formatting. + (current_monitor): Remove decl. + (LOADTYPES, LOADPROTOS, INIT_CMD, etc): Remove definitions. + (push_monitor, SREC_SIZE): Remove. + * monitor.c: Expand old macro into current_monitor derefs + everywhere. + * remote-os9k.c (current_monitor): Remove definition. + +Mon Apr 22 14:54:45 1996 Mark Alexander + + * corefile.c (specify_exec_file_hook): Allow arbitrary number of + hooks. + (call_extra_exec_file_hooks): New function. + * h8300-tdep.c: Lint; add .h files to provide missing declarations, + remove unused variables. + (set_machine_hook): New function. + (_initialize_h8300m): Initialize it. + +Fri Apr 19 15:03:49 1996 Ian Lance Taylor + + * remote-mips.c (encoding): Don't specify size, to avoid bug in + SunOS native compiler. + +Thu Apr 18 18:46:57 1996 Stan Shebs + + * monitor.c: Use int rather than LONGEST for values, since + the formatting strings are not prepared to accept long longs. + +Wed Apr 17 20:17:27 1996 Doug Evans + + * arm-tdep.c (initialize_arm_tdep): Make apcs32 a `zinteger'. + +Tue Apr 16 17:38:23 1996 Stu Grossman (grossman@critters.cygnus.com) + + * corelow.c (add_to_thread_list): Make sure reg_sect is non-null + before de-referencing it. Prevents deref of NULL pointer if core + file lacks .reg section. + * defs.h: Rename floatformat_{to from}_long_double to + floatformat_{to from}_doublest. Get rid of FLOATFORMAT_{TO + FROM}... macros. + * findvar.c (extract_floating store_floating): Change all refs to + FLOATFORMAT_{FROM TO}... to floatformat_{from to}_doublest. + * utils.c: Change floatformat_{to from}_long_double to + floatformat_{to from}_doublest cuz the new routines will use + whatever size (double or long double) is appropriate. + * config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL + REGISTER_CONVERT_TO_RAW): Change FLOATFORMAT... macros to + floatformat... routine calls. + +Mon Apr 15 16:34:11 1996 Per Bothner + + * stabsread.c (read_type): Move handling of '@' from type + number handling to handling of types proper (as emitted by gcc!). + For typedefs, allocate the typedef type before reading its + definition, to properly handling recursive types. + +Mon Apr 15 11:19:26 1996 Jeffrey A Law (law@cygnus.com) + + * ch-exp.c (calculate_array_length): Fix prototype. + +Sat Apr 13 14:21:16 1996 Stu Grossman (grossman@critters.cygnus.com) + + * remote-nindy.c (nindy_open): Acquire more target state so that + user can attach to a previously running program. + * (nindy_fetch_registers nindy_store_registers): Get rid of fp + conversion code. That's all handled in {extract store}_floating + now. + * utils.c (floatformat_to_double): Don't bias exponent when + handling zero's, denorms or NaNs. + * config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL + REGISTER_CONVERT_TO_RAW): Change to using DOUBLST and + FLOATFORMAT_TO/FROM_DOUBLEST macros. + * config/i960/tm-nindy960.h: Undefine + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, and + REGISTER_CONVERTIBLE. These are no longer necessary now that all + the magic happens in extract/store_floating. + +Sat Apr 13 02:58:02 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * eval.c (evaluate_subexp_standard): Report error when attempting to + evaluate subscripts for types which cannot be subscripted. + + * valarith.c (value_x_binop, value_x_unop): Add noside parameter. + Return a zero value with the return type of the member function + if noside is EVAL_AVOID_SIDE_EFFECTS instead of calling the member + function. + * values.h (value_x_binop, value_x_unop): Update prototypes + accordingly. + * eval.c (evaluate_subexp_standard): Update all callers of + value_x_binop, value_x_unop accordingly. + + * valarith.c (value_neg, value_complement): Perform ANSI C/C++ + integral promotion on operands. + +Fri Apr 12 13:19:27 1996 Fred Fish + + * README: Update for 4.16 release. + * configure.in (AC_CHECK_FUNCS): Also check for sbrk. + * configure: Regenerate with autoconf. + * config.in: Regenerate with autoheader. + * main.c (main): Only use sbrk() when HAVE_SBRK is defined. + * top.c (command_loop): Ditto. + +Fri Apr 12 09:45:29 1996 Stu Grossman (grossman@critters.cygnus.com) + + * defs.h: Define TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT + defaults for bi-endian targets. Replace function pointers for + floatformat routines with macros. No need for these to be runtime + selectable. + * findvar.c: Get rid of floatformat function pointers. Use + macros in extract_floating and store_floating. + * remote-nindy.c (nindy_fetch_registers nindy_store_registers): + Use floatformat macros. + +Thu Apr 11 21:28:02 1996 Fred Fish + + From: Miles Bader + * configure.in (AC_CHECK_HEADERS): check for endian.h. + Use AC_CHECK_TOOL to find AR & RANLIB. Add AC_PROG_AWK. + Add host & target cases for i[345]86-*-gnu*. + * config.in: Regenerate with autoheader. + * configure: Regenerate with autoconf. + * Makefile.in (AR, AWK): Set from corresponding autoconf substs. + (init.c): Don't scan mig-generated files. + * defs.h (endian.h): Include if HAVE_ENDIAN_H defined. + * config/nm-m3.h (ATTACH_NO_WAIT): Define. + * infcmd.c (attach_command): Use "#ifndef ATTACH_NO_WAIT" + rather than "#ifndef MACH". + +Thu Apr 11 18:49:42 1996 Stan Shebs + + * remote.c (remotewritesize): New GDB variable, controls size + of memory packets sent to the target. + +Thu Apr 11 13:47:52 1996 Stu Grossman (grossman@critters.cygnus.com) + + * dcache.c: Add prototypes. Make many functions static. + * (dcache_peek dcache_fetch dcache_poke): Make dcache_fetch and + dcache_poke call dcache_xfer_memory directly in order to fix + problems with turning off dcache. dcache_peek is now unnecessary, + so it goes away. + + * defs.h: Define new macros HOST_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT + and TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT to specify a pointer + to a struct floatformat. This allows for better handling of + targets whose floating point formats differ from the host by more + than just byte order. + * (floatformat_to_long_double floatformat_from_long_double): + Prototypes for new functions in utils.c. + * (floatformat_to_doublest floatformat_from_doublest): Prototypes + for pointers to floating point conversion functions. The actual + function uses either double or long double if the host supports it. + * findvar.c (floatformat_to_doublest floatformat_from_doublest): + Initialize to point at correct function depending on HAVE_LONG_DOUBLE. + * (extract_floating store_floating): Rewrite. Now, if host fp + format is the same as the target, we just do a copy. Otherwise, + we call floatformat_{to from}_doublest. + * remote-nindy.c (nindy_xfer_inferior_memory): Change param + `write' to `should_write'. + * utils.c (floatformat_to_long_double + floatformat_from_long_double): New routines that implement long + double versions of functions in libiberty/floatformat.c. + * config/i960/tm-i960.h (TARGET_LONG_DOUBLE_FORMAT): Define this for + i960 extended real (80 bit) numbers. + * nindy-share/nindy.c (ninMemGet ninMemPut): Return number of bytes + actually read or written. + +Wed Apr 10 02:56:06 1996 Wilfried Moser + + * ch-valprint.c (chill_val_print): Remove call to calculate_array_length. + (calculate_array_length): Move function from here ... + + * ch-exp.c (calculate_array_length): ... to here. + (parse_primval): If we have a symbol with an array type + and the length is 0, call calculate_array_length. + +Tue Apr 9 01:23:05 1996 Wilfried Moser + + * eval.c (evaluate_subexp_standard): In case of TYPE_CODE_SET: + Add some checks for powerset compatibility. + + * valops.c (value_slice): Use lowbound instead of lowerbound for + call to slice_range_type to get correct bounds. + +Mon Apr 8 12:53:56 1996 Fred Fish + + * Makefile.in (scm-exp.o, scm-lang.o, scm-valprint.o): Add targets and + dependencies. + * scm-lang.c (gdb_string.h): Include. + * objfiles.c (add_to_objfile_sections): Cast second arg of obstack_grow + call to correct type (char *). + * cp-valprint.c (cp_print_static_field): Ditto. + * somsolib.c (som_solib_create_inferior_hook): Add a declaration + for external find_unwind_entry function (from hppa-tdep.c). + * remote-pa.c (remote_write_bytes, remote_read_bytes): Change + type of second arg to "char *" to be type compatible with + dcache. + (remote_wait): Cast second arg to strtol to correct type. + * hppa-tdep.c (compare_unwind_entries): Change argument types to + "const void *" to be type compatible with qsort, and then + assign to local args prior to use. + +Mon Apr 8 15:35:52 1996 Jeffrey A Law (law@cygnus.com) + + * infptrace.c (kill_inferior): Remove call to "kill"; update + comments. + +Mon Apr 8 14:05:07 1996 Geoffrey Noer + + * remote-e7000.c: don't append :23 to target port if __WIN32__ + is defined (it's WinGDB). + +Sun Apr 7 22:34:29 1996 Fred Fish + + From: Miles Bader + * gnu-nat.c, gnu-nat.h, msg.defs, exc_request.defs, i386gnu-nat.c, + msg_reply.defs, notify.defs, process_reply.defs, reply_mig_hack.awk, + config/nm-gnu.h, config/i386/{i386gnu.mh, i386gnu.mt, nm-gnu.h, + m-i386gnu.h, xm-i386gnu.h}: New files for GNU hurd. + +Sun Apr 7 13:32:41 1996 Fred Fish + + * configure.in (case host): Add i386sco5 host. + * configure: Regenerate. + + From: Robert Lipe + Add support for SCO OpenServer 5 (a.k.a. 3.2v5*) This + target is an SVR3.2 with COFF, ELF, and shared libes, but + no /proc. + * config/i386/i386sco5.mh: New file. + * config/i386/nm-i386sco5.h: New file. + +Sat Apr 6 08:55:22 1996 Fred Fish + + * bcache.c (bcache): When size of chunk to cache is exactly equal to + BCACHE_MAXLENGTH, stash chunk as unique copy. + +Sat Apr 6 00:46:26 1996 Fred Fish + + * symfile.c (INLINE_ADD_PSYMBOL): Remove ifdef. + (add_psymbol_to_list): Add an arg for passing CORE_ADDR values and + use it, rather than calling add_psymbol_addr_to_list. + (add_psymbol_addr_to_list): Delete. + (add_psymbol_to_list): Make psymbol static to avoid random data in + gaps due to alignment of structure members. + * symfile.h (INLINE_ADD_PSYMBOL, ADD_PSYMBOL_TO_LIST, + ADD_PSYMBOL_ADDR_TO_LIST): Remove. Real world tests show no + performance improvements by inlining via complicated macros and + they just make gdb larger and harder to maintain. + * dwarfread.c (add_enum_psymbol): Replace ADD_PSYMBOL_TO_LIST + and/or ADD_PSYMBOL_ADDR_TO_LIST macro(s) with call to + add_psymbol_to_list with appropriate long or CORE_ADDR args. + (add_partial_symbol): Ditto. + * partial-stab.h: Ditto. + * os9kread.c (read_os9k_psymtab): Ditto + * mdebugread.c (parse_partial_symbols): Ditto. + (handle_psymbol_enumerators): Ditto. + (demangle.h): Include. + * hpread.c (hpread_build_psymtabs): Ditto. + (hpread_build_psymtabs): Ditto. + (demangle.h): Include + +Thu Apr 4 20:16:55 1996 Fred Fish + + * configure.in: Check for setpgid function. + * config.in: Regenerate with autoheader. + * configure: Regenerate with autoconf. + * inflow.c (_initialize_inflow): Only try to use _SC_JOB_CONTROL + if it is actually defined. + (gdb_setpgid): Use HAVE_SETPGID. + * ch-exp.c: Change include of to "gdb_string.h". + * c-exp.y, f-exp.y, m2-exp.y: Ditto. + * c-exp.y, serial.c: Include . + * config/m68k/nm-news.h: Add typedef for pid_t which is + apparently missing from . Enclose entire + file in NM_NEWS_H ifndef and define when included. + * config/mips/nm-news-mips.h: Ditto. + * config/m68k/tm-m68k.h (REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Change name of temporary variable. + +Thu Apr 4 19:04:18 1996 Stan Shebs + + * arm-xdep.c: Move native-specific code to here from arm-tdep.c. + * arm-tdep.c (arm_apcs_32): New global. + (arm_addr_bits_remove, arm_saved_pc_after_call, + arm_push_dummy_frame, arm_pop_frame): New functions. + (arm_skip_prologue): Updated version from Richard Earnshaw. + (_initialize_arm_tdep): Add set/show "apcs32". + * config/arm/tm-arm.h (ADDR_BITS_REMOVE): Call + arm_addr_bits_remove. + (SAVED_PC_AFTER_CALL): Call arm_saved_pc_after_call. + (frame_find_saved_regs): Declare properly. + (PUSH_DUMMY_FRAME): Call arm_push_dummy_frame. + (POP_FRAME): Call arm_pop_frame, use ADDR_BITS_REMOVE instead of + explicit mask. + * config/arm/nm-arm.h: New file. + * config/arm/xm-arm.h (KERNEL_U_ADDR, FETCH_INFERIOR_REGISTERS): + Move definitions to nm-arm.h. + * config/arm/arm.mh (NAT_FILE): Define. + + * symfile.c (generic_load): Initialize data_count properly. + +Thu Apr 4 17:17:53 1996 Fred Fish + + * symmisc.c (print_objfile_statistics): Print memory used by + psymbol cache obstack. + +Thu Apr 4 15:43:07 1996 Stan Shebs + + * symfile.c (report_transfer_performance): New function. + (generic_load): Call it to report transfer rate. + * remote-e7000.c (e7000_load): Ditto. + +Mon Apr 1 16:31:00 1996 Stan Shebs + + * mpw-make.sed: Change references to config.h to be in objdir, + edit out rules to rebuild config.h. + +Mon Apr 1 08:32:23 1996 Fred Fish + + * hppa-tdep.c (hppa_pop_frame): Call clear_proceed_status before + proceeding. + +Sun Mar 31 16:15:43 1996 Fred Fish + + * hppah-nat.c (store_inferior_registers, store_inferior_registers, + fetch_register, child_xfer_memory): Use call_ptrace function supplied + by infptrace.c rather than calling ptrace directly. + +Sun Mar 31 15:39:00 1996 Stan Shebs + + * mon960-rom.c: Cleanups and elimination of unused code, + clarify documentation string. + (mon960_serial, mon960_ttyname): Remove. + * config/i960/tm-mon960.h (ADDITIONAL_OPTIONS, + ADDITIONAL_OPTION_CASES, ADDITIONAL_OPTION_HELP): Remove. + +Sat Mar 30 11:00:22 1996 Fred Fish + + * configure.in: Check whether printf family supports printing + long doubles or not and define PRINTF_HAS_LONG_DOUBLE if so. + * acconfig.h: Provide default undef for PRINTF_HAS_LONG_DOUBLE. + * configure: Regenerate. + * valprint.c (print_floating): Use PRINTF_HAS_LONG_DOUBLE. + * c-exp.y (parse_number): Use PRINTF_HAS_LONG_DOUBLE. + * configure.in: Fix have_gregset and have_fpregset autoconf + variable names so that they match the pattern required to + cache them. + +Fri Mar 29 21:39:56 1996 Fred Fish + + * core-aout.c (fetch_core_registers): Cast core_reg_size to int + before testing against reg_ptr. + * eval.c (evaluate_subexp_standard): Cast type of + TYPE_FN_FIELD_VOFFSET to int. + * findvar.c (extract_signed_integer, extract_unsigned_integer, + extract_long_unsigned_integer): Cast type of sizeof to int. + * values.c (unpack_field_as_long, modify_field): Ditto. + * valops.c (value_assign, call_function_by_hand): Ditto. + * infcmd.c (do_registers_info): Ditto. + * ser-tcp.c (tcp_open): Ditto. + * remote.c (putpkt): Ditto. + * dcache.c (dcache_peek): Ditto. + * dcache.c (dcache_poke): Ditto. + * m2-exp.y (yylex): Ditto. + * gnu-regex.c (re_match_2): Ditto. + * f-lang.c (ADD_BF_SYMNUM, saved_bf_list_end, tmp_bf_ptr): Ifdef + out unused macro definition and variables. + * inftarg.c (proc_wait): Move from main.c to here, and make static. + * valprint.c (val_print_string): Change bufsize from int to unsigned. + * main.c (wait.h): Include. + * top.c (command_line_input): Remove unused variable "c". + * f-typeprint.c (f_type_print_varspec_prefix): Add missing enum + value TYPE_CODE_TYPEDEF to switch statement. + (f_type_print_varspec_suffix): Add missing enum value + TYPE_CODE_TYPEDEF to switch statement. + * ch-exp.c (parse_primval): Add remaining enumeration values to + switch statement, with no specific action. + (ch_lex): Add LOC_UNRESOLVED in switch statement. + (pushback_token): Ifdef out, since code using it is ifdef'd out. + * stabsread.c (cleanup_undefined_types): Remove unused label + "badtype". + * objfiles.h (print_symbol_bcache_statistics): Add prototype. + * maint.c (objfiles.h): Include. + (maintenance_print_statistics): Remove unused variable "temp". + * minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove + unused variable "found_file_symbol". + * m2-exp.y (yylex): Add LOC_UNRESOLVED case to switch. + * language.c (lang_bool_type): Use existing function local type + variable rather than create block local variables. + * solib.c (disable_break): Enclose in ifndef SVR4_SHARED_LIBS. + * infptrace.c (wait.h, command.h): Include. + * ser-tcp.c (gdb_string.h): Include + * i386-tdep.c (codestream_seek): Change "place" to CORE_ADDR. + (i386_get_frame_setup): Change "pc" from int to CORE_ADDR. + * command.c (complete_on_enum): Make assignment used as truth value + explictly check against NULL. + (wait.h): Include. + * infrun.c (wait_for_inferior): Ifdef out prologue_pc since code + that uses it is ifdef'd out. + * parser-defs.h: Add prototype for write_dollar_variable. + * infrun.c: Add prototype for write_pc_pid. + * breakpoint.h: Add prototype for re_enable_breakpoints_in_shlibs. + * symmisc.c (bcache.h): Include. + * bcache.h: Add prototype for print_bcache_statistics. + * symfile.c: Include . + * printcmd.c (print_scalar_formatted): Change len to unsigned int. + * valarith.c (value_equal): Cast result of TYPE_LENGTH to int. + * valarith.c (value_binop): Change result_len, promoted_len1, + and promoted_len2 to unsigned int. + * valarith.c (value_subscripted_rvalue): Change elt_offs and + elt_size to unsigned int. + * valops.c (value_array): Change typelength to unsigned int. + (destructor_name_p): Change len to unsigned int. + * scm-lang.h (scm_parse): Add prototype for scm_unpack. + * symfile.c (decrement_reading_symtab): Change return type to void. + * valarith.c (value_subscript): Remove unused variable "word". + (value_subscript): Remove unused variable "tint". + * valops.c (auto_abandon): Ifdef out, since code using it is also + ifdef'd out. + * eval.c (init_array_element): Remove unused variable "val". + * Makefile.in (values.o): Depends on scm-lang.h. + (command.o): Depends upon wait_h. + (ser-tcp.o): Depends upon gdb_string.h. + (infptrace.o): Depends upon wait_h and command_h. + (maint.o): Depends on objfiles.h and symfile.h. + * values.c (allocate_repeat_value): Remove unused variable + "element_type". + (scm-lang.h): Include. + * breakpoint.c (create_longjmp_breakpoint): Enclose in + GET_LONGJMP_TARGET define, unused otherwise. + * config/i386/nm-linux.h: Add prototypes for i386_insert_watchpoint, + i386_remove_watchpoint and i386_stopped_by_watchpoint. + +Thu Mar 28 12:53:19 1996 Doug Evans + + * configure.in (sparc64-*-solaris2*): Delete. + Stick with sparc-*-solaris2*. + * configure: Regenerated. + +Thu Mar 28 06:51:26 1996 Fred Fish + + * valops.c (value_assign): Make copy of internal variable value + before returning it as a new value, since it is owned by the + internal variable and will be freed along with it. + +Wed Mar 27 08:36:17 1996 Jeffrey A Law (law@cygnus.com) + + * From Peter Schauer. + * breakpoint.c (breakpoint_re_set_one): Keep temporary + breakpoints bp_until, bp_finish, bp_watchpoint_cope, bp_call_dummy + and bp_step_resume in case breakpoint_re_set_one is called due + to a step over a dlopen call. + * infrun.c (wait_for_inferior): Always remove breakpoints from + inferior in BPSTAT_WHAT_CHECK_SHLIBS case. + +Tue Mar 26 13:15:32 1996 Fred Fish + + * config/mips/tm-mips.h (COERCE_FLOAT_TO_DOUBLE): Only prefer + non-prototyped case over prototyped case for C. + * config/pa/tm-hppa.h (COERCE_FLOAT_TO_DOUBLE): Ditto. + +Sat Mar 23 17:24:28 1996 Fred Fish + + * os9kread.c (os9k_process_one_symbol): Note nonportable + assumption that an int can hold a char *. + + * bcache.h (struct hashlink): Wrap data[] inside union with + double to force longest alignment. + (BCACHE_DATA): New macro to access data[]. + (BCACHE_ALIGNMENT): New macro to get offset to data[]. + * bcache.c (lookup_cache, bcache): Use BCACHE_DATA to get + address of cached data. Use BCACHE_ALIGNMENT to compute + amount of space to allocate for each hashlink struct. + +Sat Mar 23 12:14:02 1996 Fred Fish + + * ch-lang.c (evaluate_subexp_chill): Fix typo. + +Thu Mar 21 08:27:19 1996 Fred Fish + + * Makefile.in (VERSION): Bump version to 4.15.3 + +Thu Mar 21 10:56:41 1996 Ian Lance Taylor + + * config.in: Rename from config.h.in. + * configure.in: Call AC_CONFIG_HEADER with config.h:config.in. + Change CONFIG_HEADERS test in AC_OUTPUT accordingly. + * configure: Rebuild. + * Makefile.in (stamp-h): Depend upon config.in, not config.h.in. + Set CONFIG_HEADERS to config.h:config.in. + +Tue Mar 19 12:47:51 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * partial-stab.h (case N_ENDM): Finish current partial symbol + table for Solaris 2 cc. + +Tue Mar 19 10:39:15 1996 Jeffrey A Law (law@cygnus.com) + + * rs6000-nat.c (exec_one_dummy_insn): Don't clobber the + PC in the registers array. From Peter Schauer. + +Mon Mar 18 13:47:09 1996 Fred Fish + + * symfile.c (reread_symbols): Reinitialize bcache struct + members to zero using memset. Also use memset to reinit + global_psymbols and static_psymbols, rather than explicitly + resetting each structure member. + +Sat Mar 16 19:47:36 1996 Fred Fish + + * configure.in: Add fragment to create stamp-h. + + From Peter Schauer + * configure.in (AC_CHECK_HEADERS): Check for link.h. + * configure: Regenerate with autoconf. + * config.h.in: Regenerate with autoheader. + * config/i386/nm-linux.h: Include solib.h only if HAVE_LINK_H + is defined. + * solib.c: Exclude most of the code if HAVE_LINK_H is not defined. + * config/i386/linux.mh: Reinstate XM_CLIBS, it is needed for + older a.out based systems. + +Sat Mar 16 16:45:43 1996 Fred Fish + + * config.h.in: New file. + * acconfig.h: New file, for autoheader. + * configure.in (AC_CONFIG_HEADER): Add, generate config.h. + * configure: Regenerate. + * Makefile.in (defs_h): Add config.h + (distclean): Remove config.h and stamp-h during distclean. + (config.h, stamp-h): New targets to remake config.h when necessary. + * defs.h (config.h): Include before any other includes or defines. + * i386-tdep.c (gdb_string.h): Move include after include of defs.h. + * i386v4-nat.c (defs.h): Include before testing HAVE_SYS_PROCFS_H. + +Sat Mar 16 14:55:27 1996 Fred Fish + + From Peter Schauer + * Makefile.in (INSTALLED_LIBS): Make sure that @LIBS@ will not + result in an empty line, to work around a bug in native Ultrix 4.4 + and OSF/1-3.2C make. + +Sat Mar 16 13:33:17 1996 Fred Fish + + * configure.in: Add gdbserver to configdirs under linux. + * configure: Regenerate. + +Fri Mar 15 12:06:58 1996 J.T. Conklin + + * config/i386/nm-nbsd.h (FLOAT_INFO): Comment out. + * config/i386/tm-nbsd.h (NUM_REGS): Define. + +Thu Mar 14 10:31:18 1996 Jeffrey A Law (law@cygnus.com) + + * solib.c (solib_break_names): Add _r_debug_state for + vanilla SVR4 implementations. From Peter Schauer. + +Mon Mar 11 14:24:57 1996 Dawn Perchik + + * mon960-rom.c: New file; support mon960 rom monitor on i960. + * monitor.c (monitor_debug): Change remotedebug to buffer strings. + * monitor.c (monitor_open): Add test for flag MO_NO_ECHO_ON_OPEN before + epecting prompt and echo during open. + * monitor.c (monitor_stop): Add test for flag MO_SEND_BREAK_ON_OPEN to + determine if break should be sent as stop command. + * monitor.h: Add flags MO_NO_ECHO_ON_OPEN and MO_SEND_BREAK_ON_OPEN. + * i960-tdep.c (mon960_frame_chain_valid): New function for getting + stack frame on mon960. + * Makefile.in: Add mon960 files. + * configure.in: Changed i960-*-coff* and i960-*-elf* to target mon960; + added i960-nindy-coff* and i960-nindy-elf* for target nindy. + * configure: Regenerated. + * config/i960/mon960.mt, config/i960/tm-mon960.h: New files; + support mon960 rom monitor on i960. + +Mon Mar 11 11:02:47 1996 Steve Chamberlain + + With Michael Snyder: + * i386-tdep.c (skip_trampoline_code): Fix strncmp length. + * win32-nat.c (CHECK, DEBUG*, debug_*): New. + (handle_load_dll): Don't reload symbols. + (handle_exception): Use the DEBUG_* names. + (child_wait): Add DEBUG_* code. + (_initialize_inftarg): Add new commands to set debug_ names. + +Mon Mar 11 09:19:58 1996 Jeffrey A Law (law@cygnus.com) + + * From Peter Schauer: + * breakpoint.c (insert_breakpoints): Use ALL_BREAKPOINTS_SAFE. + (bpstat_stop_status): Likewise. + (remove_solib_event_breakpoints): Likewise. + (clear_momentary_breakpoints): Likewise. + (re_enable_breakpoints_in_shlibs): Don't reenable a breakpoint + if we still can't read the memory for that breakpoint. + (mention): Add bp_shlib_event case to keep gcc quiet. + +Fri Mar 8 12:08:12 1996 Jeffrey A Law (law@cygnus.com) + + * breakpoint.h (enum enable): New enum shlib_disabled for + shared library breakpoints that have been temporarily disabled. + * breakpoint.c: Handle temporarily disabled shared library + breakpoints like disabled breakpoints in most places. + (insert_breakpoints): Use shlib_disabled to indicate + that an unsettable breakpoint is only temporarily disabled. + (re_enable_breakpoints_in_shlibs): New function. + * corelow.c (solib_add_stub): After adding shared libraries, + try to reenable any temporarily disabled breakpoints. + * infcmd.c (attach_command): Likewise. + * infrun.c (wait_for_inferior): Likewise. + +Fri Mar 8 11:41:25 1996 Ian Lance Taylor + + * defs.h (extract_long_unsigned_integer): Declare. + * findvar.c (extract_long_unsigned_integer): New function. + * printcmd.c (print_scalar_formatted): Use it. + * valprint.c (val_print_type_code_int): Likewise. + +Thu Mar 7 17:40:50 1996 Stan Shebs + + * infcmd.c (do_registers_info): Ignore anonymous registers. + * sh-tdep.c (set processor): New command to set specific + processor type. + (sh_reg_names, sh3_reg_names): Arrays of register names for + SH and SH3 processors. + (sh_set_processor_type): New function. + * sh3-rom.c (sh3_open): Call it. + (sh3_regname): Add names of all the bank registers. + (sh3_supply_register): Clean up formatting. + * config/sh/tm-sh.h (NUM_REGS, NUM_REALREGS): Increase to include + bank registers. + (REGISTER_NAMES): Add names of bank registers. + (FP15_REGNUM): Define. + (REGISTER_VIRTUAL_TYPE): Use it. + * monitor.c: Clean up some comments. + +Thu Mar 7 12:09:51 1996 J.T. Conklin + + * i386b-nat.c: Revert part of Mar 5 change. FreeBSD collapsed the + s* and t* symbols too. + +Thu Mar 7 15:18:51 1996 James G. Smith + + * symfile.c (generic_load): Avoid division by zero. + +Wed Mar 6 17:57:59 1996 Jeffrey A Law (law@cygnus.com) + + * breakpoint.c (bfd_lookup_symbol): Provide for all SVR4 systems, + not just those with HANDLE_SVR4_EXEC_EMULATORS. + + From Peter Schauer: + * breakpoint.c (internal_breakpoint_number): Move to file scope. + (create_solib_event_breakpoint): Use an internal breakpoint number. + +Wed Mar 6 00:32:44 1996 Wilfried Moser + + * valarith.c (value_in): Change builtin_type_chill_bool to + LA_BOOL_TYPE. + +Tue Mar 5 23:48:36 1996 Wilfried Moser + + * ch-exp.c (parse_primval): Handle CARD, MAX, MIN. + (match_string_literal): Handle control sequence. + (match_character_literal): Deto. + + * ch-lang.c (chill_printchar): Change formating of nonprintable + characters from C'xx' to ^(num). + (chill_printstr): Deto. + (value_chill_card, value_chill_max_min): New functions to process + Chill's CARD, MAX, MIN. + (evaluate_subexp_chill): Process UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN. + + * expression.h (exp_opcode): Add UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN + for Chill's CARD, MAX, MIN. + + * valarith.c (value_in): Add processing of TYPE_CODE_RANGE + and change return type from builtin_type_int to + builtin_type_chill_bool. + +Tue Mar 5 18:54:04 1996 Stan Shebs + + * config/nm-nbsd.h (link_object, lo_name, etc): Move to here + from config/nm-nbsd.h. + * config/sparc/nm-nbsd.h (regs, fp_status, etc): Move to here + from config/sparc/tm-nbsd.h. + + * config/m68k/nm-hp300hpux.h (FIVE_ARG_PTRACE): Define here + instead of in config/m68k/xm-hp300hpux.h. + +Tue Mar 5 12:05:35 1996 J.T. Conklin + + * i386b-nat.c, m68knbsd-nat.c (fetch_core_registers): Provide + implementation for NetBSD systems. + +Mon Mar 4 23:44:16 1996 Per Bothner + + * valarith.c (binop_user_defined_p): Return 0 for BINOP_CONCAT. + (value_concat): Handle varying strings (add COERCE_VARYING_ARRAY). + + * ch-lang.c (evaluate_subexp_chill case MULTI_SUBSCRIPT): Error + if "function" is pointer to non-function. + +Mon Mar 4 17:47:03 1996 Stan Shebs + + * top.c (print_gdb_version): Update copyright year. + +Mon Mar 4 14:44:54 1996 Jeffrey A Law (law@cygnus.com) + + From Peter Schauer: + * infrun.c (wait_for_inferior): Remove breakpoints and + switch terminal settings before calling SOLIB_ADD. + * solib.c (enable_break, SVR4 variant): Don't map in symbols + for the dynamic linker, the namespace pollution causes real + problems. + +Sun Mar 3 17:18:57 1996 James G. Smith + + * remote-mips.c (common_breakpoint): Explicitly terminate the + returned buffer. + +Wed Feb 28 22:32:18 1996 Stan Shebs + + From Wilfried Moser : + * remote.c (remote_detach): Send a command 'D' to the target + when detaching, update the function's comments. + +Thu Jun 6 16:11:38 1996 Miles Bader + + * gnu-nat.c (thread_cmd_list): New declaration. + (parse_int_arg): New function. + +Wed Jun 5 17:28:04 1996 Miles Bader + + * gnu-nat.h (struct proc): Add DETACH_SC field. + * gnu-nat.c (make_proc): Set DETACH_SC. + (struct inf): Add DETACH_SC & DEFAULT_THREAD_DETACH_SC fields. + (make_inf): Set DETACH_SC & DEFAULT_THREAD_DETACH_SC fields. + (add_thread_commands): Add set/show for detach-suspend-count. + Add takeover-suspend-count cmd. + (inf_detach): Set suspend counts to the detach SC, not 0. + (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd, + set_task_detach_sc_cmd, show_task_detach_sc_cmd, + set_thread_default_thread_detach_sc_cmd, + show_thread_default_thread_detach_sc_cmd): New functions. + (show_task_cmd): Also show detach-suspend-count values. + (thread_takeover_sc_cmd): New function. + +Fri May 31 16:49:24 1996 Miles Bader + + * gnu-nat.c (show_thread_run_cmd): Actually print state. + +Thu May 30 10:47:56 1996 Miles Bader + + * gnu-nat.c (inf_signal): Make unforwardable exceptions an error. + +Tue May 28 17:06:36 1996 Miles Bader + + * gnu-nat.c (inf_validate_stopped): proc_getprocinfo takes a + pointer to the flags now, not the flags themselves. + +Mon May 27 13:31:17 1996 Miles Bader + + * gnu-nat.c (gnu_wait): Print debugging msgs for pending execs. + (gnu_create_inferior): Check return from ptrace. + +Sun May 26 16:56:35 1996 Miles Bader + + * gnu-nat.h (struct proc): Add DEAD field. + * gnu-nat.c (make_proc): Initialize DEAD. + (inf_set_traced, inf_validate_task_sc, inf_validate_procs: Frob it. + (gnu_wait): Only abort for 0 threads if the task isn't dead. + +Sat May 25 17:06:05 1996 Miles Bader + + * gnu-nat.c (inf_signal): Pass SIGCODE when posting a signal. + +Wed May 22 18:44:28 1996 Miles Bader + + * gnu-nat.c (S_proc_wait_reply): Add SIGCODE argument. + (inf_set_traced): Only give no-signal-thread error message if + turning *on* tracing. + +Wed May 15 13:03:16 1996 Miles Bader + + * gnu-nat.c (inf_validate_procs): If INF has no threads, always + set inf->threads_up_to_date to 0. + (inf_signal): Pass in new SIGCODE argument to msg_sig_post_untraced. + (gnu_wait): Pass in new TIMEOUT arg to interrupt_operation. + (proc_update_sc): Cast thread state arg to thread_set_state. + (proc_get_state): Cast thread state arg to thread_get_state. + (inf_validate_task_sc): Cast task_basic_info arg to task_info. + * i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Call + inf_update_procs before we lookup the thread. + * config/i386/i386gnu.mh (MH_CFLAGS): New variable. + +Tue May 7 17:52:33 1996 Miles Bader + + * gnu-nat.c (gnu_kill_inferior): Use inf_set_task to clear the task. + +Mon May 6 19:06:49 1996 Miles Bader + + * gnu-nat.c (inf_set_traced): Use msg_set_init_int with + INIT_TRACEMASK instead of setting the exec flags. + +Fri May 3 19:10:57 1996 Miles Bader + + * gnu-nat.c (inf_validate_procs): Don't clear INF->task if we find + the task's died, so others have a chance at it. + (gnu_resume): When single-stepping a single thread, given an error + if there is no such thread. When single-stepping one but running + the others, just given a warning and still run all the threads. + (gnu_wait): If there seem to be no threads, look harder, and + signal an error if there really aren't any. + (gnu_attach): Reset thread numbering to 0. + + * i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Give + thread name in warning messages. + + * gnu-nat.c (active_inf): New function. + (show_sig_thread_cmd, show_stopped_cmd): Use it. + (info_port_rights, info_send_rights_cmd, info_port_sets_cmd, + info_recv_rights_cmd, info_port_rights_cmd, info_port_rights_cmd): + New functions. + (add_task_commands): Add new port-right info commands. + +Fri Apr 26 20:42:16 1996 Miles Bader + + * gnu-nat.c (gnu_wait): Instead of _hurd_intr_rpc_mach_msg, just + use mach_msg with MACH_RCV_INTERRUPT. + (set_noninvasive_cmd): New function. + (add_task_commands): Add command entry for `set noninvasive'. + +Mon Mar 4 14:12:02 1996 Miles Bader + + * gnu-nat.c (gnu_read_inferior): Use hurd_safe_memmove, not safe_bcopy. + (safe_bcopy): Function removed. + +Mon Dec 4 14:18:26 1995 Miles Bader + + * gnu-nat.c (proc_update_sc): Assert only threads can have state. + (make_proc): Initialize state_valid & state_changed fields. + +Tue Nov 28 17:51:21 1995 Miles Bader + + * reply_mig_hack.awk: New file. + +Tue Nov 14 14:31:03 1995 Miles Bader + + * breakpoint.c (breakpoint_1): Print breakpoint thread field. + + * lynx-nat.c (child_wait): Return TARGET_WAITKIND_SPURIOUS for new + threads. + +Mon Nov 13 18:30:53 1995 Miles Bader + + * target.c (debug_to_check_threads): New function. + + * inflow.c (terminal_init_inferior_with_pgrp): New function. + (terminal_init_inferior): Call terminal_init_inferior_with_pgrp. + * inferior.h (terminal_init_inferior_with_pgrp): New declaration, + but only if PROCESS_GROUP_TYPE is defined. + +Mon Nov 6 16:42:09 1995 Miles Bader + + * target.c (debug_to_thread_alive): Pass through the return value. + +Thu Nov 2 18:05:00 1995 Miles Bader + + * target.c (signals, target_signal_from_host, target_signal_to_host): + Add mach exceptions. + * target.h (enum target_signal): Add mach exceptions. + +Mon Oct 30 16:41:04 1995 Miles Bader + + * gnu-nat.c: New file: gnu native backend. + * i386gnu-nat.c: New file: i386-specific part of gnu native backend. + * gnu-nat.h: New file. + * config/nm-gnu.h: New file. + * config/tm-i386gnu.h: New file. + * config/xm-i386gnu.h: New file. + * config/i386/i386gnu.mh: New file. + * config/i386/i386gnu.mt: New file. + +Wed Feb 28 15:50:12 1996 Fred Fish + + * Makefile.in (VERSION): Bump version to 4.15.2 to establish + baseline for gdb 4.16 rerelease testing. + +Wed Feb 28 13:32:05 1996 Jeffrey A Law (law@cygnus.com) + + * somsolib.c (som_solib_create_inferior_hook): Before returning + call clear_symtab_users. + +Tue Feb 27 00:04:46 1996 Stu Grossman (grossman@critters.cygnus.com) + + * remote-e7000.c (e7000_open): Delete all breakpoints when + connecting to e7000. Change connect message to allow use of + monitor.exp in test suite. + * (e7000_load): Print transfer rate of download. + * symfile.c (generic_load): Print transfer rate of download. + +Sun Feb 25 13:58:33 1996 Stan Shebs + + * configure.in (mips*-*-vxworks*): New config. + * configure: Regenerated. + + * config/mips/vxmips.mt, config/mips/tm-vxmips.h: New files. + * remote-vxmips.c (vx_convert_to_virtual, vx_convert_from_virtual): + Remove, never used. + +Sat Feb 24 12:30:28 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * partial-stab.h (case N_FUN): Function symbols generated + by SPARCworks cc have a meaningless zero value, do not update + pst->textlow if the function symbol value is zero. + + * stabsread.c (define_symbol): Initialize SYMBOL_TYPE field + for function prototype declaration symbols. + +Fri Feb 23 22:33:04 1996 Stu Grossman (grossman@critters.cygnus.com) + + * remote-e7000.c (e7000_load): New routine to download via the + network. + * (e7000_wait): Don't backup PC when we hit a breakpoint. + Apparantly new sh2 pods get this right... + * (e7000_ops): Add call to e7000_load. + +Thu Feb 22 00:52:42 1996 J.T. Conklin + + * config/m68k/{nbsd.mh,nbsd.mt,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}, + m68knbsd-nat.c: New files, support for NetBSD/m68k. + + * configure.in (m68k-*-netbsd*): New config. + * configure: Regenerated. + +Wed Feb 21 19:00:21 1996 Fred Fish + + * standalone.c (open, _initialize_standalone): Fix obvious typos + reported by Martin Pool . + +Wed Feb 21 14:24:04 1996 Jeffrey A Law (law@cygnus.com) + + * solib.c (solib_create_inferior_hook): Fix thinko. + +Tue Feb 20 23:59:19 1996 Jeffrey A Law (law@cygnus.com) + + * solib.c (solib_break_names): Define for Solaris and Linux. + (enable_break): For SVR4 systems, first try to use the debugger + interfaces in the dynamic linker to track shared library events + as they happen, then fall back to BKPT_AT_SYMBOL code. Convert + BKPT_AT_SYMBOL code to use shared library event breakpoints. + (solib_create_inferior_hook): Simplify BKPT_AT_SYMBOL code, + it no longer needs to restart/wait on the inferior. + * symfile.c (find_lowest_section): No longer static. + * symfile.h (find_lowest_section): Corresponding changes. + +Tue Feb 20 18:54:08 1996 Fred Fish + + * valops.c (COERCE_FLOAT_TO_DOUBLE): Define default value. + (value_arg_coerce): Use COERCE_FLOAT_TO_DOUBLE. + * config/alpha/tm-alpha.h (COERCE_FLOAT_TO_DOUBLE): Define to 1. + * config/mips/tm-mips.h: Ditto. + * config/pa/tm-hppa.h: Ditto. + * config/rs6000/tm-rs6000.h: Ditto. + * config/sparc/tm-sparc.h: Ditto. + +Tue Feb 20 17:32:05 1996 J.T. Conklin + + * config/{i386,ns32k}/nbsd.mh (NATDEPFILES): Remove core-aout.o. + + * config/nm-nbsd.h (FETCH_INFERIOR_REGISTERS): Defined. + * config/xm-nbsd.h (CC_HAS_LONG_LONG, PRINTF_HAS_LONG_LONG): + #ifdef'd out definitions --- Causes serious gdb failures on + the i386. Need to investigate further before enabling. + + * i386b-nat.c (fetch_inferior_registers, store_inferior_registers, + fetch_core_registers): New functions. These functions are defined + if FETCH_INFERIOR_REGISTERS is set. Registers are fetched/stored + with ptrace PT_GETREGS/PT_SETREGS. + +Tue Feb 20 16:55:06 1996 Stu Grossman (grossman@critters.cygnus.com) + + * findvar.c (extract_floating store_floating): Replace `long + double' with `DOUBLEST'. + +Mon Feb 19 15:25:51 1996 J.T. Conklin + + * config/xm-nbsd.h (CC_HAS_LONG_LONG, PRINTF_HAS_LONG_LONG): + Define. + +Mon Feb 19 10:32:05 1996 Jeffrey A Law (law@cygnus.com) + + * symtab.h (looup_minimal_symbol_solib_trampoline): Declare. + + * breakpoint.h (remove_solib_event_breakpoints): Declare. + * breakpoint.c (remove_solib_event_breakpoints): New function. + * somsolib.c (solib_create_inferior_hook): Remove all solib event + breakpoints before inserting any new ones. Use a solib event + breakpoint for the breakpoint at "_start". + Remove extraneous "\n" from calls to warning. + + * breakpoint.c (breakpoint_1): Add missing "sigtramp" to bptypes + name array. + +Mon Feb 19 01:09:32 1996 Doug Evans + + * dwarfread.c (add_partial_symbol): Use ADD_PSYMBOL_ADDR_TO_LIST + for CORE_ADDR values. + (new_symbol): Use SYMBOL_VALUE_ADDRESS for CORE_ADDR values. + * symfile.h (add_psymbol_{,addr}to_list): Add prototypes. + +Sun Feb 18 14:37:13 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mipsread.c (mipscoff_symfile_read): Unconditionally add + alpha coff dynamic 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. + +Sun Feb 18 09:27:10 1996 Stu Grossman (grossman@cygnus.com) + + * config/sparc/tm-sparc.h: Define PS_FLAG_CARRY. Define + RETURN_VALUE_ON_STACK to return long doubles on the stack. + +Sat Feb 17 16:33:11 1996 Fred Fish + + * Makefile.in (ch-exp.o): Add dependencies. + (various): Add gdb_string.h to dependencies that need it. + +Sat Feb 17 08:57:50 1996 Fred Fish + + * symmisc.c (print_symbol_bcache_statistics): Update description for + printing byte cache statistics. + +Thu Feb 16 16:02:03 1996 Stu Grossman (grossman@cygnus.com) + + * Add native support for long double data type. + * c-exp.y (%union): Change dval to typed_val_float. Use DOUBLEST + to store actual data. Change types of INT and FLOAT tokens to + typed_val_int and typed_val_float respectively. Create new token + DOUBLE_KEYWORD to specify the string `double'. Make production + for FLOAT use type determined by parse_number. Add production for + "long double" data type. + * (parse_number): Use sscanf to parse numbers as float, double or + long double depending upon the type of typed_val_float.dval. Also + allow user to specify `f' or `l' suffix to explicitly specify + float or long double constants. Change typed_val to + typed_val_int. + * (yylex): Change typed_val to typed_val_int. Also, scan for + "double" keyword. + * coffread.c (decode_base_type): Add support for T_LNGDBL basic + type. + * configure, configure.in: Add check for long double support in + the host compiler. + * defs.h: Define DOUBLEST appropriatly depending on whether + HAVE_LONG_DOUBLE (from autoconf) is defined. Also, fix prototypes + for functions that handle this type. + * expression.h (union exp_element): doubleconst is now type + DOUBLEST. + * m2-exp.y f-exp.y (%union): dval becomes type DOUBLEST. + * findvar.c (extract_floating): Make return value be DOUBLEST. + Also, add support for numbers with size of long double. + * (store_floating): Arg `val' is now type DOUBLEST. Handle all + floating types. + * parser-defs.h parse.c (write_exp_elt_dblcst): Arg expelt is now + DOUBLEST. + * valarith.c (value_binop): Change temp variables v1, v2 and v to + type DOUBLEST. Coerce type of result to long double if either op + was of that type. + * valops.c (value_arg_coerce): If argument type is bigger than + double, coerce to long double. + * (call_function_by_hand): If REG_STRUCT_HAS_ADDR is defined, and + arg type is float and > 8 bytes, then use pointer-to-object + calling conventions. + * valprint.c (print_floating): Arg doub is now type DOUBLEST. + Use appropriate format and precision to print out floating point + values. + * value.h: Fixup prototypes for value_as_double, + value_from_double, and unpack_double to use DOUBLEST. + * values.c (record_latest_value): Remove check for invalid + floats. Allow history to store them so that people may examine + them in hex if they want. + * (value_as_double unpack_double): Change return value to DOUBLEST. + * (value_from_double): Arg `num' is now DOUBLEST. + * (using_struct_return): Use RETURN_VALUE_ON_STACK macro (target + specific) to expect certain types to always be returned on the stack. + +Fri Feb 16 14:00:54 1996 Fred Fish + + * bcache.c, bcache.h: New files to implement a byte cache. + * Makefile.in (SFILES): Add bcache.c. + (symtab_h): Add bcache.h. + (HFILES_NO_SRCDIR): add bcache.h + (COMMON_OBJS): Add bcache.o + (bcache.o): New target. + * dbxread.c (start_psymtab): Make global_syms & static_syms + type "partial_symbol **". + * hpread.c (hpread_start_symtab): Ditto. + * os9kread.c (os9k_start_psymtab): Ditto. + * stabsread.h (start_psymtab): Ditto. + * {symfile.c, symfile.h} (start_psymtab_common): Ditto. + * maint.c (maintenance_print_statistics): Call + print_symbol_bcache_statistics. + * objfiles.c (allocate_objfile): Initialize psymbol bcache malloc + and free pointers. + * solib.c (allocate_rt_common_objfile): Ditto. + * symfile.c (reread_symbols): Ditto. + (free_objfile): Free psymbol bcache when objfile is freed. + (objfile_relocate): Use new indirect psymbol pointers. + * objfiles.h (struct objfile): Add psymbol cache. + * symfile.c (compare_psymbols): Now passed pointers to pointers to + psymbols. + (reread_symbols): Free psymbol bcache when freeing other objfile + resources. + (add_psymbol_to_list, add_psymbol_addr_to_list): Initialize new + psymbol using the psymbol bcache. + (init_psymbol_list): Psymbol lists now contain pointers rather than + the actual psymbols. + * symfile.h (psymbol_allocation_list): Psymbol lists now dynamically + grown arrays of pointers. + (ADD_PSYMBOL_VT_TO_LIST): Initialize new symbol using the psymbol + bcache. + * symmisc.c (print_partial_symbols): Now takes pointer to pointer + to partial symbol. + (print_symbol_bcache_statistics): New function to print per objfile + bcache statistics. + (print_partial_symbol, print_partial_symbols, + maintenance_check_symtabs, extend_psymbol_list): + Account for change to pointer to pointer to partial symbol. + * symtab.c (find_pc_psymbol, lookup_partial_symbol, decode_line_2, + make_symbol_completion_list): + Account for change to pointer to pointer to partial symbol. + * symtab.h (bcache.h): Include. + * xcoffread.c (xcoff_start_psymtab): Make global_syms & static_syms + type "partial_symbol **". + +Fri Feb 16 10:02:34 1996 Fred Fish + + * dwarfread.c (free_utypes): New function. + (read_file_scope): Call free_utypes as cleanup, rather than just + freeing the utypes pointer. + +Thu Feb 15 21:40:52 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * demangle.c (is_cplus_marker): New function, checks if a + character is one of the commonly used C++ marker characters. + * defs.h (is_cplus_marker): Add prototype. + * c-typeprint.c (c_type_print_base), ch-lang.c (chill_demangle), + cp-valprint.c (cp_print_class_method), mdebugread.c (parse_symbol), + stabsread.c (define_symbol, read_member_functions, read_struct_fields), + symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P), + values.c (vb_match): Use is_cplus_marker instead of comparison + with CPLUS_MARKER. + +Thu Feb 15 18:08:13 1996 Fred Fish + + * symfile.h (INLINE_ADD_PSYMBOL): Default this to 0 and possibly + delete entirely someday. + +Thu Feb 15 15:25:34 1996 Stan Shebs + + * mpw-make.sed: Edit out makefile rebuild rule. + (host_alias, target_alias): Comment out instead of deleting. + (@LIBS@): Edit out references. + +Tue Feb 13 22:56:46 1996 Fred Fish + + * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): + Use n_psyms in OBJSTAT, not psyms. + +Mon Feb 12 15:59:31 1996 Doug Evans + + * configure.in (sparclet-*-aout*): New config. + * configure: Regenerated. + +Mon Feb 12 14:17:52 1996 Fred Fish + + * somsolib.c (som_solib_add): Use xmalloc rather than bare + unchecked call to malloc. + * remote-mips.c (pmon_load_fast): ditto. + * remote-mm.c (mm_open): ditto. + * hpread.c (hpread_lookup_type): ditto. + * remote-adapt.c (adapt_open): ditto. + +Mon Feb 12 13:11:32 1996 Fred Fish + + * f-lang.c (allocate_saved_bf_node, allocate_saved_function_node, + allocate_saved_f77_common_node, allocate_common_entry_node, + add_common_block): Use xmalloc rather than malloc, some of which + were unchecked. + * gnu-regex.c: At same point as other gdb specific changes + #undef malloc and then #define it to xmalloc. + * ch-exp.c (growbuf_by_size): Use xmalloc/xrealloc rather than + bare unchecked calls to malloc/realloc. + * stabsread.c (dbx_lookup_type): Use xmalloc rather than bare + unchecked call to malloc. + +Wed Feb 7 11:31:26 1996 Stu Grossman (grossman@cygnus.com) + + * symtab.c (gdb_mangle_name): Change opname var to be const to + match return val of cplus_mangle_name. + * i960-tdep.c: Change arg types of next_insn to match callers. + +Wed Feb 7 07:34:24 1996 Fred Fish + + * config/i386/linux.mh (XM_CLIBS, GDBSERVER_LIBS): Remove. These + apparently aren't needed in any reasonably recent version of + linux. + +Tue Feb 6 21:37:03 1996 Per Bothner + + * stabsread.c (read_range_type): If !self-subrange and language + is Chill, assume a true range. If a true_range is a sub_subrange, + use builtin_type_int for index_type. + +Tue Feb 6 18:38:51 1996 J.T. Conklin + + * nindy-share/nindy.c (say): Use stdarg.h macros when compiling + with an ANSI compiler. + +Mon Feb 5 18:24:28 1996 Steve Chamberlain + + From Michael_Snyder@NeXT.COM (Michael Snyder): + * valops.c (value_arg_coerce): Coerce float to double, unless the + function prototype specifies float. + +Mon Feb 5 09:51:55 1996 Tom Tromey + + * language.c (set_language_command): Use languages table when + printing available languages. + +Sat Feb 3 12:22:05 1996 Fred Fish + + Fix problems reported by Hans Verkuil (hans@wyst.hobby.nl): + * command.c (add_cmd): Add missing initialization for enums member. + Reorder members to match structure declaration to make it easier to + tell when one is missing. + * exec.c (exec_file_command): Fix problem where filename in malloc'd + memory is referenced after being freed. + +Sat Feb 3 03:26:21 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dwarfread.c (read_func_scope): Avoid GDB core dumps if + AT_name tag is missing. + + * procfs.c (procfs_stopped_by_watchpoint): Fix logic when + FLTWATCH and FLTKWATCH are defined. + + * remote.c (remote_read_bytes): Advance memaddr for transfers, + return number of bytes transferred for partial reads. + + * top.c (init_signals): Reset SIGTRAP to SIG_DFL. + +Fri Feb 2 13:40:50 1996 Steve Chamberlain + + * win32-nat.c (mappings): Add ppc registers. + (child_resume): Turn off step for ppc. + +Thu Feb 1 10:29:31 1996 Steve Chamberlain + + * config/powerpc/(cygwin32.mh, cygwin32.mt, tm-cygwin32.h, + xm-cygwin32.h): New. + * config/i386/(*win32*): Becomes *cygwin32*. + * configure.in (i[3456]86-*-win32*): Becomes i[3456]86-*-cygwin32. + (powerpcle-*-cygwin32): New. + * configure: Regenerate. + * win32-nat.c (child_create_inferior): Call CreateProcess + with the right program arg. + +Thu Feb 1 11:01:10 1996 Jeffrey A Law (law@cygnus.com) + + * config/pa/tm-hppa.h (SOFT_FLOAT): Provide a default definition. + +Wed Jan 31 19:01:28 1996 Fred Fish + + * serial.c: Change fputc/fputs/fprintf to _unfiltered forms. + +Wed Jan 31 18:36:27 1996 Stan Shebs + + * config/sparc/xm-sun4os4.h (HAVE_TERMIOS): Remove. + + * config/sparc/xm-sparc.h (HAVE_WAIT_STRUCT): Remove, never used. + + * config/i386/nm-i386mach.h (CHILD_PREPARE_TO_STORE): Move to + here from config/i386/xm-i386mach.h, fix name. + * config/i386/nm-sun386.h: Ditto, from config/i386/xm-sun386.h. + * config/i386/nm-ptx4.h (CHILD_PREPARE_TO_STORE): Move to + here from config/i386/xm-ptx4.h. + * config/i386/nm-ptx4.h: Ditto, from config/i386/xm-ptx.h. + * config/i386/nm-symmetry.h: Ditto, from config/i386/xm-symmetry.h. + * config/m68k/nm-sun3.h: Ditto, from config/m68k/xm-sun3.h. + * config/sparc/nm-nbsd.h: Ditto, from config/sparc/xm-nbsd.h. + * config/sparc/nm-sun4os4: Ditto, from config/sparc/xm-sparc.h. + + * config/sparc/nm-sun4sol2.h: New file, renamed from nm-sysv4.h. + (PRSVADDR_BROKEN): Move here from xm-sun4sol2.h. + * config/sparc/sun4sol2.mh (NAT_FILE): Update. + +Wed Jan 31 17:20:26 1996 Jeffrey A Law (law@cygnus.com) + + * config/pa/tm-hppa.h (EXTRACT_RETURN_VALUE): Handle software + floating point correctly. + (STORE_RETURN_VALUE): Likewise. + * config/pa/tm-pro.h (SOFT_FLOAT): define. + +Wed Jan 31 13:34:52 1996 Fred Fish + + * config/i386/xm-linux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT): + Define to what should be reasonable values. However, apparently + a bug in linux mmap prevents mapped symbol tables from working. + +Tue Jan 30 18:26:19 1996 Fred Fish + + * defs.h (errno.h>: Move #include closer to head of file to solve + obscure problem with systems that declare perror with const arg, in + both errno.h and stdio.h, and const is defined away by intervening + local include. + +Tue Jan 30 15:41:10 1996 Fred Fish + + From Jon Reeves : + * i386-stub.c (getpacket): Change fprintf stream from "gdb" to stderr. + (mem_fault_routine): Fix misplaced volatile type qualifier in decl. + +Mon Jan 29 19:05:58 1996 Fred Fish + + * Makefile.in (diststuff): Make all-doc; diststuff target does not + exist in doc/Makefile.in. + +Mon Jan 29 18:44:57 1996 Stan Shebs + + * config/m88k/xm-cxux.h (BP_HIT_COUNT): Remove, never used. + +Mon Jan 29 00:10:35 1996 Wilfried Moser + + * ch-valprint.c (calculate_array_length): New function to + determine the length of an array type. + (chill_val_print (case TYPE_CODE_ARRAY)): If the length of an + array type is zero, call calculate_array_length. + + * gdbtypes.c (get_discrete_bounds (case TYPE_CODE_ENUM)): The + values may not be sorted. Scan all entries and set the real lower + and upper bound. + +Sun Jan 28 15:50:42 1996 Fred Fish + + * config/xm-linux.h: Move include of solib.h and #define of + SVR4_SHARED_LIBS from here ... + * config/nm-linux.h: ...to here. + +Sat Jan 27 10:34:05 1996 Fred Fish + + * configure.in (AC_CHECK_HEADERS): Check for sys/procfs.h. + Also check for gregset_t and fpregset_t types. + * configure: Regenerate. + * core-regset.c (sys/procfs.h): Only include if HAVE_SYS_PROCFS_H + is defined. + (fetch_core_registers): Turn into stub unless both HAVE_GREGSET_T + and HAVE_FPREGSET_T are defined. These changes allow systems + like linux that are migrating to /proc support to use a single + configuration for both new and old versions. + + * config/i386/linux.mt: Note that this is now for both a.out and + ELF systems. + * config/i386/linux.mh (NATDEPFILES): Add solib.o, core-regset.o, + i386v4-nat.o + * config/i386/tm-linux.h (tm-sysv4.h): Include. + * config/i386/xm-linux.h (solib.h): Include + (SVR4_SHARED_LIBS): Define. + * i386v4-nat.c: Only compile if HAVE_SYS_PROCFS_H is defined. + (supply_gregset, fill_gregset): Compile if HAVE_GREGSET_T defined. + (supply_fpregset, fill_fpregset): Compile if HAVE_FPREGSET_T + defined. + +Fri Jan 26 13:48:14 1996 Stan Shebs + + * config/sparc/xm-sparc.h (NEW_SUN_CORE): Remove, never used. + * config/i386/xm-sun386.h: Ditto. + * config/m68k/xm-sun2.h, config/m68k/xm-sun3.h: Ditto. + +Thu Jan 25 16:05:53 1996 Tom Tromey + + * Makefile.in (INSTALLED_LIBS, CLIBS): Include @LIBS@. + +Thu Jan 25 09:22:15 1996 Steve Chamberlain + + From Greg McGary : + * dcache.c (dcache_peek, dcache_poke): Advance addr for + multi-byte I/O. + +Thu Jan 25 13:08:51 1996 Doug Evans (dje@cygnus.com) + + * infrun.c (normal_stop): Fix test for shared library event. + +Thu Jan 25 03:26:38 1996 Doug Evans + + * configure.in (sparc64-*-*): Add default host configuration. + (sparc64-*-solaris2*): Add target configuration. + (sparc64-*-solaris2* host): Link statically if GCC used. + * configure: Regenerated. + * sparc/sp64sol2.mt: New file. + +Wed Jan 24 22:31:37 1996 Doug Evans + + * Makefile.in (RUNTEST): srcdir renamed to rootsrc. + +Wed Jan 24 15:42:24 1996 Tom Tromey + + * Makefile.in (lint): Close backquotes. + +Wed Jan 24 13:19:10 1996 Fred Fish + + * NEWS: Make note of new record and replay feature for + remote debug sessions. + * serial.c (gdbcmd.h): Include. + (serial_logfile, serial_logfp, serial_reading, serial_writing): + Define here, for remote debug session logging. + (serial_log_command, serial_logchar, serial_write, serial_readchar): + New functions for remote debug session logging. + (serial_open): Open remote debug session log file when needed. + (serial_close): Close remote debug session log file when needed. + (_initialize_serial): Add set/show commands for name of remote + debug session log file. + * serial.h (serial_readchar): Declare + (SERIAL_READCHAR): Call serial_readchar(). + (SERIAL_WRITE): Call serial_write(). + (serial_close): Declare as extern. + (serial_logfile, serial_logfp): Declare. + * top.c (execute_command): Declare serial_logfp. Log user command + in remote debug session log if log file is open. + * remote-array.c (array_wait): #ifdef out echo to gdb_stdout. + (array_read_inferior_memory): Rewrite to fix memory overwrite bug. + * remote-array.c (SREC_SIZE): Remove, duplicates define in + monitor.h. + * remote-array.c (hexchars, hex2mem): Remove, unused. + * gdbserver/low-linux.c (store_inferior_registers): Remove + unnecessary extern declaration of registers[]. + * gdbserver/Makefile.in (all): Add gdbreplay. + * gdbserver/gdbreplay.c: New file. + * gdbserver/README: Give example of recording a remote + debug session with gdb and then replaying it with gdbreplay. + +Tue Jan 23 18:02:35 1996 Per Bothner + + * stabsread.c (rs6000_builtin_type): Make bool type unsigned. + (read_one_struct_field): Support boolean bitfields. + * c-valprint.c (c_val_print): Print booleans properly. + +Tue Jan 23 18:54:09 1996 Stan Shebs + + * remote-vxsparc.c (vx_convert_to_virtual, vx_convert_from_virtual): + Remove, never used. + * config/sparc/vxsparc.mt (TDEPFILES): Add remote-vxsparc.o. + +Tue Jan 23 14:36:05 1996 Per Bothner + + * ch-exp.c (parse_tuple): Error if invalid mode. + + * value.h (COERCE_ARRAY): Don't coerce enums. + (COERCE_ENUM): Don't COERCE_REF. + (COERCE_NUMBER): New macro (same as COERCE_ARRAY then COERCE_ENUM). + * valops.c (value_assign): Only do COERCE_ARRAY if internalvar (let + value_cast handle it otherwise); do *not* COERCE_ENUM either way. + * valarith.c: Use COERCE_NUMBER instead od COEREC_ARRAY. + Add COERCE_REF before COERCE_ENUM. + * values.c (value_as_long): Simplify. + + * valops.c (value_array): Create internalvar if !c_style_arrays. + + * language.c (lang_bool_type): Add Fortran support. + * eval.c (OP_BOOL): Use LA_BOOL_TYPE. + +Tue Jan 23 13:08:26 1996 Jeffrey A Law (law@cygnus.com) + + * symfile.c (auto_solib_add): Renamed from auto_solib_add_at_startup. + All references changed. + * breakpoint.c (bpstat_what): Add shlib_event to the class types. + Update state table. Reformat so that it's still readable. + When we hit the shlib_event breakpoint, set the calss of shlib_event. + (breakpoint_1): Add "shlib events" as a breakpoint type. + Print the shlib_event breakpoint like other breakpoints. + (create_solib_event_breakpoint): New function. + (breakpoint_re_set_one): Handle solib_event breakpoints. + * breakpoint.h (enum bytype): Add bp_shlib_event breakpoint type. + (enum bpstat_what_main_action): Add BPSTAT_WHAT_CHECK_SHLIBS + action. + (create_solib_event_breakpoint): Declare. + * infrun.c (wait_for_inferior): Handle CHECK_SHLIBS bpstat. + (normal_stop): Inform the user when the inferior stoped due + to a shared library event. + (_initialize_infrun): Add new set/show variable "stop-on-solib-events" + to control whether or not gdb continues the inferior or stops it when + a shared library event occurs. + * minsyms.c (lookup_minimal_symbol_solib_trampoline): New function. + * somsolib.c (TODO list): Update. + (som_solib_create_inferior_hook): Arrange for gdb to be notified + when significant shared library events occur. + * hppa-tdep.c (find_unwind_entry): No longer static. + +Tue Jan 23 09:00:48 1996 Doug Evans + + * printcmd.c (print_insn): Pass fprintf_unfiltered to + INIT_DISASSEMBLE_INFO. + +Mon Jan 22 16:59:40 1996 Stan Shebs + + * remote.c (remotebreak): New GDB variable. + (remote_break): New global. + (remote_interrupt): Send a break instead of ^C if remote_break. + * NEWS: Describe the new variable. + +Mon Jan 22 16:24:11 1996 Doug Evans + + * sparc-tdep.c (_initialize_sparc_tdep): Always use print_insn_sparc. + +Fri Jan 19 07:19:38 1996 Fred Fish + + * hp300ux-nat.c (getpagesize): Remove unused function + fetch_core_registers. + (hp300ux_core_fns): Remove, is unused. + (_initialize_core_hp300ux): Remove, is unused. + (gdbcore.h): Remove #include, no longer needed. + +Fri Jan 19 00:59:53 1996 Jeffrey A Law (law@cygnus.com) + + * rs6000-nat.c (exec_one_dummy_insn): Rework to avoid + ptrace bug in aix4.1.3 on the rs6000. + +Wed Jan 17 13:22:27 1996 Stan Shebs + + * remote-hms.c (hms_ops): Add value for to_thread_alive. + * remote-nindy.c (nindy_ops): Ditto. + * remote-udi.c (udi_ops): Ditto. + +Tue Jan 16 18:00:35 1996 James G. Smith + + * remote-mips.c (pmon_opn, pmon_wait, pmon_makeb64, pmon_zeroset, + pmon_checkset, pmon_make_fastrec, pmon_check_ack, + pmon_load_fast): New functions. Support for the PMON monitor world. + (common_open): New function to merge support for different monitors. + (mips_open): Use common_open(). + (mips_send_command): New function. + (mips_send_packet): Scan out-of-sequence packets. + (mips_enter_debug, mips_exit_debug): New functions. + (pmon_ops): New target definition structure. + +Tue Jan 16 11:22:58 1996 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (CLIBS): Add LIBS to allow libraries to be + specified on the make command line (via make LIBS=xxx). + + +Fri Jan 12 21:41:58 1996 Jeffrey A Law (law@cygnus.com) + + * symtab.c (find_pc_symtab): Don't lose if OBJF_REORDERED + is set but there are no psymtabs. + +Fri Jan 12 15:56:12 1996 Steve Chamberlain + + * dsrec.c (load_srec): Remove unused variable. + * monitor.c (monitor_expect): Don't expect a ^C to echo. + * serial.c (serial_open): Add parallel interface. + * sh3-rom.c (parallel, parallel_in_use): New. + (sh3_load): If parallel_in_use, download though the + parallel port. + (sh3_open): Open parallel port if specified. + (sh3_close): New function. + (_inititalize_sh3): Add sh3_close hook and documentation. + * monitor.c (monitor_close): Export. + * monitor.h (monitor_close): Add prototype. + +Fri Jan 12 13:11:42 1996 Stan Shebs + + From Wilfried Moser : + * remote.c (remotetimeout): New GDB variable, use to set the + remote timeout for reading. + +Fri Jan 12 07:14:27 1996 Fred Fish + + * lynx-nat.c, irix4-nat.c, sparc-nat.c: Include gdbcore.h + to get "struct core_fns" defined. + * Makefile.in (lynx-nat.o, irix4-nat.o, sparc-nat.o): + Are dependent upon gdbcore_h. + +Thu Jan 11 23:13:24 1996 Per Bothner + + * symfile.c (decrement_reading_symtab): New function. + * symfile.c, symtab.h (currently_reading_symtab): New variable. + * symfile.c (psymtab_to_symtab): Adjust currently_reading_symtab. + * gdbtypes.c (check_typedef): Don't call lookup_symbol if + currently_reading_symtab (since that could infinitely recurse). + +Thu Jan 11 17:21:25 1996 Per Bothner + + * stabsread.c (read_struct_type): Trivial simplification. + + * stabsread.c (define-symbol): Use invisible references + for TYPE_CODE_SET and TYPE_CODE_BITSTRING too. + * valops.c (call_function_by_hand): Likewise. + * eval.c (evaluate_subexp_standard): When known, use the formal + parameter type as the expected type when evaluating arg expressions. + * ch-lang.c (evaluate_subexp_chill): Likewise (for MULTI_SUBSCRIPT). + +Thu Jan 11 10:08:14 1996 Tom Tromey + + * main.c (main): Disable window interface if --help or --version + specified. + +Wed Jan 10 16:08:49 1996 Brendan Kehoe + + * configure.in, configure: Recognize rs6000-*-aix4*. + * config/powerpc/xm-aix.h: Reduce to include "xm-aix4.h". + * config/rs6000/aix4.mh (XM_FILE): Point to xm-aix4.h. + * config/rs6000/xm-aix4.h: New file. + * config/xm-aix4.h: New file. + +Wed Jan 10 11:25:37 1996 Fred Fish + + From Wilfried Moser : + * gdbserver/low-linux.c: New file. + * remote.c (remote_read_bytes): Fix aborts on larger packets. + + * config/i386/linux.mh (GDBSERVER_DEPFILES, GDBSERVER_LIBS): + Define. + * stabsread.c (define_symbol): If register value is too large, + tell what it is and what max is. + +Tue Jan 9 09:33:53 1996 Jeffrey A Law (law@cygnus.com) + + * hpread.c (hpread_build_psymtabs): Finish Jan 4th + enum namespace -> enum_namespace change. + +Tue Jan 9 04:44:47 1996 Wilfried Moser + + * ch-exp.c (parse_primval): In case ARRAY, add missing + FORWARD_TOKEN (). + +Mon Jan 8 13:29:34 1996 Stan Shebs + + * remote-mips.c (mips_receive_header): Recognize \012 instead + of \n, but write \n when program sends a \012. + * ser-mac.c (mac_input_buffer): Increase size of buffer. + +Mon Jan 8 12:00:40 1996 Jeffrey A Law (law@cygnus.com) + + * infptrace.c (initialize_infptrace): Move function out of + #ifdef conditional; put code within the function inside an + #ifdef conditional. + + * buildsym.c (end_symtab): Remove sort_pending and sort_linevec + arguments. Sorting is now dependent on OBJF_REORDERED. All + callers/references changed. + * dbxread.c (read_ofile_symtab): Correctly determine value for + last_source_start_addr for reordered executables. + (process_one_symbol): Handle N_FUN with no name as an end of + function marker. + * partial-stab.h (case N_FN, N_TEXT): Don't assume CUR_SYMBOL_VALUE + is the high text address for a psymtab. + (case N_SO): Likewise. + (case N_FUN): Handle N_FUN with no name as an end of function + marker. + * minsyms.c (lookup_minimal_symbol_by_pc): Examine all symbols + at the same address rather than a random subset of them. + * coffread.c (coff_symfile_init): Set OBJF_REORDERED. + * elfread.c (elf_symfile_init): Similarly. + * somread.c (som_symfile_init): Similarly. + * xcoffread.c (xcoff_symfile_init): Similarly. + +Fri Jan 5 17:46:01 1996 Stu Grossman (grossman@cygnus.com) + + * stack.c (print_stack_frame print_frame_info) symmisc.c + (dump_symtab): Change RETURN_MASK_ERROR to RETURN_MASK_ALL so + that catch_errors doesn't get blindsided by QUIT and lose the + cleanup chain. This fixes a problem where ^C while in a + user-defined command sometimes leaves instream NULL and causes a + segfault in command_loop. + +Fri Jan 5 13:59:16 1996 Brendan Kehoe + + * configure.in, configure: Add `-ldl -lw' for Solaris linking. + +Fri Jan 5 12:02:00 1996 Steve Chamberlain + + * config/sh/sh.mt, config/powerpc/*.mt, config/pa/hppapro.mt, + config/m68k/monitor.mt, config/h8500/h8500.mt, config/h8300/h8300.mt: + srec.o renamed to dsrec.o. + +Thu Jan 4 16:04:54 1996 Stu Grossman (grossman@cygnus.com) + + * breakpoint.c (remove_breakpoint): Change error to warning so + that hardware watchpoint removal problems won't leave breakpoint + traps in the target. + * remote-e7000.c (e7000_insert_breakpoint, + e7000_remove_breakpoint): Use e7000 based breakpoints, not memory + breakpoints. + * (e7000_wait): Adjust PC back by two when we see a breakpoint to + compensate for e7000 maladjustment. + * sparcl-tdep.c (sparclite_check_watch_resources): Fix logic bug + which prevented hardware watchpoints from working. + +Thu Jan 4 10:44:17 1996 Fred Fish + + * infptrace.c (udot_info): New function. + (PT_*): Define each individually if that one is not defined. + * rs6000-nat.c (kernel_u_size): New function + Include for "struct user" + * alpha-nat.c (kernel_u_size): New function. + Include for "struct user" + * sparc-nat.c (kernel_u_size): New function. + Include for "struct user" + * i386b-nat.c (kernel_u_size): New function. + * i386v-nat.c (kernel_u_size): New function. + * config/i386/nm-fbsd.h (KERNEL_U_SIZE): Define. + (kernel_u_size): Declare. + * config/i386/nm-linux.h (KERNEL_U_SIZE): Define. + (kernel_u_size): Declare. + * config/sparc/nm-sun4os4.h (KERNEL_U_SIZE): Define. + (kernel_u_size): Declare. + * config/alpha/nm-osf2.h (KERNEL_U_SIZE): Define. + (kernel_u_size): Declare. + * config/rs6000/nm-rs6000.h (KERNEL_U_SIZE): Define. + (kernel_u_size): Declare. + +Thu Jan 4 11:00:01 1996 steve chamberlain + + * mdebugread.c (mylookup_symbol): enum namespace becomes + enum_namespace type. + * symfile.c (add_psymbol_to_list) + (add_psymbol_addr_to_list): Ditto. + * symtab.c (lookup_partial_symbol): Ditto. + (lookup_symbol): Ditto. + (lookup_block_symbol): Ditto. + * win32-nat.c (handle_load_dll): Use incoming dll base. + (child_wait): Catch DLL load errors. + (create_child_inferior): Translated between paths correctly. + +Wed Jan 3 23:13:53 1996 Fred Fish + + * i386v4-nat.c (supply_gregset, fill_gregset): Subtract NUM_FREGS + from NUM_REGS to get number of general registers that we care about. + * config/i386/tm-i386.h (REGISTER_BYTES): Define in terms + of number of general regs and number of floating point regs. + +Wed Jan 3 19:49:54 1996 steve chamberlain + + * config/i386/tm-win32.h (IN_SOLIB_CALL_TRAMPOLINE): New. + (SKIP_TRAMPOLINE_CODE): New. + * config/i386/xm-win32.h (CANT_FORK): Deleted. + (SLASH*) Changed to use unix style slash. + * symtab.h (namespace enum): becomes typedef to avoid namespace + collision in C++. + * infcmd.c (path_command): Use empty string if PATH name not set. + * i386-tdep.c (skip_trampoline_code): New function. + * srec.c: Renamed dsrec.c to avoid filename collision. + * Makefile.in: Cope with renaming. + +Wed Jan 3 13:09:04 1996 Fred Fish + + * symmisc.c (print_objfile_statistics): Print memory use statistics + for objfile psymbol, symbol, and type obstacks. + +Tue Jan 2 13:41:14 1996 Stan Shebs + + * config/mips/nm-irix5.h: Restore. + (TARGET_HAS_HARDWARE_WATCHPOINTS, etc): Define as for Irix 4; + from Lee Iverson . + * config/mips/irix5.mh (NAT_FILE): Use nm-irix5.h. + * config/mips/irix[345].mh (MUNCH_DEFINE): Remove. + +For older changes see ChangeLog-1995 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1997 b/contrib/gdb/gdb/ChangeLog-1997 new file mode 100644 index 0000000..4f66a90 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1997 @@ -0,0 +1,2909 @@ +Wed Dec 31 11:43:53 1997 Mark Alexander + + * dsrec.c (load_srec): Check remotedebug flag when printing + debug info. + +Wed Dec 31 10:33:15 1997 David Taylor + + * breakpoint.c (breakpoint_re_set): add _siglongjmp to list of + longjmp breakpoints. + +Mon Dec 29 21:25:34 1997 Mark Alexander + + * dve3900-rom.c: New file to support Densan DVE-R3900/20 board. + * monitor.c (monitor_debug): Move to utils.c, rename to puts_debug. + (monitor_write_memory, monitor_read_memory, monitor_insert_breakpoint, + monitor_remove_breakpoint): Remove useless address bits if current + monitor has MO_ADDR_BITS_REMOVE flag. + * monitor.h (MO_ADDR_BITS_REMOVE): Define. + * utils.c (puts_debug): Formerly monitor_debug from monitor.c; + move here and make public. Add better support for carriage returns. + * defs.h (puts_debug): Declare. + * dsrec.c (load_srec): Use puts_debug to print remotedebug information. + Output header record correctly. + (make_srec): Output a header record instead of a termination record + if sect is non-NULL (value is ignored), but abfd is NULL. + * config/mips/tm-tx39.h (DEFAULT_MIPS_TYPE): Remove definition. + (REGISTER_NAMES): Define to add R3900-specific registers. + * config/mips/tm-tx39l.h: Ditto. + * config/mips/tx39.mt (TDEPFILES): Add dve3900-rom.o and support files. + * config/mips/tx39l.mt: Ditto. + +Wed Dec 24 12:48:48 1997 Stan Shebs + + * dsrec.c: Cosmetic improvements. + (make-srec): Change indexing of format and code tables to + remove confusing empty entries. + +Mon Dec 22 21:51:53 1997 Mark Alexander + + * remote-mips.c (_initialize_remote_mips): Fix DDB doc string. + +Sun Dec 21 17:00:06 1997 David Taylor + + * d30v-tdep.c (d30v_frame_find_saved_regs): split most of + function off into d30v_frame_find_saved_regs_offsets; + (d30v_frame_find_saved_regs_offsets): new function. Got + backtrace working when calling from framefull (unoptimized) + routines (.e.g, main) into frameless (optimized) routines + (e.g., printf). + +Fri Dec 19 09:49:49 1997 David Taylor + + * d30v-tdep.c (d30v_frame_chain): test end_of_stack + (d30v_frame_find_saved_regs): set it. + * config/d30v/tm-d30v.h: improved FRAME_CHAIN_VALID + +Thu Dec 18 12:34:28 1997 Andrew Cagney + + From Gavin Koch : mips-tdep.c + * (mips_push_arguments): For big-endian shorts and char's store at + * the correct location. + +Thu Dec 18 00:26:46 1997 Andrew Cagney + + * mdebugread.c (parse_partial_symbols): Delete check that symbols + for file not already loaded. Did not work when an include file + was involved. + +Wed Dec 17 10:43:04 1997 Andrew Cagney + + * elfread.c (elf_symfile_read): Since the partial symbol table is + searched last in first, insert mdebug or XCOFF info into the + partial symbol table before any DWARF2 info. + +Thu Dec 18 00:00:48 1997 Andrew Cagney + + * symfile.c (init_psymbol_list): Handle init with zero elements. + + * elfread.c (elf_symfile_read): If `mainline', clear psymbol table + using init_psymbol_list 0. For build_psymtabs functions, pass + mainline==0 so that psymbol_list isn't re-initialized. + + * symfile.c (discard_psymtab): New function, correctly unlink an + empty psymtab from an object file. + * dbxread.c (end_psymtab): Call discard_psymtab. + * xcoffread.c (xcoff_end_psymtab): Ditto. + * hpread.c (hpread_end_psymtab): Ditto. + * os9kread.c (os9k_end_psymtab): Ditto. + +Wed Dec 17 10:47:05 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c (set_raw_tracepoint): initialize addr_string + to NULL; (trace_actions_command): call readline_begin_hook only + if from_tty is true. + +Tue Dec 16 20:05:48 1997 Mark Alexander + + * configure.tgt: Change little-endian tx39 target name to tx39l. + +Tue Dec 16 11:24:30 1997 Jeffrey A Law (law@cygnus.com) + + * remote-sim.c (gdbsim_open): Use "--architecture" instead of + ambigious short form. + +Tue Dec 16 10:29:16 1997 David Taylor + + * d30v-tdep.c (d30v_frame_chain): don't or in DMEM_START to + FP_REGNUM value before return; (prologue_find_regs): two sets + of offsets -- frame pointer and stack pointer, not just one that + tries to do double duty; (d30v_frame_find_saved_regs): stop once + we hit pc (in case we're stopped in the middle of the prologue) + and improve handling of frameless prologues; (d30v_push_arguments): + *ALL* arguments go on the stack until we run out of args registers, + force sp to be 8 byte aligned. + + * config/tm-d30v.h (EXTRACT_STRUCT_VALUE_ADDRESS): fix, it's r2, + not r0; (FRAME_CHAIN_VALID): handle use of external memory; + (STACK_ALIGN): define. + +Mon Dec 15 15:13:57 1997 Andrew Cagney + + * remote-sim.c (gdbsim_wait): When HAVE_SIGACTION and SA_RESTART + intall cntrl-c handler with SA_RESTART clear. On BSD systems this + stops read syscalls's being restarted. + + * configure.in (configdirs): Check for sigaction. + * configure: Re-generate. + +Mon Dec 15 11:38:52 1997 Andrew Cagney + + * dwarf2read.c: From change proposed by Gavin Koch. + (address_significant_size): New static variable. + (dwarf2_build_psymtabs_hard): Check consistency between + `address_size' and `address_significant_size'. + (read_address): MASK out all but the significant bits, as + determined by `address_significant_size', of any addresses. + (elf-bfd.h): Include. + (dwarf2_build_psymtabs_hard): Set `address_significant_size' + according to the arch_size of the elf object file. + +Thu Dec 11 13:40:46 1997 Andrew Cagney + + * dwarf2read.c (dwarf_decode_lines): Change type of address to + CORE_ADDR. + +Thu Dec 11 22:39:02 1997 Mark Alexander + + From change made to branch by Bob Manson : + * tic80-tdep.c (tic80_push_arguments): The compiler always + passes structs by reference. + +Thu Dec 11 14:28:01 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c (trace_find_command): don't error if going + backwards thru the trace buffer in a loop. + * (struct tracepoint): delete unused field. + +Wed Dec 10 17:57:00 1997 David Taylor + + * d30v-tdep.c : don't bury lots of magic numbers in the code + instead use defines for the opcodes and opcode masks; update + to use actual d30v patterns; fix register sizes to be 4 bytes + not 2 bytes; improve prologue testing now that we have a C + compiler; fix stack frame handling enough to get backtraces + working; initial changes to push and pop frames (so that gdb + can call functions in the inferior). + + * config/d30v/tm-d30v.h: update DMEM_START, IMEM_START, and + STACK_START; change FR_REGNUM to 61 (was 11). Reformat comment + about DUMMY FRAMES so that it is readable. Fix SAVED_PC_AFTER_FRAME + macro. + +Wed Dec 10 17:41:07 1997 Jim Blandy + + * ch-valprint.c (chill_val_print): To avoid segfaults, don't print + a string whose dynamic length is longer than its static length. + +Wed Dec 10 15:54:00 1997 Andrew Cagney + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Check + cu_header.length is within dwarf_info_buffer not + dwarf_abbrev_buffer. + +Mon Dec 8 14:28:49 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c (memrange_sortmerge): allow for memranges + that overlap. (collect_pseudocommand etc.) cleanup decls. + +Fri Dec 5 09:22:35 1997 Nick Clifton + + * config/v850/tm-v850.h (BREAKPOINT): Reverted back to old value... + +Thu Dec 4 09:30:22 1997 Nick Clifton + + * config/v850/tm-v850.h (BREAKPOINT): Changed to match new value. + +Wed Dec 3 12:44:15 1997 Keith Seitz + + * tracepoint.c: Add declaration for x_command. + + * printcmd.c (x_command): Remove static declaration. + +Wed Dec 3 12:00:42 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c (finish_tfind_command): call do_display so that + auto-displays are updated by tfind. Also, keep track of frame + and current-function so that tfind behaves like stepping (only + show the stack frame if we step into a new function or return). + +Wed Dec 3 14:14:58 1997 David Taylor + + * sol-thread.c: additional support for debugging threaded core + files on solaris; previously only kernel threads were found -- + user threads generated errors. + * corelow.c: don't register core_ops as a target if + coreops_suppress_target is true (set by sol-thread.c). + +Tue Dec 2 14:53:09 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c: make "tdump" command handle literal memranges. + +Tue Dec 2 11:34:48 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c: use "lookup_cmd" to parse actions commands + (thus allowing unambiguous prefixes and aliases). + +Tue Dec 2 10:15:57 1997 Nick Clifton + + * configure.tgt: Add support for Thumb target. + +Tue Dec 2 10:14:15 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c: move prototype of validate_actionline(), and + make it consistent with the function declaration. + +Thu Nov 27 09:07:18 1997 Michael Meissner + + * Makefile.in (tracepoint_h): New macro for tracepoint.h + includes. + (tracepoint.o): Add rule to build. + +Wed Nov 26 22:59:04 1997 Jeffrey A Law (law@cygnus.com) + + * remote-sim.c (gdbsim_cntrl_c): Lose ANSI prototype. + + * tracepoint.c (set_raw_tracepoint): fix typo + +Wed Nov 26 11:33:09 1997 Keith Seitz + + * tracepoint.c (set_raw_tracepoint): Make sure there's a trailing + slash on the directory name. + + * top.c (get_prompt): New function. + * top.h: Declare it. + +Wed Nov 26 09:59:47 1997 Andrew Cagney + + * dwarf2read.c (struct comp_unit_head): Change length and + abbrev_offset fields to unsigned int. + (dwarf2_build_psymtabs_hard): Verify length and offset read from + .debug_info section. + +Mon Nov 24 19:36:34 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c, tracepoint.h: new module, implements tracing, + which is a new functionality somewhat like breakpoints except + that a tracepoint stops the inferior only long enough to collect + and cache selected buffers and memory locations, then allows + the inferior to continue; the cached trace data can then be + examined later. + +Mon Nov 24 14:17:02 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * infcmd.c: export registers_info, for use by other modules. + * printcmd.c: export output_command, for use by other modules. + * stack.c: export locals_info and args_info, for use by other modules. + * remote.c: export getpkt, putpkt, and fromhex for external use. + Make fromhex case-insensative. New function "remote_console_output" + abstracts the acceptance of "O" packets from target. + Make all "remotedebug" output go to stdout, not stderr. + +Mon Nov 24 08:59:28 1997 Andrew Cagney + + * valprint.c (print_longest): When CC has long long but printf + doesn't, print decimal value as three parts. + + * config/i386/tm-fbsd.h: New file. + * config/i386/fbsd.mt (TM_FILE): Change to tm-fbsd.h. + + * config/i386/nm-fbsd.h (FLOAT_INFO): Move definition from here. + * config/i386/tm-fbsd.h (FLOAT_INFO): To here. + + * configure.in (PRINTF_HAS_LONG_LONG): Check full functionality of + %ll format specifier. + (SCANF_HAS_LONG_DOUBLE): Check the scanf family for support of + long double using %Lg. + * acconfig.h: Provide default undef for SCANF_HAS_LONG_DOUBLE. + * configure: Re-generate. + + * c-exp.y (parse_number): Use sscanf %Lg when host has + SCANF_HAS_LONG_DOUBLE not PRINTF_HAS_LONG_DOUBLE + +Sun Nov 23 17:12:58 1997 Andrew Cagney + + * printcmd.c (print_insn): Set the machine type if known. + + * i386-tdep.c (_initialize_i386_tdep): Delete "set + assembly-language" command. Replaced by generic "set + architecture". Set initial machine using bfd_lookup_arch. + +Fri Nov 21 19:43:23 1997 Jim Blandy + + * valops.c (call_function_by_hand): If the function has a + prototype, convert its arguments as if by assignment. Otherwise, + do the usual promotions. + * stabsread.c (define_symbol): Set the TYPE_FLAG_PROTOTYPED flag + on functions' types when we can; all C++ functions should get it, + and if the Sun-style prototype notation is in the stabs, we can + notice that. + +Fri Nov 21 12:20:16 1997 Ian Lance Taylor + + * aclocal.m4 (AM_CYGWIN32, AM_EXEEXT): Remove. They are already + defined by the inclusion of ../bfd/aclocal.m4. + * configure: Rebuild. + +Fri Nov 21 10:52:39 1997 Michael Meissner + + * Makefile.in (SHELL): Really do the change. + +Fri Nov 21 02:19:57 1997 Geoffrey Noer + + * Makefile.in: also revert SHELL change until configury + changes work + +Thu Nov 20 16:35:13 1997 Doug Evans + + * sparc-tdep.c (sparc_pc_adjust): Don't assume sizeof (long) == 4. + +Thu Nov 20 04:11:27 1997 Geoffrey Noer + + * aclocal.m4: add EXEEXT setting rule + * configure.in: call it + * configure: regenerate + * Makefile.in: pepper with EXEEXTs in appropriate places, + set SHELL = @SHELL@ for those lame hosts that don't have a /bin/sh + For some reason, EXEEXT isn't getting substututed in correctly + so for now, set EXEEXT to empty string + +Mon Nov 17 15:35:06 1997 Doug Evans + + * Makefile.in (remote-sim.o): Depend on $(INCLUDE_DIR)/callback.h. + +Fri Nov 14 13:04:34 1997 Jeffrey A Law (law@cygnus.com) + + * jv-exp.y (copy_exp, insert_exp): Avoid ANSI prototypes. + +Thu Nov 13 09:47:35 1997 Michael Meissner + + * d30v-tdep.c (d30v_print_flags): Function to print the d30v flags + in a human readable format. + (print_flags_command): Command wrapper to call d30v_print_flags. + (d30v_do_registers_info): When printing out all of the registers, + print out the flag values in a human readable fashion. + (_initialize_d30v_tdep): Add info flags command to print the + flags. + + * config/d30v/tm-d30v.h (PSW_*): Add macros for each of the PSW + bits that are defined. + +Wed Nov 12 14:58:39 1997 Jeff Holcomb + + * symfile.c (generic_load): Handle cancel from the + ui_load_progress_hook routine. + * dsrec.c (load_srec): Handle cancel from the + ui_load_progress_hook routine. + +Mon Nov 10 15:13:13 1997 Ian Lance Taylor + + * valprint.c (print_longest): The b, h, w, and g format specifiers + print unsigned values. + +Mon Nov 10 02:02:49 1997 Martin M. Hunt + + * top.c (quit_confirm): Change exit message. + +Tue Nov 4 16:52:50 1997 Geoffrey Noer + + * config/i386/cygwin32.mh: because cygwin.dll calls malloc/realloc + to allocate memory for environ space, gdb cannot use memory + checks -- set -DNO_MMCHECK + +Tue Nov 4 13:50:59 1997 Jim Blandy + + * jv-exp.y (ArrayAccess): Implement Name [ Expression ]; check the + code to see why this is not trivial. + (copy_exp, insert_exp): New functions. + +Fri Oct 24 17:24:00 1997 Dawn Perchik + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Handle the case + where a compilation unit die has no children (DW_TAG_compile_unit + has DW_children_no). + (scan_partial_symbols): Add comment for nesting_level. + +Wed Oct 29 15:53:24 1997 David Taylor + + * solib.c (solib_break_names): add entry for Solaris 2.6 run + time linker. From Casper Dik via Peter Schauer. + +Tue Oct 28 17:31:47 1997 Martin M. Hunt + + * configure.in (configdir): Add -lcomdlg32 and -ladvapi32 + to WIN32LIBS. + + * configure: Rebuild + +Fri Oct 24 16:48:21 1997 David Taylor + + * sol-thread.c (sol_find_new_threads_callback, + sol_find_new_threads): New functions. + * config/sparc/nm-sun4sol2.h (FIND_NEW_THREADS): New macro, invoke + sol_find_new_threads. + * thread.c (info_threads_command): invoke FIND_NEW_THREADS if it + is defined. + +Thu Oct 23 16:16:04 1997 Jeff Law (law@fast.cs.utah.edu) + + * dbxread.c (process_one_symbol): Put back initialization + of a variable lost during last change. Don't perform + assignment inside conditionals. + * stabsread.c (symbol_reference_defined): Return -1 for error/not + found. All callers changed appropriately. + (define_symbol): Don't perform assignment inside conditionals. + +Wed Oct 22 13:04:52 1997 Jeffrey A Law (law@cygnus.com) + + * mdebugread.c (psymtab_to_symtab_1): Handle new live range stabs + entries. + + * dbxread.c: More comment cleanups. + * stabsread.c: Fix various violations of the GNU coding and + formatting standards. Update/add comments to make code clearer. + (resolve_reference): Delete unused function. + (ref_search_val): Remove function. It didn't belong in stabsread.c + (resolve_live_range): No longer returns a value. Do not add it + to the live range list until the entire range stab has been parsed. + (get_substring): Remove duplicate declaration. + (resolve_symbol_reference): Now static. Remove unnecessary code + to deal with cleanups. + (ref_add): Use xrealloc instea of realloc. + (process_reference): Reorganize slightly to make clearer. + * stabsread.h (resolve_symbol_reference): Remove declaration. + (resolve_reference): Likewise. + * symtab.c (find_active_alias): New function. + (lookup_block_symbol): Use find_active_alias. + * symtab.h (struct range_list): Fix dangling struct live_range + reference. + (ref_search_val): Remove decl. + + * symtab.h (struct range_list): Renamed from struct live_range. + (struct symbol): Remove struct live_range_info substruct. + Bring the alias list and range list fields up to the toplevel + as "aliases" and "ranges". + (SYMBOL_ALIASES, SYMBOL_RANGES): Corresponding changes. + (SYMBOL_RANGE_START, SYMBOL_RANGE_END, SYMBOL_RANGE_NEXT): Delete. + * stabsread.c: Corresponding changes. + + * dbxread.c: Fix various violations of the GNU coding and + formatting standards. Update/add comments to make code + clearer. + (process_later): Use xrealloc instead of realloc. + + * symtab.c: Include inferior.h. + +Tue Oct 21 14:15:26 1997 Per Bothner + + * ch-exp.c: Rename FIELD_NAME to DOT_FIELD_NAME (to avoid conflict). + +Fri Oct 17 13:22:02 1997 Stan Shebs + + * infcmd.c: Improve grammar of "set args" help. + +Thu Oct 16 15:03:58 1997 Michael Meissner + + * remote-sds.c (sds_load): Properly declare as static. + +Wed Oct 15 10:27:14 1997 Doug Evans + + * config/sparc/tm-sparc.h (FIX_CALL_DUMMY): Mask off displacement + to 30 bits in call insn to handle --enable-64-bit-bfd. + (STORE_STRUCT_RETURN): Change to handle --enable-64-bit-bfd. + +Tue Oct 14 22:13:27 1997 Dawn Perchik + + * stabsread.c: Make ref_map entries dynamically allocated. + +Thu Oct 9 12:37:57 1997 Frank Ch. Eigler + + * printcmd.c (print_address_symbolic, address_info): Mask + target-specific flag bits from PC, for more aesthetic disassembly. + * config/mips/tm-mips.h: Added PC masking for MIPS family + (especially the MIPS16). + +Sat Oct 4 18:45:44 1997 Mark Alexander + + * remote-mips.c (mips-initialize): Work around flakiness in + some versions of PMON after loading a program. + +Fri Oct 3 15:49:18 1997 Per Bothner + + * c-lang.h, cp-valprint.c (static_field_print): Make non-static. + * parse.c, parser-defs.h (length_of_subexp): Make non-static. + * jv-exp.y (FieldAccess): Handle dollar-VARIABLE as primary. + (ArrayAccess): Likewise. Also remove warnings. + (CastExpression): Implement (typename) UnaryExpression. + (push_qualified_expression_name): Fix small bug. + * jv-lang.c: Use TYPE_TAG_NAME, not TYPE_NAME for class names. + (_initialize_jave_language): Fix typo (jave -> java). + (java_language): Java does *not* have C-style arrays. + (java_class_from_object): Make more general (and complicated). + (java_link_class_type): Fix typo "super" -> "class". Handle arrays. + (java_emit_char, java_printchar): New function. + (evaluate_subexp_java case BINOP_SUBSCRIPT): Handle Java arrays. + * jv-valprint.c (java_value_print): Implement printing of Java arrays. + (java_print_value_fields): New function. + (java_val_print): Better printing of TYPE_CODE_CHAR, TYPE_CODE_STRUCT. + +Fri Oct 3 09:52:26 1997 Mark Alexander + + * config/mips/tm-mips.h (MAKE_MSYMBOL_SPECIAL): Force MIPS16 + addresses to be odd. + (MIPS_FPU_SINGLE_REGSIZE, MIPS_FPU_DOUBLE_REGSIZE): Define. + * mips-tdep.c (mips_extract_return_value): Doubles aren't + returned in FP0 if FP registers are single-precision only. + +Mon Sep 29 23:03:03 1997 Mark Alexander + + * mips-tdep.c (set_reg_offset): New function. + (mips16_heuristic_proc_desc): Calculate offsets of registers + saved by entry pseudo-op after rest of prologue has been read. + Use set_reg_offset to ignore all but the first save of a given + register. + (mips32_heuristic_proc_desc): Initialize frame adjustment value. + * remote-sim.c (gdbsim_store_register): Don't update registers + that have a null or empty name. + * findvar.c (read_register_bytes): Don't fetch registers + that have a null or empty name. + +Tue Sep 30 13:35:54 1997 Andrew Cagney + + * config/mips/tm-mips.h (NUM_REGS): Define conditionally. + (REGISTER_NAMES): Ditto. + +Fri Sep 26 21:08:22 1997 Keith Seitz + + * dsrec.c (load_srec): add ui_load_progress_hook to + display some feedback to user + + * symfile.c (generic_load): add ui_load_progress_hook to + display some feedback to user + +Fri Sep 26 17:32:22 1997 Jason Molenda (crash@pern.cygnus.com) + + * command.c (add_cmd, add_show_from_set): Insert new commands in + alphabetical order. + +Fri Sep 26 12:22:00 1997 Mark Alexander + + * config/mips-tm-mips.h (mips_extra_func_info): New frame_adjust + member for storing offset of MIPS16 frame pointer from SP. + * mips-tdep.c: Use RA_REGNUM instead of hardcoded 31 throughout. + (PROC_FRAME_ADJUST): Define. + (mips16_heuristic_proc_desc): Store frame pointer adjustment value. + (get_frame_pointer): Use frame pointer adjustment value when + calculating frame address. + * remote-sim.c (gdbsim_fetch_register): Don't fetch registers + that have a null or empty name. + +Fri Sep 26 12:40:51 1997 Jeffrey A Law (law@cygnus.com) + + * mips-tdep.c (_initialize_mips_tdep): Allow target files to + override default FPU type. + +Fri Sep 26 10:33:54 1997 Felix Lee + + * configure.tgt (v850-*-*): necmsg.lib instead of v850.lib. + +Wed Sep 24 14:02:09 1997 Andrew Cagney + + * config/v850/tm-v850.h (BREAKPOINT): Use 1 word DIVH insn with + RRRRR=0 for simulator breakpoint. Previous breakpoint insn was two + words. + +Thu Sep 18 15:07:46 1997 Andrew Cagney + + * ser-e7kpc.c (get_ds_base): Only use under Windows. + (windows.h): Include when any _WIN32 host. + +Wed Sep 24 18:12:47 1997 Stu Grossman + + * The following block of changes add support for debugging assembly + source files. + * breakpoint.c (resolve_sal_pc): Prevent crash when pc isn't + associated with a function. + * buildsym.c (record_line start_symtab end_symtab): Don't delete + symtabs which only have line numbers (but no other debug symbols). + * dbxread.c (read_dbx_symtab end_psymtab): Ditto. + + * remote-sim.c: New functions gdbsim_insert/remove_breakpoint. Use + intrinsic simulator breakpoints if available, otherwise do it the + hard way. + + * configure.tgt: Add d30v. + * d30v-tdep.c: New file. + * config/d30v/d30v.mt, config/d30v/tm-d30v.h: New files. + +Tue Sep 23 11:24:13 1997 Stan Shebs + + * Makefile.in (ALLCONFIG): Remove, inaccurate and never used. + +Tue Sep 23 00:08:18 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips-tdep.c (mips_push_arguments): Tweak alignment of register + value if the remaining length of a non-integral argument is smaller + than the register size for big-endian non-EABI mode. + + * rs6000-tdep.c (branch_dest): Handle return from signal + handler function via sigreturn kernel call. + +Mon Sep 22 15:32:06 1997 Dawn Perchik + + * stabsread.h, symtab.h, dbxread.c, symtab.c, stabsread.c: + Fix prototypes. Remove function scoped function declarations. + +Fri Sep 19 18:51:26 1997 Felix Lee + + * config/i386/windows.mh (XDEPFILES): need to list some files + explicitly, for odd reasons. + +Tue Sep 16 20:00:05 1997 Per Bothner + + * jv-exp.y (push_fieldnames): New, to handle EXP.FIELD1....FIELDN. + (push_expression_name): New, to handle expression names. + (push_qualified_expression_name): New, for qualified expression names. + (parse_number): Fix bugs in parsing of non-decimal integers. + * jv-lang.h, jv-lang.c (java_demangle_type_signature): New. + * jv-lang.c (type_from_class): Just use name with java_lookup_class. + (java_link_class_type): Add dummy "class" field. + (java_lookup_type): New. + (evaluate_subexp_java case STRUCTOP_STRUCT): Force to address. + * jv-typeprint.c (java_type_print_base): Don't print "class" field. + Use java_demangle_type_signature to print array class types. + * jv-valprint.c (java_value_print): Preliminary array support. + Print pointer as TYPE@HEXADDR, instead of (TYPE)0xHEXADDR. + (java_val_print): Move check for object type to java_value_print. + Check for null. Print pointer as @HEXADDR, not 0xHEXADDR. + + * valops.c (search_struct_field): Search basesclasses in + ascending, not descending order. Hack to avoid virtual baseclass + botch for Java interfaces. + +Tue Sep 16 19:56:23 1997 Per Bothner + + * util.c (run_cleanup_chain, make_run_cleanup, do_run_cleanups): + New cleanup clean for cleanups to be run when at each 'run' command. + * infcmd.c (run_command): Call do_run_cleanups. + + * solib.c (find_solib): Register cleanup to call clear_solib + on a new 'run' command. + (symbol_add_stub): First look for existing objfile with same name. + +Tue Sep 16 16:00:01 1997 Stan Shebs + + * remote-sds.c (sds_load): New function. + (sds_ops): Use it. + (sds_open): Don't set inferior_pid yet. + (sds_kill): Remove contents. + (sds_create_inferior): Rewrite to work more like monitor + interfaces. + (sds_restart): Remove, no longer used. + + * monitor.h (MO_SREC_ACK_PLUS, MO_SREC_ACK_ROTATE): New flags. + * monitor.c (monitor_wait_srec_ack): Add DINK32-specific ack code. + * dsrec.c (load_srec): Always write a header S-record. + * dink32-rom.c (dink32_regnames): Fix the names of float registers. + (dink32_cmds): Set to use S-record downloading with acks. + * remote-est.c (est_cmds): Add MO_SREC_ACK_PLUS flag. + +Tue Sep 16 10:08:27 1997 Andrew Cagney + + * config/v850/tm-v850.h (BREAKPOINT): Set to a truely illegal + instruction. + + * exec.c (exec_file_command): Call set_architecture_from_file. + +Mon Sep 15 13:01:22 1997 Mark Alexander + + * dbxread.c (MSYMBOL_SIZE): New macro. + (end_psymtab): Use MSYMBOL_SIZE to extract size from minimal symbol. + * elfread.c (elf_symtab_read): If ELF symbol is "special", + such as a MIPS16 function, mark minimal symbol as special too. + * mips-tdep.c (pc_is_mips16): New function to check whether + a function is MIPS16 by looking at the minimal symbol. Use + pc_is_mips16 throughout instead of IS_MIPS16_ADDR macro. + * config/mips/tm-mips.h (SYMBOL_IS_SPECIAL, MAKE_MSYMBOL_SPECIAL, + MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): New functions for setting/testing + "special" MIPS16 bit in ELF and minimal symbols. + * mdebugread.c (parse_partial_symbols): Don't construct a partial + symbol table for a file that already has one. + +Sat Sep 13 08:32:13 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mdebugread.c (parse_symbol, handle_psymbol_enumerators): Handle + yet another variant of enumerator debugging info, used by DU 4.0 + native cc. + +Tue Sep 9 20:47:23 1997 Felix Lee + + * config/i386/windows.mh (XDEPFILES): reduce to libwingdb.a. + otherwise link command line is too long. + +Tue Sep 9 17:41:41 1997 Jeffrey A Law (law@cygnus.com) + + * symtab.c, dbxread.c, stabsread.c: Fix up ANSI-C isms. Fix + some formatting problems. + +Mon Sep 8 16:45:51 1997 Stu Grossman + + * ser-e7kpc.c: Don't include w32sut.h. We no longer use the UT + mechanism. Remove prototypes for dos_async_* functions. They don't + exist anymore. + +Mon Sep 8 12:48:50 1997 Ian Lance Taylor + + * top.c (quit_confirm, quit_force): New functions, broken out of + quit_command. + (quit_command): Just call quit_confirm and quit_force. + * top.h (quit_confirm, quit_force): Declare. + +Sun Sep 7 17:26:30 1997 Dawn Perchik + + * dbxread.c, buildsym.c, symtab.c, stabsread.c: Add support for + reading stabs extensions for live range information. + * stabsread.h, partial-stab.h: Add prototypes for new functions. + * symtab.h: Add structure for storing live range information. + +Wed Sep 3 16:39:39 1997 Andrew Cagney + + * top.c (set_arch): New function, update target_architecture. + + * defs.h, top.c (set_architecture_from_arch_mach): Replace + set_architecture, takes the arch and machine as arguments. + + * sh3-rom.c (sh3e_open): Update. + (sh3_open): Ditto. + +Tue Sep 2 12:00:46 1997 Andrew Cagney + + * remote-e7000.c (e7000_fetch_registers): Fix typo, stray paren. + (e7000_wait): Ditto. + +Mon Sep 1 11:21:03 1997 Andrew Cagney + + * top.c (init_main): Add ``set processor'' as an alias for ``set + architecture''. + +Sat Aug 30 13:44:48 1997 Bob Manson + + * config/sparc/sparclite.mt: Removed simulator references (erc32 + has been disabled). + +Thu Aug 28 10:20:04 1997 Andrew Cagney + + * remote-e7000.c (e7000_fetch_registers): Check + target_architecture instead of sh_processor_type. + (e7000_wait): Ditto. + + * config/sh/tm-sh.h (sh_set_processor_type): Delete prototype. + + * sh3-rom.c (sh3_open): Call set_architecture not + sh_set_processor_type. + (sh3e_open): Ditto. + + * sh-tdep.c (sh_show_processor_type_command): Delete. + (sh_set_processor_type_command): Delete. + (sh_target_architecture_hook): Rename from sh_set_processor_type, + use AP to determine architecture. + (sh_show_regs): Use bfd_mach_sh* types. + + * remote-sim.c (gdbsim_open): Pass --arch=XXX to simulator when + architecture was specified explicitly. + + * defs.h (target_architecture, target_architecture_auto, + set_architecture, set_architecture_from_file): Declare. + (target_architecture_hook): Allow targets to be notified of set + arch commands. + + * top.c (init_main): Add set/show/info architecture commands. + (set_architecture, show_architecture, info_architecture): New + functions, parse same. + (set_architecture_from_file): New function, determine arch from + BFD. + +Tue Aug 26 17:13:43 1997 Andrew Cagney + + * remote-sim.c (gdbsim_open): Only pass endianness to sim_open + when set explicitly. Prepend endianness arg so that it can be + overridden. + + * defs.h, top.c (target_byte_order_auto): Make global when + byteorder is selectable. + +Tue Aug 26 15:19:56 1997 Andrew Cagney + + * remote-sim.c (gdbsim_create_inferior): Pass exec_bfd into + sim_create_inferior. + (gdbsim_create_inferior): Pass -1 to proceed, sim_create_inferior + has already set the PC. + (gdbsim_create_inferior): Allow exec_file to be NULL, make "No + exec file" a warning. Ditto for "No program loaded". + +Mon Aug 25 17:08:01 1997 Geoffrey Noer + + * ocd.c: revert Sun change -- enable log file handling + +Mon Aug 25 12:21:46 1997 Andrew Cagney + + * remote-sim.c (gdbsim_open): Pass exec_bfd to sim_open call. + +Sun Aug 24 21:16:59 1997 Geoffrey Noer + + * ocd.c: comment out sections that create and flush wigglers.log + log file when using the wiggler. + +Thu Aug 21 16:18:08 1997 Geoffrey Noer + + * config/powerpc/ppc-eabi.mt: + * config/powerpc/ppc-sim.mt: + * config/powerpc/ppcle-eabi.mt: + * config/powerpc/ppcle-sim.mt: ser-ocd.c needs to be before + other ocd-related files in TDEPFILES + +Thu Aug 21 14:56:04 1997 Geoffrey Noer + + * ppc-bdm.c (bdm_ppc_wait): stop printfing ecr, der + * ocd.c: initialize remote_timeout + (ocd_wait): while looping, call ocd_do_command with OCD_AYT + (ocd_get_packet): remove find_packet goto. If there isn't + an 0x55 at the start, something is quite wrong so error out + instead of advancing in the packet and trying again. If checksum + is invalid, print error message instead of trying again. + * ser-ocd.c (ocd_readchar): error if we attempt to read past + the end of the from_wiggler_buffer. + + +Wed Aug 20 14:08:39 1997 Stan Shebs + + * dink32-rom.c: Don't use "mf" command to fill, is too picky + about alignment. + + +Tue Aug 19 08:41:36 1997 Fred Fish + + * objfiles.c (objfile_relocate): Add call to breakpoint_re_set + after relocations are complete. + * remote-vx.c (vx_add_symbols): Remove call to breakpoint_re_set, + this is now done in objfile_relocate. + +Mon Aug 18 17:29:54 1997 Ian Lance Taylor + + * win32-nat.c (handle_exception): Return a value indicating + whether the exception was handled. Don't handle random exceptions + the first time around, so that structured exception handling + works. + (child_wait): Check the return value of handle_exception. Set the + continue_status argument to ContinueDebugEvent accordingly. + +Mon Aug 18 11:14:15 1997 Nick Clifton + + * configure.tgt: Add support for v850ea target. + +Sun Aug 17 20:31:57 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * m32r-stub.c: fix typo + +Sun Aug 17 17:33:34 1997 Stan Shebs + + * remote-sds.c: Remove unused remnants of remote.c. + (tob64): Return the result length. + (sds_interrupt): Send a stop message. + (sds_wait): Add debug output for signal interpretation, flag + that signal was due to a trap. + (sds_fetch_registers): Fill the registers array correctly for + PowerPC. + (sds_store_registers): Get the right values from registers array. + (putmessage): Tweak length handling so checksum comes out right. + (sds_insert_breakpoint, sds_remove_breakpoint): Do correctly. + +Fri Aug 15 20:53:13 1997 Ian Lance Taylor + + * Makefile.in (init.c): Don't use xargs. + +Fri Aug 15 13:59:37 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (wait_for_inferior): Add the symbols for any + newly loaded objects upon a TARGET_WAITKIND_LOADED event. + + Rewrite code which determines the TOC address for calling functions + in the inferior under AIX. + * rs6000-nat.c (find_toc_address): New function to determine + the required TOC address from a function address. + (_initialize_core_rs6000): Set up find_toc_address_hook to point + to find_toc_address. + (xcoff_relocate_symtab, xcoff_relocate_core): Remove + add_text_to_loadinfo calls. + (exec_one_dummy_insn): Change pid and status to int to get rid of + compiler warnings. + (xcoff_relocate_symtab): Cast ldi to `int *' when passing it to + ptrace to get rid of compiler warnings. + * rs6000-tdep.c: Add definition for find_toc_address_hook. + (rs6000_fix_call_dummy): If find_toc_address_hook is non zero, + patch TOC address load code in the call dummy with the value + returned from find_toc_address_hook. + (struct loadinfo, loadinfo, loadinfolen, + loadinfotextindex, xcoff_init_loadinfo, free_loadinfo, + xcoff_add_toc_to_loadinfo, add_text_to_loadinfo, find_toc_address): + Remove. + (_initialize_rs6000_tdep): Remove initialization of + coff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook. + * xcoffread.c (coff_add_toc_to_loadinfo_hook, + xcoff_init_loadinfo_hook): Remove. + (struct coff_symfile_info): Add toc_offset field. + (scan_xcoff_symtab): Record toc_offset value in toc_offset field + instead of calling xcoff_add_toc_to_loadinfo_hook. + (get_toc_offset): New function to return the value of the + toc_offset field for an object file. + (xcoff_initial_scan): Remove call of xcoff_init_loadinfo_hook. + * xcoffsolib.h (add_text_to_loadinfo): Remove declaration. + * config/rs6000/tm-rs6000.h: Add declarations for + find_toc_address_hook and get_toc_offset. + +Wed Aug 13 19:31:28 1997 Stan Shebs + + * remote-sds.c: New file, interface to SDS-compatible monitors. + * Makefile.in (remote-sds.o): Add build rule. + * config/powerpc/ppc-eabi.mt, config/powerpc/ppc-sim.mt + (TDEPFILES): Add remote-sds.o. + +Tue Aug 12 14:37:18 1997 Geoffrey Noer + + * ocd.c (ocd_wait): loop until we're in BDM mode instead of + assuming control has returned to GDB. + +Mon Aug 11 19:16:04 1997 Stan Shebs + + * dink32-rom.c: New file, support for DINK32 monitor. + * Makefile.in (dink32-rom.o): Add build rule. + * config/powerpc/ppc-eabi.mt, config/powerpc/ppc-sim.mt + (TDEPFILES): Add dink32-rom.o. + * monitor.h (MO_32_REGS_PAIRED, MO_SETREG_INTERACTIVE, + MO_SETMEM_INTERACTIVE, MO_GETMEM_16_BOUNDARY, + MO_CLR_BREAK_1_BASED): New monitor interface flags. + * monitor.c: Use them. + (monitor_store_register): Use setreg.term if defined. + (monitor_insert_breakpoint, monitor_remove_breakpoint): Notice + if set_break and clr_break fields are empty. + +Mon Aug 11 16:22:36 1997 Geoffrey Noer + + * ocd.c (ocd_insert_breakpoint, ocd_remove_breakpoint): Macro + BDM_BREAKPOINT already has braces around it, remove erroneous ones. + * ser-ocd.c (ocd_write): Conditionalize on _WIN32 instead of + __CYGWIN32__. + * config/powerpc/tm-ppc-eabi.h: Remove BDM_NUM_REGS, BDM_REGMAP + * ppc-bdm.c: move BDM_NUM_REGS, BDM_REGMAP here from tm.h file, + fill in doc fields of bdm_ppc_ops. + (bdm_ppc_fetch_registers): Don't ask for invalid registers such + as the MQ or floating point regs not present on ppc 8xx boards. + (bdm_ppc_store_registers): Don't write those same invalid registers. + * config/i386/cygwin32.mh: Stop including ocd.o ser-ocd.o. + * config/powerpc/ppc-eabi.mt: + * config/powerpc/ppcle-eabi.mt: + * config/powerpc/ppc-sim.mt: + * config/powerpc/ppcle-sim.mt: Include ser-ocd.o. + +Mon Aug 11 16:08:52 1997 Fred Fish + + * frame.h (enum lval_type): Conditionalize on __GNUC__ + instead of __STDC__. + +Sun Aug 10 19:08:26 1997 Jeffrey A Law (law@cygnus.com) + + * utils.c (error): Fix return type for !ANSI_PROTOTYPES. + +Sun Aug 10 16:49:09 1997 Geoffrey Noer + + * ocd.c: move ocd_write_bytes proto to ocd.h since it is used + by ppc-bdm.c, use OCD_LOG_FILE to help debugging, define + BDM_BREAKPOINT if not defined in tm.h + (ocd_error): add new error cases + (ocd_start_remote): send the OCD_INIT command before + OCD_AYT and OCD_GET_VERSION calls, 80 was correct speed after all + (ocd_write_bytes): no longer static + (ocd_insert_breakpoint): no longer static + (ocd_remove_breakpoint): new + * ocd.h: add protos for ocd_write_bytes, ocd_insert_breakpoint, + and ocd_remove_breakpoint + * ppc-bdm.c: change bdm_ppc_ops so we call ocd_insert_breakpoint + and ocd_remove_breakpoint instead of memory_insert_breakpoint + and memory_remove_breakpoint. + (bdm_ppc_open): after calling ocd_open, modify DER + register so interrupts will drop us into debugging mode, finally + disable the watchdog timer on the board so we don't leave BDM + mode unexpectedly. + +Sat Aug 9 01:50:14 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * values.c (value_primitive_field): Account for offset when + extracting the value of a bitfield. + From Paul Hilfinger . + +Fri Aug 8 21:35:44 1997 Mark Alexander + + * config/tic80/tic80.mt: + (GDBSERVER-DEPFILES, GDBSERVER_LIBS): Define for gdbserver. + (SIM): Remove -lm to prevent make errors. + * configure.tgt: add gdbserver to configdirs for tic80. + * gdbserver/utils.c (error): Change prototype to match defs.h. + * gdbserver/low-sim.c: Change simulator calls to use new interface. + * remote.c (remote_write_bytes): Include '$' at start of packet + and checksum at end of packet in overhead calculation. + +Fri Aug 8 15:59:24 1997 Ian Lance Taylor + + * ser-ocd.c: If _WIN32, include . + (dll_do_command): New static variable if _WIN32. + (ocd_open): Set dll_do_command if _WIN32. + (ocd_write): Use dll_do_command rather than do_command. + * config/i386/cygwin32.mh (XDEPFILES): Remove libwigglers.a. + (BDM_DLLNAME, BDM_LIBNAME, BDM_DEFFILE): Don't define. + ($(BDM_LIBNAME)): Remove target. + * wigglers.def: Remove. + + * config/i386/cygwin32.mh ($(BDM_LIBNAME)): Rename target from + libwigglers.def. + (libwigglers.a): Remove target. + +Fri Aug 8 13:11:01 1997 Mike Meissner + + * config/powerpc/ppc{,le}-{eabi,sim}.mt (TDEPFILES): Make sure + ppc-bdm.o and ocd.o are used for all powerpc-eabi targets. + +Thu Aug 7 19:40:52 1997 Geoffrey Noer + + Changes to OCD support to support wiggler box as well as + target boxes: + * ocd.c: change speed in init command to 0 from 80, + add (temporary) logging commands to help debugging, + (ocd_open): if "target ocd wiggler lpt" then use special + ser-ocd.c serial interface which communicates with Wigglers.dll, + otherwise ("target ocd ") do as we did before + (ocd_get_packet): add OCD_LOG_FILE and OCD_SET_CONNECTION to + switch of known commands of len 0 + * ocd.h: add OCD_LOG_FILE + * serial.c (serial_open): do serial_interface_lookup on ocd + in the case of ocd + * ser-ocd.c: add buffer to contain responses from sending a + command to the Wigglers.dll. + (ocd_readchar): return curr char from buffer and increment ptr + (ocd_write): send buffer to Wigglers.dll, storing response in + return buffer and initializing curr location ptr to start of + buffer. + +Thu Aug 7 13:39:31 1997 Geoffrey Noer + + * ocd.h: add OCD_SET_CONNECTION + * ocd.c: rename "do_command" to "ocd_do_command" + +Thu Aug 7 13:09:17 1997 Geoffrey Noer + + Nomenclature change. BDM is a specific type of OCD + (On Chip Debugging). Wiggler is the parallel port box controlled + by Wigglers.dll. The faster target box from Macraigor Systems + is not a wiggler. + * ocd.c: + * ocd.h: + * ppc-bdm.c: + * ser-ocd.c: + Replace all instances of "wiggler_" with "ocd_" and change most other + instances of "wiggler" to "ocd" or "ocd device" depending on context. + * config/m68k/monitor.mt: remove remote-wiggler.o from TDEPFILES + until OCD with that target is supported again. + +Wed Aug 6 16:15:31 1997 Geoffrey Noer + + * Makefile.in: add DLLTOOL = @DLLTOOL@, pass on DLLTOOL to + sub makes, change clean rule to also remove *.a to remove + libwigglers.a, in dependencies: add ppc-bdm.o ocd.o ser-ocd.o and + remove remote-wiggler.o + * configure.in: add DLLTOOL support + * configure: regenerate + * wigglers.def: new file for imports for wigglers.dll + * ser-ocd.c: new file which is layer between ocd.c and either the + wigglers.dll or the target box, only stub so far + * config/powerpc/ppc-eabi.mt: add ppc-bdm.o to TDEPFILES + * config/powerpc/ppc-sim.mt: add ppc-bdm.o to TDEPFILES + * config/i386/cygwin32.mh: add ocd.o ser-ocd.o libwigglers.a + to XDEPFILES, add rules to build libwigglers.a + + checking in changes of Stu Grossman : + * remote-wiggler.c: delete + * ocd.c: new, was remote-wiggler.c + always include sys/types.h, include ocd.h, move WIGGLER + commands and many wiggler prototypes to ocd.h, make wiggler_desc + static, stop making local wiggler functions static, + define write_mem_command for wiggler_write_bytes + (wiggler_start_remote): stop hardcoding the target type, + instead set and use a target_type variable. + (wiggler_open): add new target_type and ops args + (wiggler_wait): now no longer takes pid and target_status as args, + stop trying to set target_status struct, remove BGND insn + checks + (read_bdm_registers): renamed to wiggler_read_bdm_registers + (wiggler_read_bdm_registers): numregs arg changed to reglen arg, + remove pktlen check, set reglen instead of numregs + (dump_all_bdm_regs): delete + (wiggler_fetch_registers): delete + (wiggler_prepare_to_store): now just an empty function + (wiggler_store_registers): delete + (wiggler_read_bdm_register): new + (wiggler_write_bdm_registers): new + (wiggler_write_bdm_register): new + (wiggler_write_bytes): use write_mem_command variable instead of + WIGGLER_WRITE_MEM + (get_packet): renamed to wiggler_get_packet, change refs throughout + (put_packet): renamed to wiggler_put_packet, change refs throughout + (wiggler_get_packet): add break to default case of switch, + change length of WIGGLER_GET_VERSION len to 10 from 4 to match + specs + (wiggler_mourn): unpush_target with current_ops, not &wiggler_ops + (flash_xfer_memory): delete + (noop_store_registers): new placeholder replacement for + target_store_registers() which prevents generic_load from trying to + set up the PC. + (bdm_update_flash_command): add store_registers_tmp variable, + make handling of wiggler_ops more generic -- define wiggler_ops + in a target-specific file instead (such as ppc-bdm.c in the case + of the ppc), use current_target to deal with registers again + making this file less target-specific. + (bdm_read_register_command): new + (_initialize_remote_wiggler): stop doing add_target (&wiggler_ops), + comment out add_cmd ("read-register", ...) + * ocd.h: new, contains common wiggler prototypes, command definitions + * ppc-bdm.c: file for ppc-specific OCD code, including target_ops + structure for ppc bdm + (bdm_ppc_open): new + (bdm_ppc_wait): new + (bdm_ppc_fetch_registers): new + (bdm_ppc_store_registers_: new + (_initialize_bdm_ppc): new + * config/powerpc/tm-ppc-eabi.h: add necessary CPU32 BDM defines + +Tue Aug 5 23:56:14 1997 Mark Alexander + + * tic80-tdep.c (tic80_init_extra_frame_info): Allow zero + as a valid SP-relative offset of a saved register. + +Wed Aug 6 00:24:08 1997 Jeffrey A Law (law@cygnus.com) + + * hpread.c (hpread_read_struct_type): Use accessor macros rather + than directly mucking around with data structures. + +Tue Aug 5 13:37:14 1997 Per Bothner + + * gdbtypes.h: Re-interpret struct field. Suppport address of static. + Add a bunch of macros. + * coffread.c, dwarf2read.c, dwarfread.c, mdebugread.c, stabsread.c: + Update to use new macros. + * coffread.c, hpread.c, stabsread.c: Remove bugus TYPE_FIELD_VALUE. + * value.h, values.c (value_static_field): New function. + * cp-valprint.c, valops.c: Modify to use value_static_field. + + * jv-lang.c (get_java_utf8_name): Re-write so it works with + implied (missing) data field, as defined by cc1java. + (java_link_class_type): Type length and field offset (in interior) + now includes object header. Get static fields working. + * jv-lang.h (JAVA_OBJECT_SIZE): Update for change in Kaffe. + * jv-typeprint.c (java_type_print_derivation_info, + java_type_print_base): New functions, for better Java output. + * jv-valprint.c: Start to support Java-specific output. + +Sun Aug 3 08:18:09 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * c-valprint.c (c_val_print): Use extract_address to retrieve + the address of the virtual function. + From Peter Bloecher (Peter.Bloecher@eedn.ericsson.se). + + * eval.c (evaluate_subexp_standard), valarith.c (value_x_unop): + Handle C++ operator *. + +Fri Aug 1 15:21:44 1997 Ian Lance Taylor + + * configure.in: Check for cygwin32 environment. Define and + substitute WIN32LIBS and WIN32LDAPP. Always set configdir to + unix; setting it to win was for an old Tcl/Tk configuration + scheme. + * Makefile.in (TK_CFLAGS): Add @TK_BUILD_INCLUDES@. + (WIN32LDAPP, WIN32LIBS): Define. + (CLIBS): Add $(WIN32LIBS). + (gdb): Use $(WIN32LDAPP). + * configure: Rebuild. + +Thu Jul 31 15:40:19 1997 Per Bothner + + * symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC, SYMBOL_INIT_DEMANGLED_NAME, + SYMBOL_DEMANGLED_NAME): Add demangling support for Java. + * utils.c (fprintf_symbol_filtered): Handle language_java. + + * symtab.c (decode_line_1): Handle Java-style package.class.method. + +Wed Jul 30 14:04:18 1997 Per Bothner + + * java-*: Renamed to jv-*, to make fit within 14 characters. + * jv-lang.h (java_type_print): Added declaration. + * jv-typeprint.c: New file. Provides java_print_type. + * jv-lang.c (java_link_class_type): New function. + (java_language_defn): Replace c_print_type by java_print_type. + * Makefile.in: Update accordingly. + +Tue Jul 29 10:12:44 1997 Felix Lee + + * Makefile.in (init.c): except some mswin files do need to be + scanned. oh well. + +Mon Jul 28 14:04:39 1997 Felix Lee + + * Makefile.in (init.c): don't try to scan mswin for _initialize + funcs. (generates misleading error message because files have + .cpp suffix, not .c suffix) + +Mon Jul 28 13:27:21 1997 Felix Lee + + * ser-e7kpc.c: -> "mswin/w32sut.h" + +Mon Jul 28 02:54:31 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * xcoffread.c (coff_getfilename): Do not strip directory component + of filename. + +Fri Jul 25 15:16:15 1997 Felix Lee + + * mon960-rom.c: removed unused #includes; no ioctl.h in Windows. + * nindy-share/ttyflush.c: find sleep() for _MSC_VER. + * remote-array.c: #include for isascii(). + * utils.c (notice_quit,pollquit): cleanup. _WIN32 -> _MSC_VER. + +Fri Jul 25 16:48:18 1997 Jeffrey A Law (law@cygnus.com) + + * top.c (execute_command): Force cleanup of alloca areas. + * findvar.c (registers_changed): Likewise. + +Fri Jul 25 15:37:15 1997 Stu Grossman + + * v850ice.c: Include . Support new v850 DLL interface. + * Add defs for target status. + +Tue Jul 22 12:11:48 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * config/mips/tm-mips64.h: longs, long longs, and pointers + are all 64 bits on EABI mips targets. + +Thu Jul 17 11:38:46 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * partial-stab.h (case N_BINCL): detect missing partial symtab. + * dbxread.c: Add a complaint for N_BINCL without a corresponding + partial symtab. Remove earlier change of 5/27/97. + +Wed Jul 16 10:38:03 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * sol-thread.c (sol_thread_[store, fetch]_registers): if + inferior_pid is an LWP rather than a Solaris thread, let + procfs handle the request. + (rw_common, sol_thread_xfer_memory): procfs_xfer_memory will + only work if inferior_pid points to an LWP (rather than a + Solaris thread). Use procfs_first_available to find a good LWP. + (info_solthreads): added a maintenance command to list all + known Solaris threads and their attributes. + * mips-tdep.c (mips_do_registers_info): Completely changed the + output format to be neat and columnar. Added the helper funcs + do_fp_register_row and do_gp_register_row. Also small mods to + mips_print_register, which is still used to print a single reg. + +Mon Jul 14 18:02:53 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * procfs.c (wait_fd): Handle an fd that has "hung up" or + otherwise terminated (Solaris threads). + +Thu Jul 10 00:02:41 1997 Martin M. Hunt + + * defs.h (init_ui_hook): Change prototype to accept one arg. + * main.c (gdb_init): Change prototype to accept one arg. + * top.c (gdb_init): Accepts one argument which it uses to + call (*init_ui_hook). + +Fri Jul 4 14:49:33 1997 Ian Lance Taylor + + * source.c (OPEN_MODE, FDOPEN_MODE): Define; value depends upon + whether CRLF_SOURCE_FILES is defined. + (open_source_file): Use OPEN_MODE with open and openp. + (print_source_lines): Use FDOPEN_MODE with fdopen. If + CRLF_SOURCE_FILES is defined, ignore \r characters. + (forward_search_command): Use FDOPEN_MODE with fdopen. + (reverse_search_command): Likewise. + * config/i386/xm-cygwin32.h (CRLF_SOURCE_FILES): Define. + (LSEEK_NOT_LINEAR): Don't define. + +Thu Jul 3 17:41:46 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * mips-tdep.c (mips_extract_return_value): align 4-byte float + return values within the 8-byte FP register. + +Thu Jul 3 13:48:11 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * mips-tdep.c (mips_push_arguments): don't left-adjust 32-bit + integers in 64-bit register parameters before function calls. + +Mon Jun 30 17:54:51 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * mips-tdep.c (mips_push_arguments): special-case handling for + odd-sized struct parameters passed in registers / on stack. + +Mon Jun 30 15:30:38 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * mips-tdep.c (mips_push_arguments): tweak alignment of small + structs passed in registers for little-endian non-EABI mode. + +Mon Jun 30 13:05:39 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * breakpoint.c (frame_in_dummy): use generic dummy if available. + (check_duplicates, clear_command): compare sections only if + doing overlay debugging. + +Fri Jun 27 23:03:53 1997 Fred Fish + + * buildsym.h (struct subfile): Add debugformat member. + (record_debugformat): Declare global function. + * buildsym.c (start_subfile): Initialize debugformat member + to NULL. + (record_debugformat): New function to record the format. + (end_symtab): Copy format into symtab debugformat member. + (end_symtab): Free subfile debugformat member. + * symmisc.c (free_symtab): Free debugformat when freeing + symtab. + * symfile.c (allocate_symtab): Initialize the new debugformat + member for new symtabs. + * symtab.h (struct symtab): Add debugformat member. + * source.c (source_info): Print the debug format. + + * os9kread.c (os9k_process_one_symbol): Call record_debugformat + with "OS9". + * hpread.c (hpread_expand_symtab): Call record_debugformat + with "HP". + (hpread_process_one_debug_symbol): Ditto. + * dbxread.c (process_one_symbol): Call record_debugformat + with "stabs". + * coffread.c (coff_start_symtab): Call record_debugformat + with "COFF". + * xcoffread.c (read_xcoff_symtab): Call record_debugformat + with "XCOFF". + * dwarfread.c (read_file_scope): Call record_debugformat + with "DWARF 1". + * dwarf2read.c (read_file_scope): Call record_debugformat + with "DWARF 2". + * dstread.c (dst_end_symtab): Set debugformat to be + "Apollo DST". + * mdebugread.c (new_symtab): Set debugformat to be "ECOFF". + +Fri Jun 27 21:05:45 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * mips-tdep.c (mips_push_arguments): handle alignment of + integer and struct args on stack for mips64 big-endian. + +Fri Jun 27 19:19:12 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * config/mips/tm-mips.h (USE_STRUCT_CONVENTION): MIPS_EABI returns + structs in a register wherever possible. + * mips-tdep.c (mips_extract_return_value): handle structs. + (mips_store_return_value): handle values smaller than MIPS_REGSIZE + (including structs, if gdb ever allows it). + +Fri Jun 20 17:58:34 1997 Fred Fish + + * sh-tdep.c (sh_skip_prologue): Also recognize fmov insns. + (sh_frame_find_saved_regs): Recognize fmov insns and adjust + stack push count accordingly. + * sh-tdep.c (IS_FMOV, FPSCR_SZ): New defines + +Thu Jun 19 08:18:48 1997 Mark Alexander + + * utils.c (floatformat_from_doublest): Improve test for infinity. + +Wed Jun 18 13:47:52 1997 Fred Fish + + * dwarfread.c (isreg, optimized_out, offreg, basereg): Move + global variables into the struct dieinfo structure. + (locval): Pass pointer to a dieinfo struct rather than a + pointer to the raw location information. Change prototype. + Set isreg, optimized_out, offreg and basereg as appropriate. + (struct_type): Call locval with dieinfo struct pointer. + (new_symbol): Ditto. + (new_symbol): Call locval and save location before testing + the values of the new dieinfo struct flags, set by locval. + +Tue Jun 17 13:30:12 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * procfs.c (proc_set_exec_trap, procfs_init_inferior, procfs_wait, + unconditionally_kill_inferior): Undo Oct 26 1996 and Apr 26 1997 + changes to trace PRFS_STOPTERM and handle PR_DEAD. + These changes tried to work around a problem with an early DU 4.0 + release, but they trigger subtle timing dependent kernel bugs + in older OSF/1 releases. + +Tue Jun 17 06:52:47 1997 Fred Fish + + * dwarfread.c (new_symbol): Use SYMBOL_VALUE_ADDRESS, instead of + SYMBOL_VALUE, to set the value of LOC_STATIC symbols. + +Mon Jun 16 18:38:28 1997 Mark Alexander + + * infrun.c (wait_for_inferior): Mark registers as invalid when + stepping over an instruction that triggered a watchpoint. + * remote-mips.c: Numerous changes to support hardware breakpoints + and watchpoints on LSI MiniRISC and TinyRISC boards. + * mips-tdep.c: Move MIPS16-related macros to config/mips/tm-mips.h. + (mips_breakpoint_from_pc): Account for different breakpoint + instructions used by PMON and IDT monitor. + * config/mips/tm-embed.h: Enable hardware breakpoints on embedded + MIPS targets. + * config/mips/tm-mips.h: Define breakpoint instructions for + PMON and IDT monitor. Move MIPS16-related macros here from + mips-tdep.c. + +Fri Jun 13 13:44:47 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * config/mips/tm-tx39[l].h, tx39[l].mt: change r3900 target to tx39. + +Fri Jun 13 14:14:10 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300-tdep.c (mn10300_analyze_prologue): Fix some comments. + Add missing return statements after finding an "add imm{16,32},sp" + instruction. + (mn10300_frame_chain): Add in size of our register save area to find + our caller's frame if our caller does not have a frame pointer. + +Fri Jun 13 12:55:49 1997 Doug Evans + + * symfile.c (generic_load): Check return code of target_write_memory. + +Fri Jun 13 10:28:09 1997 Fred Fish + + * config/i386/nm-linux.h: Enable prototypes that were #ifdef out. + * config/tm-sysv4.h (in_plt_section): Add prototype. + + * maint.c (maintenance_translate_address): Avoid assignment + inside if, per GNU coding standards. + * symfile.c (simple_read_overlay_table): Avoid assignments inside if, + per GNU coding standards. + + * monitor.c (parse_register_dump): Is really a void function. + Add prototype. + (monitor_read_memory): Remove unused variable "name". + (monitor_read_memory): Remove unused variable "regbuf". + (monitor_open): Remove unused variable "i". + (get_hex_word): Apparently unused, #if away for now. + (from_hex): Ditto. + + * i386v4-nat.c (supply_fpregset): Remove unused variable "regi". + (fill_fpregset): Remove unused variables "regi", "to", "from" and + "registers". + + * remote-e7000.c (ctype.h): Include. + (e7000_insert_breakpoint): #if away unused arg used by unused expr. + * frame.h (generic_get_saved_register): Add prototype. + (enum lval_type): Add partial forward decl. + * dsrec.c (make_srec): Remove unused variable "type_code". + * remote-sim.c (gdbsim_wait): Handle sim_running and sim_polling + cases by just ignoring them. + (command.h): Include. + + * java-exp.y (parse_number): Remove unused variable "unsigned_p". + * java-lang.c (gdbcore.h): Include for prototypes. + (type_from_class): Remove unused variable "ftype". + (type_from_class): Remove unused variable "name_length". + (evaluate_subexp_java): Add default case to handle remaining + enumerations. + * java-valprint.c (c-lang.h): Include for prototypes. + + * symfile.c (simple_read_overlay_region_table): #if away + unused function. + (simple_free_overlay_region_table): Ditto. + (overlay_is_mapped): Add default case to switch. + (simple_read_overlay_region_table): Ditto. + (simple_read_overlay_region_table): Add prototype. + + * symtab.c (fixup_symbol_section): Remove unused msym variable. + (fixup_psymbol_section): Ditto. + (find_pc_sect_symtab): Make distance a CORE_ADDR. + + * utils.c: Add comment about t_addr being either unsigned long or + unsigned long long. + (paddr): Change formats to match actual types args are cast to. + (preg): Ditto. + (paddr_nz): Ditto. + (preg_nz): Ditto. + + * defs.h (perror_with_name): Is a NORETURN function. + * utils.c (perror_with_name): Is a NORETURN function. + (error): Is NORETURN independently of ANSI_PROTOTYPES. + + * symtab.c (fixup_symbol_section): Remove prototype. + * symtab.h: (fixup_symbol_section): Add prototype. + * m32r-rom.c (report_transfer_performance): Add prototype. + * sparclet-rom.c: Ditto. + * dsrec.c: Ditto. + + * c-exp.y (parse_number): Cast args to float* or double* as + appropriate for conversion format. + * java-exp.y (parse_number): Ditto. + + * Makefile.in (c-exp.tab.c): Remove #line lines that refer + to nonexistant y.tab.c file. + (java-exp.tab.c): Ditto. + (f-exp.tab.c): Ditto. + (m2-exp.tab.c): Ditto. + + * sh-tdep.c (symfile.h): Include. + (gdb_string.h): Include. + (sh_fix_call_dummy): Ifdef away, currently unused. + * config/sh/tm-sh.h (pop_frame): Add prototype. + * config/sh/tm-sh.h (sh_set_processor_type): Add prototype. + +Sat Jun 7 02:34:19 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * eval.c (evaluate_subexp_for_sizeof): Handle dereferencing + of non-pointer values. + + * symtab.c (gdb_mangle_name): Improve mangling of nested types, + their physical names already include the class name. + + * valops.c (value_cast): Handle upcast of a class pointer. + + From Andreas Schwab (schwab@issan.informatik.uni-dortmund.de): + * corelow.c (get_core_registers): Make secname big enough. + +Fri Jun 6 14:43:23 1997 Keith Seitz + + * config/sh/tm-sh.h: add define for FPSCR_REGNUM + * sh-tdep.c (sh_show_regs): print out all registers for + the current processor + +Fri Jun 6 13:01:55 1997 Andrew Cagney + + * remote-sim.c (gdbsim_kill): Remove call to depreciated function + sim_kill. + +Thu Jun 5 11:39:03 1997 Ian Lance Taylor + + Fixes for recent correction to PE format: + * coffread.c (pe_file): New static variable. + (struct find_targ_sec_arg): Change resultp from pointer to int to + pointer to pointer to asection. + (find_targ_sec): Just store the section in args->resultp, not the + section offset value. + (cs_to_section): Compute the section offset value from the + section. + (cs_section_address): New static function. + (coff_symfile_read): Set pe_file. + (read_one_sym): When reading a PE file, adjust the symbol value to + include the section address if the symbol has an appropriate + storage class. + +Tue Jun 3 16:24:46 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * configure.tgt: add mipsr3900-elf target + * config/mips/r3900.mt r3900l.mt tm-r3900.h tm-r3900l.h: ditto + +Tue May 27 10:34:11 1997 Michael Snyder + + * dbxread.c: Check malloc's return for null, prevent segv. + +Fri May 23 14:45:02 1997 Bob Manson + + * infcmd.c (jump_command): Don't try to dereference sfn if it's + NULL. + +Fri May 23 13:51:57 1997 Andrew Cagney + + * top.c (init_cmd_lists): Always initialize endianlist. + (init_main): Always define endian commands. + (set_endian_big): Issue warning if endian not selectable. + (set_endian_little): Ditto. + (set_endian_auto): Ditto. + +Thu May 22 11:53:21 1997 Andrew Cagney + + * remote-sim.c (simulator_command): Restrict access to the + simulator to periods when the simulator is open. + +Wed May 21 16:03:25 1997 Michael Snyder + + * procfs.c (init_procinfo): new function, abstracts some code + shared by create_procinfo and do_attach; + (procfs_set_inferior_syscall_traps): new function, abstracts + some code needed by procfs_init_inferior, do_attach, and + procfs_lwp_creation_handler; (procfs_first_available): new + function, find any LWP that's runnable; (procfs_thread_alive): + replace stub function with real implementation; + (procfs_lwp_creation_handler): fix bug starting new child + threads; (info_proc): bug fixes and enhancements for the + "INFO PROCESSES" command; (close_procinfo_file): call new + function "delete_thread" to cleanup GDB's thread database; + (proc_init_failed): add new argument "kill", to control whether + process is killed (so this function can be shared by + create_procinfo and do_attach); (procfs_exit_handler): handle + exit from an attached process, and cleanup procinfo handles + when the process exits; (procfs_resume, procfs_wait): cleanup + after a thread when it exits; (do_attach, do_detach): handle + attached processes with multiple threads; plus some general + improvements in the diagnostic output. + * sol-thread.c (sol_thread_alive): replace stub with real + implementation; (thread_to_lwp, lwp_to_thread): enhance to + handle threads that may have exited; (sol_thread_attach): add + startup setup stuff; (sol_thread_detach): add unpush_target + call; (sol_thread_mourn_inferior): add unpush_target call; + (sol_thread_wait, sol_thread_resume): enhance to deal with + thread exit cleanly; (sol_thread_new_objfile, + sol_thread_pid_to_str): detect unsuccessful startup and + don't crash; plus some general cleanup. + * thread.c (delete_thread): new function, allows targets to + notify gdb when a thread is no longer valid. + * infrun.c (wait_for_inferior): don't try to detect a new + thread on receiving a TARGET_EXITED event. + +Tue May 20 09:32:02 1997 Andrew Cagney + + * remote-sim.c (gdbsim_open): Pass callback struct. + (init_callbacks): Remove call to sim_set_callbacks. + +Thu May 15 07:56:50 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/rs6000/tm-rs6000.h (SIG_FRAME_LR_OFFSET): Define. + * rs6000-tdep.c (frameless_function_invocation): Mark frames + with a zero PC as frameless to improve backtraces from core dumps + caused by dereferencing a NULL function pointer. + (frameless_function_invocation, frame_saved_pc, rs6000_frame_chain): + Handle frameless functions interrupted by a signal. + + * sparc-tdep.c (sparc_init_extra_frame_info, sparc_frame_saved_pc): + Handle frameless functions interrupted by a signal. + +Wed May 14 08:58:55 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200-tdep.c (mn10200_analyze_prologue): Update prologue comments + to reflect current reality. Gross attempt at handling out of + line prologues. + + * mn10200-tdep.c (mn10200_skip_prologue): Don't look at the debug + symbols to find the end of the prologue. + * mn10300-tdep.c (mn10300_skip_prologue): Likewise. + +Wed May 14 12:04:49 1997 Andrew Cagney + + * config/tic80/tm-tic80.h (NUM_REGS): 38 not 37. + +Mon May 12 11:35:04 1997 Mark Alexander + + * tic80-tdep.c, config/tic80/tm-tic80.h: First cut at getting + basic C80 features working. + +Thu May 8 08:42:47 1997 Andrew Cagney + + * configure.in (AC_TYPE_SIGNAL): Add + * configure: Re-generate. + * remote-sim.c: Signal returns RETSIGTYPE. + +Wed May 7 20:05:07 1997 Andrew Cagney + + * target.h (target_stop): Drop argument so it can be tested for + NULL. + +Sat May 3 20:51:48 1997 Mark Alexander + + * utils.c (floatformat_from_doublest): Handle infinity properly. + +Thu May 1 11:44:46 1997 Michael Snyder + + * Finalize merge from Hurd folk. + Mon Oct 30 16:41:04 1995 Miles Bader + * thread.c (thread_apply_command, thread_apply_all_command, + thread_command): Make sure TP is alive. + (thread_alive): New function. + Tue Nov 14 14:31:03 1995 Miles Bader + * infrun.c (sig_print_info): Deal better with long signal names. + Wed Nov 22 15:23:35 1995 Miles Bader + * thread.c (thread_id_to_pid): New function. + Fri Dec 1 13:25:25 1995 Miles Bader + * gnu-nat.c: (set_thread_cmd_list, show_thread_cmd_list, + set_thread_default_cmd_list, show_thread_default_cmd_list): + New variables. (set_thread_cmd, show_thread_cmd, + set_thread_default_cmd, show_thread_default_cmd): New functions. + Fri Apr 18 15:20:16 1997 Miles Bader + * gnu-nat.c (inf_startup): remove TASK parameter. + (inf_set_task): replace with new function (inf_set_pid). + * gdbthread.h: Add extern decl for thread_cmd_list. + +Thu May 1 02:28:21 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * printcmd.c (disassemble_command): Adjust low function bound + by FUNCTION_START_OFFSET. + +Wed Apr 30 15:23:02 1997 Andrew Cagney + + * config/tic80/tm-tic80.h (BREAKPOINT): Set it to trap 73. + +Mon Apr 28 21:25:32 1997 Michael Snyder + + * Makefile.in: Add rule for gnu-nat.o and i386gnu-nat.o (Gnu Hurd) + * config/i386/i386gnu.mh: remove rules for [i386]gnu-nat.o, now + in Makefile.in (as for other targets); add NATDEPFILE corelow.o to + satisfy symbol dependancy in solib.c (core_ops). + * target.[ch] conditionalize Mach-specific signals so that they + won't show up in non-Mach gdb's! + * thread.c: change name of static function "thread_switch" to + "switch_to_thread", to avoid conflict with Mach global symbol; + move thread_cmd_list to global scope so targets can add their + own thread commands. + * infrun.c: sig_print_info: allow for long signal names. + * gnu-nat.[ch]: tidying up comments. + * gnu-nat.c: remove calls to prune_threads and renumber_threads; + gnu_wait must not return -1 when inferior exits; + attach_to_child will modify inferior_pid in a way that allows + fork_inferior to remain unchanged; remove extra arg from + startup_inferior; move Mach thread commands here from thread.c. + +Mon Apr 28 18:21:20 1997 Michael Snyder + + * symtab.c: decode_line_1, replace the assignment to + values.sals[0].pc which I accidentally left out on 4/3/97. + +Mon Apr 28 17:27:40 1997 Michael Snyder + + * c-exp.y: make parse_number reject "123DEADBEEF". + (fix by Bob Manson). + * java-exp.y: Ditto. + * top.c: change "to enable to enable" to "to enable" in a couple + of help strings. + +Mon Apr 28 09:01:59 1997 Mark Alexander + + * breakpoint.c (remove_breakpoint): Pass correct type to + target_remove_watchpoint. + * target.h: Improve comment for target_{remove,insert}_breakpoint. + +Sat Apr 26 03:38:02 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * alpha-tdep.c (heuristic_proc_desc): Increase search limit + for return address register, handle `ret' instruction. + + * corelow.c (get_core_registers): Initialize cf. + + * procfs.c: Minor changes to make pre-ANSI compilers happy. + (procfs_notice_signals): Copy traced signal set back to + pi->prrun.pr_trace. + (unconditionally_kill_inferior): If PR_DEAD is defined, + rerun inferior after killing it. + +Fri Apr 25 00:10:18 1997 Jeffrey A Law (law@cygnus.com) + + * config/mn10300/tm-mn10300.h (EXTRACT_STRUCT_VALUE_ADDRESS): The + structure value address is found in $a0 now. + * config/mn10200/tm-mn10200.h (EXTRACT_STRUCT_VALUE_ADDRESS): Likewise. + +Thu Apr 24 13:31:10 1997 Jeffrey A Law (law@cygnus.com) + + * config/mn10300/tm-mn10300.h (STORE_RETURN_VALUE): Pointers are + returned in $a0. + (EXTRACT_RETURN_VALUE): Likewise. + + * mn10300-tdep.c (mn10300_analyze_prologue): Check for a return + insn at "pc", not "fi->pc". + +Thu Apr 24 16:11:47 1997 Andrew Cagney + + * config/tic80/tm-tic80.h (NUM_REGS): Four 64bit accumulators. + (REGISTER_BYTE, REGISTER_RAW_SIZE, REGISTER_SIZE, + MAX_REGISTER_RAW_SIZE, REGISTER_VIRTUAL_TYPE): Adjust. + (NPC_REGNUM): Tic80 has a delay slot. + (R0_REGNUM, Rn_REGNUM, An_REGNUM): For sim, provide base/bound for + register blocks. + +Wed Apr 23 11:18:45 1997 Jeffrey A Law (law@cygnus.com) + + * config/mn10200/tm-mn10200.h (STORE_RETURN_VALUE): Pointers are + returned in $a0. + (EXTRACT_RETURN_VALUE): Likewise. + +Tue Apr 22 11:58:15 1997 Fred Fish + + * config/arm/tm-arm.h (TARGET_DOUBLE_FORMAT): Define to use + floatformat_ieee_double_littlebyte_bigword for little endian + target byte order. + * utils.c (floatformat_to_doublest): Create local preswapped + copy of input for floatformat_littlebyte_bigword formats. + (get_field, put_field): Treat floatformat_littlebyte_bigword + the same as floatformat_little. + (floatformat_from_doublest): Postswap output words for + the floatformat_littlebyte_bigwords format. + +Mon Apr 21 22:44:47 1997 Andrew Cagney + + * config/tic80/tic80.mt (SIM): Link in simulator. + +Tue Apr 22 09:02:10 1997 Stu Grossman (grossman@critters.cygnus.com) + + * config/alpha/alpha-osf3.mh config/i386/{i386gnu linux}.mh + config/mips/{embed embed64 embedl embedl64 vr4300 vr4300el vr5000 + vr5000el}.mt config/powerpc/{aix aix4}.mh config/rs6000/{aix + aix4}.mh config/sh/sh.mt config/sparc/sp64sim.mt: + config/v850/v850.mt: + Remove -lm. That's now handled by configure. + + * Makefile.in (maintainer-clean): Add distclean to dependencies. + Remove duplicate rm's of files. + +Mon Apr 21 09:49:25 1997 Stu Grossman (grossman@critters.cygnus.com) + + * remote-pa.c: Remove. It's broken and no longer necessary. + + Sat Apr 19 11:56:10 1997 Per Bothner + + * java-exp.y: Combine TRUE and FALSE into BOOLEAN_LITERAL. + (Avoids name clash with broken AIX header files.) + +Sat Apr 19 01:49:37 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * serial.c (serial_log_command): Fix fputs_unfiltered calls. + + * config/powerpc/tm-ppc-aix4.h, config/rs6000/tm-rs6000-aix4.h + (DONT_RELOCATE_SYMFILE_OBJFILE): Removed. + * xcoffsolib.h (struct vmap): Add new members tvma, toffs and dvma, + remove tadj. + * exec.c (bfdsec_to_vmap): Initialize new vmap members, initialize + tstart and dstart with section VMA. + * rs6000-nat.c (vmap_symtab): Relocate relative to the VMA in the + object file. + (vmap_ldinfo, xcoff_relocate_core): Adjust tstart by section offset + of the text section, remove DONT_RELOCATE_SYMFILE_OBJFILE hack. + (vmap_exec): Relocate relative to the VMA in the object file, + relocate .bss section as well. + (xcoff_relocate_core): No longer adjust section addresses by VMA. + * rs6000-tdep.c (find_toc_address): Change type of tocbase + to CORE_ADDR. + * xcoffread.c (secnum_to_bfd_section): New routine to get + BFD section from CS section number. + (scan_xcoff_symtab): Make toc_offset section relative. + + * symtab.c (total_number_of_methods): Avoid core dump if + baseclass type is still undefined. + +Fri Apr 18 17:25:10 1997 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in (SUBDIRS): Add mswin so that make cleanup cleans up + that directory. + * defs.h utils.c (error warning): Make message be const. + * main.c (fputs_unfiltered): Only send gdb_stdout and gdb_stderr + to hook. Otherwise send it to fputs. + * monitor.c monitor.h (monitor_get_dev_name): New function. Does + the obvious. + * remote-e7000.c: Remove debugify stuff. Change printf, fprintf + to _filtered forms to make output appear in GUIs. Replace all + uses of SERIAL_READCHAR with readchar, which has better error + checking. + * (e7000_parse_device): Add prototype. + (readchar): Improve doc. Handle random serial errors. + (expect): Disable notice_quit code. It's busted. Remove + serial error handling (it's now handled in readchar). Remove + remote_debug echoing. That's handled in readchar as well. + (e7000_parse_device): Remove serial_flag arg. It's not + necessary. + (e7000_open): Split into two pieces. Second part is + e7000_start_remote, and is error protected. Now, when we connect + to the target, we setup the initial frame and registers so that + the user gets an immediate indication of where the target is. + (gch): Remove debug output. That's handled by readchar. + (e7000_read_inferior_memory): Handle errors better. + (_initialize_remote_e7000): Get rid of `' things from + command names. They show up when doing completion and confuse + things horribly. + * ser-e7kpc.c: Get rid of the DLL's since we can access the device + directly from Win32s and Win95. Get rid of debugify crud. + * serial.c: Remove debugify cruft. + * (serial_logchar serial_log_command serial_write serial_readchar + serial_send_break serial_close): Merge common functionality into + serial_logchar. Clean up rest of routines. + * sparclet-rom.c: Disembowel. Leave only download routine. + Download routine now switches to remote target automatically. + * top.c (disconnect): Only define if SIGHUP is defined. Cleans + up MSVC/Win32 problem. + * utils.c (gdb_flush): Don't call hook unless it's for gdb_stdout + or gdb_stderr. + * config/sh/tm-sh.h: Define TARGET_SH for WinGDB. + * config/sparc/tm-sparclet.h: Remove override for prompt. + +Fri Apr 18 13:38:19 1997 Doug Evans + + * remote-sim.c (gdbsim_open): Only pass -E to sim_open if + TARGET_BYTE ORDER_SELECTABLE. + +Fri Apr 18 16:52:41 1997 Andrew Cagney + + * remote-sim.c (init_callbacks): Initialize poll_quit and magic + fields of gdb_callback. + (gdbsim_stop): Add gdbsim_stop to list of supported client + operations. + (gdbsim_wait, gdbsim_resume): Move call to sim_resume into + sim_wait where gdb is in a position to handle a long running + function. + (gdbsim_cntrl_c): New function. Wrap the sim_resume call in a + SIGINT handler. + (gdb_os_poll_quit): New function. Check for a quit pending on the + console. + +Thu Apr 17 14:30:04 1997 Per Bothner + + * objfiles.c (allocate_objfile): Allow NULL bfd argument. + * defs.h (enum language): Add language_java. + * java-exp.y, java-lang.c, java-lang.h, java-valprint.c: New files. + * Makefile.in: Update for new files. + * symfile.c (deduce_language_from_filename): Recognize .java. + +Thu Apr 17 02:20:23 1997 Doug Evans + + * m32r-stub.c (stash_registers): Rewrite. + (restore_registers): Renamed to restore_and_return. + (cleanup_stash): New function. + (process_exception): New function. + (_catchException*): Rewrite. + + * remote-sim.c (gdbsim_load): Update call to sim_load. + (gdbsim_create_inferior): No longer pass start_address to + sim_create_inferior. + (gdbsim_open): Pass endian indicator as arg. + +Tue Apr 15 15:31:09 1997 Stan Shebs + + * remote.c (get_offsets): Don't use scanf for interpreting + response to qOffsets. + +Tue Apr 15 14:51:04 1997 Ian Lance Taylor + + * gdbserver/Makefile.in (INSTALL_XFORM): Remove. + (INSTALL_XFORM1): Remove. + (install-only): Use $(program_transform_name) directly, rather + than using $(INSTALL_XFORM) and $(INSTALL_XFORM1). + (uninstall): Transform name. + +Mon Apr 14 17:06:27 1997 Mark Alexander + + * remote-mips.c (mips_load): Ensure that PC gets updated + after a load on LSI target. + +Mon Apr 14 15:54:51 1997 Geoffrey Noer + + * procfs.c (notice_signals): fix typo + +Mon Apr 14 16:25:10 1997 Ian Lance Taylor + + * gdbserver/Makefile.in (INSTALL): Change install.sh to + install-sh. + +Mon Apr 14 11:55:27 1997 Geoffrey Noer + + * config/i386/cygwin32.mh: remove -lkernel32 from XM_CLIBS + since gcc automatically includes it + +Thu Apr 10 13:20:53 1997 Geoffrey Noer + + * procfs.c: Substantial (but incomplete) changes to support + sysv4.2mp procfs as implemented in UnixWare 2.1. The procinfo + struct now has substructs like struct flt_ctl instead of + just a fltset_t and has a ctl_fd, status_fd, as_fd, and + map_fd instead of a single fd. Non-sysv4.2mp procfs models + still have the structs and multiple fds, but don't use the + entire struct and the four fds all point to the same thing. + We use PROCFS_USE_READ_WRITE to decide whether to talk to + procfs with reads/writes or use ioctl instead. We use + HAVE_MULTIPLE_PROC_FDS to determine whether procfs really has + multiple fds or not. PROC_NAME_FMT is split out into + CTL_PROC_NAME_FMT, AS_PROC_NAME_FMT, MAP_PROC_NAME_FMT, + STATUS_PROC_NAME_FMT. + + (procfs_notice_signals): now a necessary wrapper around + (notice_signals): which are the new guts for noticing signals + (open_proc_file): gets a new flag arg used in sysv4.2mp to + determine whether or not to attempt to open the ctl_fd. + (procfs_read_status): new local function, reads procfs status + (procfs_write_pcwstop): new local function, writes a PCWSTOP + (procfs_write_pckill): new local function, writes a PCKILL + (unconditionally_kill_inferior): remove signo since we now + just call procfs_write_pckill(). + (procfs_xfer_memory): call lseek with SEEK_SET rather than 0 + (proc_iterate_over_mappings): the whole function is ifdefed + on UNIXWARE to keep things readable. + + Expanded the syscall_table to include new potential sysv4.2mp + members. Note that all ifdefs of UNIXWARE should be eliminated + if possible or renamed to describe what's being selected for a + bit better. Sysv4.2mp and IRIX both have SYS_sproc so the + IRIX specific code now also checks it's not UNIXWARE. + + * config/i386/tm-i386v42mp.h: also define HAVE_PSTATUS_T, + HAVE_NO_PRRUN_T, PROCFS_USE_READ_WRITE, and UNIXWARE + * config/mips/nm-irix4.h: set CTL_PROC_NAME_FMT et al to + "/debug/%d" as PROC_NAME_FMT used to be + +Wed Apr 9 11:36:14 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300-tdep.c: Almost completely rewritten based on mn10200 + port. + * config/mn10300/tm-mn10300.h: Likewise. + +Tue Apr 8 10:45:24 1997 Stu Grossman (grossman@critters.cygnus.com) + + * config/pa/{hppabsd.mt hppahpux.mt hppaosf.mt}: Remove + remote-pa.o from TDEPFILES. Nobody uses it, and besides, it's a + lousy out-of-date clone of remote.c. + +Fri Apr 4 08:21:21 1997 Stu Grossman (grossman@critters.cygnus.com) + + * remote.c: Fix problems realized while showering. + * (hexnumlen): Add prototype. Use max, not min. + * (remote_write_bytes remote_read_bytes): Fix max packet size + calculations to properly account for packet overhead. Also handle + (probably rare) case where remote_register_buf_size isn't set. + + * remote.c: Fix doc for `C' and `S' commands to indicate full + address. + * (remote_ops extended_remote_ops remote_desc remote_write_size): + Make static. + * (remote_fetch_registers remote_write_bytes remote_read_bytes): + Record size of response to fetch registers command, use this to + limit size of memory read and write commands. + * (push_remote_target): New function to make it possible to have + another target switch to the remote target. + * target.h: Add prototype for push_remote_target. + * sh-tdep.c (sh_frame_find_saved_regs): Fix sign extension bugs + for hosts which default to unsigned chars (such as SGI's). + * (_initialize_sh_tdep): Don't set remote_write_size. It's now + handled automatically in remote.c. + +Thu Apr 3 15:10:30 1997 Michael Snyder + + * blockframe.c: blockvector_for_pc_sect(), block_for_pc_sect(), + find_pc_sect_function(), find_pc_sect_partial_function(): new + functions for debugging overlays; pc without section is ambiguous. + * breakpoint.[ch]: add section pointer to breakpoint struct; + add section argument to check_duplicates(); check section as well + as pc in [breakpoint_here_p(), breakpoint_inserted_here_p(), + breakpoint_thread_match(), bpstat_stop_status()]; + add section argument to describe_other_breakpoints(); + use INIT_SAL() macro to zero-out new sal structures; + make resolve_sal_pc() fix up the sal's section as well as its pc; + match on section + pc in clear_command() and delete_breakpoint(); + account for overlay sections in insert_breakpoints(), + remove_breakpoint() and breakpoint_re_set_one(); + all this to support overlays where a PC is not unique. + * exec.c: change xfer_memory() to handle overlay sections. + * findvar.c: change read_var_value() to handle overlay sections. + * frame.h: declaration for block_for_pc_sect() [blockframe.c]. + * infcmd.c: jump_command() warns against jumping into an overlay + that's not in memory. Also use INIT_SAL() to initialize sals. + * infrun.c: wait_for_inferior() sets a flag to invalidate cached + overlay state information; Also use INIT_SAL() to init sals. + * m32r-rom.c: modify load routines to use LMA instead of VMA. + * m32r-stub.c: mask exit value down to 8 bits; screen out any + memory read/writes in the range 600000 to a00000, and ff680000 + to ff800000 (hangs because nothing is mapped there); fix strcpy(). + * maint.c: maintenance command "translate-address" supports overlays. + * minsyms.c: lookup_minimal_symbol_by_pc_sect() supports overlays. + * objfiles.[ch]: add ovly_mapped field to the obj_section struct; + this constitutes gdb's internal overlay mapping table. Add macro + ALL_OBJSECTIONS() to loop thru the obj_structs and look at overlays. + Add function find_pc_sect_section(). + * printcmd.c: modify print_address_symbolic() with overlay smarts; + modify address_info() with overlay smarts; add function sym_info() + to support the INFO SYMBOL command (translate address to symbol(s)); + modify disassemble_command() to work on unmapped overlays. + * source.c: use INIT_SAL() to initialize sals. + * symfile.[ch]: change generic_load() to use section's LMA address + instead of VMA address, for overlay sections. + Add numerous functions for finding a PC's section / overlay, + translating between VMA and LMA address ranges, determining if an + overlay section is mapped, etc. Add several user commands for + overlay debugging. Add support for a "generic" form of automatically + reading overlay mapping info from the inferior (based on the default + (simple) overlay manager which Cygnus provides as an example). + * symtab.[ch]: add functions find_pc_sect_symtab(), + find_pc_sect_psymtab(), find_pc_sect_psymbol(), find_pc_sect_line() + for lookup; modify lookup_symbol and decode_line_1() to use them; + modify find_function_start_sal() to account for overlay sections; + add macro INIT_SAL() for initializing struct symtab_and_line. + * target.c: fix a comment in the declaration of target_ops. + +Thu Apr 3 10:31:12 1997 Mark Alexander + + * mips-tdep.c (mips_in_call_stub, mips_in_return_stub, + mips_skip_stub, mips_ignore_helper): New functions for dealing + with MIPS16 call/return thunks. + (mips_init_frame_pc_first): New function to implement + INIT_FRAME_PC_FIRST macro; includes code from old macro plus + new code to skip over MIPS16 thunks. + (mips_frame_chain): Skip over MIPS16 thunks. + * config/mips/tm-mips.h (mips_in_call_stub, mips_in_return_stub, + mips_skip_stub, mips_ignore_helper): Declare. + (IN_SOLIB_CALL_TRAMPOLINE, IN_SOLIB_RETURN_TRAMPOLINE, + SKIP_TRAMPOLINE_CODE, IGNORE_HELPER_CALL): New macros that invoke + the above functions. + (INIT_FRAME_PC_FIRST): Change to invoke mips_init_frame_pc. + (mips_init_frame_pc): Declare. + * infrun.c (wait_for_inferior): Use new IGNORE_HELPER_CALL macro + to decide if certain library function calls should be ignored. + +Wed Apr 2 14:16:51 1997 Doug Evans + + * remote-sim.c (gdbsim_open): Check return code from sim_open. + Update call to sim_open (new arg SIM_OPEN_DEBUG). + +Mon Mar 31 14:55:53 1997 Ian Lance Taylor + + * gdbinit.in: New file. + * .gdbinit: Remove. + * configure.in: Generate .gdbinit from gdbinit.in. + * configure: Rebuild. + +Sun Mar 30 12:28:24 1997 Fred Fish + + * config/tic80/tic80.mt: Disable using the simulator + until it is ready. + +Sat Mar 29 13:57:20 1997 Fred Fish + + * COPYING: Install new version of file from FSF. + * copying.c (show_copying_command): Update FSF address. + +Fri Mar 28 18:33:41 1997 Ian Lance Taylor + + * Makefile.in (distclean): Remove .gdbinit. + +Fri Mar 28 15:37:30 1997 Fred Fish + + * config/tic80/tm-tic80.h (NAMES_HAVE_UNDERSCORE): Define. + +Fri Mar 28 15:38:04 1997 Mike Meissner + + * remote-sim.c (gdb_os_{,e}vprintf_filtered): Change stdarg type + to va_list from void *, since va_list might not be a pointer + type. + +Thu Mar 27 14:21:46 1997 Mark Alexander + + * remote-mips.c: Clean up comment and extraneous semicolon + for mips_monitor_prompt variable. + +Thu Mar 27 12:46:58 1997 Mark Alexander + + * remote-mips.c: Add `set monitor-prompt' command. + +Wed Mar 26 06:47:44 1997 Mark Alexander + + Fix from Peter Schauer: + * mdebugread.c (parse_procedure): Set address of procedure to + block start; this fixes problems with shared libraries introduced + by change of Mar 21. + +Mon Mar 24 19:43:16 1997 Geoffrey Noer + + * symtab.c (find_pc_symtab): change to support the case + where the objfile is reordered and contains both coff and + stabs debugging info (continue on if a psymtab isn't found). + +Sun Mar 23 16:19:20 1997 Mark Alexander + + Fixes from Peter Schauer: + * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE, + REGISTER_CONVERT_FROM_TYPE): Swap words if target, not host, + is big-endian and if registers are 32 bits. + * mips-tdep.c (mips_print_register, mips_extract_return_value, + mips_store_return_value): Fix floating-point word-order problems on + little-endian targets introduced by changes of Mar 21. + +Sun Mar 23 15:43:27 1997 Stan Shebs + + * remote.c (target_resume_hook, target_wait_loop_hook): New + globals. + (remote_resume, remote_wait): Use them. + * d10v-tdep.c: Set the above hooks. + (tracesource): New GDB variable, controls source display in + traces. + (display_trace): Find and display source line if requested. + (trace_info): Mention empty trace buffer if appropriate. + (tdisassemble_command): Robustify argument handling. + + * configure.host: Remove extra bogus Linux case. + +Sat Mar 22 16:41:35 1997 Fred Fish + + * remote-sim.c (simulator_command): Add comment about dealing with + NULL or empty args. + * Makefile.in (tic80-tdep.o): Add target. + * configure.tgt: Add tic80 case. + * tic80-tdep.c: New file. + * config/tic80/{tic80.mt, tm-tic80.h}: New files. + +Sat Mar 22 02:48:11 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * c-exp.y (yylex): Handle nested template parameter lists. + * symtab.c (decode_line_2): Fix test for valid choice number. + +Fri Mar 21 19:10:05 1997 Mark Alexander + + * mips-tdep.c (mips_push_arguments): On non-EABI architectures, + copy first two floating point arguments to general registers, so that + MIPS16 functions will receive the arguments correctly. + (mips_print_register): Print double registers correctly on + little-endian hosts. + (mips_extract_return_value): Return double values correctly + on little-endian hosts. + + * mdebugread.c (parse_procedure): Adjust address of procedure relative + to address in file descriptor record; this accounts for constant + strings that may precede functions in the text section. Remove + now-useless lowest_pdr_addr from argument list and all calls. + +Fri Mar 21 15:36:25 1997 Michael Meissner + + * configure.tgt (powerpc*-{eabi,linux,sysv,elf}*): Determine + whether the simulator will be built by whether the Makefile in the + simulator directory was built. + + * configure.in (--enable-sim-powerpc): Delete switch. + * configure: Regenerate. + +Thu Mar 20 20:52:04 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200-tdep.c (mn10200_analyze_prologue): Look for save of "a1" + in the prologue too. + + * remote-sim.c (gdb_os_vprintf_filtered): Fix to work with non-ANSI + compilers. + (gdb_os_evprintf_filtered): Similarly. + +Wed Mar 19 16:13:22 1997 Geoffrey Noer + + New UnixWare 2.1 configuration + * config/i386/i386v42mp.mt: new + * config/i386/i386v42mp.mh: new + * config/i386/tm-i386v42mp.h: new + * config/i386/nm-i386v42mp.h: new + * configure.tgt: added new entries + * configure.host: added new entries + +Mon Mar 17 17:52:00 1997 J.T. Conklin + + * dsrec.c (load_srec): Print leading zeroes when printing section + addresses. + +Mon Mar 17 15:00:16 1997 Andrew Cagney + + * remote-sim.h: Delete - moved to ../include/remote-sim.h. + + * Makefile.in (remote_utils_h): Update path to remote-sim.h. + +Fri Mar 7 20:55:28 1997 Andrew Cagney + + * remote-sim.c (flush_stdout, write_stderr, flush_stderr, + vprintf_filtered, evprintf_filtered): Callbacks that accept + varargs. + +Sat Mar 15 00:50:46 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * breakpoint.c (insert_breakpoints, watchpoint_check, + bpstat_stop_status): Do not disable watchpoints going out of scope. + (insert_breakpoints): Make sure that the current frame is valid + before calling find_frame_addr_in_frame_chain. + + * top.c (setup_user_args): Handle quotes and backslashes. + (print_gdb_version): Update copyright year. + +Fri Mar 14 15:44:03 1997 Ian Lance Taylor + + * Makefile.in (elfread.o): Depend upon elf-bfd.h and elf/mips.h. + +Thu Mar 13 22:51:00 1997 Dawn Perchik + + * utils.c (pollquit, notice_quit): If _WIN32, limit test for + cntl-C to wingdb. + (initialize_utils): If _WIN32, don't call ScreenRows and ScreenCols + except under wingdb. (Contributed by Martin Hunt). + +Thu Mar 13 12:40:49 1997 Tom Tromey + + * configure: Regenerated. + * configure.in: Run AC_CONFIG_AUX_DIR before AC_CANONICAL_SYSTEM. + +Thu Mar 13 11:00:22 1997 Doug Evans + + * remote-sim.h (sim_state, SIM_DESC): New types. + (sim_open): Return a `descriptor' as result. + (*): New argument of descriptor result from sim_open. + * remote-sim.c (gdbsim_desc): Renamed from gdbsim_open_p. + (gdbsim_open): Record result of sim_open in gdbsim_desc. + Pass argv list to sim_open, argv[0] = pseudo program name. + (*): Pass gdbsim_desc to sim_foo fns. + +Wed Mar 12 14:40:06 1997 Tom Tromey + + * config.in: Regenerated. + + * acconfig.h (START_INFERIOR_TRAPS_EXPECTED, sys_quotactl, + HAVE_HPUX_THREAD_SUPPORT): Define. + +Tue Mar 11 07:25:27 1997 Mark Alexander + + First cut at supporting simulators in gdbserver: + + * configure, configure.in: Allow gdbserver to be configured + for cross-target environments. + * gdbserver/Makefile.in: Add simulator support. + * gdbserver/configure.in: Eliminate assumption that host == target. + Simplify using gdb/configure.tgt and gdb/configure.host. + Fix other minor configuration errors. + * gdbserver/low-sparc.c: Fix compile error. + * gdbserver/remote-utils.c: Eliminate assumption that registers + and addresses are four bytes. Fix minor compile errors and warnings. + * gdbserver/server.c: Rewrite numerous instances of identical code + for starting inferior processes to call new function start_inferior. + Eliminate assumption that registers and addresses are four bytes. + * gdbserver/server.h: Add missing prototypes to eliminate compiler + warnings. + * gdbserver/low-sim.c: New file to mate gdbserver with simulators. + * config/mips/vr5000.mt: Add Vr5000 simulator support to gdbserver. + * config/i386/linux.mh: Eliminate gdbserver support as a first step + in moving such support from host to target makefile fragments. + * config/i386/linux.mt: Move gdbserver support here from linux.mh. + +Mon Mar 10 12:27:47 1997 Michael Snyder + + * symtab.h (INIT_SAL): New macro to initialize symtab_and_line, + to insure consistant initialization of unused fields to zero. + * symtab.c: replace initializations of sals with new macro INIT_SAL. + * breakpoint.c: ditto. + * infrun.c: ditto. + * infcmd.c: ditto. + * source.c: add call to INIT_SAL macro. + +Sat Mar 8 00:16:37 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * sparc-tdep.c (isbranch): Always handle v9 branch instructions, + they might get used on 32 bit targets as well. + +Wed Mar 5 19:34:09 1997 Bob Manson + + * remote-mips.c (mips_exit_debug): Some IDT boards don't + send the full exit string. + +Wed Mar 5 12:59:27 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200-tdep.c (mn10200_push_arguments): Handle new calling + conventions. + (mn10200_store_struct_return): Likewise. + +Tue Mar 4 10:31:02 1997 Mark Alexander + + * mips-tdep.c (mips_fetch_instruction): New function; replace + common code throughout with calls to it. + (mips_find_saved_regs): Examine MIPS16 entry instruction to determine + correct saved addresses of $s0 and $s1. + (mips_find_saved_regs, mips16_heuristic_proc_desc): Use MIPS_REGSIZE + instead of hardcoded 4. + (mips16_skip_prologue): Handle extended instructions correctly. + +Mon Mar 3 12:29:20 1997 Doug Evans + + * defs.h (LONGEST): Move #ifndef LONGEST to outside. + Try BFD_HOST_64_BIT if ! CC_HAS_LONG_LONG. + +Thu Feb 27 18:54:11 1997 Mark Alexander + + * mips-tdep.c (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR): + New macros for testing, setting, and clearing bit 0 of addresses. + Change numerous bits of code where bit 0 was being manipulated + to use these macros. + +Thu Feb 27 14:12:41 1997 Mark Alexander + + * remote-mips.c: Put back the form feeds. + +Thu Feb 27 12:04:24 1997 Mark Alexander + + * remote-mips.c: Remove form feeds (^L) from source. + (mips_initialize): LSI PMON doesn't support 'set regsize' command. + (pmon_wait): Don't need to exit and re-enter debug mode on LSI + PMON after a continue; it causes target program misbehavior. + (mips_fetch_register): Don't fetch unsupported registers; this + cuts down on wasted serial traffic. + +Thu Feb 27 09:38:16 1997 Stu Grossman (grossman@critters.cygnus.com) + + * configure.in configure (HPUX/OSF thread support): Enable this + only when running GCC, since HP's thread header files use ANSI C + which is not supported by their default compiler. + + * configure.host (i[3456]86-*-windows): Disable long long + support for WinGDB. Add mswin to configdirs. + * configure.in configure: Move calls to configure.host and + configure.tgt to the top of configure.in to allow them to set + config variables before they are referenced. + +Tue Feb 25 20:21:52 1997 Stan Shebs + + * configure.tgt (mips*-*-lnews*): New target. + +Mon Feb 24 16:35:00 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200-tdep.c (mn10200_analyze_prologue): Don't fix fi->frame + if we're not the innermost frame. Fix minor typos. + +Sat Feb 22 03:39:50 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * stabsread.c (read_type): Fix handling of template names + with template parameters containing `::'. + + * valops.c (search_struct_field, search_struct_method): + Pass correct valaddr parameter to baseclass_offset. + Prevent gdb crashes by making sure that the virtual base pointer + from an user object still points to accessible memory. + +Tue Feb 18 13:36:34 1997 Mark Alexander + + * maint.c: Eliminate -Wall warnings by including some header files. + +Tue Feb 18 13:06:30 1997 Mark Alexander + + * remote-sim.c (init_callbacks): Undo previous change. + +Tue Feb 18 11:13:00 1997 Dawn Perchik + + * maint.c: Fix dereference of pointer. + * remote-sim.c: Fix reference of structure member "last_error". + * debugify.c: Include config.h to get ANSI definitions. + +Sat Feb 15 17:43:46 1997 Stu Grossman (grossman@critters.cygnus.com) + + * remote-vx.c (vx_attach): Remove code added by kung. It made no + sense. + +Fri Feb 14 13:00:07 1997 Ian Lance Taylor + + * main.c (print_gdb_help): Make static to match declaration. + +Thu Feb 13 18:18:18 1997 Dawn Perchik + + * remote-e7000.c, ser-e7kpc.c, serial.c: Remove // comments. + +Wed Feb 12 15:58:00 1997 Dawn Perchik + + * debugify.c, debugify.h: Make safe for non-ansi compilers. + +Wed Feb 12 15:30:00 1997 Dawn Perchik + + * defs.h: Fix prototypes for new cleanup functions. + +Wed Feb 12 15:08:47 1997 Dawn Perchik + + * debugify.c, debugify.h: Fix for general gnu use. Remove C++ + comment, add PARAMS, add license info and fix indentation. + +Wed Feb 12 14:42:47 1997 Dawn Perchik + + * debugify.c, debugify.h: New files. Provide common macros + for writing debug info to a log file or stdio. + +Wed Feb 12 02:44:39 1997 Dawn Perchik + + * c-valprint.c (c_val_print): Fix printing for arrays defined + with 0 length. + +Tue Feb 11 22:24:39 1997 Dawn Perchik + + * defs.h: Fix cntl-C to read from the Windows message queue. + Add prototypes for make_final_cleanup (and the other cleanup + routines. + * remote-e7000.c: Fix sync code to timeout if unable to sync. + Change sync code to report status while trying to sync-up + with hardware. Add debugging output and document. + * ser-e7kpc.c: Swap order of len & offset to match implementation. + Add debugging output and document. + * serial.c: Add debugging output. + * top.c: Add call to do_final_cleanups. + Remove conditionals preventing Win32 from getting SIGQUIT. + * utils.c: (*_cleanup): Modify cleanup routines to accept a cleanup + chain as a parameter. Extract this generic code from the cleanup + routines into separate funtions (*_my_cleanup). Keep old + functionality by passing "cleanup_chain" to the new funtions. + Define the cleanup chain "final_cleanup_chain" to be a cleanup + chain which will be executed only when gdb exits. Add functions + (*_final_cleanup) to match the original (*_cleanup) functions. + (pollquit, quit, notice_quit): Fix to read cntl-C from the + Windows message queue. + +Tue Feb 11 15:36:31 1997 Doug Evans + + * m32r-rom.c: #include . + #ifdef out new load support if wingdb. + * m32r/tm-m32r.h (TARGET_M32R): Define, for wingdb. + +Tue Feb 11 12:28:09 1997 Jeffrey A Law (law@cygnus.com) + + + * config/mn10200/tm-mn10200.h (STORE_STRUCT_RETURN): Fix. + * mn10200-tdep.c (mn10200_store_struct_return): New function. + + * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Fix case when + extracting a return value from a register pair. + + * mn10200-tdep.c (mn10200_push_arguments): Stack only needs to + be two byte aligned. Round argument sizes up to two byte boundary. + Write out args in two byte hunks. + (mn10200_push_return_address): Implement. + * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Abort for + structures > 8 bytes (temporary). + (STORE_RETURN_VALUE): Likewise. + (CALL_DUMMY): No longer undefine. + (USE_STRUCT_CONVENTION): Use for args > 8 bytes. + (REG_STRUCT_HAS_ADDR): Define. + +Mon Feb 10 18:35:55 1997 Mark Alexander + + * mips-tdep.c (non_heuristic_proc_desc): New function. + (find_proc_desc): Move non-heuristic proc search code into separate + function. + (gdb_print_insn_mips): Use non-heuristic method to find procedure + descriptor, to avoid prologue examination when disassembling. + * remote-mips.c: Add support for new "lsi" target (LSI MiniRISC + aka MicroMeteor board). + (mips_exit_debug): Prevent protocol reinitialization if an error + occurs while exiting debug mode. + +Mon Feb 10 16:11:57 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200-tdep.c: Remove lots of debugging printfs, update/improve + comments, formatting, etc. Plus other minor fixes for problems + I found during my first pass over the mn10200 port. + (mn10200_analyze_prologue): New function. + (mn10200_frame_chain, mn10200_init_extra_frame_info): Use it. + * config/mn10200/tm-mn10200.h: Lots of updates/improvements to + comments, formatting, etc. Minor fixes for problems I found during + my first pass over the mn10200 port. + (TARGET_*_BIT): Define appropriately for ints, long longs, doubles and + pointers. + (REGISTER_VIRTUAL_TYPE): Define as a long. + (EXTRACT_RETURN_VALUE): Rework to deal with long ints living + in register pairs. + (STORE_RETURN_VALUE): Similarly. + + * blockframe.c (generic_get_saved_regs): Remove unused variable + "addr". + * breakpoint.c (frame_in_dummy): Move struct breakpoint *b decl + inside #ifdef CALL_DUMMY. + (watch_command_1): Initialize target_resources_ok. + * command.c (do_setshow_command): Provide dummy initialization + for "match". + * valops.c (find_function_addr): Move function & prototype inside + #ifdef CALL_DUMMY. + (value_arg_coerce): Similarly. + (value_of_variable): Provide dummy initialization of "frame". + +Mon Feb 10 07:54:26 1997 Fred Fish + + * xcoffread.c (RECORD_MINIMAL_SYMBOL): Add NULL asection* parameter + to prim_record_minimal_symbol_and_info call that was missed in Jan 3 + change. + (scan_xcoff_symtab): Ditto. + +Sun Feb 09 09:23:26 1997 Mark Alexander + + * remote-mips.c (common_breakpoint): Prevent 64-bit addresses + from being sent to 32-bit targets by masking off upper bits. + * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits + of PC on 32-bit targets. + (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a + frame setup instruction. + (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall. + (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid + prologue instruction. Fix warnings and bugs found by gcc -Wall. + * buildsym.c (finish_block): Improve handling of overlapping blocks; + fixes problem on MIPS16 printing function arguments. + +Sat Feb 8 01:14:43 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dwarf2read.c (dwarf2_linkage_name): New function to get + the linkage name of a die from DW_AT_MIPS_linkage_name or + DW_AT_name. + (read_func_scope, dwarf2_add_field, dwarf2_add_member_fn, + new_symbol): Use it instead of accessing DW_AT_name. + (read_partial_die): Use DW_AT_MIPS_linkage name as name of the + partial die if present. + (dwarf2_add_member_fn): Make a copy of physname on the type obstack. + +Fri Feb 7 10:06:22 1997 Jeffrey A Law (law@cygnus.com) + + * blockframe.c (generic_frame_chain_valid): If the new frame + is not INNER_THAN the old frame, then it's not valid. + +Tue Feb 04 09:04:37 1997 Mark Alexander + + * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate. + (mips16_heuristic_proc_desc): Recognize jal(x) instruction. + +Mon Feb 03 17:57:58 1997 Mark Alexander + + * mips-tdep.c (mips16_decode_reg_save): Distinguish between + sd and sw instructions correctly. + (heuristic_proc_start): Add support for MIPS16. + (mips16_get_imm, mips16_heuristic_proc_desc, + mips32_heuristic_proc_desc): New helper functions for + heuristic_proc_desc. + (heuristic_proc_desc): Rewrite and reorganize to support MIPS16. + (mips_push_arguments): Don't align small arguments in EABI. + (mips32_skip_prologue): Attempt to shrink code size a little. + +Mon Feb 3 11:06:05 1997 Michael Snyder + + * m32r-stub.c: New -- remote protocol support for M32R cpu. + * m32r-rom.c: Several experiments with improved download time. + +Fri Jan 31 08:26:39 1997 Mark Alexander + + * mips-tdep.c (MIPS16_INSTLEN): Define. + (mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN. + (heuristic_proc_start): Recognize 'entry' pseudo-op as a start + of function on MIPS16. + (mips32_skip_prologue, mips16_skip_prologue): New helper functions + for mips_skip_prologue. + (mips_skip_prologue): Recognize both 16- and 32-bit prologues. + +Wed Jan 29 12:45:54 1997 Michael Meissner + + * config/powerpc/ppc{,le}-sim.mt (SIM): Remove the library + ../sim/common/libcommon.a. + +Tue Jan 28 15:54:13 1997 Michael Snyder + + * blockframe.c: fix a null pointer ref in generic_get_saved_register + +Tue Jan 28 15:39:50 1997 Geoffrey Noer + + * mn10200-tdep.c (mn10200_frame_chain): Get basic backtracing + working. + +Mon Jan 27 14:31:52 1997 Mark Alexander + +First set of changes for mips16: + * config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT, + MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define. + (ABOUT_TO_RETURN): Call new function mips_about_to_return. + (mips_breakpoint_from_pc, mips_about_to_return): Declare. + * mem-break.c (memory_breakpoint_from_pc): New function. + (memory_insert_breakpoint, memory_remove_breakpoint): Use + memory_breakpoint_from_pc to determine breakpoint contents and size. + * target.h (memory_breakpoint_from_pc): Declare. + * monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc + to determine size of breakpoint instruction. + * mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save): + New helper functions for mips_find_saved_regs. + (mips_find_saved_regs): Recognize mips16 prologues. + (mips_addr_bits_remove): Strip off upper 32 bits of address + when target CPU is 32 bits but CORE_ADDR is 64 bits. + (mips_step_skips_delay): No branch delay slot on mips16. + (gdb_print_insn_mips): Disassemble mips16 code. + (mips_breakpoint_from_pc, mips_about_to_return): New functions. + +Mon Jan 27 10:34:03 1997 Jeffrey A Law (law@cygnus.com) + + * tm-mn10200.h (NUM_REGS): Decrease to 12. + (REGISTER_NAMES): Elimination registers not found on the mn10200. + (PC_REGNUM, MDR_REGNUM, PSW_REGNUM): Corresponding changes. + (LIR_REGNUM, LAR_REGNUM): Delete. They don't exist on the mn10200. + +Sat Jan 25 00:07:59 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dwarf2read.c: Replace integral tag, name and form fields in + internal structure definitions with the corresponding enumeration + types from dwarf2.h. Add default cases to switches on enumerations + where appropriate. + Make quoting of string arguments in complaint messages consistent. + Check for NULL returns from DW_STRING. + (struct partial_die_info): Add sibling and has_type fields, remove + unused value field. + (DW_*): Move access macro definitions near the definition of the + attribute structure. + (struct field_info): New structure to pass information about fields + and member functions between die processing routines. + (dwarf2_build_psymtabs_hard): Set cu_header_offset. + (scan_partial_symbols): Do not enter DW_TAG_subprogram dies into + the partial symbol table if the DW_AT_*_pc attributes are missing. + Add file scope base type definitions to the partial symbol table. + Skip over child dies if the die has a sibling attribute. + (add_partial_symbol): Enter global variables with type attributes + and without location descriptors into the partial symbol table. + Store value of DW_TAG_variable dies in the partial symbol table. + Do not enter global variables into the minimal symbol table. + Add base type definitions to the partial symbol table. + (psymtab_to_symtab_1): Use dwarf2_get_pc_bounds to determine highpc. + (process_die): Move check for DW_AT_low_pc to read_func_scope. + Add a typedef symbol for base type definitions to the symbol table. + Ignore DW_TAG_inlined_subroutine tags for now. + (read_file_scope): Use dwarf2_get_pc_bounds to determine pc bounds. + (read_func_scope, read_lexical_block_scope): Use dwarf2_get_pc_bounds + to determine pc bounds, ignore dies with invalid bounds. + (dwarf2_get_pc_bounds): New routine to extract and validate the + DW_AT_*_pc attributes of a die. + (dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name, + dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type): + New functions to handle fields and member functions. + (read_structure_scope): Rewritten to use them. + (read_array_type): Renamed from dwarf_read_array_type. + Default upper array bound to describe an array with unspecified + length. + Create array types in backwards order, as dwarf2 puts out the array + dimensions from left to right. + (read_subroutine_type): Handle DW_TAG_unspecified_parameters, + DW_AT_artificial and DW_AT_prototyped. + (read_base_type): Make an unsigned type for DW_ATE_boolean. + Pass objfile to dwarf_base_type. + (read_partial_die): Use read_attribute to read in the attributes. + Handle DW_AT_sibling and DW_AT_type. + Follow references when determining DW_AT_name and DW_AT_external + attributes of the die. + Validate DW_AT_*_pc attributes. + (read_full_die): Use read_attribute to read in the attributes. + (read_attribute): New function to read an attribute described + by an abbreviated attribute. + (new_symbol): Relocate symbol value for DW_TAG_label with baseaddr. + Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram, + SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block. + Change symbol class for global variables with a zero valued location + descriptor to LOC_UNRESOLVED. + Handle DW_AT_const_value attributes for DW_TAG_variable, + DW_TAG_formal_parameter and DW_TAG_enumerator. + Build a typedef symbol for DW_TAG_base_type. + (dwarf2_const_value): New routine to copy a constant value from an + attribute to a symbol. + (dwarf_base_type): Use passed in objfile, not current_objfile + when calling dwarf2_fundamental_type. + (dump_die): Use DW_* accessor macros to access values of attributes. + (decode_locdesc): Handle DW_OP_plus_uconst. + +Wed Jan 22 01:31:16 1997 Geoffrey Noer + + * mn10200-tdep.c: New file. + * config/mn10200/tm-mn10200.h: New, REGISTER_SIZE is 24 bits not 32, + SP_REGNUM and FP_REGNUM are different, also no lar or lir. + * config/mn10200/mn10200.mt: New file. + * configure.tgt: add mn10200 entry. + +Tue Jan 21 18:32:23 1997 Stu Grossman (grossman@lisa.cygnus.com) + + * configure.in configure: Check if host has libdl if doing + Solaris threads. + +Tue Jan 21 17:03:26 1997 Geoffrey Noer + + * mn10300-tdep.c: Wrote/fixed implementations of + mn10300_frame_chain, mn10300_init_extra_frame_info, + mn10300_frame_saved_pc + * config/mn10300/tm-mn10300.h: Redefine INIT_EXTRA_FRAME_INFO + and INIT_FRAME_PC macros. + +Tue Jan 21 17:01:20 1997 Stu Grossman (grossman@lisa.cygnus.com) + + * configure.in configure: Check if host has libm. Make sure we + are using gcc when using the -export-dynamic option. Fixes a + problem with building under Solaris/SunPro cc. + +Mon Jan 20 13:52:13 1997 Mark Alexander + + * config/mips/{embed,embed64,embedl,embedl64}.mt: + Link in simulator on MIPS embedded targets. + +Sat Jan 18 02:31:29 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * blockframe.c (frameless_look_for_prologue): Mark frames + with a zero PC as frameless to improve backtraces from core dumps + caused by dereferencing a NULL function pointer. + +Thu Jan 16 14:10:41 1997 Geoffrey Noer + + * config/mn10300/tm-mn10300.h: fix BREAKPOINT definition. + +Tue Jan 14 16:01:06 1997 Geoffrey Noer + + * mn10300-tdep.c: made a lot more generic, ripping out code + from copied target (no more mn10300_scan_prologue, + init_extra_frame_info, and mn10300_fix_call_dummy calls) + * config/mn10300/tm-mn10300.h: undefine INIT_EXTRA_FRAME_INFO + and INIT_FRAME_PC macros + +Thu Jan 9 11:44:40 1997 Michael Snyder + + * sparc-tdep.c (sparc_frame_find_saved_regs): Don't use + FP_REGISTER_BYTES to compute offsets into the saved frame, + since it fails for SPARC targets configured without any + FP regs. Instead, use DUMMY_STACK_REG_BUF_SIZE. + +Mon Jan 6 11:15:14 1997 Stu Grossman (grossman@critters.cygnus.com) + + * symtab.c (fixup_symbol_section): Handle NULL symbols without + crashing. + +Fri Jan 3 12:08:16 1997 Stu Grossman (grossman@critters.cygnus.com) + + * Makefile.in configure configure.in: Remove ENABLE_CLIBS, + ENABLE_OBS, and THREAD_DB_OBS. These are consolidated into LIBS + and CONFIG_OBS. + * configure configure.in: Clean up test cases around thread support. + * configure.tgt (v850-*-*): Include v850ice.o and v850.lib if + host is Windows. + * c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c + printcmd.c valops.c value.h values.c: Add bfd_section arg to + value_at and value_at_lazy. + * coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h: + Add bfd_section arg to prim_record_minimal_symbol_and_info. + * corefile.c gdbcore.h printcmd.c valops.c: Use read_memory_section + instead of read_memory. It takes a bfd_section arg. + * coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h: Remove + unnecessary cast for assignment of struct dbx_symfile_info. + Struct objfile now uses a real pointer instead of PTR for this + element. + * dbxread.c (dbx_symfile_init): Stash bfd section pointers for + text, data and bss into dbx_symfile_info. + * exec.c (xfer_memory): Handle transfers for user-specified + sections. + * findvar.c (read_var_value locate_var_value): Copy bfd section + from the symbol to the value. + * gdb-stabs.h: Add section pointers for text, data and bss + sections. + * maint.c (translate address command): Add test code for overlay + address translation. + * printcmd.c (do_examine do_one_display): Now takes a bfd section + arg. + * (print_formatted x_command): Record current section along with + current address for repeated commands. + * sparc-nat.c (fetch_inferior_registers): Change + target_xfer_memory to target_{read write}_memory to allow changes + to target_xfer_memory interface for section info. + * symmisc.c (dump_msymbols print_symbol): Print section + assocaited with symbol. + * symtab.c (fixup_symbol_section): New routine to + add section info to symbols returned by lookup_symbol. + * symtab.h (struct general_symbol_info): Add bfd section to + symbols. + * target.c target.h (target_xfer_memory): Add bfd section to + args. + * (target_read_memory_section): New routine to read data from a + specific section. + * (target_memory_bfd_section): New global variable to pass bfd + section in to targets. + * valarith.c (value_add value_addr value_array): Preserve bfd + section when computing new value. + * value.h (struct value): Add bfd section to values. + * values.c (allocate_value value_copy): Initialize/preserve bfd + section. + * (unpack_double): Clean up _MSC_VER conditionals to remove + duplicate code. + * v850ice.c: New module to support communication with NEC's + PC-based ICE. + * config/v850/tm-v850.h (REGISTER_NAMES): Replace sp, gp, fp, and + ep names with rxx names. sp and fp are renamed via a different + mechanism. + +Fri Jan 3 14:20:05 1997 Geoffrey Noer + + * mn10300-tdep.c (mn10300_push_arguments): rewrote, + also removed code elsewhere that made use of RP_REGNUM. + * config/mn10300/tm-mn10300.h: ripped out RP_REGNUM, V0_REGNUM, + ARG0_REGNUM, ARGLAST_REGNUM (all not appropriate for mn10300 + arch.), redefined SAVED_PC_AFTER_CALL, EXTRACT_RETURN_VALUE, + EXTRACT_STRUCT_VALUE_ADDRESS, STORE_RETURN_VALUE. + +For older changes see ChangeLog-1996 + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1998 b/contrib/gdb/gdb/ChangeLog-1998 new file mode 100644 index 0000000..a9038f8 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1998 @@ -0,0 +1,7220 @@ +Thu Dec 31 15:26:13 1998 Stan Shebs + + * corelow.c (core_ops): Don't initialize statically. + (init_core_ops): New function, fills in core_ops. + (_initialize_corelow): Use it. + +Thu Dec 31 16:54:30 1998 David Taylor + + The following changes were made by + Elena Zannoni + Edith Epstein + David Taylor + + * config/pa/tm-hppa.h (INSTRUCTION_NULLIFIED): Change to read + nullify instruction bit from IPSW only when we are not in a system + call. + (STRCAT_REGISTER, pa_do_strcat_registers_info): Additional + parameter -- precision. + + * Makefile.in (BUILD_TUI): To build the tui, only when configured + with --enable-tui. + (YLWRAP): Use ylwrap to avoid problems on systems w/o bison. + (gdb$(EXEEXT)): Make it dependent on BUILD_TUI. + (all-tui): Remove dependency from phony target. + (c-exp.tab.c): Use ylwrap instead of bison. + (jv-exp.tab.c): Ditto. + (f-exp.tab.c): Ditto. + (m2-exp.tab.c): Ditto. + + * configure.in (ENABLE_CFLAGS): Define and export BUILD_TUI. + + * configure: Regenerated. + + * c-typeprint.c (c_type_print_base): Get to the method name by + skipping over all the namespaces, classes and '::'. + + * infcmd.c (run_command): Only call SOLIB_RESTART if it's + defined. + (detach_command): Ditto. + + * infptrace.c (call_ptrace): Add some debugging code. + + * infrun.c (follow_inferior_fork): Only define on HP. + (wait_for_inferior): Only call SOLIB_IN_DYNAMIC_LINKER if we have + shared libraries; restore test of IN_SOLIB_DYNSYM_RESOLVE_CODE + removed by HP. + + * Makefile.in (ALLDEPFILES): Add somread.c, hp-psymtab-read.c, + hp-symtab-read.c. + (SFILES): Remove the above files + (COMMON_OBS): Remove somread.o + (SFILES): Add the tui files to this, so they get + included in etags tables. + (all-tui): New rule, which does a recursive make in the tui + subdir. + (gdb$(EXEEXT)): Add tui-all to the list of + dependencies, and add tui/libtui.a to the link list. + (tui/libtui.a): When recursing, pass down + ${FLAGS_TO_PASS}. And don't echo the make command. This is + closer to what the other recursions do. + (HFILES_NO_SRCDIR) add hpread.h. + (COMMON_OBS): Add hp-psymtab-read.o, hp-symtab-read.o + Allow the TUI code to be conditionally enabled. + (TUI_TARGET, TUI_LIBRARY): New variables, whose values are set by + the configuration script. They're set to the empty string when + the TUI isn't enabled. + (gdb$(GDBEXT)): Use those, instead of referring to tui-all and + tui/libtui.a directly. + + * Makefile.in: Avoid spurious relinking. + (gdb$(EXEEXT)): Depend on the actual tui library, not on a + fictitious target. Since the fictitious target never existed, make + would always relink. + (tui/libtui.a): Renamed from all-tui. Always recurse to make sure + the library is up to date. + (TUI_TARGET): Variable removed; there's no need for it any more. + + * Makefile.in: Look for tui include files in the tui source dir. + + * Use automake's `aclocal' program to generate aclocal.m4, to allow + us to use automake macros in configure.in with impunity. + + * acconfig.h: Add an entry for the `TUI' symbol. + + * acinclude.m4: New file, containing the code from the old + aclocal.m4. Incorporate (by reference) ../bfd/acinclude.m4, not + ../bfd/aclocal.m4, since we only want bfd's local macros. + + * aclocal.m4: Now automagically generated. Just run aclocal! + + * annotate.c (annotate_catchpoint): New function. + + * annotate.h: Taking the new includes (symtab.h and gdbtypes.h). + not taking the ansic C build fix. + (annotate_catchpoint): Declare. + + * blockframe.c (blockvector_for_pc_sect): Check that the end of + the block is >= to the pc, not just >. + + * breakpoint.c (create_temp_exception_breakpoint): #If it out -- + nothing calls it. + (bpstat_stop_status): Don't call SOLIB_HAVE_LOAD_EVENT if it's not + defined; don't call SOLIB_HAVE_UNLOAD_EVENT if it's not defined. + (bpstat_get_triggered_catchpoints): If we don't have shared + library support, then don't call SOLIB_LOADED_LIBRARY_PATHNAME nor + SOLIB_UNLOADED_LIBRARY_PATHNAME. + (watch_command_1): Don't require a run before a watch command + unless we're on HP [it's an HP OS bug, not a generic limitation] + (catch_load_command_1): Don't define if no shared libraries. + (catch_command_1): Don't claim to support fork catchpoints unless + CHILD_INSERT_FORK_CATCHPOINT is defined, don't claim to support + vfork catchpoints unless CHILD_INSERT_VFORK_CATCHPOINT is defined, + don't clain to support shared library load catchpoints if shared + libraries aren't supported, and don't claim to support exec + catchpoints unless CHILD_INSERT_EXEC_CATCHPOINT is defined + + (bpstat_do_actions): If we just set cmd to NULL, don't then try to + set it to cmd->next as we'll SEGV. + (bpstat_do_actions): Simplify significantly. It's + now almost as simple as before the merge and it no longer has the + HP bug that breakpoint commands are executed repeatedly. + + (break_at_finish_command_1): Rewrite and make sure + selected_frame points to a frame before using it. Fix string + termination error. + (break_at_finish_at_depth_command_1): Ditto. + + (can_use_hw_watchpoints): New static variable. + (read_memory_nobpt): Test for breakpoint type bp_none. + (insert_breakpoints): Test for breakpoint type bp_catch_exec; + insure have a current frame before getting the frame address. + (remove_breakpoints): Check for breakpoints of types bp_none, + bp_catch_fork, bp_catch_vfork, and bp_catch_exec. + (bpstat_stop_status): Fix updates of b->hit_count. + (bpstat_have_active_hw_watchpoints): New function. + (create_exec_event_watchpoint): New function. + (watch_command_1): Use can_use_hw_watchpoints. + (catch_fork_command_1): Change name of function to call from + target_create_catch_(v)fork_hook to create_(v)fork_even_catchpoint. + (delete_breakpoint): Test for already deleted breakpoints; add + support for bp_catch_fork, bp_catch_vfork, and bp_catch_exec + breakpoints. + (_initialize_breakpoint): Add can-use-hw-watchpoints to list of + user settable debugger variables. + + (clear_command): When there is no argument + to the clear command, delete all breakpoints that are hit at + default line. This will include a breakpoint whose line number + does not correspond to the default line, but has been set at + the default address. + + (delete_breakpoint): Don't call bpstat_clear_actions, instead + clear things explicitly; if clearing breakpoint_at, then also + clear any associated actions so that bpstat_do_actions won't try + to execute them. + (_initialize_breakpoint): Fix function name for bx command. + + (tbreak_command): Remove static from declaration. + (maintenance_info_breakpoints): Ditto. + + (reattach_breakpoints): New funct definition, used with with + hardware watchpoints + (breakpoint_1): Change format and add entries to bptypes[] + (maintenance_info_breakpoints): Function is no longer static + + (_initialize_breakpoint): Removed a comment. + (exception_catchpoints_are_fragile, + exception_support_initialized): Define. + (breakpoint_here_p): Fixed syntax error in conditional + (disable_watchpoints_before_interactive_call_start): Fixed call to + check_duplicates. Need a section parameter. + (enable_watchpoints_after_interactive_call_stop): Fixed call to + check_duplicates. Need a section parameter. + (breakpoint_re_set_one): Fixed call to check_duplicates. Need a + section parameter. + (delete_command): Fixed syntax error in conditional + (breakpoint_re_set): Fixed some typos. + + (args_for_catchpoint_enable): New type for handling exceptions. + (current_exception_event): New variable for handling exceptions. + (insert_breakpoints): Check for additional breakpoint types -- + bp_catch_throw, bp_catch_catch, call_disabled. Also, do some + additional work to handle an exception catchpoint. + (remove_breakpoint): There are additional breakpoint types to + check for: Bp_catch_throw, bp_catch_catch, call_disabled. Also do + some additional work to remove the exception catchpoints + (breakpoint_init_inferior): New input parameter. If there are + exception catchpoints delete them. + (breakpoint_here_p): There are additional breakpoint enable + settings to check for: Shlib_disabled, call_disabled + (breakpoint_thread_match): There are additional breakpoint enable + settings to check for: Call_disabled + (ep_is_catchpoint): There are additional breakpoint types to check + for: Bp_catch_throw, bp_catch_catch + (ep_is_exception_catchpoint): New function + (bpstat_find_step_resume_breakpoint): New function + (bpstat_do_actions): Introduce a local copy of the bpstat + structure. + (print_it_normal): There are additional breakpoint types to check + for: Bp_catch_throw, bp_catch_catch Changeing the control + structure a bit (adding else ifs) Add code to print out info about + exceptions. + (bpstat_stop_status): There are additional breakpoint enable + settings to check for: Call_disabled. there are additional + breakpoint types to chack for: Bp_catch_catch and bp_catch_throw. + Check to see if stopped due to an exception. Minor fixes to the + catch_errors calls. Make sure to count all encountered + breakpoints. There was something funky going on previously with + the counting. + (bpstat_what): Add cases for new breakpoint types: + bp_catch_catch, bp_catch_throw. + (bpstat_get_triggered_catchpoints): Check for new breakpoint types + : Bp_catch_catch, bp _catch_throw. + (breakpoint_1): Account for new breakpoint types. + (describe_other_breakpoints): Account for new breakpoint enable + setting (call_disabled) + (check_duplicates): Account for new breakpoint enable setting + (call_disabled) + (disable_breakpoints_in_shlibs): New function + (disable_watchpoints_before_interactive_call_start): New function + (mention): Account for new breakpoint types. + (break_command_1): Some additional checking for a valid PC. + (watch_command_1): Some dditional checking to prevent a watch + before a run command. + (ep_parse_optional_filename): Simplified for loop. + (create_exception_catchpoint): New function + (cover_target_enable_exception_callback): New function + (handle_gnu_4_16_catch_command): This used to be thcatch_command_1 + function.e + (create_temp_exception_breakpoint): New function + (catch_command_1): Differs from gdb 4.16 and gdb 4.17. Is now + calling catch_exception_command_1 using the EX_EVENT_CATCH and + EX_EVENT_THROW values as parameters. + (clear_command): Additional comments + (delete_breakpoint): Handle exceptions. Check for additional + breakpoint enable settings: Shlib_disabled, call_disabled. + (delete_command): Hp folks are claiming that we should not delete + shlib_event breakpoints + (breakpoint_re_set_one): Moved call to check_duplicates. Add new + breakpoint types to switch statement. + (breakpoint_re_set_thread): New function + (enable_command): Account for new breakpoint types. + + (insertion_state_t): New enumerated type. + (remove_breakpoint): New param in funct prototype. + (insert_breakpoints): Check for bp_catch_fork and bp_catch_vfork. + (remove_breakpoints): Changed call to remove_breakpoint. + (detach_breakpoints): New function. + (remove_breakpoint): New parameter, is. Also changed the + way b->inserted is set. + (ep_is_catchpoint): New function. + (ep_is_shlib_catchpoint): New function. + (print_it_normal): Check for bp_catch_load, bp_catch_unload, + bp_catch_fork, bp_catch_vfork, bp_catch_exec. Also new code + to print out catchpoints properly. + (bpstat_stop_status): Check for bp_catch_fork, bp_catch_vfork, + and bp_catch_exec. Also, some code to check for catching a + shared library load/unload. + (bpstat_what): Added catch_shlib_event to class enumeration. + Defined new macro, shlr. Expanded the bpstat_what_main_action + table. Add cases for bp_catch_load, bp_catch_unload, + bp_catch_fork, bp_catch_vfork, and bp_catch_exec. + (bpstat_get_triggered_catchpoints): New function. + (breakpoint_1): Changes to bptypes definition. Also check for + bp_catch_load, bp_catch_unload, bp_catch_fork, bp_catch_vfork, + bp_catch_exec. Similar changes to the switch statement. + (set_raw_breakpoint): Initialize new breakpoint structure fields. + dll_pathname, triggered_dll_pathname, forked_inferior_pid, + exec_pathname. + (create_solib_load_unload_event_breakpoint): New function. + (create_solib_load_event_breakpoint): New function. + (create_solib_unload_event_breakpoint): New function. + (create_fork_vfork_event_catchpoint): New function. + (create_fork_event_catchpoint): New function. + (create_vfork_event_catchpoint): New function. + (mention): New cases for bp_catch_load, bp_catch_unload, + bp_catch_fork, bp_catch_vfork, bp_catch_exec. + (ep_skip_leading_whitespace): New function. + (ep_find_event_name_end): New function. + (ep_parse_optional_if_clause): New function. + (ep_parse_optional_filename): New function. + (catch_fork_kind): New enumerated type. + (catch_fork_command_1): New function. + (catch_exec_command_1): New function. + (catch_load_command_1): New function. + (catch_unload_command_1): New function. + (catch_throw_command_1): New function. + (catch_command_1): Now calls catch_throw_command_1. + (tcatch_command): New function. + (delete_breakpoint): Changed call to remove_breakpoint. + Also free the new fields in the breakpoint structure. + (breakpoint_re_set_one): Handle bp_catch_load, bp_catch_unload, + bp_catch_fork, bp_catch_vfork, bp_catch_exec. + (disable_command): Handle bp_catch_load, bp_catch_unload, + bp_catch_fork, bp_catch_vfork, bp_catch_exec. + (enable_command): Handle bp_catch_load, bp_catch_unload, + bp_catch_fork, bp_catch_vfork, bp_catch_exec. + (_initialize_breakpoint): Alter add_com call for catchpoints, + add add_com call for watchpoints. + + * breakpoint.h (enum bptype): New entries bp_catch_catch, + bp_catch_throw, and bp_none, bp_catch_load, bp_catch_unload, + bp_catch_fork, bp_catch_vfork,bp_catch_exec. Add declarations for + new functions bpstat_have_active_hw_watchpoints and + create_exec_event_catchpoint. + (tbreak_command): Add prototype. + (update_breakpoints_after_exec): Add prototype; update comments. + (reattach_breakpoints): New funct prototype declaration. + (enable): New enumerated value call_disabled. + (bpstat_find_step_resume_breakpoint): New funct decl. + (inf_context): New enumerated type. + (breakpoint_re_set_thread): New funct decl. + (breakpoint_init_inferior): New parameter. + (disable_watchpoints_before_interactive_call_start): New funct decl. + (enable_watchpoints_after_interactive_call_stop): New funct decl. + (disable_breakpoints_in_shlibs): New funct decl. + (struct breakpoint): New fields, dll_pathname,triggered_dll_pathname, + forked_inferior_pid,exec_pathname BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK. + (bpstat_get_triggered_catchpoints): New function. + (detach_breakpoints): New function. + (create_solib_load_event_breakpoint): New function. + (create_solib_unload_event_breakpoint) New function. + (create_fork_event_catchpoint): New function. + (create_vfork_event_catchpoint): New function. + (ep_is_catchpoint): New function. + (ep_is_shlib_catchpoint) New function. + (enum bpstat_what_main_action): New entry. + + * buildsym.c (finish_block): Get rid of processing_hp_compilation; + handle LOC_INDIRECT case. Set the BLOCK_GCC_COMPILED to the right + compiler. + (push_context): Add symbols for parameters to the context_stack. + (merge_symbol_lists): New function. Merges two symbol lists. + (struct context_stack): Add new field param. + + (processing_hp_compilation): New external var. + + * c-exp.y: Use external flag hp_som_som_object_present to decide + whether code was compiled by HP's compilers. Add two new C++ + tokens for true and false. + (yylex): Check for template name is done differently for the + HP/aCC compiler case; change some of the template processing code + for handling HP aCC templates. + + * c-lang.c (c_create_fundamental_type): Added case to handle + template args. Handle FT_BOOLEAN type. Set no sign flag for + FT_CHAR. + (cplus_builtin_types): New structure for c++ builtin types. + (cplus_language_defn): Use cplus_builtin_types instead of + c_builtin_types. + + * c-typeprint.c (c_type_print_base): Don't print 'privete' label + for a class if all members are private, similarly don't print + 'public' for a struct. Add support for sized enums (HP/aCC). get + rid of the 'static' keyword printed by the demangler for member + function, when printing the type of a class. 'static' will be + added by this function. If the demangled name is null, and the + method is not stubbed, get the signature by looking at the + information stored in the symbol structure. Remove printing of + 'const' and 'volatile' keywords for methods. This is now taken + care as part of the demangled member names. + (cp_type_print_method_args): New function. To print a C++ method + arguments and name to the output stream. + + (c_type_print_cv_qualifier): New function. Print out "const" and + "volatile" attributes. + (c_type_print_varspec_prefix): Print const or volatile qualifiers. + (c_type_print_args): Print 'void' for c++. + (c_type_print_varspec_suffix): Print 'void' for a no argument + function. + (c_type_print_base): Print const or volatile qualifiers. Do not + print 'unnamed union' if HP aCC compiler used. Distinguish + between struct and class based on the DECLARED_TYPE. Handle + HP/aCC compiler case for not printing vtable. Add Template + support. + + (cp_type_print_derivation_info): Print out 'protected' when + appropriate. This applies only to HP's compilers, not gcc. + + (c_val_print): Added parameter embedded_offset. Add + embedded_offset to valaddr in function calls; fix calls to + val_print and cp_print_value_fields. process TYPE_CODE_METHOD as + well. moved call to check_typedef out of conditional. added + embedded offset param to val_print call. + + (c_value_print): Add new parameter to call to val_print. + handle pointer to class case. Attempt to + determine the real type of the object to be printed. + ensure that const char *, const unsigned char * + come out without the type but the volatile variants + and the signed variants don't. + + * coff-solib.c (coff_solib_add): Add parameters to call + to symbol_file_add. + + * coff-solib.h: (Solib_REMOVE_INFERIOR_HOOK): New macro. defined + to 0. functionality not implemented for coff. + (SOLIB_CREATE_CATCH_LOAD_HOOK): New macro, generate error message + for coff. + (SOLIB_CREATE_CATCH_UNLOAD_HOOK): Ditto. + (SOLIB_HAVE_LOAD_EVENT): Ditto. + (SOLIB_LOADED_LIBRARY_PATHNAME): Ditto. + (SOLIB_HAVE_UNLOAD_EVENT): Ditto. + (SOLIB_UNLOADED_LIBRARY_PATHNAME): Ditto. + (SOLIB_IN_DYNAMIC_LINKER): Ditto. + (SOLIB_RESTART): Ditto. + + * command.c (find_cmd): New function. (lookup_cmd_1): Call it, + change parsing if tui_version or xdb_commands is set. + (_initialize_command): Install new alias if xdb_commands is set. + + * complaints.h: Add ifdef...endif pair at beginning and end of file. + + * config.in, configure: Regenerated. + + * config/pa/hppabsd.mh (NATDEPFILES): Added new files + hp-psymtab-read.o and hp-symtab-read.o. + * config/pa/hppahpux.mh (NATDEPFILES): Ditto. + + * config/pa/hppahpux.mh (TERMCAP): Use -lHcurses. + * config/pa/hppaosf.mh (NATDEPFILES): Ditto. + + * config/pa/hpux1020.mh (TERMCAP): Use -lHcurses. + (MH_CFLAGS): New flag, -D__HP_CURSES, this define + is used by HP's linker to find the correct curses library. + + * config/pa/hpux1020.mh: New file. + + * config/pa/hpux1020.mt: New file. + + * config/pa/hpux1100.mh (TERMCAP): Link against -lcurses, not + -lHcurses. The latter does not contain mvwaddstr, wscrl, or + wstbwlmkfzz. + + * config/pa/hpux1100.mh (TERMCAP): Use -lHcurses. + (MH_CFLAGS): New flag, -D__HP_CURSES, this define + is used by HP's linker to find the correct curses library. + + * config/pa/hpux1100.mh (TERMCAP): When hosting on hpux 11.00, use + -lHcurses rather than -lcurses. + + * config/pa/hpux1100.mh: New file. + + * config/pa/hpux1100.mt: New file. + + * config/pa/nm-hppah.h (CHILD_HAS_SYSCALL_EVENT): New macro + (CHILD_THREAD_ALIVE): New macro + (STOPPED_BY_WATCHPOINT): Add a condition to the macro, + ! stepped_after_stopped_by_watchpoint + (TARGET_ENABLE_HW_WATCHPOINTS): New macro + (hppa_enable_hw_watchpoints): New funct decl + (TARGET_DISABLE_HW_WATCHPOINTS): New macro + ( hppa_disable_hw_watchpoints): New funct decl + these are for HP's implementation of fast + watchpoints (via page protection). + (target_pid_to_str): New macro, calls hppa_pid_to_str + (target_tid_to_str): New macro, calls hppa_tid_to_str + + * config/pa/nm-hppah.h (CHILD_POST_WAIT): Delete; + (CHILD_CREATE_CATCH_FORK_HOOK): Replace with + CHILD_INSERT_FORK_CATCHPOINT and CHILD_REMOVE_FORK_CATCHPOINT. + (CHILD_CREATE_CATCH_VFORK_HOOK): Replace with + CHILD_INSERT_VFORK_CATCHPOINT and CHILD_REMOVE_VFORK_CATCHPOINT. + (CHILD_CAN_FOLLOW_VFORK_PRIOR_TO_EXEC, + CHILD_INSERT_EXEC_CATCHPOINT, CHILD_REMOVE_EXEC_CATCHPOINT, + CHILD_HAS_EXECD, CHILD_REPORTED_EXEC_EVENTS_PER_EXEC_CALL, + CHILD_POST_ATTACH, TARGET_HAS_HARDWARE_WATCHPOINTS, + TARGET_CAN_USE_HARDWARE_WATCHPOINT, + TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT, + TARGET_RANGE_PROFITABLE_FOR_HW_WATCHPOINT, STOPPED_BY_WATCHPOINT, + HAVE_NONSTEPPABLE_WATCHPOINT, target_insert_watchpoint, + target_remote_watchpoint): New macros. + + * config/pa/nm-hppah.h (CHILD_XFER_MEMORY): Reinsert accidentally + deleted define. + + * config/pa/nm-hppah.h: + (PREPARE_TO_PROCEED): Defined macro to use + hppa_prepare_to_proceed. + (hppa_pid_to_str): Extern decl. + (hppa_tid_to_str): Extern decl. + (target_pid_or_tid_to_str): New macro definition. + (hppa_pid_or_tid_to_str): Extern decl. + (ENSURE_VFORKING_PARENT_REMAINS_STOPPED): New macro - for + handling events caused by a call to vfork. + (hppa_ensure_vforking_parent_remains_stopped): Extern decl. + (RESUME_EXECD_VFORKING_CHILD_TO_GET_PARENT_VFORK): New macro - + for handling events caused by a call to vfork. + (hppa_resume_execd_vforking_child_to_get_parent_vfork): Extern decl. + + * config/pa/nm-hppah.h: Fix PREPARE_TO_PROCEED macro. + + * config/pa/nm-hppah.h: Fix for gcc compile on HPUX, change + PT_RDUAREA to PT_RUAREA. + + * config/pa/nm-hppah.h: Introduced an HPUXHPPA define. + A bit of a hack so that I can ifdef some code that + only works for the HP wildebeest debugger. + + * config/pa/nm-hppah.h: Lots of new CHILD_ defines; + process_event_kind enum. + + * config/pa/tm-hppa.h (BREAKPOINT32): New define. + (CALL_DUMMY_HAS_COMPLETED): New define. + + * config/pa/tm-hppa.h (STACK_ALIGN): New macro. + (NO_EXTRA_ALIGNMENT_NEEDED): New macro. + (PC_REQUIRES_RUN_BEFORE_USE): New macro. + (REGISTER_NAMES): Formatting in file changed. + (CR27_REGNUM): Base register for thread local storage. + (USE_STRUCT_CONVENTION): New macro used to decide whether + a function returning a value of type type will + put it on the stack or into registers (based on the + PA risc calling conventions). + (EXTRACT_RETURN_VALUE): Fixed calculation for extracting return value. + (VALUE_RETURNED_FROM_STACK): New macro. + (TARGET_READ_PC): Declared the function used in the definition. + (SKIP_TRAMPOLINE_CODE): Declared the function used in the definition. + (TARGET_WRITE_PC): Declared the function used in the definition. + (TARGET_READ_FP): Declared the function used in the definition. + + * config/pa/tm-hppa.h (STRCAT_REGISTER): Define macro for + future use. + (pa_do_strcat_registers_info): Moved function decl from + defs.h to this HPUX specific .h file. + + * config/pa/tm-hppa.h (USE_STRUCT_CONVENTION): Type_LENGTH returns + bytes, not bits; fix off by 8 error. + + * config/pa/tm-hppa.h: + New comment for obj_unwind_info definition + New typedef, obj_private_struct + + * config/pa/tm-hppa.h: Delete most target_ macros -- use default + versions instead; remove extraneous comma from proc_wait macro. + + * config/pa/tm-hppa.h: Get rid of macro HP_COMPILED_TARGET. + + * config/pa/tm-hppa.h: Removed redefinitions of + USE_STRUCT_CONVENTION and STACK_ALIGN macros. + + * config/pa/tm-hppa.h: Some new definitions + New macros: Arg0_REGNUM, ARG1_REGNUM, ARG2_REGNUM, ARG3_REGNUM. + target_pid_to_exec_file, target_acknowledge_forked_child, + target_create_catch_fork_hook, target_create_catch_vfork_hook, + target_has_forked, target_has_vforked, require_attach, + require_detach, proc_wait + New funct decls: Hppa_pid_to_exec_file, + hppa_acknowledge_forked_child, hppa_create_catch_fork_hook, + hppa_create_catch_vfork_hook, hppa_target_has_forked, + hppa_target_has_vforked, hppa_require_attach, + hppa_require_detach, process_wait + (unwind_table_entry): Added comments to describe struct fields. + + * config/pa/tm-hppah.h (somsolib.h): Include it. + + * config/pa/tm-hppah.h: + (CHILD_ENABLE_EXCEPTION_CALLBACK): New define + (CHILD_GET_CURRENT_EXCEPTION_EVENT): New define + + * configure.host (hppa-*-hpux10.20, hppa-*-hpux11.0*): New configs. + + * configure.in (AC_CHECK_HEADERS): Add check for term.h. + + * configure.in: Add an --enable-tui argument. + + * configure.in: Construct tui/Makefile from tui/Makefile.in. + + * configure.in: Use AM_PROG_CC_STDC. If we have the GUI, then we + need this to process libgui.h. + + * convex-tdep.c (decout): Change FILE to GDB_FILE. + + * corefile.c: Include objfiles.h, symfile.h. + (core_file_command): Attempt to determine the name of the symbol + file from the core file. + (read_memory_string): New function. + + * corefile.c (core_file_command): Temporary hack to make non-hpux + work. For, non-hpux, t->to_core_file_to_sym_file does not have a + reasonable value. No target_ops vector on the stack gives it a + non-zero value. fix later. + + * corelow.c (core_file_to_sym_file): Added new local variable, + failing command, and do some explicit type castings. + (core_ops): Add three new fields: to_has_syscall_event, + to_enable_exception_callback, to_get_current_exception_event. + Necessary since we still have oldstyle initialization in + this file + + * corelow.c: Include unistd.h + (core_file_to_sym_file): New function + (core_file_thread_alive): New function + (core_ops): Added new target ops vector fields. see below. And + yes we definitiely need to initialize them here, as long as + we're using static initialization. + + * cxux-nat.c (add_shared_symbol_files): Additonal params for calls + to symbol_file_add. + + * defs.h (gdb_file_isatty): New function decl. + + * defs.h (GDB_FILE): If TUI is defined, define a structure rather + than making this an alias for FILE. + (gdb_stdout, gdb_stderr): If TUI is defined, then define these + as pointers to variables of type GDB_FILE rather than making them + be aliases for stdout and stderr. + + * defs.h (TUIDO): Add definition conditionalized on definition + (or lack thereof) of TUI. + + * defs.h (command_class): Add two additional values. + (precision_type): New enum. + + * defs.h (gdb_fclose): Add declaration. + + * defs.h (store_address): Change prototype to match function. + + * defs.h (tui_version, xdb_commands, dbx_commands): Add decl's. + + * defs.h (gdb_file_deallocate): New function declaration + + * defs.h: + (streamtype): New enumerated type to distinguish between + output to a FILE and output to a buffer. + (tui_stream): New struct type, named GDB_FILE. Contains, + streamtype, FILE, buffer, and bufferlength fields. + (gdb_stdout): Of type GDB_FILE, will pass this around gdb + rather than stdout. + (gdb_stderr): Of type GDB_FILE, will pass this around gdb + rather than stderr. + (fputs_unfiltered_hook): Change stream parameter from FILE to + GDB_FILE + (flush_hook): Change stream parameter from FILE to GDB_FILE + (gdb_fclose): Fix declaration for gdb_fclose; parameter is now of + type GDB_FILE ** + (gdb_file_adjust_strbuf): New function declaration. function lives in + utils.c. + (gdb_file_init_astring): New function declaration. function lives + in utils.c + (gdb_file_get_strbuf): New function declaration. function lives + in utils.c + + * defs.h: Additional include files included when TUI is defined. + + * defs.h: Funct decl source_full_path_of. + + * demangle.c: Add HP_DEMANGLING_STYLE_STRING. + + * demangle.c: Added new demangling style, EDG_DEMANGLING_STYLE_STRING, + to the demanglers structure. This is for support of + Kuck & Assoc.'s changes for demangling. + + * eval.c (evaluate_subexp_standard): C++ member function changes. + + * eval.c (evaluate_subexp_standard): Verify TYPE_TARGET_TYPE is + non NULL before dereferencing it. + + * eval.c (evaluate_subexp_standard): With HP/aCC compiler it is not possible + to perform inferior calls via function pointers. + Resolve calls to overloaded functions using find_overload_match. + We cannot handle HP/aCC pointers to member functions. + Deal with HP/aCC pointers to members in various kind of expressions. + + * f-lang.c (f_printchar): Change FILE to GDB_FILE. + (f_printstr): Ditto. + (emit_char): Ditto. + + * f-lang.c (f_printstr): Change stdout to gdb_stdout. + + * f-typeprint.c (f_print_type): Change FILE to GDB_FILE. + (f_type_print_varspec_prefix): Ditto. + (f_type_print_args): Ditto. + (f_type_print_varspec_suffix): Ditto. + (print_equivalent_f77_float_type): Ditto. + (f_type_print_base): Ditto. + + * findvar.c (): Hp snapshot 3 changes. (extract_address): Coerce + return value from extract_unsigned_integer to CORE_ADDR. + (store_address): Change val from CORE_ADDR to LONGEST; changes to + support machines where CORE_ADDR and LONGEST are different sizes. + (get_saved_register): Coerce arg to store_address to LONGEST. + (read_relative_register_raw_bytes): Cast last arg to + store_address to LONGEST. (read_register): Cast return from + extract_address to a CORE_ADDR. (write_register_pid): Change val + from LONGEST to CORE_ADDR. (read_pc_pid): Save and restore + inferior_pid if necessary. (write_pc_pid): Ditto. + (read_var_value): Cast arg to store_address. + + * findvar.c (read_relative_register_raw_bytes_for_frame): New + function. + (read_relative_register_raw_bytes): Call it. + + * findvar.c (symbol_read_needs_frame): Handle LOC_THREAD_LOCAL_STATIC and + LOC_INDIRECT. + + * fork-child.c (fork_inferior): Chenge fifth parameter to be a + function returning void. + + * fork-child.c (fork_inferior): Delete unused variable f. + + * fork-child.c: + (Startup_WITH_SHELL): New macro -- interim fix for a bug + (breakup_args): New function -- breaks up an argument string into + an argument suitable for passing into execvp(). + (fork_inferior): Handling problems with starting up gdb with a shell. + -- again, this appears to be an interim fix. + + * fork-child.c: + (fork_inferior): Added a comment + (clone_and_follow_inferior): New function. + (startup_inferior): Minor formatting changes. + + * fork-child.c: + (fork_inferior): Hp change is problematic. The -f option has + different meanings for different shells. It is particularly + inappropriate for bourne shells. + + * fork-child.c: + (fork_inferior): Added new parameter, pre_trace_fun. + pre_trace_fun is a function pointer. For some targets, + like HPUX, this function gets called to prepare for forking + a child. + + * fork-child.c: + (fork_inferior): Fixed call to init_trace_fun + + * fork-child.c: + Moved definition of STARTUP_WITH_SHELL to inferior.h + Added a DEBUGGING macro. Currently set to 0. May remove + later. + breakup_args: Add DEBUGGING ifdefs. more sophisticated + parsing to break up args. + (fork_inferior): Rename kshell variable to shell. new local + variable, tryname. Make use of STARTUP_WITH_SHELL macro. + More error processing if starting up with a shell. + (startup_inferior): Distinguish between starting up with a shell + and not doing so. + + * gdbthread.h: + Declarations for load_infrun_state and save_infrun_state take + an additional parameter. + + * gdbthread.h: Note that sometime between gdb 4.16 and 4.17, + thread.h was renamed gdbthread.h + (load_infrun_state): Additional parameters + (store_infrun_state): Additional parameters + + * gdbthread.h: Include breakpoint.h + + * hp-psymtab-read.c (QUICK_LOOK_UP): Redefine to be 0. + (hpread_build_psymtabs): Deal with enums. + (hpread_start_psymtab): Include section offset. + (hpread_end_psymtab): Take care of offset. + + * hp-psymtab-read.c (TRUE): Define. + (FALSE): Define. + (file_exists): New function. Checks for existance of file. + (hpread_pxdb_needed): Rewrite. + (hpread_quick_traverse): Use correct demangling style. + Handle F77 case. + (hpread_get_header): Rewrite. + (hpread_get_textlow): Add support for DOC_FUNCTION. + (hpread_build_psymtabs): Make sure we do the right thing + for pxdb and F77. + + * hp-psymtab-read.c (hpread_pxdb_check): Change parenthesis positions. + + * hp-psymtab-read.c (hpread_quick_traverse): Compare CORE_ADDR + variable end_addr to 0 instaed of NULL to get rif of gcc warning. + + * hp-psymtab-read.c: + (Hpread_get_textlow): Added param to function + Defined convennience macros and some datatypes and variables for + processing the quick lookup-tables. Looks like the code existed + before, but has been munged. + (hpread_pxdb_needed): Major rearrangements of code. Additional local + variables. Also, more extensive checking for various scenarios: + debug info for optimized code vs. unoptimized code, pxdb has been + run vs. pxdb has not been run. + (VALID_FILE): New macro + (VALID_MODULE): New macro + (VALID_PROC): New macro + (VALID_CLASS): New macro + (FILE_START): New macro + (MODULE_START): New macro + (PROC_START): New macro + (FILE_END): New macro + (MODULE_END): New macro + (PROC_END): New macro + (FILE_ISYM): New macro + (MODULE_ISYM): New macro + (PROC_ISYM): New macro + (VALID_CURR_FILE): New macro + (VALID_CURR_MODULE): New macro + (VALID_CURR_PROC): New macro + (VALID_CURR_CLASS): New macro + (CURR_FILE_START): New macro + (CURR_MODULE_START): New macro + (CURR_PROC_END): New macro + (CURR_FILE_ISYM): New macro + (CURR_MODULE_ISYM): New macro + (CURR_PROC_ISYM): New macro + (TELL_OBJFILE): New macro + (pst_syms_struct): New typedef to keep track of the start/end symbol + table (LNTT) indices of psymtabs created so far. + (pst_syms_count): New variable + (pst_syms_size): New variable + (told_objfile): New variable + (init_pst_syms): New function. sets up psymtab symbol index stuff. + (clear_pst_syms): New function. clean up psymtab symbol index stuff. + (record_pst_syms): New function. add info about newest psymtab to symbol + index table. + (find_next_pst_start): New function. Find a suitable symbol table index. + (find_next_file_isym): New function + (find_next_proc_isym): New function + (find_next_module_isym): New function + (scan_procs): New function. Scan and record partial symbols for all + functions starting from specified index and in a specified code range. + (hpread_quick_traverse: Major rearrangement of code. The function + now uses all the nifty macros. There are some new local variables. + Check for EDG_DEMANGLING style. ifdef out some code for handling F77. + Previously, the function looped over all the modules in the table. + Now, the function loops over all the files, modules, and procedures. + With HP aCC and CTTI, it is possible for a compiled object to have a + file and no module. + (hpread_build_psymtabs): Added a section of code ifdefed by + QUICK_LOOK_UP. It check to see whether or not there are any globals + in the executable. Fix number of params to hpread_start_psymtab call. + Some changes to the way DNTT_TYPE_MODULE is handled. + (hpread_get_textlow): Change in signature, minor code changes. The + function finds the low address associated with a specified symbol. + In looking for the address for the symbol avoid going of the end of + the LNTT file. + + * hp-psymtab-read.c: Change TRUE to 1 and FALSE to 0. Do some + reformatting. + + * hp-psymtab-read.c: Include demangle.h + (trans_lang): New function to let gdb know the correct language. + (hpread_quick_traverse): Use ARM style demangling. + Demangle procedures names. + Use gdb language names instead of hp language names. + Add symbol to list using its demangled name. + + * hp-psymtab-read.c: New file. + (hpread_call_pxdb): New function. Call PXDB to process our file. + (hpread_pxdb_check): New function. Return TRUE if the file needs + pre-processing by PXDB and we have thus called PXDB to do this + processing and the file needs to be re-loaded. + (hpread_quick_traverse): New function. Traverse the quick look-up + tables, building a set of psymtabs. + (hpread_get_header): New function. Get appropriate header from obj + file, based on pxdb type + (hpread_symfile_init): No change from hpread.c + (hpread_build_psymtabs): If there are quick lookup tables, read those, + then scan the global section LNTT. Otherwise, just scan the whole LNTT. + Changed: Add a global function entry to the global partial symbol list. + Handle end of symbols, for QLT case. + In case of TAGDEF, if it is a class or a template, add the name to the + var_namespace, so that it is known as a type by gdb. + In case of CONSTANT, and it is global, add it to the globals. + (hpread_symfile_finish): No change from hpread.c + (hpread_get_lntt): Make it not static + (hpread_get_gntt): No change from hpread.c + (hpread_get_slt): Make it not static + (hpread_get_textlow): No change from hpread.c + (hpread_start_psymtab): No change from hpread.c + (hpread_end_psymtab): No change from hpread.c + + * hp-symtab-read.c (hpread_get_scope_start): Renamed. It was + hpread_get_depth. + (hpread_type_translate): Distinguish between signed and unsigned char + types. + (hpread_psymtab_to_symtab): Set flag for hp compilation. + (hpread_read_function_type): Append symbols for parameters to local + list as well as to the global list. Get the parameters types from the + local list instead of the global list. + (hpread_read_struct_type): Add new field num_fn_fields to next_fn_field + structure. Rewrite handling of templates + (hpread_type_lookup): Change handling of dntt_type_modifier. + (hpread_process_one_debug_symbol): Call hpread_get_scope_start instea + of hpread_get_depth. Handle enum as well. + (hpread_get_scope_depth): New function. Get nesting depth for a + DNTT entry. + + * hp-symtab-read.c (hpread_psymtab_to_symtab): Set + processing_gcc_compilation to 0. + + * hp-symtab-read.c (hpread_psymtab_to_symtab_1): Change stdout to + gdb_stdout; change fflush to gdb_flush. + (hpread_psymtab_to_symtab): Change fflush to gdb_flush. + + * hp-symtab-read.c (hpread_read_enum_type): Declare variable. + (hpread_read_struct_type): Eliminate references + to 'args' member of fn_field. + + * hp-symtab-read.c (hpread_read_struct_type): A static member + is now indicated by the bitsize field, not the bitpos. + Initialize physname to empty. + (fix_static_member_physnames): Use new macros to deal with + physnames. + + * hp-symtab-read.c (hpread_read_struct_type): Change references + to bitpos member of struct field to use the FIELD_BITPOS macro. + + * hp-symtab-read.c (hpread_read_struct_type): Comment out reference to + obsolete field fn_field.args. + Add struct complaint definitions for complaints. + (hpread_read_struct_type): Change call to complain. + (hpread_read_array_type): Change call to complain. + (hpread_type_lookup): Change call to complain. + (hpread_process_one_debug_symbol): Change calls to complain. + (hpread_type_translate): Change calls to complain. + + * hp-symtab-read.c (hpread_read_struct_type): Make sure bitvector + has been allocated before calling has_vtable. + + * hp-symtab-read.c (hpread_read_struct_type): Revert change, + just check for vtable without checking for bitvectors too. + + * hp-symtab-read.c: + (Hpread_expand_symtab): Change name of local variable from + at_end_of_module to at_module_boundary. + Also, if demangling style is already EDG, do not reset it + to the HP demangling style. + Change at_end_of_module param to hpread_process_one_debug_symbol + call to at_module_boundary. + No longer break out of loop when reach end of module. With CTTI, + the compiler can generate function symbols which are not in + any module. Typically they show up after the end of one + module and before the start of the next module. + (hpread_read_struct_type): Check that the debug info for + a TEMPLATE_ARG is correct. + (hpread_process_one_debug_symbol): Change name of at_end_of_module_p + param to at_module_boundary_p. + Also set *at_module_boundary_p = -1 if missing a module end and set + it to 1 when finished expanding the debug info. + Handle TLS variable. + + * hp-symtab-read.c: Include defs.h, symtab.h, gdbtypes.h, complaints.h. + (fixup_class): New static variable. + (fixup_method): New static variable. + (hpread_get_location): Rewrite. + (hpread_has_name): Add cases for DNTT_TYPE_DOC_FUNCTION and + DNTT_TYPE_DOC_MEMFUNC + (hpread_expand_symtab): Use HP demangling style. + Set hp_som_som_object_present to 1. + (hpread_type_translate): Error out if not immediate. Issue warning + if there is an unhandled type code. + (error_in_hpread_type_translate_complaint): Remove this structure. + (hpread_read_enum_type): Don't assume size of enum is always 4 bytes. + (hpread_read_function_type): Add new parameter to indicate a new block. + Do not add the parameters to the symbol list. + If the type was read in earlier, do not modify the type structure. + If we are creating a new block, set the local symbol list to be the + param list. + Need to mark this type as preprocessed. + (hpread_read_doc_function_type): New function. Read and internalize + a native DOC function debug symbol. + (hpread_read_struct_type): A method can be of type doc_function and + doc_memfunc too. + Handle case in which a method is read before its class. Deal with + incomplete method types. + Handle cases in which HP/aCC compiler creates operator names w/o + the 'operator' keyword. Rewrite the loop over the fileds. + (fix_static_member_physnames): New function. Adjust the physnames for + each static member. + (fixup_class_method_type): New function. Fix-up the type structure for a + class. + (hpread_read_array_type): Change complaint to warning. + (hpread_type_lookup): Add case for DNTT_TYPE_DOC_FUNCTION. + For structures/classes set static member to point to strings with full + names. + Change calls to hpread_read_function_type to pass extra parameter. + (hpread_record_lines): Handle case for SLT_NORMAL_OFFSET. + (class_of): New function. Given a function "f" which is a member of a class, + find the classname that it is a member of. + (hpread_process_one_debug_symbol): Deal with possible alias field from the + som record for the Function or Entry type. + Do the demangling ourselves if the gdb demangler failed. + Add support for DOC functions. + For function types, add parameters to local list. + (hpread_get_scope_depth): Make this function a no-op. + (hpread_adjust_bitoffsets): New function. Adjust the bitoffsets for all + fields of an anonymous union. + (hpread_get_next_skip_over_anon_unions): New function. Skip over anonymous + unions. + + * hp-symtab-read.c: Include demangle.h + (hpread_expand_symtab): Ensure we are using ARM-style demangling. + (hpread_process_one_debug_symbol): Set the mangled and demangled + names for functions. + Record the class name to generate the demangled names of member + functions. + + * hp-symtab-read.c: New file. + (hpread_get_depth): No change from hpread.c + (hpread_get_line): No change from hpread.c + (hpread_get_location): No change from hpread.c + (hpread_has_name): Make it not static. Return 1 for DNTT_TYPE_BLOCKDATA + and DNTT_TYPE_MEMFUNC. Return 0 for CLASS_SCOPE, REFERENCE,PTRMEM, + PTRMEMFUNC, CLASS, GENFIELD, VFUNC, MEMACCESS, INHERITANCE, + FRIEND_CLASS, FRIEND_FUNC, MODIFIER, OBJECT_ID, TEMPLATE, TEMPLATE_ARG, + FUNC_TEMPLATE, LINK. + (hpread_psymtab_to_symtab_1): No changes from hpread.c + (hpread_psymtab_to_symtab): Make it a static function + (hpread_expand_symtab): Modified + (hpread_type_translate): If not typep.dntti.immediate do not abort, + but complain and return. Same for default action. Handle more HP_TYPEs. + (hpread_lookup_type): Initially allocate a correct-size type-vector. + (hpread_alloc_type): Reset type_addr only if a type was allocated. + (hpread_read_enum_type): If this has already a type associated, return. + (hpread_read_function_type): Do different things depending on whether + function is a MEMFUNC, a TEMPLATE, a FUNCTION som record. + Do not use the LOC_REGPARM_ADDR symbol class. + (hpread_read_struct_type): Handle classes and templates too. Major + rewrite. + (hpread_get_nth_template_arg): New function. + (hpread_read_templ_arg_type): New function. + (hpread_read_set_type): No change from hpread.c + (hpread_read_array_type): Modified + (hpread_read_subrange_type): Add handling of more DNTT entries. + added support for templates, classes, references, virtual functions. + (hpread_type_lookup): Handle DNNT_TYPE_MODULE. + (hpread_record_lines): No changes from hpread.c + (hpread_process_one_debug_symbol): Handle WITH, COMMON, + CLASS_SCOPE. Expand TAGDEF case to handle classes and templates. + + * hppa-tdep.c (pa_do_strcat_registers_info): Has a new parameter, + precision, which is passed into the call to pa_strcat_fp_reg to + indicate whether to display the floating point registers using + single or double preceision. + (pa_strcat_registers): Introduce local variable, precision, and + pass it into call to pa_strcat_fp_reg. + (pa_strcat_fp_reg): Modified function. New parameter, precision, + used by function to decide whether to use single or double + precision. Also added the code to put a double precision value + into a buffer. + + * hppa-tdep.c: Add'l includes , + , declare pa_register_look_aside, define is_pa_2. + (rp_saved): Check for where to read the return pointer from. + (pa_do_registers_info): Handle is_pa_2. (pa_register_look_aside): + new function. (pa_print_registers): Handle is_pa_2. + (in_solib_call_trampoline): Handle a compiler/linker error. + (skip_trampoline_code): Changes to some masks used in examining + instructions. (inst_saves_fr): Test for FSTWS instruction. + (skip_prologue): Renamed to skip_prologue_hard_way. + (after_prologue): New function. (skip_prologue): New function. + + * hppa-tdep.c (after_prologue): If f is NULL, don't dereference + it. + + * hppa-tdep.c (after_prologue): If no debug info, return zero + telling caller that we need to find the end of the prologue via + the hard way (instruction examination). + + * hppa-tdep.c (find_unwind_entry): Avoid dereferencing a null + pointer. + + * hppa-tdep.c (hppa_pid_to_exec_file): Deleted -- no longer used. + + * hppa-tdep.c (hppa_prepare_to_proceeed): Add prototype. + (read_unwind_info): Purecov comments, bug fixes. + (find_unwind_entry): Purecov comments, bug fixes. + (find_stub_with_shl_get): Purecov comments. + (frame_chain): Additional parens. + (hppa_push_arguments): Changes to commented out version of routine. + (hppa_fix_call_dummy): Purecov comments, fix location of end.o. + (in_solib_call_trampoline): Purecov comments. + (in_solib_return_trampoline): Purecov comments. + (setup_d_pid_in_inferior): Fix location of end.o. + (initialize_hp_cxx_exception_support): Fix location of end.o. + (child_enable_exception_callback): Purecov comments. + + * hppa-tdep.c: + (Pa_do_strcat_registers_info): New routine. called by + tui/tuiRegs.c:_tuiRegisterFormat to place a register name + and value into a string buffer. Interface may change in + future. Checking this in so that we have something + functional for HP. + (pa_strcat_registers): New routine, called by + pa_do_strcat_registers_info. Does same thing as + pa_print_registers except it takes a stream parameter. + This routine should disappear in future. Checking in + so that we have something functional to give HP + (pa_strcat_fp_reg): New routine, called by + pa_do_strcat_registers_info and pa_strvat_registers + to place a floating point register name and value into + a buffer. This interface may change in future. + Checking in so that we have something functional to give HP. + + * hppa-tdep.c: (Pa_print_fp_reg): Change prototype to match def'n. + (pa_register_look_aside): Fix comment immediately before function. + + * hppa-tdep.c: Changes to better support stack unwinding, + reading and writing registers for HPUX. The HP folks had + an advantage ... access to a runtime architecture spec ;-}. + New includes: Ptrace.h + (internalize_unwinds): Initialize new fields in table. + (read_unwind_info): Entries in the table are now more complex + structures. References of the form ...->table[index].stub_type + are now ...->table[index].stub_unwind.stub_type. + (find_proc_framesize): Added a check for pc == 0. + (rp_saved): Entries in the table are now more complex + structures. References of the form ...->table[index].stub_type + are now ...->table[index].stub_unwind.stub_type. + (frameless_function_invocation): Stub_type becomes + stub_unwind.stub_type + (saved_pc_after_call): Stub_type becomes stub_unwind.stub_type + (hppa_frame_saved_pc): Stub_type becomes stub_unwind.stub_type + (frame_chain_valid): Stub_type becomes stub_unwind.stub_type + (hppa_call_dummy): Stub_type becomes stub_unwind.stub_type + (pa_print_fp_reg): Additional params to call val_print + (in_solib_call_trampoline): Stub_type becomes stub_unwind.stub_type + (in_solib_return_trampoline): Stub_type becomes stub_unwind.stub_typ + (skip_trampoline_code): Additional code to handle external + dyncalls. Also stub_type becomes stub_unwind.stub_type + (hppa_pid_to_exec_file): New funct. FOr HPUX 10.0 and beyond there + is an explicit ptrace request for getting the pathname associated + with a process id (pid). + + * hppa-tdep.c: Fix for gcc compile on HPUX + (hppa_pid_to_exec_file): Remove unwanted param from + call to call_ptrace. Note, hppa_pid_to_exec_file goes + away in subsequent hp snapshots. + + * hppa-tdep.c: Include bfd.h. + include dl.h + (args_for_find_stub): New structure. + (find_unwind_entry): Deal with null input pc value. + (rp_saved): Ditto. + For the import stub, return -24 always. + (hppa_frame_saved_pc): Save old pc value, to detect we are in a loop. + (init_extra_frame_info): Use TARGET_READ_FP. + (frame_chain): Include thread support. + If the caller's pc is zero, we loose and return, just like stack bottom. + Disable warning about being unable to find unwind info. + (hppa_push_arguments): Rewrite. + (hppa_value_returned_from_stack): New function. Handles returning a value + larger that 64 bits, stored on the stack. + (find_stub_with_shl_get): New function. To look up symbols in shlibs. + (cover_find_stub_with_shl_get): New function. Cover routine for + find_stub_with_shl_get to pass to catch_errors. + (hppa_fix_call_dummy): Comment out old stub mechanism. Rewrite using dyncall. + (target_read_fp): New function. + (pa_do_registers_info): Floating point registers start at FP4. + (pa_print_registers): Use FP4_REGNUM instead of 72. + (skip_trampoline_code): Do machine instruction matching for PA2.0. + (setup_d_pid_in_inferior): New function. Exception handling support. + (initialize_hp_cxx_exception_support): Ditto. + (child_enable_exception_callback): Ditto. + (child_get_current_exception_event): Ditto. + + * hppah-nat.c (child_post_wait, child_post_follow_vfork, + child_post_follow_inferior_by_clone): New functions. + + * hppah-nat.c (child_xfer_memory): Make sure the call to ptrace really + fails before we give up. + (hppa_pid_to_str): New function. Format a process id. + (hppa_tid_to_str): New function. Format a thread id. + + * hppah-nat.c (child_xfer_memory): Use xmalloc, not alloca. + (child_post_wait): Delete. + (child_post_follow_vfork): Delete decl of child_ops; delete + large chunks of function -- let it be handled by the normal + mechanism that notices and handles exec events, in resume(). + + * hppah-nat.c (require_notification_of_exec_events): New function; + just notify of exec events, not all events, and just the specified + pid, don't include it's children (10.20 version). + (child_acknowledge_created_inferior): Call new function + require_notification_of_exec_events instead of + require_notification_of_events. + + * hppah-nat.c [!GDB_NATIVE_HPUX_11]: Move HPUX 10.x-specific + support code here from infptrace.c. + + * hppah-nat.c: Removed #define ptrace call_ptrace + replaced all calls to ptrace with calls to call_ptrace + (parent_attach_all): Removed call to ptrace + + * hpread.c (hpread_psymtab_to_symtab_1): Change fflush to + gdb_flush; change stdout to gdb_stdout. + (hpread_psymtab_to_symtab): Change fflush to gdb_flush. + + * hpread.h: New file. Includes all includes, struct defs, defines + from hpread.c. + + * infcmd.c + (attach_command): New local variable, exec_file, added code to + determine exec_file from pid if exec_file is not already known, + call new target operation, target_post_attach -- a no-op unless + on HPUXHPPA + (detach_command): After detaching, do a SOLIB_RESTART + + * infcmd.c (objfiles.h): Fix typo on include line. + + * infcmd.c (run_command): Only call SOLIB_RESTART if it's + defined. + (detach_command): Ditto. + + * infcmd.c: + (run_stack_dummy): Add calls to + disable_watchpoints_before_interactive_call_start and + enable_watchpoints_after_interactive_call_stops + (finish_command): Alter code handling the evaluation and printing + of the target function's return value. + (attach_command): When given a pid, but no exec file, try to determine + the exec file from the process. If the process does not record a + full path name, try to qualify the filename against the source path. + (_initialize_infcmd): Add some verbiage about how to use the attach command + + * infcmd.c: + Include objfiles.h + (run_command): If program has already been started, and decide + to restart it, then kill the target, flush the caches, + call init_wait_for_inferior. Also purge old solib objfiles. + + * infcmd.c: Changed calls to val_print, using a new macro, + SOLIB_RESTART + (run_command): Calls SOLIB_RESTART + (do_registers_info): Changed calls to val_print + + * infcmd.c: Made the symfile.h include preceed the + objfiles.h include. The other ordering caused a + compile problem (incompletely defined types). + + * inferior.h (REQUIRE_DETACH): Fix default definition. + * inftarg.c (child_post_attach): Fix declaration, make static. + (proc_wait): Make globally visible. + (child_insert_fork_catchpoint, etc): Fix return type. + + * inferior.h (STARTUP_WITH_SHELL): New define. + (START_INFERIOR_TRAPS_EXPECTED): New define + + * inferior.h (fork_inferior): Change fifth parameter to be a function + returning void. + + * inferior.h (proc_wait): Declare. + + * inferior.h: + (Require_ATTACH): New macro + (REQUIRE_DETACH): New macro + (detach): Definition is now an extern + (clone_and_follow_inferior): New definition, it's also an extern + + * inferior.h: + (Require_attach): Default definition for require_attach funct + (require_detach): Default definition for require_detach funct + (pre_fork_inferior): New funct decl for function defined in + infptrace.c + (fork_inferior): New parameter in funct decl. + + * inferior.h: + New variable decls: Inferior_ignoring_startup_exec_events, + inferior_ignoring_leading_exec_events -- these variables + are used when processing an exec call. + (CALL_DUMMY_HAS_COMPLETED): New default macro -- for targets + where PC in call dummy implies that call dummy has + completed. Note, that on HPUX this inference does not hold. + + * infptrace.c + (require_notification_of_events): New function + (child_acknowledge_created_inferior): Previously named + hppa_acknowledge_forked_child. Also calling + require_notification_of_events and clearing some semaphore + variables + (child_post_startup_inferior): New function + (child_create_catch_fork_hook): Previously named + hppa_create_catch_fork_hook + (child_create_catch_vfork_hook): Previously named + hppa_create_catch_vfork_hook + (child_has_forked): Previously named hppa_target_has_forked + (child_has_vforked): Previously named hppa_target_has_vforked + (process_wait): Changed to call target_post_wait + (attach): Add call to require_notification_of_events + (child_pid_to_exec_file): New function + (hppa_require_attach): New local variable, pt_status + (hppa_get_process_events): New function + + * infptrace.c (call_ptrace): Simplify control flow. + (proc_wait): Move here from inftarg.c, add target_post_wait call. + + * infptrace.c (call_ptrace): Add some debugging code. + + * infptrace.c (child_pid_to_exec_file): Declare variable. + + * infptrace.c (kill_inferior): Clean up call to proc_wait. + + * infptrace.c: + (Call_ptrace): When the ptrace request is PT_SETTRC, + call ptrace and then call parent_attach_all. + + * infptrace.c: + (Child_has_syscall_event): New function. only applicable + (for now) on HPUX 10.30 and beyond via the ttrace call. + In infptrace.c there is a default operation. + With ttrace, it is possible to tell the kernel to + notify the debugger that the target program is about to make + or return from a syscall. + (child_thread_alive): New function. a default function. + ptrace doesn't support kernel threads. + (hppa_enable_page_protection_events): Defualt function + (hppa_disable_page_protection_events): Default function + + * infptrace.c (child_pid_to_exec_file): Fix number of params to + cal_ptrace call. + + * infptrace.c (hppa_pid_or_tid_to_str): New function. + (hppa_switched_threads): New function. + (hppa_ensure_vforking_parent_remains_stopped): New function. + (hppa_resume_execd_vforking_child_to_get_parent_vfork): New function. + + * infptrace.c: Most of the changes found in infptrace.c should + be moved to hppah-nat.c + (PT_VERSION): A new define + (startup_semaphore_t): A new struct type. it is used to + coordinate the parent and child processes after a fork and + before an exec on HPUX. + (call_ptrace): Changes to determine whether the ptrace + request is for starting the tracing of the target process. + (parent_attach_all): New funct. used on HPUX for coordinating + the parent and child processes after a fork and before and exec. + (hppa_acknowledge_forked_child): New funct. prabably belongs + in hppah-nat.c + (hppa_enable_catch_fork): New funct. probably belongs in + hppah-nat.c + (hppa_disable_catch_fork): New funct. probably belongs in + hppah-nat.c + (hppa_create_catch_fork_hook): New funct. probably belongs in + hppah-nat.c + (hppa_enable_catch_vfork): New funct. probably belongs in + hppah-nat.c + (hppa_disable_catch_vfork): New funct. probably belongs in + hppah-nat.c + (hppa_create_catch_vfork_hook): New funct. probably belongs to + hppah-nat.c + (hppa_target_has_forked): New funct. probably belongs in + hppah-nat.c + (hppa_target_has_vforked): New funct. probably belongs in + hppah-nat.c + (process_wait): New funct. also ifdefed for proc_wait. + (kill_inferior): Call proc_wait rather than wait. this is + pretty hacky. + (pre_fork_inferior): New function. used only by HPUX. + probably should be defined elsewhere. + + * infrun.c (follow_inferior_fork): Only define on HP. + (wait_for_inferior): Only call SOLIB_IN_DYNAMIC_LINKER if we have + shared libraries; restore test of IN_SOLIB_DYNSYM_RESOLVE_CODE + removed by HP. + + * infrun.c (normal_stop): Add a call to the TUIDO + macro just before the annotate_stopped label. This + updates the windows after each program stop. + + * infrun.c (normal_stop): Verify stop_command is non-zero before + dereferencing it (it won't be set if dbx_commands is set). + + * infrun.c (resume): Add #ifdef HPPAHPUX around HPUX-specific + code. + + * infrun.c (resume): Add missing semicolon. + + * infrun.c (wait_for_inferior): Fix syntax error. + + * infrun.c (follow_fork_mode_kind_names): Removed "both" option. + (follow_fork): Added parameters. additional code for handling + following of parent, following of child + (resume): Added code for deciding how to resume in presence of + fork. Additional params to follow_fork call. + + * infrun.c (follow_exec): Ifdef for HPUXHPPA for the moment, the + code in here assumes the existance of the child_ops target + vector. This is incorrect for Solaris. + + * infrun.c (resume): Fixed ifdefs, HPPAHPUX -> HPUXHPPA. + + * infrun.c (wait_for_inferior): Fixed a matching parens problem -- + matching curly brace inside ifdefed code which is not being + compiled. Change local validFlag to be an 'int' rather than a + 'bool' and fixed the corresponding assignment statements. + + * infrun.c: + Two new global variables: Inferior_ignoring_startup_exec_events and + inferior_ignoring_leading_exec_events. + New static variables: Parent_of_vfork_trap_expected_and_ignorable, + step_resume_breakpoint, through_sigtramp_breakpoint, pending_follow, + follow_vfork_when_exec + (follow_inferior_fork): Does what follow_fork did! + (follow_fork): Is now a wrapper function for follow_inferior_fork + (follow_vfork): Is now a wrapper function for follow_inferior_fork + (follow_exec): New function, handles an exec event. + (resume): Remove 3 local variables: Child_pid, has_forked, has_vforked. + move and expand code that tries to follow a fork (i.e. also check + for vfork and exec + (init_wait_for_inferior): Initialize the new structure, pending_follow + (delete_breakpoint_current_contents): When deleting all the breakpoints also + set the breakpoint struct pointer to NULL. + (wait_for_inferior): A number of changes. + The step_resume_breakpoint and through_sigtramp_breakpoint local + variables are now visible in entire module. + Changed name of variable from child_inferior_pid to saved_inferior_pid. + Added several cases to the event processing switch statement: + Target_WAITKIND_FORKED, TARGET_WAITKIND_VFORKED, TARGET_WAITKIND_EXECD. + Also, for TARGET_WAITKIND_STOPPED, check to see if expecting a trap + from the parent of a vfork (ignorable) otherwise break as usual. + When determining the value of 'random_signal' (0 or 1), no longer check for + catchpoints. + When determining how to handle unexpected signals, must now take into + account fork, vfork, and exec. + Change call to PC_IN_CALL_DUMMY to a call to CALL_DUMMY_HAS_COMPLETED + At stop_stepping label, check to see if stopped for fork or + vfork event. + + * infrun.c: New code is related to threads and fork/vfork/exec. + New static variable: Thread_step_needed + Deleted static variable: Parent_of_vfork_trap_expected_and_ignorable + Altered the pending_follow and fork_event structs + (follow_inferior_fork): Before detaching from child and removing + all breakpoints form it -- but only if forking or following + vforks as soon as they happen. Also reset the solib inferior hook. + The same kind of logic applies to hitting step_resume_breakpoints + (calling breakpoint_re_set_thread) and to resetting and inserting + breakpoints. + (follow_exec): Forward decl + (follow_vfork): Check to see if gdb followed the child. If + the child exec'd before gdb saw the parent's vfork event + then call follow_exec. + (follow_exec): If the exec occured after a vfork, then follow + the vfork as well. Do it before following the exec. + Make sure to update breakpoints after and exec + (resume): New local variable, should_resume. + Change parameters in calls to follow_fork, follow_vfork, and + follow_exec. Some changes to the way various pending_follow.kind + situations are handled (there's TARGET_WAITKIND_FORKED, + TARGET_WAITKIND_VFORKED, ARGET_WAITKIND_EXECD. Some additional + conditions to check before deciding to resume the target (i.e. + should_resume=1, stepping?, thread_step_needed?i, regular + resume?) + (proceed): When proceeded at location that does not have a breakpoint + set thread_step_needed=0 to indicate that it is not necessary to + single step thread over breakpoint. SOme additional checks to see + if it is necessary to step thread over breakpoint. + (start_remote): Remove call to clear_proceed_status. + (init_wait_for_inferior): Initialize new fields in fork_event + structure and add a call to clear_proceed_status. + (wait_for_inferior): New local variable: New_thread_event. + Initialize thread_step_needed = 0. + Minor massaging of conditions for adding a new thread to the thread list. + No longer resuming execution after adding a new thread. Let user play with thread first. + Some changes in the way TARGET_WAITKIND_FORKED, ARGET_WAITKIND_VFORKED, + TARGET_WAITKIND_EXECD are handled -- this is all HPUX related. + Simplified TARGET_WAITKIND_STOPPED -- HP previously had some + more complicated code in here. + Moved the code to resume threads to after the large case statement that processes the events. + Additional processing for stop_signal=TARGET_SIGNAL_TRAP. + Cleanup code at process_event_stop_test label. + Set thread_step_needed when processing a BPSTAT_WHAT_SINGLE. + Minor massaging of fork/vfork/exec part of stop_stepping code. + (normal_stop): Minor changes. calling show_and_print_stack_frame. + (xdb_handle_command): New function + (_initialize_infrun): Handle xdb_commands. also handle dbx commands + + * infrun.c: Changes to support following forks, and handling + catchpoints. + (follow_fork_mode_kind_names): New array + (follow_fork): New function. implements the follow parent, + or child functionality. + (resume): Additions to check whether the target process + just forked and decide which process to follow. + (wait_for_inferior): Additional variables (child_inferior_pid, + stepping_through_solib_after_catch, + - stepping_through_solib_catchpoints. + - Altered CURRENTLY_STEPPING macro to check for stepping through + a shared library after hitting a catchpoint. + - Add parameters to save_infrun_state call + - Check for fork and vfork when deciding if event is a random + signal + - When considering stops due to breakpoints, check for + BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK + - Check for stop due to an explicit catchpoint + - When checking for single stepping event, also check for + stepping to get out of dynamic linker's hook after catching + a shlib event + (is_internal_shlib_eventpoint): New funct. check to see if + event type is bp_shlib_event. + (stopped_for_internal_shlib_event): New funct. check for shlib + events + (stopped_for_shlib_catchpoint): New funct. check for catchpoints. + (normal_stop): Additions to check for shlib event + (set_follow_fork_mode_command): New funct. handles the new follow + fork command. + (_initialize_infrun): Additions for follow-fork-mode command. + + * infrun.c: Ifdefing references to + switched_from_inferior_pid for HPUXHPPA. They don't seem + useful for Solaris (i.e. non-HPUX) + + * infrun.c: Included tuiData.h and tuiDataWin.h, ifdefed for TUI. + Included top.h. New static variables: Switched_from_inferior_pid, + number_of_threads_in_syscalls. + (follow_inferior_fork): If there is a step_resume breakpoint + explicitly reset the thread number. + (resume): For TARGET_WAITKIND_VFORKED, removed a check for getting + the vfork event to soon. + (init_wait_for_inferior): Added parameter to call to + breakpoint_init_inferior. Initialize number_of_threads_in_syscalls. + (wait_for_inferior): New local variables: Prev_sal, + enable_hw_watchpoints_after_wait, stepping_through_sigtramp, + stepped_after_stopped_by_watchpoint. Enable watchpoints after a wait. + Added cases for TARGET_WAITKIND_SYSCALL_ENTRY and + TARGET_WAITKIND_SYSCALL_RETURN. + Do additional processing if stop due to breakpoint, but breakpoint is + only valid for a thread other than the one currently running. Additional + parameters to save_infrun_state and load_infrun_state. Some additional + processing for BPSTAT_WHAT_STEP_RESUME. Some additional processing to + handle stepping over a function. + (normal_stop): Added notification of switching threads. ifdefing some + TUI changes and leaving out non-essential TUI changes. + (restore_selected_frame): Ifdefing some TUI changes + (restore_inferior_status): Ifdefing some TUI changes + + * infrun.c: Removed the TUI ifdefs and TUI code. Also removed + include for top.h. HP introduced this. I'm taking it out. + + * inftarg.c (child_detach_from_process): Declare. + (child_attach_to_process): Declare. + (child_stop): Make static to match declaration. + + * inftarg.c (ptrace_him): Change prototype back to return int. + + * inftarg.c (ptrace_me): Remove debug output, pass NULL to + fork_inferior if not HPUX. + + * inftarg.c: + (child_require_attach): New funct prototype and definition + (child_require_detach): New funct prototype and definition + (proc_wait): Funct prototype and definition are enclosed by + proc_wait ifndef + (child_attach_to_process): New function, does most of the + work that child_attach used to do and some additional + work to determine whether gdb is already attached to the + target how to react. + (child_attach): Altered. It's now a wrapper for + child_attach_to_process. + (child_require_attach): New function, called if should attach + even when gdb is already attached to target. + (child_detach_from_process): New function, does most of the + work that child_detach used to do and some additional work + to determine whether gdb is currently attached to the target. + (child_detach): Altered. It's now a wrapper for + child_detach_from_process. + (child_require_detach): New function, called if should try to + detach even when gdb is not attached to target. + (ptrace_him): Calls a new function, target_acknowledge_forked_child. + Currently, target_acknowledge_forked_child, is only defined to + do something for HPUX. + (child_create_inferior): Changed call to fork_inferior. + (child_ops): Added to_require_attach and to_require_detach fields + to the child_ops target ops vector. + + * inftarg.c: + Some hacks for ttrace work + (child_wait): Additional local variables, additional code in + while loop to check for: Process exited, process forked, + process vforked, process execd + (child_thread_alive): John B. seems to think that the kill + call is inapproapriate for HPUX. + (child_attach_to_process): Using strtol rather than atoi. + no longer check for case where there is no known exec file. + (child_post_attach): New function, a default, a no-op + (child_insert_fork_catchpoint): New function, a default, a no-op + (child_remove_fork_catchpoint): New function, a default, a no-op + (child_create_catch_fork_hook): Deleted + (child_create_catch_vfork_hook): Deleted + (child_insert_vfork_catchpoint): New function, a default, a no-op + (child_remove_vfork_catchpoint): New function, a default, a no-op + (child_can_follow_vfork_prior_to_exec ):new function, a default, + a no-op + (child_insert_exec_catchpoint): New function, a default, a no-op + (child_remove_exec_catchpoint): New function, a default, a no-op + (child_has_execd): New function, a default, returns 0 + (child_reported_exec_events_per_exec_call): New function, a + default, returns 1 + (child_has_exited): New function, a default. + (child_core_file_to_sym_file): New function, a default, returns NULL. + (child_ops): Initialize new target_ops vector fields to the + child* functions. + * infptrace.c: + (Call_ptrace): For HPUX, handle additional requests: Pt_CONTIN1, + PT_STEP1. + (require_notification_of_events): Add several signals to the + set of events requiring notification: Ptrace_SIGNAL, + PTRACE_EXEC, PTRACE_FORK, PTRACE_VFORK + (child_acknowledge_created_inferior): This function is only + defined if CHILD_ACKNOWLEDGE_CREATED_INFERIOR is defined. + (child_post_startup_inferior): Function is only defined if + CHILD_POST_STARTUP_INFERIOR is defiend. Also, now call + require_notification_of_events. + (child_create_catch_fork_hook): Deleted + (child_create_catch_vfork_hook): Deleted + (child_insert_fork_catchpoint): New function + (child_remove_fork_catchpoint): New function + (child_insert_vfork_catchpoint): New function + (child_remove_vfork_catchpoint): New function + (child_has_forked): Now enclosed by a CHILD_HAS_FORKED ifdef + (child_has_vforked): Now enclosed by CHILD_HAS_VFORKED ifdef + (child_can_follow_vfork_prior_to_exec): New function + (child_insert_exec_catchpoint): New function + (attach): Removed call to require_notification_of_events + (child_post_attach): New function, call to + require_notification_of_events moved here. + (child_pid_to_exec_file): New enclosed by CHILD_PID_TO_EXEC_FILE ifdef + introduced the concept of a saved_inferior_pid + (hppa_require_attach): Add some code to decide if gdb is already + attached to process. Can not figure this out via a ptrace call. + (hppa_insert_hw_watchpoint): New function + (hppa_remove_hw_watchpoint): New function + + * inftarg.c: + (child_attach_to_process): Change position in file + (child_detach_from_process): Change position in file + + * inftarg.c: + (child_attach_to_process): Changed parameter to child_wait call + + * inftarg.c: + (child_post_wait): New function declaration and definition + (ptrace_him): + - change return value to a void. + - change target_acknowledge_forked_child call to + target_acknowledge_created_inferior + - call target_post_startup_inferior rather than returning pid. + (child_attach_to_process): Change param name, fail_if_already_attached + -> after_fork. + Invert a couple of if-then-else statments. + Use REQUIRE_ATTACH macro + (child_attach): Change params in child_attach_to_process call + (child_require_attach): Change params in child_attach_to_process call + (child_detach_to_process): Change param name, + fail_if_already_attached -> after_fork. + Invert a couple of if-then-else statments. + Use REQUIRE_DETACH macro + (child_detach): Change params in child_detach_from_process call + (child_require_detach): Change params in child_detach_from_process + call + (child_post_startup_inferior): New function + (child_acknowledge_created_inferior): New function + (child_clone_and_follow_inferior): New function + (child_post_follow_inferior_by_clone): New function + (child_create_catch_fork_hook): New function + (child_create_catch_vfork_hook): New function + (child_has_forked): New function + (child_has_vforked): New function + (child_post_follow_vfork): New function + (child_stop): No longer a static function + (child_pid_to_exec_file): New function + + * inftarg.c: + (child_wait): Child_pid becomes related pid. return pid + rather than inferior_pid. Changes are in code handling fork + and vfork + + * inftarg.c: + Include gdb_stat.h and sys/unistd.h + (child_wait): New local variables. Check for live threads. + Check for syscall events + (child_thread_alive): No longer a static funct. + (ptrace_him): Remove some code inserted in snap3 + (child_create_inferior): Added a bunch of code to handle a + bad interaction between start-up-with-shell and the HP + catch-fork/catch-exec logic. I am ifdefing this for + HPUXHPPA for now. + (child_has_syscall_event): New default target_ops function + (child_enable_exception_callback): New default target_ops function + (child_get_current_exception_event): New default target_ops function + (child_ops): 3 new fields + + * inftarg.c: Remove HPUX_SNAP1 and HPUX_SNAP2 ifdefs + + * inftarg.c: Reverted previous change. + + * infttrace.c (hppa_remove_hw_watchpoint): Fix check for write + access hardware watchpoint. + + * infttrace.c (proc_wait): Rename from proc_wait. + + * infttrace.c (require_notification_of_exec_events): New function; + just notify of exec events, not all events, and just the specified + pid, don't include it's children. + (child_acknowledge_created_inferior): Call new function + require_notification_of_exec_events instead of + require_notification_of_events. + (child_post_startup_inferior): Call require_notification_of_events + + * infttrace.c: Changed all references to boolean to int. + Changed all references to TRUE and FALSE to 1 and 0. + + * irix5-nat.c (symbol_add_stub): Add params to call to + symbol_file_add. + + * jv-lang.c (get_dynamics_objfile): Add 2 more parameters to call + to allocate_objfile. + + * main.c (fputs_unfiltered): Changes to prevent cursor form + jumping around in the TUI. Altered where tuiTermUnsetup and + tuiTermSetup are called + + * main.c (fputs_unfiltered): Changed function so that it + checks to see if output is to a string buffer or to a + FILE stream and does the correct action (i.e. strcat or + fputs). Fixed params for fputs call. + + * main.c (fputs_unfiltered): Don't try to call the TUI's + CommandCharCount functions when the TUI isn't enabled. + + * main.c (fputs_unfiltered): Change FILE to GDB_FILE. + + * main.c (main): If the user gives the --version or --help flags, + disable the TUI. + + * main.c (tui_version, xdb_commands, dbx_commands): New variables. + (main): New command line arguments --tui, --xdb, --dbx; add call + to tyiCleanUp via tuiDo to main loop. + (fputs_unfiltered): Tui related changes. + + * main.c: Define 2 new global variables, gdb_stdout and gdb_stderr + of type GDB_FILE. + (main): Allocate space for and initialize gdb_stdout and gdb_stdin. + + * objfiles.c (find_pc_sect_section): Make end condition be less + than s->endaddr, not less than or equal to s->endaddr. + + * objfiles.c: + (allocate_objfile): 2 new parameters: User_loaded and is_solib. + When appropriate, record in the object file that it is user loaded. + The run command can use this information to purge object file + entries associated with the old inferior and keep user loaded + object files loaded via the add-symbol-file command. + (objfile_purge_solibs): New function. deletes all objectfile entries + that are not explicitly loaded by the user. + + * objfiles.c: + (objfile_relocate): Check for LOC_INDIRECT + (find_pc_sect_section): Change condition from + pc < s->endaddr to pc <= s->endaddr + + * objfiles.h: + New variables: User_loaded and is_solib + (OBJF_SHARED): New macro. used to distinguish objfile for + shared library from "vanilla" objfile. + (allocate_objfile): Add new parameters to function decl. + (objfile_purge_solibs): New function decl. + + * objfiles.h: Add some typedefs: Importentry, ExportEntry. + Add some new variables: Import_list, import_list_size, + export_list, export_list_size + + * osfsolib.c: + (symbol_add_stub): Added params to call to symbol_file_add + + * pa/hpux1020.mh (NATDEPFILES): Add corelow.o, symbol table and + solib files. + + * pa/hpux1100.mh (NAT_FILE): Use nm-hppah11.h. + (NATDEPFILES): Add symbol table and solib files. + + * pa/nm-hppah11.h: New file, HPUX11-only definitions. + + * pa/tm-hppa.h (proc_wait): Remove decl and macro. + + * parse.c (write_dollar_variable): Handle cases in which variables + besides the debugger ones start with $ and $$. + (parse_nested_classes_for_hpacc): New function. Parse a string that + is possibly a namespace / nested class specification. + (find_template_name_end): New function. + + * procfs.c: + (procfs_init_inferior): Return value is now a void. + + * procfs.c (procfs_ops): Initializing new target ops vector fields. see list below. + + * procfs.c: + (procfs_ops): Adding new target_ops vector fields and + removing a few. see list below + + * procfs.c: Added new fields to procfs_ops. + Necessary since we still have oldstyle initialization in + this file + + * pyr-tdep.c (pyr_do_registers_info): Change stdout to gdb_stdout. + (frame_locals_address): Change stderr to gdb_stderr. + (frame_args_addr): Ditto. + + * pyr-xdep.c (fetch_inferior_registers): Change stderr to + gdb_stderr. + + * serial.c (serial_close): Call gdb_fclose, not fclose on a + GDB_FILE. + + * serial.c (serial_logchar): Change chtype to ch_type. sigh. + + * solib.c (look_for_base): The parameter to file must be + of type FILE *. So cast exec_bfd -> iostream in the call + to fileno as a FILE *, not a GDB_FILE *. This will work because + exec_bfd -> iostream is declared and given a value in bdf and + bfd will continue to use FILE rather than GDB_FILE. + + * solib.c: + (solib_add): Remove references to exec_ops. + + * solib.c: + (solib_add): Update exec_ops.to_sections + + * solib.c: + (symbol_add_stub): Added params to call to symbol_file_add + + * solib.h: + (SOLIB_REMOVE_INFERIOR_HOOK): New macro. defined to 0. + functionality not implemented for this target. + + * solib.h: Added macro definitions. These macros generate + error messages for solaris?? + (SOLIB_CREATE_CATCH_LOAD_HOOK) + (SOLIB_CREATE_CATCH_UNLOAD_HOOK) + (SOLIB_HAVE_LOAD_EVENT) + (SOLIB_LOADED_LIBRARY_PATHNAME) + (SOLIB_HAVE_UNLOAD_EVENT) + (SOLIB_UNLOADED_LIBRARY_PATHNAME) + (SOLIB_IN_DYNAMIC_LINKER) + (SOLIB_RESTART) + + * somread.c (is_in_import_list): Ditto. + + * somread.c (som_symfile_read): Added some comments + + * somread.c (som_symfile_read): Read in import and export lists. + (som_symtab_read): Change test for dynamic executable. + (is_in_import_list): New function. Check if a given symbol name + is in the import list. + (init_import_symbols): New function. Read in and initialize the + som import list. + (init_export_symbols): New function. Read in and initialize the + som export list. + + * somread.c: + (som_symfile_read): Fix missing comment delimiters + + * somsolib.c (DLD_FLAGS_MAPPRIVATE): New macro. + Define bit of __dld_flags in HP-UX a.out files. + (DLD_FLAGS_HOOKVALID): Ditto. + (DLD_FLAGS_LISTVALID): Ditto. + (DLD_FLAGS_BOR_ENABLE): Ditto. + (som_solib_total_st_size): Cumulative size in bytes of the + symbol tables of all shared objects on the so_list_head list. + (som_solib_st_size_threshhold_exceeded): Threshold for adding symbols + for shlibs. + (som_solib_sizeof_symbol_table): New function. Computes size of + symbol table for a shlib. + (som_solib_load_symbols): New function. Load symbols from shlib. + (som_solib_add): Detect if __dld_list is not valid. + Record main program's symbol table size. + Load symbols if called from command line. + Keep threshold into account when loading shlib symbols. + (som_solib_create_inferior_hook): Use dld_flags macros. + (som_sharedlibrary_info_command): Let user know if symbols were + not loaded. + (som_solib_restart): Discard all the shlibs descriptors. + (_initialize_som_solib): Chenge help message for auto-solib-add + command. + Set threshold for symbol table to 50 megabytes. + + * somsolib.c (_initialize_som_solib): Added call to som_solib_restart. + (som_solib_restart): New function + (som_solib_in_dynamic_linker): New function + (som_solib_desire_dynamic_linker_symbols): New function + (som_solib_unloaded_library_pathname): New function + (som_solib_loaded_library_pathname): New function + (som_solib_library_pathname): New function + (som_solib_have_unload_event): New function + (som_solib_have_load_event): New function + (som_solib_create_catch_unload_hook): New function + (som_solib_create_catch_load_hook): New function + (som_solib_create_inferior_hook): Rewritten + dld_cache: New struct + addr_and_unwind_t: New struct + (find_unwind_entry) added prototype + + * somsolib.c (som_solib_create_inferior_hook): Introduce new local + msymbol2 and change some msymbol's to msymbol2's -- was clobbering + msymbol, passing a NULL to lookup_minimal_symbol_solib_trampoline, + and ultimately core dumping with a SEGV. + + * somsolib.c: + Include assert.h + (som_solib_mapped_entry): Additional comments for text_addr, + text_link_addr, text_end, and tsd_start_addr fields. Commenting + out 2 tsd fields, __data_start and __data_end. + (som_solib_add_solib_objfile): Add params to calls to symbol_file_add. + Add some code for distinguishing between a shared library and other + objfiles. This appears to be a prelude to thread local storage. + (som_solib_load_symbols): Changes to printf statement + enclosed by SOLIB_DEBUG ifdef. + (som_solib_add): Change comment to correctly specify path + to end.o -- /opt/langtools/lib/end.o. changes to printf statement + enclosed by SOLIB_DEBUG ifdef. + Removed several SOLIB_DEBUG ifdefs and the associated printfs. + Add code to find the start address for the object file's thread + local storage + (som_solib_create_inferior_hook): Fix warning messages use correct + path to end.o -- /opt/langtools/lib/end.o. Change control flow. + No longer user early returns from function is cases of error. + (reset_inferior_pid): New function + (som_solib_remove_inferior_hook): New function + (so_lib_thread_start_addr): New function. used for tsd. + + * somsolib.c: Removed references to ASSERT macro. + + * somsolib.c: Add debugging macro. + (struct som_solib_mapped_entry): Add new field tsd_start_addr. + (struct so_list): Added new field solib_addr. + (som_solib_add_solib_objfile): New function. + (som_solib_load_symbols): Rewritten. + (som_solib_add): Make sure we don't load the symbols in if the + threshold was exceeded. + (som_solib_get_solib_by_pc): New function. Return the address of + handle of the shared library. + (som_solib_restart): Disable breakpoints at restart. + (_initialize_som_solib): Set threshold to 100 megabytes. + + * somsolib.c: Add include of fcntl.h so that O_RDONLY is defined. + + * somsolib.h (DISABLE_UNSETTABLE_BREAK): New macro. + (PC_SOLIB): New macro. + + * somsolib.h: + (SOLIB_CREATE_CATCH_LOAD_HOOK): Define + (SOLIB_CREATE_CATCH_UNLOAD_HOOK): Define + (SOLIB_HAVE_LOAD_EVENT): Define + (SOLIB_LOADED_LIBRARY_PATHNAME): Define + (SOLIB_HAVE_UNLOAD_EVENT): Define + (SOLIB_UNLOADED_LIBRARY_PATHNAME): Define + (SOLIB_IN_DYNAMIC_LINKER): Define + (SOLIB_RESTART): Define + + * somsolib.h: + (SOLIB_REMOVE_INFERIOR_HOOK): New macro. defined to use + som_solib_remove_inferior_hook. + + * somsolib.h: + (som_solib_create_catch_load_hook) + (som_solib_create_catch_unload_hook) + (som_solib_have_load_event) + (som_solib_loaded_library_pathname) + (som_solib_have_unload_event) + (som_solib_unloaded_library_pathname) + (som_solib_in_dynamic_linker) + Fix prototypes to use type names, not parameter names. + + * source.c (find_source_lines): Make non static. + (open_source_file): Ditto. + (source_full_path_of): New function. + (print_source_lines): Rename to print_source_lines_base and make + static; formatting. + (print_source_lines): New function. + (forward_search_command): Tui changes. + (reverse_search_command): Tui changes. + (_initialize_source): Add xdb and dbx compatibility commands. + + * source.c (list_command): Handle case of odd number of source + lines to display. + + * source.c: + (source_full_path_of): New function. file was overlooked + in merge ;-/. + + * stack.c (func_command): Make high bound be <, not <=. + + * stack.c (_initialize_stack): For the backtrace command, delete + the help line about usage, since this has to be a valid help + message for the 'where' command too. + + * stack.c (current_frame_command): Add a check for the + existance of a stack. If there is no stack produce an + error message and exit. + + * stack.c (down_silently_base, up_silently_base, + args_plus_locals_info, print_frame_info_base, + print_stack_frame_base, print_stack_frame_base_stub): Declare. + (print_frame_local_vars): Add'l parameter. + (print_stack_frame_stub): New version created, old version renamed + to show_and_print_stack_frame_base_stub. + (print_stack_frame_base_stub, print_only_stack_frame_stub, + show_and_print_stack_frame, print_only_stack_frame, + stack_publish_stopped_with_no_frame, print_frame_info, + show_stack_frame, backtrace_full_command, args_plus_locals_info, + select_and_print_frame, select_and_maybe_print_frame, + current_frame_command, func_command): New functions. + (backtrace_command): New function, old renamed to + backtrace_command_1. + (print_block_frame_locals, print_frame_local_vars): Additional + parameter, number of tabs. + (up_silently_command): New function, old renamed to + up_silently_command_base. + (down_silently_command): New function, old renamed to + down_silently_base. + (_initialize_stack): Register new commands based on values of + xdb_commands and dbx_commands variables. + + * stack.c (func_command): Make high bound be <, not <=. + + * stack.c (parse_frame_specification): Fix prototype to match + function definition. + (show_and_print_stack_frame_stub): Fix name. + (select_and_print_frame): Change uncaught tuiDO call. + + * stack.c (up_silent_base): Rename from up_silently_command_base. + + * symfile.c (symbol_file_command): Only call SOLIB_RESTART if it's + defined. + + * symfile.c (add_psymbol_with_dem_name_to_list): New function. + Adds a symbol with a long value to a psymtab. Differs from + add_psymbol_to_list in taking both a mangled and a demangled name. + + * symfile.c (compare_psymbols): Call strcmp directly, instead of + using macro. + + * symfile.c (symbol_file_add): Reindent portions. + (symbol_file_command): Add call to tuiDo. + + * symfile.c (symbol_file_command): Only call SOLIB_RESTART if it's + defined. + + * symfile.c (symfile_bfd_open): Add code to call PXDB on hpux, if + the file has not already been processed by pxdb. + Added define USE_PXDB. + + * symfile.c (symfile_bfd_open): Change parenthesis positioning + around call to hpread_pxdb_check. + + * symfile.c (symfile_bfd_open): Make not static. + (RESET_HP_UX_GLOBALS): New macro. Resets globals when new symbol + file loaded. + (USE_PXDB): Not needed. Removed. + (symbol_file_add): Add HP specific code to deal with pxdb. + (symbol_file_command): Reset HP specific globals if new symbol file + loaded. + (symfile_bfd_open): Comment out checking for pxdb. + (reread_symbols): Reset HP specific globals. + + * symfile.c (symfile_bfd_open): Uncomment hpus specific code. + + * symfile.c: + (symbol_file_add): Add user_loaded and is_solib parameters. + fixed number of parameters in call to allocate_objfile + (symbol_file_command): Added call to SOLIB_RESTART macro. + fixed number of parameters in calls to symbol_file_add. + (add_symbol_file_command): Fixed number of parameters in calls to + symbol_file_add. + + * symfile.c: Added prototype for hpread_pxdb_check. + + * symfile.c: Changed HPUX_SNAP1 ifdef to HPUXHPPA. enclosed calls to + RESET_HP_UX_GLOBALS with an HPUXHPPA ifdef + + * symfile.h (symfile_bfd_open): Add protptype. + + * symfile.h: Add prototype for add_psymbol_with_dem_name_to_list. + + * symfile.h: Clarify purpose of auto_solib_add. + + * symmisc.c (maintenance_print_symbols): Call gdb_fclose, not + fclose on a GDB_FILE* during cleanup. + (maintenance_print_psymbols): Call gdb_fclose, not fclose on a + GDB_FILE* during cleanup. + (maintenance_print_msymbols): Call gdb_fclose, not fclose on a + GDB_FILE* during cleanup. + + * symmisc.c (maintenance_print_symbols): Gdb_fclose now takes a + GDB_FILE ** parameter. Fix the local GDB_FILE variables and the + call to make_cleanup. + (maintenance_print_psymbols): Ditto + (maintenance_print_msymbols): Ditto + + * symmisc.c (print_objfile_statistics): Close quotes in + output strings. + + * symmisc.c: + (Print_symbol): Add LOC_INDIRECT to switch statement + (print_partial_symbols): Add LOC_INDIRECT to switch statement + + * symtab.c (find_pc_sect_psymtab): High bounds should be <, not <=. + (find_pc_sect_symtab): Ditto. + + * symtab.c (hp_som_som_object_present): New flag to indicate HP + compiled code. + (find_pc_sect_psymtab): Change tests to make sure we are checking + the texthigh adress as well. + (lookup_transparent_type): New function. Look up a type name + in the struct_namespace. The type returned must not be opaque. + (find_pc_sect_symtab): Make sure we check the address 'pc' itself, + too. + (find_addr_symbol): Prepare to handle LOC_INDIRECT address class, but + leave it commented out. + (find_pc_sect_line): Return correct information if pc is in import + or export stub (trampoline). + (decode_line_1): Skip two chars, if they are '$$'. Like for HP's + $$dyncall. Handle cases in which varaible and function names can start + with $. + (overload_list_add_symbol): If cannot demangle name, use it as is. + Free string after use. + (make_symbol_overload_list): Initialize oload_name to NULL and + oload_name_len to 0. If demangle not successful, use name as it is. + Free string after use. + + * symtab.c (lookup_symbol): Changed call to find_pc_sect_symtab, + to the original find_pc_symtab, in HP added fragment. + + * symtab.c (lookup_symbol): Change HPUX_SNAP1 ifdef to a HPUXHPPA ifdef + + * symtab.c (lookup_symbol): Ifdef the searching of symbol in the + minimal symbol tables, for hpux we move this check at the end + of the function. + Before we error out if symbol is not found in the symtab, look + in the statics. + Before erroring out if static symbol not found look in the globals. + + * symtab.c (lookup_symbol): Return symbol as soon as found. + (decode_line_1): Check whether we have a conditional break. Temporarily + remove it from the line, to not confure perenthesis checking. + Handle namespaces. + (overload_list_add_symbol): New function. Overload + resolution support. + (make_symbol_overload_list): Ditto. + + * symtab.c: + (find_template_name_end): New prototype decl. + (lookup_symbol): When a global or static symbol shows up in the + psymtab table, but not the symtab table, tell the user that + the symbol may be an inlined function or a template function and + provide some guidance to the user about how to more fully + specify the symbol. + (lookup_transparent_type): When a global or static symbol shows up + in the psymtab table, but not the symtab table, tell the user that + the symbol may be an inlined function or a template function and + provide some guidance to the user about how to more fully + specify the symbol. + (decode_line_1): Handle template function specification when decoding a + line. May need to be ifdefed for HP's aCC? + (_initialize_symtab): Handle dbx commands. + + * symtab.h (address_class): Add new address calss for + LOC_THREAD_LOCAL_STATIC and LOC_INDIRECT. + (lookup_transparent_type): Add prototype. + (exception_event_kind): New enum for exception catchpoints. + (exception_event_record): New structure for exception catchpoints. + (CURRENT_EXCEPTION_KIND): New macro. + (CURRENT_EXCEPTION_CATCH_SAL): New macro. + (CURRENT_EXCEPTION_CATCH_LINE): New macro. + (CURRENT_EXCEPTION_CATCH_FILE): New macro. + (CURRENT_EXCEPTION_CATCH_PC): New macro. + (CURRENT_EXCEPTION_THROW_SAL): New macro. + (CURRENT_EXCEPTION_THROW_LINE): New macro. + (CURRENT_EXCEPTION_THROW_FILE) new macro.: + (Current_EXCEPTION_THROW_PC): New macro. + + * symtab.h(make_symbol_overload_list): Add prototype. + + * symtab.h: + (symbol_file_add): Add new params to function decl. + + * target.c (cleanup_target): Changed casting of default functions for + to_has_forked, to_has_vforked, to_pid_to_exec_file to get rid of + warnings. + + * target.c (cleanup_target): Changed the default functions for + to_pid_to_exec_file and to_core_file_to_sym_file + + * target.c (cleanup_target): Fixed PARAMS for to_has_syscall_event + + * target.c (cleanup_target): Syntax error, mismatched paranthesis. + + * target.c: + (Default_clone_and_follow_inferior): New funct prototype declaration + and function definition + (dummy_target): More target_ops vector changes for HPUX + new fields. ifdefed for HPUX_SNAP2. New fields are + to_post_wait, to_post_startup_inferior + to_acknowledge_created_inferior, to_clone_and_follow_inferior, + to_post_follow_inferior_by_clone, to_create_catch_fork_hook, + to_create_catch_vfork_hook, to_has_forked, to_has_vforked, + to_post_follow_vfork, to_pid_to_exec_file + (de_fault): Add new HPUX specific target_ops operations to + the de_fault macro + (INHERIT): Add new HPUX specific target_ops operations to the + INHERIT macro + (find_default_clone_and_follow_inferior): New funct definition + (debug_to_post_wait): New funct + (debug_to_post_startup_inferior): New funct + (debug_to_acknowledge_created_inferior): New funct + (debug_to_clone_and_follow_inferior): New funct + (debug_to_post_follow_inferior_by_clone): New funct + (debug_to_create_catch_fork_hook): New funct + (debug_to_create_catch_vfork_hook): New funct + (debug_to_has_forked): New funct + (debug_to_has_vforked): New funct + (debug_to_post_follow_vfork): New funct + (setup_target_debug): Initialize new target_ops vector fields. + + * target.c: + (Cleanup_target): Fixed the return type on a few of the + default function values. + + * target.c: + (Dummy_target): Add 3 new fields + (nosupport_runtime): New function, used in cleanup_target + (cleanup_target): Changes in the de_fault macro, both to + accomodate the new target_ops vector fields and to use + more accurate default functions. + (update_current_target): Add new target_ops vector fields to the + INHERIT macro + (generic_mourn_inferior): The call to breakpoint_init_inferior now takes a + parameter + (normal_pid_to_str): Adding a \0 to the end of buf. + (debug_to_has_syscall_event): New func + (debug_to_enable_exception_callback): New func + (debug_to_get_current_exception_event): New func + (setup_target_debug): Initialize the 3 new target_ops vector fields + + * target.c: + (Struct signals): Fix message associated with SIGRETRACT. + + * target.c: + (Dummy_target): Fix syntax error + (cleanup_target): Changed the default values for the new + target_ops vector fields. HP folks inappropriately set + most of them to noprocess(). They should be a mixture + of ignore() and return_zero(). + + * target.c: + (Dummy_target): Add new target_ops vector fields and their initializations + (cleanup_target): Added new new target_ops vector fields to the de_fault + macro definition. + (update_current_target): Added new new target_ops vector fields to the INHERIT + macro definition + (return_one): New function, used by the de_fault macro + (debug_to_post_attach): New function + (debug_to_wait): Added new cases: Target_WAITKIND_FORKED, TARGET_WAITKIND_VFORKED, + TARGET_WAITKIND_EXECD + (debug_to_insert_fork_catchpoint): New function + (debug_to_remove_fork_catchpoint): New function + (debug_to_insert_vfork_catchpoint): New function + (debug_to_remove_vfork_catchpoint): New function + (debug_to_can_follow_vfork_prior_to_exec): New function + (debug_to_insert_exec_catchpoint): New function + (debug_to_remove_exec_catchpoint): New function + (debug_to_core_file_to_sym_file): New function + (setup_target_debug): Give new fields in current_target target_ops vector values. + + * target.c: Hp merge, 4/15/98 snapshot + There are new target_ops fields that pertain only + to HPUX. All the changes relate to this. First, + new fields are added to the dummy_target target_ops + vector: To_require_attach, to_require_detach. + + * target.c: Remove HPUX_SNAP1 and HPUX_SNAP2 ifdefs + + * thread.c (info_threads_command): Call print_only_stack_frame + instead of print_stack_frame. + (_initialize_thread): Make t an alias for thread only if + xdb_commands is not set. + + * thread.c (thread_command): If no arguments, don't generate an + error, instead tell the user which thread is current. + (info_threads_commands): Don't lose the users position within the + current thread -- remember it and then restore it. + + * thread.c: + (struct thread_info): Add stepping_through_sigtramp field + (add_thread): Initialize stepping_through_sigtramp field + (load_infrun_state): Add stepping_through_sigtramp param and + make sure it gets assigned a value. + (save_infrun_state): Add stepping_through_sigtramp param and + make sure that the value gets saved. + (info_threads_command): Ifdefing some local variables and + code for HPUXHPPA. HP folks want print the tid rather than pid? + Also, looks like the HP folks solved the same thread switching + problem that 4.17 solves. Taking 4.17. + (restore_current_thread): Print out the current frame after + switching threads. + (thread_apply_all_command): Ifdefing a print statement for + HPUXHPPA. The HP folks want to print out a tid rather than pid? + (thread_apply_command): Ifdefing a print statement for + HPUXHPPA. The HP folks want to print out a tid rather than pid? + (thread_command): Decided not to take HP change. + + * thread.c: Fixing gdb core dump problem causing many testsuite + failures. + (add_thread): Remove call to bpstat_clear, initialize + tp->stepping_through_solib_catchpoints = NULL; + + * thread.c: Changes for catchpoints, shared libaries, + (thread_info): Additional fields in the thread_info struct + for stepping_through_solib_after_catch and + stepping_through_solib_catchpoints. + (add_thread): Initialize the new thread_info fields. + (load_infrun_state): Additional parameters for handling + catchpoints and shared libraries. + (save_infrun_state): Additional parameters for handling + catchpoints and shared libraries. + + * top.c (command_loop): Initialize space_at_cmd_start to 0. + (set_prompt): New function. + (togglelist, stoplist): New command lists. + (command_loop): Tui changes -- paranoia to make sure + insert mode is off when not editing. + (quit_force): Clean up tui on exit. + (init_main): Make definition of info status command dependent upon + dbx mode not being set. + (fputs_unfiltered_hook): Changed stream parameter from FILE + to GDB_FILE + (flush_hook): Changed stream parameter from FILE to GDB_FILE + + * top.h (set_prompt): Declare. + + * typeprint.c (whatis_exp): Decide real runtime type. For the vtable + case. + + * utils.c (query): Changes to prevent cursor from jumping around in the + TUI. Call tuiBufferGetc explicitly, rather than passing it + into tuiDo. The tuiDo function does some additional work + that is inappropriate when handling queries. + (GDB_FILE_ISATTY): New macro that takes a GDB_FILE param and + determines whether or not it's using a tty. + (gdb_file_isatty); called by the GDB_FILE_ISATTY macro. Does + the actual work + (init_page_info): Call GDB_FILE_ISATTY rather than ISATTY + (print_spaces): Fix parameter to fputc. fix call to + gdb_file_adjust_strbuf. + (gdb_file_init_astring): Fix parameter to xmalloc + (gdb_file_deallocate): New function to deallocate + a GDB_FILE object and possibly a string buffer + (gdb_file_init_astring): Initialize buffer as the empty + string. Indent GNU style. + (gdb_fopen): Gdb_fopen is called if the GDB_FILE object is + actually afile rather than astring. The routine now allocates space + for a GDB_FILE object and initializes its fields in addition to + performing an fopen. + (gdb_flush): Fix the parameter passed into fflush. It's now + stream->ts_filestream. + (gdb_fclose): Pass in an object of type GDB_FILE **. Fix parameter + to fclose. It's now tmpstream->ts_filestream. Make sure to free + the GDB_FILE object and set the GDB_FILE * object to NULL. + (gdb_adjust_strbuf): New function. Determine if the current + ts_strbuf field contains sufficient space to concatenate a string + of length n on the end. If not, then reallocate the ts_strbuf. + (print_spaces): Check to see if the GDB_FILE is afile or + astring. If it is astring, then adjust the size of the ts_strbuf + field and concatenate the correct number of spaces onto the end of + the buffer. Otherwise continue to use fputc. + (gdb_file_get_strbuf): New function. return a ptr to the ts_strbuf + field in a GDB_FILE object. + (gdb_file_init_astring): New function to allocate space for and + initialize a GDB_FILE object when it is an astring. + (set_width): Declare it. + (pagination_enabled): Define it. + (query): Tui changes. + (init_page_info, set_width): New functions. + (set_width_command): Call set_width. + (_initialize_utils): Replace termcap stuff with call to + init_page_info; if xdb_commands set, define am and sm commands; + define pagination as a set/show command. + (vfprintf_maybe_filtered): Change FILE to GDB_FILE. + (fputs_maybe_filtered): Ditto. + (print_spaces): Ditto. + (gdb_printchar): Ditto. + (gdb_flush): Ditto. + (fputs_filtered): Ditto. + (vfprintf_filtered): Ditto. + (vfprintf_unfiltered): Ditto. + (fprintf_filtered): Ditto. + (fprintf_unfiltered): Ditto. + (fprintfi_filtered): Ditto. + (print_spaces_filtered): Ditto. + (fprintf_symbol_filtered): Ditto. + (gdb_fclose): New function. + + * valops.c (call_function_by_hand): Assign to param_type only + if function has parameters. + + * valops.c (call_function_by_hand): Ifdef the + HP_COMPILED_TARGET stuff. + (value_arg_coerce): Ditto. + + * valops.c (call_function_by_hand): Make sure param_type is + initialized to NULL. + + * valops.c (find_rt_vbase_offset): Add parameter to value_at. + (value_rtti_type): Ditto. + (value_full_object): Ditto. + + * valops.c (search_struct_field_aux): Fixed mismatching parenths + + * valops.c (search_struct_field_aux): Make sure TYPE_TAG_NAME + is not null before copying it. + + + * valops.c (search_struct_field_aux): Set found_class_name to null + if class has no name (anon unions case). Adjust base_addr + computation. + + * valops.c (value_arg_coerce): Change final arg to int. + + * valops.c (value_arg_coerce): Remove the conditional on HP + compiled target, for doing coercion of float to double. Removed + third parameter, using_gcc. + (call_function_by_hand): Do not use HP_COMPILED_TARGET, just + use the gcc_compiled variable. + + * valops.c (value_cast): Take case of the enclosing_type and + pointer_to_offset fields. + (value_at): Use VALUE_CONTENTS_ALL_RAW + (value_fetch_lazy): Ditto + (value_assign): Handle enclosing_type, embedded_offset and + pointed_to_offset fields. + (value_repeat): Use VALUE_CONTENTS_ALL_RAW and VALUE_ENCLOSING_TYPE. + (value_ind): Set enclosing_type and embedded_offset correctly, + for a pointer value being dereferenced. Target memory bytes + corresponding to the size of the enclosing type are retreived. + (value_addr): Handle enclosing_type and pointed_to_offset. + (value_push): Use VALUE_CONTENTS_ALL and VALUE_ENCLOSING_TYPE. + (value_arg_coerce): Coerce floats to doubles only if gcc was not + used to compile the target. + (call_function_by_hand): Handle pointers to functions as paramters. + (value_array): Use VALUE_CONTENTS_ALL and VALUE_ENCLOSING_TYPE. + (search_struct_method): Produce more informative error message. + (find_rt_vbase_offset): Deal with negative offsets. + (value_find_oload_method_list): New function. Return the list of + overloaded methods of a specified name. + (find_method_list): New function. Search through the methods of an + object (and its bases) to find a specified method. + (value_full_object): New function. Given a value, check its real + run-time type. + (value_rtti_target_type): New function. Given a pointer value V, find + the real (RTTI) type of the object it points to. + (value_rtti_type): New function. Find the real run-time type of a + value using RTTI. + + * valops.c: Include gdbcmd.h + Set global overload_resolution to 0. + (find_function_in_inferior): Modify error message. + (value_allocate_space_in_inferior): Modify error message. + (value_cast): Deal with HP/aCC peculiarities. + (value_of_variable): Use SYMBOL_SOURCE_NAME instead of SYMBOL_NAME. + (value_addr): Modify address value by adding the embedded offset. + (value_ind): Modify the address of the object by the pointed_to_offset. + (call_function_by_hand): Do not do any extra alignment if not needed. + Fetch the return value from the stack rather then from the register, + for the hppa architecture. + (search_struct_field): Rewritten. Now this function uses + search_struct_field_aux to do all the work. + (search_struct_field_aux): New function. This is the old + search_struct_field rewritten. + (find_rt_vbase_offset): Give error if virtual table pointer is not good. + (find_overload_match): New function. Find the best function that + matches on the argument types according to the overload resolution + rules. + (_initialize_valops): Add new set/show command for overload-resolution. + + * value.h (VALUE_POINTED_TO_OFFSET): New macro. + Add field pointed_to_offset to value structure. + Add prototypes for new functions in valops.c. + + * value.h (write_register_pid): Change prototype to match + function. + + * value.h: Hp merge, 4/15/98 snapshot + Added parameter to val_print func decl. + Added new macro, VALUE_EMBEDDED_OFFSET, and + new func decl, find_rt_vbase_offset, for C++ + support. + + * values.c (allocate_value): Allocate also for value_embedded_offset + and value_enclosing_type. + (value_copy): Copy value_embedded_offset and value_enclosing_type too. + Use all_raw in copying the value itself. + (value_primitive_field): Add handling of base subobjects. + + * values.c (value_copy): Copy the pointed_to_offset as well. + (allocate_value): Allocate the pointed_to_offset as well. + (value_virtual_fn_field): Rewrite. + + * values.c (value_primitive_field): Adjust embedded offset and + offset calculation. + + * values.c (value_static_field): Take into consideration that static + data members can be minimal symbols too. + + * values.c (value_virtual_fn_field): Fix call to value_at. + + * win32-nat.c (handle_load_dll): Added params to call to symbol_file_add. + + Other changes have to do with XDB compatability. Leave oout + for now. + + defs.h (vfprintf_filtered): Change FILE to GDB_FILE in decl. + (fprintf_filtered): Ditto. + (fprintfi_filtered): Ditto. + (vfprintf_unfiltered): Ditto. + (fprintf_unfiltered): Ditto. + + infcmd.c (_initialize_infcmd): If xdb_commands is set, make S an + alias for next and define R, lr, g. Define go. + + pyr-tdep.c (pyr_print_insn): Change FILE to GDB_FILE. + + + * breakpoint.c (create_temp_exception_breakpoint): #If it out -- + nothing calls it. + (bpstat_stop_status): Don't call SOLIB_HAVE_LOAD_EVENT if it's not + defined; don't call SOLIB_HAVE_UNLOAD_EVENT if it's not defined. + (bpstat_get_triggered_catchpoints): If we don't have shared + library support, then don't call SOLIB_LOADED_LIBRARY_PATHNAME nor + SOLIB_UNLOADED_LIBRARY_PATHNAME. + (watch_command_1): Don't require a run before a watch command + unless we're on HP [it's an HP OS bug, not a generic limitation] + (catch_load_command_1): Don't define if no shared libraries. + (catch_command_1): Don't claim to support fork catchpoints unless + CHILD_INSERT_FORK_CATCHPOINT is defined, don't claim to support + vfork catchpoints unless CHILD_INSERT_VFORK_CATCHPOINT is defined, + don't clain to support shared library load catchpoints if shared + libraries aren't supported, and don't claim to support exec + catchpoints unless CHILD_INSERT_EXEC_CATCHPOINT is defined + + There are new target_ops vector fields that pertain + only to HPUX. Added the to_require_attach and + to_require_detach fields to exec_ops. These new + fields are ifdef'ed for HPUX_SNAP1. + + * breakpoint.h: + Fix compile error in enum bptype. + + * coff-solib.h: + Fixed a number of macro definitions. SOLIB_LOADED_LIBRARY_PATHNAME, + SOLIB_HAVE_LOAD_EVENT, SOLIB_HAVE_UNLOAD_EVENT, + SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_IN_DYNAMIC_LINKER. These + macros are only meaningful (for now) for SOM. So, all + the macros were defined as error(...), but were used in + conditions. This caused the compile to crap out. I redefined + these (for now) to be 0. + + * procfs.c: + (procfs_create_inferior): Fix call to fork_inferior -- need another + parameter. + + * solib.h: + Fixed a number of macro definitions. SOLIB_LOADED_LIBRARY_PATHNAME, + SOLIB_HAVE_LOAD_EVENT, SOLIB_HAVE_UNLOAD_EVENT, + SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_IN_DYNAMIC_LINKER. These + macros are only meaningful (for now) for SOM. So, all + the macros were defined as error(...), but were used in + conditions. This caused the compile to crap out. I redefined + these (for now) to be 0. + + * valops.c: + (search_struct_field): Undeclared local variable, "assigned". + (find_rt_vbase_offset): Fixed call to value_at + + * value.h: Fix signature for find_rt_vbase_offset funct decl + (missing a param) + +Wed Dec 30 17:48:12 1998 Stan Shebs + + From J.T. Conklin : + * i386-stub.c: Fix error string in last change. + +1998-12-30 Jason Molenda (jsm@bugshack.cygnus.com) + + * utils.c: 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. + +Wed Dec 30 17:23:14 1998 Mark Alexander + + * value.c (value_virtual_fn_field): Handle the situation where + vtbl is a pointer to a structure instead of a pointer to an array. + +Mon Dec 28 17:43:36 1998 David Taylor + + The following changes were made by Jim Blandy , + Edith Epstein , Elena Zannoni + Stan Shebs , and David + Taylor , as part of the project to merge in + changes originally made by HP; HP did not create ChangeLog + entries. + + * c-lang.h (cp_print_value_fields): Update prototype; fixed + prototype decl for c_val_print function -- it needed an + embedded_offset param; fixed prototype of cp_print_value_fields. + Include value.h. + (C_LANG_H): Define. + + * c-valprint.c (c_val_print): Add new parameter embedded_offset. + Add embedded_offset to valaddr in function calls. fix calls to + val_print, and cp_print_value_fields. Attempt to determine the + real type of the object to be printed. fixed call to + cp_print_value_fields. process TYPE_CODE_METHOD as well. moved + call to check_typedef out of conditional. add embedded offset + param to val_print call. + + (c_value_print): Add new parameter to call to val_print. Handle + pointer to class case. Ensure that const char *, const unsigned + char * come out without the type but the volatile variants and the + signed variants don't. + + * ch-lang.h (chill_val_print): Add parameter to decl. + + * ch-valprint.c: The various print routines have an additional + parameter. Currently, the new parameter is only used when printing + C++ expressions. So, in ch-valprint.c, the new parameter is always + 0. Changes in calls to val_print, chill_val_print, c_val_print + Affected functions are chill_val_print_array_elements, + chill_val_print, chill_print_value_fields, chill_value_print. + + * cp-valprint.c add vtable pointers names for aCC (HP) compiler. + (cp_print_class_method): Print message for HP/aCC case. + (cp_print_class_member): Add comments. + (cp_print_value): Adjust address computations for virtual base + classes. add new parameter 'offset'. Find correct offset for + base class in HP/aCC case. Change call to cp_print_value_fields + to have extra par. + (cp_print_value_fields): Do not print also if the only field is + the vtable pointer. Print out vtable ptr, for HP/aCC compiled + case. do not print leading '=' in case of anonymous union, or + struct. add new parameter 'offset'. Do not print the vtable + pointer as a member, in the HP aCC case. Changed calls to + val_print to have extra parameter. + (cp_print_hpacc_virtual_table_entries): New function. Print vtable + entries, in HP/aCC compiled case. + (cp_print_static_field): Change call to cp_print_value_fields, and + val_print. + + * d30v-tdep.c (d30v_print_register): Add embedded_offset param + to val_print call. + + * defs.h: Additional include files included when TUI is defined. + (gdb_file_isatty): New function decl. + (GDB_FILE): If TUI is defined, define a structure rather + than making this an alias for FILE. + (gdb_stdout, gdb_stderr): If TUI is defined, then define these + as pointers to variables of type GDB_FILE rather than making them + be aliases for stdout and stderr. + (TUIDO): Add definition conditionalized on definition + (or lack thereof) of TUI. + (command_class): Add two additional values. + (precision_type): New enum. + (gdb_fclose): Add decl. + (store_address): Change prototype to match function. + (tui_version, xdb_commands, dbx_commands): Add decls. + (gdb_file_deallocate): New function decl + (pa_do_strcat_registers_info): New function decl. + (streamtype): New enumerated type to distinguish between output to + a FILE and output to a buffer. + (tui_stream): New struct type, named GDB_FILE. + (gdb_stdout): Of type GDB_FILE, will pass this around gdb rather + than stdout. + (gdb_stderr): Of type GDB_FILE, will pass this around gdb rather + than stderr. + (fputs_unfiltered_hook): Change stream parameter from FILE to + GDB_FILE. + (flush_hook): Change stream parameter from FILE to GDB_FILE. + (gdb_fclose): Fix decl for gdb_fclose; parameter is now of + type GDB_FILE **. + (gdb_file_adjust_strbuf): New function decl. function lives + in utils.c. + (gdb_file_init_astring): New function decl. function lives + in utils.c. + (gdb_file_get_strbuf): New function decl. function lives in + utils.c. + (source_full_path_of): Declare. + + * exec.c (_initialize_exec): Make definition of file command be + dependent upon dbx_commands not being set. + (exec_file_attach): New function. + (exec_file_command): Call it. + (exec_ops): Add new target vector fields. + + * f-lang.h (f_print_type): Change FILE to GDB_FILE in decl. + (f_val_print): Ditto. + (f_val_print): Add parameter to the function decl. + + * f-valprint.c (_initialize_f_valprint): If xdb_commands is set, + define lc command. + (f77_create_arrayprint_offset_tbl): Change FILE to GDB_FILE. + (f77_print_array): Ditto. + (f77_print_array_1): Ditto. + (f_val_print): Ditto. + (f_val_print): Add a parameter; this new parameter is currently + only non-zero when handling C++ expressions. In this file its + value is always 0. changed fflush to gdb_flush. + + * gnu-nat.c: (init_gnu_ops): Add new target vector fields. + (gnu_create_inferior): Add param to fork_inferior call. + + * hppa-tdep.c (after_prologue): If f is NULL, don't dereference + it. if no debug info, return zero telling caller that we need to + find the end of the prologue via the hard way (instruction + examination). + (find_unwind_entry): Avoid dereferencing a null + pointer. + (hppa_pid_to_exec_file): Deleted -- no longer used. + (hppa_prepare_to_proceeed): Add prototype. + (read_unwind_info): Purecov comments, bug fixes. + (find_unwind_entry): Purecov comments, bug fixes. + (find_stub_with_shl_get): Purecov comments. + (frame_chain): Additional parens. + (hppa_push_arguments): Changes to commented out version of routine. + (hppa_fix_call_dummy): Purecov comments, fix location of end.o. + (in_solib_call_trampoline): Purecov comments. + (in_solib_return_trampoline): Purecov comments. + (setup_d_pid_in_inferior): Fix location of end.o. + (initialize_hp_cxx_exception_support): Fix location of end.o. + (child_enable_exception_callback): Purecov comments. + (pa_do_strcat_registers_info): Has a new parameter, precision, + which is passed into the call to pa_strcat_fp_reg to indicate + whether to display the floating point registers using + single or double preceision. + (pa_strcat_registers): Introduce local variable, precision, and + pass it into call to pa_strcat_fp_reg. + (pa_strcat_fp_reg): Modified function. New parameter, precision, + used by function to decide whether to use single or double + precision. Also add the code to put a double precision value + into a buffer. + (pa_do_strcat_registers_info): New routine. called by + tui/tuiRegs.c:_tuiRegisterFormat to place a register name + and value into a string buffer. Interface may change in + future. Checking this in so that we have something + functional for HP. + (pa_strcat_registers): New routine, called by + pa_do_strcat_registers_info. Does same thing as + pa_print_registers except it takes a stream parameter. + This routine should disappear in future. Checking in + so that we have something functional to give HP + (pa_strcat_fp_reg): New routine, called by + pa_do_strcat_registers_info and pa_strvat_registers + to place a floating point register name and value into + a buffer. This interface may change in future. + Checking in so that we have something functional to give HP. + (pa_print_fp_reg): Change prototype to match def'n. + (pa_register_look_aside): Fix comment immediately before function. + Changes to better support stack unwinding, reading and writing + registers for HPUX. New includes ptrace.h, bfd.h, dl.h. + (internalize_unwinds): Initialize new fields in table. + (read_unwind_info): Entries in the table are now more complex + structures. References of the form ...->table[index].stub_type are + now ...->table[index].stub_unwind.stub_type. + (find_proc_framesize): Add a check for pc == 0. + (rp_saved): Entries in the table are now more complex + structures. References of the form ...->table[index].stub_type are + now ...->table[index].stub_unwind.stub_type. + (frameless_function_invocation): Stub_type becomes + stub_unwind.stub_type + (saved_pc_after_call): Stub_type becomes stub_unwind.stub_type + (hppa_frame_saved_pc): Stub_type becomes stub_unwind.stub_type + (frame_chain_valid): Stub_type becomes stub_unwind.stub_type + (hppa_call_dummy): Stub_type becomes stub_unwind.stub_type + (pa_print_fp_reg): Additional params to call val_print + (in_solib_call_trampoline): Stub_type becomes + stub_unwind.stub_type + (in_solib_return_trampoline): Stub_type becomes + stub_unwind.stub_typ + (skip_trampoline_code): Additional code to handle external + dyncalls. Also stub_type becomes stub_unwind.stub_type + (hppa_pid_to_exec_file): New funct. FOr HPUX 10.0 and beyond there + is an explicit ptrace request for getting the pathname associated + with a process id (pid). + (hppa_pid_to_exec_file): Remove unwanted param from call to + call_ptrace. + (args_for_find_stub): New structure. + (find_unwind_entry): Deal with null input pc value. + (rp_saved): Ditto. + For the import stub, return -24 always. + (hppa_frame_saved_pc): Save old pc value, to detect we are in a loop. + (init_extra_frame_info): Use TARGET_READ_FP. + (frame_chain): Include thread support. + If the caller's pc is zero, we lose and return, just like stack + bottom. + Disable warning about being unable to find unwind info. + (hppa_push_arguments): Rewrite. + (hppa_value_returned_from_stack): New function. Handles returning + a value larger than 64 bits, stored on the stack. + (find_stub_with_shl_get): New function. To look up symbols in shlibs. + (cover_find_stub_with_shl_get): New function. Cover routine for + find_stub_with_shl_get to pass to catch_errors. + (hppa_fix_call_dummy): Comment out old stub mechanism. + Rewrite using dyncall. + (target_read_fp): New function. + (pa_do_registers_info): Floating point registers start at FP4. + (pa_print_registers): Use FP4_REGNUM instead of 72. + (skip_trampoline_code): Do machine instruction matching for PA2.0. + (setup_d_pid_in_inferior): New function. Exception handling support. + (initialize_hp_cxx_exception_support): Ditto. + (child_enable_exception_callback): Ditto. + (child_get_current_exception_event): Ditto. + + * hpux-thread.c (hpux_thread_ops): Add new target vector fields. + + * infcmd.c: Include objfiles.h. + (attach_command): New local variable, exec_file, add code to + determine exec_file from pid if exec_file is not already known, + call new target operation, target_post_attach -- a no-op unless + on HPUXHPPA. + (detach_command): After detaching, do a SOLIB_RESTART. + (objfiles.h): Fix typo on include line. + (run_command): Only call SOLIB_RESTART if it's defined. + (detach_command): Ditto. + (run_command): If program has already been started, and decide + to restart it, the kill the target, flush the caches, + call init_wait_for_inferior. Also purge old solib objfiles. + (run_stack_dummy): Add calls to + disable_watchpoints_before_interactive_call_start and + enable_watchpoints_after_interactive_call_stops. + (finish_command): Alter code handling the evaluation and printing + of the target function's return value. + (attach_command): When given a pid, but no exec file, try to + determine the exec file from the process. If the process does not + record a full path name, try to qualify the filename against the + source path. + (_initialize_infcmd): Add some verbiage about how to use the + attach command. + (do_registers_info): Changed calls to val_print + made the symfile.h include preceed the + objfiles.h include. The other ordering caused a + compile problem (incompletely defined types). + + * inftarg.c (child_post_attach): Fix decl, make static. + (proc_wait): Make globally visible. + (child_insert_fork_catchpoint, etc): Fix return type. + (child_detach_from_process): Declare. + (child_attach_to_process): Declare. + (child_stop): Make static to match decl. + (ptrace_him): Change prototype back to return int. + (ptrace_me): Remove debug output, pass NULL to fork_inferior if + not HPUX. + (proc_wait): function prototype and definition are enclosed by + proc_wait ifndef + (child_attach_to_process): New function, does most of the work + that child_attach used to do and some additional work to determine + whether gdb is already attached to the target how to react. + (child_attach): Altered. It's now a wrapper for + child_attach_to_process. + (child_require_attach): New function, called if should attach even + when gdb is already attached to target. + (child_detach_from_process): New function, does most of the work + that child_detach used to do and some additional work to determine + whether gdb is currently attached to the target. + (child_detach): Altered. It's now a wrapper for + child_detach_from_process. + (child_require_detach): New function, called if should try to + detach even when gdb is not attached to target. + (ptrace_him): Calls a new function, + target_acknowledge_forked_child. Currently, + target_acknowledge_forked_child, is only defined to do something + for HPUX. + (child_create_inferior): Changed call to fork_inferior. + (child_ops): Add to_require_attach and to_require_detach fields + to the child_ops target ops vector. + Some hacks for ttrace work: + (child_wait): Additional local variables, additional code in + while loop to check for process exited, process forked, + process vforked, process execd. + (child_thread_alive): John B. seems to think that the kill + call is inapproapriate for HPUX. + (child_attach_to_process): Using strtol rather than atoi. + no longer check for case where there is no known exec file. + (child_post_attach): New function, a default, a no-op. + (child_insert_fork_catchpoint): New function, a default, a no-op. + (child_remove_fork_catchpoint): New function, a default, a no-op. + (child_insert_vfork_catchpoint): New function, a default, a no-op. + (child_remove_vfork_catchpoint): New function, a default, a no-op. + (child_can_follow_vfork_prior_to_exec ):new function, a default, + a no-op. + (child_insert_exec_catchpoint): New function, a default, a no-op. + (child_remove_exec_catchpoint): New function, a default, a no-op. + (child_has_execd): New function, a default, returns 0. + (child_reported_exec_events_per_exec_call): New function, a + default, returns 1. + (child_has_exited): New function, a default. + (child_core_file_to_sym_file): New function, a default, returns NULL. + (child_ops): Initialize new target vector fields. + + * jv-lang.h: (Java_val_print): Add embedded_offset param to func + decl. + + * jv-valprint.c: Changing calls to val_print to accomodate new param. + (java_value_print): Add embedded_offset param to val_print call + (java_print_value_fields): Add embedded_offset param to val_print + call. + (java_val_print): Add embedded_offset param. alter call to + c_val_print to accomodate embedded_offset param. + + * language.c (lang_bool_type): Return builtin_type_bool in c++ + case. + (unk_lang_val_print): Add embedded_offset param to + prototype decl and definition. + + * language.h (LA_VAL_PRINT macro, la_val_print function decl): + altered to accomodate the new parameter to the various print + functions. + + * m2-lang.h (m2_val_print): Add a parameter to the function decl. + + * m2-valprint.c (m2_val_print): Add a parameter. + This parameter is currently only used when evaluating C++ + expressions. So, it is always 0 in this file. + + * m3-nat.c (m3_create_inferior): Add param to fork_inferior call + (m3_pid_to_exec_file): New function + (m3_ops): Add new target vector fields. + + * mac-nat.c (init_child_ops): Add new target vector fields. + + * mips-tdep.c: Chnages to accomodate additional parameter + to val_print. + (mips_print_register): Alter calls to val_print + + * monitor.c (monitor_write): Change stderr to gdb_stderr. + (monitor_remove_breakpoint): Ditto. + (init_base_monitor_ops): Add new target vector fields. + + * ppc-bdm.c (init_bdm_ppc_ops): Add new target vector fields. + + * printcmd.c (do_examine): When saving a value_ptr, remove it from + the list of value_ptr's to be freed automatically; when discarding + a previously saved value_ptr, free it. + (print_formatted): Update comments; add new comments. + (printf_command, print_insn): Purecov comments. + (_initialize_printcmd): Add assign as a command if dbx_commands is + set; create va as an alias for disassemble if xdb_commands is set. + (address_info): New cases LOC_INDIRECT and + LOC_THREAD_LOCAL_STATIC. + (display_command): If tui_version and exp starts with a '$', then + don't display it unless tui_vSetLayoutTo fails. + (disassemble_command): Add tuiDo calls. + (print_scalar_formatted): For integers that are long long, check + the print format and print out in binary octal, decimal, or + hex. Call the new print_*_chars functions in valprint.c + (print_frame_args): Altered calls to val_print, to reflect + additional parameter to val_print (case LOC_BASEREG_ARG). + + * procfs.c: (Procfs_init_inferior): Return value is now a void. + (procfs_ops): Add new target vector fields. + (procfs_create_inferior): Fix call to fork_inferior -- need another + parameter. + + * remote-adapt.c (adapt_open): Change stderr to gdb_stderr. + (adpat_insert_breakpoint): Ditto. + (init_adapt_ops): Add new target vector fields. + + * remote-array.c (array_wait): Change fflush to gdb_flush and + stdout to gdb_stdout. + (init_array_ops): Add new target vector fields. + + * remote-bug.c (bug_load): Change fflush to gdb_flush; stdout to + gdb_stdout. + (bug_wait): Change stderr to gdb_stderr. + (bug_insert_breakpoint): Ditto. + (init_bug_ops): Add new target vector fields. + + * remote-e7000.c + (init_e7000_ops): Add new target vector fields. + * remote-eb.c (init_eb_ops): Ditto. + * remote-es.c (init_es1800_ops): Ditto. + (init_es1800_child_ops): Ditto. + * remote-es.c (init_es1800_ops): Ditto. + (init_es1800_child_ops): Ditto. + * remote-hms.c (init_hms_ops): Ditto. + * remote-hms.c (init_hms_ops): Ditto. + * remote-nindy.c (init_nindy_ops): Ditto. + * remote-nrom.c (init_nrom_ops): Ditto. + * remote-os9k.c (init_rombug_ops): Ditto. + * remote-rdp.c (init_remote_rdp_ops): Ditto. + * remote-sds.c (init_sds_ops): Ditto. + * remote-sim.c (init_gdbsim_ops): Ditto. + * remote-st.c (init_st2000_ops): Ditto. + * remote-udi.c (init_udi_ops): Ditto. + * remote-vx.c (init_vx_ops): Ditto. + (init_vx_run_ops): Ditto. + * remote-vx.c: (Init_vx_ops): Ditto. + (init_vx_run_ops): Ditto. + + * remote-mips.c (mips_getstring): Change stderr to gdb_stderr. + (pmon_insert_breakpoint): Ditto. + (pmon_remove_breakpoint): Ditto. + (check_lsi_error): Ditto. + (common_breakpoint): Ditto. + (pmon_makeb64): Ditto. + + * remote-mips.c (mips_xfer_memory): Change fflush to gdb_flush; + change stdout to gdb_stdout. + + * remote-mm.c (mm_open): Change stderr to gdb_stderr. + (init_mm_ops): Add new target vector fields. + (mm_load): Fixed params in commented out call to symbol_file_add. + + * remote-nindy.c (instream): Change decl to FILE. + + * remote-udi.c (udi_load): Fixed params in call to symbol_file_add. + + * remote-vx.c (vx_add_symbols): Fixed params in call to + symbol_file_add. + + * remote.c (init_remote_ops): Cosmetic change to match expected + test output. + + * rs6000-nat.c (add_vmap): Add params to call to allocate_objfile. + + * scm-lang.h: Add parameter to scm_val_print function decl. + + * scm-valprint.c (scm_scmval_print): Cast svalue to (int); new + parameter. This parameter is currently only used when evaluating + C++ expressions. So, it is always 0 in this file. + (c_val_print): Fixed prototype decl; it needed an embedded_offset + param. + + * sol-thread.c (sol_core_ops): Add new target vector fields. + (sol_thread_ops): Ditto. + + * somsolib.c (DLD_FLAGS_MAPPRIVATE): New macro. + Define bit of __dld_flags in HP-UX a.out files. + (DLD_FLAGS_HOOKVALID): Ditto. + (DLD_FLAGS_LISTVALID): Ditto. + (DLD_FLAGS_BOR_ENABLE): Ditto. + (som_solib_total_st_size): Cumulative size in bytes of the + symbol tables of all shared objects on the so_list_head list. + (som_solib_st_size_threshhold_exceeded): Threshold for adding symbols + for shlibs. + (som_solib_sizeof_symbol_table): New function. Computes size of + symbol table for a shlib. + (som_solib_load_symbols): New function. Load symbols from shlib. + (som_solib_add): Detect if __dld_list is not valid. + Record main program's symbol table size. + Load symbols if called from command line. + Keep threshold into account when loading shlib symbols. + (som_solib_create_inferior_hook): Use dld_flags macros. + (som_sharedlibrary_info_command): Let user know if symbols were + not loaded. + (som_solib_restart): Discard all the shlibs descriptors. + (_initialize_som_solib): Chenge help message for auto-solib-add + command. + Set threshold for symbol table to 50 megabytes. + (_initialize_som_solib): Add call to som_solib_restart. + (som_solib_restart): New function + (som_solib_in_dynamic_linker): New function + (som_solib_desire_dynamic_linker_symbols): New function + (som_solib_unloaded_library_pathname): New function + (som_solib_loaded_library_pathname): New function + (som_solib_library_pathname): New function + (som_solib_have_unload_event): New function + (som_solib_have_load_event): New function + (som_solib_create_catch_unload_hook): New function + (som_solib_create_catch_load_hook): New function + (som_solib_create_inferior_hook): Rewritten + dld_cache: New struct + addr_and_unwind_t: New struct + (find_unwind_entry) add prototype + Include assert.h, remove references to ASSERT macro, + add include of fcntl.h so that O_RDONLY is defined. + (som_solib_create_inferior_hook): Introduce new local + msymbol2 and change some msymbol's to msymbol2's -- was clobbering + msymbol, passing a NULL to lookup_minimal_symbol_solib_trampoline, + and ultimately core dumping with a SEGV. + (som_solib_mapped_entry): Additional comments for text_addr, + text_link_addr, text_end, and tsd_start_addr fields. Commenting + out 2 tsd fields, __data_start and __data_end. + (som_solib_add_solib_objfile): Add params to calls to symbol_file_add. + Add some code for distinguishing between a shared library and other + objfiles. This appears to be a prelude to thread local storage. + (som_solib_load_symbols): Changes to printf statement + enclosed by SOLIB_DEBUG ifdef. + (som_solib_add): Change comment to correctly specify path + to end.o -- /opt/langtools/lib/end.o. changes to printf statement + enclosed by SOLIB_DEBUG ifdef. + Removed several SOLIB_DEBUG ifdefs and the associated printfs. + Add code to find the start address for the object file's thread + local storage + (som_solib_create_inferior_hook): Fix warning messages use correct + path to end.o -- /opt/langtools/lib/end.o. Change control flow. + No longer user early returns from function is cases of error. + (reset_inferior_pid): New function + (som_solib_remove_inferior_hook): New function + (so_lib_thread_start_addr): New function. used for tsd. + (struct som_solib_mapped_entry): Add new field tsd_start_addr. + (struct so_list): Add new field solib_addr. + (som_solib_add_solib_objfile): New function. + (som_solib_load_symbols): Rewritten. + (som_solib_add): Make sure we don't load the symbols in if the + threshold was exceeded. + (som_solib_get_solib_by_pc): New function. Return the address of + handle of the shared library. + (som_solib_restart): Disable breakpoints at restart. + + * sparcl-tdep.c (init_sparclite_ops): Add new target vector fields. + + * target.c (cleanup_target): Changed casting of default functions + for to_has_forked, to_has_vforked, to_pid_to_exec_file to get rid + of warnings. Fixed PARAMS for to_has_syscall_event. Fixed the + return type on a few of the default function values. + (cleanup_target): Changes in the de_fault macro, both to + accomodate the new target_ops vector fields and to use + more accurate default functions. + (debug_to_open): Change stderr to gdb_stderr. + (debug_to_close): Ditto. + (debug_to_attach): Ditto. + (debug_to_post_attach): Ditto. + (debug_to_require_attach): Ditto. + (debug_to_detach): Ditto. + (debug_to_require_detach): Ditto. + (debug_to_resume): Ditto. + (debug_to_wait): Ditto. + (debug_to_post_wait): Ditto. + (debug_to_fetch_registers): Ditto. + (debug_to_store_registers): Ditto. + (debug_to_prepare_to_store): Ditto. + (debug_to_xfer_memory): Ditto. + (debug_to_files_info): Ditto. + (debug_to_insert_breakpoint): Ditto. + (debug_to_remove_breakpoint): Ditto. + (debug_to_terminal_init): Ditto. + (debug_to_terminal_inferior): Ditto. + (debug_to_terminal_ours_for_output): Ditto. + (debug_to_terminal_ours): Ditto. + (debug_to_terminal_info): Ditto. + (debug_to_kill): Ditto. + (debug_to_load): Ditto. + (debug_to_lookup_symbol): Ditto. + (debug_to_create_inferior): Ditto. + (debug_to_post_startup_inferior): Ditto. + (debug_to_acknowledge_created_inferior): Ditto. + (debug_to_clone_and_follow_inferior): Ditto. + (debug_to_post_follow_inferior_by_clone): Ditto. + (debug_to_insert_fork_catchpoint): Ditto. + (debug_to_remove_fork_catchpoint): Ditto. + (debug_to_insert_vfork_catchpoint): Ditto. + (debug_to_remove_vfork_catchpoint): Ditto. + (debug_to_has_forked): Ditto. + (debug_to_has_vforked): Ditto. + (debug_to_can_follow_vfork_prior_to_exec): Ditto. + (debug_to_post_follow_vfork): Ditto. + (debug_to_insert_exec_catchpoint): Ditto. + (debug_to_remove_exec_catchpoint): Ditto. + (debug_to_has_execd): Ditto. + (debug_to_reported_exec_events_per_exec_call): Ditto. + (debug_to_has_syscall_event): Ditto. + (debug_to_has_exited): Ditto. + (debug_to_mourn_inferior): Ditto. + (debug_to_can_run): Ditto. + (debug_to_notice_signals): Ditto. + (debug_to_thread_alive): Ditto. + (debug_to_stop): Ditto. + (debug_to_enable_exception_callback): Ditto. + (debug_to_get_current_exception_event): Ditto. + (debug_to_pid_to_exec_file): Ditto. + (debug_to_core_file_to_sym_file): Ditto. + (default_clone_and_follow_inferior): New function prototype + decl and function definition. + (dummy_target): Add new target_ops vector fields and their + initializations. More target_ops vector changes for HPUX new + fields. + (de_fault): Add new HPUX specific target_ops operations to the + de_fault macro + (INHERIT): Add new HPUX specific target_ops operations. + (debug_to_post_wait): New function. + (debug_to_post_startup_inferior): Ditto. + (debug_to_acknowledge_created_inferior): Ditto. + (debug_to_clone_and_follow_inferior): Ditto. + (debug_to_post_follow_inferior_by_clone): Ditto. + (debug_to_create_catch_fork_hook): Ditto. + (debug_to_create_catch_vfork_hook): Ditto. + (debug_to_has_forked): Ditto. + (debug_to_has_vforked): Ditto. + (debug_to_post_follow_vfork): Ditto. + (setup_target_debug): Initialize new target_ops vector fields. + (nosupport_runtime): New function, used in cleanup_target + (update_current_target): Add new new target_ops vector fields to + the INHERIT macro definition. + (generic_mourn_inferior): The call to breakpoint_init_inferior now + takes a parameter. + (normal_pid_to_str): Add a \0 to the end of buf. + (debug_to_has_syscall_event): New function. + (debug_to_enable_exception_callback): New function. + (debug_to_get_current_exception_event): New function. + (setup_target_debug): Initialize the 3 new target_ops vector fields + (struct signals): Fix message associated with SIGRETRACT. + (return_one): New function, used by the de_fault macro + (debug_to_post_attach): New function. + (debug_to_wait): Add new cases TARGET_WAITKIND_FORKED, + TARGET_WAITKIND_VFORKED, TARGET_WAITKIND_EXECD. + (debug_to_insert_fork_catchpoint): New function. + (debug_to_remove_fork_catchpoint): Ditto. + (debug_to_insert_vfork_catchpoint): Ditto. + (debug_to_remove_vfork_catchpoint): Ditto. + (debug_to_can_follow_vfork_prior_to_exec): Ditto. + (debug_to_insert_exec_catchpoint): Ditto. + (debug_to_remove_exec_catchpoint): Ditto. + (debug_to_core_file_to_sym_file): Ditto. + (setup_target_debug): Give new fields in current_target target_ops + vector values. + + * target.h: Include symtab.h. + (target_waitkind): New enumerated values + TARGET_WAITKIND_SYSCALL_ENTRY, TARGET_WAITKIND_SYSCALL_RETURN, + TARGET_WAITKIND_FORKED, TARGET_WAITKIND_VFORKED, + TARGET_WAITKIND_EXECD. + (target_waitstatus): Add a syscall_id field to structure. + (child_has_syscall_event): New decl. + (child_thread_alive): New decl. + (target_ops): Add 3 new fields: To_has_syscall_event, + to_enable_exception_callback, to_get_current_exception_event + (target_enable_exception_callback): New macro. + (target_has_syscall_event): New macro. + (target_get_current_exception_event): New macro. + (TARGET_DISABLE_HW_WATCHPOINTS): New macro. + (TARGET_ENABLE_HW_WATCHPOINTS): New macro. + (PC_REQUIRES_RUN_BEFORE_USE): New macro. + (target_tid_to_str): New macro. + (target_waitstatus): Additional fields in struct to keep track + of child pid and pathname to execd file. + (target_ops): Add in the new target_ops function pointer fields. + New macros to go along with new target_ops fields. + In target_waitstatus.value, change name of child_pid field to + related_pid. + (target_pid_or_tid_to_str): Define default macro. + Add missing #endif after PC_REQUIRES_RUN_BEFORE_USE definition + (ENSURE_VFORKING_PARENT_REMAINS_STOPPED): Define default macro. + (RESUME_EXECD_VFORKING_CHILD_TO_GET_PARENT_VFORK): Define default + macro. + There are new function decls for to_require_attach + and to_require_detach. There are also new macros, + target_require_attach and target_require_detach. There are + also new function decls for find_default_require_detach + and find_default_require_attach. + (target_ops): New fields to_post_wait, to_post_startup_inferior + to_acknowledge_created_inferior, to_clone_and_follow_inferior, + to_post_follow_inferior_by_clone, to_create_catch_fork_hook, + to_create_catch_vfork_hook, to_has_forked, to_has_vforked, + to_post_follow_vfork, to_pid_to_exec_file. + New function definitions child_pid_to_exec_file, child_post_wait, + child_post_startup_inferior, child_acknowledge_created_inferior, + child_clone_and_follow_inferior, + child_post_follow_inferior_by_clone, child_create_catch_fork_hook, + child_create_catch_vfork_hook, child_has_forked, + child_has_vforked, child_acknowledge_created_inferior, + child_post_follow_vfork. + New macros target_post_startup_inferior, + target_acknowledge_created_inferior, + target_clone_and_follow_inferior, + target_post_follow_inferior_by_clone, + target_create_catch_fork_hook, target_create_catch_vfork_hook, + target_pid_to_exec_file. + (find_default_clone_and_follow_inferior): New function prototype. + + + * v850ice.c (init_850ice_ops): Init new target vector fields. + + * valprint.c (print_binary_chars): Print out long long as + a binary number. + (print_octal_chars): Print out long long as an octal number + (print_decimal_chars): Print out long long as a decimal number + (strcat_longest): Define it. + * valprint.c: Hp merge, 4/15/98 snapshot + Add parameter to val_print. This is used for + evaluating C++ expressions. + + * value.h (VALUE_POINTED_TO_OFFSET): New macro. + Add field pointed_to_offset to value structure. + Add prototypes for new functions in valops.c. + (write_register_pid): Change prototype to match + function. + (val_print function decl): Additional parameter. + (VALUE_EMBEDDED_OFFSET): New macro. + (find_rt_vbase_offset): New function decl -- for C++ support. + +Wed Dec 23 15:03:42 1998 Per Bothner + + * Makefile.in (READLINE_CFLAGS): Search $(READLINE_SRC)/.. rather + than $(READLINE_SRC) so #include will work. + * top.c: #include instead of "history.h". + * tracepoint.c: Likewise. + * mac-xdep.c: Likewise. + +Wed Dec 23 12:32:00 1998 Andrew Cagney + + * defs.h (TARGET_FLOAT_FORMAT, TARGET_DOUBLE_FORMAT): Define using + TARGET_BYTE_ORDER and not target_byte_order. + +Tue Dec 22 10:51:33 1998 Elena Zannoni + + * config/i386/cygwin.mh (TERMCAP): define. + (from Chris Faylor, cgf@cygnus.com) + + * top.c: specify directory name for including readline.h + + * tracepoint.c: ditto. + + * utils.c: ditto. + +Mon Dec 21 13:30:34 1998 Mark Alexander + + * value.c (value_virtual_fn_field): Handle the situation where + vtbl is a pointer to a structure instead of a pointer to an array. + +Mon Dec 21 10:38:11 1998 Andrew Cagney + + * mips-tdep.c: (MIPS_DEFAULT_FPU_TYPE): Default to + MIPS_FPU_DOUBLE. + +1998-12-17 J.T. Conklin + + * 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. + +Sat Dec 19 09:55:09 1998 Stu Grossman + + * mips-tdep.c (mips32_heuristic_proc_desc): Clear temp_saved_regs + on restart. Fixes problem with backtracing through functions that + use virtual frame pointers. + +Fri Dec 18 14:23:34 1998 Andrew Cagney + + * mips-tdep.c (mips_push_arguments): Don't left-shift small + structs being passed in a register when an O64 target. + + * config/mips/tm-mips.h (enum mips_fpu_type, mips_fpu): Move to + mips-tdep.c. + + * mips-tdep.c (mips_fpu_string): Delete variable. + (mips_fpu_type_auto): New variable. + (mips_fpu_type): Rename mips_fpu. + (_initialize_mips_tdep): Delete initialization of mips_fpu et.al. + Rewrite ``set mipsfpu'' command set. + (set_mipsfpu_command, show_mipsfpu_command, + set_mipsfpu_single_command, set_mipsfpu_double_command, + set_mipsfpu_none_command, set_mipsfpu_auto_command): New + functions, handle commands. + (mips_push_arguments, mips_push_dummy_frame, mips_pop_frame, + mips_extract_return_value): Update. + (_initialize_mips_tdep): Set mips_fpu_type according to current + processor. + (_initialize_mips_tdep): Only define ``set processor'' command + when not multi-sim. + +Fri Dec 18 12:56:56 1998 Andrew Cagney + + * gdbarch.h (gdbarch_init_ftype): Pass struct gdbarch_info + by-value. + (struct gdbarch_info): Add struct gdbarch_tdep_info *tdep_info. + * gdbarch.c (gdbarch_update): Update. + * mips-tdep.c: (mips_gdbarch_init): Update + + * gdbarch.c (gdbarch_update): Add more tracing. + +Thu Dec 17 02:15:40 1998 Andrew Cagney + + * configure.tgt (gdb_target): Identify mips64*vr4100*-*-elf* as + vr4100. + * config/mips/vr4100.mt, config/mips/tm-vr4100.h: Replace + vr4xxx.mt and tm-vr4xxx.h. + +Thu Dec 17 02:06:17 1998 Andrew Cagney + + * mips-tdep.c (mips_gdbarch_init): New function. Initialize a MIPS + architecture vector. + (_initialize_mips_tdep): Register MIPS with GDBARCH. + (struct gdbarch_tdep): Define. + (MIPS_EABI, MIPS_LAST_FP_ARG_REGNUM, MIPS_LAST_ARG_REGNUM): When + multi-arch, get value from gdbarch->tdep. + +Thu Dec 17 02:01:58 1998 Andrew Cagney + + * gdbtypes.c (_initialize_gdbtypes): Register all builtin types + with gdbarch so that they are updated whenever the architecture is + changed. + +Thu Dec 17 01:58:16 1998 Andrew Cagney + + * gdbarch.h (GDB_MULTI_ARCH): New macro, default to zero. + (current_gdbarch): Current architecture pointer. + * gdbarch.c (struct gdbarch): Define. + + * gdbarch.h (TARGET_ARCHITECTURE, TARGET_BYTE_ORDER, + TARGET_LONG_BIT, TARGET_LONG_LONG_BIT, TARGET_PTR_BIT): When + multi-arch force definition. + * gdbarch.h, gdbarch.c (gdbarch_tdep, gdbarch_bfd_arch_info, + gdbarch_byte_order, {set,}gdbarch_long_bit, + {set,}gdbarch_long_long_bit, {set,}gdbarch_ptr_bit): Corresponding + functions. + + * gdbarch.h (struct gdbarch_list, struct gdbarch_info, + gdbarch_init_ftype), gdbarch.c (register_gdbarch_init): Mechanism + for registering an architecture with GDB. + (gdbarch_list_lookup_by_info, gdbarch_alloc, gdbarch_update, + verify_gdbarch): Support functions. + + * gdbarch.h (gdbarch_data_ftype), gdbarch.c + (register_gdbarch_data, gdbarch_data): Mechanism for maintaining + per-architecture pointers. + (init_gdbarch_data): Support functions. + + * gdbarch.h (gdbarch_swap_ftype), gdbarch.c + (register_gdbarch_swap): Ditto for swapped memory regions. + (init_gdbarch_swap, swapout_gdbarch_swap, swapin_gdbarch_swap): + Support functions. + + * gdbarch.c (set_endian_big, set_endian_little, set_architecture, + info_architecture, set_gdbarch_from_file): Hook in multi-arch + code by calling gdbarch_update. + (default_gdbarch): Default multi-arch vector. Use host's type + system for values. + +Thu Dec 17 01:34:36 1998 Andrew Cagney + + * gdbtypes.c (build_gdbtypes): New function. + (_initialize_gdbtypes): Call. + +Wed Dec 16 11:47:00 1998 Andrew Cagney + + * gdbarch.c (show_architecture): Use TARGET_ARCHITECTURE. + * gdbarch.h, gdbarch.c: Fix typo's. Use struct's in preference to + types. + * gdbarch.h, gdbarch.c (gdbarch_debug): Add ``set archdebug'' to + command set. + +Tue Dec 15 23:46:40 1998 Andrew Cagney + + * config/mips/tm-*.h: (TARGET_BYTE_ORDER_DEFAULT, + TARGET_BYTE_ORDER_SELECTABLE_P): Replace TARGET_BYTE_ORDER and + TARGET_BYTE_ORDER_SELECTABLE. + +1998-12-14 Anthony Thompson (athompso@cambridge.arm.com) + + * 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. + +1998-12-14 J.T. Conklin + + * config/i386/nbsd.mh, config/m68k/nbsd.mh, config/ns32k/nbsd.mh + (XDEPFILES): Add ser-tcp.o. + +Mon Dec 14 14:46:13 1998 Andrew Cagney + + * monitor.c (monitor_expect, monitor_printf_noecho, + monitor_printf): Always compile EXTRA_RDEBUG code. + (RDEBUG): Ditto. + + From Michael Meissner : + * ppcbug-rom.c (init_ppc_cmds): Cleanup formatting. + +1998-12-08 Michael Meissner + + * monitor.c (monitor_printable_string): New function to convert a + string into 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. + +Mon Dec 14 11:01:39 1998 Andrew Cagney + + * gdbarch.h, gdbarch.c: Consolidate the semi-dynamic target system + dependant GDB parameters. + (set_gdbarch_from_file): Combine set_architecture_from_file and + set_byte_order_from_file. + * top.c, defs.h, printcmd.c: Delete them from here. + * Makefile.in: Add gdbarch.[ch]. + * exec.c (exec_file_command): Call set_gdbarch_from_file. + +Sun Dec 13 09:52:51 1998 Andrew Cagney + + * defs.h (TARGET_PRINT_INSN_INFO, TARGET_PRINT_INSN): Define. + (TARGET_ARCHITECTURE, TARGET_ARCHITECTURE_AUTO): Define. + (TARGET_BYTE_ORDER_AUTO): Define. + (TARGET_BYTE_ORDER_SELECTABLE_P): Provide default. Replaces + TARGET_BYTE_ORDER_SELECTABLE. Handle compat issues. + (BITS_BIG_ENDIAN): Simplify. + (TARGET_FLOAT_FORMAT): Ditto. + (TARGET_DOUBLE_FORMAT): + + * remote-e7000.c, sh-tdep.c, printcmd.c, remote-sim.c, + remote-rdi.c, sparc-tdep.c: Update. + + * config/powerpc/tm-ppcle-eabi.h, config/rs6000/tm-rs6000.h, + config/powerpc/tm-ppc-eabi.h, config/mn10300/tm-mn10300.h: + Convert. + +Sat Dec 12 09:28:13 1998 Andrew Cagney + + * frame.h (struct frame_info): Add CORE_ADDR *saved_regs and + struct frame_extra_info *extra_info. + (frame_obstack_alloc, frame_saved_regs_zalloc): Prototype. + (SIZEOF_FRAME_SAVED_REGS): Provide default. + (FRAME_INIT_SAVED_REGS): Provide default. + (struct frame_saved_regs): Deprecate. + (EXTRA_FRAME_INFO): Deprecate. + + * blockframe.c (frame_obstack_alloc, frame_saved_regs_zalloc): New + function. + (generic_get_saved_register): Use FRAME_INIT_SAVED_REGS and + frame->saved_regs. + (frame_cache_obstack): Make static. + (get_frame_saved_regs): Deprecate. Copy the saved regs into the + frame buffer. + + * stack.c (frame_info): Rewrite using frame->saved_regs and + FRAME_INIT_SAVED_REGS. + * findvar.c (find_saved_register): Ditto. + + * config/mn10300/tm-mn10300.h (EXTRA_FRAME_INFO): Delete. + (FRAME_FIND_SAVED_REGS): Replace with FRAME_INIT_SAVED_REGS. No-op. + * mn10300-tdep.c: Update. + (analyze_dummy_frame): New function. + (struct frame_extra_info): Define. + (mn10300_init_extra_frame_info): Update. + + * config/rs6000/tm-rs6000.h: (EXTRA_FRAME_INFO): Delete. + (FRAME_FIND_SAVED_REGS): Replace with FRAME_INIT_SAVED_REGS. + (FRAME_ARGS_ADDRESS): Replace with function. + + * rs6000-tdep.c (frame_get_saved_regs): Rename from + frame_get_cache_fsr. + (rs6000_init_extra_frame_info): New function. + (rs6000_frame_init_saved_regs): Call frame_get_saved_regs. + (FUNCTION_START_OFFSET): Delete references, was ZERO. + (rs6000_frame_args_address): New function. + (frame_initial_stack_address): Update + + * config/mips/tm-mips.h (EXTRA_FRAME_INFO): Remove saved_regs. + (FRAME_INIT_SAVED_REGS): Rename FRAME_FIND_SAVED_REGS, update. + * mips-tdep.c (mips_find_saved_regs, read_next_frame_reg, + init_extra_frame_info, mips_pop_frame): Update. + * config/alpha/tm-alpha.h (FRAME_INIT_SAVED_REGS, + EXTRA_FRAME_INFO), alpha-tdep.c (alpha_find_saved_regs, + alpha_pop_frame, init_extra_frame_info): Ditto. + + * i960-tdep.c, m88k-tdep.c, h8300-tdep.c: Update. + * config/sparc/tm-sparc.h, config/a29k/tm-a29k.h: Define + FRAME_INIT_SAVED_REGS as no-op. + + * z8k-tdep.c (z8k_init_frame_saved_regs): Rename + get_frame_saved_regs. + (examine_frame, z8k_skip_prologue): Update. + * config/z8k/tm-z8k.h (FRAME_INIT_SAVED_REGS): Define. + +1998-12-11 Fernando Nasser + + From J.T. Conklin : + * i386-stub.c (handle_exception): Add support for 'P' command. + (NUMREGS): New macro. + +Fri Dec 11 09:07:05 1998 Andrew Cagney + + * i386b-nat.c: Include "expression.h". + + * symtab.h: Don't include "gnu-regex.h". + + * solib.c (solib_add_common_symbols): Cast parameters passed to + make_cleanup to use the new make_cleanup_func typedef. + + * inftarg.c: Include "wait.h" after, rather than before, . + "wait.h" was defining all WIF* macro's instead of filling in those + that missed. + +Fri Dec 11 09:52:04 1998 Andrew Cagney + + * mipsm3-nat.c, hppah-nat.c, infptrace.c, i386gnu-nat.c, + hppab-nat.c, core-aout.c, arm-xdep.c, alpha-nat.c, altos-xdep.c, + pyr-xdep.c, remote-st.c, remote-os9k.c, tahoe-tdep.c, pyr-tdep.c, + vax-tdep.c: Replace reg_name with REGISTER_NAME. + +Thu Dec 10 15:19:40 1998 David Taylor + + The following changes were made by Jim Blandy , + Edith Epstein , Elena Zannoni + Stan Shebs , and David + Taylor , as part of the project to merge in + changes originally made by HP; HP did not create ChangeLog + entries. + + * annotate.c (annotate_catchpoint): New function. + + * annotate.h (annotate_catchpoint): declare it; add new includes + (symtab.h and gdbtypes.h). + + * buildsym.h: add external var processing_hp_compilation. + + * coff-solib.h: + (SOLIB_REMOVE_INFERIOR_HOOK): new macro. defined to 0. + functionality not implemented for coff. + (SOLIB_CREATE_CATCH_LOAD_HOOK): New macro; generate error msg for coff. + (SOLIB_CREATE_CATCH_UNLOAD_HOOK): ditto. + (SOLIB_HAVE_LOAD_EVENT): ditto. + (SOLIB_LOADED_LIBRARY_PATHNAME): ditto. + (SOLIB_HAVE_UNLOAD_EVENT): ditto. + (SOLIB_UNLOADED_LIBRARY_PATHNAME): ditto. + (SOLIB_IN_DYNAMIC_LINKER): ditto. + (SOLIB_RESTART): ditto. + + * complaints.h: add ifdef...endif pair at beginning and end of file. + + * dstread.c (dst_symfile_read): the parameter to fileno + must be of type FILE *. So cast abfd->iostream in the + call to fileno must be cast as a FILE *, not a GDB_FILE *. + This will work because abfd->iostream is declared and + given a value in bdf and bfd will continue to use FILE + rather than GDB_FILE. + + * dwarf2read.c (dwarf_bool_name): change parameter from bool + to mybool. sigh. + + * expression.h: include symtab.h + + * frame.h (print_only_stack_frame, show_stack_frame, + show_frame_info): add prototypes. + + * gdbcmd.h (togglelist, stoplist): declare. + + * gdbcore.h (read_memory_string): declare it. + (exec_file_attach): add prototype. + + * inflow.c (terminal_is_ours): make non static. + + * minsyms.c: minor spacing change. + + * parser-defs.h (parse_nested_classes_for_hpacc): add prototype. + (find_template_name_end): add prototype. + + * scm-lang.c (scm_unpack): cast svalue to (int). + + * top.h: declare it. + + * valprint.h (print_binary_chars): new prototype definition. + (print_octal_chars): new prototype definition. + (print_decimal_chars): new prototype definition. + +Thu Dec 10 07:14:56 1998 Andrew Cagney + + * config/arm/tm-arm.h, arm-tdep.c: Replace REGISTER_NAMES with + REGISTER_NAME. + * mn10300-tdep.c, config/mn10300/tm-mn10300.h: Ditto. + * sh-tdep.c, config/sh/tm-sh.h: Ditto. + + * defs.h (REGISTER_NAME): Provide default for old targets. + * defs.h, infcmd.c: Rename reg_names to gdb_register_names. + + * tracepoint.c, target.c, parse.c, infcmd.c, remote-udi.c, + expprint.c, infcmd.c, printcmd.c, eval.c, stack.c, findvar.c, + remote-udi.c, config/alpha/tm-alpha.h, remote-sim.c, d30v-tdep.c, + config/mips/tm-mips.h, hppa-tdep.c: Use REGISTER_NAME. + +1998-12-08 James E Wilson + + * config/i960/mon960.mt (SIM_OBJS, SIM): Define. + +Tue Dec 8 16:49:24 1998 Stan Shebs + + * NEWS: Add mentions of newly-added configurations. + +1998-12-08 Philippe De Muyter + + * 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. + +Tue Dec 8 15:09:44 1998 Edith Epstein + + Merged in m68k-linux patch from Andreas Schwab + + 1998-12-01 Andreas Schwab + + * 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. + +1998-12-07 Jason Molenda (jsm@bugshack.cygnus.com) + + * config/i386/xm-cygwin.h: Remove REQUEST_QUIT definition. + * config/powerpc/xm-cygwin.h: Ditto. + +1998-12-07 Jim Blandy + + * rs6000-tdep.c (pop_frame): Correctly find the registers saved in + the stack frame. Their offset from the previous stack frame is in + fdata.gpr_offset and fdata.fpr_offset, not fdata.offset. + (gdb.base/return.exp) + * config/rs6000/tm-rs6000.h: Doc fixes. + +1998-12-03 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (monitor_read_memory): Zero out pattern buffers + before calling re_search. + (parse_register_dump): Ditto. + +Thu Dec 3 10:37:22 EST 1998 Zdenek Radouch (radouch@cygnus.com) + + FR30 updates - still very preliminary. + * configure.tgt + * fr30-tdep.c + * config/fr30/tm-fr30.h + +Thu Dec 3 16:30:35 1998 Andrew Cagney + + * ax-gdb.c: Include target.h. + +Tue Dec 3 10:59:00 1998 Andrew Cagney + + * ax-gdb.c (_initialize_ax_gdb), i960-tdep.c (pop_frame), + monitor.c (flush_monitor_dcache, longlongendswap), remote-array.c + (hexword2ascii), w89k-rom.c (init_w89k_cmds), z8k-tdep.c + (init_frame_pc, extract_return_value): Make return type void. + * monitor.c (monitor_write_even_block): Make return type explicit. + (monotor_read_memory_block): Delete function. + * monitor.h: Update. + * remote.c (remote_get_threadlist, remote_update_threads), + remote-array.c (array_get_packet), remote-rdi.c (Fail): Always + return a value. + * m32r-tdep.c (m32r_fix_call_dummy): From Michael Snyder, void + function. + * jv-valprint.c (java_val_print): From Stu Grossman. Return 0 by + default. + +Wed Dec 2 15:11:38 1998 Michael Snyder + + * tracepoint.c: Move default definition of + TARGET_VIRTUAL_FRAME_POINTER from here to target.h. + * target.h: Add default definition of TARGET_VIRTUAL_FRAME_POINTER. + * ax-gdb.c (gen_frame_args_address, gen_frame_locals_address): + use TARGET_VIRTUAL_FRAME_POINTER to determine frame pointer. + (gen_trace_for_expr): new argument, address of tracepoint, + gets passed to new_agent_expr and added to struct agent_expr. + (is_nontrivial_conversion): call to new_agent_expr now requires + a dummy argument. (agent_command): use get_current_frame() to + get current PC scope; pass it to gen_trace_for_expr. + * ax-general.c (new_agent_expr): new argument, address of + tracepoint; store it in new field of struct agent_expr. + * ax.h (struct agent_expr): add new field for tracepoint address. + * ax-gdb.h: change prototypes to match above changes. + + * m32r-tdep.c (decode_prologue): If no branch or push fp is found, + but there's a stack adjust, then use that as the end of prologue. + (m32r_skip_prologue): don't skip past the first line if there is + line info. (m32r_virtual_frame_pointer): new function. + (m32r_fix_call_dummy): no return value needed. + +Tue Dec 1 10:59:00 1998 Andrew Cagney + + * ocd.c (remote_timeout), (BDM_BREAKPOINT), monitor.c (readchar), + remote.c: Cleanup closing of open comments. + +Mon Nov 30 16:04:03 1998 Doug Evans + + * config/fr30/tm-fr30.h (INNER_THAN): Add parameters. + +Mon Nov 30 11:18:48 1998 Andrew Cagney + + * frame.h (FRAME_CHAIN_VALID): Default to + default_frame_chain_valid. + * blockframe.c (default_frame_chain_valid): New function. + + * frame.h (FRAME_CHAIN_VALID_ALTERNATIVE): Delete references + * blockframe.c (alternate_frame_chain_valid): New function. + * config/mips/tm-mipsv4.h, config/m88k/tm-delta88v4.h, + config/m68k/tm-monitor.h, config/m68k/tm-m68kv4.h, + config/i386/tm-i386v4.h, config/i386/tm-i386nw.h, + config/h8300/tm-h8300.h: Update. + + * blockframe.c (nonnull_frame_chain_valid): New function. + * config/m68k/tm-os68k.h, config/m68k/tm-vx68.h, + config/m68k/tm-apollo68b.h, config/i960/tm-vx960.h, + config/arc/tm-arc.h: Update FRAME_CHAIN_VALID. + + * hppa-tdep.c (frame_chain_valid, hppa_frame_chain_valid), + remote-vx29k.c (get_fp_contents, vx29k_frame_chain_valid), + arm-tdep.c (frame_chain_valid, arm_frame_chain_valid): Rename + functions so that they are name space clean. + * config/pa/tm-hppa.h, config/a29k/tm-vx29k.h, + config/arm/tm-arm.h: Update FRAME_CHAIN_VALID. + + * gould-tdep.c (gould_frame_chain_valid), d30v-tdep.c + (d30v_frame_chain_valid), d10v-tdep.c (d10v_frame_chain_valid): + New functions. + * config/gould/tm-np1.h, config/gould/tm-pn.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h: Update + FRAME_CHAIN_VALID. + +Sun Nov 29 11:18:37 1998 Andrew Cagney + + * z8k-tdep.c (z8k_addr_bits_remove), w65-tdep.c + (w65_addr_bits_remove), h8500-tdep.c (h8500_addr_bits_remove), + m88k-tdep.c (m88k_addr_bits_remove): Function to clean up an + address. + * config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/m88k/tm-m88k.h, + config/h8500/tm-h8500.h: Define ADDR_BITS_REMOVE to call targets + corresponding function. + * z8k-tdep.c (saved_pc_after_call): Update. + +Sat Nov 28 12:24:31 1998 Andrew Cagney + + * config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/vax/tm-vax.h, + config/v850/tm-v850.h, config/tahoe/tm-tahoe.h, + config/sparc/tm-sparc.h, config/sh/tm-sh.h, + config/rs6000/tm-rs6000.h, config/pyr/tm-pyr.h, + config/pa/tm-hppa.h, config/ns32k/tm-umax.h, + config/ns32k/tm-merlin.h, config/none/tm-none.h, + config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h, + config/mips/tm-mips.h, config/m88k/tm-m88k.h, + config/m68k/tm-m68k.h, config/m32r/tm-m32r.h, + config/i960/tm-i960.h, config/i386/tm-i386.h, + config/h8500/tm-h8500.h, config/h8300/tm-h8300.h, + config/gould/tm-pn.h, config/gould/tm-np1.h, config/arm/tm-arm.h, + config/convex/tm-convex.h, config/d10v/tm-d10v.h, + config/alpha/tm-alpha.h, config/a29k/tm-a29k.h: Add parameters to + macro INNER_THAN. + + * valops.c (push_word, value_push, call_function_by_hand), + breakpoint.c (bpstat_stop_status), blockframe.c + (generic_push_dummy_frame, generic_frame_chain_valid), inferior.h + (PC_IN_CALL_DUMMY), infrun.c (wait_for_inferior): Update use of + INNER_THAN. + +Fri Nov 27 11:00:25 1998 Andrew Cagney + + * target.h (one_stepped): Move global from here. + * infrun.c (singlestep_breakpoints_inserted_p): To here. Rename. + Make static. + (wait_for_inferior): Update. + (resume): Update. Set variable after call to SOFTWARE_SINGLE_STEP. + + * target.h (NO_SINGLE_STEP): Replace with SOFTWARE_SINGLE_STEP_P + and SOFTWARE_SINGLE_STEP. + * config/sparc/tm-sparc.h, config/rs6000/tm-rs6000.h, + config/arc/tm-arc.h: Update. + * rs6000-tdep.c (rs6000_software_single_step), sparc-tdep.c + (sparc_software_single_step), arc-tdep.c (arc_single_step): New + functions. Replace function single_step. + + * config/mips/tm-mips.h (STEP_SKIPS_DELAY_P): Define. + * infrun.c (proceed): Cleanup. + +Thu Nov 26 11:19:15 1998 Andrew Cagney + + * config/alpha/tm-alpha.h (ABOUT_TO_RETURN): Replace macro. + * alpha-tdep.c (alpha_about_to_return): With new function. + (heuristic_proc_start): Update. + * config/mips/tm-mips.h (ABOUT_TO_RETURN), mips-tdep.c + (heuristic_proc_start, mips_about_to_return): Ditto. + * config/ns32k/tm-merlin.h (ABOUT_TO_RETURN), + config/ns32k/tm-umax.h (ABOUT_TO_RETURN), ns32k-tdep.c + (ns32k_about_to_return, ns32k_get_enter_addr): Ditto. + + * config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/vax/tm-vax.h, + config/tahoe/tm-tahoe.h, config/sparc/tm-sparc.h, + config/sh/tm-sh.h, config/rs6000/tm-rs6000.h, config/pyr/tm-pyr.h, + config/pa/tm-hppa.h, config/m88k/tm-m88k.h, config/m68k/tm-m68k.h, + config/i960/tm-i960.h, config/i386/tm-i386.h, + config/h8500/tm-h8500.h, config/h8300/tm-h8300.h, + config/gould/tm-pn.h, config/gould/tm-np1.h, + config/convex/tm-convex.h, config/arm/tm-arm.h, + config/arc/tm-arc.h, config/a29k/tm-a29k.h: Delete macro + ABOUT_TO_RETURN. + * config/w65/tm-w65.h (RTL, RTS): Delete macros. + * h8500-tdep.c (about_to_return): Delete function. + +Thu Nov 26 11:19:15 1998 Andrew Cagney + + * rs6000-tdep.c (rs6000_breakpoint_from_pc): Change big_breakpoint + and little_breakpoint to char[] from char*. + * remote-array.c (array_insert_breakpoint): Change bp_addr to + CORE_ADDR type. + +Wed Nov 25 00:13:06 1998 Andrew Cagney + + * vx-share/xdr_ld.c (xdr_ldtabl): Cast second arg to char** + instead of char*. + + * configure.tgt (v850): Only build v850ice when cygwin and gui. + * configure.in: Add parameter to --enable-build-warnings. + * configure: Re-build. + + * c-exp.y (parse_number): Rewrite shift to pacify GCC. + + * config/i960/tm-i960.h (BREAKPOINT): Delete definition - simply + wrong. + + * monitor.c (compile_pattern): Make val const char*. + (monitor_wait_cleanup): Make old_timeout void*, pointing at + old_timeout. + (monitor_wait): Update. + + * remote-udi.c, remote-sim.c, remote-e7000.c, hppa-tdep.c, + remote-mips.c, sparcl-tdep.c, xcoffread.c: Cast parameters passed + to make_cleanup to use the new make_cleanup_func typedef. + + * alpha-tdep.c (MASK): Use LONGEST to avoid arithmetic overflow. + + * config/a29k/tm-a29k.h (TRANSPARENT): Rename macro to + TRANSPARENT_FRAME. Avoid name-space clash. + * a29k-tdep.c (init_frame_info): Update. + +Wed Nov 25 20:37:00 1998 Andrew Cagney + + * rs6000-tdep.c (rs6000_breakpoint_from_pc): Change big_breakpoint + and little_breakpoint to char[] from char*. + * mem-break.c (memory_insert_breakpoint, + memory_remove_breakpoint): Pass address of bplen. + * remote-array.c (array_insert_breakpoint): Change bp_addr to + CORE_ADDR type. + +Tue Nov 24 15:46:33 1998 Michael Snyder + + * config/mn10300/tm-mn10300.h (TARGET_VIRTUAL_FRAME_POINTER): + new target macro. + * mn10300-tdep.c (mn10300_virtual_frame_pointer): new function. + * tracepoint.c (encode_actions): Use the new target macro to + determine the virtual frame pointer, for collecting locals/args. + (add_local_symbols, collect_symbol): add a register/offset pair of + arguments so that the virtual frame pointer can be passed in. + +1998-11-24 Felix Lee + + * procfs.c (procfs_wait): handle syscall events first. + + * procfs.c (GDB_GREGSET_TYPE, GDB_FPREGSET_TYPE): new macros. + * config/sparc/xm-sun4sol2.h: use them. + * core-sol2.c: don't #undef gregset_t and fpregset_t. + * sol-thread.c: ditto. + * sparc-tdep.c: ditto. + +Tue Nov 24 14:13:10 1998 Andrew Cagney + + * breakpoint.c (memory_breakpoint_size): Delete global. + (read_memory_nobpt): Determine real breakpoint address and size + using BREAKPOINT_FROM_PC. + + * defs.h (breakpoint_from_pc_fn): BREAKPOINT_FROM_PC function + template. + * target.h, mem-break.c (memory_breakpoint_from_pc): + Rewrite. Always define. Return NULL when memory breakpoints are + not supported. + (memory_insert_breakpoint, memory_remove_breakpoint): Call + BREAKPOINT_FROM_PC. + * target.h (BREAKPOINT_FROM_PC): Provide default. + * gdbint.texinfo (BREAKPOINT_FROM_PC): Document. + + * config/rs6000/tm-rs6000.h (BREAKPOINT): Delete macro. + (BREAKPOINT_FROM_PC): Define. + ({BIG,LITTLE}_BREAKPOINT): Move macros from here. + * rs6000-tdep.c: To here. + (rs6000_breakpoint_from_pc): New function. + + * config/mn10300/tm-mn10300.h (BREAKPOINT): Delete macro. + (BREAKPOINT_FROM_PC): Define, call. + * mn10300-tdep.c (mn10300_breakpoint_from_pc): New function. + + * config/mips/tm-mips.h ({BIG,LITTLE}_BREAKPOINT, + IDT_{BIG,LITTLE}_BREAKPOINT, PMON_{BIG,LITTLE}_BREAKPOINT, + MIPS16_{BIG,LITTLE}_BREAKPOINT): Move macros from here. + * mips-tdep.c: To here. + + * config/arm/tm-arm.h ({BIG,LITTLE}_BREAKPOINT): Delete macros. + ({ARM,THUMB}_{BE,LE}_BREAKPOINT): Move macros from here. + * arm-tdep.c: To here. + + * remote-array.c (memory_breakpoint_size): Delete variable. + (array_insert_breakpoint): Obtain breakpoint size using + BREAKPOINT_FROM_PC. + * remote-st.c (memory_breakpoint_size, st2000_insert_breakpoint): + Ditto. + * remote-os9k.c (memory_breakpoint_size, + rombug_insert_breakpoint): Ditto. + * remote-e7000.c (memory_breakpoint_size): Ditto. + +Mon Nov 23 11:38:40 1998 Michael Snyder + + * symfile.c (deduce_language_from_filename): rewrite so as to + work from a table of filename extensions, modifiable by the user. + (filename_language_table): new data structure. + (set_ext_lang_command): new function for new command, "set + extension-language". (info_extension_language_command): new + function for new command "info extension-languages". + (add_filename_language, init_filename_language_table): new + support functions for the above. + * language.c (language_enum): new function. Support for above. + +Mon Nov 23 10:47:54 1998 Andrew Cagney + + * config/sh/tm-sh.h, config/mn10200/tm-mn10200.h, + config/m32r/tm-m32r.h, config/arm/tm-arm.h, config/i960/tm-i960.h, + config/gould/tm-np1.h, config/d10v/tm-d10v.h, + config/v850/tm-v850.h, config/pa/tm-hppa.h, config/a29k/tm-a29k.h, + config/mn10300/tm-mn10300.h, config/mips/tm-mips.h + (USE_STRUCT_CONVENTION): Cleanup, define macro as function. + + * sh-tdep.c (sh_use_struct_convention), mn10200-tdep.c + (mn10200_use_struct_convention), i960-tdep.c + (i960_use_struct_convention), gould-tdep.c + (gould_use_struct_convention), d10v-tdep.c + (d10v_use_struct_convention), v850-tdep.c + (v850_use_struct_convention), hppa-tdep.c + (hpha_use_struct_convention), m32r-tdep.c + (m32r_use_struct_convention), arm-tdep.c + (arm_use_struct_convention), mn10300-tdep.c + (mn10300_use_struct_convention), a29k-tdep.c + (a29k_use_struct_convention), mips-tdep.c + (mips_use_struct_convention): New functions + + * value.h, values.c (generic_use_struct_convention): New function, + replace macro. + * values.c (USE_STRUCT_CONVENTION): Macro defaults to function + generic_use_struct_convention. + +Sat Nov 21 17:15:40 1998 Philippe De Muyter + + * breakpoint.c (bpstat_stop_status): Do not increment hit_count + of breakpoint if condition is not true. + + * coffread.c (coff_symtab_read): Discard C_LABEL's that are not + function entry points, to avoid getting them in the stack dump + instead of the actual function. + + * config/m68k/delta68.mh (NAT_FILE): Undo 1998-08-18 change; + without NAT_FILE definition, configure will assume that GDB cannot + run native. + * config/m68k/nm-delta68.h (KERNEL_U_SIZE): New macro. + * delta68-nat.c (kernel_u_size): New function. + +Fri Nov 20 10:13:03 1998 Andrew Cagney + + * buildsym.c (end_symtab): Cleanup PROCESS_LINENUMBER_HOOK. + +Thu Nov 19 15:21:04 1998 Geoffrey Noer + + * rdi-share/host.h: if compiling under Cygwin, make sure new + preprocessor define is defined. Define it if not. + * rdi-share/hostchan.h: ditto + * rdi-share/aclocal.m4: regenerate + * rdi-share/configure: regenerate + +Thu Nov 19 14:43:44 1998 Geoffrey Noer + + * configure.in: switch back to checking __CYGWIN32__ + * configure: regenerate + +Thu Nov 19 09:53:00 1998 Andrew Cagney + + * exec.c (exec_file_command): Cleanup. Replace #if + NEED_TEXT_START_END with if(). + * config/pa/nm-hppah.h (NEED_TEXT_START_END): Redefine to be 1. + * config/convex/tm-convex.h (NEED_TEXT_START_END): Ditto. + * config/gould/tm-np1.h (NEED_TEXT_START_END): Ditto. + * config/a29k/tm-a29k.h (NEED_TEXT_START_END): Ditto. + +Thu Nov 19 13:06:22 1998 Geoffrey Noer + + * main.c: Wait until more time has passed before calling + new cygwin_ funcs, revert back to the cygwin32_ ones for now. + * win32-nat.c: Ditto. + +Wed Nov 18 15:03:17 1998 Andrew Cagney + + * 29k-share/udi/udip2soc.c (UDIConnect): Replace sys_errlist with + strerror. + +Mon Nov 16 14:17:05 1998 Geoffrey Noer + + * defs.h: if compiling under Cygwin, define __CYGWIN__ if + __CYGWIN32__ is defined and __CYGWIN__ isn't for backwards + compatibility. + +Fri Nov 13 00:15:08 1998 Geoffrey Noer + + Changes to account for name change from cygwin32 to cygwin and + clean up Win32-related ifdefs. + + * configure.tgt: check for cygwin* instead of cygwin32. + New cygwin gdb_target variable loses the "32". + * configure.host: check for cygwin* instead of cygwin32. + New cygwin gdb_host variable loses the "32". + * configure.in: test __CYGWIN__ instead of __CYGWIN32__, + rename gdb_cv_os_cygwin32 variable to drop the "32". Call + AM_EXEEXT instead of AC_EXEEXT since that isn't in a released + autoconf yet. + * configure: regenerate. + + * main.c: drop "32" from cygwin_ funcs, include sys/cygwin.h where + cygwin path conv protos live, instead of adding a proto here for + them here. + * {main.c, ser-tcp.c, ser-unix.c, top.c}: check __CYGWIN__ + instead of __CYGWIN32__. + * source.c: thoughout, check _WIN32 instead of WIN32. + + * config/i386/cygwin32.mh: delete. + * config/i386/cygwin.mh: new file, was cygwin32.mh. + * config/i386/cygwin32.mt: delete. + * config/i386/cygwin.mt: new file, was cygwin32.mt. + * config/i386/tm-cygwin32.h: delete. + * config/i386/tm-cygwin.h: new file, was tm-cygwin32.h. + * config/i386/xm-cygwin32.h: delete. + * config/i386/xm-cygwin.h: new file, was xm-cygwin32.h. + * config/i386/xm-windows.h: #include xm-cygwin.h now. + * config/powerpc/cygwin32.mh: delete. + * config/powerpc/cygwin.mh: new file, was cygwin32.mh. + * config/powerpc/cygwin32.mt: delete. + * config/powerpc/cygwin.mt: new file, was cygwin32.mt. + * config/powerpc/tm-cygwin32.h: delete. + * config/powerpc/tm-cygwin.h: new file, was tm-cygwin32.h. + * config/powerpc/xm-cygwin32.h: delete. + * config/powerpc/xm-cygwin.h: new file, was xm-cygwin32.h. + + * rdi-share/aclocal.m4: regenerate with aclocal. + * rdi-share/configure: regenerate with autoconf. + * rdi-share/{host.h, hostchan.c, hostchan.h, serdrv.c, serpardr.c, + unixcomm.c}: check __CYGWIN__ instead of __CYGWIN32__. + +Thu Nov 12 17:19:43 1998 John Metzler + + * remote.c (remote_get_threadinfo): Support for remote + multithread debugging. + (remote_get_threadlist): get a partial list of threads + (remote_threadlist_iterator): Step through all the threads + (init_remote_threadtests): Optional builtin unit test commands. + + * thread.c (bind_target_thread_vector): Implementa a more dynamic + way of accessing target specific thread info functions than + FIND_NEW_THREADS. + (target_thread_info): Function to get extended thread information. + + * gdbthread.h: Export internal data structures corresponding to + external detailed thread info response. This is more like a 'ps' + command than what might be expected of host based threads. This + is for embedded systems. + +Wed Nov 11 15:47:00 1998 Michael Snyder + + * procfs.c (proc_set_exec_trap): don't set PR_ASYNC or PR_FORK + in the child process for UnixWare (causes processes forked by + the debuggee to hang). + +Mon Nov 9 12:00:36 1998 Dave Brolley + + * config/fr30/fr30.mt: New file. + * config/fr30/tm-fr30.h: New file. + +1998-11-05 Jim Wilson + + * remote-vx.c (net_read_registers, net_write_registers, + vx_xver_memory, vx_resume, vx_attach, vx_detach, vx_kill): + Change errno to errno_num. + * vx-share/xdr_ptrace.c (xdr_ptrace_return): Likewise. + * vx-share/xdr_ptrace.h (struct ptrace_return): Likewise. + +Thu Nov 5 08:41:33 1998 Christopher Faylor + + * top.c (gdb_readline): Allow CRLF line termination on systems + which define CRLF_SOURCE_FILES. + * win32-nat.c: 1) Add thread support, 2) fix ability to attach to + a running process, and 3) implement limited support for cygwin + signals. + (thread_rec): New function. + (child_add_thread): Ditto. + (child_init_thread_list): Ditto. + (child_delete_thread): Ditto. + (do_child_fetch_inferior_registers): Ditto. + (do_child_store_inferior_registers): Ditto. + (handle_output_debug_string): Ditto. + (child_fetch_inferior_registers): Use do_* function to perform + operation. + (child_store_inferior_registers): Ditto. + (child_continue): Ditto. + (child_thread_alive): Ditto. + (cygwin_pid_to_str): Ditto. + (handle_load_dll): Reorganize, add first attempt at reading + dll names from attached processes. Change info messages to provide + more information when dll is already loaded. + (handle_exception): Changes mandated by new thread-aware structures. + (child_wait): Track thread creation/destruction. Handle cygwin + signals. + (child_create_inferior): Ditto. + (child_resume): Ditto. + (child_kill_inferior): Ditto. Close child process handle to avoid a + handle leak. + (child_ops): Fill out child_ops fields that deal with threads. + * config/i386/tm-cygwin32.h: Declare function and macro needed + for converting a cygwin "pid" to a string. + * config/i386/xm-cygwin32.h: define HAVE_SIGSETMASK as 0 since + sigsetmask is not defined in cygwin. + +Thu Nov 5 08:38:18 1998 Christopher Faylor + + * win32-nat.c: Remove obsolete PPC conditionals. + +Wed Nov 4 18:44:31 1998 Dave Brolley + + * configure.tgt: Add fr30-*-elf*. + +1998-11-03 Jim Wilson + + * c-exp.y (parse_number): Check TARGET_LONG_LONG_BIT when setting + high_bit to avoid undefined negative shift. + +Mon Nov 2 15:26:33 1998 Geoffrey Noer + + * configure.in: Check cygwin* instead of cygwin32*. + * configure: regenerate + +Thu Oct 29 10:04:20 1998 Michael Snyder + + [Support for trace debugging: registers that were not collected.] + * remote.c (remote_fetch_registers): accept 'xxxx' in the register + packet, with the meaning "register value is not available". + Set register_valid to -1, which will connote "no value available". + * findvar.c (read_relative_register_raw_bytes): return failure if + register_valid == -1. (value_of_register): return failure if + register_valid == -1. (read_var_value): return error if + value_of_register fails for a register variable. + (value_from_register): return failure if register_valid == -1. + * eval.c (evaluate_subexp_standard): return error if + value_of_register fails for a register used in an expression. + * infcmd.c (do_registers_info): display "value not available" + for registers for which register_valid == -1. + + * tracepoint.c (set_raw_tracepoint): just save the filename as is + from the symbol table, rather than trying to prepend the dir name. + Also save the bfd section. (tracepoints_info): use the section + when looking up the function name. + * tracepoint.h: add section field to tracepoint struct. + +Wed Oct 28 08:01:38 1998 Mark Alexander + + * sparcl-tdep.c (send_resp, sparclite_serial_start, + sparclite_serial_write): Use remote_timeout instead of hardcoded + two second timeout. + (download): Fix adjustment of a.out load addresses. + +Wed Oct 28 12:32:58 1998 Andrew Cagney + + * configure.in (--enable-build-warnings): Finish rename from + --enable-warnings. + (enable-build-warnings): Add -Wpointer-arth, allow =* for + sim/common compatibility. + * configure: Re-generate. + +Wed Oct 21 08:44:30 1998 Andrew Cagney + + * 29k-share/udi/udip2soc.c: Replace sys_errlist with strerror(). + +Thu Oct 22 09:56:55 1998 Andrew Cagney + + * config/rs6000/aix4.mh (NATDEPFILES): Move xcoffread.o from here. + * config/rs6000/aix4.mt (TDEPFILES): To here. + +Wed Oct 21 10:02:31 1998 Andrew Cagney + + * rdi-share/unixcomm.c: Provide definitions of SERPORT and PARPORT + on BSD hosts. + +1998-10-19 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (AM_EXEEXT): Use AC_EXEEXT instead. + * configure: Regenerated. + +Sat Oct 17 17:39:23 1998 Felix Lee + + * core-sol2.c: #include , for sol2.7 weirdness. + +Fri Oct 16 15:31:38 1998 Michael Snyder + + * m32r-tdep.c (decode_prologue): Return failure if we reach + the end of the function without finding the end of the prologue. + +1998-10-16 Jason Molenda (jsm@bugshack.cygnus.com) + + * command.c copying.c copying.awk core-aout.c core-regset.c + corelow.c dcache.c i386-tdep.c i386v4-nat.c i387-tdep.c + infcmd.c infptrace.c infrun.c remote.c solib.c symfile.c + symmisc.c valarith.c: Add prototypes. + + * defs.h: Add prototype for utils.c::do_run_cleanups. + + * gdbtypes.c: Add prototypes. + (make_pointer_type): Add braces to remove nested if-else ambiguity. + (make_reference_type): Ditto. + + * printcmd.c (printf_command): Initialize 'f' and 'string' at + function startup to suppress possibly-used-before-initialized warning. + + * remote-utils.c: Add prototypes. + (sr_pollchar): Add braces to remove nested if-else ambiguity. + + * ser-tcp.c: Add prototypes. + (wait_for): Add braces to remove nested if-else ambiguity. + (tcp_readchar): Ditto. + + * ser-unix.c: Add prototypes. + (get_tty_state): Don't define errno here. + (hardwire_readchar): Only define 't' if we are compiling in a Cygwin + environment. + + * symtab.c: Add prototypes. + (find_methods): Add braces to remove nested if-else ambiguity. + (search_symbols): Set 'i' to an initial value to suppress a + possibly-used-before-initialized warning. + + * valops.c: Add prototypes. + (value_cast): Set 'eltype2' to an initial value to suppress a + possibly-used-before-initialized warning. + (value_of_variable): Add braces to remove nested if-else ambiguity. + (value_of_this): Ditto. + + * valprint.c: Add prototypes. + (print_floating): Add braces to remove nested if-else ambiguity. + +Thu Oct 15 19:50:48 1998 Stan Shebs + + * tm-sp64.h (SETUP_ARBITRARY_FRAME, FRAME_SPECIFICATION_DYADIC): + Remove, nevermore used. + +Thu Oct 15 16:55:00 1998 Andrew Cagney + + * command.c: Include "wait.h" after, rather than before, . + "wait.h" was defining all WIF* macro's instead of filling in those + that missed. + +1998-10-14 Jason Molenda (jsm@bugshack.cygnus.com) + + * defs.h: Move _initialize_printcmd, _initialize_stack, + _initialize_blockframe out of here and in to their respective .c + files. + * blockframe.c: Move _initialize_blockframe prototype to here. + * printcmd.c: Move _initialize_printcmd prototype to here. + * stack.c: Move _initialize_stack prototype to here. + + * source.c, symtab.h: Move _initialize_source prototype to the .c + file. + * values.c, value.h: Move _initialize_values prototype to the .c file. + * gdbthread.h, thread.c: Move _initialize_thread prototype to the .c + file. + * breakpoint.c, breakpoint.h: Move _initialize_breakpoint prototype + to the .c file. + + * abug-rom.c alpha-nat.c alpha-tdep.c annotate.c ax-gdb.c bcache.c: + Standardize comments for the prototype section of these files. + + * configure.in: Look in libc for wctype before looking for it in libc. + +Tue Oct 13 18:56:51 1998 Felix Lee + + * sol-thread.c (ps_pstop, etc): simple test for proc_service.h + version didn't work for sol2.6; pushed it to autoconf. + * configure.in (gdb_cv_proc_service_is_old): new test. + * acconfig.h (PROC_SERVICE_IS_OLD): new define. + * configure, config.in: regenerate. + +1998-10-13 Jason Molenda (jsm@bugshack.cygnus.com) + + * blockframe.c (find_pc_sect_partial_function): Add braces to avoid + possible nested-if confusion. + * breakpoint.c (breakpoint_here_p): Ditto. + (breakpoint_inserted_here_p): Ditto. + (breakpoint_thread_match): Ditto. + + * gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined. + * gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability + prototypes. + + * symtab.h: Add prototype for _initialize_source. + * value.h: Add prototype for _initialize_value. + + * defs.h: Include sys/types.h or stddef.h to get size_t. + (make_cleanup): Add make_cleanup_func typedef and switch to using + a prototype for this function. + (mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't + using mmalloc. + + * ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c + dwarf2read.c dwarfread.c elfread.c eval.c exec.c infcmd.c infrun.c + mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c + symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c + valops.c: Cast parameters passed to make_cleanup to use the new + make_cleanup_func typedef. + +Tue Oct 13 00:51:48 1998 Felix Lee + + * sol-thread.c (ps_pstop, etc): different solaris versions have + slightly different prototypes in proc_service.h; compensate. + +1998-10-12 Jason Molenda (jsm@bugshack.cygnus.com) + + * Makefile.in (AWK): Unused; remove. + * configure.in: Remove unused autoconf checks for MINIX, memcpy, + poll, select, strings.h. + * config.in: Regenerated. + * configure: Regenerated. + +1998-10-12 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Check for sys/debugreg.h, asm/debugreg.h. + * i386v-nat.c: Include asm/debugreg.h, sys/debugreg.h if it is not + present. + +Sun Oct 11 12:08:07 1998 Peter Schauer + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Do not adjust the + address range of a compilation unit without children. + + * mdebugread.c (parse_partial_symbols): Fix handling of stabs + continuations, use xmalloc and xrealloc. + +Fri Oct 9 18:14:43 1998 Mark Alexander + + * rs6000-tdep.c: Don't include tm.h twice. + +1998-10-08 Keith Seitz + + * main.c (main): Remove calls to {pre,post}_add_symbol_hooks. + There should be sufficient information/hooks now to eliminate + this hack. + + * exec.c (file_command): Add a new hook here to inform ui's + when the exec file has changed. Adding it here allows the + ui to be informed after symbol reading. + + * gdbcore.h: Add declaration of file_changed_hook. + +Thu Oct 8 08:40:42 1998 Mark Alexander + + * rs6000-tdep.c (get_saved_register): Define only if + USE_GENERIC_DUMMY_FRAMES is defined. + +Tue Oct 6 21:35:10 1998 Andrew Cagney + + * Makefile.in (DEPFILES): Add TARGET_OBS. + (TARGET_OBS): Defined by configure. + +1998-10-06 Jason Molenda (jsm@bugshack.cygnus.com) + + Eliminate a few warnings from the compiler. + * breakpoint.h: Add prototype. + * breakpoint.c (do_enable_breakpoint): cast mem_cnt, i to (void). + * configure.in: Check if strdup declaration is necessary. + * configure: Regenerated. + * defs.h: Add prototypes. + * gdb_string.h: Only define strdup if necessary. + * gdbthread.h: Add prototypes. + * printcmd.c: Add prototyptes. + (disassemble_command): Remove unused variable 'section'. + * symtab.c: Add prototypes. + * symtab.h: Include gnu-regex.h, add prototype. + * thread.c: Add prototype. + +Mon Oct 5 19:44:39 1998 Stan Shebs + + From David Purves : + * stabsread.c (rs6000_builtin_type): Create a complex float instead + of an error. + (read_sun_floating_type): Similarly. + (read_range_type): Create a complex float if self_subrange is + true. + +Fri Oct 2 19:42:31 1998 Stu Grossman + + * c-lang.c (emit_char c_printchar c_printstr), c-lang.h (c_printstr) + ch-lang.c (chill_printstr chill_printchar) c-valprint.c (c_val_print) + ch-valprint.c (chill_val_print) expprint.c (print_subexp) f-lang.c + (f_printstr f_printchar emit_char) f-valprint.c (f_val_print) + jv-lang.c (java_printchar java_emit_char) jv-valprint.c + (java_value_print java_val_print) language.c (unk_lang_printchar + unk_lang_printstr unk_lang_emit_char) language.h (struct + language_defn LA_PRINT_STRING LA_EMIT_CHAR) m2-lang.c (m2_printstr + m2_printchar emit_char) printcmd.c (print_formatted) scm-lang.c + (scm_printstr) valprint.c (val_print_string) value.h + (val_print_string): Add emit_char routines to language_desc struct + to allow finer control over language specific character output issues. + Add character width arg to printstr routines to allow handling of + wchar_t/Unicode strings. Fix c_printstr to handle wide characters. + Supply width argument to LA_PRINT_STRING and val_print_string. + + * jv-lang.c (java_object_type dynamics_objfile java_link_class_type + get_dynamics_objfile get_java_object_type) jv-lang.h + (get_java_object_type): Make lots of things static. + + * expprint.c (dump_prefix_expression dump_subexp): Move opcode name + printing to common routine (op_name). + * (dump_subexp): Add support for OP_SCOPE. + +Fri Oct 2 16:25:54 1998 Stan Shebs + + * configure.host (i[3456]86-*-windows): Remove, no longer used. + * mswin: Remove directory, no longer used. + +Fri Oct 2 18:52:20 1998 Fernando Nasser + + * sol-thread.c: Fixed prototypes and calls to supply_fpregset and + fill_fpregset + +1998-10-02 Keith Seitz + + * remote.c (remote_interrupt): Rewrite to use remote_stop. + (remote_interrupt_twice): Remove. remote_stop now handles it. + (remote_stop): New function which handles interrupting the + remote target so that CLUI and GUI use the same core functions + to achieve the same goal. + (remote_wait): Change to handle remote_stop properly. + [interrupted_already]: New static global to help remote_stop. + [remote_ops, extended_remote_ops]: Add remote_stop for to_stop member. + + * target.c: Rename static function "ignore" to "target_ignore" and + export it so that gdb can determin if some target vector member is + actually not defined. Replace all occurances of ignore. + + * target.h: Export target_ignore. + +Fri Oct 2 03:51:48 1998 Peter Schauer + + * target.c (target_xfer_memory): Handle requests with zero + transfer length right away. + + * values.c (unpack_double): Set up code, length and signedness of + type _after_ checking for typedef. + +Thu Oct 1 15:39:27 EDT 1998 Frank Ch. Eigler + + * breakpoint.c (bpstat_stop_status): Do not consider an + untripped watchpoint as a "hit". + +Thu Oct 1 20:52:39 1998 Andrew Cagney + + * exec.c (exec_file_command), convex-tdep.c (exec_file_command), + arm-xdep.c (exec_file_command), remote-rdp.c + (remote_rdp_create_inferior), remote-os9k.c + (rombug_create_inferior), remote-mm.c (mm_create_inferior), + remote-eb.c (eb_create_inferior), remote-es.c + (es1800_create_inferior), remote-rdi.c (arm_rdi_create_inferior), + remote-sim.c (gdbsim_create_inferior), remote-utils.c + (gr_create_inferior), remote-st.c (st2000_create_inferior), + remote-nindy.c (nindy_create_inferior), remote-hms.c + (hms_create_inferior), remote-e7000.c (e7000_create_inferior), + remote-array.c (array_create_inferior), remote-adapt.c + (adapt_create_inferior): Replace "exec" with "executable" in + messages. + +1998-09-25 Keith Seitz + + * rdi-share/unixcomm.c: If using cygwin32, also use the SERPORT and + PARPORT defines for win32. + (Unix_MatchValidSerialDevice): For cygwin32, valid serial port names + start with "com", not "/dev/tty". + (Unix_OpenSerial): Do not use O_NONBLOCK on cygwin32. + + * rdi-share/devsw.c (DevSW_Close): Free the device's state + (SwitcherState) so that the device may be reopened. + + * remote-rdi.c (mywritec): Send all output through gdb's *_unfiltered + functions, ignoring non-ASCII chars, so that non-tty UI's can snarf + the output from fputs_hook. + (mywrite): Ditto. + (arm_rdi_open): Set inferior_pid. + (arm_rdi_detach): Pop the target off the target stack so that + users can attach and detach multiple times. + (arm_rdi_close): Close the opened device and reset inferior_pid, too. + +1998-09-24 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Change --enable-warnings to --enable-build-warnings. + * configure: Updated. + +1998-09-24 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (WARN_CFLAGS): Add -Wmissing-prototypes. + * configure: Regenerated. + +1998-09-24 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Add --enable-warnings. + Adjust whitespace of other --with and --enable options so that + configure --help lines up correctly. + * aclocal.m4: Ditto. + * Makefile.in (WARN_CFLAGS): Add. Set by configure. + * configure: Regenerated. + +Thu Sep 24 15:44:34 1998 Stan Shebs + + * remote-rdi.c: Fix formatting, remove some commented-out code. + (init_rdi_ops): Omit needless initializations. + +Wed Sep 23 18:21:03 1998 Andrew Cagney + + * remote.c (remote_address_masked): New function - mask address + according to REMOTE_ADDRESS_SIZE. + (remote_address_size): New global. + (hexnumstr): New function - convert arbitrary unsigned to hex. + (remote_write_bytes, remote_read_bytes): Use hexnumstr to + construct packet address. Mask address when necessary. + (_initialize_remote): Add "set remoteaddresssize" command, set + REMOTE_ADDRESS_SIZE variable. + + * NEWS: Update. + +Wed Sep 23 18:08:52 1998 Andrew Cagney + + * remote.c (_initialize_remote, packet_command, print_packet): + Pretty print code. + +Wed Sep 23 12:32:54 1998 + + * remote.c (packet_command): Test REMOTE_DESC to determine if + remote connection is open. + +Tue Sep 22 22:27:24 1998 Mark Alexander + + Patch from Dawn Perchik : + * rs6000-tdep.c (pop_frame): Handle generic dummy frames. + (push_arguments): Likewise. + (frame_saved_pc): Likewise. + (rs6000_frame_chain): Likewise. + (ppc_push_return_address): New function. + (get_saved_register): New function. + * config/powerpc/tm-ppc-eabi.h: Add generic dummy frame macros. + +Mon Sep 21 19:29:32 1998 Stu Grossman + + * defs.h utils.c (fputc_filtered): New function. Does the obvious... + * jv-lang.c (java_printchar): Fix output of chars > 0xff. Fold + java_emit_char into java_printchar. + * language.h (PRINT_LITERAL_FORM): Reformat for readability. + +Mon Sep 21 14:38:03 1998 Catherine Moore + + * config/arm/tm-arm.h (*_BREAKPOINT): Define both little endian + and big endian breakpoint patterns. + + * arm-tdep.c (arm_break_point_from_pc): Insert either big endian + or little endian breakpoints depending upon target byte order. + +Fri Sep 18 07:53:08 1998 Peter Schauer + + * sol-thread.c (sol_thread_notice_signals): Use PIDGET when + passing pid down to procfs_notice_signals. + +Wed Sep 16 14:57:14 1998 Stu Grossman + + * stabsread.c (resolve_symbol_reference): Return 1 on success, 0 on + failure. + * (define_symbol): Check return value from resolve_symbol_reference, + and drop symbol if it fails. + +Tue Sep 15 15:24:16 1998 Stu Grossman + + * stabsread.c: Make all complaints static. + * Fix formatting of live range splitting code. + * (resolve_symbol_reference define_symbol resolve_live_range): Change + errors to complaints so that bad live range symbols won't abort the + entire symbol table. Handle errors by aborting just the current + symbol. + * (ref_init): Goes away. Folded into ref_add(). + * (REF_MAP_SIZE): Put parens around parameter so that args like + `1 + 2' get handled correctly (yes, this was a real bug). + * (ref_add): Remove check for allocation failures. Not necessary + when using xrealloc(). Fix pointer arithmetic problem when clearing + memory. This and the previous patch prevent random SEGV's when there + are lots of live range symbols. + +Tue Sep 15 14:02:01 1998 Nick Clifton + + * remote-rdi.c: Prevent multiple attempts to close the remote + connection. + +Tue Sep 15 10:24:17 1998 Andrew Cagney + + * printcmd.c (examine_i_type): New static - type for instructions. + (do_examine): For "i" format, specify examine_i_type. + (do_examine): Call value_at_lazy instead of value_at so that + examine data is only fetched if it is used. + (x_command): If examine data was not fetched, set convenience + variable "__" to void. + (_initialize_printcmd): Initialize examine_i_type. + +Sun Sep 13 01:34:59 1998 Michael Snyder + + * blockframe.c (find_pc_sect_partial_function): use bfd section + of msymbol for end of section comparison. + +Fri Sep 11 14:02:49 1998 Michael Snyder + + * tracepoint.c: clean up several unused variables and such. + +Fri Sep 11 12:38:34 EDT 1998 Zdenek Radouch (radouch@cygnus.com) + + * arm-tdep.c (arm_push_arguments): fixed frame construction + +Thu Sep 10 20:51:23 1998 Michael Snyder + + * mn10300-tdep.c (mn10300_analyze_prologue): guard against NULL. + +Wed Sep 9 19:37:36 1998 Stan Shebs + + * dbxread.c (IGNORE_SYMBOL): Remove definition, is never used. + * os9kread.c: Remove comment mentioning IGNORE_SYMBOL. + +Wed Sep 9 11:39:05 1998 Ron Unrau + + * blockframe.c(find_pc_sect_partial_function): look for min syms in + the same section when trying to guess the end of a function. + * symfile.c(list_overlays_command): use print_address_numeric + * remote-sim.c: export simulator_command + +1998-09-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * breakpoint.c (bpstat_stop_status): Declare a bp match if the + current fp matches the bp->fp OR if the current fp is less than + the bp->fp if we're looking at a bp_step_resume breakpoint. + +Tue Sep 8 19:42:58 1998 Stan Shebs + + * symtab.h (struct symtab): Remove EXTRA_SYMTAB_INFO hook, + not currently used. + * symfile.c (allocate_symtab): Deprecate use of + INIT_EXTRA_SYMTAB_INFO here. + +Fri Sep 4 15:33:25 1998 Stan Shebs + + * README: Update remote debugging and testsuite info. + +Thu Sep 3 13:50:20 1998 Mark Alexander + + * config/mn10300/tm-mn10300.h (FP_REGNUM): Redefine to be a + pseudo-register, not the same as a3. + (D2_REGNUM, D3_REGNUM, A2_REGNUM, A3_REGNUM): Define. + * mn10300-tdep.c (fix_frame_pointer): New function. + (set_movm_offsets): Use register number macros instead of + hard-coded constants. + (mn10300_analyze_prologue): Fix to handle redefinition of FP_REGNUM. + (mn10300_frame_chain): Fix to handle redefinition of FP_REGNUM; + use register number macros instead of hard-coded constants; + add missing parameter to call of mn10300_analyze_prologue. + (mn10300_frame_saved_pc): Use register number macros instead of + hard-coded constants. + +Tue Sep 1 12:04:57 EDT 1998 Zdenek Radouch (radouch@cygnus.com) + + Changes to support/fix ARM/ELF port. Use MAKE_MSYMBOL_SPECIAL for + both ELF and COFF; + * elfread.c (elf_symtab_read): use ELF specific macro + * coffread.c (coff_symtab_read): use COFF_MAKE_MSYMBOL_SPECIAL() + * arm-tdep.c: separate COFF and ELF thumb processing + disable --mapcs-float processing + * dwarf2read.c: Disabled building of minimal symbols + * config/arm/tm-arm.h: new macros for distinguishing arm/thumb + * config/mips/tm-mips.h: use ELF specific macro + +Mon Aug 31 15:42:10 1998 Tom Tromey + + * top.c (context_hook): Define. + +Tue Aug 25 13:21:58 1998 Michael Snyder + + * ax-gdb.c (gen_var_ref): Allow for typedef types. + (gen_cast, gen_bitfield_ref, gen_expr, gen_deref): ditto. + +Mon Aug 24 18:29:03 1998 Michael Snyder + + * tracepoint.c (collect_symbol): Handle register doubles that + are stored in two registers. + +Mon Aug 24 14:39:08 1998 Mark Alexander + + * sh-stub.c (undoSStep): Improve comment. + * sparc-tdep.c (sparc_extract_struct_value_address): Simplify to use + same method on both 32-bit and 64-bit machines. + * sparcl-tdep.c (sparclite_check_watch_resources): Simulator doesn't + support hardware breakpoints. + * config/sparc/tm-sparc.h (CALL_DUMMY): Improve comments. + +1998-08-20 Jason Molenda (jsm@bugshack.cygnus.com) + + * rdi-share/Makefile.am (INCLUDES): Fix typeo. + * rdi-share/Makefile.in: Regenerated. + +1998-08-19 Jason Molenda (jsm@bugshack.cygnus.com) + + * rdi-share/Makefile.am: Use just `INCLUDES' not `libname_INCLUDES'. + * rdi-share/Makefile.in: Regenerated. + +1998-08-19 Keith Seitz + + * v850ice.c (v850ice_stop): New function to stop the ICE. + (v850ice_load) Pass filename to ICE DLL. + (ice_stepi, ice_nexti, ice_cont): Do not directly call the gdb + commands -- let the GUI do it so that it can retain control + of the display. + +Wed Aug 19 15:53:52 1998 Anthony Green + + * i386v4-nat.c: Include sys/reg.h if present. + +Wed Aug 19 03:07:53 1998 Richard Henderson + + * config/alpha/alpha-linux (XDEPFILES): Build ser-tcp. + +1998-08-18 Fernando Nasser + + * symtab.c (decode_line_1): For minimal symbol, SKIP_PROLOG to + make sure we stop after the frame pointer is locaded and backtrace + prints an accurate stack. Complements changes made on Mon Jul 27 + 10:45:56 1998 + (decode_line_2): Replaced the whitespace after ">" in a prompt + which has been taken away by changes made on Sun Jul 19 02:11:45 + 1998 + +1998-08-18 Keith Seitz + + * stack.c: Define new hook, selected_frame_level_changed_hook, which + will be called whenever the selected stack level changes. + (select_frame): Call the selected_frame_level_changed_hook. + +Tue Aug 18 18:03:42 1998 Stan Shebs + + * remote-rdi.c (arm_rdi_open): Pass serial device name to + Adp_OpenDevice, and include it in error reports. + +1998-08-18 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Add more header files to AC_CHECK_HEADERS. + * configure: Regenerated. + + * command.c: Include wait.h or sys/wait.h if present. + * inftarg.c: Ditto. + * core-aout.c: Include ptrace.h or sys/ptrace.h if present, based + on autoconf test. + * infptrace.c: Ditto. + + * expprint.c: Include ctype.h for isprint prototype. + * i386aix-nat.c: Include sys/reg.h if autoconf says it is present. + * i386v-nat.c: Include ptrace.h, sys/ptrace.h, and sys/reg.h if + present, based on autoconf test. + + * utils.c: Include curses.h and term.h if present. + (puts_debug): Change 'carriage_return' local variable to return_p + to avoid name clash. + + * config/m68k/nm-apollo68b.h: Don't define PTRACE_IN_WRONG_PLACE, + determine it with autoconf. + * config/i386/nm-linux.h: Don't define NO_SYS_REG_H, determine it + with autoconf. + * config/i386/nm-i386sco.h: Don't define NO_PTRACE_H, determine it + with autoconf. + * config/i386/nm-i386v.h: Ditto. + * config/i386/nm-symmetry.h: Ditto. + * config/m88k/xm-cxux.h: Ditto. + * config/m88k/xm-dgux.h: Ditto. + + * config/m68k/delta68.mh (NAT_FILE): nm-delta68.h no longer necessary. + * config/m68k/nm-delta68.h: Removed. + +Fri Aug 14 11:14:03 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300-tdep.c (set_movm_offsets): Change second argument to + be the actual args to movm itself. All callers changed. Only set + fi->fsr.regs[x] if reg X is saved by the movm instruction. + +Fri Aug 14 04:18:23 1998 Peter Schauer + + * sol-thread.c (lwp_to_thread): Fix error message for failing + td_ta_map_lwp2thr call. + (ps_lgetLDT): Mask off upper bits in GS register when comparing + with selector. + +Wed Aug 12 16:30:01 1998 Frank Ch. Eigler + + * remote-sim.c (simulator_command): Reset register cache after + simulator command. + +Wed Aug 12 09:00:26 1998 Stu Grossman + + * expprint.c (dump_prefix/postfix_expression): Don't try to print + type expressions. + +Tue Aug 11 11:33:25 1998 Stu Grossman + + * c-typeprint.c (c_print_type): Don't crash if varstring is null. + * expprint.c expression.h (dump_expression): Rename to + dump_prefix_expression. + * Print out the expression in normal form. Call print_longest + instead of trying to do it ourselves. + * (dump_postfix_expression): New function, prints out the expression + with indentation and better formatting and interpretation. + * parse.c (parse_exp_1): Put calls to dump expressions under ifdef + MAINTENANCE_CMDS and expressiondebug variable. + +Thu Aug 6 13:20:02 1998 Ron Unrau + + * infrun.c (wait_for_inferior): use stop_func_name instead of + stop_func_start to decide that no debug info exists. + +Thu Jul 30 13:53:50 1998 Mark Alexander + + * mips-tdep.c (mask_address_p): New variable. + (mips_addr_bits_remove): Test mask_address_p to decide whether + to mask off the upper 32 bits of addresses. + (_initialize_mips_tdep): Add command to set mask_address_p. + (mips_call_dummy_address): New function. + * config/mips/tm-mips.h (CALL_DUMMY_ADDRESS): Redefine to + call mips_call_dummy_address. + +1998-07-29 Fernando Nasser + + * symfile.c (add_symbol_file_command): Test for the from_tty + parameter and avoid query when not interactive. + +Wed Jul 29 10:39:29 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300-tdep.c (set_movm_offsets): Do nothing for the am33 + registers if we are not in am33 mode. + (mn10300_frame_chain, mn10300_frame_saved_pc): Similarly. + (set_machine_hook): Keep track of whether or not we're in am33 mode. + +Mon Jul 27 16:11:42 1998 Michael Snyder + + * tracepoint.c (remote_set_transparent_ranges): new function. + Send the start and end addresses of all loadable read-only + sections down to the trace target, so that it can treat them + as "transparent" (ie. don't care if they were collected or not). + +Mon Jul 27 15:38:07 1998 Mark Alexander + + * mn10300-tdep.c (mn10300_analyze_prologue): Undo previous fix + for setting frame address in optimized code; made unnecessary + by compiler fixes. + +Mon Jul 27 10:45:56 1998 Martin M. Hunt + + * symtab.c (decode_line_1): For minimal symbol, call + find_pc_sect_line() to make sure the line number gets set + properly. + (print_symbol_info): Redeclare function void. + +1998-07-27 Jason Molenda (jsm@bugshack.cygnus.com) + + * config/d10v/tm-d10v.h (REGISTER_NAMES): sp -> r15. The + stack pointer et al are synthesized from the SP_REGNUM (etc) + defines and should not be mentioned in REGISTER_NAMES. + +Mon Jul 27 08:54:41 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300-tdep.c (mn10300_frame_chain): Account for space saved + by am33 register saves. + (mn10300_frame_saved_pc): Similarly. + +Fri Jul 24 14:41:19 1998 Michael Snyder + + * tracepoint.c (encode_actions): Treat register names and simple + variable names as special cases and don't convert them to byte- + codes: these things can be collected far more efficiently + without invoking the bytecode interpreter. + +Fri Jul 24 13:32:46 1998 Mark Alexander + + * config/i386/tm-i386.h (STORE_STRUCT_RETURN): Make it + work on hosts of any endianness. + * config/i386/tm-i386v.h: Ditto. + +Fri Jul 24 07:41:12 1998 Mark Alexander + + * mn10300-tdep.c (set_movm_offsets): New helper function + for mn10300_analyze_prologue. + (mn10300_analyze_prologue): Simplify by factoring out common code. + Fix bugs in setting frame address for optimized code. + Use read_memory_nobpt instead of target_read_memory. + +Thu Jul 23 17:01:17 1998 Michael Snyder + + * tracepoint.c (collect_symbol): handle LOC_ARG case. + +Thu Jul 23 15:07:40 1998 Dawn Perchik + + * sparc-tdep.c (sparc_init_extra_frame_info): Recognize when we're + in a function prologue before the SAVE instruction. + (sparc_frame_saved_pc): Ditto. + * config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): Add in_prologue flag. + +Thu Jul 23 14:58:09 1998 Dawn Perchik + + * i386-tdep.c (i386_get_frame_setup): Recognize function + prologues in code compiled with -fcheck-stack. + +Thu Jul 23 14:49:27 1998 Dawn Perchik + + * remote-mips.c (remote_mips_insert_hw_breakpoint, + remote_mips_remove_hw_breakpoint): New functions for hardware + breakpoints on LSI targets. + * config/mips/tm-embed.h (target_remove_hw_breakpoint, + target_insert_hw_breakpoint): Define to call + remote_mips_insert_hw_breakpoint and remote_mips_remove_hw_breakpoint, + respectively. + +1998-07-21 Fernando Nasser + + * source.c (print_source_lines): Print "No such file or directory" + just once. + (directory_command): same as above; resets if user issues dir. + +Sun Jul 19 02:11:45 1998 Martin M. Hunt + + * symtab.c (decode_line_2): Instead of printing a prompt + and calling command_line_input() without a prompt, just + call it with the proper args. This makes the GUI work too. + +Fri Jul 17 9:26:50 1998 Ron Unrau + + * blockframe.c (find_pc_sect_partial_function): allow for the possi- + bility of multiple symbols at the same address when finding high. + * breakpoint.c (resolve_sal_pc): if the function based section lookup + fails, try getting the section from the minimal symbol table. + * parse.c (write_exp_msymbol): use symbol_overlayed_address to get + the LMA of a minimal symbol if unmapped. + * symtab.c (find_line_symtab): change interface to return symtab + containing the best linetable found. + (decode_line_1): use find_line_symtab to set val.symtab. This should + improve support for source files with multiple symtabs. + +Wed Jul 15 11:51:33 1998 Keith Seitz + + * main.c (main): Fix violations of GNU coding standard. + + * breakpoint.c: Export delete_command. + + * infcmd.c: Export continue_command, stepi_command, and nexti_command. + + * Makefile.in: Add target for v850ice.o. + + * configure.tgt: Add cygwin32 dependencies for v850 ice. + +Wed Jul 15 10:58:29 1998 Nick Clifton + + * tracepoint.c (set_raw_tracepoint): Cope with symbols that do not + have an associated directory. + +Mon Jul 13 15:21:04 1998 Mark Alexander + + * utils.c (puts_debug): Display non-printable characters in hex + instead of octal. + +Thu Jul 9 16:16:47 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300-tdep.c (mn10300_generic_register_names): New variable. + (set_machine_hook): New function. Copy the appropriate register + names into reg_names. + (_initialize_mn10300_tdep): Set up to call set_machine_hook. + * tm-mn10300 (NUM_REGS): Bump to 32. + (REGISTER_NAMES): Updated accordingly. + + * mn10300-tdep.c (am33_register_names): New variable. + (mn10300_analyze_prologue): Handle regs saved by am33 prologues. + * tm-mn10300.h (E0_REGNUM): Define. + +Tue Jul 7 7:40:13 1998 Ron Unrau + + * symtab.c (find_pc_sect_psymbol): allow case where textlow is 0 + +Thu Jul 2 15:57:58 1998 Frank Ch. Eigler + + * breakpoint.c (resolve_sal_pc): Accept absence of innermost + Lexical block for breakpoint resolution. + +Thu Jul 2 10:22:00 1998 Dawn Perchik + + * mdebugread.c (parse_partial_symbols): Go ahead and read the .mdebug + section, but just don't add a 2nd minimal symbol if this is an .mdebug + section in an ELF file. + +1998-07-01 Jim Blandy + + * Makefile.in (ax-general.o): Depend on $(defs_h) too. + (ax_h): Bother to define this. + +Mon Jun 29 19:01:18 1998 Jim Wilson + + * gnu-regex.c (re_comp): Add cast to char * before gettext calls. + +Sun Jun 28 11:35:48 1998 Peter Schauer + + Improve support for SunPro F77. + * dbxread.c (end_psymtab, process_one_symbol): Handle minimal + symbols with trailing underscore names. + * minsyms.c (find_stab_function_addr): Ditto. + * dbxread.c (process_one_symbol): Ignore N_ALIAS for now. + * partial-stab.h (case N_ALIAS): Ditto. + * stabsread.c (read_sun_builtin_type): Handle boolean types. + +Fri Jun 26 14:03:01 1998 Keith Seitz + + * symtab.h (enum namespace): Add new namespaces FUNCTIONS_NAMESPACE, + TYPES_NAMESPACE, METHODS_NAMESPACE, and VARIABLES_NAMESPACE used by + new search_symbols. + Add prototype for search_symbols and free_search_symbols. + + * symtab.c (list_symbols): Rewrite to use new search_symbols. + (file_matches): New helper function for search_symbols. + (free_search_symbols): New function which frees data returned from + search_symbols. + (print_symbol_info): New helper function which prints info about a + matched symbol to stdout. Extracted from old list_symbols. + (print_msymbol_info): New helper function which prints info about + a matched msymbol to stdout. Extracted from old list_symbols. + (symtab_symbol_info): Extracted from old list_symbols. + (variables_info): Use symtab_symbol_info. + (functions_info): Use symtab_symbol_info. + (types_info): Use symtab_symbol_info. + (rbreak_command): Rewrite to use new search_symbols. + +Thu Jun 25 22:38:32 1998 Frank Ch. Eigler + + * mips-tdep.c (mips_push_arguments): Use 128-bit stack frame + alignment for inferior calls. + +Wed Jun 24 23:17:12 1998 Mark Alexander + + * mn10200-tdep.c (mn10200_analyze_prologue): Fix calculation + of jsr target address. + +Tue Jun 23 19:37:46 1998 Mark Alexander + + * config/mn10200/tm-mn10200.h (SAVED_PC_AFTER_CALL): Don't + zero upper byte of address. + +Tue Jun 23 17:32:26 1998 Michael Snyder + + * rs6000-tdep.c (pop_dummy_frame): use memcpy. + (push_arguments): use memset. + (various other places): fix up indentation and long lines. + +Tue Jun 23 11:58:35 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * configure.in: s/lXext/-lXext/ for Jillian's change. + +Tue Jun 23 11:14:04 1998 Michael Snyder + + * source.c (find_source_lines): fix indentation. + + * config/mips/tm-irix5.h: Modify to work better on irix 6, by + making FP registers 8 bytes instead of 4. + REGISTER_BYTES: redefine. REGISTER_BYTE(): redefine. + REGISTER_VIRTUAL_TYPE: redefine. MIPS_LAST_ARG_REGNUM: redefine. + * irix5-nat.c (fetch_core_registers): read 8 bytes per FP register. + * mips-tdep.c (FP_REGISTER_DOUBLE): new macro to distinguish + targets with 8-byte FP registers (don't use TARGET_MIPS64). + (STACK_ARGSIZE): new macro, how much space is taken up on the + stack for each function argument (don't use TARGET_MIPS64). + (mips_push_arguments): modify logic to work better on Irix 6 + (n32 ABI). + +Tue Jun 23 12:29:53 1998 Jillian Ye + + * configure.in: Add -lXext to mips_extra_libs + * configure: Regenerated. + +Sun Jun 21 09:31:12 1998 Ron Unrau (runrau@cygnus.com) + + * symtab.c (find_line_pc): assumed that a PC of 0 is illegal. + Changed to pass PC as arg and return 1 if valid (0 otherwise). + * symtab.h: Change prototype to match. + * symtab.c (find_line_pc_range): Use new interface. + * breakpoint.c (resolve_sal_pc): Ditto. + +Wed Jun 17 15:50:00 1998 Ron Unrau (runrau@cygnus.com) + + * parse.c (target_map_name_to_register): Check target specific + aliases *first* so that it can over-ride architectural names + +Wed Jun 17 17:13:38 1998 Said Ziouani (saidz@park-street.cygnus.com) + + * remote-sds.c (sds_start_remote): Fix printf call. + +Tue Jun 16 16:32:08 1998 Mark Alexander + + * mn10200-tdep.c (mn10200_analyze_prologue): Fix null pointer + crash when in "start". + +Tue Jun 16 14:38:40 1998 Ron Unrau (runrau@cygnus.com) + + * dbxread.c: reset function_start_offset after a finishing N_FUN + is seen. + * remote-sim.c: allow TARGET_REDEFINE_DEFAULT_OPS to override + target vectors as needed. + +Sun Jun 14 08:46:25 1998 Ron Unrau (runrau@cygnus.com) + + * partial-stab.h: 'F' and 'f' type N_FUN psymbols should pass + CUR_SYMBOL_VALUE as CORE_ADDR instead of long + * buildsym.[ch]: export pending_blocks list + +Sat Jun 13 13:02:32 1998 Dawn Perchik (dawn@cygnus.com) + + * remote.c: Fix remote help string to match that of help.exp. + +Fri Jun 12 14:22:55 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * configure.in (LIBS): Add -lw to the list of libraries if needed. + +Thu Jun 11 15:05:10 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * btowc.c: Removed. + * configure.in: Don't see if we need to replace btowc(). + * Makefile.in: Don't include LIBOBJS. + * configure: Regenerated. + * gnu-regex.c (regex_compile): Only support i18n [:foo:] if + we have btowc(). + +Wed Jun 10 15:39:14 1998 Stu Grossman + + * c-exp.y: Fix problems with parsing "'foo.bar'::func". + Some languages allow symbols with dots. + + * gdbtypes.c (check_stub_method): Cosmetic. Use more descriptive + names for parameters. + + * jv-exp.y: Parser now accepts primitive types. + * (parse_number): Use correct ifdef for scanf long double support. + * jv-lang.c (java_array_type): Initial cut at array support. + + * language.c language.h (set_language): Now returns previous language. + + * symtab.c (find_methods): Make static. Cosmetic changes, including + indentation, and adding descriptive comments. Move local variable + defs into the block they are used in. + * Don't call check_stub_method any more. Use gdb_mangle_name to + generate the full method name. find_method doesn't need all the other + goobldegook that check_stub_method does. + * (gdb_mangle_name): Use more descriptive names for parameters. Fix + comment. + * (lookup_partial_symbol lookup_block_symbol): Check for java to + ensure we can find mangled names. + * (decode_line_1): Move local variable defs into the block they are + used in. (Improves code readability.) + +Wed Jun 10 18:04:35 1998 Frank Ch. Eigler + + * gdbtypes.c (get_discrete_bounds): Assign unsigned type flag for + all-positive enum. + (create_set_type): Ditto for all-positive set values. + * values.c (unpack_field_as_long): Check for typedef in struct + field unpacking. + +Wed Jun 10 14:06:05 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * configure.in: Add some tests for gnu-regex.c's benefit. + See if btowc() function is provided in C library. + * configure, config.in: Regenerated. + * Makefile.in (CLIBS, CDEPS): Add @LIBOBJS@ to build btowc.c + if necessary. + * btowc.c: New file. + + * gnu-regex.c: Reorder wchar.h and wctype.h includes for Solaris' + benefit. + Drop namespace preserving defines for now. + +Wed Jun 10 11:53:42 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * gnu-regex.c: Include "gnu-regex.h", not "regex.h". + +Wed Jun 10 11:34:07 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * gnu-regex.c, gnu-regex.h: Change LGPL license to GPL license + to stay consistent with the rest of GDB. + +Wed Jun 10 11:27:39 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * gnu-regex.c, gnu-regex.h: Update to current FSF (glibc) versions. + +Wed Jun 10 10:58:18 1998 Michael Snyder + + * printcmd.c (disassemble_command): move overlay mapping code + "up" into find_pc_partial_function. + * blockframe.c (find_pc_partial_function): adjust start address + and end address for overlays (mapped vs. unmapped addresses), + so that all callers of this function may benefit. + * m32r-tdep.c (m32r_skip_prologue): adjust indentation. + +Mon Jun 8 16:08:10 1998 Ron Unrau + + * objfiles.c (add_to_objfile_sections): All targets to define + TARGET_KEEP_SECTION to permit them to retain bfd sections that + GDB would otherwise have discarded. + +Fri Jun 5 13:56:19 1998 Doug Evans + + * dbxread.c (read_dbx_symtab): Don't lower texthigh for last psymtab. + +Thu Jun 4 18:35:04 1998 Stan Shebs + + * remote.c (init_extended_remote_ops): Make extended_remote_ops + by copying from remote_ops, move it and init_remote_ops to + usual place at end of file, remove "void" from arg lists. + +Thu Jun 4 17:51:06 1998 Mark Alexander + + * sparc-tdep.c (sparc_fix_call_dummy): Byte-swap the call dummy + on bi-endian machines. + (sparc_extract_return_value): Handle values smaller than int on + machines with little-endian data. + (sparc_target_architecture_hook): Set bi_endian flag. + +Thu Jun 4 12:14:48 1998 Michael Snyder + + * printcmd.c (disassemble_command): Fix off-by-one error for + disassembling functions in unmapped overlay sections. + +Thu Jun 4 10:15:03 1998 Elena Zannoni + + * remote.c: merged. + + - Jim Blandy + (print_packet, remote_packet_command): New functions. + (_initialize_remote): Register the remote-packet command. + - David Taylor + (_initialize_remote): remote-compare is now + compare-sections. + - Elena Zannoni + (remote_compare_command): added warning, issued in case + of mismatch only. + +Thu Jun 4 08:25:38 1998 Michael Snyder + + * remote.c (remote_compare_command): New function, new command. + Compare object file binary image with corresponding memory on + remote target. Report differences. + +Tue Jun 2 19:05:04 1998 Mark Alexander + + * sparc-tdep.c (sparc_target_architecture_hook): Set target + byte order only when it's selectable. + +Tue Jun 2 02:01:56 1998 Mark Alexander + + * sparc-tdep.c (sparc_target_architecture_hook): New function to + set endianness based on machine type. + (_initialize_sparc_tdep): Initialize target_architecture_hook. + (sparc_print_register_hook): Print PSR and FPSR in fancy format + on 32-bit machines. + * config/sparc/tm-sparc.h (PRINT_REGISTER_HOOK): Redefine to + call sparc_print_register_hook instead of using inline code. + * config/sparc/tm-sp64.h (PRINT_REGISTER_HOOK): Remove. + +Thu May 28 17:19:14 1998 Keith Seitz + + * main.c (main): Check for NULL from getenv on CYGWIN32. + +Thu May 28 09:41:44 1998 Nick Clifton + + * monitor.c (monitor_vsprintf): Handle %%. Patch courtesy of + Felix Lee (flee@cygnus.com) + +Thu May 28 00:27:35 1998 Peter Schauer + + * mips-tdep.c (mips_push_dummy_frame): Fix calculation of + PROC_REG_OFFSET and PROC_FREG_OFFSET. + +Mon Apr 27 14:37:49 1998 Andrew Cagney + + * config/v850/tm-v850.h (REGISTER_BYTE): FP_REGNUM and + FP_RAW_REGNUM use the same register location. + + * v850-tdep.c (v850_scan_prologue): Use FP_RAW_REGNUM instead of + FP_REGNUM. + (v850_frame_chain): Ditto. + + * config/v850/tm-v850.h (REGISTER_NAMES): Add "fp". + (NUM_REGS): Update. + (FP_REGNUM): Update. + (FP_RAW_REGNUM): Define. + +Wed May 27 14:22:31 1998 Keith Seitz + + * main.c (main): Convert the path returned from getenv to a posix + path on cygwin32 hosts. + +Mon May 25 13:31:27 1998 Keith Seitz + + * remote.c (remote_open_1): If an error occurs starting the remote, + pop the target AND return. + +Sat May 23 02:23:09 1998 Peter Schauer + + * dwarf2read.c (read_subroutine_type): Set TYPE_FLAG_PROTOTYPED + on C++ functions. + * valops.c (value_arg_coerce): Add new argument to indicate whether + the function has a prototype, handle integer and float promotions + accordingly. + (call_function_by_hand): Always call value_arg_coerce, pass down + prototype information. + +Fri May 22 10:56:36 1998 John Metzler + + * remote.c (_initialize_remote): Typo extended__remote + +Thu May 21 13:14:25 1998 John Metzler + + * gnu-nat.c (init_gnu_ops): Initialization of target ops by assignment. + (_initialize_gnu_nat): Call new init + * mac-nat.c (init_child_ops): Ditto. + (_initialize_mac_nat): Ditto. + * monitor.c (init_base_monitor_ops): Ditto. + (_initialize_remote_monitors): Ditto. + * ppc-bdm.c (init_bdm_ppc_ops): Ditto. + (_initialize_bdm_ppc): Ditto. + * remote-adapt.c (init_adapt_ops): Ditto. + (_initialize_remote_adapt): Ditto. + * remote-array.c (init_array_ops): Ditto. + (_initialize_array): Ditto. + * remote-bug (init_bug_ops): Ditto. + (_initialize_remote_bug): Ditto. + * remote-e7000.c (init_e7000_ops): Ditto. + (_initialize_remote_e7000): Ditto. + * remote-eb.c (init_eb_ops): Ditto. + (_initialize_remote_eb): Ditto. + * remote-es.c (init_es1800_ops): Ditto. + (init_es1800_child_ops): Ditto. + (_initialize_es1800): Ditto. + * remote-hms.c (init_hms_ops): Ditto. + (_initialize_remote_hms): Ditto. + * remote-mm.c (init_mm_ops): Ditto. + (_initialize_remote_mm): Ditto. + * remote-nindy.c (init_nindy_ops): Ditto. + (_initialize_nindy): Ditto. + * remote_nrom.c (init_nrom_ops): Ditto. + (_initialize_remote_nrom): Ditto. + * remote-os9k (init_rombug_ops): Ditto. + (_initialize_remote_os9k): Ditto. + * remote-rdi.c (init_rdi_ops): Ditto. + (_initialize_remote_rdi): Ditto. + * remote-rdp.c (init_remote_rdp_ops): Ditto. + (_initialize_remote_rdp): Ditto. + * remote-sds.c (init_sds_ops): Ditto. + (_initialize_remote_sds): Ditto. + * remote-sim.c (init_gdbsim_ops): Ditto. + (_initialize_remote_sim): Ditto. + * remote-st.c (init_st2000_ops): Ditto. + (_initialize_remote_st2000): Ditto. + * remote-udi.c (init_udi_ops): Ditto. + (_initialize_remote_udi): Ditto. + * remote-vx.c (init_vx_ops): Ditto. + (init_vx_run_ops): Ditto. + (_initialize_vx): Ditto. + * remote.c (init_remote_ops): Ditto. + (init_extended_remote_ops): Ditto. + (_initialize_remote): Ditto. + * sparcl-tdep.c (init_sparclite_ops): Ditto. + (_initialize_sparcl_tdep): Ditto. + * v850ice.c (init_850ice_ops): Ditto. + (_initialize_v850ice): Ditto. + * win32-nat.c (init_child_ops): Ditto. + (_initialize_inftarg): Ditto. + +1998-05-21 Jim Blandy + + * ax-gdb.c (const_var_ref): Don't handle function names. I don't + want to implement all the "usual unary conversion" rules for + constants. + (gen_usual_unary): Turn "function" values into "pointer to + function" values, in accordance with ANSI. + (gen_deref): Don't do the usual unary conversions here. Let the + caller do it. Note that dereferencing a function pointer yields + a function designator, which we call an rvalue, not an lvalue. + (gen_address_of): Handle functions specially. + (gen_struct_ref): Perform the usual unary conversions before + calling gen_deref. + (gen_expr): In case for the prefix '*' operator, call + gen_usual_unary manually. + +Wed May 20 15:29:41 1998 Gavin Koch + + * mips/tm-tx39.h (MIPS_DEFAULT_FPU_TYPE): Defined as MIPS_FPU_NONE. + * mips/tm-tx39l.h: Same. + +Wed May 20 10:12:11 1998 John Metzler + + * m32r-tdep.c (decode_prologue): Handle frames compiled with -Os. + Split out as separate function called by skip prologue and scan + prologue. new formula handles optimization in which the prologue + is interleaved with the body of the function. Also recognizes new + variations of prologue encoding. Use of frame pointer is + essential to debugging, -fno-omit-frame-pointer + (m32r_skip_prologue): Call decode prologue, ignore line info + (m32r_scan_prologue): Call decode prologue, ignore line info. + +Tue May 19 17:23:54 1998 John Metzler + + * w89k-rom.c (_initialize_w89k): Call new init function + (init_w89k_cmds): Convert to dynamic initialization of monitor_ops + data structure for forward compatability with additions to the + data structure. + * dbug-rom.c (_initialize_dbug_rom): ditto + (init_dbug_cmds): ditto + * m32r-rom.c (_initialize_m32r_rom): ditto + (init_m32r_cmds): ditto + +Tue May 19 14:54:11 1998 Michael Snyder + + * tracepoint.c (memrange_cmp): use const void * args to avoid + ANSI compiler warnings. + +1998-05-19 Jim Blandy + + * ax-gdb.c (gen_fetch, gen_var_ref, gen_deref, find_field, + gen_bitfield_ref, gen_expr): Call error, not abort. + * ax-general.c (read_const, generic_ext, ax_trace_quick, + ax_label, ax_const_d, ax_reg, ax_print): Same. + + * tracepoint.c: Remove the $(...) syntax for memranges. + (validate_actionline, encode_actions, trace_dump_command): Remove + clauses for the $(...) syntax. + (parse_and_eval_memrange): Function deleted. + (_initialize_tracepoint): Update function description. + + * ax-gdb.c (_initialize_ax_gdb): Make the "agent" command a + subcommand of "maintenance", as it should have been from the + beginning. #include "gdbcmd.h", to get the declaration for + maintenancelist. + * Makefile.in: Document that dependency. + +Tue May 19 12:00:58 1998 Elena Zannoni + + * tracepoint.c (get_tracepoint_by_number): new function, to access + traceframe_number for use of the GUI. + + * tracepoint.h: added prototype for get_traceframe_number. + +Mon May 18 13:34:27 1998 Keith Seitz + + * dbxread.c (process_one_symbol): If block addresses are relative to + function start addresses, reset function_start_address whenever a new + source file is seen. + +Mon May 18 13:04:27 1998 Michael Snyder + + * tracepoint.c (get_tracepoint_by_number): make sure to advance + arg pointer even if we fail to parse a useful number. Otherwise, + since this function is called in a loop, it may loop forever! + Also change strtol call to allow arbitrary radix. + (map_args_over_tracepoints (and other places)): add QUIT; call + to loop, to allow breakout using control-C. Not all loops were + analyzed to make sure they could terminate cleanly, but even + terminating with a messed-up tracepoint list would be better + than not terminating at all! + (tdump_command): check to see if we're connected to a trace- + capable target (currently only "remote") before doing anything + else. + +Sat May 16 22:21:48 1998 Frank Ch. Eigler + + * config/d30v/tm-d30v.h (INIT_FRAME_PC_FIRST): Fill in PC into + frame struct before extracting saved register offsets. + +Fri May 15 22:47:45 1998 Michael Snyder + + * tracepoint.c (encode_actions): fix typo in printf format string. + +1998-05-15 Jim Blandy + + Implement a few more tracing operators: ^ | & ~ ! + * ax-gdb.c (gen_integral_promotions, gen_logical_not, + gen_complement): New functions. + (gen_binop): New argument MAY_CARRY, indicating whether we need to + correct the upper bits of the value after performing the + operation. Callers changed. + (gen_expr): Handle BINOP_BITWISE_AND, BINOP_BITWISE_IOR, and + BINOP_BITWISE_XOR here as well, by calling gen_binop. Handle + UNOP_LOGICAL_NOT, UNOP_COMPLEMENT. + + * ax-gdb.c (gen_conversion): Reworked to avoid some unnecessary + sign extension. + + * ax-gdb.c (gen_usual_arithmetic): Renamed from gen_usual_binary, + to match the ANSI C standard better. Callers changed. + + * ax-gdb.c (gen_traced_pop): Add prototyped declaration. + +Fri May 15 18:18:38 1998 David Taylor + + * tracepoint.c (stringify_collections_list): return a collection + of strings rather than a single string. + (free_actions_list): new function. + (encode_actions): process collection of strings returned by + stringify_collections_list. + +1998-05-15 Jim Blandy + + * ax-gdb.c (gen_traced_pop): New function. + (gen_expr): Call it for comma operator. + (gen_trace_for_expr): Call it, instead of writing it out. + + Add facilities for sending arbitrary packets to the remote agent. + There are a bunch of improvements to make (make it generic; handle + 'O' replies properly), but I just want to get this onto the branch. + * remote.c (print_packet, remote_packet_command): New functions. + (_initialize_remote): Register the remote-packet command. + +Thu May 14 17:52:31 1998 Elena Zannoni + + * tracepoint.c: move actionline_type definition to tracepoint.h. + (validate_actionline): make non static. + + * tracepoint.h: move actioline_type definition from tracepoint.c. + (validate_actionline) moved prototype from tracepoint.c. + +Thu May 14 11:49:18 1998 David Taylor + + * tracepoint.c (validate_actionline): add additional error + checking, remove some dead code. + (encode_actions): additional cleanups. + (trace_find_command): remove some dead code. + (trace_find_pc_command): ditto. + (trace_find_tracepoint_command): ditto. + (trace_find_line_command): ditto. + (trace_find_range_command): ditto. + (trace_find_outside_command): ditto. + +Thu May 14 5:51:00 1998 Ron Unrau + + * symtab.c (decode_line_1): set section for "break *" + +Wed May 13 20:58:02 1998 Mark Alexander + + * corefile.c (reopen_exec_file): Reopen the exec file if + it has changed. + +Wed May 13 15:22:02 1998 Mark Alexander + + * sparc-tdep.c (fetch_instruction): New function. + (single_step, sparc_init_extra_frame_info, examine_prologue): + Use fetch_instruction instead of read_memory_integer + to ensure that instructions are always read as big-endian. + +Wed May 13 14:42:21 1998 Ian Lance Taylor + + * configure.in: Add AC_FUNC_ALLOCA. + * defs.h: Check HAVE_ALLOCA_H rather than sparc. Add _AIX pragma + alloca. + * configure: Rebuild. + * Makefile.in (jv-lang.o, jv-typeprint.o, jv-valprint.o): New + targets. + +Wed May 13 11:19:08 1998 Michael Snyder + + * tracepoint.c (trace_command): Remove old diagnostic code that was + preventing tracepoints from being defined with a full-path filename. + +Tue May 12 13:17:35 1998 Frank Ch. Eigler + + * stabsread.c (read_one_struct_field): Check for typedef in type + tree before clearing bitfield information. + +1998-05-11 Jim Blandy + + * ax-gdb.c (gen_binop): New function, based on gen_mul, to replace + gen_mul and gen_div, and handle `%' op as well. Correctly tests + type of arguments. + (gen_expr): Factor out common code in binary arithmetic operators. + Add support for `%'. + (gen_mul, gen_div): Removed. + +Thu May 7 14:49:38 1998 Bob Manson + + * config/sparc/tm-sp64.h (CALL_DUMMY): Store and retrieve + %o0-%o5 as 64-bit values; compensate for stack bias. + (USE_STRUCT_CONVENTION): We only pass pointers to structs + if they're larger than 32 bytes. + (REG_STRUCT_HAS_ADDR): Ditto. + + * sparc-tdep.c (sparc_init_extra_frame_info): Use read_sp() + instead of read_register. If the target is a sparc64 and the frame + pointer is odd, compensate for the stack bias. + (get_saved_register): Use read_sp(). + (DUMMY_STACK_REG_BUF_SIZE): Use FP_REGISTER_BYTES. + (sparc_push_dummy_frame): Use read_sp()/write_sp(). On sparc64, + save the PC, NPC, CCR, FSR, FPRS, Y and ASI registers. + (sparc_frame_find_saved_regs): Use read_sp(). Read the PC, NPC, + CCR, FSR, FPRS, Y and ASI registers from the frame, if it's a + dummy frame. + (sparc_pop_frame): Use write_sp(). If the target is a sparc64 and + the FP is odd, compensate for stack bias. + (sparc_store_return_value): Right-justify the return value before + writing it to %o0. + (sparc_fix_call_dummy): Don't NOP out part of the call dummy on + sparc64. + (sparc64_read_sp, sparc64_read_fp, sparc64_write_sp, + sparc64_write_fp, sp64_push_arguments, + sparc64_extract_return_value): New functions to support the + sparc64 ABI. + + * dwarfread.c (handle_producer): Set processing_gcc_compilation to + the right version number. + + * dwarf2read.c (read_file_scope): Assume we're processing + GCC2 output. + +Wed May 6 16:34:03 1998 Jeffrey A Law (law@cygnus.com) + + * somsolib.c: Include gdb_stat.h. + +Mon May 4 18:34:01 1998 David Taylor + + * ax-gdb.c (gen_mul): new function; (gen_div): new function; + (gen_expr): add support for * and / operators, call gen_mul and + gen_div as appropriate. + +Mon May 4 16:24:22 1998 Mark Alexander + + * defs.h (make_run_cleanup): Declare. + * solib.c (find_solib): Pass correct number of arguments to + make_run_cleanup. + +Mon May 4 07:08:25 1998 Michael Snyder + + * tracepoint.c (trace_actions_command): actions command must set + step_count to zero (in case previous actions have set it but the + new set does not). + +Sat May 2 09:35:07 1998 Stu Grossman + + * ocd.h: Add new flags, function codes, and processor types to + support new Wiggler capabilities. + * (ocd_write_bytes_size): New function to allow atomic writes of + memory in sizes larger than a byte. + + * ser-unix.c (baudtab): Add 57600, 115200, 230400, and 460800 baud. + +Fri May 1 19:51:32 1998 Frank Ch. Eigler + + * stabsread.c (read_one_struct_field): Do not override supplied + bitfield size for a range type value. + + * gdbtypes.c (create_range_type): For a range with positive + lower limit, declare range type as unsigned. + +Fri May 1 10:58:34 1998 John Metzler + + * monitor.c: Turn off debug + +Fri May 1 09:29:56 1998 Peter Schauer + + * breakpoint.c (delete_command): Skip internal breakpoints when + all breakpoints are requested. + + * stabsread.c (define_symbol): Record parameter types from Sunpro + function stabs in the TYPE_FIELDS of the function type. + +Thu Apr 30 15:59:54 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile.in (config-check-targets, config-check-hosts): Removed. + +1998-04-30 Paul Eggert + + * Makefile.in (maintainer-clean): + Don't get ahead of yourself and delete Makefile + before running `make'. + (local-maintainer-clean, do-maintainer-clean): New rules. + +Wed Apr 29 14:02:59 1998 David Taylor + + * ax-gdb.c (gen_add): when adding a pointer and an int, use + the size of the pointer, not the int (typo) to decide how + to extend the result. + +Wed Apr 29 10:20:40 1998 John Metzler + + * nec4102rom.c: New file implements ROM monitor adapter for + nec-vr4102 board. This board hosts the vr4111 chip. This file + required extensions to the monitor_ops structure, hooks for wait + filter, new flags. This version does not support more than one + breakpoint and resuming after a breakpoint in 16 bit mode is + completely disfunctional. + + * monitor.h: Defined additional hooks for dmpregs, configure_hooks + and wait_filter. These additions require that all ROM monitor + interfaces be recoded to initialize monitor ops using assignments + rather than static structure initialization. Added new bits to + flags MO_EXACT_DUMPADDR, MO_HAS_BLOCKWRITES. + + * monitor.c (RDEBUG): Conditional tracing throughout the file. + (fromhex): Now recognized upper cse hex digits + (monitor_printf_noecho): + (monitor_readchar): Tracing interferes with input timing. + (monitor_open): Register different memory write functions with + dcache_init if MO_HAS_BLOCKWRITES. + (flush_monior_dcache): Added as an additional utilty. + (monitor-resume): Call continue hook if one has been supplied. + (monitor_wait_filter): New function Factored out of monitor wait + and used if alternate wait-filter has not been provided. + (monitor_wait): call alternate wait filter if provided. Call + monitor_dump_regs, a new function factored out from inline code. + (monitor_dump_block): A new function used as a utility when + monitors must dump several blocks of registers using different + commands. + (monitor_dump_regs): Call alternate function if provided. Uses new + hook in monitor.h. + (monitor_write_memory): Engage previouly added hook + MO_FILL_USES_ADDR. + (monitor_write_even_block): new function supports writing long + blocks of 4byte words. + (longlongendswap): new internal function + (monitor_write_memory_longlongs): new function writes large blocks + using command to enter a long long. + (monitor_write-memory_block): new Function figures out which block + mod to use. + (monitor_read_memory): Can now handle dump formats in which the bytes + preceeding the requested data is not printed. + +Tue Apr 28 19:41:33 1998 Tom Tromey + + * tracepoint.c (memrange_cmp): Another typo fix; `memrbnge' -> + `memrange'. + + * tracepoint.c (memrange_cmp): Fixed typo in function intro. + +Tue Apr 28 17:41:20 1998 Philippe De Muyter + + * symfile.c (overlay_auto_command): Add forgotten parameter + definitions. + (overlay_manual_command, overlay_off_command): Likewise. + (overlay_load_command): Likewise. + * tracepoint.c (memrange_cmp): Parameters have type void *, not + struct memrange *. + +Tue Apr 28 11:08:25 1998 John Metzler + + * rom68k-rom.c (_initialize_rom68k): Fix unresolved init_rom_68kcmds. + +Mon Apr 27 14:32:21 1998 Mark Alexander + + * config/sparc/tm-sparc.h (CALL_DUMMY): Shorten it drastically, + make it work on the simulator. + (FIX_CALL_DUMMY): Convert to function call instead of inline code. + (sparc_fix_call_dummy): Declare. + * sparc-tdep.c (sparc_fix_call_dummy): New function, taken from + old FIX_CALL_DUMMY macro, with additional fixes for simulator. + (sparc_push_dummy_frame): Set registers differently on simulator + to prevent corrupted register window save areas. + +Mon Apr 27 13:46:40 1998 John Metzler + + * rom68k-rom.c (_initialize_rom68k, init_rom68k_cmds): + Convert all static initializations of monitor ops structures to + executable initializations in order that additions to the data + structure definition can me made without repeating this editing + exercise. + * abug-rom.c (_initialize_abug_rom, init_abug-cmds): Ditto. + * cpu32bug-rom.c (_initialize_cpu32bug_rom, init_cpu32bug_cmds): Ditto. + * mon960-rom.c (initialize_mon960, init_mon960_cmds): Ditto. + * op50-rom.c (initialize_op50n, init_op50n_cmds): Ditto. + * ppcbug-rom.c (_initialize_ppcbug_rom, init_ppc_cmds): Ditto. + * sh3-rom.c (_initialize_sh3_rom, init_sh3_cmds): Ditto. + * sparclet-rom.c (_initialize_sparclet, init_sparclet_cmds): Ditto. + * remote-est.c (_initialize_est, init_est_cmds): Ditto. + * remote-hms.c ( _initialize_remote_hms, init_hms_cmds): Ditto. + +Mon Apr 27 10:43:04 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * gdb_string.h (strdup): Don't specify arguments in prototype. + +Sun Apr 26 07:57:21 1998 Peter Schauer + + * rs6000-nat.c (vmap_ldinfo): Issue warning instead of error if + fstat on ldinfo_fd fails. Use objfile->obfd instead of vp->bfd + to check for reference to the same file. + + * target.c (target_read_string): Handle string transfers at the + end of a memory section gracefully. + +Fri Apr 24 17:18:56 1998 Geoffrey Noer + + * Makefile.in: enable EXEEXT setting + +Fri Apr 24 11:53:49 1998 David Taylor + + * tracepoint.c (add_local_symbols): change type of type from + char to int so that type shows up as 'A' or 'L' not 0. + +Thu Apr 23 16:37:20 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * README: Minor changes for 4.17 release. + +Thu Apr 23 15:44:39 1998 Per Bothner + + * symfile.c (deduce_language_from_filename): .class implies java. + +Thu Apr 23 12:52:21 1998 Philippe De Muyter + + * configure.in (strerror): Check if function must be declared. + * acconfig.h (NEED_DECLARATION_STRERROR): New define slot. + * gdb_string.h (strerror): Function declaration issued if + NEED_DECLARATION_STRERROR. + * configure, config.in: Files regenerated. + +Thu Apr 23 12:27:43 1998 Philippe De Muyter + + * symfile.c (simple_overlay_update_1): Do not prefix array address + by `&'. + * bcache.h (BCACHE_DATA_ALIGNMENT): Ditto. + * tracepoint.c (encode_actions): Ditto. + * language.c, complaints.c, utils.c (varargs.h): Do not include that + file here, it is already included indirectly by defs.h. + * dbxread.c (dbx_symfile_init, process_one_symbol): Cast xmalloc return + value to the appropriate pointer type. + * utils.c (floatformat_from_doublest): Ditto. + * tracepoint.c (read_actions, _initialize_tracepoint): Ditto. + (add_memrange): Likewise with xrealloc return value. + * stabsread.c (ref_add): Ditto. + * coffread.c (coff_symfile_init): Likewise for xmmalloc return value. + * elfread.c (elf_symfile_read): Ditto. + * os9kread.c (os9k_symfile_init): Ditto. + +Thu Apr 23 00:32:08 1998 Tom Tromey + + * config.in: Rebuilt. + * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_STPCPY, HAVE_GETTEXT, + HAVE_LC_MESSAGES): Define. + +Wed Apr 22 15:38:56 1998 Tom Tromey + + * configure: Rebuilt. + * configure.in: Call CY_GNU_GETTEXT. + * Makefile.in (top_builddir): New macro. + (INTL): Define to @INTLLIBS@. + (INTL_DEPS): New macro. + (CDEPS): Reference INTL_DEPS, not INTL. + +Wed Apr 22 12:58:23 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Handle missing shared libraries during the examination of a core + dump gracefully. + * solib.c (find_solib): Use catch_errors around call to + solib_map_sections. Use warning instead of error if reading of + the shared library name fails. + (solib_map_sections): Change return and argument types to make + it callable from catch_errors. + (symbol_add_stub): Avoid GDB core dump if solib->abfd is NULL. + * irix5-nat.c, osfsolib.c (xfer_link_map_member, solib_map_sections, + symbol_add_stub): Ditto. + +Wed Apr 22 14:34:49 1998 Michael Meissner + + * Makefile.in (INTL*): Add support to link in the intl library, + and to add -I options to its source and object directories. + (INTERNAL_CFLAGS): Ditto. + (C{LIBS,DEPS}): Ditto. + +Tue Apr 21 11:20:54 1998 Frank Ch. Eigler + + * mips-tdep.c (gdb_print_insn_mips): Disassemble MIPS instructions + with subtarget-specific `mach', rather than fixed default. + * config/mips/tm-mips.h (TM_PRINT_INSN_MACH): New macro, default + disassembly `mach'. + +Mon Apr 20 15:35:03 1998 Philippe De Muyter + + * coffread.c (decode_base_type): Treat a long field with size greater + than TARGET_LONG_BIT as long long. + * values.c (value_from_longest): Print code value in error message. + +Mon Apr 20 15:32:21 1998 Mark Kettenis + + * gdb/gdb_string.h (strdup): Declare only if not defined as a + macro. + +Mon Apr 20 14:18:45 1998 J. Kean Johnston + + * procfs.c: Added replacement macros for LWP stuff. Fixed support + for UnixWare / SVR4.2MP targets and any targets which use + multi-file /proc entries. Fixed support for hardware watchpoints. + * solib.c: SCO needs some of the same code as SunOS. Change + preprocessor conditionals. + + * config/i386/i386sco5.mt: New file. + * config/i386/tm-i386sco5.h: New file. + * config/i386/i386sco5.mh (NATDEPFILES): add i386v-nat.o. + * config/i386/nm-i386v42mp.h + (TARGET_HAS_HARDWARE_WATCHPOINTS): define. + Add other macros for hardware assisted watchpoints. + * config/i386/nm-i386sco5.h: Correct attributions. + (TARGET_HAS_HARDWARE_WATCHPOINTS): define. + * config/i386/nm-linux.h (target_remote_watchpoint): Pass + 'type' through to i386_insert_watchpoint. + +Mon Apr 20 14:12:30 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * infrun.c (wait_for_inferior): Don't add signalled processes + as new threads. + * procfs.c (wait_fd): Note if LWP has exited. + (procfs_wait): use GETPID to get process ID. + +Sat Apr 18 15:21:04 1998 Stan Cox + + * configure.tgt: Added sparc86x support. + +Thu Apr 16 13:13:24 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * rdi-share/etherdrv.c (EthernetWrite): Use strerror to get + error string if in an ANSI C-ish environment. + +Wed Apr 15 18:59:48 1998 Mark Alexander + + * sparc-tdep.c (SPARC_HAS_FPU): Define. + (sparc_extract_return_value): New function, required to handle + machines without floating point. + (sparc_store_return_value): Ditto. + * config/sparc/tm-sparc.h (EXTRACT_RETURN_VALUE): Call + sparc_extract_return_value instead of using inline code. + (sparc_extract_return_value): Declare. + (STORE_RETURN_VALUE): Call sparc_store_return_value instead + of using inline code. + (sparc_store_return_value): Declare. + +Wed Apr 15 12:19:42 1998 Martin M. Hunt + + * solib.c (enable_break): Only call warning once + instead of three times. + +Tue Apr 14 16:52:59 1998 Mark Alexander + + * sparc-tdep.c (sparc_extract_struct_value_address): Make it + work correctly on little-endian hosts. + (sparc_push_arguments): New function. + (gdb_print_insn_sparc): New function. + (_initialize_sparc_tdep): Make gdb_print_insn_sparc the default + disassembler, so that SPARClite-specific instructions will + be recognized. + * sparcl-tdep.c (readchar): Print debugging information. + (debug_serial_write): New function, a replacement for SERIAL_WRITE + that prints debugging information. + * config/sparc/tm-sparc.h (PUSH_ARGUMENTS): Define. + (sparc_push_arguments): Declare. + +Tue Apr 14 15:43:49 1998 John Metzler + + * gdbcfgxref (xref_menu): Call new regex and wild card searches + Now you can type in a specific triple like mips64-vr4300-elf or + somthing like mips*.h + (triple_search, wildcardsearch): The new functions + +Mon Apr 13 16:28:07 1998 Elena Zannoni + + * utils.c (warning): added call to warning_hook + + * source.c (find_source_lines): modified to call warning in case + of source vs. executable time stamp mismatch. Simplified object + file check. Initialized mtime to 0. + + * defs.h: added warning_hook prototype + + * top.c: added warning_hook prototype. + +Mon Apr 13 09:54:08 1998 Keith Seitz + + * config/sparc/tm-sun4os4.h (IS_STATIC_TRANSFORM_NAME): Add missing + definition. + +Fri Apr 10 22:36:28 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Update support for x86 Solaris 2. + * config/i386/tm-i386sol2.h, nm-i386sol2.h: New configuration + files for x86 Solaris 2. + * config/i386/i386sol2.mt, i386sol2.mh: Use them. + * config/sparc/tm-sun4sol2.h (PROCFS_GET_CARRY): New macro, extract + carry flag from a given regset. + (IS_STATIC_TRANSFORM_NAME): New macro, check if a symbol name + is a SunPro transformed name. + * i386-tdep.c (sunpro_static_transform_name): New function to + extract the source name from a SunPro transformed name. + * inferior.h (procfs_first_available, procfs_get_pid_fd): + Add prototypes. + * infrun.c (wait_for_inferior): Handle breakpoint hit in + signal handler without intervening stop in sigtramp. + * procfs.c (procfs_lwp_creation_handler): Use PROCFS_GET_CARRY + instead of direct access to the status register. + (procfs_get_pid_fd): New function, returns procfs fd for a given pid. + * sol-thread.c (ps_lgetLDT): New function, returns LDT for a given + lwpid. + (sol_find_new_threads): Handle failed libthread_db initialization + gracefully. + * stabsread.c (define_symbol): Use IS_STATIC_TRANSFORM_NAME + to check for a SunPro transformed symbol name. + +Fri Apr 10 10:35:35 1998 John Metzler + + * utils.c (fmthex): A formatting function for hexdumps + + * mips-tdep.c (unpack_mips16): Fixed instruction decoding, lots of + bit pattern interpretations. mips_fetch_instruction does not work + for 16 bit instructions. Some confusion remains about sign + extension in backward branches. + (mips32_relative_offset): Sign extension + (mips32_next_pc): Major debugging, bit pattern interpretation + (print_unpack): debugging printf + (fetch_mips_16): new funtion, key on PC low bit, not symbol table + (mips16_next_16): Initial major debugging of this function. Lots + of bit pattern mistakes. + (mips_next_pc): key on low bit of PC, not symbol table. + * symfile.c (generic_load): Added a download verification which + reads back the loaded code. Download chunk size is now a defined + macro. Fixed a bug in which downloading slips into loading one + byte at a time. Lower level functions in monitor.c can load long + sequences of bytes and make use of these fixups. Referencing + bfd-start_address directly was incorrectly getting zero for start. + +Thu Apr 9 19:20:32 1998 Ian Lance Taylor + + * mips-tdep.c (do_fp_register_row): Use alloca rather than arrays + with dynamic size. + +Wed Apr 8 19:21:42 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * top.c (print_gdb_version): Print 1998 now. + +Wed Apr 8 16:57:22 1998 Philippe De Muyter + + * source.c: Remove obsolete decl of strstr(). + +Wed Apr 8 16:47:33 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * solib.c (solib_create_inferior_hook): Remove Ulrich Drepper's + patch of March 23 1998. + * breakpoint.c (breakpoint_re_set_one): Remove Ulrich Drepper's + patch of March 23 1998. + +Sat Apr 4 10:05:00 1998 Dawn Perchik + + * mdebugread.c (parse_partial_symbols): If this is an .mdebug + section in an ELF file, override a symbol's ECOFF section with its + ELF section. Also, fix stabs continuation where a stabs string + continues for more than one continuation. + +Mon Apr 6 09:17:48 1998 Andrew Cagney + + * mips-tdep.c (mips_push_arguments): Specify dimention of valbuf + using MAX_REGISTER_RAW_SIZE. + +Sat Apr 4 10:05:00 1998 Dawn Perchik + + * infrun.c: Fix prototype of signals_info to match static funtion. + +Thu Apr 2 12:47:41 1998 Frank Ch. Eigler + + * sol-thread.c (sol_thread_store_registers): Save & restore new + value of single updated register to prevent accidental clobbering. + +Wed Apr 1 22:01:09 1998 Mark Alexander + + * config/sparc/tm-sparclite.h (TARGET_BYTE_ORDER_SELECTABLE): Define. + * config/sparc/sparclite.mt: Link in the erc32 simulator. + +Wed Apr 1 16:30:49 1998 Ian Dall + + * ns32k-tdep.c (flip_bytes, ns32k_localcount, + ns32k_get_enter_addr, sign_extend): Restore functions mysteriously + deleted. + + * ns32knbsd-nat.c: New (?) file to support fetching and storing + registers on NetBSD hosts. + + * nbsd.mh (NATDEPFILES): put ns32knbsd-nat.o instead of + ns32k-nat.o + + * ns32km3-nat.c (reg_offset): Get order of floating point + registers correct. Add extra 32382 register offsets. + (REG_ADDRESS): define to point at correct part of thread + state. Use calls to "warning" instead of "message". + + * tm-nbsd.h, tm-ns32km3.h (REGISTER_NAMES, NUM_REGS, + REGISTER_BYTES, REGISTER_BYTE): redefine allowing for 32382 + fpu registers. + +Wed Apr 1 13:43:07 1998 Philippe De Muyter + + * NEWS: m68k-motorola-sysv host support added. + * coffread.c (coff_start_symtab): Accept the filename as an argument, + set it here. Callers updated. + +Wed Apr 1 23:13:23 1998 Andrew Cagney + + * config/mips/tm-mips.h (REGISTER_VIRTUAL_TYPE): Handle 32 bit SR, + FSR and FIR registers. + (REGISTER_VIRTUAL_SIZE): Compute using REGISTER_VIRTUAL_TYPE. + (REGISTER_RAW_SIZE): Define using REGISTER_VIRTUAL_SIZE. + + * config/mips/tm-mips64.h: Ditto. + +Tue Mar 31 21:30:39 1998 Nick Clifton + + * arm-tdep.c (gdb_print_insn_arm): Attach a fake Thumb symbol + vector to the info structure when disassembling thumb + instructions. + + * coffread.c (coff_symtab_read, read_one_sym, + process_coff_symbol): Support Thumb symbol types. + + * dbxread.c (process_one_symbol): Call SMASH_TEXT_ADDRESS (if it + is defined) for function symbols. + +Tue Mar 31 16:39:28 1998 Michael Snyder + + * tracepoint.c (get_tracepoint_by_number): change warning to note. + (delete_trace_command): suppress y/n query if no tracepoints, or + if not from_tty. (trace_pass_command): reject junk at end of args. + (read_actions): an action list consisting only of "end" is discarded. + (validate_actionline (for collect command)): an argument beginning + with a dollar_sign but not recognized as a special argument is + parsed like any other expression -- if it isn't a register name, + it's rejected. Also reject an empty argument to while-stepping. + (trace_find_command): reject a negative frame number argument. + (_initialize_tracepoint): set $traceframe initially to -1. + +Mon Mar 30 16:42:12 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * rdi-share/Makefile.am, rdi-share/aclocal.m4, + rdi-share/configure: New files. + * rdi-share/configure.in: Rewritten to be an autoconf input file. + * rdi-share/Makefile.in, rdi-share/configure: Generated by + automake/autoconf. + * rdi-share/dbg_hif.h, etherdrv.c, hostchan.c: Use autoconf tests + to check environment. + +Sun Mar 29 15:17:16 1998 Keith Seitz + + * tracepoint.c (trace_start_command): Set trace_running_p. + (trace_stop_command): Clear trace_running_p. + +Sat Mar 28 15:19:48 1998 Stan Shebs + + * NEWS: Update for 4.17 release. + +Fri Mar 27 10:15:50 1998 David Taylor + + * tracepoint.c (parse_and_eval_memrange): Fix memory leaks. + (encode_actions): Use the new gen_trace_for_expr function + instead of expr_to_address_and_size; collect registers when + using expressions. (clear_collection_list): Fix memory leak. + +1998-03-26 Jim Blandy + + * ax-gdb.h (gen_trace_for_expr): Add prototype. + +Thu Mar 26 17:24:23 1998 David Taylor + + * tracepoint.c (validate_actionline): Fix memory leak. + (encode_actions): Fix memory leak. + +Thu Mar 26 16:16:55 1998 David Taylor + + * tracepoint.c (trace_mention): New function. + (trace_command): Call it. + +1998-03-26 Jim Blandy + + * ax-general.c (ax_reqs): New function. + * ax.h (enum agent_flaws, struct agent_reqs): New types. + (agent_reqs): New extern prototype. Well, actually, this was + there before, due to a premature checkin. + (struct aop_map): Add new `data_size' member. + * ax-general.c (aop_map): Supply its value. + * ax-gdb.c (agent_command): Call ax_reqs, for testing. + + * ax-general.c (ax_print): If we encounter an invalid or + incomplete opcode, don't abort; just print an error message. + + * ax-gdb.c: Generate trace bytecodes, as appropriate. + (trace_kludge): New variable. + (gen_fetch, gen_bitfield_ref): Emit trace bytecodes, if asked + nicely. + (expr_to_agent): Ask for no trace bytecodes. + (gen_trace_for_expr): New function. + (agent_command): Call it, and display the result appropriately --- + no struct axs_value, so no type or kind information. + + * ax-gdb.c: Use TARGET_CHAR_BIT throughout, not HOST_CHAR_BIT. + +Thu Mar 26 22:29:28 1998 Elena Zannoni + + * tracepoint.c (trace_status_command): Recognize a boolean return + value from the stub to indicate whether trace experiment is + running. Export this value as a global state variable. + (trace_running_p) for use by the GUI. (from Michael Snyder) + (trace_pass_command) added call to modify_tracepoint_hook. + + * tracepoint.h export trace_running_p. + +Thu Mar 26 13:08:01 1998 David Taylor + + * tracepoint.c (validate_actionline): do not error out if + exp->elts[0].opcode is not on short line -- let + expr_to_address_and_size handle it. + +1998-03-26 Jim Blandy + + * tracepoint.c: Include "ax.h", not "agentexpr.h". + + * tracepoint.c (encode_actions): Call expr_to_address_and_size, + not simply expr_to_agent. + + * ax-general.c: Comment out code in progress, so everyone else can + at least compile. + + * gdbtypes.c: Doc fix. + + * ax.h, ax-gdb.h, ax-general.c, ax-gdb.c: New files. + * Makefile.in (REMOTE_OBJS): Add ax-general.o and ax-gdb.o. + (SFILES): Add ax-general.c, ax-gdb.c. + (ax_h): New variable. + (ax-general.o, ax-gdb.o): New rules. + + +Tue Mar 24 16:22:40 1998 Stu Grossman + + * Makefile.in: Derive SHELL from configure. + * config/d10v/d10v.mt config/m32r/m32r.mt + config/mn10200/mn10200.mt config/mn10300/mn10300.mt + config/d30v/d30v.mt: Remove -lm from SIM. This prevents + dependency checking of -lm (under NT native builds). (It is + automatically added by configure if it exists.) + * doc/configure mswin/configure nlm/configure + testsuite/gdb.base/configure testsuite/gdb.c++/configure + testsuite/gdb.chill/configure testsuite/gdb.disasm/configure + testsuite/gdb.stabs/configure testsuite/gdb.threads/configure: + Regenerate with autoconf 2.12.1 to fix shell issues for NT native + builds. + +Mon Mar 23 18:10:57 1998 Ulrich Drepper (drepper@cygnus.com) + + * solib.c (solib_create_inferior_hook): Rewrite previous + change to check the type of file via BFD. + +Mon Mar 23 13:52:28 1998 Ulrich Drepper (drepper@cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Treat bp_shlib_events + like bp_breakpoints. + * solib.c (solib_create_inferior_hook): Relocate section addresses + if the alleged start address doesn't agree with the PC. + +Sat Mar 21 19:34:49 1998 Elena Zannoni + + merged changes from Foundry (list follows by file/author): + + - Tom Tromey + * Makefile.in (gdbres.o): New target. + (WINDRES): New define. + * configure: Rebuilt. + * configure.in (WINDRES): Define. + (CONFIG_OBS): Include gdbres.o on Windows. + * gdbtool.ico: New file. + * gdb.rc: New file. + + * ser-unix.c + - Keith Seitz + (wait_for): Don't reset the timeout_remaining for CYGWIN32, + since we now effectively poll the serial port. + Don't reset the current_timeout, either, since this member is used + by hardwire_readchar to track the timeout and call the ui_loop_hook. + (hardwire_readchar): Poll the serial port for Cygwin32. We timeout + every second, update the UI, and loop around doing this until we + have hit the real timeout or we get data or an error. This will + allow the UI to stay active while gdb is "blocked" talking to the + target. + - Martin M. Hunt + (wait_for): Do reset current_timeout because it is only used to + keep track of what the current timeout for the scb is. + + * top.c + - Martin M. Hunt + (quit_confirm): Change exit message again + for GUI. + (pc_changed_hook): Add prototype. + - Tom Tromey + (quit_confirm): Added missing `else'. + (quit_confirm): Special-case message if init_ui_hook is + set. + + * symtab.c + - Martin M. Hunt + (find_pc_sect_line): If no symbol information + is found, return correct pc anyway. + (find_methods): Comment out an apparently + bogus error message because it messes up Foundry. + + * serial.c + - Martin M. Hunt + (_initialize_serial): Add a description of + "set remotelogbase". + + * findvar.c + - Martin M. Hunt + (write_register_gen): Add call to + pc_changed_hook if the PC is being changed. + + * defs.h + - Martin M. Hunt + (pc_changed_hook): Define. + + * command.c + - Martin M. Hunt + (do_setshow_command): If no arguments are supplied, + don't dump core, instead print out an error message. + + * breakpoint.c + - Martin M. Hunt + Make set_raw_breakpoint, set_breakpoint_count, + and breakpoint_count non-static so they are accessible from + elsewhere. + (enable_breakpoint): Enable breakpoint + with same disposition instead of changing all breakpoints + to donttouch. + + * annotate.h + - Keith Seitz + Add declarations for annotation hooks. + + * annotate.c + - Keith Seitz + Add hooks: annotate_starting_hook, annotate_stopped_hook, + annotate_signalled_hook, annotate_exited_hook. + (annotate_starting): If hook exists, call it instead. + (annotate_stopped): If hook exists, call it instead. + (annotate_exited): If hook exists, call it instead. + (annotate_signalled): If hook exists, call it instead. + +Fri Mar 20 14:45:36 1998 Michael Snyder + + * gdbserver/Makefile.in: add dependency on XM_CLIBS. + * gdbserver/low-sim.c (registers) force into alignment. + (create_inferior): Fix typo on new_argv; add abfd arg to + sim_open, sim_create_inferior. Add reg_size arg to + sim_fetch_register, sim_store_register. Make simulator + take a single-step to get into a known running state. + * gdbserver/gdbreplay.c: include fcntl.h for def'n of F_SETFL. + * gdbserver/server.c: Add remote_debug variable to control + debug output. + * gdbserver/server.h: Add prototypes for enable/disable_async_io. + * gdbserver/remote-utils.c: add verbose debugging output controlled + by "remote_debug" variable. Add call to "disable_async_io()" + to avoid being killed by async SIGIO signals. + * config/m32r/m32r.mt: define GDBSERVER_(LIBS and DEPFILES), + so that gdbserver can be built with the m32r simulator. + +Fri Mar 20 09:04:06 1998 Andrew Cagney + + * gdbtypes.h (builtin_type_{,u}int{8,16,32,64}): New gdb builtin + types. + + * gdbtypes.c (_initialize_gdbtypes): Initialize new types. + + * mips-tdep.c (do_gp_register_row): Pad register value when GP + register is smaller than MIPS_REGSIZE. + + * findvar.c (value_of_register): When raw and virtual register + values identical, check that sizes are consistent. + +Thu Mar 19 11:32:15 1998 Michael Snyder (msnyder@cleaver.cygnus.com) + + * minsyms.c (compare_minimal_symbols): If addresses are identical, + then compare on names. Sorted list should have symbols with + identical addresses AND names adjacent, so dups can be discarded. + +Wed Mar 18 12:50:17 1998 Jeff Law (law@cygnus.com) + + * stabsread.c (define_symbol): Don't look for ',' as a LRS + indicator. + +Wed Mar 18 10:34:51 1998 Nick Clifton + + * rdi-share/etherdrv.c: Set sys_errlist[] as char * not const char *. + +Fri Mar 13 15:43:53 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/mips/xm-mips.h (CC_HAS_LONG_LONG): Undefine for Ultrix + when compiling with native cc, the compiler has broken long long + support. + +Fri Mar 13 15:37:02 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config/m68k/xm-sun3os4.h: Remove malloc declarations, they + are handled via autoconf now. + * remote.c (remote_ops, extended_remote_ops): Replace static + forward declaration by moving the static definition to the top of + the file, for old K&R compilers. + * tracepoint.c (collect_symbol, trace_start_command): + Replace ANSI string concatenation with K&R compatible simple string. + +1998-03-11 Fred Fish + + * source.c (select_source_symtab): Don't reach error if we have + a current_source_symtab from reading in partial symbol table. + +Fri Mar 6 13:10:27 1998 Fred Fish + + * utils.c (quit): Call SERIAL_DRAIN_OUTPUT rather than + SERIAL_FLUSH_OUTPUT. + * serial.h (struct serial_ops): Add drain_output, pointer to + function that waits for output to drain. + (SERIAL_DRAIN_OUTPUT): Macro to wait for output to drain. + * ser-unix.c (hardwire_drain_output): New function and prototype. + + * ser-unix.c (hardwire_ops): Add entry for drain_output function. + * ser-tcp.c (tcp_ops): Ditto. + * ser-ocd.c (ocd_ops): Ditto. + * ser-mac.c (mac_ops): Ditto. + * ser-go32.c (dos_ops): Ditto. + * ser-e7kpc.c (e7000pc_ops): Ditto. + +Thu Mar 5 16:07:41 1998 Michael Snyder (msnyder@cleaver.cygnus.com) + + * sparcl-tdep.c: fix #endif comments + +Thu Mar 5 15:10:35 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile.in (BISON): Configure substitutes in @YACC@, not @BISON@. + +Thu Mar 5 14:42:41 1998 Keith Seitz + + * ocd.c (ocd_open): If we fail ocd_start_remote, make sure we + error () so that we abort out of bdm_ppc_open. + +Wed Mar 4 16:53:52 1998 Martin M. Hunt + + * serial.c (_initialize_serial): Add a description of + "set remotelogbase". + + * command.c (do_setshow_command): If no arguments are supplied, + don't dump core, instead print out an error message. + +Wed Mar 4 01:39:08 1998 Ron Unrau + + * elfread.c (elf_symtab_read): merge SYMBOL_IS_SPECIAL into + MAKE_MSYMBOL_SPECIAL + * config/mips/tm-mips.h: ditto + +Tue Mar 3 17:19:08 1998 John Metzler + + * config/mips/tm-vr4xxx.h: implements vr4111 as separate from 4300 + * config/mips/vr4xxx.tm: implements vr4111 as separate from 4300 + * configure.tgt: Recognise mips64vr4111-*-elf as vr4xxx + * dwarfread.c (read_tag_pointer_type): Pointer sizes now come from + TARGET_PTR_BIT rather from sizeof(char *) on host. + +Tue Mar 3 14:37:02 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * alpha-nat.c (fetch_osf_core_registers): Renamed from + fetch_aout_core_registers. + (alpha_osf_core_fns): Renamed from alpha_aout_core_fns, change + flavour to bfd_target_unknown_flavour for OSF core files. + +Mon Mar 2 17:44:13 1998 Michael Snyder (msnyder@cleaver.cygnus.com) + + * breakpoint.c (_initialize_breakpoint): Make "en" an alias + for "enable" (so that it doesn't conflict with "end"). + +Mon Mar 2 17:04:25 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile (VERSION): Bump to 4.17.1. + +Mon Mar 2 16:59:15 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * rdi-share/etherdrv.c (sys_errlist): Add correct decl for Linux. + +Mon Mar 2 16:51:44 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile.in (YYFILES): Remove in maintainer-clean, not distclean. + +Mon Mar 2 16:47:11 1998 Philippe De Muyter + + * Makefile.in (distclean): Add `rm $(YYFILES)'. + +Mon Mar 2 16:45:48 1998 Philippe De Muyter + + * coffread.c (coff_read_enum_type): Set TYPE_FLAG_UNSIGNED if enum + is unsigned. + +Sun Mar 2 15:16:13 1998 Richard Henderson + + * configure.host, configure.tgt: Add sparc-linux. + * sparc-nat.c: Include not for Linux. + * config/sparc/*linux*: New files. + +Mon Mar 2 12:12:41 1998 Anthony Thompson (athompso@cambridge.arm.com) + + * arm-tdep.c (gdb_print_insn_arm): Call print_insn_big_arm + if we're big endian; else call print_insn_little_arm. + +Mon Feb 24 11:24:57 1998 Richard Henderson + + * Makefile.in (BISON): Don't even pretend to use yacc. + (c-exp.tab.o): Use bison -o to use a unique intermediate file. + (f-exp.tab.o, m2-exp.tab.o): Likewise. + (jv-exp.tab.o): Likewise. + +Tue Feb 24 03:32:59 1998 Andrew Cagney + + * remote-sim.c (gdbsim_fetch_register): Don't abort when the + register size is wrong. + +Thu Feb 19 16:49:48 1998 John Metzler + + * target.c (debug_to_fetch_registers,debug_to_store_registers, + debug-to_insert_breakpoint,debug_to_remove_breakpoint): tracing + 64 bit targets crashed long long printfs. + +Tue Feb 17 16:36:22 1998 Michael Snyder (msnyder@cleaver.cygnus.com) + + * symfile.c (read_target_int_array): rename read_target_long_array + and force the sizeof an ovly_table element to sizeof(long), + instead of sizeof(int). + +Tue Feb 17 18:05:05 1998 Frank Ch. Eigler + + * remote-mips.c (mips_request): Use unsigned long during parsing + returned value from monitor, to prevent accidental sign extension. + +Tue Feb 17 14:28:33 1998 Peter Schauer + + * acconfig.h: FORCE_MMCHECK changed to MMCHECK_FORCE. + * configure.in: Ditto. + * configure: Regenerated. + +Tue Feb 17 14:07:34 1998 Peter Schauer + + * gdbtypes.c (check_typedef): Do not try to resolve the length of + a type which has TYPE_FLAG_TARGET_STUB set, if the target type has + set TYPE_FLAG_TARGET_STUB as well. + +Tue Feb 17 14:32:18 1998 Andrew Cagney + + * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register): + Pass register size to sim_{fetch,store}_register. Check nr of + register bytes transfered is correct. + +Mon Feb 16 14:05:54 1998 Andrew Cagney + + * remote-d10v.c (remote_d10v_open): Call push_remote_target + instead of open_remote_target. + + * remote.c (remote_xfer_memory): Use REMOTE_TRANSLATE_XFER_ADDRESS + to translate addr/size when defined. + (open_remote_target): Delete. + + * target.h (open_remote_target): Delete. + + * config/d10v/tm-d10v.h (REMOTE_TRANSLATE_XFER_ADDRESS): Define. + +Mon Feb 16 14:05:54 1998 Andrew Cagney + + * d10v-tdep.c (d10v_extract_return_value): Wierd. GCC wants to + return odd sized register quantities with only half of the first + register used! + + * config/d10v/tm-d10v.h (USE_STRUCT_CONVENTION): Use stack when + size > 8. + +Mon Feb 16 14:05:54 1998 Andrew Cagney + + * config/d10v/tm-d10v.h (USE_STRUCT_CONVENTION): Define. True when + sizeof type > 1. + +Sun Feb 15 16:10:50 1998 Ron Unrau + + * parse.c (write_dollar_variable): call new function + target_map_name_to_register to allow targets to define their own + register name aliases. + * infcmd.c (registers_info): use target_map_name_to_register so that + "print $reg" and "info reg $reg" use the same register name aliases. + +Fri Feb 13 16:40:30 1998 Stan Shebs + + * config/i386/i386mk.mt (OBJFORMATS): Delete, no longer used. + * config/i386/xm-i386mk.h: Fix an include. + * config/pyr/tm-pyr.h (PC_INNER_THAN): Remove, never used. + +Thu Feb 12 16:12:07 1998 Frank Ch. Eigler + + * remote-mips.c (mips_enter_debug): Sleep before sending CR to + monitor. + (mips_exit_debug): Accept any whitespace / verbiage before monitor + prompt reappears. + +Thu Feb 12 18:25:42 1998 Andrew Cagney + + * d10v-tdep.c (show_regs): Avoid use of %llx when printing 8 byte + accumulators. + +Thu Feb 12 17:10:22 1998 Andrew Cagney + + * valops.c (value_at): For d10v, make read pointers with + read_target_unsigned_integer, keep addresses unsigned. + (value_fetch_lazy): Ditto. + +Thu Feb 12 12:14:02 1998 Andrew Cagney + + * remote-d10v.c: New file. Layer the d10v GDB->remote memory map + on top of the remote serial memory transfer functions. + + * config/d10v/d10v.mt (TDEPFILES): Add remote-d10v.o + + * Makefile.in (remote-d10v.o): Add dependencies. + + * remote.c (remote_open_1): Add arg extended_p, engage extended + protocol when extended_p. + (remote_open, extended_remote_open): Pass !extended_p / + extended_p to remote_open_1. + + * remote.c (open_remote_target), target.h: New function. + +Wed Feb 11 08:41:15 1998 Andrew Cagney + + * config/i386/fbsd.mh (XDEPFILES): Add ser-tcp.o. + +Tue Feb 10 17:50:37 1998 Keith Seitz + + * tracepoint.c (tracepoint_operation): Call the modify_tracepoint_hook + if it exists. + Remove static declaration of free_actions. + + * tracepoint.h: Add declaration of free_actions. + +Tue Feb 10 12:17:13 1998 Fred Fish + + * symtab.c (decode_line_1): Revert change that mistakenly + removed assignment of sals[0].pc field. + +Mon Feb 10 12:37:47 1998 Philippe De Muyter + + * m68k/tm-delta68.h (EXTRACT_RETURN_VALUE): Type argument for + `REGISTER_CONVERT_TO_VIRTUAL is `TYPE', not + `REGISTER_VIRTUAL_TYPE (FP0_REGNUM)'; + (STORE_RETURN_VALUE): Ditto, and offset for `write_register_bytes' + is `REGISTER_BYTE (FP0_REGNUM)', not `FP0_REGNUM'. + (FRAME_NUM_ARGS): New macro. + * m68k/tm-news.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): Ditto. + * delta68-nat.c (clear_insn_cache): New function, forgotten in previous + patch. + +Mon Feb 9 11:10:06 1998 Andrew Cagney + + * d10v-tdep.c: Replace references to IMEM_ADDR and DMEM_ADDR with + D10V_MAKE_[DI]ADDR and D10V_CONVERT_[ID]ADDR_TO_RAW macros. + + * config/d10v/tm-d10v.h (IMEM_START): Move to 0x01...... + (DMEM_START): Move to 0x00...... + (STACK_START): Move to 0x00..7ffe. + (D10V_MAKE_IADDR, D10V_MAKE_DADDR): Translate unconditionally. + + * d10v-tdep.c (d10v_xlate_addr): Delete function. + +Mon Feb 9 15:10:21 1998 Fred Fish + + * symtab.c (fixup_psymbol_section): Move forward declaration to + top of file with other such decls. Make it a static function. + * symtab.h: Minor formatting tweaks. + +Mon Feb 9 13:14:12 1998 Stan Shebs + + * config/a29k-udi.mt, config/i960/vxworks960.mt (REMOTE_OBS): + Remove redefinition. + * config/i960/tm-i960.h (BREAKPOINT): Define. + +Mon Feb 9 15:35:38 1998 Ian Lance Taylor + + * Makefile.in (init.c): Ignore errors when making init.c. Seems + necessary to work around bug in Solaris make. + +Sun Feb 6 02:44:28 1998 Philippe De Muyter + + * m68k/tm-delta68.h (CPLUS_MARKER): Macro deleted. + (EXTRACT_STRUCT_VALUE_ADDRESS): Macro defined. + (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): Macros modified + because floating-point values return via %fp0. + (CLEAR_INSN_CACHE): New macro. + * m68k/tm-m68k.h (REGISTER_CONVERT_TO_VIRTUAL): Macro fixed + to use DOUBLEST. + (REGISTER_CONVERT_TO_RAW): Ditto. + * infptrace.c (child_xfer_memory): If CLEAR_INSN_CACHE is defined, + call it after having written in child process's memory. + * inflow.c (PROCESS_GROUP_TYPE): Macro defined if HAVE_TERMIO. + (gdb_has_a_terminal, terminal_ours_1): Functions fixed for HAVE_TERMIO. + +Fri Feb 6 16:17:30 1998 Jeffrey A Law (law@cygnus.com) + + * config/mips/tm-mips64.h (TARGET_LONG_BIT): Allow final target to + override. + (TARGET_LONG_LONG_BIT): Likewise. + (TARGET_PTR_BIT): Likewise. + +Fri Feb 6 17:42:22 1998 Andrew Cagney + + * config/d10v/tm-d10v.h (D10V_CONVERT_IADDR_TO_RAW, + D10V_CONVERT_DADDR_TO_RAW): Define. + + * d10v-tdep.c (d10v_push_arguments): Re-write. Pass arguments in + registers, regardless of their size, when they fit. + +Thu Feb 5 13:16:36 1998 Andrew Cagney + + * d10v-tdep.c (d10v_extract_return_value): For function pointers + translate address to IMAP area. + + * config/d10v/tm-d10v.h (EXTRA_FRAME_INFO): Delete dummy from + struct. + (POP_FRAME): Point at generic_pop_current_frame. + + * d10v-tdep.c (d10v_pop_frame): Delete code handling dummy frames, + handled earlier. + (d10v_push_return_address): New function. + (d10v_pop_dummy_frame): Delete. + (d10v_fix_call_dummy): Delete. + (d10v_call_dummy_address): Delete. + + * d10v-tdep.c (d10v_init_extra_frame_info): Clear dummy and + frameless. + + * d10v-tdep.c (d10v_push_arguments): Keep stack word aligned. + + * config/d10v/tm-d10v.h (EXTRACT_STRUCT_VALUE_ADDRESS): Extract + address of structure from first ARG1_REGNUM. + + * d10v-tdep.c (d10v_push_arguments): Force 4 byte args into + even-odd register pair. Store 1 and 2 byte args in registers. + + * valops.c (value_fetch_lazy): Ensure that a D10V function pointer + is fetched in the correct byte order. + (value_at): Ditto. Also ensure data pointers are mapped to data + segment. + + * config/d10v/tm-d10v.h (D10V_DADDR_P, D10V_IADDR_P): + + * d10v-tdep.c: Replace 2 with REGISTER_RAW_SIZE. + (d10v_pop_frame): Replace R13 with LR_REGNUM. + (d10v_push_arguments): Replace R2 with ARG1_REGNUM. + (d10v_push_arguments): Replace 6 with ARGN_REGNUM. + (d10v_extract_return_value): Access return value with RET1_REGNUM. + + * config/d10v/tm-d10v.h (ARG1_REGNUM, ARGN_REGNUM, RET1_REGNUM): + Define. + (STORE_RETURN_VALUE): Specify return register using RET1_REGNUM. + (STORE_STRUCT_RETURN): Specify ARG1_REGNUM as the struct ptr + location. + +Thu Feb 5 13:16:36 1998 Andrew Cagney + + * blockframe.c (generic_pop_dummy_frame): Flush the frame, no + longer valid. + + * blockframe.c (generic_pop_current_frame), frames.h: New + function. + +Thu Feb 5 17:18:16 1998 Andrew Cagney + + * remote-sim.c (gdbsim_create_inferior): clear_proceed_status + before /re/starting the simulator. + +Thu Feb 5 15:55:31 1998 C. M. Heard (heard@vvnet.com) + + * top.c (do_nothing): Remove signal handler after signal is caught. + +Thu Feb 5 11:57:06 1998 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c (tracepoint_operation): call free_actions instead + of free. (free_actions): eliminate some memory leaks for actions. + (validate_actionline): pass string arg by reference, so we can + change the pointer. Change all memrange collection arguments to + canonical form (literal address and size), to enforce early + evaluation. Accept UNOP_MEMVAL (assembly variables) for + trace collection. (parse_and_eval_memrange): accept expressions + for the address and size fields of a memrange (and evaluate + them immediately). (several places): use -1 instead of zero + to distinguish an absolute memrange from a register-relative one. + (encode_actions): add handling for UNOP_MEMVAL (assembly variable). + +Wed Feb 4 17:40:21 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile.in (SFILES): add tracepoint.c. + (LINTFILES): add @CONFIG_SRCS@. + (SOURCES): Ditto. + * configure.in (CONFIG_SRCS): Mirror use of CONFIG_OBS. + * configure: Regenerated. + +Tue Feb 3 16:12:32 1998 Gordon W. Ross (gwr@mc.com) + + * infptrace.c (child_resume): Don't try to step if + NO_SINGLE_STEP is defined. + +Mon Feb 2 19:06:13 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * Makefile.in (VERSION): Bump to 4.16.2. + +Mon Feb 2 17:18:25 1998 Richard Henderson + + * alpha-nat.c (fetch_aout_core_registers): Rename from + fetch_core_registers. + (fetch_elf_core_registers): New function. + (supply_gregset): Use ALPHA_REGSET_BASE. + (supply_fpregset): Likewise. + (fill_fpregset): Likewise. + (alpha_aout_core_fns): Rename from alpha_core_fns. + (alpha_elf_core_fns): New. + * config/alpha/alpha-linux.mh (NATDEPFILES): solib.o not osfsolib.o. + Disable MMALLOC. + * config/alpha/nm-linux.h (SVR4_SHARED_LIBS): Define if ELF. + (TARGET_ELF64): Likewise. + (ALPHA_REGSET_BASE): New. + * config/alpha/nm-osf.h (ALPHA_REGSET_BASE): New. + * config/alpha/tm-alphalinux.h: Include tm-sysv4.h. + + * solib.c (elf_locate_base): Add TARGET_ELF64 support. + (info_sharedlibary_command): Likewise. + + * configure.host: Match alpha*. + * configure.tgt: Likewise. + +Fri Jan 30 15:11:38 1998 David Taylor + + Changes by + * infrun.c (IN_SOLIB_DYNSYM_RESOLVE_CODE): new macro for detecting + whether we are in the dynamic symbol resolution code + (wait_for_inferior): invoke it. + * solib.c (in_svr4_dynsym_resolve_code): new function + (enable_break): record start and end of the dynamic linker + text and plt sections for use in in_svr4_dynsym_resolve_code. + * solib.h (IN_SOLIB_DYNSYM_RESOLVE_CODE): add svr4 definition; + (in_svr4_dynsym_resolve_code): declare it. + * config/nm-gnu.h (solib.h): move inclusion to after definition + of SVR4_SHARED_LIBS. + * config/nm-sysv4.h (solib.h): ditto. + * config/i386/nm-i386sco5.h (solib.h): ditto. + * config/i386/nm-linux.h (solib.h): ditto. + * config/mips/nm-irix5.h (IN_SOLIB_DYNSYM_RESOLVE_CODE): undefine. + +Thu Jan 29 19:39:31 1998 Stan Shebs + + * coffread.c (coff_symtab_read) [SEM]: Remove code, macro can + never be defined. + * dbxread.c (process_one_symbol) [BLOCK_ADDRESS_ABSOLUTE]: + Remove, no longer needed. + * hppa-tdep.c (N_SET_MAGIC): Remove, no longer used. + * config/pa/xm-hppab.h (SEEK_SET, SEEK_CUR, SEEK_END): Ditto. + * config/mips/tm-mipsm3.h (NUMERIC_REG_NAMES): Ditto. + * config/mips/mipsm3.mt (TDEPFILES): Remove mipsread.o. + +Wed Jan 28 14:46:52 1998 Stan Shebs + + Suggested by Chris Walter : + * dwarfread.c (set_cu_language): Recognize Fortran. + * dwarf2read.c (set_cu_language): Ditto. + (read_array_type): Fix language test. + +Wed Jan 28 12:51:08 1998 Michael Snyder (msnyder@cleaver.cygnus.com) + + * blockframe.c (generic_frame_chain_valid): A frame pointer may + be valid if it is equal to the frame pointer of its caller (ie. + not necessarily strictly INNER_THAN). Allows frameless functions. + +Wed Jan 28 11:23:25 1998 Mark Alexander + + * monitor.c (monitor_vsprintf): New function to handle + printing of large addresses using %A format specifier. + (monitor_printf_noecho, monitor_printf): Use monitor_vsprintf + instead of vsprintf. + * dve3900-rom.c (_initialize_r3900_rom): Use %A instead of %Lx + to print addresses. + +Tue Jan 27 16:14:23 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * configure.in (CONFIG_LDFLAGS): Only add -export-dynamic + when using GNU ld. + +Mon Jan 26 19:07:46 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * config/alpha/tm-alphalinux.h (alpha_linux_sigtramp_offset): + Add closing parenthesis. From HJ Lu. + +Mon Jan 26 17:54:45 1998 Mark Alexander + + * dve3900-rom.c: Improve performance by using memory commands + that print less fluff. Minor cosmetic changes. + Eliminate compiler warnings. + +Sat Jan 24 23:44:43 1998 Martin M. Hunt + + * breakpoint.c (enable_breakpoint): Preserve breakpoint + disposition when enabling a breakpoint. + + * symtab.c (find_pc_sect_line): If no symbol information + is found, return correct pc anyway. + +Fri Jan 23 17:26:22 1998 Stan Shebs + + * configure.host (i[3456]86-*-osf1mk*, mips-*-mach3*, + ns32k-*-mach3*): Fix file names. + (i[3456]86-*-os9k, m88*-*-mach3*, w65-*-*): Remove config + recognition, no source files for these. + * configure.tgt (powerpc-*-aix4*): Remove config, now identical + to powerpc-*-aix*. + * config/powerpc/{aix4.mh,aix4.mt,tm-ppc-aix4.h}: Remove files, + no longer needed. + +Fri Jan 23 16:49:41 1998 Mark Alexander + + * monitor.c (monitor_write, monitor_readchar): New functions. + * monitor.h (monitor_write, monitor_readchar): Declare. + * dve3900-rom.c: Add support for fast loading on ethernet connections. + +Fri Jan 23 07:47:06 1998 Fred Fish + + * config/d10v/tm-d10v.h (CALL_DUMMY): Define as "{ 0 }". + (TARGET_READ_FP): Define to d10v_read_fp rather than d10v_read_sp. + (TARGET_WRITE_FP): Define to d10v_write_fp rather than d10v_write_sp. + (d10v_write_fp, d10v_read_fp): Add prototypes. + * symtab.c (decode_line_1): Remove assignment of sals[0].pc field. + * symfile.c (simple_overlay_update, simple_overlay_update_1): + Ignore the size of overlay sections. This check is redundant anyway. + * printcmd.c (print_frame_args): Ditto. + * valops.c (value_fetch_lazy): Ditto. + * values.c (unpack_long): Ditto. + * d10v-tdep.c (d10v_frame_chain, d10v_frame_find_saved_regs, + d10v_init_extra_frame_info): Fix some minor bugs so the finish command + works properly. + (show_regs): Change num1 and num2 types from "long long" to "LONGEST". + (d10v_read_fp, d10v_write_fp): New functions. + (d10v_push_arguments): Remove unneeded assigns to "val" and "contents". + (d10v_push_arguments): Fix for pointers and structs. + (d10v_extract_return_value): Fix for pointers and chars. + +Tue Jan 20 18:53:18 1998 Stan Shebs + + * configure.tgt (i386-*-mach*, m88*-*-mach3*): Remove config + recognition, no source files for these (note that the i386 Mach + config is for pre-Mach 3). + (mips*-*-mach3*, ns32k-*-mach3*): Fix file names. + * config/mips/mipsel64.mt: Remove, never referenced. + +Mon Jan 19 14:01:28 1998 Stan Shebs + + * top.c (print_gdb_version): Restore to original message. + +Mon Jan 19 13:34:40 1998 Ian Lance Taylor + + From cgf@bbc.com (Chris Faylor): + * win32-nat.c (child_mourn_inferior): Call ContinueDebugEvent to + let the child exit. + (child_kill_inferior): Respond to all debug events as the child is + terminating. + + * Makefile.in (all): Change gdb dependency to gdb$(EXEEXT). + (uninstall): Add $(EXEEXT) to file name to remove. + (gdb$(EXEEXT)): Rename target from plain gdb. + (gdb1$(EXEEXT)): Rename target from plain gdb1. + (clean, mostlyclean): Add $(EXEEXT) to binary names to remove. + +1998-01-16 Felix Lee + + * top.c (print_gdb_version): delete stutter. + +Thu Jan 15 12:29:13 1998 Nick Clifton + + * remote-rdi.c (arm_rdi_open): Patch from Tony.Thompson@arm.com + to prevent spurous error messages on non-ICE targets. + +Wed Jan 14 19:27:02 1998 Stan Shebs + + * config/mips/{r3900.mt,r3900l.mt,tm-r3900.h,tm-r3900l.h}: + Remove, no longer used. + +Wed Jan 14 18:11:26 1998 Michael Meissner + + Patch from Jim Wilson. + * d30v-tdep.c (d30v_frame_find_saved_regs_offsets): Properly + declare void function before use. + + * config/d30v/tm-d30v.h (CALL_DUMMY): Initialize as { 0 }, not {}. + +Tue Jan 13 16:38:48 1998 Fred Fish + + * configure.in (--with-mmalloc): Add new configure arg to use the + mmalloc package. Default is to not use it. + (START_INFERIOR_TRAPS_EXPECTED): Define to the integer 2, not + the string "2". + * acconfig.h (USE_MMALLOC, FORCE_MMCHECK): Add #undef. + * configure: Regenerated. + * config.in: Regenerated. + * Makefile.in (MMALLOC_DIR, MMALLOC_SRC): Remove. + (MMALLOC): Set using configure. + (MMALLOC_CFLAGS): Set using configure. + + * config/i386/tm-linux.h (sys_quotactl): Define to 1 rather + than just defining it. + * mpw-make.sed: Undefine USE_MMALLOC rather than defining NO_MMALLOC. + * utils.c (NO_MMALLOC): Use USE_MMALLOC instead. + * objfiles.c: ditto. + * defs.h: ditto. + + * config/sparc/sun4os4.mh (MMALLOC_CFLAGS): Remove. + * config/m68k/sun3os4.mh (MMALLOC_CFLAGS): Remove. + * config/i386/cygwin32.mh (MMALLOC_CFLAGS): Remove. + * config/alpha/alpha-osf3.mh (MMALLOC_CFLAGS): Remove. + * config/alpha/alpha-osf2.mh (MMALLOC_CFLAGS): Remove. + * gdbserver/Makefile.in (MMALLOC_*): Remove. + * config/rs6000/rs6000.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/rs6000/aix4.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/powerpc/aix4.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/powerpc/aix.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/ns32k/ns32km3.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/mips/mipsm3.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/mips/decstation.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/m88k/cxux.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/i386/xm-windows.h (NO_MMALLOC, NO_MMCHECK): Remove. + * config/i386/i386mk.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/i386/i386m3.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/i386/i386gnu.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/alpha/alpha-osf1.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + * config/alpha/alpha-linux.mh (MMALLOC, MMALLOC_CFLAGS): Remove. + +Mon Jan 12 11:46:51 1998 Michael Snyder (msnyder@cleaver.cygnus.com) + + * config/m68k/tm-m68k.h (REGISTER_VIRTUAL_TYPE): make A0 thru A7 + default to void pointer type (so that their default radix is hex). + + * symtab.c: move rbreak_command from no_class to class_breakpoint + so it will be listed under "help breakpoints". + +Sat Jan 10 14:58:04 1998 Stan Shebs + + * rdi-share/hostchan.c: Remove gettimeofday declaration. + +Thu Jan 8 11:03:59 1998 Nick Clifton + + * remote-rdp.c: Applied patches submitted by Tony.Thompson@arm.com + to implement the Angel remote debugging interface. + + * Makefile.in: Add build rules for remote-rdi.c and + rdi-share/libangsd.a. + + * configure.tgt: Updated from source on branch. + * config/arm/tm-arm.h: Updated from source on branch. + * arm-tdep.c: Updated from source on branch. + + * rdi-share: New directory, RDI library contributed by ARM. + +Mon Jan 5 20:21:59 1998 Mark Alexander + + * monitor.h (MO_PRINT_PROGRAM_OUTPUT): Define. + * monitor.c (monitor_wait): Echo program output. + * dve3900-rom.c (_initialize_r3900_rom): Remove MO_HANDLE_NL flag, + add MO_PRINT_PROGRAM_OUTPUT flag. + +Mon Jan 5 18:21:11 1998 David Taylor + + * top.h (HAVE_SIGSETJMP): define SIGJMP_BUF, SIGSETJMP, and + SIGLONGJMP appropriately based on whether HAVE_SIGSETJMP is + defined. + * top.c (return_to_top_level, catch_errors): use the new macros + * main.c (SET_TOP_LEVEL): ditto. + * config/xm-sysv4.h (HAVE_SIGSETJMP): Define. + +Fri Jan 2 18:48:58 1998 Mark Alexander + + * configure.in: Double up brackets in shell case pattern. + +Fri Jan 2 17:06:05 1998 Michael Snyder (msnyder@cleaver.cygnus.com) + + * tracepoint.c (finish_tfind_command): improved algorithm for + deciding when we've "stepped" into a new stack frame. + (map_args_over_tracepoints): loop over tracepoint list "safely", + since list elements may be deleted during loop. + (read_actions): add actions to history list. + +For older changes see ChangeLog-1997 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-1999 b/contrib/gdb/gdb/ChangeLog-1999 new file mode 100644 index 0000000..8ed0612 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-1999 @@ -0,0 +1,9296 @@ +Sun Dec 19 18:56:38 1999 Andrew Cagney + + * breakpoint.c (mention): Delete ui-out breakpoint code. Mention + calls breakpoint_create_event and that, eventually, calls + gdb_breakpoint_query which displays the breakpoint details. + (hbreak_command_wrapper, thbreak_command_wrapper): Delete. + +Wed Dec 29 17:41:11 1999 Andrew Cagney + + * breakpoint.c (create_breakpoints, parse_breapoint_sals, + breakpoint_sals_to_pc): New functions. + (break_command_1): Rewrite. Use create_breakpoints, + parse_breapoint_sals, breakpoint_sals_to_pcto create the list of + breakpoints specified in ``sals''. Delete unused variables. + Pre-allocate addr_strings for all breakpoints. Allocate a + separate cond and cond_string for each breakpoint. + (gdb_breakpoint, do_captured_breakpoint, struct + captured_breakpoint_args): Provide a library interface into + create_breakpoints. + + * defs.h (gdb_breakpoint): Add declaration. + +1999-12-22 Michael Chastain + + * dbxread.c (process_one_symbol): check for nested LBRAC + symbols before calling finish_block rather than after. Do not + call define_symbol for these symbols. + +1999-12-21 Stan Shebs + + * blockframe.c (generic_pop_current_frame): Cosmetic changes to + clarify. + +1999-12-20 Michael Snyder + + * procfs.c: Completely rewritten. All functions replaced, to make + maintainence easier in the presence of two very different versions + of /proc (ioctl vs. read/write). + * proc_api.c: New file, pretty-print /proc diagnostic trace info. + * proc_events.c: New file, pretty-print /proc signals, exceptions. + * proc_flags.c: New file, pretty-print /proc flags. + * proc_why.c: New file, pretty-print /proc reasons for stopping. + * Makefile.in: Add rules for above new files. + * config/i386/i386sol2.mh: Add above new files to NATDEPFILES. + * config/sparc/sun4sol2.mh: ditto. + * config/i386/i386dgux.mh: ditto. + * config/i386/i386v4.mh: ditto. + * config/i386/i386v42mp.mh: ditto. + * config/i386/ncr3000.mh: ditto. + * config/m68k/m68kv4.mh: ditto. + * config/m88k/delta88v4.mh: ditto. + * config/mips/irix4.mh: ditto. + * config/mips/irix5.mh: ditto. + * config/mips/mipsv4.mh: ditto. + * config/powerpc/solaris.mh: ditto. + * config/alpha/alpha-osf2.mh: ditto. + * config/alpha/alpha-osf3.mh: ditto. + * testsuite/gdb.base/callfuncs.exp: make "next" test match the + next source line, in case the "next" runs away. + * acconfig.h: remove obsolete def HAVE_MULTIPLE_PROC_FDS, + add new def NEW_PROC_API + * config.in; ditto. + * configure.in: Detect sparc solaris 7 and all versions of + UnixWare, and define NEW_PROC_API. + * configure: auto-generate. + * infrun.c (MAY_SWITCH_FROM_INFERIOR_PID): remove define, make it + the default behavior. (switched_from_inferior_pid): rename to + previous_inferior_pid. (handle_inferior_event): remove the + [Switching to thread...] message. (normal_stop): move the + [Switching to thread...] message to here. + * sol-thread.c (sol_find_new_threads): add a call to + procfs_find_new_threads, so that new LWPs are found too. + * config/mips/nm-irix5.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT): + define to always use. (target_insert_watchpoint) define to use + new procfs call (one additional parameter). + (target_remove_watchpoint): ditto. + (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT) define always true. + * config/mips/nm-irix4.h: ditto. + +1999-12-21 Jim Blandy + + * Makefile.in (elf_bfd_h): Look for elf-bfd.h in BFD_SRC, not + BFD_DIR. Unlike bfd.h, it is not a generated file. + +Fri Dec 17 18:24:58 1999 David Taylor + + * language.c (_initialize_language): move settings of language, + range, and type and corresponding function calls + set_language_command, set_type_command, and set_range_command + closer together to match the model of having the user set the + variable via the 'set {language | range | type}' commands. + This eliminates startup noise introduced by Jimmy Guo's change + of Dec 13th. + +1999-12-17 Michael Snyder + + * configure.in: test for , which is not available + on earlier versions of Linux. + * config.in: define HAVE_STDINT_H if it's present. + * configure: autoconfiscate. + * lin-thread.c: if not HAVE_STDINT_H, stub out the entire module. + +Fri Dec 17 20:45:21 1999 Andrew Cagney + + * target.c (find_target_beneath): Change ``='' in if to ``==''. + +1999-12-16 Michael Snyder + + * defs.h (TIDGET): add default definition. + * lin-thread.c (check_for_thread_event): for now, just provide + an empty definition (to be filled in later). + +1999-12-16 Fernando Nasser + + * varobj.c (varobj_list): Improve the test and the text of the + assertion that guards against wrong tally of root varobjs. + (uninstall_variable): Fix for a bug in which the number of root + varobjs was not decremented if the first one in the list was deleted. + +1999-12-16 Michael Snyder + + * linux-thread.c: Remove printf-debugging code. + * lin-thread.c: ditto. + * config/alpha/nm-linux.h: protect with NM_LINUX_H. + * testsuite/gdb.threads/linux-dp.exp: Make test for "New Thread" + message more forgiving. Ditto test for "info threads". + +1999-12-16 Michael Snyder + + * lin-thread.c: new file. Implements multi-thread debugging on + Linux using the thread_db API first implemented on Solaris. This + frees GDB from any dependency on the internal implementation of + the thread library. Future versions of the thread library will + implement a libthread_db API for debuggers, which GDB will use. + * config/i386/linux.mh: add lin-thread.o to the link, and add + -ldl and -rdynamic since libthread_db is a dynamic library. + * config/alpha/alpha-linux.mh: ditto. + * configure.in: test for thread_db.h, proc_service.h + * configure: autoconf. + * config.in: conditionally define HAVE_THREAD_DB_H + and HAVE_PROC_SERVICE_H + * gdb_thread_db.h: new file, used when the system doesn't have it. + * gdb_proc_service.h: ditto. + +1999-12-16 Michael Snyder + + * linux-thread.c: changes to accomodate the new lin-thread.c + module based on the thread_db API. These changes make parts of + linux-thread.c shareable with lin-thread.c. + (linuxthreads_wait_mask): replace with linuxthreads_block_mask. + (using_thread_db): new variable. Allows linux-thread module to + detect when lin-thread (thread_db API) module is in use. + (save_inferior_pid, restore_inferior_pid): make 32/64 bit safe. + (check_all_signal_numbers) make extern, shared with lin-thead.c. + (linuxthreads_new_objfile): use target_new_objfile_chain to share + this hook with the lin-thread module. Call the other module FIRST. + If using_thread_db is turned on by the other thread module, do not + set linuxthreads_debug and do not call update_stop_threads. Do call + check_all_signal_numbers, to be sure it gets set before target_wait. + (linux_child_wait): new function. Abstracts out the "child_wait" + functionality, so that it can be shared with the lin-thread module. + (linuxthreads_wait): call linux_child_wait, instead of doing the + waiting inline. If using_thread_db, do not call update_stop_threads + and do not turn on linuxthreads_debug. + (linuxthreads_mourn_inferior): abstract out the clearing of global + state, so that it can be shared with the lin-thread.c module. + (_initialize_linuxthreads): use linuxthreads_wait_mask to block + SIGCHLD exactly ONCE, and leave it blocked! Then linux_child_wait + will call sigsuspend when it wants to wait for this signal. + (thread_attach): abstract out ptrace attach to share with lin-thread.c + +1999-12-16 Michael Snyder + + Make target_pid_to_str a target_ops vector. + * target.h (target_pid_to_str): redefine to use a target_ops vector. + (target_tid_to_str): default to using target_pid_to_str. + (target_pid_or_tid_to_str): ditto. + * target.c (update_current_target): inherit to_pid_to_str method. + (find_target_beneath): new function. Find target stratum below + the given one. + * config/nm-gnu.h: don't define target_pid_to_str. + * config/i386/tm-i386sol2.h: ditto. + * config/sparc/tm-sun4sol2.h: ditto. + * gnu-nat.c (init_gnu_ops): initialize to_pid_to_str vector. + * linux-thread.c (init_linuxthreads_ops): ditto. + * sol-thread.c (init_sol_thread_ops: ditto. + * procfs.c (init_procfs_ops): ditto. + * win32-nat.c (init_child_ops): ditto. + * config/i386/tm-cygwin.h: don't define target_pid_to_str. + * inftarg.c (child_pid_to_str): new function, used to initialize + to_pid_to_str vector. May be suppressed by defining CHILD_PID_TO_STR. + (init_child_ops): initialize to_pid_to_str using child_pid_to_str. + Derivative modules may substitute their own child_pid_to_str func + by defining CHILD_PID_TO_STR. + * lynx-nat.c (lynx_pid_to_str): rename to child_pid_to_str. + * config/nm-lynx.h: define CHILD_PID_TO_STR. + Don't define target_pid_to_str. + * hppah-nat.c (hppa_pid_to_str): rename to child_pid_to_str. + * infttrace.c (hppa_pid_or_tid_to_str): call child_pid_to str + instead of hppa_pid_to_str. + * config/pa/nm-hppah.h: define CHILD_PID_TO_STR. + Don't define target_pid_to_str. + +1999-12-16 Michael Snyder + + * i386-linux-nat.c: introduce PIDGET/TIDGET macros as on Solaris, + preparatory to using the thread_db debugging API for Linux. + (fill_gregset): guard against invalid input. + (fetch_regs): add a pid/thread_id argument, so we can fetch regs + from multiple processes/clones/threads. (store_regs): ditto. + (fetch_fpregs): ditto. (store_fpregs): ditto. + (fetch_xfpregs): ditto. (store_xfpregs): ditto. + (fetch_inferior_registers): use TIDGET to extract an appropriate + thread/clone/process id from inferior_pid, if there's one there, + and pass it to fetch_regs etc. (store_inferior_registers): ditto. + + * infptrace.c: include every available version of wait.h. + introduce PIDGET/TIDGET macros for use with thread_db API on Linux. + (call_ptrace): rearrange lines that were split by an ifdef. + (fetch_register): use TIDGET to extract an appropriate process ID + from inferior_pid, in case we are debugging more than one process. + (store_register): ditto. This is for Linux. + (child_xfer_memory): use PIDGET to extract the main process id from + inferior_pid, in case we are debugging multiple processes that share + the same address space (as on Linux). + +1999-12-16 Christopher Faylor + + * win32-nat.c: Add a missing register to mappings array. + (child_fetch_inferior_registers): Use precalculated index into mappings + array as supply_registers argument. + (handle_output_debug_string): Avoid considering every debug string as a + cygwin signal. + (handle_exception): Trap first chance exceptions. + (child_create_inferior): Initialize Microsoft thread walking API. + (sgmb): New function. Used by Microsoft API for stack walking. + (child_frame_chain): New function. Uses Microsoft API for stack + walking. + (child_frame_chain_saved_pc): Ditto. + * config/i386/tm-cygwin.h: Define frame handling stuff. + +1999-12-15 Stan Shebs + + ARM GNU/Linux support and general ARM target fixes/cleanup from + Scott Bambrough , plus obsoletion of the old + RISCix support. + * NEWS: Mention addition and obsoletion. + * configure.host: Recognize arm* instead of just arm. + (arm*-*-linux*): Recognize. + * configure.tgt: Ditto, plus assume arm*-*-* is embedded. + * config/arm/arm.mh, config/arm/arm.mt, config/arm/nm-arm.h, + config/arm/xm-arm.h: Mark as OBSOLETE. + * config/arm/embed.mt, config/arm/tm-embed.h: New files. + * config/arm/linux.mh, config/arm/linux.mt, config/arm/nm-linux.h, + config/arm/tm-linux.h, config/arm/xm-linux.h: Ditto. + * config/arm/tm-arm.h: Add more comments, eliminate PARAMS. + (STACK_END_ADDR): Remove. + (ARM_LE_BREAKPOINT, ARM_BE_BREAKPOINT, THUMB_LE_BREAKPOINT, + THUMB_BE_BREAKPOINT): Move to here from arm-tdep.c. + (NUM_REGS): Define as sum. + (NUM_FREGS, NUM_SREGS, NUM_GREGS): New definitions. + (FP_REGISTER_RAW_SIZE, FP_REGISTER_VIRTUAL_SIZE, + STATUS_REGISTER_SIZE): Define. + (REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE, + REGISTER_VIRTUAL_SIZE): Rewrite to use symbolic values. + (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW, USE_STRUCT_CONVENTION, + EXTRACT_RETURN_VALUE): Rewrite to use new functions. + (IN_SIGTRAMP): Remove definition. + * arm-convert.s: Mark as OBSOLETE. + * arm-linux-nat.c: New file. + * Makefile.in: Add build rule for it. + * arm-tdep.c (struct frame_extra_info): New struct. + (arm_use_struct_convention): Rewrite. + (arm_push_arguments): Rewrite to handle more cases. + (arm_register_convertible, arm_register_convert_to_virtual, + arm_register_convert_to_raw, arm_extract_return_value): New + functions. + (LITTLE_BREAKPOINT, BIG_BREAKPOINT): Remove. + * arm-xdep.c: Mark as OBSOLETE. + +1999-12-15 Elena Zannoni + + * infcmd.c (run_stack_dummy): Temporarily lie about the target + ability to support asynchronous execution. + + * remote.c (remote_can_async_p, remote_is_async_p): Return true + iff to_async_mask_value is true too. + (remote_async): Error out if called when to_async_mask_value is 0. + (init_remote_async_ops): Initialize to_async_mask_value to 1. + (remote_async_detach, remote_async_resume, remote_async_wait, + remote_async_kill): Change SERIAL_IS_ASYNC_P call to + target_is_async_p call. + (remote_async_resume): Change SERIAL_CAN_ASYNC_P call to + target_can_async_p call. + + * target.c (update_current_target): Inherit to_async_mask_value. + (target_async_mask): New function. To temporarily turn the target + into a synchronous one for inferior function calls, and back to + asynchronous. + + * target.h (to_async_mask_value): New entry in the target + vector. + (target_async_mask): Export. + (target_async_mask_value): Define. + +Wed Dec 15 11:24:32 1999 Jeffrey A Law (law@cygnus.com) + + * hp-psymtab-read.c (trans_lang): Use HP_LANGUAGE_FORTRAN instead + of HP_LANGUAGE_F77. + +Wed Dec 15 13:37:55 1999 Andrew Cagney + + * gdb-events.h, gdb-events.c (set_gdb_event_hooks): Return the old + event hooks vector. + +1999-08-13 Jim Kingdon + + * breakpoint.c (bpstat_stop_status): Revert 1998-09-08 change + to ->frame matching. The change did not match the ChangeLog + entry, looked fishy, and caused infinite stepping when running + "next" from main on sparc w/ RH Linux. Thanks to Jakub for the + report. + +1999-12-14 Stan Shebs + + * arm-tdep.c (arm_get_next_pc): Add argument to shifted_reg_val + call. + +1999-12-14 Mark Salter + + * mips-tdep.c (mips_print_register): Fix printing of individual + registers when REGISTER_VIRTUAL_SIZE != REGISTER_RAW_SIZE. + +Tue Dec 14 23:29:19 1999 Andrew Cagney + + * defs.h (mcalloc): Delcare. + * utils.c (xcalloc, mcalloc): New functions. + +1999-12-13 Stan Shebs + + * config/arm/tm-arm.h: Reformat comments, in preparation for + real changes. + * arm-tdep.c: Similarly, plus change function definitions to + modern form. + +1999-12-13 Michael Snyder + + * breakpoint.h (enum bptype): add new BP type bp_thread_event. + This will be used when a target needs to set an invisible + breakpoint to detect events such as thread creation. + * breakpoint.c (interlan_breakpoint_number): remove ifdefs. + (create_thread_event_breakpoint): new function. + (remove_thread_event_breakpoints): new function. + (bpstat_what): don't stop at invisible thread_event breakpoints. + (update_breakpoints_after_exec): if bp_thread_event breakpoins + still exist after an exec, delete them. They'll need to be + found and installed anew anyway. + (print_it_typical): don't announce bp_thread_event breakpoints. + (print_one_breakpoint): account for new breakpoint type. + (mention): don't mention invisible bp_thread_event breakpoints. + (delete_command): don't delete invisible bp_thread_event bp's. + (breakpoint_re_set_one): don't touch bp_thread_event bp's. + +Mon Dec 13 11:10:59 1999 Jimmy Guo + + * language.h (longest_raw_hex_string, longest_local_hex_string, + longest_local_hex_string_custom): Declare. + * language.c: New functions, and misc. fixes. + (longest_raw_hex_string, longest_local_hex_string, + longest_local_hex_string_custom): New functions. + + * c-typeprint.c + (c_type_print_varspec_prefix,c_type_print_varpsec_suffix): Add + TYPE_CODE_TEMPLATE case and default case. + (c_type_print_base): Revise how demangled_no_class is found; + print '}' before printing local file:line info. + * c-valprint.c (c_value_print): print reference type to class. + + * valarith.c (value_binop): Add support for exponentiation, + equal, not equal. + (value_strcmp): New function. + (value_equal,value_less): Add string equality comparison support. + + * m2-exp.y (lex): add default case statement to capture + unhandled token and call error(). + +1999-12-13 Elena Zannoni + + * main.c (main): Remove unused variable. + + From Hubert VERSTRAETE (hubertV@bigfoot.com): + * main.c (captured_main): Disambiguate command line option '-d' by + preferring --directory over --dbx. + + * top.c (return_to_top_level): Do not do exec cleanups if the + target is executing. Those cleanups are supposed to be done when + the target has stopped. + +Mon Dec 13 20:52:37 1999 Andrew Cagney + + * breakpoint.c (do_captured_breakpoint_query, + gdb_breakpoint_query): New functions. Implement a breakpoint + query. + + * defs.h (enum gdb_rc): Declare. + (gdb_breakpoint_query): Declare. + +Mon Dec 13 14:18:06 1999 Andrew Cagney + + * gdb-events.h: Fix typo in description of breakpoint events. + * gdb-events.sh: Update. + +Mon Dec 13 13:57:26 1999 Andrew Cagney + + * breakpoint.c (ep_type_description_t): Delete. + (print_one_breakpoint): Add local declaration of struct + ep_type_description. + +Mon Dec 13 12:38:31 1999 Andrew Cagney + + * top.h: Delete #include . Moved to top.c. + (SIGJMP_BUF, SIGSETJMP, SIGLONGJMP, SIGJMP_BUF, SIGSETJMP, + SIGLONGJMP): Delete. Moved to top.c + (error_return, quit_return): Delete extern declarations. + + * top.c: #include . + (error_return, quit_return): Make static. + (SIGJMP_BUF, SIGSETJMP, SIGLONGJMP, SIGJMP_BUF, SIGSETJMP, + SIGLONGJMP): Define. + +Mon Dec 13 11:54:12 1999 Andrew Cagney + + * tracepoint.c (trace_start_command, tracepoints_info): Print + step_count using %ld. + * Makefile.in (tracepoint.o): Compile tracepoint.o with -Werror. + +1999-12-12 Elena Zannoni + + * target.h (enum target_waitkind): Add new enumeration value + TARGET_WAITKIND_IGNORE. For inferior events that we should do + nothing about. + + * remote.c (remote_async_wait): After each character of console + output from the inferior, return to the event loop with an event + kind of TARGET_WAITKIND_IGNORE instead of looping here. + + * infrun.c (handle_inferior_event): In case of + TARGET_WAITKIND_IGNORE, return immediately, and set things up so + that we are still waiting for the inferior. + +1999-12-12 Elena Zannoni + + * event-loop.c (handle_timer_event): When calling the timer + procedure, use the saved_timer data, not the timer_ptr data, + because the latter has been already freed. + +Fri Dec 10 12:01:43 1999 Andrew Cagney + + * eval.c (evaluate_subexp): Only inline when GNUC and not STDC. + +Sat Dec 11 17:52:03 1999 Andrew Cagney + + * breakpoint.c (print_one_breakpoint): New function. Move + breakpoint print code to here. + (breakpoint_1): From here. + (print_one_breakpoint): Merge in ui-out code. + (print_one_breakpoint): Add local variabls ``stb'' and + ``old_chain''. + (breakpoint_1): Use print_one_breakpoint when UI. + (print_one_breakpoint): Print breakpoint type when UI. + (breakpoint_1): Merge UI out code into non UI function. + + * ui-out.c (make_cleanup_ui_out_stream_delete): New function. Wrap + make_cleanup. + (do_stream_delete): New function. Wrap ui_out_stream_delete. + * ui-out.h (make_cleanup_ui_out_stream_delete): Declare. + +Sat Dec 11 00:12:41 1999 Andrew Cagney + + * breakpoint.c (breakpoint_1): Clone breakpoint_1 creating UI + and non-UI versions. + +Mon Dec 6 20:31:28 1999 Andrew Cagney + + * gdbarch.sh: Replace field init_p with invalid_p. + (TARGET_BFD_VMA_BIT): New architecture vector method. Defaults to + architecture bits_per_address. + * gdbarch.h, gdbarch.c: Update. + * defs.h (TARGET_BFD_VMA_BIT): Provide default of TARGET_PTR_BIT + for non- multi-arch case. + + * gdbtypes.h (builtin_type_bfd_vma, builtin_type_ptr, + builtin_type_CORE_ADDR): New GDB specific address types. + * gdbtypes.c (_initialize_gdbtypes, build_gdbtypes): Initialize + new builtin types. + +Wed Dec 8 17:48:56 1999 Andrew Cagney + + * config/sparc/nm-nbsd.h (FETCH_INFERIOR_REGISTERS): Delete + definition. Already defined in config/nm-nbsd.h. Include the + more explicit config/nm-nbsd.h. + + * config/sparc/nbsd.mt (TDEPFILES): Move solib.o from here. + * config/sparc/nbsd.mh (NATDEPFILES): To here. + * config/xm-nbsd.h: #include to get definition of + NGROUPS needed by and missing on some systems. + * config/nm-nbsd.h: Only macro's that match NetBSD definitions + with what is expected by solib.c when not SVR4_SHARED_LIBS. + + * configure.host: Add patterns for sparc-*-netbsdaout* and + sparc-*-netbsdelf*. + * config/sparc/nm-nbsdelf.h: New file. + * config/sparc/nbsdelf.mh: New file. + +Wed Dec 8 19:56:48 1999 Andrew Cagney + + * frame.h, blockframe.c: Rename default_frame_chain_valid to + file_frame_chain_valid. Rename alternate_frame_chain_valid to + func_frame_chain_valid. + + * config/sparc/tm-sparclite.h, config/mips/tm-mipsv4.h, + config/m88k/tm-delta88v4.h, config/m68k/tm-m68kv4.h, + config/m68k/tm-monitor.h, config/i386/tm-i386nw.h, + config/i386/tm-i386v4.h, config/h8300/tm-h8300.h: Update. + * mips-tdep.c (mips_gdbarch_init): Update. + +Wed Dec 8 19:12:17 1999 Andrew Cagney + + * blockframe.c (generic_file_frame_chain_valid): Rename + generic_file_frame_chain_valid. + * frame.h: Update. + * config/fr30/tm-fr30.h, config/m32r/tm-m32r.h, + config/mn10200/tm-mn10200.h, config/mn10300/tm-mn10300.h, + config/sh/tm-sh.h, config/v850/tm-v850.h, config/mcore/tm-mcore.h: + Update. + + * blockframe.c (generic_func_frame_chain_valid): New function. + Implement dummy-frame equivalent of function based frame chain + valid. + * frame.h (generic_func_frame_chain_valid): Declare. + +Wed Dec 8 16:26:27 1999 Andrew Cagney + + * blockframe.c (alternate_frame_chain_valid, + default_frame_chain_valid): Swap implementations. The change Mon + Nov 30 11:18:48 1998 Andrew Cagney which converted + several macros to functions was backwards. + + * mips-tdep.c (mips_gdbarch_init): Update. Call + alternate_frame_chain_valid and not default_frame_chain_valid. + +Wed Dec 8 15:29:48 1999 Andrew Cagney + + * infptrace.c: Simplify handling of . Always include + "wait.h" from the ../include/wait.h directory. #include + was added as part of Mon Nov 29 12:14:10 1999 Andrew + Cagney but the ChangeLog was omitted. + +1999-12-07 Jim Blandy + + Add support for SSE registers in core files. + * corelow.c (get_core_register_section): New function. + (get_core_registers): Fetch the new ".reg-xfp" sections, + in addition to the traditional ".reg" and ".reg2" sections. + Check for per-thread variants of all three. Use + get_core_register_section, instead of writing it out over and over + again. + * i386-linux-nat.c (i386_linux_fetch_core_registers): New function. + (i386_linux_nat_core_fns): New core_fns structure. We do our own + core handling now, instead of using the generic code in core-regset.c. + (_initialize_i386_linux_nat): New function, needed to register + i386_linux_nat_core_fns. + * config/i386/linux.mh (NATDEPFILES): Remove core-regset.o; + i386-linux-nat.c has its own sniffer now. + * gdbcore.h: (struct core_fns): Doc fix. + + * i386v-nat.c (i386_float_info): Definition is #if 0'd; delete it + altogether. This should use the function i387-tdep.c. + + Patch from Mark Kettenis : + + * config/i386/tm-i386.h (FLOAT_INFO): New define. + * i387-tdep.c (print_i387_value, print_i387_ext, + print_i387_status_word, print_i387_control_word, i387_float_info): + New functions, used to implement generic `info float' command. + +1999-12-06 Christopher Faylor + + * dcache.c (set_dcache_state): New function. + * dcache.h: Declare set_dcache_state(). + +Sat Dec 4 15:17:44 1999 Andrew Cagney + + * remote.c (build_remote_packet_sizes): Reduce the default packet + size of 400 bytes by one to 399. Stops GDB trashing stubs that + append a trailing NUL to an already full buffer. + +Sat Dec 4 01:16:47 1999 Andrew Cagney + + * tracepoint.c (remote_get_noisy_reply): Add parameter sizeof_buf. + (finish_tfind_command): Add parameter sizeof_msg. + + * remote.c (remote_threads_info): Move assignment operator to + outside of function call. + (remote_send): Add parameter sizeof_buf. + (getpkt): Add parameter sizeof_buf. Call read_frame passing in + sizeof_buf. + + * remote.h (getpkt): Update. + + * tracepoint.c (remote_set_transparent_ranges, + remote_get_noisy_reply, trace_start_command, trace_stop_command, + trace_status_command, finish_tfind_command, trace_find_pc_command, + trace_find_tracepoint_command, trace_find_line_command, + trace_find_range_command, trace_find_outside_command): Update. + + * remote.c (set_thread, remote_thread_alive, + remote_get_threadinfo, remote_get_threadlist, + remote_current_thread, remote_threads_info, + extended_remote_restart, get_offsets, remote_open_1, + remote_async_open_1, remote_wait, remote_async_wait, + remote_fetch_registers, check_binary_download, remote_write_bytes, + remote_read_bytes, remote_send, remote_detach, + remote_async_detach, remote_fetch_registers, + store_register_using_P, store_register_using_P, + remote_fetch_registers, remote_store_registers, putpkt_binary, + remote_insert_breakpoint, remote_remove_breakpoint, + compare_sections_command, remote_rcmd, packet_command, + remote_info_process, remote_query, remote_insert_watchpoint, + remote_search, remote_remove_watchpoint, + remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Update. + +Fri Dec 3 17:38:06 1999 Andrew Cagney + + * (read_frame): Add sizeof_buf parameter. Don't allow repeat when + first character. Always leave space at the end of the buffer. + Return size of packet or -1. + (getpkt): Update. Pass in PBUFSIZ. + +1999-12-02 Elena Zannoni + + * breakpoint.c (print_it_typical): Print reason for stopping in + case of bp_until. + +Thu Dec 2 17:14:53 1999 Andrew Cagney + + * ser-pipe.c: Include for memset(). + +1999-12-01 Jim Blandy + + * gdbtypes.c (builtin_type_v4si, builtin_type_v8qi, + builtin_type_v4hi, builtin_type_v2si): New SIMD types. + (build_gdbtypes): Initialize them. + (_initialize_gdbtypes): Gdbarch_swap them. + * gdbtypes.h (builtin_type_v4si, builtin_type_v8qi, + builtin_type_v4hi, builtin_type_v2si): Declare them. + + * findvar.c (read_register_bytes, write_register_bytes): Correctly + determine how the region the caller is writing overlaps with each + register's bytes. + + * value.h (struct value): Doc fixes. + + * valops.c (value_assign): Clarify error message. + +1999-12-01 Elena Zannoni + + * stack.c (return_command_wrapper): New function, to export + return_command(). + +1999-12-01 Christopher Faylor + + * config/i386/tm-cygwin.h: Change tm-i386.h include back to tm-i386v.h. + +1999-12-01 Elena Zannoni + + * inf-loop.c (inferior_event_handler): In case of + INF_EXEC_CONTINUE, don't do all the regular continuations, but + just the intermediate ones. + + * infcmd.c (step_once): Add the continuation to the + intermediate_continuation list instead of the regular continuation + list. + + * utils.c (add_intermediate_continuation): New function, to add + continuations to the intermedite_continuation list. + (do_all_intermediate_continuations): New function, do all the + continuations in the intermediate list. + (discard_all_intermediate_continuations): New function, discard + all the continuations in the intermediate list. + (intermediate_continuation): New global list for use by step_1(). + + * defs.h: Export intermediate_continuation, + add_intermediate_continuation, do_all_intermediate_continuations, + discard_all_intermediate_continuations. + +1999-11-30 Christopher Faylor + + * win32-nat.c (mappings): Reorganize slightly for new uniform i386 + register configuration. + (do_child_fetch_inferior_registers): Handle special case floating point + registers. + (handle_output_debug_string): Handle cygwin-specific signals broadcast + from the cygwin DLL. + (handle_exceptions): Add code to properly allow continuation after a + CTRL-C. + (child_continue): Accept propagated "continue_status" which controls + how the inferior should be continued. + (get_child_debug_event): New function. + (child_wait): Use above function to handle debug events. + (child_create_inferior): Add more intelligent method for running the + inferior to the appropriate point before handing it off to the rest of + gdb. + (child_stop): Specifically send a CTRL-C to the debugged process. + (child_kill_inferior): Set global continue status here to cause + inferior to run to completion. + (child_resume): Eliminate code which attempts to decide how to continue + the inferior. This is now handled by child_continue. + * config/i386/tm-cygwin.h: Gut and reorganize for consistency with new + tm-i386.h. + + Patch from Egor Duda (deo@logos-m.ru) + * win32-nat.c (psapi_get_dll_name): New function. + (handle_load_dll): Correctly load DLL symbol tables after attaching to + a running pid. + +1999-11-30 Michael Snyder + + * infrun.c (handle_inferior_pid): revert 11-29 change: resuming + a thread other than the current thread with a signal. Apparently + target_resume with a specific pid, a specific signal, and no step + means to continue ALL threads but to only send the signal to one + (and not, as I had assumed, to continue only the specified thread). + * i386-linux-nat.c (fill_gregset): guard against invalid input. + +1999-11-30 Elena Zannoni + + * infcmd.c (step_once): New function. Used to do just one step + operation. + (step_1_continuation): New function. Figure out if we need to step + again before returning control to the user. + (step_1): If we are in asynchronous mode, don't do the for loop, + but rather delegate to continuations the task of repeating the + step operation. + + * utils.c (do_all_continuations): Copy the continuation list aside + before working on it. + + * target.h (enum inferior_event_type): Add new enum + INF_EXEC_CONTINUE. + + * inf-loop.c (inferior_event_handler): Handle new case + INF_EXEC_CONTINUE. + + * infrun.c (fetch_inferior_event): If we are in the middle of a + 'step n' type command, don't say that the execution is complete, + but that it will have to continue. + +1999-11-30 Kevin Buettner + + * utils.c (verror): Don't traverse va_list argument twice. Also, + removed extraneous va_end() call. + +1999-11-29 Michael Snyder + + * infrun.c (handle_inferior_pid): If a child thread stops on a + signal that we are ignoring, and GDB silently resumes the child, + resume ALL threads (not just the one that got the signal). All + threads are stopped, so all must be resumed. + (handle_inferior_event): on detecting a thread context switch, + swap infrun_state ONLY if both the old thread and the new one + are in the thread list. Otherwise state information will be lost! + Problem may arise with flaky back-ends. + +1999-11-29 Elena Zannoni + + * infrun.c (print_stop_reason): Don't print end of stepping reason + if we are in the middle of a multistep command (same condition as + in normal_stop). + + * breakpoint.c (bpstat_stop_status): Don't decrease hit_count + in case of a wp that has not changed. + +Mon Nov 29 12:14:10 1999 Andrew Cagney + + * gdbtypes.c (init_simd_type): Make static. + + * configure.in (AC_CHECK_HEADERS): Check for . + * configure, config.h: Re-generate. + * inflow.c: Include + + * i386b-nat.c: Include "gdbcore.h". + * fork-child.c: Include "command.h". + + * remote.c (remote_cisco_section_offsets, + remote_start_remote_dummy, store_register_using_P, + remote_info_process, remote_cisco_open, remote_cisco_close, + readsocket, readtty, minitelnet, remote_cisco_wait, + init_remote_async_ops, init_extended_async_remote_ops, + set_remote_cmd), infrun.c (default_skip_permanent_breakpoint): Use + ISO-C syntax for function definition. + +Mon Nov 29 11:28:21 1999 Andrew Cagney + + * stabsread.c: Revert 1999-11-09 Jim Blandy + and 1999-11-08 Jim Blandy + . Broken on non-Linux targets. + +1999-11-26 Elena Zannoni + + * symfile.c (show_load_progress): Add total sent so far to the + information passsed to the hook users. + (generic_load): Collect total sent so far and pass that to the + progress hook. + + * defs.h (show_load_progress): Update. + +1999-11-25 Nick Clifton + + * coffread.c (coff_symfile_read): Treat "epoc-pe" targets as "pe" + targets. + * dbxread.c (dbx_read_symfile): Treat "epoc-pe" targets as "pe" + targets. + +Wed Nov 24 17:07:28 1999 Andrew Cagney + + * Makefile.in (init.c): Add SUBDIR_INIT_FILES so that sub + directories can hook in extra init files. + +Wed Nov 24 11:41:01 1999 Andrew Cagney + + * ui-out.h (field_string_ftype, ui_out_field_string): Make string + parameter const. + * cli-out.c (cli_field_string): Update. + * ui-out.c (uo_field_string, ui_out_field_string, + default_field_string): Update. + +1999-11-23 Elena Zannoni + + * defs.h (show_load_progress): Export. + + * symfile.c (show_load_progress): New hook for download. + (generic_load): Collect total size of executable to load. + Call progress hook when downloading. + Add output for ui case. + (print_transfer_performance): Add output for ui case. + +Thu Nov 18 11:54:24 1999 Andrew Cagney + + * arc-tdep.c (codestream_fill): Rewrite byte swap code using + function extract_unsigned_integer. + +Wed Nov 17 17:01:06 1999 Andrew Cagney + + * arm-xdep.c: #include "arm-opcode.h" -> "opcode/arm.h". + +1999-11-22 Jim Blandy + + * Makefile.in (i386-tdep.o): Update list of dependencies. + +1999-11-22 Elena Zannoni + + * stack.c (print_frame_info_base): Adjust output for stepi/nexti case. + +1999-11-22 Jim Blandy + + * config/i386/tm-i386v.h (NUM_REGS, REGISTER_NAMES, + REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE, + REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, + MAX_REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE): Deleted. All + of these should inherit identical or compatible values from + tm-i386.h, as long as you don't define HAVE_SSE_REGS or + HAVE_I387_REGS, which are new anyway. + +Mon Nov 22 21:39:27 1999 Andrew Cagney + + * target.c (do_target_signal_to_host): New function. Indicate of + the conversion was successful to the caller via an additional + parameter. + (target_signal_to_host_p): New function. Return non-zero if the + GDB signal exists on the host system. + (target_signal_to_host): Rewrite. Use do_target_signal_to_host. + * target.h (target_signal_to_host_p): Add declaration. Document + target_singal vs host signal vs target OS signal confusion. + + From 1999-11-08 Jimmy Guo : + * hppah-nat.c (require_notification_of_events): Start by ignoring + all signals and then adding back in ones we're interested in. + +Thu Nov 18 18:12:48 1999 Andrew Cagney + + * jv-typeprint.c (java_type_print_base), kod-cisco.c + (cisco_kod_open), kod.c (kod_set_os), xcoffread.c + (process_linenos), symfile.c (add_symbol_file_command), + remote-rdi.c (arm_rdi_open, rdilogfile_command), main.c + (captured_main), go32-nat.c (go32_create_inferior), exec.c + (exec_file_attach), corefile.c (core_file_command, + reopen_exec_file): Replace strdup with xstrdup. + + * varobj.c (varobj_gen_name, c_name_of_child, c_value_of_variable, + cplus_value_of_variable): Replace strdup with xstrdup. + * ui-out.c (ui_out_table_begin): Ditto. + +Mon Nov 22 12:02:47 1999 Andrew Cagney + + * bcache.c (print_bcache_statistics): Fix printf_filtered + arguments. + (print_percentage): Make function void. + +1999-11-21 Jim Blandy + + Make the bcache hash table grow. + * bcache.h (BCACHE_NUM_BUCKETS): Delete definition. + (struct bcache): Add new element: num_buckets. Make bucket be a + pointer to an array, not an array. + (free_bcache): New extern declaration. + * bcache.c (CHAIN_LENGTH_THRESHOLD): New constant. + (expand_hash_table): New function. + (bcache): Grow the hash table if the average chain length reaches + CHAIN_LENGTH_THRESHOLD. + (free_bcache): New function. + (print_bcache_statistics): Don't assume that the number of buckets + is constant any more. + (BSTRING_SIZE): Moved down to just above 'bcache' function, where + it's used. + * objfiles.c (free_objfile): Call free_bcache, instead of just + freeing the bcache's obstack directly. + * symfile.c (reread_symbols): Same. + +1999-11-20 Jim Blandy + + * bcache.c, bcache.h: Rewritten. New version imposes less memory + overhead, and has a more effective hash function, so it's probably + faster, too. + + * config/nm-linux.h: No need to check whether __STDC__ is + #defined --- GDB requires ANSI C now. + + * config/i386/nm-linux.h (linuxthreads_pid_to_str, + linuxthreads_prepare_to_proceed): Delete declarations --- they're + provided by config/nm-linux.h now. + +1999-11-19 Elena Zannoni + + * top.c (print_command_lines): Remove unused var. + +1999-11-19 Jim Kingdon + + Patch applied by Jim Blandy : + + Enable threads for all linux architectures: + * config/nm-linux.h: New file. + config/alpha/nm-linux.h, config/i386/nm-linux.h, + config/m68k/nm-linux.h, config/sparc/nm-linux.h: Use it. + * config/tm-linux.h: New file. + * config/i386/tm-linux.h, config/m68k/tm-linux.h, + config/sparc/tm-linux.h, config/alpha/tm-alphalinux.h: Use it. + * config/m68k/linux.mh, config/sparc/linux.mh, + config/alpha/alpha-linux.mh: Add linux-thread.o. + +1999-11-18 Tom Tromey + + * tracepoint.h (get_tracepoint_by_number): Updated declaration. + * tracepoint.c (trace_pass_command): Better error message. Fixed + logic when `all' not specified. + (get_tracepoint_by_number): Added `optional_p' argument. Fixed + all callers. + +Wed Nov 17 17:40:30 1999 Andrew Cagney + + * findvar.c (SWAP_FLOATING): Delete macro. Unused. + +1999-11-16 Mark Salter + + * monitor.c (monitor_supply_register): Initialize value to zero. + +1999-11-15 Eli Zaretskii + + (Patches applied by Jim Blandy ) + + Change DJGPP target use the common register layout in + config/i386/tm-i386.h. + * config/i386/tm-go32.h: #include "i386/tm-i386.h", not + "i386/tm-i386v.h". + (HAVE_I387_REGS): Define. + (HAVE_SSE_REGS): Undefine. + (NUM_FREGS, NUM_REGS, REGISTER_NAMES, FP_REGNUM, SP_REGNUM, + PS_REGNUM, PC_REGNUM, FP0_REGNUM, FPC_REGNUM, FPCWD_REGNUM, + FPSWD_REGNUM, FPTWD_REGNUM, FPIPO_REGNUM, FPIPS_REGNUM, + FPOOS_REGNUM, FPOPS_REGNUM, REGISTER_BYTES, REGISTER_BYTE, + REGBYTE_0, REGBYTE_10 REGBYTE_16, REGBYTE_24, REGBYTE_29, + REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, + MAX_REGISTER_VIRTUAL_SIZE, REGISTER_CONVERTIBLE): Definitions + deleted. + (i387_to_double, double_to_i387): Declarations deleted. + (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, + REGISTER_VIRTUAL_TYPE): Use definitions from + config/i386/tm-i386.h, unless LD_I387 is #defined. + + * go32-nat.c (go32_fetch_registers, store_register) + (go32_create_inferior, init_go32_ops): Replace fatal with + internal_error. + (sig_map): Map exception 7 to TARGET_SIGNAL_EMT. + + * utils.c (notice_quit): Doc fixes. + +1999-11-15 Kevin Buettner + + * gdbserver/server.h (initialize_low): Declare this target + specific function. + * gdbserver/server.c (main): Call initialize_low. + * gdbserver/low-hppabsd.c, gdbserver/low-linux.c, + gdbserver/low-sim.c, gdbserver/low-sparc.c, gdbserver/low-sun3.c + (initialize_low): Renamed from initialize. Also removed + initialization of inferior_pid. + (have_inferior_p): Removed. + * gdbserver/low-lynx.c (initialize_low): New function. + +1999-11-12 Fernando Nasser + + * remote-rdi.c: Fix indentation accordingly to GNU standards. + +1999-11-11 Elena Zannoni + + * breakpoint.h: Export {watch, awatch, rwatch}_command_wrapper(). + + * breakpoint.c (print_it_typical): Add output for bp_watchpoint, + bp_hardware_watchpoint, read_watchpoint, access_watchpoint cases. + (watchpoint_check): Add output for when the watchpoint goes out of + scope. + (mention): Add output for bp_watchpoint, bp_hardware_watchpoint, + read_watchpoint, access_watchpointcases. Move end of list to end + of function. + ({watch, awatch, rwatch}_command_wrapper): New functions, to + export {watch, awatch, rwatch}_command(). + +Thu Oct 28 00:28:51 1999 Andrew Cagney + + * d10v-tdep.c (d10v_gdbarch_init): Make the d10v:ts3 the default. + +Tue Oct 26 09:57:29 1999 Andrew Cagney + + * gdbarch.sh: Re-sync with Cagney's earlier const change. + +Sun Oct 24 20:07:31 1999 Andrew Cagney + + * d10v-tdep.c (struct gdbarch_tdep): Replace nr_a_regs, + imap0_regnum, nr_imap_regs, dmap0_regnum, with dmap_register and + imap_register. + (R0_REGNUM, LR_REGNUM, PSW_REGNUM, NR_IMAP_REGS, NR_A_REGS): + Convert to enums. + (TS2_NR_A_REGS, TS2_NR_IMAP_REGS, TS3_NR_IMAP_REGS, + TS3_NR_A_REGS): Delete. + (d10v_ts2_dmap_register, d10v_ts3_dmap_register, + d10v_ts2_imap_register, d10v_ts3_imap_register): New functions. + (d10v_dmap_register, d10v_imap_register, + d10v_ts2_register_sim_regno, d10v_ts3_register_sim_regno, + show_regs): Update. + (remote_d10v_translate_xfer_address): Rewrite. Use + sim_d10v_translate_addr to translate addresses. + (d10v_gdbarch_init): Initialize tdep members dmap_register and + imap_register. + +Sun Oct 24 00:12:44 1999 Andrew Cagney + + * d10v-tdep.c (struct gdbarch_tdep): Declare. + (NR_IMAP_REGS, NR_DMAP_REGS, A0_REGNUM, NR_A_REGS): Redefine using + value in gdbarch_tdep. + (d10v_dmap_register, d10v_imap_register): Ditto. + (d10v_ts2_register_name, d10v_ts2_register_sim_regno): Rename + d10v_register_name and d10v_register_sim_regno + (enum ts3_regnums, d10v_ts3_register_name, + d10v_ts3_register_sim_regno, d10v_register_sim_regno): New. + (d10v_gdbarch_init): Configure registers and G packet according to + d10v/ts2 and d10v/ts3. + +Sat Oct 23 21:28:02 1999 Andrew Cagney + + * config/d10v/tm-d10v.h (IMAP0_REGNUM, IMAP1_REGNUM, DMAP_REGNUM): + Delete macro. + (R0_REGNUM, LR_REGNUM, PSW_REGNUM, A0_REGNUM): Move from here. + * d10v-tdep.c: To here. + + * d10v-tdep.c: (NR_DMAP_REGS, NR_IMAP_REGS, NR_A_REGS): Define. + (d10v_dmap_register, d10v_imap_register): New functions. + (remote_d10v_translate_xfer_address): Make static. + (d10v_register_virtual_size): Use TYPE_LENGTH of + REGISTER_VIRTUAL_TYPE. + (d10v_register_byte, do_d10v_pop_frame, + remote_d10v_translate_xfer_address, show_regs, + d10v_register_raw_size): Ditto. + (d10v_register_virtual_type): Ditto. Use explicitly sized builtin + types. + +Sat Oct 23 19:08:39 1999 Andrew Cagney + + * d10v-tdep.c: Include "sim-d10v.h". + (enum ts2_regnums): Declare. + (d10v_register_sim_regno): New function. + + * config/d10v/tm-d10v.h: Delete pre multi-arch code. + (REGISTER_SIM_REGNO): Define. + (d10v_register_sim_regno): Declare. + +Sat Oct 23 16:39:34 1999 Andrew Cagney + + * gdbarch.c (initialize_current_architecture): Make ``choice'' + const. + +Wed Nov 10 16:10:22 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (hppa_fix_call_dummy): Fix typo in error message. + +Wed Nov 10 16:47:06 1999 Andrew Cagney + + * utils.c (error_last_message): Use gdb_file_xstrdup. + + * defs.h (verror, internal_verror): Declare. + + * utils.c (verror, internal_error): New functions. + (error, internal_error): Use verror / internal_verror. + (error_stream): Use gdb_file_xstrdup. Correctly handle %s in + error message body. + (error_init): Use mem_fileopen. + + * corefile.c (memory_error): Use mem_fileopen instead of + tui_sfileopen. Don't call error_begin. + * varobj.c (c_value_of_variable): Use mem_fileopen () and + gdb_file_xstrdup() instead of strdup and tui_sfileopen. + * remote-sim.c (gdb_os_error): Rewrite using verror. Don't call + error_begin. + +Wed Nov 10 14:21:43 1999 Andrew Cagney + + * defs.h (gdb_file_xstrdup): New function. + * utils.c (gdb_file_xstrdup, do_gdb_file_xstrdup): Implement. + * ui-out.c (ui_out_stream_new): Simplify, XMALLOC doesn't return + if malloc failed. Use mem_fileopen and gdb_file_xstrdup. + +1999-11-09 Stan Shebs + + * exec.c (exec_file_attach), irix5-nat.c, osfsolib.c, solib.c + (info_sharedlibrary_command), pa64solib.c + (pa64_sharedlibrary_info_command), somsolib.c + (som_sharedlibrary_info_command): Replace "exec file" with + "executable file" in messages. + +1999-11-09 Jim Blandy + + Finish the job attempted by the previous change. + * stabsread.c (read_range_type): Make n2 and n3 LONGEST. Adjust + the various tests that check for maximum values, bit counts, etc. + In the long run, it might have been simpler just to give GDB bignums. + +Tue Nov 9 18:34:13 1999 Andrew Cagney + + * defs.h (gdb_file_put): Add parameter write. + (gdb_file_put_method_ftype): New typedef. + * utils.c (gdb_file_put, mem_file_put, tui_file_put, + null_file_put): Update. + + * utils.c (struct gdb_file): Add field magic. + (gdb_file_new): Initialize. + (gdb_file_data): Verify. + + * utils.c (mem_file_fputs): Delete. Replaced by. + (mem_file_write): New function. Rewrite mem_file. + (mem_file_new): Update. + +Tue Nov 9 17:51:12 1999 Andrew Cagney + + * remote-sim.c (gdb_os_write_stdout): Use gdb_file_write. + (gdb_os_flush_stdout): Flush gdb_stdtarg instead of gdb_stdout. + +Tue Nov 9 15:33:43 1999 Andrew Cagney + + * Makefile.in (procfs.o): Don't compile with -Werror for moment. + * sol-thread.c (info_cb): Move assignments to outside of if + statement. + (info_cb): Use paddr when printing addresses. + +1999-11-08 Jim Blandy + + * defs.h (ULONGEST_MAX, LONGEST_MAX): New definitions. + * stabsread.c (read_huge_number): Parse and return LONGEST values. + +1999-11-08 Mark Salter + + * utils.c (floatformat_to_doublest): Fix conversion of denormals. + +1999-11-08 Elena Zannoni + + * breakpoint.c (hbreak_command_wrapper): New function, to export + hbreak_command. + (thbreak_command_wrapper): New function, to export thbreak_command. + + * symtab.c (rbreak_command_wrapper): New function, to export + rbreak_command. + + * breakpoint.h (hbreak_command_wrapper, thbreak_command_wrapper, + rbreak_command_wrapper): Export. + +Mon Nov 8 20:14:13 1999 Andrew Cagney + + * remote.c (get_memory_read_packet_size): For moment limit read + size to PBUFSIZ. + (putpkt_binary): Remove check on packet size. Allocate ``cnt + + 6'' characters for output buffer. + (get_memory_packet_size): When packet size is ``fixed'' and the + size is zero, return MAX_REMOTE_PACKET_SIZE. Check that packets + are at least MIN_REMOTE_PACKET_SIZE. + (set_memory_packet_size): Print usage when ``args'' is NULL. + +Mon Nov 8 18:18:07 1999 Andrew Cagney + + * defs.h, utils.c (gdb_file_deallocate): Delete. + * varobj.c (varobj_get_type, c_value_of_variable): Use + make_cleanup_gdb_file_delete. + * ui-out.c (ui_out_stream_delete): Use gdb_file_delete. + * corefile.c (memory_error): Use make_cleanup_gdb_file_delete. + + * defs.h, utils.c (gdb_file_init_astring): Delete. + + * defs.h, utils.c (tui_file_get_strbuf): Rename + gdb_file_get_strbuf. + (tui_file_adjust_strbuf): Rename gdb_file_adjust_strbuf. + * utils.c (error_stream, error_last_message): Update. + * varobj.c (varobj_get_type, c_value_of_variable): Update. + * ui-out.c (ui_out_field_stream): Update. + +Mon Nov 8 16:28:00 1999 Andrew Cagney + + * defs.h, utils.c (gdb_fclose): Delete. + * defs.h (make_cleanup_gdb_file): Declare. + * utils.c (make_cleanup_gdb_file_delete, do_gdb_file_delete): New + functions. + + * symmisc.c (maintenance_print_symbols, + maintenance_print_psymbols, maintenance_print_msymbols): Use + make_cleanup_gdb_file_delete. + * serial.c (do_serial_close): Use gdb_file_delete. + +Mon Nov 8 14:16:32 1999 Andrew Cagney + + * defs.h (gdb_file_write_ftype, set_gdb_file_write, + gdb_file_write): Declare. + + * utils.c (struct gdb_file): Add to_write member. + (gdb_file_write, set_gdb_file_write): New functions. + (gdb_file_new): Initialize the write method. + (null_file_write): New function. + (null_file_fputs, null_file_write): ``write'' calls ``fputs'' and + ``fputs'' calls ``write'' when the other is implemented. + (stdio_file_new): Initialize write method. + (stdio_file_write): New function. + + * utils.c (putchar_unfiltered, fputc_unfiltered): Use + gdb_file_write. + +Thu Nov 4 11:59:24 1999 Andrew Cagney + + * remote.c (get_memory_packet_size, set_memory_packet_size, + build_memory_packet_size): New functions. Set / compute / update + the size of a memory read / write packet. + (set_memory_read_packet_size, set_memory_write_packet_size): New + functions. Verify changes to the memory read / write packet size. + (prefered_memory_write_packet_size, + current_memory_write_packet_size, prefered_memory_read_packet_size, + current_memory_read_packet_size): New variables. + (get_memory_read_packet_size, get_memory_write_packet_size): New + functions. Determine the current memory read/write packet size. A + function is needed as ``current_register_packet_size'', a variable + is used in the calculation. + (register_remote_packet_sizes, build_remote_packet_sizes): + Initialize packet sizes according the current architecture. + (remote_fetch_registers, remote_write_bytes, remote_read_bytes, + build_remote_gdbarch_data): Update. + (_initialize_remote): Add the commands ``set remote + memory-read-packet-size'' and ``set remote + memory-write-packet-size''. Deprecate ``set remotepacketsize''. + +Sun Nov 7 18:09:54 1999 Andrew Cagney + + * target.h, target.c (target_load): Replace macro with a function. + + * config/i960/tm-nindy960.h (ADDITIONAL_OPTION_HANDLER): Rewrite + replacing SET_TOP_LEVEL with catch_command_errors. + (nindy_open): Add extern declaration. + + * top.h (top_level_val, SET_TOP_LEVEL): Delete. + * defs.h (catch_command_errors_ftype, catch_command_errors): Add + declarations. + * top.c (struct captured_command_args): Declare. + (do_captured_command, catch_command_errors): New functions. Call + the command function via catch_errors. + (catch_errors): Add more comments. + + * main.c (struct captured_main_args): Define. + (captured_main): New. Rewrite main. Replace SET_TOP_LEVEL with + calls to catch_command_errors. Delete calls to do_cleanups which + are now handled by catch_errors. Call the command loop via + captured_command_loop and catch_errors. + (main): Move code body to captured_main. Call captured_main via + catch_errors. + (captured_command_loop): New function. Wrap call to command_loop. + +1999-11-05 Elena Zannoni + + * procfs.c (unconditionally_kill_inferior) (init_procinfo) + (create_procinfo) (procfs_exit_handler) (proc_set_exec_trap) + (do_attach) (do_detach) (procfs_wait) (set_proc_siginfo) + (procfs_resume) (info_proc_mappings) + (modify_run_on_last_close_flag) (procfs_lwp_creation_handler) + (procfs_thread_alive): Remove unused variables, conditionalize + vars declarations to eliminate compiler warnings. + +1999-11-05 Elena Zannoni + + * infcmd.c (print_return_value): Add output for UI. + +Fri Nov 5 16:32:04 1999 Andrew Cagney + + * inferior.h (CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET, + CALL_DUMMY_BREAKPOINT_OFFSET, CALL_DUMMY_LENGTH, + CALL_DUMMY_STACK_ADJUST, CALL_DUMMY_WORDS, + SIZEOF_CALL_DUMMY_WORDS, PUSH_DUMMY_FRAME, FIX_CALL_DUMMY, + STORE_STRUCT_RETURN), d10v-tdep.c (print_insn), d30v-tdep.c + (print_insn), target.h (SOFTWARE_SINGLE_STEP): Call internal_error + instead of abort. + + * utils.c (stdio_file_delete, stdio_file_flush, stdio_file_fputs, + stdio_file_isatty, tui_file_delete, tui_file_isatty, + tui_file_rewind, tui_file_put, gdb_file_init_astring, + gdb_file_get_strbuf, gdb_file_adjust_strbuf): Call internal_error + instead of error. + +1999-11-04 Kevin Buettner + + * remote.c (build_remote_gdbarch_data): Set remote_address_size... + (_initialize_remote) ...but don't set it here. Also, tie + remote_address_size to the target architecture via call to + register_gdbarch_swap(). + +1999-11-04 Jeff Holcomb + + * remote-rdp.c (send_rdp): Fix typo. + +1999-11-04 Michael Snyder + + * breakpoint.c (commands_command): remove unprotected ref to + args pointer (which may be null). + +1999-11-04 Elena Zannoni + + * infcmd.c (print_return_value): New function. Print return value + from finish command. + (finish_command_continuation): Call print_return_value(). + (finish_command): Ditto. + +1999-11-04 Elena Zannoni + + * breakpoint.c (print_it_typical): Print reason for stopping in + case of bp_finish. + +1999-11-04 Elena Zannoni + + * infrun.c (handle_inferior_event): Add calls to print_stop_reason() + for end of stepping range cases. + (print_stop_reason): Add output for END_STEPPING_RANGE, EXITED, + SIGNAL_EXITED, SIGNAL_RECEIVED cases. + + * breakpoint.c (print_it_typical): Add printing of stop reason for + bp_breakpoint case. + +Thu Nov 4 17:46:36 1999 Andrew Cagney + + * event-loop.c (gdb_do_one_event): Delete SET_TOP_LEVEL call. + Move error code to start_event_loop. + (start_event_loop): Call gdb_do_one_event via catch_errors. + Handle caught errors. + +Thu Nov 4 17:36:27 1999 Andrew Cagney + + * breakpoint.c (get_number): Delete static declaration. + +1999-11-03 Michael Snyder + + * breakpoint.c (map_breakpoint_numbers): use a match count + instead of a goto. + +1999-11-03 Nick Clifton + + * config/mcore/tm-mcore.h (TARGET_BYTE_ORDER_DEFAULT): Change to + little endian. + +1999-11-02 Michael Snyder + + * target.h (target_new_objfile) replace macro with function pointer + hook. Any module needing notification of new objfiles may claim + this hook. Multiple notification clients must cooperate by saving + the previous pointer (if any) and calling it. + * sol-thread.c (_initialize_sol_thread): point new_objfile hook at + sol_thread_new_objfile. Save old pointer if any. + (sol_thread_new_objfile): call old owner of event hook if any. + * hpux-thread.c (_initialize_hpux_thread, hpux_thread_new_objfile): + ditto. + * linux-thread.c (_initialize_linux_thread, linux_thread_new_objfile): + ditto. + symfile.c (symbol_file_add, clear_symtab_users) call the new + function pointer hook, instead of the macro. + * config/sparc/nm-sun4sol2.h: remove define of target_new_objfile. + * config/pa/nm-hppah.h: ditto. + * config/i386/nm-i386sol2.h: ditto. + * config/i386/nm-linux.h: ditto. + +1999-11-02 Tom Tromey + + * NEWS: Mention breakpoint ranges. + +1999-11-02 Fernando Nasser + + * rdi-share/devsw.c (openLogFile): Change a call to setlinebuf() + to an equivalent call to setvbuf() to prevent an unresolved + reference when building on cygwin. + +1999-11-02 Elena Zannoni + + * infrun.c (inferior_stop_reason): New enum, explicitly name the + resons for which the inferior stops. + (handle_inferior_event): Case TARGET_WAITKIND_EXITED: replace + printf's with call to print_stop_reason(). Case + TARGET_WAITKIND_SIGNALLED: Same. When stopped by random signal: + Same. + (print_stop_reason): New static function. Print relevant messages + when stopping. + +1999-11-02 Fernando Nasser + + * rdi-share/Makefile.in: Rename dependency from bytesex.o to + angel_bytesex.o. + +1999-11-02 Fernando Nasser + + * kod.c: Remove prototype for show_kod() which is no longer used. + +1999-11-01 Michael Snyder + Tom Tromey + + * tracepoint.h (get_tracepoint_by_number): Updated declaration. + * tracepoint.c (get_tracepoint_by_number): Added `multi_p' + argument. Now uses get_number_or_range and get_number. + (trace_pass_command): Allow a tracepoint range. + * breakpoint.h (get_number, get_number_or_range): Declare. + * breakpoint.c (get_number_trailer): New function. + (get_number): Rewrote to use get_number_trailer. + (get_number_or_range): New function. + (condition_command): Check `get_number' return value. + (commands_command): Likewise. + (ignore_command): Likewise. + (map_breakpoint_numbers): Use get_number_or_range. + +1999-11-01 Fernando Nasser + + * remote-rdi.c (_initialize_remote_rdi): Make log commands + subcommands of maintenance. Remove improper identation from + command documentation. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * rdi-share/etherdrv.c (fetch_ports): Print out additional TCP/IP + port information in ethernet driver if the DEBUG flag is set. + * rdi-share/hostchan.c (Adp_addToQueue): Changed #if statement in + hostchan.c to avoid compiler complaint when DEBUG macro was + undefined. + * rdi-share/unixcomm.c (Unix_ReadSerial): Print system error code + if read() system call fails. + +1999-11-01 Fernando Nasser + + * rdi-share/bytesex.h: Deleted. Conflicts with a system header file + on some systems like Linux Red Hat 5.2. + * rdi-share/angel_bytesex.h: New file. Replaces the above. + * rdi-share/bytesex.c: Deleted. Name changed to match the header + mentioned above (this is the implementation file). + * rdi-share/angel_bytesex.c: New file. Replaces the above. + * rdi-share/Makefile.am: Reflect above changes. + * rdi-share/Makefile.in: Reflect above changes. + +1999-11-01 Jimmy Guo + + * annotate.c (breakpoints_changed, annotate_ignore_count_change, + annotate_stopped): Provide annotation for breakpoint ignore_count + changes but only provide once at annotate_stopped time for + sucessive ignore_count triggered breakpoint changes, to make GUIs + happy yet lazy. + * annotate.h (annotate_ignore_count_change): Declare. + * breakpoint.c (bpstat_stop_status): Call + annotate_ignore_count_change when ignore_count changes. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * rdi-share/ardi.c (HandleStoppedMessage): Changed code that + handles the "stop" message so that unrecognized errors are + returned as "Error" rather than "NoError". The old code resulted + in some error conditions not being reported to the user. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (arm_rdi_open): Added a call to Adp_CloseDevice() + before attempting to open a connection. This allows the user to + issue the "target rdi" command multiple times (in case the user + needs to change options or re-initialize the link). + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * rdi-share/endian.h: Deleted. Name clash with + /usr/include/endian.h. This was causing the wrong byte order to + be used by htons() in the RDI Ethernet driver. + * rdi-share/angel_endian.h: New file. Replaces the above. + * rdi-share/ardi.c: Replace include to reflect the above change. + * rdi-share/etherdrv.c: Ditto. + * rdi-share/hsys.c: Ditto. + * rdi-share/msgbuild.c: Ditto. + * rdi-share/params.c: Ditto. + * rdi-share/rx.c: Ditto. + * rdi-share/tx.c: Ditto. + * rdi-share/Makefile.am: Reflect above changes. + * rdi-share/Makefile.in: Reflect above changes. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (_initialize_remote_rdi): Added command + rdilogenable. Allows the user to log ADP packets that are + exchanged between gdb and the target. Both the raw packets are + shown and some minimal decoding is attempted. Default state is + disabled. + (_initialize_remote_rdi): Added command rdilogfile. Allows the + user to specify the filename to which the ADP packet log is to be + written. Default state is "rdi.log". + (rdilogenable_command): New function. Related to rdilogenable. + (rdilogfile_command): New function. Related to rdilogfile. + * rdi-share/devsw.c (openLogFile, closeLogFile, + DevSW_SetLogEnable, DevSW_SetLogfile, dumpPacket): New + functions. Implement logging. + (DevSW_Read): Log if requested. + (DevSW_Write): Log if requested. + * rdi-share/devsw.h: Add prototypes for DevSW_SetLogfile and + DevSW_SetLogEnable. + * rdi-share/hostchan.c (Adp_SetLogEnable, Adp_SetLogfile): New + functions. Related to rdilogenable and rdilogfile. + * rdi-share/hostchan.h: Add prototypes for the above functions. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (arm_rdi_open): Added code to split the arguments + to the 'target rdi' command at the first space. The first word is + passed to Adp_OpenDevice as the device name, the tail is passed as + the "arguments" parameter. This allows user specified baud rates + -- among other things that still need to be documented [e.g. (gdb) + target rdi /dev/ttyS1 19200]. NB: With very limited testing, the + ARM Embedded-ICE seems to run at 19.2K (though it is reported to + be unreliable above 9600), and the EPI Jeeni seems to run at + 38.4K. + +1999-11-01 Elena Zannoni + + * stack.c (print_frame_info_base): Do not change printing of stack + frame info if not running with our interpreter. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (_initialize_remote_rdi): Added the boolean + set/show variable rdiromatzero. Should be set to true if the + target has ROM at address 0. If true, then gdb will not tell the + target to trap fetches to interrupt vectors (which are located at + address 0). Using the Angel monitor, attempting to set + breakpoints in ROM is an error. Using JTAG debugging of the + ARM7TDMI, attempting to set more than two breakpoints in ROM is an + error. Default state is false (vectors will be trapped) -- used to + be hardwired false. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (_initialize_remote_rdi): Added the boolean + set/show variable rdiheartbeat. This enables or disables ADP + link-check "heartbeat" packets sent by the host to the target. + Heartbeat packets can cause both the ARM Embedded-ICE and the EPI + Jeeni to malfunction: If a heartbeat packet is received by the + target while it is sending a packet, that packet will be aborted, + and the ADP protocol engine then gets very confused. Default state + is off -- used to hardwired on. + +1999-10-29 Kevin Buettner + + * i386-linux-nat.c (dummy_sse_values): Also define for systems + without PTRACE_GETXFPREGS. + +1999-10-29 Jim Blandy + + Hardware watchpoint fix from Eli Zaretskii : + + * breakpoint.c (insert_breakpoints): Fetch the value of the + expression we need to watch. If it's a lazy memory lvalue, then + we need to fetch it now, before we start the inferior again. + (insert_breakpoints, remove_breakpoint, bpstat_stop_status, + can_use_hardware_watchpoint): Only those values representing + memory we actually fetched need to be watched. + +1999-10-29 Elena Zannoni + + * breakpoint.h (bpstat_print): Return 'enum print_stop_action', + not 'int'. + +1999-10-29 Jim Blandy + + * acconfig.h: Fix entries for HAVE_STRUCT_SAVE_STATE_T, + HAVE_STRUCT_MEMBER_SS_WIDE, and HAVE_PTRACE_GETXFPREGS. + * config.h.in: Regenerated. + +1999-10-28 Jim Blandy + + Fixes for warnings from Andreas Jaeger . + * linux-thread.c (linuxthreads_sig_restart, + linuxthreads_sig_cancel, linuxthreads_sig_debug): Add missing + initializers to avoid gcc warnings. + (resume_thread): Add braces as recommended by gcc -Wparentheses. + (stop_thread): Likewise. + (linuxthreads_wait): Likewise. + (linuxthreads_find_trap): Likewise. + +1999-10-28 Elena Zannoni + + * infcmd.c: Fix typo. + +1999-10-28 Elena Zannoni + + * stack.c (select_frame_command_wrapper): Fix typo. + + * infcmd.c (interrupt_target_command_wrapper): Wrapper to allow use of + static interrupt_target_command outside of file. + + * stack.c (select_frame_command_wrapper): Wrapper to allow use of + static select_frame_command outside of file. + +1999-10-28 Jim Blandy + + * gdbtypes.c (init_simd_type): The upper bound to + create_range_type is inclusive, not exclusive. + + Add preliminary support for the Pentium-III's Streaming SIMD + Extensions --- specifically, the ability to read the XMM + registers. + * Configure.in: Check for PTRACE_GETXFPREGS, and #define + HAVE_PTRACE_GETXFPREGS if we have it. + * acconfig.h: Add entry for HAVE_PTRACE_GETXFPREGS. + * configure, config.in: Regenerated. + * config/i386/tm-linux.h (HAVE_SSE_REGS): #define, iff the + configure script #defined HAVE_PTRACE_GETXFPREGS. + (REGISTER_VIRTUAL_TYPE): Provide the proper types for the pointer + registers and the SSE registers. + * i386-linux-nat.c (GETREGS_SUPPLIES, GETFPREGS_SUPPLIES, + GETXFPREGS_SUPPLIES): New macros. + (have_ptrace_getxfpregs): New variable. + (FPREGSET_T_FPREG_ADDR): Renamed from FPREGSET_T_FPREG_OFFSET. + (supply_fpregset, convert_to_fpregset): Callers changed. + (supply_xfpregset, convert_to_xfpregset, fetch_xfpregs, + store_xfpregs, dummy_sse_values): New functions. + (fetch_inferior_registers, store_inferior_registers): Use the + *_SUPPLIES macros to decide how to fetch a given register. Use + {fetch,store}_xfpregs and dummy_sse_values to provide access to + the SSE registers, on systems where they are present. + +1999-10-28 Kevin Buettner + + * gdbserver/gdbreplay.c (config.h, errno.h): Include. + (perror_with_name): Don't declare sys_nerr, sys_errlist, or errno + when STDC_HEADERS is defined. + * gdbserver/utils.c (STDC_HEADERS): Likewise. + + * gdbserver/low-hppabsd.c, gdbserver/low-linux.c, + gdbserver/low-lynx.c, gdbserver/low-sim.c, gdbserver/low-sparc.c, + gdbserver/low-sun3.c (my_registers): Declare. + (registers): Changed from array type to pointer type in order + to match declaration in inferior.h in main gdb sources. + * gdbserver/server.h (registers): Likewise. + * gdbserver/remote-utils.c (outreg): Removed declaration of + registers[]. + + * gdbserver/low-linux.c (fetch_register): Changed PTRACE_PEEKUSR to + PTRACE_PEEKUSER. [Note the missing 'E'.] + (store_inferior_registers): Likewise for PTRACE_POKEUSER. + + * gdbserver/low-linux.c (sys/ptrace.h): Move include to + avoid conflict with #defines coming from . + (sys/reg.h): Only include when HAVE_SYS_REG_H is defined. + (PTRACE_XFER_TYPE): Provide a default type in case + the target doesn't define it. + (fetch_register, read_inferior_memory, write_inferior_memory): + Use PTRACE_XFER_TYPE instead of int for ptrace() transfers. + (I386_GNULINUX_TARGET): Use #ifdef with this symbol instead + of assuming it's an x86 target when it's not a m68k target. + (i386_register_raw_size, i386_register_byte): Define these arrays + to match other changes that've been occuring to the x86 target + in the main gdb sources. + (initialize_arch): New (static) function for doing target arch + specific initializations. + + * gdbserver/server.h (MAXBUFBYTES, PBUFSIZ): New defines + [actually stolen from remote.c]. + * gdbserver/remote-utils.c (putpkt): Use PBUFSIZ to make + sure that buffer is big enough. + * gdbserver/server.c (main): Ditto. + + * gdbserver/remote-utils.c (outreg): Allow register numbers + bigger than 255. + (prepare_resume_reply): Provide alternate mechanism, + GDBSERVER_RESUME_REGS, for defining list of registers to send + to gdb. + * gdbserver/Makefile.in (INTERNAL_CFLAGS): Swapped order of + INCLUDE_CFLAGS and BFD_CFLAGS to ensure that gdb's config.h + gets found before bfd's config.h. Also added -DGDBSERVER + switch. + (INCLUDE_CFLAGS): Added -I.. . + +1999-10-27 Nick Clifton + + * arm-tdep.c (THUMB_BE_BREAKPOINT): Change to 0xbebe. + (THUMB_LE_BREAKPOINT): Change to 0xbebe. + +1999-10-25 Elena Zannoni + + * stack.c (print_frame_info_base): Don't print the arguments + during a backtrace. + * stack.c (print_frame_info_base): When setting source to 0, save + and restore old value. Do this only if source is greater than + zero. + +Mon Oct 25 18:22:06 1999 Andrew Cagney + + * remote.c: Document future of compare_sections_command. + (remote_insert_breakpoint, remote_remove_breakpoint, + remote_insert_watchpoint, remote_insert_watchpoint, + remote_remove_watchpoint, remote_insert_hw_breakpoint, + remote_remove_hw_breakpoint): Use alloca instead of GCC's dynamic + array feature. + +Mon Oct 25 18:08:31 1999 Andrew Cagney + + * gdbarch.h (REGISTER_GDBARCH_SWAP): Define. + * gdbarch.sh: Update. + +Sat Oct 23 16:39:34 1999 Andrew Cagney + + * gdbarch.c (initialize_current_architecture): Make ``choice'' + const. + +1999-10-22 Tom Tromey + + * gdbarch.sh: Updated for gdbarch.[ch] changes. + * top.c (gdb_init): Call initialize_current_architecture. + * gdbarch.h (initialize_current_architecture): Declare. + * gdbarch.c (initialize_current_architecture): New function. + +1999-10-22 Elena Zannoni + + * stack.c (print_frame_info_base): Check for value of source + parameter equal to 2, and print address anyway. Set source to 0 + later, to avoid printing file & line info again. + +1999-10-21 Michael Snyder + + * utils.c (chars_per_line): fix typo in comment. + +1999-10-21 Elena Zannoni + + * breakpoint.h (bp_print_how): New enum, used for deciding how to + print bpstat information when we stop, instead of having 3 + different functions. + (struct bpstat): Change print_it field to be an enum instead of a + function pointer. + + * breakpoint.c (print_it_typical): New name for print_it_normal(). + (print_bp_stop_message): New function. High level routine for + printing of why we stopped. + (bpstat_print): Call print_bp_stop_message instead of using the + print_it function pointer. + (print_it_done, print_it_noop): Delete these functions. + +1999-10-21 Elena Zannoni + + * breakpoint.c (print_it_normal): Reorganize into a switch + statement. + +1999-10-21 Elena Zannoni + + * Makefile.in (event-top.o): Add dependency on target.h. + * event-top.c: Make dependency on target.h explicit. + + * breakpoint.c (bpstat_print): Clean up logic. Remove recursion. + (catch_exec_command_1): Surround with appropriate ifdef's, + to avoid compiler warnings. + (catch_fork_command_1): Ditto. + +1999-10-20 Jim Blandy + + * Makefile.in (dwarf2read.o): Note that this depends on bfd/elf-bfd.h. + (elf_bfd_h): New variable. + +1999-10-19 Jim Blandy + + * config/i386/tm-i386.h (REGISTER_NAMES): Change names of FPU + instruction and operand pointer registers to improve consistency, + following J. T. Conklin's suggestions. + +1999-10-18 Elena Zannoni + + * stack.c (print_frame_info_base): Add printing of list + begin and end. + + * breakpoint.h: Change return type of field print_it of struct + bpstats to enumeration print_stop_action. + Define new enumeration print_stop_action. + + * breakpoint.c (print_it_normal): Change return type to + enumeration type print_stop_action. Handle bp_shlib_event here + instead of in normal_stop(). + (bpstat_print): Change return type to enumeration type + print_stop_action. + (print_it_done): Ditto. + (print_it_noop): Ditto. + + * infrun.c (is_internal_shlib_eventpoint): Delete this function. + (stopped_for_internal_shlib_event): Delete. + (normal_stop): Move logic to handle bp_shlib_event from here to + print_it_normal(). Use switch to handle return value from + bpstat_print(). + +Mon Oct 18 17:32:51 1999 Andrew Cagney + + * symfile.c (generic_load): Rewrite. Make the size of each + chunk/block write a run-time option. Check for quit_flag. + Use target_write_memory_partial for downloads. + +1999-10-18 Jim Blandy + + Change Linux x86 register support to use the new tm-i386.h layout. + * config/i386/tm-linux.h (HAVE_I387_REGS): #define this, so we get + the full set of FP register definitions from tm-i386.h. + (REGISTER_RAW_SIZE, REGISTER_NAMES, REGISTER_BYTES, REGISTER_BYTE, + MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, NUM_REGS, + NUM_FREGS): Remove #undefs and subsequent redefinitions: we're + using the values from tm-i386.h now. + (FPSTART_REGNUM, FPCONTROL_REGNUM, FPSTATUS_REGNUM, FPTAG_REGNUM, + FPDATA_REGNUM, FPEND_REGNUM, FPENV_BYTES, FPREG_RAW_SIZE, + FPREG_BYTES): Deleted. + (TARGET_LONG_DOUBLE_BIT): Deleted. + (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Redefine these only if LD_I387 is #defined. + * i386-linux-nat.c (convert_to_gregset, convert_to_fpregset, + FPREGSET_T_FPREG_OFFSET): New functions and macros. + (supply_gregset, fill_gregset, supply_fpregset, + fill_fpregset, fetch_fpregs, store_fpregs, fetch_regs, + store_regs, fetch_inferior_registers, store_inferior_registers): + Adjusted to use new macros from tm-i386.h. + + * config/i386/tm-i386.h: Provide a decent x86 FPU description here, + so that the various i386 targets can share more FPU handling code. + (NUM_GREGS): New macro. + (NUM_SSE_REGS): New macro, dependent on HAVE_SSE_REGS + (NUM_FREGS): Depend on HAVE_I387_REGS. + (NUM_REGS, REGISTER_BYTES): Define in terms of NUM_GREGS, + NUM_FREGS, and NUM_SSE_REGS. + (MAX_NUM_REGS): New macro. + (REGISTER_NAMES): Expand name list with FPU control registers and + SSE registers. + (FP7_REGNUM, FCTRL_REGNUM, FSTAT_REGNUM, FTAG_REGNUM, FCS_REGNUM, + FCOFF_REGNUM, FDS_REGNUM, FDOFF_REGNUM, FOP_REGNUM, + FIRST_FPU_CTRL_REGNUM, LAST_FPU_CTRL_REGNUM): New macros, more + fully describing the FPU register set. + (XMM0_REGNUM, XMM7_REGNUM, MXCSR_REGNUM): New macros, describing + the SSE register set. + (IS_FP_REGNUM, IS_SSE_REGNUM, FPU_REG_RAW_SIZE, SIZEOF_GREGS, + SIZEOF_FPU_REGS, SIZEOF_FPU_CTRL_REGS, SIZEOF_SSE_REGS): New + convenience macros. + (REGISTER_BYTE, REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Turn + these into tables, since the register sizes are pretty irregular. + (i386_register_byte, i386_register_raw_size, + i386_register_virtual_size): New extern declarations. + (TARGET_LONG_DOUBLE_BIT): Define. + (MAX_REGISTER_RAW_SIZE): Bump to 16, for the SSE registers. + (REGISTER_VIRTUAL_TYPE, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): New macros + for handling floating-point registers. + (i387_to_double, double_to_i387): New extern declarations. + * i386-tdep.c (i386_register_byte, i386_register_raw_size, + i386_register_virtual_size): New arrays. + (_initialize_i386_tdep): Initialize i386_register_byte and + i386_register_virtual_size. + + * i386-tdep.c (_initialize_i386_tdep): Move new_cmd to a block + created specially for its use. + +Mon Oct 18 23:36:58 1999 Andrew Cagney + + * symfile.c (generic_load): Cleanup the validate code - remove + #ifdef, use paddr to print address. + (validate_download): Static, replace VALIDATE_DOWNLOAD + + * symfile.c (generic_load): Use strtoul to scan the optional load + offset. Allocate a filename of the correct size. + +Mon Oct 18 17:32:51 1999 Andrew Cagney + + * symfile.c (generic_load): Don't filter output. Use + print_transfer_performance for summary. Use paddr for addresses. + (print_transfer_performance): New function. Includes write count. + (report_transfer_performance): Call + print_transfer_performance. Deprecate. + + * defs.h (print_transfer_performance): Add declaration. + (generic_load): Move declaration to here. + * symfile.h (generic_load): From here. + +Mon Oct 18 16:29:52 1999 Andrew Cagney + + * remote.c (remote_write_bytes): Re-write. Transfer a single + packet and then return the that packets byte size. + +Sun Oct 17 15:09:00 1999 Andrew Cagney + + * remote.c (remote_console_output): Flush gdb_stdtarg after + processing an ``O'' packet. + * remote.h (remote_console_output): Strip PARAMS. + +Sun Oct 17 15:12:33 1999 Andrew Cagney + + * target.c (target_xfer_memory_partial): New function. Simple + implementation of partial memory reads. + (target_read_memory_partial): New function. Replaces old + target_read_memory_partial. + (target_write_memory_partial): New function. + * target.h: Update. + + * valprint.c (partial_memory_read): New function, based on old + memory_read_partial. Implement partial memory reads the way that + val_print_string likes. + (val_print_string): Use partial_memory_read. + +Sun Oct 17 13:58:56 1999 Andrew Cagney + + * defs.h (ui_load_progress_hook): Add declaration. + * dsrec.c (ui_load_progress_hook): Delete extern declaration. + + * symfile.c (ui_load_progress_hook): Make first argument const. + (generic_load): Don't cast the result of bfd_get_section_name. + Replace ``sect'' with ``sect_name'', use consistently. + +1999-10-15 Jim Blandy + + Add beginnings of support for SIMD register types. + * gdbtypes.c (init_simd_type): New function for building + types for registers consisting of arrays of objects. + (builtin_type_v4sf): New built-in type. + (build_gdbtypes): Initialize it. + (_initialize_gdbtypes): Arrange for gdbarch swapping. + * gdbtypes.h (builtin_type_v4sf): Add external decl. + +Fri Oct 15 18:20:33 1999 Andrew Cagney + + * remote-hms.c: Commented out H8 code. + +Fri Oct 15 17:46:39 1999 Andrew Cagney + + * dcache.c (dcache_p): Rename variable remote_dcache. Make + static. + (_initialize_dcache): Fix description of ``set remotecache''. + Cache is OFF by default. + +1999-10-13 Jim Blandy + + * valops.c (value_push): Don't forget to initialize container_len. + +Wed Oct 13 17:58:20 1999 Andrew Cagney + + * utils.c (tui_file_flush): Don't call flush_hook. Don't try to + flush ``astring''. + * gdb-events.sh: Update + * top.c (flush_hook): Delete. + +1999-10-13 Kevin Buettner + + * mem-break.c (memory_insert_breakpoint, + memory_remove_breakpoint): Added missing return statements. + +Wed Oct 13 20:53:42 1999 Andrew Cagney + + * utils.c (mem_fileopen, mem_file_delete, mem_file_new, + mem_file_rewind, mem_file_put, mem_file_fputs): New functions. + * defs.h (mem_fileopen): Declare. + +1999-10-13 Kevin Buettner + + * mem-break.c (default_memory_insert_breakpoint): Renamed from + memory_insert_breakpoint. + (default_memory_remove_breakpoint): Renamed from + memory_remove_breakpoint. + (memory_insert_breakpoint, memory_remove_breakpoint, + MEMORY_INSERT_BREAKPOINT, MEMORY_REMOVE_BREAKPOINT): New + wrappers. + * target.h (default_memory_remove_breakpoint, + default_memory_insert_breakpoint): Added declarations. + * gdbarch.sh (MEMORY_INSERT_BREAKPOINT, MEMORY_REMOVE_BREAKPOINT): + New methods. + * gdbarch.h, gdbarch.c (MEMORY_INSERT_BREAKPOINT, + MEMORY_REMOVE_BREAKPOINT, gdbarch_memory_insert_breakpoint, + gdbarch_memory_remove_breakpoint, set_gdbarch_memory_insert_breakpoint, + set_gdbarch_memory_remove_breakpoint) : Generated from gdbarch.sh. + +Wed Oct 13 19:15:51 1999 Andrew Cagney + + * defs.h: Remove PARAMS from all declarations. Re-indent. Clean + up the gdb_file declarations. + +Tue Oct 12 12:19:07 1999 David Taylor + + * i386-linux-nat.c (supply_fpregset, fill_fpregset): copy + from/to start of fpregsetp not start of st_space as the first + stuff we copy is the FP control registers not the actual FP values. + +1999-10-12 Fernando Nasser + + * eval.c (evaluate_subexp_standard): Fix gdb invocation of + inferior C functions when debugging C++ code. + * valops.c (find_overload_match): Ditto. + * symtab.c (make_symbol_overload_list): Ditto. + +1999-10-11 Jim Blandy + + * config/pa/tm-hppa.h (SYMBOLS_CAN_START_WITH_DOLLAR): It's not + enough to #define this; you have to give it a non-zero value. + +1999-10-11 Jim Blandy + + Fix from Jim Kingdon , with tweaks to make it + gdbarch- and bigendian-friendly: + * valops.c (PARM_BOUNDARY): If not #defined, default to zero. + (value_push): If PARM_BOUNDARY is not zero, align arguments to + that boundary. + * config/i386/tm-i386.h: Define PARM_BOUNDARY. + +Mon Oct 11 14:23:55 1999 Fred Fish + + * config/mips/tm-irix3.h (PS_REGNUM): Don't undef if we aren't + going to redefine it to something else. + +1999-10-11 Jason Merrill + + * dwarfread.c (read_func_scope): Don't try to set main_func_*; + we handle that in blockframe.c:inside_main_func. + * dwarf2read.c (read_func_scope): Likewise. + (dwarf2_add_field, dwarf2_add_member_fn): Get member function name + directly, not from mangled name. + (skip_member_fn_name): Lose. + +Mon Oct 11 12:24:52 1999 Andrew Cagney + + * serial.h (enum serial_rc): Clarify SERIAL_TIMEOUT and + restrictions on TIMEOUT in ASYNC mode. + + * serial.c (serial_readchar): Check for invalid timeout when in + async mode. Disable test. + +Thu Oct 7 17:20:01 1999 Andrew Cagney + + * monitor.c (monitor_printable_string): Add length argument. Don't + return final string length. + (monitor_printf_noecho, monitor_printf, monitor_expect): Update. + (monitor_error): Pass real_len to monitor_printable_string. + (monitor_error): Rewrite. Replace printf fmt string parameter with + function name and message parameters. + (monitor_read_memory_single, monitor_read_memory): Update. + +1999-10-07 Stan Shebs + + * main.c (print_gdb_help): Fix bug reporting address. + * gnu-regex.h, gnu-regex.c: Ditto. + +1999-10-07 Jim Blandy + + * parse.c (SYMBOLS_CAN_START_WITH_DOLLAR): New macro, + whose value can be overridden by target files. + (write_dollar_variable): Don't check the symbol table for + identifiers beginning with `$' unless + SYMBOLS_CAN_START_WITH_DOLLAR is non-zero. + * config/pa/tm-hppa.h (SYMBOLS_CAN_START_WITH_DOLLAR): Define. + * doc/gdbint.texinfo (SYMBOLS_CAN_START_WITH_DOLLAR): Document. + + Remove all traces of the BINOP_SCOPE operator. It's never + generated, and not implemented. + * expression.h (enum exp_opcode): Delete BINOP_SCOPE. + * c-lang.c (c_op_print_tab): Delete entry for BINOP_SCOPE. + * eval.c (evaluate_subexp_standard): Doc fix. + * expprint.c (op_name): Remove case for BINOP_SCOPE. + (dump_subexp): Same. + + * dwarf2read.c (dwarf2_const_value): Treat DW_FORM_data1, + DW_FORM_data2, DW_FORM_data4, and DW_FORM_data8 as signed values, + since that's what read_var_value will do anyway. + +1999-10-07 Fred Fish + + * objfiles.h (struct objfile): Delete is_solib member, now handled + by OBJF_SHARED bit in struct objfile's flags. + * objfiles.c (objfile_purge_solibs): Check OBJF_SHARED bit in flags + instead of old is_solib int member in objfile struct. + + * objfiles.c (allocate_objfile): Remove is_solib arg. Now passed + as a bit in combined flags arg. + * symfile.c (symbol_file_add): Ditto. + * objfiles.h (allocate_objfile): Adjust prototype after removal + of is_solib arg. + * symtab.h (symbol_file_add): Ditto. + + * cxux-nat.c (add_shared_symbol_files): Remove zero passed to + symbol_file_add in old is_solib arg, defaults to zero now in + flags. + * irix5-nat.c (symbol_add_stub): Ditto. + * remote-mm.c (mm_load): Ditto. + * remote-udi.c (udi_load): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * symfile.c (symbol_file_command): Ditto. + (add_symbol_file_command): Ditto. + + * coff-solib.c (coff_solib_add): Call symbol_file_add with + OBJF_SHARED in flags bit, rather than 1 in old is_solib + arg. + * osfsolib.c (symbol_add_stub): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + + * objfiles.c (allocate_objfile): Remove old args "mapped" and + "user_loaded". Replaced with new arg "flags" containing specific + If global var mapped_symbol_files is nonzero + then set OBJF_MAPPED in flags arg. Check for OBJF_MAPPED bit in + flags where we used to check mapped arg. + Pass flags to open_mapped_file instead of mapped arg. + Ensure that OBJF_MAPPED bit is reset in flags when the objfile + is not mapped. Add passed flags bits to objfile's flags bits. + (open_mapped_file): Replace "mapped" arg with new "flags" arg. + Adjust prototype. Pass flags to open_existing_mapped_file. + (open_existing_mapped_file): Replace "mapped" arg with new "flags". + Check flags for OBJF_MAPPED. + * objfiles.h (allocate_objfile): Adjust prototype. + * rs6000-nat.c (add_vmap): Pass zero for combined flags, rather + than separate zero ints for old "mapped" and "user_loaded" flags. + * symfile.c (symbol_file_add): Pass allocate_objfile combined flags + rather than individual mapped and user loaded bits. + + * symfile.c (symbol_file_add): Delete user_loaded arg. + * symtab.h (symbol_file_add): Adjust prototype for deleted + user_loaded arg. + * objfiles.h (struct objfile): Delete user_loaded member. + (OBJF_USERLOADED): New flag bit to replace user_loaded. + + * symfile.c (symbol_file_command): Add OBJF_USER_LOADED to flags + passed to symbol_file_add. Delete previous passing of explicit 1 + for user_loaded. + (add_symbol_file_command): Ditto. + + * coff-solib.c (coff_solib_add): No longer pass zero for user loaded, + now defaults to zero in flags. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * irix5-nat.c (symbol_add_stub): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * remote-mm.c (mm_load): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * remote-udi.c (udi_load): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + +Thu Oct 7 19:24:05 1999 Andrew Cagney + + * Makefile.in (monitor.o): Allow monitor.o to be compiled with + -Werror. + + * monitor.c (monitor_debug_p): New variable. Replaces macro. + (EXTRA_RDEBUG): Delete. Update all uses. + (monitor_debug): New function. Replaces macro. + (RDEBUG): Delete macro. Update all uses. + debug output to gdb_stdlog and not the console. + + * monitor.c: Fix printf formating. Replace printf calls with + fprintf_unfiltered. + +1999-10-06 Stan Shebs + + * MAINTAINERS: Switch ARM target maintenance from Elena + Zannoni to Jim Ingham. + +1999-10-06 Frank Ch. Eigler + + * remote.c (hexnumnstr): New function. Allow setting of width. + (hexnumstr): Call the above. + (remote_write_bytes): Fill in X-protocol address field more + reliably. + +1999-10-06 Fred Fish + + * xcoffread.c (xcoff_symfile_offsets): Fix typo, addr->addrs. + +1999-10-06 Elena Zannoni + + * remote.c (handle_remote_sigint_twice): Make this signal be + handled by inferior_event_handler, via the wrapper function. + (async_remote_interrupt_twice): Make not static. Add debug print. + * remote.h (async_remote_interrupt_twice): Export for use in + inf-loop.c. + + * inf-loop.c (inferior_event_handler_wrapper): New function. + (inferior_event_handler): Handle a request to quit and kill the + target. + Include remote.h. + * inf-loop.h (inferior_event_handler_wrapper): Export. + +1999-10-04 James Ingham + + * remote-rdi.c (arm_rdi_open): If the angel_RDI_Open fails, close + the serial port and raise an error. If you try to go on, you will + stall forever down in the rdi-share code. + +1999-10-04 Fernando Nasser + + * printcmd.c (output_command): Makes sure result from the output + command is printed before the next prompt. + +1999-10-04 Fernando Nasser + + * printcmd.c (print_formatted): Add missing stream parameter. + (do_examine, print_command_1, output_command, do_one_display): + Adjust call to print_formatted(). + +1999-10-04 Elena Zannoni + + * infcmd.c: Remove include of event-loop.h. + * utils.c: Ditto. + * top.c: Ditto. + + * infrun.c (fetch_inferior_event): Call inferior_event_handler + when inferior stops, instead of doing work ourselves. + (fetch_inferior_event): Use void* instead of gdb_client_data. + Remove includes of event-top.h and event-loop.h. Add include of + inf-loop.h. + (complete_execution): Move from here. + + * inf-loop.c (complete_execution): To here. + (inferior_event_handler): Handle inferior's execution completion + case as well. + * inf-loop.h: Add def of INF_LOOP_H. + + * event-top.h: Don't use gdb_client_data, use void*, to avoid + dependency on event-loop.h. + + * remote.c (remote_async_resume): Set target_executing only after we + actually register the inferior with the event loop. + +1999-10-04 Fernando Nasser + + * corefile.c (memory_error): Use error_stream() and eliminate call + to return_to_top_level(). + +1999-10-04 Fernando Nasser + + * utils.c (error): Save error message text (w/o new line). + (error_last_message): New function. Returns the last message + issued by gdb. + (error_init): New function. Initializes error handling machinery. + (error_stream): New function. Allows the error message to be + passed on a stream buffer. + * defs.h: Add prototypes for error_stream() and + error_last_message(). + * main.c (main): Add call to error_init(). + +1999-10-04 Fernando Nasser + + * varobj.c (varobj_get_type): Call tui_sfileopen() instead of + deprecated gdb_file_init_astream(). + (c_value_of_variable): Ditto. + * ui-out.c (ui_out_stream_new): Ditto. + +1999-10-04 Fernando Nasser + + * utils.c (tui_sfileopen): New function. Replaces + gdb_file_init_astring(). + * defs.h: Add prototype for the above. + +Mon Oct 4 19:25:55 1999 Andrew Cagney + + * symfile.c (add_symbol_file_command): Fix -Wformat on query call. + +1999-10-01 Elena Zannoni + + * target.c (cleanup_target): Type of to_async param is now + function with enum inferior_event_type param. + + * target.h (target_ops): Adjust to_async accordingly. Move enum + inferior_event_type to this file. Don't have a typedef for + inferior_event_type. Add more enumeration constants INF_QUIT_REQ, + INF_EXEC_COMPLETE. Remove INF_SIGINT_FIRST, INF_SIGINT_SECOND. + + * inf-loop.c (inferior_event_handler): Change first param to tell + the type of event we are dealing with. Deal with INF_ERROR and + INF_REG_EVENT, for the moment. + Include target.h. + + * inf-loop.h (inferior_event_handler): Adjust prototype. Remove + enum inferior_event_type from here. + + * remote.c (remote_async_serial_handler): Pass INF_REG_EVENT to + the client callback. + (remote_async): Change callback's param type to inferior_event_type. + (async_client_callback): Change type as above. + +1999-10-01 Elena Zannoni + + * event-top.c (stdin_event_handler): Delete fd parameter, use + input_fd instead. + * event-top.h (stdin_event_handler): Delete fd parameter. + + * inf-loop.c (inferior_event_handler): Delete fd parameter. Use + target_async() to unregister the inferior fd in case of errors. + * inf-loop.h(inferior_event_handler): Delete fd parameter. + + * ser-unix.c (fd_event): Delete fd parameter. Use scb->fd, + instead. + + * remote.c (async_client_callback): Delete fd parameter. + (remote_async_serial_handler): Ditto. + (remote_async): Adjust to new type of callback function. + + * target.c (cleanup_target): Adjust parameters for to_async + default case. + * target.h (*to_async): Delete fd parameter from cb function. + + * event-loop.h (handler_func): Delete fd parameter. + * event-loop.c (handle_file_event): Delete fd param from call to + proc. Do not include inferior.h. + +1999-10-01 Elena Zannoni + + * event-loop.c (inferior_event_handler, + inferior_event_handler_wrapper): Move from here. + * inf-loop.c: To here. New file. + + * event-loop.h (inferior_event_handler): Move from here. + * inf-loop.h: To here. New file. + + * remote.c: Include inf-loop.h. + (set_extende_protocol): Remove unused prototpye. + + * Makefile.in (SFILES): Add inf-loop.c. + (inf_loop_h): Define. + (COMMON_OBS): Add inf-loop.o. + (inf-loop.o): Add rule. + (remote.o): Add dependency on inf-loop.h. + +Fri Oct 1 19:59:31 1999 Andrew Cagney + + * ser-unix.c: Add some notes on how the async code works. + +Fri Oct 1 01:45:32 1999 Jeffrey A Law (law@cygnus.com) + + * somread.c (som_symfile_offsets): Fix typo in last change. + +1999-09-30 Fred Fish + + * coff-solib.c (coff_solib_add): Adjust call to symbol_file_add. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * irix5-nat.c (symbol_add_stub): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * remote-mm.c (mm_load): Ditto. + * remote-udi.c (udi_load): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + + * irix5-nat.c (symbol_add_stub): Add section_addrs, zero it. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * symfile.c (symbol_file_command): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + + * irix5-nat.c (symbol_add_stub): Use section_addrs to pass text addr. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * symfile.c (symbol_file_command): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + + * coff-solib.c (coff_solib_add): Call symbol_file_add with NULL ptr. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * remote-udi.c (udi_load): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * symfile.c (symbol_file_command): Ditto. + + * dstread.c (dst_symfile_offsets): Take "section_addr_info *" + instead of CORE_ADDR. + * somread.c (som_symfile_offsets): Ditto. + * symfile.c (default_symfile_offsets): Ditto. + * xcoffread.c (xcoff_symfile_offsets): Ditto. + + * symfile.h (default_symfile_offsets): Adjust prototype. + (syms_from_objfile): Ditto. + * symtab.h (symbol_file_add): Ditto. + + * rs6000-nat.c (objfile_symbol_add): Call syms_from_objfile with NULL. + * xcoffsolib.c (solib_add): Ditto. + * gdb-stabs.h (SECT_OFF_MAX): Increase from 4 to 16. + * symtab.h (MAX_SECTIONS): Define. + (struct section_addr_info): New struct for better control over + changing load addresses of sections. + * objfiles.h (OBJF_READNOW): Add new flag bit. + * symfile.h (sym_offsets): Change second param from CORE_ADDR to + "section_addr_info *". + + * symfile.c (symbol_file_add): Replace scalar arg "CORE_ADDR addr" + with "struct section_addr_info *addrs". + (syms_from_objfile): Ditto. + (add_symbol_file_command): Remove local variables "readnow" and + "mapped". Replaced with general "flags" variable. + (symbol_file_command): Ditto. + (add_symbol_file_command): Add local variables i, sec_num, argcnt, + expecting_option, option_index, and opt. Rework option parsing code + to handle additional options. + (_initialize_symfile): Adjust add-symbol-file usage to match new + option handling. + (symbol_file_add): Remove parameters "mapped" and "readnow", + replace with general "flags". + (symbol_file_add): In call to allocate_objfile, replace "mapped" + with extracted OBJF_MAPPED bit from flags. + (symbol_file_add): Use OBJF_READNOW bit from flags, instead of + "readnow" variable. + (symbol_file_command): Set OBJF_MAPPED and OBJF_READNOW bits + from parsed options. Pass flags to symbol_file_add. + (add_symbol_file_command): Ditto. + (syms_from_objfile): Add local variables i, sect, lower_sect, + lower_offset, and local_addr. Substitute local_addr for addrs + when addrs is NULL. Find lowest loadable section to be used as + starting point for contiguous sections. Adjust offsets if segments + are not contiguous. Call sym_offsets with section_addr_info + instead of single addr. + (default_symfile_offsets): Initialize objfile's section_offsets + with user specified offsets. + (symbol_file_add): Call syms_from_objfile with offsets. + (unknown_option_complaint): Add. + (add_symbol_file_command): Add "section_addrs", zero it with memset. + +1999-09-30 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Call config.sub explicitly instead of misusing the + autoconf internal variable $ac_config_sub. + * configure: Regenerated. + +Thu Sep 30 15:53:59 1999 Andrew Cagney + + * remote.c (readchar): When EOF mourn the inferior. + (getpkt): Try QUIT. Might not be a watchdog timer timeout. + (remote_async_serial_handler): Pass ``-1'' as the dummy FD. Safer + than ZERO == STDIN. + + * serial.h (enum serial_rc): Replace #define SERIAL_ERROR, + SERIAL_TIMEOUT and SERIAL_EOF. + (struct _serial_t): Add more notes on termios specific fields. + + * ser-unix.c (generic_readchar): Make SERIAL_ERROR sticky. + (do_hardwire_readchar, do_unix_readchar): Don't use bufcnt as a + tempoary for the return-value from read. + + * serial.c (serial_logchar): Add a stream parameter. + (serial_readchar, serial_write, serial_send_break): Update. + (serial_readchar): Add serial debug trace. + +Thu Sep 30 12:07:03 1999 Andrew Cagney + + * serial.h (struct _serial_t): Add field async_state. Better + document field bufcnt. + (SERIAL_ERROR): Delete comment about errno. + * serial.c (serial_open, serial_fdopen): Initialize async_state. + + * ser-unix.c (push_event, fd_event, reschedule): New functions. + Handle ASYNC serial input. + (ser_unix_async): Update. + (generic_readchar): New function. Handle event scheduling. Make + EOF condition sticky. + (do_unix_readchar): Rename ser_unix_readchar. + (ser_unix_readchar): New function, call do_unix_readchar via + generic_readchar. + (do_hardwire_readchar, hardwire_readchar): Ditto. + + * ser-unix.c (ser_unix_readchar): Delete code working around ASYNC + fifo bugs. + (hardwire_readchar): Delete code working around ASYNC fifo bugs. + +Wed Sep 29 21:27:16 1999 Jeffrey A Law (law@cygnus.com) + + * breakpoint.c (insert_breakpoints): Addresses are CORE_ADDRs, + not "int"s. + (remove_breakpoint): Likewise. + +1999-09-29 Fred Fish + + * breakpoint.c (breakpoint_1): Replace cast "(CORE_ADDR) - 1" + with the more obviously intended expression "(CORE_ADDR) -1". + * dwarf2read.c (scan_partial_symbols, read_file_scope): Ditto. + * gnu-nat.c (gnu_create_inferior): Ditto. + * go32-nat.c (go32_create_inferior): Ditto. + * hppa-tdep.c (hppa_pop_frame): Ditto. + * infcmd.c (continue_command, step_1, signal_command): Ditto. + (until_next_command, finish_command): Ditto. + * infrun.c (proceed): Ditto. + * inftarg.c (child_create_inferior): Ditto. + * m3-nat.c (m3_create_inferior): Ditto. + * mac-nat.c (child_create_inferior): Ditto. + * procfs.c (procfs_create_inferior): Ditto. + * remote-sim.c (gdbsim_create_inferior): Ditto. + * target.c (target_link): Ditto. + * win32-nat.c (child_create_inferior): Ditto. + * varobj.c (varobj_create, new_root_variable): Ditto. + +Thu Sep 30 10:36:19 1999 Andrew Cagney + + * ser-unix.c (ser_unix_flush_input): New function. Discard input + buffer. + (hardwire_flush_input): Use ser_unix_flush_input. + (ser_unix_nop_flush_input): Delete. + * ser-unix.h (ser_unix_flush_input): Update. + ser-tcp.c (_initialize_ser_tcp), ser-pipe.c + (_initialize_ser_pipe): Update. + + * ser-unix.c (hardwire_write): Delete. + (_initialize_ser_hardwire): Update, use ser_unix_write. + +Thu Sep 30 10:16:50 1999 Andrew Cagney + + * ser-pipe.c (pipe_open): Don't make the FD non-blocking. Already + being handled in ser_unix_wait_for by a select. + +Thu Sep 30 10:00:32 1999 Andrew Cagney + + * serial.h (struct _serial_t): Add field debug_p. + (SERIAL_DEBUG, SERIAL_DEBUG_P): Define. + + * serial.c (serial_open, serial_fdopen): Initialize debug_p. + (serial_debug, serial_debug_p): New functions. + (global_serial_debug_p): New variable. + (_initialize_serial): Add ``set serialdebug'' command. + +Thu Sep 30 09:09:38 1999 Andrew Cagney + + * serial.h (serial_event_ftype): Replace FD and ERROR args with + SERRIAL_T arg. + * ser-unix.c (ser_unix_event): Update. + + * remote.c (remote_async_serial_handler): New function. Handle + serial events. + (remote_async): Pass remote_async_serial_handler to SERIAL. + (async_client_callback, async_client_context): New variables. + + * remote.c (extended_remote_async_create_inferior): Use + target_async to register the inferior event handler. + +Thu Sep 30 00:02:03 1999 Andrew Cagney + + * configure.in (AC_CHECK_FUNCS): Test for sigprocmask. + * configure, config.in: Re-generate. + * event-top.c (async_stop_sig): Use sigprocmask when available. + +1999-09-29 Doug Evans + + * sh-stub.c (handle_exception): Fix typo in patch of 1999-08-26. + * m68k-stub.c (handle_exception): Ditto. + +1999-09-28 Fred Fish + + * alpha-nat.c (alpha_osf_core_fns, alpha_elf_core_fns): + Add default entries for check_format and core_sniffer. + * core-aout.c (aout_core_fns): Ditto. + * core-regset.c (regset_core_fns): Ditto. + * core-sol2.c (solaris_core_fns): Ditto. + * i386aix-nat.c (i386aix_core_fns): Ditto. + * i386mach-nat.c (i386mach_core_fns): Ditto. + * irix4-nat.c (irix4_core_fns): Ditto. + * irix5-nat.c (irix5_core_fns): Ditto. + * lynx-nat.c (lynx_core_fns): Ditto. + * mips-nat.c (mips_core_fns): Ditto. + * ns32knbsd-nat.c (nat_core_fns): Ditto. + * rs6000-nat.c (rs6000_core_fns): Ditto. + * sparc-nat.c (sparc_core_fns): Ditto. + * sun-nat.c (sun3_core_fns): Ditto. + * ultra3-nat.c (ultra3_core_fns): Ditto. + + * corelow.c (core_vec): New, for selected core file handler. + (sniff_core_bfd): New function. + (gdb_check_format): New function. + (default_check_format): New function. + (default_core_sniffer): New function. + (sniff_core_bfd): New function. + (core_close): Reset core_vec to NULL. + (core_open): Fall back to gdb_check_format if bfd_check_format + does not identify the file format. Call sniff_core_bfd to pick + a core file handler. + (get_core_registers): Remove code that is now in sniff_core_bfd. + Use current core_vec. + + * gdbcore.h (check_format): New core_fns function, points to function + to try and identify a core file format. + (core_sniffer): New core_fns function, points to function to select + a specific handler for the selected core file format. + (default_core_sniffer): Add prototype. + (default_check_format): Add prototype. + + * i960-tdep.c (inferior.h): Include. + * mips-tdep.c (read_next_frame_reg): Use ADDR_BITS_REMOVE + on addresses pulled from stack. + +1999-09-29 Elena Zannoni + + * event-loop.c (poll_timers): Check whether the timer list has any + element on it by looking at the first element pointer, instead of + num_timers. + +Wed Sep 29 18:02:31 1999 Andrew Cagney + + * command.c: Attempt to include POSIX before + . + + * ser-unix.c (hardwire_print_tty_state): Ditto. + * inflow.c (child_terminal_info): Fix printf args. + +1999-09-28 Elena Zannoni + + * remote.c (remote_async_resume): Register the inferior with the + event loop. + (remote_async_open_1): Don't put the target in async mode here, + just do it when executing. + + * infrun.c (complete_execution): Unregister the inferior from the + event loop. + + * event-top.c (async_disable_stdin): Don't add + async_enable_stdin() to the exec_cleanups chain. + +Tue Sep 28 11:08:34 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (hppa_fix_call_dummy): Ignore IMPORT_SHLIB stubs + except for hpux11 native. Break out of the loop to find a + stub as soon as we find an IMPORT stub. + (skip_prologue_hard_way): Also recognize copy %ret1,target and + all PA64 argument stores as prologue instructions. + +1999-09-28 Elena Zannoni + + * breakpoint.c, defs.h, event-top.c, infcmd.c, infrun.c, main.c, + remote.c, top.c, tracepoint.c, utils.c (async_p): Change var name + to event_loop_p. + +1999-09-28 Jim Blandy + + * hppa-tdep.c (skip_prologue_hard_way): Recognize ldo insns + which generate pointers into the argument list. + +Tue Sep 28 13:56:49 1999 Andrew Cagney + + * remote.h (cleanup_sigint_signal_handler, + initialize_sigint_signal_handler): Delete extern declarations. + * event-top.c, infrun.c: No longer need to include "remote.h". + * remote.c (cleanup_sigint_signal_handler, + initialize_sigint_signal_handler): Make static. + * Makefile.in (event-top.o): Delete dependency on "remote.h". + + * remote.c (remote_async_terminal_ours_p): New static global. Keep + track of who currently owns the terminal. + (remote_async_open_1): Initialize. + (remote_async_terminal_inferior): Test + remote_async_terminal_ours_p. Claim CNTRL-C handler as part of + transfering the terminal to the target. + (remote_async_terminal_ours): Similar. + +Mon Sep 27 12:33:45 1999 Andrew Cagney + + * remote.c (async_interrupt_query): Delete function. Merged into + interrupt_query. Async cases handled by target_terminal_ours, + target_terminal_inferior and SERIAL_CLOSE. + (async_remote_interrupt_twice): Update. + (remote_async_terminal_ours, remote_async_terminal_inferior): New + functions. Steal STDIN from GDB's CLI. + (init_remote_async_ops): Initialize to_terminal_ours and + to_terminal_inferior. + + * event-top.c (async_disable_stdin, async_disable_stdin): Use + target_terminal_ours / target_terminal_inferior to transfer + ownership of the terminal between GDB and the target. + +1999-09-27 Elena Zannoni + + * infcmd.c (run_command): Call async_disable_stdin() only if + dealing with an asynchronous target. + +Mon Sep 27 11:48:38 1999 Andrew Cagney + + * target.h (struct target_ops): Add to_can_async_p, to_is_async_p, + to_async. Delete to_has_async. These correspond well with + SERIAL* async methods. + (target_can_async_p, target_is_async_p, target_async): Define. + * target.c (update_current_target, cleanup_target): Update. + + * remote.c (remote_async_open_1): Change target to async using + target_async. + (remote_can_async_p, remote_is_async_p, remote_async): New + functions. + (remote_async_wait, remote_async_open_1): Add FIXME about how + wait_forever_enabled_p can almost be deleted once the client can + enable/disable target_async. + + * breakpoint.c (until_break_command), infrun.c (proceed), infcmd.c + (run_command, continue_command, step_1, jump_command, + until_command, finish_command, interrupt_target_command), top.c + (return_to_top_level, execute_command), event-top.c + (command_handler): Replace target_has_async with + target_can_async_p. + +Sun Sep 26 02:10:47 1999 Andrew Cagney + + * remote.c (remote_async_open_1): If we go into async mode, never + wait for ever. + + * infcmd.c: Include "event-top.h". + (run_command, continue_command, jump_command, until_command, + finish_command): Use async_disable_stdin to disable the console + for synchronous commands. + + * remote.c (async_interrupt_query): Only disconnect the console + from the terminal when sync_execution. + + * remote.c (initialize_sigint_signal_handler): Move declaration + from here. + * remote.h: To here. Make non-static. + + * remote.c (remote_async_resume, async_interrupt_query): Move + prompt code from here. + * event-top.c (async_disable_stdin, async_enable_stdin): To + here. New function. + + * infrun.c (start_remote): Delete commented out code. + +Fri Sep 24 12:38:31 1999 Andrew Cagney + + * remote.c (remote_async_open_1): Perform the initial async_open + using only synchronous calls. Only after the target is fully + connected, switch to async mode. Include FIXME about now it + currently works VS how it should be working. + (remote_async_open_1, set_extended_protocol): Delete function + set_extended_protocol. All open communication is now done + synchronously. + (forever_enabled_p): New variable. Determine if remote_async_wait + should block FOREVER when fetching target information. + (remote_cisco_open, remote_open_1): Set forever_enabled_p. + + * infrun.c (start_remote): During the initial connect, always use + a synchronous wait. + +Sat Sep 25 18:13:38 1999 Andrew Cagney + + * Makefile.in (event-top.o): Add dependency. + * event-top.c: Include "remote.h". + * remote.c (async_interrupt_query), event-top.c: + (async_enable_stdin): Pass dummy parameter to + cleanup_sigint_signal_handler. + * remote.c (cleanup_sigint_signal_handler), remote.h + (cleanup_sigint_signal_handler), event-top.c (async_enable_stdin), + event-top.h (async_enable_stdin): Change signature to match + make_exec_error_cleanup handler pararameter. + +Thu Sep 23 20:48:22 1999 Andrew Cagney + + * defs.h (enum command_class): Move from here. + * command.h (command_class): To here. + +1999-09-24 Kevin Buettner + * breakpoint.c (bpstat_stop_status): Use not_a_breakpoint to + help properly set bp_addr. + * infrun.c (handle_inferior_event): Simplify calls to + bp_stop_status. + +1999-09-24 Elena Zannoni + + * top.c (return_to_top_level): Do exec_error cleanups if are + interrupting a simulated synchronous execution command. + + * infrun.c (start_remote): Create a cleanup to enable stdin in + case of error from this command. + (complete_execution): Do the enabling of stdin via the exec_error + cleanups, when needed. + + * remote.c (remote_async_resume): Make sure we re-enable stdin in + case of error from the target. + (handle_remote_sigint_twice): The handler to be set is + async_remote_interrupt_twice, not async_remote_interrupt. + (async_remote_interrupt_twice): Don't do anything if the target + has been killed already. Call async_interrupt_query, instead of + interrupt_query. + (async_interrupt_query): New function. Async case of + interrupt_query(). + + * event-top.c (async_enable_stdin): New function. Reinstate stdin + with the event loop. + * event-top.h (async_enable_stdin): Export. + + * utils.c (exec_error_cleanup_chain): New cleanup chain. + (make_exec_error_cleanup, do_exec_error_cleanups, + discard_exec_error_cleanups): New functions. + * defs.h (make_exec_error_cleanup, do_exec_error_cleanups, + discard_exec_error_cleanups): Export. + +1999-09-24 Jim Blandy + + * ax-gdb.c (expr_to_agent): Don't forget to pass argument to + new_agent_expr. + +1999-09-24 Elena Zannoni + + * event-loop.c (fetch_inferior_event_wrapper): New + function. Wrapper to pass to catch_errors. + (inferior_event_handler): Pop the target if things go bad with it. + Call fetch_inferior_event() from within catch_errors(). + +1999-09-24 Jim Blandy + + * ax-gdb.c: Use internal_error instead of error, where + appropriate. + +1999-09-23 James Ingham + + * target.c (target_resize_to_sections): New function. Gather the + resizing code for the to_sections field into one place, and make + sure you update the other targets that are sharing the to_sections + structure. + * target.h: Declare the target_resize_to_sections function. + * solib.c (solib_add): use target_resize_to_sections. + * somsolib.c (som_solib_load_symbols): ditto + * rs6000-nat.c (xcoff_relocate_core): ditto + * pa64solib.c (pa64_solib_load_symbols): ditto + * irix5-nat.c (solib_add):ditto + + * top.c: Define the attach & detach hooks + * defs.h: Declare the attach & detach hooks. + * infcmd.c (attach_command): call the attach hook if it exists. + (detach_command): call the detach hook if it exists. + + * complaints.c (complain): Send the complaints to stderr rather + than stdout, so they don't get mixed into the result stream from + commands. + +1999-09-23 Fernando Nasser + + * varobj.c (varobj_set_value): Fix handling of baseclasses and + correct the behavior when it is not a baseclass (both cases were + dumping core). + +1999-09-23 Fernando Nasser + + * varobj.c (varobj_update): Fix setting of child error field. + +1999-09-23 Elena Zannoni + + * event-loop.c (poll_timers): Use correct timeval field names, + when setting the notifier timeouts, in case of select() used. + (gdb_wait_for_event): Pass a pointer to the timeout structure to + select(), not the structure. + +1999-09-23 Fernando Nasser + + * varobj.c (varobj_gen_name): Dynamically allocate variable object + name string. + (varobj_update): Fix creation of result list. + +Wed Sep 22 10:35:32 1999 Andrew Cagney + + * Makefile.in (init.c): Change generated file to include "defs.h" + and "call-cmds.h". Use initialize_file_ftype when declaring + each initialize functions. + (call_cmds_h): Add definition. + (init.o): Add target and dependencies. + (init.c): Don't grep for _initialize* in init.c. + + * defs.h (initialize_file_ftype): Add function typedef. + +1999-09-22 Michael Snyder + + * procfs.c (init_procinfo): move fltset initialization to caller. + (do_attach, create_procinfo): initialize fltset. + +1999-09-22 Fernando Nasser + + * varobj.c (_initialize_varobj): Rename varobjdebug to debugvarobj + to avoid conflict with "set var". + +1999-09-22 Fernando Nasser + + * varobj.c (varobj_get_type, c_value_of_variable): Remove + dependency on ui_out.[ch]. + +1999-09-22 Fernando Nasser + + * varobj.c (varobj_update): Fix order in which changed variables + are reported to match that of the old code. + +1999-09-22 Fernando Nasser + + * varobj.c (type_changeable): Fix for testsuite case 2.12. Do not + report as changed a structure when one of it's children has changed. + (get_type, get_type_deref): Remove uneeded initialization. + +1999-09-22 Elena Zannoni + + * event-loop.c, event-top.c, event-loop.h: Rerun indent. + +1999-09-21 Doug Evans + + * m32r-stub.c (handle_exception): Fix typo in patch of 1999-08-26. + +1999-09-21 Fernando Nasser + + * varobj.c (_initialize_varobj): Add set/show for varobjdebug. + (uninstall_variable): Test for varobjdebug before printing trace + and send it to gdb_stdlog. + +1999-09-21 Fernando Nasser + + * varobj.c (c_type_of_child): Fix missing break, improve comment + and add warning. + (c_number_of_children): Add comment. + +Tue Sep 21 14:55:29 1999 Andrew Cagney + + From 1999-08-20 J.T. Conklin : + * remote.c (read_frame): expand cisco run-length encoding variant + inline as is done for the standard encoding. + (remote_cisco_expand): Removed. + +1999-09-20 Fernando Nasser + + * varobj.c (varobj_update): Test for illegal invocation for + non-root variable object. + +1999-09-20 Fernando Nasser + + * varobj.c (my_value_equal): Style. Eliminate side-effects. + (varobj_update): Adjust calls to reflect the above change. + +1999-09-20 Fernando Nasser + + * varobj.c (c_value_of_variable): Fix return value for struct + members when parent is a invalid pointer. + +1999-09-20 Elena Zannoni + + * event-loop.c: Include . + +1999-09-20 Fernando Nasser + + * varobj.c (cplus_number_of_children): Coding style improvement. + (cplus_value_of_child): Ditto. + +1999-09-20 Fernando Nasser + + * varobj.c (c_name_of_child): Add missing default clause in switch + statement. + (c_type_of_child): Ditto. + (varobj_set_value): Test for NULL type. + +1999-09-20 Fernando Nasser + + * varobj.c (varobj_set_value): Wrap call to evaluate_expression. + +1999-09-20 Fernando Nasser + + * varobj.c (format_string[]): Remove unused variable(s). + (varobj_set_value): Ditto. + (c_value_of_root): Ditto. + (cplus_value_of_child): Ditto. + +1999-09-20 Fernando Nasser + + * varobj.c: Add missing header file include. + (new_variable, new_root_variable): Fix prototype and header. + (_initialize_varobj): Add prototype. + +1999-09-20 Elena Zannoni + + * ser-ocd.c: (ser_ocd_open, ser_ocd_raw, ser_ocd_readchar, + ser_ocd_setbaudrate, ser_ocd_write, ser_ocd_close, + ser_ocd_get_tty_state, ser_ocd_set_tty_state): Remove unused + prototypes. + (ocd_readremote): Remove. + (ocd_write): Remove unused var 'c'. + +1999-09-20 Elena Zannoni + + * event-top.c (change_line_handler): Cleanup dead code. Add comments. + * event-loop.c: Cleanup #if 0 code. + + * event-loop.h (timer_handler_func): New function type. + (create_timer): Export function. + (delete_timer): Export function. + + * event-loop.c: Add timeout and timeout_valid fields to + gdb_notifier. New structures gdb_timer and timer_list. + (gdb_do_one_event): Check whether there are any timers tht are + ready, before going to wait. + (gdb_wait_for_event): If the timeout structure is meaningful, pass + that to select()/poll(). + (create_timer): New function. Creates a timer. + (delete_timer): New function. Deletes a timer. + (handle_timer_event): New function. Deals with timers that are ready. + (poll_timers): New Function. Chack whether timers have expired. + +Mon Sep 20 17:00:06 1999 Andrew Cagney + + * remote.c (getpkt, putpkt, remote_console_output): Move + declaration from here. + * remote.h: To here. New file. + * tracepoint.c(putpkt, getpkt, remote_console_output): Delete + declarations. Moved to "remote.h". + * Makefile.in (remote_h): Define. + * remote.c, tracepoint.c: Include "remote.h". + * Makefile.in (tracepoint.o, remote.o): Add dependency on + "remote.h". + + * remote.h (remote_cisco_objfile_relocate, + cleanup_sigint_signal_handler): Add declaration. Include FIXME. + * infrun.c: Include "remote.h". + (complete_execution): Delete local extern declaration + of ``cleanup_sigint_signal_handler''. + * Makefile.in (infrun.o): Add dependency on remote.h. + +Mon Sep 20 16:15:29 1999 Andrew Cagney + + * ui-out.h (ui_out_test_flags): Add missing declaration. + +Mon Sep 20 13:41:04 1999 Andrew Cagney + + * kod.c (ecos_kod_open, ecos_kod_request, ecos_kod_close, + cisco_kod_open, cisco_kod_request, cisco_kod_close): Move + declarations from here. + * kod.h: To here. New file. + * kod-cisco.c, kod.c: Include "kod.h". + * Makefile.in (kod-cisco.o, kod.o): Add dependency on "kod.h". + + * kod.h (kod_display_callback_ftype, kod_query_callback_ftype): + New function types. + * kod.h (kod_cisco_open): Use in declaration. + * kod.c (gdb_kod_open): Update definition. + * kod-cisco.c (cisco_kod_open): Update definition. + +Mon Sep 20 12:13:27 1999 Andrew Cagney + + * mn10300-tdep.c (_initialize_mn10300_tdep): Add declaration. + + * breakpoint.c (until_break_command_continuation): Add + declaration. Make static. + * event-top.c (rl_callback_read_char_wrapper): Ditto. + +Mon Sep 20 10:54:19 1999 Andrew Cagney + + * Makefile.in (varobj.o): Disable warnings. Currently + work-in-progress. + +Fri Sep 17 19:28:17 1999 Andrew Cagney + + * source.c: Include "source.h". + (open_source_file, find_source_lines): Move declaration from here. + * source.h: New file. To here. + * Makefile.in (source.o): Add dependency on source.h. + + * breakpoints.c (delete_command): Move declaration from here. + * breakpoints.h (delete_command): To here. + +1999-09-18 Jim Blandy + + * hppa-tdep.c (in_solib_call_trampoline): If we can't recognize + the instruction we're at, we're not in a stub. + +Sat Sep 18 07:13:03 1999 Jeffrey A Law (law@cygnus.com) + + * dwarf2read.c (dwarf_decode_lines): Correctly handle + DW_LNS_const_add_pc. + +1999-09-18 Elena Zannoni + + * remote.c (remote_async_open_1): Use inferior_event_handler to + handle inferior events. + (extended_remote_async_create_inferior): Ditto. + + * serial.h (serial_event_ftype): Add two pars. + + * ser-unix.c (ser_unix_event): Add two parameters, error and fd. + Pass those into the call to the actual inferior event handler. + + * infrun.c (complete_execution): Stdin handler is stdin_event_handler. + + * event-top.h (stdin_event_handler): Export new function. + + * event-top.c (stdin_event_handler): New function. Smarter handler + for events on stdin. + (change_line_handler): Don't need to update the handler for stdin + here anymore. + (_initialize_event_loop): Stdin handler is now stdin_event_handler. + + * event-loop.h: (handler_func): Change signature, adding two new + args. + (sig_handler_func): New function type. It is the old handler_func. + (create_async_signal_handler): Update to use sig_handler_func. + (delete_async_signal_handler): Prototype for new function. + + * event-loop.c: Include "inferior.h". + (struct file_handler): Add field error, to indicate error + condition on fd. + (struct async_signal_handler): Rename type of proc field. + (add_file_handler): Add exception condition as something select() + should report. + (handle_file_event): In case of error on the fd, record this in + the file_handler structure. Update call to (*proc)() to match new + signature. + (gdb_wait_for_event): If select() or poll() return error, report + this to user. + (create_async_signal_handler): Change first param type to + sig_handler_func*. + (inferior_event_handler): New function. Smarter inferior event + handling. + +1999-09-18 Jim Blandy + + * pa64solib.c (pa64_solib_create_inferior_hook): Remove code which + tries to set __d_pid; it's not relevant to PA64 shared libraries. + + A psymtab's texthigh element, and a block's endaddr element, are + the address past the end of the address range, never the address + of the last byte. These data structures mean the same thing on + forty different architectures; there's no reason they should be + different on HP/UX. + * symtab.c (find_pc_sect_psymtab): Remove special case for HP/UX. + (find_pc_sect_symtab): Same. + * objfiles.c (find_pc_sect_section): Same. + +Sat Sep 18 07:13:03 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (internalize_unwinds): Handle PA64 shared libraries + correctly + + * hppa-tdep.c (in_solib_call_trampoline): Handle PA64 shared library + trampolines. + +1999-09-17 Fernando Nasser + + * wrapper.h: Add missing define brackets. + +1999-09-17 Jim Blandy + + * breakpoint.c (permanent_breakpoint_here_p): Delete. + Accidentally left over from previous changes. + +1999-09-17 Jim Blandy + + * config/pa/tm-hppa64.h (ARGS_GROW_DOWNWARD): Deleted. There are + many more differences between the 32- and 64-bit ABI's than the + direction the arguments grow, so this name is misleading. + (PA20W_CALLING_CONVENTIONS): Define this instead. + * config/pa/tm-hppa.h (ARGS_GROW_DOWNWARD): Delete. + * hppa-tdep.c (hppa_push_arguments): Split into two separate + functions, depending on whether PA20W_CALLING_CONVENTIONS is + #defined. These implement completely separate specifications, + they don't really share that much code anyway, and this is much + more readable. Specifically: leave a 16-byte, not 32-byte, frame + marker; correctly align objects larger than eight bytes; promote + all integral scalar arguments smaller than eight bytes to a full + register width; pad aggregates smaller than eight bytes on the + right. + +1999-09-17 Fernando Nasser + + * Makefile.in: Add entries for varobj.[cho] and wrapper.[cho]. + gdbtk-varobj.[co]. gdbtk-varobj.o is not yet on the COMMON_OBS + list because it conflicts with the older gdbtk-variable.o which + is still the default. + +1999-09-17 Fernando Nasser + + * varobj.h: New file. GDB variable objects API. + * varobj.c: New file. Implementation of the GDB variable objects + API. + +1999-09-17 Fernando Nasser + + * wrapper.h: New file. Longjump free calls to gdb internal + routines. + * wrapper.c (gdb_evaluate_expression, wrap_evaluate_expression, + gdb_value_fetch_lazy, wrap_value_fetch_lazy, gdb_value_equal, + wrap_value_equal, gdb_value_ind, wrap_value_ind): New functions. + +Thu Sep 16 17:33:35 1999 Andrew Cagney + + * remote.c (remote_async_open_1): Use SERIAL_ASYNC to + enable/disable async event callback on serial port. Use + SERIAL_CAN_ASYNC_P / SERIAL_IS_ASYNC_P to determine if / when + async mode. + (remote_async_resume, remote_async_detach, remote_async_kill, + extended_remote_async_create_inferior, remote_async_wait): Ditto. + + * ser-unix.c (hardwire_readchar): When ASYNC, only read a single + character. + (ser_unix_readchar): Ditto. Problems occure with back-to-back + data from a target. The ASYNC code can loose the second data + chunk. + + * serial.c (serial_fdopen): Initialize async_handler and + async_context. + +1999-09-16 Elena Zannoni + + * utils.c (discard_all_continuations): New function. + * defs.h: (discard_all_continuations): Add prototype. + +1999-09-16 Elena Zannoni + + * valops.c: Remove prototype for search_struct_field_aux(). THe + function was nowhere in the file. + (value_ind): Remove unused var real_val. + (value_find_oload_method_list): Remove unused var v. + (find_overload_match): Remove extra declaration of var jj. + + * Makefile.in (event_top_h): Define. Add dependency on this for + every file that includes event-top.h. + +Thu Sep 16 17:33:35 1999 Andrew Cagney + + * serial.c (serial_open): Delete ``&'' device. + * ser-unix.c (_initialize_ser_hardwire): Make the "hardwire" + device async. Delete temporary "async-hardwire" device. + +Thu Sep 16 16:27:13 1999 Andrew Cagney + + * serial.h (SERIAL_IS_ASYNC_P): Define. Non-zero when serial + device is in async mode. + (SERIAL_CAN_ASYNC_P): Rename SERIAL_ASYNC_P. + * serial.c (serial_is_async_p): Implement. + (serial_can_async_p): Rename serial_async_p. + (serial_open): Initialize ASYNC_HANDLER and ASYNC_CONTEXT. Save + the original name in SCB instead of the stripped name. + +Thu Sep 16 12:20:11 1999 Andrew Cagney + + * serial.h (struct serial_ops): Add field ASYNC. + (SERIAL_ASYNC, SERIAL_ASYNC_P): New macros. + (struct _serial_t): Add fields async_context and async_handler. + * serial.c (serial_async, serial_async_p): Implement. + + * ser-unix.c: Include "event-loop.h". + (ser_unix_async), ser-unix.c: New function. Implement async mode. + (async_event): Handle async events. + * ser-unix.c (_initialize_ser_hardwire), ser-tcp.c + (_initialize_ser_tcp), ser-pipe.c (_initialize_ser_pipe): Enable + ASYNC. + + * serial.c (serial_open): Discard leading ``|'' before opening a + pipe device. + * ser-pipe.c (pipe_open): Adjust. + * serial.c (serial_open): Add ``&'' prefix so that + "async-hardwire" device can be explicitly selected. Work in + progress. + * ser-unix.c: Register "async-hardwire" device. + +Thu Sep 16 09:04:53 1999 Andrew Cagney + + * ser-unix.h: New file. Declare generic ser_unix functions. + * ser-unix.c (ser_unix_nop_get_tty_state, + ser_unix_nop_set_tty_state, ser_unix_nop_raw, ser_unix_wait_for, + ser_unix_readchar, ser_unix_nop_noflush_set_tty_state, + ser_unix_nop_print_tty_state, ser_unix_nop_setbaudrate, + ser_unix_nop_setstopbits, ser_unix_write, + ser_unix_nop_flush_output, ser_unix_nop_flush_input, + ser_unix_nop_send_break, ser_unix_nop_drain_output): New + functions. + * ser-unix.c: Include , , + "gdb_string.h". + + * ser-tcp.c (_initialize_ser_tcp), ser-unix.c + (_initialize_ser_hardwire), ser-pipe.c (_initialize_ser_tcp): + Initialize ops vector using assignment. + + * ser-pipe.c, ser-tcp.c, ser-unix.c: Include ser-unix.h. + + * ser-pipe.c (pipe_get_tty_state, pipe_set_tty_state, + pipe_return_0, pipe_raw, wait_for, pipe_readchar, + pipe_noflush_set_tty_state, pipe_print_tty_state, + pipe_setbaudrate, pipe_setstopbits, pipe_write), ser-tcp.c + (tcp_get_tty_state, tcp_set_tty_state, tcp_return_0, tcp_raw, + wait_for, tcp_readchar, tcp_noflush_set_tty_state, + tcp_print_tty_state, tcp_setbaudrate, tcp_setstopbits, tcp_write): + Delete functions. + +1999-09-15 Stan Shebs + + * d10v-tdep.c (remote_d10v_translate_xfer_address): Move to here + from remote-d10v.c, also change the memory translation to its + previous version. + * remote-d10v.c: Remove. + * config/d10v/d10v.mt (TDEPFILES): Remove remote-d10v.o. + +1999-09-15 Jim Blandy + + * breakpoint.c (remove_breakpoint): Return zero, not nothing. + +1999-09-14 Jim Blandy + + * hppa-tdep.c (frame_chain): If the unwind info says we've saved + r3, don't trust it. Call get_frame_saved_regs and see if we can + actually find an address for r3 there. + + * pa64solib.c (pa64_sharedlibrary_info_command): Text fix. + +Tue Sep 14 14:34:28 1999 Andrew Cagney + + * serial.h (DEPRECATED_SERIAL_FD): Define. + * serial.c (deprecated_serial_fd): New function. + + * remote.c (remote_async_open_1, remote_async_open_1, + remote_async_detach, remote_async_kill, + extended_remote_async_create_inferior, minitelnet): Update. + * remote-es.c (es1800_open, es1800_close, es1800_transparent): Update. + + * remote-st.c (connect_command), remote-os9k.c (connect_command): + Fix. Call FD_SET et.al. with FD instead of serial_t. + +1999-09-14 Jim Blandy + + * hppa-tdep.c (hppa_frame_find_saved_regs): The two possible + instructions for saving the return pointer (32- and 64-bit) save + it at different offsets. + + * config/pa/tm-hppa64.h: Doc fix. + + * defs.h (continuation): Make this a typedef. + + * Makefile.in (gdbtk.o, gdbtk-cmds.o): Depend on $(top_h). + + * Makefile.in (i386-linux-nat.o): Depend on symfile.h, not + $(symfile_h); the latter has no definition. + + * breakpoint.c (breakpoint_here_p): Remove meaningless code, + testing b->enable against shlib_disabled and call_disabled after + we know it is enabled. + + Implement "permanent breakpoints" --- breakpoints that are + hardwired into the inferior's code. GDB knows they're there, but + doesn't try to insert or remove them, etc. + * breakpoint.h (enum enable): Add `permanent' enablement state. + * breakpoint.c (make_breakpoint_permanent): New function. + * breakpoint.h (make_breakpoint_permanent): Add declaration. + * breakpoint.c (insert_breakpoints): Don't bother to insert + permanent breakpoints... + (remove_breakpoint): ... or remove them. + (breakpoint_here_p): Handle `permanent' like `enabled'. Change + return value to indicate whether it's a permanent breakpoint here, + or an ordinary breakpoint. + * breakpoint.h (enum breakpoint_here): New enum. + (breakpoint_here_p): Change declaration. + * breakpoint.h (breakpoint_1): Extend bpenables to cover all the + enablement states. + (describe_other_breakpoints): Describe permanent breakpoints. + (check_duplicates): If one of the breakpoints at ADDRESS is a + permanent breakpoint, treat all the others as the duplicates, so + we don't try to insert or remove any of them. Verify that only + the permanent breakpoint is actually inserted. + (delete_breakpoint): Complain if we discover that another + breakpoint was inserted at the same place as a permanent + breakpoint. + (disable_breakpoint): Fail silently if asked to disable a + permanent breakpoint. + (do_enable_breakpoint): Don't change a permanent breakpoint's + enablement to ordinary `enabled'. Leave it alone. + (create_solib_event_breakpoint): Return the + breakpoint object created. + * breakpoint.h (create_solib_event_breakpoint): Fix declaration. + * pa64solib.c (pa64_solib_create_inferior_hook): Do turn on the + DT_HP_DEBUG_CALLBACK flag in the dynamic linker, so it will call + __dld_break, which contains the permanent breakpoint, when interesting + things happen. Tell GDB that the breakpoint in __dld_break is + permanent. + * gdbtk-cmds.c (gdb_get_breakpoint_info): Report a permanent + breakpoint as enabled. + * infrun.c (SKIP_PERMANENT_BREAKPOINT): Provide default definition. + (default_skip_permanent_breakpoint): New function. + (resume): If we're trying to resume at a permanent breakpoint, use + SKIP_PERMANENT_BREAKPOINT to step over it. + * hppa-tdep.c (hppa_skip_permanent_breakpoint): New function. + * config/pa/tm-hppa.h (hppa_skip_permanent_breakpoint): Declare. + (SKIP_PERMANENT_BREAKPOINT): Define. + +1999-09-14 Kevin Buettner + + * symtab.h, minsyms.c (find_stab_function_addr): Changed + type of second parameter from partial_symtab * to char *. + Fixed all callers. + * minsyms.c (find_stab_function_addr): Look for minimal + symbol without filename if filename based search fails. + * dbxread.c (process_one_symbol): Call find_stab_function_addr() + in place of inline code with identical functionality. + * partial-stab.h (case N_FUN, descriptors 'F' and 'f'): Look + up symbol's address from minimal symbol table when N_FUN + address is missing. Also, make sure this value is used for + calculating the value of the texthigh field. + +1999-09-14 Elena Zannoni + + * event-loop.c (create_file_handler): Increment the total number + of file descriptors for the poll case, only if this is a new file + desc. + +1999-09-14 Eli Zaretskii + + * go32-nat.c: misc minor cleanups and fixes missed in last patch. + +Tue Sep 14 12:37:33 1999 Andrew Cagney + + * serial.h (SERIAL_PRINT_TTY_STATE): Add STREAM parameter. + (union serial_ops): Update. + + * ser-unix.c (hardwire_print_tty_state, ser-tcp.c + (tcp_print_tty_state), ser-pipe.c (pipe_print_tty_state, + ser-go32.c (dos_print_tty_state, ser-mac.c (mac_print_tty_state, + ser-ocd.c (ocd_print_tty_state, ser-e7kpc.c + (e7000pc_print_tty_state): Update. + * inflow.c (child_terminal_info): Update. + * serial.c (serial_print_tty_state): Update. + +Tue Sep 14 11:41:37 1999 Andrew Cagney + + * serial.c, serial.h, ser-tcp.c, ser-unix.c, ser-pipe.c: Convert + all functions to ISO-C. + * serial.h, serial.c: Move all indirect macro function calls from + serial.h into serial.c. + (serial_drain_output, serial_flush_output, serial_flush_input, + serial_raw, serial_get_tty_state, serial_set_tty_state, + serial_print_tty_state, serial_noflush_set_tty_state, + serial_setbaudrate, serial_setstopbits): New functions. + (do_serial_close): Rename serial_close. + (serial_close, serial_un_fdopen): New functions. Call + do_serial_close. + +1999-09-13 James Ingham + + * symtab.c (decode_line_1): Find the rightmost parenthesis in the + expression, not the leftmost. This allows us to parse function + declarations with embedded function prototypes. + +Mon Sep 13 18:39:31 1999 Jeffrey A Law (law@cygnus.com) + + * pa64solib.c (pa64_sharedlibrary_info_command): Fix typos. + +1999-09-13 Kevin Buettner + + * i386-tdep.c (i386_extract_return_value): ifdef'd so that + non-linux targets will work again. + (i386_do_registers_info, i386_print_register): Revert changes + of 1999-09-03; these functions have been removed because they + are Linux specific and break non-Linux builds. This functionality + will be restored after FP support unification has been achieved. + * i387-tdep.c (i387_print_register, void i387_float_info): + Likewise. + * config/i386/tm-linux.h (i387_float_info, FLOAT_INFO, + DO_REGISTERS_INFO, i386_do_registers_info, + i387_print_register): Likewise. + +1999-09-13 Elena Zannoni + + * event-top.c (call_readline): Change to accept gdb_client_data as + param. + (rl_callback_read_char_wrapper): New function to match what the + event loop expects and what readline expects. + (change_line_handler): Make call_readline point to + rl_callback_read_char_wrapper, instead of rl_callback_read_char. + (_initialize_event_loop): Ditto. + (gdb_readline2): Change parameter to gdb_client_data. + * event-top.h (call_readline, gdb_readline2): Change accordingly. + + * event-loop.c (add_file_handler): Change 2nd par to + handler_func*. No more need for casting. + * event-loop.h (create_async_signal_handler): Change accordingly. + + * inferior.h (fetch_inferior_event): Change parameter to void*. + * infrun.c (fetch_inferior_event): Ditto. + +1999-09-13 Stan Shebs + + * infrun.c (step_into_function): New function, broken out from the + step_into_function label in handle_inferior_event. + (handle_inferior_event): Change a goto into a function call. + +1999-09-13 Elena Zannoni + + * event-top.h: New file. All the exported vars and functions from + event-top.c. + + * event-loop.h (struct gdb_event, event_handler_func, + file_handler, async_signal_handler, SELECT_MASK, fd_mask, NBBY, + FD_SETSIZE, howmany, NFDBITS, MASK_SIZE): Move to event-loop.c. + (struct prompts, PROMPT, PREFIX, SUFFIX, display_gdb_prompt, + async_init_signals, set_async_editing_command, + set_async_annotation_level, set_async_prompt, handle_stop_sig, + handle_sigint, pop_prompt, push_prompt, gdb_readline2, + mark_async_signal_handler_wrapper, async_request_quit, + async_command_editing_p, exec_done_display_p, + async_annotation_suffix, new_async_prompt, the_prompts, + call_readline, input_handler, input_fd): Move to event-top.h. + (All function prototypes): Don't use PARAMS anymore. + + * event-loop.c: (struct gdb_event, event_handler_func, + file_handler, async_signal_handler, SELECT_MASK, fd_mask, NBBY, + FD_SETSIZE, howmany, NFDBITS, MASK_SIZE): Move to here from + event-loop.h. + Include event-top.h. Remove use of PARAMS. ANSIfy functions headers. + + * event-top.c: Include event-top.h. Include "signals.h", not + . + Remove use of PARAMS. ANSIfy functions headers. + (handle_stop_sig): move prototype to event-top.h. + + * remote.c: Include event-top.h. Make it understand + async_signal_handler type. + * infrun.c: Include event-top.h. + * mi-main.c: Ditto. + * top.c Ditto. + * utils.c: Ditto. + +Mon Sep 13 18:54:05 1999 Andrew Cagney + + * gdbarch.sh: Describe each of the fields. + +Mon Sep 13 17:51:28 1999 Andrew Cagney + + From 1999-09-12 Jim Blandy : + * gdbarch.sh (generating setters): Use sed to generate the proper + indentation, not tr; tr's behavior is notoriously unportable. + +1999-09-10 Jim Blandy + + * i387-tdep.c (print_387_control_bits): Don't print newline; the + callers take care of that. (Thanks to H.J. Lu.) + +1999-09-09 Stan Shebs + + * d10v-tdep.c (DMEM_START): Set to 0x2000000. + (itrace, iuntrace, info itrace, itdisassemble, itracedisplay, + itracesource): Add 'i' prefix to commands, so as not to conflict + with generic trace commands. + +1999-09-09 Fernando Nasser + + * remote.c (_initialize_remote): Fix the specification of the + "remote" prefix to set and show commands. + +1999-09-09 Fernando Nasser + + * command.c (print_doc_line): Update to use ui_out. + (do_setshow_command): Ditto. + (cmd_show_list): Ditto. + +1999-09-09 Elena Zannoni + + * event-loop.c (create_file_event): New function. Creates a gdb + event for a given fd. + (gdb_wait_for_event): Use create_file_event(). + * event-loop.h: export create_file_event(). + + * event-loop.c (delete_file_handler): Move the clearing of the + mask to later on in the function, because we need it in order to + deactivate the correct fd when using select(). + + * m32r-tdep.c (decode_prologue): Fix typo. Instructions starting + with 0xf are branch instructions. + (m32r_scan_prologue): Initialize framesize to 0. + +1999-09-07 J.T. Conklin + + * i386-stub.c (exceptionHook, oldExceptionHook): Removed. + (handle_exception): Removed #if'd out exception hook code. + + * i386-stub.c, m68k-stub.c (error): Removed unused variable. + + * i386-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c, + sparcl-stub.c, sparclet-stub.c (remcomInBuffer, remcomOutBuffer): + Make static. + +Tue Sep 7 14:06:22 1999 Kevin Buettner + + * config/i386/tm-linux.h (SOFUN_ADDRESS_MAYBE_MISSING): + Define. + +Tue Sep 7 08:18:01 1999 Kevin Buettner + + From Jim Blandy : + + Step into calls to functions in shared libraries properly. See + the comments for SKIP_SOLIB_RESOLVER atop infrun.c for details. + * infrun.c (SKIP_SOLIB_RESOLVER): New macro. + +1999-09-05 Fred Fish + + * elfread.c (elf_symtab_read): Remove separately passed bfd + pointer and offset. Pick up bfd pointer from objfile, and + get offset from objfile's section_offsets. + +Fri Sep 3 22:29:39 1999 Kevin Buettner + + * config/i386/tm-linux.h (REGISTER_NAMES): Changed register + named "foo" to "fopo" which more accurately describes the FPU + Operand Pointer Offset. The real reason for this change, of + course, is that many programmers use $foo as a convenience + variable and are likely to be unpleasantly surprised to find + that they're unwittingly changing the state of their ia32 FPU. + +1999-09-03 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (monitor_supply_register): Stop scanning val string + if a newline is encountered. + +1999-09-03 Jason Molenda (jsm@bugshack.cygnus.com) + + monitor.c (TARGET_BUF_SIZE): New macro, defined to 2048. + (monitor_expect_regexp, monitor_wait, monitor_dump_reg_block, + monitor_dump_reg_block): Dump hard-coded constants in favor + of TARGET_BUF_SIZE. + + (readchar): Re-enable output of characters read from monitor when + remotedebug is set. + + (monitor_supply_register): Use ULONGEST to hold value. + Replace strtoul() call with hand-coded loop to handle values + larger than 'long'. + + (monitor_store_register): Use ULONGEST to hold value. + +Fri Sep 3 00:47:44 1999 Kevin Buettner + + [Merged linux/x86 floating point code from Bill Metzenthen, + Jim Blandy, Anthony Green, H. J. Lu, and possibly others. The + following remarks are Jim Blandy's.] + + * findvar.c (extract_floating): Call TARGET_EXTRACT_FLOATING, if + #defined. + (store_floating): Call TARGET_STORE_FLOATING, if #defined. + + * i386-tdep.c (i386_print_register, i386_do_registers_info): New + functions. + (i386_extract_return_value): GNU/Linux returns floating point + values in a floating point register too. + (set_disassembly_flavor): Add prototype. + (i386_extract_return_value): Use FPDATA_REGNUM, not FP0_REGNUM ( + which wasn't the first FP data register). + (i386_do_registers_info): Use FPSTART_REGNUM and FPEND_REGNUM as + the limits of the FPU-related registers. + (i386_extract_return_value): Tell GDB how to find return values + larger than four bytes. (Thanks to Paul N. Hilfinger for the bug + report.) + + * i387-tdep.c (print_387_control_word): Break out bit-splitting into... + (print_387_control_bits): New function. + (print_387_status_word): Break out bit-splitting into... + (print_387_status_bits): New function. + (i387_print_register, i387_float_info, i387_hex_float_input): New + functions. + (i387_extract_floating, i387_store_floating): New functions. + + * valprint.c (print_floating): Use macro TARGET_ANALYZE_FLOATING, + if it's #defined. Tolerate values of `nonnegative' other than + zero and one. + + * i386-linux-nat.c: New file. + * Makefile.in (ALLDEPFILES): Mention i386-linux-nat.c. + (i386-linux-nat.o): New rule, listing dependencies. + * config/i386/linux.mh (NATDEPFILES): Use i386-linux-nat.o, not + the plain i386v4-nat.o. + * config/i386/nm-linux.h (FETCH_INFERIOR_REGISTERS): Define. + * config/i386/xm-linux.h: Define HOST_I386. + + * config/i386/tm-linux.h (FP0_REGNUM): Replaced by... + (FPSTART_REGNUM, FPCONTROL_REGNUM, FPSTATUS_REGNUM, FPTAG_REGNUM, + FPDATA_REGNUM, FPEND_REGNUM): New definitions. + (REGISTER_BYTES): Changed accordingly. + (SKIP_SOLIB_RESOLVER): #define this. + (i386_linux_skip_solib_resolver): New declaration. + (i387_float_info): Added extern decl for this function. + (TARGET_EXTRACT_FLOATING, TARGET_STORE_FLOATING, + TARGET_ANALYZE_FLOATING): Define. + (i387_extract_floating, i387_store_floating): New extern decls. + (I386_GNULINUX_TARGET): Define. + (NUM_REGS, NUM_FREGS, REGISTER_NAMES, FP0_REGNUM, FPDATA_REGNUM, + FPENV_BYTES, FPREG_RAW_SIZE, FPREG_BYTES, REGISTER_BYTES, + REGISTER_BYTE, REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE, + MAX_REGISTER_RAW_SIZE, MAX_REGISTER_VIRTUAL_SIZE, + TARGET_LONG_DOUBLE_BIT, FLOAT_INFO, DO_REGISTERS_INFO): New + definitions, perhaps overriding those inherited from + config/i386/tm-i386.h. + (i386_do_registers_info, i387_print_register, double_to_i387, + i387_to_double): New declarations. + (LD_I387): Define iff both the host and target are using i387 + FPU's. + (HEX_FLOAT_INPUT, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, + REGISTER_VIRTUAL_TYPE): Define these if LD_I387 is defined. + + * source.c (list_command): List the right number of source lines, + even if we're at the top of the file. + +1999-09-02 Stan Shebs + + * infrun.c (step_over_function): New function, broken out from the + step_over_function label in handle_inferior_event. + (handle_inferior_event): Change a goto into a function call. + +Thu Sep 2 18:26:04 1999 Andrew Cagney + + * Makefile.in (GDB_WERROR_CFLAGS, GBB_WARN_CFLAGS): Define. + (INTERNAL_CFLAGS): Update + * configure.in (WERROR_CFLAGS, WARN_CFLAGS): Sync with + ../sim/common/aclocal.m4. + * configure: Re-generate. + +Thu Sep 2 00:27:36 1999 Andrew Cagney + + * Makefile.in (z8k-tdep.o): For moment, don't try to compile with + -Werror. See Makefile.in. + * z8k-tdep.c (z8k_set_pointer_size): Document problem. + + * config/z8k/tm-z8k.h (z8k_print_register_hook, z8k_frame_chain, + z8k_saved_pc_after_call, z8k_frame_saved_pc, + z8k_set_pointer_size): Declare. + (z8k_skip_prologue): Fix typo. Was mz8k_skip_prologue. + (FRAME_CHAIN, PRINT_REGISTER_HOOK, FRAME_SAVED_PC, + SAVED_PC_AFTER_CALL): Update. + * z8k-tdep.c (z8k_print_register_hook): Rename + z8k_print_register_hook. + (z8k_frame_chain): Rename frame_chain. + (z8k_saved_pc_after_call): Rename saved_pc_after_call. + (z8k_frame_saved_pc): Rename frame_saved_pc. + (z8k_print_register_hook): Fix printf. + (read_memory_pointer): Add declaration. + ("value.h"): Include. + * Makefile.in (z8k-tdep.o): Add dependency on value.h. + + * config/sparc/tm-sparc.h (PRINT_EXTRA_FRAME_INFO): Fix + printf. calls + * Makefile.in (remote-e7000.o): For moment, don't try to compile + with -Werror. See Makefile.in. + * sh-tdep.c (sh_show_regs): Fix printf calls. + * xcoffsolib.c (solib_info): Fix Printf calls. + * dink32-rom.c: #include "symfile.h" for generic_load and + "inferior.h" for write_pc. + * Makefile.in (dink32-rom.o): Update. + + * config/mn10300/tm-mn10300.h (mn10300_store_struct_return), + config/mn10200/tm-mn10200.h (mn10200_store_struct_return): Add + declarations. + +Tue Aug 31 00:48:27 1999 Andrew Cagney + + * config/mips/tm-tx49el.h (REGISTER_SIM_REGNO): Define. + + * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register): + Pass REGISTER_SIM_REGNO converted register number to the + simulator. + +1999-09-01 Tom Tromey + + * config/i386/nm-linux.h (PREPARE_TO_PROCEED): Added argument. + +1999-09-01 Elena Zannoni + + * values.c (value_virtual_fn_field): Remove unused var(s). + * thread.c (prune_threads): Ditto. + * symtab.c (lookup_transparent_type): Ditto. + (decode_line_1): Ditto. + (make_symbol_overload_list): Ditto. + * rs6000-tdep.c (frame_get_saved_regs): Ditto. + (set_processor): Ditto. + * remote.c (remote_remove_breakpoint): Ditto. + (remote_query): Ditto. + (readtty): Ditto. + * remote-sds.c (sds_fetch_registers): Ditto. + (putmessage): Ditto. + * ppcbug-rom.c (ppcbug_supply_register): Ditto. + (ppcbug_open): Remove unused prototype. + * parse.c (parse_nested_classes_for_hpacc): Remove unused var(s). + * ocd.c (ocd_open): Ditto. + (ocd_get_packet): Ditto. + * monitor.c (monitor_error): Ditto. + (monitor_wait_srec_ack): Ditto. + * main.c (main): Ditto. + * gdbtypes.c (count_virtual_fns): Ditto. + * exec.c (exec_file_command): Ditto. + + * event-top.c: Include handle_sigwinch() function prototype within + appropriate #ifdef. + + * eval.c (evaluate_subexp_standard): Remove unused variable. + (evaluate_subexp_standard): Remove unused variables. + * dink32-rom.c (dink32_supply_register): Remove unused variable. + * dbxread.c (elfstab_build_psymtabs): Ditto. + * command.c (do_setshow_command): Ditto. + * breakpoint.c (solib_load_unload_1): Remove unused variables 'i' + and 'sal'. + (until_break_command): Remove unused variables 'arg1' and 'arg2'. + (create_exception_catchpoint): Remove unused variable 'i'. + * ax-gdb.c (gen_sub): Remove unused variable. + (_initialize_ax_gdb): Ditto. + + * ser-pipe.c (pipe_readchar): If timeout is expired return + SERIAL_TIMEOUT. + * ser-tcp.c (tcp_readchar): If timeout is expired return + SERIAL_TIMEOUT. + +Wed Sep 1 15:07:25 1999 Andrew Cagney + + * version.h: New file. + * Makefile.in (version_h): Define. + (version.o): Add target. + + * remote-array.c: #include "version.h". + (version): Delete extern declarations. + * Makefile.in (remote-array.o): Add dependency on version.h. + + * top.c: #include "version.h". + (version, host_name, target_name): Delete extern declarations. + * Makefile.in (top.o): Add dependency on version.h. + + * remote.c (remote_remove_watchpoint, remote_insert_watchpoint), + remote-array.c (array_open), remote-mips.c (send_srec), + dve3900-rom.c (store_bitmapped_register): Fix Printfs. + + * mips-tdep.c (mips_print_extra_frame_info, print_unpack), + m32r-rom.c (m32r_load_section), m32r-tdep.c (m32r_frame_chain), + dsrec.c (load_srec): Fix printf problems. + +Wed Sep 1 13:16:49 1999 Andrew Cagney + + * Makefile.in (monitor.o): For moment, don't try to compile with + -Werror. monitor.c has -Wformat problems. See Makefile.in for + more info. + +Tue Aug 31 21:23:38 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (prologue_inst_adjust_sp): Correct offset computation + for doubleword store instructions. + (hppa_frame_find_saved_regs): Similarly. + +Wed Sep 1 09:22:50 1999 Andrew Cagney + + * d30v-tdep.c (d30v_print_register): + (tdisassemble_command): + + * d10v-tdep.c (show_regs, trace_info, tdisassemble_command): Fix + printf problems. + + * remote-sim.c (dump_mem), remote-rdi.c (arm_rdi_create_inferior): + Fix printf arguments. + + * remote-mips.c, mips-tdep.c: Move declaration of + ``mips_set_processor_type_command'' from here. + * config/mips/tm-mips.h: To here. + * remote-array.c: #include "inferior.h". + * config/mips/tm-embed.h (remote_mips_stopped_by_watchpoint): Add + declaration. + * remote-mips.c (remote_mips_stopped_by_watchpoint): Define using + ISO-C prototype. + (monitor_supports_breakpoints): Integer variable. + + * m32r-rom.c: #include "inferior.h" and + * config/m32r/tm-m32r.h (m32r_write_sp): Add declaration. + + * config/i960/tm-i960.h (leafproc_return, i960_pop_frame): Add + declaration. + (POP_FRAME): Call i960_pop_frame. + * i960-tdep.c (i960_pop_frame): Rename pop_frame. + * mon960-rom.c: #include "inferior.h" for declaration of write_pc. + +1999-08-15 Fred Fish + + * objfiles.c (objfile_relocate): Use SIZEOF_SECTION_OFFSETS when + allocating section_offsets array. + * remote-os9k.c (rombug_wait): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * remote.c (get_offsets): Ditto. + (remote_cisco_objfile_relocate): Ditto. + * rs6000-nat.c (vmap_symtab): Ditto. + + * dstread.c (dst_symfile_offsets): Set section_offsets directly instead + of returning a pointer to section offsets. + * somread.c (som_symfile_offsets): Ditto. + * xcoffread.c (xcoff_symfile_offsets): Ditto. + * symfile.c (default_symfile_offsets): Ditto. + (syms_from_objfile): The sym_offsets function has already set section + offsets and no longer returns a value. + + * xcoffread.c (scan_xcoff_symtab): Eliminate section_offsets passed + separate from objfile. + (xcoff_start_psymtab): Ditto. + (START_PSYMTAB): Ditto. + * os9kread.c (read_minimal_symbols): Ditto. + (read_os9k_psymtab): Ditto. + (os9k_start_psymtab): Ditto. + (record_minimal_symbol): Ditto. + * dbxread.c (START_PSYMTAB): Ditto. + (start_psymtab): Ditto. + * mdebugread.c (START_PSYMTAB): Ditto. + (elfmdebug_build_psymtabs): Ditto. + (mdebug_build_psymtabs): Ditto. + (parse_partial_symbols): Ditto. + (new_psymtab): Ditto. + * dwarfread.c (dwarf_build_psymtabs): Ditto. + * partial-stab.h (START_PSYMTAB): Ditto. + * stabsread.h (start_psymtab): Ditto. + * dwarf2read.c (dwarf2_build_psymtabs): Ditto. + (dwarf2_build_psymtabs_easy): Ditto. + (dwarf2_build_psymtabs_hard): Ditto. + * hp-psymtab-read.c (hpread_build_psymtabs): Ditto. + (hpread_quick_traverse): Ditto. + (hpread_start_psymtab): Ditto. + (scan_procs): Ditto. + * hpread.c (hpread_build_psymtabs): Ditto. + * symfile.h (dwarf2_build_psymtabs): Ditto. + + * dbxread.c (read_dbx_symtab): Use ANOFFSET to access section + offsets. + * coffread.c (enter_linenos): Pass objfile instead of section + offsets. + + * dbxread.c (dbx_symfile_read): No need to explicitly pass + text addr and size. Let read_dbx_symtab find them. + (read_dbx_symtab): Get text addr and size from objfile. + (dbx_symfile_read): Remove dead code (call to strlen); + +1999-08-31 Michael Snyder + + * Makefile.in: add rule for sol-thread.o. + Add rule for linux-thread.o. + +1999-08-13 Jim Kingdon + + Threads code from gdb 4.18-codefusion-990706 + [Thanks to Eric Paire, H. J. Lu, Jim Blandy and others] + * infrun.c (signal_stop_update, signal_print_update, + signal_pass_update): new functions. + * inferior.h: new prototypes for above functions. + * target.h (enum strata): add thread stratum. + * linux-thread.c: new file. Support for debugging linux threads. + * config/i386/nm-linux.h: several new prototypes for above. + * config/i386/linux.mh: add linux-thread.o to NATDEPFILES. + + More threads code from the same place: + * config/i386/tm-linux.h (REALTIME_LO, REALTIME_HI): Add + definitions. + * target.h (enum target_signal): Add TARGET_SIGNAL_REALTIME_32. + * target.c (signals, target_signal_from_host, + target_signal_to_host): Add clauses for + TARGET_SIGNAL_REALTIME_32. + +1999-08-31 Neil Schellenberger + + * sol-thread.c (sol_thread_detach): strip thread-id out of + inferior_pid, so that procfs_detach can't choke on it. + +1999-08-31 J.T. Conklin + + * i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c, + sparcl-stub.c, sparclet-stub.c (getpacket): Remove 'buffer' arg, + define it as a pointer to &remcomInBuffer[0]. + (handle_exception): Update. + + * sparc-stub.c, sparcl-stub.c, sparclet-stub.c (handle_exception): + Removed #ifdef'd out code which implements the non-standard 'b' + (set baud rate) command. + +1999-08-31 Stan Shebs + + * infrun.c (keep_going): New function, broken out from the + keep_going label in handle_inferior_event. + (handle_inferior_event): Change more gotos into function calls. + +Tue Aug 31 02:29:27 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (read_unwind_info): Handle multiple unwind sections. + +Tue Aug 31 15:28:44 1999 Andrew Cagney + + * config/alpha/tm-alpha.h (PRINT_EXTRA_FRAME_INFO): Fix printf + format argument. + * alpha-tdep.c (heuristic_proc_start): Ditto. + + From Stan Shebs : + * defs.h (strlen_paddr): Fix prototype - add void argument list. + +Tue Aug 31 14:02:12 1999 Andrew Cagney + + * defs.h (gdb_print_host_address), utils.c + (gdb_print_host_address): Rename gdb_print_address. + + * expprint.c, gdbtypes.c, symmisc.c: Update. + + *expprint.c: Use gdb_print_host_address when displaying native + pointers. + +Sat Aug 28 14:23:29 1999 Andrew Cagney + + * scm-valprint.c (scm_ipruk), jv-valprint.c (java_value_print), + cp-valprint.c (cp_print_class_member), exec.c (exec_files_info), + remote.c (putpkt_binary, compare_sections_command, + remote_cisco_section_offsets), dcache.c (dcache_info), + breakpoint.c (break_at_finish_at_depth_command_1, + break_at_finish_command_1), symfile.c (generic_load), + (report_transfer_performance), top.c (get_prompt_1), f-valprint.c + (f_val_print), maint.c (maintenance_translate_address): Fix printf + -Wformat warnings. Use paddr, paddr_nz, sizeof_paddr, paddr_u and + paddr_d to print addresses. Change ``d'' to ``ld''. + + * utils.c (strlen_paddr): New function. + +Tue Aug 31 01:36:44 1999 Andrew Cagney + + * config/d30v/tm-d30v.h (d30v_frame_chain, + d30v_init_frame_pc): Add declaration. + + * arc-tdep.c (arc_pop_frame): Rename pop_frame. + (arc_push_dummy_frame): Rename push_dummy_frame. + (arc_set_cpu_type_command): Add declaration. + + * config/arc/tm-arc.h (arc_pop_frame, arc_push_dummy_frame): Add + declaration. + +1999-08-30 Stan Shebs + + * infrun.c (prepare_to_wait): New function, broken out from the + wfi_continue label in handle_inferior_event. + (handle_inferior_event): Change more gotos into function calls. + +1999-08-30 Michael Snyder + + * tracepoint.c: -Wall warning cleanup. + (parse_and_eval_memrange): remove (unused). + (output_command, args_info, locals_info, registers_info): add decls. + (getpkt, putpkt, remote_console_output): add decls. + (isalnum, isspace): cast arg to avoid warning. + (printf, fprintf, sprintf): use [fs]printf_vma for printing addrs. + +Mon Aug 30 21:47:58 1999 Andrew Cagney + + * d10v-tdep.c: #include "language.h". + +Mon Aug 30 20:38:57 1999 Andrew Cagney + + * configure.in (AC_CHECK_HEADERS): Check for . + * configure, acconfig.in: Re-generate. + + * remote-rdp.c: #include + + * config/arm/tm-arm.h (arm_float_info): Add declaration. + + * arm-tdep.c (convert_from_extended, convert_to_extended): Change + double ptr arg to void ptr arg. + + * config/arm/tm-arm.h (arm_frameless_function_invocation): Add + declaration. + (arm_frame_find_saved_regs): Rename frame_find_saved_regs. + (convert_from_extended, convert_to_extended): Add declaration. + +Mon Aug 30 19:05:32 1999 Andrew Cagney + + * configure.in (WERR_CFLAGS): Separate the -Werror flag. + * configure: Re-generate. + + * Makefile.in (INTERNAL_CFLAGS): Re-define using + INTERNAL_WARN_CFLAGS. + (INTERNAL_WARN_CFLAGS): Define. Leave off WERR_CFLAGS. + (tracepoint.o): Add explicit rule. + (WERR_CFLAGS): Add definition. + +Mon Aug 30 17:52:17 1999 Andrew Cagney + + * utils.c: #include "event-loop.h" for declaration of + async_request_quit. + * Makefile.in (utils.o): Add dependency on event-loop.h. + + * event-top.c (mark_async_signal_handler_wrapper, + async_request_quit): Move declaration from here. + * event-loop.h: To here. + + * defs.h: Add declaration of exec.c:exec_set_section_offsets. + + * event-top.c: #include "gdbcmd.h" which includes "command.h" and + hence expose declaration of function dont_repeat. + + * top.c (ISATTY), tracepoint.c (ISATTY), utils.c (ISATTY), + event-top.c (ISATTY): Move definitions from here. + * defs.h (ISATTY): To here. #include . + + * sol-thread.c, solib.c, source.c, sparcl-tdep.c, tracepoint.c, + utils.c, win32-nat.c, wince.c, top.c, symfile.c, ser-unix.c, + ser-tcp.c, procfs.c, maint.c, infttrace.c, hppa-tdep.c, + ser-pipe.c, remote-rdp.c, main.c, inftarg.c, inflow.c, + hpux-thread.c, hp-psymtab-read.c, go32-nat.c, fork-child.c, + corelow.c, command.c: Do not #include , moved to defs.h. + +Mon Aug 30 15:14:43 1999 Andrew Cagney + + * defs.h (struct tui_stream, enum streamtype): Move from here. + * utils.c: To here. + + * main.c (tui_file_fputs): Move from here. + * utils.c: To here. + +Sun Aug 29 10:03:32 1999 Andrew Cagney + + * gdb-events.h, gdb-events.c, gdb-events.sh: New files. + +1999-08-27 Michael Snyder + + * solib.c (open_symbol_file_object): new function. + Called when attaching to a new process, if there is no loaded + symbol file. Attempts to locate the executable file for the + attached process and load symbols from it. + (solib_add): Call open_symbol_file_object if attaching to a + new process and no open symbol file. + +1999-08-27 Jason Molenda (jsm@bugshack.cygnus.com) + + * config/i386/tm-sun386.h (GDB_TARGET_IS_SUN386): Definition + removed--no longer checked anywhere in gdb. + +1999-08-27 Stan Shebs + + * infrun.c (stop_stepping): New function, broken out from + stop_stepping label in handle_inferior_event. + (handle_inferior_event): Change gotos into function calls. + +Fri Aug 27 20:13:22 1999 Andrew Cagney + + * defs.h (LONGEST): Move definition to earlier in file - to just + after BFD. + (paddr_u, paddr_d): Declare. + * utils.c (decimal2str): New function. + (paddr_u, paddr_d): Define. + + * remote.c (remote_cisco_section_offsets, + compare_sections_command): Fix XprintfX arguments. Use paddr... + (putpkt_binary): Fix XprintfX arguments. + +Tue Aug 24 21:30:36 1999 Andrew Cagney + + * arm-tdep.c (arm_init_extra_frame_info): Add braces. Recommended + by gcc -Wparentheses. + +1999-08-26 Stan Shebs + + * infrun.c (check_sigtramp2): New function, broken out from + check_sigtramp2 label in handle_inferior_event. + (handle_inferior_event): Change gotos into function calls. + + Declare Tahoe configuration obsolete. + * configure.host, configure.tgt: Comment out Tahoe configs. + * Makefile.in: Comment out Tahoe-related action. + * tahoe-tdep.c, config/tahoe/*: Comment out. + * NEWS: Mention obsolete status. + +1999-08-26 J.T. Conklin + + * i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sh-stub.c, + sparc-stub, sparcl-stub.c sparclet-stub.c (getpacket): If '$', + the packet start character is received in the 'middle' of a + packet, assume that packet end character has been lost and + start a new packet. + + * i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c, + sparcl-stub.c sparclet-stub.c (getpacket): Changed to return ptr + to first character of input buffer. Removed & 0x7f masks. + (handle_exception): Don't access remcomInBuffer directly. + +1999-08-25 Stan Shebs + + * breakpoint.c (disable_breakpoints_in_shlibs): Only disable + enabled breakpoints. + +Tue Aug 24 14:59:23 1999 Andrew Cagney + + * tracepoint.c, remote.c, pa64solib.h, value.h, somsolib.h, + solib.h, scm-lang.h, language.h, inferior.h, defs.h, coff-solib.h, + ch-lang.h, breakpoint.h, annotate.h: Remove #if __STDC__ wrapping + struct declarations. + + * config/sparc/nm-sun4sol2.h, config/mn10300/tm-mn10300.h, + config/mn10200/tm-mn10200.h, config/i386/tm-i386.h, + config/i386/tm-i386v.h, config/i386/nm-i386sol2.h, + config/pa/nm-hppah.h, config/rs6000/nm-rs6000.h, + config/sparc/tm-sp64.h, config/v850/tm-v850.h, + config/tic80/tm-tic80.h, config/sparc/tm-sparc.h, + config/sh/tm-sh.h, config/rs6000/tm-rs6000.h, config/pa/tm-hppa.h, + config/mips/tm-mips.h, config/m68k/tm-m68k.h, + config/m32r/tm-m32r.h, config/i960/tm-mon960.h, + config/fr30/tm-fr30.h, config/h8300/tm-h8300.h, + config/arm/tm-arm.h, config/alpha/tm-alpha.h, + config/a29k/tm-a29k.h: Ditto. + +Wed Aug 25 10:45:33 1999 Andrew Cagney + + * Makefile.in (gdb$(EXEEXT)): Add dependency on TDEPLIBS. + + * config/arm/arm.mt (TDEPLIBS): Define. Move libangsd.a to here. + (TDEPFILES): From here. + +1999-08-24 Elena Zannoni + + * top.c (init_main): Add new set/show command exec-done-display, + default value is off. + * event-loop.h: Export exec_done_display_p. + * event-top.c: New variable exec_done_display_p. + * infrun.c (complete_execution): Print completion message if + corresponding flag is set. + + * top.c (DEFAULT_PROMPT): Add space after "(gdb)" at end of prompt. + + From: J.T. Conklin + * top.c (DEFAULT_PROMPT): Set to "(gdb)" if not already defined. + (init_main): Always use DEFAULT_PROMPT. + +Tue Aug 24 03:23:31 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c: Remove useless "purecov: deadcode" comments. + (hppa_use_struct_convention): Update for PA64. + (hppa_frame_saved_pc): Properly extract the saved PC in a call + dummy frame. + (in_solib_call_trampoline): Return nonzero if we are in a function + called ".stub". + (prologue_inst_adjust_sp): Handle std,ma. + (skip_prologue_hard_way): Handle more PA2.0/PA64 insns. + (hppa_frame_find_saved_regs): Similarly. Handle indirect save of + %r3 into the stack. + + * config/pa/tm-hppa64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Define. + (CALL_DUMMY_BREAKPOINT_OFFSET): Define. + +Tue Aug 24 14:59:23 1999 Andrew Cagney + + * Makefile.in (gdb$(EXEEXT)): Add dependency on main.o that was + lost when libgdb.a was added. + +Tue Aug 24 14:26:34 1999 Andrew Cagney + + * gdbarch.c, gdbarch.h: Convert to pure ISO-C. + + * gdbarch.sh: New file. + * gdbarch.c, gdbarch.h: Add note describing gdbarch.sh + +Mon Aug 23 19:36:17 1999 Andrew Cagney + + * Makefile.in (libgdb.a): New target. + (gdb$(EXEEXT)): Add dependency on libgdb.a. + (libgdb-files, LIBGDB_OBS, libgdb, LIBGDBDEPS, LIBGDBFILES): Delete. + +Mon Aug 23 10:16:32 1999 Jeffrey A Law (law@cygnus.com) + + * infttrate.c (child_pid_to_exec_file): Find the correct base + of the stack for PA64. + + * pa64solib.c: Fix some minor whitespace problems. + (bfd_lookup_symbol): New function. + (pa64_solib_create_inferior_hook): Find the address __dld_break + in the dynamic linker. Try to set a shlib event breakpoint in + that function. + (add_to_solist): Do not add the same shared library to the shlib + list more than once. + +Sun Aug 22 14:49:40 1999 Andrew Cagney + + * value.h (enum lval_type): Move declaration from here. + * defs.h (enum lval_type): To here. + * frame.h, gdbarch.h: Delete incomplete declaration of ``enum + lval_type''. + +1999-08-20 Michael Snyder + + * breakpoint.c (can_use_hardware_watchpoint): reject expressions + that refer to registers or register variables. + +Fri Aug 20 10:53:38 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (hppa_fix_call_dummy): Provide PA2.0W aware code. + + * pa64solib.c pa64solib.h: New files. + + * config/pa/hppa64.mt: Delete commented out code that is and + never will be appropriate for this target. + * config/pa/hpux11w.mt (TDEPFILES): Remove SOM references. Also + remove pa64solib.o. + * config/pa/hpux11w.mh (NATDEPFILES): Remove SOM references. + + * configure.host; Use "hpux11w" and "hpux11" instead of + "hpux1100w" and "hpux1100" respectively + * config/pa/hpux11w.mh: Renamed from hpux1100w.mh. + * config/pa/hpux11w.mt, config/pa/hpux11.mh: Likewise. + * config/pa/hpux11.mt: Likewise. + +1999-08-19 Michael Snyder + + * breakpoint.h (target_hw_bp_type): new enum. + * breakpoint.c (insert_breakpoints): use enum instead of consts. + (remove_breakpoint): use enum instead of consts. + (throughout): use "warning" instead of "fprintf(stderr, ..." + [Also clean up a bunch of excessively long lines.] + +1999-08-19 J.T. Conklin + + * i386-stub.c (waitabit): Removed. + (breakpoint): Update. + + * i386-stub.c, m32r-stub.c, sparc-stub.c, sparcl-stub.c, + sparclet-stub.c (set_debug_traps): Don't send gratuitous ACK. + + * m68k-stub.c (putpacket): Restore code so that packets are sent + until an ACK is received. + +1999-08-19 Eli Zaretskii + + * breakpoint.c (bpstat_stop_status): Accept triggered addresses + anywhere inside the region occupied by a watched variable as a + sign that the watchpoint fired. Don't stop if some watchpoint + was triggered, but its address doesn't match the address of this + watchpoint. + (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New macro. + Default definition is to call TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT. + (can_use_hardware_watchpoint): Call TARGET_REGION_OK_FOR_HW_WATCHPOINT; + if it returns zero, return zero immediately. + (insert_breakpoints): Try to insert watchpoints for all the values + on the value chain, even if some of them fail to insert. Remove + the breakpoint if parts of its value chain couldn't be inserted. + +1999-08-19 Eli Zaretskii + + * go32-nat.c (go32_stopped_by_watchpoint): Remove unused code. + +1999-08-19 Eli Zaretskii + + * go32-nat.c (tcgetpgrp, tcsetpgrp): New functions. + +1999-08-19 Eli Zaretskii + + * go32-nat.c (go32_wait): If we are in a single-step mode, and the + next instruction is INT nn or INTO, use a temporary breakpoint to + simulate single-step mode, and reset the trace flag. + +1999-08-19 Eli Zaretskii + + * go32-nat.c (wp_op): New typedef. + (SHOW_DR): Print the length of watched region as well. + (go32_insert_aligned_watchpoint): Remove unused argument PID. All + callers and the prototype changed. + (go32_handle_nonaligned_watchpoint): Renamed from + go32_insert_nonaligned_watchpoint. Now handles all operations on + non-aligned watchpoints: insertion, deletion, and counting. If + called with wp_count as the first argument, return the count of + debug registers needed to watch the region. Don't break out of + the loop before all the addresses in the region are processed. + (go32_remove_watchpoint): Call go32_remove_aligned_watchpoint to + do the actual work. + (go32_remove_aligned_watchpoint): New function, modeled after + go32_insert_aligned_watchpoint. Removes watchpoints that watch + regions of arbitrary length by calling + go32_handle_nonaligned_watchpoint as needed. + (go32_region_ok_for_watchpoint): New function, called from + can_use_hardware_watchpoint via the new macro + TARGET_REGION_OK_FOR_HW_WATCHPOINT. + + * config/i386/nm-go32.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): + Define to call go32_region_ok_for_watchpoint. + (DECR_PC_AFTER_HW_BREAK): Define back to zero (previous redefinition + to 1 was due to a bug in go32-nat.c). + +1999-08-19 Eli Zaretskii + + * go32-nat.c (cleanup_dregs): New function. + (go32_mourn_inferior): Call it. + (IS_REG_FREE, LOCAL_ENABLE_REG, GLOBAL_ENABLE_REG, DISABLE_REG, + SET_BREAK, SET_WATCH, IS_WATCH, WATCH_HIT): Protect arguments with + parentheses. + (SET_BREAK): Increment the debug register's reference count. + (DR_DEF): New macro, returns the access and length bits of the + breakpoint. + (SHOW_DR): Print the reference count of each register. Disable or + enable print-out depending on an environment variable GDB_SHOW_DR. + (go32_insert_aligned_watchpoint): Look for an occupied debug + register with the same address and access/length bits, and reuse + it by incrementing reference the count, before occupying another + register. Return zero upon success. + (go32_insert_nonaligned_watchpoint): Pass the read/write bits to + go32_remove_watchpoint. + (go32_remove_watchpoint): Accept an additional parameter: the + read/write bits of the watchpoint to remove, and only remove a + watchpoint if it's occupied and its address and read/write bits + match. Only disable the register if its reference count is zero; + otherwise just decrease the reference count. + (go32_remove_hw_breakpoint): Only decrease reference count and + disable the debug register if it is occupied and its access bits + match those of an instruction breakpoint. + (go32_insert_hw_breakpoint): Before occupying another debug + register, look for an already occupied register that defines an + instruction breakpoint with the same address. If found, increment + its reference count. Call SHOW_DR even if failed to insert a + breakpoint. + + * config/i386/nm-go32.h (target_remove_watchpoint): Accept the + TYPE argument as well. + +Wed Aug 18 17:47:25 1999 Andrew Cagney + + * mips-tdep.c: Add more comments. + +1999-08-17 Stan Shebs + + * blockframe.c: Don't use PARAMS anymore, remove obsolete comment + about frameless functions. + +1999-08-16 Michael Snyder + + * thread.c (delete_thread): delete any step_resume breakpoint + held by the thread. (prune_threads): call delete_thread. + * breakpoint.c (breakpoint_init_inferior): if startup, then + delete any remaining step_resume breakpoints. + * infrun.c (handle_inferior_event): add cautionary comment. + +1999-08-16 Fernando Nasser + + * remote.c (remote_async_mourn): New function. Async version of + remote_mourn(). + +1999-08-16 Eli Zaretskii + + * terminal.h [__GO32__]: Remove conditional; DJGPP now supports + termios. + +1999-08-16 Eli Zaretskii + + * command.c (CANT_FORK) [__MSDOS__]: Define. + (shell_escape) [CANT_FORK]: If ARG is NULL, pass an empty string + to `system'. + [__DJGPP__]: Return to the original directory after the shell + exits. + +1999-08-16 Eli Zaretskii + + * config/i386/xm-go32.h (ROOTED_P): Don't reference X[1] if X[0] + is a null character. + + * config/i386/nm-go32.h (DECR_PC_AFTER_HW_BREAK): Define to 1. + +1999-08-16 Eli Zaretskii + + * go32-nat.c (redir_cmdline_parse, redir_cmdline_delete, + redir_to_child, redir_to_debugger, redir_debug_init) + [__DJGPP_MINOR__ < 3]: Dummy stubs for redirecting debuggee's + standard handles. + (print_387_status): Print "last FP instruction", not "last + exception". Restore the upper 5 bits of the opcode that aren't + stored in the FPU state. Print the FPU stack in its physical + order, not relative to ST(0). Print "special", not "trap" for + unnormals and infinities. Print all 10 bytes of each FP register, + and print them with 19 significant digits. + (regno_mapping): Make the mapping consistent with tm-go32.h. + (sig_map): Add mappings for SIGQUIT, SIGFPE, SIGALRM. Map NMI to + SIGBUS. + (excep_map): New variable, maps GDB signals to DJGPP exceptions. + (go32_attach): Signal an error: we cannot attach to other + processes. + (go32_resume): Record the signal with which the inferior should be + resumed, mapped to the DJGPP exception number. + (go32_wait): Pass the signal recorded in go32_resume to the + debuggee. Save and restore debugger's and debuggee's current + working directory. + [__DJGPP_MINOR__ < 3]: Save and restore inferior's FPU state. + (store_register): FPU regsiters have numbers less than 31. + (go32_kill_inferior): Delete the parsed command-line storage. + (go32_create_inferior): Initialize the parsed command-line + storage. Parse the command line and create the redirections for + inferior's standard handles. + [__DJGPP_MINOR__ < 3]: Init the inferior's FPU state. + (ignore2): Function deleted. + (device_mode): New function, switches a character device between + raw and cooked mode. + (go32_terminal_init): Invalidate the raw/cooked mode information. + (go32_terminal_info): Print whether the inferior's terminal is in + raw or cooked mode. + [__DJGPP_MINOR__ > 2]: Say if standard handles are redirected or + closed by the inferior. + (go32_terminal_inferior): Switch standard handles to the + inferior's files/devices. Put the inferior's input device to + raw/cooked mode, exactly like we found it last time. + (go32_terminal_ours): Restore debugger's standard handles and put + the terminal into cooked mode. Save the mode of inferior's input + device. + (init_go32_ops): Assign go32_ops.to_attach, + go32_ops.to_terminal_info, go32_ops.to_terminal_ours_for_output. + Initialize inferior's cwd and the command-line storage. + +Mon Aug 16 14:29:30 1999 Jeffrey A Law (law@cygnus.com) + + * config/pa/tm-hppa.h (ARGS_GROW_DOWNWARD): Define. + * config/pa/tm-hppa64.h (ARGS_GROW_DOWNWARD): Undefine. + * hppa-tdep.c (hppa_push_arguments): Handle arguments growing in + both directions depending ARGS_GROW_DOWNWARD. + (hppa_find_saved_regs): Update for 64bit wide registers & pointers + and PA64 ABI. + + * hppa-tdep.c (hppa_pop_frame): Various fixes for 64bit wide + registers and pointers. + (hppa_fix_call_dummy, skip_trampoline_code): Likewise. + (restore_pc_queue): Update tests for width of memory loads. + (hppa_push_arguments): Delete version that was #if 0'd out. + + * hppa-tdep.c (push_dummy_frame): Handle the new 64it ABI. + (find_dummy_frame_regs): Corresponding changes. + + * hppa-tdep.c (read_unwind_info): Initialize obj_private->dp. + (internalize_unwinds): Improve test for when to use segment + relative code for unwinder bounds. + (rp_saved): Fix offset of saved return pointer for the 64bit ABI. + (hppa_frame_saved_pc): Various updates to handle 64bit registers + and pointers. + (frame_chain, restore_pc_queue): Likewise. + + * hppa-tdep.c (rp_saved): RP is saved at frame-16 when + pointers are 64bits wide. + + * hppa-tdep.c (record_text_segment_lowaddr): New function. + (internalize_unwinds): Use it if addressess are 8 bytes wide. + + * symfile.c (syms_from_objfile): No longer warn if the lowest + section does not have SEC_CODE set. + + * Makefile.in (pa64solib.o): Add dependencies. + + * hppah-nat.c (store_inferior_registers): Do not try to write a + nonzero value to the high part of IPSW. Fix typo in unable to store + warning. + + * config/pa/tm-hppa.h (opd_data structure): Delete. Not actually + needed. + (struct obj_private_struct): Add new entry for the objfile's DP + value. + * config/pa/tm-hppa64.h (CALL_DUMMY): Add a nop to make it an even + number of instructions. Pack the dummy into word sized hunks. + (CALL_DUMMY_LENGTH): Update appropriately. + (PC_IN_CALL_DUMMY, CALL_DUMMY_LOCATION_AFTER_TEXT_END): Delete. + +Mon Aug 16 19:08:19 1999 Andrew Cagney + + * configure.in: Try -lsocket when looking for socketpair. + * configure, config.h: Re-generate. + +1999-08-13 Elena Zannoni + + From Christopher Faylor : + + * event-loop.c (gdb_wait_for_event): Before going to wait for + another event with select or poll, flush the error and the output + streams. + + * event-top.c (gdb_readline2): Do not buffer the input, because + doing so can interfere with select/poll in bad ways. + +Fri Aug 13 17:36:56 1999 Eli Zaretskii + + * maint.c (maintenance_dump_me) [__DJGPP__]: Simulate a core dump + with SIGABRT. + * utils.c (quit) [__MSDOS__]: Don't mention SIGINT, since it's not + gonna happen. + (notice_quit): No need to define this function for the DJGPP port. + +1999-08-13 James Ingham + + * arm-tdep.c (arm_frameless_function_invocation): SKIP_PROLOGUE + macro no longer modifies its argument. Update uses to accord. + + * config/arm/arm.mt (TDEPFILES): Add the remote-rdi.o to the + TDEPFILES. + * configure.tgt: Add rdi-share to configdir for the Arm targets. + +Fri Aug 13 11:16:32 1999 Jeffrey A Law (law@cygnus.com) + + * hppah-nat.c (store_inferior_registers): Revamp to be PA2.0W + aware. + + * infttrace.c (ttrace_write_reg_64): New function. + + * hp-symtab-read.c (is_in_import_list): Delete extern declaration. + * somread.c (is_in_import_list): Delete function. + * objfiles.c (is_in_import_list): New function. + * objfiles.h (is_in_import_list): Declare. + + * config/pa/tm-hppa64.h (GDB_TARGET_IS_HPPA20W): Define before + including tm-hppah.h. + (PC_IN_CALL_DUMMY): Define. + (HPUX_1100): Similarly. + * config/pa/tm-hppa.h (somsolib.h, pa64solib.h): Conditionalize + includes on GDB_TARGET_IS_HPPA20W. + + * configure.host: Distinguish between wide and narrow modes + for hpux11. + * config/pa/hpux1100w.mh, config/pa/hpux1100w.mt: New files. + + * config/pa/tm-hppa64.h (STACK_ALIGN): Redefine. + (REG_PARM_STACK_SPACE): Likewise. + + * config/pa/tm-hppa.h (CLEAN_UP_REGISTER_VALUE): Handle 64bit + PA target correctly. + (REG_PARM_STACK_SPACE): Define. + (struct unwind_table_entry): region_start and region_end are + CORE_ADDRs. + (typedef opd_data): New. + (obj_private_data_t): Include pointer to opd_data structure. + +1999-08-13 Keith Seitz + + * stabsread.c (stabsread_clear_cache): New funciton which clears + an optimization cache of the reader. + + * coffread.c (coff_symfile_finish): Give stabs reader a chance to + clean up. + + * win32-nat.c (handle_load_dll): Don't suppress re-reading symbols + from a DLL if an objfile for it already exists. (Not that this should + happen anymore anyway...) + +1999-08-13 Keith Seitz + + * config/mcore/tm-mcore.h (SAVE_DUMMY_FRAME_TOS): Define for MCore, + which also requires that the stack pointer be saved for call + dummies BEFORE arguments get pushed onto it. + +1999-08-12 Stan Shebs + + From Eli Zaretskii : + * source.c (mod_path) [_WIN32 || __DJGPP__]: Don't remove trailing + slash from "d:/". Don't overstep the beginning of name. + [_WIN32 || __MSDOS__]: Convert "d:" to "d:.", otherwise appending + a slash changes its meaning. + (openp): Use SLASH_P, not equality with SLASH_CHAR. + (print_source_lines_base) [CRLF_SOURCE_FILES]: Skip \r only before + a \n. + (forward_search_command) [CRLF_SOURCE_FILES]: Remove \r at the end + of all lines. + (reverse_search_command) [CRLF_SOURCE_FILES]: Likewise. + + * gnu-regex.c (CHAR_CLASS_MAX_LENGTH): Don't use wide characters + unless HAVE_BTOWC is defined. + +Fri Aug 13 10:20:12 1999 Andrew Cagney + + From J.T. Conklin : + * gdbinit.in: Change the template .gdbinit to match the recent + fatal error handling change. + +1999-08-11 Keith Seitz + + * maint.c (maintenance_internal_error): Fix typo in prototype. + +Wed Aug 11 15:38:05 1999 Andrew Cagney + + * remote.c (remote_rcmd): Pass an empty command across to the + target. Check for and handle an ``Enn'' return status. + +Tue Aug 10 13:59:45 1999 Andrew Cagney + + * maint.c (_initialize_maint_cmds): Add ``maintenance + internal-error'' command. + (maintenance_internal_error): New function. + +1999-08-10 James Ingham + + * top.c: Remove the disassembly_flavor_hook, use the new set_hook + instead. + * defs.h: Ditto. + * arm-tdep.c (set_disassembly_flavor_sfunc): Ditto. + +1999-08-10 Michael Snyder + + * config/i386/nm-i386sol2.h (FIND_NEW_THREADS): remove, obsolete. + * config/sparc/nm-sun4sol2.h (FIND_NEW_THREADS): remove, obsolete. + +1999-08-10 J.T. Conklin + + * configure.tgt (i[3456]86-*-aout*, i[3456]86-*-coff*, + i[3456]86-*-elf*): Use embed.mt. + * config/i386/embed.mt: New file. + +1999-08-10 Elena Zannoni + + * remote.c (remote_async_open_1): Remove casting in call to + add_file_handler. + (extended_remote_async_create_inferior): Ditto. + + * event-top.c (change_line_handler): Ditto. + (_initialize_event_loop): Ditto. + + * infrun.c (complete_execution): Ditto. + + * event-loop.c (add_file_handler): Change proc parameter to be ptr + to func with void parameter, rather than void*. Coerce second + paramter in calls to create_file_handler. Replace + async_handler_func and file_handler_func with handler_func. + + * event-loop.h: Get rid of typedefs for file_handler_func and + async_handler_func, just have one, and call it handler_func. + Replace async_handler_func and file_handler_func occurrences with + handler_func. + +Tue Aug 10 03:13:03 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c: Delete random #if 0 code. + (is_branch): Handle new branching opcodes from PA2.0 + (inst_saves_gr, inst_saves_fr): Handle additional instructions + used to save general and floating point registers in the stack. + (skip_prologue_hard_way): Handle additional instructions to + save the return pointer in the stack. + (after_prologue): Fix mis-guided and incorrect code to find + the end of the prologue using debug symbols. + (hppa_skip_prologue): Generally clean up comments, lose code + which does not apply to the PA, etc. + +Sun Aug 8 17:53:41 1999 Andrew Cagney + + * MAINTAINERS: Make Andrew Cagney the mn10300 maintainer. + Transfer responsibility for the PowerPC from Andrew Cagney to + Elena Zannoni. + +Tue Aug 10 13:59:45 1999 Andrew Cagney + + Based on code from J.T. Conklin : + * utils.c (internal_error): Make quit? and coredump? separate + questions so that the user can dump-core and not quit. + (internal_error): Cleanup error message. + +1999-08-09 Tom Tromey + + * kod-cisco.c (cisco_kod_open): Removed incorrect `arg' argument. + +Sun Aug 8 12:06:47 1999 Fred Fish + + * coffread.c (process_coff_symbol): Remove section_offsets from + prototype and function definition. Get section_offsets from the + passed objfile and pass it on to callees the same way. + (coff_symtab_read): Ditto. + (coff_symfile_read): Ditto. + * dbxread.c (read_dbx_dynamic_symtab): Ditto. + (read_dbx_symtab): Ditto. + (dbx_symfile_read): Ditto. + (coffstab_build_psymtabs): Ditto. + (elfstab_build_psymtabs): Ditto. + (stabsect_build_psymtabs): Ditto. + * dstread.c (dst_symfile_read): Ditto. + * elfread.c (elf_symfile_read): Ditto. + * jv-class.c (jv_class_symfile_read): Ditto. + * mipsread.c (mipscoff_symfile_read): Ditto. + * nlmread.c (nlm_symfile_read): Ditto. + * os9kread.c (os9k_symfile_read): Ditto. + * somread.c (som_symfile_read): Ditto. + * stabsread.h (elfstab_build_psymtabs): Ditto. + * xcoffread.c (xcoff_initial_scan): Ditto. + + * symfile.h (sym_read): Remove section_offsets from prototype. + * symfile.c (syms_from_objfile): Call sym_read without + section_offsets. + (reread_symbols): Ditto. + + * elfread.c (elfstab_offset_sections): Use SIZEOF_SECTION_OFFSETS + to allocate sections offsets array. + * xcoffread.c (xcoff_symfile_offsets): Ditto. + + * partial-stab.h (section_offsets): Get from objfile. + * dbxread.c (read_dbx_symtab): Fix typo that made -1 casted + to a CORE_ADDR look like an subtraction expression. + * objfiles.h: Add some comments. + * symfile.c: Add some comments. + * objfiles.c: Add some comments. + (objfile_relocated): Use ALL_OBJFILE_OSECTIONS to iterate over + sections. + (find_pc_sect_sections): Use ALL_OBJSECTIONS to iterate over all + sections in all objfiles. + * symfile.c (syms_from_objfile): Use ALL_OBJFILE_OSECTIONS. + + * irix5-nat.c (symbol_add_stub): Fix typo that made taking the + address of lowest_sect with '&' look like a bitwise and op. + * osfsolib.c (symbol_add_stub): Ditto. + * solib.c (symbol_add_stub): Ditto. + * symfile.c (syms_from_objfile): Ditto. + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Minor format tweak. + * symfile.c (syms_from_objfile): Ditto, and fix typo. + * top.c (init_main): Fix typo in comment (DEFULAT_PROMPT). + * doc/gdbint.texinfo (find_sym_fns): This replaces symfile_init. + +1999-08-08 James Ingham + + * remote.c (remote_insert_breakpoint): Fix typo in Z packet support. + Also move Z packet support OUTSIDE of REMOTE_BREAKPOINT ifdef, + since this is not set for all targets that support the Z packet. + +Sun Aug 8 17:24:09 1999 Andrew Cagney + + * ui-out.c (ui_out_table_begin, ui_out_table_body, + ui_out_table_end, ui_out_table_header, ui_out_list_begin, + ui_out_list_end, ui_out_stream_new, verify_field_proper_position, + verify_field_alignment): Replace incorrect calls to error with + calls to internal_error. + +Fri Aug 6 17:17:28 1999 Andrew Cagney + + * defs.h (fatal): Delete declaration. + (internal_error): Declare. + * utils.c (nomem): Call internal_error instead of fatal. + (fatal_dump_core): Delete. + (malloc_botch): Print message direct to stderr. + (fatal): Delete definition. + * utils.c (internal_error): Define. + + * gdbarch.h, gdbarch.c, hppah-nat.c, ch-exp.c, dsrec.c, sh-tdep.c, + infptrace.c, f-lang.c, symm-nat.c, top.c, m3-nat.c, v850-tdep.c, + remote-vx.c, remote-sim.c, remote-mips.c, source.c, infcmd.c, + findvar.c, remote.c: Replace fatal with call to internal_error. + +Sun Aug 8 15:28:33 1999 Andrew Cagney + + * ser-pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Move + definition from here. + * defs.h: To here. + +Sat Aug 7 21:44:59 1999 Fred Fish + + * remote.c (remote_insert_breakpoint): Fix typo, missing ';'. + +Sun Aug 8 11:26:57 1999 Andrew Cagney + + * mips-tdep.c (mips_gdbarch_init): Add break; to the default case. + +Fri Aug 6 19:26:03 1999 Andrew Cagney + + * defs.h: Delete #if ANSI_PROTOTYPES code, GDB assumes ISO-C. + * remote-rdp.c (send_rdp), remote-os9k.c (printf_monitor), + remote-mips.c: (mips_error), remote-array.c: (printf_monitor, + debuglogs), complaints.c (complain), monitor.c: + (monitor_printf_noecho, monitor_printf), language.c (type_error, + range_error), remote-st.c: (printf_stdebug), remote-sim.c + (gdb_os_printf_filtered, gdb_os_vprintf_filtered, + gdb_os_evprintf_filtered, gdb_os_error), serial.c (serial_printf), + utils.c (warning, error, fatal, fatal_dump_core, (query, + fprintf_filtered, fprintf_unfiltered, fprintfi_filtered, + printf_filtered, printf_unfiltered, printfi_filtered): Delete + legacy #ifndef ANSI_PROTOTYPES varargs code. + + * defs.h: Don't #include . + * remote-rdp.c, remote-os9k.c, remote-mips.c, remote-array.c, + monitor.c, remote-st.c: Don't include or . + +1999-08-06 James Ingham + + * configure.in, configure: add the --enable-multi-ice to determine + whether to configure and build the multi-ice-gdb-server. Note, + for now this only builds on cygwin, so don't enable it for other + platforms... + +1999-08-06 Tom Tromey + + * Makefile.in (SFILES): Added kod.c and kod-cisco.c. + (COMMON_OBS): Added kod.o and kod-cisco.o. + (kod-cisco.o): New target. + (kod.o): New target. + * kod-cisco.c: New file. + * kod.c: New file. + +1999-08-06 James Ingham + + These are some fixups for the Arm, and support for the + disassembly-flavor for the ARM. + + * defs.h: Declare the disassembly_flavor_hook + * top.c: Define the disassembly_flavor_hook + * i386-tdep.c: Remove unnecessary declaration of the + disassembly_flavor_hook. + + * config/arm/tm-arm.h: Change definition of + arm_init_extra_frame_info. + Add a few more comments. + * arm-tdep.c (arm_init_extra_frame_info): Listen to and use the + fromleaf parameter passed into init_extra_frame_info. + (set_disassembly_flavor_sfunc): New Function. + (set_disassembly_flavor): New Function. + (arm_othernames): Use the set_disassembly_flavor. + (_initialize_arm_tdep): Setup the disassembly flavor commands, and + initialize the flavor. + (arm_frameless_function_invocation): Adjust for + frameless functions that have 1 or 2 instructions that mimic the + standard APCS form. + (arm_scan_prologue): Be more careful about scanning the function + prologue. Don't match things that just have a few of the prologue + instructions out of order, and don't get thrown by the scheduler + migrating instructions into the prologue. + + Add support for the "Z" and "z" packets to request the stub + to set a breakpoint. + + * remote.c (set_remote_protocol_Z_packet_cmd): New function. + (show_remote_protocol_Z_packet_cmd): New Function. + (remote_open_1): Init the Z packet config. + (remote_async_open_1): Init the Z packet config. + (remote_insert_breakpoint): Use the "Z" packet if supported. + (remote_remove_breakpoint): Use the "z" packet if supported. + (remote_insert_watchpoint): New Function - currently wired to + nothing. + (remote_remove_watchpoint): Ditto. + (remote_insert_hw_breakpoint): Ditto. + (remote_remove_hw_breakpoint): Ditto. + +1999-08-06 Stan Shebs + + * infcmd.c: Include parser-defs.h. + (interrupt_target_command): Declare. + (stack_dummy_testing): Remove old funky flag. + (run_stack_dummy): Remove unused reference to old funky flag. + +1999-08-06 Tom Tromey + + * command.c (do_setshow_command): Call set_hook if not NULL. + * top.c (set_hook): New hook definition. + * defs.h (set_hook): Declare. + +1999-08-05 Stan Shebs + + * infrun.c: Convert code to pure standard C, elim some warnings. + (stopped_for_shlib_catchpoint): Remove, never used. + +1999-08-05 Keith Seitz + + * NEWS: Mention new Motorola MCore target. + + * sparc-tdep.c (gdb_print_insn_sparc): Print insns of the current + architecture. + +Thu Aug 5 20:41:22 1999 Andrew Cagney + + * configure.in (configdirs): Add check for socketpair. + * configure, config.in: Re-generate. + + From Mon Jul 19 10:46:18 1999 Philippe De Muyter : + * ser-pipe.c (sys/wait.h): Include this file only #if HAVE_SYS_WAIT_H. + (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Macros defined if needed. + +Thu Aug 5 20:04:17 1999 Andrew Cagney + + * target.c (debug_to_open, debug_to_attach, debug_to_post_attach, + debug_to_require_attach, debug_to_detach, debug_to_require_detach, + debug_to_wait, debug_to_post_wait, debug_to_fetch_registers, + debug_to_store_registers, debug_to_prepare_to_store, + debug_to_xfer_memory, debug_to_files_info, + debug_to_insert_breakpoint, debug_to_remove_breakpoint, + debug_to_terminal_init, debug_to_terminal_inferior, + debug_to_terminal_ours_for_output, debug_to_terminal_ours, + debug_to_terminal_info, debug_to_kill, debug_to_load, + debug_to_lookup_symbol, debug_to_create_inferior, + debug_to_post_startup_inferior, + debug_to_acknowledge_created_inferior, + debug_to_clone_and_follow_inferior, + debug_to_post_follow_inferior_by_clone, + debug_to_insert_fork_catchpoint, debug_to_remove_fork_catchpoint, + debug_to_insert_vfork_catchpoint, + debug_to_remove_vfork_catchpoint, debug_to_has_forked, + debug_to_has_vforked, debug_to_can_follow_vfork_prior_to_exec, + debug_to_post_follow_vfork, debug_to_insert_exec_catchpoint, + debug_to_remove_exec_catchpoint, debug_to_has_execd, + debug_to_reported_exec_events_per_exec_call, + debug_to_has_syscall_event, debug_to_has_exited, + debug_to_mourn_inferior, debug_to_can_run, + debug_to_notice_signals, debug_to_thread_alive, debug_to_stop, + debug_to_query, debug_to_rcmd, debug_to_enable_exception_callback, + debug_to_get_current_exception_event, debug_to_pid_to_exec_file, + debug_to_core_file_to_sym_file, debug_to_close): Send trace output + to ``gdb_stdlog'' instead of ``gdb_stderr''. + +Thu Aug 5 16:22:10 1999 Andrew Cagney + + * remote.c (init_remote_ops): Initialize remote_ops.to_rcmd. + (init_remote_async_ops): Initialize remote_async_ops.to_query. + (remote_rcmd): New function. + + * monitor.c (monitor_rcmd): Rename monitor_command. + (init_base_monitor_ops): Initialize monitor_ops.to_rcmd. + (_initialize_remote_monitors): Move "monitor" command from here. + * target.c (initialize_targets): To here. + (monitor_command): New function. Implement "monitor" command. + + * target.c (cleanup_target): de_fault to_rcmd. + (update_current_target): INHERIT to_rcmd. + (debug_to_rcmd): New function. + (setup_target_debug): Initialize current_target.to_rcmd. + + * target.h (struct target_ops): Add field to_rcmd. + (target_rcmd): Define. + +Thu Aug 5 14:24:07 1999 Andrew Cagney + + * remote.c: Replace comment describing remote protocol with + pointer to official document. + +Thu Aug 5 11:59:06 1999 Andrew Cagney + + * remote.c (remote_protocol_binary_download): New variable. + Replace ``remote_binary_download'' and ``remote_binary_checked''. + (set_remote_protocol_binary_download_cmd, + show_remote_protocol_binary_download_cmd): New functions. + (remote_open_1, remote_async_open_1, remote_cisco_open): + Initialize ``remote_protocol_binary_download'' instead of + ``remote_binary_download''. + (check_binary_download): Re-write. + (remote_write_bytes): Ditto. + (_initialize_remote): Add ``set remote X-packet'' and ``show + remote X-packet'' commands. Disable old ``set + remotebinarydownload'' command. + +1999-08-04 Keith Seitz + + * remote-rdi.c (arm_rdi_close): Close the transport device, too. + +Wed Aug 4 10:42:58 1999 Fred Fish + + * xcoffread.c (scan_xcoff_symtab): Change main_aux into + an array of 5 internal_auxent to leave room for bfd to + write n_numaux entries. Change code to use the first one. + +Wed Aug 4 19:58:15 1999 Andrew Cagney + + * ui-out.h (cli_out_new): Move declaration from here. + * cli-out.h: To here. New file. + * Makefile.in (ui-out.o): Add missing dependencies. + (cli-out.o): Ditto. + * top.c, cli-out.c: #include "cli-out.h". + +1999-08-02 Stan Shebs + + * c-valprint.c (c_val_print): When printing decimal equivalent + of a char, cast appropriately. + +1999-08-02 Elena Zannoni + + From Jonathan Larmour : + * main.c (print_gdb_help): Use gdbinit variable to determine file + name used for --nx help + +1999-08-01 Jason Molenda (jsm@bugshack.cygnus.com) + + * config/mips/tm-mips.h (BIG_ENDIAN): Don't define here. + +1999-08-01 Jim Blandy + + * stabsread.c (read_range_type): Handle an unsigned range type + whose length in bytes is any power of two, not just a few + common ones. + + * monitor.c (monitor_expect): When we receive a character that + isn't part of the string we were expecting, don't just start + matching again at the beginning of the string --- some shorter + suffix of the input might be a prefix of the string too. + +1999-07-31 Fred Fish + + * symfile.c (symbol_file_command): Fix typo that made -1 casted + to a CORE_ADDR look like an subtraction expression. + (add_symbol_file_command): Ditto. + +1999-07-30 Jim Blandy + + * hppa-tdep.c (pa_print_registers): Frob register output some more. + +1999-07-29 Jim Blandy + + * config/pa/nm-hppah.h (PTRACE_ARG3_TYPE): After more + consideration, make this a CORE_ADDR, like WDB did. + + Rather than casting every single use of really_free_pendings to + make_cleanup_func, why not actually make it have that type? Golly! + * buildsym.c (really_free_pendings): Change argument type to PTR. + buildsym.h (really_free_pendings): Fix declaration. + * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1), + dwarf2read.c (psymtab_to_symtab_1), dwarfread + (psymtab_to_symtab_1), hp-psymtab-read.c (hpread_build_psymtabs), + os9kread.c (os9k_symfile_read, os9k_psymtab_to_symtab_1), + xcoffread.c (xcoff_psymtab_to_symtab_1, xcoff_initial_scan): + Remove casts. + + Pass a CORE_ADDR safely through catch_errors. + * hppa-tdep.c (args_for_find_stub): New member, return_val. + (cover_find_stub_with_shl_get): Change argument and return type to + match catch_errors. Save return value of find_stub_with_shl_get + in *args. + (initialize_hp_cxx_exception_support): Collect value of + eh_notify_callback_addr from args. + + Get rid of some noise. It would be nice to get helpful warnings + from the compiler about lossy conversions. + * hppa-tdep.c (eh_notify_hook_addr, eh_notify_callback_addr, + eh_break_addr, eh_catch_catch_addr, eh_catch_throw_addr, + break_callback_sal): Initialize these to zero, not NULL, to shush + warnings. + * infttrace.c (thread_fake_step): Compare signal to + TARGET_SIGNAL_0, not NULL, to avoid warnings. + (_initialize_infttrace): Add sanity check. + + * config/pa/nm-hppah.h (PTRACE_ARG3_TYPE): Define this to be + long, so we can pass arguments properly to ptrace. + + * hppah-nat.c (child_xfer_memory): Correctly compute mask to round + address to an int boundary. + +1999-07-29 Jim Blandy + + Change from Ian Lance Taylor . The + i386_linux_sigtramp* functions should be moved to + i386-linux-tdep.c, when that file is introduced. + + * config/i386/tm-linux.h (LINUX_SIGCONTEXT_SIZE): Define. + (LINUX_SIGCONTEXT_PC_OFFSET): Define. + (LINUX_SIGCONTEXT_SP_OFFSET): Define. + (SIGCONTEXT_PC_OFFSET): Don't define. + (I386_LINUX_SIGTRAMP): Define. + (IN_SIGTRAMP): Define. + (i386_linux_sigtramp): Declare. + (sigtramp_saved_pc): Define. + (i386_linux_sigtramp_saved_pc): Declare. + (FRAMELESS_SIGNAL): Define. + (FRAME_CHAIN, FRAME_SAVED_PC): Define after #undef. + * i386-tdep.c (i386_linux_sigtramp_start): New static function if + I386_LINUX_SIGTRAMP. + (i386_linux_sigtramp): New function if I386_LINUX_SIGTRAMP. + (i386_linux_sigtramp_saved_pc): Likewise. + (i386_linux_sigtramp_saved_sp): Likewise. + +1999-07-28 Jim Blandy + + * infrun.c (handle_inferior_event): Don't try to use the code for + stepping over a function call to also handle stepping out of a + sigtramp on HP-UX. That ends up trashing step-resume breakpoints. + This change reverts some of David Taylor's change of 31 Dec 1998. + The HP-UX maintainer needs to submit a new change for whatever + problem the original change was trying to fix. + +1999-07-28 Elena Zannoni + + * event-top.c (command_line_handler): Don't treat an empty line + from readline the same way as a multiline command. This avoids + missing detecting when the user presses just 'enter'. + +1999-07-28 Jim Blandy + + Provide more sanity checking: + * infrun.c (handle_inferior_event): Before assigning a new + breakpoint to step_resume_breakpoint, make sure it's not already + pointing at one; if it is, that's a bug. + (check_for_old_step_resume_breakpoint): New function. + +1999-07-28 Elena Zannoni + + From Eli Zaretskii : + * top.c (gdb_init) [__MSDOS__]: Arrange for GDB to return to the + original directory before exiting. + (cd_command) [_WIN32 || __MSDOS__]: Canonicalize the new directory + name explicitly. Handle "d:/" names correctly. + (init_history) [__MSDOS__]: Use _gdb_history as the default GDB + history file name. + +Mon Jul 26 17:13:39 1999 Andrew Cagney + + * remote.c (enum packet_support, enum packet_detect, struct + packet_config): Define. + (set_packet_config_cmd, show_packet_config_cmd, + add_packet_config_cmd, init_packet_config): New functions. + Generic support for optional packets. + (remote_protocol_P): Replace stub_supports_P. + (set_remote_protocol_P_packet_cmd, show_remote_protocol_P_packet_cmd): + New functions. + (_initialize_remote): Add ``set remote-protocol-P-packet'' command. + (remote_open_1, remote_async_open_1, remote_cisco_open): + Initialize ``remote_protocol_P''. + (remote_store_registers): Re-write ``P'' probe logic. + (store_register_using_P): New function. + + From Ian Lance Taylor : + (remote_prepare_to_store): Only read registers when ``P'' packet + is in state unsupported or support-unknown. + +1999-07-24 Fred Fish + + * symfile.c (default_symfile_offsets): Clear section_offsets + before filling it in. + +1999-07-16 Keith Seitz + + * remote.c (_initialize_remote): "remotebreak" should be a var_boolean. + +1999-07-15 Jim Blandy + + Make the output from "info registers" fit withinin 80 columns. + * hppa-tdep.c (pa_print_registers): Make it easy to change row and + column counts. Switch to three columns, instead of four, and + adjust spacing. + + First cut at supporting HPPA2.0 in "wide" (64-bit) mode. + * configure.tgt: Add hppa2.0w target. + * config/pa/hppa64.mt, config/pa/tm-hppa64.h: New files. + * hppa-tdep.c (hppa_fix_call_dummy): Dyke out code to tweak the + call dummy, if target is PA2.0w. This is temporary, until I get + function calls working. + * hppah-nat.c (fetch_register): Rewritten to handle both narrow + and wide register requests. + (HPPAH_OFFSETOF): New macro. + + * gdbtypes.c (is_integral_type): New function. + * gdbtypes.h: Prototype for above. + +1999-07-15 J.T. Conklin + + * configure.tgt (i[3456]86-*-vxworks*): New target. + * config/i386/vxworks.mt: New file, x86 VxWorks target + * config/i386/tm-vxworks.h: New file. + + * configure.tgt (powerpc-*-vxworks*): New target. + * config/powerpc/vxworks.mt: New file, PowerPC VxWorks target + * config/powerpc/tm-vxworks.h: New file. + + * NEWS: Mention the new configs. + +1999-07-15 Fernando Nasser + + * ui-out.c (struct ui_out): Remove deprecated fields. + +1999-07-15 Fernando Nasser + + * target.c (target_preopen): Prevent query when not from_tty. + * infcmd.c (run_command): Prevent query when not from_tty. + +1999-07-15 Fernando Nasser + + * event-loop.c: Fix typo in comment. + +1999-07-15 Fernando Nasser + + * breakpoint.c (breakpoint_1): Fix output when no breakpoins are + found. + +1999-07-15 Elena Zannoni + + * event-top.c (display_gdb_prompt): Don't do anything if we are + running under the interpreter. + +Wed Jul 14 17:29:31 1999 Andrew Cagney + + * ser-pipe.c (struct pipe_state): Define. + (pipe_close): Retain the PID of the sub-process using ``struct + pipe_state''. Delete #ifdef code that used popen(). + (pipe_close): Kill of the sub-process as part of the cleanup. + + * serial.h (struct _serial_t): Add field ``state''. + +1999-07-13 Elena Zannoni + + * event-top.c (display_gdb_prompt): Don't display the prompt if we + are in the middle of an execution command. Also trick readline so + it doesn't try to display the prompt. + (command_line_handler): Get rid of change_prompt, unused variable. + Use {push, pop}_prompt mechanism in case of multiline commands. + + * infrun.c (complete_execution): Set target_executing to 0 as + first thing, so that display_gdb_prompt does the right thing. + +Tue Jul 13 20:29:46 1999 Andrew Cagney + + * parse.c (build_parse): Fix conditional increment of num_std_regs + for SP_REGNUM. Was conditional on FP_REGNUM. + +Tue Jul 13 16:44:58 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Revert 1999-07-07 Stan Shebs + indentation change. Don't let indent + mess with these files. + +Mon Jul 12 11:15:09 1999 Andrew Cagney + + * config/mips/tm-mips.h (REGISTER_CONVERT_TO_RAW, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERTIBLE): Define. + (REGISTER_RAW_SIZE): Re-define as mips_register_convert_to_raw. + * mips-tdep.c (mips_register_convert_to_raw, + mips_register_convert_to_virtual, ): New functions. + (mips_register_raw_size, mips_register_convertible): New + functions. Handle bug introduced by ``Wed Apr 1 23:13:23 1998 + Andrew Cagney '' where remote mips64 target + transfers SR as 64 bits yet GDB expected only 32 bits. + (mips64_transfers_32bit_regs): New static variable. + (_initialize_mips_tdep): Add obscure command ``set + remote-mips64-transfers-32bit-regs'' that provides backward + compatibility. + (do_gp_register_row): Extract register values from raw buffer. + + * NEWS: Document protocol change. + +1999-07-12 Keith Seitz + + * rdi-share/unixcomm.c (Unix_ResetSerial): Remove CYGWIN32 + conditional. It's no longer needed. + (SERPORT1, SERPORT2): Linux serial ports are "/dev/ttyX", not + "/dev/cuaX" (X=0,1,2,3,...). + +Mon Jul 12 02:02:00 1999 Andrew Cagney + + * defs.h, utils.c (fputstrn_filtered, fputstrn_unfiltered, + fputstrnn_unfiltered): New functions. + (gdb_printchar): Delete. + + * remote.c (print_packet): Replace gdb_printchar with + fputstrn_filtered. + (getpkt): Use fputstrn_unfiltered to dump packet received. + (putpkt_binary): Use fputstrnn_unfiltered to dump packet sent. + +1999-07-09 Keith Seitz + + * blockframe.c (blockvector_for_pc_sect): When looking for a block, + we want the one whose end is greater than our PC, not greater or equal. + +1999-07-08 Stan Shebs + + * sparcl-tdep.c (init_sparclite_ops): Fix doc strings, remove + useless inits. + (sparclite_ops): Remove redundant decl. + +Thu Jul 8 16:48:40 1999 Andrew Cagney + + * ser-pipe.c (pipe_open): Bi-directional popen found on both + NetBSD and OpenBSD. + * ser-pipe.c: New file. Implement popen() style serial interface. + * NEWS: Mention. + * Makefile.in (ALLDEPFILES): Add ser-pipe.c. + (ser-pipe.o): Add new target. Specify dependencies. + (SER_HARDWIRE): Add ser-pipe.o. + * serial.c (serial_open): Recognize a serial pipe ``|''. + +1999-07-07 Stan Shebs + + * All C files except *-stub.c and *-share/*: Indent to GNU + standard, using indent 1.9.1. + * defs.h: Make indent ignore this file, macros confuse it. + + * gnu-regex.c, gnu-regex.h: Don't let indent mess with these. + +Wed Jul 7 13:06:24 1999 Andrew Cagney + + * remote-mips.c (fputs_readable): Rename puts_readable, add struct + gdb_file argument. + (fputc_readable): Rename putc_readable, add struct gdb_file + argument. + + * remote-mips.c (mips_expect_timeout, mips_receive_header, + mips_send_packet, mips_receive_packet), remote-rdp.c (put_byte, + get_byte, put_word, rdp_init, rdp_init), remote-sds.c + (sds_interrupt, sds_wait, readchar, putmessage, read_frame, + getmessage), remote-udi.c (udi_store_registers, fetch_register): + (store_register), xmodem.c (readchar), utils.c (puts_debug), + gnu-nat.h (debug), parse.c (parse_exp_1): Cleanup - send debug/log + messages to gdb_stdlog. + +1999-07-06 Stan Shebs + + * exec.c: Remove long-#ifed-out section of code that confuses + indent. + * gdbtypes.c (add_mangled_type): Add some braces to indicate + grouping better. + * gnu-nat.c: Remove literal newlines embedded in strings, + causes indent to weird out. + * language.c (binop_result_type): Remove extra paren. + * lynx-nat.c: Add a missing paren to fetch_core_registers decl. + * nec4102rom.c (vr4102_insert_step): Fix typos. + (_initialize_vr4102_rom): Remove literal newline in string. + * config/a29k/tm-a29k.h: Suppress formatting of pictures. + * config/m68k/xm-3b1.h: Remove excess #endif. + + Declare Pyramid configuration obsolete. + * configure.host, configure.tgt: Comment out Pyramid configs. + * Makefile.in: Comment out Pyramid-related actions. + * pyr-xdep.c, pyr-tdep.c, config/pyr/*: Comment out. + * NEWS: Mention obsolete status. + +1999-07-06 Jason Molenda (jsm@bugshack.cygnus.com) + + * remote.c: Include to pick up FD_SET et al defns on + some old Linux distributions. + * remote-os9k.c, remote-st.c, ser-tcp.c, ser-unix.c, + sparcl-tdep.c, remote.c: Back out inclusion of . + It isn't necessary after all. + +1999-07-06 Elena Zannoni + + * infcmd.c (strip_bg_char): Remove assignment from 'if' condition. + +1999-07-05 Jason Molenda (jsm@bugshack.cygnus.com) + + * remote.c: Include if it exists in order to pick up + FD_SET et al defns. + * remote-os9k.c: Same. + * remote-st.c: Same. + * ser-tcp.c: Same. + * ser-unix.c: Same. + * sparcl-tdep.c: Same. + +Fri Jul 2 19:38:43 1999 Andrew Cagney + + * top.c (target_output_hook): Delete definition. + * defs.h (target_output_hook): Delete declaration. + + * remote.c (remote_console_output): Delete call to + target_output_hook(). Send target output to gdb_stdtarg using an + unfiltered write. Make more robust. + + * remote-sim.c (gdb_os_write_stdout, gdb_os_write_stderr): + Ditto. For moment, do not try to separate target stdout and stderr + streams. + + * defs.h (gdb_stdtarg): New global. Output from target and + simulators. + +1999-07-02 Elena Zannoni + + * top.c (return_to_top_level): Do all the exec_cleanups too. + + * event-top.c (command_handler): Set up for a continuation, if we + are in the middle of running an execution command which will + finish later on. Do cleanups, an display of time/space only if not + running with an async target or not running an execution command. + (command_line_handler_continuation): New function. Continuation + for command_line_handler. + + * utils.c (exec_cleanup_chain): New cleanup chain to be used in + async mode for the execution commands. + (make_exec_cleanup): New function. Add a cleanup to the + exec_cleanup_chain. + (do_exec_cleanups): New Function. Do cleanups on the + exec_cleanup_chain. + (add_continuation): New function. Add a new continuation to the + cmd_continuation list. + (do_all_continuations): New function. Do all the continuations on + the cmd_continuation list. + + * top.h (ALL_CLEANUPS): Move from here to defs.h. + + * defs.h (struct continuation_arg): New structure. Arg to pass to + the call to a command continuation. + (struct continuation): New structure. Continuation for an + execution command. + (ALL_CLEANUPS): Move here from top.h. + + * remote.c (remote_async_open_1): Set things up for telling the + target we are running the extended protocol, only after the target + has stopped. + (set_extended_protocol): New function. Tell the target we are + using the extended protocol. + (remote_async_resume): Set things up for sync execution only if + this is the first time we are called. + + * breakpoint.c (until_break_command_continuation): New function. + Stuff to be done after the target stops during the 'until' + command. + (until_break_command): Set things up for completing the 'until' + command later on. Do the final cleanups only if not running + asynchronously or async execution is not supported by the target. + + * infcmd.c (until_command): Recognize '&' at end of command and + handle it properly. + (finish_command_continuation): New function. Do whatever is needed + after the target has stopped. + (finish_command): Recognize '&' at end of command and handle it + properly. Don't do stuff needed after target has stopped if + running asynchronously and target has async. Use exec_cleanup_chain + if running asynchronously and target is asynchronous. + + * infrun.c (cmd_continuation): New gloabl variable. Used to + coplete execution commands in async mode, after the target has + stoped. + (fetch_inferior_event): Use exec_cleanup_chain, instead of + cleanup_chain. Do all the exec cleanups at the end. Do all the + continuations at the end. Call complete_execution from here, + instead of normal_stop. + (complete_execution): Cleanup the signals handlers for SIGINT + before displaying the prompt. + (start_remote): Set target_executing to 1. + (normal_stop): Don't call complete_execution from here. + +Thu Jul 1 19:14:30 1999 Andrew Cagney + + * blockframe.c (struct dummy_frame): Add member ``top''. + (generic_push_dummy_frame): Initialize top to sp. + (generic_save_dummy_frame_tos): New function. Initialize top. + (generic_find_dummy_frame): Check for the top of the frame. + + * blockframe.c (generic_push_dummy_frame): Free the dummy_frame + registers. + + * config/mn10300/tm-mn10300.h (SAVE_DUMMY_FRAME_TOS): Define. + (TARGET_READ_FP): Return the SP as a best guess. + +Wed Jun 30 15:45:48 1999 Jeffrey A Law (law@cygnus.com) + + * configure.host (hppa*-*-hpux11*): Accept any version of hpux11 + instead of hpux11.0*. + +1999-06-30 Fernando Nasser + + * source.c (directory_command): Add missing test for from_tty. + +1999-06-29 Elena Zannoni + + * remote.c: Include event-loop.h. + (remote_async_ops, extended_async_remote_ops): Define new target + vector structures for asynchronous debugging. + (remote_async_open): New function. Asynchronous version of + remote_open. + (extended_remote_async_open): New function. Asynchronous version + of extended_remote_open. + (remote_async_open_1): New function. Async version of + remote_open_1. + (remote_async_detach): New function. Async version of + remote_detach. + (remote_async_resume): New function. Async version of + remote_resume. + (initialize_sigint_signal_handler, handle_remote_sigint, + handle_remote_sigint_twice, async_remote_interrupt, + async_remote_interrupt_twice, cleanup_sigint_signal_handler): New + functions. Used for handling ^C while target is running. + (remote_async_wait): New function. Async version of remote_wait. + (remote_async_kill): New function. Async version of remote_kill. + (extended_remote_async_create_inferior): New function. Async + version of extended_remote_create_inferior. + (init_remote_async_ops): New function. Initialize target vector + for target async. + (init_extended_async_remote_ops): New function. Initialize target + vector for target extended-async. + (_initialize_remote): Initialize remote_async_ops and + extended_async_remote_ops. + + * infrun.c: Include "event-loop.h". + (sync_execution): new global variable. + (proceed): Invoke wait_for_inferior and normal_stop only if not + running in async mode or if target doesn't support async + execution. + (start_remote): Don't call wait_for_inferior and normal_stop if + not running in async mode or if target not async. If running async + and target is async, start the target in simulated synchronous + mode. + (async_ecss, async_ecs): New global vars, for inferior state. + (fetch_inferior_event): New function. Async version of + wait_for_inferior. + (complete_execution): New function. Reset of gdb prompt and stdin, + after inferior execution has completed. + (normal_stop): Call complete_execution at end of asynchronous + execution. + + * infcmd.c (strip_bg_char): New function to detect the background + execution char '&'. + (run_command): Modify to support background and foreground + execution in async mode. + (continue_command): Ditto. + (step_1): Ditto. + (jump_command): Ditto. + (interrupt_target_command): New function. Interrupt the + target execution. + (_initialize_infcmd): Add new command 'interrupt'. + + * top.c (target_executing): New global variable. + (execute_command): Reject commands that cannot be executed while + the target is running asynchronously. + + * event-top.c (push_prompt): Make non static. + (pop_prompt): Make non static. If the current prompt is empty, + don't try to copy it over the previous one. + (handle_sigint): Make non static. + (command_handler): Do the cleanups only when not executing with an + asynchronous target. + + * event-loop.c (delete_async_signal_handler): Pass a pointer to a + pointer to a signal handler, so that is can be freed at the end. + + * target.c (update_current_target): Inherit to_has_async_exec. + + * inferior.h: Add global variables target_executing, and + sync_execution. Export function fetch_inferior_event. + + * event-loop.h: Add push_prompt, pop_prompt, handle_sigint to the + exported functions. Update prototype for delete_signal_handler. + + * target.h (struct target_ops): New target op: to_has_async_exec. + (target_has_async): New macro. + + * Makefile.in (infrun.o): Add dependency on event-loop.h. + (remote.o): Ditto. + +1999-06-28 Jim Blandy + + * solib.c (clear_solib): Don't disable breakpoints if we're + running an a.out executable (Solaris's SunOS emulation). + +1999-06-25 Elena Zannoni + + * main.c (main): Remove intialization of command_loop_hook, it + is now done in _initialize_event_loop(). + * event-loop.c (gdb_do_one_event): Make static. + (start_event_loop): New function. Just start the event loop. + * event-top.c (cli_command_loop): New name for start_event_loop(). + (gdb_readline2): Make non static. + (_initialize_event_loop): Set command_loop_hook to cli_command_loop. + * event-loop.h: Adjust exported functions accordingly. + + * top.c (init_main): Move setting of async_command_editing_p from + here. + * event-top.c (_initialize_event_loop): To here. + (change_line_handler): Revert previous change. Add comment. + (_initialize_event_loop): Revert previous change. + (cli_command_loop): New name for start_event_loop(). + (start_event_loop): New function. This just starts up the event loop. + (gdb_readline2): Make non static. + (_initialize_event_loop): Set command_loop_hook to cli_command_loop. + +1999-06-25 Elena Zannoni + + * event-top.c (change_line_handler): Get rid of the global + variable input_fd, use `fileno (instream)' instead. + (_initialize_event_loop): Ditto + + * event-loop.c (add_file_handler): New function. Wrapper for + create_file_handler. + (create_file_handler): Make static. + * event-top.c (_initialize_event_loop): Call add_file_handler, + instead of create_file_handler. + (change_line_handler): Ditto. + Remove poll.h include. + * event-loop.h: Export add_file_handler instead of + create_file_handler. + +1999-06-24 Stan Shebs + + Declare Altos configuration obsolete. + * configure.host, configure.tgt: Comment out Altos config. + * Makefile.in: Comment out Altos-related actions. + * altos-xdep.c, config/m68k/altos.mh, altos.mt, tm-altos.h, + xm-altos.h: Comment out. + * NEWS: Mention obsolete status. + +1999-06-24 Jason Molenda (jsm@bugshack.cygnus.com) + + * Makefile.in: Add MAKEHTML and MAKEHTMLFLAGS; pass them down; + recognize html and install-html targets. + * gdbserver/Makefile.in: Add empty html and install-html targets. + * nlm/Makefile.in: Ditto. + * rdi-share/Makefile.in: Ditto. + +1999-06-24 Jim Blandy + + * ax-gdb.c (agent_command): Remove vestigial call to ax_reqs. + +1999-06-24 James Ingham + + * arm-tdep.c (arm_othernames): Change both gdb's register display + AND the opcode disassembly register naming if the othernames + command. Fixes the gdb part of CR 101177. + +1999-06-23 Stan Shebs + + Declare Convex configuration obsolete. + * configure.host, configure.tgt: Comment out Convex configs. + * Makefile.in: Comment out Convex-related actions. + * convex-xdep.c, convex-tdep.c, config/convex/*: Comment out. + * NEWS: Mention obsolete status. + +1999-06-23 Elena Zannoni + + * main.c: Turn on async by default by setting async_p to 1. + +Wed Jun 23 20:39:24 1999 Andrew Cagney + + * main.c (main): Recognize --ui. Will eventually replace + --interpreter. + +Wed Jun 23 15:44:39 1999 Andrew Cagney + + From Jimmy Guo : + * frame.h (enum lval_type): Delcare when an __STDC__ compiler. + Reverts Mon Aug 11 16:08:52 1997 Fred Fish + change. + * utils.c (gdb_file_rewind, gdb_file_put): Fix. A void function + does not return a result. + +Wed Jun 23 15:30:46 1999 Andrew Cagney + + * remote.c (set_thread, remote_get_threadinfo, + remote_threads_info, remote_current_thread, remote_get_threadlist, + extended_remote_restart, get_offsets, remote_open_1, + remote_detach, remote_resume, remote_wait, remote_fetch_registers, + remote_store_registers, check_binary_download, remote_write_bytes, + remote_read_bytes, remote_search, putpkt_binary, putpkt_binary, + read_frame, compare_sections_command, remote_query, + packet_command, remote_info_process): Use alloca to create space + for arrays of size PBUFSIZ. + +1999-06-22 Jason Molenda (jsm@bugshack.cygnus.com) + + * top.c: Update copyright years to include 1999. + +1999-06-18 Elena Zannoni + + * top.c: Move include of event-loop.h, to avoid redefinition of + NFDBITS. + + * event-loop.c (create_file_handler): Do not do a realloc of the + pollfd structure of the notifier, unless there is already one. + Include for platforms that have no poll. + + * event-top.c: Fix prototype for _initialize_event_loop. + (_initialize_event_loop): Do something only if running in async + mode. + +1999-06-17 Jim Blandy + + Make the '/c' print format use a true character type. This is + more appropriate than builtin_type_char for languages other than + C, and C tolerates it. + * gdbtypes.c (builtin_type_true_char): New variable. + (build_gdbtypes): Initialize it. + * gdbtypes.h (builtin_type_true_char): New declaration. + * printcmd.c (print_scalar_formatted): When the format is 'c', + extract the value as a builtin_type_true_char. + + * jv-exp.y (yylex): Say character literals are java_char_type, not + builtin_type_char. Java treats the latter like `byte'. + +1999-06-17 Elena Zannoni + + * Makefile.in (top_h): Define. + (event-loop.o): Add dependencies on top.h and defs.h. + (event-top.o): Add dependency on terminal.h. + + * event-loop.c: Get rid of #include . + + * event-loop.h: Get rid of nested #include's. + * event-loop.c: Rearrange includes to accomodate change in + event-loop.h. Include poll.h, not sys/poll.h. + * event-top.c: Ditto. + * main.c: Ditto. + +1999-06-16 David Taylor + + * alpha-tdep.c (alpha_pop_frame): if frame->proc_desc + is NULL, call find_proc_desc so we know how to restore + the registers. + +1999-06-16 Fernando Nasser + + * cli-out.c (cli_out_new): Add flags argument to ui-out-new call. + * source.c (print_source_lines_base): Test for ui_source_list flag + and use ui_out for file and line output. + * ui-out.c (struct ui_out): Add flags field to struct and to default + initialization. + (ui_out_set_flags): New function. Handle flags. + (ui_out_clear_flags): New function. Ditto. + (ui_out_test_flags): New function. Ditto. + (ui_out_new): Add flags parameter. + * ui-out.h: Add flags argument to ui_out_new declaration. + Add declarations for ui_out_*_flags functions. + (enum ui_flags): New enum. Defines ui_out flags. + * top.c (gdb_init): Fix misspelling typo. + +1999-06-15 Michael Snyder + + * event-top.c (start_event_loop): call get_prompt. + (display_gdb_prompt): call get_prompt. + (async_stop_sig): call get_prompt. + +1999-06-15 Elena Zannoni + + * event-loop.c (delete_file_handler): When positioning prev_ptr, + keep looping while the one after is not equal to file_ptr, instead + of equal. + +1999-06-14 Stan Shebs + + * MAINTAINERS: Add Jimmy Guo and Jim Blandy as HP testsuite and + SVR4 solib maintainers, respectively. + +1999-06-14 Michael Snyder + + Add parameters to the gdb prompt. + * top.c (prompt): Rename to gdb_prompt_string for clarity. + (command_line_input): rename "prrompt" to prompt_arg for clarity. + (gdb_readline): rename "prrompt" to prompt_arg for clarity. + (read_command_lines): rename "prompt" to prompt_arg for clarity. + (stop_sig): call get_prompt instead of reading prompt string directly. + (command_loop): ditto. + (simplified_command_loop): ditto. + (gdb_prompt_escape): New variable. Esc char for prompt parameters. + (get_prompt_1): New function, workhorse for get_prompt. + (get_prompt): Completely rewrite. Add functionality for a + parameterized prompt, ie. the displayed prompt can change according + to the value of one or more expressions given as parameters in the + prompt string. + (init_main): use renamed variable gdb_prompt_string. Add new + command "set prompt-escape-char" to set gdb_prompt_escape. + +Sun Jun 13 10:44:13 1999 Andrew Cagney + + * defs.h (gdb_stdlog), main.c: Declare. + * main.c (main): Initialize. + * gdbarch.c: Write trace messages to the log file. + * remote.c: Update any debug/log prints. + +1999-06-11 Michael Snyder + + * remote.c (remote_wait): Clean up new thread handling. + (record_currthread): Announce new threads. + +1999-06-11 Jim Blandy + + * partial-stab.h (case N_LSYM, 'T' descriptor): Don't create + partial symbol table entries for nameless enums, even if the type + name is " ". (We still pick up the enum elements, though.) + + * partial-stab.h: Remove #if 0'd sections, dating back to 1992, + which set a variable which exists nowhere else in the source. + Please examine your test suite output carefully, and report any + problems to me. + +1999-06-11 Fernando Nasser + + * top.c (gdb_init): Add pre-processor test for UI_OUT. + +1999-06-11 Elena Zannoni + + * event-top.c (setup_event_loop): Change name to start_event_loop. + Move the intialization of event-loop variables to + _initialize_event_loop. + (_initialize_event_loop): New function. Called at init time, to + set up important event-loop variables. + + * event-loop.h: setup_event_loop is now start_event_loop. + * main.c (main): Ditto. + +Fri Jun 11 18:34:33 1999 Andrew Cagney + + * defs.h (gdb_file_rewind_ftype, gdb_file_rewind, + set_gdb_file_rewind, gdb_file_put_ftype, gdb_file_put, + set_gdb_file_put): Declare. + + * utils.c (gdb_file_new): Initialize ``rewind'' and ``put''. + (struct gdb_file): Add to_rewind and to_put. + (null_file_put, null_file_rewind, gdb_file_put, gdb_file_rewind, + set_gdb_file_put, set_gdb_file_rewind): New functions. + (tui_file_rewind, tui_file_put): New functions. + (tui_file_new): Add rewind and put. + + * cli-out.c (cli_spaces): Replace gdb_stdout with data->stream. + (cli_text, cli_message, cli_flush, out_field_fmt, + field_separator): Ditto. + +Fri Jun 11 16:08:37 1999 Andrew Cagney + + * cli-out.c (cli_out_new): Replace init_cli_out, + * top.c (gdb_init): Call cli_out_new. + * main.c (main): Delete call to set_ui_out_impl. + + * ui-out.h (set_ui_out_impl, cli_ui_out_impl), ui-out.c: Delete. + (cli_out_new): Add declaration. Will move later. + + * ui-out.c (ui_out_new, ui_out_data), ui-out.h: New functions. + (struct ui_out): Add field data. + (ui_out_new): Replace init_ui_out_state. + + * ui-out.c (XMALLOC): Define. + (ui_out_stream_new, append_header_to_list): Use XMALLOC instead of + xmalloc. + * cli-out.c (XMALLOC): Define. + +Fri Jun 11 10:31:29 1999 Andrew Cagney + + * ui-out.c (ui_out_field_int, ui_out_field_skip, + ui_out_field_fmt): Rewrite statements to remove infix operators. + + * ui-out.c (get_curr_header, verify_field_proper_position, + verify_field_alignment, init_ui_out_state, set_ui_out_impl, + append_header_to_list): Add explicit ui_out parameter. + (struct ui_out): Move the local variables ``table_flag'', + ``body_flag'', ``table_columns'', ``table_id'', ``list_flat'', + ``field_count'', ``headerfirst'', ``headerlast'', ``headercurr'' + into this struct. + (typedef ui_out_hdr): Delete. + (struct ui_out_hdr): Rename struct _ui_out_hdr. + (ui_out_table_begin, ui_out_table_end, ui_out_table_body, + ui_out_table_header, ui_out_field_int, ui_out_list_begin, + ui_out_table_end, ui_out_list_end, ui_out_field_skip, + ui_out_table_body, ui_out_list_begin, ui_out_list_end, + ui_out_field_string, ui_out_field_fmt, init_ui_out_state, + verify_field_proper_position, verify_field_alignment, + clear_header_list, append_header_to_list, _initialize_ui_out): + Update. + + * ui-out.h (typedef streambuf): Delete. + (struct _streambuf): Rename to struct ui_stream. + * breakpoint.c (breakpoint_1), stack.c (print_frame_info_base), + printcmd.c (print_frame_args): Rename streambuf to struct + ui_stream. + +Fri Jun 11 15:10:32 1999 Andrew Cagney + + * d10v-tdep.c (d10v_push_arguments): Fix order of arguments passed + to store_address. + +Fri Jun 11 10:31:29 1999 Andrew Cagney + + * remote.c (tty_input): Change array to pointer. + (_initialize_remote): Call build_remote_gdbarch_data. + (build_remote_gdbarch_data): New function. Allocate space for + tty_input. + (readsocket, readtty): Delete extern declaration of tty_input. + +1999-06-10 Elena Zannoni + + * event-top.c (gdb_readline2): Call the command handling function + via the input_handler pointer. + (change_line_handler): When turning off editing, set input_handler + as well. + + * utils.c (prompt_for_continue): If running asynchronously, call + async_request_quit, instead of request_quit. + + * tracepoint.c (read_actions): If running asynchronously, set the + signal handler for STOP_SIGNAL to handle_stop_sig. + + * top.h: (source_line_number, source_file_name, source_error, + source_pre_error, history_expansion_p, server_command): export for + use of event-top.c. + + * event-top.c: Include top.h and terminal.h. + (instream): Remove extern declaration. + (handle_sigint, handle_sigquit, handle_sighup, handle_sigfpe, + handle_sigwinch, async_do_nothing, async_disconnect, + async_float_handler, async_stop_sig): Make static. + (async_request_quit, async_do_nothing, async_disconnect, + async_float_handler, async_stop_sig): Add gdb_glient_data + argument. + (handle_stop_sig): New function. + (sigtstp_token): New variable. + (sigint_token, sigquit_token, sigfpe_token, sigwinch_token): + Change their type tp PTR. + (mark_async_signal_handler_wrapper): New function. + (setup_event_loop): Initialize all the variables used by readline + only if not already done while reading the .gdbinit file. Display + the initial gdb prompt, if .gdbinit took care of setting things up + for readline. + (change_line_handler): When turning on the use of readline, + initialize input_handler as well. + (command_line_handler): Set up the signal handler for STOP_SIGNAL + to be handle_stop_sig. + (async_init_signals): Remove coercion of signal handlers in calls + to create_async_signal_handler. Initialize token for stop signal. + (handle_sigint): Call async_request_quit using one argument. + (handle_sigint, handle_sigquit, handle_sighup, handle_sigfpe, + handle_sigwinch): Call mark_async_signal_handler_wrapper instead + of mark_async_signal_handler. + + * event-loop.h: Add extern declarations for handle_stop_sig, + async_command_editing_p, async_annotation_suffix, + new_async_prompt, the_prompts. + + * top.c (command_line_input): Set the signal handler to be + handle_stop_sig, in case gdb is running asynchronously. + (get_prompt): Return the top of the prompt stack if running + asynchronously. + (set_prompt): Set the top of the prompt stack if running + asynchronously. + (init_main): Move ``extern'' vars from here to event-loop.h. + +1999-06-10 Michael Snyder + + * values.c (value_from_string): new function. Make a value_ptr + from a string, with storage in local GDB memory (not in inferior). + * value.h (value_from_string): add prototype. + * remote.c (remote_cisco_ops): New remote target, "target cisco". + (init_remote_cisco_ops): New function, initialize new target. + (remote_cisco_mourn, remote_cisco_wait, remote_cisco_open, + remote_cisco_close): New functions, implement new target cisco. + (minitelnet, readtty, readsocket) New functions, implement the + I/O pass-through mode for target cisco. + (remote_wait): Detect special enhanced version of the 'S' packet + for target cisco. + (remote_cisco_expand): Perform Cisco variant of RLL decoding. + +1999-06-10 Elena Zannoni + + * event-loop.c (gdb_wait_for_event): Initialize num_found to 0. + + * top.c (print_prompt): Delete this function. + + From: Andrew Cagney + + * event-top.c (async_hook): Delete extern declaration. + + * defs.h: Replace ``async_hook'' with ``async_p''. + * top.c (gdb_init, init_main, init_main, init_main, init_main): + Replace ``async_hook'' with ``async_p''. + + * main.c: Rename ``async'' to ``async_p''. + (main): Add --noasync option. + (main): Hook in the asynchronous event-loop based CLI using + command_loop_hook instead of async_hook. Delete call to + async_hook(). + +Thu Jun 10 21:14:16 1999 Andrew Cagney + + * mn10300-tdep.c (mn10300_store_return_value, + mn10300_extract_struct_value_address, + mn10300_extract_return_value), config/mn10300/tm-mn10300.h: New + functions. + * config/mn10300/tm-mn10300.h (EXTRACT_STRUCT_VALUE_ADDRESS, + STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE): Update. + (TARGET_MN10300): Delete macro. Not used. + +Thu Jun 10 20:04:02 1999 Andrew Cagney + + * mn10300-tdep.c (mn10300_register_names): Make static. + (STORE_STRUCT_RETURN): Do not modify SP. + + * config/mn10300/tm-mn10300.h(mn10300_register_name), + mn10300-tdep.c : New function. + * config/mn10300/tm-mn10300.h (REGISTER_NAME): Update. + * config/mn10300/tm-mn10300.h (mn10300_saved_pc_after_call), + mn10300-tdep.c: New function. + * config/mn10300/tm-mn10300.h (SAVED_PC_AFTER_CALL): Update. + +Wed Jun 9 16:42:16 1999 Andrew Cagney + + * top.h, top.c (simplified_command_loop): Make global. + + * main.c (main): Delete call to call_interp_loop. Interpreters + hook in using command_loop_hook. + * top.c (call_interp_loop): Delete function. + +1999-06-10 Keith Seitz + + * mcore-rom.c (picobug_dumpregs): Return a value. Any value, it + doesn't matter. + * mcore-tdep.c (mcore_analyze_prologue): Set NO_MORE_FRAMES + if the start of the function is the entry point. + (mcore_analyze_prologue): rotli takes an immediate, not an + offset immediate. + (mcore_push_arguments): Fix compiler warning. + +1999-06-09 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * rs6000-tdep.c (skip_prologue): Don't mistake a branch for a + subroutine call. + +1999-06-08 Michael Snyder + + * remote.c (remote_wait): Add 'N' response packet, which is a + stop with signal number plus section offsets for .text, .data and + .bss. This is used by Cisco to indicate relocation offsets. + (remote_cisco_section_offsets, remote_cisco_objfile_relocate): + new files to support 'N' packet. + (remote_info_process): New function. Implements the + "info remote-process" command, by means of which the remote target + can report anything it wants to about the remote process/app being + debugged. + (_initialize_remote): add info remote-proc command. + (remote_threads_info): New function for "info threads" command. + Attempts to use new query "qfThreadInfo" instead of the old + undocumented query. + * exec.c (exec_set_section_offsets) new files to support 'N' packet. + +Tue Jun 8 13:33:42 1999 Andrew Cagney + + * inferior.h (generic_target_read_pc, generic_target_write_pc, + generic_target_read_fp, generic_target_write_fp, + generic_target_read_sp, generic_target_write_sp): Declare new + functions. + * findvar.c (generic_target_read_pc, generic_target_write_pc, + generic_target_read_fp, generic_target_write_fp, + generic_target_read_sp, generic_target_write_sp): New functions. + (TARGET_READ_PC, TARGET_WRITE_PC, TARGET_READ_FP, TARGET_WRITE_FP, + TARGET_READ_SP, TARGET_WRITE_SP): Default to corresponding generic + function. + (write_pc_pid, write_pc_pid, read_sp, write_sp, read_fp, + write_fp): Simplify. + + * gdbarch.c (verify_gdbarch): Always verify TARGET_PTR_BIT, + TARGET_SHORT_BIT, TARGET_INT_BIT, TARGET_LONG_BIT, + TARGET_LONG_LONG_BIT, TARGET_FLOAT_BIT, TARGET_DOUBLE_BIT, + TARGET_LONG_DOUBLE_BIT, TARGET_READ_PC, TARGET_WRITE_PC, + TARGET_READ_FP, TARGET_WRITE_FP, TARGET_READ_SP, TARGET_WRITE_SP, + USE_GENERIC_DUMMY_FRAMES, CALL_DUMMY_BREAKPOINT_OFFSET_P, + CALL_DUMMY_P, CALL_DUMMY_STACK_ADJUST_P, GET_SAVED_REGISTER, + REGISTER_CONVERTIBLE, PUSH_ARGUMENTS, PUSH_RETURN_ADDRESS, + FRAME_CHAIN_VALID. + (GET_GDBARCH, SET_GDBARCH): Delete macros. Implement functions + directly. + * gdbarch.h, gdbarch.c: Call fatal() instead of abort(). Identify + the function / macro with a problem. Always verify a architecture + attribute before returning it. + * gdbarch.h, gdbarch.c (generic_register_convertible_not): New + function. + + * mips-tdep.c (mips_push_return_address): New function. + * config/mips/tm-mips.h (PUSH_RETURN_ADDRESS): Define. + + * mips-tdep.c (mips_gdbarch_init): Initialize short_bit, + double_bit, long_double_bit, read_pc, write_pc, read_fp, write_fp, + read_sp, write_sp, frame_chain_valid, get_saved_register, + push_arguments, push_return_address, register_convertible, + call_dummy_p, use_generic_dummy_frames, + call_dummy_breakpoint_offset_p, call_dummy_stack_adjust_p, + call_dummy_words and sizeof_call_dummy_words. + * config/mips/tm-mips.h: Don't define CALL_DUMMY when multi-arch. + +1999-06-07 Keith Seitz + + * v850ice.c (init_hidden_window): Do not rely on the existence of + a gui for window creation. Return boolean status. + (v850ice_open): Use boolean status of init_hidden_window. + Allow any ICE execution command to run under CLI. Maybe one + day gdb will use a real event loop and allow this code to run. + * configure.tgt: Configure the v850 ice for all cygwin-hosted + toolchains. + +Mon Jun 7 23:37:26 1999 Andrew Cagney + + * config/mips/tm-mips.h (EXTRA_FRAME_INFO): Delete. + * mips-tdep.c (mips_init_extra_frame_info): Allocate saved_regs. + (temp_saved_regs): Replace struct with a simple pointer. + (set_reg_offset, mips32_heuristic_proc_desc, heuristic_proc_desc, + mips_init_extra_frame_info): Update. + +Mon Jun 7 21:40:12 1999 Andrew Cagney + + * config/mips/tm-mips.h (EXTRA_FRAME_INFO): Move elements from here. + * mips-tdep.c (struct frame_extra_info): To here. + + * mips-tdep.c (mips_print_extra_frame_info, mips_find_saved_regs, + mips_init_extra_frame_info, mips_pop_frame): Update + (mips_init_extra_frame_info): Allocate space for the extra info. + +Mon Jun 7 21:08:50 1999 Andrew Cagney + + * config/mips/tm-mips.h (mips_init_extra_frame_info), mips-tdep.c: + Rename init_extra_frame_info. Add argument ``fromleaf''. + mips-tdep.c (mips_gdbarch_init): Add mips_init_extra_frame_info. + + * config/mips/tm-mips.h (mips_print_extra_frame_info), + mips-tdep.c: New function. + (PRINT_EXTRA_FRAME_INFO): Update definition. + +Mon Jun 7 20:11:07 1999 Andrew Cagney + + * config/mips/tm-mips.h, config/mips/tm-irix3.h, + config/mips/tm-tx19.h, config/mips/tm-tx19l.h, + config/mips/tm-tx39.h, config/mips/tm-tx39l.h: Rename macro + REGISTER_NAMES to MIPS_REGISTER_NAMES. + + * config/mips/tm-mips.h (REGISTER_NAME): Define. + * mips-tdep.c (mips_processor_reg_names): New static variable. + (mips_register_name): New function. + (mips_set_processor_type): Update mips_processor_reg_names. + (mips_generic_reg_names): Initialize using MIPS_REGISTER_NAMES. + (mips_gdbarch_init): Add mips_register_name. + +Sun Jun 6 11:09:19 1999 Andrew Cagney + + * remote.c (PBUFSIZ): Re-define so that value is computed at + run-time. + (MAXBUFBYTES): Re-define as a macro function. + * gdbarch.h, gdbarch.c: Add multi-arch support for REGISTER_BYTES. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + +1999-06-05 Fernando Nasser + + * symtab.c (decode_line_1): Accept filenames with spaces in + 'linespecs' when enclosed in double quotation marks and handle + drive specification is DOS format (D:). + +1999-06-04 Jim Blandy + + * parse.c: Don't include twice. + +1999-06-04 David Taylor + + Sat May 15 12:16:09 1999 Per Bothner + + * eval.c (evaluate_subexp_standard): Remove Gilmore rant. + (Of course C has "expected types", at least if you allow + brace-initializer expressions - as in Gcc.) + Remove NULLing out expect_type. Do pass NULL_TYPE in place + the incoming expect_type where appropriate. + +Fri Jun 4 10:56:23 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (hppa_fix_call_dummy): Make it work for GCC compiled + executables without end.o. Clean up lots of mis-guided comments. + +Fri Jun 4 17:10:36 1999 Andrew Cagney + + * parser-defs.h (std_regs): Replace array with pointer. + * parse.c (build_parse): Build the std_regs table according to the + standard registers available. + (_initialize_parse): Register std_regs and num_std_regs as + architecture specific. + * gdbarch.h, gdbarch.c: Add multi-arch support for SP_REGNUM, + FP_REGNUM, PC_REGNUM, NUM_REGS, REGISTER_NAME. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + +1999-06-03 Fernando Nasser + + * printcmd.c (print_frame_args): Convert some of the output to use + ui_out. + * stack.c (print_frame_info_base): Adjust the call to the above + function. + +1999-06-03 Michael Snyder + + * thread.c: eliminate the target_thread_vector (functionality + moved into the standard target vector). + * gdbthread.h: eliminate target_thread_vector. Move all related + defines into remote.c, since they are no longer shared with thread.c. + * remote.c: eliminate the target_thread_vector. + (remote_find_new_threads): change return type to void, consistent + with the target vector table. (cont_thread): rename continue_thread. + (record_currthread): remove dead code. (remote_thread_alive): + clean up and simplify. (threadref etc.): move definitions to here + from gdbthread.h. + +1999-06-02 Jason Molenda (jsm@bugshack.cygnus.com) + + * inftarg.c (child_create_inferior): Remove dead HPUX specific code + which tries to find csh. + * fork-child.c: Remove DEBUGGING predefine and conditionalized + printfs. + (fork_inferior): Remove dead HPUX specific code which assumes shell + is csh. + + * hppa-tdep.c: Remove DEBUGGING and #if 0 debugging printfs. + * parse.c: Ditto. + * somread.c: Ditto. + + * gdbarch.h: Forward decl of struct value. + +Thu Jun 3 10:12:38 1999 Andrew Cagney + + * d10v-tdep.c (do_d10v_pop_frame): Rename d10v_pop_frame. Make + static. + * d10v-tdep.c (d10v_pop_frame), config/d10v/tm-d10v.h: New + function. Call generic_pop_current_frame. + * config/d10v/tm-d10v.h (POP_FRAME): Update. + * gdbarch.h, gdbarch.c (frame_num_args_unknown): New function. + * gdbarch.h, gdbarch.c: Add multi-arch support for POP_FRAME, + SKIP_PROLOGUE, INNER_THAN, DECR_PC_AFTER_BREAK, + FUNCTION_START_OFFSET, REMOTE_TRANSLATE_XFER_ADDRESS, FRAME_CHAIN, + FRAME_CHAIN_VALID, FRAME_SAVED_PC, FRAME_ARGS_ADDRESS, + FRAME_LOCALS_ADDRESS, FRAME_ARGS_SKIP, + FRAMELESS_FUNCTION_INVOCATION, REGISTER_BYTE, REGISTER_RAW_SIZE, + REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE, SAVED_PC_AFTER_CALL, + FRAME_NUM_ARGS, MAX_REGISTER_RAW_SIZE, MAX_REGISTER_VIRTUAL_SIZE, + REGISTER_SIZE. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + * config/d10v/tm-d10v.h (DMEM_START, IMEM_START, STACK_START, + ARG1_REGNUM, ARGN_REGNUM, RET1_REGNUM): Move definitions from + here. + * d10v-tdep.c: To here. + * config/d10v/tm-d10v.h (struct type): Move declaration from here. + * gdbarch.h: To here. + * config/d10v/tm-d10v.h (struct frame_info, struct + frame_saved_regs, struct type): Delete declarations. + +1999-06-02 Robert Hoehne + + * go32-nat.c: go32_terminal_init, go32_terminal_inferior and + go32_terminal_ours are new functions to save/restore the inferior`s + stdin/stdout filemodes + +1999-06-02 Stan Shebs + + * MAINTAINERS: Add Mark Kettenis, Jeff Law, and Philippe De Muyter + as maintainers for Hurd, HP/UX, and COFF, respectively. + +1999-06-02 Mark Kettenis + + * gnu-nat.c (inf_continue): New function. + (struct inf): Use `unsigned int' instead of `int' for bit-fields. + Add new bit-field named `nomsg'. + (inf_validate_procinfo): Renamed from inf_validate_stopped, all + callers changed. Also update the `nomsg' and `traced' fields of + INF. + (make_inf): Initialize INF->nomsg. + (inf_cleanup): Reset INF->nomsg. + (inf_detach): Call `inf_validate_procinfo'. Call `inf_continue' + instead of `inf_signal' if the inferior does not have a message + port. + (gnu_resume): Likewise. + (gnu_create_inferior): Reset INF->nomsg in `attach_to_child'. + Call `inf_validate_procinfo' after returning from `fork_inferior'. + (gnu_attach): Update signal thread and tracing state. + + * config/i386/tm-i386gnu.h: Include "i386/tm-i386.h" instead of + "i386/tm-i386v.h". + (STACK_END_ADDR): Remove. + (SIGCONTEXT_PC_OFFSET): New define. + Include "tm-sysv4.h". + +1999-06-02 J.T. Conklin + + * config/tm-vxworks.h: New file, header for definitions common to + all vxWorks targets. + * config/a29k/tm-vx29k.h, config/i960/tm-vx960.h, + config/m68k/tm-vx68.h, config/mips/tm-vxmips.h, + config/sparc/tm-vxsparc.h: Include tm-vxworks.h. + +Wed Jun 2 17:37:03 1999 Jeffrey A Law (law@cygnus.com) + + * config/pa/tm-hppa.h (IMPORT_SHLIB): New unwind stub type. + +1999-06-02 Christopher Faylor + + * configure.tgt: Alphabetically reorder some targets. + +1999-06-02 Keith Seitz + + * v850ice.c (v850ice_xfer_memory): Insert lost "break". + +1999-06-02 Jim Blandy + + * rs6000-tdep.c (variants): Fix description of 750 register set. + (Thanks to J. T. Conklin.) + +Wed Jun 2 16:10:08 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Add multi-arch support for + STORE_STRUCT_RETURN, STORE_RETURN_VALUE, + EXTRACT_STRUCT_VALUE_ADDRESS, USE_STRUCT_CONVENTION, + FRAME_INIT_SAVED_REGS and INIT_EXTRA_FRAME_INFO. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + + * config/d10v/tm-d10v.h (FRAME_INIT_SAVED_REGS): Replace + FRAME_FIND_SAVED_REGS. + (d10v_frame_init_saved_regs): Replace d10v_frame_find_saved_regs. + * d10v-tdep.c (d10v_pop_frame, d10v_frame_chain, + d10v_frame_init_saved_regs): Update. + * gdbarch.h: Disallow FRAME_FIND_SAVED_REGS when multi-arch. + + * gdbarch.h, gdbarch.c: Add multi-arch support for + D10V_MAKE_DADDR, D10V_MAKE_IADDR, D10V_DADDR_P, D10V_IADDR_P, + D10V_CONVERT_DADDR_TO_RAW and D10V_CONVERT_IADDR_TO_RAW. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + + * config/d10v/tm-d10v.h (EXTRA_FRAME_INFO): Delete. + * d10v-tdep.c (struct frame_extra_info): Define. + (d10v_init_extra_frame_info, d10v_pop_frame, d10v_frame_chain, + d10v_frame_find_saved_regs): Update. + * gdbarch.h: Disallow EXTRA_FRAME_INFO when multi-arch. + +Tue Jun 1 13:36:31 1999 Philippe De Muyter + + * config/m68k/tm-delta68.h (FRAME_NUM_ARGS): Macro prototype fixed. + * config/m68k/tm-news.h, config/ns32k/tm-merlin.h: Ditto. + * config/ns32k/tm-umax.h (FRAME_NUM_ARGS): Old macro definition + removed; new macro prototype fixed. + +Wed Jun 2 11:18:37 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Add multi-arch support for + EXTRACT_RETURN_VALUE, PUSH_ARGUMENTS, PUSH_DUMMY_FRAME, + PUSH_RETURN_ADDRESS, POP_FRAME, FRAME_FIND_SAVED_REGS. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + + * gdbarch.h, gdbarch.c: Add multi-arch support for + REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_gdbarch_init): Update. + + * defs.h (REGISTER_NAME): Move compatibility definition from here. + * gdbarch.h: To here. + + * frame.h, blockframe.c (generic_fix_call_dummy): New + stub function. + * gdbarch.h, gdbarch.c: Add multi-arch support for FIX_CALL_DUMMY. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_gdbarch_init): Update. + +Tue Jun 1 20:06:38 1999 Andrew Cagney + + * d10v-tdep.c (d10v_gdbarch_init): Set get_saved_register. + * config/d10v/tm-d10v.h: Update. + +Tue Jun 1 19:50:05 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Add multi-arch support for TARGET_READ_PC, + TARGET_WRITE_PC, TARGET_READ_FP, TARGET_WRITE_FP, TARGET_READ_SP + and TARGET_WRITE_SP. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_gdbarch_init): Update. + +Tue Jun 1 19:19:02 1999 Andrew Cagney + + * gdbarch.c (default_gdbarch): Set field GET_SAVED_REGISTER to + generic_get_saved_register. + * gdbarch.c: Change update dispatch functions so that they check + for a NULL function pointer. + +Tue Jun 1 19:19:02 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Add multi-arch support for TARGET_INT_BIT, + TARGET_CHAR_BIT, TARGET_SHORT_BIT, TARGET_FLOAT_BIT, + TARGET_DOUBLE_BIT and TARGET_LONG_DOUBLE_BIT. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_gdbarch_init): Update. + +Tue Jun 1 18:47:54 1999 Andrew Cagney + + * parse.c (build_parse): New function. Initialize + msym_text_symbol_type, msym_data_symbol_type and + msym_unknown_symbol_type. + (_initialize_parse): Call build_parse. + (_initialize_parse): Register variables msym_text_symbol_type, + msym_data_symbol_type as msym_unknown_symbol_type as + per-architecture. + +Tue Jun 1 11:30:09 1999 Andrew Cagney + + * d10v-tdep.c (_initialize_d10v_tdep): Register d10v as an + architecture. + (d10v_gdbarch_init): New function. + * confg/d10v/tm-d10v.h (GDB_MULTI_ARCH): Define. + +Tue Jun 1 10:45:24 1999 Andrew Cagney + + * config/d10v/tm-d10v.h (REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Convert + macros into functions. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_register_convertable, + d10v_register_convert_to_virtual, d10v_register_convert_to_raw): + The new functions. + +1999-05-31 Fernando Nasser + + * breakpoint.c (print_it_normal): Convertion of part of the output + to use ui-out. + (mention): Same as above. + * infcmd.c (run_command): Same. + * source.c (print_source_lines_base): Same. + * stack.c (print_frame_info_base): Same. + +1999-05-31 Fernando Nasser + + * breakpoint.c (breakpoint_1): Fix names of fields on ui_out + produced output. + * ui-out.h: Cosmetic change. + +1999-05-31 Fernando Nasser + + * stack.c (print_args_stub): Add missing stream parameter. + +Mon May 31 15:50:08 1999 Andrew Cagney + + Fri May 28 16:51:00 1999 Martin Dorey : + * valops.c, value.h (default_push_arguments): Fix order of + parameters to match PUSH_ARGUMENTS arguments. + +1999-05-28 Fernando Nasser + + * top.c (print_command_lines): Simplified script format for + non-console output. + +1999-05-28 Fernando Nasser + + * top.c (print_command_lines): Fixed printing of if clauses. + * breakpoint.c (breakpoint_1): Adjust call to the above. + * top.c (show_user_1): Same as above. + +1999-05-27 Fernando Nasser + + * top.c (call_interp_loop): Correct build problem with UI_OUT defined. + +Thu May 27 11:42:55 1999 Andrew Cagney + + * gdbarch.h (EXTRACT_STRUCT_VALUE_ADDRESS): Return 0. + + * valops.c (value_assign): Delete redundant test of + REGISTER_CONVERTIBLE. + +Thu May 27 11:33:57 1999 Andrew Cagney + + * config/w65/tm-w65.h, config/tic80/tm-tic80.h, config/sh/tm-sh.h, + config/i386/tm-i386m3.h, config/i386/tm-go32.h, + config/i386/tm-cygwin.h, config/h8500/tm-h8500.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h: Delete definition of + macro NAMES_HAVE_UNDERSCORE. + +Thu May 27 09:31:06 1999 Andrew Cagney + + * gdbarch.h (EXTRACT_STRUCT_VALUE_ADDRESS, + EXTRACT_STRUCT_VALUE_ADDRESS_P): Provide default definitions. + * values.c (value_being_returned): Use + EXTRACT_STRUCT_VALUE_ADDRESS when EXTRACT_STRUCT_VALUE_ADDRESS_P. + +Wed May 26 13:51:25 1999 Andrew Cagney + + * utils.c (tui_file_new, tui_file_delete, tui_fileopen): New + functions. + (tui_file_isatty): Rename gdb_file_isatty. + (gdb_file_init_astring): Use tui_file_new to create stream. + (gdb_file_get_strbuf, gdb_file_adjust_strbuf): Call gdb_file_data + to access the tui_stream. + (tui_file_flush): Rename gdb_flush. Call gdb_file_data to access + the tui_stream. Pass FILE and not STREAM down. + + * utils.c (struct stdio_file, stdio_file_flush, stdio_file_fputs, + stdio_file_isatty, stdio_file_delete, stdio_file_new, + stdio_fileopen): Define type and functions. Implement a simple + STDIO based gdb_file. + (struct gdb_file, gdb_file_new, gdb_file_delete, null_file_isatty, + null_file_flush, null_file_fputs, null_file_delete, gdb_file_data, + set_gdb_file_flush, set_gdb_file_isatty, set_gdb_file_fputs, + set_gdb_file_data, fputs_unfiltered, gdb_flush, gdb_file_isatty): + Define type and functions. Implement virtual functions for + gdb_file. + + * defs.h (struct gdb_file): Declare. + (GDB_FILE): Change type to struct gdb_file. Deprecate. + (gdb_file_flush_ftype, gdb_file_fputs_ftype, + gdb_file_isatty_ftype, gdb_file_delete_ftype): Add function type + declarations. + + * defs.h (set_gdb_file_flush, set_gdb_file_fputs, + set_gdb_file_isatty, set_gdb_file_data, gdb_file_new, + gdb_file_delete, gdb_file_data, stdio_fileopen, tui_fileopen): Add + function declarations. + (gdb_fopen): Re-implement. Call stdio_file_new. + (gdb_fclose): Re-implement. Call gdb_file_delete. + + * main.c (tui_file_fputs): Rename fputs_unfiltered. Use + gdb_file_data to gain access to the tui_stream data. Use FILE + instead of STREAM where applicable. + (main): Create gdb_stdout and gdb_stderr using tui_fileopen. + + * defs.h (struct tui_stream): Add field ts_magic. + * utils.c (tui_file_magic): Local variable. + (tui_file_new): Set field ts_magic. + (tui_file_delete, tui_file_isatty, gdb_file_init_astring, + gdb_file_get_strbuf, gdb_file_adjust_strbuf, tui_file_flush): + Verify ts_magic. + +1999-05-25 Fernando Nasser + + * top.c (print_command_lines): New function, fix bug in printing + while commands and uses ui_out. + * gdbcmd.c: Add prototype for the above. + * breakpoint.c (breakpoint_1): Fix breakpoint script printing. + * command.c (show_user_1): Fix user command script printing. + +1999-05-25 Jim Blandy + + * breakpoint.c (insert_breakpoints, remove_breakpoint, + breakpoint_1): Add a 'default' case, which prints a warning + message, to remove EGCS warnings. + +1999-05-25 Fernando Nasser + + * utils.c (gdb_file_adjust_strbuf): Take into account the + possibility that the buffer has not been allocated yet. + +Tue May 25 16:05:11 1999 Andrew Cagney + + * gdbarch.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Provide default definition. + + * valops.c (value_assign), infcmd.c (do_registers_info), findvar.c + (value_from_register, value_of_register): Remove #ifdef + REGISTER_CONVERTIBLE. Assume REGISTER_CONVERTIBLE etc defined. + +1999-05-25 Keith Seitz + + * config/mcore/tm-mcore.h (FRAME_NUM_ARGS): Re-write definition of + FRAME_NUM_ARGS so that it returns NUM_ARGS as a result instead of + setting a variable as a side effect. + +Tue May 25 16:18:25 1999 Andrew Cagney + + * remote-d10v.c (d10v_eva_prepare_to_trace, + d10v_eva_get_trace_data), remote-sim.c (_initialize_remote_sim): + Add declaraton. Make static. + + * remote-d10v.c (_initialize_remote_d10v), d10v-tdep.c + (_initialize_d10v_tdep): Add declaration. + * config/d10v/tm-d10v.h (d10v_frame_chain): Add declaration. + +Tue May 25 15:20:58 1999 Andrew Cagney + + * main.c (init_proc, proc_remove_foreign): Delete function. + * inftarg.c (child_mourn_inferior): Update. Delete call to + proc_remove_foreign(). + * top.c (gdb_init): Update. Delete call to init_proc(). + + * utils.c (pollquit, fmthex, hexlate): Delete function. + +Tue May 25 13:01:43 1999 Andrew Cagney + + * main.c (gdb_init): Move declaration from here. + * top.h: To here. + + * main.c (call_interp_loop): Move declaration from here. + * top.h: To here. + + * defs.h (init_page_info): Add declaration. + + * top.c (initialize_utils): Move declaration from here. + * defs.h: To here. + + * infcmd.c (target_map_name_to_register): Move declaration from + here. + * parser-defs.h: To here. + + * c-typeprint.c (cp_type_print_method_args), target.c + (nosupport_runtime, normal_target_post_startup_inferior): Add + declaration. Make static. + +Tue May 25 13:53:23 1999 Andrew Cagney + + * main.c: Include "event-loop.h". + * Makefile.in (main.o): Add dependency. + + * top.h (setup_event_loop, async_init_signals), top.c + (set_async_editing_command, set_async_annotation_level, + set_async_prompt), event-loop.c (display_gdb_prompt): Move + declarations from here. + * event-loop.h: To here. + + * event-loop.h (delete_async_signal_handler): Add function + declaration. + + * event-top.c (change_annotation_level, command_handler): Add + declaration. Make static. + +Tue May 25 12:44:58 1999 Andrew Cagney + + * tracepoint.c (free_actions_list, add_register): Add declaration. + Make static. + (free_actions_list_cleanup_wrapper): New function. Wraps + free_actions_list for make_cleanup. + (trace_start_command): Pass free_actions_list_cleanup_wrapper + instead of free_actions_list to make_cleanup. + (_initialize_tracepoint): Add extern declaration. + +Tue May 25 12:23:39 1999 Andrew Cagney + + * jv-typeprint.c (java_type_print_base, jv-valprint.c + (java_print_value_fields): Add static declaration. + + * jv-lang.c (java_lookup_type, get_java_utf8_name, + java_lookup_type): Add static declaration. + (get_java_class_symtab, java_class_is_primitive, + java_value_string): Add declaration. Make static. + (java_rerun_cleanup): Add extern declaration for this stub + function. + +Tue May 25 12:06:29 1999 Andrew Cagney + + * gdbarch.h: When multi-arch, check that REGISTER_NAMES was not + defined. + +Mon May 24 16:16:29 1999 Andrew Cagney + + * inflow.c (_initialize_inflow), annotate.c + (_initialize_annotate), os9kread.c (_initialize_os9kread), + serial.c (_initialize_serial), nlmread.c (_initialize_nlmread), + f-valprint.c (_initialize_f_valprint), cp-valprint.c + (_initialize_cp_valprint), typeprint.c (_initialize_typeprint), + complaints.c (_initialize_complaints), scm-lang.c + (_initialize_scheme_language), m2-lang.c + (_initialize_m2_language), dbxread.c (_initialize_dbxread), + f-lang.c (_initialize_f_language), ch-lang.c + (_initialize_chill_language), c-lang.c (_initialize_c_language), + corefile.c (_initialize_core), stabsread.c + (_initialize_stabsread), mipsread.c (_initialize_mipsread), + elfread.c (_initialize_elfread), coffread.c + (_initialize_coffread), maint.c (_initialize_maint_cmds), + demangle.c (_initialize_demangler), maint.c + (_initialize_maint_cmds), language.c (_initialize_language): Add + external declaration. + * ui-out.c (_initialize_ui_out), cli-out.c (_initialize_cli_out): + Ditto. + +Mon May 24 10:04:56 1999 Andrew Cagney + + * config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/v850/tm-v850.h, + config/tic80/tm-tic80.h, config/tahoe/tm-tahoe.h, + config/rs6000/tm-rs6000.h, config/sparc/tm-sparc.h, + config/sh/tm-sh.h, config/pyr/tm-pyr.h, config/pa/tm-hppa.h, + config/ns32k/tm-merlin.h, config/mn10300/tm-mn10300.h, + config/mn10200/tm-mn10200.h, config/mips/tm-mips.h, + config/m88k/tm-m88k.h, config/m68k/tm-news.h, + config/m68k/tm-delta68.h, config/m68k/tm-isi.h, + config/m68k/tm-m68k.h, config/m32r/tm-m32r.h, + config/i960/tm-i960.h, config/i386/tm-i386v.h, + config/i386/tm-i386.h, config/h8500/tm-h8500.h, + config/h8300/tm-h8300.h, config/fr30/tm-fr30.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h, + config/convex/tm-convex.h, config/arc/tm-arc.h, + config/arm/tm-arm.h, config/alpha/tm-alpha.h, + config/a29k/tm-a29k.h: Re-write definition of FRAME_NUM_ARGS so + that it returns NUM_ARGS as a result instead of setting a variable + as a side effect. + + * ns32k-tdep.c (merlin_frame_num_args), tahoe-tdep.c + (tahoe_frame_num_args), vax-tdep.c (vax_frame_num_args), + m68k-tdep.c (news_frame_num_args, delta68_frame_num_args, + isi_frame_num_args), convex-tdep.c (convex_frame_num_args): New + functions. + + * stack.c (print_args_stub): Update use of FRAME_NUM_ARGS. + +Mon May 24 11:57:04 1999 Andrew Cagney + + * remote.c (remote_xfer_memory): Re-write with assumption that + REMOTE_TRANSLATE_XFER_ADDRESS is defined. Pass targ_addr and + targ_len by reference. + (REMOTE_TRANSLATE_XFER_ADDRESS): Provide default definition. + + * remote-d10v.c (remote_d10v_translate_xfer_address): Update. + * config/d10v/tm-d10v.h (REMOTE_TRANSLATE_XFER_ADDRESS): Update. + +Mon May 24 12:10:58 1999 Andrew Cagney + + * value.h (default_push_arguments): Add function declaration. + + * alpha-tdep.c (alpha_about_to_return), gdbarch.c (verify_gdbarch, + arch_ok, set_arch), command.c (find_cmd), infrun.c + (follow_inferior_fork, follow_fork, follow_vfork, + set_schedlock_func, is_internal_shlib_eventpoint, + stopped_for_internal_shlib_event, stopped_for_shlib_catchpoint, + xdb_handle_command), infcmd.c (run_no_args_command, go_command), + symfile.c (add_filename_language, set_ext_lang_command, + info_ext_lang_command, init_filename_language_table), symtab.c + (overload_list_add_symbol), defs.h (default_get_saved_register), + ax-general.c (grow_expr, append_const, read_const, generic_ext): + Ditto. + + * infrun.c (currently_stepping): Ditto. Make static. + + * valops.c (hand_function_call): Explictly type static variable + ``checked''. + +Mon May 24 08:36:18 1999 Andrew Cagney + + * d10v-tdep.c (d10v_breakpoint_from_pc, d10v_register_name, + d10v_register_byte, d10v_register_raw_size, + d10v_register_virtual_size, d10v_register_virtual_type, + d10v_make_daddr, d10v_make_iaddr, d10v_daddr_p, d10v_iaddr_p, + d10v_convert_iaddr_to_raw, d10v_convert_daddr_to_raw, + d10v_store_struct_return, d10v_store_return_value, + d10v_extract_struct_value_address, d10v_frame_saved_pc, + d10v_frame_args_address, d10v_frame_locals_address, + d10v_saved_pc_after_call): New functions. + + * config/d10v/tm-d10v.h (REGISTER_BYTE, REGISTER_RAW_SIZE, + REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE, STORE_STRUCT_RETURN, + D10V_MAKE_DADDR, D10V_MAKE_IADDR, D10V_DADDR_P, D10V_IADDR_P, + D10V_CONVERT_DADDR_TO_RAW, D10V_CONVERT_IADDR_TO_RAW, + STORE_STRUCT_RETURN, STORE_RETURN_VALUE, + EXTRACT_STRUCT_VALUE_ADDRESS, SAVED_PC_AFTER_CALL, FRAME_SAVED_PC, + FRAME_ARGS_ADDRESS): Re-define using new functions. + + * config/d10v/tm-d10v.h (BREAKPOINT_FROM_PC): Replace BREAKPOINT. + (REGISTER_NAME): Replace REGISTER_NAMES. + + * utils.c (core_addr_lessthan, core_addr_greaterthan): New + functions. + * defs.h (core_addr_lessthan, core_addr_greaterthan): Declare. + +Sat May 22 16:44:06 1999 Andrew Cagney + + * utils.c (n_spaces): Handle case where first call has N equal to + zero. + (print_spaces): Use n_spaces. + +Fri May 21 11:23:54 1999 Andrew Cagney + + * valops.c (value_push): Remove conditional definition based on + absense of macro PUSH_ARGUMENTS. Pass SP and STRUCT_ADDR by + reference. + (default_push_arguments): New function. + + * config/v850/tm-v850.h, config/tic80/tm-tic80.h, + config/sparc/tm-sparc.h, config/sparc/tm-sp64.h, + config/sh/tm-sh.h, config/rs6000/tm-rs6000.h, config/pa/tm-hppa.h, + config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h, + config/mips/tm-mips.h, config/m32r/tm-m32r.h, + config/h8300/tm-h8300.h, config/fr30/tm-fr30.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h, config/arm/tm-arm.h, + config/alpha/tm-alpha.h: Update definition of PUSH_ARGUMENTS. + Return updated SP. + + * rs6000-tdep.c (rs6000_push_arguments): Rename push_arguments. + +1999-05-21 Fernando Nasser + + * breakpoint.c (breakpoint_1): Added ui_out output code but still + uses old code by default. + +1999-05-21 Fernando Nasser + + * Makefile.in: Added ui-ou files. + * main.c (main): Install cli_out by default. + * ui-out.c (ui_out_table_begin): Use saved table id. + +1999-05-21 Fernando Nasser + + * ui-out.h: Export implementation vectors so they can be + installed in main.c and top.c. + +1999-05-21 Fernando Nasser + + * ui-out.h: New file. Defines the ui_out API. + * ui-out.c: New file. Implements the ui_out API abstraction only. + * cli-out.c: New file. Implements low-level ui-out primitives for + CLI-based interaction. + +1999-05-20 Elena Zannoni + + * top.c (simplified_command_loop): Reformat using GNU style. + (call_interp_loop): Ditto. + +Thu May 20 12:18:28 1999 Andrew Cagney + + * blockframe.c (get_prev_frame): Remove #ifdef around test for + FRAMELESS_FUNCTION_INVOCATION. + (get_prev_frame): Change FRAMELESS_FUNCTION_INVOCATION call to a + function invocation. + * i386-tdep.c (i386_frame_num_args), stack.c (frame_info): Ditto. + * config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/vax/tm-vax.h, + config/sparc/tm-sparc.h, config/sh/tm-sh.h, + config/rs6000/tm-rs6000.h, config/pa/tm-hppa.h, + config/mips/tm-mips.h, config/m88k/tm-m88k.h, + config/m68k/tm-m68k.h, config/i960/tm-i960.h, + config/i386/tm-sun386.h, config/i386/tm-i386v.h, + config/i386/tm-i386.h, config/h8500/tm-h8500.h, + config/h8300/tm-h8300.h, config/fr30/tm-fr30.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h, + config/convex/tm-convex.h, config/arm/tm-arm.h, + config/arc/tm-arc.h, config/alpha/tm-alpha.h, + config/a29k/tm-a29k.h: Update FRAMELESS_FUNCTION_INVOCATION. + * fr30-tdep.c (fr30_frameless_function_invocation), convex-tdep.c + (convex_frameless_function_invocation), arm-tdep.c + (arm_frameless_function_invocation): New functions. + +1999-05-20 Elena Zannoni + + * top.c: Change dates in comments to ISO format. + + * event-top.c: Ditto. + * event-loop.c: Ditto. + * main.c: Ditto. + +1999-05-20 Elena Zannoni + + * top.c (simplified_command_loop): New function. It is just a + bare minimal command_loop. + (call_interp_loop): New function. Call the correct version of the + command loop, with the appropriate input reading function, + depending on which interpreter gdb was invoked with. + + * main.c (main): Recognize and handle the new command line option + --interpreter. If an interpreter is specified, call the appropriate + command handling function. + +1999-05-19 Keith Seitz + + * config/mcore/tm-mcore.h (BELIEVE_PCC_PROMOTION): Define. We + really do want to believe what gcc tells us about types... + +1999-05-19 Keith Seitz + + * config/mcore/tm-mcore.h (FRAME_ARGS_ADDRESS): Define to a function. + (FRAME_LOCALS_ADDRESS): Ditto. + * mcore-tdep.c (mcore_frame_args_addcress): New function. + (mcore_frame_locals_address): New function. + + * monitor.c (monitor_open): Only assume we have eight + breakpoints if the monitor implementation does not tell + us how many there really are. Alloc memory for these + dynamically. + (monitor_close): Free memory associated with breakpoint + storage. + (monitor_insert_breakpoint): Don't rely on a hardcoded + number of breakpoints. + (monitor_remove_breakpoint): Ditto. + (NUM_MONITOR_BREAKPOINTS): Removed and replaced with monitor_ops + specification. + * monitor.h (struct monitor_ops): Add new member so that the + individual monitor implementations can tell us how many + breakpoints the monitor supports. + + * mcore-rom.c (init_picobug_cmds): Add number of breakpoints supported + by picobug monitor. + +1999-05-18 Elena Zannoni + + From Philippe De Muyter : + * event-loop.h: Include sys/wait.h only if HAVE_SYS_WAIT_H. + +1999-05-17 Keith Seitz + + * configure.tgt: Add MCore target. + * Makefile.in: Add mcore-tdep.c and mcore-rom.c + * config/mcore/tm-mcore.h: New file. + * config/mcore/mcore.mt: New file. + * mcore-rom.c: New file. + * mcore-tdep.c: New file. + +1999-05-17 Fernando Nasser + + * top.c (print_command_line): Added the missing stream argument. + * gdbcmd.h: Added argument to prototype. + * command.c: Fixed call to include extra argument. + * breakpoint.c: Same. + +1999-05-14 Jim Blandy + + Targets are #defining PREPARE_TO_PROCEED with inconsistent numbers + of arguments. Since the Mach 3 target needs an argument, we'll + make things consistent by adding an argument everywhere. + * infrun.c (proceed): Pass an argument to PREPARE_TO_PROCEED. + * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Add ignored argument + to definition. + +1999-05-11 Stan Shebs + + Fri Apr 23 13:27:34 PDT 1999 Toshiyasu Morita (tm@netcom.com) + * sh-stub.c: Mostly localize processor dependencies. + +1999-05-10 Martin Hunt + + * debugify.c, debugify.h: Removed because they are no + longer used. + +1999-05-08 Jim Blandy + + * infrun.c (_initialize_infrun): Handle TARGET_SIGNAL_LWP, + TARGET_SIGNAL_WAITING, and TARGET_SIGNAL_CANCEL like SIGALRM or + SIGIO --- pass them through to the inferior silently. + * target.h (enum target_signals): Add TARGET_SIGNAL_CANCEL, for + Solaris's SIGCANCEL. + * target.c (target_signal_from_host, target_signal_to_host): Add + mapping between SIGCANCEL and TARGET_SIGNAL_CANCEL. + (signals): Add entry for SIGCANCEL. + +1999-05-07 Stan Shebs + + After years of talking about it, finally break up the + wait_for_inferior loop. + * infrun.c (struct execution_control_state): New struct, + holds what used to be local vars governing wfi behavior. + (init_execution_control_state): New function, was code in + wfi that set up execution control state. + (handle_inferior_event): New function, was body of main + wfi loop. Rewrite all local var references to go through + the ecs structure passed into this function. + (wait_for_inferior): Rewrite to set up and use execution control + state, and to call the new functions. + (currently_stepping): New function, was the macro + CURRENTLY_STEPPING. + (enum infwait_states): Rename from wfi_states. + (infwait_normal_state, etc): Similarly. + +Thu May 6 15:25:32 1999 Philippe De Muyter + + * coffread.c (coff_symtab_read): Call `record_line' with the line + number of the ".bf" symbol only for one-line functions. + +1999-05-06 Michael Snyder + + * Makefile.in: thread.o depends on target.h. + +1999-05-06 Elena Zannoni + + * event-top.c (change_line_handler): Use POLLIN instead of + POLLRDNORM, for compatibility with Linux. + (setup_event_loop): Ditto. + +1999-05-06 Jim Blandy + + * mips-tdep.c (heuristic_proc_start): Rewrite cryptic error + message about hitting the "heuristic fence post" with something + that actually gives the user a fighting chance of figuring out + why GDB is unhappy. + +1999-05-06 Elena Zannoni + + * top.c: Include event-loop.h. + (init_main): Add async version of 'set prompt' command. + If in async mode define the editing and annotate set + commands in a different way. + Initialize new variable asyn_command_editing_p to 1. + Initialize the gdb prompt for async mode. + (quit_cover): Make not static, for use by the event loop. + (gdb_init): Call async_init_signals for the asynchronous case. + (source_line_number, source_file_name, source_error, + source_pre_error, history_expansion_p): Make non-static, so + event-top.c can use them. + (command_loop_marker): Make non-static, for use in event-top.c. + Include event-loop.h. + + * top.h: Add prototype for async_init_signals. + (SET_TOP_LEVEL): Move here from main.c. + Add setup_event_loop to exported functions. + + * defs.h: Add async_hook to exported variables. + + * main.c (SET_TOP_LEVEL): Move to top.h, so that it is visible in + event-loop.c. Add new global variable async to determine whether + we are running in async mode or not. + (main): Add support for --async switch. Use async_hook to call + setup_event_loop, when running in async mode. + + * event-top.c: New file. Gdb input line handler and command line + handler for the event loop. Initialization of signal handlers. + All the handled signals have handlers called handle_. + Set up all the appropriate tokens for asynchronous signal + handling. + + * event-loop.h: New file. Data structures and definitions for the + event loop. + + * event-loop.c: New file. Functions for the event loop + implementation. + + * config.in: Regenerate with autoheader. + + * configure.in (AC_CHECK_FUNCS): Add poll to list of functions + to be checked for. + + * configure: Regenerate. + + * Makefile.in (SFILES): Add new source files. + (eventloop_h): Define. + (COMMON_OBS): Add new object files. + (event-loop.o): Add rule for target object. + (event-top.o): Ditto. + +1999-05-05 Stan Shebs + + * infrun.c (wait_for_inferior): Transform breaks and continues + into gotos, move the target_wait to the very top of the loop. + +1999-05-05 Jonathan Larmour + + * configure.in: Ensure that GDB links with libuser32.a under + cygwin because libreadline requires it. + * Makefile.in (WIN32LIBS): Substitute in result from configure + * configure: regenerate + +1999-05-04 Jim Blandy + + Fix from John Rigby. Richard Henderson says it seems okay. + * alpha-tdep.c (PROC_DUMMY_FRAME): As long as we're abusing fields + of (proc)->pdr, we ought to at least abuse one large enough to + hold the value we're trying to store in it. iopt is only 32 bits + wide; cbLineOffset is a bfd_vma. + +1999-05-04 DJ Delorie + + DJGPP changes from Robert Hoehne + + * ser-go32.c: correct includes + * source.c (openp): use ROOTED_P instead of SLASH_P + * go32-nat.c: enhance exception and NPX handling + (go32_kill_inferior): fix small bug killing inferior + * configure.in: don't look for termcap with djgpp + * configure: rebuild + +1999-05-04 Elena Zannoni + + * main.c (main): Comment out unused and undocumented command line + option '-'. + +1999-04-30 Jim Blandy + + Cleanup from Philippe De Muyter: + * configure.in (BFD_NEED_DECLARATION): Check also for strstr. + * acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_REALLOC, + NEED_DECLARATION_FREE, NEED_DECLARATION_STRERROR): Define slots + removed; they are now generated automatically. + * gdb_string.h (strstr): Provide function prototype if + NEED_DECLARATION_STRSTR. + * configure, config.in: Regenerated. + +Fri Apr 30 11:16:09 1999 Michael Snyder + + * target.h (to_find_new_threads): new target ops vector. + (target_find_new_threads): define. + * target.c (update_current_target): inherit new target ops vector. + * remote.c: Setup to_find_new_threads vector. + * sol-thread.c: ditto. + * thread.c (target_find_new_threads): rename: local_find_new_threads. + (info_threads_command): call target_find_new_threads by new method, + as a target ops vector, rather than previous macro definition method. + * infcmd.c (go_command): define only if in xdb mode. + * procfs.c: fix typo in comment. + +Fri Apr 30 01:02:05 1999 Jeffrey A Law (law@cygnus.com) + + * hppah-nat.c: Fix various coding convention violations introduced + by HP. + (child_acknowledge_created_inferior): Do nothing if PT_SET_EVENT_MASK + is not defined. + +1999-04-28 Stan Shebs + + * TODO: Add some items inspired by review of the manual. + +Tue Apr 27 17:38:19 1999 Andrew Cagney + + * config/z8k/tm-z8k.h, config/v850/tm-v850.h, + config/tic80/tm-tic80.h, config/sparc/tm-sparc.h, + config/sh/tm-sh.h, config/pyr/tm-pyr.h, config/pa/tm-hppa.h, + config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h, + config/mips/tm-mips.h, config/m88k/tm-m88k.h, + config/m68k/tm-m68k.h, config/m32r/tm-m32r.h, + config/i960/tm-i960.h, config/i386/tm-i386.h, + config/h8500/tm-h8500.h, config/h8300/tm-h8300.h, + config/fr30/tm-fr30.h, config/d30v/tm-d30v.h, + config/d10v/tm-d10v.h, config/alpha/tm-alpha.h, + config/arm/tm-arm.h, config/a29k/tm-a29k.h, config/arc/tm-arc.h: + Change SKIP_PROLOGUE and SKIP_PROLOGUE_FRAMELESS_P macros so that + they return the new address. + + * sparc-tdep.c (sparc_skip_prologue), hppa-tdep.c + (hppa_skip_prologue), m88k-tdep.c + (m88k_skip_prologue), i960-tdep.c + (i960_skip_prologue), arc-tdep.c + (arc_skip_prologue), a29k-tdep.c (a29k_skip_prologue): Rename + skip_prologue function. + + * config/m68k/tm-isi.h: Convert macro SKIP_PROLOGUE into a new + function. + * m68k-tdep.c (isi_skip_prologue): That new function. + * vax-tdep.c (vax_skip_prologue), config/vax/tm-vax.h: Ditto. + * tahoe-tdep.c (tahoe_skip_prologue), config/tahoe/tm-tahoe.h: Ditto. + * rs6000-tdep.c (rs6000_skip_prologue), config/rs6000/tm-rs6000.h: + Ditto. + * ns32k-tdep.c (umax_skip_prologue), config/ns32k/tm-umax.h: Ditto. + * config/ns32k/tm-merlin.h, ns32k-tdep.c (merlin_skip_prologue): + Ditto. + * config/m68k/tm-altos.h, m68k-tdep.c (altos_skip_prologue): Ditto. + * config/convex/tm-convex.h, convex-tdep.c (convex_skip_prologue): + Ditto. + + * symtab.c (in_prologue, find_function_start_sal, decode_line_1), + infrun.c (wait_for_inferior), blockframe.c + (frameless_look_for_prologue): Update. + * config/fr30/tm-fr30.h (FRAMELESS_FUNCTION_INVOCATION): Update. + +1999-04-27 Stan Shebs + + * TODO: Remove item about DEBUG_EXPRESSIONS, no longer meaningful. + + * infrun.c (enum wfi_state): New enum. + (wait_for_inferior): Merge all but one of the target_wait calls + into a single call, add a wfi_state variable to encode which of + the calls is being made. + +1999-04-26 Jim Blandy + + Fix from Dave Holcomb. + * hpux-thread.c (init_hpux_thread_ops): Use the right function + name when initializing hpux_thread_ops.to_thread_alive. + + * coffread.c (coff_symfile_read): If we have a `.stab' section, + but no `.stabstr' section, then print an error message; don't + crash. + +1999-04-26 Jim Blandy + + 1999-04-25 Mark Kettenis + + * gnu-nat.c (gnu_attach): Call target_terminal_init before calling + inf_set_traced, since that function calls code that might try to + restore the terminal settings. + +Mon Apr 26 08:55:46 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: More format cleanups. + +Sun Apr 25 18:54:51 1999 Andrew Cagney + + * gdbarch.h (CALL_DUMMY_STACK_ADJUST_P): Replace + SIZEOF_CALL_DUMMY_STACK_ADJUST_P. + (CALL_DUMMY_STACK_ADJUST): Replace + SIZEOF_CALL_DUMMY_STACK_ADJUST_P. + * gdbarch.c (gdbarch_call_dummy_stack_adjust, + set_gdbarch_call_dummy_stack_adjust): Define. + +Fri Apr 23 15:00:25 1999 Andrew Cagney + + * gdbarch.c (arch_ok): New function. Fix logic test for a valid + architecture. + (set_arch): Use. + +1999-04-22 Jason Molenda (jsm@bugshack.cygnus.com) + + * README: Note that readline is not installed as a part of + make install. + +Thu Apr 22 21:02:28 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c (GET_SAVED_REGISTER, get_saved_register): + Add. + (struct gdbarch, verify_gdbarch, gdbarch_alloc, gdbarch_dump, + default_gdbarch): Update. + + * value.h (get_saved_register): Cleanup prototype. + * findvar.c (default_get_saved_register): Rename function + get_saved_register. + (GET_SAVED_REGISTER): Define as default_get_saved_register when + undefined. + (get_saved_register): Always declare. Call GET_SAVED_REGISTER. + + * sparc-tdep.c (sparc_get_saved_register): Rename function + get_saved_register. + * config/sparc/tm-sparc.h (GET_SAVED_REGISTER): Update. + * a29k-tdep.c (a29k_get_saved_register): Rename function + get_saved_register. + * config/a29k/tm-a29k.h (GET_SAVED_REGISTER): Update. + + * config/d10v/tm-d10v.h, config/powerpc/tm-ppc-eabi.h, + config/h8300/tm-h8300.h, config/m32r/tm-m32r.h, + config/mn10200/tm-mn10200.h, config/mn10300/tm-mn10300.h, + config/sh/tm-sh.h, config/tic80/tm-tic80.h, config/v850/tm-v850.h: + Update macro GET_SAVED_REGISTER so that it calls + generic_get_saved_register. + * v850-tdep.c, tic80-tdep.c, sh-tdep.c, mn10300-tdep.c, + mn10200-tdep.c, m32r-tdep.c, h8300-tdep.c, rs6000-tdep.c: Delete + function get_saved_register. + +Thu Apr 22 13:32:23 1999 Andrew Cagney + + * gdbarch.c: Cleanup. Re-order the definition of the ``struct + gdbarch'' initialization functions so that maintenance is more + straightforward. + +Thu Apr 22 11:07:21 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c (use_generic_dummy_frames, + USE_GENERIC_DUMMY_FRAMES): Add. + (struct gdbarch, verify_gdbarch, gdbarch_alloc, gdbarch_dump, + default_gdbarch): Update. + + * config/v850/tm-v850.h, config/tic80/tm-tic80.h, + config/sh/tm-sh.h, config/powerpc/tm-ppc-eabi.h, + config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h, + config/m32r/tm-m32r.h, config/h8300/tm-h8300.h, + config/fr30/tm-fr30.h, config/d10v/tm-d10v.h: Give the + USE_GENERIC_DUMMY_FRAMES macro the value one. + * inferior.h (USE_GENERIC_DUMMY_FRAMES): Default to a value of + zero. + + * blockframe.c (generic_find_dummy_frame, + generic_pc_in_call_dummy, generic_read_register_dummy, + generic_push_dummy_frame, generic_pop_current_frame, + generic_pop_dummy_frame, generic_frame_chain_valid, + generic_get_saved_register): Always define. + + * breakpoint.c (frame_in_dummy): Convert #ifdef + USE_GENERIC_DUMMY_FRAMES to runtime test. + + * rs6000-tdep.c (pop_frame, push_arguments, push_arguments, + push_arguments, frame_saved_pc, rs6000_frame_chain, + rs6000_frame_chain): Convert #ifdef USE_GENERIC_DUMMY_FRAMES to + runtime test. + (get_saved_register): Always define. + +Wed Apr 21 17:15:52 1999 Andrew Cagney + + * gdbarch.c (gdbarch_dump): Fix robustness check on + BELIEVE_PCC_PROMOTION_TYPE. + +Wed Apr 21 15:39:27 1999 Andrew Cagney + + * gdbarch.h (TARGET_BYTE_ORDER_SELECTABLE_P): When multi-arch, + force selectable byte order. + (CALL_DUMMY): Check for CALL_DUMMY definition when multi-arch. Are + incompatible. + * gdbarch.c (verify_gdbarch): Check call_dummy_stack_adjust. + +Wed Apr 21 14:45:44 1999 Andrew Cagney + + * gdbarch.c (gdbarch_update): Move dump-arch code from here. + (gdbarch_dump): To here. Make more robust. + * gdbarch.h (gdbarch_dump): Add prototype. + + * gdbarch.c (enum set_arch): Declare. + (set_arch): Add type parameter. Only disable + ``target_architecture_auto'' when set_arch_manual. + (set_architecture, set_architecture_from_arch_mach, + set_architecture_from_file): Update. + (set_arch): When ``gdbarch_debug'', gdbarch_dump() the current + architecture. + +Wed Apr 21 10:48:53 1999 Andrew Cagney + + * frame.h (generic_pc_in_call_dummy): Make signature consistent + with other pc_in_call_dummy functions by adding SP parameter. + * blockframe.c (generic_pc_in_call_dummy): Update. Pass SP and + not FP to generic_find_dummy_frame(). + * breakpoint.c (frame_in_dummy): Update. + * config/v850/tm-v850.h, config/tic80/tm-tic80.h, + config/sh/tm-sh.h, config/mn10300/tm-mn10300.h, + config/mn10200/tm-mn10200.h, config/m32r/tm-m32r.h, + config/h8300/tm-h8300.h, config/fr30/tm-fr30.h, + config/d10v/tm-d10v.h: Update PC_IN_CALL_DUMMY definition. + +Tue Apr 20 12:15:45 1999 Andrew Cagney + + * config/d10v/tm-d10v.h (GDB_TARGET_IS_D10V): Move from here. + * gdbarch.h (GDB_TARGET_IS_D10V): To here. Implement using + TARGET_ARCHITECTURE. + (D10V_MAKE_DADDR, D10V_MAKE_IADDR): Provide fatal default + definitions. + + * valops.c (value_at): Replace #ifdef GDB_TARGET_IS_D10V code with + runtime test. + (value_fetch_lazy): Ditto. + * values.c (unpack_long): Ditto. + * printcmd.c (print_frame_args): Ditto. + +Sat Apr 17 15:39:33 1999 Andrew Cagney + + * gdbarch.h: Cleanup multi-arch comments. + +Fri Apr 16 15:39:10 1999 Andrew Cagney + + * gdbarch.h: Provide definition if GDB_MULTI_ARCH > 1 or + GDB_MULTI_ARCH > 0 and no previous definition. + * gdbarch.c (verify_gdbarch): Only verify a full multi-arch + target. + +1999-04-15 Stan Shebs + + * infrun.c (wait_for_inferior) [HAVE_STEPPABLE_WATCHPOINT, + HAVE_NONSTEPPABLE_WATCHPOINT, HAVE_CONTINUABLE_WATCHPOINT]: Test + at runtime instead of compile time. + +Thu Apr 15 15:15:07 1999 Andrew Cagney + + * mips-tdep.c (struct gdbarch_tdep): Rename elf_abi to + elf_flags. Check ABFD is elf_flavour before extracting elf_flags. + Match ARCH against entire elf_flags instead of just the + EF_MIPS_ABI field. + (mips_gdbarch_init): Extract/print ef_mips_arch and + ef_mips_bitptrs and ef_mips_abi fields from elf_flags. + +1999-04-14 Philippe De Muyter + + * breakpoint.c (maintenance_info_breakpoints): Function made + static to match previous prototype. + + * coffread.c (coff_record_line): Static function removed. + (enter_linenos): Call `record_line' instead of `coff_record_line'. + (FILE-LEVEL, coff_start_symtab, coff_end_symtab): `coff_record_line' + -related stuff removed. + (coff_symfile_read): Redundant statement removed. + (coff_symtab_read): `record_line' is now called with the first line + number of each function, given by the ".bf" symbol. This solves + the line-number bug for one-line functions. + +Wed Apr 14 11:09:45 1999 Andrew Cagney + + * gdbarch.h (BELIEVE_PCC_PROMOTION_TYPE, BELIEVE_PCC_PROMOTION): + Add multi-arch definitions. + * gdbarch.c (gdbarch_believe_pcc_promotion, + gdbarch_believe_pcc_promotion_type): New functions. + (gdbarch_update): Update + (struct gdbarch default_gdbarch): Update. + + * stabsread.c (BELIEVE_PCC_PROMOTION_TYPE): Provide default. + (define_symbol): Change #if BELIEVE_PCC_PROMOTION_TYPE and #if + BELIEVE_PCC_PROMOTION to if(). + +1999-04-13 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (HAVE_MULTIPLE_PROC_FDS): Don't define if we're + on a Solaris host (of any architecture). + * configure: Regenerated. + +Wed Apr 14 08:23:32 1999 Andrew Cagney + + * gdbarch.c (SET_GDBARCH, GET_GDBARCH, FSET_GDBARCH): New macros. + (gdbarch_byte_order, gdbarch_long_bit, gdbarch_long_long_bit, + gdbarch_ptr_bit, gdbarch_call_dummy_location, + gdbarch_call_dummy_address, gdbarch_call_dummy_address, + gdbarch_call_dummy_breakpoint_offset, + gdbarch_call_dummy_breakpoint_offset, gdbarch_call_dummy_length, + gdbarch_pc_in_call_dummy, dbarch_call_dummy_breakpoint_offset_p, + dbarch_call_dummy_p, dbarch_call_dummy_words, + dbarch_sizeof_call_dummy_words, dbarch_call_dummy_stack_adjust, + dbarch_call_dummy_stack_adjust_p): Define using new macros. + +1999-04-13 Jason Molenda (jsm@bugshack.cygnus.com) + + * rom68k-rom.c (init_rom68k_cmds): Fix an accidental substitution + in monitor command strings, fix some formatting mistakes. + +1999-04-13 Stan Shebs + + * configure.tgt (arm-*-*): Whack another vestige of wingdb. + +1999-04-12 James Ingham + + * arm-tdep.c (arm_pop_frame): don't clobber the previous frame's + stack pointer (stored in frame->framereg's register) BEFORE + reading it. This was causing "return" to behave very oddly. + +1999-04-12 Stan Shebs + + * NEWS: Mention tic80. + +1999-04-12 Elena Zannoni + + * a68v-nat.c: Remove reference to 'extern char registers[]' throughout. + * altos-xdep.c: Ditto. + * arm-xdep.c: Ditto. + * convex-xdep.c: Ditto. + * cxux-nat.c: Ditto. + * hp300ux-nat.c: Ditto. + * hppab-nat.c: Ditto. + * i386aix-nat.c: Ditto. + * i386mach-nat.c: Ditto. + * m88k-nat.c: Ditto. + * ptx4-nat.c: Ditto. + * pyr-xdep.c: Ditto. + * rs6000-nat.c: Ditto. + * sun3-nat.c: Ditto. + * sun386-nat.c: Ditto. + * symm-nat.c: Ditto. + * umax-xdep.c: Ditto. + * i386v4-nat.c: Ditto. Also include inferior.h. + * m68k-tdep.c: Ditto. Also include inferior.h. + +Mon Apr 12 15:57:16 1999 Andrew Cagney + + * inferior.h (CALL_DUMMY_STACK_ADJUST, CALL_DUMMY_STACK_ADJUST_P): + Provide default definitions. + * valops.c (hand_function_call): Replace #ifdef + CALL_DUMMY_STACK_ADJUST with if (CALL_DUMMY_STACK_ADJUST_P). + + * gdbarch.h (SIZEOF_CALL_DUMMY_STACK_ADJUST, + (SIZEOF_CALL_DUMMY_STACK_ADJUST_P): Define + * gdbarch.c (struct gdbarch): Add call_dummy_stack_adjust, + call_dummy_stack_adjust_p. + (gdbarch_call_dummy_stack_adjust, + set_gdbarch_call_dummy_stack_adjust, + gdbarch_call_dummy_stack_adjust_p, + set_gdbarch_call_dummy_stack_adjust_p): New functions. + (default_gdbarch): Update. + +1999-04-09 Jim Blandy + + * ax-gdb.c, ax-gdb.h, ax-general.c, ax.h: Remove RCS Id strings. + They're a pain. + + * GDB 4.18 released. + * Makefile.in (VERSION): Bump to 4.18.1. + +Thu Apr 8 16:04:34 1999 Andrew Cagney + + * inferior.h (CALL_DUMMY_P, CALL_DUMMY_WORDS, + SIZEOF_CALL_DUMMY_WORDS): Define macros. + (PUSH_DUMMY_FRAME, FIX_CALL_DUMMY, STORE_STRUCT_RETURN): Provide + fatal default. + + * inferior.h, gdbarch.c (call_dummy_words, + sizeof_call_dummy_words): Declare/Define variables. + * valops.c (value_arg_coerce, find_function_addr, + call_function_by_hand): Always define. + (hand_function_call): Rename CALL_DUMMY version of + call_function_by_hand. Make static. Add prototype. + (hand_function_call): Update. Allocate space for *dummy and + *dummy1 using alloca. + * breakpoint.c (frame_in_dummy): Update. + + * gdbarch.h (CALL_DUMMY_P, CALL_DUMMY_WORDS, + SIZEOF_CALL_DUMMY_WORDS): Define. + * gdbarch.c (gdbarch_call_dummy_p, set_gdbarch_call_dummy_p, + gdbarch_call_dummy_words, set_gdbarch_call_dummy_words, + gdbarch_sizeof_call_dummy_words, + set_gdbarch_sizeof_call_dummy_words): New functions. + (gdbarch_alloc, verify_gdbarch, gdbarch_update, struct + default_gdbarch): Update. + +1999-04-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (monitor_read_memory): If a MO_GETMEM_NEEDS_RANGE + monitor, increase the end address by one byte. + +1999-04-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * dbug-rom.c (init_dbug_cmds): Fix strings in + dbug_cmds.{step,clr_break,clr_all_break,fill} to send correct + commands to the monitor. + +1999-04-08 Keith Seitz + + * m32r-stub.c (branchDestination): Undo overly ambitious + sed script's conversion of cast from "char" to "unsigned char". + Return offset should now be properly computed. + +Thu Apr 8 14:13:19 1999 Andrew Cagney + + * inferior.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): New macro. + Non-zero when CALL_DUMMY_BREAKPOINT_OFFSET is valid. + + * infcmd.c (breakpoint_auto_delete_contents): Always define. + (run_stack_dummy): Update. + * infrun.c (wait_for_inferior): Update + + * gdbarch.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): New macro. + * gdbarch.c (set_gdbarch_call_dummy_breakpoint_offset_p, + gdbarch_call_dummy_breakpoint_offset_p): New functions. + (struct gdbarch, gdbarch_alloc, default_gdbarch, gdbarch_update): + Update. + +1999-04-07 Stan Shebs + + * MAINTAINERS: Mark Alexander can no longer maintain + h8300 and other embedded targets, sniff. + +1999-04-06 Stan Shebs + + * inftarg.c (child_wait): Initialize execd_pathname. + * target.c (debug_to_has_execd): Handle NULL execd_pathname. + + * solib.c (clear_solib): Don't call disable_breakpoints_in_shlibs, + this breaks rerunning on sun4 native. + +1999-04-06 Jim Blandy + + * config/sparc/nm-linux.h: Don't redefine PT_ATTACH to use the + deprecated PTRACE_SUNATTACH compatibility commands. The + definitions from are fine. + +1999-04-06 Martin Hunt + + * annotate.h: Declare annotate_signal_hook. + + * annotate.c (annotate_signal): Add a call to + annotate_signal_hook(). + +1999-04-06 Jim Blandy + + * dwarf2read.c (dwarf_decode_lines): Don't call record_line when + we hit a DW_LNE_end_sequence instruction. + + * README: Note that GDB requires an ANSI C compiler, and explain + how to get GCC. + + * README: Update. + +1999-04-05 Stan Shebs + + * NEWS: Add more notes about user-visible changes. + +Mon Apr 5 14:56:59 1999 Michael Snyder + + * target.c (target_signal_to_string): check for signal + number in range; otherwise if the target board returns + a bogus signal number we might core dump (per David Taylor). + +1999-04-05 David Taylor + + * utils.c (fputs_maybe_filtered): test value of + pagination_enabled before paginating. + +1999-04-02 James Ingham + + * blockframe.c (get_prev_frame): Remove the redundant + get_prev_frame_info. It is now exactly the same as + get_prev_frame, so there is no reason to have both functions. + + * rs6000-tdep.c (rs6000_init_extra_frame_info): + frame.h: + a29k-tdep.c (init_extra_frame_info): + config/a29k/tm-a29k.h: + i386-tdep.c: + Change all references to get_prev_frame_info to get_prev_frame. + +1999-04-02 Stan Shebs + + * bcache.c, bcache.h, breakpoint.c, defs.h, expprint.c, + expression.h, gdbarch.c, gdbtypes.c, gdbtypes.h, gnu-nat.c, + gnu-nat.h, hppa-tdep.c, maint.c, monitor.c, objfiles.h, parse.c, + remote-mips.c, remote-sds.c, remote.c, sol-thread.c, symmisc.c, + symtab.h, target.c, top.c, typeprint.c, config/nm-gnu.h: Evaporate + the unused MAINTENANCE_CMDS conditional. + +1999-04-02 James Ingham + + * config/arm/tm-arm.h: (EXTRACT_STRUCT_VALUE_ADDRESS): This needs + to call extract_address, not just cast the first 4 bytes, since + the result will be passed to value_at which expects host-byte + order. + + * arm-tdep.c (arm_scan_prologue): The prologue_start address was + directly &'ed with 0x03fffffc, rather than using + ADDR_BITS_REMOVE. This would cause inferior function calls to + report the stack incorrectly on return. + + +1999-04-02 Keith Seitz + + * top.c (ui_loop_hook): Change declaration. Now returns an int. + * win32-nat.c (child_wait): Timeout WaitForDebugEvent and call + the ui_loop_hook if there was no debug event. + * top.c (ui_loop_hook): Change to return an int and include + on all non-Cygwin builds. + * v850ice.c: Change prototype of ui_loop_hook. + (v850ice_wait): Update call to ui_loop_hook. + * ser-unix.c (hardwire_readchar): Enable ui_loop_hook callbacks + for non-Cygwin builds. Check return status of ui_loop_hook and + return a timeout if told to detach. Add more documentation. + * ser-tcp.c (tcp_readchar): Break up timeouts into one second + intervals and call ui_loop_hook so that other UIs can + keep up to date. If ui_loop_hook returns non-zero, then + return SERIAL_TIMEOUT to facilitate detaching from the + target. + * remote.c (remote_interrupted_already): Remove. + (remote_interrupt_twice): Revive. + (remote_interrupt): Call remote_stop to interrupt the target + and install remote_interrupt_twice to take more severe + actions if this fails. + (remote_stop): Only attempt to stop the target. This separates + the command line from other UIs. + * remote-sim.c (gdb_os_poll_quit): Add a call to ui_loop_hook, + if it is defined. + +1999-04-01 Jim Blandy + + Fix for cross-debugging on an AIX host from Johanna Svenningsson: + * ax-gdb.h (enum axs_lvalue_kind): Remove trailing comma from enum. + * ax.h (enum agent_op): Same. + * tracepoint.h (enum actionline_type): Same. + * config/xm-aix4.h: Add declaration for termdef. + +1999-03-31 Stan Shebs + + * jv-lang.h (dynamics_objfile): Remove decl, conflicts with static + decl in jv-lang.c. + + * infrun.c (follow_inferior_fork): Add ifdefs around + SOLIB_REMOVE_INFERIOR_HOOK. + +Wed Mar 31 11:39:49 1999 David Taylor + + * valops.c (search_struct_field): revert HP merge change + to this function -- it causes messages to be printed about + member class ambiguity when the compiler is happy. + (search_struct_field_aux): delete -- added as part of HP merge + change; with aforementioned change it is no longer called. + +1999-03-30 Stan Shebs + + Make more HPUX-specific code generic. + * infrun.c: Include top.h. + (MAY_SWITCH_FROM_INFERIOR_PID, MAY_FOLLOW_EXEC, + USE_THREAD_STEP_NEEDED): New native macros. + (may_switch_from_inferior_pid, may_follow_exec, + use_thread_step_needed): New globals. + (follow_inferior_fork): Remove HPUXHPPA ifdef. + (follow_exec): Ditto, also save run target and re-push instead of + always pushing child_ops, add ifdefs around SOLIB_RESTART and + SOLIB_CREATE_INFERIOR_HOOK. + (wait_for_inferior): Use new globals instead of ifdefing HPUXHPPA, + always use printf_filtered to report new threads. + (normal_stop): Ditto. + * target.h, target.c (find_run_target): New function. + * config/pa/nm-hppah.h: Define new macros. + +1999-03-29 Stan Shebs + + * top.h: Include setjmp.h here. + * main.c, top.c: Don't include it here. + +1999-03-29 Keith Seitz + + * symtab.c (decode_line_1): Take out change which breaks symbols + which include class names and methods, e.g., "Foo::bar". + +1999-03-26 Stan Shebs + + * configure.tgt (i[3456]86-*-sysv4.2MP, i[3456]86-*-sysv4.2uw2*): + Recognize both, as i[3456]86-*-sysv4.2*. + (i[3456]86-*-sysv5*): Recognize. + + * infrun.c (wait_for_inferior): Remove most #if 0 segments. + +Fri Mar 26 17:27:27 1999 Andrew Cagney + + * blockframe.c (pc_in_call_dummy_on_stack): Fix. Had copied code + from at_entry_point. + +Thu Mar 25 19:30:02 1999 Andrew Cagney + + * gdbarch.c: Include all headers. + (struct gdbarch), gdbarch.h (CALL_DUMMY_LOCATION, + CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET, + CALL_DUMMY_BREAKPOINT_OFFSET, CALL_DUMMY_LENGTH, + PC_IN_CALL_DUMMY): Add ``call_dummy_location'', + ``call_dummy_length'', ``pc_in_call_dummy'', + ``call_dummy_start_offset'', ``call_dummy_breakpoint_offset'' to + multi-arch framework. + + * inferior.h, blockframe.c (pc_in_call_dummy_before_text_end, + pc_in_call_dummy_after_text_end, pc_in_call_dummy_on_stack, + pc_in_call_dummy_at_entry_point): Convert PC_IN_CALL_DUMMY macro's + into functions. + + * mips-tdep.c (mips_gdbarch_init): Initialize above + +Tue Mar 23 17:22:57 1999 Philippe De Muyter + + * remote.c, parse.c: Include ctype.h. + +1999-03-24 Stan Shebs + + * configure.host (mips-dec-mach3*): Use mipsm3 not mach3. + + Attempt to sort out SCO-related configs. + * configure.host (i[3456]86-*-sysv4.2*): Use instead of + i[3456]86-*-sysv4.2MP and i[3456]86-*-sysv4.2uw2*. + (i[3456]86-*-sysv5*): Recognize. + * configure.tgt (i[3456]86-*-sco3.2v5*, i[3456]86-*-sco3.2v4*): + Recognize. + +Wed Mar 24 16:19:01 1999 Christopher Faylor + + * MAINTAINERS: Add DJ Delorie (dj@cygnus.com) as the djgpp + maintainer. + +Wed Mar 24 21:19:57 1999 Andrew Cagney + + * target.h (enum target_signal): Do not hardwire values of MACH + signals. + +1999-03-14 Ken Raeburn + + * target.h (enum target_signal): Add TARGET_SIGNAL_INFO. + * target.c (signals): Add SIGINFO description. + (target_signal_from_host, target_signal_to_host): Translate + SIGINFO to/from TARGET_SIGNAL_INFO. + +Wed Mar 24 01:01:27 1999 Andrew Cagney + + * rs6000-tdep.c (rs6000_software_single_step): Change SIGNAL to + unsigned int. + + From Rodney Brown + * target.h (enum thread_control_capabilities), breakpoint.h (enum + bptype), breakpoint.c (enum insertion_state_t): Strict ISO-C + doesn't allow trailing comma in enum definition. + +Mon Mar 22 15:56:04 1999 Andrew Cagney + + * blockframe.c (inside_entry_file, inside_entry_func): Convert #if + CALL_DUMMY_LOCATION to if. + * valops.c (call_function_by_hand): Ditto. + * infcmd.c (run_stack_dummy): Ditto. + * inferior.h (CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET, + CALL_DUMMY_BREAKPOINT_OFFSET): Provide default. + +1999-03-23 Jason Molenda (jsm@bugshack.cygnus.com) + + * hppa-tdep.c (pa_register_look_aside): Remove CPU_HPPA_RISC_20 + check, test for presence of struct save_state_t and the ss_wide + member directly. + * configure.in: Remove CPU_HPPA_RISC_20 test. Add tests for + HAVE_STRUCT_SAVE_STATE_T and HAVE_STRUCT_MEMBER_SS_WIDE. + * acconfig.h: Add HAVE_STRUCT_SAVE_STATE_T HAVE_STRUCT_MEMBER_SS_WIDE. + * configure, config.in: Regenerated. + +Mon Mar 22 13:25:13 1999 Michael Snyder + + * infttrace.c (proc_wait): rename to ptrace_wait. + +1999-03-18 Jim Blandy + + * dwarf2read.c: Correctly recognize location expressions that + designate LOC_REF_ARG arguments. Doc fixes. + (isderef): New global. (Yuck.) + (dwarf2_complex_location_expr): New complaint. + (read_func_scope): Reject frame_base attributes that use the + `deref' opcode as too complex. + (new_symbol): If both regoff and isderef are set, and the base + register is the frame pointer, then it's a LOC_REF_ARG argument. + (decode_locdesc): Recognize the `deref' opcode in location + expressions. Complain if it's not the last op in the expression. + + * config/fr30/tm-fr30.h (COERCE_FLOAT_TO_DOUBLE): #define this to + be true, or else value_arg_coere won't respect the (accurate) + information we have about whether a function is prototyped. + +1999-03-17 Jim Blandy + + * config/fr30/tm-fr30.h (STACK_ALIGN): Define this here, so + calling functions by hand with odd-sized arguments doesn't munge + the stack. + +1999-03-17 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (HAVE_MULTIPLE_PROC_FDS): Don't define for Solaris + hosts--gdb doesn't support this yet. + * configure: Regenerated. + +1999-03-16 Keith Seitz + + * remote.c (remote_binary_checked): New file global. + (check_binary_download): New function to check if + stub supports binary downloading that works with + stubs that are not eight bit clean. + (remote_write_bytes): Check for binary download capability + and use it if available. + Remove references to global remote_binary_length. What a hack. + (putpkt_binary): New function. + (putpkt): Call putpkt_binary. + Use xor to escape trouble characters. + * m32r-stub.c (bin2mem): Follow escape char convention change. + +Tue Mar 16 01:11:33 1999 Andrew Cagney + + * target.h (struct target_ops), target.c (debug_to_query), + remote.c (pack_hex_byte, remote_query): Promote char parameters to + int. Stops compile problems with pedantic ISO-C compilers. + +Tue Mar 16 15:29:04 1999 Stan Shebs + + * go32-xdep.c: Remove, no longer used by anything. + * Makefile.in: Remove references. + + * jv-lang.c, jv-lang.h (java_primitive_type): Declare argument + as int instead of char. + +Mon Mar 15 11:42:43 1999 Andrew Cagney + + * d10v-tdep.c (push_stack_item, pop_stack_item): New function. + (d10v_push_arguments): Use. + + From Martin M. Hunt : + * d10v-tdep.c (d10v_push_arguments): When arguments + must be pushed onto the stack, they go on in + reverse order. + +1999-03-16 Jim Blandy + + * symtab.c (make_symbol_overload_list): Don't try to stuff minimal + or partial symbols into the overload list; we don't know their + types. (Thanks to Rajiv Mirani.) + +1999-03-15 Jason Molenda (jsm@bugshack.cygnus.com) + + * acinclude.m4 (--with-itclconfig, --with-itkconfig, --with-tixconfig): + Fix whitespace so --help messages line up. + * configure.in (--with-cpu): Fix capitalization for --help messages. + * configure, aclocal.m4: Regenerated. + +Mon Mar 15 11:39:03 1999 Ian Carmichael + + Support building gdb w/o simulator: + * configure.in: Support --disable-sim. Check for sim directory. + * Makefile.in (IGNORE_SIM, IGNORE_SIM_OBS): New. + * acconfig.h (WITH_SIM): Define. + * configure, config.in: Regenerate. + +Mon Mar 15 08:01:33 1999 Elena Zannoni + + Patch from Andreas Schwab + + * top.c (read_command_lines): Reset control_level to 0. + (define_command): Don't do it here. + +Sun Mar 14 16:12:15 1999 Andrew Cagney + + * hppah-nat.c (store_inferior_registers): Delete extern + registers[] declaration. + +Sun Mar 14 19:17:30 1999 Andrew Cagney + + * infrun.c (write_inferior_status_register): New function. Provide + update access to an inf_status register buffer. Only used by HP. + * inferior.h (write_inferior_status_register): Add prototype. + + * hppa-tdep.c (push_dummy_frame): Use + write_inferior_status_register when hacking around a sleeping + inferior. Accidently fix byte-order problem. + +Sun Mar 14 16:40:10 1999 Andrew Cagney + + * config/pa/tm-hppa.h (PUSH_DUMMY_FRAME): Fix parameter. Address + not needed. + +Fri Mar 12 13:11:48 1999 Michael Snyder + + * remote.c (remote_write_bytes): fix 'X' packet protocol so that it + can't overwrite the end of its buffer with escaped characters. + +1999-03-12 Jim Blandy + + Alpha patches from Richard Henderson: + + * alpha-tdep.c (alpha_skip_prologue): Recognize subq. + + * config/alpha/tm-alpha.h (REGISTER_NAMES): No f31, but fpcr. + (FPCR_REGNUM): New. + (REGISTER_CONVERTIBLE): Don't convert fpcr. + (REGISTER_VIRTUAL_TYPE): Don't make fpcr a double. + + * stabsread.c (define_symbol): Only consider live range extension + if we have an open parenthesis. + +1999-03-11 Jim Blandy + + * monitor.c (monitor_fetch_register): Print RDEBUG info correctly + when the register name is null. + +Thu Mar 11 19:33:07 1999 Stan Shebs + + * infrun.c (wait_for_inferior): Change #if DECR_PC_AFTER_BREAK + uses to expressions, remove redundant extern decls. + +Thu Mar 11 18:05:11 1999 Michael Snyder + + * infptrace.c (proc_wait): Rename to ptrace_wait. + * inftarg.c (child_wait): call ptrace_wait instead of proc_wait. + * inferior.h: Declare ptrace_wait instead of proc_wait. + +Thu Mar 11 11:46:25 1999 Andrew Cagney + + * breakpoint.c (create_solib_load_unload_event_breakpoint, + create_fork_vfork_event_catchpoint, tcatch_command, + create_exception_catchpoint, break_at_finish_at_depth_command_1, + catch_fork_command_1, ep_skip_leading_whitespace, + break_at_finish_command_1, catch_exec_command_1, + catch_exception_command_1, stop_command, stopin_command, + stopat_command, ep_parse_optional_filename, + ep_find_event_name_end, ep_parse_optional_if_clause, + catch_fork_command_1), stack.c (show_and_print_stack_frame_stub, + print_stack_frame_stub, print_only_stack_frame_stub, + backtrace_command_1, backtrace_full_command, func_command), + valprint.c (print_decimal), source.c (print_source_lines_base): + Add prototype. + + * stack.c (print_stack_frame_stub, show_and_print_stack_frame_stub, + print_only_stack_frame_stub): Make param void*. + +Wed Mar 10 19:33:28 1999 Geoffrey Noer + + * win32-nat.c: If old Cygwin Win32 API headers aren't being used, + define some gdb-specific defines that shouldn't have been in the + global headers. + +Wed Mar 10 21:20:25 1999 Andrew Cagney + + * findvar.c (registers, register_valid): Replace array with pointer. + (build_findvar): New function. Allocate space for REGISTERS and + REGISTER_VALID. + (_initialize_findvar): Call build_findvar. + (_initialize_findvar): Register REGISTERS and REGISTER_VALID as + arch dependant. + + * inferior.h (registers, register_valid): Replace array with + pointer. + + * inferior.h (struct inferior_status): Move definition from here. + + * infrun.c (struct inferior_status): To here. + (struct inferior_status): Change ``stop_registers'' and + ``registers'' to pointers. + (xmalloc_inferior_status, free_inferior_status): New functions. + (restore_inferior_status): Call free_inferior_status. + (save_inferior_status): Call xmalloc_inferior_status. + (discard_inferior_status): New function, discard inf_status + buffer. Call free_inferior_status. + + * inferior.h (stop_registers): Replace array with pointer. + * infrun.c (stop_registers): Update. + (build_infrun): Initialize stop_registers. + (_initialize_infrun): Call build_infrun. + (_initialize_infrun): Register ``stop_registers'' as arch dependant. + +Wed Mar 10 14:50:42 1999 Andrew Cagney + + * alpha-tdep.c (alpha_linux_sigtramp_offset): Only compile when + LINUXALPHA target. Hack. + + * infrun.c (set_follow_fork_mode_command): Make static. Add + prototype. + * tracepoint.c (add_register): Ditto. + * valprint.c (strcat_longest): Comment out. Does not appear to be + used. + * valops.c (find_method_list): Make static. Add prototype. + * thread.c (target_find_new_threads): Make static. Add prototype. + * stack.c (stack_publish_stopped_with_no_frame, + select_and_maybe_print_frame): Comment out. Does not appear to be + used. + (current_frame_command): Add prototype. + * breakpoint.c (break_at_finish_command, + break_at_finish_at_depth_command, tbreak_at_finish_command): Make + static. Add prototype. + * findvar.c (read_relative_register_raw_bytes_for_frame): Ditto. + +Wed Mar 10 23:38:54 1999 Andrew Cagney + + * corefile.c (registers): Delete redundant variable declaration. + * inferior.h (run_stack_dummy): Change array argument to pointer. + * infcmd.c (run_stack_dummy): Update. + * value.h (value_being_returned): Change RETBUF to a pointer. + * values.c (value_being_returned): Update. + +Wed Mar 10 11:08:16 1999 Andrew Cagney + + * source.c (list_command): GCC suggested explicit braces to avoid + ambiguous `else'. + + * jv-typeprint.c: Include "c-lang.h". + * Makefile.in (jv-typeprint.o): Add dependency. + * jv-valprint.c: Include "gdbcore.h", "annotate.h". + * Makefile.in (jv-valprint.o): Add dependencies. + * objfiles.c: Include "breakpoint.h". + * Makefile.in (objfiles.o): Add dependency. + * main.c: Include . + * parse.c: Include . + * remote.c: Include . + * ser-tcp.c: Include . + * ax-general.c: Include "value.h". + * Makefile.in (ax-general.o): Add dependency. + + * alpha-tdep.c (alpha_push_arguments): Make ``i'' an int instead + of a register. + * frame.h (show_and_print_stack_frame): Add function prototype. + * language.h (language_enum): Add function prototype. + * value.h (find_overload_match): Add function prototype. + + * defs.h, utils.c (subset_compare): Rename subsetCompare. Add + prototype. + * stack.c (backtrace_command): Update. + +Wed Mar 10 13:58:36 1999 Andrew Cagney + + * configure.in (AC_CHECK_HEADERS): Check for + * configure, config.in: Re-generate. + * inflow.c: Conditionally include . + +Wed Mar 10 13:44:38 1999 Andrew Cagney + + * frame.h (struct dummy_frame): Move from here. + * blockframe.c (struct dummy_frame): To here. + + * blockframe.c (struct dummy_frame): Replace ``regs'' with pointer + ``registers''. + (generic_pop_dummy_frame): Free it. + (generic_push_dummy_frame): Allocate dummy frame register buffer. + +Wed Mar 10 11:08:16 1999 Andrew Cagney + + * thread.c (_initialize_thread): Delete redundant ``extern struct + cmd_list_element *cmdlist''. + * printcmd.c (print_command_1): Ditto for ``objectprint''; + +1999-03-09 Stan Shebs + + * MAINTAINERS: New file, list of maintainers and areas they + maintain. + +1999-03-09 Rodney Brown + + Get working on UnixWare 2.1.1. + * acconfig.h: Update for defines for procfs.c. + * configure.in: Identify defines for procfs.c. + * configure.host: i386-*-sysv4.2uw2* => i386v42mp + * configure.tgt: i386-*-sysv4.2uw2* => i386v42mp + * configure, config.in: Regenerate. + * procfs.c: Rename HAVE_NO_PRRUN_T to HAVE_PRRUN_T (autoconf + standard), wrap UNIXWARE difference in THE_PR_LWP macro for + legibility. + * config/i386/tm-i386v42mp.h: Remove HAVE_PSTATUS_T, + HAVE_NO_PRRUN_T; now set by configure. + +Tue Mar 9 16:29:24 1999 Andrew Cagney + + * i386-tdep.c (gdb_print_insn_i386): Abort when disassembly_flavor + undefined.. + + * fr30-tdep.c (_initialize_fr30_tdep): Add prototype. Fix + coding style. + + * target.c (debug_to_enable_exception_callback, + debug_to_get_current_exception_event): Return result of call to + debug_target(). + +1999-03-09 Jim Blandy + + Another HURD fix from Mark Kettenis: + * gnu-nat.c: Include . Remove declaration of strerror. + Include instead of and define + _SYS_WAIT_H to prevent the warning that we should not include it. + (gnu_create_inferior): Change return type of attach_to_child to + void. Do not return INFERIOR_PID. + (gnu_pid_to_exec_file): Change return type to char *. + Return NULL. + + Fix for the HURD from Mark Kettenis: + * configure.in: Add AC_PROG_AWK. Needed by the machine-dependent + makefile fragments for the Hurd. + * Makefile.in (AWK): Add. Set by configure. + * configure: Regenerated. + +1999-03-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * infttrace.c (hppa_get_process_events): Removed. Function only + usable on HPUX 10 and above. It is not called by any other part + of GDB. + * hppah-nat.c (hppa_get_process_events): Ditto. + (child_pid_to_exec_file): Only call ptrace with + PT_GET_PROCESS_PATHNAME if that symbol has been defined. + * config/pa/nm-hppah.h: Don't set up prototypes et al for + hppa_get_process_events. + + * config/pa/hppahpux.mh (TERM_LIB): Do not initialize, let autoconf + determine best library automatically. + * config/pa/hpux1020.mh: Ditto. + * config/pa/hpux1100.mh: Ditto. + * configure.in (TERM_LIB): Also check for libHcurses. + * configure: Regenerated. + +Thu Mar 4 17:16:04 1999 Michael Snyder + + * m32r-stub.c: add support for crc "Compare" command. + +1999-03-04 Jim Blandy + + * fr30-tdep.c (fr30_store_return_value): Allocate zeroes + dynamically, to save BSS space, and to remove assumptions about + the size of the largest value we'll return. + + * config/fr30/tm-fr30.h (fr30_store_return_value): Use PARAMS in + prototype. + +Thu Mar 4 08:37:35 1999 Andrew Cagney + + * sh3-rom.c (sh3_supply_register, sh3_supply_register), + mips-tdep.c (mips_push_arguments), m32r-rom.c + (m32r_upload_command), m32r-tdep.c (decode_prologue), monitor.c + (longlong_hexchars), tracepoint.c (validate_actionline, + read_actions), mdebugread.c + (parse_symbol), jv-typeprint.c + (java_type_print_base, java_type_print_base), mdebugread.c + (parse_symbol), top.c (source_command), utils.c + (floatformat_to_doublest): GCC suggest explicit braces to avoid + ambiguous `else'. + + * tracepoint.c (map_args_over_tracepoints, trace_actions_command), + m32r-rom.c (m32r_supply_register), win32-nat.c + (handle_output_debug_string, child_continue), i960-tdep.c + (pop_frame), m32r-rom.c (m32r_upload_command): GCC suggested + parentheses around assignment used as truth value. + + * remote-sds.c (sds_wait), monitor.c (monitor_fetch_register), + ser-e7kpc.c, (dosasync_write), arc-tdep.c (arc_get_frame_setup): + GCC suggested parentheses around operands. + + * c-typeprint.c (c_type_print_base): GCC suggested enclosing + "while" expression in paren. + +Wed Mar 3 18:14:33 1999 Andrew Cagney + + * sol-thread.c (save_inferior_pid): Cast the saved pid to void*. + (restore_inferior_pid): Takes void* as required by make_cleanup. + Casts pid back to an int. + + * procfs.c (make_cleanup_close_proc_file, + close_proc_file_cleanup): Create a proc_file cleanup. + (info_proc): Use. + + * defs.h (make_cleanup_freeargv): Helper function. Establish + cleanup using freeargv. Can not just typecast/pass freeargv as it + violates ISO-C. + * utils.c (do_freeargv): Helper. + (make_cleanup_freeargv): New function. + + * symmisc.c (maintenance_print_symbols, + maintenance_print_psymbols, maintenance_print_msymbols), symfile.c + (symbol_file_command), stack.c (backtrace_command), remote-sim.c + (gdbsim_create_inferior, gdbsim_open), remote-mips.c + (common_open), procfs.c (info_proc), infrun.c (handle_command, + xdb_handle_command), exec.c (exec_file_attach): Call + make_cleanup_freeargv. + +1999-03-03 James Ingham + + * i386-tdep.c (_initialize_i386_tdep): Set the inital value for + disassembly flavor at startup, rather than hardcoding it. + +1999-03-03 Jim Blandy + + Put return values in the right place. + * fr30-tdep.c (fr30_store_return_value): New function. + * config/fr30/tm-fr30.h (STORE_RETURN_VALUE): Call + fr30_store_return_value. + +Wed Mar 3 18:10:55 1999 Andrew Cagney + + * gdbtypes.c (virtual_base_list_aux): Return void. Add prototype. + + * breakpoint.c (map_catch_names): Comment out unused function. + +1999-03-02 Jason Molenda (jsm@bugshack.cygnus.com) + + * hppa-tdep.c (pa_register_look_aside): Only refer to save_state_t + structure on PA 2.0 systems. + +1999-03-02 Stan Shebs + + From Gary Thomas : + * arm-tdep.c (ARM_LE_BREAKPOINT, ARM_BE_BREAKPOINT, + THUMB_LE_BREAKPOINT, THUMB_BE_BREAKPOINT): Use illegal instruction + instead of SWI 24. + * config/arm/tm-arm.h (CALL_DUMMY): Ditto. + (IN_SIGTRAMP): Define. + +1999-03-02 Nick Clifton + + * findvar.c (store_address): Delete incorrect big endian + code. + +Tue Mar 2 18:02:42 1999 Andrew Cagney + + * configure.in (gdb_cv_os_cygwin): Compat. Continue to reconize + __CYGWIN32__. + +1999-03-01 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Move setting of gdb_cv_os_cygwin to before + setting of TERM_LIB. Check for __CYGWIN__ instead of __CYGWIN32__. + * configure: Regenerated. + +1999-03-01 DJ Delorie + + * configure.in: Change -cygwin32* to -cygwin*. + * configure: Ditto. + +1999-02-25 Stan Shebs + + * breakpoint.c (SOLIB_LOADED_LIBRARY_PATHNAME, + SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_CREATE_CATCH_LOAD_HOOK, + SOLIB_CREATE_CATCH_UNLOAD_HOOK): Supply default definitions. + * infrun.c (SOLIB_IN_DYNAMIC_LINKER): Ditto. + +1999-02-25 Keith Seitz + + * corelow.c (core_close): Clear out solib state before + closing the bfd associated with the core file. + * solib.c (clear_solib): Mention that clear_solib requires + an open BFD in order for disable_breakpoints_in_shlibs to + determine whether breakpoints live in shared libraries. + +1999-02-24 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Set CPU_HPPA_RISC_20 if the host CPU is a PA 2.0 + processor. + * acconfig.h: Add CPU_HPPA_RISC_20 + * config.in, configure: Regenerated. + * hppa-tdep.c (pa_register_look_aside): Only refer to new + structure elements if we are on a PA2.0 system. + * defs.h: Include limits.h. + +Tue Feb 23 14:37:08 1999 Michael Snyder + + * infrun.c (wait_for_inferior): Check scheduler_locking state + before resuming after a thread-specific breakpoint. + +1999-02-23 Jim Blandy + + * aclocal.m4, config.in, configure: Regenerated with latest + autotools. + +Mon Feb 22 12:32:19 1999 Per Bothner + + * jv-valprint.c (java_val_print): Restore line that somehow got lost. + + * jv-valprint.c (java_print_value_fields): Check for NULL type. + +1999-02-21 Jim Blandy + + * tm-h8500.h, i386lynx-nat.c: Removed. These files are long + dead; it seems that they only appeared due to some CVS weirdness. + If they appear again, we may need to distribute garlic and holy + water. + +1999-02-19 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (TERM_LIB): Move checking for TERM_LIB, substituting. + * configure: Regenerated. + +1999-02-19 Robert Hoehne (robert.hoehne@gmx.net) + + * configure.host (i[3456]86-*-msdosdjgpp*): New host. + * configure.tgt (i[3456]86-*-msdosdjgpp*): New target. + * go32-nat.c: New file, native DJGPP support. + * config/i386/go32.mh: Rewrite for DJGPP (go32) host. + * config/i386/go32.mt: New file, DJGPP (go32) target. + * config/i386/nm-go32.h: New file. + * config/i386/tm-go32.h: New file. + * config/i386/xm-go32.h: Rewritten for current DJGPP. + +1999-02-18 Jason Molenda (jsm@bugshack.cygnus.com) + + * reply_mig_hack.awk, config/nm-gnu.h, config/alpha/nm-linux.h + config/alpha/xm-alphalinux.h, config/alpha/xm-alphaosf.h + config/i386/nm-i386sco5.h, config/i386/tm-fbsd.h, config/i386/tm-i386.h + config/powerpc/nm-aix.h, config/powerpc/tm-macos.h + config/powerpc/tm-ppc-aix.h, config/powerpc/xm-aix.h + config/rs6000/tm-rs6000-aix4.h, testsuite/gdb.chill/tests1.ch + testsuite/gdb.chill/tests2.ch, testsuite/gdb.chill/tests2.exp: + Update FSF address in copyright notices. + +1999-02-18 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Quote "$GCC" correctly. + * configure: Regenerated. + +1999-02-18 Jim Blandy + + * dbxread.c (elfstab_build_psymtabs): Don't assume that there's a + section named ".text", which has all the code in it. Instead, look + at all the sections in the file with the `code' flag set. + (find_text_range): New function, that does all the work. + +Thu Feb 18 17:50:45 1999 Andrew Cagney + + * mips-tdep.c (FP_REGISTER_DOUBLE): Conditionally define. + +Fri Jan 29 16:51:11 1999 Andrew Cagney + + * mips-tdep.c (return_value_location): New function. Merge/rewrite + of return-value code in mips_extract_return_value, + mips_store_return_value. Stop buffer overflow when 64 bit value + in 32 bit registers. Extract 64bit float from 32 bit register + pair of correct order. + (mips_extract_return_value, mips_store_return_value): Call + return_value_location. For store, ensure that remainder of + register is zero. + +Thu Jan 28 18:58:02 1999 Andrew Cagney + + From John Metzler : + * mips-tdep.c (struct gdbarch_tdep): Add mips_saved_regsize. + (MIPS_SAVED_REGSIZE): Define. + (mips_find_saved_regs, read_next_frame_reg, mips_pop_frame): + Read/write MIPS_SAVED_REGSIZE bytes of register on stack instead + of MIPS_REGSIZE. + (mips_gdbarch_init): Initialize mips_saved_regsize. + + * mips-tdep.c (mips_frame_saved_pc, mips16_heuristic_proc_desc, + mips_push_arguments, mips_push_dummy_frame, + mips_use_struct_convention): Ditto. For MIPS_SAVED_REGSIZE < + REGISTER_RAW_SIZE, handle little/big endian issues from only using + half the register. + (STACK_ARGSIZE): Default to MIPS_SAVED_REGSIZE instead of + MIPS_REGSIZE. + + * mips-tdep.c (struct gdbarch_tdep, FP_REGISTER_DOUBLE, + mips_gdbarch_init): Apply similar changes. Add + mips_fp_register_double to struct. + +Wed Feb 17 10:10:27 1999 Stu Grossman + + * gdbtypes.h (get_discrete_bounds): Remove duplicate decl. + + * jv-typeprint.c (java_type_print_base): Change fputs => fputs_filtered. + +Mon Jan 25 18:30:57 1999 Per Bothner + + * jv-lang.h (JAVA_OBJECT_SIZE): Change from hard-wired constant. + (java_primitive_type_from_name, get_java_object_header_size): Declare. + * jv-lang.c (java_class_from_object): Use get_java_object_type. + * jv-lang.c: Update Class field names: dtable->vtable, + msize->method_count, nfields->field_count, bfsize->size_in_bytes, + nmethods->method_count. + (type_from_class): Demangle array type names. + (java_link_class_type): Array type names are now demangled. + (get_java_object_type): If not defined yet, try looking it up. + (get_java_object_header_size): New function. + (java_primitive_type_from_name): New function. + (java_demangled_signature_length, java_demangled_signature_copy): New. + (java_demangle_type_signature): Re-implement using above functions. + (evaluate_subexp_java): For UNOP_IND, call evaluate_subexp_java + to evaluate subexp (not evaluate_subexp_standard). + For BINOP_SUBSCRIPT update for new array type naming scheme. + * jv-valprint.c (java_value_print): Use java_class_from_object. + Update array printing to new array type naming convention. + (java_val_print): Doing check_typedef when printing a pointer is + is a waste of effort. Also, handle TYPE_CODE_INT, to make sure + Java bytes as not printed as C chars. + +Fri Jan 8 16:58:22 1999 Stu Grossman + + * blockframe.c (find_pc_sect_partial_function): Search full symtabs as + a last ditch effort (after the partial & minimal symtabs). + * defs.h utils.c: Fixup prototypes for vprintf_filtered, + vfprintf_filtered, vfprintf_unfiltered and vprintf_unfiltered to return + ints to match their standard equivalents. + * defs.h symtab.c top.c: Create skip_prologue_hook to allow Java to + control the prologue skipping process. + * jv-typeprint.c (java_type_print_base): Remove extern for + jv_class_demangle, add new arg for objfile (NULL). + * symtab.h: Remove struct sourcevector and struct source. Definately + not needed. + * values.c (value_virtual_fn_field): Fixes code to handle new vtable + debug info format. Patch from marka. + +Wed Dec 16 23:11:25 1998 Stu Grossman + + * jv-lang.c (java_class_from_object java_class_is_primitive + is_object_type): Change dtable to vtable. + * (java_primitive_type): Change arg to type char. + * (_initialize_java_language): Make java_char_type be unsigned. + * jv-lang.h: Fixup prototypes. + +Mon Dec 7 19:02:15 1998 Stu Grossman + + * jv-valprint.c (java_value_print): Fix printing of values where + run time type != compile time type. + +Fri Dec 4 15:23:38 1998 Stu Grossman + + * Makefile.in: Whack out m2-typeprint.c. + * c-typeprint.c (c_type_print_varspec_suffix) typeprint.h: Make this + global. It's needed by Java. + * (c_type_print_base): Whack prefix off of qualified method names + (names with name spaces). + * gdbtypes.h (struct cplus_struct_type): Add bits for Java attributes. + Shrink voffset + to 16 bits to compensate for added bits above (hopefully this is still + enough). + * Add new accessor macros (TYPE_FND_FIELD_PUBLIC, ...) for all new + attribute bits. + * jv-typeprint.c (java_type_print_base): Fix printing of method + attributes. Handle JVM style manglings. + * (java_print_type): Enable code type print varspec_suffix to allow + array indices to print out. + * jv-valprint.c (java_val_print): Minor formatting. + * m2-lang.c (m2_language_d): Change m2_print_type to c_print_type. + * stabsread.c (read_member_functions): Save public and static attributes. + +Wed Feb 17 15:32:57 1999 Elena Zannoni + + * breakpoint.c (watch_command_1): Reformat comment. + + * c-typeprint.c (c_type_print_base): Reformat comments. + +1999-02-17 Jim Blandy + + * Makefile.in (VERSION): Bump version to 4.17.2. + +Tue Feb 16 15:48:20 1999 Edith Epstein + + * config/pa/nm-hppah.h: Added prototype declarations for + hppa_enable_page_protection_events and + hppa_disable_page_protection_events. + + * inftarg.c (child_wait): Fixed code that checks whether + or not the target program has done a fork/vfork. + related_pid does not have a value unless the target + program has forked/vforked. + + * infttrace.c (hppa_insert_hw_watchpoint): Make sure that + function always returns a value. + (hppa_remove_hw_watchpoint): Make sure that function always + returns a value. + +Tue Feb 16 06:31:58 1999 Keith Seitz + + * config/powerpc/tm-ppc-eabi.h: Do not define PC_IN_CALL_DUMMY, + let the generic call dummy infrastructure do it. + +Sun Feb 14 18:21:08 1999 Mark Alexander + + * config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that + coffread.c will correctly handle char or short function parameters. + +1999-02-11 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure, aclocal.m4: Regenerate with correct version of aclocal. + +1999-02-10 Syd Polk + + * acinclude.m4: Fix for new location of itclConfig.sh and itkConfig.sh. + * aclocal.m4: Regnerate. + * configure: Regenerate. + +1999-02-10 Jason Molenda (jsm@bugshack.cygnus.com) + + * demangle.c: Fix comments to mention "set demangle-style" + instead of "set demangle". + Run through indent to fix minor indenting problems. + +Wed Feb 10 17:53:09 1999 Bob Manson + + * i386-tdep.c (gdb_print_insn_i386): Add missing returns. + +Wed Feb 10 13:17:21 1999 Stan Shebs + + Declare Gould configuration obsolete: + * 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. + +1999-02-09 DJ Delorie + + * sparcl-tdep.c: UDP download works in cygwin + +1999-02-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * gnu-regex.c: Check ENABLE_NLS instead of HAVE_LIBINTL_H. + * configure.in: Don't check for libintl.h. + * configure, config.in: Regenerated. + +Mon Feb 8 18:10:50 1999 Stan Shebs + + * NEWS: Mention new X packet and PowerPC variant support. + +1999-02-08 Nick Clifton + + * configure.host: Add support for StrongARM host. + * configure.tgt: Add support for StrongARM target. + +Mon Feb 8 12:05:05 1999 David Taylor + + * dsrec.c (make_srec): Cast targ_addr to int in call to sprintf + otherwise on big endian machine with a bfd_vma of 64 bits, + *everything* gets loaded at location 0. + +Mon Feb 7 10:05:43 1999 Frank Ch. Eigler + + * infrun.c (wait_for_inferior): Allow SIGTRAP to be "pass"ed + to target program. + +Fri Feb 5 16:46:14 1999 Stan Shebs + + * NEWS: Add mentions of various new things. + +Thu Feb 4 00:19:14 1999 Christopher Faylor + + * configure.in: Move termcap determination later in the + file to catch setting of cygwin flag. + * configure: Regenerate. + +Wed Feb 3 14:16:38 1999 Christopher Faylor + + * config/i386/cygwin.mh: Move TERMCAP test code to configure.in. + * configure.in: Treat libtermcap.a detection as a special case + when hosting on cygwin. + * configure: Regenerate. + +1999-02-03 Keith Seitz + + * remote.c (remote_binary_download, remote_binary_length): New + 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. + +Tue Feb 2 18:40:29 1999 Elena Zannoni + + * 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. + +Tue Feb 2 17:36:29 1999 Elena Zannoni + + * 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. + +1999-02-02 Martin Hunt + + * printcmd.c (print_scalar_formatted): Use strcat to concat all + the output together before calling fprintf_filtered(). + +1999-02-01 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Require autoconf 2.13. + (AM_EXEEXT): Replace with new AC_EXEEXT. + * acinclude.m4: Move itcl header macros from aclocal.m4 to here. + * aclocal.m4: Regenerated. + * configure: Regenerated. + +1999-02-01 Jim Blandy + + Allow PPC users to select which PPC/RS6000 variant they're + debugging at run-time. At the moment, the only thing this affects + is the set of registers visible. + * config/rs6000/tm-rs6000.h (REGISTER_NAME): Define this as a call + to the function rs6000_register_name. + (rs6000_register_name): Include extern decl. + (NUM_REGS): Bump to 183. What's the right way to do this? + (FIRST_UISA_SP_REGNUM, LAST_UISA_SP_REGNUM): Renamed from + FIRST_SP_REGNUM, LAST_SP_REGNUM. + (REGISTER_BYTES): Recompute this. + * rs6000-tdep.c: Renamed all uses of FIRST_SP_REGNUM and + LAST_SP_REGNUM to FIRST_UISA_SP_REGNUM and LAST_UISA_SP_REGNUM, with + some concomitant formatting changes. + #include "gdbcmd.h", so we can define commands here. + (struct variant): New structure. + (COMMON_UISA_REG_NAMES, PPC_UISA_SPR_NAMES, PPC_SEGMENT_REG_NAMES, + PPC_32_OEA_SPR_NAMES, num_registers): New macros. + (register_names_rs6000, register_names_uisa, register_names_403, + register_names_403GC, register_names_505, register_names_860, + register_names_601, register_names_602, register_names_603, + register_names_604, register_names_750, variants): New variables. + (rs6000_register_name, install_variant, find_variant_by_name, + install_variant_by_name, list_variants, show_current_variant, + set_processor, show_processor): New functions. + (_initialize_rs6000_tdep): Define new commands `set processor' and + `show processor', and call install_variant_by_name to set the + default variant. + * rs6000-nat.c: Renamed all uses of FIRST_SP_REGNUM and + LAST_SP_REGNUM to FIRST_UISA_SP_REGNUM and LAST_UISA_SP_REGNUM, with + some concomitant formatting changes. + * configure.in: Accept the `--with-cpu' flag, to specify a default + processor variant. + * acconfig.h: Provide a blurb for TARGET_CPU_DEFAULT, which is set + by configure's `--with-cpu' flag. + * config.in, configure: Regenerated. + +Sun Jan 31 15:24:24 1999 Stan Shebs + + * buildsym.h, buildsym.c: Convert to ANSI-only. + + * buildsym.h, buildsym.c: Reformat to standard. + + * buildsym.c (merge_symbol_lists): Remove unused variable. + (_initialize_buildsym): Remove, does nothing. + +1999-01-31 J.T. Conklin + + * 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. + +Sun Jan 31 13:18:33 1999 Stan Shebs + + From J.T. Conklin : + * remote.c (remote_query): Fix tipo. + +Fri Jan 29 15:25:09 1999 Stan Shebs + + * configure.tgt (v850): Add wildcard to match. + +Fri Jan 29 16:44:01 1999 Edith Epstein + + * inferior.h: Ran indent. + + * fork-child.c: Ran indent. + + * infrun.c : Ran indent. + +Fri Jan 29 12:57:34 1999 Elena Zannoni + + * infrun.c (_initialize_infrun): Do not stop or print anything + when a SIGWINCH is received. + + * Makefile.in (m2-exp.tab.c): Use YACC not BISON. + (f-exp.tab.c): Ditto. + (jv-exp.tab.c): Ditto. + (c-exp.tab.c): Ditto. + (YACC): Define as @YACC@. + +1999-01-29 Martin Hunt + + Changes from Keith Seitz + * 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. + +1999-01-29 Mark Alexander + + * procfs.c (wait_fd): Handle deleted threads correctly. + +1999-01-28 Jason Molenda (jsm@bugshack.cygnus.com) + + * utils.c (init_page_info): Force window size if running under emacs. + +1999-01-27 James Ingham + + * typeprint.c (whatis_exp): Remove static declaration. + +Wed Jan 27 16:50:25 1999 Elena Zannoni + + * hp-psymtab-read.c: Reformat using indent. + +Wed Jan 27 13:20:25 1999 Elena Zannoni + + * hp-psymtab-read.c: Reformat comments, update copyright. + +Wed Jan 27 15:09:22 1999 Andrew Cagney + + * mips-tdep.c (mips_gdbarch_init): Trace e_flags from BFD + elf_info. + +Tue Jan 26 16:02:47 1999 Mark Alexander + + * v850-tdep.c (v850_generic_reg_names, v850e_reg_names, + 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. + +Tue Jan 26 18:27:26 1999 Elena Zannoni + + * 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. + +1999-01-26 Jason Molenda (jsm@bugshack.cygnus.com) + + * 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. + +Tue Jan 26 16:53:54 1999 Fernando Nasser + + * remote.c (remote_query): fix maximum packet size to account for + remote_debug use. + (putpkt): add comment to alert about extra byte need. + +Mon Jan 25 19:55:30 1999 Mark Alexander + + * sh-tdep.c (sh_target_architecture_hook): Return immediately + when a matching machine is found. + +Fri Jan 22 09:10:35 1999 Mark Alexander + + * remote-mips.c (mips_initialize): Fix parameters to clear_breakpoint. + (common_breakpoint): Restore support for instruction breakpoints + on non-LSI targets. + +Thu Jan 21 17:16:19 1999 Andrew Cagney + + * stack.c: Close open comment. + * symtab.c (find_pc_sect_line): Ditto. + +Thu Jan 21 17:51:51 1999 Stan Shebs + + * procfs.c (init_procfs_ops): New function, fills in procfs_ops, + 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. + + From J.T. Conklin : + * 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. + +Thu Jan 21 17:25:46 1999 Mark Alexander + + * mon960-rom.c (_initialize_mon960): Call init_mon960_cmds + to fill in mon960_cmds structure properly. + +Wed Jan 20 17:53:22 1999 Stan Shebs + + * remote-sds.c (sds_ops): Define only once. + (init_sds_ops, sds_command, _initialize_remote_sds): Declare. + (init_sds_ops): Init only non-zero fields. + +Wed Jan 20 15:45:15 1999 Mark Alexander + + * 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. + +1999-01-19 Fernando Nasser + + * sol-thread.c abug-rom.c cpu32bug-rom.c dbug-rom.c m32r-rom.c + mac-nat.c mon960-rom.c op50-rom.c ppc-bdm.c remote-adapt.c + remote-array.c remote-bug.c remote-e7000.c remote-eb.c remote-es.c + remote-est.c remote-hms.c remote-mm.c remote-nindy.c remote-nrom.c + remote-os9k.c remote-rdp.c remote-sds.c remote-sim.c remote-st.c + remote-udi.c rom68k-rom.c sh3-rom.c sparcl-tdep.c sparclet-rom.c + v850ice.c win32-nat.c: cosmetic changes to conform to coding + standards. + +1999-01-19 Jim Blandy + + Use aclocal to generate GDB's aclocal.m4 script. + * acinclude.m4: New file, containing the hand-written local macro + definitions that used to be in aclocal.m4. Don't sinclude + ../bfd/aclocal.m4 any more; running aclocal in this directory will + get us the definitions we need. HOWEVER: Do sinclude + ../bfd/acinclude.m4, because we need the definition of + BFD_NEED_DECLARATION. + * aclocal.m4: Regenerated by aclocal. + * configure: Regenerated by autoconf. + +Tue Jan 19 10:27:23 1999 David Taylor + + * breakpoint.c (disable_breakpoints_in_shlibs): new parameter, + silent, controls whether to print message about removal of shared + library breakpoints. + * breakpoint.h (disable_breakpoints_in_shlibs): decl updated. + * irix5-nat.c (clear_solib): call disable_breakpoints_in_shlibs. + * osfsolib.c (clear_solib): ditto. + * solib.c (clear_solib): ditto. + * somsolib.c (som_solib_restart): update call to + disable_breakpoints_in_shlibs. + + * target.h (child_post_attach): only declare if CHILD_POST_ATTACH + is define. + +Tue Jan 19 18:07:11 1999 Andrew Cagney + + * corelow.c (solib_add_stub): Ditto. + (core_file_to_sym_file): Cast make_cleanup parameter. + + * solib.c (symbol_add_stub, solib_map_sections): Change argument + to PTR insted of a char*. Matches catch_errors interface. + +Mon Jan 18 14:01:24 1999 Andrew Cagney + + * remote-array.c (array_open): Don't use fprintf_filtered to send + data to the log file. + + * remote-array.c (handle_load_dll): Change argument type to PTR so + that it is compatible with catch_errors. + * ocd.c (ocd_start_remote): Ditto. + * remote-sds.c (sds_start_remote): Ditto. + + * win32-nat.c (win32_child_thread_alive): Namespace proof + child_thread_alive. + (init_child_ops): Update. + +Mon Jan 18 12:03:47 1999 Andrew Cagney + + * remote-rdi.c (arm_rdi_open): Set gdb_hostif.hostosarg and + gdb_hostif.dbgarg to NULL instead of stdout. + (voiddummy, myprint, mywritec): Use gdb_stdout instead of stdout. + +Mon Jan 18 16:40:50 1999 Stan Shebs + + * ser-ocd.c (ocd_open): Handle Unix case gracefully. + + * target.c (dummy_target): Don't initialize statically. + (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. + +1999-01-18 Fernando Nasser + + * sol-thread.c: delete compile time initialization of target_ops + (_initialize_sol_thread): initialize target_ops at run time. + * hpux-thread.c: added target_ops entry. + * m3-nat.c: ditto. + +Mon Jan 18 15:19:13 1999 David Taylor + + * procfs.c (procfs_ops): delete compile time initialization. + (_initialize_procfs): initialize procfs_ops at run time. + +Mon Jan 18 12:51:44 1999 Christopher Faylor + + * configure.in: Ensure that -luser32 is always linked in + for cygwin build. + * configure: Regenerated. + +Mon Jan 18 08:38:05 1999 Mark Alexander + + * values.c (value_virtual_fn_field): Clear the pointed-to + offset when casting to the base class. + +Mon Jan 18 10:30:51 1999 David Taylor + + * remote-udi.c (init_udi_ops): change non-existant udi_run_ops to + udi_ops; delete NULL initializers. + +Mon Jan 18 12:03:47 1999 Andrew Cagney + + * serial.c (serial_close): gdb_fclose tages gdb_file** arg, not + gdb_file*. + + * f-valprint.c, target.c, gdbarch.c: Pass gdb_stderr not stderr. + +Mon Jan 18 10:46:12 1999 Andrew Cagney + + * stack.c (print_frame_info_base): Don't cast call to + catch_errors. + (print_args_stub): Change char* arg to PTR. + * symmisc.c (print_symbol): Ditto. + * top.c (quit_cover): Ditto. + * remote.c (remote_open_1, remote_start_remote): Ditto. + * infrun.c (normal_stop, hook_stop_stub, restore_selected_frame): + Ditto. + + * stack.c (backtrace_command): Cast first arg of make_cleanup to + make_cleanup_func. + * remote.c (remote_kill): Cast putpkt arg to catch_errors_ftype. + +Mon Jan 18 08:47:02 1999 Andrew Cagney + + * defs.h (catch_errors_ftype): Define. + (catch_errors): Replace char* arg with PTR arg. + * top.c (catch_errors): Update + + * breakpoint.c (bpstat_stop_status, bpstat_stop_status, + delete_breakpoint, breakpoint_re_set): Delete all casts in call to + catch_errors. + (breakpoint_cond_eval, watchpoint_check, + cover_target_enable_exception_callback, breakpoint_re_set_one): + Arg is PTR not char*. + + * breakpoint.c (cover_target_enable_exception_callback): Change + type to int. Check for cast values of 0 and -1. Return a result! + (insert_breakpoints): Move declaration of SAL and ARGS to where + they are used. + +1999-01-16 Fernando Nasser + + * remote.c (remote_query): new function - creates proper interface + to the remote protocol "q" command. + +Fri Jan 15 17:11:48 EST 1999 Zdenek Radouch (radouch@cygnus.com) + + * config/fr30/tm-fr30.h: Changed ABI to match GCC change + (always use pointer for structs passed by value). + +1999-01-15 Fernando Nasser + + * target.h: added entry for target queries (to_query) + target.c: ditto. + +Thu Jan 14 18:29:17 1999 David Taylor + + * mips-tdep.c (mips_gdbarch_init): fix stream arg in + fprintf_unfiltered calls. + * remote-mm.c (mm_wait): fix stream arg to gdb_flush. + * remote-udi.c (udi_wait): fix stream arg to fwrite. + * symmisc.c (maintenance_check_symtabs): fix stream argument to + print_address_numeric. + +Wed Jan 13 19:33:16 1999 David Taylor + + * breakpoint.c (insert_breakpoints): insert cast to eliminate + warning. + +Wed Jan 13 14:59:02 1999 Michael Snyder + + * 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. + * thread.c: cull duplicate prototypes. Move prototypes to top. + * serial.c: indentation cleanup. + * breakpoint.c: add casts to eliminate compiler warnings. + +Tue Jan 12 17:00:00 1999 Edith Epstein + + * inftarg.c (child_create_inferior): fixed HPUXHPPA specific + call to fork_inferior. The shell param is now NULL. + +1999-01-12 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (init_base_monitor_ops): Whitespace cleanup. + (_initialize_remote_monitors): Same. + +1999-01-12 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (init_monitor_ops): Initialize the monitor_ops + structure if it hasn't already been done. + +Tue Jan 12 14:50:10 1999 Stan Shebs + + * inftarg.c (child_ops): Don't initialize statically. + (init_child_ops): New function, fills in child_ops. + (_initialize_inftarg): Use it. + (child_post_attach): Declare extern. + (child_wait): Fix ambiguous parens. + (child_attach_to_process): Remove unused local wstatus. + (child_insert_fork_catchpoint, child_remove_fork_catchpoint, + child_insert_vfork_catchpoint, child_remove_vfork_catchpoint, + child_has_forked, child_insert_exec_catchpoint, + child_remove_exec_catchpoint): Return a value. + +Mon Jan 11 16:43:44 1999 Michael Snyder + + * remote.c (remote_wait): Add inferior_pid to thread list only + if it is not already there. + +1999-01-11 Jason Molenda (jsm@bugshack.cygnus.com) + + * scm-tags.h: Update FSF's address on copyright notice. + * ser-e7kpc.c: Same. + * gnu-nat.h: Same. + +Mon Jan 11 13:45:57 1999 Stu Grossman + + * dwarf2read.c (dump_die): Change stderr to gdb_stderr. + * expprint.c (print_subexp): fprintf => fprintf_unfiltered. + * jv-typeprint.c (java_type_print_base): fputs => fputs_filtered. + * stack.c (struct function_bounds): Remove superfluous `typedef'. + * symfile.c (list_overlays_command): stdout => gdb_stdout. + * symmisc.c (maintenance_check_symtabs): stdout => gdb_stdout. + * utils.c (print_spaces): Make more efficient. + +Mon Jan 11 13:55:51 1999 David Taylor + + * utils (print_spaces): fix arg to strcat; fix formatting. + +Fri Jan 8 11:57:24 1999 Stan Shebs + + * exec.c (exec_ops): Don't initialize statically. + (init_exec_ops): New function, fills in exec_ops. + (_initialize_exec): Use it. + +Thu Jan 7 17:50:15 EST 1999 Zdenek Radouch (radouch@cygnus.com) + + Beta FR30 port. + * fr30-tdep.c + * config/fr30/tm-fr30.h + +Wed Jan 6 12:28:35 1999 David Taylor + + * configure.in: Add an --enable-tui argument. Construct + tui/Makefile from tui/Makefile.in. Use AM_PROG_CC_STDC. If we + have the GUI, then we need this to process libgui.h. + (ENABLE_CFLAGS): define and export BUILD_TUI. + (AC_CHECK_HEADERS): Add check for term.h. + + * configure.host (hppa-*-hpux10.20, hppa-*-hpux11.0*): New configs. + + * config.in, configure : regenerated. + + * Makefile.in: Allow the TUI code to be conditionally enabled. + (TUI_LIBRARY): New variable, value are set by the configuration + script. Set to the empty string when the TUI isn't enabled. + (gdb$(GDBEXT)): Use those, instead of referring to all-tui and + tui/libtui.a directly. + (BUILD_TUI): build the tui -- only when configured with + --enable-tui. + (YLWRAP): use ylwrap to avoid problems on systems w/o bison. + (gdb$(EXEEXT)): make it dependent on BUILD_TUI. + (all-tui): remove dependency from phony target. + (c-exp.tab.c): use ylwrap instead of bison. + (jv-exp.tab.c): ditto. + (f-exp.tab.c): ditto. + (m2-exp.tab.c): ditto. + (ALLDEPFILES): add somread.c, hp-psymtab-read.c, hp-symtab-read.c. + (SFILES): remove the above files + (COMMON_OBS): remove somread.o + (SFILES): Add the tui files to this, so they get included in etags + tables. + (gdb$(EXEEXT)): Add all-tui to the list of dependencies, and add + tui/libtui.a to the link list. + (all-tui): New rule, which does a recursive make in the tui + subdir. + (tui/libtui.a): When recursing, pass down ${FLAGS_TO_PASS}. And + don't echo the make command. This is closer to what the other + recursions do. + (HFILES_NO_SRCDIR): add hpread.h + (COMMON_OBS): add hp-psymtab-read.o, hp-symtab-read.o + (SFILES): add hp-psymtab-read.c, hp-symtab-read.c add rules for + the new files. Remove hpread.c, hpread.o + (gdb$(EXEEXT)): Depend on the actual tui library, not on a + fictitious target. Since the fictitious target never existed, + make would always relink. + (tui/libtui.a): Always recurse to make sure the library is up to + date. + +Wed Jan 6 12:05:12 1999 Stan Shebs + + * remote.c: Pacify --enable-build-warnings, reformat code + 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. + +Wed Jan 6 11:43:32 1999 David Taylor + + The following changes were made by Elena Zannoni + and Edith Epstein as + part of a project to merge in changes made by HP. + + * c-exp.y: use external flag hp_som_som_object_present to decide + whether code was compiled by HP's compilers. Add two new C++ + tokens for true and false. + (yylex): check for template name is done differently for the + HP/aCC compiler case. Change some of the template processing code + for handling HP aCC templates. Handle true and false tokens. + +Tue Jan 5 11:13:36 1999 Michael Snyder + + * remote.c (record_curthread): Must not modify inferior_pid when + 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). Also some cosmetic fixups. + + * thread.c (info_threads_command): don't initialize current_pid + until after call to FIND_NEW_THREADS (which may change inferior_pid). + Also some cosmetic fixups. + * infrun.c: cosmetic fixups and casts to avoid warnings. + * infcmd.c: cosmetic fixups, mainly long lines. + +Tue Jan 5 11:55:57 1999 David Taylor + + * target.c (noprocess): terminate sentence with a period. + * breakpoint.c (catch_command_1): ditto. + + * c-valprint.c (c_value_print): remove hack^2 from HP; it causes + testsuite losses with no real gain. + + * inferior.h (START_INFERIOR_TRAPS_EXPECTED): restore, but only + if tm-*.h hasn't overridden default value. + +1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Fix whitespace indentation for --help. + * configure: Regenerated. + +1999-01-04 Manuel Bouyer + + * main.c: Add --write command line option, document -w. + * gdb.1: Document --write. + +1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Require autoconf 2.12.1 or higher. + * doc/configure.in: Ditto. + * nlm/configure.in: Ditto. + * rdi-share/configure.in: Ditto. + * testsuite/configure.in: Ditto. + * doc/Makefile.in: Don't hardcode $(SHELL). + * nlm/Makefile.in: Ditto. + * rdi-share/Makefile.in: Ditto. + * testsuite/Makefile.in: Ditto. + +Mon Jan 4 12:53:03 1999 Stan Shebs + + * remote-vx.c (init_vx_ops, init_vx_run_ops): Remove unneeded + inits of new fields, including ref to bogus field. + (vx_ops, vx_run_ops): Make static. + +Mon Jan 4 15:05:29 1999 David Taylor + + * inferior.h (START_INFERIOR_TRAPS_EXPECTED): delete, + already defined in tm.h. + + * inftarg.c: change to and + conditionalize its inclusion. + * infttrace.c: ditto. + +For older changes see ChangeLog-1998 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-2000 b/contrib/gdb/gdb/ChangeLog-2000 new file mode 100644 index 0000000..25ced55 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-2000 @@ -0,0 +1,8204 @@ +2000-12-20 Michael Snyder + + * arch-utils.c (default_frame_address): New function. Default + implementation of frame_args_address and frame_locals_address. + * arch-utils.h (default_frame_address): Export. + * d10v-tdep.c (d10v_gdbarch_init): Use default_frame_address. + (d10v_frame_args_address, d10v_frame_locals_address): Delete. + * sh-tdep.c (sh_gdbarch_init): Use default_frame_address. + (sh_frame_args_address, sh_frame_locals_address): Delete. + * sparc-tdep.c (sparc_gdbarch_init): Use default_frame_address. + (sparc_frame_address): Delete. + +2000-12-27 Mark Kettenis + + Fix debugging programs statically linked against the thread library. + * thread-db.c: Various comment fixes and additions. + Include "bfd.h", "symfile.h" and "objfiles.h". + (keep_thread_db): New variable. + (find_new_threads_callback): Remove prototype. + (thread_db_find_new_threads): New prototype. + (thread_db_push_target, thread_db_unpush_target): Remove + functions. + (deactivate_target): New function. + (thread_db_new_objfile): If OBJFILE == NULL, force deactivation of + target vector. Activate target vector directly instead of calling + thread_db_push_target. Set keep_thread_db if thread library is + detected in the main symbol file. Only enable thread event + reporting if there actually is a child process. Likewise for + detecting new threads, done by calling thread_db_find_new_threads + instead of iterating over the threads ourselves. + (thread_db_detach): Call deactivate_target instead of + thread_db_unpush_target. + (thread_db_wait): Bail out early if we're not debugging the + multi-threaded child process yet. + (thread_db_post_startup_inferior): New function. + (thread_db_mourn_inferior): Call deactivate_target instead of + thread_db_unpush_target. + (init_thread_db_ops): Add thread_db_post_startup_inferior to + thread_db_ops. + +2000-12-22 Mark Kettenis + + * solib.c (solib_open): If path is relative, look for it + literally. This matches the behaviour of the GNU dynamic linker + more closely. + +2000-12-22 Fernando Nasser + + * README: Suggest building in an empty directory. + +2000-12-21 Mark Kettenis + + * i386-tdep.c: Add missing ')' in comment. + (i386_extract_return_value): Return directly after issuing the + warning and filling *VALBUF with zeroes if we cannot get at the + floating-point registers. + (i386_store_return_value): New function. + * config/i386/tm-i386.h (STORE_RETURN_VALUE): Simply call + i386_store_return_value. + Add prototype for i386_store_return_value. + + * i386-linux-nat.c (store_fpxregs): Add code to detect support for + the PTRACE_GETFPXREGS request, and return zero if it's not. + +2000-12-21 Fernando Nasser + + * TODO: Add pre-uiout code removal to 5.2 cleanups. + +2000-12-20 Fernando Nasser + + * configure.in: Rename CONFIG_LOBS to CONFIG_LIB_OBS. + * Makefile.in: Ditto. + * configure: Regenerate. + +2000-12-20 Fernando Nasser + + * command.h: Register date when it was deprecated. + * call-cmds.h: Ditto. + +2000-12-20 Fernando Nasser + + * Makefile.in (UIOUT_CFLAGS): New macro. CFLAGS needed for uiout code + to be compiled. Defines UI_OUT. + (SUBDIR_MI_CFLAGS): Defines MI_OUT, not UI_OUT. + (INTERNAL_WARN_CFLAGS): Also include UIOUT_CFLAGS. + * configure.in (UIOUT_CFLAGS): New configuration variable. + (--with-uiout): New configuration option. Causes uiout code to + be compiled, instead of the old *printf one. + * configure: Regenerate. + * top.c (print_gdb_version): Test for and print MI_OUT, not UI_OUT. + +2000-12-20 Fernando Nasser + + * complaints.c (complain): Call warning_hook if defined, instead of + writting to gdb_stderr. + (clear_complaints): Do not write anything to gdb_stderr if warning_hook + is defined. + +2000-12-19 Elena Zannoni + + * sh-tdep.c (sh_print_register): Don't leave regnum 0 out of the + non-pseudo-regs group. + +2000-12-19 Elena Zannoni + + * sh-tdep.c (sh_gdbarch_init): Move setting of breakpoint_from_pc + to before switch statement. + +2000-12-17 Elena Zannoni + + * sh-tdep.c (sh_gdbarch_init): Initialize do_registers_info. + + * config/sh/tm-sh.h: Don't remove SR_REGNUM from enum. + (DO_REGISTERS_INFO): Remove macro. Use multiarch version instead. + +Fri Dec 15 23:12:15 2000 Andrew Cagney + + * i386gnu-nat.c: Include "gdb_assert.h" instead of . + (gnu_store_registers): Replace assert with gdb_assert. + +2000-12-15 Elena Zannoni + + * sh-tdep.c (sh_generic_show_regs, sh3_show_regs, sh3e_show_regs, + sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs): SR_REGNUM is + now part of gdbarch_tdep structure. + (sh_gdbarch_init): Initialize SR_REGNUM. + + * config/sh/tm-sh.h (struct gdbarch_tdep): Add field SR_REGNUM. + + * sh-tdep.c (sh_do_pseudo_register): Indent properly. Call + do_dr_register_info() only for DR registers. + (sh_sh4_register_name): Add comments with numbers. + (_initialize_sh_tdep): Move assignment to disassemble printing + function from here... + (sh_gdbarch_init):...to here. Move some more general settings to + before the architecture is recognized. + +Fri Dec 15 23:27:56 2000 Andrew Cagney + + * remote.c (remote_fetch_registers): Replace #ifdef + REGISTER_BYTES_OK with REGISTER_BYTES_OK_P. + + * gdbarch.sh (REGISTER_BYTES_OK): Multi-arch. + * gdbarch.h, gdbarch.c: Re-generate. + +Fri Dec 15 22:58:59 2000 Andrew Cagney + + * serial.c (serial_printf): Call xvasprintf instead of vasprintf. + +2000-12-14 Matthew Green + + * solib-svr4.c (solib_break_names): Add NetBSD's `_rtld_debug_state'. + +2000-12-14 Kevin Buettner + + * defs.h, utils.c (xfree): New function. + * alpha-tdep.c, altos-xdep.c, arch-utils.c, arm-xdep.c, + ax-general.c, bcache.c, blockframe.c, breakpoint.c, + buildsym.c, c-typeprint.c, coffread.c, completer.c, + convex-tdep.c, convex-xdep.c, corefile.c, corelow.c, + cp-valprint.c, cxux-nat.c, d10v-tdep.c, d30v-tdep.c, + dbxread.c, dcache.c, defs.h, demangle.c, dstread.c, + dve3900-rom.c, dwarf2read.c, dwarfread.c, elfread.c, + environ.c, event-loop.c, event-top.c, exec.c, f-lang.c, + gdb-events.c, gdbarch.c, gdbtypes.c, gnu-nat.c, h8500-tdep.c, + hp-psymtab-read.c, hppah-nat.c, infcmd.c, inflow.c, infrun.c, + infttrace.c, irix5-nat.c, jv-typeprint.c, kod-cisco.c, kod.c, + language.c, lin-lwp.c, lin-thread.c, linespec.c, + linux-thread.c, main.c, maint.c, mdebugread.c, minsyms.c, + mips-tdep.c, monitor.c, nlmread.c, objfiles.c, osfsolib.c, + p-valprint.c, pa64solib.c, parse.c, printcmd.c, + proc-service.c, procfs.c, pyr-xdep.c, remote-adapt.c, + remote-bug.c, remote-eb.c, remote-es.c, remote-mips.c, + remote-mm.c, remote-nindy.c, remote-rdi.c, remote-rdp.c, + remote-udi.c, remote-vx.c, remote.c, rs6000-nat.c, ser-pipe.c, + serial.c, solib-svr4.c, solib.c, somread.c, somsolib.c, + source.c, sparcl-tdep.c, stabsread.c, stack.c, sun386-nat.c, + symfile.c, symmisc.c, symtab.c, target.c, thread-db.c, + thread.c, top.c, tracepoint.c, ui-file.c, ui-out.c, + umax-xdep.c, utils.c, valops.c, valprint.c, values.c, + varobj.c, win32-nat.c, wince.c, xcoffread.c, cli/cli-cmds.c, + cli/cli-decode.c, cli/cli-script.c, cli/cli-setshow.c: + Replace occurrences of free() with xfree(). + +2000-12-14 J.T. Conklin + + * configure.tgt (hppa*-*-bsd*, hppa*-*-osf*, m68*-*-sunos4*, + rs6000-*-lynxos*, sparc-*-sunos4*): Add gdbserver to configdirs. + +2000-12-13 Michael Chastain + + * MAINTAINERS: Add Michael Chastain to Write After Approval list. + +2000-12-11 Fernando Nasser + + * Makefile.in (CONFIG_LOBS): New macro. Configured to the files + that must be added to the gdblib itself. + (DEPFILES): Use CONFIG_LOBS, not CONFIG_OBS. + (INIT_FILES): Include CONFIG_OBS. + (gdb$(EXEEXT)): Depend on CONFIG_OBS and link with it. + (kdb): Ditto. + * configure.in (CONFIG_LOBS): New variable. Object files that must + be added to gdblib for the specific configuration. + * configure: Regenerate. + +2000-12-11 Michael Snyder + + * sh-tdep.c (sh_extract_struct_value_address): Protoize. + +2000-12-11 Michael Snyder + + * blockframe.c (get_prev_frame): Add missing paren omitted in + last check-in. + +2000-12-11 Fernando Nasser + + * Makefile.in (SUBDIR_GDBTK_OBS, SUBDIR_GDBTK_SRCS, + SUBDIR_GDBTK_DEPS, SUBDIR_GDBTK_INITS, SUBDIR_GDBTK_LDFLAGS, + SUBDIR_GDBTK_CFLAGS): New macros. For gdbtk subdir. + * configure.in: Fix typo. It is CONFIG_OBS not CONFIG_OJS. + Use the SUBDIR_GDBTK_* macros instead of hard coded file names. + * configure: Regenerate. + +2000-12-11 Michael Snyder + + * blockframe.c (get_prev_frame): Zero all fields of prev by + default using memset (instead of one at a time). + +2000-12-11 Michael Snyder + + * sh-tdep.c (sh_extract_struct_value_address): For consistancy, + change decl from "CORE_ADDR static" to "static CORE_ADDR". + +2000-12-11 Fernando Nasser + + * configure.in: Fix typos. It is CONFIG_SRCS not CONFIG_SRS. + * configure: Regenerate. + +2000-12-11 Fernando Nasser + + * configure.in: Fix a couple of typos in the handling of the + enable_gdbcli option. Make it check enableval for the result + of AC_ARG_ENABLE. + * configure: Regenerate. + +2000-12-08 Michael Snyder + + * dwarf2read.c (DWARF2_REG_TO_REGNUM): New macro. Provide default + definition. Will be used to translate between the compiler's + register numbering and GDB's (for register variables etc). + (new_symbol): Use DWARF2_REG_TO_REGNUM to translate register ids. + * alpha-tdep.c: Fix typo in comment. + * dbxread.c: Fix typo in comment. + * fr30-tdep.c: Fix typo: newline missing after comment. + * mcore-tdep.c: Fix typo in comment. + +2000-12-07 J.T. Conklin + + * gdbserver/low-hppabsd.c (buf2, environ, quit, quit_flag): + Removed unused variables and declarations. + * gdbserver/low-linux.c (buf2, environ, query, quit, quit_flag): + Likewise. + * gdbserver/low-nbsd.c (buf2, environ, quit, quit_flag): + Likewise. + * gdbserver/low-sparc.c (buf2, environ, query, quit, quit_flag): + Likewise. + * gdbserver/low-sun.c (buf2, environ, query, quit, quit_flag): + Likewise. + + * gdbserver/low-hppabsd.c, gdbserver/low-linux.c, + gdbserver/low-nbsd.c, gdbserver/low-sparc.c, gdbserver/low-sun3.c + (create_inferior): Update comment. + + * gdbserver/low-nbsd.c (initialize_arch, fetch_inferior_registers, + store_inferior_registers): Provide implementations for the m68k + and ns32k. + * config/m68k/nbsd.mt (GDBSERVER_DEPFILES): Add low-nbsd.o + * config/ns32k/nbsd.mt (GDBSERVER_DEPFILES): Likewise. + * configure.tgt (m68*-*-netbsd*, ns32k-*-netbsd*): Add gdbserver + to configdirs. + +2000-12-07 Elena Zannoni + + * config/sh/tm-sh.h (struct gdbarch_tdep): Rename fields + {FP15,DR14,FV12}_REGNUM to {FP,DR,FV}_LAST_REGNUM. + * sh-tdep.c (sh_sh3e_register_virtual_type, + sh_sh4_register_virtual_type, sh_do_registers_info, + sh_gdbarch_init, sh_sh4_register_byte, sh_sh4_register_raw_size, + sh_sh4_register_convertible, sh_sh4_register_convert_to_virtual, + sh_sh4_register_convert_to_raw, sh_fetch_pseudo_register, + sh_store_pseudo_register, sh_do_pseudo_register): Ditto. + + * sh-tdep.c (sh_gdbarch_init): Use a function pointer to set the + disassembly print function. + (_initialize_sh_tdep): Initialize tm_print_insn using the function + pointer. + +2000-12-07 Mark Kettenis + + From Richard Henderson : + * alpha-nat.c (supply_gregset, fill_gregset): Use gdb_gregset_t. + (supply_fpregset, fill_fpregset): Use gdb_fpregset_t. + +2000-12-06 Fernando Nasser + + * cli/cli-decode.c (add_abbrev_cmd): Reinstate. Add comment saying + that is not currently used. + +2000-12-06 Fernando Nasser + + * cli/cli-decode.c (lookup_cmd): Change disabled code into comment. + +2000-12-06 Fernando Nasser + + * cli/cli-decode.c (lookup_cmd): Remove old stale copy of this routine + which was not being used for quite some time. + +2000-12-05 Mark Kettenis + + * gdb-stabs.h (SECT_OFF_MAX): Increase to 64. + * symfile.h (MAX_SECTIONS): Increase to 64. + +2000-12-05 Elena Zannoni + + * config/sh/tm-sh.h (struct gdbarch_tdep): Get rid of + DR{2,4,6,8,10,12}_REGNUM, FV{4,8}_REGNUM, they are not used + anywhere. + * sh-tdep.c (sh_gdbarch_init): Don't initialize + DR{2,4,6,8,10,12}_REGNUM, FV{4,8}_REGNUM. + +2000-12-04 Michael Snyder + + * utils.c (internal_verror): Fix typo in error msg. + +2000-12-03 Mark Kettenis + + * Makefile.in (symfile.o): Add gdb-stabs.h to dependencies list. + +2000-12-04 Kevin Buettner + + * elfread.c (record_minimal_symbol_and_info): Don't guess + at the section index; instead just always use the bfd index. + (elf_symtab_read): Handle weak symbols appearing in data + sections. + +Mon Dec 4 14:36:39 2000 Andrew Cagney + + * gdbarch.sh (STAB_REG_TO_REGNUM, ECOFF_REG_TO_REGNUM, + DWARF_REG_TO_REGNUM, SDB_REG_TO_REGNUM, DWARF2_REG_TO_REGNUM): + Add. + * gdbarch.h, gdbarch.c: Regenerate. + * arch-utils.c (no_op_reg_to_regnum): New function. + * arch-utils.h (no_op_reg_to_regnum): Declare. + + * dwarfread.c (DWARF_REG_TO_REGNUM), coffread.c + (SDB_REG_TO_REGNUM), stabsread.h (STAB_REG_TO_REGNUM), + mdebugread.c (ECOFF_REG_TO_REGNUM): Delete macro. + + * config/mips/tm-mips.h (ECOFF_REG_TO_REGNUM, STAB_REG_TO_REGNUM): + Delete. Moved to mips-tdep.c. + * mips-tdep.c (mips_ecoff_reg_to_regnum, mips_stab_reg_to_regnum): + New functions. + (mips_gdbarch_init): Add ``mips_ecoff_reg_to_regnum'' and + ``mips_stab_reg_to_regnum'' to multi-arch vector. + +2000-12-03 Stephane Carrez + + * m68hc11-tdep.c (m68hc11_gdbarch_init): Remove elf_flags, cleanup. + (gdbarch_tdep): Likewise. + +2000-12-03 Stephane Carrez + + * m68hc11-tdep.c (SOFT_D1_REGNUM): Soft registers start at 14. + (m68hc11_register_names): Add null for register 13. + +2000-12-03 Stephane Carrez + + * m68hc11-tdep.c (m68hc11_frame_args_address): Fix args address + computation. + (m68hc11_frame_init_saved_regs): Frame pointer is saved only if + the symbol exist. + (m68hc11_analyze_instruction): New function. + (m6811_prologue, m6812_prologue): New prologue description tables. + (m68hc11_guess_from_prologue): Use the above. + (m68hc11_gdbarch_init): Setup gdbarch_tdep for the prologue + descriptions. + +Sun Dec 3 02:28:26 2000 Andrew Cagney + + * ser-pipe.c (pipe_open): Only use vfork when available. + * fork-child.c (fork_inferior): Fix #ifdef HAVE_VFORK test. + (clone_and_follow_inferior): Ditto. + + * configure.in (AC_CHECK_FUNCS): Check for vfork. + * configure, config.in: Regenerate. + +Sun Dec 3 01:54:49 2000 Andrew Cagney + + * ser-unix.c (wait_for): Initialize the FD_SET before every select + call. + (ser_unix_wait_for): Ditto. + +Sun Dec 3 01:01:02 2000 Andrew Cagney + + * Makefile.in (varobj.o): Delete special .c.o rule supressing + -Werror flag. + +Sun Dec 3 00:29:31 2000 Andrew Cagney + + * m32r-rom.c (m32r_load_section): Update to match + bfd_map_over_sections's ``func'' arg. + +Thu Nov 30 01:24:37 2000 Andrew Cagney + + * mips-tdep.c (struct upk_mips16): Delete fields ``inst'' and + ``fmt''. Make ``offset'' a CORE_ADDR. + (print_unpack): Delete. + (extended_offset): Construct and return a CORE_ADDR. + (fetch_mips_16): Return an int. Don't assume short is 16 bits. + (unpack_mips16): Rewrite. Add ``extension'' parameter instead of + incorrectly guessing if the instruction had an extension. + (map16): Delete array. + (mips16_op): Delete macro. + (extended_mips16_next_pc): Rewrite of old mips16_next_pc function. + When an extended instruction do a recursive call. + (mips16_next_pc): Call extended_mips16_next_pc. + (mips_next_pc): Cleanup. + +Sat Dec 2 10:40:16 2000 Andrew Cagney + + * ser-e7kpc.c (e7000pc_setstopbits): New function. + (e7000pc_ops): Add e7000pc_setstopbits. + + * remote-e7000.c (e7000_detach, e7000_resume, + e7000_xfer_inferior_memory, e7000_files_info, e7000_files_info, + e7000_insert_breakpoint, e7000_remove_breakpoint, e7000_kill): + Update function signature to match target vector. + + * h8300-tdep.c (h8300_command, h8300h_command, h8300s_command): + h8500-tdep.c (small_command, big_command, medium_command, + compact_command): Update function signature to match add_cmd. + +2000-12-01 Fernando Nasser + + * p-exp.y: Define strncasecmp as strnicmp for MSVC. + (yylex): Use strncasecmp, not strnicmp. + +2000-12-01 Fernando Nasser + + * cli/cli-decode.c: New file. Handle lists of commands, their decoding + and documentation. + (add_cmd, deprecate_cmd, add_abbrev_cmd, add_alias_cmd, add_prefix_cmd, + add_abbrev_prefix_cmd, not_just_help_class_command, empty_sfunc, + add_set_cmd, add_set_enum_cmd, add_set_auto_boolean_cmd, + add_show_from_set, delete_cmd, apropos_cmd, help_cmd, help_list, + help_all, print_doc_line, help_cmd_list, find_cmd, lookup_cmd_1, + undef_cmd_error, lookup_cmd, deprecated_cmd_warning, + lookup_cmd_composition, complete_on_cmdlist, complete_on_enum): + Moved here from command.c. + (add_info, add_info_alias, add_com, add_com_alias): Moved here from + top.c. + * cli/cli-decode.h: Definitions/declarations for the above. + * cli/cli-cmds.c: New file. GDB CLI commands. + (error_no_arg, info_command, show_command, help_command, show_version, + quit_command, pwd_command, cd_command, echo_command, shell_escape, + make_command, show_user, set_debug, show_debug, init_cmd_lists): + Moved here from top.c. + (apropos_command): Moved here from command.c. + (complete_command, source_command): Moved here (part) from top.c. + (is_complete_command): New function. Checks if a command is the + "complete" command. + (init_cli_cmds): New function. Add commands to the CLI (from code + previously in top.c. + * cli/cli-cmds.h: Definitions/declarations for the above. + * cli/cli-script.c: New file. GDB CLI command scripting. + (build_command_line, get_command_line, print_command_lines, + print_command_line, execute_user_command, execute_control_command, + while_command, if_command, arg_cleanup, setup_user_args, locate_arg, + insert_args, realloc_body_list, read_next_line, + recurse_read_control_structure, read_command_lines, free_command_lines, + do_free_command_lines_cleanup, make_cleanup_free_command_lines, + validate_comname, user_defined_command, define_command, + document_command, source_cleanup_lines, do_fclose_cleanup, + show_user_1): Moved here from top.c. + (script_from_file): New function. Implements execution of a script + contained in a file (part of code for the source_command() that used + to exist in top.c). + * cli/cli-script.h: Definitions/declarations for the above. + * cli/cli-setshow.c: New file. Handle set and show GDB CLI commands. + (parse_auto_binary_operation, parse_binary_operation, + do_setshow_command, cmd_show_list): Moved here from command.c. + * cli/cli-setshow.h: Definitions/declarations for the above. + * top.c: Remove all CLI code, except the command loop. + (gdb_init): Call init_cli_cmds(). + * command.c: Remove obsolete file. + * command.h: Mark as DEPRECATED. + * gdbcmd.h: Ditto. + * call-cmds.h: Ditto. + * Makefile.in (SFILES): Remove command.c. + (COMMON_OBS): Remove command.o. + (command.o): Remove obsolete target. + (cli_decode_h, cli_cmds_h, cli_script_h, cli_setshow_h): New macros. + Refer to CLI header files. + (cli-decode.o, cli-cmds.o, cli-setshow.o, cli-script.o): New targets. + (SUBDIR_CLI_OBS, SUBDIR_CLI_SRCS, SUBDIR_CLI_DEPS, SUBDIR_CLI_INITS, + SUBDIR_CLI_LDFLAGS, SUBDIR_CLI_CFLAGS, SUBDIR_CLI_ALL, SUBDIR_CLI_CLEAN, + SUBDIR_CLI_INSTALL, SUBDIR_CLI_UNINSTALL): New macros for new cli + subdirectory. + * configure.in (enable_gdbcli): New option. Include the CLI in the + executable (cannot be disabled yet). + (CONFIG_OBS, CONFIG_DEPS, CONFIG_SRCS, CONFIG_INITS, ENABLE_CFLAGS, + CONFIG_ALL, CONFIG_CLEAN, CONFIG_INSTALL, CONFIG_UNINSTALL): Add + the corresponding SUBDIR_CLI_* macros if CLI requested. + * configure: Regenerate. + +2000-10-27 Pierre Muller + + * p-exp.y (yylex): avoid problem with symbol name + starting as a operator name. + +2000-11-30 Fernando Nasser + + * linespec.h: New file. Declarations for linespec.c. + * linespec.c, alpha-tdep.c, breakpoint.c, parse.c, source.c, + symtab.c, tracepoint.c: Include the above. + * completer.c: New file. Line completion stuff for GDB. + (get_gdb_completer_word_break_characters, + get_gdb_completer_quote_characters): New functions. Accessors for + useful completer internal data. + (filename_completer, line_completion_function, skip_quoted): Moved + here from top.c. + * completer.h: New file. Declarations for the above. + * linespec.c (decode_line_1): Use + get_gdb_completer_word_break_characters and + get_gdb_completer_quote_characters. + * top.c: Include completer.h. + (filename_completer, line_completion_function, skip_quoted): + Moved to completer.c. + * corefile.c, exec.c, source.c, symfile.c, linespec.c: Include + completer.h. + * Makefile.in (SFILES): Add completer.c. + (COMMON_OBS): Add completer.o. + (completer.o): New target. + (linespec.o, alpha-tdep.o, breakpoint.o, parse.o, source.o, + symtab.o, tracepoint.o): Add linespec.h to dependencies list. + (corefile.o, exec.o, source.o, symfile.o, linespec.o): Add completer.h + to dependencies list. + +Thu Nov 30 13:19:16 2000 Andrew Cagney + + * gdbarch.c: Regenerate. + +Thu Nov 30 01:14:21 2000 Andrew Cagney + + * varobj.c (varobj_create): Initialize ``old_fi''. + (varobj_update): Initialize ``templist''. + + * kod-cisco.c (cisco_kod_request): Simplify allocation of + ``sync_ids'' eliminating uninitialized variable. + +2000-11-28 Mark Salter + + * MAINTAINERS: Add Mark Salter to Write After Approval list. + +Tue Nov 28 12:24:43 2000 Christopher Faylor + + * win32-nat.c (dll_code_sections_add): strdup -> xstrdup. + +Mon Nov 27 11:45:52 2000 Andrew Cagney + + * remote.c (remote_write_bytes): Add default case to switch + initializing ``todo''. Ditto for ``nr_bytes''. + * top.c (catch_errors): Always initialize ``val''. + * solib.c (info_sharedlibrary_command): Handle bfd_get_arch_size + returning an unknown size. + * gdbtypes.c (count_virtual_fns): Always initialize ``vfuncs''. + * breakpoint.c (break_at_finish_at_depth_command_1): Initialise + extra_args to NULL. + (break_at_finish_command_1): Ditto. + +Mon Nov 27 11:27:06 2000 Andrew Cagney + + * TODO: Add GFDL updates to 5.1 release criteria. + +2000-11-26 Nick Clifton + + * configure.tgt (xscale-*): Add. + * configure.host (xscale-*): Add. + +2000-11-24 Stephane Carrez + + * m68hc11-tdep.c (gdb_print_insn_m68hc11): New function. + (_initialize_m68hc11_tdep): Install it. Register bfd_arch_m68hc12. + +2000-11-24 Stephane Carrez + + * m68hc11-tdep.c (gdbarch_tdep): Move stack_correction global to here. + (STACK_CORRECTION): Get stack correction using gdbarch_tdep. + (m68hc11_saved_pc_after_call): Use STACK_CORRECTION. + (m68hc11_frame_chain): Likewise. + (m68hc11_frame_init_saved_regs): Likewise. + (m68hc11_init_extra_frame_info): Likewise. + (m68hc11_push_arguments): Likewise. + (m68hc11_push_arguments): Likewise. + (m68hc11_store_struct_return): Likewise. + (m68hc11_push_return_address): Likewise. + (m68hc11_gdbarch_init): Setup stack_correction according to arch. + +Mon Nov 20 13:59:29 2000 Andrew Cagney + + * configure.in: Add support for configure option + --enable-gdb-build-warnings. Mention need to update doco. + * configure: Regenerate. + +2000-11-21 Peter Schauer + + * target.h (TARGET_SIGNAL_REALTIME_64): Added for IRIX 6. + * target.c (target_signal_from_host, do_target_signal_to_host): + Handle TARGET_SIGNAL_REALTIME_64. + +2000-11-21 Kevin Buettner + + * solib.c (solib_open): Handle the case where + solib_absolute_prefix is NULL. + +2000-11-20 Michael Snyder + + * solist.h: Declare new function solib_open. + * solib.c (solib_open): New function. Abstracts some of the + code from solib_map_sections, for finding the binary solib file. + (solib_map_sections): Call solib_open. + * solib-svr4.c (enable_break): Call solib_open. + +2000-11-20 J.T. Conklin + + * gdbserver/low-nbsd.c (fetch_inferior_registers, + store_inferior_registers): Support older NetBSD/powerpc systems + from before fp reg support was added. Adapt to register number + changes caused when powerpc target was multi-arched. + +2000-11-20 H.J. Lu + + * ia64-tdep.c (gdbarch_tdep): Change reference from + ELFOSABI_MONTEREY to ELFOSABI_AIX. + +2000-11-20 Peter Schauer + + * c-valprint.c (print_function_pointer_address): New function + to automatically dereference a function pointer for printing + if necessary. + (c_val_print): Use print_function_pointer_address when printing + function pointer addresses. + +2000-11-20 J.T. Conklin + + * gdbserver/low-nbsd.c: Fix typos. + +2000-11-20 Jeffrey A Law (law@cygnus.com) + + * pa64solib.c (add_to_solib): Pass TARGET to pa64_solib_load_symbols. + +Mon Nov 20 23:21:53 2000 Andrew Cagney + + * MAINTAINERS: Peter Schauer and Kevin Buettner maintain AIX. Jim + Blandy, Kevin Buettner and Peter Schauer share shared libs. + + From Nick Duffek: + * MAINTAINERS: Share responsibility for + Solaris/x86 between co-maintainers. + + * MAINTAINERS: Add linespec as a separate component. + +Mon Nov 20 14:29:39 2000 Andrew Cagney + + * command.h (error_no_arg): Add noreturn attribute to declaration. + +Fri Nov 17 16:07:23 2000 Andrew Cagney + + * utils.c (xvasprintf, xasprintf): New functions. + * defs.h (xvasprintf, xasprintf): Add declarations. + + * remote.c (add_packet_config_cmd): Use function xasprintf instead + of asprintf. + * utils.c (vfprintf_maybe_filtered, vfprintf_unfiltered): Use + function xvasprintf instead of vasprintf. + + * TODO (xasprintf): Update. + +Mon Nov 20 12:22:32 2000 Andrew Cagney + + * TODO: Mention ``extern'' and ``STREQ'' cleanups. + +2000-11-19 Jim Blandy + + * symtab.c (no_symtab_msg): Remove definition. + (sources_info): Replace use of no_symtab_msg with the string + itself. + * linespec.c (no_symtab_msg): Remove declaration. + (decode_line_1): Replace uses of no_symtab_msg with the string + itself. + +2000-11-17 Kevin Buettner + + * rs6000-tdep.c (refine_prologue_limit): New function. + (skip_prologue): When zero, attempt to obtain value for + lim_pc by calling refine_prologue_limit(). Also, fix + fencepost error regarding the limit in the loop. + + From Peter Schauer: + * rs6000-tdep.c (skip_prologue): Handle optimizer code motions into + the prologue by continuing the prologue search, if we have no valid + frame yet or if the return address is not yet saved in the frame. + +2000-11-17 Kevin Buettner + + * wrapper.c (gdb_value_assign, wrap_value_assign): Protoize. + +2000-11-16 Christopher Faylor + + * thread.c (thread_apply_all_command): Save the command before + executing it because it may be modified. Restore the saved command so + that the same command is executed on next thread. + (thread_apply_command): Same correction. + +2000-11-16 Michael Snyder + + * regcache.c (read_register_bytes): Failing to set register_valid + is not necessarily an error, if the register is a pseudo-register. + Some pseudo-registers are never marked as valid, so that they will + be read anew every time. Determining if a pseudo-register is valid + (or should be marked invalid) may be difficult, whereas just + recomputing it may be cheap. + +Thu Nov 16 09:47:57 2000 David Taylor + + * tracepoint.c (trace_find_tracepoint_command): Replace call to + parse_and_eval_address with a call to parse_and_eval_long as + we are evaluating an integer, not an address. + * top.c (show_commands): Ditto. + +2000-11-15 Kevin Buettner + + * xcoffread.c (arrange_linetable, xcoff_initial_scan): Protoize. + +Wed Nov 15 09:31:39 2000 David Taylor + + * utils.c (strlen_paddr, paddr, paddr_nz): Use TARGET_ADDR_BIT, + not TARGET_PTR_BIT, since we are dealing with addresses, not + pointers. + +2000-11-14 Daniel Berlin + + From Kenneth Block + + * demangle.c : Use libibery list of demanglers instead of out of + date local copy. + +Wed Nov 15 00:29:46 2000 Andrew Cagney + + From Klaus Espenlaub + * remote.c (_initialize_remote): Call + show_memory_write_packet_size when ``show remotewritesize'' + command. + +2000-11-13 Eli Zaretskii + + * config/djgpp/config.sed: Fix tweaking "VPATH=.:foo", and handle + the gettext's posrcprefix correctly with drive letters. + +2000-11-10 Jim Blandy + + * stabsread.c (read_range_type): Properly construct complex + type nodes. + +2000-11-10 Fernando Nasser + + * symtab.c (decode_line_1, total_number_of_methods, find_methods, + build_command_line_spec, find_toplevel_char, decode_line_2): + Move to linespec.c. + * linespec.c: New file. Routines that handle linespecs, formerly + in symtab.c. + * symtab.h: Export find_line_symtab and find_function_start_sal. + * Makefile.in (SFILES): Add linespec.c. + (COMMON_OBS): Add linespec.o. + (linespec.o): New target. + +2000-11-10 Christopher Faylor + + * inferior.h (step_over_calls_kind): New enum to clarify values in + step_over_calls. + * infcmd.c (step_over_calls): Change definition. + (step_1): Use new enum values in relation to step_over_calls. + (step_once): Ditto. + (until_next_command): Ditto. + * infrun.c (clear_proceed_status): Ditto. + (handle_inferior_event): Ditto. + +2000-11-10 Stephane Carrez + + * inferior.h (step_stop_if_no_debug): New variable. + * infrun.c (step_stop_if_no_debug): Declare. + (handle_inferior_event): Stop the step command if we entered a function + without line info. + (_initialize_infrun): New command 'set step-mode' to control the step + command. + * infcmd.c (step_once): Switch to stepi mode if there is no line info + (and switching is enabled). + +2000-11-10 J.T. Conklin + + * target.c (do_xfer_memory): Only perform a single memory transfer + instead of iterating to tranfer the entire region. Higher layers + are expected to call this function multiple times for partial + transfers. + (target_xfer_memory_partial): Remove unused local variables. + +2000-11-10 Nick Duffek + + * target.c (target_xfer_memory_partial): Return bytes transferred + instead of 0. + +2000-11-09 Kevin Buettner + + * values.c (value_being_returned, using_struct_return): Protoize. + * varobj.c (child_exists, cplus_class_num_children): Protoize. + +2000-11-09 Kevin Buettner + + Changes based on a patch from Ulrich Drepper: + * solib-svr4.c (svr4_relocate_main_executable): New function. + (svr4_solib_create_inferior_hook): Call + svr4_relocate_main_executable. + +2000-11-09 J.T. Conklin + + * config/i386/nbsd.mh: Remove solib.o, solib-svr4.o from NATDEPFILES. + * config/i386/nbsdelf.mh: Likewise. + * config/m68k/nbsd.mh: Likewise. + * config/ns32k/nbsd.mh: Likewise. + * config/powerpc/nbsd.mh: Likewise. + * config/sparc/nbsd.mh: Likewise. + * config/sparc/nbsdelf.mh: Likewise. + * config/i386/nbsd.mt: Add solib.o, solib-svr4.o to TDEPFILES. + * config/i386/nbsdelf.mt: Likewise. + * config/m68k/nbsd.mt: Likewise. + * config/ns32k/nbsd.mt: Likewise. + * config/powerpc/nbsd.mt: Likewise. + * config/sparc/nbsd.mt: Likewise. + +2000-11-09 Peter Schauer + + Add auto-solib-add support for AIX, remove obsolete and unused + SOLIB_SYMBOLS_MANUAL code, cleanup of AIX shared library handling code. + * rs6000-nat.c (vmap_symtab): Do not try to modify offsets + if symbols are not yet loaded. + (vmap_add_symbols): New function to add symbols for a vmap entry. + (add_vmap): Turn errors into warnings, return NULL vmap upon + failure. Add symbols via vmap_add_symbols only if requested. + (xcoff_relocate_core): Allow debugging of core files without an + executable file. Handle NULL returns from add_vmap gracefully. + * xcoffsolib.c (solib_add): Remove, no longer needed. + (solib_info): Do not check for new shared libraries if there is no + inferior process. + (sharedlibrary_command): Made static. + Do not check for new shared libraries if there is no inferior process. + Add symbols for requested shared libraries via vmap_add_symbols. + (_initialize_solib): Add `set auto-solib-add' command. + * xcoffsolib.h (vmap_add_symbols): Add prototype declaration. + + * config/rs6000/tm-rs6000.h (PC_LOAD_SEGMENT): Move from here ... + * config/rs6000/nm-rs6000.h: ... to here, this is an AIX native + feature. + * config/powerpc/tm-macos.h, config/powerpc/tm-ppc-eabi.h, + config/powerpc/tm-ppc-nw.h, config/rs6000/tm-rs6000ly.h: + Remove #undef PC_LOAD_SEGMENT. + * config/powerpc/aix.mt, config/rs6000/aix4.mt, config/rs6000/rs6000.mt + (TDEPFILES): Move xcoffsolib.o from here ... + * config/powerpc/aix.mh, config/rs6000/aix4.mh, config/rs6000/rs6000.mh + (NATDEPFILES): ... to here, xcoffsolib.o contains AIX native code + only. + * rs6000-tdep.c: Remove #include xcoffsolib.h, no longer needed. + * xcoffsolib.h (xcoff_relocate_symtab_hook): Remove declaration. + * rs6000-nat.c (_initialize_core_rs6000): Remove setting of + xcoff_relocate_symtab_hook, no longer needed. + * xcoffsolib.c (solib_info, sharedlibrary_command): Remove + xcoff_relocate_symtab_hook indirection, call xcoff_relocate_symtab + directly, as xcoffsolib.c is now compiled in native AIX configurations + only. + * Makefile.in: Update dependencies for rs6000-tdep.o, rs6000-nat.o + and xcoffsolib.o. + +Thu Nov 9 17:16:29 2000 Andrew Cagney + + * MAINTAINERS: Specify the vax-dec-vms5.5 target tupple. + * vax-tdep.c: Include "gdbcore.h", "frame.h" and "value.h". + (vax_print_insn): Change ``d'' to a const char pointer. + +2000-11-08 Michael Snyder + + * gdbarch.sh: Spelling correction: registrary -> registry. + * gdbarch.c: Ditto. + +Wed Nov 8 23:08:48 2000 Andrew Cagney + + * m68k-tdep.c (m68k_get_longjmp_target): Work around targets that + don't define JB_PC or JB_ELEMENT_SIZE. + +Wed Nov 8 22:46:43 2000 Andrew Cagney + + * m68k-tdep.c (m68k_get_longjmp_target): Rename function + get_longjmp_target. Remove wrapping #ifdef GET_LONGJMP_TARGET. + * config/m68k/tm-m68k.h (m68k_get_longjmp_target): Add function + declaration. + + * config/m68k/tm-vx68.h, config/m68k/tm-sun3.h, + config/m68k/tm-m68kv4.h, config/m68k/tm-linux.h, + config/m68k/tm-es1800.h, config/m68k/tm-cisco.h: Update definition + of GET_LONGJMP_TARGET. Delete get_longjmp_target function + declaratation. + +Wed Nov 8 15:32:23 2000 Andrew Cagney + + * gdbserver/configure.in (files): Don't link nm-empty.h when a + non-native target. + * gdbserver/configure: Regenerate. + +2000-11-07 Kevin Buettner + + * valops.c (typecmp): Protoize. + * valprint.c (strcat_longest): Protoize. + +2000-11-07 Kevin Buettner + + * ia64-tdep.c (native_find_global_pointer): New global variable. + (struct gdbarch_tdep): Add member find_global_pointer. + (ia64_gdbarch_init): Initialize find_global_pointer member. Also, + tell the gdbarch machinery that we have floating point registers. + (FIND_GLOBAL_POINTER): New macro. + (generic_elf_find_global_pointer): Renamed from find_global_pointer. + (find_func_descr, ia64_push_return_address): Call + FIND_GLOBAL_POINTER instead of find_global_pointer. + (process_note_abi_tag_sections): Enable code previously disabled + by #if 0. + +2000-11-07 Daniel Berlin + + * dwarf2read.c: Revert June 5th change for caching of types, + as per Jim Blandy's request. + +2000-11-06 Fernando Nasser + + * wrapper.c (gdb_value_assign): New function. Longjump-free + version of value_assign. + (wrap_value_assign): New function. Wrapper for value_assign. + * wrapper.h: Add declaration for the above. + * varobj.c (varobj_set_value): Use gdb_value_assign, not + value_assign which can longjump. Do not change varobj value if + assign fails. + +2000-11-06 Fernando Nasser + + From Steven Johnson : + + This set of changes add "hookpost-" as an expansion on the original + hooking of commands to GDB. A Hook may now be run "AFTER" execution of + a command as well as before. + + * command.h (struct cmd_list_element): Changed elements hook and hookee + to hook_pre and hookee_pre respectively. Added hook_post and hookee_post + for the post hook command operation. Added hook_in so that an executing + hook can be flagged to prevent recursion. + * command.c (add_cmd): Changed initilization of cmd_list_element to + reflect above changes. + (delete_cmd): Remove both pre and post hooks. + (help_cmd): Notify that the command has pre and/or post hooks. + * infrun.c (normal_stop): Change references to hook_pre from hook. + * top.c (execute_command): Run both pre and post hooks. + (define_command): Allow definition of both pre and post hooks. + The definition of pre-hooks is done as before, with the "hook-" + prefix for backward compatibility. + +2000-11-06 Peter Schauer + + * stack.c (return_command): Pop dummy frame if we just returned from + a stop in a call dummy. + +2000-11-05 Kevin Buettner + + * v850-tdep.c (handle_prepare, handle_pushm): Remove extraneous + blank line after function declarator. + * v850ice.c (v850ice_xfer_memory, do_gdb): Protoize. + +2000-11-03 Kevin Buettner + + * utils.c (add_continuation, add_intermediate_continuation, + printchar): Protoize. + +2000-11-03 Kevin Buettner + + * dwarf2read.c (new_symbol): Relocate address of symbol by the + base address of the section it is in rather than always using + the base address of the .text section. + +2000-11-01 J.T. Conklin + + * TODO: Note abstraction layer violation where "ocd reset" command + must invalidate the dcache, and how this might be fixed. + + * monitor.c (#include "dcache.h"): Removed. + (remote_dcache): Removed. + (monitor_open): Removed code that created local dcache. + (flush_monitor_dcache): Removed (unused function). + (monitor_resume): Removed call to dcache_invd(). + (monitor_load): Likewise. + (monitor_xfer_memory): Changed to call monitor_write_memory(), + monitor_write_memory_block(), and monitor_read_memory() instead + of dcache_xfer_memory(). + * monitor.h (flush_monitor_dcache): Removed (unused function). + * ocd.c (#include "dcache.h"): Removed. + (ocd_dcache): Removed. + (ocd_open): Removed code that created local dcache. + (ocd_resume): Removed call to dcache_invd(). + (ocd_xfer_memory): Changed to call ocd_write_bytes() and + ocd_read_bytes() instead of dcache_xfer_memory(). + (bdm_reset_command): Invalidate target dcache. + * remote-bug.c (bug_load): Remove call to dcache_invd(). + (bug_resume): Likewise. + (bug_settings): Remove dcache, readfunc, and writefunc fields + from initializer. + (bug_xfer_memory): Changed to call bug_read_memory() and + bug_write_memory() instead of dcache_xfer_memory(). + * remote-nindy.c (#include "dcache.h"): Removed. + (nindy_dcache): Removed. + (nindy_open): Removed code that created local dcache. + (nindy_resume): Removed call to dcache_invd(). + (nindy_load): Likewise. + (nindy_xfer_inferior_memory): Changed to call ninMemPut() and + ninMemGet() instead of dcache_xfer_memory(). + * remote-sds.c (#include "dcache.h"): Removed. + (sds_dcache): Removed. + (sds_open): Removed code that created local dcache. + (sds_resume): Removed call to dcache_invd(). + (sds_xfer_memory): Changed to call sds_write_bytes() and + sds_read_bytes() instead of dcache_xfer_memory(). + * remote-utils.c (gr_open): Removed code that created local dcache. + * remote-utils.h (#include "dcache.h"): Removed. + (struct gr_settings): Removed dcache, readfunc, and writefunc fields. + (gr_get_dcache, gr_set_dcache): Removed macro definitions. + * remote.c (#include "dcache.h"): Removed. + (remote_dcache): Removed. + (remote_open_1): Removed code that created local dcache. + (remote_async_open_1): Likewise. + (remote_resume): Removed call to dcache_invd(). + (remote_async_resume): Likewise. + (remote_xfer_memory): Changed to call remote_write_bytes() and + remote_read_bytes() instead of dcache_xfer_memory(). + * wince.c (#include "dcache.h"): Removed. + (remote_dcache): Removed. + (child_create_inferior): Removed code that created local dcache. + (child_xfer_memory): Changed to call remote_write_bytes() and + remote_read_bytes() instead of dcache_xfer_memory(). + (child_resume): Removed call to dcache_invd(). + + * target.c (target_dcache): Added. + (target_load): Invalidate target_dcache. + (do_xfer_memory): New function. + (target_xfer_memory): Reimplement in terms of dcache_xfer_memory(). + (target_xfer_memory_partial): Likewise. + (initialize_targets): Create target_dcache. + * target.h (#include "dcache.h"): Added. + (target_open): Invalidate target_dcache. + (target_resume): Likewise. + (do_xfer_memory): New declaration. + + * dcache.c (dcache_init): Removed reading and writing arguments. + (dcache_struct): Removed read_memory and write_memory fields. + (dcache_write_line): Call do_xfer_memory. + (dcache_read_line): Likewise. + (dcache_xfer_memory): Likewise. + (dcache_invalidate): Renamed from dcache_invd. + (dcache_init): Updated. + (dcache_xfer_memory): Updated. + * dcache.h (memxferfunc): Removed definition. + (dcache_init): Removed reading and writing arguments. + +2000-11-03 Peter Schauer + + * objfiles.c (objfile_relocate): Relocate ei.entry_point with + its section offset, use SECT_OFF_TEXT only as a fallback. + +2000-11-01 Kevin Buettner + + * symm-nat.c (print_1167_regs): Remove extraneous blank line + after function declarator. + * symtab.c (search_symbols): Likewise. + * ultra3-nat.c (fetch_core_registers): Protoize. + +2000-10-30 Michael Snyder + + * config/sh/tm-linux.h: New file. Include generic tm-linux.h, + plus tm-sh.h, then define SVR4_FETCH_LINK_MAP_OFFSETS to use + the sh target function instead of the default link map offsets. + * config/sh/sh.mt: Add solib.o and solib-svr4.o to TDEPFILES. + Use sh/tm-linux.h instead of sh/tm-sh.h. + * sh-tdep.c (sh_linux_svr4_fetch_link_map_offsets): + New function. Construct target-specific link map offsets. + * i386-linux-tdep.c (i386_linux_svr4_fetch_link_map_offsets: + New function. Construct target-specific link map offsets. + * config/i386/tm-linux.h: Use above function instead of default. + +2000-10-30 Michael Snyder + + * config/i386/tm-linux.h: Remove definition of SVR4_SHARED_LIBS, + and inclusion of solib.h. Move up into ../tm-linux.h. + config/tm-linux.h: Define SVR4_SHARED_LIBS, include solib.h. + +2000-10-30 Kevin Buettner + + * top.c (simplified_command_loop, add_info, add_com, + help_command): Protoize. + * ui-out.c (gdb_query): Protoize. + +2000-10-30 Kevin Buettner + + Changes based on analysis from Peter Schauer: + * solist.h (struct so_list): Remove field lmend. + (struct target_so_ops): Remove field lm_addr. Add field + relocate_section_addresses. Add comments for all fields + in this structure + (TARGET_SO_LM_ADDR): Remove. + (TARGET_SO_RELOCATE_SECTION_ADDRESSES): New macro. + * solib-svr4.c (svr4_relocate_section_addresses): New function. + (_initialize_svr4_solib): Remove lm_addr initialization. Add + initialization for relocate_section_addresses. + * solib.c (solib_map_sections): Invoke + TARGET_SO_RELOCATE_SECTION_ADDRESSES instead of using now + defunct TARGET_SO_LM_ADDR to relocate the section addresses. + Also, eliminate assignment to the lmend field since this + field no longer exists. + (symbol_add_stub): Remove machinery for determining the lowest + section. + (info_sharedlibrary_command): Print the text section starting + and ending addresses. + (solib_address): Don't use TARGET_SO_LM_ADDR, nor so->lmend to + determine if an address is in a shared object. Instead, scan + the section table and test against the starting and ending + addresses for each section. + +2000-10-30 Michael Snyder + + * config/m68k/linux.mh: Remove solib.c, solib-svr4.c from NATDEPFILES. + * config/powerpc/linux.mh: ditto. + * config/ia64/linux.mh: ditto. + * config/i386/linux.mh: ditto. + * config/alpha/alpha-linux.mh: ditto. + * config/arm/linux.mh: ditto. + * config/m68k/linux.mt: Add solib.c, solib-svr4.c to TDEPFILES. + * config/powerpc/linux.mt: ditto. + * config/ia64/linux.mt: ditto. + * config/i386/linux.mt: ditto. + * config/alpha/alpha-linux.mt: ditto. + * config/arm/linux.mt: ditto. + +2000-10-30 J.T. Conklin + + * gdbarch.sh, hp-psymtab-read.c, hpread.c, m3-nat.c, mcore-tdep.c, + mips-tdep.c, monitor.c, regcache.c, remote-es.c, ser-unix.c, + somread.c, tracepoint.c: Fix spelling errors in comments. + * gdbarch.c: Regenerate. + + * gnu-nat.c (S_exception_raise_request): Fix typos and spelling + errors in strings. + * m3-nat.c (intercept_exec_calls, mach_thread_parse_id): Likewise. + * mcore-tdep.c (mcore_analyze_prologue): Likewise. + * mips-tdep.c (mips16_next_pc, _initialize_mips_tdep): Likewise. + * remote-e7000.c (e7000_start_remote): Likewise. + * remote-rdp.c (handle_swi): Likewise. + * remote-vx.c (vx_load_command): Likewise. + * sh-tdep.c (sh_do_pseudo_register): Likewise. + * sol-thread.c (td_err_string): Likewise. + * symtab.c (decode_line_2): Likewise. + +Mon Oct 30 10:19:01 2000 David Taylor + + * eval.c (parse_and_eval_long): New function. + * value.h: Declare it. + + * breakpoint.c (breakpoints_info, maintenance_info_breakpoints): + Call parse_and_eval_long, not parse_and_eval_address. + * command.c (do_setshow_command): Ditto. + * infcmd.c (step_1, signal_command, continue_command): Ditto. + * infrun.c (signals_info): Ditto. + * stack.c (set_backtrace_limit_command, backtrace_command_1, + up_silently_base, down_silently_base): Ditto. + * tracepoints.c (tracepoints_info, trace_find_command, + trace_find_tracepoint_command): Ditto. + * valprint.c (set_radix): Ditto. + * values.c (show_values): Ditto. + +2000-10-28 Kevin Buettner + + * symtab.c (decode_line_2, file_matches, search_symbols): Protoize. + * thread.c (iterate_over_threads): Protoize. + +2000-10-27 J.T. Conklin + + * arch-utils.c (set_architecture, set_architecture_from_arch_mach, + set_gdbarch_from_file): Fix spelling error in string. + * v850-tdep.c (v850_target_architecture_hook): Likewise. + * gdbarch.sh: Fix spelling errors in comments. + * gdbarch.c, gdbarch.h: Regenerate. + + * ppcnbsd-nat.c (fetch_core_registers, fetch_inferior_registers, + store_inferior_registers): Support older NetBSD/powerpc systems + from before fp reg support was added. Adapt to register number + changes caused when powerpc target was multi-arched. + +2000-10-26 David B. Anderson + + * breakpoint.c breakpoint.h hppab-nat.c infrun.c + language.h mcore-tdep.c mips-tdep.c symfile.c symtab.c + symtab.h target.c tm-mips.h xm-sun4sol2.h: Corrected + spelling errors in comments. + * gdbarch.c gdbarch.sh: Removed word from comment. + +2000-10-26 Kevin Buettner + + * sun3-nat.c (fetch_core_registers): Protoize. + * symm-nat.c (print_1167_regs, child_xfer_memory): Protoize. + +2000-10-26 Elena Zannoni + + * stabsread.c (define_symbol): Update comment. + +2000-10-26 Pierre Muller + + * stabsread.c (define_symbol): Set the type_name of the type + of the new symbol to the symbol name for type symbol, if the + language is Pascal. + +2000-10-26 Peter Schauer + + * arch-utils.c, arch-utils.h (default_convert_from_func_ptr_addr): + New function. + * gdbarch.sh (CONVERT_FROM_FUNC_PTR_ADDR): Add. + * gdbarch.c, gdbarch.h: Regenerate. + * valops.c (find_function_addr): Use CONVERT_FROM_FUNC_PTR_ADDR + unconditionally. + + * config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): Delete + definition. + * config/powerpc/tm-linux.h (CONVERT_FROM_FUNC_PTR_ADDR): Remove + undef. + * rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Fix comment. + (rs6000_gdbarch_init): Register rs6000_convert_from_func_ptr_addr + if not ELFOSABI_LINUX. + +2000-10-25 Kevin Buettner + + * config/rs6000/rs6000lynx.mt (TDEPFILES): Revert 2000-10-24 + change in which solib-svr4.o was inadvertently added to this + list. + +2000-10-25 Fred Fish + + * mips-tdep.c (MIPS_DEFAULT_MASK_ADDRESS_P): Define using either + the current arch or use zero. + +2000-10-25 Fernando Nasser + + * ser-unix.c (do_unix_readchar): Coding style improvement only. + +2000-10-25 Fernando Nasser + + * target.c (generic_mourn_inferior): Notify GUI that inferior is gone + by calling detach_hook, if defined. + +2000-10-24 Kevin Buettner + + * coffread.c (coff_end_symtab): When calling end_symtab(), + use SECT_OFF_TEXT() instead of 0 to represent the .text + section. + * hp-symtab-read.c (hpread_expand_symtab): Likewise. + * hpread.c (hpread_expand_symtab, hpread_process_one_debug_symbol): + Likewise. + +2000-10-24 Kevin Buettner + + * solib-svr4.c: New file created out of much of solib.c... + * solib.c (_SYSCALL32, BKPT_AT_SYMBOL): Move these defines to + solib-svr4.c. + (sys/types.h, signal.h, sys/param.h, fcntl.h, a.out.h, + elf/external.h, link.h): Move these includes to solib-svr4.c. + (bkpt_names, debug_base_symbols, main_name_list, + solib_extract_address, SOLIB_EXTRACT_ADDRESS, dynamic_copy, + ld_2_copy, debug_addr, flag_addr, LM_ADDR, LM_NEXT, LM_NAME, + IGNORE_FIRST_LINK_MAP_ENTRY, breakpoint_addr, + allocate_rt_common_objfile, solib_add_common_symbols, + bfd_lookup_symbol, look_for_base, elf_locate_base, locate_base, + first_link_map_member, open_symbol_file_object, match_main, + current_sos, interp_text_sect_low, interp_text_sect_high, + interp_plt_sect_low, interp_plt_sect_high, + in_svr4_dynsym_resolve_code, disable_break, enable_break, + special_symbol_handling): Moved to solib-svr4.c. + (debug32_copy, shadow_contents, fdmatch) + Removed entirely. + (struct so_list): Moved to solist.h + (MAX_PATH_SIZE): Moved to solist.h and renamed to + SO_NAME_MAX_PATH_SIZE. + + * solist.h: New file created from struct so_list in solib.c. + (struct lm_info): Add forward declaration. + (struct so_list): Remove fields lm, lm32, lmaddr. Replace with a + single field, lm_info, which will be a pointer to target specific + data. + (struct target_so_ops): New struct. + (free_so): Add extern declaration. + (current_target_so_ops): Declare new global variable. + (solib_map_sections): + (TARGET_SO_LM_ADDR, TARGET_SO_FREE_SO, TARGET_SO_CLEAR_SOLIB, + TARGET_SO_SOLIB_CREATE_INFERIOR_HOOK, + TARGET_SO_SPECIAL_SYMBOL_HANDLING, TARGET_SO_CURRENT_SOS, + TARGET_SO_OPEN_SYMBOL_FILE_OBJECT): New macros. + * solib.c (solib_map_sections, free_so, symbol_add_stub, + update_solib_list, solib_add, info_shared_library_command, + solib_address, clear_solib, solib_create_inferior_hook): Use + new TARGET_SO_* macros to call function on target specific + side indirectly. + (current_target_so_ops): Define new global variable. + (_initialize_solib): Eliminate HAVE_LINK_H ifdef. + * solib-svr4.h: New file; defines struct link_map_offsets and + SVR4_FETCH_LINK_MAP_OFFSETS. + * solib-svr4.c (_initialize_svr4_solib, svr4_clear_solib, + svr4_free_so): New functions. + (special_symbol_handling, solib_create_inferior_function_hook, + current_sos): Rename by adding a svr4_ prefix. + (default_svr4_fetch_link_map_offsets): New function. + (LM_ADDR, LM_NEXT, LM_NAME, IGNORE_FIRST_LINK_MAP_ENTRY, + first_link_map_member, open_symbol_file_object, svr4_current_sos): + Remove dependence on existence of link.h by calling + SVR4_FETCH_LINK_MAP_OFFSETS to obtain the offsets of shared library + data. As a result, SVR4 and non-SVR4 versions of many of these + functions coalesce into a single function and HAVE_STRUCT_LINK_MAP32 + ugliness is moved into default_svr4_fetch_link_map_offsets where it + is relatively contained. + (SOLIB_EXTRACT_ADDRESS): Revert 2000-08-29 change in which + solib_extract_address() is called instead of extract_address(). + (solib_extract_address): Removed. + + * Makefile.in (solib.o): Add solist.h as a dependency. + (solib-svr4.o): Add dependencies. + * config/alpha/alpha-linux.mh, config/alpha/fbsd.mh, + config/arm/linux.mh, config/i386/fbsd.mh, + config/i386/i386dgux.mh, config/i386/i386gnu.mh, + config/i386/i386sco5.mh, config/i386/i386sol2.mt, + config/i386/i386v4.mh, config/i386/i386v42mp.mh, + config/i386/linux.mh, config/i386/nbsd.mh, + config/i386/nbsdelf.mh, config/i386/ncr3000.mt, + config/i386/ptx4.mh, config/i386/sun386.mt, + config/ia64/linux.mh, config/m68k/linux.mh, + config/m68k/m68kv4.mh, config/m68k/nbsd.mh, + config/m68k/sun2os4.mt, config/m68k/sun3os4.mt, + config/m88k/delta88v4.mh, config/mips/mipsv4.mh, + config/ns32k/nbsd.mh, config/powerpc/linux.mh, + config/powerpc/nbsd.mh, config/powerpc/solaris.mh, + config/rs6000/rs6000lynx.mt, config/sparc/linux.mt, + config/sparc/nbsd.mh, config/sparc/nbsdelf.mh, + config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh + (NATDEPFILES): Add solib-svr4.o to list. + + * sparc-tdep.c (gregset.h): Don't include unless USE_PROC_FS is + defined. + +2000-10-24 Kevin Buettner + + * stabsread.c (dbx_lookup_type, dbx_alloc_type, + read_sun_builtin_type, read_sun_floating_type, + read_range_type): Protoize. + +Wed Oct 25 01:19:26 2000 Andrew Cagney + + * solib.c (open_symbol_file_object): Update function signature to + match catch_errors function argument. + +Wed Oct 25 00:08:01 2000 Andrew Cagney + + From 2000-09-06 Angela Marie Thomas : + * infttrace.c (get_dictionary_entry_of_page): Function + require_memory_page_dictionary takes no args. + +Tue Oct 24 16:12:00 2000 Andrew Cagney + + * gdba.el: Delete file. + * NEWS: Mention. + +2000-10-23 David B Anderson + + * TODO: Correct spelling errors + * command.c (_initialize_command) corelow.c (core_open) + main.c (captured_command_loop) mips-tdep.c (mips32_next_pc) + remote.c serial.h top.c utils.c config/nm-lynx.h: + Correct spelling errors in comments + +2000-10-22 Kevin Buettner + + * sparc-nat.c (fetch_core_registers): Protoize. + * sparcl-tdep.c (download): Protoize. + +Fri Oct 20 19:08:47 2000 Andrew Cagney + + * MAINTAINERS: Add Fred Fish to Blanket Write Privs list. + +2000-10-19 Josef Ezra + + * ax-gdb.c (gen_struct_ref): while generating data code, cases of + "collect p1->p2->data" where not covered if p2 is a 'typedefed' + type. this simple fix should forward the type pointer to the real + type. + +2000-10-19 Kevin Buettner + + * solib.c (LM_ADDR, LM_NEXT, LM_NAME, IGNORE_FIRST_LINK_MAP_ENTRY, + open_symbol_file_object): Protoize. + +2000-10-17 Kevin Buettner + + * remote-vx29k.c (vx29k_frame_chain_valid): Protoize. + * remote.c (remote_xfer_memory, remote_search): Protoize. + * sol-thread.c (sol_thread_xfer_memory): Protoize. + +2000-10-16 Peter Schauer + + * sparc-tdep.c (sparc_fix_call_dummy): Improve comments. + Adjust call_dummy_breakpoint_offset, so that `finish' after a stop + in a call dummy works. + (sparc_gdbarch_init): Fix setting of pc_in_call_dummy, it depends + on SPARC32/64_CALL_DUMMY_ON_STACK, not DO_CALL_DUMMY_ON_STACK. + +2000-10-15 Kevin Buettner + + * remote-st.c (st2000_xfer_inferior_memory): Protoize. + * remote-utils.c (gr_multi_scan): Protoize. + * remote-vx.c (vx_xfer_memory, net_get_symbols): Protoize. + +2000-10-13 Fernando Nasser + + * remote.c (putpkt_binary): Call read_frame, not getpkt. Log message. + (read_frame): Do not call error() on communication error when + reading checksum, but return failure instead and log message. + +2000-10-13 Fernando Nasser + + * varobj.c (type_changeable): Arrays are not changeable. + Trying to check for updates was causing an error if the array lived + in a register as gdb value_equal() cannot handle that case yet. + +2000-10-13 Fernando Nasser + + * varobj.c (varobj_update): Prevent uninitialized error code to be + returned on type_changed. Also, prevent value_equal() to be called + for the types we do not want to test for updates. + +2000-10-11 Fernando Nasser + + From Grant Edwards + This keeps the GUI alive while running an RDI target and lets the + STOP button be used to stop the target. + * remote-rdi.c (arm_rdi_stop): New function. Implements target_stop. + (init_rdi_ops): Set to_stop target vector entry to the above. + * rdi-share/ardi.c (stop_request): New variable. Tells when a stop + has been requested. + (angel_RDI_stop_request): New function. Registers that a stop has + been requested. + (angel_RDI_ExecuteOrStep): Add call to ui_loop_hook() in loop that + waits while target is executing. Initialize and reset stop_request. + * rdi-share/ardi.h: Add declaration of angel_RDI_stop_request(). + +2000-10-12 Kevin Buettner + + * remote-rdp.c (remote_rdp_xfer_inferior_memory): Protoize. + * remote-sds.c (sds_xfer_memory): Protoize. + * remote-sim.c (gdbsim_xfer_inferior_memory): Protoize. + +2000-10-12 Elena Zannoni + + From Daniel Berlin : + + * symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Initialize the symbol + language to auto instead of unknown, so it will try to demangle + the symbol. + * symtab.h (OPNAME_PREFIX_P): Change operator prefix to correct value. + * symtab.c (gdb_mangle_name): Properly handle C++ operators. + +2000-10-12 Elena Zannoni + + From Daniel Berlin : + + * symtab.c (lookup_symbol_aux): New function. Renamed from + lookup_symbol. Move code to do demangling/case sensitivity to + lookup_symbol(). + (lookup_symbol): Now wrapper for lookup_symbol_aux, so we can + perform case sensitivity/demangling without leaking memory. Move + code to do demangling/case sensitivity from old_lookup_symbol to + here. + (lookup_partial_symbol): Use SYMBOL_SOURCE_NAME instead of + SYMBOL_NAME. + (lookup_block_symbol): Use SYMBOL_SOURCE_NAME instead of + SYMBOL_NAME. Don't do linear search in case of C++. + + * symfile.c (compare_symbols): Use SYMBOL_SOURCE_NAME instead of + SYMBOL_NAME. + (compare_psymbols): Same here. + +2000-10-09 Kevin Buettner + + * remote-nindy.c (non_dle, nindy_xfer_inferior_memory): Protoize. + * remote-os9k.c (rombug_xfer_inferior_memory): Protoize. + * remote-rdi.c (arm_rdi_xfer_memory): Protoize. + +2000-10-09 Peter Schauer + + * config/i386/i386sol2.mh: Add XM_CLIBS definition to resolve + reference to gethostbyname. + +2000-10-06 Kevin Buettner + + * remote-eb.c (eb_xfer_inferior_memory): Protoize. + * remote-es.c (es1800_xfer_inferior_memory, es1800_files_info): + Protoize. + * remote-mm.c (expect_msg): Protoize. + +2000-10-04 Kevin Buettner + + * rs6000-tdep.c (skip_prologue): Add new parameter lim_pc. + Update all callers. + +2000-10-03 Kevin Buettner + + * remote-bug.c (bug_xfer_memory, bug_insert_breakpoint, + bug_remove_breakpoint): Protoize. + * remote-e7000.c (fetch_regs_from_dump, e7000_xfer_inferior_memory): + Protoize. + +2000-10-01 Kevin Buettner + + * remote-adapt.c (adapt_insert_breakpoint, adapt_remove_breakpoint): + Protoize. + * remote-array.c (write_monitor, array_xfer_memory): Protoize. + +2000-09-29 Kevin Buettner + + * ppc-linux-nat.c (supply_gregset, fill_gregset): Change type + of first argument from gregset_t to gdb_gregset_t in order + to match declarations in gregset.h. + (supply_fpregset, fill_fpregset): Change type of first argument + from fpregset_t to gdb_fpregset_t in order to match declarations + in gregset.h. + +2000-09-29 Kevin Buettner + + * procfs.c (proc_iterate_over_mappings, proc_iterate_over_threads, + procfs_xfer_memory): Protoize. + * ptx4-nat.c (proc_iterate_over_mappings): Protoize. + +2000-09-28 Peter Schauer + + * sol-thread.c (ps_pdmodel): Return PR_MODEL_UNKNOWN instead of + PS_ERR if exec_bfd is not yet open. + +2000-09-28 Peter Schauer + + * target.c (target_signal_from_host, do_target_signal_to_host): + Add support for Solaris realtime signals. + +2000-09-27 Kevin Buettner + + * os9kread.c (os9k_symfile_read, os9k_end_psymtab): Protoize. + * osfsolib.c (find_solib): Protoize. + +2000-09-25 Kevin Buettner + + * ns32knbsd-nat.c (fetch_core_registers): Protoize. + * ocd.c (ocd_xfer_memory): Protoize. + +2000-09-25 Andrew Cagney + + * MAINTAINERS: Add Mark Kettenis to ``Blanket Write Privs'' list. + +2000-09-24 Peter Schauer + + * rs6000-tdep.c (rs6000_pop_frame): Use PC_IN_CALL_DUMMY to test + for call dummy instead of accessing stop_stack_dummy, which does + not work if we `return' from a stop in a call dummy. + (rs6000_gdbarch_init): Use generic_save_dummy_frame_tos for + dummy_frame_tos function to make PC_IN_CALL_DUMMY work. + +2000-09-23 Kevin Buettner + + * mdebugread.c (mdebug_next_symbol_text): Protoize. + * monitor.c (monitor_xfer_memory): Protoize. + +2000-09-22 Peter Schauer + + * i386-linux-nat.c (OLD_CANNOT_FETCH_REGISTER, + OLD_CANNOT_FETCH_REGISTER): New definitions for accessible registers + when accessing the registers via the U area. + (fetch_register, store_register): Use them. + (cannot_fetch_register, cannot_store_register): New functions, + all registers should be accessible if we have GETREGS support. + * config/i386/nm-linux.h: Use cannot_fetch/store_register for + CANNOT_FETCH/STORE_REGISTER definitions. + +2000-09-06 Fred Fish + + * infttrace.c (update_thread_state_after_attach): Pass address + of ttstate_t object, not the object itself. + +2000-09-18 Mark Kettenis + + * lin-lwp.c (stop_wait_callback): Remove bogus assertions in the + code that deals with exiting/signalled threads. Replace with + code similar to what's done in lin_lwp_wait. + +2000-09-17 Kevin Buettner + + * ppc-linux-nat.c (fill_gregset, fill_fpregset): New functions. + * config/powerpc/linux.mh (NATDEPFILES): Remove linux-thread.o. + Add proc-service.o, thread-db.o, and lin-lwp.o. + (LOADLIBES): Define. + * config/powerpc/nm-linux.h (ATTACH_DETACH, SVR4_SHARED_LIBS): + Remove defines which are already present in ../nm-linux.h. + (solib.h): Don't include this file; it's already included by + ../nm-linux.h. + (PREPARE_TO_PROCEED, GET_THREAD_SIGNALS, ATTACH_LWP): Define + to use the following lin-lwp.c functions... + (lin_lwp_prepare_to_proceed, lin_thread_get_thread_signals, + lin_lwp_attach_lwp): Declare. + +2000-09-17 Kevin Buettner + + * m88k-nat.c (fetch_inferior_registers): Protoize. + * m88k-tdep.c (m88k_skip_prologue): Protoize. + +2000-09-15 Fernando Nasser + + * varobj.c (varobj_set_value): Call wrapped version of + parse_exp_1() to avoid longjumps. + +2000-09-15 Fernando Nasser + + * remote.c (putpkt_binary): Call read_frame, not getpkt. Log message. + (read_frame): Do not call error() on communication error when + reading checksum, but return failure instead and log message. + +2000-09-15 Fernando Nasser + + * ser-unix.c (do_unix_readchar): Prevent infinite read wait to be + interrupted after 32K seconds. + +2000-09-15 Kevin Buettner + + * language.c (show_case_command, set_case_command): Protoize. + * m3-nat.c (m3_xfer_memory, fetch_thread_info): Protoize. + +2000-09-12 Kevin Buettner + + * lin-thread.c (threadlist_iter, get_lwp_from_thread_id, + thread_db_xfer_memory): Protoize. + * linux-thread.c (iterate_active_threads): Protoize. + +2000-09-12 Kevin Buettner + + * objfiles.c (objfile_relocate): Don't assume that offsets + associated with one of SECT_OFF_TEXT, SECT_OFF_DATA, or + SECT_OFF_BSS will be adequate for relocating all of the + sections in an objfile. + +2000-09-12 Fernando Nasser + + * remote-rdi.c (arm_rdi_open): Fix typo in error message. + +Wed Sep 13 03:08:32 2000 Andrew Cagney + + * remote-mips.c (mips_expect, mips_getstring, mips_send_packet, + mips_send_packet, pmon_insert_breakpoint, send_srec, + pmon_check_ack, pmon_check_entry_address, + _initialize_remote_mips): Replace the magic two seconds with + ``remote_timeout''. + (pmon_check_entry_address, pmon_check_total): New functions. Use + ``remote_timeout'' instead of magic two seconds. + (pmon_end_download): Rewrite. Use pmon_check_entry_address and + pmon_check_total. + +2000-09-12 Alexandre Oliva + + * MAINTAINERS: Added myself. + +2000-09-11 Alexandre Oliva + + * acinclude.m4 (CY_GNU_GETTEXT): Add dummy definition, so that the + one brought in by ../bfd/acinclude.m4 prevails. + * aclocal.m4, configure: Rebuilt. + +2000-09-11 Kevin Buettner + + * configure.in (HAVE_STRUCT_LINK_MAP32): Change test to use + AC_TRY_COMPILE instead of AC_TRY_RUN. + * configure: Regenerate. + +2000-09-11 Kevin Buettner + + * irix4-nat.c (fetch_core_registers): Protoize. + * irix5-nat.c (fetch_core_registers, find_solib): Protoize. + +2000-09-06 Mark Kettenis + + * lin-lwp.c (normal_mask, blocked_mask): New variables. + (lin_lwp_wait): Block SIGCHLD here if it isn't already blocked. + (lin_lwp_mourn_inferior): Restore the origional signal mask, and + reset the mask of blocked signals. + (_initialize_lin_lwp): Don't block SIGCHLD here, but do initialize + suspend_mask and blocked_mask. This makes us pass + gdb.base/sigall.exp for Linux/x86 now. + (lin_thread_get_thread_signals): Treat the LinuxThreads "cancel" + signal similarly to SIGCHLD in the generic code. Avoids GDB being + terminated by a Real-time signal. + +2000-09-08 Kevin Buettner + + * infptrace.c, infttrace.c (child_xfer_memory): Protoize. + +2000-09-07 J.T. Conklin + + * config/i386/nbsd.mt (TDEPFILES): Add i386nbsd-tdep.o. + * i386nbsd-nat.c (i386nbsd_use_struct_convention): Moved from here. + * i386nbsd-tdep.c (i386nbsd_use_struct_convention): To here. + * i386nbsd-tdep.c: New file. + +2000-09-07 Kevin Buettner + + * i386mach-nat.c (fetch_inferior_registers, fetch_core_registers): + Protoize. + * i960-tdep.c (i960_skip_prologue, leafproc_return, mem): Protoize. + +Thu Sep 7 21:59:23 2000 Andrew Cagney + + * aclocal.m4: Regenerate. + * config.in, configure: Regenerate. + +Wed Sep 6 23:15:43 2000 Andrew Cagney + + * remote-rdi.c (voiddummy): Update function signature to match + struct Dbg_HostosInterface's reset method. + * remote-rdp.c (rdp_step): Fix handle parameter to + remote_rdp_insert_breakpoint and remote_rdp_remove_breakpoint. + + * arm-tdep.c (SIGCONTEXT_REGISTER_ADDRESS_P): Provide default + definition. + (arm_init_extra_frame_info): Use. + +2000-09-06 Stephane Carrez + + * m68hc11-tdep.c (m68hc11_store_return_value): Store the value + in D and X if it's larger than 16-bits. + (m68hc11_extract_return_value): Fix extractions for 1 and 3 bytes + return. + (m68hc11_push_return_address): Use CALL_DUMMY_ADDRESS for the + return address. + (m68hc11_use_struct_convention): Check for struct and union. + (m68hc11_return_value_on_stack): Use the struct convention. + (m68hc11_call_dummy_address): Use the entry point address. + (m68hc11_push_arguments): Fix alignment and padding. + (m68hc11_stack_align): New function. + (m68hc11_gdbarch_init): Register it. + +2000-09-06 Scott Bambrough + + * arm-linux-tdep.c (arm_linux_skip_solib_resolver): + Removed debug print statement. Removed arm_pc_is_thumb prototype. + * config/arm/tm-arm.h (arm_pc_is_thumb, arm_pc_is_thumb_dummy): + Move prototypes here from tm-embed.h. + * config/arm/tm-embed.h (arm_pc_is_thumb, arm_pc_is_thumb_dummy): + Remove prototypes. Moved to tm-arm.h. + +2000-09-06 H.J. Lu + + * TODO: Add hardware watchpoint problems on x86 OSes for 5.1. + +2000-09-06 Kevin Buettner + + * ia64-tdep.c (examine_prologue): Add rotating register rename + support for the general registers. + (ia64_get_saved_register): Add rotating register rename support + for the predicate registers and the floating-point registers. + +2000-09-05 Kevin Buettner + + * config/arm/tm-linux.h (arm_linux_sigcontext_register_address, + arm_linux_in_sigtramp): Declare. + (IN_SIGTRAMP, SIGCONTEXT_REGISTER_ADDRESS): Define. + * arm-tdep.c (SIGCONTEXT_REGISTER_ADDRESS): Define to be 0 + if not already defined by tm.h. + (arm_scan_prologue): Don't assume that the prologue instructions + will be in a contiguous clump. + (arm_init_extra_frame_info): Add support for sigtramp frames. + (arm_pc_is_thumb, arm_pc_is_thumb_dummy): Change type of + `memaddr' from bfd_vma to CORE_ADDR. + * arm-linux-tdep.c (gdbcore.h, frame.h): Include. + (arm_pc_is_thumb): Declare. + (arm_linux_skip_solib_resolver): Fix printf() statement. [Which + shouldn't be there anyway.] + (ARM_LINUX_SIGRETURN_INSTR, ARM_LINUX_RT_SIGRETURN_INSTR): New + defines. + (arm_linux_in_sigtramp, arm_linux_sigcontext_register_address): + New functions. + +2000-09-05 Kevin Buettner + + * i386aix-nat.c (fetch_core_registers): Protoize. + * hpux-thread.c (hpux_thread_xfer_memory): Protoize. + +2000-09-06 Stephane Carrez + + * m68hc11-tdep.c (m68hc11_frame_chain): Check for pc in call dummy. + (m68hc11_guess_from_prologue): 'des' instruction to allocate 1 byte + on the stack can appear in the prologue. + +2000-09-05 Michael Snyder + + * sol-thread.c (ps_pdmodel): Protect with an ifdef. + +Mon Sep 4 16:21:31 2000 Andrew Cagney + + * gdbarch.sh: Use printf instead of echo. + (do_read): During read, pad ``::'' with spaces and then strip out + those spaces. Avoid problems with IFS=:. + +2000-09-04 Mark Kettenis + + * config/i386/nm-linux.h: Include . + +2000-09-04 Pierre Muller + + * c-typeprint.c (c_typedef_print): remove (replaced by + typedef_print in typeprint.c). + * typeprint.c (typedef_print): new function. (old c_typedef_print + function with pascal language support added). + * value.h (c_printdef_print): removed. + (typedef_print): declare. + * symtab.c (print_symbol_info): call to c_typedef_print replaced + by call to typedef_print. + +2000-09-03 Mark Kettenis + + * config/i386/nm-linux.h (PREPARE_TO_PROCEED, ATTCH_LWP, + GET_THREAD_SIGNALS): New defines. + * config/i386/linux.mh (NATDEPFILES): Remove lin-thread.o and + linux-threads.o. Add proc-service.o, thread-db.o and lin-lwp.o. + * proc-service.c: New file. + * thread-db.c: New file. + * lin-lwp.c: New file. + + * gdb_assert.h: New file. + + * gdb_thread_db.h [HAVE_THREAD_DB_H]: Include . + [!HAVE_THREAD_DB_H]: Update from current glibc thread_db.h. Deal + with absence of here. + + * gdb_proc_service.h: Add copyright notice. + Protect against multiple inclusion. + Add fix for broken prfpregset_t here. + (struct ps_prochandle): Declare here. + [HAVE_PROC_SERVICE_H]: Include . + [!HAVE_PROC_SERVICE_H]: Include "gregset.h", define prgregset_t + and prfpregset_t in terms of gdb_gregset_t and gdb_fpregset_t if + necessary. + * lin-thread.c: Unconditionally include "gdb_proc_service.h". + Remove fix for broken prfpregset_t here. + (struct ps_prochandle): Don't declare here. + + * MAINTAINERS: Add myself as threads co-maintainer. + +2000-09-01 David Anderson + + * arch-utils.c arch-utils.h blockframe.c fork-child.c: + Corrected comment spelling dependant->dependent. + * corelow.c (default_core_sniffer): Corrected comment + spelling. + * cp-valprint.c (cp_print_value_fields): Corrected + comment spelling. + * d10v-tdep.c dbxread.c: Corrected comment spelling + dependan->dependen. + * defs.h: Corrected spelling, meant 64, not 32, in comment. + * dst.h eval.c event-loop.c: Corrected comment spelling. + * event-top.c gdb-events.sh: Corrected comment spelling. + * gdbarch.c: Corrected comment spelling. + * gdbarch.h gdbarch.sh: Corrected comment spelling, + dependant->dependent. + * gdbtypes.c gdbtypes.h: Corrected comment spelling. + * infcmd.c infrun.c: Corrected comment spelling. + * symfile.c symfile.h target.h: Corrected comment spelling, + dependant->dependent. + * tracepoint.h: Corrected comment spelling. + +2000-09-01 Kevin Buettner + + * hppa-tdep.c (record_text_segment_lowaddr): Protoize. + * hppah-nat.c (child_xfer_memory): Protoize. + +2000-09-01 Kevin Buettner + + * symtab.c (decode_line_1): Make sure leading character is + actually a colon before skipping over leading colons in global + namespace specification. + +2000-09-01 Michael Snyder + + * regcache.c (reg_flush_command): New function. Maintainer-mode + command, flushes GDB's register cache, for testing purposes. + +2000-08-31 J.T. Conklin + + * dcache.c (dcache_info): Output a cache line's state vector so it + lines up under the data vector. + + * dcache.c (dcache_read_line): New function. + (dcache_peek_byte): Use it. + (dcache_alloc): Return NULL if write of reclaimed cache line fails. + (dcache_peek_byte, dcache_poke_byte): Return failure if + dcache_alloc() returns a NULL data block pointer. + (dcache_xfer_memory): Don't force writeback unless we were writing. + + * monitor.c (monitor_expect): Change places where immediate_quit + is set to 1 or 0 to increments and decrements respectively. This + allows such changes to nest properly. + * ocd.c (ocd_start_remote): Likewise. + * remote-adapt.c (expect): Likewise. + * remote-array.c (expect): Likewise. + * remote-eb.c (expect): Likewise. + * remote-e7000.c (e7000_start_remote): Likewise. + * remote-mips.c (mips_expect_timeout, mips_getstring): Likewise. + * remote-nrom.c (expect): Likewise. + * remote-os9k.c (expect): Likewise. + * remote-sds.c (sds_start_remote): Likewise. + * remote-st.c (expect): Likewise. + * remote-utils.c (sr_expect): Likewise. + * remote.c (remote_start_remote): Likewise. + * tracepoint.c (read_actions): Likewise. + + * remote-mips.c (mips_getstring): Balance changes to immediate_quit. + +2000-08-31 David Anderson + + * MAINTAINERS: Add myself to write-after-approval list. + +2000-08-30 Kevin Buettner + + * gnu-nat.c (gnu_xfer_memory): Protoize. + * hp-psymtab-read.c (scan_procs, hp_quick_traverse): Protoize. + +2000-08-30 Kevin Buettner + + * solib.c (solib_extract_address, LM_ADDR, LM_NEXT, LM_NAME, + LM_ADDR, IGNORE_FIRST_LINK_MAP_ENTRY, first_link_map_member, + open_symbol_file_object, current_sos): Rename + bfd_elf_get_arch_size to bfd_get_arch_size(). + * sol-thread.c (rw_common, ps_pdmodel): Likewise. + +2000-08-30 David Edelsohn + + Patch applied by Kevin Buettner : + + * rs6000-nat.c (xcoff_relocate_symtab): Pass correct size + to xrealloc(). + +2000-08-29 Michael Snyder + + * valops.c (value_cast): Indentation fix-up. + * acconfig.h (HAVE_PRGREGSET32_T, HAVE_PRFPREGSET32_T, + HAVE_STRUCT_LINK_MAP32): New configure macros. + * config.in: Ditto. + * configure.in: Test for the above new macros. + * breakpoint.c: Update copyright date. + * core-sol2.c: Include v9/sys/privregs.h directly to + work around a bug in Sun's Solaris 8 header files. + (fetch_core_registers): Use the above new configure macros to + handle cross-debugging of 32-bit core files on a 64-bit host. + * sol-thread.c (ps_pdmodel) New function. + (rw_common): For debugging of 32-bit apps on a 64-bit host, + truncate addresses to 32 bits. + * solib.c (solib_extract_address): Functionize. Make 32/64 aware. + (LM_ADDR, LM_NEXT, LM_NAME): Ditto. + (IGNORE_FIRST_LINK_MAP): Ditto. + (first_link_map_member): Make 32/64 aware. + (open_symbol_file_object): Ditto. + (current_sos): Ditto. + +2000-08-29 Michael Snyder + + * i386-linux-nat.c (i386_linux_skip_solib_resolver, + skip_hurd_resolver, find_minsym_and_objfile): Move these + solib functions into i386-linux-tdep.c for cross debugging. + * i386-linux-tdep.c: Receive the above functions. + +2000-08-29 Stephane Carrez + + * m68hc11-tdep.c (stack_correction): New variable for stack offset + correction (1 for 68hc11, 0 for 68hc12). + (m68hc11_saved_pc_after_call): Use it. + (m68hc11_frame_chain): Likewise. + (m68hc11_frame_init_saved_regs): Likewise. + (m68hc11_init_extra_frame_info): Likewise. + (m68hc11_push_return_address): Likewise. + (m68hc11_push_arguments): Struct address must be corrected by + applying the stack_correction offset. + (m68hc11_store_struct_return): Likewise. + +2000-08-28 Kevin Buettner + + * gdbserver/utils.c (error, fatal): Protoize. + +2000-08-27 Mark Kettenis + + * i386-linux-nat.c (fetch_inferior_registers): Move call to + dummy_sse_values ... + (supply_fpregset): ... here. + +2000-08-27 Elena Zannoni + + * pa64solib.c (pa64_solib_load_symbols): Don't use ANOFFSET as an + lvalue. + * xcoffread.c (xcoff_symfile_offsets): Ditto + * somsolib.c (som_solib_section_offsets): Ditto. + * somread.c (som_symfile_offsets): Ditto. + * rs6000-nat.c (vmap_symtab): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * remote-os9k.c (rombug_wait): Ditto. + +2000-08-27 Mark Kettenis + + * gregset.h: Protect against multiple inclusion. Remove some + redundant spaces. + +Sun Aug 27 00:00:04 2000 Christopher Faylor + + * win32-nat.c (dll_symbol_command): Tack a .dll on the end of a + supplied argument if it is missing an extension. + +2000-08-24 Egor Duda + + * corelow.c: Define O_BINARY if it isn't defined. + (core_open): Open core file in binary mode. + * config/i386/tm-cygwin.h (child_clear_solibs): Rename from + child_clear_solib. + * config/i386/cygwin.mh: Add dependency from corelow.o. + * win32-nat.c (register_loaded_dll): New function. Add dll to the list + of currently loaded dlls. + (handle_load_dll): Use register_loaded_dll. + (child_solib_add): Distinguish between active process and core targets. + (solib_symbols_add): Load symbols from loaded dll. + (core_dll_symbols_add): New function. Load symbols from dll referenced + in core. + (core_section_load_dll_symbols): New function. + (dll_code_sections_add): New function. + (map_single_dll_code_section): New function. + (fetch_elf_core_registers): New function. + (_initialize_core_win32): New function. + +2000-08-26 Kevin Buettner + + * gdbserver/gdbreplay.c (main): Protoize. + * gdbserver/server.c (start_inferior, main): Protoize. + +2000-08-26 Stephane Carrez + + * m68hc11-tdep.c (m68hc11_register_names): Update name of registers. + (m68hc11_get_register_info): New function. + (m68hc11_initialize_register_info): New function to get addresses + of soft registers. + (m68hc11_which_soft_register): New function. + (m68hc11_fetch_pseudo_register, m68hc11_store_pseudo_register): + New functions to translate read/write of soft registers into a + memory read/write. + (m68hc11_guess_from_prologue): Initialize soft register addresses. + Use the soft register addresses to guess the prologue. + (m68hc11_gdbarch_init): Install the pseudo registers. + + * m68hc11-tdep.c (m68hc11_register_name, m68hc11_breakpoint_from_pc, + m68hc11_saved_pc_after_call, m68hc11_frame_saved_pc, + m68hc11_frame_args_address, m68hc11_frame_locals_address, + m68hc11_guess_from_prologue, m68hc11_push_arguments, + m68hc11_call_dummy_address, m68hc11_call_dymmy_address, + m68hc11_register_virtual_type, m68hc11_store_struct_return, + m68hc11_store_return_value, m68hc11_extract_return_value, + m68hc11_use_struct_convention, m68hc11_return_value_on_stack, + m68hc11_extract_struct_value_address, m68hc11_push_return_address, + m68hc11_register_byte, m68hc11_register_raw_size, + m68hc11_gdbarch_init): New functions for multi-arch support. + (m68hc11_not_yet): Remove. + +Fri Aug 25 16:57:05 2000 David Taylor + + * regcache.c (register_changed): New function. + * value.h: Declare it. + +Fri Aug 25 12:11:21 2000 David Taylor + + * symtab.c (search_symbols): Fix off by one error in index for + initializing variables ourtype, ourtype2, ourtype3, and ourtype4. + (symtab_symbol_info): fix similar off by one error. + +Fri Aug 25 12:03:15 2000 David Taylor + + * gdbarch.sh (TARGET_ADDR_BIT): New macro for the number + of bits in gdb's representation of a target address. + * gdbarch.c, gdbarch.h: Regenerated. + * gdbtypes.c (build_gdbtypes): Use TARGET_ADDR_BIT instead of + TARGET_PTR_BIT when initializing builtin_type_CORE_ADDR. + * printcmd.c (print_address_numeric): Use TARGET_ADDR_BIT instead + of TARGET_PTR_BIT, because we're printing an address, not a pointer. + +2000-08-25 Pierre Muller + + * Makefile.in: add rules to compile and link pascal specific files. + * config/djgpp/fnchange.lst: add substitution for p-exp.tab.c. + +2000-08-20 Michael Chastain + + * remote.c (read_frame): Handle SERIAL_TIMEOUT while reading + checksum. + +2000-08-23 Kevin Buettner + + * dstread.c (dst_symfile_offsets): Protoize. + * fork-child.c (fork_inferior): Protoize. + +2000-08-21 Kevin Buettner + + * dbxread (dbx_symfile_read, process_later): Protoize. + * dsrec.c (load_srec): Protoize. + +2000-08-18 Andrew Cagney + + * mips-tdep.c (mips_gdbarch_init): Check arches->gdbarch and not + current_gdbarch for a match. + +2000-08-18 J.T. Conklin + + * MAINTAINERS: Add myself as dcache.c maintainer. + + * remote-nindy.c (nindy_load): Invalidate dcache. + + * dcache.c (dcache_invd): Renamed from dcache_flush. The term + flush with respect to caches usually implies that data will be + written to memory. + (dcache_init, dcache_xfer_memory): Updated. + * monitor.c (flush_monitor_dcache, monitor_resume, monitor_load): + Updated. + * ocd.c (ocd_open, ocd_resume, bdm_reset_command): Updated. + * remote-bug.c (bug_load, bug_resume): Updated. + * remote-nindy.c (nindy_open, nindy_resume): Updated. + * remote-sds.c (sds_open, sds_resume): Updated. + * remote-utils.c (gr_open): Updated. + * remote.c (remote_open_1, remote_resume, remote_async_resume, + remote_cisco_open): Updated. + * wince.c (child_create_inferior, child_resume): Updated. + + * monitor.c (monitor_open): Free dcache before creating a new one. + * dcache.c (dcache_free): New function. + * dcache.h (dcache_free): New prototype. + +2000-08-18 Andrew Cagney + + * remote-array.c (array_fetch_register): Pass dummy parameter to + array_fetch_registers. + (array_store_register): Ditto. + +2000-08-16 Eli Zaretskii + + * value.h (struct value) : Add a comment about its use for + watchpoints. + +2000-08-12 Kevin Buettner + + * cxux-nat.c (fetch_inferior_registers): Protoize. + * d10v-tdep.c (d10v_frame_chain_valid, d10v_extract_return_value): + Protoize. + * d30v-tdep.c (d30v_frame_chain_valid, d30v_extract_return_value): + Protoize. + +Fri Aug 11 19:00:51 2000 Andrew Cagney + + * config/mn10300/tm-mn10300.h (REGISTER_SIZE, + MAX_REGISTER_RAW_SIZE, REGISTER_VIRTUAL_TYPE, REGISTER_BYTE, + REGISTER_VIRTUAL_SIZE, REGISTER_RAW_SIZE): Disable. + * mn10300-tdep.c (mn10300_do_registers_info, + mn10300_print_register): New functions. Pretty print registers. + (mn10300_register_virtual_type, mn10300_register_byte, + mn10300_register_virtual_size, mn10300_register_raw_size): New + functions. + (mn10300_gdbarch_init): Update. + + * mn10300-tdep.c (mn10300_gdbarch_init): Check for mn10300 variant + and not mips variant in the info struct. + +2000-08-11 Mark Kettenis + + * i386-linux-nat.c [! HAVE_PTRACE_GETFPXREGS] (fetch_fpxregs, + store_fpxregs): Return 0. + +2000-08-11 Andrew Cagney + + * regcache.c (GET_SAVED_REGISTER): Restore definition. Was lost + as part of 2000-08-10 Andrew Cagney . + +2000-08-11 J.T. Conklin + + * dcache.c (dcache_info): Don't print cache state if last_cache + is NULL. + +2000-08-10 Andrew Cagney + + * config/mn10300/tm-mn10300.h, mn10300-tdep.c + (mn10300_push_arguments): Fix function signature to match gdbarch + vector. + * config/mn10300/tm-mn10300.h (REGISTER_NAME): Delete. + * mn10300-tdep.c (struct gdbarch_tdep): Define. + (mn10300_generic_register_names, am33_register_names): Convert to + functions. + (set_machine_hook): Delete. + (register_name): New function. + (mn10300_register_name): Delete. + (mn10300_dump_tdep, mn10300_gdbarch_init): New functions. + (_initialize_mn10300_tdep): Call register_gdbarch_init instead of + specify_exec_file_hook. + (AM33_MODE): Define. + (set_movm_offsets): Update. + +2000-08-10 Mark Kettenis + + Adapt support for SSE registers in Linux/x86 for Linux 2.4. + * i386-linux-nat.c: Various doc fixes. Include "i387-nat.h". + (GETFPXREGS_SUPPLIES): Renamed from GETXFPREGS_SUPPLIES. + (have_ptrace_getfpxregs): Renamed from have_ptrace_getxfpregs. + (convert_to_gregset): Removed. Moved logic to ... + (fill_gregset): ... here. Simplified function. + (fetch_regs): Use perror_with_name for error reporting. + (store_regs): Add `regno' parameter. Use perror_with_name for + error reporting. Call fill_gregset instead of convert_to_gregset. + (FPREG_ADDR): Remove. + (supply_fpregset): Implement by calling i387_supply_fsave. + (convert_to_fpregset): Remove. + (fill_fpregset): Implement by calling i387_fill_fsave. + (fetch_fpregs): Use perror_with_name fro error reporting. + (store_fpregs) Add `regno' parameter. Use perror_with_name fro + error reporting. Call fill_fpregset instead of + convert_to_fpregset. + (supply_xfpregset, convert_to_xfpregset): Removed. + (supply_fpxregset, fill_fpxregset): New functions. + (fetch_fpxregs): Renamed from fetch_xfpregs. Use perror_with_name + for error reporting. Call supply_fpxregset instead of + supply_xfpregset. + (store_xfpregs): Removed. + (store_fpxregs): New function. + (fetch_inferior_registers): Adjust for xfp -> fpx change. Tweak + message in call to internal_error. + (store_inferior_registers): Adjust for xfp ->fpx change. Pass + REGNO to store_regs, store_fpregs and store_fpxregs. + (fetch_core_registers): Adjust for xfp -> fpx change. + * acconfig.h (HAVE_PTRACE_GETFPXREGS): Renamed from + HAVE_PTRACE_GETXFPREGS. + * config.in: Regenerated. + * configure.in: Replace check for PTRACE_GETXFPREGS with check for + PTRACE_GETFPXREGS. Remove comment about Cygnus SSE extensions. + * configure: Regenerated. + * config/i386/linux.mh (NATDEPFILES): Add i387-nat.o. + * config/i386/tm-linux.h: Base definition of HAVE_SSE_REGS on + HAVE_PTRACE_GETFPXREGS instead of HAVE_PTRACE_GETXFPREGS. + +2000-08-10 Andrew Cagney + + * regcache.c (TARGET_WRITE_PC, TARGET_READ_PC, TARGET_READ_FP, + TARGET_WRITE_FP, TARGET_READ_SP, TARGET_WRITE_SP): Move + initialization from here. + * gdbarch.sh: To here. + * gdbarch.h, gdbarch.c: Regenerate. + +Thu Aug 10 18:58:04 2000 Andrew Cagney + + * defs.h (TARGET_BFD_VMA_BIT, TARGET_SHORT_BIT, TARGET_INT_BIT, + TARGET_LONG_BIT, TARGET_LONG_LONG_BIT, TARGET_FLOAT_BIT, + TARGET_DOUBLE_BIT, TARGET_LONG_DOUBLE_BIT, TARGET_PTR_BIT): Move + non- multi-arch handling from here. + * gdbarch.sh: To here. Update printf gdbarch_update_p. Make more + portable. + * gdbarch.h, gdbarch.c: Regenerate. + +2000-08-10 Andrew Cagney + + * partial-stab.h (DBX_READ): Eliminate redundant check for null + ``pst''. Also fixes GCC warning. + +2000-08-10 Andrew Cagney + + * rs6000-nat.c (set_host_arch): Check value returned by + gdbarch_update_p. + * gdbarch.sh (gdbarch_update_p): Rename gdbarch_update. + * gdbarch.h, gdbarch.c: Regenerate + * arch-utils.c (set_gdbarch_from_file, + initialize_current_architecture, set_endian): Update. + +2000-08-10 Jimmy Guo + + * c-lang.c: Set case sensitivity on for c_language_defn, + cplus_language_defn, and asm_language_defn. + * ch-lang.c: Set case sensitivity on for chill_language_defn. + * f-lang.c: Set case sensivitity off for f_language_defn. + * jv-lang.c: Set case sensitivity on for java_language_defn. + * language.h: Add enum case_mode, case_sensitivity. + * language.c: Define case_mode, case_sensitivity. Set case + sensitivity on for unknown_language_defn, auto_language_defn, + and local_language_defn. + (show_case_command,set_case_command,set_case_str): New static func. + (set_type_range_case): New static func, replaces set_type_range (). + (set_language_command,set_type_command,set_range_command,set_language): + Call set_type_range_case (). + (language_info): Print case sensitivity setting. + (_initialize_language): Add set/show commands for 'case-sensitive'. + Set default case mode 'auto'. Set default language 'auto'. + * m2-lang.c: Set case sensitivity on for m2_language_defn. + * p-lang.c: Set case sensitivity on for pascal_language_defn. + * scm-lang.c: Set case sensitivity off for scm_language_defn. + * symtab.c (lookup_symbol): Downcase symbol name if case sensivitity + is off. + +2000-08-10 Jimmy Guo + + * MAINTAINERS: Change my contact email for hp tests maintainership. + +Thu Aug 10 15:28:17 2000 Andrew Cagney + + * sparc-tdep.c (sparc_init_extra_frame_info): Fix number of + arguments to fetch_instruction. + +2000-08-10 Kazu Hirata + + * hppa_tdep.c: Fix a comment typo. + * gdba.el: Likewise. + +2000-08-10 Tom Tromey + + * MAINTAINERS: Added myself with write-after-approval access. + +2000-08-10 J.T. Conklin + + * monitor.c (monitor_open): If a dcache has already been created, + invalidate it rather than creating another. + * ocd.c (ocd_open): Likewise. + * remote-nindy.c (nindy_open): Likewise. + * remote-sds.c (sds_open): Likewise. + * remote-utils.c (gr_open): Likewise. + * remote.c (remote_open_1, remote_cisco_open): Likewise. + + * dcache.c (dcache_alloc): Changed to take address of line as an + argument, and to invalidate cache line before returning. + (dcache_peek_byte): Updated. + (dcache_poke_byte): Updated. + +2000-08-10 Elena Zannoni + + From Greg McGary : + * partial-stab.h: Don't crash if pst is null. + +2000-08-10 Mark Kettenis + + * i387-nat.h (i387_supply_fsave, i387_fill_fsave): Make extern. + (i387_supply_fxsave, i387_fill_fxsave): New prototypes. + * i387-nat.c (i387_supply_fsave): Declare `val' as `unsigned int'. + (fxsave_offset): New variable. + (FXSAVE_ADDR): New macro. + (i387_supply_fxsave, i387_fill_fxsave, i387_tag): New functions. + +2000-08-08 Tom Tromey + + * jv-valprint.c (java_value_print): Only print non-null Strings. + +2000-08-09 Kevin Buettner + + * core-sol2.c (fetch_core_registers): Protoize; add prefatory + comment. + * corefile.c (specify_exec_file_hook, generic_search): Protoize. + +2000-08-09 Michael Snyder + + * blockframe.c (sigtramp_saved_pc): Use dynamic allocation, + since TARGET_PTR_BIT is no longer a constant (MULTI_ARCH). + * irix4-nat.c (get_longjmp_target): Ditto. + * irix5-nat.c (get_longjmp_target): Ditto. + * jv-valprint.c (java_value_print): Ditto. + * m3-nat.c (get_cprocs): Ditto. + * m68k-tdep.c (get_longjmp_target): Ditto. + * mips-nat.c (get_longjmp_target): Ditto. + * mipsv4-nat.c(get_longjmp_target): Ditto. + * pa64solib.c (read_dynamic_info): Ditto. + * solib.c (elf_locate_base): Ditto. + +Mon Aug 7 23:21:22 2000 David Taylor + + * TODO: remove build_parse entry. + +2000-08-07 Kevin Buettner + + * command.c (add_cmd, add_abbrev_cmd, add_prefix_cmd, + add_abbrev_prefix_cmd): Protoize. + +2000-08-07 Elena Zannoni + + * objfiles.h (SECT_OFF_BSS): Don't detect invalid sect_index_bss + here, let the users of the macro do it. + * symtab.h (ANOFFSET): Detect here if the section index is not + initialized. + * xcoffread.c (find_targ_sec): Don't treat .bss as special, + because some objfiles may not have that section at all. + * coffread.c (cs_to_section): Ditto. + * elfread.c (elf_symtab_read): Detect an uninitialized index + value. + (elfstab_offset_sections): The macro ANOFFSET cannot be used as an + lvalue anymore. + * remote.c (get_offsets, remote_cisco_objfile_relocate): Don't use + ANOFFSET as an lvalue. + * objfiles.c (objfile_relocate, objfile_relocate): Don't use + ANOFFSET as an lvalue. + * symfile.c (default_symfile_offsets): Don't use ANOFFSET as an + lvalue. + +Mon Aug 7 10:24:30 2000 David Taylor + + * parse.c (build_parse): don't write off the end of the std_regs + array. + +2000-05-21 Mark Kettenis + + * solib.c (bfd_lookup_symbol): Fall back on the dynamic symbol + table if the symbol couldn't be found in the normal symbol table + (i.e. if the shared object in question was stripped). + +2000-08-06 Kevin Buettner + + * ch-exp.c (parse_opt_name_string): Protoize. [Thanks to Eli + Zaretskii for the prefatory comment.] + * core-regset.c (fetch_core_registers): Protoize; revise + comment. + +2000-08-06 Christopher Faylor + + * win32-nat.c: Perform various gcc warning cleanups. + (safe_symbol_file_add_cleanup): Reset stdout to saved stdout, not + stderr. + (dll_symbol_command): Pass OBJF_USERLOADED to safe_symbol_file_add. + (get_child_debug_event): Always reset last_sig. Always reset inferior + pid appropriately. + (do_initial_child_stuff): New function. Called when attaching or + starting a new inferior process. + (child_attach): Use do_initial_child_stuff. + (child_create_inferior): Ditto. + * config/i386/cygwin.mh (NAT_FILE): Set to modern location. + * config/i386/tm-cygwin.h: Define ATTACH_NO_WAIT. + +2000-08-05 Eli Zaretskii + + * go32-nat.c: (go32_wait): If child_cwd[] is empty, initialize + it to GDB's current directory. + (go32_create_inferior, init_go32_ops): Initialize child_cwd[] to + an empty string, to signal an uninitialized value. + From Robert Hoehne . + +2000-08-04 Kevin Buettner + + * symtab.h (fixup_psymbol_section): Declare. + * symtab.c (fixup_psymbol_section): Make extern. + (fixup_section): Fix up section as well as bfd_section. + * objfiles.c (objfile_relocate): Call fixup_symbol_section + or fixup_psymbol_section before attempting to access + the SYMBOL_SECTION component of a symbol or partial symbol. + +2000-08-04 Kevin Buettner + + * minsyms.c (build_minimal_symbol_hash_tables): New function. + (compact_minimal_symbols): Don't construct hash tables here. + (install_minimal_symbols): Instead, construct them here. + (msymbols_sort): And rebuild them here too. + + * dwarf2read.c (struct comp_unit_head): Add fields offset_size + and initial_length_size. Change type of ``length'' field to long. + (read_initial_length, read_offset): New functions. + (dwarf2_build_psymtabs_easy): Call read_initial_length() instead + of just reading 4 bytes. + (read_comp_unit_head): Likewise; also, call read_offset() to + fetch the offset instead of just reading 4 bytes. + (dwarf_decode_lines): Likewise. + (read_comp_unit_head): Fix internal error message so it + accurately reflects the function in which the error occurred. + (dwarf2_build_psymtabs_hard): Properly account for size of the + initial length field in the section. + (read_attribute, dwarf2_get_ref_die_offset): Add a case for + DW_ORM_ref8. + (dwarf2_build_psymtabs_hard, psymtabs_to_symtab_1): Don't + assume that the .text section will have index 0 in the + section_offsets table. + +Fri Aug 4 18:00:41 2000 Andrew Cagney + + * remote.c (enum Z_packet_type): Define. + (remote_protocol_Z): Change to an array of size NR_Z_PACKET_TYPES. + (remote_insert_watchpoint): Check watchpoint type. + (watchpoint_to_Z_packet): New function. + (enum packet_result): Define. + (packet_ok): New function. Return enum packet_result. + (init_all_packet_configs): New function. + (remote_open_1, remote_async_open_1, remote_cisco_open): Use + init_all_packet_configs instead of initializing remote_protocol_P, + remote_protocol_Z, remote_protocol_binary_download separatly. + (remote_remove_hw_breakpoint, remote_insert_hw_breakpoint, + remote_remove_watchpoint, remote_insert_watchpoint): Use + watchpoint_to_Z_packet and packet_ok. Remove #ifdef + TARGET_HAS_HARDWARE_WATCHPOINTS. + (set_remote_protocol_Z_software_bp_packet_cmd, + show_remote_protocol_Z_software_bp_packet_cmd, + set_remote_protocol_Z_hardware_bp_packet_cmd, + show_remote_protocol_Z_hardware_bp_packet_cmd, + set_remote_protocol_Z_write_wp_packet_cmd, + show_remote_protocol_Z_write_wp_packet_cmd, + set_remote_protocol_Z_read_wp_packet_cmd, + show_remote_protocol_Z_read_wp_packet_cmd, + set_remote_protocol_Z_access_wp_packet_cmd, + show_remote_protocol_Z_access_wp_packet_cmd): New functions. + (remote_Z_packet_packet_detect): New variable. + (show_remote_protocol_Z_packet_cmd, + set_remote_protocol_Z_packet_cmd): Iterate over all ``Z'' packet + variants. + (add_packet_config_cmd): Add argument legacy. Change syntax to + ``set/show remote FULL_NAME-packet ...'' command. Add ``set/show + remote XXX-packet ...'' command using add_alias_cmd when legacy. + (set_packet_config_cmd): Delete. + (show_remote_cmd): New function. + + * TODO: Update. + +Fri Aug 4 14:05:57 2000 Andrew Cagney + + * Makefile.in (infodir, SER_HARDWIRE): Fix merge problems from + 2000-07-07 Michael Snyder . + +Wed Aug 2 21:15:26 2000 Andrew Cagney + + * gdbarch.sh (EXTRA_STACK_ALIGNMENT_NEEDED): Add. + * gdbarch.h, gdbarch.c: Regenerate. + * valops.c (hand_function_call): Replace #ifndef + NO_EXTRA_ALIGNMENT_NEEDED with if EXTRA_STACK_ALIGNMENT_NEEDED. + + * d10v-tdep.c (d10v_gdbarch_init): Set + extra_stack_alignment_needed to 0. + * config/d10v/tm-d10v.h (NO_EXTRA_ALIGNMENT_NEEDED): Delete. + * config/pa/tm-hppa.h (EXTRA_STACK_ALIGNMENT_NEEDED): Replace + NO_EXTRA_ALIGNMENT_NEEDED. + +2000-08-03 Stephane Carrez + + * MAINTAINERS (m68hc11): Stephane Carrez is maintainer. + +2000-08-03 Kevin Buettner + + * breakpoint.c (bpstat_alloc, map_catch_names, + map_breakpoint_numbers): Protoize. + +Thu Aug 3 15:02:23 2000 Andrew Cagney + + * remote-mips.c (mips_expect, mips_expect_timeout, common_open, + fputs_readable): Make string pointer arguments constant. + +Thu Aug 3 18:39:10 2000 Andrew Cagney + + * MAINTAINERS, TODO: Tweeks. + +Thu Aug 3 15:46:43 2000 Andrew Cagney + + * TODO (5.1): Update. + +2000-08-02 Kevin Buettner + + * alpha-tdep.c (alpha_extract_return_value): Protoize. + +2000-08-02 Jimmy Guo + + * gdbarch.sh: Add print_p field for CALL_DUMMY_BREAKPINT_OFFSET + to be printed only if CALL_DUMMY_BREAKPOINT_OFFSET_P. + + * gdbarch.c: Regenerated. + +2000-08-02 Elena Zannoni + + * remote-vx.c (vx_add_symbols): Fix typos. + +Wed Aug 2 19:15:34 2000 Andrew Cagney + + * arch-utils.h, gdbarch.c (default_register_sim_regno): New + function. + * gdbarch.sh (REGISTER_SIM_REGNO): Add. + * gdbarch.h, gdbarch.c: Regenerate. + * remote-sim.c (REGISTER_SIM_REGNO): Delete definition. + + * config/d10v/tm-d10v.h (REGISTER_SIM_REGNO): Delete. + * d10v-tdep.c (d10v_gdbarch_init): Update. + (struct gdbarch_tdep): Delete member register_sim_regno. + (d10v_register_sim_regno): Delete function. + +Wed Aug 2 14:46:18 2000 Andrew Cagney + + * remote.c (enum packet_detect, packet_support_enums, + packet_support_auto, packet_enable, packet_disable): Delete. + (show_packet_config_cmd, set_packet_config_cmd, + init_packet_config): Use add_set_auto_boolean_cmd. + * TODO: Update. + +Wed Aug 2 13:06:25 2000 Andrew Cagney + + * remote-udi.c (udi_xfer_inferior_memory, udi_files_info, + udi_kill): Update function signatures so that match target vector. + * MAINTAINERS: Update. + +Wed Aug 2 11:04:15 2000 Andrew Cagney + + * TODO: Updates. + +2000-08-01 Elena Zannoni + + * gdbarch.sh: Multiarch DO_REGISTERS_INFO macro. + * gdbarch.h, gdbarch.c: Regenerate. + * infcmd.c (do_registers_info): Make not static and + unconditionalize. + * inferior.h (do_registers_info): Export. + +2000-08-01 Kazu Hirata + + * MAINTAINERS: Add myself to "Write After Approval" list. + +Tue Aug 1 21:02:42 2000 Andrew Cagney + + * MAINTAINERS: Update list of target maintainers. List all + targets explicitly. + (sh): Elena Zannoni is maintainer. + (powerpc): Nick Duffek is a maintainer. + +Tue Aug 1 17:45:12 2000 Andrew Cagney + + * gdbarch.sh: Parse and save comments in the function_list. Print + them out as part of the header. Convert all function definitions + to ISO-C form. + * gdbarch.h, gdbarch.c: Regenerate. + +Tue Aug 1 14:50:55 2000 Andrew Cagney + + * top.c (get_prompt_1), tracepoint.c (replace_comma): Update + function signatures so that they match catch_errors and + make_cleanup callbacks. + + * tracepoint.c (encode_actions): Fix arguments passed to + stringify_collection_list. + +2000-07-31 Kevin Buettner + + * ppc-tdep.h: New file. + * Makefile.in (ppc-linux-tdep.o, rs6000-tdep.o): Add ppc-tdep.h + as a dependency. + * ppc-linux-tdep.c, rs6000-tdep.c (ppc-tdep.h): Include. + + * ppc-linux-tdep.c (ppc_linux_at_sigtramp_return_path): Made static. + + * rs6000-tdep.c (elf-bfd.h): Include. + (gdbarch_tdep): Add field osabi to this struct. + (rs6000_init_extra_frame_info, rs6000_frame_init_saved_regs, + rs6000_frameless_function_invocation, rs6000_frame_saved_pc, + rs6000_frame_chain): No longer static. + (process_note_abi_tag_sections, get_elfosabi): New static + functions. + (rs6000_gdbarch_init): Revised to accomodate ELF executables; + also use Linux specific methods when the target is Linux. + + * config/powerpc/aix.mt, config/powerpc/cygwin.mt, + config/powerpc/macos.mt, config/powerpc/nbsd.mt, + config/powerpc/ppc-eabi.mt, config/powerpc/ppc-nw.mt, + config/powerpc/ppc-sim.mt, config/powerpc/ppcle-eabi.mt, + config/powerpc/ppcle-sim.mt, config/powerpc/solaris.mt, + config/powerpc/vxworks.mt, config/rs6000/aix4.mt, + config/rs6000/rs6000.mt, config/rs6000/rs6000lynx.mt + (TDEPFILES): Add ppc-linux-tdep.o. + + * config/tm-linux.h (SIGCONTEXT_PC_OFFSET, FRAME_SAVED_PC, + INIT_EXTRA_FRAME_INFO, FRAMELESS_FUNCTION_INVOCATION, + FRAME_INIT_SAVED_REGS, FRAME_CHAIN, PUSH_ARGUMENTS, + MEMORY_REMOVE_BREAKPOINT: Removed defines. + (ppc_linux_frame_saved_pc, ppc_linux_init_extra_frame_info, + ppc_linux_frameless_function_invocation, + ppc_linux_frame_init_saved_regs, ppc_linux_frame_chain, + ppc_sysv_abi_push_arguments, ppc_linux_memory_remove_breakpoint): + Removed declarations. + (CANNOT_FETCH_REGISTER, CANNOT_STORE_REGISTER): Disabled. + + * dink32-rom.c (dink32_regnames): Make array size implicit. + + * ppc-bdm.h (ppc-tdep.h): Include. + + * rs6000-tdep.c, ppc-linux-tdep.c, ppc-bdm.h, ppc-tdep.h + (GP0_REGNUM, TOC_REGNUM, PS_REGNUM, CR_REGNUM, LR_REGNUM, + CTR_REGNUM, XER_REGNUM, MQ_REGNUM): Add PPC_ prefix. + + From Nick Duffek: + * ppc-tdep.h (ppc_linux_frame_saved_pc, rs6000_frame_saved_pc): + Change return type to CORE_ADDR. + * ppc-linux-tdep.c (ppc_linux_frame_saved_pc): Likewise. + +2000-07-31 Elena Zannoni + + * sh-tdep.c (sh_push_arguments): Make header match prototype. + + * remote-e7000.c (e7000_start_remote): Use void *, not char * as + parameter to avoid compiler warning. + (fetch_regs_from_dump): Call get_hex() with the correct number of + parameters. + +2000-07-31 Eli Zaretskii + + * config/djgpp/fnchange.lst: Add file mappings as per last weekly + snapshot. + +2000-07-29 Kevin Buettner + + * a29k-tdep.c, a68v-nat.c, abug-rom.c, alpha-nat.c, + alpha-tdep.c, annotate.c, arc-tdep.c, arch-utils.c, ax-gdb.c, + ax-general.c, blockframe.c, breakpoint.c, buildsym.c, + c-lang.c, c-typeprint.c, c-valprint.c, ch-exp.c, ch-lang.c, + ch-typeprint.c, ch-valprint.c, cli-out.c, coff-solib.c, + coffread.c, command.c, complaints.c, copying.c, core-aout.c, + core-regset.c, core-sol2.c, corefile.c, corelow.c, + cp-valprint.c, cpu32bug-rom.c, cxux-nat.c, d10v-tdep.c, + d30v-tdep.c, dbug-rom.c, dbxread.c, dcache.c, delta68-nat.c, + demangle.c, dink32-rom.c, dpx2-nat.c, dsrec.c, dstread.c, + dve3900-rom.c, dwarf2read.c, dwarfread.c, elfread.c, + environ.c, eval.c, event-top.c, exec.c, expprint.c, f-lang.c, + f-typeprint.c, f-valprint.c, findvar.c, fork-child.c, + fr30-tdep.c, gdbarch.c, gdbserver/gdbreplay.c, + gdbserver/low-hppabsd.c, gdbserver/low-linux.c, + gdbserver/low-lynx.c, gdbserver/low-nbsd.c, + gdbserver/low-sim.c, gdbserver/low-sparc.c, + gdbserver/low-sun3.c, gdbserver/remote-utils.c, + gdbserver/utils.c, gdbtypes.c, gnu-nat.c, h8300-tdep.c, + h8500-tdep.c, hp-psymtab-read.c, hp-symtab-read.c, + hp300ux-nat.c, hppa-tdep.c, hppab-nat.c, hppah-nat.c, + hppam3-nat.c, hpread.c, hpux-thread.c, i386-linux-nat.c, + i386-stub.c, i386-tdep.c, i386aix-nat.c, i386b-nat.c, + i386ly-tdep.c, i386m3-nat.c, i386mach-nat.c, i386nbsd-nat.c, + i386v-nat.c, i386v4-nat.c, i387-tdep.c, i960-tdep.c, + ia64-linux-nat.c, ia64-tdep.c, infcmd.c, inflow.c, + infptrace.c, infrun.c, inftarg.c, infttrace.c, irix4-nat.c, + irix5-nat.c, jv-lang.c, jv-typeprint.c, jv-valprint.c, + kdb-start.c, kod-cisco.c, kod.c, language.c, lin-thread.c, + linux-thread.c, lynx-nat.c, m2-lang.c, m2-typeprint.c, + m2-valprint.c, m3-nat.c, m32r-rom.c, m32r-stub.c, m32r-tdep.c, + m68hc11-tdep.c, m68k-stub.c, m68k-tdep.c, m68klinux-nat.c, + m68knbsd-nat.c, m88k-nat.c, m88k-tdep.c, mac-nat.c, + mac-xdep.c, maint.c, mcore-rom.c, mcore-tdep.c, mdebugread.c, + mem-break.c, mi/mi-cmds.c, mi/mi-main.c, mi/mi-out.c, + mi/mi-parse.c, minsyms.c, mips-nat.c, mips-tdep.c, + mipsm3-nat.c, mipsread.c, mipsv4-nat.c, mn10200-tdep.c, + mn10300-tdep.c, mon960-rom.c, monitor.c, news-xdep.c, + nindy-tdep.c, nlm/gdbserve.c, nlm/i386.c, nlm/ppc.c, + nlmread.c, ns32k-tdep.c, ns32km3-nat.c, ns32knbsd-nat.c, + objfiles.c, ocd.c, op50-rom.c, os9kread.c, osfsolib.c, + p-lang.c, p-typeprint.c, p-valprint.c, pa64solib.c, parse.c, + ppc-bdm.c, ppc-linux-nat.c, ppc-linux-tdep.c, ppcbug-rom.c, + ppcnbsd-nat.c, printcmd.c, proc-api.c, proc-events.c, + proc-flags.c, proc-why.c, procfs.c, ptx4-nat.c, + remote-adapt.c, remote-array.c, remote-bug.c, remote-e7000.c, + remote-eb.c, remote-es.c, remote-est.c, remote-hms.c, + remote-mips.c, remote-mm.c, remote-nindy.c, remote-nrom.c, + remote-os9k.c, remote-rdi.c, remote-rdp.c, remote-sds.c, + remote-sim.c, remote-st.c, remote-udi.c, remote-utils.c, + remote-vx.c, remote-vx29k.c, remote-vx68.c, remote-vx960.c, + remote-vxmips.c, remote-vxsparc.c, remote.c, rom68k-rom.c, + rs6000-tdep.c, scm-exp.c, scm-lang.c, scm-valprint.c, + ser-e7kpc.c, ser-go32.c, ser-mac.c, ser-ocd.c, ser-unix.c, + sh-stub.c, sh-tdep.c, sh3-rom.c, sol-thread.c, solib.c, + somread.c, somsolib.c, source.c, sparc-nat.c, sparc-stub.c, + sparc-tdep.c, sparcl-stub.c, sparcl-tdep.c, sparclet-rom.c, + sparclet-stub.c, stabsread.c, stack.c, standalone.c, + stop-gdb.c, stuff.c, sun3-nat.c, sun386-nat.c, symfile.c, + symm-nat.c, symm-tdep.c, symmisc.c, symtab.c, target.c, + thread.c, tic80-tdep.c, top.c, tracepoint.c, tui/tui-file.c, + tui/tui.c, tui/tuiLayout.c, tui/tuiRegs.c, tui/tuiStack.c, + tui/tuiWin.c, typeprint.c, ui-file.c, ui-out.c, ultra3-nat.c, + ultra3-xdep.c, umax-xdep.c, utils.c, v850-tdep.c, v850ice.c, + valarith.c, valops.c, valprint.c, values.c, varobj.c, + vax-tdep.c, w65-tdep.c, w89k-rom.c, win32-nat.c, wince.c, + wrapper.c, xcoffread.c, xcoffsolib.c, xmodem.c, z8k-tdep.c: + Convert old-style, pre-ISO function definitions to prototyped + form. + +2000-07-28 Elena Zannoni + + * sh-tdep.c (sh_gdbarch_init): For sh4 initialize + register_convert_to_raw, register_convert_to_virtual, + register_convertible. + (sh_sh4_register_convertible): New function. + (sh_sh4_register_convert_to_virtual): New function. + (sh_sh4_register_convert_to_raw): New function. + Include floatformat.h. + +Thu Jul 27 14:06:27 2000 Andrew Cagney + + From 2000-06-25 Stephane Carrez : + * configure.tgt: Recognize the 68hc11. + * m68hc11-tdep.c: New file for 68hc11 target. + * config/m68hc11/m68hc11.mt: New file for 68hc11 port. + + * configure.tgt: When 68hc11, set gdb_multi_arch. + +Wed Jul 26 17:22:53 2000 Andrew Cagney + + * configure.in (GDB_MULTI_ARCH): Define from configure.tgt + or makefile fragment. + * acconfig.h (GDB_MULTI_ARCH): Add. + * config.in, configure: Regenerate. + + * gdbarch.sh (GDB_MULTI_ARCH): Delete definition, moved to + configure.in and defs.h. Use GDB_MULTI_ARCH_TM, + GDB_MULTI_ARCH_PARTIAL and GDB_MULTI_ARCH_PURE in tests. + * gdbarch.h, gdbarch.c: Regenerate. + + * defs.h (GDB_MULTI_ARCH_PARTIAL, GDB_MULTI_ARCH_TM, , + GDB_MULTI_ARCH_PURE): Define. Only include "tm.h" when the target + is less than pure multi-arch. + +2000-07-26 Jimmy Guo + + * config/convex/tm-convex.h: Remove stray control characters. + * config/m68k/tm-altos.h: Ditto. + * config/tahoe/tm-tahoe.h: Ditto. + +2000-07-26 Elena Zannoni + + * sh-tdep.c (sh_sh4_register_name, sh_sh4_register_byte, + sh_sh4_register_raw_size, sh_sh4_register_virtual_type, + sh_fetch_pseudo_register, sh_store_pseudo_register, + sh_do_pseudo_register, sh_gdbarch_init): Fix names for pseudoregs, + they should be numbered as drx fvy where x and y are multiples of + 2 and 4 respectively. + + * config/sh/tm-sh.h: Fix names of pseudo regs. + +2000-07-24 Elena Zannoni + + * config/sh/tm-sh.h (struct gdbarch_tdep): Add sh4 specific + pseudo registers. + (DO_REGISTERS_INFO): Define. + + * sh-tdep.c (sh_sh4_register_name): New function. + (sh_generic_show_regs, sh3_show_regs, sh3e_show_regs, + sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs): Update + signature. + (sh_show_regs_command): New function. Actual function called by + the 'regs' command. + (sh_register_byte): Rename to... + (sh_default_register_byte): ...New function. + (sh_sh4_register_byte): New function. + (sh_register_raw_size): Rename to... + (sh_default_register_raw_size): ...New function. + (sh_sh4_register_raw_size): New function. + (sh_sh4_register_virtual_type): New function. + (sh_sh4_build_float_register_type): New function. + (sh_fetch_pseudo_register, sh_store_pseudo_register): New + functions. + (fv_reg_base_num, dr_reg_base_num): New functions. + (do_fv_register_info, do_dr_register_info, sh_do_pseudo_register, + sh_do_fp_register, sh_do_register, sh_print_register, + sh_do_registers_info): New functions. + (sh_gdbarch_init): Initialize sh4 pseudo registers to -1. Update + architecture specific parts. + (_initialize_sh_tdep): Use sh_show_regs_command for 'regs' command. + +2000-07-24 Jim Blandy + + * dwarf2read.c (read_structure_scope): Correct overzealous + addition of cu_header argument. + +Mon Jul 24 07:47:46 2000 Anthony Green + + * TODO: Update. Two of my java patches are in. + +2000-07-24 Elena Zannoni + + * gdbarch.sh: Add FETCH_PSEUDO_REGISTER and STORE_PSEUDO_REGISTER + to the gdbarch structure. + * gdbarch.c: Regenerate. + * gdbarch.h: Regenerate. + * inferior.h (FETCH_PSEUDO_REGISTER, STORE_PSEUDO_REGISTER): + Delete macros. + * regcache.c (write_register, read_register, write_register_bytes, + write_register_gen, read_register_bytes, read_register_gen): + Rename ARCH_FECTH_PSEUDO_REGISTERS to FETCH_PSEUDO_REGISTERS and + ARCH_STORE_PSEUDO_REGISTER to STORE_PSEUDO_REGISTER. + +2000-07-24 Elena Zannoni + + * gdbarch.sh: Add NUM_PSEUDO_REGS to the gdbarch structure. + * gdbarch.c: Regenerate. + * gdbarch.h: Regenerate. + * inferior.h (NUM_PSEUDO_REGS): Delete macro. + +Sun Jul 23 21:40:55 2000 Anthony Green + + * language.c: Include jv-lang.h. + (lang_bool_type): Add case for java booleans. + +Mon Jul 24 11:23:14 2000 Andrew Cagney + + * dwarf2read.c (address_size): Delete file wide global. + (struct comp_unit_head): Add signed_addr_p; + (read_comp_unit_head): New function. + (psymtab_to_symtab_1, dwarf2_build_psymtabs_hard): Use + read_comp_unit_head to parse the debug_info header. + (read_address): Add parameters cu_header and bytes_read. When + specified, sign extend the address. + + * dwarf2read.c (add_partial_symbol, decode_locdesc, + die_containing_type, die_type, dwarf_decode_lines, + dwarf2_add_field, dwarf2_add_member_fn, + dwarf2_build_psymtabs_hard, dwarf2_const_value, new_symbol, + process_die, psymtab_to_symtab_1, read_array_type, + read_enumeration, read_attribute, read_common_block, + read_comp_unit, read_file_scope, read_full_die, read_func_scope, + read_lexical_block_scope, read_partial_die, scan_partial_symbols, + read_structure_scope, read_subroutine_type, read_tag_const_type, + read_tag_pointer_type, read_tag_ptr_to_member_type, + read_tag_reference_type, read_type_die, read_typedef, + tag_type_to_type): Pass cu_header parameter. + +2000-07-21 Elena Zannoni + + * regcache.c (read_register, read_register_bytes): Fix typos. + +2000-07-21 Michael Snyder + + * thread.c (thread_apply_all_command): Update thread list first. + * printcmd.c (printf_command): Guard against 0-length string. + * config/i386/tm-i386.h: treat PC and FP as unsigned. + (SAVED_PC_AFTER_CALL): Use read_memory_unsigned_integer. + (FRAME_SAVED_PC): Ditto. + (FRAME_CHAIN): Ditto. + +2000-07-20 Michael Snyder + + * valarith.c (value_sub): Call check_typedef. + +2000-07-19 Nicholas Duffek + + * thread.c (free_thread): New function. + (init_thread_list): Always zero highest_thread_num. Call + free_thread() instead of free(). + (delete_thread): Move thread cleanup code to free_thread(). + +2000-07-19 Elena Zannoni + + Multiarch the sh target. + * sh-tdep.c: + (sh_generic_reg_names, sh_reg_names,sh3_reg_names, sh3e_reg_names, + sh_dsp_reg_names, sh3_dsp_reg_names, sh_processor_type_table): + Remove. + (XMALLOC): Define. + (struct frame_extra_info): Define. + (sh_register_raw_size, sh_register_virtual_size, + sh_register_virtual_type, sh_register_byte, sh_breakpoint_from_pc, + sh_frame_saved_pc, sh_skip_prologue, + sh_nofp_frame_init_saved_regs, sh_fp_frame_init_saved_regs, + sh_extract_struct_value_address, sh_use_struct_convention, + sh_store_struct_return, sh_push_arguments, sh_push_return_address, + sh_saved_pc_after_call, sh_generic_register_name, + sh_sh_register_name, sh_sh3_register_name, sh_sh3e_register_name, + sh_sh_dsp_register_name, sh_sh3_dsp_register_name, + sh_frame_args_address, sh_frame_locals_address, + sh_coerce_float_to_double, sh_default_store_return_value, + sh3e_sh4_store_return_value, sh_generic_show_regs, + sh3_show_regs,sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, + sh_dsp_show_regs, sh_register_byte, sh_register_raw_size, + sh_register_virtual_size, sh_sh3e_register_virtual_type, + sh_default_register_virtual_type, sh_gdbarch_init): New functions. + (sh_target_architecture_hook, sh_frame_find_saved_regs, + sh_show_regs): Delete functions. + (sh_frame_chain, sh_find_callers_reg, sh_init_extra_frame_info, + sh_pop_frame, sh_extract_return_value): Update + + * config/sh/tm-sh.h (GDB_MULTI_ARCH): Define to 1. + (struct gdbarch_tdep): Define. + Remove all unnecessary defines. + + * remote-e7000.c ({PR,GBR,SR,MACL,VBR,MACH}_REGNUM): Define to -1, + for h8300 case. + (want_sh,want_nopc_sh,want_nopc_sh3): Make nomenclature + consistent. + (e7000_fetch_registers): Remove ifdef GDB_TARGET_IS_SH, use + runtime check instead. + (e7000_wait): Ditto. + + * sh3-rom.c (sh3_supply_register): Use gdbarch_tdep to get the SSR + and SPC register numbers. + (sh3_regnames, sh3e_regnames): Don't specify a size. + + * config/h8300/tm-h8300.h: Add comment. + +Wed Jul 19 12:50:16 2000 Andrew Cagney + + * solib.c (elf_locate_base, info_sharedlibrary_command): Rename + bfd_elf_get_arch_size to bfd_get_arch_size. + +Tue Jul 18 17:13:01 2000 Andrew Cagney + + From Richard Henderson : + * dwarf2read.c (dwarf2_empty_hash_tables): Renamed from + dwarf2_empty_die_ref_table; zero dwarf2_cached_types as well. + Update all callers. + +2000-07-17 Daniel Berlin + + * valops.c (value_struct_elt): Change error message + +2000-07-17 matthew green + + * config/sparc/nm-nbsd.h (GDB_GREGSET_T, GDB_FPREGSET_T): Define. + +Mon Jul 17 13:08:10 2000 Andrew Cagney + + * values.c (value_as_pointer): When VAL is an integer, explictly + cast to a pointer before converting to a CORE_ADDR. + * gdbtypes.c (build_gdbtypes): For builtin_type_ptr, construct a + real void pointer instead of an integer. + +2000-07-15 Daniel Berlin + + * valops.c (typecmp): Seperate loop into two, add support for + references. This way, we can say a reference to a pointer to a + char is compatible with a pointer to a char. Before, this would + not be true. + +2000-07-14 Nicholas Duffek + + * ppcbug-rom.c (ppcbug_regnames[]): Make array size implicit. + * rs6000-tdep.c (DEFAULT_LR_SAVE): Move to config/*/tm-*.h. + (rs6000_gdbarch_init): Use generic_pc_in_call_dummy instead of + rs6000_pc_in_call_dummy. + * config/rs6000/tm-rs6000.h (DEFAULT_LR_SAVE): Move here from + rs6000-tdep.c. + * config/powerpc/tm-ppc-eabi.h: Remove various definitions + handled by multi-arched rs6000-tdep.c. + +2000-07-14 Nick Clifton + + * config/mcore/tm-mcore.h (SKIP_PROLOGUE): Fix defintion to avoid + assignment. + +2000-07-13 Michael Snyder + + * parse.c: Include inferior.h. + +2000-07-12 Michael Snyder + + * regcache.c (registers_changed, registers_fetched): Use + ARCH_NUM_REGS directly, eliminating an unnecessary variable. + + This change adds pseudo-register capability to GDB. + Pseudo-registers are handled like registers, but they + don't come from or live on the target. They may be + aliases for an existing register, or they may be computed. + * inferior.h (NUM_PSEUDO_REGISTERS): Define default of zero. + (ARCH_FETCH_PSEUDO_REGISTERS): Define default of no-op. + (ARCH_STORE_PSEUDO_REGISTERS): Define default of no-op. + # regcache.c (registers_changed): Mark pseudo-registers + invalid, as well as real registers. + (registers_fetched): Do not mark pseudo-registers as fetched + at the same time as other (real) registers. + (read_register_bytes): Fetch pseudo-registers (if any) from + the target architecture module instead of from the target. + (read_register_gen): Ditto. + (read_register): Ditto. + (write_register_bytes): Store pseudo-registers (if any) to + the target architecture module instead of to the target. + (write_register_gen): Ditto. + (write_register): Ditto. + (build_regcache): Allocate enough register_valid space for + pseudo-registers as well as normal (real) ones. + * parse.c (target_map_name_to_register): Include pseudo-regs. + +Tue Jul 11 19:45:42 2000 Andrew Cagney + + * valops.c (value_cast): Allow cast from INT, ENUM or RANGE to + POINTER. + +2000-07-11 Scott Bambrough + + * command.c (do_setshow_command): Fix typo in var_auto_boolean + case. + +Tue Jul 11 20:38:36 2000 Andrew Cagney + + * mips-tdep.c: General cleanup. Delete all #if 0 code. Convert + all old style K&R function definitions to ISO-C. + (struct gdbarch_tdep): Add mips_abi_string. + (mips_gdbarch_init): Initialize. + (mips_dump_tdep): Print mips_abi_string and other values. + (mips_push_arguments): Add more detailed tracing. + +Tue Jul 11 20:16:09 2000 Andrew Cagney + + * mips-tdep.c (mips32_next_pc, mips16_next_pc, + read_next_frame_reg, mips_push_dummy_frame, mips_skip_stub, + mips_saved_pc_after_call): Use read_signed_register when + extracting register value. Ensures all addresses are sign + extended. + (mips_read_pc): New function. Return sign extended address. + (mips_gdbarch_init): Set gdbarch_read_pc. + +Tue Jul 11 19:06:29 2000 Andrew Cagney + + * remote-mips.c (mips_request): Change all arguments to ULONGEST. + (mips_exit_debug, mips_resume, mips_initialize, mips_wait, + mips_fetch_registers, mips_store_registers, mips_fetch_word): + Update. + (mips_xfer_memory): When mask_address_p, mask MEMADDR down to just + 32 bits. + (_initialize_remote_mips): Add ``set mask-address'' command. + + * mips-tdep.c (_initialize_mips_tdep): Replace "set mask-address" + with "set mips mask-address". Implement using + add_set_auto_boolean_cmd. + (struct gdbarch_tdep): Add default_mask_address_p. + (mips_mask_address_p, show_mask_address): New functions. + (mips_addr_bits_remove): Use mips_mask_address_p() to determine if + masking is needed. + (mips_gdbarch_init): Set default_mask_address_p to zero. + (mips_dump_tdep): Print value of mask_address_p. + +Tue Jul 11 18:32:40 2000 Andrew Cagney + + * printcmd.c (print_scalar_formatted): Move masking of 'a' address + from here. + (print_address_numeric): To here. + * TODO: Update. + +Tue Jul 11 17:50:31 2000 Andrew Cagney + + * symtab.c: Use paddr_nz() to print addresses. + +Tue Jul 11 12:52:31 2000 Andrew Cagney + + * value.h (read_register, read_signed_register): Change return + type to ULONGEST. + (read_signed_register, read_signed_register_pid): Declare. + + * regcache.c (read_register, read_register_pid): Update. + (read_signed_register_pid, read_signed_register): New functions. + +Mon Jul 10 18:06:18 2000 Andrew Cagney + + * mips-tdep.c (mips_push_arguments): Always align struct_addr on a + 16 byte boundary. Align allocated argument space using + MIPS_STACK_ARGSIZE. Reserve space on stack for the struct return + and floating-point registers. Use fp_register_arg_p to determine + if float_argreg should be aligned. + +2000-07-10 Elena Zannoni + + * config/sh/tm-sh.h (STORE_RETURN_VALUE): Redefine as + sh_store_return_value(). + * sh-tdep.c (sh_store_return_value): New function. Store the + value returned by a function into the appropriate register. + +2000-07-10 Elena Zannoni + + * sh-tdep.c (sh_skip_prologue): Before looking at the actual + instructions, try to see if the symbol table can be of help, by + calling after_prologue(). If this doesn't work, call + skip_prologue_hard_way(). + (skip_prologue_hard_way): Renamed from sh_skip_prologue. Add some + more instruction pattern matching for pushing of arguments, and + manipulation of r14. + (after_prologue): New function. Use symbol table info to determine + the end of the prologue, if possible. + +2000-07-07 Michael Snyder + + * findvar.c (_initialize_findvar, build_findvar, write_fp, read_fp, + generic_target_write_fp, generic_target_read_fp, write_sp, read_sp, + generic_target_write_sp, generic_target_read_sp, write_pc, read_pc, + generic_target_write_pc, generic_target_read_pc, write_pc_pid, + read_pc_pid, supply_register, write_register_pid, write_register, + read_register_pid, read_register, write_register_bytes, + read_register_bytes, write_register_gen, read_register_gen, + registers_fetched, registers_changed, find_saved_register, + read_relative_register_raw_bytes, default_get_saved_register, + read_relative_register_raw_bytes_for_frame, get_saved_register): + Move from this file into new file regcache.c. + (register_valid, registers_pid, registers): Ditto. + * regcache.c: New file to hold the register cache. + (register_cached): New function to read register_valid array. + * value.h (register_cached): Declare. + * defs.h (default_get_saved_register): Delete decl of static function. + * Makefile.in: Add regcache module. + +Mon Jul 10 15:02:35 2000 Andrew Cagney + + From 2000-07-05 Pierre Muller : + * p-typeprint.c (pascal_type_print_method_args): Add braces around + isdigit after while keyword. + +2000-07-06 Elena Zannoni + + * TODO: Remove readline 4.1 import item. + +2000-07-09 Nick Duffek + + * gdbtypes.c (is_ancestor): Infer type equivalence from name + equivalence. + (rank_one_type): Use strcmp instead of == to compare type names. + Don't swap parm with arg when checking TYPE_CODE_REF types. + * valops.c (find_overload_match): Fix indentation. Compare + parameter rankings to 0..9, 10..99, and 100+ instead of 0, 10, + and 100. + +2000-07-07 David Edelsohn + + * xcoffread.c (read_symbol_nvalue): Return CORE_ADDR. + * rs6000-tdep.c (rs6000_pop_frame): Make addr CORE_ADDR type. + +Fri Jul 7 18:29:51 2000 Andrew Cagney + + * config/mips/tm-mips.h (IEEE_FLOAT, SKIP_PROLOGUE, + SAVED_PC_AFTER_CALL, DECR_PC_AFTER_BREAK, BREAKPOINT_FROM_PC, + INNER_THAN): Macros. + + * mips-tdep.c (mips_in_lenient_prologue): Delete function. + (mips32_skip_prologue, mips16_skip_prologue, mips_skip_prologue): + Remove ``lenient'' argument. + (mips_saved_pc_after_call): New function. + (mips_gdbarch_init): Initialize gdbarch members inner_than, + breakpoint_from_pc, decr_pc_after_break, ieee_float, + skip_prologue, saved_pc_after_call. + +2000-07-07 Mark Kettenis + + * config/i386/tm-linux.h: Add longjmp support. + (JB_ELEMENT_SIZE, JB_PC): New defines. + (GET_LONGJMP_TARGET): Define. + (get_longjmp_target): Add prototype. + + * breakpoint.c (bpstat_what): Keep returning + BPSTAT_WHAT_SET_LONGJMP_RESUME when hitting multiple longjmp() + breakpoints instead of signalling an error by returning + BPSTAT_WHAT_STOP_NOISY. + +2000-07-06 Michael Snyder + + * mips-tdep.c: Replace '16' with bfd_mach_mips16 where appropriate. + +2000-07-06 Christopher Faylor + + * infcmd.c (attach_command): Move "stop_soon_quietly" setting + inside ATTACH_NO_WAIT conditional since we are not about to + stop soon if we're not calling wait_for_inferior. + +Wed Jul 5 21:06:39 2000 Andrew Cagney + + * config/i386/fbsd.mh (NATDEPFILES): Keep NATDEPFILES to a single + line. configure.in assumes this. + +Wed Jul 5 20:48:22 2000 Andrew Cagney + + * configure.in (SER_HARDWIRE): When go32 or DJGPP, set to + ser-go32.c. + * configure: Re-generate. + +Wed Jul 5 20:28:32 2000 Andrew Cagney + + * top.h (command_loop_marker), top.c (command_loop_marker): + Delete. + * event-top.c (command_handler), top.c (simplified_command_loop, + command_loop): Use null_cleanup instead of command_loop_marker. + +Wed Jul 5 20:09:41 2000 Andrew Cagney + + * event-loop.c: Include either or . + + * configure.in (targ_archs): Check for and . + * configure, config.in: Re-generate. + +Wed Jul 5 18:10:44 2000 Andrew Cagney + + From 2000-06-12 Bill Nottingham : + * Makefile.in: add $(infodir) to FLAGS_TO_PASS + +Wed Jul 5 18:03:55 2000 Andrew Cagney + + * TODO: Updates. + +2000-07-05 Mark Kettenis + + * TODO: Update. + +2000-07-03 Chris Faylor + + Committed by Elena Zannoni + * sh-tdep.c (sh_skip_prologue): Change prologue matching for modern + compilers. + (sh_frame_find_saved_regs): Ditto. + (sh_find_callers_reg): Stop if pc is zero. + +Sat Jul 1 17:47:08 2000 Andrew Cagney + + * ser-unix.c (do_unix_readchar): Revert Tue Mar 28 18:19:50 2000 + Andrew Cagney . Locks up when no data is + pending. + +Sat Jul 1 15:40:14 2000 Andrew Cagney + + * Makefile.in (SER_HARDWIRE): Restore code to set it by configure. + +2000-06-26 Kevin Buettner + + * copying.awk: Eliminate use of PARAMS from this file. + +Fri Jun 23 20:47:03 2000 Andrew Cagney + + * mips-tdep.c (mips_push_arguments): Use the variable stack_used_p + to determine if any arguments were written to the stack. Do not + rely on NUMARG>=8. + +Mon Jun 19 11:29:35 2000 Andrew Cagney + + * command.h (add_set_auto_boolean_cmd): Add declaration. + (enum var_types): Add var_auto_boolean. + + * command.c (add_set_auto_boolean_cmd): New function. + (do_setshow_command): Recognize auto_boolean. + (parse_binary_operation): Recognize enable and disable. + (parse_auto_binary_operation): Parse auto binary variables. + + * TODO: Update + +Fri Jun 23 16:20:21 2000 Andrew Cagney + + * mips-tdep.c (fp_register_arg_p): New function. + (mips_push_arguments): Use. Do not pass floating point arguments + on in an integer register. + +2000-06-21 Pierre Muller + + * symfile.c (init_filename_language_table): add ".pas", ".p" and ".pp" + as pascal source file extensions. + +2000-06-19 J.T. Conklin + + * remote-nindy.c (nindy_fetch_word, nindy_store_word): Removed + (nindy_xfer_inferior_memory): Use dcache_xfer_memory() instead of + breaking transfer into chunks and using nindy_fetch_word() and + nindy_store_word(). + + * remote-bug.c (bug_xfer_memory): Use dcache_xfer_memory() instead + of breaking transfer into chunks and using gr_fetch_word() and + gr_store_word(). + + * remote.c (remote_fetch_word, remote_store_word): Removed. + + * remote-utils.h (gr_fetch_word, gr_store_word): Removed. + * remote-utils.c (gr_fetch_word, gr_store_word): Removed. + + * dcache.h (dcache_fetch, dcache_poke, dcache_poke_block): Removed. + * dcache.c (dcache_fetch, dcache_poke): Removed. + +2000-06-16 Pierre Muller + + * defs.h: define language_pascal in language enumeration. + * language.h: define _LANG_pascal macro. + * language.c: add language_pascal support in all language dependant + functions. + +Sun Jun 18 01:01:09 2000 Andrew Cagney + + * mips-tdep.c (mips_debug): New variable. + (_initialize_mips_tdep): Add command "set debug mips". + (mips_push_arguments): Add code to dump the argument list as it is + created. + +Sun Jun 18 00:27:15 2000 Andrew Cagney + + * mips-tdep.c (mips_push_arguments): For MIPS_EABI, squeeze a + strut containing a floating-point into an FP register. + +Sat Jun 17 16:00:56 2000 Andrew Cagney + + * remote-mips.c: Include + (mips_receive_header): Write printable characters to gdb_stdtarg + instead of gdb_stdlog. Only count non-printables as invalid. + (mips_syn_garbage): Reduce to 10. + +Sat Jun 17 15:39:28 2000 Andrew Cagney + + * mips-tdep.c (mips_gdbarch_init): When the object file header + specifies EABI64, select EABI64 and not EABI32. + +2000-06-16 Nicholas Duffek + + * rs6000-tdep.c: Changes throughout for multi-arch 64-bit + support. Incorporate most of tm-rs6000.h. + (find_toc_address_hook): Rename to rs6000_find_toc_address_hook. + (rs6000_set_host_arch_hook): Declare. + (read_memory_addr): Define. + (pop_frame): Rename to rs6000_pop_frame. + (rs6000_pop_frame, rs6000_fix_call_dummy, rs6000_push_arguments, + rs6000_frame_saved_pc, rs6000_frame_chain): Remove non-generic + dummy frame handling. + (branch_dest, rs6000_pop_frame, rs6000_skip_trampoline_code, + rs6000_frame_saved_pc, frame_get_saved_regs, + frame_initial_stack_address, rs6000_frame_chain, + rs6000_convert_from_func_ptr_addr): Call read_memory_addr instead + of read_memory_integer. + (branch_dest, rs6000_pop_frame, rs6000_push_arguments, + rs6000_skip_trampoline_code, rs6000_frame_saved_pc, + frame_get_saved_regs, frame_initial_stack_address, + rs6000_frame_chain): Replace 4 with TDEP->wordsize. + (skip_prologue): Recognize some 64-bit stack adjustments. + (push_dummy_frame, pop_dummy_frame, set_processor, + show_processor): Delete. + (frame_get_saved_regs): Manipulate saved register addresses using + CORE_ADDR instead of int. + (rs6000_create_inferior): New function. + (register_names_*[]): Change to struct reg registers_*[]. + (variants[]): Assimilate into multi-arch approach. + (register_names_*[], variants[]): Refer to pre-PowerPC + architectures as POWER instead of RS6000. + * rs6000-nat.c: Ubiquitous changes for 64-bit support. + (vmap_secs, xcoff_relocate_symtab): Cast addresses + to unsigned long to avoid sign-extension errors. + (set_host_arch): New function. + (xcoff_relocate_symtab): Try disabling usleep(36000) workaround. + (rs6000_core_fns): Use new bfd_target_xcoff_flavour. + (_initialize_core_rs6000): Initialize rs6000_set_host_arch_hook. + * symfile.c (find_sym_fns): Remove special xcoff kludge. + * xcoffread.c (secnum_to_bfd_section): Initialize args.objfile. + (process_linenos): Query line struct size from coff + backend instead of using compile-time constant. + (enter_line_range): Likewise. + (read_xcoff_symtab): Pass "XCOFF64" instead of "XCOFF" to + record_debugformat() if appropriate. + (process_xcoff_symbol): Access symbol addresses using + SYMBOL_VALUE_ADDRESS instead of SYMBOL_VALUE. + (read_symbol_lineno): Retrieve XCOFF64 symbol names from strtbl. + (scan_xcoff_symtab): Likewise. Query syment struct size from + coff backend instead of using compile-time constant. + (xcoff_sym_fns): Set flavour to bfd_target_xcoff_flavour. + * Makefile.in (INTERNAL_LDFLAGS): Add $(MH_LDFLAGS) to list of flags + that this Makefile variable get set to. (From Kevin Buettner.) + * config/powerpc/aix.mh (MH_LDFLAGS): Add linker flags so that + the TOC doesn't overflow. (From Kevin Buettner.) + * config/powerpc/tm-ppc-aix.h: Move config decisions to + multi-arched rs6000-tdep.c. + * config/rs6000/tm-rs6000.h: Likewise. + (GDB_MULTI_ARCH): Define. + (skip_trampoline_code): Rename to rs6000_skip_trampoline_code. + (is_magic_function_pointer): Replace with + rs6000_convert_from_func_ptr_addr. + (TARGET_CREATE_INFERIOR_HOOK): Define. + (find_toc_address_hook): Rename to rs6000_find_toc_address_hook. + (rs6000_set_host_arch_hook): Declare. + * config/rs6000/nm-rs6000.h (CHILD_XFER_MEMORY): Define. + +2000-06-15 Kevin Buettner + + * v850ice.c: Eliminate use of PARAMS from this file. + +2000-06-15 Michael Snyder + + * valops.c (value_cast): Break up long lines. + * utils.c: Fix comment typo. + +2000-06-14 Jim Blandy + + * dwarf2read.c (dump_die): Use the proper printf format for + printing DW_UNSND values; they're longs now. + + * dwarf2read.c (dump_die): We can read DW_FORM_data8 now, on + at least some platforms, so print it out too. + +2000-06-14 James E. Wilson + + * dwarf2read.c (struct attribute): Change unsnd and snd field types + to long. + (read_8_bytes): Change return type to long. + (read_unsigned_leb128): Change return type to long. Change type of + local result to long. Cast argument of left shift to long. + (read_signed_leb128): Likewise. + +2000-06-14 Pierre Muller + + Add support for Pascal language. Part 1: new files. + * p-exp.y, p-lang.c, p-lang.h, p-typeprint.c, p-valprint.c: New files. + +2000-06-13 Kevin Buettner + + * ser-ocd.c, symtab.c: Eliminate use of PARAMS from these files. + +Tue Jun 13 09:21:23 2000 Jeffrey A Law (law@cygnus.com) + + * configure.host (hppa*64*): Renamed from hppa2.0w per + gcc/binutils changes. + * configure.tgt: Similarly. + +2000-06-12 Bill Nottingham + + Patch applied by Kevin Buettner : + + * ia64-linux-nat.c, gdbserver/low-linux.c (u_offsets): PT_CR_IFS + is deprecated. Use PT_CFM instead. + +2000-06-12 Michael Snyder + + * breakpoint.c (breakpoint_thread_match): Fix comment. + +2000-06-12 Fernando Nasser + + * valops.c (value_assign): Adjust the length to take into + consideration that we are not starting from the beginning. + +2000-06-12 Elena Zannoni + + * symfile.c (add_symbol_file_command): Properly reformat "else if" + code. + * coffread.c (coff_symtab_read): Ditto. + +Mon Jun 12 15:24:04 2000 Andrew Cagney + + * Makefile.in (SER_HARDWIRE): Set using autoconf. + * configure.in (SER_HARDWIRE): Define, add ser-tcp.o. + * configure: Re-generate. + + * config/i386/go32.mh (SER_HARDWIRE): Delete. Handled by + configure.in. + * config/sparc/sun4sol2.mh, config/sparc/sun4os4.mh, + config/sparc/sparclynx.mh, config/sparc/nbsdelf.mh, + config/sparc/nbsd.mh, config/sparc/linux.mh, + config/rs6000/rs6000lynx.mh, config/powerpc/solaris.mh, + config/powerpc/nbsd.mh, config/powerpc/linux.mh, + config/powerpc/cygwin.mh, config/pa/hpux11w.mh, + config/pa/hpux11.mh, config/pa/hpux1020.mh, config/pa/hppaosf.mh, + config/pa/hppahpux.mh, config/pa/hppabsd.mh, config/ns32k/nbsd.mh, + config/mips/irix5.mh, config/mips/irix4.mh, config/m68k/nbsd.mh, + config/m68k/m68klynx.mh, config/m68k/linux.mh, + config/i386/nbsdelf.mh, config/i386/nbsd.mh, config/i386/linux.mh, + config/i386/i386sco5.mh, config/i386/i386lynx.mh, + config/i386/i386dgux.mh, config/i386/fbsd.mh, + config/i386/cygwin.mh, config/arm/linux.mh, config/alpha/fbsd.mh, + config/alpha/alpha-osf3.mh, config/alpha/alpha-linux.mh: Remove + ser-tcp.o from XDEPFILES. + * config/ia64/linux.mh: Ditto. + + * TODO: Update. + +Mon Jun 12 14:26:02 2000 Andrew Cagney + + * mips-tdep.c (GDB_TARGET_IS_MIPS64): Define. + (struct gdbarch_tdep): Add gdb_target_is_mips64. + (mips_addr_bits_remove): Update. + (mips_gdbarch_init): Initialize. + + * config/mips/tm-mips64.h (GDB_TARGET_IS_MIPS64, + GDB_TARGET_IS_MIPS64): Delete. + +Mon Jun 12 12:17:20 2000 Andrew Cagney + + * mips-tdep.c: Include "symcat.h". + (mips_dump_tdep): Print all known but not yet multi-arched values. + +2000-06-12 Mark Kettenis + + * config/i386/tm-i386.h: Add forward declaration of `struct value'. + (FIX_CALL_DUMMY): Redefined to call i386_fix_call_dummy. + (i386_fix_call_dummy): Add prototype. + * i386-tdep.c (i386_fix_call_dummy): New function based on the + code from the old FIX_CALL_DUMMY macro. + +2000-06-12 Kevin Buettner + + * procfs.c, remote.c: Eliminate use of PARAMS from these files. + +Mon Jun 12 10:21:24 2000 Andrew Cagney + + * gdbarch.sh (gdbarch_dump): When non multi-arch skip macros that + return void. + +Sun Jun 11 12:06:21 2000 Christopher Faylor + + * exec.c (exec_file_attach): Add .exe extension when __CYGWIN__. + +Sat Jun 10 22:31:46 2000 Christopher Faylor + + * win32-nat.c (safe_symbol_file_add_args): Store old gdb_stderr and + gdb_stdout here. + (safe_symbol_file_add_stub): Redirect gdb_stdout as well as stderr. + (safe_symbol_file_add_cleanup): Restore gdb_stdout. + (info_dll_command): Use the pager for displaying DLLs since there are + often quite a few. + +Sun Jun 11 11:34:05 2000 Andrew Cagney + + From Sat Jun 10 17:54:04 2000 Hans-Peter Nilsson : + * configure.in (targ_archs): Clear out secondary components. + * configure: Regenerate. + +Fri Jun 9 15:06:37 2000 Andrew Cagney + + * gdbarch.sh (struct gdbarch): Add member dump_tdep. + (struct gdbarch_registration): Ditto. + (gdbarch_dump): Add ui_file and gdbarch arguments. Add support + for external dump functions. Dump the macro value. Call target + dump routine. + (gdbarch_register): New function. + (gdbarch_registrary): Replace gdbarch_init_registrary. + * gdbarch.h, gdbarch.c: Re-generate. + * arch-utils.c (set_arch): Update. + + * mips-tdep.c (mips_dump_tdep): New function. Move dump code here. + (mips_gdbarch_init): From here. + + * maint.c (maintenance_print_architecture): New function. + (_initialize_maint_cmds): Add command ``maintenance print + architecture''. + +2000-06-08 Kevin Buettner + + * command.h, monitor.h: Eliminate use of PARAMS from these + files. + +2000-06-08 Fernando Nasser + + * config/i386/tm-embed.h: New file. Specific for embedded targets + like i386-elf, i386-coff and i386-aout. + * config/i386/embed.mt (): Specify tm-embed.h instead of the System V + header file. + +2000-06-08 Fernando Nasser + + * MAINTAINERS: Add myself to gdbtk list. + +2000-06-08 Kevin Buettner + + * config/ia64/nm-linux.h (U_REGS_OFFSET): Define. + +2000-06-08 Fernando Nasser + + * configure.in: Replace misplaced CONFIG_ADD by the correct + CONFIG_CLEAN. + * configure, config.in: Regenerate. + +2000-06-08 Fernando Nasser + + * values.c (value_primitive_field): Copy VALUE_REGNO as well. + With typed registers we may have the location information in this field, + in addition to VALUE_ADDRESS (which was already being copied). + +Thu Jun 8 15:26:44 2000 Andrew Cagney + + * config/mips/tm-mips.h (GDB_MULTI_ARCH): Define as 1. + (CALL_DUMMY, TARGET_BYTE_ORDER_SELECTABLE_P, + COERCE_FLOAT_TO_DOUBLE): Delete. + * config/mips/tm-vr5000el.h, config/mips/tm-vr5000.h, + config/mips/tm-vr4xxxel.h, config/mips/tm-vr4xxx.h, + config/mips/tm-vr4100.h, config/mips/tm-tx39l.h + config/mips/tm-tx39.h, config/mips/tm-irix5.h: Delete + GDB_MULTI_ARCH. + + * config/mips/tm-mips64.h (TARGET_LONG_BIT, TARGET_LONG_LONG_BIT, + TARGET_PTR_BIT): Delete definitions. + * config/mips/tm-vr5000el.h, config/mips/tm-vr5000.h, + config/mips/tm-tx39l.h, config/mips/tm-vr4100.h, + config/mips/tm-tx39.h: Delete definition of MIPS_EABI. + * mips-tdep.c (mips_gdbarch_init): Use the ISA to determine the + ABI. If all else fails, assume O32. + + * TODO, NEWS: Update. Mention MIPS is multi-arch. + +Thu Jun 8 14:23:12 2000 Andrew Cagney + + * config/mips/tm-vr4xxxel.h, config/mips/tm-vr4xxx.h, + config/mips/tm-vr4100.h, config/mips/tm-tx39l.h, + config/mips/tm-tx39.h: Delete definition of + MIPS_DEFAULT_FPU_TYPE. Enable multi-arch. + * mips-tdep.c: (mips_gdbarch_init): The bfd_mach_mips3900 has no + FPU. bfd_mach_mips4650 FPU is single precision. + + * config/mips/tm-mips.h (MIPS_FPU_SINGLE_REGSIZE): + (MIPS_FPU_DOUBLE_REGSIZE): Move from here. + * mips-tdep.c: To here. Change to an enum. + +Wed Jun 7 18:27:51 2000 Andrew Cagney + + * configure.in (DEFAULT_BFD_ARCH, DEFAULT_BFD_VEC): Use config.bfd + to determine the default architecture / target. + * acconfig (DEFAULT_BFD_ARCH, DEFAULT_BFD_VEC): Add. + * configure, config.in: Regenerate. + + * arch-utils.c (set_endian): Better separate multi-arch and non- + multi-arch cases. + (set_endian_from_file): Call internal_error when multi-arch. + (initialize_current_architecture): Rewrite logic selecting a byte + order. Use DEFAULT_BFD_ARCH DEFAULT_BFD_VEC. + (version.h): Include. + + * config/mips/tm-mips.h, config/mips/tm-bigmips64.h, + config/mips/tm-bigmips.h: Delete definition of + TARGET_BYTE_ORDER_DEFAULT. + +Thu Jun 8 11:41:41 2000 Andrew Cagney + + * infrun.c (follow_inferior_fork): Bad merge from below. Compare + strings using follow_fork_mode_ask and not "ask". + +Wed Jun 7 15:13:04 2000 Andrew Cagney + + * command.h (add_set_enum_cmd): Make ``enumlist'' and ``var'' + constant char pointers. + (complete_on_enum): Change ``enumlist'' to a constant char + pointer. + (struct cmd_list_element): Ditto for member ``enums''. + * command.c (complete_on_enum, add_set_enum_cmd, + do_setshow_command): Update. + + * infrun.c (follow_fork_mode_ask, follow_fork_mode_parent, + follow_fork_mode_both, follow_fork_mode_child): New. Use to + construct the follow_fork_mode_kind_names. + (set_follow_fork_mode_command): Delete function. + (_initialize_infrun): Update. + (follow_inferior_fork): Do not strdup follow_fork_mode_string. + Use follow_fork_mode_* variables directly instead. Call + internal_error instead of error when unimplemented "ask" mode. + + * infrun.c (scheduler_enums, scheduler_mode, schedlock_off, + schedlock_on, schedlock_step): Update. + * serial.c (serial_logbase, logbase_hex, logbase_octal, + logbase_ascii, logbase_enums): Update. + * remote.c (packet_support_enums, packet_support_auto, + packet_enable, packet_disable, struct packet_config): Update. + * arch-utils.c (initialize_current_architecture, + set_architecture_string): Update. + (endian_big, endian_little, endian_auto, endian_enum, + set_endian_string): Update. + * i386-tdep.c (valid_flavors, att_flavor, intel_flavor, + disassembly_flavor): Update. + * mips-tdep.c (size_enums, size_64, size_32, size_auto, + mips_stack_argsize_string, mips_saved_regsize_string): Update. + * arm-tdep.c (disassembly_flavor, valid_flavors): Update. + (_initialize_arm_tdep): Ditto. + + * TODO: Update. + +Mon Jun 5 18:44:14 2000 Andrew Cagney + + * thread.c (make_cleanup_restore_current_thread, + do_restore_current_thread_cleanup): New functions. + (thread_apply_all_command, thread_apply_command): Use. Call + do_cleanups when finished. + + * defs.h (make_cleanup_func): Delete typedef. + * TODO: Update. + +Wed Jun 7 11:34:54 2000 Andrew Cagney + + * arch-utils.c (target_byte_order, target_byte_order_auto, + show_endian, set_endian, set_endian_big, set_endian_little, + set_endian_auto, set_endian_from_file, enum set_arch, + target_architecture_auto, set_architecture_string, + target_architecture_hook, target_architecture, arch_ok, set_arch, + set_architecture_from_arch_mach, set_architecture_from_file, + show_architecture, set_architecture, info_architecture, + set_gdbarch_from_file, initialize_current_architecture): Copy from + gdbarch.c. Rewrite ``set architecture'' and ``set endian'' + commands to use enums. + (_initialize_gdbarch_utils): Fix name. + * arch-utils.h (set_architecture_from_arch_mach, + target_architecture_hook): Copy from gdbarch.h. + * gdbarch.sh: Update. + * gdbarch.h, gdbarch.c: Re-generate. + + * TODO: Update. + + * v850-tdep.c, sh3-rom.c, sh-tdep.c, i386-tdep.c: Include + "arch-utils.h". + * Makefile.in (v850-tdep.o): Specify dependencies. + (i386-tdep.o, sh3-rom.o, sh-tdep.o): Add arch-utils.h to + dependency list. + +2000-06-06 Michael Snyder + + * configure.in: Enable autoconf to find curses.h on Solaris 2.8. + * configure: Regenerate. + +Tue Jun 6 21:14:47 2000 Andrew Cagney + + * command.c (do_setshow_command): Accept an enum option immediatly + when it is an exact match. + +Tue Jun 6 16:46:37 2000 Andrew Cagney + + * config/mips/tm-vr5000el.h, config/mips/tm-vr5000.h, + config/mips/tm-vr4xxxel.h, config/mips/tm-vr4xxx.h, + config/mips/tm-vr4300el.h, config/mips/tm-vr4100.h, + config/mips/tm-vr4300.h, config/mips/tm-tx39l.h, + config/mips/tm-tx39.h, config/mips/tm-embedl64.h, + config/mips/tm-embedl.h, config/mips/tm-embed64.h, + config/mips/tm-embed.h: Delete TARGET_BYTE_ORDER_SELECTABLE_P. + + * tm-mips.h (TARGET_BYTE_ORDER_SELECTABLE_P): Define as 1. + +Tue Jun 6 16:21:14 2000 Andrew Cagney + + * gdbarch.sh (generic_register_convertible_not, + frame_num_args_unknown): Move from here. + * arch-utils.c (generic_register_convertible_not, + frame_num_args_unknown): To here. + * arch-utils.h (frame_num_args_unknown): Add declaration. + * gdbarch.h, gdbarch.c: Re-generate. + +Tue Jun 6 15:07:08 2000 Andrew Cagney + + * remote-mips.c (mips_open): Select the default monitor prompt + based on the target ISA. + + * config/mips/tm-vr4100.h (TARGET_MONITOR_PROMPT), + config/mips/tm-vr4300el.h (TARGET_MONITOR_PROMPT), + config/mips/tm-vr4300.h (TARGET_MONITOR_PROMPT), + config/mips/tm-vr4xxx.h (TARGET_MONITOR_PROMPT), + config/mips/tm-vr4xxxel.h (TARGET_MONITOR_PROMPT), + config/mips/tm-vr5000el.h (TARGET_MONITOR_PROMPT), + config/mips/tm-vr5000.h (TARGET_MONITOR_PROMPT), + config/mips/tm-mips.h (TARGET_MONITOR_PROMPT): Delete macro. + +2000-06-05 Daniel Berlin + + * c-exp.y (yylex): template handling fixes. + +2000-06-03 Daniel Berlin + + * symtab.h (VTBL_PREFIX_P): Add newer g++ vtbl prefix to prefix + list. + + * symtab.c (lookup_partial_symbol): Change to stop forcing linear + searches on C++ when we fail the binary search, by doing the + binary search right. + +2000-05-30 Daniel Berlin + + * buildsym.c (hashname): Change to use hash function from bcache.c/.h + + * bcache.c (hash): Change to newer hash function. + + * bcache.h (hash): Prototype for hash function + + * dwarf2read.c (TYPE_HASH_SIZE): New define for controlling size + of type hash. + (dwarf2_cached_types): New variable that is the cached types. + (tag_type_to_type): Do the actual caching of types here. + +2000-06-05 Mark Kettenis + + * acconfig.h, configure.in, i386bsd.c (HAVE_STRUCT_REG_R_FS): + Renamed from HAVE_R_FS. + (HAVE_STRUCT_REG_GS): Renamed from HAVE_R_GS. + * configure, config.in: Regenerated. + +Sun Jun 4 14:00:01 2000 Andrew Cagney + + * TODO: Update. Mention GNU/Linux/SPARC problems. + +Wed May 31 21:41:37 2000 Andrew Cagney + + * gdbarch.sh (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Change buf + to a void pointer. Update initial values. + * gdbarch.h, gdbarch.c: Re-generate. + + * findvar.c (address_to_signed_pointer, + signed_pointer_to_address): New functions. + * inferior.h (signed_pointer_to_address, + signed_address_to_pointer): Declare. + + * inferior.h, findvar.c (unsigned_pointer_to_address, + address_to_unsigned_pointer): Rename generic_address_to_pointer + and generic_pointer_to_address. Update signatures to match + gdbarch changes. + + * config/mips/tm-mips.h (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): + Define. MIPS has signed pointers. + + * defs.h, utils.c (host_pointer_to_address, + address_to_host_pointer): New functions. + * irix5-nat.c (next_link_map_member, first_link_map_member), + procfs.c (proc_set_watchpoint, proc_iterate_over_mappings): Use. + + * irix5-nat.c (solib_map_sections, symbol_add_stub): Change + function signature to match catch_errors_ftype. + + * TODO: Update. GDB builds using the IRIX native compiler. + +Sat Jun 3 20:43:59 2000 Andrew Cagney + + * defs.h (strsignal, safe_strsignal): Delete declarations. + * utils.c (safe_strsignal): Delete. + * corelow.c (core_open): Replace save_strsignal with + target_signal_to_string + target_signal_from_host. + * TODO: Document problems with target_signal_from_host. + +2000-06-03 Kevin Buettner + + * annotate.c, annotate.h, breakpoint.c, command.c, command.h, + config/rs6000/tm-rs6000.h, corefile.c, d10v-tdep.c, + d30v-tdep.c, dbxread.c, dcache.c, dcache.h, dsrec.c, + dve3900-rom.c, exec.c, fork-child.c, gdbcore.h, hpux-thread.c, + language.h, linux-thread.c, mdebugread.c, monitor.h, ocd.c, + procfs.c, ptx4-nat.c, remote-sim.c, remote-utils.h, remote.c, + rs6000-tdep.c, ser-ocd.c, sol-thread.c, sparcl-tdep.c, + stabsread.h, stack.c, symfile.c, symfile.h, symtab.h, + target.c, target.h, top.c, tracepoint.c, tracepoint.h, + tui/tui.h, tui/tuiIO.c, utils.c, v850ice.c, varobj.c, + win32-nat.c, wince.c, xcoffsolib.c, xcoffsolib.h: Eliminate + PARAMS from function pointer declarations. + +2000-06-03 Christopher Faylor + + * win32-nat.c (safe_symbol_file_add_cleanup): Ensure that gdb_stderr is + flushed before deleting and restoring it. + (safe_symbol_file_add): Ensure that gdb_stderr is flushed before + reassigning it. + (handle_load_dll): Split into two functions so that WFI can handle + shared library events. + (child_solib_loaded_library_pathname): New function. + (child_clear_solibs): New function. Clears shared library list. + (child_solib_add): New function. Adds shared library symbols. + (dll_symbol_command): New function. Handles "dll-symbol" command. + (info_dll_command): New function. Handles info + "sharedlibrary" command. + (handle_exceptions): Eliminate 'ignore_trap' argument. + (get_child_debug_event): Eliminate two arguments. Return "pid" when + appropriate. Break out on most events to allow WFI to handle stuff. + (child_wait): Accomodate get_child_debug_event changes. + (child_attach): Clear thread list and list of loaded dlls. + (child_create_inferior): Clear list of loaded dlls. Use + wait_for_inferior in a loop to look for first "trap". + (child_resume): Avoid accessing a possibly-freed thread pointer. + (_initialize_inftarg): Add "dll-symbols", "sharedlibrary", and "info + sharedlibrary" commands. + * config/i386/tm-cygwin.h: Add some shared library (aka DLL) hooks. + +2000-06-02 Christopher Faylor + + * win32-nat.c: Fix up gcc warnings throughout. + (handle_load_dll): Change DLL name to lower case. + (handle_exception): Add a second argument indicating whether a + breakpoint should be ignored. Return a 0 if the breakpoint was + ignored. + (get_child_debug_event): Pass argument to handle_exception to control + whether a breakpoint should be ignored. + (child_create_inferior): Use modern cygwin API. Explicitly clear + last_sig. Pass FIRST_EXCEPTION to get_child_debug_event for detection + of first breakpoint. + +2000-06-02 Christopher Faylor + + * configure.in: Detect correct versions of dlltool and windres when + cross-compiling. + * configure: Regenerate. + +2000-06-02 J.T. Conklin + + * configure.tgt: Add pattern for i[3456]86-*-netbsdelf*. + * config/i386/nbsdelf.mt: New file. + * config/i386/tm-nbsdelf.h: New file. + + * config/i386/tm-nbsd.h: change include of tm-nbsd.h to + the more explicit config/tm-nbsd.h. + +2000-06-02 Mark Kettenis + + * alphabsd-nat.c (supply_fpregset): Substract FP0_REGNUM from + register number when used as index into fpr_regs array. + +Tue May 30 13:31:57 2000 Andrew Cagney + + * defs.h (TARGET_FLOAT_FORMAT, TARGET_DOUBLE_FORMAT, + TARGET_LONG_DOUBLE_FORMAT): Delete. + + * gdbarch.sh: Add support for parameterized expressions. + (TARGET_FLOAT_FORMAT, TARGET_DOUBLE_FORMAT, + TARGET_LONG_DOUBLE_FORMAT): Add. Include "floatformat.h". + * gdbarch.h, gdbarch.c: Regenerate. + + * arch-utils.c (default_single_format, default_double_format, + default_long_double_format): New functions. Include + "floatformat.h" + * arch-utils.h: Declare. + + * d10v-tdep.c (d10v_gdbarch_init): Set floating point format. + Note that long double is 64 bit, the rest are 32 bit. Include + "floatformat.h". + +2000-06-02 Mark Kettenis + + * config/alpha/nm-fbsd.h (CANNOT_STEP_BREAKPOINT): Define. + +2000-06-01 Michael Snyder + + * sol-thread.c (rw_common): Circumstances (eg. a bug in Sun's + thread_db library) may cause this function to be called with an + illegal address, in which case procfs_to_xfer_memory will + return zero. Return an error code instead of looping forever. + +Thu Jun 1 20:05:26 2000 Andrew Cagney + + * TODO: More suggestions added. + +2000-06-01 Klee Dienes + + * MAINTAINERS: Add Klee Dienes and Jim Ingham as maintainers for + Mac OS X and Objective C components (to be contributed). + +2000-05-31 J.T. Conklin + + * configure.host: Add patterns for i[3456]86-*-netbsdaout* + and i[3456]86-*-netbsdelf*. + * config/i386/nm-nbsdelf.h: New file. + * config/i386/nbsdelf.mh: New file. + + * config/i386/nm-nbsd.h: change include of nm-nbsd.h to + the more explicit config/nm-nbsd.h. + * config/i386/tm-nbsd.h: change include of tm-i386bsd.h to + tm-i386.h. + (SIGTRAMP_START, SIGTRAMP_END, SIGCONTEXT_PC_OFFSET): Define. + +2000-06-01 Mark Kettenis + + * NEWS: Mention FreeBSD/Alpha and FreeBSD/i386 3.x and up as new + native configurations. + + * i386bsd-nat.c: Include "gregset.h". + (CANNOT_STORE_REGISTER): Define to cannot_fetch_register instead + of CANNOT_FETCH_REGISTER, if not already defined. + (supply_gregset): Call supply_register with NULL as its second + argument instead of supplying our own zeroed out buffer. + (fill_gregset): Copy contents of correct registers instead of the + contents of register REGNO. + +2000-05-31 Kevin Buettner + + * gnu-regex.c (re_match_2_internal): Revert 2000-05-27 + patch which removed use of PARAMS from declaration. This + file should not have been touched as it is supposed to track + the version in glibc. + +2000-05-31 Mark Kettenis + + Add support for FreeBSD/Alpha. + * configure.host, configure.tgt (alpha*-*-freebsd*): New entry. + * alphabsd-nat.c, config/alpha/fbsd.mh, config/alpha/fbsd.mt, + config/alpha/nm-fbsd.h, config/alpha/tm-fbsd.h, + config/alpha/xm-fbsd.h: New files. + +2000-05-31 Pierre Muller + + * MAINTAINERS: Add myself to "Write After Approval" list. + +Tue May 30 18:48:33 2000 Andrew Cagney + + * TODO: Re-organize. + +Tue May 30 11:22:28 2000 Andrew Cagney + + * gdbarch.sh: Add field ``postdefault''. Rename fields + ``startup'' and ``default'' to ``staticdefault'' and + ``predefault''. Fix initialization of valid_p. Create/compare + gdbarch.log. + +Mon May 29 22:47:16 2000 Andrew Cagney + + * config/sparc/nm-sun4sol2.h (GDB_GREGSET_T, GDB_FPREGSET_T): + Define. + * config/sparc/xm-sun4sol2.h: (GDB_GREGSET_TYPE, + GDB_FPREGSET_TYPE): Delete. + +Mon May 29 15:41:10 2000 Andrew Cagney + + * symtab.h (make_cleanup_free_search_symbols): Add declaration. + * symtab.c (make_cleanup_free_search_symbols, + do_free_search_symbols_cleanup): New functions. + (search_symbols, symtab_symbol_info, rbreak_command): Update. + (search_symbols): Pass ``sr'', and not its address, to + make_cleanup_free_search_symbols. + +2000-05-28 Kevin Buettner + + * config/nm-linux.h (GDB_GREGSET_T, GDB_FPREGSET_T): Fix typos. + +2000-05-27 Kevin Buettner + + * abug-rom.c, alpha-nat.c, alpha-tdep.c, annotate.c, + annotate.h, arc-tdep.c, ax-gdb.c, ax-gdb.h, ax-general.c, + ax.h, breakpoint.c, breakpoint.h, c-exp.y, c-lang.c, c-lang.h, + call-cmds.h, ch-exp.c, ch-lang.c, ch-lang.h, cli-out.c, + coff-solib.h, coffread.c, command.c, command.h, complaints.c, + complaints.h, config/a29k/tm-a29k.h, config/a29k/tm-vx29k.h, + config/alpha/nm-linux.h, config/alpha/nm-osf.h, + config/alpha/nm-osf2.h, config/alpha/tm-alpha.h, + config/alpha/tm-alphalinux.h, config/arc/tm-arc.h, + config/arm/tm-embed.h, config/d30v/tm-d30v.h, + config/fr30/tm-fr30.h, config/h8300/tm-h8300.h, + config/h8500/tm-h8500.h, config/i386/nm-i386bsd.h, + config/i386/nm-i386sco.h, config/i386/nm-i386sol2.h, + config/i386/nm-i386v.h, config/i386/nm-linux.h, + config/i386/nm-nbsd.h, config/i386/nm-ptx4.h, + config/i386/nm-symmetry.h, config/i386/tm-cygwin.h, + config/i386/tm-i386.h, config/i386/tm-i386nw.h, + config/i386/tm-i386sol2.h, config/i386/tm-i386v.h, + config/i386/tm-i386v4.h, config/i386/tm-nbsd.h, + config/i386/tm-ptx.h, config/i386/tm-sun386.h, + config/i960/tm-mon960.h, config/i960/tm-nindy960.h, + config/m32r/tm-m32r.h, config/m68k/nm-dpx2.h, + config/m68k/nm-linux.h, config/m68k/tm-cisco.h, + config/m68k/tm-delta68.h, config/m68k/tm-es1800.h, + config/m68k/tm-isi.h, config/m68k/tm-linux.h, + config/m68k/tm-m68k.h, config/m68k/tm-m68kv4.h, + config/m68k/tm-news.h, config/m68k/tm-sun3.h, + config/m68k/tm-vx68.h, config/m68k/xm-hp300bsd.h, + config/m88k/tm-m88k.h, config/mcore/tm-mcore.h, + config/mips/nm-irix3.h, config/mips/nm-irix4.h, + config/mips/nm-irix5.h, config/mips/nm-mips.h, + config/mips/tm-embed.h, config/mips/tm-mips.h, + config/mn10200/tm-mn10200.h, config/mn10300/tm-mn10300.h, + config/nm-linux.h, config/nm-lynx.h, config/ns32k/nm-nbsd.h, + config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, + config/pa/nm-hppah.h, config/pa/tm-hppa.h, + config/pa/tm-hppa64.h, config/pa/xm-hppah.h, + config/powerpc/nm-linux.h, config/powerpc/tm-linux.h, + config/powerpc/tm-ppc-eabi.h, config/powerpc/tm-solaris.h, + config/powerpc/xm-aix.h, config/rs6000/nm-rs6000.h, + config/rs6000/tm-rs6000.h, config/rs6000/xm-rs6000.h, + config/sh/tm-sh.h, config/sparc/nm-linux.h, + config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, + config/sparc/tm-sp64.h, config/sparc/tm-sp64sim.h, + config/sparc/tm-sparc.h, config/sparc/tm-sparclet.h, + config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, + config/sparc/tm-sun4sol2.h, config/tic80/tm-tic80.h, + config/tm-sysv4.h, config/v850/tm-v850.h, config/vax/tm-vax.h, + config/w65/tm-w65.h, config/xm-aix4.h, config/z8k/tm-z8k.h, + copying.c, core-aout.c, core-regset.c, core-sol2.c, + corefile.c, corelow.c, cp-valprint.c, cpu32bug-rom.c, + d10v-tdep.c, d30v-tdep.c, dbug-rom.c, dbxread.c, dcache.c, + dcache.h, demangle.c, dink32-rom.c, dsrec.c, dstread.c, + dve3900-rom.c, dwarf2read.c, dwarfread.c, elfread.c, + environ.h, eval.c, exec.c, expprint.c, expression.h, f-exp.y, + f-lang.c, f-lang.h, f-valprint.c, findvar.c, fr30-tdep.c, + frame.h, gdb_string.h, gdbcmd.h, gdbcore.h, + gdbserver/server.h, gdbtypes.c, gdbtypes.h, gnu-regex.c, + h8300-tdep.c, hp-psymtab-read.c, hp-symtab-read.c, + hp300ux-nat.c, hppa-tdep.c, hppah-nat.c, hpread.c, hpread.h, + hpux-thread.c, i386-tdep.c, i386aix-nat.c, i386mach-nat.c, + i386v-nat.c, i386v4-nat.c, i387-tdep.c, i960-tdep.c, infcmd.c, + inferior.h, inflow.c, infptrace.c, inftarg.c, irix4-nat.c, + irix5-nat.c, jv-exp.y, jv-lang.c, jv-lang.h, language.c, + language.h, lynx-nat.c, m2-exp.y, m2-lang.c, m2-lang.h, + m32r-rom.c, mac-nat.c, main.c, maint.c, mdebugread.c, + mi/mi-out.c, minsyms.c, mips-nat.c, mips-tdep.c, mipsread.c, + mn10300-tdep.c, mon960-rom.c, monitor.c, monitor.h, nlmread.c, + objfiles.c, objfiles.h, ocd.c, ocd.h, op50-rom.c, os9kread.c, + osfsolib.c, pa64solib.c, pa64solib.h, parse.c, parser-defs.h, + ppc-bdm.c, printcmd.c, procfs.c, remote-array.c, remote-bug.c, + remote-e7000.c, remote-es.c, remote-est.c, remote-hms.c, + remote-mips.c, remote-nindy.c, remote-nrom.c, remote-rdi.c, + remote-rdp.c, remote-sds.c, remote-sim.c, remote-udi.c, + remote-utils.c, remote-utils.h, remote-vx.c, remote.c, + rom68k-rom.c, rs6000-nat.c, rs6000-tdep.c, scm-exp.c, + scm-lang.c, scm-lang.h, ser-e7kpc.c, ser-mac.c, sh3-rom.c, + sol-thread.c, solib.c, solib.h, somread.c, somsolib.c, + somsolib.h, source.c, sparc-nat.c, sparcl-tdep.c, + sparclet-rom.c, srec.h, stabsread.c, stabsread.h, stack.c, + sun3-nat.c, symfile.c, symfile.h, symmisc.c, symtab.c, + symtab.h, target.c, target.h, terminal.h, thread.c, top.c, + top.h, tracepoint.c, tracepoint.h, tui/tui-file.c, tui/tui.c, + tui/tui.h, tui/tuiCommand.h, tui/tuiData.c, tui/tuiData.h, + tui/tuiDataWin.h, tui/tuiDisassem.c, tui/tuiDisassem.h, + tui/tuiGeneralWin.c, tui/tuiGeneralWin.h, tui/tuiIO.c, + tui/tuiIO.h, tui/tuiLayout.c, tui/tuiLayout.h, tui/tuiRegs.c, + tui/tuiRegs.h, tui/tuiSource.c, tui/tuiSource.h, + tui/tuiSourceWin.h, tui/tuiStack.c, tui/tuiStack.h, + tui/tuiWin.c, tui/tuiWin.h, typeprint.c, ui-file.c, ui-out.h, + ultra3-nat.c, utils.c, v850-tdep.c, v850ice.c, valarith.c, + valops.c, valprint.c, value.h, values.c, varobj.c, w89k-rom.c, + win32-nat.c, wince.c, wrapper.c, wrapper.h, xcoffread.c, + xcoffsolib.c, xmodem.h, z8k-tdep.c: Remove PARAMS from function + declarations. + +2000-05-26 Michael Snyder + + * gregset.h: New file. Typedefs for gdb_gregset_t and + gdb_fpregset_t, prototypes for supply_gregset and friends. + * procfs.c: Include gregset.h. Delete local prototypes for + supply_gregset etc., and local typedef gdb_gregset_t etc. + * sol-thread.c: Include gregset.h, delete local prototypes, + add appropriate casts to gdb_gregset_t. + * uw-thread.c, lin-thread.c, core-sol2.c, core-regset.c, + sparc-tdep.c, ptx4-nat.c, ppc-linux-nat.c, mipsv4-nat.c, + m88k-nat.c, m68klinux-nat.c, m68k-tdep.c, irix5-nat.c, + irix4-nat.c, ia64-linux-nat.c, i386v4-nat.c, cxux-nat.c, + arm-linux-nat.c, alpha-nat.c: Include gregset.h. + * config/nm-linux.h: Define GDB_GREGSET_T, GDB_FPREGET_T. + * config/sparc/nm-sun4sol2.h: Ditto. + * config/sparc/xm-sun4sol2.h: (GDB_GREGSET_TYPE, + GDB_FPREGSET_TYPE): Delete (replaced by GDB_GREGSET_T etc.) + +Thu May 25 16:56:05 2000 Andrew Cagney + + * configure.in (AC_CHECK_HEADERS): Check for ncurses.h. + * config.in, configure: Re-generate. + +2000-05-25 Scott Bambrough + + * arm-linux-tdep.c (find_minsym_and_objfile): New. + (skip_hurd_resolver): New. + (arm_linux_skip_solib_resolver): New. + (arm_skip_solib_resolver): Removed. + + * config/arm/tm-linux.h (SKIP_SOLIB_RESOLVER): Changed to use + arm_linux_skip_solib_resolver. + +2000-05-25 Mark Kettenis + + * acconfig.h (HAVE_R_FS, HAVE_R_GS): Add. + * configure.in: Add checks for r_fs and r_gs members of + `struct reg'. + * config.in, configure: Regenerated. + +2000-05-25 Eli Zaretskii + + * ser-go32.c: Remove PARAMS. + +Thu May 25 15:22:12 2000 Andrew Cagney + + * configure.in (AC_CHECK_HEADERS): Check for , + , and . + * config.in, configure: Re-generate. + * gdb_dirent.h: New file + + * infptrace.c: Include "gdb_dirent.h" instead of . + * core-aout.c: Ditto. + * procfs.c: Include "gdb_dirent.h" instead of . + +Thu May 25 14:43:30 2000 Andrew Cagney + + * config.in: Regenerate. + +Thu May 25 13:49:17 2000 Andrew Cagney + + From Fri 19 May 2000 Eli Zaretskii : * + config/djgpp/fnchange.lst: Fix bfd/coff-tic54x.c, bfd/coff-tc54x.c + and gdb/testsuite/gdb.mi/mi-var-cmd.exp. + +Thu May 25 11:09:50 2000 Andrew Cagney + + * configure.in (AC_OUTPUT): Do not generate tui/Makefile. + (enable-tui): Convert Makefile configury to use the same mechanism + as MI. + + * Makefile.in (BUILD_TUI, TUI_LIBRARY, TUI_DIR, TUI_SRC, + TUI_CFLAGS): Delete + (all-tui): Delete target. + (tuiWin.o, tuiStack.o, tuiSourceWin.o, tuiSource.o, tuiRegs.o, + tuiLayout.o, tuiIO.o, tuiGeneralWin.o, tuiDisassem.o, + tuiDataWin.o, tuiData.o, tuiCommand.o, tui.o): New targets. + (SUBDIR_TUI_OBS, SUBDIR_TUI_SRCS, SUBDIR_TUI_DEPS, + SUBDIR_TUI_INITS, SUBDIR_TUI_LDFLAGS, SUBDIR_TUI_CFLAGS, + SUBDIR_TUI_ALL, SUBDIR_TUI_CLEAN, SUBDIR_TUI_INSTALL, + SUBDIR_TUI_UNINSTALL): Define. + + * TODO: Update. + +Thu May 25 11:02:24 2000 Andrew Cagney + + * TODO: Update. Mark Kettenis fixed FreeBSD >2.2 support. + * MAINTAINERS: Update Jim Ingham's address. + +2000-05-25 Mark Kettenis + + Add support for FreeBSD/i386 ELF. + * i386bsd-nat.c: New file. + * config/i386/tm-fbsd.h (HAVE_I387_REGS): Define. + Include "i386/tm-i386.h" instead of "i386/tm-i386b.h". + (NUM_REGS): Remove redefinition. + (USE_STRUCT_CONVENTION): Define. + (i386_float_info): Remove prototype. + (FLOAT_INFO): Remove define. + (JB_ELEMENT_SIZE): Define to 4. + (JB_PC): Define to 0. + (GET_LONGJMP_TARGET): Define. + (SIGTRAMP_START, SIGTRAMP_END): Define. + (SIGCONTEXT_PC_OFFSET): Define. + (IN_SOLIB_CALL_TRAMPOLINE): Only define if !SVR4_SHARED_LIBS + * config/i386/nm-fbsd.h (PTRACE_ARG3_TYPE): Define to caddr_t. + (FETCH_INFERIOR_REGISTERS): Define. + (ATTACH_DETACH): Define. + (kernel_u_size): Remove PARAMS. + (register_u_addr): Use CORE_ADDR in prototype where appropriate. + Remove PARAMS. + (SVR4_SHARED_LIBS) [FREEBSD_ELF || __ELF__ && !FREEBSD_AOUT]: + Define. + [SVR4_SHARED_LIBS]: Include "elf/common.h". + Only define aliases for struct members from if + !SVR4_SHARED_LIBS. + * config/i386/xm-fbsd.h: New file. + * config/i386/fbsd.mt (TDEPFILES): Remove solib.o. + * config/i386/fbsd.mh (NATDEPFILES): Remove i386b-nat.o. Add + core-regset.o i387-nat.o i386bsd-nat.o. + +2000-05-24 Michael Snyder + + * findvar.c (value_from_register): Factor code, simplify logic. + +2000-05-23 J.T. Conklin + + * config/i386/nbsd.mt (TDEPFILES): Move solib.o from here... + * config/i386/nbsd.mh (NATDEPFILES): ...to here. + * config/m68k/nbsd.mt (TDEPFILES): Move solib.o from here... + * config/m68k/nbsd.mh (NATDEPFILES): ...to here. + * config/ns32k/nbsd.mt (TDEPFILES): Move solib.o from here... + * config/ns32k/nbsd.mh (NATDEPFILES): ...to here. + + * config/powerpc/nbsd.mt (GDBSERVER_DEPFILES): Add low-nbsd.o. + * configure.tgt (powerpc-*-netbsd*): add gdbserver to configdirs. + * gdbserver/low-nbsd.c (initialize_arch): Define for PPC. + (fetch_inferior_registers): Likewise. + (store_inferior_registers): Likewise. + + * gdbserver/low-nbsd.c (fetch_inferior_registers): Handle X86 + floating point registers. + (store_inferior_registers): Likewise. + +2000-05-24 Mark Kettenis + + * i387-nat.h, i387-nat.c: New files. + +Tue May 23 17:21:24 2000 Alexandre Oliva + + * config/sparc/nm-linux.h: Include config/nm-linux.h. + * config/powerpc/nm-linux.h: Likewise. + +Tue May 23 13:20:00 1999 Gregory Lielens + + * f-valprint.c : Corrected f_val_print function for TYPE_CODE + (type) = TYPE_CODE_COMPLEX + +Wed May 24 00:38:09 2000 Andrew Cagney + + * utils.c (make_cleanup_close, do_close_cleanup): New functions. + * defs.h (make_cleanup_close): Add declaration. + +Tue May 23 20:47:50 2000 Andrew Cagney + + * configure.in (build_warnings): Add -Wuninitialized. + * configure: Regenerate. + +Tue May 23 17:44:18 2000 Andrew Cagney + + From Mon May 8 14:49:51 2000 Andrew Cagney + (gdb 5.0): From Michael Paddon : + * configure.in (AC_CHECK_HEADERS): Check for . + + * configure: Re-generate. + * proc-api.c: Only include when available. + (ioctl_table): Check that PIOCGETPR and PIOCGETU are defined. + + * TODO: Update. + +2000-05-17 Michael Snyder + + * config/sparc/tm-sun4sol2.h: Turn on multi-arch. + * sparc-tdep.c (gdb_print_insn_sparc): Remove temp. multi-arch hack. + +2000-05-17 Andrew Cagney + + * GDB 5.0 released. + * Makefile.in (VERSION): Set to 5.0. + +Mon May 22 16:20:31 2000 Andrew Cagney + + * inferior.h (make_cleanup_restore_inferior_status): + * infrun.c (make_cleanup_restore_inferior_status, + do_restore_inferior_status_cleanup): New functions. + * valops.c (hand_function_call): Use. + * infcmd.c (disable_longjmp_breakpoint_cleanup): New function. + (step_1): Use. + * symfile.c (clear_symtab_users_cleanup): New function. + (syms_from_objfile, reread_symbols): Use. + * objfiles.c (make_cleanup_free_objfile, do_free_objfile_cleanup): + New functions. + * objfiles.h (make_cleanup_free_objfile): Add declaration. + * symfile.c (syms_from_objfile, reread_symbols), hpread.c + (hpread_build_psymtabs), hp-psymtab-read.c + (hpread_build_psymtabs): Use. + * dwarf2read.c (make_cleanup_free_die_list, + do_free_die_list_cleanup): New functions. + (psymtab_to_symtab_1): Use. + * tracepoint.c (make_cleanup_free_actions, + do_free_actions_cleanup): New functions. + (read_actions): Use. + * corelow.c (core_close_cleanup): New function. + (core_open): Use. + * dbxread.c (make_cleanup_free_bincl_list, + do_free_bincl_list_cleanup): New function. + (read_dbx_symtab): Use. + * coffread.c (free_linetab_cleanup, free_stringtab_cleanup): New + functions. + (coff_symfile_read): Use. + * varobj.c (make_cleanup_free_variable, do_free_variable_cleanup): + New function. + (varobj_create): Use. + * sparcl-tdep.c (close_tty), infrun.c (resume_cleanups), parse.c + (free_funcalls): Change signature to match make_cleanup_ftype. + * infrun.c (resume), tracepoint.c (encode_actions), remote-udi.c + (download), solib.c (open_symbol_file_object), sparcl-tdep.c + (sparclite_open), parse.c (parse_exp_1): Remove cast using + make_cleanup_func. + +Mon May 22 15:49:13 2000 Andrew Cagney + + * procfs.c (info_proc_cmd): Use make_cleanup_freeargv. + (proc_iterate_over_mappings): Use make_cleanup_close. + (proc_get_LDT_entry): Ditto. + (do_closedir_cleanup): New function. + (proc_update_threads): Use. + (do_destroy_procinfo_cleanup): New function. + (info_proc_cmd): Use. + +Mon May 22 15:21:38 2000 Andrew Cagney + + * top.h (command_loop_marker): Change signature to match + make_cleanup_ftype. + * top.c (command_loop_marker): Update. + (command_loop, simplified_command_loop), event-top.c + (command_handler): Remove cast using make_cleanup_func. + * event-top.c (command_handler): Ditto. + + * top.c (do_chdir_cleanup): New function. + (gdb_init): Use. Use xstrdup instead of strsave. + * top.c (do_fclose_cleanup): New function. + (source_command): Use. + * top.c (do_restore_instream_cleanup): Rename + source_cleanup. Change signature to match make_cleanup. + (read_command_filem execute_user_command): Update. Remove cast + using make_cleanup_func. + * top.c (do_free_command_lines_cleanup, + make_cleanup_free_command_lines): New funtions. + (get_command_line, read_command_lines): Use. + * top.c (arg_cleanup): Change signature to match make_cleanup. + (setup_user_args): Remove cast using make_cleanup_func. + +Mon May 22 12:05:13 2000 Andrew Cagney + + * defs.h (t_reg): Delete typedef. + (preg, preg_nz): Delete function. Replaced by phex and phex_nz. + * utils.c (phex, phex_nz): New functions. + (paddr, paddr_nz): Use. + + * monitor.c (monitor_store_register): Replace preg with phex. + +Mon May 22 11:46:01 2000 Andrew Cagney + + * TODO: Add note on typecast using catch_errors_ftype. + +2000-05-21 Mark Kettenis + + * i387-tdep.c (print_i387_value): Cast &value to (char *) in + pointer arithmetic. Fixes a bug which manifested itself on + FreeBSD. + +2000-05-20 J.T. Conklin + + * target.h (target_memory_bfd_section): Removed declaration. + * target.c (target_memory_bfd_section): Removed. + * exec.c (xfer_memory): Removed #if'ed-out code which referenced + target_memory_bfd_section. + + * target.h (target_read_memory_section): Removed declaration. + * target.c (target_read_memory_section): Removed. + (target_xfer_memory): Update, removed bfd_section argument. + (target_read_string, target_read_memory, target_write_memory): + Update for above change. + + * gdbcore.h (read_memory_section): Removed declaration. + * corefile.c (read_memory_section): Removed. + * jv-lang.c (get_java_utf8_name): Changed calls to + read_memory_section to read_memory. + * printcmd.c (printf_command): Likewise. + * valops.c (value_at, value_fetch_lazy): Likewise. + +2000-05-18 J.T. Conklin + + * configure.host, configure.tgt (powerpc-*-netbsd*): New entry. + * config/powerpc/nbsd.mh, config/powerpc/nbsd.mt, + config/powerpc/tm-nbsd.h, config/powerpc/nm-nbsd.h, + config/powerpc/xm-nbsd.h: New files. + +2000-05-17 Eli Zaretskii + + * gdb/config/djgpp/README: Fine-tune installation instructions + based on user reports. + +Wed May 17 18:27:45 2000 Andrew Cagney + + * configure.in (build_warnings): List possible warnings. + * configure: Regenerate. + * TODO: More updates. + * MAINTAINERS: Add Gary Thomas and Joern Renneck to Write After + Approval. + +Wed May 17 16:48:36 2000 Andrew Cagney + + From 2000-04-14 Gary Thomas : + * config/v850/tm-v850.h: Change breakpoint sequence to be + 'br *' since there is no 16bit "illegal" instruction on this + processor. + +Tue May 16 18:57:14 2000 Andrew Cagney + + * TODO: Review. Delete anything that is no longer applicable. + +Tue May 16 14:17:20 2000 Andrew Cagney + + * utils.c (free_current_contents): Make more robust. + +Tue May 16 13:30:08 2000 Andrew Cagney + + * symtab.h (make_cleanup_discard_minimal_symbols): Replace + discard_minimal_symbols. + * minsyms.c (make_cleanup_discard_minimal_symbols): + (do_discard_minimal_symbols_cleanup): New functions. + + * xcoffread.c (xcoff_initial_scan), somread.c (som_symfile_read), + solib.c (solib_add_common_symbols), os9kread.c + (os9k_symfile_read), nlmread.c (nlm_symfile_read), mipsread.c + (mipscoff_symfile_read), elfread.c (elf_symfile_read), dstread.c + (dst_symfile_read), dbxread.c (dbx_symfile_read), coffread.c + (coff_symfile_read): Replace make_cleanup. + +Mon May 15 09:32:31 2000 Andrew Cagney + + * command.h (add_set_cmd): Change VAR parameter to void pointer. + (add_set_enum_cmd): Change VAR parameter to char pointer pointer. + (struct command): Change member VAR to void pointer. + * command.c (add_set_cmd, add_set_enum_cmd): Update. + + * remote.c (add_packet_config_cmd), mips-tdep.c + (_initialize_mips_tdep), infrun.c (_initialize_infrun), + i386-tdep.c (_initialize_i386_tdep), arm-tdep.c + (_initialize_arm_tdep): Update VAR parameter to add_set_enum_cmd. + +Tue May 16 12:46:04 2000 Andrew Cagney + + * wrapper.h (wrap_value_subscript): Delete declaration. + +Tue May 16 10:54:55 2000 Andrew Cagney + + * defs.h (make_cleanup_bfd_close): Add declaration. + * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_close): New + functions. + + * symfile.c (generic_load), sparcl-tdep.c (download), remote-udi.c + (download), remote-e7000.c (e7000_load), corelow.c (core_open, + core_file_to_sym_file): Replace calls to make_cleanup. + +Mon May 15 16:50:45 2000 Andrew Cagney + + * TODO: Add notes on register cache. + +Mon May 15 21:27:27 2000 J"orn Rennecke + + * sh-tdep.c (sh_dsp_reg_names, sh3_dsp_reg_names): New arrays. + (sh_processor_type_table): Add entries for bfd_mach_sh_dsp and + bfd_mach_sh3_dsp. + (sh_show_regs): Floating point registers are called fr0-fr15. + For sh4, display fpul, fpscr and fr0-fr15 / dr0-dr14 as appropriate. + Handle sh-dsp and sh3-dsp. + config/sh/tm-sh.h (REGISTER_VIRTUAL_TYPE): sh-dsp / sh3-dsp + don't have floating point registers. + (DSR_REGNUM, A0G_REGNUM, A0_REGNUM, A1G_REGNUM, A1_REGNUM): Define. + (M0_REGNUM, M1_REGNUM, X0_REGNUM, X1_REGNUM, Y0_REGNUM): Likewise. + (Y1_REGNUM, MOD_REGNUM, RS_REGNUM, RE_REGNUM, R0B_REGNUM): Likewise. + +2000-05-15 Eli Zaretskii + + * Makefile.in (gdbtypes.o, varobj.o): Depend on wrapper.h. + + * wrapper.h (gdb_value_subscript, wrap_value_subscript): Add + prototypes. + +Mon May 15 15:31:30 2000 Andrew Cagney + + * valops.c (hand_function_call): Replace #ifdef + SAVE_DUMMY_FRAME_TOS with if SAVE_DUMMY_FRAME_TOS_P. + + * gdbarch.sh (SAVE_DUMMY_FRAME_TOS): Add. + * gdbarch.h, gdbarch.c: Regenerate. + +Mon May 15 16:05:46 2000 Andrew Cagney + + * ax.h (make_cleanup_free_agent_expr): Add declaration. + * ax-general.c (do_free_agent_expr_cleanup): + (make_cleanup_free_agent_expr): New functions. + + * tracepoint.c (validate_actionline, encode_actions), ax-gdb.c + (expr_to_agent, gen_trace_for_expr, agent_command): Replace calls + to make_cleanup. + +Mon May 15 14:06:23 2000 Andrew Cagney + + * breakpoint.h (make_cleanup_delete_breakpoint, + make_exec_cleanup_delete_breakpoint): Declare. + * breakpoint.c (make_cleanup_delete_breakpoint, + make_exec_cleanup_delete_breakpoint, + do_delete_breakpoint_cleanup): New fuctions. + + * infcmd.c (finish_command), hppa-tdep.c (hppa_pop_frame), + breakpoint.c (until_break_command, until_break_command): Replace + call to make_cleanup / make_exec_cleanup. + +Mon May 15 13:25:57 2000 Andrew Cagney + + * defs.h (core_addr_greaterthan, core_addr_lessthan), utils.c + (core_addr_greaterthan, core_addr_lessthan): Move from here. + * arch-utils.h (core_addr_greaterthan, core_addr_lessthan), + arch-utils.c (core_addr_greaterthan, core_addr_lessthan): To here. + +Mon May 15 12:07:55 2000 Andrew Cagney + + * printcmd.c (print_frame_args), stack.c (print_frame), command.c + (do_setshow_command), breakpoint.c (print_it_typical, mention): + Use make_cleanup_ui_out_stream_delete. + +Mon May 15 11:23:23 2000 Andrew Cagney + + * proc-events.c (init_syscall_table): Delete stray ``;''. + * ui-out.c (ui_out_set_flags, ui_out_clear_flags): Return old + value. + * mdebugread.c (START_PSYMTAB): Add paren to avoid x=x=x. + +2000-05-12 Michael Snyder + + * config/i386/tm-i386sol2.h (COERCE_FLOAT_TO_DOUBLE): Define. + +2000-05-12 Kevin Buettner + + * dwarf2read.c (dwarf2_const_value_data): Fix typo in sign + extension code. + +Fri May 12 20:38:55 2000 Andrew Cagney + + * TODO: Mention weak symbol problem. Mention UnixWare thread + problem. + +Fri May 12 14:12:17 2000 Andrew Cagney + + * README: Update section on kernel debugging. + +Fri May 12 19:13:15 2000 Andrew Cagney + + * mips-tdep.c (mips_get_saved_register): New function. Handle + case of 32 ABI saving 32 bit registers on stack when target has 64 + bit ISA. + (mips_gdbarch_init): Update. + +Fri May 12 14:46:52 2000 Andrew Cagney + + * mips-tdep.c (MIPS_EABI): Fix typo. Test for MIPS_ABI_EABI64. + +Thu May 11 21:52:55 2000 Andrew Cagney + + * configure.in (WERROR_CFLAGS): Check that GCC accepts a -W + options before using them. Report result. + * configure: Regenerate. + +2000-05-11 Elena Zannoni + + * coffread.c (coff_symtab_read): In the case of C_THUMBEXT | + C_THUMBEXTFUNC | C_EXT, sec will never ever be the index for + .rodata, because cs_to_section doesn't deal with .rodata. Fix test + accordingly. + +Thu May 11 21:33:59 2000 Andrew Cagney + + * gdbarch.sh (gdbarch_dump): Print the value of GDB_MULTI_ARCH. + Always check that a macro is defined before printing it. + * gdbarch.c: Re-generate. + +Thu May 11 17:22:36 2000 Andrew Cagney + + * README: Update for GDB 5.0. + +Thu May 11 13:24:52 2000 Andrew Cagney + + * mips-tdep.c (MIPS_DEFAULT_STACK_ARGSIZE): Fix typo. + + * config/mips/tm-irix5.h (GDB_MULTI_ARCH): Add + definition. Disable. Document known problems. + (MIPS_DEFAULT_ABI): Define. + + * mips-tdep.c (enum mips_abi): Define. + (struct gdbarch_tdep): Replace mips_eabi with mips_abi. + (MIPS_EABI): Update. + (mips_gdbarch_init): Add preliminary support for IRIX N32 ABI. + Determine ABI from either ELF_FLAGS or MIPS_DEFAULT_ABI. When + looking for a matching architecture require a matching MIPS_ABI. + (mips_gdbarch_init): Cleanup arch_debug information. + +2000-05-10 Elena Zannoni + + * solib.c (symbol_add_stub): Remember the index and the name of + the section with the lowest address. Use this data (instead of + data from .text) to pass info into symbol_file_add. + + * elfread.c (record_minimal_symbol_and_info): Use the section + where the symbol lives to get the index, instead of guessing. + +2000-05-10 Michael Snyder + + Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). + * sparc-tdep.c: include arch-utils.h. + (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, + DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. + (GDB_TARGET_IS_SPARC64): make into a runtime test. + (struct frame_extra_info): Define, use instead of the macro. + (Many places): Use alloca instead of statically allocated buffers + that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. + (sparc_extract_struct_value_address): Accept a pointer arg instead + of an array sized by REGISTER_BYTES. + (examine_prologue): Accept a pointer to an array of CORE_ADDR, + instead of the defunct struct frame_saved_regs. Recognize new + Sparc64 store instructions as part of the prologue. Ignore the + destination of a frame store when parsing the prologue (so long + as it's on the stack). + (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. + (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR + instead of the defunct struct frame_saved_regs. + (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to + supply_register. Provide 4-byte offset to compensate for diff + between size of the prgreg_t elements on a 64-bit host and size + of the registers for a 32-bit target. Fill all inaccessible regs + with zero so they won't keep being requested again and again. + (fill_gregset): Handle 32/64 size difference between registers + and prgreg_t. Handle as many new 64-bit regs as possible. + (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. + (sparc_push_arguments): Rename to sparc32_push_arguments. + Copy arguments into registers as well as onto stack, so that the + CALL_DUMMY (code pushed onto the target stack) is not required. + (sparc_extract_return_value): Rename to sparc32_extract_return_value. + (sparc_store_return_value): Use memset instead of bzero. + Use write_register_gen instead of write_register_bytes. + (sparclet_store_return_value): New function. + (_initialize_sparc_tdep): Call register_gdbarch_init to activate + the gdbarch multi-architecture system. + (sp64_push_arguments): Rename to sparc64_push_arguments. + Extend to store arguments in general registers as well as on stack. + (sparc64_extract_return_value): Rename to sp64_extract_return_value. + Use as a private function, to be called by the new external function + sparc64_extract_return_value. + (sparclet_extract_return_value): New function. + (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, + sparc64_register_name, sparc_print_extra_frame_info, + sparclite_register_name, sparclet_register_name, + sparc_push_return_address, sparc64_use_struct_convention, + sparc32_store_struct_return, sparc64_store_struct_return, + sparc32_register_virtual_type, sparc64_register_virtual_type, + sparc32_register_size, sparc64_register_size, + sparc32_register_byte, sparc64_register_byte, + sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, + sparc_convert_to_raw, sparc_frame_init_saved_regs, + sparc_frame_address, sparc_gdbarch_fix_call_dummy, + sparc_coerce_float_to_double, sparc_call_dummy_address, + sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, + sparc_return_value_on_stack): New functions supporting multi-arch. + (sparc_gdbarch_init): New function; initialize multi-arch. + (struct gdbarch_tdep): Define, use for private multi-arch data. + * config/sparc/tm-sparc.h: Move definitions around, enclose with + #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate + definitions. Add enums for register names, to help debugging gdb. + This header file must work for non-multi-arch and for multi-arch. + * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add + AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. + Define GDB_MULTI_ARCH. + * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. + Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). + * config/sparc/tm-sparclite.h: Ditto. + * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. + * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to + avoid using deprecated REGISTER_NAMES macro. + * Makefile.in: Let sparc-tdep.c depend on arch-utils.h. + +2000-05-08 Michael Snyder + + * gdbarch.sh: Add FP0_REGNUM to list of multi-arched register numbers. + * gdbarch.c, gdbarch.h: Regenerate. + * core-regset.c: Change FP0_REGNUM to a runtime test. + * procfs.c: Ditto. + * sun3-nat.c: Ditto. + * sparc-tdep.c: Ditto. + + * i386mach-nat.c: Remove unnecessary ifdef for FP0_REGNUM. + * ptx4-nat.c: Ditto. + + * sol-thread.c (sol_thread_create_inferior): only add the thread + to the thread list if it is not already in there. + (prototypes for thread_db func ptrs): pretty up formatting. + +2000-05-08 Eli Zaretskii + + * config/djgpp/djconfig.sh: Use more warning switches. + + * config/djgpp/fnchange.lst: Replace the leading gdb-0222 with the + @V@ placebo. djunpack.bat changed accordingly. + +Mon May 8 11:19:47 2000 Andrew Cagney + + * mips-tdep.c (size_auto, size_32, size_64, size_enums): Rename + saved_gpreg_size_auto, saved_gpreg_size_32, saved_gpreg_size_64 + and saved_gpreg_size_enums. + (mips_stack_argsize): Update. Cleanup. + + * mips-tdep.c (STACK_ARGSIZE): Delete macro. Replaced by + MIPS_STACK_ARGSIZE. + (MIPS_NABI32): Delete macro. Replaced by + MIPS_REGS_HAVE_STACK_HOME_P. + (mips_push_arguments): Update. + (mips_push_arguments): Replace check for MIPS_EABI or MIPS_NABI32 + with test for MIPS_REGS_HAVE_STACK_HOME_P. + (MIPS_REGS_HAVE_STACK_HOME_P): Define. Provide non- multi-arch + default. + (struct gdbarch_tdep): Add mips_regs_have_stack_home_p and + mips_default_stack_argsize. + (MIPS_STACK_ARGSIZE): Define as mips_stack_argsize. + (mips_stack_argsize_string): New static variable. + (mips_stack_argsize): New function, handle default case. + (__initialize_mips_tdep): Add command ``set mips stack-arg-size'' + implemented as an enum using size_auto et.al. + (mips_gdbarch_init): Initialize mips_default_stack_argsize and + mips_regs_have_stack_home_p. + + * config/mips/tm-irix5.h (MIPS_DEFAULT_SAVED_REGSIZE): Define as 8 + for n32. + (MIPS_REGS_HAVE_STACK_HOME_P): Define as 0 for n32. + +Mon May 8 00:49:32 2000 Andrew Cagney + + * procfs.c (PROCFS_TRACE): Delete definition. + * proc-utils.h (PROCFS_NOTE, PROC_PRETTYFPRINT_STATUS): Always + define. + +2000-05-05 Michael Snyder + + * procfs.c: Cleanup of procfs tracing. Move defines and + prototypes to proc-utils.h + * proc-utils.h: Define tracing macros. Declare trace functions. + * proc-api.c: Make procfs tracing a runtime option. + (prepare_to_trace): New function, abstracted out of several + places. Open a trace file if one is required. + (ioctl_with_trace, write_with_trace, open_with_trace, + close_with_trace, wait_with_trace, lseek_with_trace): + Report errno if an error occurs in a system call. + (write_with_trace): Make 2nd arg void *, to agree with write. + +2000-05-05 Elena Zannoni + + * elfread.c (elf_symtab_read): The calculation of 'offset' + must be done for each symbol, not just once. The index + used must be the index of the section where 'sym' resides, + not .text. + +2000-05-05 Michael Snyder + + * procfs.c (many functions): change int cmd; to long cmd; + Solaris /proc API calls this parameter a long, and requires it + for 64-bit hosts (where sizeof(long) != sizeof(int)). UnixWare + calls it an int, but on existing UnixWare hosts, int and long + are the same size. So long it must be. If a future UnixWare + version has problems with this, we'll have to use autoconf. + * proc-api.c (write_with_trace): use long instead of int. + +2000-05-04 Mark Kettenis + + * i386-linux-nat.c: Define PT_READ_U and PT_WRITE_U if they're not + already defined. + +2000-05-01 Mark Kettenis + + * infrun.c (handle_inferior_event): Add missing call to keep_going + and missing return when handling an ordinary signal from the + inferior. + +2000-05-04 Elena Zannoni + + * objfiles.h (SECT_OFF_DATA, SECT_OFF_TEXT, SECT_OFF_BSS, + SECT_OFF_RODATA): Define as functions of OBJFILE. Add + sect_index_text, sect_index_data, sect_index_rodata, + sect_index_bss to objfile structure. + * gdb-stabs.h (SECT_OFF_DATA, SECT_OFF_TEXT, SECT_OFF_BSS, + SECT_OFF_RODATA): Remove. + * objfiles.c (allocate_objfile): Initialize + sect_index_{text,data,bss,rodata} to -1, for error detection. + + * symfile.c (default_symfile_offsets): Initialize + sect_index_{text,data,bss,rodata} from bfd information. + * xcoffread.c (xcoff_symfile_offsets): Ditto. + * somread.c (som_symfile_offsets): Initialize + sect_index_{text,data,bss,rodata}. + + * coffread.c, dbxread.c, elfread.c, hp-psymtab-read.c, + hp-symtab-read.c, hpread.c, mdebugread.c, minsyms.c, + mipsread.c, objfiles.c, os9kread.c, pa64solib.c, partial-stab.h, + remote-os9k.c, remote-vx.c, remote.c, rs6000-nat.c, somsolib.c, + stabsread.c, symfile.c, xcoffread.c: + Update use of SECT_OFF_{TEXT,DATA,BSS,RODATA} to depend on the + current objfile. + + * xcoffread.c: Add new field objfile to find_targ_sec_arg. + +Thu May 4 20:54:00 2000 Andrew Cagney + + * config/mips/tm-mipsv4.h (Dest_Reg), config/mips/tm-irix5.h + (MIPS_NUM_ARG_REGS, Dest_Reg), config/mips/tm-mips.h + (MIPS_NUM_ARG_REGS), config/mips/tm-mips.h (MIPS_NUM_FP_ARG_REGS): + Delete unused macros. + +2000-05-03 Michael Snyder + + * solib.c (elf_locate_base, info_sharedlibrary_command): + Look at the bfd to determine if it is elf32 or elf64, rather + than using an ifdef. This makes it runtime teststable and + multi-arch. + +2000-05-01 Mark Kettenis + + * infrun.c (handle_inferior_event): When doing a "next", and + stepping out of a signal handler into its calling trampoline + ignore the value of step_frame_address. + (step_over_function): Only modify step_resume_breakpoint->frame if + the value of step_frame_address is non-zero. + +2000-05-03 Michael Snyder + + * monitor.c (monitor_fetch_register): MAX_REGISTER_RAW_SIZE + is not static in the MULTI_ARCH world, so don't use it in a + static array declaration. + +2000-05-03 Elena Zannoni + + * symtab.c (in_prologue): From Jim Blandy. Rewrite, more + intelligently, making sure we use the information from the + symbol tables fully. + +2000-05-02 H.J. Lu + + * ia64-tdep.c (ia64_gdbarch_init): Reference to ELFOSABI_NONE + instead of ELFOSABI_SYSV. + +Tue May 2 19:07:20 2000 Andrew Cagney + + * gdbarch.sh (NPC_REGNUM, NNPC_REGNUM): Add. + * gdbarch.h, gdbarch.c: Re-generate. + + * gdbserver/remote-utils.c (prepare_resume_reply): Change #ifdef + NPC_REGNUM to run-time test. + * findvar.c (generic_target_write_pc): Change #ifdef NPC_REGNUM + and NNPC_REGNUM to run-time test. + * procfs.c (procfs_fetch_registers): Change #ifdef NPC_REGNUM to + run-time test. + (procfs_store_registers): Ditto. + +Tue May 2 18:48:57 2000 Andrew Cagney + + * gdbarch.sh: Provide non- multi-arch defaults by direct + definition in "gdbarch.h" instead of going through "gdbarch.c". + * gdbarch.h, gdbarch.c: Re-generate. + * defs.h: When non- multi-arch, include "arch-utils.h" so that + legacy definitions are globally visible. + +Tue May 2 16:32:06 2000 Andrew Cagney + + * MAINTAINERS: Add Syd Polk to gdbtk maintainers. + (symtabs): Add Elena to symtabs maintainers list. + (Blanket Write Privs): Add Jim Blandy. + +2000-05-01 Stan Shebs + + Remove obsolete Gould configuration: + * configure.host, configure.tgt: Remove Gould configs. + * Makefile.in: Remove Gould-related actions. + * gould-xdep.c, gould-tdep.c, config/gould/*: Remove files. + * NEWS: Mention removal. + +Mon May 1 15:37:58 2000 Andrew Cagney + + From 2000-04-28 Andreas Jaeger : + * defs.h: Properly check for GCC version number. + +2000-04-30 Mark Kettenis + + Fix single-stepping out of signal trampolines. + * config/i386/nm-linux.h (CHILD_RESUME): Define. + * i386-linux-nat.c (child_resume): New function. + +Fri Apr 28 16:22:34 2000 Andrew Cagney + + * blockframe.c (frameless_look_for_prologue): Use + PROLOG_FRAMELESS_P instead of SKIP_PROLOGUE_FRAMELESS_P. + * gdbarch.sh (PROLOG_FRAMELESS_P): Define. + * gdbarch.h, gdbarch.c: Re-generate. + * arch-utils.h, arch-utils.c (generic_prologue_frameless_p): New + function. + +Fri Apr 28 15:31:10 2000 Andrew Cagney + + From "Serge Nikulin" : + * m68k-tdep.c (delta68_in_sigtramp): Return 0 when the function + name is unknow. + +2000-04-27 Michael Snyder + + * gdbarch.sh (d10v_daddr_p, d10v_iaddr_p, d10v_convert_daddr_to_raw, + d10v_convert_iaddr_to_raw): make these multi-arch functions optional. + * gdbarch.c, gdbarch.h: regenerate + +Fri Apr 28 12:21:28 2000 Andrew Cagney + + From Tim Mooney : + * target.c (do_monitor_command): Cast tcomplain to correct + function type in comparison. + +Fri Apr 28 11:43:05 2000 Andrew Cagney + + From 2000-04-25 Guy Harris : + * config/alpha/alpha-osf3.mh (XDEPFILES): Add ser-tcp.o and + ser-pipe.o + +2000-04-27 Michael Snyder + + * jv-valprint.c (java_val_print): Add arg declaration, + fix compiler warning. + * corelow.c (core_open): Call set_gdbarch_from_file so that + gdbarch becomes aware of the architecture encoded in the + corefile. + * findvar.c (write_register_gen): Export this useful interface. + * value.h (write_register_gen): Declare. + +2000-04-27 Elena Zannoni + + * cxux-nat.c (add_shared_symbol_files): Don't treat .text section + as special in the section_addr_info structure. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * irix5-nat.c (symbol_add_stub): Ditto. + +Thu Apr 27 14:07:16 2000 Andrew Cagney + + * mips-tdep.c, d10v-tdep.c: Include "arch-utils.h". + +Thu Apr 27 10:06:42 2000 Andrew Cagney + + * TODO: Document IRIX X ARM cross compile problems. + +2000-04-26 Michael Snyder + + * utils.c (internal_verror): Call target_terminal_ours. + * wrapper.h: Fix minor comment typo. + * proc-api.c (write_with_trace): Change 'arg' from long to int. + Treat 'off_t' and 'size_t' as unsigned long in printfs. + (lseek_with_trace): Treat 'off_t' as unsigned long in printf. + * procfs.c (comments): Eliminate "???" in comments, which GCC + wants to interpret as a trigraph. (fill_gregset, supply_gregset, + fill_fpregset, supply_fpregset): Declare. + (procfs_wait): Sysargs is a long, change printf format to match. + (test-mapping, mapping_test, test_mapping_cmd) Remove (test only). + +2000-04-26 Kevin Buettner + + * config/djgpp/fnchange.lst (ia64-linux-nat.c): Map to + ia64linux-nat.c. + +Wed Apr 26 13:50:35 2000 Philippe De Muyter + + * ax-gdb.c (agent_command): Remove now useless cast of + `free_current_contents' when passed to `make_cleanup'. + * coffread.c (coff_symfile_read): Ditto. + * dwarf2read.c (dwarf2_add_member_fn, read_array_type): Ditto. + (dwarf_decode_lines): Ditto. + * eval.c (parse_and_eval_address, parse_and_eval_address_1): Ditto. + (parse_and_eval, parse_to_comma_and_eval): Ditto. + * parse.c (parse_exp_1): Ditto. + * printcmd.c (print_command_1, output_command, set_command): Ditto. + (x_command, print_frame_args, printf_command): Ditto. + * top.c (execute_control_command): Ditto. + * tracepoint.c (validate_actionline): Ditto. + * typeprint.c (whatis_exp, ptype_command): Ditto. + (maintenance_print_type): Ditto. + +2000-04-26 Kevin Buettner + + * Makefile.in (ALLDEPFILES): Add ia64-linux-tdep.c. + (ia64-linux-tdep.o): Add dependencies. + (ia64-tdep.o): Add dependency for arch-utils.h. + * ia64-linux-tdep.c, ia64-tdep.c (arch-utils.h): Include. + +2000-04-25 Michael Snyder + + * blockframe.c: Fix a minor typo in a comment. + +2000-04-25 Kevin Buettner + + * ia64-tdep.c (examine_prologue): Recognize store instructions; + those whose source operands are input registers which haven't + been seen before are considered to be part of the prologue. + +Tue Apr 25 13:51:58 2000 glen mccready + + * rs6000-nat.c (xcoff_relocate_symtam): Recover from the wrong + patch being applied `Fri Apr 7 13:44:38 2000'. + +2000-04-24 Kevin Buettner + + * ia64-linux-tdep.c: New file. + * ia64-tdep.c (elf-bfd.h): Include. + (ia64_linux_sigcontext_register_address): New extern declaration. + (struct gdbarch_tdep): New struct. + (SIGCONTEXT_REGISTER_ADDRESS): New define. + (read_sigcontext_register): New static function. + (extract_bit_field, replace_bit_field, slotN_contents, + replace_slotN_contents): Made static. + (ia64_frame_chain, ia64_frame_saved_pc, ia64_init_extra_frame_info): + Added new code for signal handler frames and call dummy frames. + (ia64_frame_init_saved_regs): Handle signal handler frames. + (ia64_find_saved_register): Removed. + (ia64_get_saved_register): Handle call dummy frames; reorganized + to call generic_get_saved_register() to find registers saved + in previous frames. + (process_note_abi_tag_sections): New static function. + (ia64_gdbarch_init): Attempt to determine the ABI/OS of the + executable. Based upon this information, set target dependent + field sigcontext_register_address appropriately. Also set + FRAME_CHAIN_VALID to be generic_func_frame_chain_valid. + * config/ia64/linux.mt (TDEPFILES): Add ia64-linux-tdep.o. + * config/ia64/tm-linux.h (IN_SIGTRAMP): Define. + (ia64_linux_in_sigtramp): New declaration. + +2000-04-23 Eli Zaretskii + + * TODO, NEWS: Update due to inclusion of gdbmi.texinfo in the GDB + manual. + +2000-04-23 Eli Zaretskii + + * config/djgpp/README: Explain how to unpack using djunpack.bat. + +Fri Apr 21 15:23:13 2000 Andrew Cagney + + * stabsread.c (REG_STRUCT_HAS_ADDR): Delete default. + (define_symbol): Check REG_STRUCT_HAS_ADDR_P before using + REG_STRUCT_HAS_ADDR. + (define_symbol): Ditto. + + * valops.c (hand_function_call): Replace #ifdef + REG_STRUCT_HAS_ADDR with if REG_STRUCT_HAS_ADDR_P. Re-indent + affected code. + + * gdbarch.sh (REG_STRUCT_HAS_ADDR): Add along with the predicate + function REG_STRUCT_HAS_ADDR_P. + * gdbarch.h, gdbarch.c: Re-generate. + +2000-04-21 Elena Zannoni + + * gdb-stabs.h (SECT_OFF_MAX): Increase to 40. + +2000-04-21 Elena Zannoni + + * win32-nat.c (handle_load_dll): Don't treat .text as a special + section anymore. + * somread.c (som_symfile_offsets): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + +Fri Apr 21 16:14:38 2000 Andrew Cagney + + * MAINTAINERS: Make Jimmy Guo TUI maintainer. + +Fri Apr 21 14:37:40 2000 Andrew Cagney + + * command.h (help_all): Delete declaration. + * command.c (help_all): Add declaration. Convert function + argument list to ISO-C. + +Thu Apr 20 18:15:08 2000 Andrew Cagney + + * d10v-tdep.c (d10v_gdbarch_init): Initialize stack_align. + (d10v_stack_align): Make static. + * config/d10v/tm-d10v.h (STACK_ALIGN): Delete. + +Thu Apr 20 14:35:46 2000 Andrew Cagney + + * valops.c (hand_function_call): Replace #ifdef STACK_ALIGN with + run-time test for STACK_ALIGN_P. + * gdbarch.sh: Add support for function and variable predicates. + (STACK_ALIGN): Add. Implement with predicate - STACK_ALIGN_P. + * gdbarch.h, gdbarch.c: Re-generate. + +Thu Apr 20 17:39:11 2000 Andrew Cagney + + * defs.h, utils.c (free_current_contents): Change parameter to + void*. + + From Philippe De Muyter : + * printcmd.c (print_address_symbolic): Call `make_cleanup' with + `(free_current_contents, &x)', not `(free, x)'. + * utils.c (free_current_contents): Do not `free (NULL)'. + + * printcmd.c (print_address_symbolic): Cleanup after a failed + call to build_address_symbolic. + +2000-04-20 Christopher Faylor + + * wince-stub.c (FREE): New macro. + (mempool): Just free any buffer prior to reuse. Don't bother with + realloc. + (flag_single_step): New function. + (skip_message): Detect "helpful" Windows CE messages and skip sending + them to the host. + (wait_for_debug_event): Use skip_message to avoid sending debug + messages to the host. + (dispatch): Prelimary implementation of single step detection. + * wince.c: Rework SH single stepping code to be more consistent with + other wince targets. + (handle_output_debug_string): Allow first chance exceptions to come + through since they seem to be all that we get on some versions of + Windows CE. + (check_for_step): New function, conditionally compiled based on target. + (regptr): Delete obsolete function. + (handle_exception): Detect illegal instructions. + (get_child_debug_event): Return success only if event code matches + target. + (child_create_inferior): Reflect change to get_child_debug_event + arguments. + +2000-04-20 Christopher Faylor + + * win32-nat.c (thread_rec): Be more defensive about suspending already + suspended threads. + (safe_symbol_file_add_stub): New function. + (safe_symbole_file_add_cleanup): New function. + (safe_symbol_file_add): New function. + (handle_load_dll): Use wrapper to add DLL symbol information to avoid + bogus errors from non-stabs DLLs. + (handle_exception): Add work around for detection of first exception + breakpoint which does not seem to occur on W2K. Detect more "signals" + that can be effectively passed to the debuggee. Reorganize to eliminate + continue_status global. + (child_continue): Reorganize to eliminate continue_status global. + (child_wait): Ditto. + (child_resume): Ditto. + (get_child_debug_event): Ditto. Recognize when an a breakpoint + exception should be ignored. Change method for signalling when an + important event has occured to the caller. + (child_create_inferior): Use new method for noticing when + get_child_debug_event has found something interesting. + +Fri Apr 7 13:44:38 2000 glen mccready + + * rs6000-nat.c (xcoff_relocate_symtab): Grow buffer if ptrace() + fails due to lack of space. + +Fri Mar 24 12:10:38 2000 glen mccready + + * command.c, command.h (help_all): Add functionality to display + a complete listing of available commands. + +2000-04-20 Scott Bambrough + + * arm-linux-nat.c (PIDGET, TIDGET): New. + (get_thread_id, GET_THREAD_ID): New. + (fetch_nwfpe_register, store_nwfpe_register): New. + (fetch_register, store_register): New. + (fetch_fpregister, store_fpregister): New. + (fill_gregset, supply_gregset): New. + (fill_fpregset, supply_fpregset): New. + (fetch_fpregs): Modified to use thread id's. + (store_fpregs): Modified to use thread id's and + fetch_nwfpe_register. + (fetch_regs): Modified to use thread id's. + (store_regs): Modified to use thread id's. + (fetch_inferior_registers): Modified to handle single register + fetches. + (store_inferior_registers): Modified to handle single register + stores. + (arm_linux_register_u_addr): Removed. + + * configure.tgt: Added gdbserver to configdirs for arm*-*-linux*. + + * config/arm/linux.mh + (NATDEPFILES): Removed core-aout.o. Added core-regset.o. + (LOADLIBES): Define. + + * config/arm/nm-linux.h: Include config/nm-linux.h. + (ATTACH_DETACH): Removed. Defined in config/nm-linux.h. + (REGISTER_U_ADDR): Removed. + (SVR4_SHARED_LIBS): Removed. Defined in config/nm-linux.h. + (#include "solib.h"): Removed. Included via config/nm-linux.h. + +Thu Apr 20 18:54:15 2000 Andrew Cagney + + From Daniel Berlin and Tim Mooney + : + * infrun.c (follow_fork_mode_kind_names): NULL terminate + array. Re-indent. + (scheduler_enums): Ditto. + +Mon Apr 17 13:37:10 2000 Andrew Cagney + + * gdbarch.sh: Make multi-arch variable defaults, defaults for non- + multi-arch targets. + (TARGET_BFD_VMA_BIT, IEEE_FLOAT, CALL_DUMMY_WORDS, + SIZEOF_CALL_DUMMY_WORDS): Update. + + * inferior.h (CALL_DUMMY_WORDS, SIZEOF_CALL_DUMMY_WORDS): Default + provided by gdbarch. + (CALL_DUMMY_P): Add FIXME. gdbarch should provide default. + + * valprint.c (IEEE_FLOAT): Default provided by gdbarch. + +2000-04-19 Jim Blandy + + Bring RETURN_VALUE_ON_STACK under gdbarch's control. + * gdbarch.sh (RETURN_VALUE_ON_STACK): New entry. + * gdbarch.c, gdbarch.h: Regenerated. + * arch-utils.c (default_return_value_on_stack): New function. + * arch-utils.h (default_return_value_on_stack): New declaration. + * values.c (RETURN_VALUE_ON_STACK): Delete default definition. + + * i386v-nat.c (i386_insert_nonaligned_watchpoint): Use a + two-dimensional array, instead of faking it with explicit index + arithmetic. + + * minsyms.c (prim_record_minimal_symbol_and_info): Doc fix. + (Thanks to Guy Harris.) + +2000-04-19 Elena Zannoni + + * xcoffsolib.c (solib_add): Fix call to vmap_symtab(). + +2000-04-19 Peter Schauer + + * TODO: Update. + +Wed Apr 19 19:10:07 2000 Andrew Cagney + + * TODO: Document -Wreturn-type problem. + +2000-03-27 Peter Schauer + + * maint.c (_initialize_maint_cmds): Add `mt i' alias for `mt info'. + +2000-03-27 Peter Schauer + + * infcmd.c (_initialize_infcmd): Add `info r' alias for + `info registers'. + +Wed Apr 19 17:03:07 2000 Andrew Cagney + + From Philippe De Muyter : + * bcache.c (free_bcache): Do not free NULL. + +Wed Apr 19 16:37:47 2000 Andrew Cagney + + * TODO: Cleanup. + * NEWS: Update GDB version. Duplicate paragraph explaining + obsolete. + +Wed Apr 19 13:06:55 2000 Andrew Cagney + + * Makefile.in (distclean): Delete tui/Makefile. + * TODO: Add deletion of tui/Makefile.in to list. + +2000-04-17 Elena Zannoni + + * symfile.h (struct section_addr_info ): Remove fields for special + treatment of .text, .data and .bss sections. + + * solib.c (symbol_add_stub): The special field text_addr is not + available anymore. Search for the .text field the hard way. + + * symfile.c (build_section_addr_info_from_section_table): Don't + fill in {text, data, bss}_addr any more. + (default_symfile_offsets): Don't use {text, data, bss}_addr fields + to fill in section_offsets for objfile. + (syms_from_objfile): Don't deal with {text, data, bss}_addr as a + special case anymore. + (add_symbol_file_command): Ditto. + +2000-04-17 Elena Zannoni + + symfile.c: (symbol_file_command): Remove support for rombug, to + simplify code. + +2000-04-17 Elena Zannoni + + * symfile.c (add_symbol_file_command): Rewrite the arguments + processing part. Simplify syntax of command. Remove support for + rombug. + (_initialize_symfile): Update help message for add-symbol-file + command. + +Mon Apr 17 15:53:38 2000 Andrew Cagney + + * gdbarch.sh (IEEE_FLOAT): Only dump when defined. + * gdbarch.h, gdbarch.c: Re-generate. + +Mon Apr 17 11:26:01 2000 Andrew Cagney + + * remote.c (REMOTE_TRANSLATE_XFER_ADDRESS), mem-break.c + (MEMORY_INSERT_BREAKPOINT, MEMORY_REMOVE_BREAKPOINT), target.h + (BREAKPOINT_FROM_PC), valops.c (COERCE_FLOAT_TO_DOUBLE), + gdbarch.sh (D10V_MAKE_DADDR, D10V_MAKE_IADDR, + FRAMELESS_FUNCTION_INVOCATION, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, + REGISTER_NAME), findvar.c (POINTER_TO_ADDRESS, + ADDRESS_TO_POINTER): Delete default definition. Handled by + gdbarch. + + * gdbarch.sh: Make multi-arch defaults, defaults for non- + multi-arch targets. + (REGISTER_NAME, COERCE_FLOAT_TO_DOUBLE, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, + D10V_MAKE_DADDR, D10V_MAKE_IADDR, BREAKPOINT_FROM_PC, + MEMORY_INSERT_BREAKPOINT, MEMORY_REMOVE_BREAKPOINT, + REMOTE_TRANSLATE_XFER_ADDRESS, FRAMELESS_FUNCTION_INVOCATION): + Provide default/legacy implementation. + (REGISTER_NAMES, CALL_DUMMY): Allow legacy definition. + * gdbarch.h, gdbarch.c: Re-generate. + +2000-04-16 Jim Blandy + + * findvar.c (store_typed_address, extract_typed_address): Fix + function names in error messages. + +2000-04-16 Eli Zaretskii + + * config/djgpp/config.sed: Fix the lines which edit clean: and + uninstall-info: targets. + +2000-04-14 Jim Blandy + + Bring IEEE_FLOAT under gdbarch's control. + * gdbarch.sh (IEEE_FLOAT): New entry. + * gdbarch.c, gdbarch.h: Regenerated. + * valprint.c (IEEE_FLOAT): Provide a default #definition for this. + (print_floating): Use IEEE_FLOAT as if it were an expression; use + the code specific to IEEE-format numbers whenever the value of + IEEE_FLOAT is non-zero. + * config/a29k/tm-a29k.h, config/alpha/tm-alpha.h, + config/arc/tm-arc.h, config/arm/tm-arm.h, config/fr30/tm-fr30.h, + config/h8300/tm-h8300.h, config/i386/tm-i386.h, + config/i960/tm-i960.h, config/m88k/tm-m88k.h, + config/mips/tm-mips.h, config/pa/tm-hppa.h, + config/sparc/tm-sparc.h (IEEE_FLOAT): For all ports that #define + IEEE_FLOAT, make sure they give it the value (1). + + Provide the hooks needed to support architectures on which + pointers are not always simple byte addresses. + + * gdbarch.sh (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Two new + functions which architectures can redefine, defaulting to + generic_pointer_to_address and generic_address_to_pointer. + * findvar.c (extract_typed_address, store_typed_address, + generic_pointer_to_address, generic_address_to_pointer): New + functions. + (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Provide default + definitions. + (extract_address, store_address): Doc fixes. + * values.c (value_as_pointer): Doc fix. + (value_from_pointer): New function. + * defs.h (extract_typed_address, store_typed_address): New + declarations. + * inferior.h (generic_address_to_pointer, + generic_pointer_to_address): New declarations. + * value.h (value_from_pointer): New declaration. + + The following changes are all of the general form "Use these + functions instead of these other functions." In each case, the + change is because the new calls provide enough information to do + the appropriate address / pointer conversions, where the old calls + did not, or because the new functions are more appropriately named + for the operation being performed. + + * ax-gdb.c (const_var_ref): Use value_from_pointer, not + value_from_longest. + * blockframe.c (generic_push_dummy_frame): Use read_pc and + read_sp, not read_register. + * c-valprint.c (c_val_print): Use extract_typed_address instead of + extract_address to extract vtable entries and references. + * cp-valprint.c (cp_print_value_fields): Use value_from_pointer + instead of value_from_longest to extract the vtable's address. + * eval.c (evaluate_subexp_standard): Use value_from_pointer + instead of value_from_longest to compute `this', and for doing + pointer-to-member dereferencing. + * findvar.c (read_register): Use extract_unsigned_integer, not + extract_address. + (read_var_value): Use store_typed_address instead of store_address + for building label values. + (locate_var_value): Use value_from_pointer instead of + value_from_longest. + * hppa-tdep.c (find_stub_with_shl_get): Use value_from_pointer, + instead of value_from_longest, to build arguments to __d_shl_get. + * printcmd.c (set_next_address): Use value_from_pointer, not + value_from_longest. + (x_command): Use value_from_pointer, not value_from_longest. + * tracepoint.c (set_traceframe_context): Use value_from_pointer, + not value_from_longest. + * valarith.c (value_add, value_sub): Use value_from_pointer, not + value_from_longest. + * valops.c (find_function_in_inferior, value_coerce_array, + value_coerce_function, value_addr, hand_function_call): Same. + * value.h (COERCE_REF): Use unpack_pointer, not unpack_long. + * values.c (unpack_long): Use extract_typed_address to produce + addresses from pointers and references, not extract_address. + (value_from_longest): Use store_typed_address instead of + store_address to produce pointer and reference values. + +2000-04-13 Mark Kettenis + + * acconfig.h (HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T, HAVE_LWPID_T, + HAVE_PSADDR_T): Add them here instead of in config.in. + + * acconfig.h (PRFPREGSET_T_BROKEN): New define. + * configure.in: Add check for broken prfpregset_t type. + * lin-thread.c (gdb_prfpregset): New typedef, depends on + definition of PRFPREGSET_T_BROKEN. + (ps_lgetfpregs, ps_lsetfpregs, p_td_thr_getfpregs, + p_td_thr_setfpregs, thread_db_fetch_registers, + thread_db_store_registers): Use gdb_prfpregset_t instead of + prfpregset_t. + * config.in: Regenerated. + * configure: Regenerated. + +2000-04-13 DJ Delorie + + * mips-tdep.c (do_fp_register_row): copy the number of bytes + allocated, not the size of the pointer. + +2000-04-13 Peter Schauer + + * config/i386/nm-i386sol2.h (CANNOT_STEP_HW_WATCHPOINTS): Define. + * config/i386/tm-i386sol2.h (HAVE_I387_REGS): Define. + * i386v4-nat.c (supply_fpregset, fill_fpregset): Add code + to handle floating point registers if NUM_FREGS is not zero. + +2000-04-13 Nick Duffek + + * sol-thread.c (init_sol_core_ops): Initialize to_thread_alive + and document to_find_new_threads bug. + +2000-04-13 Eli Zaretskii + + * infrun.c (proceed, normal_stop): Change the error message about + failure to insert breakpoints/watchpoints so that it makes sense + even if ptrace is not used or no other processes can be active. + +Thu Apr 13 13:24:27 2000 Andrew Cagney + + * configure.in: Add --enable-maintainer-mode. + * aclocal.m4, configure: Re-generate. + + * Makefile.in ($(srcdir)/copying.c): Enable dependencies only when + on maintainer-mode. Update copying.c in source directory. + (copying.txt): Delete rule. + (copying.o): Add explict paths to $(srcdir) and explicit make + rule. + +2000-04-12 Kevin Buettner + + * ia64-linux-nat.c (IA64_PSR_DB, IA64_PSR_DD): Define. + (fetch_debug_register, fetch_debug_register_pair, + store_debug_register, store_debug_register_pair, is_power_of_2, + enable_watchpoints_in_psr, ia64_linux_insert_watchpoint, + ia64_linux_remove_watchpoint, ia64_linux_stopped_by_watchpoint): + New functions. + * config/ia64/nm-linux.h (TARGET_HAS_HARDWARE_WATCHPOINTS, + TARGET_CAN_USE_HARDWARE_WATCHPOINT, HAVE_STEPPABLE_WATCHPOINT, + STOPPED_BY_WATCHPOINT, target_insert_watchpoint, + target_remove_watchpoint): Define. + (ia64_linux_stopped_by_watchpoint, ia64_linux_insert_watchpoint, + ia64_linux_remove_watchpoint): Declare. + +2000-04-12 Eli Zaretskii + + * go32-nat.c (go32_insert_hw_breakpoint): When there are no more + hardware breakpoint resources, return EBUSY. + (go32_handle_nonaligned_watchpoint): If the argument WHAT is not + one of the enumerated values, return EINVAL. + +2000-04-12 Eli Zaretskii + + * README: Mention special build instructions for DJGPP. + * NEWS: Update with FP features on x87 platforms, and + DJGPP-related changes. + +2000-04-12 Eli Zaretskii + + * top.c (gdb_completer_file_name_break_characters): New variable. + (line_completion_function): When completing on file names, use + gdb_completer_file_name_break_characters as word break + characters for the readline library. + +2000-04-12 Mark Kettenis + + * i387-tdep.c (print_i387_value): Avoid call to + floatformat_to_doublest if long double type is the same on host + and target. + +2000-04-11 Fernando Nasser + + * wrapper.h: Remove definitions of internal functions. + * wrapper.c: Remove definitions of exported functions (which are + already in wrapper.h) and make static all internal wrap_* functions. + +Mon Apr 10 21:58:36 2000 Andrew Cagney + + * acconfig.h (USE_INCLUDED_REGEX): Add. + * Makefile.in (REGEX_CFLAGS): Delete + * configure.in (REGEX_CFLAGS): Delete. Use AC_DEFINE instead. + * configure, config.in: Re-generate. + +2000-04-10 Philip Blundell + + * arm-linux-nat.c (arm_skip_solib_resolver): Remove and move to + arm-linux-tdep.c. + * arm-linux-tdep.c (arm_skip_solib_resolver): New. + +2000-04-10 Fernando Nasser + + From 2000-04-10 Rodney Brown : + * command.h (enum command_class): Remove trailing "," to placate + AIX xlc. + +Mon Apr 10 20:17:32 2000 Andrew Cagney + + * TODO, NEWS: Update. Mention MI. + +Mon Apr 10 00:21:09 2000 Andrew Cagney + + * gdbarch-utils.h, gdbarch-utils.c: Delete. + * arch-utils.h, arch-utils.c: New files. Avoid 14 character file + name problems. + * Makefile.in: Update. + * gdbarch.c: Update. + +Sun Apr 9 23:42:16 2000 Andrew Cagney + + From 2000-04-07 Jonathan Larmour : + * mips-tdep.c (saved_gpreg_size_enums): Define enum command for + new "set mips saved-gpreg-size" command + (MIPS_SAVED_REGSIZE): Now a function mips_saved_regsize() + (MIPS_DEFAULT_SAVED_REGSIZE): Define for default MIPS_SAVED_REGSIZE, + either from target, or gdb multi-arch + (show_mips_command): New. For "show mips" prefix command + (set_mips_command): New. For "show mips" prefix command + (_initialize_mips_tdep): Add top-level mips prefix command + Add "set mips saved-gpreg-size" command + + * mips-tdep.c (struct gdbarch_tdep): Rename mips_saved_regsize to + mips_default_saved_regsize. + (mips_gdbarch_init): Update. + (MIPS_DEFAULT_SAVED_REGSIZE): Update. + (mips_gdbarch_init): Use MIPS_REGSIZE as the default value for + mips_default_saved_regsize. + +Sun Apr 9 23:27:00 2000 Andrew Cagney + + From 2000-04-07 J.T. Conklin : + * lynx-nat.c (fetch_inferior_registers, store_inferior_registers): + replace calls to target_xfer_memory() with target_read_memory() + and target_write_memory(). + +Sun Apr 9 22:54:29 2000 Andrew Cagney + + * valops.c (value_rtti_type): Compare VALUE_ADDRESS with ``0'' not + NULL. Macro returns a CORE_ADDR. + +2000-04-08 Jim Blandy + + * dwarf2read.c: Revert Andrew Cagney's change of Dec 15, 1997. + Don't include "bfd-elf.h". + (address_significant_size): Delete variable. + (dwarf2_build_psymtabs_hard): Don't set it, or check for + consistency between it and the Dwarf 2 compilation unit header + address size. + (read_address): Don't mask off bits above + address_significant_size. + * Makefile.in (dwarf2read.o): Don't depend on $(elf_bfd_h). + (elf_bfd_h): Remove variable; it's no longer used. + +2000-04-08 Peter Schauer + + * configure.in (NEW_PROC_API): Escape square brackets when testing + for solaris2.[678]. + * configure: Regenerate. + +2000-04-07 Scott Bambrough + + * ChangeLog: Correct date on last entry. + * arm-linux-tdep.c (arm_linux_push_arguments): New function. + * config/arm/tm-linux: Redefined PUSH_ARGUMENTS for Linux. + * config/arm/tm-embed: Fix build warning from redefinition of + LOWEST_PC. + * config/arm/tm-arm.h: Remove TARGET_BYTE_ORDER_SELECTABLE. + * config/arm/tm-wince.h: Remove TARGET_BYTE_ORDER_SELECTABLE and + TARGET_BYTE_ORDER. Add TARGET_BYTE_ORDER_SELECTABLE_P to + override default in tm-arm.h. Use default target byte order + from tm-arm.h. + +2000-04-07 Scott Bambrough + + * Makefile.in: Add dependency information for arm-linux-tdep.c. + * config/djgpp/fnchange.lst: Add arm-linux-tdep.c, arm-linux-nat.c. + +2000-04-07 Peter Schauer + + * sol-thread.c (gdb_ps_addr_t): New typedef, depends on definition + of PROC_SERVICE_IS_OLD. + (ps_pglobal_lookup, ps_pdread, ps_pdwrite, ps_ptread, ps_ptwrite, + rw_common): Change argument type from psaddr_t to gdb_ps_addr_t. + +Fri Apr 7 17:18:42 2000 Andrew Cagney + + * Makefile.in (CFLAGS): Set using configure. + + * configure.in (WARN_CFLAGS): Enable by default when GCC. + * configure: Re-generate. + +Fri Apr 7 13:33:43 2000 Andrew Cagney + + From 2000-03-27 Peter Schauer : + * procfs.c (init_procfs_ops): Set procfs_ops.to_has_memory and + procfs_ops.to_has_all_memory to 1. + + * TODO: Update + +2000-04-06 Nick Duffek + + * configure.in (_MSE_INT_H): Define on Solaris 7. + (NEW_PROC_API): Define on Solaris 7 and 8 as well as 6. + * acconfig.h (_MSE_INT_H): Define on Solaris 7. + * configure: Regenerate. + * config.in: Regenerate. + +2000-04-06 Michael Snyder + + * sol-thread.c (GET_LWP, GET_THREAD, BUILD_LWP, BUILD_THREAD): + Change to rely on PIDGET etc. + * config/i386/nm-i386sol2.h (TARGET_HAS_WATCHPOINTS, + TARGET_CAN_USE_HARDWARE_WATCHPOINT, HAVE_CONTINUABLE_WATCHPOINT, + STOPPED_BY_WATCHPOINT, target_[insert/remove]_watchpoint): + define. Allow target to use procfs hardware watchpoints. + * config/sparc/nm-sun4sol2.h: ditto. + * config/i386/tm-i386sol2.h (PIDGET, TIDGET, MERGEPID): modify + definitions to use 16 bits for the pid, 15 bits for the tid, and + 1 bit for the flag. + * config/sparc/tm-sun4sol2.h: ditto. + (SOFTWARE_SINGLE_STEP, SOFTWARE_SINGLE_STEP_P): undefine. + * testsuite/gdb.threads/pthreads.exp (all_threads_running): Allow + for more than 15 thread increments. + +2000-04-06 Eli Zaretskii + + * top.c (filename_completer): Set subsequent_name to 1 early on, + to prevent an infinite loop if the first file in the directory is + a backup file (whose name ends in a `~'). + +2000-04-05 Jim Blandy + + * solib.c (update_solib_list): New function. + (solib_add): Call update_solib_list, and then read symbols. + (info_sharedlibrary_command): Call update_solib_list, not + solib_add. + +2000-04-05 Scott Bambrough + + * arm-linux-tdep.c: Resolve implicit function declarations by + including target.h and value.h. Inclusion of symtab.h is + no longer needed. + +2000-04-05 Scott Bambrough + + * arm-linux-tdep.c: New file. + * arm-linux-nat.c (fetch_fpregs): Remove unused code. + (arm_get_longjmp_target): Moved it and all defines + it uses to arm-linux-tdep.c. + (arm_linux_extract_return_value): Moved to + arm-linux-tdep.c. + * config/arm/linux.mt: Add arm-linux-tdep.c to TDEPFILES. + +2000-04-04 Nick Duffek + + * infrun.c (handle_inferior_event): Call target_mourn_inferior + instead of kill_target. + +2000-04-04 Daniel Berlin + + * TODO: Make note of various C++ things i have planned for 5.1. + +Tue Apr 4 12:13:19 2000 Andrew Cagney + + * printcmd.c (print_scalar_formatted): Use local variable ptr_bit + in shift. Stop GCC thinking it has a shift overflow. + +2000-04-03 H.J. Lu + + * TODO: Remove the regex entry. + +2000-04-03 H.J. Lu + + * gdb_regex.h: New. Include "regex.h" if USE_INCLUDED_REGEX + is defined and otherwise. + + * irix5-nat.c: Include "gdb_regex.h" instead of "gnu-regex.h". + * monitor.c: Likewise. + * osfsolib.c: Likewise. + * solib.c: Likewise. + * source.c: Likewise. + * symtab.c: Likewise. + + * Makefile.in (REGEX): Changed to @REGEX@. + (REGEX_CFLAGS): New. + (REGEX1): Removed. + (ADD_DEPS): Use $(REGEX) instead of $(REGEX1). + (INTERNAL_WARN_CFLAGS): Add $(REGEX_CFLAGS). + + * configure.in (--with-included-regex): New switch. + (REGEX): New. Subsstitue @REGEX@ in Makefile.in. + (REGEX_CFLAGS): New. Subsstitue @REGEX_CFLAGS@ in Makefile.in. + * configure: Regenerated. + +2000-04-03 Kevin Buettner + + * NEWS (powerpc-*-linux*): Mention. + +2000-04-03 J.T. Conklin + + * config/i386/xm-nbsd.h (HOST_LONG_DOUBLE_FORMAT): Define. + +2000-04-03 Kevin Buettner + + * Makefile.in (ALLDEPFILES): Add ia64-linux-nat.c and ia64-tdep.c. + (ia64-linux-nat.o, ia64-tdep.o): Add dependencies. + + * ia64-linux-nat.c (fill_gregset): Implement. + (supply_fpregset, fill_fpregset): New functions. + + * ia64-tdep.c (ia64_init_extra_frame_info): Revise manner in + which the CFM is fetched for certain frames. + (find_global_pointer, find_extant_func_descr): Don't use + partial symtabs for locating sections. + + * config/ia64/linux.mh (LOADLIBES): Define. + (NATDEPFILES): Add linux-thread.o and lin-thread.o. + * config/ia64/nm-linux.h (nm-linux.h): Include this upper-level + file containing generic linux declarations/definitions. + (SVR4_SHARED_LIBS, ATTACH_DETACH): Remove defines; already + defined in generic nm-linux.h. + (solib.h): Remove include; already included in generic nm-linux.h. + +2000-04-03 Jim Blandy + + * solib.c (solib_add): Move all the code for loading symbol tables + below the code to sort out additions and removals. That way, we + always catch all loaded shared libraries whose symbols we haven't + grabbed yet. + + * solib.c (solib_add): Don't try to free a shared object's objfile + if it doesn't have one. Duh. + + * solib.c (solib_add): If a pattern was given, but it doesn't + match any currently loaded shared libraries, print a message; + don't just be silent. + +2000-04-03 Eli Zaretskii + + * go32-nat.c (go32_handle_nonaligned_watchpoint): Use a + two-dimensional array instead of faking it with index + arithmetics. + +2000-04-03 Eli Zaretskii + + * config/i386/xm-go32.h (HOST_LONG_DOUBLE_FORMAT): Define. + + * config/i386/tm-go32.h (TARGET_LONG_DOUBLE_BIT): Remove + definition (and use the common one in tm-i386.h). + (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Likewise. + (I386_DJGPP_TARGET): Don't define, it's no longer required. + (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Remove definition, + i386-tdep.c defines it for all x86 targets. + (LD_I387, HEX_LONG_DOUBLE_INPUT): Remove. + + * config/djgpp/fnchange.lst: Add i386-linux-tdep.c. + + * config/djgpp/djcheck.sh: Edit the copyright year out of the test + results. Fix editing of `main' arguments for non-GNU Sed. + +2000-04-03 Eli Zaretskii + + * symfile.c (map_overlay_command, unmap_overlay_command): Fix + error message: there's no "overlay on" command. + +2000-04-03 Eli Zaretskii + + * Makefile.in (copying.c): Depend on copying.txt, not COPYING. + (copying.txt): New target, a link to COPYING. + +Mon Apr 3 18:20:03 2000 Andrew Cagney + + * TODO: Update. + +Mon Apr 3 14:56:11 2000 Andrew Cagney + + * top.c: Re-indent. + (set_hook, error_hook): Remove PARAMS. + +Mon Apr 3 14:45:25 2000 Andrew Cagney + + * symtab.h (add_minsym_to_demangled_hash_table): Revert 2000-03-29 + Daniel Berlin . Function was static. + * minsyms.c (add_minsym_to_demangled_hash_table): Add prototype. + +Mon Apr 3 14:10:37 2000 Andrew Cagney + + * gdb-events.h, gdb-events.c, gdb-events.sh: Re-indent. + +2000-04-02 Nick Duffek + + * gdbtypes.c (safe_parse_type): New wrapper function to ignore + error() during parse_and_eval_type(). + (check_stub_method): Call safe_parse_type instead of + parse_and_eval_type(). + * wrapper.c (gdb_parse_and_eval_type): New wrapper function. + (wrap_parse_and_eval_type): New support function. + * wrapper.h (gdb_parse_and_eval_type): Prototype. + (wrap_parse_and_eval_type): Prototype. + +Sun Apr 2 10:32:54 2000 Andrew Cagney + + * MAINTAINERS: Eli Zaretskii is a doco maintainer. + +Fri Mar 31 08:59:58 2000 Andrew Cagney + + * gdbarch-utils.h, gdbarch-utils.c: New files. + * Makefile.in (SFILES, COMMON_OBS): Update. + (gdbarch_utils_h) Define. + (gdbarch-utils.o): Add dependencies. + + * gdbarch.c, gdbarch.sh: Include "gdbarch-utils.h". Fix code + handling default method values. + (startup_gdbarch): Rename default_gdbarch, name misleading. + (breakpoint_from_pc): Default to legacy_breakpoint_from_pc. + (register_name): Default to legacy_register_name. + (call_dummy_words): Default to legacy_call_dummy_words. + (sizeof_call_dummy_words): Default to + legacy_sizeof_call_dummy_words. + (register_convertible): Default to + generic_register_convertible_not. + (breakpoint_from_pc): Default to legacy_breakpoint_from_pc. + (remote_translate_xfer_address): Default to + generic_remote_translate_xfer_address. + (frameless_function_invocation): Default to + generic_frameless_function_invocation_not. + +2000-04-02 Mark Kettenis + + * i386-linux-nat.c: Add copyright notice. + + * config/i386/xm-linux.h (HOST_LONG_DOUBLE_FORMAT): Define as + &floatformat_i387_ext. + * config/i386/xm-i386gnu.h (HOST_LONG_DOUBLE_FORMAT): Likewise. + +2000-03-29 Mark Kettenis + + * findvar.c (extract_floating): Remove reference to + TARGET_EXTRACT_FLOATING. + (store_floating): Remove reference to TARGET_STORE_FLOATING. + +2000-03-30 Fernando Nasser + + * wrapper.c (gdb_value_subscript, wrap_value_subscript): New functions. + Safe version of value_subscript. + * varobj.c (): Use gdb_value_subscript() to get an array element value. + +2000-03-30 Michael Snyder + + * ui-file.c: Include "gdb_string.h" + * cli-out.c: Include gdb_string.h to avoid compiler warnings. + * wrapper.[ch] (struct gdb_wrapper_arguments): Change fields into + unions, since they are all used to hold both pointers and ints + at various times. Casting pointer to int and vice versa gives + warnings (and is not safe) if they are not the same size. + +2000-03-30 Michael Snyder + + * defs.h (struct continuation_arg): Make 'data' a union, to avoid + casting problems when int and pointer are not the same size. + * event-top.c (command_handler): Use data as a union. + (command_line_handler_continuation): Ditto. + * infcmd.c (step_1_continuation): Use data as a union. Re-indent. + (step_once): ditto. (finish_command_continuation): Ditto. + (finish_command): Ditto. + * breakpoint.c (until_break_command): Use data as a union. + (until_break_command_continuation): Ditto. + * utils.c (add_intermediate_continuation): Fix typo in comment. + +Thu Mar 30 12:09:50 2000 Andrew Cagney + + * gdbarch.h, gdbarch.c: Re-indent. Remove FIXMEs. + * gdbarch.sh: Re-sync with gdbarch.[hc]. + +2000-03-29 Daniel Berlin + + * minsyms.c (add_minsym_to_demangled_hash_table): New function. + (install_minimal_symbols): Fix demangled symbol problems caused by + using add_minsym_to_hash_table for the demangled names, which is + wrong. Now we use add_minsym_to_demangled_hash_table. + (lookup_minimal_symbol): Fix problems with demangled symbol lookup + caused by weird control flow. + * symtab.h: Add add_minsym_to_demangled_hash_table prototype here. + +2000-03-29 Jason Merrill + + * configure.in: -linux-gnu*, not -linux-gnu. + +Tue Mar 28 18:28:40 2000 Andrew Cagney + + * remote.c (remote_threads_extra_info): Replace qfThreadExtraInfo + with qThreadExtraInfo. + +2000-03-29 J.T. Conklin + + * i386nbsd-nat.c (fetch_core_registers): Make static. + + * m68knbsd-nat.c (fetch_core_registers): Make static. + (m68knbsd_core_fns, _initialize_m68knbsd_nat): Added. + +Wed Mar 29 13:40:40 2000 Andrew Cagney + + * TODO: Update GDB 5 status. + +Wed Mar 29 10:16:35 2000 Andrew Cagney + + * breakpoint.h (remove_hw_watchpoints): Add declaration. + * breakpoints.c (remove_hw_watchpoints): Update. + * maint.c (maintenance_do_deprecate): Avoid assignment within IF + condition. + +2000-03-28 Peter Schauer + + breakpoint.c, breakpoint.h (remove_hw_watchpoints): New function. + infrun.c (resume): Remove hardware watchpoints before stepping + when CANNOT_STEP_HW_WATCHPOINTS is nonzero. + +2000-03-28 Michael Snyder + + * Makefile.in: Anchor tui-file.h dependency to $srcdir. + +2000-03-28 Peter Schauer + + * procfs.c (proc_set_watchpoint): Declare addr parameter as + CORE_ADDR, to match call from procfs_set_watchpoint. + + * breakpoint.c (insert_breakpoints, do_enable_breakpoint): + Reselect the saved frame silently after frame selection for + watchpoint evaluation. + (insert_breakpoints): Add missing space in `Hardware watchpoint + deleted' message. Do not reinsert hardware watchpoint if it is + already marked for deletion at next stop. + +2000-03-28 Christopher Faylor + + * partial-stab.h: Add one more check against corrupted or irregular + stabs entry. + +Tue Mar 28 12:23:37 2000 Philippe De Muyter + + * gnu-regex.c (regerror): Function renamed from `__regerror'. + (Change also approved in the mainline glibc sources) + +Tue Mar 28 18:19:50 2000 Andrew Cagney + + From 2000-03-20 Jonathan Larmour : + * ser-unix.c (do_unix_readchar): Reorganise to be more robust, + particularly ensuring it can't return SERIAL_TIMEOUT when told + not to time out. + +2000-03-24 Daniel Berlin + + * gdbtypes.c (_initialize_gdbtypes): Add "set debug overload", + which never existed before, and thus, has no deprecated old command. + + * gdbarch.c (_initialize_gdbarch): Add "set debug arch", deprecate + "set archdebug" (same goes for the show commands). + * gdb-events.c (_initialize_gdb_events): Add "set debug event", + deprecate "set eventdebug" (same goes for the show commands). + * gdbcmd.h: Add the setdebuglist and showdebuglist externs. + * top.c (init_main): Deprecate remotedebug, use "set/show debug remote" + instead. + x(init_main): Add the "set debug" and "show debug" commands. + Add setdebuglist and showdebuglist. + +Fri Mar 24 13:00:10 2000 Daniel Berlin + + * maint.c (maintenance_do_deprecate): Fix crash if you call with no arguments, and fixed the warning. + Added prototype for the deprecate command so it doesn't complain. + +Tue Mar 28 11:52:45 2000 Andrew Cagney + + * top.c (print_gdb_version): Bump copyright year to 2000. + +Tue Mar 28 10:13:11 2000 Andrew Cagney + + * MAINTAINERS: Add Glen McCready to write after approval list. + +Tue Mar 28 09:59:00 2000 Andrew Cagney + + * acconfig.h: Fix typo in comment describing HAVE_PTRACE_GETREGS. + * config.h: Regenerate. + +Mon Mar 27 19:53:29 2000 Andrew Cagney + + * TODO: Update. Add criteria for next release of GDB. + +Mon Mar 27 17:20:25 2000 Andrew Cagney + + * acconfig.h: Provide default for HAVE_PTRACE_GETREGS. + * config.h: Regenerate. + +Mon Mar 27 16:43:35 2000 Andrew Cagney + + * Makefile.in (install-only): Create $(bindir) and $(man1dir) + before installing GDB. + +Mon Mar 27 16:26:11 2000 Andrew Cagney + + * Makefile.in (all-gdbtk): Check for an existing link/directory. + Re-format warning message. Document that post 5.0 this can be + deleted. + +Mon Mar 27 14:46:37 2000 Andrew Cagney + + * ChangeLog: Revert whitespace changes. + +Mon Mar 27 10:20:34 2000 Andrew Cagney + + * MAINTAINERS: Update folks who need accounts. + +Mon Mar 27 09:29:14 2000 Andrew Cagney + + * MAINTAINERS: J.T. Conklin is NetBSD maintainer. + +2000-03-27 Mark Kettenis + + * config/i386/tm-i386.h: Fix typo. It is TARGET_LONG_DOUBLE_BIT + instead of TARGET_LONG_DOUBLE_BITS. + * config/i386/tm-i386mk.h: Likewise. + +2000-03-26 Mark Kettenis + + Provide `long double' support for most i386 targets. + * config/i386/tm-i386.h (TARGET_LONG_DOUBLE_FORMAT): Define as + &floatformat_i387_ext. + (TARGET_LONG_DOUBLE_BITS): Define as 96. + (REGISTER_VIRTUAL_TYPE): Change type for FPU registers to + `builtin_type_long_double'. + (REGISTER_CONVERT_TO_VIRTUAL): Call + i386_register_convert_to_virtual. + (REGISTER_CONVERT_TO_RAW): Call i386_register_convert_to_raw. + (i387_to_double, double_to_i387): Remove prototypes. + (i386_extract_return_value): Change prototype to match definition + in i386-tdep.c. + * config/i386/tm-i386mk.h (TARGET_LONG_DOUBLE_FORMAT): #undef. + (TARGET_LONG_DOUBLE_BITS): #undef. + * config/i386/tm-linux.h (TARGET_LONG_DOUBLE_BIT): Remove. + [HAVE_LONG_DOUBLE && HOST_I386] (LD_I387): Remove. + (i387_extract_floating, i387_store_floating): Remove prototypes. + (TARGET_EXTRACT_FLOATING, TARGET_STORE_FLOATING): Remove. + (REGISTER_CONVERT_TO_VIRTUAL, REGOISTER_CONVERT_TO_RAW): Remove. + (REGISTER_VIRTUAL_TYPE): Remove. + * i386-tdep.c (i386_register_convert_to_virtual): New function. + (i386_register_convert_to_raw): New function. + * i387-tdep.c [LD_I387] (i387_extract_floating): Remove. + (i387_store_floating): Remove. + +Sat Mar 25 18:55:57 2000 Andrew Cagney + + * maint.c: Re-indent. + +Sat Mar 25 18:51:50 2000 Andrew Cagney + + * maint.c (_initialize_maint_cmds): Remove quoted trailing space. + +2000-03-24 Christopher Faylor + + * config/mips/tm-wince.h: Fix typo which caused include of tm-mips.h to + be inoperative. + +2000-03-24 Christopher Faylor + + * win32-nat.c: Back out special frame walking code. It was broken. + (handle_exception): Correctly identify an illegal instruction. + * config/tm-cygwin.h: Eliminate special frame handling. Just use + normal i386 handling. + +2000-03-24 J.T. Conklin + + * i386/tm-nbsd.h (USE_STRUCT_CONVENTION): Define. + * i386nbsd-nat.c (i386nbsd_use_struct_convention): New function. + (fetch_core_registers): Read fp registers. + (i386nbsd_core_fns, _initialize_i386nbsd_nat): Added. + +2000-03-24 Jonathan Larmour + + * arm-tdep.c (thumb_skip_prologue): Take function end addr argument + so that we can stop searching for the prologue past the function end + (arm_skip_prologue): Call thumb_skip_prologue with function end addr + +2000-03-24 Kevin Buettner + + * linux-thread.c, lin-thread.c (save_inferior_pid, + restore_inferior_pid): Don't do compile time comparison + of TARGET_PTR_BIT and TARGET_INT_BIT. + +Thu Mar 23 13:18:26 2000 Philippe De Muyter + + * m68k-tdep.c (P_LINKL_FP, P_LINKW_FP): Macros renamed from P_LINK_L + and P_LINK_W. + (P_PEA_FP, P_MOVL_SP_FP): New macros. + (P_MOVL, P_LEAL, P_MOVML): Macros renamed from P_MOV_L, P_LEA_L and + P_MOVM_L. + (altos_skip_prologue, isi_skip_prologue): Use P_* macros, not octal + constants. + (delta68_in_sigtramp): New function. + (delta68_frame_args_address, delta68_frame_saved_pc): Ditto. + (m68k_skip_prologue): Use P_* macros, not hex constants. + (m68k_find_saved_regs): Do not expect a fixed sequence of register save + instructions, but accept them in any order; use P_* macros, not octal + or hex constants; recognize also `fmovemx to (fp + displacement)' and + `moveml to (fp + displacement)'. + * m68/tm-delta68.h (IN_SIGTRAMP): New macro. + (FRAME_SAVED_PC, FRAME_ARGS_ADDRESS): Ditto. + +Fri Mar 24 13:44:57 2000 Andrew Cagney + + * MAINTAINERS: Add Fernando Nasser to testsuite maintainers. + +2000-03-23 Michael Snyder + + * solib.c (open_symbol_file_object): To sneak an int argument + past catch_errors, instead of casting it to a pointer, simply + pass it by address. + +2000-03-23 Jimmy Guo + + * gdbtypes.c (rank_function): Rank all N parameters and use correct + index into the prams[] and args[] arrays. + +2000-03-23 Fernando Nasser + + From David Whedon + + * 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. + +2000-03-22 Daniel Berlin + * command.c (apropos_cmd_helper): New function, meat of the + apropos command. + (apropos_command): New apropos command to search command + names/documentation for regular expressions. + (_initialize_command): Add the apropos command. + +2000-03-23 Michael Snyder + + * 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. + +2000-03-22 Kevin Buettner + + * ia64-linux-nat.c: Fix copyright. + (fill_gregset): Minor formatting fix. + * ia64-tdep.c (template_encoding_table, fetch_instruction, + examine_prologue): Clean up some compiler warnings. + (is_float_or_hfa_type_recurse, is_float_or_hfa_type, find_func_descr, + find_global_pointer, find_extant_func_descr): New functions. + (ia64_use_struct_convention, ia64_extract_return_value, + ia64_push_arguments): Handle HFAs. + (ia64_push_arguments): Find (or build) a function descriptor + when given a function address. + (ia64_push_return_address): Moved code for finding the + global pointer into its own function, find_global_pointer (). + +2000-03-22 Elena Zannoni + + * event-loop.c (handle_file_event): Run through indent. + +2000-03-22 Elena Zannoni + + From Philippe De Muyter + + * 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. + +2000-03-22 Peter Schauer + + * printcmd.c (print_scalar_formatted): Truncate addresses to the + size of a target pointer before passing them to print_address. + +2000-03-22 Mark Kettenis + + * 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. + +Wed Mar 22 15:09:34 2000 Andrew Cagney + + * configure.in (CONFIG_INITS): Do not append remote-nrom.c + +2000-03-21 J.T. Conklin + + * i386/nbsd.mh (NATDEPFILES): Change i386b-nat.o to i386nbsd-nat.o. + * i386nbsd-nat.c: New file. + + * i386/tm-nbsd.h (NUM_REGS): Removed. + (HAVE_I387_REGS): Defined. + * i386/nm-nbsd.h (FLOAT_INFO): Removed. + + * tm-nbsd.h (IN_SOLIB_CALL_TRAMPOLINE): Define if not + SVR4_SHARED_LIBS. + +Wed Mar 22 11:18:59 2000 Andrew Cagney + + * MAINTAINERS: Add Jim Blandy to breakpoint maintainers. David + taylor is the Solaris/SPARC maintainer. Add Jonathan Larmour to + the write after approval list. + +2000-03-21 Kevin Buettner + + * symtab.h (MAX_SECTIONS, struct section_addr_info, + symbol_file_add): Move declarations from here... + * symfile.h: ...to here. + + * solib.c (symbol_add_stub): Make symbol_file_add () aware of + all section addresses, not just .text. + * symfile.h, symfile.c (free_section_addr_info, + build_section_addr_info_from_section_table): New functions. + + * symfile.h (MAX_SECTIONS): Increase value to 40. + * symfile.c (syms_from_objfile): Add bounds check prior to + accessing ``other'' array in a section_addr_info_struct. + Remove unused variable section_offsets. + (add_symbol_file_command): Remove unused variable text_addr. + +2000-03-21 Eli Zaretskii + + * breakpoint.c (bpstat_stop_status): Don't stop if a read + watchpoint appears to break, but the watched value changed. + +2000-03-21 Jim Blandy + + * 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. + +2000-03-20 Kevin Buettner + + * configure.host, configure.tgt (ia64-*-linux*): New entry. + + * gdbserver/low-linux.c (u_offsets, ia64_register_u_addr, + initialize_arch): Define for IA-64. + (initialize_arch): Add declaration. + +2000-03-20 Eli Zaretskii + + * 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. + +2000-03-20 Michael Snyder + + * 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. + +2000-03-20 Kevin Buettner + + * ia64-linux-nat.c, ia64-tdep.c, config/ia64/linux.mh, + config/ia64/linux.mt, config/ia64/nm-linux.h, config/ia64/tm-ia64.h, + config/ia64/tm-linux.h, config/ia64/xm-linux.h: New files. + +2000-03-20 Kevin Buettner + + * utils.c (floatformat_from_doublest): Don't assume that a long + will be exactly 32 bits in length. Also... make sure space + that we're writing the float to is completely initialized to + zeroes, even when the number of bits in the float is not + evenly divisible by FLOATFORMAT_CHAR_BIT. + +2000-03-20 Jim Blandy + + * 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. + +2000-03-04 Eli Zaretskii + + * 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. + + * config/i386/xm-go32.h (fd_mask): Remove typedef. + +Mon Mar 20 19:58:45 2000 Andrew Cagney + + * command.c (_initialize_command): Document requirements for ``!'' + command. + +Mon Mar 20 18:12:46 2000 Andrew Cagney + + From Fri 10 Mar 2000 Robert + : + * sh-tdep.c (sh_processor_type_table): Add entry for sh2. + +Mon Mar 20 17:33:32 2000 Andrew Cagney + + From Thu Mar 16 16:49:27 EST 2000 John David Anglin + : + * configure.in (CONFIG_INITS): Don't include hpux-thread.c. Stops + _initialize_hpux_thread being called twice. + * configure: Regenerated. + +2000-03-19 Eli Zaretskii + + * event-top.c (_initialize_event_loop): If instream is not + connected to a terminal device, turn editing off. + +2000-03-19 Eli Zaretskii + + 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. + +2000-03-19 Eli Zaretskii + + * ser-go32.c (ports): Make the initializers complete, to pacify + GCC 2.9X. + +2000-03-17 Jim Blandy + + * i386v-nat.c (i386_insert_nonaligned_watchpoint): Use a + two-dimensional array, instead of faking it with explicit index + arithmetic. + + * linux-thread.c (linuxthreads_attach, linuxthreads_detach, + linuxthreads_create_inferior): Fix typo in variable name: it's + linuxthreads_exit_status, not linux_exit_status. + + * gdb_wait.h (WSETSTOP): Pass the appropriate number of arguments + to W_STOPCODE. + + * solib.c (solib_add): Delete debugging code. + +2000-03-17 Mark Kettenis + + * gdb_wait.h: add definitions of WSETSTOP and WSETEXIT for Linux. + * linux-thread.c: Use WSETSTOP instead of W_STOPCODE. + +Fri Mar 17 11:06:59 2000 Philippe De Muyter + + * language.c (set_lang_str): Do not call `free' for a null pointer. + (set_type_str, set_range_str): Ditto. + +2000-03-16 Jim Blandy + + * i386-linux-nat.c (i386_linux_saved_pc_after_call): Lost in the + merge; reinstated. + + * solib.c (current_sos): Be more careful about freeing the new + so_list node if an error occurs. + + * 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. + +2000-03-16 Eli Zaretskii + + * Makefile.in (go32-nat.o): Add prerequisites. + (ALLDEPFILES): Add go32-nat.c. + +2000-03-15 Michael Snyder + + From "Peter.Schauer" + * symfile.c (reread_symbols): Clear msymbol hash table. + +2000-03-15 Jim Blandy + + 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. + + Changes from Peter Schauer : + + * 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. + +2000-03-15 Eli Zaretskii + + * 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. + + * ser-go32.c (dos_get_tty_state): Fail if the (fake) handle was + not opened by dos_open, but let the 3 standard handles go through + unharmed. + +2000-03-14 Elena Zannoni + + * eval.c (evaluate_subexp_with_coercion): Add call to + check_typedef, to handle typedeffed vars correctly. + +Mon Mar 13 21:21:41 2000 Andrew Cagney + + * defs.h (STREQ, STRCMP, STREQN): Document that these macros are + somewhat redundant. + (QUIT): Note that this can probably be replaced by a function. + +2000-03-13 James Ingham + + 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. + +2000-03-13 Eli Zaretskii + + * go32-nat.c (struct env387): Remove declaration. + (print_387_status, i386_go32_float_info): Remove redundant + functions. + (regno_mapping, sig_map, excepn_map): Add braces around inner + initializers. + (many functions): Use ATTRIBUTE_UNUSED to shut up the compiler; + fix code which mixed signed with unsigned. + (go32_resume): Use TARGET_SIGNAL_LAST instead of -1. + (go32_wait): Initialize INT3_addr. + (go32_fetch_registers): Extend all FP registers that are shorter + than 4 bytes to 32 bits. Support 32 standard FP registers defined + on config/i386/tm-i386.h. + (store_register): Support 32 FP registers. + (go32_create_inferior): Don't crash if handed a NULL pointer + instead of exec file name. + (ignore): Remove unused function. + (go32_insert_hw_breakpoint): Remove unused variables. + (init_go32_ops): Set value of processing_gcc_compilation to 2. + +Mon Mar 13 18:54:42 2000 Andrew Cagney + + From 2000-03-10 Daniel Berlin Fix C++ + overloading, add support for seeing through references: + * valops.c (find_overload_match): Handle STABS overloading for + C++. + (find_overload_match): Look in right place for function arguments + in the debug info. + (find_overload_match): Rather than giving up when we have >1 + perfect match, just choose one, especially since the + recommendation GDB gives ("disambiguate it by specifying function + signature"), is basically impossible. + (check_field_in): STREQ->strcmp_iw + (search_struct_field): STREQ->strcmp_iw + (find_method_list): STREQ->strcmp_iw + * gdbtypes.c (rank_one_type): Add ability to see through + references. + (rank_one_type): strcmp->strcmp_iw, because the whitespace could + be different. + (rank_function): Rank function properly (was doing it wrong + before, comparing the wrong parts of the arrays) + (rank_one_type): Change #if 0 to #ifdef DEBUG_OLOAD. + * gdbtypes.h: Add REFERENCE_CONVERSION_BADNESS for "badness" + associated with converting a non-reference to a reference. + * eval.c (evaluate_subexp_standard): for OP_VAR_VALUE, always + return full value object; for STRUCTOP_PTR, use pointer to + rtti type to get member / method if objectprint is set and + target type of pointer is class. + + * gdbtypes.c (rank_one_type): Add comment on how to eliminate the + #ifdef DEBUG_OLOAD. + +2000-03-11 Mark Kettenis + + * gnu-nat.c: Fix the formatting where indent misinterpreted `&' as + a binary operator. + (gnu_attach): Change error message for missing + argument to be identical to the corresponding message in + `inftarg.c'. This makes the testsuite happy. + +2000-03-11 Mark Kettenis + + * i386gnu-nat.c (gnu_store_registers): Make sure the T bit in the + %eflags isn't modified. This fixes a bug where every call to a + function in the program beyond the first call would fail. + +Fri Mar 10 11:44:55 2000 Andrew Cagney + + * MAINTAINERS: Devolve responsibility for domain maintenance. + +2000-03-06 Elena Zannoni + + * minsyms.c (prim_record_minimal_symbol_and_info): Add comment. + +2000-02-25 Scott Bambrough + + * gdb.base/long_long.exp: Correct test suite failure when printing + a long long value as a double on ARM platforms. + +Thu Mar 9 14:21:07 2000 Andrew Cagney + + * MAINTAINERS (Core): Anthony Green is the Java - including + testsuite - maintainer. Reformat testsuite and language support + sections + +2000-03-08 Mark Kettenis + + * i386-tdep.c (i386_linux_saved_pc_after_call): New function. + * config/i386/tm-linux.h (SAVED_PC_AFTER_CALL): Define to call + i386_linux_saved_pc_after_call. + +2000-03-06 Jim Blandy + + From Tom Tromey and Keith Seitz : + + * minsyms.c: #include , for msymbol_hash_iw. + (compact_minimal_symbols): Added `objfile' argument. + Put symbols in the objfile's hash table. + (install_minimal_symbols): Put symbols in the objfile's demangled + hash table. + (lookup_minimal_symbol): Use hash table to find symbol in + objfile. + (msymbol_hash_iw, msymbol_hash, add_minsym_to_hash_table): New + functions. + (prim_record_minimal_symbol_and_info): Initialize the + hash link fields of the new minimal symbol. + * symtab.h (struct minimal_symbol): New fields `hash_next', + `demangled_hash_next'. + (msymbol_hash_iw, msymbol_hash, add_minsym_to_hash_table): Declare. + * objfiles.h (MINIMAL_SYMBOL_HASH_SIZE): New define. + (struct objfile): New fields `msymbol_hash', + `msymbol_demangled_hash'. + +2000-03-06 Jim Blandy + + * solib.c (first_link_map_member): Doc fix. + +2000-03-06 Elena Zannoni + + From Eli Zaretskii : + + * event-loop.c (poll_timers): Don't compare delta.tv_sec with + zero, since time_t might be unsigned. + +2000-03-06 Mark Kettenis + + * i386-linux-nat.c (supply_fpregset): Mask off the reserved bits + in *FPREGSETP. + (convert_to_fpregset): Don't touch the reserved bits in *FPREGSETP. + +2000-03-05 Mark Kettenis + + Allow GDB to run on Linux 2.0 again. + * config.in: Add HAVE_PTRACE_GETREGS. + * configure.in: Check if defines PTRACE_GETREGS. + * configure: Regenerated. + * config/i386/nm-linux.h (CANNOT_FETCH_REGISTER, + CANNOT_STORE_REGISTER): New defines. + * i386-linux-nat.c (have_ptrace_getregs): New variable. + (PTRACE_XFER_TYPE, CANNOT_FETCH_REGISTER, fetch_register, + old_fetch_inferior_registers, CANNOT_STORE_REGISTER, + store_register, old_store_inferior_registers): Copied over from + `inptrace.c' as a temporary measure. + (fetch_regs, store_regs, fetch_fpregs, store_fpregs): + Conditionalize on HAVE_PTRACE_GETREGS. Define stubs if + HAVE_PTRACE_GETREGS isn't defined. + (fetch_regs): Reset `have_ptrace_getregs' if ptrace call fails + with EIO. + (fetch_inferior_registers, store_inferior_registers): Fall back on + the method use in `infptrace.c' (by calling + old_fetch_inferior_registers and old_store_inferior_registers) if + `have_ptrace_getregs' isn't set. + +2000-03-05 Mark Kettenis + + * i386-linux-nat.c: Use elf_gregset_t and elf_fpregset_t instead + of gregset_t and fpregset_t. Those are the only names that are + guaranteed to specify the right types for all supported Linux + systems out there. + Various doc fixes and gratitious local variable renames, all in an + attempt to stress similarities between the code and unify the + terminology used. Use ISO-C all over. + (regmap): Remove trailing comma. + (FPREG_ADDR): Renamed from FPREGSET_T_FPREG_ADDR. + (convert_to_gregset): Make static. Remove GDB_REGS argument. It + is unnecessary and wasn't used anyway. All callers changed. + (convert_to_fpregset, convert_to_xfpregset): Likewise. + (fetch_regs, store_regs): Remove unused variable `regno'. + (fill_fpregs): If REGNO is not -1, only update the specified + register. + (fetch_core_registers): Renamed from + i386_linux_fetch_core_registers. There is no need for a unique + name since the function is static anyway. + (linux_elf_core_fns): Renamed from i386_linux_nat_core_functions + since it is more descriptive. + +Sun Mar 5 19:40:27 2000 Andrew Cagney + + * MAINTAINERS (readline/): Expand to include host maintainers. + +2000-03-04 Mark Kettenis + + Fix support for Linux/i386 signal trampolines. The old approach + didn't work for Linux 2.2 and beyond, and didn't work with recent + versions of the GNU C library. + * i386-tdep.c (LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0, + LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1): New defines. + (linux_rt_sigtramp_code): New variable. + (LINUX_RT_SIGTRAMP_LEN): New define. + (i386_linux_rt_sigtramp_start): New function. Detect start of + signal trampolines for RT signals. + (i386_linux_sigtramp): Removed. + (i386_linux_in_sigtramp): New function. + (i386_linux_sigcontext_addr): New function. Recognize the names + of the signal tranmpolines used by recent versions of the GNU C + library, and add support for RT signals. + (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET): New + defines. Moved here from config/i386/tm-linux.h. + (i386_linux_sigtramp_saved_pc, i386_linux_sigtramp_saved_sp): + Reimplement in terms of i386_linux_sigcontext_addr. + * config/i386/tm-linux.h (LINUX_SIGCONTEXT_SIZE): Removed. + (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET): + Moved to i386-tdep.c. + (IN_SIGTRAMP): Redefine to call i386_linux_in_sigtramp. + +Sat Mar 4 19:38:11 2000 Andrew Cagney + + By: Sat Mar 4 04:08:58 2000 Alexandre Oliva + * Makefile.in (all-gdbtk): Fix $srcdir to ${srcdir}. + +Sat Mar 4 17:23:06 2000 Andrew Cagney + + * MAINTAINERS: Frank Ch. Eigler and Andrew Cagney co-ordinate the + sim directory. + +Sat Mar 4 16:19:31 2000 Andrew Cagney + + * MAINTAINERS: Add Michael Snyder and Peter Schauer to list of + ``Blanket Write Privs'' maintainers. + +Sat Mar 4 15:58:40 2000 Andrew Cagney + + From Sun 20 Feb 2000 Robert Lipe : + * language.c (longest_local_hex_string_custom): Don't compile + 'long long' section if host doesn't have 'long long'. + +Sat Mar 4 15:45:38 2000 Andrew Cagney + + * language.c (longest_raw_hex_string): Comment out. Appears + unused. + +Sat Mar 4 13:02:09 2000 Andrew Cagney + + * utils.c (mcalloc), defs.h (mcalloc): Keep consistent with + "mmalloc.h" which means using PTRs. + (init_malloc, msavestring, mstrsave): Convert to PTR free ISO-C. + +Sat Mar 4 11:49:21 2000 Andrew Cagney + + * defs.h (store_address, store_unsigned_integer, store_address): + Replace PTR with void* in delcaration. + * findvar.c (extract_signed_integer, extract_unsigned_integer, + extract_long_unsigned_integer, extract_address, + store_signed_integer, store_unsigned_integer, store_address): + Convert definition to ISO-C. Replace PTR with void*. + +Sat Mar 4 10:57:25 2000 Andrew Cagney + + * defs.h (make_cleanup_func): Document as deprecated. + (make_cleanup_ftype): New typedef. Make signature consistent with + other function typedefs. Document as not be used out side of + make_cleanup code. Use in make_cleanup declarations. + (null_cleanup): Replace PTR with void*. + + * utils.c (make_cleanup, make_final_cleanup, make_run_cleanup, + make_exec_cleanup, make_exec_error_cleanup, make_my_cleanup, + null_cleanup): Change K&R definition to ISO-C using void* and + make_cleanup_fytpe. + (discard_my_cleanups): Don't cast argument to free. + +2000-03-03 Elena Zannoni + + * defs.h (struct continuation_arg): Change type of field 'data' + from PTR to void *. + + * event-loop.h: Eliminate uses of PTR, use 'void *' instead. + + * event-top.c: Ditto. + +Fri Mar 3 15:39:34 2000 Andrew Cagney + + * Makefile.in (CONFIG_CLEAN, CONFIG_ALL, LN_S): Defined by + configure. + (SUBDIR_MI_CLEAN, SUBDIR_GDBTK_CLEAN, SUBDIR_MI_ALL, + SUBDIR_GDBTK_ALL): Define. + (all-gdbtk, clean-gdbtk): New targets. + (all): Add CONFIG_ALL as dependency. + (clean): Add CONFIG_CLEAN as dependency. + + * configure.in (CONFIG_ALL, CONFIG_CLEAN): Define. + (LN_S): Define. Delete GDBtk's link code. + +Fri Mar 3 13:12:34 2000 Andrew Cagney + + * configure.in (ENABLE_GDBTK): Delete variable. + (enable-gdbtk): Only enable gdbtk when there is a GDBTK directory. + * Makefile.in: Update. + * configure: Regenerate + +2000-03-02 Elena Zannoni + + * config/alpha/alpha-linux.mh: Remove core-regset.o fron the + NATDEPFILES list. + +2000-03-02 Mark Kettenis + + * config/i386/tm-i386aix.h (NUM_FPREGS, NUM_REGS, REGISTER_BYTES): + Override definitions to include the normal FPU registers. + (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Removed. The default definitions are + fine for AIX/i386. + (i387_to_double, double_to_i387): Remove prototypes. + +2000-03-02 Kevin Buettner + + * findvar.c (extract_floating, store_floating): Use target + floating point type sizes rather host sizes to determine + which conversion needs to be done. + +2000-03-02 Nick Duffek + + * uw-thread.c: Apply GNU conventions to comment formatting. + (deactivate_uw_thread): Call remove_thread_event_breakpoints(). + (uw_thread_mourn_inferior): Move remove_thread_event_breakpoints() + call to deactivate_uw_thread(). + +Thu Mar 2 09:04:46 2000 Andrew Cagney + + * MAINTAINERS: Daniel Berlin is C++ maintainer. + +Thu Mar 2 08:55:35 2000 Andrew Cagney + + * MAINTAINERS: Mark Kettenis is the x86 architcture maintainer and + a joint GNU/Linux/x86 maintainer. Nick Duffeck and Robert Lipe + share SCO/Unixware. Nick Duffek and Peter Schauer share + Solaris/x86. + +Wed Mar 1 22:12:35 2000 Andrew Cagney + + From Wed 23 Feb 2000 Fernando Nasser : + * remote-sim.c (gdbsim_close): Call generic_mourn_inferior. + * remote-rdi.c (arm_rdi_close): Ditto. + +Wed Mar 1 19:31:32 2000 Andrew Cagney + + * CONTRIBUTE (configure.in): Note that patches to configure are + not needed. + +2000-03-01 Mark Kettenis + + * MAINTAINERS: Correct my own mail address. + +Wed Mar 1 11:26:07 2000 Andrew Cagney + + * MAINTAINERS: Document people with paperwork pending. + +Wed Mar 1 00:49:06 2000 Andrew Cagney + + From 2000-02-28 Peter Schauer : + Make NEW_PROC_ABI interface functional on Solaris x86. + * sol-thread.c (ps_lgetLDT): Rewrite to use new + procfs_find_LDT_entry function from procfs.c, mostly copied from + lin-thread.c. + * inferior.h, procfs.c (procfs_get_pid_fd): Removed, no longer + needed. + +Wed Mar 1 00:34:55 2000 Andrew Cagney + + From 2000-02-26 Peter Schauer : + * config/i386/tm-i386sol2.h (MERGEPID): Define. + +Wed Mar 1 00:06:19 2000 Andrew Cagney + + From 1999-08-13 J.T. Conklin : + * config/i386/tm-i386.h (FRAME_INIT_SAVED_REGS): Replace + FRAME_FIND_SAVED_REGS. + (i386_frame_init_saved_regs): Replace i386_frame_find_saved_regs. + * i386-tdep.c (i386_frame_init_saved_regs, i386_pop_frame): + Update. + +Tue Feb 29 23:56:41 2000 Andrew Cagney + + From 2000-02-23 Peter Schauer : + * objfiles.c (open_mapped_file): Fix obsolete references to `mapped' + parameter. + +Tue Feb 29 18:47:58 2000 Andrew Cagney + + From 2000-02-23 Eli Zaretskii : + * config/i386/nm-go32.h (FLOAT_INFO): Remove macro definition. + (top level): Add prototypes for go32_* functions. + * config/i386/tm-go32.h (I386_DJGPP_TARGET): Define. + (FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC): + Override definitions from tm-i386.h. + (REGISTER_VIRTUAL_TYPE): Remove macro definition. + * i386-tdep.c (i386_extract_return_value) + [I386_AIX_TARGET || I386_GNULINUX_TARGET]: Add I386_DJGPP_TARGET + to the list of targets which return FP values in FP registers. + + * i386-tdep.c (i386_extract_return_value): Add FIXME recommending + that this function be re-implemented using multi-arch. + +Tue Feb 29 18:40:08 2000 Andrew Cagney + + From 2000-02-23 Eli Zaretskii : + * utils.c [__GO32__]: Include pc.h, for prototypes of ScreenCols + and ScreenRows. + * ser-go32.c: Include string.h, for prototype of strncasecmp. + (dpmi_regs, dpmi_sregs): Remove unused variables. + (dos_flush_input): Return a value, to prevent compiler warning. + * expprint.c (dump_prefix_expression): Use %ld in format and cast + sizeof(union exp_element) to long, to prevent GCC from complaining + about format/argument mismatch. + (dump_postfix_expression): Likewise. + +Tue Feb 29 18:09:46 2000 Andrew Cagney + + * arm-tdep.c: Include . + +Tue Feb 29 17:33:49 2000 Andrew Cagney + + From Wed, 23 Feb 2000 Fernando Nasser : + * stack.c (backtrace_command_1), infrun.c (normal_stop): Check + that the target's stack was valid. + +Tue Feb 29 15:14:56 2000 Andrew Cagney + + From 2000-02-22 Stephane Carrez : + * dwarf2read.c (read_address): Read 16-bits addresses. + +2000-02-28 Scott Bambrough + + * arm-linux-nat.c (fetch_nw_fpe_*): + Renamed to fetch_nwfpe_* to use the same naming convention + as in the Linux kernel. Modified prototype to get rid of + unused parameters. + (store_nw_fpe_*): Renamed to store_nwfpe_* to use the same + naming convention as in the Linux kernel. Fixed calls to + fetch_nwfpe_*. + (store_fpregs): Fixed calls to store_nwfpe_*. Removed + unused variable. + +Mon Feb 28 18:24:32 2000 Andrew Cagney + + * MAINTAINERS: Transfer d30v maintainership to David Taylor. + +2000-02-28 Christopher Faylor + + * win32-nat.c: Remove unneeded header. + * wince.c: Ditto. + +Mon Feb 28 13:34:54 2000 Andrew Cagney + + * wince.c: Include "gdb_wait.h" and not "wait.h". + +Mon Feb 28 10:58:45 2000 Andrew Cagney + + * MAINTAINERS: Mention mmalloc. Expand Host/Native and + Target/Architecture maintainers descriptions. + +2000-02-26 Mark Kettenis + + * gnu-nat.c: Include "gdbthread.h". Include . + Reorder headers a bit. Overall cleanup and minor reformatting. + (MIG_SERVER_DIED): Remove define. + (proc_update_sc): Add braces to silence compiler warning. + (proc_steal_exc_port): Initialize err to zero. + (make_proc): Add braces to silence compiler warning. + (inf_validate_task_sc): Add cast to silence compiler warning. + (inf_set_traced): Reorganize a bit to silence compiler warning. + (inf_validate_procs): Use mach_msg_type_number_t for all thread + numbers and add braces to silence compiler warning. + (gnu_wait): Add prototypes for server functions and add braces to + silence compiler warnings. + (S_exception_raise_request): Pass subcode to inf_debug call. + (gnu_write_inferior): Remove unused variable `protection_changed'. + (gnu_xfer_memory): Remove unused variable `result'. + (set_sig_thread_cmd): Remove unused varible `tid'. + (set_signals_cmd): Remve unused variable `trace'. + (add_task_commands): Provide complete prototype. Reformat help + strings a bit to make sure the first line is a full sentence. + Call info_port_rights_cmd instead of info_send_rights_cmd for the + "info port-rights" command. + (add_thread_commands): Provide complete prototype. Make static. + Reformat help strings a bit to make sure the first line is a full + sentence. + (_initialize_gnu_nat): Provide complete prototype. + +2000-02-26 Mark Kettenis + + Make cross-compilation for the Hurd more friendly. + From Jeff Bailey : + * configure.in: Use AC_CHECK_TOOL to find MiG. + * Makefile.in (MIG): New variable. + * config/i386/i386gnu.mh (MIG): Remove. + * configure: Regenerated. + +2000-02-26 Kevin Buettner + + * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Add + comment explaining motivation behind this function and why + the generic facilities won't work for this platform. + * rs6000-tdep.c (skip_prologue): Always test to make sure + that an instruction is read successfully from the target's + memory. Introduce notion of instructions which may appear in + the prologue, but may not end the prologue. Added explicit + check for nop instruction. Use memset() to zero the frame + data instead of assignment from a statically allocated, + uninitialized structure. + +Sat Feb 26 17:15:16 2000 Andrew Cagney + + * MAINTAINERS: Chris Faylor is responsible for all MS Windows + systems. Note that Jim Blandy as maintainer for ``tracing + bytecode stuff'' + +2000-02-25 Fernando Nasser + + From: Thomas Zenker + * rdi-share/hsys.c: to compile under 4.4BSD derived systems (FreeBSD, + NetBSD...) sys_errlist should not be declared in hsys.c. + NEED_SYSERRLIST is set already by configure, so we can use it. + * rdi-share/unixcomm.c: 4.4BSD derived systems define BSD, but are + posix compliant and we should not work with the old compatibility + stuff. Because of that I undef BSD in case of FBSD etc and include + sys/ioctl to get the flags. + * rdi-share/unixcomm.c: If the TIOCEXCL flags exists set serial line + for exclusive use. + +2000-02-24 Kevin Buettner + + * ppc-linux-tdep.c (ppc_sysv_abi_push_arguments): Put address + of return structure in r3 if necessary. + (ppc_linux_memory_remove_breakpoints): New function. + * rs6000-tdep.c (skip_prologue): Make sure that the cases + for storing either cr or lr to the stack only handle those + cases. (I.e, don't let these cases match 0x00000000 which is + found found in the shared library trampoline prior to the + loading of the shared library.) + * config/powerpc/tm-linux.h (ppc_linux_memory_remove_breakpoint): + Declare. + (MEMORY_REMOVE_BREAKPOINT): Define. + +Wed Feb 23 23:27:48 2000 Andrew Cagney + + * hppah-nat.c: Include "gdb_wait.h" instead of . + +Thu Feb 24 18:42:15 2000 Andrew Cagney + + * configure.in (CONFIG_INSTALL, CONFIG_UNINSTALL): Set to + $(SUBDIR_*_INSTALL) when so configured. + * configure: Regenerate. + + * Makefile.in (CONFIG_INSTALL, CONFIG_UNINSTALL): Define using + configure. + (install-only): Add dependency on $(CONFIG_INSTALL). Delete code + installing GDBtk. + (uninstall): Add dependency on $(CONFIG_UNINSTALL). + (SUBDIR_MI_INSTALL, SUBDIR_MI_UNINSTALL, SUBDIR_GDBTK_UNINSTALL, + SUBDIR_GDBTK_INSTALL): Define. + (install-gdbtk): New target. + +Thu Feb 24 18:19:52 2000 Andrew Cagney + + * configure.in (SUBDIR_MI_CFLAGS): Fix typo, wrong brace. + * configure: Regenerate. + +2000-02-24 Christopher Faylor + + * configure.tgt: Add arm, mips, sh wince targets. + * 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. + +Wed Feb 23 19:01:45 EST 2000 Nicholas Duffek + + * top.c (SIGJMP_BUF, SIGSETJMP, SIGLONGJMP): Update comments. + (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. + +2000-02-23 Fernando Nasser + + * 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. + +Wed Feb 23 12:58:46 2000 Andrew Cagney + + * gdbarch.sh (dis_asm_read_memory): Change LEN to unsigned long. + Match ../include/dis-asm.h change. + * gdbarch.h: Regenerate. + * corefile.c (dis_asm_read_memory): Update. + +Mon Feb 21 13:57:27 2000 Andrew Cagney + + * configure.in (CONFIG_INITS): Fix typo, was CONFIG_INIT. + (ENABLE_CFLAGS): Move initialization to start of file. + (enable-gdbmi): Add new configure option --enable-gdbmi. When + selected and an ${srcdir}/mi directory is present enable MI + interface. + + * configure: Regenerate. + + * Makefile.in (SUBDIR_MI_OBS, SUBDIR_MI_SRCS, SUBDIR_MI_DEPS, + SUBDIR_MI_INITS, SUBDIR_MI_LDFLAGS, SUBDIR_MI_CFLAGS): New macros. + (CONFIG_OBS, CONFIG_SRCS, CONFIG_DEPS, CONFIG_INITS, + CONFIG_LDFLAGS): New macros. Initialized by autoconf via + @CONFIG...@. + (INTERNAL_LDFLAGS, CDEPS, LINTFILES, DEPFILES, SOURCES, + INIT_FILES): Use $(CONFIG_...) instead of @CONFIG...@. + + * mi: New directory. MI interface to GDB. + + * defs.h (interpreter_p): Declare when UI_OUT. + * top.c (gdb_init): When interpreter_p, check that the interpreter + was recognized by one of the linked in interpreters. + * main.c (interpreter_p): Define. + (captured_main): When UI_OUT, check for ``-i '' option. + * event-top.c (display_gdb_prompt): When interpreter_p, assume + interpreter displays prompt. + + * breakpoint.c (print_it_typical, watchpoint_check, + print_one_breakpoint, mention): When MI include additional + target status information. + * infrun.c (print_stop_reason, normal_stop): Ditto. + +2000-02-22 Jim Blandy + + * gdbarch.sh: Make the `default' field really default to zero, as + documented. + + Bring COERCE_FLOAT_TO_DOUBLE under gdbarch's control. + * valops.c (COERCE_FLOAT_TO_DOUBLE): Rework definition to be + more function-like. + (default_coerce_float_to_double, standard_coerce_float_to_double): + New functions. + (value_arg_coerce): Adjust for new definition. + * value.h (default_coerce_float_to_double, + standard_coerce_float_to_double): New declarations for the above. + * gdbarch.sh (coerce_float_to_double): New entry, replacing macro. + * gdbarch.c, gdbarch.h: Regenerated. + * tm-alpha.h, tm-fr30.h, tm-m32r.h, tm-mips.h, tm-hppa.h, + tm-rs6000.h, tm-sh.h, tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Change + definitions. + * mips-tdep.c (mips_coerce_float_to_double): Supply our own custom + function here. + (mips_gdbarch_init): Install that as our coerce_float_to_double + function. + +2000-02-22 Kevin Buettner + + * ppc-linux-nat.c (supply_gregset, supply_fpregset): Add return + type. + * ppc-linux-tdep.c (ppc_linux_at_sigtramp_return_path): Add + forward declaration. + + * ppc-linux-tdep.c (ppc_linux_frame_saved_pc): Handle case + where the next frame is a signal handler caller. + + * config/powerpc/tm-linux.h (PUSH_ARGUMENTS): Remove extraneous + undef. + (tm-linux.h): Include. + (tm-sysv4.h): Don't include (directly). config/tm-linux.h will + include this file for us. + (REALTIME_LO, REALTIME_HI): Don't define. These are defined by + config/tm-linux.h for us. + (SOFUN_ADDRESS_MAYBE_MISSING): Define. + +2000-02-21 Kevin Buettner + + * Makefile.in (ppc-linux-nat.c, ppc-linux-tdep.c): New files. + (ppc-linux-nat.o, ppc-linux-tdep.o): Add dependencies. + * configure.tgt (powerpc-*-linux*): Separate from powerpc-*-eabi + and like targets. + + * ppc-linux-nat.c, ppc-linux-tdep.c, config/powerpc/linux.mt, + config/powerpc/nm-linux.h, config/powerpc/tm-linux.h: New files. + * config/powerpc/xm-linux.h: Substantially revised for native + port. + * config/powerpc/linux.mh (NAT_FILE): Redefine to be nm-linux.h. + (NATDEPFILES): Update list to reflect the fact that we can + now debug natively. + + * rs6000-tdep.c, config/rs6000/tm-rs6000.h + (rs6000_frameless_function_invocation, rs6000_frame_saved_pc): + Renamed; The former names were lacking the rs6000_ prefix. + * rs6000-tdep.c (rs6000_frame_saved_pc): Call FRAME_CHAIN + instead of rs6000_frame_chain. + (rs6000_frame_chain): Call FRAMELESS_FUNCTION_INVOCATION instead + of rs6000_frameless_function_invocation. + +2000-02-21 Elena Zannoni + + From Philippe De Muyter + + * 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. + +2000-02-21 Jim Kingdon + + * MAINTAINERS (Misc): Clarify that yes, anyone can edit web pages. + +Mon Feb 21 12:50:57 2000 Andrew Cagney + + * buildsym.c: Include "language.h" and "expression.h" for + longest_local_hex_string_custom. + +Mon Feb 21 11:17:18 2000 Andrew Cagney + + * gdbarch.sh: Include instead of . + * gdbarch.c: Already updated by Wed Feb 9 18:59:16 2000 Andrew + Cagney . + +Mon Feb 21 11:03:01 2000 Andrew Cagney + + * MAINTAINERS: Update: IA-64 - Kevin Buettner; ARM - Fernando + nasser, Jim Ingham and Scott Bambrough; GNU/Linux ARM - Scott + Bambrough; event loop - Elena Zannoni; SDS and RDI/APD protocol - + to Fernando Nasser and Jim Ingham; KOD - Fernando Nasser; MI - + Andrew Cagney, Elena Zannoni and Fernando Nasser; Web pages - Jim + Kingdon. + * MAINTAINERS: Add Nick Clifton to write after approval list. + +Mon Feb 21 10:30:39 2000 Andrew Cagney + + * MAINTAINERS: Add note on multiple maintainers. + +2000-02-19 Philippe De Muyter + + * cli-out.c (cli_table_header): Type of parameter `alignment' is + `enum ui_align', not `int'. + (cli_field_string, cli_field_skip): Likewise. + +2000-02-18 Jim Blandy + + From Jimmy Guo : + * buildsym.h (add_free_pendings): Declare. + * buildsym.c (add_free_pendings): New function. + (make_blockvector): 32x64 fix using longest_local_hex_string(). + (start_subfile): initialize variable 'subfile'. + +2000-02-18 Elena Zannoni + + * 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. + +2000-02-17 Fernando Nasser + + From Rodney Brown + * ui-out.c (ui_out_set_flags): Fix typo, removing warning and + potentially harming mistake. + +2000-02-17 Fernando Nasser + + * arm-tdep.c: Use header file instead of extern declarations for + the {get,set}_arm_regname* functions. + +2000-02-16 Fernando Nasser + + * configure.in: Replaces obsolete gdbtk-variable.c with + gdbtk-varobj.c. + * configure: Regenerate. + * Makefile.in: Remove obsolete/extraneous references to + gdbtk-var* files. + +2000-02-16 Mark Kettenis + + * 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. + +2000-02-16 Mark Kettenis + + * configure: Regenerated. + +2000-02-16 Fernando Nasser + + * 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. + +2000-02-09 Mark Kettenis + + * configure.in: Check for lwpid_t, psaddr_t, prgregset_t and + prfpregset_t in . + * 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. + +Wed Feb 16 19:00:02 2000 Andrew Cagney + + From 2000-01-26 Rodney Brown : + * procfs.c: Define MERGEPID if not defined. For osf4.0e. + +2000-02-15 Jason Molenda (jsm@bugshack.cygnus.com) + + * Makefile.in (diststuff): Run 'diststuff' in doc/ subdir, not + 'do-doc'. + +2000-02-15 Kevin Buettner + + Changes for AIX 4.3: + * rs6000-tdep.c (rs6000_fix_call_dummy): Set TOC register + to correct value for generic dummy frames. When using + generic dummy frames, don't attempt to write TOC value or + function to call into the call dummy. + (rs6000_push_arguments): Adapt USE_GENERIC_DUMMY_FRAMES + code to also handle the PowerOpen ABI. + (ppc_push_return_address): Enable for all ports. + * config/powerpc/tm-ppc-aix.h (USE_GENERIC_DUMMY_FRAMES, + PUSH_DUMMY_FRAME, PUSH_RETURN_ADDRESS, GET_SAVED_REGISTER, + CALL_DUMMY_BREAKPOINT_OFFSET, CALL_DUMMY_LOCATION, + CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET): Override defaults + provided by generic RS6000 definitions so that call dummies + are implemented using generic dummy frames instead. + + * rs6000-nat.c (store_inferior_registers): Call exec_one_dummy_insn() + prior to changing the stack pointer via ptrace(). Also, ignore + attempts to store to undefined registers that are less than + NUM_REGS. + + * rs6000-tdep.c (DUMMY_FRAME_SIZE): Change size of the dummy + frame from 436 to 448 to account for alignment padding. + (rs6000_push_arguments): Obtain actual register size instead + of assuming the register is 4 bytes long. [There's still + more work to be done to totally remove the 4 byte assumption, + however.] Make sure the stack is 16 byte aligned as required + by the PowerOpen ABI. Also, make sure that small structures + passed in registers are properly aligned within the register. + +2000-02-15 Jesper Skov + + Patch applied by Kevin Buettner + + * rs6000-tdep.c (skip_prologue): skip copying of argument + registers to local variable registers. + +2000-02-14 Jim Kingdon + + * elfread.c (elf_symtab_read): Revert changes by Amit S. Kale. A + sym->section->index number is not a SECT_OFF_* code. + +Tue Feb 15 12:07:30 2000 Andrew Cagney + + * MAINTAINERS (write after approval): Add H.J. Lu. + +2000-02-14 Nick Clifton + + * sh-tdep.c: Remove extraneous code. + +2000-02-14 Amit S. Kale + + * elfread.c (elf_symtab_read): Move the use of sym to after where + it is set. + Checked in by Jim Kingdon + +Mon Feb 14 15:39:01 2000 Andrew Cagney + + * MAINTAINERS: Make Nick Duffek the UnixWare threads maintainer. + +Mon Feb 14 15:20:26 2000 Andrew Cagney + + From 1999-11-24 Jason Merrill : + * dwarf2read.c: (die_is_declaration): New fn. + (read_structure_scope): Use it. + + * dwarf2read.c: (die_is_declaration): Convert to ISO-C. + +2000-02-10 J.T. Conklin + + * config/i386/nbsd.mt (GDBSERVER_DEPFILES): Add low-nbsd.o + * configure.tgt (i[3456]86-*-netbsd*): add gdbserver to + configdirs. + * gdbserver/low-nbsd.c: New file. + + * gdbserver/Makefile.in: convert to autoconf. + * gdbserver/configure.in: likewise. + * gdbserver/configure: generate. + +Sun Feb 13 11:21:00 2000 Andrew Cagney + + * CONTRIBUTE: New file. How to contribute to GDB. + +Sun Feb 13 10:34:48 2000 Andrew Cagney + + * MAINTAINERS: Add Eli Zaretskii to djgpp maintiners. Add Kevin + Buettner to powerpc maintainers. Make Kevin Buettner the + GNU/LINUX PPC native maintainer. Add J.T. Conklin, Jim Kingdon + and Jason Molenda to write after aproval list. + +Sun Feb 13 10:18:44 2000 Andrew Cagney + + * MAINTAINERS: Reformat. Separate into check-in categories. + +Sat Feb 12 01:08:21 EST 2000 Nicholas Duffek + + * uw-thread.c: Remove __FUNCTION__ GNUism. + +2000-01-17 Amit S. Kale + + * 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 + +2000-02-10 Mark Kettenis + + * gnu-nat.c: Remove hackery to include . It is + no longer necessary now we have gdb_wait.h. + +2000-02-09 Mark Kettenis + + * 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 + + * 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. + +2000-02-10 Jim Kingdon + + * defs.h (MERGEPID): Added. Patch submitted by Andrew Hobson and + approved by Michael Snyder. + +2000-02-09 Mark Kettenis + + * linux-thread.c: Include defs.h before gdb_wait.h. + +Wed Feb 9 18:59:16 2000 Andrew Cagney + + * Makefile.in (wait_h): Delete macro. Update all dependencies + specifying gdb_wait.h instead. + + * ser-unix.c, ser-pipe.c, remote.c, remote-udi.c, remote-sds.c, + remote-os9k.c, remote-es.c, remote-rdp.c, remote-vx960.c, + remote-vx.c, remote-st.c, remote-nindy.c, remote-mm.c, + convex-xdep.c, convex-tdep.c, target.c, win32-nat.c, standalone.c, + remote-vxmips.c, remote-vxsparc.c, remote-vx68.c, remote-vx29k.c, + remote-sim.c, remote-rdi.c, remote-mips.c, remote-eb.c, + remote-e7000.c, remote-bug.c, remote-array.c, remote-adapt.c, + ppc-bdm.c, ocd.c, monitor.c, m3-nat.c, linux-thread.c, + infttrace.c, lin-thread.c, infptrace.c, gnu-nat.c, gdbarch.c, + fork-child.c, command.c: Include "gdb_wait.h" instead of + or . + * nindy-share/nindy.c, nindy-share/Onindy.c: Ditto. + + * gdb_wait.h: New file. Based on ../include/wait.h. Include + or and then define any missing WIF macros. + +Wed Feb 9 01:14:54 2000 Andrew Cagney + + * config/d10v/tm-d10v.h (NO_EXTRA_ALIGNMENT_NEEDED): Define. + * config/d10v/tm-d10v.h (STACK_ALIGN): Define. + (d10v_stack_align): Declare. + * d10v-tdep.c (d10v_stack_align): Define. + +1999-08-23 J.T. Conklin + + * top.c (remote_timeout): Change default to 2. Add comment + explaining history of changes to the default value. + * remote.c (_initialize_remote): Remove code that adds set/ + show remotetimeout, as that's also done in top.c + +1999-10-18 J.T. Conklin + + * m32r-stub.c, sparcl-stub.c, sparclet-stub.c (handle_exception): + Return E01 instead of P01 when 'P' command fails. + +2000-02-05 J.T. Conklin + + * remote.c (putpkt_binary): Handle NAK from target stub. + +2000-02-08 Elena Zannoni + + * 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. + +2000-02-07 Jim Kingdon + + Clean up compiler warnings: + * 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. + +2000-02-04 Jim Blandy + + * c-typeprint.c (remove_qualifiers): New function. + (c_type_print_base): Use it to remove qualifiers from C++ + qualified names, not strrchr. + + * c-typeprint.c (c_type_print_base): Recognize type conversion + operators by calling is_type_conversion_operator. + (is_type_conversion_operator): New function. + +2000-02-04 Nick Clifton + + * config/arm/tm-arm.h (LOWEST_PC): Define. + +2000-02-04 Elena Zannoni + + * infrun.c (resume): Make just one call to target_resume(), instead + of four: set up correct parameters in all the cases ahead of time, + and do call at the end. + +2000-02-04 Elena Zannoni + + * config/powerpc/tm-ppc-eabi.h: Define + SOFUN_ADDRESS_MAYBE_MISSING. + +2000-02-04 Fernando Nasser + + * arm-tdep.c (arm_pc_is_thumb_dummy): Account for large dummy + frames (revisited). + +Fri Feb 4 22:42:36 2000 Andrew Cagney + + * Makefile.in (INIT_FILES): Append CONFIG_INITS + * configure.in (CONFIG_INIT): Initialize. + (links): Link srcdir/gdbtk/library to gdbtcl2. + * gdbtcl2: Moved to gdbtk/library. + ChangeLog-gdbtk, gdbtk-cmds.c, gdbtk-hooks.c, gdbtk-variable.c, + gdbtk-varobj.c, gdbtk-wrapper.c, gdbtk-wrapper.h, gdbtk.c, + gdbtk.h: Moved to gdbtk/generic. + +2000-02-03 Elena Zannoni + + * printcmd.c (build_address_symbolic): New function. Returns all + the parts that are necessary to print an address in a symbolic + form. + (print_address_symbolic): Split into a printing part and an + information building part, build_address_symbolic(). + + * defs.h (build_address_symbolic): Export. + +2000-02-03 Jim Blandy + + * dwarf2read.c (decode_locdesc): Add support for the DW_OP_bregx + opcode. + +2000-02-02 Fernando Nasser + + * arm-tdep.c (arm_push_arguments): Fix passing of floating point + arguments on dummy frames. + +2000-02-02 Fernando Nasser + + * arm-tdep.c (arm_pc_is_thumb_dummy): Account for large dummy frames. + (arm_pop_frame): Account fr dummy frames (as opposed to real ones). + +2000-02-01 Elena Zannoni + + * remote.c (getpkt_sane): New function. It is the old getpkt(), + which now returns a timeout indication. + (getpkt): New function. Wrapper for getpkt_sane(), so that return + value can still be ignored. + +Tue Feb 1 18:47:31 2000 Andrew Cagney + + * top.c (print_gdb_version): Print ``UI_OUT'' when configured with + UI_OUT. + +Tue Feb 1 00:17:12 2000 Andrew Cagney + + * ui-file.c, ui-file.h: Rename gdb-file.h, gdb-file.c. Rename + ``struct gdb_file'' to ``struct ui_file''. Delete typedef + GDB_FILE. + + * Makefile.in: Update. + + * ax-gdb.c, ax-general.c, ax.h, buildsym.c, c-lang.c, c-lang.h, + c-typeprint.c, c-valprint.c, ch-lang.c, ch-lang.h, ch-typeprint.c, + ch-valprint.c, command.c, command.h, convex-tdep.c, corefile.c, + cp-valprint.c, d10v-tdep.c, d30v-tdep.c, defs.h, expprint.c, + expression.h, f-lang.c, f-lang.h, f-typeprint.c, f-valprint.c, + frame.h, gdb-events.sh, gdb-file.c, gdb-file.h, gdbcmd.h, + gdbtypes.h, hppa-tdep.c, jv-lang.c, jv-lang.h, jv-typeprint.c, + jv-valprint.c, language.c, language.h, m2-lang.c, m2-lang.h, + m2-typeprint.c, m2-valprint.c, m3-nat.c, main.c, monitor.c, + printcmd.c, pyr-tdep.c, remote-mips.c, remote-sim.c, remote-udi.c, + remote.c, scm-lang.c, scm-lang.h, scm-valprint.c, ser-e7kpc.c, + ser-go32.c, ser-mac.c, ser-ocd.c, ser-unix.c, ser-unix.h, + serial.c, serial.h, stack.c, symfile.c, symmisc.c, tahoe-tdep.c, + target.c, target.h, top.c, top.h, typeprint.c, typeprint.h, + utils.c, v850ice.c, valprint.c, valprint.h, value.h, + config/pa/tm-hppa.h: Update. + * cli-out.c, cli-out.h, ui-out.c, ui-out.h, varobj.c: Update. + +2000-01-31 Jason Molenda (jsm@bugshack.cygnus.com) + + * config/alpha/alpha-osf2.mh, config/alpha/alpha-osf3.mh, + config/i386/i386dgux.mh, config/i386/i386sol2.mh, + config/i386/i386v4.mh, config/i386/i386v42mp.mh, + config/i386/ncr3000.mh, config/m68k/m68kv4.mh, + config/m88k/delta88v4.mh, config/mips/irix4.mh, + config/mips/irix5.mh, config/mips/mipsv4.mh, + config/powerpc/solaris.mh (NATDEPFILES): Change references to + proc_api.o, proc_events.o, proc_flags.o, and proc_why.o to + proc-api.o, proc-events.o, proc-flags.o, and proc-why.o. + +Mon Jan 31 17:14:52 2000 Andrew Cagney + + * top.c (fputs_unfiltered_hook): Moved to tui/tui-file.c. + + * main.c (captured_main): Only use the legacy tui_file code when + linking in older code such as the TUI. + + * gdb-file.h, gdb-file.c: New files. + * utils.c, defs.h (struct gdb_file, gdb_file_new, gdb_file_delete, + null_file_isatty, null_file_rewind, null_file_put, + null_file_flush, null_file_write, null_file_fputs, + null_file_delete, gdb_file_data, gdb_flush, gdb_file_isatty, + gdb_file_rewind, gdb_file_put, gdb_file_write, fputs_unfiltered, + set_gdb_file_flush, set_gdb_file_isatty, set_gdb_file_rewind, + set_gdb_file_put, set_gdb_file_write, set_gdb_file_fputs, + set_gdb_file_data, struct accumulated_gdb_file, + do_gdb_file_xstrdup, gdb_file_xstrdup, struct mem_file): + mem_file_new, mem_file_delete, mem_fileopen, mem_file_rewind, + mem_file_put, mem_file_write, struct stdio_file): stdio_file_new, + stdio_file_delete, stdio_file_flush, stdio_file_write, + stdio_file_fputs, stdio_file_isatty, stdio_fileopen, gdb_fopen): + Moved to gdb-file.h and gdb-file.c. + * utils.c (enum streamtype, struct tui_stream, tui_file_new, + tui_file_delete, tui_fileopen, tui_sfileopen, tui_file_isatty, + tui_file_rewind, tui_file_put, tui_file_fputs, + tui_file_get_strbuf, tui_file_adjust_strbuf, tui_file_flush, + fputs_unfiltered_hook): + Moved to tui/tui-file.c and tui/tui-file.h. + + * Makefile.in (COMMON_OBS): Add gdb-file.o, tui-file.o. + (tui-file.o, gdb-file.o): Add dependencies. + (corefile.o, main.o, utils.o, simmisc.o): Update dependencies. + * main.c: #include tui/tui-file.h. + +2000-01-28 Fred Fish + + * findvar.c (value_from_register): Special case handling of D10V + pointer values fetched from registers. + +2000-01-28 Fernando Nasser + + * arm-tdep.c (thumb_skip_prologue, thumb_scan_prologue): Add + support for new style thumb prologues. + +2000-01-28 Nick Clifton + + * arm-tdep.c: Remove extraneous dash at start of strings + introduced in previous delta. + +2000-01-27 Nick Clifton + + * arm-tdep.c: Replace uses of arm_toggle_renames() with + parse_arm_disassembler_option(). + +2000-01-27 Jim Blandy + + * symtab.c (decode_line_1): Don't let commas that are within + quotes or parenthesis terminate the line spec. Don't use pp when + removing the final double quote of a double-quoted string. Don't + forget to skip the opening double quote. I have no clue whether + this change is correct; probably we've just moved this function + from one buggy place to another buggy place, and never came within + an outhouse whiff of correctness. + (find_toplevel_char): New function. + +2000-01-27 Fernando Nasser + + * arm-tdep.c (arm_push_arguments): Set the thumb mode bit when + passing the pointer to a thumb function as an argument. + +2000-01-27 Fernando Nasser + + * remote-rdi.c (arm_rdi_mourn_inferior): Make sure breakpoints + are reinserted for another run. + +2000-01-27 Fernando Nasser + + * cli-out.c (cli_filed_string): Test for NULL string. + +2000-01-27 Fernando Nasser + + * infcmd.c (run_stack_dummy): Account for a random signal stopping + the inferior as well as breakpoints being hit while performing an + inferior function call. + * valops.c (hand_function_call): Ditto. + +2000-01-27 Elena Zannoni + + From Mark Kettenis + + * config/i386/tm-i386gnu.h (THREAD_STATE_FLAVOR): Define to + i386_REGS_SEGS_STATE. + (HAVE_I387_REGS): Define. + (FLOAT_INFO): Remove. + * i386gnu-nat.c: Almost completely rewritten to use new i386 + register layout and `float info' implementation. + * gnu-nat.c (inf_update_procs, proc_get_state, proc_string): + Move prototypes from here. + * gnu-nat.h: To here. + +2000-01-24 Kevin Buettner + + * utils.c (get_field, put_field): Fix buffer underruns and + overruns. Also, handle case where total_len is not evenly + divisible by 8. + (getfield): Make sure zeroing of unwanted bits occurs even + when bit field to extract does not straddle two or more + bytes. + +2000-01-23 Christopher Faylor + + * defs.h: Add gdb_thread_select declaration. + +2000-01-23 Kevin Buettner + + * linux-thread.c (_initialize_linuxthreads): Make sure that + linuxthreads_block_mask does not block SIGCHLD. + +2000-01-20 Fernando Nasser + + * rdi-share/devsw.c (openLogFile): On cygwin, set the log mode to + text so that new lines work properly. + +2000-01-18 Elena Zannoni + + * proc-utils.h: New file. Export functions from proc-*.c. + + * proc_api.c: Rename to: + * proc-api.c: New file. Add include of proc-utils.h. + + * proc_events.c: Rename to: + * proc-events.c: New file. + + * proc_flags.c: Rename to: + * proc-flags.c: New file. + + * proc_why.c: Rename to: + * proc-why.c: New file. Add include of proc-utils.h. + + * procfs.c: Add includes of gdbthread.h, sys/wait.h, signal.h, + ctype.h, proc-utils.h. + (find_procinfo_or_die): Add braces to avoid ambiguous else clause. + (open_procinfo_files): Conditionalize local variable tmp, to avoid + compiler warnings. + (proc_iterate_over_mappings): Conditionalize local vars mapfd and + pathname. + (procfs_wait): Adjust format in some printf_filetered calls to + avoid compiler warnings. + (make_signal_thread_runnable): Ifdef 0. The calls to this function + are also ifdef'd 0 . + (procfs_resume): Add parentheses around '&&' operation. + (procfs_set_exec_trap): Remove unused variable. + (info_proc_cmd): Add braces to avoid ambiguous else clause. + + * Makefile.in (procfs.o, proc-api.o, proc-events.o, proc-flags.o, + proc-why.o): Update dependencies. + + * config/sparc/sun4sol2.mh (NATDEPFILES): Change proc_*.o files to + proc-*.o. + +2000-01-17 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (NEW_PROC_API): Fix Unixware-matching regexp. + Fix from Robert Lipe . + * configure: Regenerated. + +2000-01-17 Elena Zannoni + + * stack.c (print_frame_info_base): Break up into the frame info + (location) printing part and the rest (source line printing). + (print_frame): New function. Take care of printing the location + information. + Update copyright. + + * infrun.c (normal_stop): Use enum values rather than integers for the + source_flag to be passed to show_and_print_stack_frame(). + Update copyright. + + * frame.h (print_what): New enum for 'source' argument to + print_frame_info_base(). Use this instead of obscure numbers. + Update copyright. + +Sun Jan 16 17:58:00 2000 David Taylor + + * event-top.c (stdin_event_handler): call quit_command rather than + exit -- run cleanups, give target code a chance to say goodbye to + the target. Fixes bug where the inferior processes were left + around on Solaris (and probably elsewhere) by the testsuite. + +2000-01-14 Mark Salter + + * v850-tdep.c (v850_target_architecture_hook): Setup correct + machine id for disassembly. + +2000-01-13 Jim Blandy + + * i386-linux-nat.c (fill_gregset): Pass the correct arguments to + convert_to_regset, when regno indicates a specific register. + +Thu Jan 13 23:34:17 EST 2000 Nicholas Duffek + + * uw-thread.c: Document libthread.so debugging interface. Minor + comment and formatting tweaks. + (DEBUG): #define as 0 instead of 1. + (CALL_BASE): Include function name in error msg. + (libthread_stub): Adjust inferior_pid after thread exit. + (uw_thread_create_inferior): Deactivate uw_thread_ops before + asking procfs_ops to create inferior. + (libthread_init): Don't return nonlocally on error. + +2000-01-12 Fernando Nasser + + * rdi-share/ardi.c (negotiate_params): Fix initialization of static + variable. + +2000-01-12 Fernando Nasser + + * remote-rdi.c (arm_rdi_open): Call arm-rdi-close() to make sure + both sides are on the same state. + +2000-01-12 Fernando Nasser + + * rdi-share/serdrv.c (find_baud_rate): Fix entries for 57600 and + 115200 (minor syntax mistake). + +2000-01-12 Jim Blandy + + * config/sparc/tm-sun4sol2.h (MERGEPID): Provide a definition for + this here, to go along with the definitions of PIDGET and TIDGET. + +2000-01-12 Elena Zannoni + + * thread.c (do_captured_thread_select): New function. Switch + current thread, safely from within catch_errors(). + (gdb_thread_select): New function. Switch threads safely. + (thread_command): Use gdb_thread_select(). + Include ui-out.h. + (do_captured_list_thread_ids): New function. + (gdb_list_thread_ids): New function. + + * defs.h (gdb_thread_select, gdb_list_thread_ids): Export. + +2000-01-11 Christopher Faylor + + * configure.in: Avoid linking -limagehlp unless it's a native build. + * configure: Regenerate. + * thread.cc (add_thread): Clear private data pointer here or suffer + strange behavior when it is checked for NULL later. + +2000-01-09 Christopher Faylor + + * win32nat.c (handle_exceptions): Handle various arithmetic exceptions. + * configure.in: Add an additional library to cygwin link. + * configure: Regenerate. + + Patch from Egor Duda : + * coffread.c (coff_symfile_read): Reinstate ability to recognize "pe" + type. + +2000-01-07 Michael Snyder + + * uw-thread.c: New file to support UnixWare user-mode threads: + contributed by Nickolas Duffek . + * target.h (struct target_ops): New vector, to_extra_thread_info, + allows back-ends to give extra details in info thread display. + (target_extra_thread_info): define new macro. + (target_find_new_threads): simplify macro. Cleanup comments. + * target.c (to_extra_thread_info): default and inherit new vector. + (cleanup_target): eliminate PARAMS, break up long lines, + provide default definition for to_extra_thread_info, and + to_find_new_threads. Default to_thread_alive and to_query + to return_zero, not target_ignore (they each return int not void). + (debug_to_find_new_threads): new debug entry. + (setup_target_debug): add debug_to_find_new_threads. + * gdbthread.h: export struct thread_info, find_thread_pid, and + iterate_over_threads. Add comments. Eliminate PARAMS. Update + copyright. Add new private data pointer for use by target back-ends. + * thread.c (struct thread_info): move definition to gdbthread.h. + (find_thread_pid): new exported function for thread lookup. + (iterate_over_threads): new exported function for applying + arbitrary operations to threads. Update copyright to 2000. + (info_threads_command): use new target_extra_thread_info vector + to display extra information about each thread (if implemented). + * config/i386/tm-i386v42mp.h: remove obsolete #defines for procfs. + Add defines for PIDGET, etc. + * config/i386/tm-i386sol2.h: ditto. + * config/sparc/tm-sun4sol2.h: ditto. + * config/i386/i386v42mp.mh: add uw-thread.o to NATDEPFILES. + * testsuite/gdb.threads/pthreads.exp: Try to link with -lthread + if -lpthread and -lpthreads fail. + + * procfs.c: (PIDGET, TIDGET, MERGEPID): change default to no-op. + (proc_flags): combine flags that UnixWare splits into two locations. + (proc_modify_flag): add support for PR_KLC (kill on last close). + (proc_[un]set_kill_on_last_close): new functions. + +2000-01-07 Elena Zannoni + + * infrun.c (normal_stop): Print out thread id when we stop. + +2000-01-06 Fernando Nasser + + * remote.c (remote_open_1): Fix message so it does not imply a + specific syntax for serial ports, as it is OS dependent. + (remote_async_open_1): Ibid. + (init_remote_ops): Ibid. + +2000-01-06 Fernando Nasser + + * rdi-share/serdrv.c (SerialOpen): Use speed from "-b" argument or + "set remotebaud" command (if set) when no speed is specified on + the "target rdi" command. + +2000-01-06 Fernando Nasser + + * rdi-share/serdrv.c (find_baud_rate): Add entries for 57600 and + 115200. + (baud_options[]): Ibid. + +2000-01-06 Fernando Nasser + + * rdi-share/unixcomm.c: Fix SERIAL_PREFIX so it matches the prefix + used by each operating system. + +2000-01-06 Elena Zannoni + + * breakpoint.c (until_break_command): Add an argument for the + continuation, the beginning of the cleanups set up by this + command. + (until_break_command_continuation): Do cleanups until the one + passed in as argument instead of doing all of them. + + * infcmd.c (finish_command_continuation): Expect a new argument, + which indicates up to where to do cleanups. Update calls to + do_exec_cleanups to use this marker, instead of ALL_CLEANUPS. + (finish_command): Add another argument for the continuation: the + starting cleanup for this command. + +2000-01-05 Fernando Nasser + + From Grant Edwards (original patch from Thomas + Zenker ): + * rdi-share/ardi.c: Allow interruption of interruptible + targets with a . + +2000-01-04 Fernando Nasser + + * rdi-share/etherdrv.c (fetch_ports): Send extra words on request + to control port to accommodate some versions of Angel. + +2000-01-04 Fernando Nasser + + * rdi-share/devsw.c (dumpPacket): Fix source of channel information. + Add interpretation for C Support Library packets. + +2000-01-04 Fernando Nasser + + * rdi-share/devsw.c (DevSW_Close): Remove const from argument that + is now being modified. + * rdi-share/devsw.h: Adjust declaration of the above funtion. + +For older changes see ChangeLog-1999 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-2001 b/contrib/gdb/gdb/ChangeLog-2001 new file mode 100644 index 0000000..ccd64de --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-2001 @@ -0,0 +1,9895 @@ +2001-12-30 Michael Snyder + + * sparc-tdep.c (sparc-store-return-value): Whitespace fix-up. + +2001-12-29 Elena Zannoni + + * Makefile.in (rs6000-tdep.o): Add dependency on parser-defs.h. + + * rs6000-tdep.c: Include parser-defs.h. + (rs6000_register_virtual_type): Rewrite, including handling of + AltiVec regs type. + (altivec_register_p): New function. + (rs6000_do_altivec_registers): New function. + (rs6000_altivec_registers_info): New function. + (rs6000_do_registers_info): New function. + (R16): Define. + (PPC_ALTIVEC_REGS): Define. + (registers_powerpc): Add AltiVec registers. + (registers_7400): Define. + (variants): Add 7400 machine. + (rs6000_gdbarch_init): Set the numbers of AltiVec registers. + Initialize gdbarch_do)_registers_info. + (rs6000_info_power_command): New function. + (info_power_cmdlist): New static variable. + (_initialize_rs6000_tdep): Add new 'info powerpc altivec' command. + + * ppc-tdep.h (struct gdbarch_tdep): Add altivec regnum fields. + (altivec_register_p): Export. + +2001-12-29 Mark Kettenis + + * i386bsd-nat.c (reg_offset): Fix typo. + + * i386-tdep.c (i386_push_dummy_frame): Don't write back the + modified frame pointer until the old frame pointer has been saved. + +2001-12-30 Andrew Cagney + + * arch-utils.c (initialize_current_architecture): Test byte_order + against BFD_ENDIAN_UNKNOWN. + (gdbarch_info_init): Initialize byte_order to BFD_ENDIAN_UNKNOWN. + * gdbarch.sh: Update comments on default value of byte_order. + (verify_gdbarch, gdbarch_update_p): Test byte_order against + BFD_ENDIAN_UNKNOWN. + * gdbarch.h, gdbarch.c: Re-generate. + +2001-12-27 Michael Snyder + + * i386-linux-nat.c: Include i386-tdep.h. + + * maint.c (match_substring): GNU coding standards fixes. + (print_bfd_section_info): Ditto. + (print_objfile_section_info): Ditto. + +2001-12-27 Mark Kettenis + + * maint.c (match_substring): Make parameters `string' and `substr' + const. Make local variable `tok' const. + +2001-12-27 Mark Kettenis + + * config/i386/tm-i386.h (FP7_REGNUM, FIRST_FPU_CTRL_REGNUM, + FCTRL_REGNUM, FPC_REGNUM, FSTAT_REGNUM, FTAG_REGNUM, FCS_REGNUM, + FCOFF_REGNUM, FDS_REGNUM, FDOFF_REGNUM, FOP_REGNUM, + LAST_FPU_CTRL_REGNUM, XMM0_REGNUM, XMM7_REGNUM, MXCSR_REGNUM, + IS_FP_REGNUM, IS_SSE_REGNUM): Removed. + (FP0_REGNUM): Define conditionally depending on HAVE_I387_REGS. + (SIZEOF_FPU_CTRL_REGS): Hardcode value. + * i386-tdep.h (struct gdbarch_tdep): Change such that it contains + a single member `num_xmm_regs'. + (FPC_REGNUM): New macro. + (FIRST_FPU_REGNUM, LAST_FPU_REGNUM, FISRT_XMM_REGNUM, + LAST_XMM_REGNUM, MXCSR_REGNUM, FIRST_FPU_CTRL_REGNUM, + LAST_FPU_CTRL_REGNUM): Removed. + (FCTRL_REGNUM, FSTAT_REGNUM, FTAG_REGNUM, FOP_REGNUM, XMM0_REGNUM, + MXCSR_REGNUM): Define unconditionally. Change macros to match the + comment describing the register layout. + (FISEG_REGNUM, FIOFF_REGNUM, FOSEG_REGNUM, FOOFF_REGNUM): New macros. + (FP_REGNUM_P, FPC_REGNUM_P, SSE_REGNUM_P): New macros. + (IS_FP_REGNUM, IS_FPU_CTRL_REGNUM, IS_SSE_REGNUM): Make obsolete, + unconditionally define in terms of FP_REGNUM_P, FPC_REGNUM_P and + SSE_REGNUM_P). + (FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM, FDOFF_REGNUM): Make + obsolete, unconditionally define in terms of FISEG_REGNUM, + FIOFF_REGNUM, FOSEG_REGNUM, FOOFF_REGNUM. + * i386-tdep.c (i386_gdbarch_init): Initialize `num_xmm_regs' + member of `struct gdbarch_tdep'. + * x86-64-tdep.c (i386_gdbarch_init): Change initialization of + `struct gdbarch_tdep'. + * i387-nat.c (FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM, FDOFF_REGNUM): + Replace with FISEG_REGNUM, FIOFF_REGNUM, FOSEG_REGNUM and + FOOFF_REGNUM. Use FPC_REGNUM instead of FIRST_FPU_CTRL_REGNUM. + Use XMM0_REGNUM instead of LAST_FPU_CTRL_REGNUM. + +2001-12-25 Andrew Cagney + + * cli/cli-script.c (execute_control_command): Replace value_ptr + with a struct value pointer. + * ch-lang.c (evaluate_subexp_chill): Ditto. + * printcmd.c (printf_command): Ditto. + * tracepoint.c (set_traceframe_context): Ditto. + (encode_actions): Ditto. + * eval.c (evaluate_subexp_standard): Ditto. + +2001-12-25 Andrew Cagney + + * gdbarch.sh: When an int variable, print value using %d instead + of %ld. + * gdbarch.c: Re-generate. + +2001-12-24 Tom Rix + + * config/powerpc/aix.mt (TDEPFILES): Add xcoffread.o to fix a build + failure. + +2001-12-21 Michael Snyder + + * procfs.c (info_proc_cmd): Add the 'mappings' sub-command that + was dropped a few years ago, when procfs.c was rewritten. + (info_proc_mappings): New function, implement 'info proc mappings'. + (mappingflags): New function. + (_initialize_procfs): Document new option to 'info proc' command. + +2001-12-21 Tom Tromey + + * configure, config.in: Rebuilt. + * configure.in: Check for realpath. + * defs.h (gdb_realpath): Declare. + * symtab.h (partial_symtab): Added fullname field. + * source.c (openp): Use gdb_realpath. + (forget_cached_source_info): Clear full name of each partial + symtab. + * utils.c (gdb_realpath): New function. + * symtab.c (lookup_symtab): Removed. + (lookup_symtab_1): Renamed to lookup_symtab. + (lookup_symtab): Look for real path. + (lookup_partial_symtab): Likewise. + +2001-12-21 Michael Snyder + + * maint.c (match_substring): New function. Tokenizer for + maint info sections command arguments. + (match_bfd_flag): Use match_substring. + (print_bfd_section_info): Use match_substring. + (print_objfile_section_info): Use match_substring. + (maintenance_info_sections): Use match_substring. + +2001-12-21 Orjan Friberg + + * configure.tgt: Delete CRIS from multi-arch targets. + + * config/cris/tm-cris.h: New file. + + * config/cris/cris.mt (TDEPFILES): Add corelow.o solib.o solib-svr4.o. + (TM_FILE): New macro. + + * cris-tdep.c (cris_examine): Correct check for srp register. + (supply_gregset, fetch_core_registers, + cris_linux_svr4_fetch_link_map_offsets, cris_fpless_backtrace): + New functions. + (_initialize_cris_tdep): Add core functions and new command. + (cris_gdbarch_init): Define link map offsets. + +Thu Dec 20 16:42:30 2001 Jeffrey A Law (law@cygnus.com) + + * somsolib.c (som_solib_add): Ignore the solib limit threshhold + if AUTO_SOLIB_LIMIT is not greater than zero. + + * somsolib.c (som_solib_create_inferior_hook): No longer warn + about missing __d_pid symbol. + +2001-12-20 Elena Zannoni + + * ppc-linux-nat.c (ppc_ptrace_cannot_fetch_store_register): + New function. + (fetch_register): New function. + (fetch_ppc_registers): New function. + (fetch_inferior_registers): New function. + (store_register): New function. + (store_ppc_registers): New function. + (store_inferior_registers): New function. + (ppc_register_u_addr): Eliminate ustart parameter and its + uses. Make static. + (PT_READ_U, PT_WRITE_U, PTRACE_XFER_TYPE): Define if needed. + Include sys/ptrace.h. + + * config/powerpc/nm-linux.h (FETCH_INFERIOR_REGISTERS): Define. + (U_REGS_OFFSET, REGISTER_U_ADDR): Delete. + + * config/powerpc/linux.mh (NATDEPFILES): Delete core-aout.o. + +2001-12-20 Elena Zannoni + + * rs6000-nat.c (fetch_register): Don't error out unless the + register number is really bogus. + +2001-12-20 Michael Snyder + + * maint.c (maintenance_info_sections): Accept new argument + 'ALLOBJ', iterate over all object files. + (print_section_table): Delete. Replaced by: + (print_section_info): New function. + (print_bfd_section_info): New function. + (print_objfile_section_info): New function. + (_initialize_maint_commands): Add help for new features. + +2001-12-20 Kevin Buettner + + * arm-tdep.c (arm_init_extra_frame_info): Add special case for + call dummies. + (arm_frame_saved_pc): Likewise. + (arm_push_dummy_frame): Make sure all of the GPRs are saved. + (arm_pop_frame): Eliminate special case for call dummies. It + is no longer needed now that the frame info is being properly + initialized. + + * arm-tdep.c (arm_scan_prologue): Don't require "mov ip, sp" + to be the first instruction in the prologue. Also, revise + the way the frame offset is computed for frameless functions. + +2001-12-20 Michael Snyder + + * maint.c (maintenance_info_sections): Pass string argument to + print_section_table, so that it can be used to select sections. + (print_section_table): Change PTR to void *. Look at string arg + to select sections by name and by flag attributes. + (match_bfd_flags): New function. + (print_bfd_flags): New function. + +Thu Dec 20 11:37:50 2001 Jeffrey A Law (law@redhat.com) + + * cli/cli-decode.c (add_cmd): Initialize pre_show_hook in + the new command. + +2001-12-20 Andrew Cagney + + * remote.c (struct packet_reg): Add field in_g_packet. + (struct remote_state): Rename field g_packet to regs; + (free_remote_state): Update. + (init_remote_state): Add pseudo-registers to table. Initialize + in_g_packet. Drop sentinal from table. + (packet_reg_from_regnum, packet_reg_from_pnum): Update. + (remote_fetch_registers): Handle registers not in the g-packet. + (remote_store_registers): Ditto. + +2001-12-20 Andrew Cagney + + * gdbarch.sh (TARGET_CHAR_SIGNED): Do not specify the print + format. + +2001-12-19 Jim Blandy + + * s390-tdep.c (s390_pop_frame_regular): Make sure the saved_regs + array is actually set before we try to use it. + + * s390-tdep.c (s390_frame_saved_pc_nofix): If we get the saved PC + out of the return address register, cache that in the frame's + extra info, just as if we'd gotten it from the saved regs array; + that way, it's not a lie to set the saved_pc_valid flag. + + * s390-tdep.c (s390_get_frame_info): Give orig_sp a reasonable + value, even when fextra_info->stack_bought can't be trusted, + + * s390-tdep.c (s390_readinstruction): Don't call + info->read_memory_func to read zero bytes. Some targets' + xfer_memory functions can't cope with that. + + * gdbarch.sh (TARGET_CHAR_SIGNED): New macro. + * gdbarch.c, gdbarch.h: Regenerated. + * gdbtypes.c (build_gdbtypes): If TARGET_CHAR_SIGNED is zero, + set the TYPE_FLAG_UNSIGNED bit on the type. + * s390-tdep.c (s390_gdbarch_init): On the S/390, characters + are unsigned by default. + * rs6000-tdep.c (rs6000_gdbarch_init): Same for PowerPC and + RS6000. + +2001-12-19 Elena Zannoni + + * corefile.c (do_captured_read_memory_integer, + safe_read_memory_integer): New functions. + * gdbcore.h (safe_read_memory_integer): Export. + * arm-tdep.c (arm_scan_prologue): Use safe_read_memory_integer, + to read the frame value, to capture calls to error(). + +2001-12-19 Jim Blandy + + * s390-tdep.c (s390_register_name): S390_LAST_REGNUM is, in fact, + the last register number, not one greater than the last register + number. + + * s390-tdep.c (s390_register_virtual_type): Replace clever but + incorrect range comparison with correct, legible equivalent. + + * s390-tdep.c (s390_register_raw_size): Replace unnecessarily + obscure range comparison with legible equivalent. + +Wed Dec 19 12:18:57 2001 Jeffrey A Law (law@redhat.com) + + * config/pa/tm-hppa.h (STORE_RETURN_VALUE): Use hppa_store_return_value. + (EXTRACT_RETURN_VALUE): Similarly. + * hppa-tdep.c (hppa_store_return_value): New function. + (hppa_extract_return_value): New function. + + * infttrace.c (child_acknowledge_created_inferior): Pass + correct argument to add_thread. + (update_thread_state_after_attach): Likewise. + +2001-12-19 Fernando Nasser + + * config/arm/tm-arm.h: Properly define SOFTWARE_SINGLE_STEP_P. + Always define SOFTWARE_SINGLE_STEP. + * config/arm/tm-embed.h: Properly define SOFTWARE_SINGLE_STEP_P. + * arm-tdep.c (arm_get_next_pc, thumb_get_next_pc, bitcount, + shifted_reg_val): Always compile these functions. + (arm_software_single_step): Fix second argument in function calls. + +2001-12-19 Andrew Cagney + + * arch-utils.h (gdbarch_info_init): Declare. + * arch-utils.c: Include "arch-utils.h". + (gdbarch_info_init): Define. + (set_endian, set_architecture, set_gdbarch_from_file) + (initialize_current_architecture): Use gdbarch_info_init. + * rs6000-nat.c (set_host_arch): Ditto. + * cris-tdep.c (cris_version_update, cris_mode_update) + (cris_abi_update): Ditto. + +2001-12-19 Jim Blandy + + * c-lang.c (c_emit_char): Print ASCII 11 as '\v', to match + ISO C, and our parser. Print ASCII 0 as '\0', since that's what + people are used to seeing. + +2001-12-18 Jim Blandy + + * c-lang.c (c_printstr, c_builtin_types, cplus_builtin_types): + Fix indentation. + + * Makefile.in (c-exp.tab.o): Delete duplicate build rule. Fix + dependency list on remaining build rule. + +2001-12-18 Martin M. Hunt + + * ser-tcp.c (tcp_open): Disable Nagle algorithm which + improves performance in some cases. + +2001-12-17 Ben Harris + + * armbsd-nat.c: Remove file, renamed to armnbsd-nat.c. + * armnbsd-nat.c: New file, renamed from armbsd-nat.c. + * Makefile.in: Rename armbsd-nat.c to armnbsd-nat.c. + * config/arm/nbsd.mh: Likewise. + +2001-12-17 Corinna Vinschen + + * NEWS: Note new target XStormy16. + * MAINTAINERS: Add -Werror to XStormy16. + +2001-12-17 Fernando Nasser + + From Richard Earnshaw : + * arm-tdep.c (arm_software_single_step): New function. Implements + software single-stepping for ARM targets. + (arm_get_next_pc, thumb_get_next_pc, bitcount, shifted_reg_val): Only + needed for software single-stepping. + * config/arm/tm-arm.h: Activate SOFTWARE_SINGLE_STEP_P. + +2001-12-17 Fernando Nasser + + From Richard Earnshaw : + * config/arm/nbsd.mh, config/arm/nbsd.mt, config/arm/tm-nbsd.h, + config/arm/nm-nbsd.h, config/arm/xm-nbsd.h: New files. + * armbsd-nat.c: New file. + * Makefile.in: Build it. + * configure.host, configure.tgt: Support NetBSD/arm. + +2001-12-17 Corinna Vinschen + + * MAINTAINERS: Add myself as XStormy16 maintainer. + +2001-12-15 Kevin Buettner + + * config/rs6000/tm-rs6000.h (solib.h): Conditionally include. + +2001-12-15 Andrew Cagney + + * gdbarch.c: Re-generate. + +2001-12-15 Andrew Cagney + + * MAINTAINERS: Remove powerpcle-eabi and rs6000-ibm-aix3.2 from + target list. + +2001-12-15 Andrew Cagney + + * defs.h (LITTLE_ENDIAN): Delete definition. + * arch-utils.c, cris-tdep.c, d10v-tdep.c, defs.h, gdbarch.c, + gdbarch.sh, remote-rdp.c, remote-sim.c, sh-tdep.c, sparc-tdep.c, + config/alpha/tm-alpha.h, config/arm/tm-arm.h, + config/i386/tm-i386.h, config/i960/tm-i960.h, + config/ia64/tm-ia64.h, config/mcore/tm-mcore.h, + config/mips/tm-wince.h, config/mn10200/tm-mn10200.h, + config/ns32k/tm-umax.h, config/powerpc/tm-ppcle-eabi.h, + config/sh/tm-wince.h, config/v850/tm-v850.h, config/vax/tm-vax.h, + doc/gdbint.texinfo: Replace LITTLE_ENDIAN with BFD_ENDIAN_LITTLE. + +2001-12-15 Andrew Cagney + + * ui-out.c (struct ui_out_table): Add field entry_level. + (verify_field): New function. + (verify_field_proper_position): Delete function. + (verify_field_alignment): Delete function. + (ui_out_field_int): Update to use verify_field. + (ui_out_field_skip): Ditto. + (ui_out_field_string): Ditto. + (ui_out_field_fmt): Ditto. + (ui_out_table_begin): Initialize table.entry_level. + (ui_out_table_end): Clear table.entry_level. + (ui_out_begin): Call verify_field before pushing the new tuple or + list onto the stack. Use table.entry_level. + +2001-12-14 Corinna Vinschen + + * config/djgpp/fnchange.lst: Add entries for opcodes/xstormy16-* files. + +2001-12-13 Andrew Cagney + + * arch-utils.c (generic_register_virtual_size): Return TYPE_LENGTH + of register's type. + +2001-12-13 Jackie Smith Cashion + + * cli/cli-script.c (print_command_lines): Remove extra + "if", "else", "while", and "end" from show user output. + +2001-12-13 Kevin Buettner + + * i387-nat.c (i387_fill_fxsave): Change type of ``val'' from char + to short so that we don't memcpy() beyond the end of this buffer. + Also, change shift value used in computing val to account for the + fact that only eight bits are used. + +2001-12-13 Corinna Vinschen + + * Makefile.in: Add support for xstormy16. + * configure.tgt: Ditto. + * xstormy16-tdep.c: New file. + * config/xstormy16/xstormy16.mt: New file. + +2001-12-13 Andreas Schwab + + * MAINTAINERS (write-after-approval): Add myself. + +2001-12-12 Jim Blandy + + * Makefile.in (c-exp.tab.o): Add missing dependencies. + + * Makefile.in (c_lang_h): New variable. Use it in dependency + lists, instead of `c-lang.h' itself. + +2001-12-11 Fred Fish + + * c-typeprint.c (c_type_print_base): Use type flags access macros + to test bits. + * ch-typeprint.c (chill_type_print_base): Ditto. + * ch-valprint.c (chill_val_print): Ditto. + * d10v-tdep.c (d10v_pointer_to_address): Ditto. + * dwarf2read.c (dwarf2_add_member_fn): Ditto. + * dwarfread.c (read_structure_scope): Ditto. + * gdbtypes.c (create_range_type): Dittol + (create_set_type): Ditto. + (check_typedef): Ditto. + * jv-typeprint.c (java_type_print_base): Ditto. + * p-typeprint.c (pascal_type_print_base): Ditto + * p-valprint.c (pascal_val_print): Ditto. + * stabsread.c (read_cfront_member_functions): Ditto. + (read_member_functions): Ditto. + (cleanup_undefined_types): Ditto. + * valprint.c (val_print): Ditto. + + * valops.c (hand_function_call): Remove is_prototyped + variable and just use type flag test macro directly. + +2001-12-11 Fred Fish + + * gdbtypes.c (print_bound_type): New function. + (recursive_dump_type): Print type struct code values + TYPE_CODE_BITSTRING, TYPE_CODE_COMPLEX, TYPE_CODE_TEMPLATE, + and TYPE_CODE_TEMPLATE_ARG. + (recursive_dump_type): Print type struct members + upper_bound_type, lower_bound_type, cv_type, and as_type. + Also always print the tagname member, even when it is NULL. + +2001-12-11 Michael Snyder + + * d10v-tdep.c (d10v_register_virtual_size): Delete. + (d10v_gdbarch_init): Use generic_register_virtual_size. + * rs6000-tdep.c (rs6000_register_virtual_size): Delete. + (rs6000_gdbarch_init): Use generic_register_virtual_size. + * x86-64-tdep.c (x86_64_register_virtual_size): Delete. + (i386_gdbarch_init): Use generic_register_virtual_size. + +2001-12-11 Andrew Cagney + + * values.c: Include "gdb_assert.h". + (value_fn_field): Rearange to avoid -Wuninitialized warning. + +2001-12-10 Fred Fish + + * values.c (value_fn_field): Add physname variable. Use a minimal + symbol if we don't find a full symbol. Remove setting of the new + value's type since that was already done by allocate_value(). + Remove obsolete commented out error call since callees need to + handle a NULL return, which is possible result not an error. + * eval.c (evaluate_subexp_standard): Move check for inlined + functions to precede attempt to dereference a NULL argvec[0]. + +2001-12-10 Fred Fish + + * arm-linux-tdep.c (skip_hurd_resolver): Use NULL rather than + zero in args to lookup_minimal_symbol. + * linespec.c (decode_line_1): Ditto. + * i386-linux-tdep.c (skip_hurd_resolver): Ditto. + * minsyms.c (find_stab_function_addr): Ditto. + * symfile.c (simple_read_overlay_table): Ditto. + (simple_read_overlay_region_table): Ditto. + +2001-12-10 Michael Snyder + + * arch-utils.c (generic_register_virtual_size): New function. + * arch-utils.h: Export generic version of register_virtual_size. + * gdbarch.sh (REGISTER_VIRTUAL_SIZE): Use new function as default. + * gdbarch.c: Regenerate. + +2001-12-09 Fred Fish + + * gdbtypes.c (TYPE_FLAG_UNSIGNED, TYPE_FLAG_STUB): Use + TYPE_UNSIGNED and TYPE_NOSIGN to determine when to print these + rather than testing the bits directly. + (TYPE_FLAG_NOSIGN, TYPE_FLAG_TARGET_STUB, TYPE_FLAG_STATIC, + TYPE_FLAG_CONST, TYPE_FLAG_VOLATILE, TYPE_FLAG_PROTOTYPED, + TYPE_FLAG_INCOMPLETE, TYPE_FLAG_CODE_SPACE, TYPE_FLAG_DATA_SPACE, + TYPE_FLAG_VARARGS): Test for and print these bits as well. + +2001-12-09 Fred Fish + + * gdbtypes.c (build_gdbtypes): For builtin_type_char, pass + TYPE_FLAG_NOSIGN to init_type() rather than setting it after the + type is created. + +2001-12-09 Fred Fish + + * gdbtypes.h (TYPE_UNSIGNED, TYPE_NOSIGN, TYPE_CONST, + TYPE_VOLATILE, TYPE_INCOMPLETE): Move macros that test the + bits to location in file where the bits are defined. + (TYPE_STUB, TYPE_TARGET_STUB, TYPE_STATIC, TYPE_PROTOTYPED, + TYPE_CODE_SPACE, TYPE_DATA_SPACE): New test macros. + +2001-12-09 Fred Fish + + * gdbtypes.c (allocate_stub_method): Replace hand crafted type + initialization with call to the init_type() function. + +2001-12-09 Andrew Cagney + + * arch-utils.c (generic_register_raw_size): New function. + * gdbarch.sh (REGISTER_RAW_SIZE): Use generic_register_raw_size as + the static default. + * gdbarch.c: Regenerate. + * arch-utils.h (generic_register_raw_size): Declare. + + * config/mips/tm-mips.h (REGISTER_RAW_SIZE): Delete macro. + * mips-tdep.c (mips_register_raw_size): Make function static. + (mips_gdbarch_init): Initialize register_raw_size. + +2001-12-08 Fred Fish + + * dwarf2read.c (read_typedef): Replace hand crafted type + initialization with a call to the init_type() function, which + is how the rest of gdb creates types. + +2001-12-09 Fred Fish + + * mdebugread.c (cross_ref): Pass TYPE_FLAG_STUB to init_type() + rather than setting it after the type is created. + +2001-12-09 Elena Zannoni + + * config/rs6000/tm-rs6000.h (STAB_REG_TO_REGNUM): Remove + definition, it is now multiarched. + * ppc-tdep.h (struct gdbarch_tdep): Move from rs6000-tdep.c. Add + fields for special register numbers. + * rs6000-tdep.c (rs6000_gdbarch_init): Initialize new tdep special + regnum fields. + (rs6000_saved_pc_after_call): Use gdbarch_tdep registers fields + instead of hardcoded macros. + (branch_dest, rs6000_pop_frame, rs6000_fix_call_dummy, + ppc_push_return_address, rs6000_frame_saved_pc, + frame_get_saved_regs, rs6000_frame_chain, + rs6000_store_return_value): Ditto. + (rs6000_stab_reg_to_regnum): New function. + * ppcnbsd-nat.c (fetch_inferior_registers, + store_inferior_registers, fetch_core_registers): Ditto. + * ppc-linux-tdep.c (ppc_linux_in_sigtramp, + ppc_linux_frame_init_saved_regs): Ditto. + * ppc-linux-nat.c (ppc_register_u_addr, supply_gregset, + fill_gregset): Ditto. + * ppc-bdm.c (bdm_ppc_fetch_registers, bdm_ppc_store_registers): + Ditto. + +2001-12-08 Fred Fish + + * c-lang.c (c_create_fundamental_type): For FT_CHAR, pass + TYPE_FLAG_NOSIGN to init_type() rather than setting it after the + type is created. + +2001-12-08 Fred Fish + + * dwarf2read.c (TYPE_FLAG_VARARGS): Remove from here. + * gdbtypes.h (TYPE_FLAG_VARARGS): Add here and change value to + not collide with other flag bits. + +2001-12-08 Fred Fish + + * dwarf2read.c (read_base_type): Rename is_unsigned to type_flags. + For unsigned types set TYPE_FLAG_UNSIGNED and pass it to + init_type(). + +2001-12-08 Daniel Jacobowitz + + * Makefile.in (cp-valprint.o): Add dependency on $(cp_abi_h). + +2001-12-08 Jim Blandy + + * config/s390/s390.mh: Don't use the linux-thread.o module; + thread-db.o, lin-lwp.o, and proc-service.o should work just fine. + +2001-12-07 Andrew Cagney + + * PROBLEMS: New file. + * README: Move known problems to PROBLEMS file. + +2001-12-07 Daniel Jacobowitz + + * stabsread.c (read_member_functions): Skip member functions which + are duplicates of the callable constructor/destructor. + +2001-12-07 Jim Blandy + + * s390-tdep.c (s390_store_return_value): Don't convert float + values to double format when returning them; just return them in + the first half of the FP register, as the ABI specifies. + +2001-12-07 Daniel Jacobowitz + + * valops.c (hand_function_call): Check for method arguments in + TYPE_ARG_TYPES(), not in TYPE_FIELD (). + +2001-12-07 Daniel Jacobowitz + + * cp-valprint.c (cp_print_value): Preserve offset if + the virtual base is outside of this object. + +2001-12-07 Daniel Jacobowitz + + * gdbtypes.c (finish_cv_type): New function. + (check_typedef): Remove ``register'' keyword from argument. + Preserve const and volatile attributes across filling in + opaque types. + * gdbtypes.h (finish_cv_type): Add prototype. + + * hp-symtab-read.c (hpread_read_struct_type): Call finish_cv_type. + * stabsread.c (read_struct_type): Likewise. + * dwarf2read.c (read_structure_scope): Likewise. Remove redundant + assignment to die->type. + +2001-12-07 Jim Blandy + + * printcmd.c (print_scalar_formatted): Compare the length of the + value against the lengths of the target's floating-point types, + not the host's. Add support for `long double'. + +2001-12-07 Martin M. Hunt + + * configure.in: Check for sys/filio.h + * configure: Rebuild. + * config.in: Add HAVE_SYS_FILIO_H + * ser-tcp.c: Conditionally include sys/filio.h. + +2001-12-07 Andrew Cagney + + * ui-out.c (ui_out_table_begin): Initialize body_flag. + (struct ui_out_table): New structure. Move table fields to here. + Rename headercurr to headernext. + (struct ui_out): Remove table specific fields. Add field table. + (ui_out_table_begin, ui_out_table_body, ui_out_table_end): Update. + (ui_out_table_header, ui_out_begin): Update. + (verify_field_proper_position, verify_field_alignment): Update. + (ui_out_new, clear_header_list, append_header_to_list): Update. + (get_next_header): Rename get_curr_header. Update comments and + code. + +2001-12-06 Andrew Cagney + + * regcache.c (XCALLOC): Delete macro that should not have been + added. + +2001-12-07 Jiri Smid + + * dwarf2cfi.c: New file. + * dwarf2cfi.h: New file. + * dwarf2read.c (dwarf_frame_offset, dwarf_frame_size): New variables. + (dwarf_eh_frame_offset, dwarf_eh_frame_size): New variables. + (dwarf2_read_section): Change to non static. + (dwarf2_locate_sections): Add .debug_frame and .eh_frame section + recognition. + (FRAME_SECTION, EH_FRAME_SECTION): New define. + * elfread.c (elf_symfile_read): Add call of frame informations build. + * frame.h (frame_info): Add pointer to unwind_context. + * symfile.h (dwarf2_build_frame_info): Add declaration. + * gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Add. + * gdbarch.h, gdbarch.c: Regenerate. + * Makefile.in: Add dwarf2cfi_h, dwarf2cfi.o + * x86-64-tdep.c (i386_gdbarch_init): Initialize target vector to + use debug frame info. + +2001-12-06 Andrew Cagney + + * defs.h: Do not include "mmalloc.h". + (mcalloc, mmalloc, mrealloc, mfree): Delete declaration. + * objfiles.c: Include "mmalloc.h". + * utils.c: Include "mmalloc.h". + (mmalloc, mfree, mrealloc, mmalloc): Make static, change PTR to + void pointer. + +2001-12-06 Andrew Cagney + + * regcache.c (store_register, fetch_register): Only use + fetch/store pseudo-register when function is present. Assume + target can handle all registers. + (registers_changed): Simplify invalidate loop. + (registers_fetched): Add comments. + (register_buffer): Add regnum range assertion. Remove code + handling -ve regnum. + (build_regcache): Make space for pseudo-registers when computing + sizeof_registers. Initialize register_offset. + + * gdbarch.sh (FETCH_PSEUDO_REGISTER): Change to a function with + predicate. + (STORE_PSEUDO_REGISTER): Ditto. + * gdbarch.h, gdbarch.c: Re-generate. + +2001-12-06 Jim Blandy + + * config/s390/nm-linux.h: Watchpoints are either continuable or + steppable, not both. The S/390 has continuable watchpoints, so + delete the #definition of HAVE_STEPPABLE_WATCHPOINT. + +2001-12-04 Pierre Muller + + * go32-nat.c (go32_fetch_registers): Remove call to register_buffer + (which is now a static function in regcache.c) + and use regcache_collect instead. + +2001-12-05 Andrew Cagney + + * target.c (cleanup_target): Do not initialize to_query to + return_zero. + +2001-12-05 Jim Blandy + + * s390-tdep.c (s390_get_frame_info): Recognize argument register + spills that use the `stm' instruction. + (is_arg_reg): New function. + +2001-12-03 Keith Walker + + * gdbserver/low-linux.c (arm_register_u_addr): Added. + (initialize_arch): Added for ARM target. + * config/arm/nm-linux.h (U_REGS_OFFSET): Defined. + (REGISTER_U_ADDR): Defined. + * config/arm/tm-linux.h (ARM_GNULINUX_TARGET): Defined. + +2001-12-04 Corinna Vinschen + + * arm-tdep.c (arm_skip_prologue): Always skip prologue by scanning + the prologue if source is assembler. + +2001-12-04 Jackie Smith Cashion + + * MAINTAINERS (write-after-approval): Add self. + + * d10v-tdep.c (d10v_gdbarch_init): Change size of long long to 8 bytes. + + From Andrew Cagney : + * d10v-tdep.c (d10v_frame_chain_valid): Check if the caller's PC + is in the entry function. + (d10v_use_struct_convention): Store multi-field struct and union + return values on the stack. + +2001-12-04 Jim Blandy + + * s390-tdep.c (s390_get_frame_info): Recognize spills of reg + arguments into their stack slots. + + * s390-tdep.c (s390_get_frame_info): More doc fixes. + + * s390-tdep.c (s390_get_frame_info): Doc fixes. + +2001-12-04 Orjan Friberg + + * cris-tdep.c (cris_regnums): Add DCCR_REGNUM for completeness. + (cris_examine): Add comment about solib prologue parsing. + (bdap_prefix): Read offset with correct signedness and size. + (move_to_preg_op): Don't rely on register numbering for register size. + (none_reg_mode_move_from_preg_op): Ditto. + +2001-12-04 Orjan Friberg + + * solib.c (solib_open): Make path relative if search for absolute path + failed. If search for relative path in solib_search_path failed, fall + back to search for basename only. + +2001-12-03 Martin M. Hunt + + * serial.h: Add a note to serial_open. + + * ser-tcp.c (tcp_open): Rewrite to use a non-blocking connect. + Allow UI and CLI to abort connect. Instead of trying 15 times + with very long timeouts, just try one connect with a maximum timeout + of 15 seconds. + +2001-12-03 Kevin Buettner + + * config/powerpc/tm-macos.h (solib.h): Include. + * config/powerpc/tm-ppc-eabi.h (solib.h): Include. + +2001-12-03 Michael Snyder + + * symtab.c (search_symbols): Make sure alloca size is big enough. + +2001-12-03 Andrew Cagney + + * MAINTAINERS: Prune m68k targets down to just m68k-elf. + +2001-12-03 Jim Blandy + + * s390-tdep.c (s390_get_frame_info): Don't used fextra_info to set + orig_sp if it's not initialized. + +2001-11-30 Pierre Muller + + * findvar.c (locate_var_value): Specify in which register a register + variable is stored. + +2001-11-30 Pierre Muller + + * win32-nat.c (mappings): Correct position of XMM registers, + based on FXSAVE instruction structure. + +2001-12-02 Andrew Cagney + + * jv-lang.c (get_java_class_symtab): Use xmmalloc instead of + mmalloc. + + * coffread.c, dbxread.c, elfread.c, hp-psymtab-read.c, hpread.c, + nlmread.c, objfiles.c, os9kread.c, somread.c, source.c, symfile.c, + symmisc.c, xcoffread.c: Use xmfree instead of mfree. + + * jv-lang.c (add_class_symtab_symbol): Use xmrealloc instead of + mrealloc. + +2001-12-02 Andrew Cagney + + * i386-tdep.c (i386go32_frame_saved_pc): New function. + * config/i386/tm-go32.h (i386go32_frame_saved_pc): Declare. + (FRAME_SAVED_PC): Redefine to i386go32_frame_saved_pc. + +2001-12-01 Andrew Cagney + + * defs.h: Update comment on HOST_BYTE_ORDER. + * config/xm-aix4.h: Delete definition of HOST_BYTE_ORDER. + * config/xm-nbsd.h, config/alpha/xm-alphalinux.h: Ditto. + * config/alpha/xm-alphaosf.h, config/alpha/xm-fbsd.h: Ditto. + * config/arm/xm-linux.h, config/i386/xm-cygwin.h: Ditto. + * config/i386/xm-i386bsd.h, config/i386/xm-i386gnu.h: Ditto. + * config/i386/xm-i386lynx.h, config/i386/xm-i386m3.h: Ditto. + * config/i386/xm-i386mach.h, config/i386/xm-i386v.h: Ditto. + * config/i386/xm-ptx.h, config/i386/xm-symmetry.h: Ditto. + * config/ia64/xm-aix.h, config/ia64/xm-linux.h: Ditto. + * config/m68k/xm-3b1.h, config/m68k/xm-apollo68b.h: Ditto. + * config/m68k/xm-apollo68v.h, config/m68k/xm-delta68.h: Ditto. + * config/m68k/xm-dpx2.h, config/m68k/xm-hp300bsd.h: Ditto. + * config/m68k/xm-hp300hpux.h, config/m68k/xm-m68k.h: Ditto. + * config/m68k/xm-m68klynx.h, config/m68k/xm-sun2.h: Ditto. + * config/m68k/xm-sun3.h, config/m88k/xm-dgux.h: Ditto. + * config/m88k/xm-m88k.h, config/mips/xm-irix3.h: Ditto. + * config/mips/xm-irix5.h, config/mips/xm-linux.h: Ditto. + * config/mips/xm-mips.h, config/mips/xm-mipsm3.h: Ditto. + * config/mips/xm-mipsv4.h, config/mips/xm-news-mips.h: Ditto. + * config/mips/xm-riscos.h, config/pa/xm-hppab.h: Ditto. + * config/pa/xm-hppah.h, config/powerpc/xm-linux.h: Ditto. + * config/romp/xm-rtbsd.h, config/rs6000/xm-rs6000.h: Ditto. + * config/rs6000/xm-rs6000ly.h, config/s390/xm-linux.h: Ditto. + * config/sparc/xm-sparc.h, config/sparc/xm-sparclynx.h: Ditto. + * config/vax/xm-vax.h: Ditto. + + * config/a29k/tm-vx29k.h: Add #error as file depends on + HOST_BYTE_ORDER. + * config/a29k/tm-a29k.h: Ditto. + * MAINTAINERS (a29k-amd-udi): Document as broken. + +2001-12-01 Andrew Cagney + + * Makefile.in (tm-news.h, tm-isi.h, xm-news1000.h): Delete. + (ALLDEPFILES): Delete news-xdep.c. + (news-xdep.o): Delete. + (isi-xdep.o): Delete. + * configure.tgt: Delete m68*-isi-*, m68*-sony-*, m68*-rom68k-*, + m68*-*bug-*, m68*-monitor-* and m68*-est-* targets. + * configure.host: Delete m68030-sony-*, m68*-isi-* and m68*-sony-* + Hosts. + * m68k-tdep.c (isi_skip_prologue): Delete function. + * news-xdep.c: Delete file. + * isi-xdep.c: Delete file. + * config/m68k/isi.mh: Delete file. + * config/m68k/isi.mt: Delete file. + * config/m68k/news.mh: Delete file. + * config/m68k/news.mt: Delete file. + * config/m68k/news1000.mh: Delete file. + * config/m68k/nm-news.h: Delete file. + * config/m68k/tm-isi.h: Delete file. + * config/m68k/tm-news.h: Delete file. + * config/m68k/xm-isi.h: Delete file. + * config/m68k/xm-news.h: Delete file. + * config/m68k/xm-news1000.h: Delete file. + + * kdb-start.c: Delete file. + * stuff.c: Delete file. + + * NEWS: Note that a29k-nyu-sym1 and a29k-*-kern* were deleted. + * configure.host: Delete a29k-*-* host. + * configure.tgt: Delete a29k-*-kern* and a29k-*-sym1* targets. + * config/a29k/a29k-kern.mt: Delete file. + * config/a29k/nm-ultra3.h: Delete file. + * config/a29k/tm-ultra3.h: Delete file. + * config/a29k/ultra3.mh: Delete file. + * config/a29k/ultra3.mt: Delete file. + * config/a29k/xm-ultra3.h: Delete file. + + * NEWS: Note that i[3456]86-*-sunos* was deleted. + * Makefile.in (sun386-nat.o): Delete. + * configure.tgt: Delete i[3456]86-*-sunos* target. + * configure.host: Delete i[3456]86-*-sunos* host. + * sun386-nat.c: Delete.file. + * config/i386/nm-sun386.h: Delete file. + * config/i386/sun386.mh: Delete file. + * config/i386/sun386.mt: Delete file. + * config/i386/tm-sun386.h: Delete file. + * config/i386/xm-sun386.h: Delete file. + + * NEWS: Note that ns32k-*-mach3*, ns32k-umax-*, ns32k-utek-sysv* + and ns32k-utek-* were deleted. + * Makefile.in (ultra3-nat.o, ultra3-xdep.o): Delete. + (umax-xdep.o, ns32km3-nat.o): Delete. + * configure.tgt: Delete ns32k-*-mach3*, ns32k-utek-sysv* and + ns32k-utek-* targets. + * configure.host: Delete ns32k-*-mach3*, ns32k-umax-* and + ns32k-utek-sysv* hosts. + * ultra3-nat.c: Delete file. + * ultra3-xdep.c: Delete file. + * umax-xdep.o: Delete file. + * ns32km3-nat: Delete file. + * config/ns32k/merlin.mh: Delete file. + * config/ns32k/merlin.mt: Delete file. + * config/ns32k/nm-umax.h: Delete file. + * config/ns32k/ns32km3.mh: Delete file. + * config/ns32k/ns32km3.mt: Delete file. + * config/ns32k/tm-merlin.h: Delete file. + * config/ns32k/tm-ns32km3.h: Delete file. + * config/ns32k/umax.mh: Delete file. + * config/ns32k/umax.mt: Delete file. + * config/ns32k/xm-merlin.h: Delete file. + * config/ns32k/xm-ns32km3.h: Delete file. + * config/ns32k/xm-umax.h: Delete file. + + * NEWS: Note that m88*-harris-cxux* was deleted. + * configure.host: Delete m88*-harris-cxux* host. + * configure.tgt: Delete m88*-harris-cxux* target. + * config/m88k/cxux.mh: Delete file. + * config/m88k/cxux.mt: Delete file. + * config/m88k/nm-cxux.h: Delete file. + * config/m88k/tm-cxux.h: Delete file. + * config/m88k/xm-cxux.h: Delete file. + + * NEWS: Note that powerpc-*-netware*, powerpcle-*-cygwin* and + powerpcle-*-solaris* were deleted. + * configure.host: Delete powerpcle-*-cygwin* and + powerpcle-*-solaris* hosts. + * configure.tgt: Delete powerpc-*-netware*, powerpcle-*-cygwin* + and powerpcle-*-solaris* targets. + * config/powerpc/cygwin.mh: Delete file. + * config/powerpc/cygwin.mt: Delete file. + * config/powerpc/nm-solaris.h: Delete.file. + * config/powerpc/ppc-nw.mt: Delete file. + * config/powerpc/solaris.mh: Delete file. + * config/powerpc/solaris.mt: Delete file. + * config/powerpc/tm-cygwin.h: Delete file. + * config/powerpc/tm-ppc-nw.h: Delete file. + * config/powerpc/tm-solaris.h: Delete file. + * config/powerpc/xm-cygwin.h: Delete file. + * config/powerpc/xm-mpw.h: Delete file. + * config/powerpc/xm-solaris.h: Delete file. + + * NEWS, MAINTAINERS: Note that w65-*-* was deleted. + * configure.tgt: Delete w65-*-*. + * Makefile.in (w65-tdep.o): Delete. + * config/w65/tm-w65.h: Delete file. + * config/w65/w65.mt: Delete file. + * w65-tdep.c: Delete file. + + * NEWS: Mention deleted tic80-*-*. + * configure.tgt: Delete tic80-*-*. + * Makefile.in (tic80-tdep.o): Delete. + * config/tic80/tic80.mt: Delete. + * config/tic80/tm-tic80.h: Delete. + * tic80-tdep.c: Delete. + * MAINTAINERS: Note that tic80 was deleted. + +2001-11-30 Kevin Buettner + + * ppc-linux-tdep.c (solib-svr4.h): Include. + (ppc_linux_svr4_fetch_link_map_offsets): New function. + * ppc-tdep.h (ppc_linux_svr4_fetch_link_map_offsets): Declare. + * rs6000-tdep.c (solib-svr4.h): Include. + (rs6000_gdbarch_init): Set up ppc_linux_svr4_fetch_link_map_offsets() + as the link map offsets fetcher. + + * config/powerpc/aix.mt (TDEPFILES): Add solib-svr4.o. + * config/powerpc/macos.mt (TDEPFILES): Likewise. + * config/powerpc/nbsd.mt (TDEPFILES): Likewise. + * config/powerpc/ppc-eabi.mt (TDEPFILES): Likewise. + * config/powerpc/ppc-sim.mt (TDEPFILES): Likewise. + * config/powerpc/ppcle-eabi.mt (TDEPFILES): Likewise. + * config/powerpc/ppcle-sim.mt (TDEPFILES): Likewise. + * config/powerpc/vxworks.mt (TDEPFILES): Likewise. + * config/rs6000/aix4.mt (TDEPFILES): Likewise. + * config/rs6000/rs6000.mt (TDEPFILES): Likewise. + * config/rs6000/rs6000lynx.mt (TDEPFILES): Likewise. + +2001-11-30 Kevin Buettner + + From Louis Hamilton : + * arm-tdep.c (solib-svr4.h): Include. + (arm_linux_svr4_fetch_link_map_offsets): New function. + * config/arm/tm-linux.h (SVR4_FETCH_LINK_MAP_OFFSETS): Define. + (arm_linux_svr4_fetch_link_map_offsets): Declare. + +2001-11-30 Daniel Jacobowitz + + * values.c (value_primitive_field): Add embedded_offset to the + address of structure members. + * gnu-v3-abi.c (gnuv3_rtti_type): Cast to base type before + attempting to access vtable pointer. Set using_enc_p if we cast. + (gnuv3_virtual_fn_field): Call value_cast with structure rather than + structure pointer. Cast to base type before attempting to access + vtable pointer. + +2001-11-29 Elena Zannoni + + * Makefile.in (ppc-linux-nat.o): Add dependency on ppc-tdep.h. + + * ppc-tdep.h (PPC_GPLAST_REGNUM): Define. + + * ppc-linux-nat.c: Include ppc-tdep.h. + (ppc_register_u_addr): Don't use the static array regmap[], + dynamically define the mapping instead. + (supply_gregset): Ditto. + (fill_gregset): Ditto. + (COPY_REG): Delete macro defintion. + (regmap): Delete array. + +2001-11-29 Jim Blandy + + Tighten up GDB's support for returning structs by value. + * s390-tdep.c (s390_use_struct_convention): New function. + (s390_gdbarch_init): Register it as the S/390's + USE_STRUCT_CONVENTION method. Register + generic_cannot_extract_struct_value_address as our + EXTRACT_STRUCT_VALUE_ADDRESS method. + * arch-utils.c (generic_cannot_extract_struct_value_address): New + function. + * arch-utils.h: Add corresponding prototype. + + * values.c (value_being_returned): Make error message a proper + sentence. + +2001-11-27 Keith Walker + + * dwarf2read.c (read_attribute_value): New function to handle + DW_FORM_indirect + (read_attribute): uses read_attribute_value + +2001-11-29 Jim Blandy + + * s390-tdep.c (s390_frame_saved_pc_nofix): If the prologue didn't + save the return address register, assume that the return address + is still in there. + +2001-11-27 Andrew Cagney + + * MAINTAINERS: Clarify obvious fix a little (as suggested by Eli + Zaretskii). + +2001-11-25 Jim Blandy + + * mn10300-tdep.c (mn10300_analyze_prologue): Doc fixes. + +2001-11-27 Jim Blandy + + * s390-tdep.c: Get frame chains and saved pc values properly from + dummy frames. + (s390_frame_saved_pc_nofix): if `*fi' is a dummy frame, get the + saved PC from the dummy frame's registers. + (s390_frame_chain): Same for the saved SP. + (s390_gdbarch_init): Register `generic_save_dummy_frame_tos' as + the `SAVE_DUMMY_FRAME_TOS' method, so the dummy frame's `top' gets + set correctly. + + * s390-tdep.c (s390_frame_chain): Remember that the SP's element + of the frame's saved_regs array is special. + + * s390-tdep.c (register_names): Call the general-purpose registers + `r0' -- `r15', and the floating-point registers `f0' -- `f15', to + match the assembly language. + +2001-11-26 Pierre Muller + + * config/i386/tm-cygwin.h: Define HAVE_SSE_REGS if + HAVE_CONTEXT_EXTENDED_REGISTERS is defined. + * win32-nat.c: Define CONTEXT_DEBUGGER_DR that will also include + extended registers if HAVE_SSE_REGS is defined. + (mappings array): Add offset of extended registers. + (thread_rec): Use new CONTEXT_DEBUGGER_DR macro. + +2001-11-26 Tom Tromey + + * NEWS: Updated. + * event-loop.c (start_event_loop): Call + after_char_processing_hook. + * event-top.h (after_char_processing_hook): Declare. + * event-top.c (rl_callback_read_char_wrapper): Call + after_char_processing_hook. + (after_char_processing_hook): New global. + * top.c (operate_saved_history): New global. + (gdb_rl_operate_and_get_next): New function. + (init_main): Add the operate-and-get-next defun. + (gdb_rl_operate_and_get_next_completion): New function. + +2001-11-26 Tom Tromey + + * NEWS: Update for --args. + * infcmd.c (construct_inferior_arguments): Moved from ... + * fork-child.c: ... here. + +2001-11-26 Jim Blandy + + * symtab.c (find_pc_sect_line): Revert change of 2001-11-13; add + comment explaining that hand-written assembly code can have line + number info but no debug info for an enclosing function. + +2001-11-26 Jakub Jelinek + + * sparc-nat.c (fetch_inferior_registers): Don't rely + on CORE_ADDR being 32-bit. + (store_inferior_registers): Likewise. + +2001-11-25 Eli Zaretskii + + * config/djgpp/config.sed: Fix an error in etc/ at "make install" + time on non-LFN systems where standards*.inf* expands to nothing. + + * go32-nat.c (save_npx): Avoid a warning from GCC 3.x. + +2001-11-24 Pierre Muller + Christopher Faylor + + * win32-nat.c (struct so_stuff): Add objfile *objfile field needed to + be able to remove the DLL when unloaded. Remove unused last field. + (handle_unload_dll): New function to handle unloading of DLL. + (solib_symbols_add): Change return type to struct objfile *. + (get_child_debug_event): Call handle_unload_dll function. + +2001-11-24 Christopher Faylor + + * win32-nat.c (_initialize_check_for_gdb_ini): New function. + * config/i386/xm-cygwin.h: Remove obsolete handling of __CYGWIN32__. + (GDBINIT_FILENAME): Remove. + +2001-11-23 Mark Kettenis + + Add x86 OpenBSD native configuration. + * config/i386/obsd.mt, config/i386/tm-obsd.h, config/i386/obsd.mh, + config/i386/nm-obsd.h: New files. + * configure.host (i[3456]86-*-openbsd*): New host. + * configure.tgt (i[3456]86-*-openbsd*): New target. + * NEWS: Update. + +2001-11-21 GDB Administrator + + * GDB 5.1 was released. + +2001-11-21 Tom Tromey + + Fix for PR gdb/209, PR gdb/156: + * gdbarch.c, gdbarch.h: Rebuilt. + * gdbarch.sh: Added `construct_inferior_arguments'. + * cli/cli-decode.h (cmd_list_element): Added pre_show_hook. + Typo fix. + * cli/cli-setshow.c (do_setshow_command): Call the pre_show_hook. + * infcmd.c (_initialize_infcmd): Set sfunc on `set args' command. + (inferior_argc, inferior_argv): New globals. + (notice_args_set): New function. + (set_inferior_args): Clear inferior_argc and inferior_argv. + (set_inferior_args_vector): New function. + (get_inferior_args): Handle inferior argument vector. + (run_command): Use get_inferior_args(). + (notice_args_read): New function. + (_initialize_infcmd): Don't call set_inferior_args. + * command.h: Typo fix. + (cmd_list_element): Added pre_show_hook. + * main.c (captured_main): Added --args option. + (print_gdb_help): Document --args. + * inferior.h (construct_inferior_arguments): Declare. + (set_inferior_args_vector): Likewise. + * fork-child.c (construct_inferior_arguments): New function. + +2001-11-21 Kevin Buettner + + * lin-lwp.c (lin_lwp_attach_lwp): Make sure SIGCHLD is in set of + blocked signals. + + * lin-lwp.c (lin_lwp_attach_lwp): Mark main thread as stopped. + +2001-11-20 Jim Blandy + + * target.h (TARGET_RANGE_PROFITABLE_FOR_HW_WATCHPOINT): Delete + default definition; this is never used. + +2001-11-20 Keith Seitz + + * varobj.c (c_value_of_child): Release memory for "name" when + finshed using it. + (c_type_of_child): Likewise. + (cplus_value_of_child): Isolate the use of name_of_child to + one case that needs it. + Release memory for "name" when finished using it. + +2001-11-20 Keith Seitz + + * top.c (gdb_init): Call init_ui_hook before initializing + the default UI. + +2001-11-19 Elena Zannoni + + * config/powerpc/nm-linux.h (ppc_register_u_addr): Add extern + declaration. + +2001-11-19 Elena Zannoni + + * ppc-linux-nat.c (COPY_REG): Use regcache_collect instead of + accessing registers[]. + (fill_fpregset): Ditto. + +2001-11-19 Elena Zannoni + + * infptrace.c (fetch_register): Dynamically allocate buffer for + register. + (store_register): Use regcache_collect, instead of accessing the + register buffer directly. + +2001-11-19 Daniel Jacobowitz + + * mips-tdep.c (find_proc_desc): Add cur_frame argument. Pass + cur_frame to heuristic_proc_desc. + (heuristic_proc_desc): Add cur_frame argument. Do not read SP + if cur_frame == 0. + (after_prologue): Pass cur_frame == 0 to find_proc_desc. + (mips_frame_chain): Pass cur_frame == 1 to find_proc_desc. + (mips_init_extra_frame_info): Likewise. + +2001-11-19 Andrew Cagney + + * defs.h (return_to_top_level): Comment. + +Mon Nov 19 14:58:52 2001 Andrew Cagney + + * remote.c (remote_open_1, remote_async_open_1): Use ISO C string + concatenation for error parameter. + (remote_cisco_open): Ditto. + +2001-11-19 Keith Seitz + + * varobj.c (c_value_of_child): Use the wrapper function, + gdb_value_struct_elt. + (cplus_value_of_child): Likewise. + +2001-11-18 Andrew Cagney + + * i386-tdep.c (i386_gdbarch_init): Initialize num_regs. + * config/i386/tm-i386.h (NUM_REGS): Delete. + +2001-11-18 Kevin Buettner + + * i386-linux-nat.c (fill_gregset): Fix botched regcache_collect() + conversion for I386_LINUX_ORIG_EAX_REGNUM. + +2001-11-18 Andrew Cagney + + * config/i386/embed.mt (TM_FILE): Set to tm-i386.h. + * config/i386/tm-embed.h: Delete. + +2001-11-17 Andrew Cagney + + * Makefile.in (distclean): Explicitly delete Makefile et.al. in + gdbserver sub directory. + +2001-11-17 Andrew Cagney + + * README: Mention need for alloca(). Mention problems with + alpha-dec-osf4.0e. Clarify that comments refer to GDB 5.1. + +2001-11-17 Kevin Buettner + + * i386-linux-nat.c (fill_gregset): Use regcache_collect() instead + of accessing registers[] directly. + +2001-11-17 Kevin Buettner + + * i386-linux-nat.c (fill_gregset): Don't invoke read_register_gen() + when fetching ORIG_EAX. + +2001-11-17 Daniel Jacobowitz + + * arm-linux-nat.c: Don't include . + (fetch_register): Use elf_gregset_t instead of struct pt_regs. + (fetch_regs): Likewise. + (store_register): Likewise. + (store_regs): Likewise. + +2001-11-17 Daniel Jacobowitz + + * sparc-linux-nat.c (fill_gregset): Replace read_register_gen + with regcache_collect. + (fill_fpregset): Likewise. + +2001-11-17 Daniel Jacobowitz + + * Makefile.in: Add mips-linux-nat.c, mips-linux-tdep.c, + and sparc-linux-nat.c to ALLDEPFILES. Add dependencies. + * config/sparc/linux.mh: Add sparc-linux-nat.o to NATDEPFILES. + * sparc-linux-nat.c: New file, from Mark Kettenis. + +2001-11-16 Jakub Jelinek + + * dwarf2read.c (dwarf_str_buffer): New. + (struct dwarf2_pinfo): Add dwarf_str_buffer and dwarf_str_size. + (DWARF_STR_BUFFER, DWARF_STR_SIZE): Define. + (dwarf2_has_info): Clear dwarf_str_offset. + (dwarf2_build_psymtabs): Read .debug_str section if present. + (dwarf2_build_psymtabs_hard): Save DWARF_STR_BUFFER and + DWARF_STR_SIZE. + (psymtab_to_symtab_1): Restore DWARF_STR_BUFFER and DWARF_STR_SIZE. + (read_attribute): Handle DW_FORM_strp. + (read_n_bytes, read_string): Remove HOST_CHAR_BIT != 8 + handling code. + (read_indirect_string): New. + (dump_die): Handle DW_FORM_strp. + +2001-11-16 Jim Blandy + + * s390-tdep.c: Tweak argument-passing to match GCC bugs. + (is_float_singleton, is_struct_like, is_float_like): New + functions, that isolate the weirdness. + (is_double_or_float, is_simple_arg, pass_by_copy_ref, + is_double_arg): Use is_struct_like and is_float_like, rather than + testing the type codes ourselves. + (s390_push_arguments): When passing args on the stack, align each + on to a four-byte boundary, regardless of what the type itself + needs. + +2001-11-16 Ben Harris + + * Makefile.in (os9kread.o): Replace $< with autoconf-approved + $(srcdir)/.... + (procfs.o): Ditto. + (z8k-tdep.o): Ditto. + +2001-11-16 Ben Harris + + * MAINTAINERS (write-after-approval): Add self. + +2001-11-15 Jim Blandy + + * s390-tdep.c (is_simple_arg): Structs and unions exactly eight + bytes long should be handled as DOUBLE_ARGs; don't recognize them + as SIMPLE_ARGs. + +2001-11-12 Andrew Cagney + + * remote.c (struct packet_reg): Declare. + (struct remote_state): Add fields sizeof_g_packet and g_packet. + (init_remote_state): Initialize sizeof_g_packet and g_packet. + (free_remote_state): Free g_packet. + (packet_reg_from_pnum, packet_reg_by_regnum): New functions. + (remote_wait): Use above instead of gdbarch methods + REGISTER_RAW_SIZE and REGISTER_BYTES. + (remote_async_wait): Ditto. + (remote_fetch_registers, remote_store_registers): Ditto. + (store_register_using_P): Ditto. + +2001-11-15 Andrew Cagney + + * remote.c (_initialize_remote): Don't multi-arch swap tty_input. + Second attempt. + +2001-11-15 Andrew Cagney + + * utils.c (phex_nz): For default case, set str to phex_nz return + value. + (phex): Ditto. + +2001-11-15 Andrew Cagney + + * TODO (register_buffer): Delete. + * regcache.c (register_buffer): Make static. + (regcache_collect): New function. + * regcache.h (register_buffer): Delete declaration. + (regcache_collect): Declare. + * remote.c (store_register_using_P): Rewrite using + regcache_collect. + (remote_store_registers): Ditto. + * go32-nat.c (store_register): Ditto. + +2001-11-14 Andrew Cagney + + * remote.c (struct remote_state): Declare. + (get_remote_state): New function. + (init_remote_state): New function. + (remote_gdbarch_data_handle): New global. + (build_remote_packet_sizes): Delete function, moved to + init_remote_state. + (register_remote_packet_sizes): Delete function. + (actual_register_packet_size, remote_packet_size): Moved to + ``struct remote_state''. + (PBUFSIZE): Delete. Replaced by rs->remote_packet_size. + (free_remote_state): New function. + (get_memory_packet_size, get_memory_read_packet_size) + (set_thread, remote_unpack_thread_info_response) + (remote_get_threadinfo, parse_threadlist_response) + (remote_get_threadlist, remote_current_thread) + (remote_threads_info, remote_threads_extra_info) + (extended_remote_restart, get_offsets) + (get_offsets, remote_check_symbols, remote_open_1) + (remote_async_open_1, remote_detach, remote_async_detach) + (remote_resume, remote_async_resume, remote_wait) + (remote_async_wait, remote_fetch_registers) + (store_register_using_P, remote_store_registers) + (check_binary_download, putpkt_binary) + (remote_insert_breakpoint, remote_remove_breakpoint) + (remote_insert_watchpoint, remote_remove_watchpoint) + (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint) + (compare_sections_command, remote_query) + (remote_rcmd, remote_rcmd, packet_command) + (remote_info_process): Update. + +2001-11-14 Andrew Cagney + + * remote.c: Include "gdb_assert.h". + (tty_input): Wire buffer to 400 bytes. + (readsocket): Check tty_input doesn't overflow. + (build_remote_gdbarch_data, _initialize_remote): Don't multi-arch + tty_input. + +2001-11-14 Michael Snyder + + * d10v-tdep.c (d10v_pointer_to_address): Use new type flag + TYPE_FLAG_CODE_SPACE to recognize a pointer that has been cast + into the instruction address space. + * Makefile.in (doublest.o): Add dependency on gdbtypes.h. + +2001-11-14 Michael Snyder + Add address space identifiers to expression language for types. + * c-exp.y (space_identifier, cv_with_space_id, + const_or_volatile_or_space_identifier_noopt, + const_or_volatile_or_space_identifier): New terminals. + (ptype): Accept const_or_volatile_or_space_identifier. + (typebase): Accept const_or_volatile_or_space_identifier. + * c-typeprint.c (c_type_print_cv_qualifier): Rename to + c_type_print_modifier. Handle address space modified types. + * gdbtypes.h (TYPE_FLAG_CODE_SPACE, TYPE_FLAG_DATA_SPACE): + New type flags. + (struct type): Add new field as_type for addr-space qualified types. + (TYPE_AS_TYPE): New macro, retrieves the chain of types that are + identical to this one except for address-space qualification. + * gdbtypes.c (alloc_type): Initialize new field 'as_type'. + (address_space_name_to_int): New function. + (address_space_int_to_name): New function. + (make_type_with_address_space): New function. + (make_cv_type): Handle as_type field of new struct type object. + * parse.c (check_type_stack_depth): New function. + (push_type_address_space): New function. + (follow_types): Handle types with address-space qualifier. + * parser-defs.h (enum type_pieces): Add enum tp_space_identifier. + +2001-11-14 Jim Blandy + + * s390-tdep.c (s390_pop_frame_regular): On the S/390, the frame + pointer and the SP are often the same, so we can't pop the frame + by setting the SP to the FP; we need to get the old SP from + saved_regs. + + * s390-tdep.c (s390_extract_return_value): Returned `float' values + can simply be copied bitwise from the registers into the value + object's buffer. + + * s390-tdep.c (s390_get_frame_info): Initialize SP's element of + the frame's saved_regs array correctly. + + * symfile.c (simple_read_overlay_table): Make sure we can find + both `_novlys' and `_ovly_table' before we try anything else; + print a helpful error message. + (simple_overlay_update): No need to print error message here. + +2001-11-14 Michael Snyder + + * Makefile.in (doublest.o): Add dependency on gdbtypes.h. + +2001-11-10 Andrew Cagney + + * arm-tdep.c (arm_register_type): New function. + (arm_register_convertible): Delete. + (arm_register_convert_to_virtual): Delete. + (arm_register_convert_to_raw): Delete. + * config/arm/tm-arm.h (REGISTER_CONVERTIBLE): Delete. + (REGISTER_CONVERT_TO_VIRTUAL): Delete. + (REGISTER_CONVERT_TO_RAW): Delete. + (REGISTER_VIRTUAL_TYPE): Redefine as call to arm_register_type. + (arm_register_type): Declare. + +2001-11-13 Elena Zannoni + + From Andrew Cagney : + * gdbtypes.h (builtin_type_int128, builtin_type_uint128): Declare. + * gdbtypes.c (_initialize_gdbtypes, build_gdbtypes): Initialize + new builtin types. + +2001-11-13 Jim Blandy + + * s390-tdep.c: Rewrite inferior function call code. This may + break zSeries support; that should be fixed soon. + #include "gdb_assert.h". + (is_integer_like, is_pointer_like, is_simple_arg, + pass_by_copy_ref, extend_simple_arg, is_double_arg, round_up, + round_down, alignment_of): New functions. + (s390_push_arguments): Rewritten to handle passing large arguments + by value, and to make more readable. + + * s390-tdep.c (s390_pop_frame): Call generic_pop_current_frame, to + interact correctly with generic dummy frames. + (s390_pop_frame_regular): Move the guts of the frame-popping code + to here, to be called by generic_pop_current_frame. Use the + frame's saved_regs array; this works for `return' as well as + inferior function calls. + + * s390-tdep.c (s390_gdbarch_init): Register the function + `standard_coerce_float_to_double', since GCC for the S/390 follows + the standard rules for passing floats. + + * valops.c (default_coerce_float_to_double, + standard_coerce_float_to_double): Doc fixes. + + Patch from Peter Schauer: + + * symtab.c (find_pc_sect_line): If we can't find the function + containing PC, we certainly won't have line number information for + that location, so return zero immediately. + +2001-11-10 Andrew Cagney + + * config/i960/tm-nindy960.h (REGISTER_CONVERTIBLE) + (REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Delete + undef. + * i960-tdep.c (i960_register_type): New function. + * config/i960/tm-i960.h (REGISTER_CONVERTIBLE): Delete. + (REGISTER_CONVERT_TO_VIRTUAL): Delete. + (REGISTER_CONVERT_TO_RAW): Delete. + (REGISTER_VIRTUAL_TYPE): Update. Call i960_register_type. + +2001-11-10 Andrew Cagney + + * m88k-tdep.c (m88k_register_type): New function. + * config/m88k/tm-m88k.h (REGISTER_CONVERTIBLE): Delete. + (REGISTER_CONVERT_TO_VIRTUAL): Delete. + (REGISTER_CONVERT_TO_RAW): Delete. + (m88k_register_type): Declare. + (REGISTER_VIRTUAL_TYPE): Update. Call m88k_register_type. + +2001-11-11 Mark Kettenis + + * i386-tdep.h (FPU_REG_RAW_SIZE): Define unconditionally. + * i387-nat.c, i387-tdep.c: Unconditionally include "i386-tdep.h". + * config/i386/tm-i386.h (FPU_REG_RAW_SIZE): Removed. + (SIZEOF_FPU_REGS): Don't use FPU_REG_RAW_SIZE here. + +2001-11-12 Jim Blandy + + Patch from Andreas Schwab : + * eval.c (evaluate_subexp_standard): Fix memory leak: use alloca + instead of xmalloc. + +2001-11-12 Jim Blandy + + * corefile.c (write_memory_unsigned_integer, + write_memory_signed_integer): New functions. + (write_memory): Move to be with other write_memory_* functions. + * gdbcore.h (write_memory_unsigned_integer, + write_memory_signed_integer): New declarations. + +2001-11-11 Geoffrey Keating + + * dwarf2read.c (dwarf_decode_lines): Properly deal with + unknown standard opcodes. + +2001-11-11 Andrew Cagney + + * README (alpha-dec-osf5.1): Mention -DUSE_LDR_ROUTINES. + (sparcv9-sun-solars2.8): Mention problem with 64 bit GCC 3.0.x. + (i586-sco-sysv5uw7.1.1): Mention problem with threads. + +2001-11-11 Andrew Cagney + + From Mark Kettenis : + * breakpoint.c (breakpoint_re_set_one): Don't discard SHLIB + breakpoints when they fail. + +2001-11-10 Andrew Cagney + + * printcmd.c, valprint.c, language.c, linespec.c, infcmd.c, + gnu-nat.c, findvar.c, expprint.c, typeprint.c, stack.c, top.c: + Replace value_ptr with struct value. + +2001-11-10 Andrew Cagney + + * c-valprint.c, ch-lang.c, ch-valprint.c, cp-valprint.c, + p-valprint.c, scm-exp.c, scm-lang.c, scm-valprint.c: Replace + value_ptr with struct value. + +2001-11-10 Andrew Cagney + + * eval.c: Replace most occurances of value_ptr with struct value. + +2001-11-09 Jim Blandy + + * s390-tdep.c: Don't use a call dummy. + (s390_fix_call_dummy, s390_pc_in_call_dummy): Delete. + (s390_push_return_address): Put the address of the inferior call + breakpoint in r14. + (s390_gdbarch_init): + - Provide trivial definition of s390_call_dummy_words; register it + with the gdbarch appropriately. + - Delete S390x_call_dummy_words. + - Gather inferior-call-related settings into a group. + - Use generic dummy frames. + - Put the inferior call breakpoint at the entry point. + - Use generic gdbarch methods: pc_in_call_dummy_at_entry_point, + generic_push_dummy_frame, generic_fix_call_dummy. + - There is a call dummy breakpoint offset; it's zero. + + * s390-tdep.c: (s390_push_arguments): Write a back chain pointer + into the dummy frame, to help us get backtraces. + + * values.c (value_as_address): If VAL is a function or method, + just return its address; don't let COERCE_ARRAY convert its + address to a pointer, and then have unpack_long convert it back to + an address. + +2001-11-06 Pierre Muller + + * p-lang.c (is_pascal_string_type): New function to determine if a + type is a string type. + * p-lang.h: Add prototype for is_pascal_string_type. + * p-valprint.c (pascal_val_print) : Use is_pascal_string_type function + to display strings nicely. + +2001-11-06 Pierre Muller + + * p-exp.y (yylex): Only change case of expression if symbol is found. + Also check for GPC standard name form. + +2001-11-08 Andrew Cagney + + * gdb_indent.sh: New file. + +2001-11-08 Jim Blandy + + * s390-tdep.c (s390_get_frame_info): Initialize got_load_addr and + got_load_len, to placate compiler. + +2001-11-08 Mark Kettenis + + * i386-tdep.c (i386_gdbarch_init): Fix typo. + +2001-11-08 Jim Blandy + + * s390-tdep.c (s390_gdbarch_init): Use func_frame_chain_valid, not + file_frame_chain_valid. + + * s390-tdep.c (s390_get_frame_info): If the prologue loads r12 + from the constant pool, but doesn't add in the constant pool's + address to it, then this function probably isn't using r12 as a + GOT pointer, and that load probably wasn't part of the prologue. + + * s390-tdep.c (s390_gdbarch_init): Use the default + prepare_to_proceed function established by config/nm-linux.h; + don't try to set it to linuxthreads_prepare_to_proceed. + +Wed Nov 7 20:38:14 2001 Andrew Cagney + + * i386-tdep.c: Include "i386-tdep.h". + (XMALLOC): Define. + (i386_gdbarch_init): New function. + (_initialize_i386_tdep): Register bfd_arch_i386. + * config/i386/tm-i386.h (GDB_MULTI_ARCH): Define as + GDB_MULTI_ARCH_PARTIAL. + * i386-tdep.h: When partially multi-arch, conditionally define + all macros. + +Wed Nov 7 20:45:32 2001 Andrew Cagney + + * i386-tdep.c (set_disassembly_flavor): Delete function. + (set_disassembly_flavor_sfunc): Delete function. + +2001-11-07 Elena Zannoni + + * dbxread.c (set_namestring): New function, replacing the + SET_NAMESTRING macro. + (SET_NAMESTRING, CUR_SYMBOL_TYPE, CUR_SYMBOL_VALUE, + CUR_SYMBOL_STRX, DBXREAD_ONLY, START_PSYMTAB, END_PSYMTAB): Delete + definitions. + (read_dbx_symtab): Don't include partial-stab.h any more. Don't + reuse code in partial-stab.h, include the code directly, instead. + + * Makefile.in (dbxread.o): Remove dependency on partial-stab.h. + (HFILES_NO_SRCDIR): Remove partial-stab.h. + + * partial-stab.h: Remove file. + +2001-11-07 Andrew Cagney + + * gdbarch.sh: For multi-arch functions, check there is a + predefault and use it as the static default. + * gdbarch.c: Re-generate. + +2001-11-08 Mark Kettenis + + * config/i386/tm-linux.h (I386_LINUX_ORIG_EAX_REGNUM): Define in + terms of NUM_GREGS, NUM_FREGS and NUM_SSE_REGS instead of + hardcoding the register number. + +2001-11-07 Andrew Cagney + + * gdbarch.sh (USE_STRUCT_CONVENTION): Default to + generic_use_struct_convention. + * gdbarch.h, gdbarch.c: Regenerate. + * values.c (USE_STRUCT_CONVENTION): Delete definition, moved to + gdbarch.h. + +2001-11-06 Andrew Cagney + + * gdbarch.sh (PC_IN_CALL_DUMMY): Require a value. + * gdbarch.c: Regenerate. + +2001-11-06 Fred Fish + + * complaints.c (info_verbose): Remove unneeded decl, is in defs.h. + * dbxread.c: Ditto + * dwarf2read.c: Ditto. + * dwarfread.c: Ditto. + * exec.c: Ditto. + * hpread.c: Ditto. + * hpread.h: Ditto. + * mdebugread.c: Ditto. + * os9kread.c: Ditto. + * stack.c: Ditto. + * symfile.c: Ditto. + * tracepoint.c: Ditto. + +2001-11-06 Andrew Cagney + + * MAINTAINERS: Update Andrew Cagney's responsibilities. Mention + David Taylor and Nick Duffek in past maintainers. + +2001-11-06 Elena Zannoni + + * mdebugread.c (CUR_SYMBOL_TYPE, CUR_SYMBOL_VALUE, START_PSYMTAB, + END_PSYMTAB, SET_NAMESTRING, HANDLE_RBRAC): Delete definitions. + (parse_partial_symbols): Don't include partial-stab.h any + more. Don't reuse code in partial-stab.h, include the code + directly, instead. Simplify code from partial-stab.h eliminating + ifdef DBXREAD_ONLY code. + + * Makefile.in (mdebugread.o): Remove dependency on partial-stab.h. + +2001-11-06 Jim Blandy + + * s390-nat.c: #include "regcache.h", to get declaration for + `supply_register'. (The last change already added the dependency + of s390-nat.o on regcache.h. Oops.) + + * Makefile.in (ALLDEPFILES): Add s390-tdep.c and s390-nat.c. + (s390-tdep.o, s390-nat.o): New rules. + + * s390-nat.c (s390_register_u_addr): Pass proper arguments to + internal_error. + +2001-11-06 Andrew Cagney + + * gdbarch.sh (CALL_DUMMY_LOCATION): Require a value. + * gdbarch.c: Regenerate. + +2001-11-06 Andrew Cagney + + * blockframe.c (get_prev_frame): Replace #ifdef + INIT_EXTRA_FRAME_INFO with run-time test. + +2001-11-05 Andrew Cagney + + * gdbarch.sh (push_return_address): Change to a function with + predicate. + * gdbarch.h, gdbarch.c: Re-generate. + * valops.c (hand_function_call): Replace #ifdef + PUSH_RETURN_ADDRESS with run-time test of PUSH_RETURN_ADDRESS_P. + +2001-11-06 Corinna Vinschen + + * arch-utils.c (generic_in_function_epilogue_p): New function. + * arch-utils.h (generic_in_function_epilogue_p): Declare extern. + * breakpoint.c (watchpoint_check): Add test whether the pc is + currently in the epilogue of a function. + * gdbarch.c: Autogenerated from gdbarch.sh. + * gdbarch.h: Ditto. + * gdbarch.sh (function_list): Add `in_function_epilogue_p' definition. + +2001-11-05 Jim Blandy + + * config/s390/s390.mh (NATDEPFILES): Don't split this across + several lines with backslashes; the `sed' command in + configure.in's AC_OUTPUT clause that comments out the NATDEPFILES + assignment doesn't handle lines extended with backslashes. + + * configure.in (AC_OUTPUT): Handle assignments to NATDEPFILES + using `+=' as well as `='. + * configure: Regenerated. + +2001-11-05 Andrew Cagney + + * gdbarch.sh (init_extra_frame_info): Change to a function with + predicate. + * gdbarch.h, gdbarch.c: Re-generate. + * blockframe.c (create_new_frame): Replace #ifdef + INIT_EXTRA_FRAME_INFO with run-time test of + INIT_EXTRA_FRAME_INFO_P. + +2001-11-05 Andrew Cagney + + * gdbarch.sh (verify_gdbarch): Use a mem_file to accumulate all + error messages. Print in a single batch. + * gdbarch.c: Re-generate. + +2001-11-04 Mark Kettenis + + * i386-linux-nat.c (GETREGS_SUPPLIES, supply_gregset, + fill_gregset): Add support for "orig_eax" register. + + Add support for "orig_eax" pseudo register on Linux/x86. + * i386-linux-tdep.c: Include "inferior.h". + (i386_linux_register_name, i386_linux_register_byte, + i386_linux_register_raw_size): New functions. + (i386_linux_write_pc): New function. + * config/i386/tm-linux.h (I386_LINUX_ORIG_EAX_REGNUM): New define. + (NUM_REGS, MAX_NUM_REGS, REGISTER_BYTES, REGISTER_NAME, + REGISTER_BYTE, REGISTER_RAW_SIZE): Define to deal with additional + register. + (i386_linux_register_name, i386_linux_register_byte, + i386_linux_register_raw_size): New prototypes. + (TARGET_WRITE_PC): New define. + (i386_linux_write_pc): New prototype. + + * i386-tdep.c (i386_register_offset): Renamed from + i386_register_byte. Made static. + (i386_register_size): Renamed from i386_register_raw_size. Made + static. + (i386_register_virtual_size): Removed. + (i386_register_byte, i386_register_raw_size, + i386_register_virtual_size): New functions. + (_initialize_i386_tdep): Initialize i386_register_offset instead + of i386_register_byte. Remove code to initialize + i386_register_virtual_size. + * config/i386/tm-i386.h (REGISTER_BYTE): Redefine to use + i386_register_byte function. + (REGISTER_RAW_SIZE): Redefine to use i386_register_raw_size + function. + (REGISTER_VIRTUAL_SIZE): Redefine to use + i386_register_virtual_size function. + (i386_register_byte, i386_register_raw_size, + i386_register_virtual_size): New functions. + + * Makefile.in (ALLDEPFILES): Add i387-nat.c. + (i387-nat.o): Add dependencies. + +2001-11-02 Andrew Cagney + + * README: Mention problem with alpha-dec-osf5.1. + +2001-11-02 Andrew Cagney + + * utils.c (internal_verror): Restore calls to abort(). + Fix PR gdb/219. + +2001-11-02 Michael Chastain + + * MAINTAINERS: Update my entry. + +2001-11-01 Michael Snyder + + * symtab.c (operator_chars): Allow '*' and '[' to be quoted in + operator names, to avoid regexp expansion. + (search_symbols): Alloca buffer is too small, may get clobbered. + +2001-11-01 Fred Fish + + * coff-solib.c (coff_solib_add): Add new readsyms arg. + * irix5-nat.c (solib_add): Ditto. + * osfsolib.c (solib_add): Ditto. + * pa64solib.c (pa64_solib_add): Ditto. + * pa64solib.c (add_to_solist): Ditto. + * pa64solib.c (read_dld_descriptor): Ditto. + * solib.c (solib_add): Ditto. + * somsolib.c (som_solib_add): Ditto. + * win32-nat.c (child_solib_add): Ditto. + * xcoffsolib.c (solib_add): Ditto. + + * coff-solib.h (coff_solib_add): Add new readsyms arg to prototype. + * pa64solib.c (add_to_solist): Ditto. + * pa64solib.c (read_dld_descriptor): Ditto. + * pa64solib.h (pa64_solib_add): Ditto. + * solib.h (solib_add): Ditto. + * somsolib.h (som_solib_add): Ditto. + * config/i386/tm-cygwin.h (child_solib_add): Ditto. + + * coff-solib.c (coff_solib_add): If readsyms is zero don't read + symbols but do any other needed work for shared libs. + * irix5-nat.c: Ditto. + * osfsolib.c (solib_add): Ditto. + * solib.c (solib_add): Ditto. + * win32-nat.c (child_solib_add): Ditto. + * xcoffsolib.c (solib_add): Ditto. + + * irix5-nat.c (sharedlibrary_command): Pass 1 as readsyms to + solib_add to force reading of shared library symbols. + * osfsolib.c (sharedlibrary_command;): Ditto. + * pa64solib.c (pa64_solib_sharedlibrary_command): Ditto. + * solib.c (sharedlibrary_command): Ditto. + * somsolib.c (som_solib_sharedlibrary_command): Ditto. + * xcoffsolib.c (sharedlibrary_command): Ditto. + + * coff-solib.c (coff_solib_create_inferior_hook): Call solib_add + unconditionally with auto_solib_add. + * irix5-nat.c (solib_create_inferior_hook): Ditto. + * osfsolib.c (solib_create_inferior_hook): Ditto. + * solib.c (solib_create_inferior_hook): Ditto. + * solib-osf.c (osf_solib_create_inferior_hook): Ditto. + * solib-svr4.c (enable_break): Ditto. + * solib-sunos.c (sunos_solib_create_inferior_hook): Ditto. + + * corelow.c (solib_add_stub): Add auto_solib_add to args passed + via SOLIB_ADD. + * sol-thread.c (sol_thread_attach): Ditto. + * config/rs6000/nm-rs6000.h (SOLIB_ADD): Ditto. + + * infcmd.c (attach_command): Remove auto_solib_add decl. + Call SOLIB_ADD directly with auto_solib_add. + * infrun.c (handle_inferior_event): Ditto. + + * coff-solib.h (SOLIB_ADD): Add readsyms arg. + * pa64solib.h (SOLIB_ADD): Ditto. + * solib.h (SOLIB_ADD): Ditto. + * somsolib.h (SOLIB_ADD): Ditto. + * config/i386/tm-cygwin.h (SOLIB_ADD): Ditto. + + * fork-child.c (clone_and_follow_inferior): Remove unused + auto_solib_add decl. + + * pa64solib.c (pa64_solib_add): Call add_to_solist with readsyms. + (read_dld_descriptor): Ditto. + (pa64_solib_add): Call read_dld_descriptor with readsyms. + (pa64_solib_in_dynamic_linker): Ditto. + + * corelow.c (symfile.h): Need this for auto_solib_add declaration. + * sol-thread.c (symfile.h): Ditto. + +2001-10-31 Andrew Cagney + + * s390-nat.c (s390_remove_watchpoint): Use xfree. + (s390_insert_watchpoint): Use xmalloc. + +2001-10-31 Andrew Cagney + + * varobj.c: Replace value_ptr with ``struct value *''. + +2001-10-31 Andrew Cagney + + * varobj.c: Re-indent. + +2001-10-31 Andrew Cagney + + * x86-64-tdep.c (value_push, x86_64_push_arguments): Replace + ``value_ptr'' with ``struct value *''. + * s390-tdep.c (s390_push_arguments): Ditto. + +2001-10-30 Andrew Cagney + + * ppc-tdep.h: Add #ifndef wrapper. Replace value_ptr with + ``struct value *''. + (struct frame_info, struct value): Add opaque declarations. + +2001-10-31 Corinna Vinschen + + * arch-utils.c (generic_in_solib_call_trampoline): New function. + * arch-utils.h (generic_in_solib_call_trampoline): Extern declaration. + * gdbarch.c: Regenerated from gdbarch.sh. + * gdbarch.h: Ditto. + * gdbarch.sh (function_list): Add `IN_SOLIB_CALL_TRAMPOLINE' definition. + * infrun.c (IN_SOLIB_CALL_TRAMPOLINE): Remove macro. + +2001-10-31 Andrew Cagney + + From DJ Barrow. + * s390-tdep.c: (s390_gdbarch_init): Don't initialize + find_solib_trampoline_target. + +2001-10-31 Andrew Cagney + + * remote-vx.c (net_wait): Fix typo from PIDGET change. + +2001-10-31 Mark Kettenis + + * config/i386/tm-i386.h (REGISTER_NAMES): Remove. + (REGISTER_NAME): New define. + (i386_register_name): New prototype. + * i386-tdep.c (i386_register_names): New variable. + (i386_register_name): New function. + * config/i386/tm-i386os9k.h, config/i386/tm-ptx.h, + config/i386/tm-symmetry.h: Undefine REGISTER_NAME instead of + REGISTER_NAMES. + +2001-10-31 Christopher Faylor + + * win32-nat.c (register_loaded_dll): Attempt to ensure that the case of + the loaded DLL matches the on-disk case since the debugging API does + not seem to ensure this. Calculate max name length here. + (handle_load_dll): Move max name length calculation to + register_loaded_dll. + +2001-10-31 Daniel Jacobowitz + + * arm-linux-nat.c: Include explicitly. + +2001-10-30 Keith Seitz + + * wrapper.h (gdb_value_struct_elt): New function. + * wrapper.c (gdb_value_struct_elt): Ditto. + (do_captured_value_struct_elt): Ditto. + +2001-10-30 Andrew Cagney + + * README, NEWS: Update for 5.1. + +2001-10-30 Andrew Cagney + + * configure.in (WERROR_CFLAGS): Use AC_TRY_COMPILE to test the + -W... flags. + * configure: Re-generate. + +2001-10-30 Fred Fish + + * somsolib.c (som_solib_add): A megabyte is 1024*1024 bytes. + * pa64solib.c (add_to_solist): Ditto. + * win32-nat.c (_initialize_inftarg): Remove unnecessary + initialization of auto_solib_add, it defaults to 1. + +2001-10-27 Fred Fish + + * symfile.c (auto_solib_add): Update comment to note that + this variable is now just used as a boolean to control shlib + autoloading, and clarify when it is used. + * symfile.h (auto_solib_add): Ditto. + + * symfile.c (auto_solib_limit): New variable that holds the + autoloading threshold instead of overloading auto_solib_add. + * symfile.h (auto_solib_limit): Ditto. + + * irix5-nat.c (_initialize_solib): Change auto-solib-add + variable from var_zinteger to var_boolean and update help. + * osfsolib.c (_initialize_solib): Ditto. + * pa64solib.c (_initialize_pa64_solib): Ditto. + * solib.c (_initialize_solib): Ditto. + * somsolib.c (_initialize_som_solib): Ditto. + * xcoffsolib.c (_initialize_solib): Ditto. + + * pa64solib.c (pa64_solib_total_st_size): Update comment to + note that the new auto_solib_limit variable is used instead + of overloading auto_solib_add variable. + (_initialize_pa64_solib): Ditto. + * somsolib.c (som_solib_total_st_size): Ditto. + (_initialize_som_solib): Ditto. + + * pa64solib.c (_initialize_pa64_solib): Add new set/show + commands for auto-solib-limit variable. + * somsolib.c (_initialize_som_solib): Ditto + + * pa64solib.c (add_to_solist): Check that auto_solib_add is + set and use auto_solib_limit as the threshold size instead + of auto_solib_add. + * somsolib.c (som_solib_add): Ditto, and also change warning + text about size threshold exceeded. + +2001-10-21 Mark Kettenis + + * config/i386/tm-i386v.h: Don't include "regcache.h". + (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE, FRAME_CHAIN, + FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC, FRAME_NUM_ARGS): + Remove macros. The versions from "tm-i386.h" should work fine + (and in most cases even better). + +2001-10-30 Mark Kettenis + + * i386-tdep.c (i386_extract_return_value): Use + convert_typed_floating to extract floating-point value from + register buffer. + (i386_store_return_value): Use convert_typed_floating to store + floating-point return balue in register buffer + (i386_register_virtual_type): Change type of floating-point + registers to builtin_type_i387_ext. + (i386_register_convert_to_virtual): Use convert_typed_floating to + do the conversion. + (i386_register_convert_to_raw): Likewise. + +2001-10-29 Mark Kettenis + + * doublest.h (convert_typed_floating): New prototype. + * doublest.c (convert_typed_floating): New function. + +2001-10-28 Mark Kettenis + + * doublest.c: Improve comments a bit. + (floatformat_from_length): New function. + (NAN): Define to 0.0 if not already defined. + (extract_floating): Rewrite to use floatformat_from_length. Warn + instead of error if LEN doesn't match a known floating-point type, + and return NaN (or 0.0 if NaN isn't available) in that case. + (store_floating): Likewise, but zero out the target byte-stream if + LEN doesn't match a known floating-point type. + (extract_typed_floating): Reformat a bit. + (store_typed_floating): Reformat a bit. Add comment about zeroing + out padding in the target buffer. + * doublest.h (extract_floating, store_floating): Fix comment about + deprecation of these functions. Add parameter names to prototypes. + +2001-10-28 Mark Kettenis + + * i387-tdep.c (print_i387_value): Use extract_typed_floating to + convert RAW to a DOUBLEST instead of extract_floating. + + * gdbtypes.c (_initialize_gdbtypes): Set floating-point type for + builtin_type_i387_ext to floatformat_i387_ext. + +2001-10-24 Daniel Jacobowitz + + * arm-linux-nat.c (fill_gregset): Do not check register_valid[]. + (fill_fpregset): Likewise. + +2001-10-26 Orjan Friberg + + * cris-tdep.c (constraint): Loop through the whole cris_spec_regs + struct, not just the NUM_SPECREGS first entries. + (bdap_prefix): Read PC before autoincrement. + +2001-10-24 Corinna Vinschen + + * win32-nat.c (DebugSetProcessKillOnExit): New static function + pointer to Windows' DebugSetProcessKillOnExit() function. + (DebugActiveProcessStop): Ditto for DebugActiveProcessStop(). + (has_detach_ability): New function. + (child_attach): If system has detach ability, enable it. + (child_detach): If system has detach ability, actually + detach from process. + Change tty output to Linux format. + +2001-10-23 Jim Blandy + + Isolate STABS readers' use of the `textlow' and `texthigh' fields + of `struct partial_symtab' to only a few locations. This change + is not supposed to affect the way the values are computed, only + where they live. + + * dbxread.c (struct symloc): Add `textlow' and `texthigh' fields + to the reader-specific structure. + * mdebugread.c (struct symloc): Same. + * dbxread.c (TEXTLOW, TEXTHIGH): New accessor macros. + * mdebugread.c (TEXTLOW, TEXTHIGH): Same. + * dbxread.c (dbx_symfile_read): After we've built all our partial + symbol tables, set each partial symtab's `textlow' and `texthigh' + fields from our reader-specific structure. + * mdebugread.c (mdebug_build_psymtabs): Same. + * dbxread.c (start_psymtab): Initialize the reader-specific + structure's `textlow' and `texthigh' from the new psymtab's. + * mdebugread.c (parse_partial_symbols, new_psymtab): Same. + * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab): Use + the reader-specific `textlow' and `texthigh', not the generic + psymtab fields. + * mdebugread.c (parse_lines, parse_partial_symbols, + psymtab_to_symtab_1): Same. + * partial-stab.h: Same. + +Tue Oct 23 18:59:42 2001 Andrew Cagney + + * hp-psymtab-read.c, hppah-nat.c, hppa-tdep.c: Fix -Wformat + problems. + +Tue Oct 23 14:16:10 2001 Andrew Cagney + + * somsolib.c (som_solib_add): Use core_addr_to_host_pointer. + (som_solib_desire_dynamic_linker_symbols): Compare integers with + zero not NULL. + * hp-psymtab-read.c (hpread_call_pxdb): Make parameter constant. + +2001-10-21 Andrew Cagney + + * top.c (print_gdb_version): Do not print ``(MI_OUT)''. MI + interface is always enabled. + +2001-10-21 Andrew Cagney + + * Makefile.in: Replace top.h with $(top_h). Replace expression.h + with $(expression_h). Replace command.h with $(command_h). + (language_h): Define. Replace language.h with $(language_h). + Replace call-cmds.h with $(call_cmds_h). Replace varobj.h with + $(varobj_h). + (wrapper_h, valprint_h, objfiles_h, complaints_h): Ditto. + (serial_h, hpread_h, buildsym_h, stabsread_h): Ditto. + (xcoffsolib_h, gdb_stabs_h, linespec_h): Ditto. + (bcache_h, gdb_events_h, monitor_h): Ditto. + (ser_unix_h, source_h): Ditto. + (varobj_h): Update list. + + * call-cmds.h: Add CALL_CMDS_H macro wrapper. + * solist.h: Add SOLIST_H macro wrapper. + * monitor.h: Add MONITOR_H macro wrapper. + * typeprint.h: Add TYPEPRINT_H macro wrapper. + * xcoffsolib.h: Add XCOFFSOLIB_H macro wrapper. + * valprint.h: Add VALPRINT_H macro wrapper. + * top.h: Add TOP_H macro wrapper. + +2001-10-21 Andrew Cagney + + * config/a29k/tm-vx29k.h, i386-tdep.c: Include "value.h". + * arm-tdep.c, exec.c, ia64-tdep.c, infrun.c: Ditto. + * ppc-linux-tdep.c, remote-es.c, remote.c: Ditto. + * rs6000-tdep.c, s390-tdep.c, x86-64-tdep.c: Ditto. + * Makefile.in (arm-tdep.o, exec.o, i386-tdep.o, ia64-tdep.o) + (infrun.o, ppc-linux-tdep.o, remote.o, rs6000-tdep.o) + (x86-64-tdep.o): Update dependencies. + * gdbarch.sh [!GDB_MULTI_ARCH]: Include "value.h". + * gdbarch.h, gdbarch.c: Re-generate. + +2001-10-21 Mark Kettenis + + * infptrace.c (child_xfer_memory): Fix a few coding standards + violations. + +2001-10-21 Eli Zaretskii + + * config/djgpp/README: Fix a typo and tweak for GDB 5.1. + +2001-10-20 Andrew Cagney + + * jv-lang.h: Add #ifndef JV_LANG_H wrapper. + (struct value): Add opaque declaration. Replace value_ptr with + ``struct value *''. + * jv-valprint.c, jv-lang.c: Replace value_ptr with equivalent + struct. + + * wrapper.h (struct value): Add opaque declaration. Replace + value_ptr with ``struct value *''. + * wrapper.c: Replace value_ptr with ``struct value *''. + * breakpoint.h, breakpoint.c: Ditto. + * cp-abi.h, hpacc-abi.c, gnu-v2-abi.c, cp-abi.c: Ditto. + +2001-10-20 Andrew Cagney + + * alpha-nat.c: Include instead of + . + (fetch_osf_core_registers): Define core_reg_mapping in a way that + works on OSF5 as well as previous OSF versions. + +2001-10-20 Christopher Faylor + + * win32-nat.c (handle_load_dll): Avoid strlwr'ing loaded DLLs or cygwin + may not be able to read them in certain situations. + +2001-10-18 Andrew Cagney + + * config/powerpc/nbsd.mt (SIM_OBS, SIM): Define. + * config/powerpc/linux.mt (SIM, SIM_OBS): Ditto + +2001-10-18 Andrew Cagney + + * README: Mention problems with HP/UX. + +2001-10-16 Andrew Cagney + + Based on code by John Moore : + + * utils.c (core_addr_to_string): New function for conversion of + CORE_ADDR to string. + (string_to_core_addr): New function to convert from string to + CORE_ADDR. + * defs.h: Added extern statements for the above. + +2001-10-17 Jason Molenda (jason-cl@molenda.com) + + * symtab.c (lookup_block_symbol): Break out of linear search + if we're past the range of possible matches. + +2001-10-16 Christopher Faylor + + * win32-nat.c (safe_symbol_file_add_stub): Improve logic for avoiding + load of already loaded DLL. + (register_loaded_dll): Convert loaded DLL name to "posix" format or it + will confuse subsequent opening of the filename due to dos paths. + (dll_symbol_command): Pass from_tty parameter to safe_symbol_file_add. + +2001-10-15 Elena Zannoni + + * symtab.c (lookup_block_symbol): Update comment. + +2001-10-15 Andrew Cagney + + * value.h (value_as_address): Rename value_as_pointer. + * eval.c, findvar.c, gnu-v2-abi.c, gnu-v3-abi.c, jv-lang.c, + jv-valprint.c, printcmd.c, stack.c, top.c, valarith.c, valops.c, + values.c: Update. + +202001-10-15 Jim Ingham + + * valarith.c (value_sub): Don't pass a raw type to + value_from_pointer, it has to go through check_typedef first. + +2001-10-15 Andrew Cagney + + * gdbarch.sh (fallbackdefault): Set to one when predefault is + empty. + * gdbarch.h: Regenerate. + +2001-10-15 Andrew Cagney + + * mips-tdep.c (mips_integer_to_address): New function. + (mips_gdbarch_init): Initialize pointer_to_address, + address_to_pointer and integer_to_address. + + * config/mips/tm-mips.h (POINTER_TO_ADDRESS): Delete + (ADDRESS_TO_POINTER): Delete. + + * d10v-tdep.c (d10v_integer_to_address): New function. + (d10v_gdbarch_init): Initialize integer_to_address. + + * values.c (value_as_pointer): Use INTEGER_TO_ADDRESS when + available. + + * gdbarch.sh (INTEGER_TO_ADDRESS): New predicate and function. + * gdbarch.h, gdbarch.c: Regenerate. + +2001-10-14 Mark Kettenis + + * config/s390/nm-linux.h: Don't include . + (lin_lwp_attach_lwp, ATTACH_LWP, lin_thread_get_thread_signals, + GET_THREAD_SIGNAL): Remove. + + * config/nm-linux.h (struct objfile): Remove forward declaration. + (linuxthreads_new_objfile): Remove prototype. + (linuxthreads_pid_to_str): Remove prototype. + (PREPARE_TO_PROCEED): Redefine in terms of + lin_lwp_prepare_to_proceed. + (struct target_waitstatus): Forward declaration. + (child_wait): New prototype. + (CHILD_WAIT): Define. + (lin_lwp_attach_lwp, ATTACH_LWP, lin_thread_get_thread_signals, + GET_THREAD_SIGNAL): Moved here from arch-specific files. + * config/alpha/nm-linux.h, config/arm/nm-linux.h, + config/ia64/nm-linux.h, config/mips/nm-linux.h, + config/powerpc/nm-linux.h: Don't include . + (lin_lwp_attach_lwp, ATTACH_LWP, lin_thread_get_thread_signals, + GET_THREAD_SIGNAL): Remove. + * config/i386/nm-linux.h: Likewise. + (struct target_waitstatus, child_wait, CHILD_WAIT): Remove. + * config/m68k/linux.mh, config/sparc/linux.mh (NATDEPFILES): + Remove linux-thread.o. Add proc-service.o, thread-db.o and + lin-lwp.o. + (LOADLIBES): New variable. + + * sparc-nat.c (fetch_core_registers): Remove redundant prototype. + + * proc-service.c (BUILD_LWP): Redefine in terms of ptid_build. + + Fix attaching to cloned processes. This fixes PR gdb/61. + * lin-lwp.c (struct lwp_info): Add new member `cloned'. + (is_cloned) Removed. + (lin_lwp_attach_lwp): Don't call stop_wait_callback. Instead call + waitpid explicitly. Mark the LWP as cloned if waitpid fails and + retry with __WCLONE flag. + (lin_lwp_attach): Likewise. Warn if attaching to a cloned process. + (detach_callback): Replace use of is_cloned with explicit check on + LWP id and process id. + (stop_wait_callback): Replace use of is_cloned with check if LWP + is marked as cloned. + [CHILD_WAIT] (child_wait): New function. + (lin_lwp_wait): Replace use of is_cloned with check if LWP is + marked as cloned. Mark newly detected LWPs as cloned if detected + by waitpid with __WCLONE flag. + (kill_wait_callback): Replace use of is_cloned with check if LWP + is marked as cloned. + * config/i386/nm-linux.h (struct target_waitstatus): Add forward + declaration. + (child_wait): Add prototype. + (CHILD_WAIT): Define. + +2001-10-13 Andrew Cagney + + S/390 31 & 64 bit target and GNU/Linux native support. + Contributed by D.J. Barrow of IBM. + * s390-nat.c, s390-tdep.c: New file. + * config/s390/nm-linux.h, config/s390/s390.mh: New file. + * config/s390/s390.mt, config/s390/s390x.mt: New file. + * config/s390/tm-linux.h, config/s390/tm-s390.h: New file. + * config/s390/xm-linux.h: New file. + * NEWS: Update. + * MAINTAINERS: Update. + +2001-10-13 Andrew Cagney + + From 2001-07-09 D.J. Barrow : + * gdbarch.sh: Fixed CALL_DUMMY_BREAKPOINT_OFFSET to check + CALL_DUMMY_BREAKPOINT_OFFSET_P. + * gdbarch.c: Regenerate. + +2001-10-13 Mark Kettenis + + * thread-db.c: Fix a few formatting mistakes. + +2001-10-12 Christopher Faylor + + * win32-nat.c (safe_symbol_file_add_stub): Properly initialize linked + list pointer to beginning rather than one beyond beginning. + +2001-10-12 Daniel Jacobowitz + + * symtab.h (struct block): (ALL_BLOCK_SYMBOLS): New macro. + + * symtab.c (find_pc_sect_symtab): Use ALL_BLOCK_SYMBOLS. + (make_symbol_completion_list): Likewise. + (make_symbol_overload_list): Likewise. + * buildsym.c (finish_block): Likewise. + * breakpoint.c (get_catch_sals): Likewise. + * mdebugread.c (mylookup_symbol): Likewise. + * objfiles.c (objfile_relocate): Likewise. + * printcmd.c (print_frame_args): Likewise. + * stack.c (print_block_frame_locals): Likewise. + (print_block_frame_labels): Likewise. + (print_frame_arg_vars): Likewise. + * symmisc.c (dump_symtab): Likewise. + * tracepoint.c (add_local_symbols): Likewise. + (scope_info): Likewise. + +2001-10-12 Daniel Jacobowitz + + * minsyms.c (msymbol_hash): Use better hash function. + (msymbol_hash_iw): Likewise. Terminate loop at '(' properly. + + * objfiles.h: Increase MINIMAL_SYMBOL_HASH_SIZE to match modern + binaries. + +2001-10-12 Daniel Jacobowitz + + * printcmd.c (print_frame_args): Move symbol iteration explicitly + inside the func != NULL block. + +2001-10-12 Fernando Nasser + + * MAINTAINERS (Misc): Add Ian Roxborough as tcl/, tk/ and itcl/ + maintainer. + +2001-10-12 Pierre Muller + + * config/i386/tm-cygwin.h: Include tm-i386.h instead of tm-i386v.h. + This fixes errors in "long long" handling for 'finish' and 'return' + commands. + +2001-10-12 Christopher Faylor + + * win32-nat.c (safe_symbol_file_add_stub): Avoid adding a shared + library if it has already been loaded. + (safe_symbol_file_add_cleanup): Don't mess with stderr or we won't see + any error messages. + (safe_symbol_file_add): Ditto. + (solib_symbols_add): Make static. Accept 'from_tty' parameter. Pass + it to safe_symbol_file_add. + (core_dll_symbols_add): Accomodate extra solib_symbols_add parameter. + (child_solib_add): Ditto. + + * win32-nat.c (handle_exception): Don't print "first chance" + exceptions. + (get_child_debug_event): Continue from exceptions if !handle_exception. + +2001-10-11 Tom Tromey + + * symtab.c (lookup_symtab): Removed. + (lookup_symtab_1): Renamed to lookup_symtab. + +2001-10-10 Christopher Faylor + + * win32-nat.c (get_child_debug_event): Close file handles created after + process creation and DLL load. + (child_create_inferior): Close unneeded process/thread handle after + thread creation. + +2001-10-10 Jim Blandy + + * mn10300-tdep.c (mn10300_analyze_prologue): Doc fixes. + +2001-10-10 Keith Seitz + + * varobj.c (cplus_value_of_child): Deal with a failure + to dereference a pointer object. + +2001-10-08 J. Brobecker + + * hpux-thread.c: rewrite find_active_thread() and find_tcb() + to use ptid_t, instead of overloading the thread and the pid + into the same 32-bit value. Make associated necessary adaptations. + Also remove unused variable cached_active_thread. + +2001-10-08 Nicholas Duffek + + * MAINTAINERS (powerpc, SCO/Unixware, Solaris/x86): Remove my + entries. + +2001-10-06 Mark Kettenis + + * config/alpha/tm-fbsd.h (FRAME_CHAIN_VALID): Define. + +2001-10-04 Tom Tromey + + * main.c (enable_external_editor): Don't declare. + (captured_main): Don't set enable_external_editor. + +2001-10-02 Kevin Buettner + + * Makefile.in (ALLDEPFILES): Add solib-svr4.c and solib-sunos.c + to this list. + (solib-sunos.o): Add dependencies. + (solib-svr4.o): Revise dependencies. + * solib-svr4.c: Remove SunOS shared library support. + * solib-sunos.c: New file, created from solib-svr4.c, which still + contains SunOS shared library support, but no SVR4 support. + + * config/i386/nbsd.mh (NATDEPFILES): Remove solib-svr4.o and + solib-legacy.o from this list. Add solib-sunos.o. + * config/i386/sun386.mt (TDEPFILES): Likewise. + * config/m68k/nbsd.mh (NATDEPFILES): Likewise. + * config/m68k/sun2os4.mt (TDEPFILES): Likewise. + * config/m68k/sun3os4.mt (TDEPFILES): Likewise. + * config/ns32k/nbsd.mh (NATDEPFILES): Likewise. + * config/sparc/nbsd.mh (NATDEPFILES): Likewise. + * config/sparc/sun4os4.mt (TDEPFILES): Likewise. + +2001-10-01 Elena Zannoni + + * Makefile.in (mipsread.o): Remove old dependency on partial-stab.h. + +2001-10-01 Elena Zannoni + + * xcoffread.c (N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS, N_COMM, N_FN, + N_EXT, N_INDR, N_SETA, N_SETT, N_SETD, N_SETB, N_SETV, + CUR_SYMBOL_TYPE, CUR_SYMBOL_VALUE, START_PSYMTAB, END_PSYMTAB, + SET_NAMESTRING): Delete definitions. + Don't include language.h any more. + Don't include partial-stab.h any more. + (scan_xcoff_symtab): Don't jump through hoops to reuse code in + partial-stab.h, include the code directly, instead. + + * Makefile.in (xcoffread.o): Remove dependency on partial-stab.h. + +2001-10-01 Andrew Cagney + + * infcmd.c (do_registers_info): Delete code dumping large + registers. Handled by val_print. + +2001-09-30 Andrew Cagney + + * gdbarch.sh (gdbarch_alloc): Name the new architecture + ``current_gdbarch'' so that it, and not the identically named + global is refered to by macros. + * gdbarch.c: Regenerate. + +2001-09-29 Andrew Cagney + + * cli/cli-decode.c (add_set_boolean_cmd): Define. + * cli/cli-decode.h (add_set_boolean_cmd): Declare. + * command.h (add_set_boolean_cmd): Ditto. + * remote.c (_initialize_remote): Use add_set_boolean_cmd for "set + remotebreak" + +2001-09-29 Andrew Cagney + + * gdbarch.sh (gdbarch_dump): Sort output. + * gdbarch.c: Regenerate. + +2001-09-29 Andrew Cagney + + * rs6000-tdep.c (rs6000_gdbarch_init): Don't use the previous + architecture to infer the wordsize. Previous architecture may not + be a PowerPC. + +2001-09-27 J. Brobecker + + * infttrace.c (kill_inferior): Issue a TT_PROC_EXIT request rather + than a TT_PROC_STOP request to kill the inferior and its child + processes. Otherwise, the inferior is not killed on HPUX 11.0. + Removed the code that detaches the child processes since we just + killed them. + +2001-09-26 Andrew Cagney + + * serial.c (serial_set_cmdlist, serial_show_cmdlist): New + variables. + (serial_set_cmd, serial_show_cmd): New functions. + (_initialize_serial): Add "set/show serial" command. + +2001-09-26 Andrew Cagney + + * CONTRIBUTE: Update. + +2001-09-26 Kevin Buettner + + * solib-svr4.h (set_solib_svr4_fetch_link_map_offsets): Add + argument ``gdbarch''. + * solib-svr4.c (SVR4_FETCH_LINK_MAP_OFFSETS): Change default value. + (default_svr4_fetch_link_map_offsets): Rename to + legacy_fetch_link_map_offsets(). + (svr4_fetch_link_map_offsets): New function. + (fetch_link_map_offsets, fetch_link_map_offsets_init): Deleted. + (fetch_link_map_offsets_gdbarch_data): New static global. + (set_solib_svr4_fetch_link_map_offsets): Add argument ``gdbarch''. + Revise to invoke set_gdbarch_data(). + (init_fetch_link_map_offsets): Change return type and add an + argument so that it may be used as a gdbarch_data initializer. + (_initialize_svr4_solib): Eliminate use of gdbarch swap mechanism. + Use gdbarch data mechanism instead. + +2001-09-25 Jiri Smid + + * x86-64-linux-tdep.c (LINUX_SIGINFO_SIZE): Add. + (x86_64_linux_sigcontext_addr): Replace `sizeof (struct siginfo)' + by LINUX_SIGINFO_SIZE. + +2001-09-24 Andrew Cagney + + * maint.c (maintenance_set_cmdlist, maintenance_show_cmdlist): New + variables. + (maintenance_set_profile_cmd): New function. + (maintenance_show_cmd, maintenance_set_cmd): New functions. + (_initialize_maint_cmds): Add "maintenance set" and "maintenance + show" and, commented out, "maintenance set/show profile" commands. + +2001-09-24 Andrew Cagney + + * findvar.c (read_var_value): For LOC_INDIRECT and LOC_REF_ARG + convert the pointer into a CORE_ADDRs. + +2001-09-24 Andrew Cagney + + * doublest.h (store_floating, extract_floating): Add comment + indicating these functions are deprecated. + (extract_typed_floating, store_typed_floating): Declare. + * doublest.c: Include "gdbtypes.h". + (extract_typed_floating, store_typed_floating): Define. + + * stabsread.c (define_symbol): Use store_typed_floating. + * valarith.c (value_binop): Ditto. + * values.c (unpack_long): Use extract_typed_floating. + (unpack_double): Ditto. + +2001-09-24 Orjan Friberg + + * cris-tdep.c (reg_mode_add_sub_cmp_and_or_move_op): Fetch operand1 + from correct register. + +2001-09-22 Mark Kettenis + + * x86-64-linux-tdep.c (STRUCT_OFFSET): Removed. + +2001-09-21 Jiri Smid + + * config/i386/x86-64linux.mh: New file. + * config/i386/x86-64linux.mt: New file. + * config/i386/nm-x86_64.h: New file. + * x86-64-linux-tdep.c: New file. + * x86-64-linux-nat.c: New file. + * x86-64-tdep.c: New file. + * x86-64-tdep.h: New file. + * i386-tdep.h: New file. + * i387-nat.c: Include i386-tdep.h when multiarch. + * i387-tdep.c: Ditto. + * config/djgpp/fnchange.lst: Add entries for x86_64-linux-tdep.c + and x86_64-linux-nat.c + * Makefile.in: Add x86_64-linux-tdep.o, x86_64-tdep.o, + x86_64-linux-tdep.o, x86_64-nat.o, update dependencies. + +2001-09-21 Jiri Smid + + * MAINTAINERS: Add myself to the write-after-approval list. + * i386-nat.c (TARGET_HAS_DR_LEN_8, DR_LEN_8): Declare. + (i386_length_and_rw_bits, i386_handle_nonaligned_watchpoint, + i386_insert_watchpoint, i386_remove_watchpoint): Add support for + 8-byte wide watchpoints. + (i386_show_dr): Debug message format string change. + +2001-09-21 Michael Snyder + + * c-exp.y (typebase): Accept (signed long long) as a type expr. + +2001-09-20 Michael Snyder + Changes by Daniel Berlin , to support + better parsing of const and volatile type expressions. + * c-exp.y (const_and_volatile, const_or_volatile_noopt, + const_or_volatile): New non-terminals. + (ptype): Use new rule for const_or_volatile. + (typebase): Use new rule for const_or_volatile_noopt. + * parser-defs.h (enum type_pieces): New values tp_const, tp_volatile. + * parse.c (follow_types): Handle tp_const and tp_volatile on the + type stack: call make_cv_type to create new const/volatile type. + +2001-09-20 Kevin Buettner + + * solib-svr4.c (fetch_link_map_offsets): Add comment. + (fetch_link_map_offsets_init): New static global. + (set_solib_svr4_fetch_link_map_offsets, init_fetch_link_map_offsets): + Revise implementation to use ``fetch_link_map_offsets_init'' + instead of ``fetch_link_map_offsets''. + +2001-09-20 Alan Modra + + * coffread.c: Replace all occurrences of bfd_read with bfd_bread. + * dbxread.c: Likewise. + * dwarf2read.c: Likewise. + * dwarfread.c: Likewise. + * somread.c: Likewise. + * ultra3-nat.c: Likewise. + * xcoffread.c: Likewise. + +2001-09-19 Andrew Cagney + + * cris-tdep.c (cris_get_signed_offset): Change return type to an + explicitly signed char. + + * config/mcore/tm-mcore.h (mcore_virtual_frame_pointer): Update + function signature to match recent tracepoint.c:encode_actions + changes. + * mcore-tdep.c (mcore_virtual_frame_pointer): Ditto. + +2001-09-18 Andrew Cagney + + * thread.c (do_captured_thread_select): Add uiout parameter. + (do_captured_list_thread_ids): Ditto. + * breakpoint.c (do_captured_breakpoint_query): Ditto. + + * breakpoint.c (gdb_breakpoint_query): Update. Use + catch_exceptions. + * thread.c (gdb_list_thread_ids): Ditto. + (gdb_thread_select): Ditto. + (thread_command): Pass uiout to gdb_thread_select. + + * gdb.h (gdb_breakpoint_query): Add parameter ui_out. + (gdb_thread_select, gdb_list_thread_ids): Ditto. + +2001-09-13 Kevin Buettner + + From Ilya Golubev : + * solib.c (clear_solib): Call `remove_target_sections' to fix + stale pointers in `struct target_ops'. + * irix5-nat.c (clear_solib): Likewise. + * osfsolib.c (clear_solib): Likewise. + +2001-09-13 Jim Blandy + + * monitor.c (monitor_load): Don't delete symtab users, or reset + inferior_ptid. + + * monitor.c (monitor_load): Fix indentation. + +2001-09-11 Jim Blandy + + * printcmd.c (print_scalar_formatted): Compare the length of the + value against the lengths of the target's floating-point types, + not the host's. Add support for `long double'. + + * printcmd.c (print_scalar_formatted): Fix indentation. + +2001-09-10 Jim Blandy + + * rom68k-rom.c (init_rom68k_cmds): Set the flag indicating that + programs running on the board can produce output. + +2001-09-10 Jason Molenda (jmolenda@apple.com) + + * NEWS: "ANS/ISO C" -> "ISO C". + * MAINTAINERS (write-after-approval): Update my entry. + +2001-09-08 Mark Kettenis + + * config/xm-aix4.h (MEM_FNS_DECLARED): Removed. + + * config/arm/xm-linux.h, config/ia64/xm-linux.h, + config/m68k/xm-linux.h, config/mips/xm-linux.h, + config/powerpc/xm-linux.h, config/sparc/xm-linux.h: Remove + redundant inclusion of . + + * gdbtypes.h (struct block): Add forward declaration. + +2001-09-07 Andrew Cagney + + * defs.h (enum return_reason): Renumber so that all values are + negative. + (RETURN_MASK): Negate reason. + (catch_exception_ftype): Declare. + (catch_exceptions): Declare. + * top.c (catcher): New function, based on catch_errors. Add in + parameter func_uiout and out parameters func_val, func_caught and + func_cleanup. Change type of func to catch_exceptions_ftype. + Save/restore uiout. + (struct catch_errors_args): Define. + (do_catch_errors): New function. + (catch_errors): Rewrite, use do_catch_errors and catcher. + (catch_exceptions): New function, use catcher. + +2001-09-07 Jim Blandy + + Correctly parse register values provided by the monitor. + * rom68k-rom.c: #include "value.h". + (is_hex_digit, hex_digit_value, is_whitespace, + rom68k_supply_one_register): New static functions. + (rom68k_supply_register): Call rom68k_supply_one_register, instead + of monitor_supply_register; the latter was incorrectly parsing + the values. + * Makefile.in (rom68k-rom.o): Note that this now #includes value.h. + +2001-09-07 Mark Kettenis + + * config/rs6000/xm-rs6000.h (setpgrp): Remove macro. GDB defaults + to using setpgid if available now. + +2001-09-06 Keith Seitz + + From Ian Roxborough + * configure.in: Use ITCL_LIB_FULL_PATH and + ITK_LIB_FULL_PATH to set Itcl and Itk dependancies + for gdb. + * configure: Regenerated. + +2001-09-06 Kevin Buettner + + * dbxread.c (process_one_symbol): Don't use error result from + find_stab_function_addr(). + * partial-stab.h (case 'F'): Likewise. + + * partial-stab.h (case 'f'): Make SOFUN_ADDRESS_MAYBE_MISSING + code match that used for case 'F'. This fixes the divergence + that was introduced by my 1999-09-14 changes to partial-stab.h. + +2001-09-05 Elena Zannoni + + * gdbarch.sh: Move include of dis-asm.h so it is generated earlier + in gdbarch.h. + (TARGET_PRINT_INSN): Multiarch. + * gdbarch.h: Regenerate. + * gdbarch.c: Regenerate. + + * arch-utils.c (legacy_print_insn): New function. + * arch-utils.h (legacy_print_insn): Export. + + * cris-tdep.c (cris_delayed_get_disassembler): Use + TARGET_PRINT_INSN, instead of tm_print_insn. + * d10v-tdep.c (print_insn): Ditto. + * d30v-tdep.c (print_insn): Ditto. + * m32r-tdep.c (dump_insn): Ditto. + * v850-tdep.c (v850_scan_prologue): Ditto. + * mcore-tdep.c (mcore_dump_insn): Ditto. + * sh-tdep.c (sh_gdbarch_init): Set print_insn gdbarch field. + +2001-09-05 Jim Blandy + + * gdbtypes.h (struct type): Doc fix. + +2001-09-04 Elena Zannoni + + From Daniel Jacobowitz + * dbxread.c (free_header_files): Make global. + (init_header_files): Likewise. + * stabsread.h (free_header_files): Add prototype. + (init_header_files): Likewise. + * mdebugread.c (mdebug_build_psymtabs): Initialize + properly before using the stabs debug reader. + +2001-09-04 Elena Zannoni + + From Daniel Jacobowitz + * dbxread.c (dbx_symfile_read): Only reinitialize + the psymbol list if mainline or if both static + and global lists are empty. + * dwarf2read.c (dwarf2_build_psymtabs): Likewise. + * dwarfread.c (dwarf_build_psymtabs): Likewise. + * xcoffread.c (xcoff_initial_scan): Likewise. + * os9kread.c (os9k_symfile_read): Likewise. + +2001-09-04 Elena Zannoni + + From Daniel Jacobowitz + * mdebugread.c (psymtab_to_symtab_1): Handle N_SO stabs without + a name specially. + +2001-09-01 Mark Kettenis + + Make GDB use libiberty regex implementation. + * gdb_regex.h: Normalize protection against multiple inclusion. + Include "xregex.h" instead of "gnu-regex.h". + * cli/cli-cmds.c: Include "gdb_regex.h" instead of "gnu-regex.h". + * cli/cli-decode.c: Likewise. + * Makefile.in (REGEX): Remove. + (GDB_CFLAGS): Remove reference to gnu-regex.h in comment. + (ADD_FILES, ADD_DEPS): Remove $(REGEX). + (POSSLIBS): Remove. + (TAGFILES_NO_SRCDIR): Remove $(POSSLIBS). + (irix5-nat.o, solib.o, solib-svr4.o, source.o, symtab.o, + xcoffsolib.o, cli-decode.o, cli-cmd.o): Replace gnu-regex.h with + gdb_regex.h in list of dependencies. + (gnu-regex.o): Remove rule. + * gnu-regex.c, gnu-regex.h: Remove files. + +2001-08-31 Jason Molenda (jmolenda@apple.com) + + * c-valprint.c (c_val_print): Second call to check_typedef () + is no longer necessary. + +2001-08-31 Kevin Buettner + + * ia64-tdep.c (examine_prologue): Don't let a branch unit nop + terminate the prologue scan. + +2001-08-30 Jim Blandy + + * symfile.c (sections_overlap): New function. + (map_overlay_command): Call sections_overlap, instead of using + incorrect logic to recognize overlapping sections. + + * symfile.c (load_command): Invalidate the overlay cache. + +2001-08-30 Mark Kettenis + + * config/i386/xm-i386.h (HOST_BYTE_ORDER): Removed. + +2001-08-29 Kevin Buettner + + From 2001-08-07 Daniel Jacobowitz : + * solib-svr4.c (enable_break): Check the inferior link map + before assuming the inferior PC is at the start of the dynamic + loader. + +2001-08-28 Andrew Cagney + + * frame.h (struct frame_info): Fix documentation on fields + saved_regs, next and prev. + +2001-08-23 Mark Kettenis + + * event-top.c (async_stop_sig) [HAVE_SIGPROCMASK]: Some + gratuitious whitespace changes. + [!HAVE_SIGPROCMASK]: Call sigsetmask if HAVE_SIGSETMASK is defined. + * top.c: Remove redundant logic to define HAVE_SIGSETMASK. + (sigsetmask) Don't define macro. + (stop_sig) [HAVE_SIGPROCMASK]: Add bit of code snatched from + async_stop_sig from event-top.c. + [!HAVE_SIGPROCMASK]: Call sigsetmask if HAVE_SIGSETMASK is + defined. + * configure.in (AC_CHECK_FUNCS): Put functions in alphabetical + order. Add sigsetmask. + (AC_FUNC_VFORK, AC_FUNC_ALLOCA): Reorder such that they're in + alphabetical order. + * config/xm-aix4.h, config/alpha/xm-alphalinux.h, + config/i386/xm-cygwin.h, config/rs6000/xm-rs6000.h + (HAVE_SIGSETMASK): Remove. + * aclocal.m4, config.in, configure: Regenerated. + +2001-08-26 Andrew Cagney + + From 2001-06-29 Andrew Cagney : + * config/powerpc/nbsd.mh (XM_FILE): Delete. + +2001-08-21 Andrew Cagney + + * doublest.h (HOST_FLOAT_FORMAT): Delete macro. + (HOST_DOUBLE_FORMAT): Delete macro. + +2001-08-24 Mark Kettenis + + * config/xm-lynx.h, config/xm-nbsd.h, config/xm-sysv4.h, + config/i386/xm-i386aix.h, config/m68k/xm-dpx2.h: Remove redundant + inclusion of . + +2001-08-24 Andrew Cagney + + * regcache.c (read_register_bytes): When REGISTER_NAME indicates + that a register should be ignored, supply a value for the register + from the raw registers[] buffer. + +2001-08-24 Andrew Cagney + + * go32-nat.c (go32_create_inferior): Use xfree instead of free. + * config/djgpp/fnchange.lst: Add entries for i386bsd-tdep.c and + i386bsd-nat.c. + +2001-08-21 Andrew Cagney + + * gdbtypes.h (builtin_type_ieee_single_big) + (builtin_type_ieee_single_little, builtin_type_ieee_double_big) + (builtin_type_ieee_double_little) + (builtin_type_ieee_double_littlebyte_bigword) + (builtin_type_i387_ext, builtin_type_m68881_ext) + (builtin_type_i960_ext, builtin_type_m88110_ext) + (builtin_type_m88110_harris_ext, builtin_type_arm_ext_big) + (builtin_type_arm_ext_littlebyte_bigword) + (builtin_type_ia64_spill_big, builtin_type_ia64_spill_little) + (builtin_type_ia64_quad_big) + (builtin_type_ia64_quad_little): Declare. + * gdbtypes.c (builtin_type_ieee_single_big) + (builtin_type_ieee_single_little, builtin_type_ieee_double_big) + (builtin_type_ieee_double_little) + (builtin_type_ieee_double_littlebyte_bigword) + (builtin_type_i387_ext, builtin_type_m68881_ext) + (builtin_type_i960_ext, builtin_type_m88110_ext) + (builtin_type_m88110_harris_ext, builtin_type_arm_ext_big) + (builtin_type_arm_ext_littlebyte_bigword) + (builtin_type_ia64_spill_big, builtin_type_ia64_spill_little) + (builtin_type_ia64_quad_big) + (builtin_type_ia64_quad_little): Define. + (_initialize_gdbtypes): Initialize builtin floatformat types. + +2001-08-23 Mark Kettenis + + * tracepoint.c (read_actions): Add FIXME for code depending on + STOP_SIGNAL. + +2001-08-23 Martin M. Hunt + + * remote-mips.c (pmon_load_fast): Add ui_load_progress_hook + to download loop. + (mips_load_srec): Ditto. + +2001-08-22 Andrew Cagney + + * gdbtypes.c (build_gdbtypes): Initialize TYPE_FLOATFORMAT field + of builtin_type_float, builtin_type_double and + builtin_type_long_double. + (recursive_dump_type): Print the floatformat name. + * gdbtypes.h (struct type): Add type_specific field floatformat. + (TYPE_FLOATFORMAT): Define + +2001-08-21 Keith Seitz + + * printcmd.c (print_insn): Use the given stream for + output. + +2001-07-24 Andrew Cagney + + * arm-tdep.c (convert_from_extended, convert_to_extended): Delete + assembler version of function. + (convert_from_extended, convert_to_extended): Rewrite. Use + floatformat_to_doublest, floatformat_from_doublest, + floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword. + (arm_push_arguments): Use extract_floating and store_floating to + perform floating point conversions. + (SWAP_TARGET_AND_HOST): Delete macro. + * arm-linux-tdep.c (arm_linux_push_arguments): Use + extract_floating and store_floating to perform floating point + conversions. + +2001-08-20 Andrew Cagney + + * gdbtypes.h (struct type): Clarify meaning of field ``length''. + +2001-08-17 Keith Seitz + + * varobj.c (varobj_update): Change first parameter to + pointer to struct varobj*. This function can delete + varobjs, so we need to give callers the new varobj + when this happens. + (value_of_root): Update "var", too, if "var_handle" + changes. + * varobj.h (varobj_update): Likewise. + +2001-08-17 Keith Seitz + + * Makefile.in (varobj_h): Define. + (mi-cmd-var.o): Depends on varobj_h. + (gdbtk-varobj.o): Change varobj.h to $(varobj_h). + +2001-08-16 Keith Seitz + + * configure.in (GDBTK_SRC_DIR): We must have autoconf + give us the absolute path to the source directory. + * configure: Regenerated. + * Makefile.in (GDBTK_SRC_DIR): Add variable so that + autoconf can substitue it in for us. + (gdbtk.o): Pass in GDBTK_SRC_DIR instead of srcdir. We + really do need an absolute pathname. + +2001-08-15 Keith Seitz + + * Makefile.in (GDBTK_VERSION): Set a version number. + (GDBTK_LIBRARY): New variable to point to location where + gdbtk will install its tcl library. Changed all refereneces + to $(datadir)/insight1.0 to $(GDBTK_LIBRARY). + (SUBDIR_GDBTK_ALL): Remove "all-gdbtk". No longer needed. + (SUBDIR_GDBTK_CLEAN): Remove "clean-gdbtk". No longer needed. + (all-gdbtk): Remove. + (install-gdbtk): Remove. + (gdbtk.o): Pass srcdir to file when compiling. + +2001-08-15 Ian Roxborough + + * Makefile.in: Changed all references to the install directory + "gdbtcl" to read "insight1.0". + +2001-08-15 Corinna Vinschen + + * arch-utils.c (generic_skip_trampoline_code): New function. + * arch-utils.h (generic_skip_trampoline_code): Declare external. + * gdbarch.c: Regeberated from gdbarch.sh. + * gdbarch.h: Ditto. + * gdbarch.sh (SKIP_TRAMPOLINE_CODE): Multi-arch. + * infrun.c: Remove default setting of SKIP_TRAMPOLINE_CODE macro. + +2001-08-14 Daniel Jacobowitz + H.J. Lu (hjl@gnu.org) + + * partial-stab.h: valu should be a CORE_ADDR. + +2001-08-14 H.J. Lu (hjl@gnu.org) + + * dbxread.c (SWAP_SYMBOL): Removed. + (INTERNALIZE_SYMBOL): Check sign extended vma. + +2001-08-13 Christopher Faylor + + * top.c (SIGSETJMP): Protect env argument with parentheses. + (SIGLONGJMP): Protect env argument with parentheses. + +2001-08-11 Andrew Cagney + + * config/mn10300/mn10300.mt (TM_FILE): Delete. + * configure.tgt: Add mn10300 to list of mulit-arch targets. + * config/mn10300/tm-mn10300.h: Delete file. Move contents ... + * mn10300-tdep.c: To here. + +2001-08-11 Andrew Cagney + + * config/i386/tm-symmetry.h (REGISTER_CONVERT_TO_VIRTUAL): Make + val a DOUBLEST. Use floatformat_to_doublest. + (REGISTER_CONVERT_TO_RAW): Ditto. Use foatformat_from_doublest. + * config/m88k/tm-m88k.h (REGISTER_CONVERT_TO_VIRTUAL): Ditto. + (REGISTER_CONVERT_TO_RAW): Ditto. + +2001-08-11 Andrew Cagney + + * config/mn10300/tm-mn10300.h (PC_REGNUM, SP_REGNUM): Delete. + * mn10300-tdep.c (mn10300_gdbarch_init): Initialize pc_regnum and + sp_regnum. + +2001-08-11 Andrew Cagney + + * doublest.c (convert_doublest_to_floatformat): Rename + floatformat_from_doublest. Make static. + (convert_floatformat_to_doublest): Rename floatformat_to_doublest. + Make static. + (floatformat_to_doublest): New function. + (floatformat_from_doublest): New function. + (host_float_format, host_double_format, host_long_double_format): + New static variables. + (store_floating, extract_floating): Always use + floatformat_to_doublest and floatformat_from_doublest. + * doublest.h (HOST_LONG_DOUBLE_FORMAT): Delete macro. + +2001-08-11 Andrew Cagney + + * config/mn10300/tm-mn10300.h (INIT_FRAME_PC): Delete. + * mn10300-tdep.c (mn10300_gdbarch_init): Initialize init_frame_pc. + +2001-08-07 Andrew Cagney + + * target.h (TARGET_VIRTUAL_FRAME_POINTER): Delete, multi-arched. + * gdbarch.sh (TARGET_VIRTUAL_FRAME_POINTER): Add. + * gdbarch.h, gdbarch.c: Regenerate. + + * arch-utils.h (legacy_virtual_frame_pointer): Declare. + * arch-utils.c: Include "gdb_assert.h". + (legacy_virtual_frame_pointer): Define. + * Makefile.in (arch-utils.o): Depends on gdb_assert.h. + + * tracepoint.c (encode_actions): Make frame_reg an int. Make + frame_offset a LONGEST. + * ax-gdb.c (gen_frame_args_address): Ditto. + (gen_frame_locals_address): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Initialize + virtual_frame_pointer. + (mn10300_virtual_frame_pointer): Make static. Update parameter + list to match function signature. + * config/mn10300/tm-mn10300.h (TARGET_VIRTUAL_FRAME_POINTER): Delete. + +2001-08-10 Keith Seitz + + * gdb-events.sh: Add architecture_changed event. + * gdbarch.sh: Include gdb-event.h. + (gdbarch_update_p): Notify UIs when architecture changes. + * gdb-events.h: Regenerated. + * gdb-events.c: Regenerated. + * gdbarch.c: Regenerated. + +2001-08-10 Michael Snyder + + * regcache.c (legacy_write_register_gen): Don't 'optimize out' + a write_register to a pseudo-reg. Target_store_pseudo_register + needs to get called, because these regs may be computed and may + have side-effects. + +2001-08-10 Keith Seitz + + * gdb-events.sh: Deal with event notifications with no + arguments. + +2001-08-10 Orjan Friberg + + * remote.c (read_frame): Correct off-by-one error in condition. + +2001-08-08 Don Howard + + * stabsread.c (read_type): Add support for const and volatile + modifiers. + +2001-08-02 Daniel Jacobowitz + + * core-regset.c (fetch_core_registers): Remove HAVE_GREGSET_T + and HAVE_FPREGSET_T checks. Use gdb_gregset_t and gdb_fpregset_t. + +2001-08-02 Keith Seitz + + * defs.h (SLASH_STRING): If not defined, set + to "/", regardless of _WIN32, __CYGWIN__, or + whatnot. + +2001-08-02 Mark Kettenis + + * cli/cli-decode.h: Include "gdb_regex.h" instead of + "gnu-regex.h". + + * NEWS: Update. + +2001-08-02 Eli Zaretskii + + * config/i386/xm-go32.h: Include xm-i386.h. + (HOST_BYTE_ORDER, HOST_LONG_DOUBLE_FORMAT): Remove definitions. + +2001-08-02 Eli Zaretskii + + The following changes avoid polluting global namespace with the + `enable' and `disable' identifiers, because some platforms define + in their system headers symbols with global scope that go by those + names. + + * breakpoint.h (enum enable_state): Rename from `enum enable'. + Also rename all the enum members to have the "bp_" prefix. + (struct breakpoint): Rename the `enable' member to `enable_state'. + (enum bpdisp): Rename all members to have the "disp_" prefix. + + * breakpoint.c: All users of `enum enable' and `enum bpdisp' + changed. + (args_for_catchpoint_enable): Rename the `enable' member to + `enable_p'. All users changed. + + * tracepoint.h (enum enable): Remove. + (struct tracepoint): The member `enabled' is now `int enabled_p'. + + * tracepoint.c: All users of the `enabled' member changed. + + * printcmd.c (struct display): The `status' member is now an int. + + * memattr.h (struct mem_region): Rename the `status' member to + `enabled_p'. + (enum enable): Remove. + + * memattr.c: Change all users of the `status' member of struct + mem_region to use `enabled_p' instead. + + * infcmd.c (run_stack_dummy): Use disp_del instead of del. + + * go32-nat.c: Remove the kludgey work-around for conflicts between + and "breakpoint.h". + +2001-08-02 Corinna Vinschen + + * MAINTAINERS: Add myself to the write-after-approval list. + * ser-tcp.c (tcp_open): Use `localhost' as default host if no + hostname is given. + +2001-08-01 Andrew Cagney + + * doublest.h (store_floating, floatformat_to_doublest): Make IN + paramter a const void pointer. + (floatformat_from_doublest): Make IN const, Make OUT a void + pointer. + * doublest.c (floatformat_to_doublest): Update. + (floatformat_from_doublest): Update. + (extract_floating): Update. + +2001-07-31 Andrew Cagney + + * defs.h (HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT) + (HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT) + (HOST_LONG_DOUBLE_FORMAT, DOUBLEST) + (floatformat_to_doublest, floatformat_from_doublest) + (floatformat_is_negative, floatformat_is_nan) + (floatformat_mantissa, store_floating) + (extract_floating): Move declaration from here. + * doublest.h: To here. New file. + * utils.c (get_field, floatformat_to_doublest, put_field) + (ldfrexp, floatformat_from_doublest, floatformat_is_negative) + (floatformat_is_nan, floatformat_mantissa) + (FLOATFORMAT_CHAR_BIT): Move from here. + * doublest.c: To here. New file. + * findvar.c (store_floating, extract_floating): Move from here. + * doublest.c: To here. + * Makefile.in (SFILES): Add doublest.c. + (COMMON_OBS): Add doublest.o. + (doublest.o): Specify dependencies. + (doublest_h): Define. + + * config/m88k/tm-m88k.h: Include "doublest.h". + * config/i960/tm-i960.h: Ditto. + * config/i386/tm-symmetry.h: Ditto. + * rs6000-tdep.c, valarith.c: Ditto. + * valprint.c, stabsread.c, sh-tdep.c: Ditto. + * ia64-tdep.c, i387-tdep.c, i386-tdep.c: Ditto. + * values.c, arm-tdep.c, arm-linux-tdep.c: Ditto. + * alpha-tdep.c, ax.h, expression.h: Ditto. + * sh-tdep.c, parse.c, top.c, value.h: Ditto. + + * Makefile.in (arm-tdep.o): Add $(doublest_h). + (i386-tdep.o, i387-tdep.o, ia64-tdep.o): Ditto. + (rs6000-tdep.o, stabsread.o, valarith.o): Ditto. + (values.o, valprint.o, arm-linux-tdep.o): Ditto. + (alpha-tdep.o, ax_h, parse.o, top.o, value_h): Ditto. + (parser_defs_h): Ditto. + (expression_h): Add $(doublest_h) and $(symtab_h). + +2001-08-01 Andrew Cagney + + * Makefile.in: Sort header definitions. + (parser_defs_h, dis_asm_h, annotate_h, gdbthread_h): Define. + Replace parser-defs.h with $(parser_defs_h). Replace $(dis-asm_h) + and $(dis-asm.h) with $(dis_asm_h). Replace annotate.h with + $(annotate_h). Replace target.h with $(target_h). Replace + gdbthread.h with $(gdb_thread_h). Replace symfile.h with $(symfile_h). + +2001-07-31 Mark Kettenis + + * config/i386/xm-i386.h: New file. + * config/i386/xm-fbsd.h: Removed. + * config/i386/xm-linux.h: Removed. + * config/i386/fbsd.mh: Reorganize a bit. + (XM_FILE): Set to xm-i386.h instead of xm-fbsd.h. + * config/i386/linux.mh (XM_FILE): Set to xm-i386.h insread of + xm-linux.h. + +2001-07-30 Jim Blandy + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Doc fix. + +2001-07-27 Daniel Jacobowitz + + * configure.in: Only invoke AC_FUNC_SETPGRP if not cross-compiling. + Check for SETPGRP_VOID separately if cross-compiling and ISO C + headers are available. + +2001-07-30 Mark Kettenis + + * config/i386/tm-i386sol2.h (STAB_REG_TO_REGNUM): Redefine to call + i386_dwarf_reg_to_regnum. + + * i386-tdep.c (i386_register_convert_to_virtual): Replace + assertion with a warning if we're asked to convert towards a + non-floating-point type. Zero out the the buffer where the data + is supposed to be stored in that case. + +2001-07-29 Eli Zaretskii + + * config/djgpp/djconfig.sh: Unset CDPATH. + + * go32-nat.c (get_cr3): Temporary disable support for page tables + in UMBs, as it is incomplete. + + Support for stepping through longjmp in DJGPP programs: + + * config/i386/tm-go32.h (JB_ELEMENT_SIZE, JB_PC): New macros. + (GET_LONGJMP_TARGET): Define to call get_longjmp_target. + (get_longjmp_target): Add prototype. + +2001-07-28 Andrew Cagney + + Fix some PID/TPID fallout for HP/UX. + From 2001-07-22 Rodney Brown : + * infttrace.c (ptrace_wait): Match external declaration, + and match target_post_wait declaration. + +2001-07-28 Andrew Cagney + + * MAINTAINERS: Add Orjan Friberg as cris target maintainer. + (cris): Set --enable-gdb-build-warnings flag to -w. + +2001-07-28 Andrew Cagney + + From 2001-07-23 Andreas Schwab : + * config/m68k/tm-m68k.h (TARGET_LONG_DOUBLE_FORMAT): Define. + (TARGET_LONG_DOUBLE_BIT): Define. + (REGISTER_VIRTUAL_SIZE): Return 12 for floating point registers. + (MAX_REGISTER_VIRTUAL_SIZE): Increase to 12. + (REGISTER_VIRTUAL_TYPE): Return builtin_type_long_double for + floating point registers. + (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL) + (REGISTER_CONVERT_TO_RAW): Remove. + * config/m68k/xm-linux.h (HOST_LONG_DOUBLE_FORMAT): Define. + +2001-07-26 Andrew Cagney + + * thread.c, breakpoint.c: Include "gdb.h". + * Makefile.in (gdb_h): Define. + (HFILES_NO_SRCDIR): Add gdb.h. + (mi-cmd-break.o, mi-main.o, thread.o) + (breakpoint.o): Add dependency on $(gdb_h). + + * defs.h (enum gdb_rc, gdb_breakpoint_query) + (gdb_breakpoint, gdb_thread_select) + (gdb_list_thread_ids): Move declaration from here ... + * gdb.h: To here. New file. + +2001-07-28 Stephane Carrez + + * Makefile.in (SUBDIR_TUI_OBS): Add tui-out.o, tui-hooks.o. + (SUBDIR_TUI_SRCS): Add tui-out.c tui-hooks.c + (SFILES): Likewise. + (tui-out.o): Define dependencies. + (tui-hooks.o): Likewise. + +2001-07-28 Andrew Cagney + + * MAINTAINERS: Update e-mail address of active @cygnus.com + maintainers to @redhat.com. + +2001-07-28 Andrew Cagney + + * README (Known bugs): Delete section. + (Kernel debugging): Delete section. + (Languages other than C): Delete section. + (Host/target specific installation notes) New section. + +2001-07-28 Mark Kettenis + + * config/i386/tm-i386.h (STAB_REG_TO_REGNUM, SDB_REG_TO_REGNUM, + DWARF_REG_TO_REGNUM, DWARF2_REG_TO_REGNUM): New defines. + (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): New + prototypes. + * config/i386/tm-fbsd.h, config/i386/tm-i386gnu.h, + config/i386/tm-linux.h (STAB_REG_TO_REGNUM): Redefine to call + i386_dwarf_reg_to_regnum. + * i386-tdep.c (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): + New functions. + + * i386-tdep.c: Include "gdb_assert.h" + (i386_register_convert_to_virtual): Fix such that it can handle + conversion to any floating-point type. Assert that we are dealing + with a floating-point first. + (i386_register_convert_to_raw): Assert that TYPE is a + floating-point type with length 12. + +2001-07-27 John R. Moore + + * configure.in: Added dependency of gdb on tcl/tk libraries. + * Makefile.in: Likewise. + * configure: Regenerated with the above using autoconf. + +2001-07-26 Elena Zannoni + + * sh-tdep.c (sh_gdbarch_init): Use SH_DEFAULT_NUM_REGS instead of + NUM_REGS. + (SH_DEFAULT_NUM_REGS): Define. + +2001-07-26 Eli Zaretskii + + * go32-nat.c (read_memory_region): Make sure the segment limit was + indeed set, to work around a Windows 2000 bug. + +2001-07-25 Daniel Jacobowitz + + * infptrace.c (child_xfer_memory): Add cast to CORE_ADDR. + * infttrace.c (child_xfer_memory): Likewise. + * symm-nat.c (child_xfer_memory): Likewise. + * gdbserver/low-hppabsd.c (read_inferior_memory): Likewise. + (write_inferior_memory): Likewise. + * gdbserver/low-linux.c (read_inferior_memory): Likewise. + (write_inferior_memory): Likewise. + * gdbserver/low-lynx.c (read_inferior_memory): Likewise. + (write_inferior_memory): Likewise. + * gdbserver/low-nbsd.c (read_inferior_memory): Likewise. + (write_inferior_memory): Likewise. + * gdbserver/low-sparc.c (read_inferior_memory): Likewise. + (write_inferior_memory): Likewise. + * gdbserver/low-sun3.c (read_inferior_memory): Likewise. + (write_inferior_memory): Likewise. + +2001-07-25 Eli Zaretskii + + * README: Mention how to make gdb.pdf. + + * NEWS: Update. + +2001-07-24 Stephen P. Smith + + * MAINTAINERS (Stephen P. Smith): Added to write after approval + list. + +2001-07-23 Andrew Cagney + + * mips-tdep.c (mips_push_arguments): Add comment explaining + problem with LE o32 GCC. + +2001-07-23 Elena Zannoni + + * config/powerpc/aix.mh (MH_LDFLAGS): Don't set these, the Gnu linker + doesn't understand them. + +2001-07-23 Elena Zannoni + + * memattr.c (mem_info_command): Reformat output to look more like + 'info break' output. + (_initialize_mem): Improve help. + +2001-07-23 Mark Kettenis + + * configure.in (AC_CHECK_FUNCS): Add setpggrp. + (AC_FUNC_SETPGRP): Add. + * aclocal.m4, configure, config.in: Regenerated. + * inflow.c (gdb_setpgid): Get rid of NEED_POSIX_SETPGID and + SETPGRP_ARGS. Always use setpgid if it is available, fall back on + setpgrp if it isn't. Use SETPGRP_VOID (defined by autoconf) to + distinguish between the two setpgrp flavours. + * config/xm-sysv4.h, config/arm/xm-linux.h, + config/i386/xm-i386aix.h, config/i386/xm-sco.h, + config/i386/xm-linux.h, config/i386/xm-ptx.h, + config/m68k/xm-linux.h, config/powerpc/xm-linux.h, + config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h, + config/ia64/xm-linux.h (NEED_POSIX_SETPGID): Remove. + * config/rs6000/xm-rs6000.h (SETPGRP_ARGS): Remove. + +2001-07-23 Eli Zaretskii + + * go32-nat.c (read_memory_region): Set the granularity bit of the + allocated segment according to its size, and adjust the limit to + be page-aligned if the segment is page-granular. + + * (get_cr3, get_pde, get_pte, display_ptable_entry, go32_pde) + (display_page_table, go32_pte, go32_pte_for_address): New functions. + (_initialize_go32_nat): Initialize and document them. + +2001-07-22 Mark Kettenis + + * i386gnu-nat.c: Include "i387-nat.h". + (struct env387): Removed. + (reg_offset): Fix comment. + (fetch_fpregs): Use FCTRL_REGNUM and FOP_REGNUM instead of + FIRST_FPU_CONTROL_REGNUM and LAST_FPU_CONTROL_REGNUM. Rewrite to + use i387_supply_fsave. + (gnu_fetch_registers): Remove spurious whitespace. + (convert_to_env387): Remove. + (store_fpregs): Add argument regno. Use i387_fill_fsave instead + of convert_to_env387. + (gnu_store_registers): Remove spurious whitespace. Pass REGNO to + store_fpregs. + * config/i386/i386gnu.mt (TDEPFILES): Add i387-tdep.o. + * config/i386/i386gnu.mh (XDEPFILES): Remove i387-tdep.o. + (NATDEPFILES): Add i387-nat.o. + +2001-07-22 Stephane Carrez + + * Makefile.in (ALLDEPFILES): Add m68hc11-tdep.c. + (m68hc11-tdep.o): Define dependencies. + +2001-07-22 Stephane Carrez + + * m68hc11-tdep.c (m68hc11_gdbarch_init): Define int at 16-bits. + +2001-07-21 Stephane Carrez + + * utils.c (init_page_info): Use tui_get_command_dimension. + * printcmd.c (disassemble_command): Simplify tui specific code, + use tui_is_window_visible, tui_show_assembly. + +2001-07-21 Mark Kettenis + + * i386bsd-nat.c: Do not include . + (_initialize_i386bsd_nat) [KERN_PS_STRINGS]: Move FreeBSD-specific + code to ... + * i386fbsd-nat.c: ... here. New file. + * config/i386/fbsd.mh (NATDEPFILES): Add i386-fbsd.o. + * config/i386/nm-fbsd.h (CHILD_RESUME): Define. + * Makefile.in (ALLDEPFILES): Add i386fbsd-nat.c. + (i386fbsd-nat.o): Add dependencies. + +2001-07-19 Daniel Jacobowitz + + * signals.c: New file. + * Makefile.in: Add signals.o. + * target.c (struct signals, target_signal_to_name) + (target_signal_from_name, target_signal_from_host) + (do_target_signal_to_host, target_signal_to_host_p) + (target_signal_to_host, target_signal_from_command): Move to + signals.c. + (initialize_targets): Move check of struct signals to... + * signals.c (_initialize_signals): Here. + +2001-07-19 Andrew Cagney + + * MAINTAINERS: Add Michael Chastain as C++ testsuite maintainer. + +2001-07-19 Andrew Cagney + + From Stephen Smith: + * configure.tgt (i*86-*-pe*): New target. + +2001-07-19 Andrew Cagney + + From 2001-07-16 Rodney Brown : + * infttrace.c (child_thread_alive): Fix gdb_tid typo. + * somsolib.c (no_shared_libraries): Provide stub. + * xcoffsolib.c (no_shared_libraries): Provide stub. + +2001-07-18 Stephane Carrez + + * Makefile.in (COMMON_OBS): Remove tui-file.o. + (SUBDIR_TUI_OBS): Add it here. + (SUBDIR_TUI_SRCS): Move tui-file.c and tui-file.h here. + (main.o): Remove dependency with tui-file.h. + +2001-07-17 Elena Zannoni + + * Makefile.in (tui-file.o): Update dependencies. + +2001-07-17 Elena Zannoni + + * top.c (catch_errors): Convert PTR to void * in parameters list. + (quit_cover): Ditto. + +2001-07-17 Stephane Carrez + + * source.c (find_source_lines): Remove tui test, must be replaced + by appropriate warning hook. + (print_source_lines): Remove tui hacks, must be replaced by cli. + (forward_search_command): Remove tui hacks, can be replaced by + appropriate calls to identify_source_line when tui scrolls. + (reverse_search_command): Likewise. + +2001-07-16 Nick Duffek + + * remote.c (init_remote_ops, init_remote_cisco_ops, + init_remote_async_ops): Set to_pid_to_str and + to_extra_thread_info correctly and in the same order as declared + in target.h. + +2001-07-16 Andrew Cagney + + * remote.c: Revert below. Included more than intended. + +2001-07-16 Nick Duffek + + * remote.c (init_remote_ops, init_remote_cisco_ops, + init_remote_async_ops): Set to_pid_to_str and + to_extra_thread_info correctly and in the same order as declared + in target.h. + +2001-07-16 Nick Duffek + + * findvar.c (read_var_value): Apply value_as_pointer() to + addresses retrieved from the target for LOC_BASEREG and + LOC_BASEREG_ARG variables. + +2001-07-16 Orjan Friberg + + * NEWS: New target CRIS. + +2001-07-16 Elena Zannoni + + * top.c (show_commands): Remove extern decl of history_get, it's + already in readline/history.h. + +2001-07-16 Elena Zannoni + + * top.c (is_complete_command, init_cmd_lists, init_cli_cmds, + execute_user_command, do_setshow_command, get_prompt, init_proc, + serial_log_command): Remove extern declarations. Include + cli/cli-cmds.h, cli/cli-script.h, cli/cli-setshow.h, serial.h. + * gdbcmd.h (execute_user_command): Remove declaration, it's already + in cli/cli-script.h. + * command.h (do_setshow_command): Remove declaration, it's already + in cli/cli-setshow.h. + * infrun.c: Include "cli/cli-script.h" for execute_user_command. + * Makefile.in (infrun.o): Update dependencies. + (top.o): Ditto. + * cli/cli-setshow.h: Add comment for do_setshow_command. + +2001-07-16 Eli Zaretskii + + * cli/cli-cmds.c (shell_escape) [GLOBAL_CURDIR]: Condition the + call to chdir on this symbol rather than on __DJGPP__. + (CANT_FORK) [__MSDOS__]: Move from here... + * defs.h (CANT_FORK) [__MSDOS__]: ...to here. + (GLOBAL_CURDIR) [__MSDOS__]: Define. + +2001-07-16 Orjan Friberg + + * configure.tgt: Recognise the CRIS architecture. + * config/cris/cris.mt: New file for CRIS target. + * cris-tdep.c: New file for CRIS target. + +2001-07-15 Elena Zannoni + + * top.c (quit_cover, float_handler): Move definition up before use. + (gdb_init): Move to end of file, to avoid calls to not yet defined + functions. + Delete prototypes. + +2001-07-14 Andrew Cagney + + * serial.h (SERIAL_ASYNC): Delete. + (DEPRECATED_SERIAL_FD): Delete. + (SERIAL_DEBUG): Delete. + (SERIAL_DEBUG_P): Delete. + (SERIAL_DRAIN_OUTPUT): Delete. + (SERIAL_FLUSH_OUTPUT): Delete. + (SERIAL_FLUSH_INPUT): Delete. + (SERIAL_SEND_BREAK): Delete. + (SERIAL_RAW): Delete. + (SERIAL_GET_TTY_STATE): Delete. + (SERIAL_SET_TTY_STATE): Delete. + (SERIAL_PRINT_TTY_STATE): Delete. + (SERIAL_NOFLUSH_SET_TTY_STATE): Delete. + (SERIAL_SETBAUDRATE): Delete. + (SERIAL_SETSTOPBITS): Delete. + (SERIAL_CAN_ASYNC_P): Delete. + (SERIAL_IS_ASYNC_P): Delete. + (SERIAL_UN_FDOPEN): Delete. + (SERIAL_READCHAR): Delete. + (SERIAL_CLOSE): Delete. + (SERIAL_FDOPEN): Delete. + (SERIAL_OPEN): Delete. + * ser-unix.c: Update. + * sparclet-rom.c: Update. + * remote-bug.c: Update. + * dsrec.c: Update. + * xmodem.c: Update. + * nindy-share/ttyflush.c: Update. + * nindy-share/Onindy.c: Update. + * utils.c: Update. + * serial.c: Update. + * remote-nindy.c: Update. + * inflow.c: Update. + * sparcl-tdep.c: Update. + * sh3-rom.c: Update. + * remote.c: Update. + * remote-utils.c: Update. + * remote-st.c: Update. + * remote-sds.c: Update. + * remote-rdp.c: Update. + * remote-os9k.c: Update. + * remote-nrom.c: Update. + * remote-mips.c: Update. + * remote-es.c: Update. + * remote-e7000.c: Update. + * remote-array.c: Update. + * ocd.c: Update. + * nindy-share/nindy.c: Update. + * monitor.c: Update. + +2001-07-14 Andrew Cagney + + * mn10200-tdep.c: Replace value_ptr with ``struct value *''. + * mcore-tdep.c: Ditto. + * sparc-tdep.c: Ditto. + * sh-tdep.c: Ditto. + * rs6000-tdep.c: Ditto. + * ppc-linux-tdep.c: Ditto. + * m68hc11-tdep.c: Ditto. + * ia64-tdep.c: Ditto. + * i386-tdep.c: Ditto. + * arm-linux-tdep.c: Ditto. + * hppa-tdep.c: Ditto. + * h8500-tdep.c: Ditto. + * fr30-tdep.c: Ditto. + * arm-tdep.c: Ditto. + * alpha-tdep.c: Ditto. + * d30v-tdep.c: Ditto. + * d10v-tdep.c: Ditto. + * m32r-tdep.c: Ditto. + * mips-tdep.c: Ditto. + * v850-tdep.c: Ditto. + +2001-07-15 Elena Zannoni + + * top.c (readline_line_completion_function, noop_completer): Move + from here... + * completer.c (readline_line_completion_function, noop_completer): + ...to here. + * gdbcmd.h (readline_line_completion_function, noop_completer): + Move declarations from here... + * completer.h (readline_line_completion_function, noop_completer): + ...to here. + * corefile.c: Include completer.h. + * source.c: Ditto. + * symfile.c: Ditto. + * Makefile.in: Update dependencies. + +2001-07-15 Eli Zaretskii + + * go32-nat.c (go32_create_inferior): Support command lines longer + than 126 characters. + +2001-07-14 Stephane Carrez + + * NEWS: New target 68HC11/68HC12. + +2001-07-14 Stephane Carrez + + * utils.c (query): Remove tui hacks; tui must use the query_hook. + * top.c (command_loop): Remove tui insert_mode hacks; don't call + tuiCleanUp because this must be made with atexit by tui. + * symfile.c (symbol_file_command): Remove call to TUIDO + * stack.c (show_and_print_stack_frame_stub): Remove tui check; + not necessary when using the selected frame hooks. + (print_stack_frame_stub): Likewise. + (print_frame_info_base): Likewise. + (print_frame_info): Likewise. + (up_silently_command): Likewise. + (down_silently_command): Likewise. + (show_stack_frame): Likewise for TUIDO. + (select_frame): Likewise. + (select_and_print_frame): Likewise. + (stack_publish_stopped_with_no_frame): Remove. + (select_and_maybe_print_frame): Remove. + * main.c (captured_main): Remove tui_fileopen and tuiInit; tui + must use the initialize ui hook. + * infrun.c (normal_stop): Remove call to TUIDO; tui must use the + selected frame hooks. + * event-top.c (command_handler): Remove tui insert_mode hack. + * defs.h: Remove TUIDO; Only include tui.h. + * breakpoint.c (mention): Remove calls to TUIDO. + (delete_breakpoint): Remove tui hacks; tui must install + the breakpoint hooks. + +2001-07-14 Mark Kettenis + + * config/i386/xm-linux.h (KERNEL_U_ADDR): Move from here... + * config/i386/nm-linux.h: ...to here. Change comments about user + area/struct a bit. + + * config/i386/xm-linux.h (HAVE_TERMIOS): Really remove. + + * Makefile.in (ALLDEPFILES): Add i386bsd-nat.c and i386bsd-tdep.c + (i386bsd-tdep.o, i386bsd-nat.o): New targets. + +2001-07-13 Elena Zannoni + + * remote-e7000.c (fetch_regs_from_dump): If register set is null, + generate an internal error. + (e7000_fetch_registers): Initialize variable 'wanted'. + (e7000_wait): Initialize variable 'wanted_nopc'. + (e7000_store_register): Fix sprintf compiler warnings. + (sub2_from_pc): Ditto. + (e7000_open): Close the descriptor, not the name. + (e7000_load): Fix compiler warnings. + (sub2_from_pc): Ditto. + * Makefile.in (remote-e7000.o): Can now compile with -Werror. + +2001-07-13 Mark Kettenis + + * i386bsd-nat.c: Include , and + . + (store_inferior_registers): Wrap long line. + (i386bsd_dr_get_status): Fix typo in comment. + (_initialize_i386bsd_nat): New function. * i386bsd-tdep.c: New + file. * config/i386/tm-fbsd.h (IN_SIGTRAMP): New define. + (i386bsd_in_sigtramp): New prototype. + (SIGTRAMP_START, SIGTRAMP_END): Redefine in terms... + (i386bsd_sigtramp_start, i386bsd_sigtramp_end): ...these new + (external) variables. + (SIGCONTEXT_PC_OFFSET): Removed. + (FRAME_SAVED_PC): New define. + (i386bsd_frame_saved_pc): New function. * config/i386/fbsd.mt + (TDEPFILES): Add i386bsd-tdep.o. + +2001-07-12 Daniel Jacobowitz + + * mips-linux-tdep.c (_initialize_mips_linux_tdep): Use ISO C + definition. + +2001-07-13 Mark Kettenis + + * lin-lwp.c (lin_lwp_wait): Avoid check for resumed LWPs if there + are no registered LWPs yet. + +2001-07-12 Daniel Jacobowitz + + * config/i386/nm-linux.h (CANNOT_FETCH_REGISTER): Call the right + function. + (CANNOT_STORE_REGISTER): Likewise. + +2001-07-12 Keith Seitz + + * remote-rdp.c: Include "serial.h" + +2001-07-12 Daniel Jacobowitz + + * gdbserver/remote-utils.c (remote_open): Set VMIN to 1 + in HAVE_TERMIO/HAVE_TERMIOS cases. + +2001-07-12 Mark Kettenis + + * lin-lwp.c (stop_wait_callback): Add support for flushing + signals. Use that in favour of the old code to get rid of + superfluous SIGINTs. + (lin_lwp_wait): Use the new support in stop_wait_callback to + flush all but one SIGINT. + + * i386-tdep.c (i386_extract_return_value): Undo 2001-07-11 changes + to comment. + (i386_store_return_value): Improve comments about storing + floating-point return values. + + * config/arm/xm-linux.h, config/i386/xm-linux.h, + config/m68k/xm-linux.h, config/powerpc/xm-linux.h, + config/sparc/xm-linux.h, config/ia64/xm-linux.h (HAVE_TERMIOS): + Removed. Taken care of by autoconf and terminal.h. + +2001-07-12 Daniel Jacobowitz + + * mips-tdep.c (mips_type_needs_double_align): New function. + (mips_push_arguments): Align o32 structs to even argument + registers if necessary. + +2001-07-11 Daniel Jacobowitz + + * config/djgpp/fnchange.lst: Add entries for + mips-linux-nat.c and mips-linux-tdep.c. + +2001-07-12 Mark Kettenis + + * config/powerpc/xm-linux.h: Fix corrupted file. + + * configure.in: Add check for sigsetjmp. + * config/m68k/xm-linux.h (HAVE_SIGSETJMP): Removed. + * config/xm-sysv4.h (HAVE_SIGSETJMP): Removed. + * configure, config.in: Regenerated. + +2001-07-11 Elena Zannoni + + * config/sh/tm-sh.h (struct gdbarch_tdep): Add + FLOAT_ARGLAST_REGNUM, RETURN_REGNUM, ARG0_REGNUM, ARGLAST_REGNUM, + PR_REGNUM fields. + + * sh-tdep.c (sh_skip_prologue_hard_way): Rename from + skip_prologue_hard_way(). + (skip_prologue_hard_way): Make it a function pointer. + (sh_print_register): Use function pointer do_pseudo_register, + instead of sh_do_pseudo_register. + (sh_do_registers_info): Ditto. + (sh_gdbarch_init): Initialize do_pseudo_register. + (IS_MOV_TO_R14): Rename from IS_MOV_R14. + (skip_prologue_hard_way): Update. + (sh_gdbarch_init): Move setting of frame_chain, + get_saved_register, init_extra_frame_info, push_arguments, + extract_return_value, pop_frame, store_struct_return, + extract_struct_value_address, use_struct_convention, + init_extra_frame_info to before target specific settings. + (sh_gdbarch_init): Initialize new tdep fields + FLOAT_ARGLAST_REGNUM, RETURN_REGNUM, ARG0_REGNUM, ARGLAST_REGNUM, + PR_REGNUM. + (sh_push_arguments): Use new gdbarch_tdep fields + {ARG0,ARGLAST}_REGNUM. + (sh_saved_pc_after_call, sh_nofp_frame_init_saved_regs, + sh_init_extra_frame_info, sh_push_return_address, + sh_generic_show_regs, sh3_show_regs, sh3e_show_regs, + sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs): Update to use + gdbarch_tdep->PR_REGNUM. + (dr_reg_base_num, fv_reg_base_num): Move to earlier in the file. + +2001-07-11 Daniel Jacobowitz + + * config/mips/tm-linux.h: Include "tm-linux.h" instead of copying + from it. Move definitions of REALTIME_LO and REALTIME_HI above + include. + +2001-07-11 Daniel Jacobowitz + + * MAINTAINERS: List myself for MIPS/Linux + port. + +2001-07-11 Daniel Jacobowitz + + * gdbserver/remote-utils.c (remote_open): Only + check for F_SETOWN if we had F_SETFL and FASYNC. + +2001-07-11 Daniel Jacobowitz + + From Michael Fedrowitz : + + * config/m68k/linux.mh: Remove core-regset.o. + * m68klinux-nat.c: Fix comment. + (supply_gregset): Change argument to elf_gregset_t *. + (supply_fpregset): Change argument to elf_fpregset_t *. + (fetch_core_registers): New function. + (linux_elf_core_fns): Define. + (_initialize_m68k_linux_nat): New function. + +2001-07-11 Andrew Cagney + + * configure.tgt: Mark d10v as pure multi-arch. + * config/d10v/tm-d10v.h: Delete file. + * config/d10v/d10v.mt (TM_FILE): Delete. + +2001-07-10 Andrew Cagney + + * serial.h (typedef serial_t): Delete. Replace all references to + serial_t with `struct serial *'. + * serial.c: Update. + * nindy-share/ttyflush.c: Update. + * nindy-share/ttyflush.c: Update. + * nindy-share/Onindy.c: Update. + * nindy-share/nindy.c: Update. + * remote-rdp.c: Update. + * remote-sds.c: Update. + * remote-st.c: Update. + * remote-nindy.c: Update. + * remote-mips.c: Update. + * remote-e7000.c: Update. + * remote-os9k.c: Update. + * remote-nrom.c: Update. + * remote-es.c: Update. + * remote-array.c: Update. + * ocd.c: Update. + * mon960-rom.c: Update. + * dsrec.c: Update. + * inflow.c: Update. + * ser-e7kpc.c: Update. + * sparclet-rom.c: Update. + * srec.h: Update. + * ser-tcp.c: Update. + * ser-go32.c: Update. + * sparcl-tdep.c: Update. + * w89k-rom.c: Update. + * utils.c: Update. + * sh3-rom.c: Update. + * remote.c: Update. + * ser-pipe.c: Update. + * ser-unix.c: Update. + * ser-unix.h: Update. + * xmodem.c: Update. + * xmodem.h: Update. + +2001-07-11 J.T. Conklin + + From Greg McGary : + * gdbserver/remote-utils.c (remote_open): Set gdbserver as "owner" + of SIGIO. + (input_interrupt): Don't block on read, in case we got redundant + SIGIO. Don't gripe about redundant SIGIO. + * gdbserver/low-hppabsd.c (mywait): Use waitpid(). Enable SIGIO + handler while waiting. + * gdbserver/low-linux.c (mywait): Likewise. + * gdbserver/low-nbsd.c (mywait): Likewise. + * gdbserver/low-sparc.c (mywait): Likewise. + +2001-07-11 Keith Seitz + + * infrun.c (print_stop_reason): Add missing uiout field + "reason" for SIGNAL_RECEIVED case. + +2001-07-11 Mark Kettenis + + * config/alpha/nm-linux.h (TARGET_ELF64, PSIGNAL_IN_SIGNAL_H): + Remove unused macro's. + + * config/powerpc/nm-linux.h (NO_SYS_REG_H): Remove, it's no longer + used. + +2001-07-11 Eli Zaretskii + + * go32-nat.c (info_dos_cmdlist): New variable. + (go32_info_dos_command): New function. + (_initialize_go32_nat): Convert all DOS-specific commands into + subcommands of "info dos". Suggested by Andrew Cagney + . + +2001-07-11 Mark Kettenis + + * config/nm-linux.h: Fix comments. + + * thread-db.c (enable_thread_event_reporting): Correct warning + message about getting thread death breakpoint. + Reported by John S Kallal . + + * i386-tdep.c (i386_extract_return_value): "Fix" comment. + (i386_store_return_value): Frob FPU status and tag word to make + sure the return value is the only value on the FPU stack. + + * config/tm-linux.h: Do not include . Instead provide + reasonable defaults for REALTIME_LO and REALTIME_HI if they're not + already defined. + * config/nm-linux.h: Include . + [__SIGRTMIN] (REALTIME_LO, REALTIME_HI): Define to __SIGRTMIN and + (__SIGRTMAX + 1) respectively. + +2001-07-10 Andrew Cagney + + * mcore-rom.c: Include "serial.h". + * Makefile.in (mcore-rom.o): Depends on "serial.h". + +2001-07-10 Andrew Cagney + + * Makefile.in (remote-bug.o): Depends on serial.h. + * remote-bug.c: Include "serial.h". + * MAINTAINERS: Mark m88k target as buildable. + * TODO: Update. + +2001-07-10 Jim Blandy + + Clean up the D10V port so that GDB and the target program no + longer disagree on how big pointers are. + * findvar.c (value_from_register): Remove special case code for D10V. + * printcmd.c (print_frame_args): Same. + * valops.c (value_at, value_fetch_lazy): Same. + * values.c (unpack_long): Same. + * gdbarch.sh: Changes to effect the following: + * gdbarch.h (GDB_TARGET_IS_D10V, D10V_MAKE_DADDR, + gdbarch_d10v_make_daddr_ftype, gdbarch_d10v_make_daddr, + set_gdbarch_d10v_make_daddr, D10V_MAKE_IADDR, + gdbarch_d10v_make_iaddr_ftype, gdbarch_d10v_make_iaddr, + set_gdbarch_d10v_make_iaddr, D10V_DADDR_P, + gdbarch_d10v_daddr_p_ftype, gdbarch_d10v_daddr_p, + set_gdbarch_d10v_daddr_p, D10V_IADDR_P, + gdbarch_d10v_iaddr_p_ftype, gdbarch_d10v_iaddr_p, + set_gdbarch_d10v_iaddr_p, D10V_CONVERT_DADDR_TO_RAW, + gdbarch_d10v_convert_daddr_to_raw_ftype, + gdbarch_d10v_convert_daddr_to_raw, + set_gdbarch_d10v_convert_daddr_to_raw, D10V_CONVERT_IADDR_TO_RAW, + gdbarch_d10v_convert_iaddr_to_raw_ftype, + gdbarch_d10v_convert_iaddr_to_raw, + set_gdbarch_d10v_convert_iaddr_to_raw): Delete declarations. + * gdbarch.c: Delete the corresponding definitions. + (struct gdbarch): Delete members d10v_make_daddr, + d10v_make_iaddr, d10v_daddr_p, d10v_iaddr_p, + d10v_convert_daddr_to_raw, and d10v_convert_iaddr_to_raw. + (startup_gdbarch): Remove initializers for the above. + (verify_gdbarch, gdbarch_dump): Don't verify or dump them any + more. + * d10v-tdep.c (d10v_register_virtual_type): Rather that + claiming the stack pointer and PC are 32 bits long (which they + aren't), say that the stack pointer is an int16_t, and the + program counter is a function pointer. This allows the rest + of GDB to make the appropriate conversions between the code + pointer format and real addresses. + (d10v_register_convertible, d10v_register_convert_to_virtual, + d10v_register_convert_to_raw): Delete function; no registers + are convertible now, so we use + generic_register_convertible_not instead. + (d10v_address_to_pointer, d10v_pointer_to_address): New gdbarch + methods. + (d10v_push_arguments, d10v_extract_return_value): Remove special + cases for code and data pointers. + (d10v_gdbarch_init): Set gdbarch_ptr_bit to 16, so that GDB and + the target agree on how large pointers are. Say that addresses + are 32 bits long. Register the address_to_pointer and + pointer_to_address conversion functions. Since no registers are + convertible now, register generic_register_convertible_not as the + gdbarch_register_convertible method instead of + d10v_register_convertible. Remove registrations for + d10v_register_convert_to_virtual, + d10v_register_convert_to_raw, gdbarch_d10v_make_daddr, + gdbarch_d10v_make_iaddr, gdbarch_d10v_daddr_p, + gdbarch_d10v_iaddr_p, gdbarch_d10v_convert_daddr_to_raw, and + gdbarch_d10v_convert_iaddr_to_raw. + + * printcmd.c (print_scalar_formatted): If we are printing an + address, remember that TARGET_ADDR_BIT is not always equal to + TARGET_PTR_BIT. + + * valops.c (value_cast): When casting a pointer to an integer, + don't convert it to an address. + +2001-07-10 Andrew Cagney + + * remote-utils.h (struct serial): Declare as opaque. Remove + include of "serial.h". + * Makefile.in (remote_utils_h): Update. + + * monitor.h (struct serial): Declare as opaque. Remove include of + "serial.h". + (struct monitor_ops): Replace serial_t with `struct serial *'. + * monitor.c (monitor_desc): Ditto. + +2001-07-10 Daniel Jacobowitz + + * mips-linux-tdep.c: New file. + * mips-linux-nat.c: New file. + * config/mips/linux.mh: New file. + * config/mips/linux.mt: New file. + * config/mips/xm-linux.h: New file. + * config/mips/nm-linux.h: New file. + * config/mips/tm-linux.h: New file. + * configure.host: Recognize mips*-*-linux*. + * configure.tgt: Likewise. + * NEWS: Mention mips*-*-linux* port. + +2001-07-09 Andrew Cagney + + * serial.h (struct serial): Rename `struct _serial_t'. + * serial.c (XMALLOC): Define. + (serial_open): Update. Use XMALLOC. + (serial_fdopen): Ditto. + +2001-07-07 Andrew Cagney + + * gdbtypes.h (builtin_type_void_data_ptr): Rename + builtin_type_ptr. + * gdbtypes.c (builtin_type_void_data_ptr): Update. + (build_gdbtypes): Update. + (_initialize_gdbtypes): Update. + * values.c (value_as_pointer): Update. + * utils.c (host_pointer_to_address): Update. + (address_to_host_pointer): Update. + +2001-07-08 Andrew Cagney + + * remote-udi.c (udi_wait): Make type, instead of name, of first + parameter a ptid_t. + +2001-07-07 Andrew Cagney + + * ser-mac.c: Make obsolete. + * Makefile.in (ser-mac.o): Ditto. + +2001-07-08 Eli Zaretskii + + * go32-nat.c (go32_get_windows_version, print_mem, go32_sysinfo) + (read_memory_region, get_descriptor, display_descriptor) + (go32_sldt, go32_sgdt, go32_sidt): New functions. + (top-level): Include ctype.h, utsname.h, dos.h, and go32.h. Ifdef + away `disable' from dos.h, since breakpoint.h defines an enum + member of the same name, and GCC 2.7.2 barfs. + (_initialize_go32_nat): Provide new commands dos-sysinfo, dos-ldt, + dos-gdt, and dos-idt, all of them in the "info" class + +2001-07-07 Kevin Buettner + + * procfs.c (create_procinfo): Allocate space for saved_entryset + and saved_exitset. + (destroy_one_procinfo): Free space allocated to saved_entryset + and saved_exitset. + +2001-07-07 Andrew Cagney + + * TODO (5.1): Update. + +2001-07-07 Andrew Cagney + + * symtab.c (main_name): New function. + (set_main_name): New function. + * symtab.h: Declare. + * TODO: Update + + From 2000-03-05 Anthony Green : + * dbxread.c (process_one_symbol): Handle the N_MAIN stab by + setting main_name. + * blockframe.c (inside_main_func): Use main_name instead of + "main". + * symtab.c (find_main_psymtab): Ditto. + * source.c (select_source_symtab): Ditto. + * nlmread.c (nlm_symfile_read): Ditto. + * rs6000-tdep.c (skip_prologue): Ditto. + +2001-07-07 Andrew Cagney + + * TODO: Convert most items into PRs. + +2001-07-07 Mark Kettenis + + * lin-lwp.c (status_to_str): New function. + (lin_lwp_wait): Use it to print debug messages where appropriate. + +2001-07-06 Michael Chastain + + * i387-tdep.c (print_i387_value): Fix pointer glitch. + +2001-07-07 Mark Kettenis + + * lin-lwp.c (count_events_callback): Fix formatting. Turn check + commented with "paranoia" into gdb_assert. + (select_event_lwp_callback): Likewise. + (cancel_breakpoints_callback): Bail out early if LP is the event + LWP. Add comment about backup up breakpoints. Fix formatting and + debug message. + (select_event_lwp): Make solely repsonsible for switching event + LWP. Fix formatting and remove bogus "ERROR" debug message. + Don't backup breakpoints from here. + (lin_lwp_wait): Don't touch LP->status, let select_event_lwp + handle that. Only call select_event_lwp if we're not waiting for + a specific LWP, i.e. when PID == -1. Backup breakpoints from here. + +2001-07-06 Michael Snyder + + * procfs.c (procfs_resume): Silence noisy warning. + +2001-06-12 Michael Snyder + + * lin-lwp.c: Prevent thread starvation by using a monte carlo + method to choose which of several event threads to handle next. + + (stop_wait_callback): Defer pushback of breakpoint events until + later; add SIGTRAP events to the queue of unhandled events. + Keep calling waitpid until SIGSTOP retrieved. If more than one + non-SIGSTOP event is retrieved, push them back onto the process + queue using kill. + (count_events_callback, select_singlestep_lwp_callback, + select_event_lwp_callback, cancel_breakpoints_callback, + select_event_lwp): New functions. Implement monte carlo method + for selecting which of several SIGTRAP threads to handle next. + Push back the breakpoint event for all threads other than the + selected one. + (lin_lwp_wait): Call select_event_lwp to decide which of several + sigtrapped lwps to handle next. + (resume_callback): Disable code that attempts to handle + step_resume breakpoints. Let core gdb handle this. + +2001-07-06 Jim Blandy + + * gdbtypes.h (builtin_type_void_func_ptr): New builtin type. + * gdbtypes.c (builtin_type_void_func_ptr): Define the variable. + (build_gdbtypes): Initialize it. + (_initialize_gdbtypes): Swap it. + +2001-07-04 Daniel Jacobowitz + + * mips-tdep.c (mips32_op): Correct offset. + (itype_op): Likewise. + (itype_rs): Fix formatting. + (itype_immediate): Fix formatting. + (jtype_op): Correct offset. + (jtype_target): Fix formatting. + (rtype_op): Correct offset. + (rtype_rs): Fix formatting. + (rtype_rt): Likewise. + (rtype_rd): Likewise. + (rtype_shamt): Likewise. + (rtype_funct): Likewise. + + (mips32_next_pc): Fix formatting and comments. Recognize + coprocessor 1 branches. Check the correct field for BLT family + branches. Use itype_rt instead of itype_rs for the second register + of a BNE or BNEL branch. Move (unreachable) default case. + +2001-07-04 Andrew Cagney + + * ui-out.h (struct ui_out_impl): Add field is_mi_like_p. + (ui_out_is_mi_like_p): Declare. + * ui-out.c (ui_out_is_mi_like_p): Define. + (default_ui_out_impl): Initialize is_mi_like_p to zero. + * cli-out.c (cli_ui_out_impl): Ditto. + * breakpoint.c (print_it_typical): Use ui_out_is_mi_like_p. + (watchpoint_check, print_one_breakpoint, mention): Ditto. + * infrun.c (print_stop_reason, normal_stop): Ditto. + +2001-07-05 Daniel Jacobowitz + + * mips-tdep.c (mips_software_single_step): New function. + * config/mips/tm-mips.h: Add prototype for + mips_software_single_step. + +2001-07-05 Daniel Jacobowitz + + * ppc-linux-nat.c (supply_gregset): Use elf_greg_t instead + of greg_t. + (fill_gregset): Likewise. + +2001-07-05 Andrew Cagney + + * objfiles.c (open_mapped_file): Use lbasename instead of + basename. + +2001-07-05 Jim Blandy + + * d10v-tdep.c (d10v_frame_chain, d10v_frame_init_saved_regs, + show_regs, d10v_read_pc, d10v_write_pc, d10v_read_sp, + d10v_write_sp, d10v_write_fp, d10v_read_fp, + d10v_push_return_address): Call the functions d10v_make_daddr, + d10v_make_iaddr, d10v_convert_iaddr_to_raw, and + d10v_convert_daddr_to_raw, not the global macros D10V_MAKE_DADDR, + D10V_MAKE_IADDR, D10V_CONVERT_IADDR_TO_RAW, and + D10V_CONVERT_DADDR_TO_RAW. + + * dwarf2read (dwarf2_build_psymtabs_hard): Doc fix. + +2001-07-05 Mark Kettenis + + * config/i386/xm-go32.h (HOST_I386): Removed. + * config/i386/xm-linux.h (HOST_I386): Removed. + +2001-07-04 Mark Kettenis + + * i387-tdep.c (print_i387_value): Add extra space after final full + stop in comment. + +2001-07-04 Andrew Cagney + + * TODO (5.1): Update. Doco changes committed. + +2001-06-29 Andrew Cagney + + * config/arm/tm-arm.h: Include "floatformat.h". + +2001-06-29 Andrew Cagney + + * i387-tdep.c: Include "gdb_assert.h". + (print_i387_value): Use extract_floating to extract the FP value + from a zero padded local buffer. + +2001-06-28 Andrew Cagney + + * TODO: Delete all thread items. The thread code was overhauled. + +2001-07-04 Elena Zannoni + + * memattr.c (create_mem_region): Move n to next memory region, + to avoid infinite loop. + + * memattr.h: Add copyright statement. + * memattr.c: Ditto. + +2001-07-04 Jim Blandy + + * dwarf2read.c (struct partial_die_info): New member: has_pc_info. + (read_partial_die): Delete fourth argument; we return this info in + the struct partial_die_info object itself now. + (dwarf2_build_psymtabs_hard, scan_partial_symbols): Use the + has_pc_info field of the partial die struct, rather than passing a + variable by reference to read_partial_die. + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Remove extraneous + code in loop condition. + +2001-07-03 Michael Snyder + + * thread_db (find_new_threads_callback, thread_db_thread_alive, + attach_thread): Update comments. + +2001-06-29 Ken Whaley + + * thread-db.c (attach_thread): Check for TD_THR_ZOMBIE in addition + to TD_THR_UNKNOWN when looking for defunct zombie threads. + (thread_db_thread_alive): Ditto. + (find_new_threads_callback): Ditto. + +2001-07-02 Daniel Jacobowitz + + * MAINTAINERS: Add myself to the write-after-approval list. + +2001-07-02 Daniel Jacobowitz + + * solib-svr4.c: Include "elf/mips.h". + (elf_locate_base): Make DT_MIPS_RLD_MAP block unconditional. + +2001-07-02 Jim Blandy + + * dwarf2read.c (read_comp_unit, sibling_die, dump_die, + dump_die_list, store_in_ref_table, follow_die_ref): Make these + static; they're private functions. + +2001-07-01 Mark Elbrecht + + * coffread.c (coff_symfile_read): Parse DWARF2 info if present. + +2001-06-28 Elena Zannoni + + * TODO: Add import of readline 4.2 as a gdb 5.2 task. + +2001-06-29 Andrew Cagney + + * config/djgpp/fnchange.lst: Sort. + +2001-06-28 Andrew Cagney + + * config/djgpp/fnchange.lst: Rename mi0-var-block.exp, + mi0-var-cmd.exp, mi0-var-child.exp and mi0-var-display.exp. + +2001-06-29 Andreas Jaeger + + * MAINTAINERS: Add myself to the write-after-approval list. + +2001-06-28 Andrew Cagney + + * remote-array.c (SWAP_TARGET_AND_HOST): Delete macro. + (get_hex_word): Don't use HOST_BYTE_ORDER. + (array_fetch_registers): Add variable ``reg''. Use + store_unsigned_integer to byte-swap the register. Delete unused + local ``regs''. + +2001-06-28 Andrew Cagney + + * MAINTAINERS: Add Per Bothner to Java maintainers. + +2001-06-28 Andrew Cagney + + * rdi-share/unixcomm.c (SERIAL_PREFIX): Always provide a default. + * rdi-share/hostchan.h (__unix): Hack, provide a default value. + * rdi-share/host.h (__unix): Hack, define when __NetBSD__. + * TODO: Update. + * MAINTAINERS: Update. arm-elf builds. + +2001-06-28 Jim Blandy + + * d10v-tdep.c (d10v_ts2_dmap_register): Doc fix. + + * d10v-tdep.c (d10v_frame_chain_valid, d10v_use_struct_convention, + d10v_breakpoint_from_pc, d10v_register_byte, + d10v_register_raw_size, d10v_register_virtual_size, + d10v_register_virtual_type, d10v_register_convertible, + d10v_register_convert_to_virtual, d10v_register_convert_to_raw, + d10v_make_daddr, d10v_make_iaddr, d10v_daddr_p, d10v_iaddr_p, + d10v_convert_iaddr_to_raw, d10v_convert_daddr_to_raw, + d10v_store_struct_return, d10v_store_return_value, + d10v_extract_struct_value_address, d10v_frame_saved_pc, + d10v_saved_pc_after_call, d10v_pop_frame, d10v_skip_prologue, + d10v_frame_chain, d10v_frame_init_saved_regs, + d10v_init_extra_frame_info, d10v_read_pc, d10v_write_pc, + d10v_read_sp, d10v_write_sp, d10v_write_fp, d10v_read_fp, + d10v_push_return_address, d10v_push_arguments, + d10v_extract_return_value): Make these functions static. + +2001-06-28 Andrew Cagney + + From Fernando Nasser: + * infrun.c (handle_inferior_event): Handle "nexti" inside function + prologues. + +2001-06-28 Michael Snyder + + * infrun.c (handle_inferior_event): Replace prev_pc test in all + calls to bpstat_stop_status (removed in 1999-09-24). This test + helps distinguish stepping over a breakpoint trap from stepping + thru a jump to the instruction after a breakpoint trap. + (handle_inferior_event): Don't bother writing the PC if + DECR_PC_AFTER_BREAK is zero (optimization). + * breakpoint.c (bpstat_stop_status): Add comment explaining the + purpose and usage of the "not_a_breakpoint" argument in computing + the breakpoint address. + +2001-06-28 Andrew Cagney + + From 2000-12-03 Stephane Carrez : + * monitor.c (setmem_resp_delim_pattern): New regexp pattern. + (setreg_resp_delim_pattern): Likewise. + (setmem_resp_delim_fastmap): New buffer. + (setreg_resp_delim_fastmap): Likewise. + (monitor_open): Initialize above regexp if they are defined. + (monitor_write_memory): Use regexp to check the result of write. + (monitor_store_register): Likewise to check result of register set. + +2001-06-28 Andrew Cagney + + From 2000-06-14 John Marshall : + * coff-solib.c: Include symfile.h and objfiles.h to make + OBJF_SHARED visible. + +2001-06-28 Andrew Cagney + + * configure.in (--enable-gdbmi): Enable by default. + * configure: Regenerate. + * TODO: Update. + * NEWS: Update + +2001-06-28 Joel Brobecker + + * solib-osf.c (osf_in_dynsym_resolve_code): Add a comment + explaining the consequences of always returning zero. No code + change. + +2001-06-28 Andrew Cagney + + From 2001-06-08 Daniel Jacobowitz : + * defs.h (enum target_signal): Add TARGET_SIGNAL_REALTIME_65 + to TARGET_SIGNAL_REALTIME_127. + * target.c (struct signals): Add SIG63 to SIG127. + (target_signal_from_host): Handle up to 127 signals. + (do_target_signal_to_host): Likewise. + +2001-06-27 Andrew Cagney + + * remote-sds.c (sds_start_remote): Change type of ``c'' to int + from possibly unsigned char. + +2001-06-27 Andrew Cagney + + * ser-ocd.c: Delete file. + * Makefile.in (ALLDEPFILES): Remove ser-ocd.c + (ser-ocd.o): Delete target. + * TODO: Update. + * NEWS: Update. + +2001-06-27 Andrew Cagney + + * MAINTAINERS (Write After Approval): Sort. + (Past Maintainers): Daniel Berlin stepped down as C++ maintainer. + +2001-06-26 Andrew Cagney + + * breakpoint.c (breakpoint_1): Always output the breakpoint + headings. Leave it to ui-out to decide which + +2001-06-25 Andrew Cagney + + * stack.c (print_frame): For ui_out, output a list of arguments. + +2001-06-25 Kevin Buettner + + * MAINTAINERS (paper trail): Update. + +2001-06-25 Michael Snyder + + * infrun.c: Eliminate the "thread_step_needed" state variable, + and replace it with a relatively simple test in resume. + (resume): Replace thread_step_needed logic with a test for + stepping, breakpoint_here_p and breakpoints_inserted. + Move CANNOT_STEP_BREAKPOINT logic to after thread_step logic. + (proceed): Discard thread_step_needed logic. + (wait_for_inferior, fetch_inferior_event, handle_inferior_event): + Discard thread_step_needed logic. + +2001-06-24 Fernando Nasser + + * remote-rdi.c (arm_rdi_wait): Fix return type in prototype. + * rdi-share/host.h: Add missing parenthesis in conditional. + +2001-06-22 J.T. Conklin + + * configure.in: include nlist.h when checking for member som_addr + in struct so_map. + * configure: regenerate. + +2001-06-21 Keith Seitz + + * cli-out.c (cli_out_new): Initialize new structure member + "suppress_output". + +2001-06-20 Andrew Cagney + + * ui-out.h (ui_out_table_header): Add parameter ``col_name''. + (table_header_ftype): Ditto. + * cli-out.c (cli_table_header): Update. + * ui-out.c (ui_out_table_header): Update. + (uo_table_header): Update. + (default_table_header): Update. + (append_header_to_list): Update. + (struct ui_out_header): Add field ``col_name''. + (append_header_to_list): Use xstrdup. Initialize col_name. + * breakpoint.c (breakpoint_1): Pass COL_NAME to + ui_out_table_header. + +2001-06-19 Andrew Cagney + + * cli-out.c: Include "gdb_assert.h'. + (struct ui_out_data): Add field ``suppress_output. + (cli_table_begin): When NR_ROWS is zero, suppress_output. + (cli_table_end): Clear suppress_output. + (cli_table_body): Check suppress_output. + (cli_table_header, cli_begin): Ditto. + (cli_end, cli_field_int, cli_field_skip): Ditto. + (cli_field_string, cli_field_fmt, cli_spaces): Ditto. + (cli_text, cli_message, cli_wrap_hint): Ditto. + * breakpoint.c (breakpoint_1): Close the ui_out table before + printing the breakpoint not found message. + +2001-06-18 Andrew Cagney + + * ui-out.c (ui_out_table_begin): Add parameter ``nr_rows''. + (default_table_begin): Ditto. + (uo_table_begin): Ditto. + * cli-out.c (cli_table_begin): Ditto. + * ui-out.h (ui_out_table_begin): Update + (table_begin_ftype): Update. + * breakpoint.c (breakpoint_1): Pass nr_printable_breakpoints to + ui_out_table_begin. + +2001-06-16 Andrew Cagney + + * breakpoint.c (breakpoint_1): Restructure. Compute the + nr_printable_breakpoints. Move the header output to before the + main print breakpoints loop. + (user_settable_breakpoint): New function. + +2001-06-18 Andrew Cagney + + * infrun.c, breakpoint.c: Use strncmp as the "mi" test. Allow, + "mi", "mi0" and "mi1". + +2001-06-17 Andrew Cagney + + * gdbarch.sh: Generate an error when conflicting macro + definitions. Generate an error when both pure multi-arch and + "tm.h". + * gdbarch.h, gdbarch.c: Regenerate. + * defs.h (GDB_MULTI_ARCH_TM): Rewrite definition. + +2001-06-17 Andrew Cagney + + * config/sparc/tm-sun4sol2.h (GDB_MULTI_ARCH): Down grade to + GDB_MULTI_ARCH_PARTIAL from two. + +2001-06-17 Fernando Nasser + + From 2001-06-15 Eirik Fuller + * cli/cli-script.c (free_command_lines): Reset list pointer. + +2001-06-16 Andrew Cagney + + * arch-utils.c (init_frame_pc_default): New function + * arch-utils.h (init_frame_pc_default): Declare. + * gdbarch.sh (INIT_FRAME_PC): Default to init_frame_pc_default and + not init_frame_pc_noop. + * gdbarch.h, gdbarch.c: Re-generate. + * blockframe.c (INIT_FRAME_PC): Delete macro definition. + * mips-tdep.c (mips_gdbarch_init): Set init_frame_pc to + init_frame_pc_noop. + +2001-06-16 Andrew Cagney + + * gdbarch.c: Regenerate. Out-of-sync with gdbarch.sh. + +2001-06-15 Andrew Cagney + + * gdbarch.sh (CANNOT_FETCH_REGISTER): Multi-arch. + (CANNOT_STORE_REGISTER): Ditto. + * infptrace.c (CANNOT_FETCH_REGISTER): Delete definition. + (CANNOT_STORE_REGISTER): Ditto. + * regcache.c (CANNOT_STORE_REGISTER): Ditto. + * lynx-nat.c (CANNOT_STORE_REGISTER): Ditto. + * arch-utils.h (cannot_register_not): Define. + * arch-utils.c (cannot_register_not): Declare. + +2001-06-15 Andrew Cagney + + * gdbarch.sh: Clarify pre/post default + (INIT_FRAME_PC_FIRST, INIT_FRAME_PC): Multiarch. + * blockframe.c (get_prev_frame): Remove #ifdef from around + INIT_FRAME_PC_FIRST call. + * arch-utils.c (init_frame_pc_noop): Define. + * arch-utils.h (init_frame_pc_noop): Declare. + * config/mips/tm-mips.h (INIT_FRAME_PC_FIRST): Delete. + (INIT_FRAME_PC, mips_init_frame_pc_first): Ditto. + * mips-tdep.c (mips_init_frame_pc_first): Make static. + (mips_gdbarch_init): Initialize init_frame_pc_first. + (mips_dump_tdep): Update. + +2001-06-15 Michael Snyder + + * infrun.c (context_switch): New function. Abstract the operation + of saving and restoring infrun's state when switching threads. + (handle_inferior_event): Normalize the handling of the 'thread hop' + event (when the wrong thread hits a thread-specific breakpoint, + and we need to solo-step that thread past the breakpoint). + Call keep_going, instead of target_resume. Handle the subsequent + singlestep-trap as a normal event instead of just resuming. + +2001-06-15 Andrew Cagney + + * arch-utils.c (core_addr_identity): New function. Rename + default_convert_from_func_ptr_addr. + * gdbarch.sh (CONVERT_FROM_FUNC_PTR_ADDR): Update. + (ADDR_BITS_REMOVE): Define. Default to core_addr_identity. + * defs.h (ADDR_BITS_REMOVE): Delete macro definition. + * config/mips/tm-mips.h (ADDR_BITS_REMOVE): Delete definition. + * mips-tdep.c (mips_addr_bits_remove): Make static. + (mips_gdbarch_init): Initialize addr_bits_remove. + +2001-06-15 Andrew Cagney + + From 2001-02-26 D.J. Barrow : + * configure.tgt: Add S/390 31 & 64 bit target configuration. + * configure.host: Ditto for host. + +2001-06-15 Andrew Cagney + + * gdbarch.sh (EXTRACT_STRUCT_VALUE_ADDRESS_P): Delete definition. + (EXTRACT_STRUCT_VALUE_ADDRESS): Change to a function with + predicate. + * gdbarch.h, gdbarch.c: Regenerate. + * values.c (value_being_returned): Change the reference to + EXTRACT_STRUCT_VALUE_ADDRESS_P to a function call. + +2001-06-15 Joel Brobecker + + * MAINTAINERS: Add Paul Hilfinger and Joel Brobecker to the + Write After Approval list. + +2001-06-14 Michael Snyder + + * remote.c (show_remote_protocol_qSymbol_packet_cmd, + set_remote_protocol_qSymbol_packet_cmd): New functions. + (init_all_packet_configs, show_remote_cmd): Add qSymbol packet. + (remote_check_symbols): New function. Implement qSymbol packet, + allowing target to request symbol lookup service from gdb. + (remote_open_1, remote_async_open_1): Call remote_check_symbols, + allowing symbol lookup from exec_bfd on connection to target. + (remote_new_objfile): New function. Catch new objfile notifications + from shared library module, and call remote_check_symbols. + (_initialize_remote): Hook remote_new_objfile into the shared + library notification chain. Add "set remote symbol-lookup" command. + +2001-06-14 Keith Seitz + + * tracepoint.c (trace_command): We now have tracepoint + events. Get rid of those ugly hooks. + (tracepoint_operation): Likewise. + (trace_pass_command): Likewise. + +2001-06-13 Michael Snyder + + * gdbthread.h (struct thread_info): Add new fields: + current_line, current_symtab, step_sp, for saved infrun state. + * thread.c (save_infrun_state, load_infrun_state): Save and + restore current_line, current_symtab, and step_sp. + (add_thread): Rather than adding assignments to initialize + the new fields, just use memset (tp, 0, sizeof (*tp). + This way future new fields will not be overlooked. + * infrun.c (handle_inferior_event): Save and restore save_sp, + current_line, and current_symtab when switching threads. + +2001-06-13 Elena Zannoni + + * MAINTAINERS: Add Andrew Cagney as co-maintainer of + testsuite/gdb.mi. + +2001-06-11 Andrew Cagney + + * symtab.c (lookup_symtab_1): Replace basename with lbasename. + (lookup_partial_symtab, file_matches): Ditto. + (make_source_files_completion_list): Ditto. + (make_file_symbol_completion_list): Ditto. Make local char* + variable ``tail'' constant. + (make_source_files_completion_list): Ditto with ``base_name''. + * source.c (open_source_file): Use lbasename. Make ``p'' const + char *. + +2001-06-13 Eli Zaretskii + + * config/i386/xm-go32.h (SLASH_P, ROOTED_P, SLASH_CHAR) + (SLASH_STRING): Remove unused definitions. + * config/i386/xm-cygwin.h: Likewise. + +2001-06-12 Andrew Cagney + + * ui-out.c (ui_out_list_begin): Add parameter ``id''. + (make_cleanup_ui_out_list_begin_end): Ditto. Open the list. + * ui-out.h: Update declarations. + +Mon Jun 11 17:26:43 2001 Andrew Cagney + + * source.c (openp): Make parameters ``path'' and ``string'' + constant. + (openp): Use alloca to safely duplicate ``string''. Make local + variables ``p'' and ``p1'' constant. Delete char* casts. + * defs.h: Update. + + * symtab.c (lookup_symtab_1): Make parameter ``name'' constant. + (lookup_symtab, lookup_partial_symtab): Ditto. + * symtab.h (lookup_symtab, lookup_partial_symtab): Update. + +2001-06-11 Andrew Cagney + + * ui-out.h (ui_out_table_begin): Make char* parameters constant. + (ui_out_table_header, ui_out_field_int): Ditto. + (ui_out_field_core_addr, ui_out_field_string): Ditto. + (ui_out_field_stream, ui_out_field_fmt): Ditto. + (ui_out_field_skip, ui_out_text, ui_out_message): Ditto. + * ui-out.c (ui_out_table_begin, ui_out_table_header): Update. + (ui_out_field_core_addr, ui_out_field_stream): Update. + (ui_out_field_string, ui_out_field_fmt): Update. + (ui_out_text, ui_out_message): Update. + (append_header_to_list): Make char* parameters constant. + (uo_table_header, uo_table_begin): Ditto. + (uo_field_int, uo_field_skip): Ditto. + (uo_field_string, uo_field_fmt): Ditto. + (uo_text, uo_message): Ditto. + +2001-06-11 Eli Zaretskii + + * completer.c (gdb_completer_loc_break_characters): New variable. + (line_completion_function): If we are completing on locations, + back up the start of word pointer past all characters which can + appear in a location spec. + (location_completer): New function. + + * completer.h: Add prototype for location_completer. + + * symtab.c (make_source_files_completion_list) + (add_filename_to_list, not_interesting_fname): New functions. + (filename_seen): New function, body extracted from + output_source_filename. + (output_source_filename): Call filename_seen to check if the file + was already printed. + (make_symbol_completion_list): If TEXT includes a + double-quoted string, return an empty list, not NULL. + (make_file_symbol_completion_list): New function, similar to + make_symbol_completion_list but with an additional argument + SRCFILE. + + * symtab.h (make_file_symbol_completion_list) + (make_source_files_completion_list): Add prototypes. + + * breakpoint.c (_initialize_breakpoint): Make location_completer + be the completion function for all commands which set breakpoints + and watchpoints. + (top-level): #include "completer.h". + + * tracepoint.c (_initialize_tracepoint): Make location_completer + be the completion function for the "trace" command. + (top-level): #include "completer.h". + + * printcmd.c (_initialize_printcmd): Make location_completer be + the completion function for the "print", "inspect", "call", and + "disassemble" commands. + (top-level): #include "completer.h". + + * infcmd.c (_initialize_infcmd): Make location_completer be the + completion function for the "go", "jump", and "until" commands. + (top-level): #include "completer.h". + +2001-06-10 Christopher Faylor + + * gnu-regex.c: Eliminate obsolete check for _MSC_VER. + * utils.c (notice_quit): Remove dummy function only used for _MSC_VER. + * values.c (unpack_double): Remove obsolete check for _MSC_VER. + * defs.h: Ditto. + * m32r-rom.c: Ditto. + * p-exp.y: Ditto. + * ser-e7kpc.c: Ditto. Define WIN32_LEAN_AND_MEAN under _WIN32, for + faster compilation. + (get_ds_base): Remove _MSC_VER version of this function. + * nindy-share/ttyflush.c: Ditto. + * rdi-share/host.h: Ditto. + * ser-go32.c (dos_readchar): Remove call to obsolete function. + * remote-sim.c (gdb_os_poll_quit): Ditto. + * remote-e7000.c (expect): Remove obsolete #if 0'ed code. + + * main.c (captured_main): Eliminate special Cygwin checks. + * ser-tcp.c: Remove unneeded __CYGWIN__ guard against system include. + +2001-06-09 Andrew Cagney + + * Makefile.in (gdbcmd_h): Add ui_out_h. + (breakpoint.o, infcmd.o, main.o, printcmd.o, stack.o): Ditto. + (thread.o, top.o): Ditto. + + * ui-out.h (table_begin_ftype): Make string parameters constant. + (table_header_ftype): Ditto. + (field_int_ftype): Ditto. + (field_skip_ftype): Ditto. + (field_string_ftype): Ditto. + (field_fmt_ftype): Ditto. + (text_ftype): Ditto. + (message_ftype): Ditto. + * cli-out.c (cli_table_begin): Ditto. + (cli_table_header): Ditto. + (cli_field_int): Ditto. + (cli_field_skip): Ditto. + (cli_field_string): Ditto. + (cli_field_fmt): Ditto. + (cli_text): Ditto. + (cli_message): Ditto. + (out_field_fmt): Ditto. + * ui-out.c (default_table_begin): Ditto. + (default_table_header): Ditto. + (default_field_int): Ditto. + (default_field_skip): Ditto. + (default_field_string): Ditto. + (default_field_fmt): Ditto. + (default_text): Ditto. + (default_message): Ditto. + +2001-06-08 Michael Snyder + + * breakpoint.c (delete_breakpoint): Pass mark_inserted to + remove_breakpoint, so that the subsequent test for + bpt->inserted will succeed, and duplicates will be fixed up. + +2001-06-08 Per Bothner + + * dwarf2read.c (set_cu_language): Handle DW_LANG_Java. + +2001-06-07 Keith Seitz + + * tracepoint.c (tracepoint_opertation): Add ui event + notifications. + (trace_pass_command): Ditto. + +2001-06-07 Andrew Cagney + + * MAINTAINERS (Write After Approval): Note the entry criteria. + (HP/PA): Jeff Law stepped down + +2001-06-07 Jim Blandy + + * gdbarch.sh: Make sure that '[' doesn't interpret interesting + variable values as operators. + +2001-06-07 Keith Seitz + + * gdb-events.sh: Fix quote escaping which was obsoleted + by last patch. + +2001-06-07 Keith Seitz + + * gdb-events.sh: Make if statements and tests + a little more portable. + Don't use shell's echo command to put strings containing + escaped characeters into a file -- different flavors of /bin/sh + require differnt levels of escaping. Use cat < + + * lin-lwp.c (struct lwp_info): Add member `resumed'. + (iterate_over_lwps): Make sure we can handle CALLBACK deleting the + LWP it's called for. + (lin_lwp_attach): Mark LWP as resumed to make sure the fake + SIGSTOP is reported. + (resume_clear_callback): New function. + (resume_set_callback): New function. + (lin_lwp_resume): Mark all LWP's that we're going to resume as + resumed, and unmark all others. + (status_callback): Only report a pending wait status if we pretend + that LP has been resumed. + (resumed_callback): New function. + (lin_lwp_wait): Add assertions to check that LWP's are properly + marked as resumed. Partially revert 2001-05-25 patch by Michael + Snyder: do not resume all threads. Add comment explaining the + problems associated with this bit of code. + +2001-06-07 Keith Seitz + + * MAINTAINTERS: Syd Polk is stepping down from + maintaining libgui. I am replacing him. + +2001-06-07 Eli Zaretskii + + * config/mips/tm-irix6.h: New file. + + * config/mips/irix6.mh: New file. + + * config/mips/irix6.mt: New file. + + * config/mips/xm-irix6.h: New file. + + * config/mips/nm-irix6.h: New file. + + * mips-tdep.c (mips_gdbarch_init) : Set up the + disassembler info in tm_print_insn_info as appropriate for the N32 + ABI. Force N32 ABI to be the default if the CPU is R8000 or + R10000. + + * configure.tgt (mips*-sgi-irix6*): Map to irix6. + + * configure.host (mips*-sgi-irix6*): Ditto. + +2001-06-07 Andrew Cagney + + * gnu-v3-abi.c: Include "gdb_assert.h". + (build_gdb_vtable_type): Replace abort() with gdb_assert(). + +2001-06-06 Jim Blandy + + * cp-abi.h: Rearrange code to put documentation comments above the + functions we export. The actual function table itself simply + refers to those functions. Minor doc fixes. + + * gdbarch.sh: Changes to effect the following: + * gdbarch.c (initialize_non_multiarch): New function. + * gdbarch.h (initialize_non_multiarch): New declaration. + * arch-utils.c (initialize_current_architecture): For + non-multiarch configurations, call initialize_non_multiarch. + +2001-06-06 Andrew Cagney + + * symfile.c (compare_psymbols): Replace PTR with void*. Delete + declaration. + (compare_symbols): Ditto. + +2001-06-06 Jonathan Larmour + + * arch-utils.c (generic_prepare_to_proceed): Allow for having + stopped due to a Ctrl-C as well as breakpoints. + + * hppa-tdep.c (hppa_prepare_to_proceed): Add FIXME as this may not + support thread switches after Ctrl-C. + * lin-lwp.c (lin_lwp_prepare_to_proceed): Ditto. + * linux-thread.c (linuxthreads_prepare_to_proceed): Ditto. + * m3-nat.c (mach3_prepare_to_proceed): Ditto. + +2001-06-06 Jim Blandy + + * gdbarch.sh, gdbarch.c: Revert change of 2001-06-01; all + per-architecture data should be registered at initialization time, + before any gdbarch objects get used, so the generality is + unnecessary. + +2001-06-06 Keith Seitz + + * gdb-events.sh (function_list): Add tracepoint_create, + tracepoint_delete, and tracepoint_modify events. + * gdb-events.c: Regenerated. + * gdb-events.h: Regenerated. + +2001-06-06 Keith Seitz + + * gdb-events.sh: Update copyrights. + Change free to xfree. + * gdb-events.c: Regenerated. + * gdb-events.h: Regenerated. + +2001-06-06 Eli Zaretskii + + * source.c (mod_path, openp): Use #ifdef HAVE_DOS_BASED_FILE_SYSTEM + instead of #if HAVE_DOS_BASED_FILE_SYSTEM. + * completer.c: Ditto. + * cli/cli-cmds.c (cd_command): Ditto. + +2001-06-04 Eli Zaretskii + + * mips-tdep.c (show_mipsfpu_command): Remove unused variable msg. + (mips_set_processor_type_command): Remove unused variable j. + (mips_breakpoint_from_pc): Declare breakpoint instruction + sequences as unsigned char, to avoid compiler warnings. + + * source.c (mod_path, openp): Use HAVE_DOS_BASED_FILE_SYSTEM + instead of system-specific define's like _WIN32 and __MSDOS__. + Use IS_DIR_SEPARATOR and IS_ABSOLUTE_PATH instead of SLASH_P and + ROOTED_P. + (top-level): #include "filenames.h". + + * solib.c (solib_open): Use IS_DIR_SEPARATOR and IS_ABSOLUTE_PATH + instead of SLASH_CHAR, ROOTED_P and SLASH_P. + (top-level): #include "filenames.h". + + * defs.h (SLASH_P, SLASH_CHAR, ROOTED_P): Remove definitions. + (SLASH_STRING): Define only for _WIN32. + + * completer.c: Use HAVE_DOS_BASED_FILE_SYSTEM instead of + __MSDOS_. + + * cli/cli-cmds.c (cd_command): Use IS_DIR_SEPARATOR and + IS_ABSOLUTE_PATH instead of SLASH_P and ROOTED_P. Replace + system-specific ifdefs with HAVE_DOS_BASED_FILE_SYSTEM. + (top-level): #include "filenames.h". + + * go32-nat.c (go32_wait): Change the return value to ptid_t. + + * config/djgpp/fnchange.lst: Add two new files in the + gdb/testsuite/gdb.c++/ directory to the remapped names. + + * config/djgpp/djconfig.sh (lt_cv_sys_max_cmd_len): Set to 12KB. + +2001-06-01 Jim Blandy + + Expand the gdbarch per-architecture data vector as needed, rather + than requiring that all per-architecture data be registered before + the first gdbarch object is allocated. + * gdbarch.sh: Changes to effect the following: + * gdbarch.c (alloc_gdbarch_data, init_gdbarch_data): Delete + declarations and definitions. + (check_gdbarch_data): New function, and declaration. + (gdbarch_alloc): Don't call alloc_gdbarch_data; leaving the fields + zero is good enough. + (free_gdbarch_data): Tolerate a null data pointer. Free only + those data items gdbarch->data actually has allocated. + (set_gdbarch_data, gdbarch_data): Call check_gdbarch_data. + (gdbarch_update_p): No need to call init_gdbarch_data. + +2001-06-01 Kevin Buettner + + * ia64-tdep.c (is_float_or_hfa_type_recurse): Call check_typedef() + on types that we wish to recurse on. + (slot_alignment_is_next_even): New function. + (ia64_push_arguments): Call slot_alignment_is_next_even() to + examine the type in order to decide if it's necessary to skip + an odd slot. + +2001-06-01 Michael Snyder + + * thread.c (delete_step_resume_breakpoint): New function. + Maintain internal consistency of the thread list while deleting + a step_resume_breakpoint. + * gdbthread.h (delete_step_resume_breakpoint): Export. + * breakpoint.c (bpstat_find_step_resume_breakpoint): + Make thread-aware: don't return a step_resume_breakpoint + for the wrong thread. + * infrun.c (wait_for_inferior): Call delete_step_resume_breakpoint + instead of delete_breakpoint_current_contents. + (fetch_inferior_event): Ditto. + (handle_inferior_event): Call delete_step_resume_breakpoint + instead of delete_breakpoint. + * infrun.c (handle_inferior_event): After singlestepping over a + thread-specific breakpoint, use currently_stepping() to decide + whether to step or continue. + +2001-06-01 Jim Blandy + + * gnu-v3-abi.c (gnu_v3_abi_ops, vtable_type_gdbarch_data): Make + these static --- there's no reason other files should use these. + + * partial-stab.h (case N_FUN: case 'f':, case N_FUN: case 'F':) + Fix memory leak. + + * partial-stab.h: New complaint: function_outside_compilation_unit. + (case N_FUN: case 'f':, case N_FUN: case 'F':): If pst is zero, + complain, and don't try to set pst's start address. + +2001-05-31 Kevin Buettner + + * ia64-linux-tdep.c (IA64_LINUX_SIGCONTEXT_OFFSET): Revise to + match the location at which the kernel is placing the sigcontext + struct. + + * ia64-tdep.c (max_skip_non_prologue_insns): New static global. + (refine_prologue_limit): New function. + (examine_prologue): Further limit number of instructions + scanned by calling refine_prologue_limit(). Revise way in + which the end of prologue address is computed for frameless + functions. + +2001-05-29 Christopher Faylor + + * partial-stab.h: Revert previous patch. + +2001-05-29 Christopher Faylor + + * partial-stab.h: Consistently guard against pst being NULL. + +2001-05-29 Alexandre Oliva + + * symfile.c (compare_psymbols, compare_symbols): Declare using + PTR, as in the definition. + * minsyms.c (compare_minimal_symbols): Likewise. + * coffread.c (find_targ_sec): Likewise. + * elfread.c (free_elfinfo, elf_locate_sections): Likewise. + * mipsread.c (alphacoff_locate_sections): Likewise. + * mdebugread.c (compare_blocks): Likewise. + +2001-05-25 Nick Duffek + + * solib.c (update_solib_list): Move target_resize_to_sections() + into solib_map_sections() loop. + (info_sharedlibrary_command): Try bfd_arch_bits_per_address() if + bfd_get_arch_size() fails. + +2001-05-25 Nick Duffek + + * Makefile.in (osfsolib.c, osfsolib.o): Rename to solib-osf.c and + solib-osf.o. + * config/alpha/alpha-osf1.mh (NATDEPFILES): Replace osfsolib.o + with solib-osf.o and solib.o. + * config/alpha/alpha-osf2.mh: Likewise. + * config/alpha/alpha-osf3.mh: Likewise. + * solib-osf.c: New file, renamed and largely rewritten from + osfsolib.c. + +2001-05-25 Michael Snyder + + * lin-lwp.c (lin_lwp_attach_lwp): Call stop_wait_callback, + to consume the SIGSTOP generated by PTRACE_ATTACH. + (stop_wait_callback): If a SIGTRAP or a SIGINT event is consumed, + try again to get the SIGSTOP event. + (lin_lwp_wait): Resume all threads when ignoring a signal. + This will insure that newly attached threads get resumed. + * lin-lwp.c (stop_wait_callback): Discard redundant SIGINT events. + * remote.c (remote_write_bytes): Update 'p' packet pointer. + +2001-05-25 Jim Blandy + + * gnu-v2-abi.c (gnuv2_virtual_fn_field): There's no need to clear + VALUE_POINTED_TO_OFFSET here; if value_cast doesn't return a + useful value, then we should fix that instead. + +2001-05-24 Nick Duffek + + * solist.h (struct so_list): Document the requirement that + current_sos initialize some fields to 0. + +2001-05-24 Mark Kettenis + + * gnu-nat.c: Include . + (gnu_pid_to_exec_file): Add PID parameter. + (set_sig_thread_cmd): Use PIDGET on return value from + thread_id_to_pid. + (proc_string): Use MERGEPID to construct argument to + pid_to_thread_id. + +2001-05-22 Kevin Buettner + + * breakpoint.c (breakpoint_address_is_meaningful): New function. + (check_duplicates): Don't compare non-meaningful addresses. + +2001-05-22 Michael Snyder + + * thread-db.c: Allow for defunct zombie threads. + (attach_thread): Do not attempt to attach zombie thread. + (thread_db_thread_alive): Return false for defunct zombie thread. + (find_new_threads_callback): Don't add defunct zombie thread to list. + +2001-05-22 Jim Blandy + + Add support for the GNU V3 C++ ABI. + (Includes changes by Dan Berlin.) + + * gnu-v3-abi.c: New file. + * minsyms.c: #include "value.h" and "cp-abi.h". + (install_minimal_symbols): Check the minimal symbol table for + symbols that look mangled in the V3 style, and select the V3 ABI + if we find any. + * Makefile.in (SFILES): Add gnu-v3-abi.c. + (COMMON_OBS): Add gnu-v3-abi.o. + (gnu-v3-abi.o): Add new rule. + (minsyms.o): Depend on $(cp_abi_h) and $(value_h). + +2001-05-21 Jim Blandy + + * values.c (value_primitive_field): If we're extracting a base + class, then the type of the result should be the base class being + extracted, not the type of which it is a base class. + + * value.h (struct value): Doc fix, and rearrange members to place + them near their explanations. + +2001-05-21 Michael Snyder + + * remote.c (remote_async_wait): Added new variable fieldsize. + Add fieldsize (return value of hex2bin) to string pointer p. + +2001-05-20 Stephane Carrez + + * m68hc11-tdep.c (m68hc11_pop_frame): Fix stack pointer computation. + (m68hc11_analyze_instruction): Update the pc correctly. + (m68hc11_guess_from_prologue): Take into account the stack correction + for the saving address. + +2001-05-07 Daniel Berlin + + Changes by Jim Ingham: + + * values.c (value_change_enclosing_type): New function. If the + new enclosing type is larger than the old one, we need to allocate + more space. + * value.h: Add value_change_enclosing_type prototype. + * valops.c (value_cast): Use it. + (value_assign): Use it. + (value_addr): Use it. + (value_ind): Use it. + (value_full_object): Use it. + +2001-05-07 Daniel Berlin + + * values.c (value_static_field): Handle static fields that have a + constant value. + +2001-05-17 Michael Snyder + + * blockframe.c (create_new_frame): Zero all the fields via memset, + rather than zeroing them one by one. + +2001-05-17 Eli Zaretskii + + * top.c (user_args): Remove unused declaration. + +2001-05-16 Michael Snyder + + * infcmd.c (do_registers_info): Move alloca outside of loop. + +2001-05-15 John S Kallal + + * remote.c (remote_wait): Added new variable fieldsize. + Add fieldsize (return value of hex2bin) to string pointer p. + +2001-05-15 Mark Kettenis + + * sparc-tdep.c (sparc_gdbarch_init): Get the architecture from + info.bfd_arch_info. + +2001-05-14 Kevin Buettner + + * lin-lwp.c (detach_callback, lin_lwp_wait, lin_lwp_pid_to_str): + Adjust format strings for printing LWPs to account for the fact + that the type returned by GET_LWP() is now a long instead of an + int. + +2001-05-14 Kevin Buettner + + * inferior.h (null_ptid, minus_one_ptid): New variable declarations. + (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp) + (ptid_get_tid, ptid_equal): New function declarations. + * infrun.c (null_ptid, minus_one_ptid): New variables. + (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp) + (ptid_get_tid, ptid_equal): New functions. + (_initialize_infrun): Initialize null_ptid, minus_one_ptid, + inferior_ptid, and target_last_wait_ptid. + + * defs.h (ptid_t): Redefine to be a struct rather than an int. + (pid_to_ptid, null_ptid, ptid_equal): Delete these macros. + (PIDGET, TIDGET, MERGEPID): Redefine these macros using the + new ptid accessors and constructor. + + * config/i386/tm-i386v42mp.h (PIDGET, TIDGET, LIDGET, MERGEPID, + MKLID, MKTID, ISTID): Provide new definitions for these macros. + The old macros are retained, but disabled via #if 0 in order + to aid in future restructuring. See FIXME. + + * arm-linux-nat.c (PIDGET, TIDGET): Delete macro definitions. + * i386-linux-nat.c (PIDGET, TIDGET): Likewise. + * infptrace.c (PIDGET, TIDGET): Likewise. + * lin-lwp.c (PIDGET0, PIDGET, TIDGET, MERGEPID): Likewise. + * lin-thread.c (PIDGET0, PIDGET, TIDGET, MERGEPID): Likewise. + * proc-service.c (MERGEPID): Likewise. + * procfs.c (PIDGET, TIDGET, MERGEPID): Likewise. + * thread-db.c (PIDGET0, PIDGET, TIDGET, MERGEPID): Likewise. + * config/nm-linux.h (PIDGET0, PIDGET, TIDGET, MERGEPID): Likewise. + * config/i386/tm-i386sol2.h (PIDGET0, PIDGET, TIDGET, MERGEPID): + Likewise. + * config/sparc/tm-sun4sol2.h (PIDGET0, PIDGET, TIDGET, MERGEPID): + Likewise. + + * lin-lwp.c (THREAD_FLAG): Delete macro definition. + (GET_LWP): Redefine in terms of ptid_get_lwp(). + (GET_PID): Redefine in terms of ptid_get_pid(). + (is_lwp): Redefine without the need for THREAD_FLAG. + (BUILD_LWP): Redefine in terms of ptid_build(). + * lin-thread.c (THREAD_FLAG): Delete macro definition. + (GET_LWP): Redefine in terms of ptid_get_lwp(). + (GET_PID): Redefine in terms of ptid_get_pid(). + (GET_THREAD): Redefine in terms of ptid_get_tid(). + (BUILD_THREAD, BUILD_LWP): Redefine in terms of ptid_build(). + (is_lwp, is_thread): Redefine. + (linux_child_wait, check_all_signal_numbers) + (linuxthreads_discard_global_state, attach_thread): Declare these + functions to squash warnings about missing declarations. + * sol-thread.c (THREAD_FLAG): Delete macro definition. + (GET_PID): Redefine in terms of ptid_get_pid(). + (GET_LWP): Redefine in terms of ptid_get_lwp(). + (GET_THREAD): Redefine in terms of ptid_get_tid(). + (BUILD_THREAD, BUILD_LWP): Redefine in terms of ptid_build(). + (is_lwp, is_thread): Redefine. + * thread-db.c (THREAD_FLAG): Delete macro definition. + (GET_PID): Redefine in terms of ptid_get_pid(). + (GET_LWP): Redefine in terms of ptid_get_lwp(). + (GET_THREAD): Redefine in terms of ptid_get_tid(). + (BUILD_THREAD, BUILD_LWP): Redefine in terms of ptid_build(). + (is_lwp, is_thread): Redefine. + + * corelow.c (add_to_thread_list, get_core_register_section): + Eliminate hacks needed to prevent regressions when inferior_ptid + wasn't wide enough to hold the core file thread id in the pid + component of inferior_ptid. + +2001-05-14 Michael Snyder + + * remote.c (hex2bin): Make first argument const. + Require explicit count, don't accept null-terminated str. + (remote_resume, remote_async_resume): White space fix-up. + (remote_write_bytes): Set nr_bytes to return value of bin2hex. + +2001-05-13 Mark Kettenis + + * symtab.c (lookup_symtab_1): Use lbasename (NAME) instead of + basename (NAME). The FreeBSD basename returns a pointer to a + static buffer, even if it's simply returning a string identical to + its argument. + (lookup_partial_symtab): Likewise. + +2001-05-14 Michael Snyder + + * solib.c, solib.h: Add comment for function no_shared_libraries. + +2001-05-14 Kevin Buettner + + * solib.h (no_shared_libraries): Make declaration match definition + in solib.c. + +2001-05-14 Andrew Cagney + + * remote.c (remote_write_bytes): Set nr_bytes before returning it. + * solib.h (no_shared_libraries): Declare. + +2001-05-12 Andrew Cagney + + * gdbarch.sh (struct gdbarch_info): Delete field bfd_architecture. + (gdbarch_update_p): Rewrite logic filling in INFO struct. Use + user specified values when available. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. Get the + architecture from info.bfd_arch_info. + * gdbarch.c, gdbarch.h: Regenerate. + +2001-05-12 Fernando Nasser + + * remote-e7000.c (e7000_open): Check for bad baud rate. + * remote-st.c (st2000_open): Ditto. + +2001-05-11 Jim Blandy + + * thread.c (do_captured_list_thread_ids): Use ui_out_tuple_begin + and ui_out_tuple_end instead of ui_out_list_begin and + ui_out_list_end. + + * Makefile.in (gnu-v2-abi.o): Add $(demangle_h) to list of + dependencies. Reorder dependencies to match #includes in file, + for easier verification. + +Fri May 11 13:32:50 2001 Andrew Cagney + + * breakpoint.c: Replace ui_out_list_begin, ui_out_list_end and + make_cleanup_ui_out_list_end with ui_out_tuple_begin, + ui_out_tuple_end and make_cleanup_ui_out_tuple_begin_end. + * cli/cli-setshow.c: Ditto. + * printcmd.c: Ditto. + * stack.c: Ditto. + + * ui-out.h (enum ui_out_type): Fix tipo - tupple -> tuple. + * ui-out.c (ui_out_list_begin): Delete ``lstid'' parameter. + (ui_out_tuple_begin): New function. + (ui_out_tuple_end): New function. + (ui_out_tuple_begin_end): New function. + (make_cleanup_ui_out_list_begin_end): Replace + make_cleanup_ui_out_list_end function. + * ui-out.h (ui_out_list_begin): Update declaration. + (make_cleanup_ui_out_list_begin_end): Replace + make_cleanup_ui_out_list_end declaration. + (ui_out_tuple_begin, ui_out_tuple_end): Declare. + (ui_out_tuple_begin_end): Declare. + +2001-05-11 Jim Blandy + + * gnu-v2-abi.c: Don't #include "gdb_regex.h". We don't use it. + +2001-05-11 Andrew Cagney + + From 2001-03-26 Rodney Brown + * config/pa/tm-hppa.h: Remove trigraph. + * hp-symtab-read.c (hpread_type_translate): Provide return value. + (hpread_read_struct_type): Remove trigraph. Add parameter in + `warning'. + (hpread_read_array_type): Provide return value. + (hpread_type_lookup): Avoid ambiguous `else'. Provide return + value. + * hppa-tdep.c (initialize_hp_cxx_exception_support): Remove + trigraph. + +2001-05-11 Jim Blandy + + * mips-tdep.c (mips_store_return_value, + mips_extract_return_value): Pass arguments to + return_value_location in the proper order. + +2001-05-11 Andrew Cagney + + * Makefile.in (VERSION): Delete. Moved to file ``version.in''. + (version.c): Depends on file ``version.in''. Extract version + number from ``version.in'' file. + (clean mostlyclean): Update. + * version.in: New file. + * NEWS: Update. + +2001-05-11 Kevin Buettner + + * breakpoint.c (set_raw_breakpoint): Add new parameter + representing the breakpoint's type. Adjust all callers. + (create_longjmp_breakpoint, create_temp_exception_breakpoint) + (create_thread_event_breakpoint): Don't test for zero return + value from set_raw_breakpoint(). It can never be zero. + (create_exception_catchpoint, watch_command_1): Move logic + which calculates the breakpoint type prior to the call to + set_raw_breakpoint(). + +2001-05-11 Fernando Nasser + + * ser-unix.c (rate_to_code): Issue warning if baud rate is invalid. + (hardwire_setbaudrate): Set errno to EINVAL and return with error + if the conversion of the baud rate to code fails. + +2001-05-10 Andrew Cagney + + * ui-out.h (make_cleanup_ui_out_begin_end): Declare. + * ui-out.c (struct ui_out_end_cleanup_data): Define. + (do_cleanup_end): New function. Replace do_list_end. + (make_cleanup_ui_out_end): New function. + (make_cleanup_ui_out_begin_end): New function. + (make_cleanup_ui_out_list_end): Use make_cleanup_ui_out_end. + +2001-05-10 Elena Zannoni + + * MAINTAINERS: Declare xcoffread.c open to all maintainers, + and make Kevin Buettner (kevinb@redhat.com) the reference person. + +2001-05-10 Elena Zannoni + + * proc-api.c (ioctl_with_trace): Fix uninitialized variable. + +2001-05-10 Fernando Nasser + + * MAINTAINERS: Add testsuite subdirectory co-maintainers. + +Thu May 10 16:26:47 2001 Andrew Cagney + + * Makefile.in (mi-main.o): Compile with -Werror. + +2001-05-10 Michael Snyder + + * remote.c (remote_open_1): Call no_shared_libraries, so that + symbols for shared libraries can be reloaded per session. + (remote_async_open_1): Ditto. + * remote.c (bin2hex, hex2bin): New functions. Factor out these + two conversions which are coded for repeatedly in this module. + (remote_threads_extra_info, remote_wait, remote_async_wait, + store_register_using_P, remote_store_registers, remote_write_bytes, + remote_read_bytes, remote_rcmd): Use bin2hex and hex2bin instead + of coding the conversions inline. + (fromhex): Not exported, change from extern to static. + +2001-05-10 Andrew Cagney + + * arch-utils.c (initialize_current_architecture): Delete obsolete + ``info architecture'' command. + (info_architecture): Delete function. + +2001-05-10 Andrew Cagney + + * TODO (5.1, 5.2): Update. + +2001-05-09 Andrew Cagney + + * MAINTAINERS: Jim Ingham is no longer maintaining Arm related + stuff. + +2001-05-10 Keith Seitz + + * Makefile.in (SUBDIR_GDBTK_OBS): Add gdbtk-bp.o, gdbtk-register.o + and gdbtk-stack.o. + (SUBDIR_GDBTK_SRCS): Ditto for the sources. + (gdbtk-bp.o): New rule. + (gdbtk-register.o): New rule. + (gdbtk-stack.o): New rule. + (gdbtk-cmds.o): Update dependencies. + (gdbtk.o): Ditto. + (gdbtk-hooks.o): Ditto. + (gdbtk-varobj.o): Ditto. + +2001-05-10 Fernando Nasser + + * varobj.c (c_number_of_children): Fix memory leak. Delete unwanted old + variables, not just unregister them. + +2001-05-10 Fernando Nasser + + * varobj.c (c_number_of_children): Check for target type of void*, + not the target type name. Allow dereferencing char*. + +2001-05-10 Fernando Nasser + + * symfile.c (symbol_file_add_main_1): New static function. + Passes the flags arguments to symbol_file_add() and takes care + of any necessary reinitializations. + (symbol_file_command): Call symbol_file_add_main_1() instead of + symbol_file_add(). + (symbol_file_add_main): Ditto. + +2001-05-09 Kevin Buettner + + * lin-lwp.c (lin_lwp_pid_to_str): Revert inadvertent format + string change in 2001-05-03 changes. + (lin_lwp_wait): Revert GET_LWP coercion introduced in 2001-05-03 + changes. + +2001-05-09 Kevin Buettner + + * lin-lwp.c (lin_lwp_attach): Use PIDGET() to fetch the pid + component from inferior_ptid. + (lin_lwp_detach): Use pid_to_ptid() to convert from a pid to a + ptid. + +2001-05-09 Elena Zannoni + + * sh3-rom.c (_initialize_sh3_rom): Get rid of specific _WINDOWS + conditional for help with connections through parallel ports, + given that the actual code for downloading through a parallel port + is not conditionalized. + + * sh-tdep.c: Remove WIN32_WCE conditional. The wince sh target is + unmaintaned, and probably on its way to obsolescence. + +2001-05-09 Mark Kettenis + + * i386-tdep.c (i386_frame_saved_pc): New function. + * config/i386/tm-i386.h (FRAME_SAVED_PC): Redefine in terms of + i386_frame_saved_pc. + (i386_frame_saved_pc): New prototype. + + * i386-tdep.c (i386_register_virtual_type): New function. + (i386_register_convertible): New function. + * config/i386/tm-i386.h (REGISTER_VIRTUAL_TYPE): Redefine in terms + of i386_register_virtual_type. + (REGISTER_CONVERTIBLE): Redefine in terms of + i386_register_convertible. + (i386_register_virtual_type, i386_register_convertible): New + prototypes. + +2001-05-08 Jim Blandy + + * Makefile.in (mn10300-tdep.o): New rule. + + * Makefile.in (gdb_string_h): Define. Use it throughout. + Some rules were already using this, even though it isn't defined. + + * Makefile.in (obstack_h, target_h): Define; these are already + used elsewhere, but have been expanding to the empty string. + (memattr_h): Define; needed by target_h. + + * mn10300-tdep.c (mn10300_extract_return_value): Mark this as + static. (This was accidentally omitted from the earlier patch.) + + * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): New function. + (mn10300_gdbarch_init): Register it as the architecture's + dwarf2_reg_to_regnum method. + + Correct and expand handling of `movm' instruction, and register + saves in general. + * config/mn10300/tm-mn10300.h (D0_REGNUM, A0_REGNUM, MDRQ_REGNUM, + MCRH_REGNUM, MCRL_REGNUM, MCVF_REGNUM): New definitions. + (enum movm_register_bits): New enum. + * mn10300-tdep.c (set_movm_offsets): Use symbolic names for the + bits, not hex literals. Handle the `other', `exreg0', and + `exother' bits. Correct handling of `exreg1': it saves r4, r5, + r6, and r7, not r2, r3, r4, and r5. + (saved_regs_size): New function. + (mn10300_frame_chain, mn10300_frame_saved_pc): Use it, instead + of computing the same thing inline, incorrectly. + + * mn10300-tdep.c (mn10300_gdbarch_init): We do have a + dummy_breakpoint_offset; it's zero. + + * mn10300-tdep.c (mn10300_pop_frame): Split the mn10300-specific + stuff out into mn10300_pop_frame_regular, and use + generic_pop_current_frame. This lets us share code, and also + makes this function's prototype match that expected by gdbarch. + Make this function static. + (mn10300_pop_frame_regular): New function. + (mn10300_gdbarch_init): Register mn10300_pop_frame as the + gdbarch's pop_frame method. + * config/mn10300/tm-mn10300.h (POP_FRAME): Delete definition. + (mn10300_pop_frame): Delete declaration. + + * mn10300-tdep.c (mn10300_saved_pc_after_call, + mn10300_extract_return_value, + mn10300_extract_struct_value_address, mn10300_store_return_value, + mn10300_use_struct_convention, mn10300_breakpoint_from_pc, + mn10300_frame_chain, mn10300_skip_prologue, + mn10300_push_arguments, mn10300_push_return_address, + mn10300_store_struct_return, mn10300_frame_saved_pc, + mn10300_init_extra_frame_info, mn10300_frame_init_saved_regs): + Make these functions static; they should only be visible to the + outside world as gdbarch methods. + + * config/mn10300/tm-mn10300.h (mn10300_find_callers_reg): Delete + unused declaration. + + * mn10300-tdep.c (mn10300_gdbarch_init): Put the gdbarch methods + in some rational order. + + * mn10300-tdep.c (mn10300_gdbarch_init): Rather than using + generic_pc_in_call_dummy, use pc_in_call_dummy_at_entry_point. + + Use gdbarch for most target parameters for the MN10300, rather + than the tm-*.h file. + * config/mn10300/tm-mn10300.h (MAX_REGISTER_VIRTUAL_SIZE, + REGISTER_BYTES, FP_REGNUM, BREAKPOINT_FROM_PC, + FUNCTION_START_OFFSET, DECR_PC_AFTER_BREAK, INNER_THAN, + SAVED_PC_AFTER_CALL, INIT_EXTRA_FRAME_INFO, FRAME_INIT_SAVED_REGS, + FRAME_CHAIN, FRAME_CHAIN_VALID, FRAME_SAVED_PC, + EXTRACT_RETURN_VALUE, EXTRACT_STRUCT_VALUE_ADDRESS, + STORE_RETURN_VALUE, STORE_STRUCT_RETURN, SKIP_PROLOGUE, + FRAME_ARGS_SKIP, FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, + FRAME_NUM_ARGS, POP_FRAME, USE_GENERIC_DUMMY_FRAMES, CALL_DUMMY, + CALL_DUMMY_START_OFFSET, CALL_DUMMY_BREAKPOINT_OFFSET, + CALL_DUMMY_LOCATION, FIX_CALL_DUMMY, CALL_DUMMY_ADDRESS, + TARGET_READ_FP, PUSH_RETURN_ADDRESS, PUSH_DUMMY_FRAME, + SAVE_DUMMY_FRAME_TOS, PUSH_ARGUMENTS, PC_IN_CALL_DUMMY, + REG_STRUCT_HAS_ADDR, USE_STRUCT_CONVENTION, GET_SAVED_REGISTER): + Delete definitions. We register gdbarch methods for these now. + (struct frame_info, struct type, struct value): Delete forward + declarations of these types; they're no longer necessary, since we + don't have function declarations here any more. + * mn10300-tdep.c: #include "arch-utils.h", to get declarations for + some default gdbarch methods. + (mn10300_store_struct_return): Return void, as expected by + gdbarch. + (mn10300_init_extra_frame_info): Take initial `fromleaf' argument, + as expected by gdbarch. + (mn10300_frame_init_saved_regs): Provide dummy definition for + this, as required by gdbarch. + (mn10300_gdbarch_init): Add mn10300_call_dummy_words, as expected + by gdbarch. Register gdbarch methods or values for all the stuff + removed from tm-10300.h, listed above. + +2001-05-08 Andrew Cagney + + * cli-out.c (cli_begin, cli_end): Replace cli_list_begin and + cli_list_end. + (cli_ui_out_impl): Update. + + * ui-out.c (default_begin, default_end): Replace + default_list_begin and default_list_end. + (default_ui_out_impl): Update. + (uo_begin, uo_end): Replace ou_list_begin and uo_list_end. + (ui_out_begin, ui_out_end): Replace ui_out_list_begin and + ui_out_list_end. + (ui_out_list_begin, ui_out_list_end): New. Compatibility + functions. + (struct ui_out_level): Add field type. + (push_level, pop_level): Update. Add type parameter. + + * ui-out.h (enum ui_out_type): Declare. + (ui_out_begin, ui_out_end): Declare. + (ui_out_begin_ftype, ui_out_end_ftype): Replace list_begin_ftype + and list_end_ftype. + (struct ui_out_impl): Update. + +2001-05-07 Andrew Cagney + + * ui-out.h (list_begin_ftype, list_end_ftype): Rename argument + ``list_flag'' to ``depth''. + * ui-out.c (default_list_begin, default_list_end): Update. + (uo_list_begin, uo_list_end): Update. + (MAX_UI_OUT_LEVELS): Define. + (struct ui_out_level): Define. + (top-level): Include "gdb_assert.h". + (struct ui_out): Add fields ``level'' and ``levels''. Delete + fields ``list_flag'' and ``field_count''. + (ui_out_new): Update. + (verify_field_proper_position): Update. + (current_level, push_level, pop_level): New functions. + (ui_out_list_begin): Use push_level. + (ui_out_list_end): Use pop_level. + (ui_out_field_int): Use current_level. + (ui_out_field_skip): Ditto. + (ui_out_field_fmt): Ditto. + +2001-05-08 Michael Snyder + + * language.c (longest_local_hex_string_custom): Strlen test is + inverted -- reverse the sense of the test. + +2001-05-08 Mark Kettenis + + * config/i386/tm-i386v.h (struct frame_info, struct + frame_saved_regs): Remove declarations. + (i386_frame_num_args): Remove prototype. + +2001-05-07 Andrew Cagney + + * MAINTAINERS: I'm no longer actively maintaining the mn10300 + target. + +2001-05-04 Andrew Cagney + + * main.c (captured_main): Delete #ifndef _WIN32 conditional for + WinGDB. + +2001-05-06 Kevin Buettner + + * inferior.h (save_inferior_ptid): Declare. + * infrun.c (save_inferior_ptid, restore_inferior_ptid): Define. + + * hpux-thread.c (save_inferior_ptid, restore_inferior_ptid): + Delete these functions. + * lin-lwp.c (save_inferior_ptid, restore_inferior_ptid): Likewise. + * lin-thread.c (save_inferior_ptid, restore_inferior_ptid): Likewise. + * linux-thread.c (save_inferior_ptid, restore_inferior_ptid): + Likewise. + * proc-service.c (save_inferior_ptid, restore_inferior_ptid): + Likewise. + * sol-thread.c (save_inferior_ptid, restore_inferior_ptid): Likewise. + * thread-db.c (save_inferior_ptid, restore_inferior_ptid): Likewise. + + * somsolib.c (reset_inferior_ptid): Delete. + (som_solib_remove_inferior_hook): Use save_inferior_ptid() to + build the cleanup struct. + + * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use + a cleanup to save/restore inferior_ptid. + +2001-05-06 Mark Kettenis + + Implement attach/detach for multi-threaded programs on Linux. + * thread-db.c (keep_thread_db): Adjust comment. + (deactivate_target): Removed. + (thread_db_new_objfile): Don't call deactivate_target. Implement + guts of deactivate_target inline instead. + (attach_thread): Call ATTACH_LWP unconditionally if defined. + (thread_db_attach): New function. + (thread_db_detach): Don't call deactivate_target. Do necessary + cleanup inline instead. Set inferior_ptid to LWP corresponding to + the current user-level thread. + (thread_db_kill): Set inferior_ptid to LWP corresponding to the + current user-level thread. + (thread_db_create_inferior): Deactivate target vector if + KEEP_THREAD_DB is zero. + (thread_db_mourn_inferior): Don't call deactivate_target. Do + necessary cleanup inline instead. + (init_thread_db_ops): Initialize to_attach field to + thread_db_attach. + * lin-lwp.c (lin_lwp_mourn_inferior): Remove prototype. + (stop_wait_callback): Add prototype. + (init_lwp_list): Add comment about when to re-initialize the LWP + list. + (lin_lwp_attach_lwp): Only call ptrace for cloned processes. + Avoid adding publicates to the LWP list. Only mark an LWP as + signalled if it doesn't correspond to a cloned process. + (lin_lwp_attach): Add initial process to the LWP list. Make sure + it's stopped and fake a SIGSTOP. + (detach_callback): New function. + (lin_lwp_detach): Implement. + (lin_lwp_create_inferior): Don't re-initialize LWP list here. + Call child_ops.to_create_inferior directly instead of via + target_beneath local. + (lin_lwp_mourn_inferior): Call child_ops.to_mourn_inferior + directly instead of via target_beneath local. + +2001-05-06 Eli Zaretskii + + * symtab.c (lookup_symtab_1, lookup_partial_symtab): Use basename + instead of non-portable search for `/'. Use FILENAME_CMP instead + of STREQ, to account for case-insensitive filesystems. + (top-level): #include "filenames.h". + +2001-05-05 Jim Blandy + + * breakpoint.c (check_duplicates): Use the breakpoint's type, not + its address, to decide whether it's a watchpoint or not. Zero + is a valid code address. + (update_breakpoints_after_exec): Admonishing comments. + * breakpoint.h (struct breakpoint): Doc fixes. + + * breakpoint.c (check_duplicates): Take a breakpoint object as an + argument, rather than an address and section. All callers changed. + +2001-05-03 Kevin Buettner + + * defs.h (ptid_t): New typedef. + (pid_to_ptid, null_ptid, minus_one_ptid, ptid_equal): New macros. + + * a68v-nat.c, alphabsd-nat.c, arch-utils.c, arm-linux-nat.c, + blockframe.c, breakpoint.c, breakpoint.h, + config/i386/nm-i386sol2.h, config/i386/tm-i386sco5.h, + config/ia64/nm-linux.h, config/m68k/nm-hp300bsd.h, + config/mips/nm-irix4.h, config/mips/nm-irix5.h, + config/pa/nm-hppah.h, config/pa/tm-hppa.h, + config/rs6000/nm-rs6000.h, config/sparc/nm-sun4sol2.h, + corelow.c, cxux-nat.c, d10v-tdep.c, dink32-rom.c, + dve3900-rom.c, fork-child.c, frame.c, gnu-nat.c, go32-nat.c, + hp300ux-nat.c, hppa-tdep.c, hppab-nat.c, hppah-nat.c, + hpux-thread.c, i386-linux-nat.c, i386aix-nat.c, i386b-nat.c, + i386bsd-nat.c, i386gnu-nat.c, i386mach-nat.c, i386nbsd-nat.c, + infcmd.c, inferior.h, inflow.c, infptrace.c, infrun.c, + inftarg.c, infttrace.c, lin-lwp.c, lin-thread.c, + linux-thread.c, lynx-nat.c, m3-nat.c, m32r-rom.c, + m68knbsd-nat.c, m88k-nat.c, mac-nat.c, mips-nat.c, + mon960-rom.c, monitor.c, ns32knbsd-nat.c, ocd.c, ppc-bdm.c, + ppcnbsd-nat.c, proc-service.c, procfs.c, ptx4-nat.c, + regcache.c, remote-adapt.c, remote-array.c, remote-bug.c, + remote-e7000.c, remote-es.c, remote-mips.c, remote-mm.c, + remote-nindy.c, remote-os9k.c, remote-rdi.c, remote-rdp.c, + remote-sds.c, remote-sim.c, remote-st.c, remote-udi.c, + remote-vx.c, remote.c, rs6000-nat.c, sol-thread.c, + solib-aix5.c, solib-svr4.c, somsolib.c, sparc-nat.c, + standalone.c, sun3-nat.c, sun386-nat.c, symm-nat.c, target.c, + target.h, thread-db.c, thread.c, top.c, ultra3-nat.c, + uw-thread.c, v850ice.c, win32-nat.c, wince.c, xcoffsolib.c + (inferior_pid): Rename to inferior_ptid everywhere - even in + comments and obsolete ports. In cases where this variable + really is supposed to be used as a process id, use PIDGET() to + extract the process id component from inferior_ptid. The + other cases, either involving other variables whose types had + to be changed or functions whose signatures had to changed + are listed separately below. + + * arm-linux-nat.c (get_thread_id): Change type of argument + representing a combined process/thread id from ``int'' to + ``ptid_t''. Also change parameter name to ptid. + * breakpoint.h, breakpoint.c (breakpoint_thread_match): Likewise. + * corelow.c (core_file_thread_alive): Likewise. + * d10v-tdep.c (d10v_read_pc, d10v_write_pc): Likewise. + * defs.h (*target_wait_hook): Likewise. + * gdbthread.h (thread_info, delete_thread, pid_to_thread_id) + (find_thread_pid, save_infrun_state, load_infrun_state): Likewise. + * gnu-nat.c (gnu_thread_alive, gnu_pid_to_str, gnu_wait) + (gnu_resume): Likewise. + * go32-nat.c (go32_wait, go32_resume): Likewise. + * h8500-tdep.c (h8500_read_pc, h8500_write_pc): Likewise. + * hppa-tdep.c (target_read_pc, target_write_pc): Likewise. + * hppah-nat.c (child_pid_to_str, hppa_tid_to_str, + (hppa_pid_or_tid_to_str, child_post_startup_inferior) + (child_thread_alive): Likewise. + * hpux-thread.c (hpux_thread_notice_signals, hpux_thread_alive) + (hpux_pid_to_str, hpux_thread_wait, hpux_thread_resume): Likewise. + * i386-linux-nat.c (child_resume): Likewise. + * ia64-linux-nat.c (enable_watchpoints_in_psr, fetch_debug_register) + (store_debug_register, fetch_debug_register_pair) + (store_debug_register_pair, ia64_linux_insert_watchpoint) + (ia64_linux_remove_watchpoint, ia64_linux_stopped_by_watchpoint): + Likewise. + * ia64-tdep.c (ia64_read_pc, ia64_write_pc): Likewise. + * inferior.h (read_pc_pid, generic_target_read_pc, write_pc_pid) + (generic_target_write_pc, ptrace_wait, child_resume) + (get_last_target_status): Likewise. + * infptrace.c (ptrace_wait, child_resume): Likewise. + * inftarg.c (child_wait, child_post_wait, child_thread_live) + (child_pid_to_str): Likewise. + * infttrace.c (ptrace_wait, child_thread_alive, child_resume) + (hppa_pid_or_tid_to_str, child_post_startup_inferior): Likewise. + * lin-lwp.c (add_lwp, delete_lwp, find_lwp_pid, lin_lwp_attach_lwp) + (lin_lwp_resume, lin_lwp_wait, lin_lwp_thread_alive) + (lin_lwp_pid_to_str): Likewise. + * lin-thread.c (thread_db_alive, thread_db_pid_to_str) + (thread_db_resume, thread_db_wait): Likewise. + * linux-thread.c (linuxthreads_thread_alive, linuxthreads_pid_to_str) + (linuxthreads_resume, linuxthreads_wait): Likewise. + * lynx-nat.c (child_wait, child_thread_alive, child_resume) + (child_pid_to_str): Likewise. + * m3-nat.c (mach_really_wait, m3_resume): Likewise. + * mac-nat.c (child_wait, child_resume): Likewise. + * mips-tdep.c (mips_read_pc): Likewise. + * monitor.c (monitor_wait, monitor_resume): Likewise. + * ocd.c, ocd.h (ocd_thread_alive, ocd_resume): Likewise. + * ppc-bdm.c (bdm_ppc_wait): Likewise. + * procfs.c (do_attach, procfs_wait, procfs_resume) + (procfs_notice_signals, procfs_thread_alive, procfs_pid_to_str) + (procfs_set_watchpoint, procfs_stopped_by_watchpoint) + (procfs_find_LDT_entry): Likewise. + * regcache.c (read_register_pid, read_signed_register_pid) + (write_register_pid, generic_target_read_pc, read_pc_pid) + (generic_target_write_pc, write_pc_pid): Likewise. + * regcache.h (read_register_pid, read_signed_register_pid) + (write_register_pid): Likewise. + * remote-adapt.c (adapt_wait, adapt_resume): Likewise. + * remote-array.c (array_wait, array_resume): Likewise. + * remote-bug.c (bug_wait, bug_resume): Likewise. + * remote-e7000.c (e7000_wait, e7000_resume): Likewise. + * remote-eb.c (eb_wait, eb_resume): Likewise. + * remote-es.c (es1800_wait, es1800_resume): Likewise. + * remote-mips.c (mips_wait, mips_resume): Likewise. + * remote-mm.c (mm_wait, mm_resume): Likewise. + * remote-nindy.c (nindy_wait, nindy_resume): Likewise. + * remote-os9k.c (rombug_wait, rombug_resume): Likewise. + * remote-rdi.c (arm_rdi_wait, arm_rdi_resume): Likewise. + * remote-rdp.c (remote_rdp_resume, remote_rdp_wait): Likewise. + * remote-sds.c (sds_wait, sds_resume): Likewise. + * remote-sim.c (gdbsim_wait, gdbsim_resume): Likewise. + * remote-st.c (st2000_wait, st2000_resume): Likewise. + * remote-udi.c (udi_wait, udi_resume): Likewise. + * remote-vx.c (vx_wait, vx_resume): Likewise. + * remote.c (remote_current_thread, remote_resume, remote_wait) + (remote_async_resume, remote_async_wait, remote_cisco_wait) + (remote_thread_alive): Likewise. + * sol-thread.c (thread_to_lwp, lwp_to_thread, sol_thread_resume) + (sol_thread_wait, sol_thread_notice_signals, sol_thread_alive) + (solaris_pid_to_str): Likewise. + * symm-nat.c (child_wait, child_resume): Likewise. + * target.c (debug_to_resume, debug_to_wait, debug_to_post_wait) + (debug_to_notice_signals, debug_to_thread_alive) + (normal_target_post_startup_inferior, normal_pid_to_str) + (debug_to_post_startup_inferior): Likewise. + * target.h (to_resume, to_wait, to_post_wait) + (to_post_startup_inferior, to_notice_signals, to_thread_alive) + (to_pid_to_str [all in struct target_ops]): Likewise. + (child_post_wait, child_thread_alive, normal_pid_to_str): Likewise. + * thread-db.c (thread_from_lwp, lwp_from_thread, thread_db_wait) + (attach_thread, detach_thread, thread_db_resume, check_event) + (thread_db_post_startup_inferior, thread_db_thread_alive) + (thread_db_pid_to_str): Likewise. + * thread.c (add_thread, delete_thread, find_thread_pid) + (pid_to_thread_id, in_thread_list, load_infrun_state) + (save_infrun_state, switch_to_thread, restore_current_thread) + (make_cleanup_restore_current_thread): Likewise. + * top.c (target_wait_hook): Likewise. + * uw-thread.c (dbgpid, thr_to_lwp, lwp_to_thr, add_thread_uw) + (uw_thread_resume, libtrhead_stub, uw_thread_wait, uw_thread_alive) + (uw_thread_pid_to_str): Likewise. + * v850ice.c (v850ice_wait, v850ice_resume): Likewise. + * win32-nat.c (child_wait, child_resume, win32_child_thread_alive) + (cywin_pid_to_str): Likewise. + * wince.c (child_wait, child_resume, win32_child_thread_alive): + Likewise. + * config/nm-linux.h (linuxthreads_pid_to_str): Likewise. + * config/nm-lynx.h (child_wait, lynx_pid_to_str): Likewise. + * config/alpha/nm-linux.h (lin_lwp_attach_lwp): Likewise. + * config/arm/nm-linux.h (lin_lwp_attach_lwp): Likewise. + * config/h8500/tm-h8500.h (h8500_read_pc, h8500_write_pc): Likewise. + * config/i386/nm-i386sol2.h (procfs_stopped_by_watchpoint) + (procfs_set_watchpoint): Likewise. + * config/i386/nm-linux.h (lin_lwp_attach_lwp): Likewise. + * config/i386/nm-ptx4.h (child_wait): Likewise. + * config/i386/nm-symmetry.h (child_wait): Likewise. + * config/i386/tm-cygwin.h (cygwin_pid_to_str): Likewise. + * config/ia64/nm-linux.h (ia64_linux_stopped_by_watchpoint) + (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint) + (lin_lwp_attach_lwp): Likewise. + * config/mips/nm-irix4.h, config/mips/nm-irix5.h + (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Likewise. + * config/pa/nm-hppah.h (child_pid_to_str, hppa_tid_to_str) + (hppa_pid_or_tid_to_str): Likewise. + * config/pa/tm-hppa.h (target_read_pc, target_write_pc): Likewise. + * config/powerpc/nm-linux.h (lin_lwp_attach_lwp): Likewise. + * config/sparc/nm-sun4sol2.h (procfs_stopped_by_watchpoint) + (procfs_set_watchpoint): Likewise. + + * gdbthread.h (thread_id_to_pid): Change return type which + represents a combined process/thread id from ``int'' to + ``ptid_t''. + * gnu-nat.c (gnu_wait): Likewise. + * go32-nat.c (go32_wait): Likewise. + * hpux-thread.c (hpux_thread_wait): Likewise. + * inferior.h (procfs_first_available): Likewise. + * inftarg.c (child_wait): Likewise. + * infttrace.c (ptrace_wait): Likewise. + * lin-lwp.c (lin_lwp_wait): Likewise. + * lin-thread.c (thread_db_wait): Likewise. + * linux-thread.c (linuxthreads_wait): Likewise. + * lynx-nat.c (child_wait): Likewise. + * m3-nat.c (mach_really_wait): Likewise. + * mac-nat.c (child_wait): Likewise. + * monitor.c (monitor_wait): Likewise. + * ppc-bdm.c (bdm_ppc_wait): Likewise. + * procfs.c (do_attach, procfs_wait, procfs_first_available): Likewise. + * remote-adapt.c (adapt_wait): Likewise. + * remote-array.c (array_wait): Likewise. + * remote-bug.c (bug_wait): Likewise. + * remote-e7000.c (e7000_wait): Likewise. + * remote-eb.c (eb_wait): Likewise. + * remote-es.c (es1800_wait): Likewise. + * remote-mips.c (mips_wait): Likewise. + * remote-mm.c (mm_wait): Likewise. + * remote-nindy.c (nindy_wait): Likewise. + * remote-os9k (rombug_wait): Likewise. + * remote-rdi.c (arm_rdi_wait): Likewise. + * remote-rdp.c (remote_rdp_wait): Likewise. + * remote-sds.c (sds_wait): Likewise. + * remote-sim.c (gdbsim_wait): Likewise. + * remote-st.c (st2000_wait): Likewise. + * remote-udi.c (udi_wait): Likewise. + * remote-vx.c (vx_wait): Likewise. + * remote.c (remote_wait, remote_async_wait, remote_current_thread) + (remote_cisco_wait): Likewise. + * sol-thread.c (thread_to_lwp, lwp_to_thread, sol_thread_wait): + Likewise. + * symm-nat.c (child_wait): Likewise. + * target.c (debug_to_wait): Likewise. + * target.h (to_wait [in struct target_ops]): Likewise. + * thread.c (thread_id_to_pid): Likewise. + * thread-db.c (thread_from_lwp, lwp_from_thread, thread_db_wait): + Likewise. + * top.c (*target_wait_hook): Likewise. + * uw-thread.c (lwp_to_thr, uw_thread_wait): Likewise. + * v850ice.c (v850ice_wait): Likewise. + * win32-nat.c (child_wait): Likewise. + * wince.c (child_wait): Likewise. + * config/nm-lynx.h (child_wait): Likewise. + * config/i386/nm-ptx4.h (child_wait): Likewise. + * config/i386/nm-symmetry.h (child_wait): Likewise. + + * arch-utils.c (generic_prepare_to_proceed): Rename wait_pid + to wait_ptid and change its type from ``int'' to ``ptid_t''. + * breakpoint.c (reattach_breakpoints, detach_breakpoints): Likewise, + but rename saved_inferior_pid to saved_inferior_ptid. + * d10v-tdep.c (d10v_read_pc, d10_write_pc): Likewise, but rename + save_pid to save_ptid. + * gdbthread.h (struct thread_info): Likewise, but rename pid to ptid. + * hppah-nat.c (child_pid_to_exec): Likewise, but rename + saved_inferior_pid to saved_inferior_ptid. + * hpux-thread.c (main_ptid): Likewise, but rename from main_pid. + * infrun.c (previous_inferior_pid [static global]): Likewise, + but rename to previous_inferior_ptid. + (resume): Likewise, but rename resume_pid to resume_ptid. + (struct execution_control_state): Likewise, but rename + pid to ptid, saved_inferior_pid to saved_inferior_ptid, + and waiton_pid to waiton_ptid. + (target_last_wait_pid): Likewise, but rename to + target_last_wait_ptid. + * infttrace.c (saved_real_pid): Likewise, but rename to + saved_real_ptid. + (child_pid_to_exec_file): Likewise, but rename saved_inferior_pid + to saved_inferior_ptid. + * lin-lwp.c (struct lwp_info): Likewise, but rename pid to ptid. + (trap_ptid): Likewise, but renamed from trap_pid. + * lin-thread.c (handle_new_thread): Likewise, but rename gdb_pid + to gdb_ptid. + * linux-thread.c (detach_thread): Likewise, but rename pid to ptid. + (thread_db_wait): Likewise, but rename ret_pid to retptid. + * procfs.c (procfs_wait): Likewise, for retval whose name + doesn't change. Also, ``temp'' becomes two separate variables, + one named temp_tid (an int) and the other temp_ptid. + (procfs_notice_thread): Likewise (type change) for gdb_threadid + whose name does not change. + * regcache.c (registers_ptid): Likewise, but renamed from + registers_pid. + (read_register_pid, read_signed_register_pid, write_register_pid): + Likewise, but rename save_pid to save_ptid. + (read_pc_pid, write_pc_pid): Likewise, but rename saved_inferior_pid + to saved_inferior_ptid. + * remote.c (remote_newthread_step): Likewise, but rename pid to ptid. + * sol-thread.c (struct ps_prochandle): Likewise. + (sol_thread_resume): Likewise, for save_pid which becomes save_ptid. + (sol_thread_wait): Likewise, for rtnval whose name does not + change, and for save_pid which becomes save_ptid. + (solaris_pid_to_str): Likewise for lwp whose name does not change. + (sol_find_new_threads_callback): Likewise, for pid which becomes + ptid. + * target.h (target_resume, target_wait, target_post_wait) + (target_post_startup_inferior, target_notice_signals) + (target_thread_alive): Likewise. + * thread.c (info_threads_command): Likewise, but rename + current_pid to current_ptid. + (struct current_thread_cleanup): Likewise, but rename field + inferior_pid to inferior_ptid. + * thread-db.c (find_new_threads_callback): Likewise, but rename + pid to ptid. + * uw-thread.c (thr_to_lwp): Likewise for lid whose name does not + change. + (lwp_to_tr): Likewise fo tid whose name remains unchanged. + (thr_infpid, lwp_infpid, notice_thread, libthread_stub): Likewise, + but rename pid to ptid. + * config/alpha/nm-linux.h (ATTACH_LWP): Likewise. + * config/arm/nm-linux.h (ATTACH_LWP): Likewise. + * config/i386/nm-linux.h (ATTACH_LWP): Likewise. + * config/ia64/nm-linux.h (ATTACH_LWP): Likewise. + * config/pa/nm-hppah.h (target_tid_to_str): Likewise. + * config/powerpc/nm-linux.h (ATTACH_LWP): Likewise. + + * arch-utils.c (generic_prepare_to_proceed): Test for the + "zero" ptid by using ptid_equal() to test to see if variable + in question is the same as null_ptid. This replaces a direct + test against zero. + * cxux-nat.c (add_shared_symbol_files): Likewise. + * i386aix-nat.c, i386b-nat.c (i386_float_info): Likewise. + * infcmd.c (run_command): Likewise. + * inflow.c (kill_command): Likewise. + * infttrace.c (call_ttrace): Likewise. + * lin-lwp.c (lin_lwp_prepare_to_proceed): Likewise. + * lin-thread.c (thread_db_kill): Likewise. + * procfs.c (procfs_kill_inferior, procfs_mourn_inferior): Likewise. + * remote-es.c (es1800_kill): Likewise. + * sol-thread.c (sol_thread_create_inferior): Likewise. + * solib.c (locate_base): Likewise. + * target.c (nosupport_runtime): Likewise. + * thread-db.c (thread_db_wait): Likewise. + * top.c (quit_confirm, quit_force): Likewise. + * uw-thread (lwp_infpid, uw_thread_resume): Likewise. + + * infrun.c (handle_inferior_event, stop_stepping, normal_stop): + Use ptid_equal to compare value of process/thread ids instead of + ``=='' and ``!='' operators. + lin-lwp.c (delete_lwp, lin_lwp_prepare_to_proceed) + (stop_wait_callback, lin_lwp_wait): Likewise. + * procfs.c (procfs_wait): Likewise. + * regcache.c (read_register_bytes, read_register_gen) + (write_register_gen, read_register, read_register_pid) + (read_signed_register, read_signed_register_pid, write_register) + (write_register_pid, supply_register): Likewise. + * remote-vx.c (vx_resume): Likewise. + * sol-thread.c (sol_thread_wait): Likewise. + * symm-nat.c (kill_inferior): Likewise. + * thread.c (delete_thread, find_thread_pid, pid_to_thread_id) + (in_thread_list, info_threads_command, switch_to_thread) + (restore_current_thread): Likewise. + * uw-thread (libtread_stub): Likewise. + + * arm-linux-nat.c (GET_THREAD_ID): Change PID to PTID. + + * corelow.c (add_to_thread_list): Convert argument in add_thread() + call to a ptid_t. + * gnu-nat.c (inf_validate_procs): Likewise. + * linux-thread.c (stop_thread, update_stop_threads): Likewise. + * remote.c (record_currthread, remote_threads_info): Likewise. + * win32-nat.c (child_add_thread): Likewise. + + * hpux-thread.c (save_inferior_pid, restore_inferior_pid): Rename, + respectively, to save_inferior_ptid() and restore_inferior_ptid(). + Adjust implementations to operate on ``ptid_t'' instead of ``int''. + * lin-lwp.c (save_inferior_pid, restore_inferior_pid): Likewise. + * lin-thread.c (save_inferior_pid, restore_inferior_pid): Likewise. + * linux-thread.c (save_inferior_pid, restore_inferior_pid): Likewise. + * proc-service.c (save_inferior_pid, restore_inferior_pid): Likewise. + * sol-thread.c (save_inferior_pid, restore_inferior_pid): Likewise. + * thread-db.c (save_inferior_pid, restore_inferior_pid): Likewise. + + * infrun.c (RESUME_ALL): New macro representing the -1 ptid + to be passed to target_resume() when all threads should resume. + (resume): Set resume_ptid to RESUME_ALL rather than -1. + (handle_inferior_event): Invoke target_resume() with RESUME_ALL + instead of -1. + * irix5-nat.c (solib_create_inferior_hook): Convert -1 to + a ptid_t in target_resume() call. + * osfsolib.c (solib_create_inferior_hook): Likewise. + * solib-svr4.c (solib_create_inferior_hook): Likewise. + + * lin-lwp.c (PIDGET, PIDGET0): Rename original PIDGET macro to + PIDGET0. Define new PIDGET macro which uses PIDGET0, the only + difference being that the 0xffff pattern will be interpreted + as -1. + * lin-thread.c (PIDGET, PIDGET0): Likewise. + * thread-db.c (PIDGET, PIDGET0): Likewise. + * config/nm-linux.h (PIDGET, PIDGET0): Likewise. + * config/i386/tm-i386sol2.h (PIDGET, PIDGET0): Likewise. + * config/i386/tm-i386v42mp.h (PIDGET, PIDGET0): Likewise. + * config/sparc/tm-sun4sol2.h (PIDGET, PIDGET0): Likewise. + + * m3-nat.c (init_m3_ops): Fix typo; initialize to_wait field to + mach_really_wait rather than mach_really__wait. + * lin-thread.c (check_for_thread_event): Fix warning; make function + actually return a value. + + * gdbarch.sh (TARGET_READ_PC, TARGET_WRITE_PC): Change type of + ``pid'' arguments from ``int'' to ``ptid_t''. Also renamed + pid to ptid. + * gdbarch.h, gdbarch.c: Regenerated. + +2001-05-03 Jonathan Larmour + + * rdi-share/devsw.c: Include for struct tm + +2001-05-03 Eli Zaretskii + + * config/djgpp/fnchange.lst: Add mappings for the new + opcodes/openrisc-* files. + +2001-05-01 Michael Snyder + + * lin-lwp.c: Change printf to fprintf_unfiltered. + * Makefile.in: Add rules for thread-db.o, lin-lwp.o, proc-service.o. + +2001-05-01 Nicholas Duffek + + * config/rs6000/tm-rs6000.h (IN_SOLIB_RETURN_TRAMPOLINE): Define. + (rs6000_in_solib_return_trampoline): Declare. + * rs6000-tdep.c (rs6000_in_solib_return_trampoline): New + function. + (rs6000_skip_trampoline_code): Skip bigtoc fixup code. + * xcoffread.c (read_xcoff_symtab): Perform the ISFCN function + check after the CSECT check rather than before it. Allocate + separate symtabs for CSECTs whose names begin with '@'. + (scan_xcoff_symtab): Don't ignore symbols beginning with '@'. + Activate the misc_func_recorded mechanism for whose names begin + with '@'. + +2001-04-30 J.T. Conklin + + * ppcnbsd-nat.c (fetch_inferior_registers) + (store_inferior_registers, fetch_core_registers): Changed to use + fpreg[] instead of r_regs[] to access floating point registers. + +2001-04-30 Elena Zannoni + + * sh-tdep.c: Get rid of the function prototypes. + (sh_sh4_build_float_register_type): Move earlier in file. + (fv_reg_base_num): Ditto. + (dr_reg_base_num): Ditto. + +2001-04-30 Michael Snyder + + * thread-db.c: Revert 2001-04-26 change for debugging output. + * lin-lwp.c: Ditto. + * lin-lwp.c: Add set/show debug lin-lwp command. Use this + command to turn extra debugging output on / off. + +2001-04-30 Eli Zaretskii + + * buildsym.c (start_subfile): Use FILENAME_CMP instead of STREQ. + (top-level): #include filenames.h. + + * dwarf2read.c (dwarf2_start_subfile): Use IS_ABSOLUTE_PATH and + FILENAME_CMP, to DTRT on non-Posix platforms. + (top-level): #include filenames.h. + + +2001-04-27 Andrew Cagney + + * gdbtypes.c (check_stub_method): Always initialize ``p''. + +2001-04-27 Andrew Cagney + + * configure.host: Delete romp host. + * TODO: Update. + +2001-04-27 Andrew Cagney + + * TODO: Updates to 5.1. No more targets to obsolete. + +2001-04-27 Don Howard + + (Changes from Kevin Buettner, with minor update by Don Howard.) + + * i387-nat.c (i387_supply_fxsave, i387_fill_fxsave, i387_tag): Fix + typos in which hexadecimal constants were really intended to be + binary constants. + (i387_tag): Swap logic regarding zero vs non-zero exponents. + * MAINTAINERS (Misc): Added myself to the write-after-approval + list. + +2001-04-26 Jim Blandy + + (Changes from Daniel Berlin, with revisions by Jim Blandy.) + + Abstract out operations specific to particular C++ ABI's, and + invoke them through a function table. This removes the C++ ABI + dependencies scattered throughout the code, and allows us to + cleanly add support for new C++ ABI's. + * cp-abi.h, cp-abi.h, gnu-v2-abi.c, hpacc-abi.c: New files. + * c-typeprint.c, c-valprint.c, dbxread.c, eval.c, gdbtypes.c, + jv-typeprint.c, linespec.c, symtab.c, typeprint.c, valops.c: + #include "cp-abi.h". These files all use functions now declared + there. + * symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P): + Deleted. These services are now provided by functions declared in + cp-abi.h. + * value.h (value_rtti_type, value_virtual_fn_field): Same. + * values.c (value_virtual_fn_field): Same, for this definition. + * valops.c (value_rtti_type): Same. + * c-typeprint.c (c_type_print_base): Use the functions from + "cp-abi.h", instead of the old macros, or hard-coded ABI-specific + tests. + * dbxread.c (record_minimal_symbol): Same. + * gdbtypes.c (get_destructor_fn_field, virtual_base_index, + virtual_base_index_skip_primaries): Same. + * jv-typeprint.c (java_type_print_base): Same. + * linespec.c (find_methods, decode_line_1): Same. + * symtab.c (gdb_mangle_name): Same. + * Makefile.in (SFILES): Add the new .c files mentioned above. + (cp_abi_h): New variable. + (COMMON_OBS): Add gnu-v2-abi.o, hpacc-abi.o, and cp-abi.o. + (cp-abi.o, gnu-v2-abi.o, hpacc-abi.o): New targets. + (c-typeprint.o, c-valprint.o, dbxread.o, eval.o, gdbtypes.o, + jv-typeprint.o, symtab.o, linespec.o, typeprint.o, valops.o): Add + dependency on $(cp_abi_h). + +2001-04-26 Michael Snyder + + * thread-db.c (_initialize_thread_db): Add set/show command + "debug-linux-threads" for debugging output. + * lin-lwp.c (various): Use global "debug_linux_threads to + turn on extra debugging output. + * lin-lwp.c: Minor cleanups in comments. + * target.c (normal_pid_to_str): Get rid of an ancient hack. + * remote.c (remote_pid_to_str): New function for remote target. + +2001-04-24 Jim Blandy + + * c-typeprint.c (c_type_print_cv_qualifier): Don't print `const' + qualifier on C++ references; all references are innately const. + +2001-04-20 Mark Kettenis + + * event-top.h: Fix formatting. + +2001-04-17 Andrew Cagney + + * source.c (openp): Obsolete #ifdef MPW code. + (open_source_file): Ditto. + * event-top.c (display_gdb_prompt): Ditto. + * utils.c (query): Ditto. + (init_page_info): Ditto. + (init_page_info): Delete #ifndef MPW. + * top.c (gdb_readline): Ditto. + * mac-xdep.c: Obsolete. + * mac-gdb.r: Obsolete. + * config/powerpc/xm-mpw.h: Obsolete. + * config/xm-mpw.h: Obsolete. + * mpw-make.sed: Obsolete. + * mpw-config.in: Obsolete. + * TODO: Update + * NEWS: Update + +2001-04-19 Mark Kettenis + + * i386-tdep.c (i386_frameless_function_invocation): New function. + * config/i386/tm-i386.h (FRAMELESS_FUNCTION_INVOCATION): Redefine + in terms of i386_frameless_function_invocation. Adjust comment. + (i386_frameless_function_invocation): New prototype. + +2001-04-18 Martin M. Hunt + + * top.c (gdb_init): Don't call cli_out_new() to + create global uiout if init_ui_hook is set. uiout will + have to be initialized there. + +2001-04-18 Andrew Cagney + + * arch-utils.c: Include "regcache.h". + +2001-04-18 Mark Kettenis + + * i386-tdep.c (i386_saved_pc_after_call): New function. + * config/i386/tm-i386.h (SAVED_PC_AFTER_CALL): Redefine in terms + of i386_saved_pc_after_call. + (i386_saved_pc_after_call): New prototype. + +2001-04-17 Michael Snyder + + * i386-nat.c: Fix typo in comment. + * solib.c (no_shared_libraries): New function. Discard all symbols + from shared libraries. + (_initialize_solib): Add command "nosharedlibrary" as complement + to the command "sharedlibrary". Unloads symbols for all solibs. + +2001-04-16 Andrew Cagney + + * configure.host (m68030-sony-*, m68*-isi-*, m68*-sony-*): + * configure.tgt (m68*-rom68k-*, m68*-*bug-*, m68*-monitor-*) + (m68*-est-*, m68*-sony-*, m68*-isi-*): + * Makefile.in (xm-news1000.h, tm-news.h, xm-news.h): Obsolete.. + * config/m68k/xm-news.h: Obsolete. + * config/m68k/tm-news.h: + * config/m68k/xm-news1000.h: Obsolete. + * config/m68k/news.mh: Obsolete. + * config/m68k/news.mt: Obsolete. + * config/m68k/nm-news.h: Obsolete. + * config/m68k/news1000.mh: Obsolete. + * news-xdep.c: Obsolete. + * Makefile.in (isi-xdep.o): Obsolete. + (ALLDEPFILES): Delete isi-xdep.c. + (tm-isi.h): Obsolete. + * m68k-tdep.c (altos_skip_prologue): Update comments. + (isi_skip_prologue): Obsolete. + * isi-xdep.c: Obsolete. + * config/m68k/xm-isi.h: Obsolete. + * config/m68k/isi.mh: Obsolete. + * config/m68k/tm-isi.h: Obsolete. + * config/m68k/isi.mt: Obsolete. + + * TODO: Update. + * NEWS: Update. + +2001-04-17 Michael Snyder + + * remote.c (remote_open_1): On opening the remote target, activate + the solib_create_inferior_hook, so that it can detect when the + target loads shared libraries. + (remote_async_open_1): Ditto. + +2001-04-17 Michael Snyder + + * breakpoint.c (print_one_breakpoint): Handle 64-bit addresses. + * tracepoint.c (tracepoints_info): Handle 64-bit addresses. + * testsuite/gdb.trace/deltrace.exp: Allow for 64-bit addresses. + * testsuite/gdb.trace/infotrace.exp: Ditto. + * testsuite/gdb.trace/passcount.exp: Ditto. + * testsuite/gdb.trace/while-stepping.exp: Ditto. + +2001-04-17 Michael Snyder + + * thread-db.c (check_thread_signals): When looping over all + signals, ignore signal zero. + (disable_thread_signals): Ditto. + +2001-04-17 Eirik Fuller + + * thread.c (do_captured_thread_select): Allow the argument to the + thread command to be an expression rather than a literal integer. + +2001-04-17 Mark Kettenis + + * i386-linux-tdep.c (i386_linux_saved_pc_after_call): Use + read_memory_unsigned_integer instead of read_memory_integer. + +2001-04-16 Kevin Buettner + + * solib-aix5.c (map_index_vs_section_name_okay): New function. + (aix5_relocate_main_executable): Don't use file offsets for + determining corresponding sections and map file entries. Call + map_index_vs_section_name_okay() to do this instead. + +2001-04-16 Kevin Buettner + + * procfs.c (open_with_retry): New function. + (open_procinfo_files, load_syscalls, proc_iterate_over_mappings) + (proc_get_LDT_entry): Call open_with_retry() instead of open(). + +2001-04-16 Kevin Buettner + + * ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Adjust + comparison against TRAP_HWBKPT constant yet again to account + for the various values used by different kernel versions. + +2001-04-16 Daniel Berlin + + * demangle.c (_initialize_demangler): Use xcalloc on the + demangling_style_names, and make it a null terminated array of + names, to avoid a crash. + +2001-04-16 Mark Kettenis + + * i386-tdep.c (i386_frame_chain): New function. + * config/i386/tm-i386.h (FRAME_CHAIN): Redefine in terms of + i386_frame_chain. + (i386_frame_chain): New prototype. + +2001-04-14 J.T. Conklin + + * target.h (target_ops): Removed to_core_file_to_sym_file vector + function. + * corelow.c (core_ops): Updated for above change. + * gnu-nat.c (core_ops): Likewise. + * inftarg.c (child_ops): Likewise. + * monitor.c (monitor_ops): Likewise. + * ppc-bdm.c (bdm_ppc_ops): Likewise. + * remote-adapt.c (adapt_ops): Likewise. + * remote-bug.c (bug_ops): Likewise. + * remote-e7000.c (e7000_ops): Likewise. + * remote-eb.c (eb_ops): Likewise. + * remote-es.c (es1800_ops, es1800_child_ops): Likewise. + * remote-mm.c (mm_ops): Likewise. + * remote-nindy.c (nindy_ops): Likewise. + * remote-nrom.c (nrom_ops): Likewise. + * remote-os9k.c (rombug_ops): Likewise. + * remote-rdp.c (remote_rdp_ops): Likewise. + * remote-sim.c (gdbsim_ops): Likewise. + * remote-st.c (st2000_ops): Likewise. + * v850ice.c (v850ice_ops): Likewise. + * target.c (cleanup_target): Likewise + (update_current_target): Likewise. + (setup_target_debug): Likewise + (debug_to_core_file_to_sym_file): Removed. + + * corefile.c (core_file_command) [HPUXHPPA]: Removed code that + sets symbol file from information obtained from the core file. + * corelow.c (core_file_to_sym_file): Removed. + +2001-04-13 Fernando Nasser + + From Adam Mirowski + Fixed Insight on Solaris. It was not possible to debug a process + because of EINTR "errors". + * procfs.c: (procfs_wait): if proc_wait_for_stop() fails + with EINTR, retry the call. + +2001-04-12 Kevin Buettner + + * solib-aix5.c (enum maptype): Delete. + (struct lm_info): Add new member ``nmappings''. Make ``mapping'' + member a pointer instead of a statically sized array. + (build_so_list_from_mapfile): Dynamically allocate ``mapping'' + array. + (aix5_relocate_main_executable, aix5_relocate_section_addresses, + aix5_find_global_pointer): Search for correct mapping to use + based on file offset instead of knowledge of whether the section + is read-only or read/write. + (aix5_find_gate_addresses): Use the first mapping instead of + the (now defunct) MT_READONLY mapping. + +2001-04-12 Nicholas Duffek + + * xcoffread.c (scan_xcoff_symtab): Ignore symbols beginning with + "@". + +2001-04-12 Kevin Buettner + + * config/i386/fbsd.mh (NATDEPFILES): Add i386-nat.o. + +2001-04-09 Andrew Cagney + + Obsolete i[3456]86-*-sunos* (aka Sun386) host and target. + * config/i386/sun386.mh: Obsolete. + * config/i386/sun386.mt: Obsolete. + * config/i386/xm-sun386.h: Obsolete. + * config/i386/tm-sun386.h: Obsolete. + * config/i386/nm-sun386.h: Obsolete. + * Makefile.in (ALLDEPFILES): Delete sun386-nat.c. + (sun386-nat.o): Target is obsolete. + * sun386-nat.c: Obsolete. + * configure.tgt (i[3456]86-*-sunos*): Obsolete. + * configure.host (i[3456]86-*-sunos*): Obsolete. + * NEWS: Update. + * TODO: Update. + +2001-04-10 J.T. Conklin + + * maint.c: Fix typo in comment. + +2001-04-09 Keith Seitz + + * MAINTAINERS: Swap with Syd Polk as a gdbtk maintainer. + +2001-04-08 Kevin Buettner + + * fork-child.c (fork_inferior, clone_and_follow_inferior): + Document fact that apparent call to vfork() might actually be + a call to fork() instead. + * ser-pipe.c (pipe_open): Likewise. + +2001-04-08 Kevin Buettner + + * printcmd.c (print_frame_args): Use a cleanup to invoke + ui_out_list_end() so that the list count nesting flag will + be decremented properly when an error occurs. + * stack.c (print_frame): Likewise. + +2001-04-06 J.T. Conklin + + * dcache.c (dcache_write_line): Fixed bugs where cache line was + not written to target correctly. + + * gdbserver/low-hppabsd.c (read_inferior_memory): Add explicit + void return value; + * gdbserver/low-nbsd.c: Likewise. + * gdbserver/low-sparc.c: Likewise. + * gdbserver/low-sun3.c: Likewise. + +2001-04-06 Geoffrey Keating + + * config/rs6000/nm-rs6000.h (PTRACE_ATTACH): Don't define. + (PTRACE_DETACH): Don't define. + +2001-04-06 David Smith + + * arch-utils.c (default_prepare_to_proceed) + (generic_prepare_to_proceed): Added new functions. + * arch-utils.h: New function declarations for + default_prepare_to_proceed() and generic_prepare_to_proceed(). + * gdbarch.sh: Added PREPARE_TO_PROCEED. + * gdbarch.c: Regenerated. + * gdbarch.h: Regenerated. + * inferior.h: Added get_last_target_status() declaration. + * infrun.c (get_last_target_status): Added new function. + (handle_inferior_event): Saves last pid and waitstatus, which will + get returned by get_last_target_status(). + + * hppa-tdep.c (prepare_to_proceed): Added comment stating that + prepare_to_proceed() is potentially redundant since + default_prepare_to_proceed() has been added. + * linux-thread.c (prepare_to_proceed): Ditto. + * lin-lwp.c (prepare_to_proceed): Ditto. + * m3-nat.c (prepare_to_proceed): Ditto. + +2001-04-05 Andrew Cagney + + Obsolete powerpcle-*-cygwin* and powerpcle-*-solaris* platforms + and powerpc-*-netware* target. + * configure.host (powerpcle-*-cygwin*, powerpcle-*-solaris*): + Obsolete. + * configure.tgt (powerpc-*-netware*, powerpcle-*-cygwin*) + (powerpcle-*-solaris*): Obsolete. + * config/powerpc/tm-cygwin.h: Obsolete. + * config/powerpc/cygwin.mt: Obsolete. + * config/powerpc/xm-cygwin.h: Obsolete. + * config/powerpc/cygwin.mh: Obsolete. + * config/powerpc/nm-solaris.h: Obsolete. + * config/powerpc/xm-solaris.h: Obsolete. + * config/powerpc/tm-solaris.h: Obsolete. + * config/powerpc/solaris.mt: Obsolete. + * config/powerpc/tm-ppc-nw.h: Obsolete. + * config/powerpc/ppc-nw.mt: Obsolete. + * TODO: Update. + * NEWS: Update. + +2001-04-06 Fernando Nasser + + * buildsym.c (record_line): Turn off unused addr bits. + +2001-04-06 Fernando Nasser + + From David Deephanphongs + * inferior.h: Fix declarations of get_inferior_args and + set_inferior_args, which were missing the trailing 's'. + +2001-04-05 Jeff Holcomb + + * monitor.c (monitor_supply_register): Only report an error if we + don't get a valid value. + +2001-04-05 Eli Zaretskii + + * README: Don't mention gdba.el. + +2001-04-05 Elena Zannoni + + From Jimmy Guo + * top.c (init_main): set prompt if annotation_level>1, + this is necessary when annotation_level is set to 2 via + --annotate=2 command line option. + +2001-04-04 Andrew Cagney + + Obsolete a29k-*-* host and a29k-*-sym1* and a29k-*-kern* targets. + * configure.tgt (a29k-*-sym1*, a29k-*-kern*): Obsolete. + * configure.host (a29k-*-*): Obsolete. + * Makefile.in (ALLDEPFILES): Remove ultra3-nat.c and + ultra3-xdep.c. + (ultra3-nat.o, ultra3-xdep.o): Obsolete. + * config/a29k/tm-ultra3.h: Obsolete. + * config/a29k/ultra3.mt: Obsolete. + * config/a29k/ultra3.mh: Obsolete. + * config/a29k/nm-ultra3.h: Obsolete. + * config/a29k/xm-ultra3.h: Obsolete. + * ultra3-xdep.c: Obsolete. + * ultra3-nat.c: Obsolete. + * config/a29k/a29k-kern.mt: Obsolete. + * NEWS: Update. + * TODO: Update. + +Wed Apr 4 21:48:42 2001 Christopher Faylor + + * main.c: Remove windows.h use. + (gdbtk_test): Use PATH_MAX for home var calculation. + * remote-e7000.c (e7000_parse_device): Accomodate Cygwin as well as + Win32 in colon test. + * ser-tcp.c: Use modern __CYGWIN__ conditional. + * source.c (mod_path): Add __CYGWIN__ conditional to WIN32 test. + (openp): Ditto. + * symfile.c (symfile_bfd_open): Ditto. + +2001-04-04 Martin M. Hunt + + * main.c (captured_main): For GDBtk, don't use tui_fileopen(). + Handle all stream setup in gdbtk_init + +2001-04-04 Mark Kettenis + + * i386-tdep.c (i386_extract_return_value): Don't return the return + value of a void function. + (i386_store_return_value): Likewise. + +2001-04-03 Andrew Cagney + + Obsolete w65-*-* target. + * configure.tgt (w65-*-*): Obsolete. + * config/w65/w65.mt: Obsolete. + * config/w65/tm-w65.h: Obsolete. + * w65-tdep.c: Obsolete. + * NEWS: Update. Fix TiC80 description. + * TODO: Update. + +2001-04-03 Andrew Cagney + + Obsolete tic80-*-* target. + * configure.tgt (tic80-*-*): Obsolete. + * config/tic80/tic80.mt: Obsolete. + * config/tic80/tm-tic80.h: Obsolete. + * tic80-tdep.c: Obsolete. + * TODO: Update + * NEWS: Update. + +2001-04-02 J.T. Conklin + + * remote-mips.c (S_IROTH): Moved definition from here. + * gdb_stat.h (S_IROTH): to here. + + * remote.c (remote_protocol_e, remote_protocol_E): Define. + (set_remote_protocol_e_packet_cmd) + (set_remote_protocol_E_packet_cmd) + (show_remote_protocol_e_packet_command) + (show_remote_protocol_E_packet_command): New functions. + (init_all_packet_configs): Initialize remote_protocol_e and + remote_protocol_E. + (remote_resume, remote_async_resume): Support e/E command + packets. + (show_remote_cmd): Show state of remote_protocol_e and + remote_protocol_E. + (_initialize_remote): Add "set remote step-over-range-packet" + and "set remote step-over-range-w-signal-packet" to CLI. + +2001-04-01 Andrew Cagney + + Obsolete ns32k-*-mach3*, ns32k-umax-*, ns32k-utek-sysv* and + ns32k-utek-*. + * Makefile.in (ALLDEPFILES): Delete umax-xdep.c and ns32km3-nat.c. + (umax-xdep.o, ns32km3-nat.o): Obsolete. + * configure.tgt (ns32k-*-mach3*, ns32k-utek-sysv*, ns32k-utek-*): + Obsolete. + * configure.host (ns32k-*-mach3*, ns32k-umax-*, ns32k-utek-sysv*): + Obsolete. + * config/ns32k/merlin.mh: Obsolete. + * config/ns32k/merlin.mt: Obsolete. + * config/ns32k/xm-merlin.h: Obsolete. + * config/ns32k/tm-merlin.h: Obsolete. + * config/ns32k/nm-umax.h: Obsolete. + * config/ns32k/umax.mh: Obsolete. + * config/ns32k/umax.mt: Obsolete. + * config/ns32k/xm-umax.h: Obsolete. + * umax-xdep.c: Obsolete. + * config/ns32k/ns32km3.mh: Obsolete. + * config/ns32k/ns32km3.mt: Obsolete. + * config/ns32k/tm-ns32km3.h: Obsolete. + * config/ns32k/xm-ns32km3.h: Obsolete. + * ns32km3-nat.c: Obsolete. + * ns32k-tdep.c (merlin_skip_prologue): Obsolete. + (merlin_frame_num_args): Ditto. + * NEWS: Update. + * TODO: Update. + +2001-04-02 Eli Zaretskii + + * config/djgpp/fnchange.lst: Tweak due to + expect/example/chesslib.c. + +2001-04-02 Kevin Buettner + + * m88k-tdep.c (examine_prologue): Change type of ``insn'' from + unsigned int to unsigned long. Also, fix format string. + (pop_frame): Fix PC_IN_CALL_DUMMY() call so that it doesn't + use an undeclared variable. Also, delete declaration and + initialization of ``fp'' because it is otherwise unused. + * remote-bug.c (sleep): Delete declaration. + (bug_store_register, bug_write_memory, bug_read_memory) + (bug_insert_breakpoint, bug_remove_breakpoint): Fix sprintf() + format statements and cast certain sprintf() arguments to + eliminate warnings. + (bug_load): Likewise for call to printf_filtered(). + * config/m88k/tm-m88k.h (FIX_CALL_DUMMY): Eliminate + assignment to ``pc''. The necessary assignment is done in + hand_function_call() after the invocation of FIX_CALL_DUMMY(). + +2001-03-20 Daniel Berlin + + * symtab.c (completion_list_add_name): Remove duplicate string checks, + readline already does this, and it's much faster at it, too. + +2001-04-01 Eli Zaretskii + + * go32-nat.c: Minor tweaks, to pacify the ari script. + +2001-04-01 Mark Kettenis + + * i386-tdep.c (i386_extract_struct_value_address): New function. + * config/i386/tm-i386.h (EXTRACT_STRUCT_VALUE_ADDRESS): Redefine + in terms of i386_extract_struct_value_address. + (i386_extract_struct_value_address): New prototype. + + * i386-linux-nat.c (i386_linux_dr_get): Change type of return + value to `unsigned long'. Change type of `value' to `unsigned + long'. + (i386_linux_dr_set): Change type of second argument to `unsigned + long'. + (i386_linux_dr_set_control): Change type of first argument to + `unsigned long'. + (i386_linux_dr_get_status): Change type of return value to + unsigned long. + * config/i386/nm-linux.h (i386_linux_dr_set_control, + i386_linux_dr_get_status): Adjust prototypes accordingly. + +2001-03-31 Kevin Buettner + + * ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Change + TRAP_HWBKPT constant to match that in the kernel headers for + Linux/IA-64. + +2001-03-31 Mark Kettenis + + * i386bsd-nat.c: Include "gdb_assert.h". + [HAVE_PT_GETDBREGS] (DBREG_DRX): Define if not + already defined. + [HAVE_PT_GETDBREGS] (i386bsd_dr_set, i386bsd_dr_set_control, + i386bsd_dr_set_addr, i386bsd_dr_reset_addr, + i386bsd_dr_get_status): New functions. + * config/i386/nm-fbsd.h [HAVE_PT_GETDBREGS] + (I386_USE_GENERIC_WATCHPOINTS): Define. + Include "i386/nm-i386.h". + (I386_DR_LOW_SET_CONTROL, I386_DR_LOW_SET_ADDR, + I386_DR_LOW_RESET_ADDR, I386_DR_LOW_GET_STATUS): New macros. + (i386bsd_dr_set_control, i386bsd_dr_set_addr, + i386bsd_dr_reset_addr, i386bsd_dr_get_status): New prototypes. + * acconfig.h (HAVE_PT_GETDBREGS): New configure macro. + * configure.in: Cleanup a few comments. Check for PT_GETDBREGS + ptrace request. + * config.in, configure: Regenerate. + + * i386-nat.c (i386_insert_aligned_watchpoint): Set address + register before enabling it by setting the control register. + (i386_remove_aligned_watchpoint): Reset address register after + disabling it by setting the control register. + + * i386-tdep.c (i386_extract_return_value): If the type of the + return value is TYPE_STRUCT and the number of fields is one, call + ourselves with TYPE set tp the type of the first field. + (i386_store_return_value): Likewise. + This fixes a problem with returning structs consisting of a single + `float' or `double' on *BSD. + +2001-03-30 Mark Kettenis + + * lin-lwp.c (lin_lwp_resume): Don't mark LWP as not stopped until + we're absolutely sure we're going to resume it. + + * thread-db.c (check_event): Don't report an error if we encounter + a thread creation event for a thread that's already in the thread + list, since that may legitemately happen. Instead only call + attach_thread if it's not already in the thread list. + +2001-03-28 Andrew Cagney + + * config/pa/xm-hppah.h (malloc): Really delete declaration + (MALLOC_INCOMPATIBLE): Really delete macro. + * cli/cli-cmds.c (apropos_command): Use xcalloc. + +2001-03-28 Andrew Cagney + + * configure.in (build_warnings): Add -Wuninitialized. + * configure: Regenerate. + + * v850-tdep.c (v850_scan_prologue): Initialize ``insn2''. + * sparc-tdep.c (sparc64_push_arguments): Add default case to + switch. + * sh-tdep.c (sh_do_fp_register): Replace ``?:'' printf format + expression with if statement. + * mn10200-tdep.c (mn10200_analyze_prologue): Initialize + ``stack_size''. + * mips-tdep.c (show_mipsfpu_command): Add default case to switch. + (mips_dump_tdep): Fix setting of ef_mips_arch. + * mcore-tdep.c (mcore_analyze_prologue): Initialize ``fp_regnum''. + * dsrec.c (make_srec): Always initialize ``binbuf''. + * monitor.c (monitor_read_memory_single): Do not pass an + uninitialized buffer to monitor_error. Make ``i'' more local. + +2001-03-28 Andrew Cagney + + * MAINTAINERS: Change ns32k target to ,-Werror. + + * ns32k-tdep.c: Include "gdbcore.h" + (flip_bytes): Change first argument to void*. Add forward + declaration. + (sign_extend): Add declaration. + (merlin_frame_num_args): Add final else clause to if-else chain. + (umax_frame_num_args): Ditto. + * config/ns32k/tm-umax.h (ns32k_localcount): Declare. + (flip_bytes): Ditto. + +2001-03-28 Mark Kettenis + + * i386-linux-tdep.c (FRAMELESS_SIGNAL): Moved here from + config/i386/nm-linux.h (including comment). + (i386_linux_frame_chain): New function implementing guts of the + former FRAME_CHAIN macro, but using read_memory_unsigned_integer + instead of read_memory_integer. + (i386_linux_frame_saved_pc): Removed doc pointing to + i386/tm-linux.h for an explanation of FRAMELESS_SIGNAL since that + now lives in this file. + * config/i386/tm-linux.h (FRAMELESS_SIGNAL): Moved to + i386-linux-tdep.c (including comment). + (FRAME_CHAIN): Redefined in terms of i386_linux_frame_chain. + (i386_linux_frame_chain): New prototype. + + * gdbserver/low-linux.c [I386_GNULINUX_TARGET]: Cleanup code and + make it work again. + (NUM_FREGS): Redefine to 0. + (NUM_REGS): Redefine as NUM_GREGS. + (i386_register_byte, i386_register_raw_size): Update from + i386-tdep.c. Add comment about their origin. + (regmap, register_u_addr): Take these from i386-linux-nat.c. + (i386_register_u_addr): Removed. + + * i386-linux-nat.c (i386_linux_dr_get): Return 0 if ptrace call + fails instead of calling perror_with_name. This should fix + debugging remote i386 targets with a native Linux/x86 GDB. Add + FIXME for this hack. + +2001-03-19 J.T. Conklin + + * arch-utils.c (#include "gdbthread.h"): Removed. + (#include "symfile.h"): Removed. + (XMALLOC): Removed unused macro. + * breakpoint.c (tbreak_command): Removed local declaration. + (awatch_command, do_enable_breakpoint, set_breakpoint_count): + Remove duplicate declarations. + (bpstat_should_step, bpstat_have_active_hw_watchpoints) + (remove_solib_event_breakpoints): Fix indentation botch. + * c-typeprint.c (#include "command.h"): Removed. + (#include "gdbcmd.h"): Removed. + * ch-exp.c (ch_terminal_match_float_literal, parse_expr) + (parse_primval, parse_untyped_expr, parse_opt_untyped_expr): + Removed duplicate declarations. + * ch-typeprint.c (#include "command.h"): Removed. + (#include "gdbcmd.h"): Removed. + * corefile.c (#include "frame.h"): Removed + (#include "symfile.h"): Removed. + (#include "language.h"): Removed. + * dbxread.c (#include "command.h"): Removed. + * environ.c (#include "gdbcore.h"): Removed. + * event-loop.c (#include "top.h"): Removed. + * f-typeprint.c (#include "command.h"): Removed. + (#include "gdbcmd.h"): Removed. + (#include "language.h"): Removed. + (#include "typeprint.h"): Removed. + (#include "frame.h"): Removed. + * gdbtypes.h (print_type_scalar): Removed declaration. + * infcmd.c (#include "completer.h"): Removed. + * language.c (#include "frame.h"): Removed. + * m2-typeprint.c (#include "command.h"): Removed. + (#include "gdbcmd.h"): Removed. + (#include "language.h"): Removed. + * m2-valprint.c (#include "valprint.h"): Removed. + * p-typeprint.c (#include "command.h"): Removed. + (#include "gdbcmd.h"): Removed. + * p-valprint.c (#include "typeprint.h"): Removed. + * parse.c (#include "linespec.h"): Removed. + * regcache.c (#include "frame.h"): Removed. + * remote.c (#include "frame.h"): Removed. + (getpkt_sane): Make static. + * source.c (#include "completer.h"): Removed. + * stack.c (#include "symfile.h"): Removed. + (#include "objfiles.h"): Removed. + * symfile.c (#include "completer.h"): Removed. + * tracepoint.c (#include "completer.h"): Removed. + * values.c (#include "frame.h"): Removed. + * varobj.c (#include "valprint.h"): Removed. + * wrapper.c (#include "frame.h"): Removed. + + * memattr.c (create_mem_region): Removed unused variable. + * remote-nrom.c: Removed spurious semicolon after init_nrom_ops. + +2001-03-27 Nick Clifton + + * remote-rdp.c (rdp_set_command_line): Add missing double quote. + +2001-03-27 Kevin Buettner + + * solib-aix5.c (build_so_lib_from_mapfile): Use xfree() instead + of free(). + +2001-03-27 Eli Zaretskii + + * TODO (Cleanups): Remove the item about converting docs to GFDL. + +2001-03-26 Kevin Buettner + + * ia64-tdep.c (slotN_contents, replace_slotN_contents): Change + type of ``bundle'' from unsigned char * to char *. + (ia64_get_saved_register): Use alloca() to allocate register + buffers. + + * solib-aix5.c (build_so_lib_from_mapfile): Fix xasprintf() usage. + +2001-03-26 Kevin Buettner + + * proc-utils.h (procfs_ctl_t): New typedef. + * proc-api.c (write_with_trace): Change type of ``opcode'' from + long to procfs_ctl_t. Don't assume that the target has defined + BREAKPOINT. Handle case in which PCRESET is the same as PCUNSET. + * proc-events.c (sys/syscall.h, sys/fault.h): Include conditionally. + * procfs.c (sys/fault.h, sys/syscall.h): Include conditionally. + (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t, gdb_premptysysset) + (gdb_praddsysset, gdb_prdelsysset, gdb_pr_issyssetmember): + Conditionally define as appropriate for AIX/non-AIX systems. Use + these defines/typedefs as appropriate elsewhere in file. + (struct procinfo): Change type of saved_sigset and saved_sighold + from sigset_t to gdb_sigset_t. Make saved_exitset and + saved_entryset pointer variables. Add two new fields, num_syscalls + and syscall_names. + (DYNAMIC_SYSCALLS): Define when HAVE_PRSYSENT_T is defined. + (sysset_t_size, sysset_t_alloc): New functions. + (load_syscalls, free_syscalls, find_syscall): New functions for + platforms which define DYNAMIC_SYSCALLS. + (create_procinfo): Call load_syscalls. + (destroy_one_procinfo): Call free_syscalls. + (GDBRESET): Don't define twice. + (proc_modify_flag): Change type of operation code array `arg' + from long to procfs_ctl_t. + (proc_stop_process, proc_wait_for_stop, proc_run_process) + (proc_set_traced_signals, proc_set_traced_faults) + (proc_set_traced_sysentry, proc_set_traced_sysexit) + (proc_set_held_signals, proc_clear_current_fault) + (proc_set_current_signal, proc_clear_current_signal, proc_set_gregs) + (proc_set_fpregs, proc_kill, proc_set_watchpoint): Likewise for `cmd'. + (proc_set_traced_sysentry): Dynamically allocate variable sized + struct gdb_proc_ctl_pcsentry. Also, free it at function exit. + (proc_set_traced_sysexit): Dynamically allocate variable + sized struct gdb_proc_ctl_pcsexit. Also, free it at + function exit. + (proc_get_traced_sysentry, proc_get_traced_sysexit): Add new code + for reading the sysset_t struct on AIX5. + (procfs_debug_inferior): Don't assume that SYS_exit will be + defined. Add new code for finding certain syscalls on AIX5. + (syscall_is_lwp_exit, syscall_is_exit, syscall_is_exec) + (syscall_is_lwp_create): New functions. + (procfs_wait): Restructured code which checks for certain + system calls to use the new syscall_is_... functions. + (procfs_notice_signals): Account for the fact that saved_entryset + and saved_exitset in struct procinfo are now pointers. + +2001-03-26 Kevin Buettner + + * symtab.c (find_pc_sect_line): Revise method used for finding + the ending pc. + +2001-03-26 Mark Kettenis + + * i386-linux-tdep.c (i386_linux_sigtramp_saved_pc, + i386_linux_sigtramp_saved_sp): Make static. + (i386_linux_frame_saved_pc): New function based on the old + FRAME_SAVED_PC macro, but use read_memory_unsigned_integer instead + of read_memory_integer. + * config/i386/tm-linux.h (sigtramp_saved_pc): Remove definition. + (i386_linux_sigtramp_saved_pc): Remove prototype. + (FRAME_SAVED_PC): Redefine in terms of i386_linux_frame_saved_pc. + (i386_linux_frame_saved_pc): New prototype. + +2001-03-26 Andrew Cagney + + * MAINTAINERS: Document m88k as a ``Known problem in 5.1''. + * TODO (GDB 5.1 - Cleanups): Update. + +2001-03-26 Andrew Cagney + + * fork-child.c (clone_and_follow_inferior): Delete #ifdef + HAVE_VFORK. + +2001-03-26 Mark Kettenis + + * config/i386/tm-symmetry.h (PUSH_ARGUMENTS): #undef. + + * i386-tdep.c (i386_push_arguments, i386_store_struct_return): New + functions. + * config/i386/tm-i386.h (PUSH_ARGUMENTS): New macro. + (STORE_STRUCT_RETURN): Redefine in terms of + i386_store_struct_return. + (i386_push_arguments, i386_store_struct_return): New prototypes. + * config/i386/tm-i386v.h (STORE_STRUCT_RETURN): Remove. It's + definition was identical to the definition in "i386/tm-i386.h" so + the new definition should suffice too. + +2001-03-26 Eli Zaretskii + + * event-loop.c (toplevel) [!HAVE_POLL] [NO_FD_SET]: Remove unused + definitions for SELECT, NBBY, FD_SETSIZE, NFDBITS, and MASK_SIZE. + + * config/djgpp/djconfig.sh: Add copyright notice. + + * ser-go32.c (rawclock): Remove prototype; include time.h instead. + (ISR, dos_hookirq, isr_t): Convert K&R definition to ANSI C. + (top level) : Include gdb_string.h instead. + (dos_noop, dos_raw, dos_noflush_set_tty_state) + (dos_print_tty_state, dos_info): Remove ATTRIBUTE_UNUSED. + + * go32-nat.c (go32_create_inferior): Move the declaration of + `environ' to here from the top level. + (top level) <_initialize_go32_nat>: Remove redundant prototype. + : Include it instead of string.h. + (store_register): Call register_buffer instead of accessing + registers[] directly. + (redir_cmdline_delete, redir_cmdline_parse, redir_to_debugger) + (redir_to_debugger, redir_debug_init) [__DJGPP_MINOR__ < 3]: Put + the function names at the start of the line. + (go32_set_dr): Throw internal_error if the argument is not a valid + debug register number. + (go32_open, go32_close, go32_attach, go32_detach, go32_resume) + (go32_wait, go32_xfer_memory, go32_files_info) + (go32_terminal_info): Remove ATTRIBUTE_UNUSED. + +2001-03-25 Jim Blandy + + * mips-tdep.c (mips_gdbarch_init): Tweak indentation. + +2001-03-25 Elena Zannoni + + From Andrew Cagney + + * coffread.c: Include "gdb_assert.h". + (coff_symtab_read): Cast the integer s_sclass to a long before + casting it to a pointer. + +2001-03-25 Elena Zannoni + + From Andrew Cagney + + * coffread.c (coff_symtab_read): Initialize + ``fcn_first_line_addr''. Check that the ``.bf'' always preceeds + the ``.ef'' info. + * dbxread.c (find_text_range): Initialize ``start'' and ``end''. + +2001-03-23 Andrew Cagney + + * config/sparc/tm-sp64.h (GDB_MULTI_ARCH): Down grade to + GDB_MULTI_ARCH_PARTIAL from two. SOFTWARE_SINGLE_STEP is not + multi-arch. + + * gdbarch.sh (SOFTWARE_SINGLE_STEP): Add. + * gdbarch.h, gdbarch.c: Re-generate. + + * target.h (SOFTWARE_SINGLE_STEP_P) + (SOFTWARE_SINGLE_STEP): Delete macro definitions. + +2001-03-23 Andrew Cagney + + * gdbarch.sh (gdbarch_register_read, gdbarch_register_write): Add. + * gdbarch.h, gdbarch.c: Regenerate. + + * regcache.h (regcache_read, regcache_write): Declare. + (registers, register_valid, register_buffer): Add note that these + interfaces are deprecated. + + * regcache.c: Include "gdb_assert.h". + (legacy_write_register_gen): Rename write_register_gen. + (legacy_read_register_gen): Rename read_register_gen. + (regcache_read, regcache_write): New function. + (read_register_gen, write_register_gen): New function. + (write_register): Simplify. Use write_register_gen. + (read_register): Ditto using read_register_gen. + (read_signed_register): Ditto. + (read_register_bytes): Ditto!!!! + (supply_register): Add note that CLEANUP_REGISTER_VALUE is being + replaced by gdbarch_register_read. + + * TODO (GDB 5.2 - Cleanups): Add list of gdbarch methods to + deprecate. + +2001-03-23 Jim Blandy + + Fix from Dan Berlin: + + * stabsread.c (read_cpp_abbrev): Properly construct the names of + virtual function table pointer fields. + +2001-03-19 Andrew Cagney + + * defs.h (xfree, mcalloc, mmalloc, mrealloc, mfree, xmmalloc, + xmrealloc): Move existing declarations to the one place and + re-order to be consistent. + (xmcalloc, xmfree): Declare. + (xmmalloc, xmrealoc): Assume ISO-C - use size_t and void* in + declaration. + + * utils.c (size_t): Delete #ifdef defining size_t. + (mmalloc, mrealloc, mcalloc, mfree): Re-order. + (mmalloc, mrealloc, mcalloc): Document as only calls in GDB + corresponding malloc, realloc, calloc. + (mfree): Call free directly. + (xmmalloc, xmrealloc): Clean up. Assume ISO-C. + (xmcalloc, xmfree): New functions. Copy old xcalloc and xfree + function bodies to here. + (xcalloc, xfree): Call xmcalloc and xmfree respectfully. + +2001-03-23 Andrew Cagney + + * fork-child.c (fork_inferior): Make ``argv'', ``exec_file'' and + ``shell_file'' static locals. + + * jv-lang.c (java_link_class_type): Initialize ``field'' and + ``method''. + + * jv-valprint.c (java_value_print): Initialize ``next_element''. + +2001-03-23 Mark Kettenis + + * config/i386/nm-i386.h: Fix formatting and change reference to + i386-tdep.c to i386-nat.c. + +2001-03-23 David Smith + + * configure.in: Corrected spelling errors. + * configure: Regenerated. + +2001-03-22 Andrew Cagney + + * TODO (GDB 5.1 - Cleanups): Add more targets to obsolete. + +2001-03-22 Andrew Cagney + + * Makefile.in (NTSSTART): Delete. + (NTSOBS): Delete. + (kdb): Delete target. + * kdb-start.c, stuff.c: Mark as obsolete. + * NEWS: Update. + +2001-03-22 Andrew Cagney + + * config/pa/xm-hppah.h (HPPA_COMPILER_BUG): Delete. GDB only + compiles using an ISO-C compiler. + (MALLOC_INCOMPATIBLE): Ditto. + * linespec.c (decode_line_1): Delete hack to work around + HPPA_COMPILER_BUG. + +2001-03-22 Andrew Cagney + + * exec.c (xfer_memory): Always initialize section. + * infrun.c (normal_stop): Always initialize source_flag. + +2001-03-22 Andrew Cagney + + * TODO (Remote Protocol Support): Review. Add notes about ``!'', + non-use of a continue address and typical use of ``q'' packet. + +2001-03-22 Eli Zaretskii + + Make DJGPP use the new unified support for hardware + breakpoints and watchpoints on x86 targets: + + * config/i386/nm-go32.h : Don't include nm-i386v.h, + include nm-i386.h instead. + (TARGET_HAS_HARDWARE_WATCHPOINTS, HAVE_CONTINUABLE_WATCHPOINT) + (TARGET_CAN_USE_HARDWARE_WATCHPOINT, STOPPED_BY_WATCHPOINT) + (TARGET_REGION_OK_FOR_HW_WATCHPOINT, DECR_PC_AFTER_HW_BREAK) + (target_stopped_data_address, target_insert_watchpoint) + (target_remove_watchpoint, target_insert_hw_breakpoint) + (target_remove_hw_breakpoint): Don't define. + (I386_USE_GENERIC_WATCHPOINTS, I386_DR_LOW_SET_CONTROL) + (I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR) + (I386_DR_LOW_GET_STATUS): Define to call appropriate go32_* + functions from go32-nat.c. + + * config/i386/go32.mh (NATDEPFILES): Add i386-nat.o. + + * go32-nat.c : Remove prototypes for watchpoint- + related functions. Remove definitions of watchpoint-related + macros. + (go32_mourn_inferior): Call i386_cleanup_dregs instead of the + private cleanup_dregs function. + (cleanup_dregs, go32_insert_watchpoint) + (go32_insert_aligned_watchpoint, go32_handle_nonaligned_watchpoint) + (go32_remove_watchpoint, go32_remove_aligned_watchpoint) + (go32_region_ok_for_watchpoint, go32_stopped_by_watchpoint) + (go32_remove_hw_breakpoint, go32_insert_hw_breakpoint): Remove. + (go32_set_dr, go32_set_dr7, go32_get_dr6): New functions. + +2001-03-21 Kevin Buettner + + * ia64-tdep.c (fetch_instruction): Warn about slot numbers greater + than two instead of generating an error. + +2001-03-21 Jim Blandy + + * cp-valprint.c: Reformat to bring into line with GNU coding + standards. + +2001-03-21 Mark Kettenis + + Make Linux use the new unified support for hardware breakpoints + and watchpoints on x86 targets. + * i386-linux-nat.c: Doc fixes. Include "gdb_assert.h". + [HAVE_SYS_DEBUGREG_H]: Include . + (DR_FIRSTADDR, DR_LASTADDR, DR_STATUS, DR_CONTROL): Define to + appropriate value if not already defined. + (register_u_addr): New function. + (kernel_u_size): New function. + (i386_linux_dr_get, i386_linux_dr_set): New functions. + (i386_linux_dr_set_control, i386_linux_dr_set_addr, + i386_linux_reset_addr, i386_linux_dr_get_status): New functions. + * config/i386/nm-linux.h: Don't include "nm-i386v.h". + (I386_USE_GENERIC_WATCHPOINTS): Define and include "nm-i386.h". + (TARGET_HAS_HARDWARE_WATCHPOINTS, + TARGET_CAN_USE_HARDWARE_WATCHPOINTS, HAVE_CONTINUABLE_WATCHPOINT, + STOPPED_BY_WATCHPOINT, target_insert_watchpoint, + target_remove_watchpoint): Remove macros. + (i386_stopped_by_watchpoint, i386_insert_watchpoint, + i386_remove_watchpoint): Remove prototypes. + (register_u_addr): New prototype. + (REGISTER_U_ADDR): Define in terms of register_u_addr. + (i386_linux_dr_set_control, i386_linux_dr_set_addr, + i386_linux_reset_addr, i386_linux_dr_get_status): New prototypes. + (I386_DR_LOW_SET_CONTROL, I386_DR_LOW_SET_ADDR, + I386_DR_LOW_RESET_ADDR, I386_DR_LOW_GET_STATUS): New macros. + * config/i386/linux.mh (NATDEPFILES): Replace i386v-nat.o with + i386-nat.o. + +2001-03-21 Jim Blandy + + Fix from Dan Berlin: + + * linespec.c (find_methods): Whitespace differences aren't + significant in *un*mangled method names. Use strcmp_iw to compare + them, not STREQ. + +2001-03-21 Andrew Cagney + + * gdbarch.sh: Allow a non- multi-arch target to override a + predicate. + * gdbarch.h: Regenerate. + +2001-03-21 Andrew Cagney + + * gdbarch.sh: Avoid use of ``!''. + +2001-03-20 Andrew Cagney + + * target.h (enum target_signal): Move definition from here. + * defs.h (enum target_signal): To here. + + * config/arc/tm-arc.h (arc_software_single_step): Change type of + first parameter to enum target_signal. + * config/rs6000/tm-rs6000.h (rs6000_software_single_step): Ditto. + * config/sparc/tm-sparc.h (sparc_software_single_step): Ditto. + * rs6000-tdep.c (rs6000_software_single_step): Update. + +2001-03-20 Andrew Cagney + + * frame.h (SIZEOF_FRAME_SAVED_REGS): Report an error if macro + already defined. + + From 2000-08-25 Stephane Carrez : + * stabsread.c (define_symbol): A parameter ('R'), a local ('r'), + or a reference ('a') can be in a pseudo register. + * infcmd.c (do_registers_info): Must take into account the pseudo + registers to print their value. + (registers_info): Likewise. + * stack.c (frame_info): Likewise. + * frame.h (SIZEOF_FRAME_SAVED_REGS): Save the pseudo registers. + +2001-03-21 Eli Zaretskii + + Unified support for hardware breakpoints and watchpoints on + x86 targets: + + * config/i386/nm-i386.h: New file. + + * config/i386/nm-i386.h: (i386_cleanup_dregs) + (i386_insert_watchpoint, i386_remove_watchpoint) + (i386_region_ok_for_watchpoint, i386_stopped_by_hwbp) + (i386_stopped_data_address, i386_insert_hw_breakpoint) + (i386_remove_hw_breakpoint): Declare prototypes. + [I386_USE_GENERIC_WATCHPOINTS] (TARGET_CAN_USE_HARDWARE_WATCHPOINT): + Define if not already defined. + (TARGET_REGION_OK_FOR_HW_WATCHPOINT, HAVE_CONTINUABLE_WATCHPOINT) + (STOPPED_BY_WATCHPOINT, target_stopped_data_address) + (target_insert_watchpoint, target_remove_watchpoint) + (target_insert_hw_breakpoint, target_remove_hw_breakpoint): Define + to call the appropriate i386_* functions. + + * i386-nat.c: New file. + + * i386-nat.c (I386_DR_CONTROL_MASK, I386_DR_LOCAL_ENABLE) + (I386_DR_GLOBAL_ENABLE, I386_DR_DISABLE, I386_DR_SET_RW_LEN) + (I386_DR_GET_RW_LEN, I386_DR_WATCH_HIT): New macros. + (dr_mirror, dr_status_mirror, dr_control_mirror, dr_ref_count) + (maint_show_dr): New variables. + (i386_cleanup_dregs, i386_show_dr, i386_length_and_rw_bits) + (i386_insert_aligned_watchpoint, i386_remove_aligned_watchpoint) + (i386_handle_nonaligned_watchpoint, i386_insert_watchpoint) + (i386_remove_watchpoint, i386_region_ok_for_watchpoint) + (i386_stopped_data_address, i386_stopped_by_hwbp) + (i386_insert_hw_breakpoint, i386_remove_hw_breakpoint): New + functions. + (_initialize_i386_nat): New function. + [I386_USE_GENERIC_WATCHPOINTS]: Add new maint command + `show-debug-regs', sets maint_show_dr to non-zero value and + activates debugging print-outs in functions which insert, remove, + and test watchpoints and hardware breakpoints. + + * Makefile.in (i386-nat.o): New target. + (ALLDEPFILES): Add i386-nat.o. + +2001-03-21 Mark Kettenis + + * i386-tdep.c: Add back _initialize_i386_tdep prototype with + appropriate comment. + +2001-03-20 Kevin Buettner + + * config/alpha/alpha-linux.mh (NATDEPFILES): Use proc-service.o, + thread-db.o, and lin-lwp.o for thread support instead of + linux-thread.o and lin-thread.o. + * config/alpha/nm-linux.h (PREPARE_TO_PROCEED, GET_THREAD_SIGNALS) + (ATTACH_LWP): Define to use the following lin-lwp.c functions... + (lin_lwp_prepare_to_proceed, lin_thread_get_thread_signals) + (lin_lwp_attach_lwp): Declare. + +2001-03-20 Jim Blandy + + Fix from Dan Berlin: + + * Makefile.in: Clean up dependencies on ../include/demangle.h. + (demangle_h): New variable. + (jv-typeprint.o, jv-valprint.o, linespec.o): Use it. + +2001-03-20 Andrew Cagney + + * target.h (SOFTWARE_SINGLE_STEP_P): Add empty parameter list. + * breakpoint.c (bpstat_stop_status): Update. + * infrun.c (handle_inferior_event): Ditto. + * mips-tdep.c (mips_dump_tdep): Ditto. + * infrun.c (resume): Ditto. + * infptrace.c (child_resume): Ditto. + * config/mips/tm-wince.h (SOFTWARE_SINGLE_STEP_P): Ditto. + * config/sh/tm-wince.h (SOFTWARE_SINGLE_STEP_P): Ditto. + * config/sparc/tm-sparc.h (SOFTWARE_SINGLE_STEP_P): Ditto. + * config/powerpc/tm-linux.h (SOFTWARE_SINGLE_STEP_P): Ditto. + * config/arm/tm-wince.h (SOFTWARE_SINGLE_STEP_P): Ditto. + * config/arc/tm-arc.h (SOFTWARE_SINGLE_STEP_P): Ditto. + * config/powerpc/tm-ppc-eabi.h (SOFTWARE_SINGLE_STEP_P): Ditto. + +2001-03-20 Andrew Cagney + + * config/powerpc/tm-linux.h (SOFTWARE_SINGLE_STEP): Replace abort + with internal_error. + +2001-03-20 Jim Blandy + + Fix from Dan Berlin: + + * linespec.c (find_methods): Just call CHECK_TYPEDEF on t, rather + than asking for sym_class's type; that's circuitous. Remove + sym_class, since the last use of it is gone. + +2001-03-20 Eli Zaretskii + + * breakpoint.c (print_it_typical) [UI_OUT]: + Correct the order of calls to ui_out_field_string and + ui_out_list_begin when bs->old_val is NULL. + +2001-03-19 Kevin Buettner + + * configure.in (AC_CHECK_HEADERS): Check for existence of nlist.h. + * configure: Regenerate. + * config.in: Regenerate. + * solib-legacy.c (nlist.h): Include if HAVE_NLIST_H is defined. + +2001-03-19 Kevin Buettner + + * config/i386/i386v42mp.mh (NATDEPFILES): List all files on + same line to avoid problems with Unixware 7's make when building + a cross debugger. + +2001-03-19 Andrew Cagney + + * defs.h (malloc): Move declaration from here. + * utils.c (malloc): To here. + * config/pa/xm-hppah.h (malloc): Delete declaration. + + * gnu-nat.c (make_proc): Use xmalloc instead of malloc. + * hp-psymtab-read.c (hpread_call_pxdb): Ditto. + (hpread_quick_traverse): Ditto. + * infttrace.c (create_thread_info): Ditto. + (kill_inferior): Ditto. + * gnu-nat.c (make_inf): Ditto, and don't check return value. + * procfs.c (proc_update_threads): Ditto. + * valprint.c (print_decimal_chars): Ditto. + * gdbtypes.c (cfront_mangle_name): Use xasprintf instead of + malloc and sprintf. + * remote-rdp.c (rdp_set_command_line): Ditto. + +2001-03-19 Andrew Cagney + + * defs.h (realloc): Move declaration from here. + * utils.c (realloc): To here. + * config/pa/xm-hppah.h (realloc): Delete declaration. + * lin-thread.c (insert_thread): Use xrealloc instead of realloc. + * symfile.c (add_filename_language): Ditto. + * event-loop.c (create_file_handler): Ditto. + +2001-03-19 Andrew Cagney + + * defs.h (free): Move declaration from here. + * utils.c (free): To here. + (xfree): Document as the only call to free(). + * config/pa/xm-hppah.h (free): Delete declaration. + +2001-03-19 Kevin Buettner + + * config/ia64/linux.mh (NATDEPFILES): Add proc-service.o to + this list. + +2001-03-19 Andrew Cagney + + * eval.c (evaluate_subexp): Remove #ifdef __STDC__ and ``inline''. + * config/mips/xm-mips.h (offsetof): Define when !GNUC not !STDC. + * cli/cli-cmds.c (init_cli_cmds): Remove #ifdef __STDC__ + +2001-03-19 Andrew Cagney + + * TODO: List known problems with TUI. + +2001-03-19 Andrew Cagney + + * MAINTAINERS: Jimmy Guo stepped down as a maintiner (TUI, + gdb.hp). + +2001-03-19 Andrew Cagney + + * remote.c (remote_cisco_section_offsets): Do not cast result from + bfd_get_section_name. + (compare_sections_command): Ditto. + (remote_cisco_section_offsets): Make ``p'' a const pointer. + (compare_sections_command): Ditto for ``sectname''. + +2001-03-19 Andrew Cagney + + From Mon Nov 20 13:59:29 2000 Andrew Cagney : + * valops.c (hand_function_call): Simplify computation of the + address of the pushed argument. + +2001-03-17 Andrew Cagney + + * p-exp.y (parse_number): Avoid shift overflow when ``long''. + Code copied from c-exp.y. + +2001-03-18 Kevin Buettner + + * acconfig.h (HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS) + (HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS) + (HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS): New configure macros. + * configure.in (HAVE_STRUCT_LINK_MAP32): Move this test out + of the Solaris procfs testing section. Instead, group with... + (HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS) + (HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS) + (HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS): New tests. + * configure: Regenerate. + * config.in: Regenerate. + + * solib-legacy.c (legacy_svr4_fetch_link_map_offsets): Use + new configure macros to choose which (if any) code to + compile in. Added code to explicitly handle *BSD systems; + these systems were previously handled only through macro + redefinition. Also, due to the way the autoconf tests are set + up, this function will no longer return a non-zero value when + GDB is configured as a cross debugger. I.e, cross debuggers + will no longer be able to "accidentally" get the host system's + link map offsets. + +2001-03-18 Kevin Buettner + + * config/i386/nbsd.mh (NATDEPFILES): List all files on the same + line to avoid build problem on NetBSD 1.4. + +2001-03-17 Michael Chastain + + * win32-nat.c (child_attach): check args for NULL before passing + to strtoul. This fixes PR gdb/43. + +2001-03-17 Mark Kettenis + + * i387-nat.h: Doc Fix. + + * i386-tdep.c: Fix formatting. + (i386_get_frame_setup, i386_follow_jump, codestream_read, + codestream_seek, codestream_fill, skip_trampoline_code, + gdb_print_insn_i386, _initialize_i386_tdep): Remove redundant + prototypoes. + +2001-03-17 Mark Kettenis + + * config/i386/tm-linux.h (TARGET_ANALYZE_FLOATING): Remove. It's + no longer used. Also remove associated FIXME. + +2001-03-16 Andrew Cagney + + * gdbarch.sh: Add classes ``m'' and ``M'' for pure multi-arch. Do + not generate macro wrappers for multi-arch functions or + predicates. + (class_is_info_p, class_is_predicate_p): Update. + (class_is_function_p, class_is_variable_p): Ditto. + (class_is_multiarch_p): New class function. + +2001-03-16 J.T. Conklin + + * config/h8300/tm-h8300.h (FRAME_ARGS_ADDRESS): Changed to use + h8300_frame_args_address from frame_args_address. + (FRAME_LOCALS_ADDRESS): Changed to use h8300_frame_locals_address + from frame_locals_address. + (PRINT_REGISTER_HOOK): Changed to use h8300_print_register_hook + from print_register_hook. + (h8300_frame_args_address): Declare. + (h8300_frame_find_saved_regs): Declare. + (h8300_frame_locals_address): Declare. + (h8300_frame_saved_pc): Declare. + (h8300_pop_frame): Declare. + (h8300_print_register_hook): Declare. + * h8300-tdep.c (h8300_frame_find_saved_regs): Removed declaration. + (h8300_frame_args_address): Renamed from frame_args_address. + (h8300_frame_locals_address): Renamed from frame_locals_address. + (h8300_pop_frame): Renamed from pop_frame. + (h8300_print_register_hook): Renamed from print_register_hook. + +2001-03-16 Kevin Buettner + + * solib-svr4.c (bfd_lookup_symbol): Change type of + ``storage_needed'' from unsigned int to long in order to + match return type of bfd_get_symtab_upper_bound() and + bfd_get_dynamic_symtab_upper_bound(). + * solib-aix5.c (bfd_lookup_symbol): Likewise. Also, eliminate + REASONABLE_LIMIT hack which had been added to work around this + problem. + +2001-03-15 Kevin Buettner + + * solib-aix5.c (bfd_lookup_symbol, build_so_list_from_mapfile) + (aix5_relocate_main_executable, aix5_clear_solib): Replace calls + to free() with calls to xfree(). + (bfd_lookup_symbol): Eliminate use of PTR. + (build_so_list_from_mapfile): Use xasprintf() instead of sprintf(). + +2001-03-15 Martin Hunt + + * linespec.c (decode_line_1): Remove trailing quote + when parsing double quotes. + +2001-03-15 Kevin Buettner + + * uw-thread.c (read_thr_debug, read_map, read_lwp, thread_iter) + (libthread_stub, libthread_init): Pass NULL for the mem_attrib + argument in the to_xfer_memory calls. + +2001-03-15 Andrew Cagney + + * MAINTAINERS: Fix typo - w65 not w64. Still doesn't build. + * TODO (GDB 5.1 - Cleanups): Add status of targets being obsoleted. + +2001-03-15 Andrew Cagney + + * wince.c (child_xfer_memory): Add attrib parameter. + * symm-nat.c (child_xfer_memory): Ditto. + * mac-nat.c (child_xfer_memory): Ditto. + * infttrace.c (child_xfer_memory): Ditto. + * procfs.c (procfs_xfer_memory): Ditto. + * lin-thread.c (thread_db_xfer_memory): Ditto. + * gnu-nat.c (gnu_xfer_memory): Ditto. + +2001-03-14 Andrew Cagney + + * NEWS: Mention that Harris/CXUX m88k is obsolete. + +2001-03-13 Andrew Cagney + + * config/mips/tm-mips.h: Include "regcache.h" for macros refering + to regcache functions. + * config/m68k/tm-m68k.h: Ditto. + * config/i386/tm-i386v.h: Ditto. + * config/mcore/tm-mcore.h: Ditto. + * config/m88k/tm-m88k.h: Ditto. + * config/m68k/tm-news.h: Ditto. + * config/m68k/tm-linux.h: Ditto. + * config/m68k/tm-delta68.h: Ditto. + * config/m68k/nm-sun3.h: Ditto. + * config/m32r/tm-m32r.h: Ditto. + * config/i386/tm-symmetry.h: Ditto. + * config/i386/tm-sun386.h: Ditto. + * config/i386/tm-i386.h: Ditto. + * config/i386/nm-symmetry.h: Ditto. + * config/i386/nm-sun386.h: Ditto. + * config/i386/nm-ptx4.h: Ditto. + * config/i386/nm-i386mach.h: Ditto. + * config/h8500/tm-h8500.h: Ditto. + * config/h8300/tm-h8300.h: Ditto. + * config/fr30/tm-fr30.h: Ditto. + * config/d30v/tm-d30v.h: Ditto. + * config/arm/tm-arm.h: Ditto. + * config/arc/tm-arc.h: Ditto. + * config/alpha/tm-alpha.h: Ditto. + * config/a29k/tm-vx29k.h: Ditto. + * config/a29k/tm-a29k.h: Ditto. + * config/w65/tm-w65.h: Ditto. + * config/vax/tm-vax.h: Ditto. + * config/v850/tm-v850.h: Ditto. + * config/tic80/tm-tic80.h: Ditto. + * config/sparc/tm-sparclite.h: Ditto. + * config/sparc/tm-sparclet.h: Ditto. + * config/sparc/tm-sparc.h: Ditto. + * config/sparc/nm-sun4sol2.h: Ditto. + * config/sparc/nm-sun4os4.h: Ditto. + * config/sparc/nm-nbsd.h: Ditto. + * config/powerpc/nm-solaris.h: Ditto. + * config/pa/tm-hppao.h: Ditto. + * config/pa/tm-hppa.h: Ditto. + * config/pa/nm-hppab.h: Ditto. + * config/ns32k/tm-umax.h: Ditto. + * config/ns32k/tm-merlin.h: Ditto. + * config/nm-m3.h: Ditto. + * config/nm-gnu.h: Ditto. + +2001-03-14 Andrew Cagney + + * MAINTAINERS: Update list of targets. Mark arm-* and v850-elf as + broken. Mark sh-*, ia64-linux and ns32k-netbsd as buildable. + Specify an m88k target. Include sample GAWK script to generate + target list. Delete non-existant romp target. + * TODO (GDB 5.1 - Cleanups): Update. + +2001-03-14 Keith Seitz + + * linespec.c (decode_line_1): Skip argptr over a leading + double quote. Prevents alloc of 0 bytes and memcpy of -1 bytes. + +2001-03-14 Kevin Buettner + + * config/djgpp/fnchange.lst (ia64-aix-nat.c): Add entry. + +2001-03-13 Andrew Cagney + + * ui-out.h: Remove #if __STDC__, assume an ISO-C compiler. + * m3-nat.c: Ditto. + * p-lang.h: Ditto. + * printcmd.c (printf_command): Ditto. + * ch-exp.c (match_integer_literal): Ditto. + * scm-tags.h: Ditto. + * ser-go32.c: Ditto. + * hppa-tdep.c (unwind_command): Ditto. + * defs.h (volatile): Delete macro definition. Assume __STDC__. + * remote-adapt.c (volatile): Ditto. + * remote-eb.c (volatile): Ditto. + * remote-mm.c (volatile): Ditto. + * defs.h (alloca): Assume __STDC__, declare returning void *. + +2001-03-08 Andrew Cagney + + * inferior.h (ARCH_NUM_REGS): Delete definition. + * stack.c (frame_info): Use NUM_REGS, not ARCH_NUM_REGS. + * regcache.c (registers_changed): Ditto. + (registers_fetched): Ditto. + * infptrace.c (fetch_inferior_registers): Ditto. + (store_inferior_registers): Ditto. + * infcmd.c (do_registers_info): Ditto. + (registers_info): Ditto. + * i386-linux-nat.c (old_fetch_inferior_registers): Ditto. + (old_store_inferior_registers): Ditto. + * gdbserver/low-linux.c (register_addr): Ditto. + * gdbserver/low-hppabsd.c (register_addr): Ditto. + * core-aout.c: Don't include "inferior.h". + (fetch_core_registers): Use NUM_REGS not ARCH_NUM_REGS. + (register_addr): Ditto. + +2001-03-13 Fernando Nasser + + From Steven Johnson + * cli/cli-script.c (define_command): Fix setting of post hooks. + +2001-03-13 Mark Kettenis + + * i386-linux-tdep.c: Fix formatting and clarify comments. + (i386_linux_svr4_fetch_link_map_offsets): Use NULL instead of 0 + where appropriate. + +2001-03-12 Andrew Cagney + + * gnu-nat.c: Include "gdb_assert.h" instead of . + (proc_update_sc): Use gdb_assert instead of assert. + (proc_abort): Ditto. + (inf_set_step_thread): Ditto. + (gnu_wait): Ditto. + (S_exception_raise_request): Ditto. + (gnu_terminal_init_inferior): Ditto. + +2001-03-09 Kevin Buettner + + * Makefile.in (solib-svr4.o): Depend on solib-svr4.c, not solib.c. + (solib-legacy.o): New makefile target. + * solib-legacy.c: New file. + * solib-svr4.h (SVR4_FETCH_LINK_MAP_OFFSETS): Delete. + (default_svr4_fetch_link_map_offsets): Delete. + (set_solib_svr4_fetch_link_map_offsets): Declare. + (legacy_svr4_fetch_link_map_offsets_hook): Declare. + * solib-svr4.c (elf/common.h): Include. + (link.h): Only include for SunOS shared library support. + (_SYSCALL32): Don't define. + (SVR4_FETCH_LINK_MAP_OFFSETS): Define. + (default_svr4_fetch_link_map_offsets): Made static; added forward + declaration. + (fetch_link_map_offsets): New static global. + (legacy_svr4_fetch_link_map_offsets_hook): New global variable. + (default_svr4_fetch_link_map_offsets): Rewritten. The guts + of what used to be in this function now reside in + legacy_svr4_fetch_link_map_offsets() in solib-legacy.c. + (open_symbol_file_object): Fix declaration in SunOS section + of the code. + (set_solib_svr4_fetch_link_map_offsets): New extern function. + (init_fetch_link_map_offsets): New static function. + (_initialize_svr4_solib): Put static global fetch_link_map_offsets + under multiarch control. + + * config/alpha/alpha-linux.mt (TDEPFILES): Add solib-legacy.o to + list. + * config/alpha/fbsd.mh (NATDEPFILES): Likewise. + * config/arm/linux.mt (TDEPFILES): Likewise. + * config/i386/fbsd.mh (NATDEPFILES): Likewise. + * config/i386/i386dgux.mh (NATDEPFILES): Likewise. + * config/i386/i386gnu.mh (NATDEPFILES): Likewise. + * config/i386/i386sco5.mh (NATDEPFILES): Likewise. + * config/i386/i386sol2.mt (TDEPFILES): Likewise. + * config/i386/i386v4.mh (NATDEPFILES): Likewise. + * config/i386/i386v42mp.mh (NATDEPFILES): Likewise. + * config/i386/linux.mt (TDEPFILES): Likewise. + * config/i386/nbsd.mh (NATDEPFILES): Likewise. + * config/i386/nbsdelf.mh (NATDEPFILES): Likewise. + * config/i386/ncr3000.mt (TDEPFILES): Likewise. + * config/i386/ptx4.mh (XDEPFILES): Likewise. + * config/i386/sun386.mt (TDEPFILES): Likewise. + * config/ia64/linux.mt (TDEPFILES): Likewise. + * config/m68k/linux.mt (TDEPFILES): Likewise. + * config/m68k/m68kv4.mh (NATDEPFILES): Likewise. + * config/m68k/nbsd.mh (NATDEPFILES): Likewise. + * config/m68k/sun2os4.mt (TDEPFILES): Likewise. + * config/m68k/sun3os4.mt (TDEPFILES): Likewise. + * config/m88k/delta88v4.mh (NATDEPFILES): Likewise. + * config/mips/mipsv4.mh (NATDEPFILES): Likewise. + * config/ns32k/nbsd.mh (NATDEPFILES): Likewise. + * config/powerpc/linux.mt (TDEPFILES): Likewise. + * config/powerpc/nbsd.mh (NATDEPFILES): Likewise. + * config/powerpc/solaris.mh (NATDEPFILES): Likewise. + * config/sh/linux.mt (TDEPFILES): Likewise. + * config/sparc/linux.mt (TDEPFILES): Likewise. + * config/sparc/nbsd.mh (NATDEPFILES): Likewise. + * config/sparc/nbsdelf.mh (NATDEPFILES): Likewise. + * config/sparc/sp64linux.mt (TDEPFILES): Likewise. + * config/sparc/sun4os4.mt (TDEPFILES): Likewise. + * config/sparc/sun4sol2.mh (NATDEPFILES): Likewise. + +2001-03-09 Kevin Buettner + + * utils.c (xmrealloc, xcalloc): Return NULL for zero-sized requests. + +2001-03-09 Andrew Cagney + + * MAINTAINERS (Write After Approval): Update Philip Blundell. + +2001-03-09 Keith Seitz + + * MAINTAINERS: Add myself to write after approval list. + +2001-03-09 Mark Kettenis + + * i387-tdep.c (print_i387_status_word): Fix printing of Stack + fault flag. It is bit 6 of the x87 FPU status word, not bit 7. + +2001-03-08 Andrew Cagney + + * configure.host (m88*-harris-cxux*): Mark as obsolete. + * configure.tgt: Ditto. + * config/m88k/xm-cxux.h: Ditto. + * config/m88k/tm-cxux.h: Ditto. + * config/m88k/nm-cxux.h: Ditto. + * config/m88k/cxux.mt: Ditto. + * config/m88k/cxux.mh: Ditto. + +2001-03-08 Andrew Cagney + + * Makefile.in: Delete rules for obsolete files. + +Thu Mar 8 15:43:40 2001 David Taylor + + * stack.c (parse_frame_specification): For one argument case, + handle the situation where the argument is an integer, not an + address -- arguably the most common case. This matters on + targets where pointers and addresses are different. + +2001-03-08 Andrew Cagney + + * TODO: Revise 5.1 list. Delete PARAMS task. Add coding standard + review. Clarify GNU/LINUX/sparc. Move other tasks to 5.2 or + general. + +2001-03-07 Andrew Cagney + + * TODO (GDB 5.1 Known Problems): Document problem of building GDB + with SID on Solaris 8. + +2001-03-07 Mark Kettenis + + * defs.h: Provide prototypes for floatformat_is_negative, + floatformat_is_nan and floatformat_mantissa. + * utils.c: Include "gdb_assert.h". + (floatformat_is_negative): New function. + (floatformat_is_nan): New function. + (floatformat_mantissa): New function. + * valprint.c: Include "floatformat.h". + (print_floating): Get rid of the Linux-specific + TARGET_ANALYZE_FLOATING macro and rewrite NaN detection with the + help these new functions. Print NaN's in a format conforming to + ISO C99. + +2001-03-07 Eli Zaretskii + + * top.c (init_main): Make `set history file name' complete on file + names. + +2001-03-06 J.T. Conklin + + * Makefile.in (LINTFLAGS): Update to contain all of the macros + which define include paths used when compiling. + + * util.c (savestring, msavestring): Change type of length argument. + * defs.h (savestring, msavestring): Update to match. + + * symtab.h (decode_line_1): Removed declaration. + + * symfile.c (#include ): Removed. + + * arch-utils.c (#include ): Removed. + * c-typeprint.c: Likewise. + * dbxread.c: Likewise. + * gdbtypes.c: Likewise. + * target.c: Likewise. + * os9kread.c: Likewise. + + * c-valprint.c (#include "demangle.h"): Removed. + * ch-typeprint.c: Likewise. + * eval.c: Likewise. + * f-typeprint.c: Likewise. + * f-valprint.c: Likewise. + * m2-typeprint.c: Likewise. + * typeprint.c: Likewise. + * p-typeprint.c: Likewise. + * valarith.c: Likewise. + * valprint.c: Likewise. + + * m2-typeprint.c (#include "gdb_string.h"): Removed. + * nlmread.c: Likewise. + + * mdebugread.c (#include "gdb-stabs.h"): Removed. + * minsyms.c: Likewise. + * mipsread.c: Likewise. + * nlmread.c: Likewise. + + * m2-typeprint.c (#include "obstack.h"): Removed. + * m2-valprint.c: Likewise. + + * event-loop.c (#include ): Removed. + +2001-03-06 Stan Shebs + + * MAINTAINERS: Remove self from specific maintenance domains + (macos, gdbserver, documentation, testsuite). + +2001-03-06 Kevin Buettner + + * 29k-share/udi/udip2soc.c, Makefile.in, a29k-tdep.c, + a68v-nat.c, abug-rom.c, aclocal.m4, alpha-nat.c, alpha-tdep.c, + annotate.c, annotate.h, arc-tdep.c, arch-utils.c, + arch-utils.h, arm-tdep.c, ax-gdb.c, ax-gdb.h, ax-general.c, + ax.h, bcache.c, bcache.h, blockframe.c, breakpoint.c, + breakpoint.h, buildsym.c, buildsym.h, c-exp.y, c-lang.c, + c-lang.h, c-typeprint.c, c-valprint.c, call-cmds.h, ch-exp.c, + ch-lang.c, ch-lang.h, ch-typeprint.c, ch-valprint.c, + cli/cli-cmds.h, cli/cli-decode.c, cli/cli-decode.h, + cli/cli-script.c, cli/cli-script.h, cli/cli-setshow.h, + cli/cli-utils.h, cli-out.c, cli-out.h, coff-solib.c, + coff-solib.h, coffread.c, command.h, complaints.c, + complaints.h, completer.c, completer.h, + config/a29k/nm-ultra3.h, config/a29k/tm-a29k.h, + config/a29k/tm-ultra3.h, config/a29k/tm-vx29k.h, + config/a29k/xm-ultra3.h, config/alpha/nm-fbsd.h, + config/alpha/nm-linux.h, config/alpha/nm-osf.h, + config/alpha/nm-osf2.h, config/alpha/nm-osf3.h, + config/alpha/tm-alpha.h, config/alpha/tm-alphalinux.h, + config/alpha/xm-alphalinux.h, config/alpha/xm-alphaosf.h, + config/alpha/xm-fbsd.h, config/arc/tm-arc.h, + config/arm/nm-linux.h, config/arm/tm-arm.h, + config/arm/tm-embed.h, config/d10v/tm-d10v.h, + config/d30v/tm-d30v.h, config/fr30/tm-fr30.h, + config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, + config/i386/nm-fbsd.h, config/i386/nm-gnu.h, + config/i386/nm-i386bsd.h, config/i386/nm-i386mach.h, + config/i386/nm-i386sco.h, config/i386/nm-i386sol2.h, + config/i386/nm-i386v.h, config/i386/nm-i386v4.h, + config/i386/nm-i386v42mp.h, config/i386/nm-linux.h, + config/i386/nm-nbsd.h, config/i386/nm-nbsdelf.h, + config/i386/nm-ptx4.h, config/i386/nm-sun386.h, + config/i386/nm-symmetry.h, config/i386/tm-cygwin.h, + config/i386/tm-fbsd.h, config/i386/tm-i386.h, + config/i386/tm-i386aix.h, config/i386/tm-i386bsd.h, + config/i386/tm-i386gnu.h, config/i386/tm-i386lynx.h, + config/i386/tm-i386m3.h, config/i386/tm-i386mk.h, + config/i386/tm-i386nw.h, config/i386/tm-i386os9k.h, + config/i386/tm-i386sco5.h, config/i386/tm-i386sol2.h, + config/i386/tm-i386v.h, config/i386/tm-i386v4.h, + config/i386/tm-i386v42mp.h, config/i386/tm-linux.h, + config/i386/tm-nbsd.h, config/i386/tm-ptx.h, + config/i386/tm-ptx4.h, config/i386/tm-sun386.h, + config/i386/tm-symmetry.h, config/i386/tm-vxworks.h, + config/i386/xm-fbsd.h, config/i386/xm-i386bsd.h, + config/i386/xm-i386gnu.h, config/i386/xm-i386m3.h, + config/i386/xm-i386mach.h, config/i386/xm-i386mk.h, + config/i386/xm-i386sco.h, config/i386/xm-i386v4.h, + config/i386/xm-linux.h, config/i386/xm-nbsd.h, + config/i386/xm-ptx.h, config/i386/xm-ptx4.h, + config/i386/xm-sun386.h, config/i386/xm-symmetry.h, + config/i960/tm-i960.h, config/i960/tm-mon960.h, + config/i960/tm-nindy960.h, config/i960/tm-vx960.h, + config/ia64/nm-aix.h, config/ia64/nm-linux.h, + config/ia64/tm-aix.h, config/ia64/tm-ia64.h, + config/ia64/tm-linux.h, config/ia64/xm-aix.h, + config/ia64/xm-linux.h, config/m68k/nm-apollo68b.h, + config/m68k/nm-delta68.h, config/m68k/nm-dpx2.h, + config/m68k/nm-hp300bsd.h, config/m68k/nm-hp300hpux.h, + config/m68k/nm-linux.h, config/m68k/nm-sun3.h, + config/m68k/tm-apollo68b.h, config/m68k/tm-cisco.h, + config/m68k/tm-dpx2.h, config/m68k/tm-es1800.h, + config/m68k/tm-hp300bsd.h, config/m68k/tm-hp300hpux.h, + config/m68k/tm-isi.h, config/m68k/tm-linux.h, + config/m68k/tm-m68k.h, config/m68k/tm-m68kv4.h, + config/m68k/tm-mac.h, config/m68k/tm-monitor.h, + config/m68k/tm-nbsd.h, config/m68k/tm-news.h, + config/m68k/tm-os68k.h, config/m68k/tm-sun3.h, + config/m68k/tm-vx68.h, config/m68k/xm-3b1.h, + config/m68k/xm-apollo68b.h, config/m68k/xm-dpx2.h, + config/m68k/xm-hp300bsd.h, config/m68k/xm-hp300hpux.h, + config/m68k/xm-linux.h, config/m68k/xm-m68kv4.h, + config/m68k/xm-mpw.h, config/m68k/xm-news.h, + config/m68k/xm-sun2.h, config/m68k/xm-sun3.h, + config/m68k/xm-sun3os4.h, config/m88k/nm-delta88v4.h, + config/m88k/tm-delta88.h, config/m88k/tm-delta88v4.h, + config/m88k/tm-m88k.h, config/m88k/xm-cxux.h, + config/m88k/xm-delta88.h, config/m88k/xm-delta88v4.h, + config/m88k/xm-dgux.h, config/mcore/tm-mcore.h, + config/mips/nm-irix3.h, config/mips/nm-irix4.h, + config/mips/nm-irix5.h, config/mips/nm-mips.h, + config/mips/nm-news-mips.h, config/mips/tm-bigmips.h, + config/mips/tm-embed.h, config/mips/tm-embed64.h, + config/mips/tm-embedl.h, config/mips/tm-embedl64.h, + config/mips/tm-irix3.h, config/mips/tm-irix5.h, + config/mips/tm-mips.h, config/mips/tm-mips64.h, + config/mips/tm-mipsm3.h, config/mips/tm-mipsv4.h, + config/mips/tm-tx39.h, config/mips/tm-tx39l.h, + config/mips/tm-vr4100.h, config/mips/tm-vr4300.h, + config/mips/tm-vr4300el.h, config/mips/tm-vr4xxx.h, + config/mips/tm-vr4xxxel.h, config/mips/tm-vr5000.h, + config/mips/tm-vr5000el.h, config/mips/xm-irix3.h, + config/mips/xm-irix4.h, config/mips/xm-irix5.h, + config/mips/xm-mips.h, config/mips/xm-mipsm3.h, + config/mips/xm-mipsv4.h, config/mips/xm-news-mips.h, + config/mips/xm-riscos.h, config/mn10200/tm-mn10200.h, + config/mn10300/tm-mn10300.h, config/nm-gnu.h, + config/nm-linux.h, config/nm-lynx.h, config/nm-m3.h, + config/nm-sysv4.h, config/none/nm-none.h, + config/none/tm-none.h, config/none/xm-none.h, + config/ns32k/nm-nbsd.h, config/ns32k/nm-umax.h, + config/ns32k/tm-merlin.h, config/ns32k/tm-nbsd.h, + config/ns32k/tm-ns32km3.h, config/ns32k/tm-umax.h, + config/ns32k/xm-merlin.h, config/ns32k/xm-ns32km3.h, + config/pa/nm-hppab.h, config/pa/nm-hppah.h, + config/pa/nm-hppao.h, config/pa/tm-hppa.h, + config/pa/tm-hppa64.h, config/pa/tm-hppah.h, + config/pa/xm-hppab.h, config/pa/xm-hppah.h, + config/powerpc/nm-aix.h, config/powerpc/nm-linux.h, + config/powerpc/nm-macos.h, config/powerpc/nm-nbsd.h, + config/powerpc/tm-cygwin.h, config/powerpc/tm-linux.h, + config/powerpc/tm-macos.h, config/powerpc/tm-ppc-aix.h, + config/powerpc/tm-ppc-eabi.h, config/powerpc/tm-ppc-nw.h, + config/powerpc/tm-ppcle-eabi.h, config/powerpc/tm-solaris.h, + config/powerpc/xm-aix.h, config/powerpc/xm-linux.h, + config/powerpc/xm-mpw.h, config/rs6000/nm-rs6000.h, + config/rs6000/tm-rs6000.h, config/rs6000/tm-rs6000ly.h, + config/rs6000/xm-aix4.h, config/rs6000/xm-rs6000.h, + config/sh/tm-linux.h, config/sh/tm-sh.h, config/sh/tm-wince.h, + config/sparc/nm-linux.h, config/sparc/nm-nbsd.h, + config/sparc/nm-nbsdelf.h, config/sparc/nm-sparclynx.h, + config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, + config/sparc/tm-linux.h, config/sparc/tm-sp64.h, + config/sparc/tm-sp64sim.h, config/sparc/tm-sparc.h, + config/sparc/tm-sparclet.h, config/sparc/tm-sparclite.h, + config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, + config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, + config/sparc/xm-sun4os4.h, config/sparc/xm-sun4sol2.h, + config/tic80/tm-tic80.h, config/tm-linux.h, config/tm-lynx.h, + config/tm-sysv4.h, config/v850/tm-v850.h, config/vax/tm-vax.h, + config/w65/tm-w65.h, config/xm-aix4.h, config/xm-lynx.h, + config/xm-mpw.h, config/xm-nbsd.h, config/xm-sysv4.h, + config/z8k/tm-z8k.h, configure.in, core-aout.c, core-regset.c, + core-sol2.c, corefile.c, corelow.c, cp-valprint.c, + cpu32bug-rom.c, cxux-nat.c, d10v-tdep.c, d30v-tdep.c, + dbug-rom.c, dbxread.c, dcache.c, dcache.h, defs.h, + delta68-nat.c, demangle.c, dink32-rom.c, dpx2-nat.c, dsrec.c, + dstread.c, dve3900-rom.c, dwarf2read.c, dwarfread.c, + elfread.c, environ.c, environ.h, eval.c, event-loop.c, + event-loop.h, event-top.c, exec.c, expprint.c, f-exp.y, + f-lang.c, f-lang.h, f-typeprint.c, f-valprint.c, findvar.c, + fork-child.c, fr30-tdep.c, frame.c, frame.h, gdb-events.c, + gdb-events.h, gdb-events.sh, gdb-stabs.h, gdb.1, gdb_string.h, + gdb_thread_db.h, gdbcmd.h, gdbcore.h, gdbserver/Makefile.in, + gdbserver/gdbreplay.c, gdbserver/gdbserver.1, + gdbserver/low-hppabsd.c, gdbserver/low-linux.c, + gdbserver/low-lynx.c, gdbserver/low-nbsd.c, + gdbserver/low-sim.c, gdbserver/low-sparc.c, + gdbserver/low-sun3.c, gdbserver/remote-utils.c, + gdbserver/server.c, gdbserver/server.h, gdbserver/utils.c, + gdbthread.h, gdbtypes.c, gdbtypes.h, gnu-nat.c, gnu-nat.h, + gnu-regex.c, gnu-regex.h, h8300-tdep.c, h8500-tdep.c, + hp-psymtab-read.c, hp-symtab-read.c, hp300ux-nat.c, + hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c, hpread.c, + hpread.h, hpux-thread.c, i386-tdep.c, i386aix-nat.c, + i386b-nat.c, i386gnu-nat.c, i386ly-tdep.c, i386m3-nat.c, + i386mach-nat.c, i386nbsd-nat.c, i386nbsd-tdep.c, i386v-nat.c, + i386v4-nat.c, i387-tdep.c, i960-tdep.c, infcmd.c, inferior.h, + inflow.c, infptrace.c, infrun.c, inftarg.c, infttrace.c, + irix4-nat.c, irix5-nat.c, isi-xdep.c, jv-exp.y, jv-lang.c, + jv-lang.h, jv-typeprint.c, jv-valprint.c, kdb-start.c, + kod-cisco.c, kod.c, language.c, language.h, lin-thread.c, + linespec.c, linespec.h, linux-thread.c, lynx-nat.c, m2-exp.y, + m2-lang.c, m2-lang.h, m2-typeprint.c, m2-valprint.c, m3-nat.c, + m32r-rom.c, m32r-tdep.c, m68k-tdep.c, m68klinux-nat.c, + m68knbsd-nat.c, m88k-nat.c, m88k-tdep.c, mac-nat.c, + mac-xdep.c, main.c, maint.c, mcore-rom.c, mcore-tdep.c, + mdebugread.c, mem-break.c, minimon.h, minsyms.c, mips-nat.c, + mips-tdep.c, mipsm3-nat.c, mipsread.c, mipsv4-nat.c, + mn10200-tdep.c, mn10300-tdep.c, mon960-rom.c, monitor.c, + monitor.h, news-xdep.c, nindy-share/env.h, nindy-tdep.c, + nlm/Makefile.in, nlmread.c, ns32k-tdep.c, ns32km3-nat.c, + ns32knbsd-nat.c, objfiles.c, objfiles.h, ocd.c, ocd.h, + op50-rom.c, os9kread.c, osfsolib.c, p-exp.y, pa64solib.c, + pa64solib.h, parse.c, parser-defs.h, partial-stab.h, + ppc-bdm.c, ppc-linux-nat.c, ppc-linux-tdep.c, ppcbug-rom.c, + ppcnbsd-nat.c, printcmd.c, proc-api.c, proc-events.c, + proc-flags.c, proc-utils.h, proc-why.c, procfs.c, ptx4-nat.c, + rdi-share/Makefile.in, rdi-share/aclocal.m4, regcache.c, + regcache.h, remote-adapt.c, remote-array.c, remote-bug.c, + remote-e7000.c, remote-eb.c, remote-es.c, remote-est.c, + remote-hms.c, remote-mips.c, remote-mm.c, remote-nindy.c, + remote-nrom.c, remote-os9k.c, remote-rdi.c, remote-rdp.c, + remote-sds.c, remote-sim.c, remote-st.c, remote-udi.c, + remote-utils.c, remote-utils.h, remote-vx.c, remote.c, + remote.h, reply_mig_hack.awk, rom68k-rom.c, rs6000-nat.c, + rs6000-tdep.c, scm-exp.c, scm-lang.c, scm-lang.h, scm-tags.h, + scm-valprint.c, ser-e7kpc.c, ser-mac.c, ser-ocd.c, ser-pipe.c, + ser-tcp.c, ser-unix.c, serial.c, serial.h, sh-tdep.c, + sh3-rom.c, sol-thread.c, solib-aix5.c, solib-svr4.c, solib.c, + solib.h, solist.h, somread.c, somsolib.c, somsolib.h, + source.c, sparc-nat.c, sparc-tdep.c, sparcl-tdep.c, + sparclet-rom.c, srec.h, stabsread.c, stabsread.h, stack.c, + standalone.c, stop-gdb.c, stuff.c, sun3-nat.c, sun386-nat.c, + symfile.c, symfile.h, symm-nat.c, symm-tdep.c, symmisc.c, + symtab.c, symtab.h, target.c, target.h, terminal.h, thread.c, + tic80-tdep.c, top.c, top.h, tracepoint.c, tracepoint.h, + typeprint.c, ui-file.c, ui-file.h, ui-out.h, ultra3-nat.c, + ultra3-xdep.c, umax-xdep.c, utils.c, v850-tdep.c, v850ice.c, + valarith.c, valops.c, valprint.c, value.h, values.c, varobj.h, + vax-tdep.c, version.h, vx-share/vxWorks.h, vx-share/xdr_ld.c, + vx-share/xdr_ptrace.c, vx-share/xdr_ptrace.h, + vx-share/xdr_rdb.c, w65-tdep.c, w89k-rom.c, win32-nat.c, + wrapper.c, wrapper.h, xcoffread.c, xcoffsolib.c, xcoffsolib.h, + xmodem.c, xmodem.h, z8k-tdep.c: Update/correct copyright + notices. + +2001-03-05 Kevin Buettner + + * acconfig.h (HAVE_PRSYSENT_T, HAVE_PR_SIGSET_T, + HAVE_PR_SIGACTION64_T, HAVE_PR_SIGINFO64_T): New configure + macros. + * configure.in (prsysent_t, pr_sigset_t, pr_sigaction64_t, + pr_siginfo64_t): Test for these typedefs in . + (sys/fault.h, sys/select.h): Test for presence of these + header files. + (ia64-*-aix*): Define NEW_PROC_API for this host. + * configure: Regenerate. + * config.in: Regenerate. + + * configure.host (ia64-*-aix*): New host. + * configure.tgt (ia64-*-aix*): New target. + +2001-03-05 Andrew Cagney + + * TODO (GDB 5.1 Known Problems): Document z8k as broken. + +Mon Mar 5 11:56:09 2001 Christopher Faylor + + * wince.c: Change realloc to xrealloc throughout. + (handle_load_dll): Use void * rather than PTR in argument. + +2001-03-04 Andrew Cagney + + * ocd.h (ocd_xfer_memory): Add ``attrib'' parameter. + * ocd.c (ocd_xfer_memory): Ditto. + * ser-ocd.c (ocd_setstopbits): New function. Add to ocd_ops. + * MAINTAINERS: Document powerpc-eabi and powerpcle-eabi as + buildable with ,-Werror. + + * Makefile.in (symfile_h): Define. + (mcore-tdep.o): Add $(symfile_h), $(gdbcore_h) and $(inferior_h). + * mcore-tdep.c: Include "symfile.h", "gdbcore.h" and "inferior.h". + * MAINTAINERS: Document mcore-elf and mcore-pe as buildable with + ,-Werror. + + * dsrec.c (make_srec): Fix internal_error fmt arg. + * MAINTAINERS: Document i960-coff as buildable with ,-Werror. + +2001-03-03 Kevin Buettner + + * solib-aix5.c (aix5_relocate_main_executable): Don't use ANOFFSET + as an lvalue. + +2001-03-02 Andrew Cagney + + * MAINTAINERS (paper trail): Update. + + * CONTRIBUTE: Update note on ``Fix PR gdb/4706'' convention. + +2001-03-02 Andrew Cagney + + From 2001-03-01 Tom Rix : + * mn10200-tdep.c (mn10200_frame_chain): Pass 0 for ``pc'' + parameter to mn10200_analyze_prologue. + + * config/mn10200/tm-mn10200.h: Include "regcache.h". + * MAINTAINERS: Document that mn10200-elf target is buildable. + +2001-03-02 Kevin Buettner + + * config/ia64/xm-aix.h (GDB_GREGSET_T, GDB_FPREGSET_T): Move defines + from here... + * config/ia64/nm-aix.h (GDB_GREGSET_T, GDB_FPREGSET_T): ...to here. + (MONTEREY): Don't define. + (AIX5): Define. + +2001-03-02 Matt Hiller + + * config/mn10300/tm-mn10300.h (E0_REGNUM): Correct to 15. + +2001-03-02 Kevin Buettner + + * sparc-nat.c (sparc-nat.c): Don't include self. + +2001-03-01 J.T. Conklin + + * defs.h (__CYGWIN__): Moved conditional which defines __CYGWIN__ + if __CYGWIN32__ is set from here. + * config/i386/xm-cygwin.h: To here. + * config/powerpc/xm-cygwin.h: To here. + + * i386-stub.c (handle_exception): Use 'T' response packet. + +2001-03-01 Michael Snyder + + * m32r-tdep.c: Fix cut and paste error in comment. + +2001-02-28 Michael Snyder + + * symtab.c (print_msymbol_info): Print addresses by portable method + longest_local_hex_string_custom. Allow for 64-bit addresses. + +2001-03-01 J.T. Conklin + + * gdbtypes.h (builtin_type_f_integer): Removed duplicate declaration. + (MAX_OF_TYPE): Wrap macro definition in parenthesis. + (MIN_OF_TYPE): Likewise. + + * memattr.h (mem_access_mode): Removed extraneous trailing comma. + +2001-03-01 Andrew Cagney + + * Makefile.in (os9kread.o): Do not compile with WERROR_CFLAGS. + * os9kread.c (os9k_process_one_symbol): Add assert to detect + ``loses if sizeof (char *) > sizeof (int)''. + +2001-03-01 Andrew Cagney + + * gdb_assert.h: Document pragmatics behind gdb_assert's case. + +2001-03-01 Andrew Cagney + + * Makefile.in (gdbtk-cmds.o): Add $(regcache_h) to dependency + lists. + (mi-main.o): Ditto. + +2001-03-01 Andrew Cagney + + * Makefile.in (regcache_h): Define. Add $(regcache_h) to + dependency lists. + +2001-02-28 Michael Snyder + + * printcmd.c (print_address_numeric): Update comments to refer + to sizeof addr, not sizeof pointer. + (x_command): Remove needless whitespace (shorten long line). + + * breakpoint.c (print_one_breakpoint): Formatting clean-up. + (read_memory_nobpt): Ditto. + (ep_is_catchpoint): Ditto. + (ep_is_shlib_catchpoint): Ditto. + (ep_is_exception_catchpoint): Ditto. + (describe_other_breakpoints): Ditto. + +Wed Feb 28 20:37:36 2001 Andrew Cagney + + * regcache.h (register_valid): Fix comment documenting valid + states. + +Tue Feb 27 23:56:23 2001 Andrew Cagney + + From Steven Johnson: + * regcache.h: New file. + + * value.h (read_register_bytes, read_register_gen) + (write_register_gen, write_register_bytes) + (read_register, read_register_pid) + (read_signed_register, read_signed_register_pid) + (write_register, write_register_pid) + (register_cached, set_register_cached) + (register_changed, register_buffer) + (registers_changed, supply_register): Move declaration from here. + * regcache.h: To here. + * gdbcore.h (registers_fetched): Ditto. + * inferior.h (registers, registers_valid): Ditto. + + * regcache.c (generic_target_read_pc, read_pc_pid, read_pc, + generic_target_write_pc, write_pc_pid, write_pc, + generic_target_read_sp, read_sp, generic_target_write_sp, + write_sp, generic_target_read_fp, read_fp, + generic_target_write_fp, write_fp): Add note that these functions + will be moved from this file. + + * a29k-tdep.c: Include "regcache.h". + * a68v-nat.c: Ditto. + * abug-rom.c: Ditto. + * alpha-nat.c: Ditto. + * alpha-tdep.c: Ditto. + * alphabsd-nat.c: Ditto. + * arc-tdep.c: Ditto. + * arm-linux-nat.c: Ditto. + * arm-linux-tdep.c: Ditto. + * arm-tdep.c: Ditto. + * blockframe.c: Ditto. + * core-aout.c: Ditto. + * core-sol2.c: Ditto. + * corelow.c: Ditto. + * cpu32bug-rom.c: Ditto. + * cxux-nat.c: Ditto. + * d10v-tdep.c: Ditto. + * d30v-tdep.c: Ditto. + * dbug-rom.c: Ditto. + * dink32-rom.c: Ditto. + * dve3900-rom.c: Ditto. + * findvar.c: Ditto. + * fr30-tdep.c: Ditto. + * frame.c: Ditto. + * go32-nat.c: Ditto. + * h8300-tdep.c: Ditto. + * h8500-tdep.c: Ditto. + * hp300ux-nat.c: Ditto. + * hppa-tdep.c: Ditto. + * hppab-nat.c: Ditto. + * hppah-nat.c: Ditto. + * hppam3-nat.c: Ditto. + * hpux-thread.c: Ditto. + * i386-linux-nat.c: Ditto. + * i386-linux-tdep.c: Ditto. + * i386-tdep.c: Ditto. + * i386aix-nat.c: Ditto. + * i386b-nat.c: Ditto. + * i386bsd-nat.c: Ditto. + * i386gnu-nat.c: Ditto. + * i386ly-tdep.c: Ditto. + * i386m3-nat.c: Ditto. + * i386mach-nat.c: Ditto. + * i386nbsd-nat.c: Ditto. + * i386v4-nat.c: Ditto. + * i387-nat.c: Ditto. + * i387-tdep.c: Ditto. + * i960-tdep.c: Ditto. + * ia64-aix-nat.c: Ditto. + * ia64-linux-nat.c: Ditto. + * ia64-tdep.c: Ditto. + * infptrace.c: Ditto. + * infrun.c: Ditto. + * irix4-nat.c: Ditto. + * irix5-nat.c: Ditto. + * lin-lwp.c: Ditto. + * lin-thread.c: Ditto. + * lynx-nat.c: Ditto. + * m3-nat.c: Ditto. + * m32r-rom.c: Ditto. + * m32r-tdep.c: Ditto. + * m68hc11-tdep.c: Ditto. + * m68k-tdep.c: Ditto. + * m68klinux-nat.c: Ditto. + * m68knbsd-nat.c: Ditto. + * m68knbsd-tdep.c: Ditto. + * m88k-nat.c: Ditto. + * m88k-tdep.c: Ditto. + * mac-nat.c: Ditto. + * mcore-rom.c: Ditto. + * mcore-tdep.c: Ditto. + * mi/mi-main.c: Ditto. + * mips-nat.c: Ditto. + * mips-tdep.c: Ditto. + * mipsm3-nat.c: Ditto. + * mipsv4-nat.c: Ditto. + * mn10200-tdep.c: Ditto. + * mn10300-tdep.c: Ditto. + * monitor.c: Ditto. + * ns32km3-nat.c: Ditto. + * ns32knbsd-nat.c: Ditto. + * ocd.c: Ditto. + * pa64solib.c: Ditto. + * ppc-bdm.c: Ditto. + * ppc-linux-nat.c: Ditto. + * ppc-linux-tdep.c: Ditto. + * ppcbug-rom.c: Ditto. + * ppcnbsd-nat.c: Ditto. + * ptx4-nat.c: Ditto. + * regcache.c: Ditto. + * remote-adapt.c: Ditto. + * remote-array.c: Ditto. + * remote-bug.c: Ditto. + * remote-e7000.c: Ditto. + * remote-eb.c: Ditto. + * remote-es.c: Ditto. + * remote-est.c: Ditto. + * remote-hms.c: Ditto. + * remote-mips.c: Ditto. + * remote-mm.c: Ditto. + * remote-nindy.c: Ditto. + * remote-os9k.c: Ditto. + * remote-rdi.c: Ditto. + * remote-rdp.c: Ditto. + * remote-sds.c: Ditto. + * remote-sim.c: Ditto. + * remote-st.c: Ditto. + * remote-udi.c: Ditto. + * remote-utils.c: Ditto. + * remote-vx.c: Ditto. + * remote-vx29k.c: Ditto. + * remote-vx68.c: Ditto. + * remote-vx960.c: Ditto. + * remote-vxmips.c: Ditto. + * remote-vxsparc.c: Ditto. + * remote.c: Ditto. + * rom68k-rom.c: Ditto. + * rs6000-nat.c: Ditto. + * rs6000-tdep.c: Ditto. + * sh-tdep.c: Ditto. + * sh3-rom.c: Ditto. + * sol-thread.c: Ditto. + * solib-svr4.c: Ditto. + * somsolib.c: Ditto. + * sparc-nat.c: Ditto. + * sparc-tdep.c: Ditto. + * sparcl-tdep.c: Ditto. + * sparclet-rom.c: Ditto. + * sun3-nat.c: Ditto. + * sun386-nat.c: Ditto. + * symm-nat.c: Ditto. + * target.c: Ditto. + * thread-db.c: Ditto. + * thread.c: Ditto. + * tic80-tdep.c: Ditto. + * tracepoint.c: Ditto. + * ultra3-nat.c: Ditto. + * umax-xdep.c: Ditto. + * uw-thread.c: Ditto. + * v850-tdep.c: Ditto. + * v850ice.c: Ditto. + * valops.c: Ditto. + * w65-tdep.c: Ditto. + * w89k-rom.c: Ditto. + * win32-nat.c: Ditto. + * wince.c: Ditto. + * z8k-tdep.c: Ditto. + +2001-02-28 Matt Hiller + + * MAINTAINERS: Add Matt Hiller to Write After Approval list. + +2001-02-27 Matt Hiller + + * mn10300-tdep.c (mn10300_stab_reg_to_regnum): New function. + (mn10300_gdbarch_init): Set appropriate elements of gdbarch to + mn10300_stab_reg_to_regnum. + +Tue Feb 27 16:56:13 2001 David Taylor + + * symtab.c (search_symbols): Fix off by one error in test for + error. + +2001-02-23 Andrew Cagney + + * config/sparc/sp64linux.mt: New file. + * configure.tgt: Recognize sparc64-*-linux* as a sp64linux target. + * configure.host: Recognize sparc64-*-linux* as a linux host. + + From 2000-03-17 Jakub Jelinek : + * config/sparc/tm-sp64linux.h: New file. + +2001-02-24 Kevin Buettner + + * buildsym.c (push_subfile, pop_subfile): Replace call to abort() + with call to internal_error(). + * dbxread.c (process_one_symbol): Likewise. + * exec.c (build_section_table, xfer_memory): Likewise. + * h8500-tdep.c (h8500_register_size, h8500_register_virtual_type): + Likewise. + * hpread.c (hpread_type_translate, hpread_read_array_type) + (hpread_type_lookup): Likewise. + * i386-tdep.c (gdb_print_insn_i386): Likewise. + * i960-tdep.c (mem): Likewise + * inflow.c (set_sigio_trap, clear_sigio_trap): Likewise. + * infptrace.c (child_resume): Likewise. + * infttrace.c (_initialize_infttrace): Likewise. + * language.c (binop_result_type, add_language): Likewise. + * lynx-nat.c (store_inferior_registers): Likewise. + * m3-nat.c (port_chain_insert, m3_trace_me): Likewise. + * mdebugread.c (parse_partial_symbols): Likewise. + * monitor.c (monitor_printf_noecho, monitor_printf) + (monitor_dump_regs): Likewise. + * ocd.c (stu_put_packet): Likewise. + * printcmd.c (decode_format, print_scalar_formatted): Likewise. + * remote-bug.c (bug_open): Likewise. + * remote-e7000.c (fetch_regs_from_dump, e7000_wait): Likewise. + * remote-es.c (es1800_read_bytes): Likewise. + * remote-mips.c (common_breakpoint): Likewise. + * remote-rdp.c (send_rdp): Likewise. + * remote-sds.c (putmessage): Likewise. + * sparc-nat.c (fetch_inferior_registers, store_inferior_registers): + Likewise. + * sparcl-tdep.c (sparclite_download): Likewise. + * symtab.c (lookup_partial_symbol): Likewise. + * target.c (push_target, pop_target, initialize_targets): Likewise. + * utils.c (internal_verror, malloc_botch, wrap_here, decimal2str): + Likewise. + * valprint.c (print_decimal, print_longest, print_longest) + (strcat_longest): Likewise. + * w65-tdep.c (init_frame_pc, w65_push_dummy_frame): Likewise. + * xmodem.c (xmodem_send_packet): Likewise. + * z8k-tdep.c (init_frame_pc, z8k_push_dummy_frame): Likewise. + * config/h8500/tm-h8500.h (STORE_STRUCT_RETURN): Likewise. + * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE) + (STORE_RETURN_VALUE): Likewise. + * config/ns32k/nm-umax.h (REGISTER_U_ADDR): Likewise. + * config/ns32k/xm-merlin.h (REGISTER_U_ADDR): Likewise. + * config/z8k/tm-z8k.h (STORE_STRUCT_RETURN, STORE_RETURN_VALUE): + Likewise. + +2001-02-23 Andrew Cagney + + * CONTRIBUTE: Document how to cite a problem report. + * TODO: Note need to replace CONTRIBUTE with generated file. + + * CONTRIBUTE: Mention that patches do not need to include the + generated files gdbarch.h and gdbarch.c. + +2001-02-21 Andrew Cagney + + * value.h (get_saved_register): Move from here. + * frame.h: To here. + +2001-02-21 Kevin Buettner + + * solib.h (in_svr4_dynsym_resolve_code): Delete declaration. + (in_solib_dynsym_resolve_code): Add declaration. + (IN_SOLIB_DYNSYM_RESOLVE_CODE): Changed define to invoke + in_solib_dynsym_resolve_code() rather than + in_svr4_dynsym_resolve_code(). Also, removed the ifdefs + which caused this macro to only be defined when + SVR4_SHARED_LIBS is defined. + * solib.c (in_solib_dynsym_resolve_code): New function. + * solist.h (struct target_so_ops): Add new member + in_dynsym_resolve_code. + * solib-aix5.c (aix5_in_dynsym_resolve_code): Renamed from + in_svr4_dynsym_resolve_code. Also, made static. + (_initialize_aix5_solib): Initialize in_dynsym_resolve_code + member in aix5_so_ops. + * solib-svr4.c (svr4_in_dynsym_resolve_code): Renamed from + in_svr4_dynsym_resolve_code. Also, added second version + of this function which will be used when SVR4_SHARED_LIBS + is not defined. + (_initialize_svr4_solib): Initialize in_dynsym_resolve_code + member in svr4_so_ops. + + * ia64-aix-nat.c, ia64-aix-tdep.c, config/ia64/aix.mh, + config/ia64/aix.mt, config/ia64/nm-aix.h, config/ia64/tm-aix.h, + config/ia64/xm-aix.h: New files. + * ia64-tdep.c (_initialize_ia64_tdep): Remove declaration. + (ia64_aix_sigcontext_register_address): New declaration. + (ia64_gdbarch_init): Provide for initialization of + sigcontext_register_address member of struct tdep when + on target is detected to be running AIX. + * config/ia64/linux.mt (TDEPFILES): Add ia64-aix-tdep.o to + this list. + +2001-02-20 Kevin Buettner + + * ia64-tdep.c (ia64_frameless_function_invocation): Implement. + * config/ia64/linux.mh (NATDEPFILES): Use thread-db.o and lin-lwp.o + for thread support instead of linux-thread.o and lin-thread.o. + * config/ia64/nm-linux.h (PREPARE_TO_PROCEED, GET_THREAD_SIGNALS, + ATTACH_LWP): Define to use the following lin-lwp.c functions... + (lin_lwp_prepare_to_proceed, lin_thread_get_thread_signals, + lin_lwp_attach_lwp): Declare. + +2001-02-20 Andrew Cagney + + * mips-tdep.c (do_fp_register_row, do_fp_register_row): Fix printf + formatting. + +2001-02-20 Kevin Buettner + + * solib-aix5.c (solib-svr4.h): Remove include. + (solib_break_names): Delete names which aren't actually + used by AIX5. + (bkpt_names): Remove. + (aix5_relocate_main_executable, bfd_lookup_symbol): Replace calls + to STREQ() with equivalent calls to strcmp(). + (in_svr4_dynsym_resolve_code, enable_break, bfd_lookup_symbol, + aix5_solib_create_inferior_hook): Revise comments. + (enable_break): Remove old ``bkpt_names'' code. + +2001-02-19 Andrew Cagney + + * Makefile.in (SFILES): Add frame.c . + (COMMON_OBS): Add frame.o . + (frame.o): New target. + + * frame.c (find_saved_register): + (default_get_saved_register): + (get_saved_register): + (read_relative_register_raw_bytes_for_frame): + (read_relative_register_raw_bytes): Moved to here. + * regcache.c: From here. + +2001-02-20 Kevin Buettner + + * solib-aix5.c: New file. + +2001-02-20 Martin M. Hunt + + * solib.c (info_sharedlibrary_command): Don't assume pointers + are the same size of long, call longest_local_hex_string_custom(). + + * solib-svr4.c (LM_ADDR): LM_ADDR is a signed offset, so + extract_signed_integer() should be called instead of + extract_address(). + +2001-02-20 Martin M. Hunt + + * MAINTAINERS: Add Martin Hunt to Write After Approval list. + +2001-02-19 Andrew Cagney + + Frm 2001-02-09 Jim Kingdon : + * mips-tdep.c (mips_register_raw_size): If FP_REGISTER_DOUBLE, + then floating point registers are 8 bytes. + +2001-02-19 Michael Snyder + + * parse.c (write_exp_msymbol): Make the type CORE_ADDR, to + accomodate 64-bit addresses. + +2001-02-19 Elena Zannoni + + From Peter Schauer + * symtab.c (lookup_symbol_aux): Call lookup_symbol_aux, not + lookup_symbol, when trying to find a symbol with a mangled name, + to avoid infinite recursion. + +2001-02-18 Andrew Cagney + + * TODO (5.2): Mention G++ 3.0 ABI. General cleanups. + +2001-02-19 Jonathan Larmour + + * arm-tdep.c (check_prologue_cache): Fix off by 1 error. + (save_prologue_cache): Ditto. + +2001-02-19 Elena Zannoni + + From: innadadadavida@yahoo.com: + * partial-stab.h (switch): Check that pst is not null + before dereferencing it. + +2001-02-19 Elena Zannoni + + From Andrew Cagney : + * symfile.c (add_symbol_file_command): Always initialize + my_cleanup using a NULL cleanup. + +2001-02-19 Eli Zaretskii + + * demangle.c (demangling_style_names): New variable. + (_initialize_demangler): Fill demangling_style_names with the + names of known demangling styles from libiberty_demanglers[]. Use + add_set_enum_cmd instead of add_set_cmd, to get completion on + demangling style names. + + * proc-api.c (_initialize_proc_api): Make `procfs-file' use + file-name completion. + + * remote-rdi.c (_initialize_remote_rdi): Ditto for `rdilogfile'. + + * solib.c (_initialize_solib): Ditto for `solib-search-path' and + `solib-absolute-prefix'. + + * tracepoint.c (_initialize_tracepoint): Ditto for + `save-tracepoints'. + + * win32-nat.c (_initialize_inftarg): Ditto for `dll-symbols'. + + * cli/cli-cmds.c (init_cli_cmds): Make `shell' and `make' use + file-name completion. + + * infcmd.c (_initialize_infcmd): Make the following commands use + the file-name completer: `tty', `args', `path', `paths', and + `run'. + +2001-02-18 Eli Zaretskii + + * go32-nat.c: Include i387-nat.h. + (fetch_register): New function, uses some of the guts of + go32_fetch_registers and calls i387_supply_register. + (go32_fetch_registers): Most of the code moved into + fetch_register. Use i387_supply_fsave. + (store_register): Use i387_fill_fsave instead of custom code. + (go32_store_registers): Use i387_fill_fsave. + + * Makefile.in (go32-nat.o): Depend on i387-nat.h. + + * config/i386/go32.mh (NATDEPFILES): Add i387-nat.o. + + * completer.c (gdb_completer_file_name_break_characters): Remove + slash from file-name break characters. + [__MSDOS__]: Special definition for DOS/Windows file names. + (line_completion_function): When completing on file names, bump + `p' to the first file-name constituent character of `word', before + invoking the completer. + +2001-02-17 Mark Kettenis + + * i387-nat.c: Include "i387-nat.h". Use regnum instead of regno + consistently for parameter names. Fix comments accordingly. + (i387_supply_register): New function. + (i387_supply_fsave): Implement using i387_supply_register. + * i387-nat.h: Use regnum instead of regno consistently for + parameter names. Fix comments accordingly. + (i387_supply_register): New prototype. + +2001-02-16 Michael Snyder + + * remote.c (build_remote_gdbarch_data): Use new TARGET_ADDR_BIT + instead of TARGET_PTR_BIT (to support Harvard architectures). + +2001-02-16 Andrew Cagney + + From 2001-02-11 Paul Hilfinger + * hpux-thread.c (hpux_thread_xfer_memory): Add mem_attrib + argument to parameter list and to call in order to conform to + to_xfer_memory field of struct target_ops. + +2001-02-12 Michael Chastain + + * somsolib.c (som_solib_add_solib_objfile): Do not use + section relocation feature of syms_from_objfile. Do my own + section relocation, offsetting each section of the som by + either text_addr - text_link_addr or data_start. + +2001-02-16 Andrew Cagney + + * TODO (5.1): Move ``Hardware watchpint problems'' out of 5.1. + +2001-02-16 Andrew Cagney + + * MAINTAINERS (paper trail): Update. + +2001-02-16 Mark Kettenis + + * target.h (target_fetch_registers): Fix comment. + +2001-02-15 Andrew Cagney + + * f-exp.y: Include . + (parse_number): Ensure that ``i'' is always initialized. + +2001-02-14 Jim Kingdon + + * MAINTAINERS: Add myself to paper trail section. + +2001-02-14 Michael Sokolov + + * configure.in (AC_CHECK_HEADERS): Add sys/file.h. + * configure, config.in: Regenerate. + * corelow.c: Include if present. + +2001-02-14 Andrew Cagney + + * inflow.c (terminal_ours_1): Initialize ``osigtou''. Only + declare when have SIGTTOU. + +2001-02-14 Eli Zaretskii + + * config/djgpp/fnchange.lst: Add entries for gdb/gdbtk/*/ChangeLog-*. + +2001-02-12 Jim Kingdon + + * MAINTAINERS: Update my email address. + +2001-02-11 Eli Zaretskii + + * NEWS: Document that "info symbol" works with COFF debug info and + its variants. + + * minsyms.c (lookup_minimal_symbol_by_pc_section): Don't skip + symbols whose SYMBOL_BFD_SECTION is NULL. + +2001-02-10 Peter Schauer + + Get rid of AIX specific PC_LOAD_SEGMENT, replace with PC_SOLIB. + * xcoffsolib.c (xcoff_solib_address): Renamed from + pc_load_segment_name. Return NULL if address is not in a shared + library. Cleanup shared library name construction, using xasprintf. + Format shared library member names consistent with format in exec.c. + (solib_info): Format shared library member names consistent with + format in exec.c. + * config/rs6000/nm-rs6000.h: Replace PC_LOAD_SEGMENT with PC_SOLIB, + using xcoff_solib_address for PC_SOLIB definition. + * stack.c (print_frame): Remove PC_LOAD_SEGMENT code, no longer + needed. + +2001-02-10 Peter Schauer + + * mipsread.c (read_alphacoff_dynamic_symtab): Replace alloca calls + with xmalloc calls and cleanups. + +2001-02-10 Peter Schauer + + * rs6000-nat.c (child_xfer_memory): Add missing parameter + 'struct mem_attrib *' required by 2001-01-23 change. + +2001-02-08 Jim Kingdon + + Updates to "make TAGS": + * Makefile.in (ALLDEPFILES): Remove altos-xdep.c arm-convert.s + arm-xdep.c convex-tdep.c convex-xdep.c pyr-tdep.c pyr-xdep.c + tahoe-tdep.c. + (TAGFILES_NO_SRCDIR): Add $(SUBDIR_CLI_SRCS). + +2001-02-08 Eli Zaretskii + + * config/djgpp/fnchange.lst: Remove extraneous "too many dots". + +Wed Feb 7 22:39:26 2001 Andrew Cagney + + From Dean Luick : + * defs.h (continuation): Remove unused global variable. + +Wed Feb 7 22:28:31 2001 Andrew Cagney + + * configure.tgt: Remove references to convex, pyramid, altos and + tahoe. + * configure.host: Ditto. + * MAINTAINERS: Ditto. + * NEWS: Update. + + * tahoe-tdep.c: Delete obsolete file. + * pyr-xdep.c: Ditto. + * pyr-tdep.c: Ditto. + * convex-tdep.c: Ditto. + * convex-xdep.c: Ditto. + * config/tahoe/xm-tahoe.h: Ditto. + * config/tahoe/tm-tahoe.h: Ditto. + * config/tahoe/tahoe.mt: Ditto. + * config/tahoe/tahoe.mh: Ditto. + * config/pyr/xm-pyr.h: Ditto. + * config/pyr/tm-pyr.h: Ditto. + * config/pyr/pyramid.mt: Ditto. + * config/pyr/pyramid.mh: Ditto. + * config/m68k/xm-altos.h: Ditto. + * config/m68k/tm-altos.h: Ditto. + * config/m68k/altos.mt: Ditto. + * config/m68k/altos.mh: Ditto. + * config/convex/xm-convex.h: Ditto. + * config/convex/tm-convex.h: Ditto. + * config/convex/convex.mt: Ditto. + * config/convex/convex.mh: Ditto. + * config/convex/Convex.notes: Ditto. + * config/arm/xm-arm.h: Ditto. + * config/arm/nm-arm.h: Ditto. + * config/arm/arm.mt: Ditto. + * config/arm/arm.mh: Ditto. + * arm-convert.s: Ditto. + * arm-xdep.c: Ditto. + * altos-xdep.c: Ditto. + +Wed Feb 7 19:41:21 2001 Andrew Cagney + + * defs.h (internal_error, internal_verror): Add __FILE__ and + __LINE__ parameter. + * utils.c (internal_error, internal_verror): Update. + + * v850-tdep.c: Update calls to internal_error. + * utils.c: Ditto. + * ui-out.c: Ditto. + * ui-file.c: Ditto. + * target.h: Ditto. + * symtab.h: Ditto. + * symm-nat.c: Ditto. + * sparc-tdep.c: Ditto. + * source.c: Ditto. + * serial.c: Ditto. + * rs6000-tdep.c: Ditto. + * rs6000-nat.c: Ditto. + * remote.c: Ditto. + * remote-vx.c: Ditto. + * remote-sim.c: Ditto. + * remote-mips.c: Ditto. + * regcache.c: Ditto. + * objfiles.h: Ditto. + * objfiles.c: Ditto. + * mn10300-tdep.c: Ditto. + * mips-tdep.c: Ditto. + * maint.c: Ditto. + * m68k-tdep.c: Ditto. + * m3-nat.c: Ditto. + * language.c: Ditto. + * infptrace.c: Ditto. + * inferior.h: Ditto. + * infcmd.c: Ditto. + * ia64-tdep.c: Ditto. + * i386-tdep.c: Ditto. + * i386-linux-nat.c: Ditto. + * hppah-nat.c: Ditto. + * go32-nat.c: Ditto. + * findvar.c: Ditto. + * f-lang.c: Ditto. + * elfread.c: Ditto. + * event-loop.c: Ditto. + * dwarf2read.c: Ditto. + * dsrec.c: Ditto. + * d30v-tdep.c: Ditto. + * d10v-tdep.c: Ditto. + * cli/cli-setshow.c: Ditto. + * cli/cli-script.c: Ditto. + * ch-exp.c: Ditto. + * breakpoint.c: Ditto. + * ax-gdb.c: Ditto. + * arch-utils.c: Ditto. + * a29k-tdep.c: Ditto. + * gdb_assert.h: Ditto. + * gdbarch.sh: Ditto. + * gdbarch.h, gdbarch.c: Re-generate. + +2001-02-07 Andrew Cagney + + From Mark Kettenis : + * event-top.h [!STOP_SIGNAL]: #include . + +2001-02-07 Andrew Cagney + + * remote-sim.c (dump_mem): Cleanup printf format argument. + * MAINTAINERS: Update, mn10300-elf now builds. + +2001-02-07 Mark Kettenis + + * event-top.c: Remove duplicate #include . + +2001-02-06 Andrew Cagney + + * sol-thread.c (restore_inferior_pid): Save the PID in a freshly + allocated buffer. + (save_inferior_pid): Restore the PID from that tempoary + buffer. Delete the buffer. + * utils.c (make_cleanup_close, do_close_cleanup): Ditto for FD. + +2001-02-06 Andrew Cagney + + * MAINTAINERS: Add ``The Obvious Fix Rule''. + +2001-02-06 Andrew Cagney + + * MAINTAINERS: Add Michael Snyder to Solaris/SPARC list. + +2001-02-06 Andrew Cagney + + * gdbarch.sh: Include "gdb_assert.h". + (struct gdbarch): Change ``nr_data'' to unsigned. + (alloc_gdbarch_data, free_gdbarch_data): New functions. + (gdbarch_free): Free the data-pointer vector. Use xfree to delete + architecture vector. + (struct gdbarch_data, struct gdbarch_data_registration): Move init + method to gdbarch_data. Add free method, make index unsigned. + (struct gdbarch_data_registry): Make nr unsigned. + (register_gdbarch_data): Add free parameter. Store in + gdbarch_data. + (init_gdbarch_data): Use set_gdbarch_data. + (set_gdbarch_data): New function. + + * gdbarch.h, gdbarch.c: Re-generate. + +2001-02-06 Michael Sokolov + + * ser-unix.c (hardware_print_tty_state) [HAVE_SGTTY]: Call + fprintf_filtered with correct arguments. + +2001-02-06 Michael Snyder + Submitted by Paul Hilfinger (hilfingr@gnat.com) + and Andrei Petrov (and@genesyslab.com). + * findvar.c: Buffers of size MAX_REGISTER_RAW_SIZE or REGISTER_BYTES + must be allocated dynamically, since these are no longer constants. + * infcmd.c: Ditto. + * regcache.c: Ditto. + * remote.c: Ditto. + * sol-thread.c: Ditto. + * valops.c: Ditto. + * config/sparc/sun4sol2.mh (MH_CFLAGS): Add -I/usr/include/v9, as a + work-around for a missing Sun header file in solaris for sparc64. + +2001-02-04 Philip Blundell + + * config/arm/linux.mh (NATDEPFILES): Add proc-service.o, + thread-db.o, lin-lwp.o; remove lin-thread.o, linux-thread.o. + * config/arm/nm-linux.h (PREPARE_TO_PROCEED, ATTACH_LWP, + GET_THREAD_SIGNALS): Define. + * arm-linux-nat.c (fill_gregset): Correct type of argument. + (supply_gregset): Likewise. + (fill_fpregset): Likewise. + (supply_fpregset): Likewise. + +Tue Feb 6 11:58:57 2001 David Taylor + + * valops.c (value_cast): If casting a scalar to a pointer, do not + issue a message about truncation unless it exceeds the length of + an address, not the length of a pointer. This is because what the + user gives us is an address, not a pointer, and we will ultimately + convert it (via ADDRESS_TO_POINTER) to a pointer, not truncate it + to a pointer. This allows things like "print *(int *)0x01000234" + to work without generating a misleading message on a target having + two byte pointers and four byte addresses. + +2001-02-05 Christopher Faylor + + * win32-nat.c: Change PTR to void * throughout. + +2001-02-05 J.T. Conklin + + * signals.h: Removed. + * event-top.c (#include ): Changed from signals.h. + * inflow.c: Likewise. + * mac-xdep.c: Likewise. + * ser-pipe.c: Likewise. + * ser-tcp.c: Likewise. + * standalone.c: Likewise. + * top.c: Likewise. + * utils.c: Likewise. + * Makefile.in: Removed signals.h from dependencies. + +2001-02-05 Christopher Faylor + + Change suggested by Dean Luick + * inferior.h (step_over_calls_kind): Remove trailing comma from + last enum element. + (step_over_calls): Declare as extern rather than global. + +2001-02-05 Elena Zannoni + + * sh-tdep.c: Update copyright. + (sh_extract_return_value): Rewrite. + (sh3e_sh4_extract_return_value): New function. + (sh_gdbarch_init): Initialize gdbarch_extract-return_value to new + version of the function for sh3e and sh4 CPUs. + +2001-02-05 Michael Chastain + + * hppah-nat.c (child_xfer_memory): Add parameter 'struct mem_attrib *' + to conform with interface change. + +2001-02-04 Eli Zaretskii + + * config/djgpp/fnchange.lst: Tweak to make consistent with the + new files. + + * config/djgpp/djconfig.sh: Use explicit absolute file name when + invoking `find'. + + * ser-go32.c (dos_write) [UART_FIFO_WORKS]: Use outportsb only if + UART_FIFO_WORKS is defined. Otherwise use outportb. + From Francisco Pastor + + * go32-nat.c (go32_xfer_memory): Make the argument list consistent + with target.h's `to_xfer_memory' member. + +2001-02-02 J.T. Conklin + + * ppc-bdm.c (#include ): Removed. + * remote-array.c: Likewise. + * remote-bug.c: Likewise. + * remote-e7000.c: Likewise. + * remote-mips.c: Likewise. + * remote-os9k.c: Likewise. + * remote-st.c: Likewise. + * remote-udi.c: Likewise. + * remote-vx29k.c: Likewise. + * remote-vx68.c: Likewise. + * remote-vx960.c: Likewise. + * remote-vxmips.c: Likewise. + * remote-vxsparc.c: Likewise. + +2001-02-02 John Moore + + * remote-utils.h (sr_set_device): Changed free() to xfree() where + appropriate. Also changed Copyright to include 2001. + * symtab.h (obstack_chunk_free, SYMBOL_INIT_DEMANGLED_NAME): Likewise. + * value.h (value_free): Likewise. + * gdbarch.sh (gdbarch_free): Likewise. + * gdbarch.c, gdbarch.h: Regenerated. + +2001-02-02 John Moore + + * cli/cli-cmds.c (apropos_command): Changed occurance of free() to + xfree(). Also changed Copyright to include 2001. + +2001-02-02 J.T. Conklin + + * monitor.c (#include "gdb_wait.h"): Removed. + * ocd.c: Likewise. + * ppc-bdm.c: Likewise. + * remote-adapt.c: Likewise. + * remote-array.c: Likewise. + * remote-bug.c: Likewise. + * remote-e7000.c: Likewise. + * remote-eb.c: Likewise. + * remote-es.c: Likewise. + * remote-mips.c: Likewise. + * remote-mm.c: Likewise. + * remote-nindy.c: Likewise. + * remote-os9k.c: Likewise. + * remote-rdi.c: Likewise. + * remote-rdp.c: Likewise. + * remote-sds.c: Likewise. + * remote-sim.c: Likewise. + * remote-st.c: Likewise. + * remote-udi.c: Likewise. + * remote-vx.c: Likewise. + * remote-vx29k.c: Likewise. + * remote-vx68.c: Likewise. + * remote-vx960.c: Likewise. + * remote-vxmips.c: Likewise. + * remote-vxsparc.c: Likewise. + * remote.c: Likewise. + * ser-pipe.c: Likewise. + * ser-unix.c: Likewise. + * Makefile.in: Updated dependencies. + +2001-01-31 David Smith + + * event-loop.c: Change inclusion of string.h to gdb_string.h and + updated the copyright notice. + * ser-pipe.c: Ditto. + * mi/mi-cmds.c: Ditto. + * mi/mi-console.c: Ditto. + * mi/mi-getopt.c: Ditto. + * mi/mi-parse.c: Ditto. + +2001-01-31 David Smith + + * MAINTAINERS: Add David Smith to Write After Approval list. + +Tue Jan 30 15:43:08 2001 Andrew Cagney + + * cli/cli-utils.c (putchar_filtered): Move function from here. + * utils.c (putchar_filtered): To here. + * cli/cli-utils.h (putchar_filtered): Move declaration from here. + * defs.h (putchar_filtered): To here. + +Tue Jan 30 17:27:11 2001 Andrew Cagney + + * configure.in (AC_CHECK_FUNCS): Replace vfork test with + AC_FUNC_VFORK macro. + * config.in, configure: Re-generate. + + * gdb_vfork.h: New file. + * ser-pipe.c (pipe_open): Update. Include "gdb_vfork.h". + * fork-child.c (fork_inferior): Ditto. + +Tue Jan 30 17:09:07 2001 Andrew Cagney + + * defs.h (strsave): Delete declaration. + * utils.c (strsave): Delete definition. + * TODO (strsave): Update + + * mac-xdep.c (tilde_expand): Replace strsave with xstrdup. + * sparcl-tdep.c (sparclite_open): Ditto. + * mips-tdep.c (mips_set_processor_type_command): Ditto. + (_initialize_mips_tdep): Ditto. + * solib.c (solib_open): Ditto. + * symfile.c (add_filename_language): Ditto. + (set_ext_lang_command): Ditto. + * source.c (init_source_path): Ditto. + (mod_path): Ditto. + * sh3-rom.c (sh3_open): Ditto. + (sh3e_open): Ditto. + * serial.c (serial_open): Ditto. + * remote-mips.c (common_open): Ditto. + * monitor.c (monitor_open): Ditto. + * m32r-rom.c (m32r_upload_command): Ditto. + * infcmd.c (path_command): Ditto. + * f-exp.y (parse_number): Ditto. + * breakpoint.c (create_longjmp_breakpoint): Ditto. + (create_thread_event_breakpoint): Ditto. + * arc-tdep.c (arc_set_cpu_type_command): Ditto. + (_initialize_arc_tdep): Ditto. + +Tue Jan 30 15:14:26 2001 Andrew Cagney + + * cli/cli-script.c (define_command): Check for a bad hook value in + switch statement. + +2001-01-30 J.T. Conklin + + * configure/sh/embed.mt: New file. + * configure/sh/linux.mt: New file. + * configure/sh/sh.mt: Removed. + * configure.tgt (sh-*-hms,sh-*-coff*,sh-*-elf*,sh-*-linux): New targets. + (sh-*-*): Removed. + +2001-01-29 Michael Chastain + + * symtab.c (lookup_block_symbol): Use 'namespace' parameter in + symbol comparisons in binary search. + +2001-01-27 Christopher Faylor + + * win32-nat.c (child_xfer_memory): Add missing argument required by + 2001-01-23 change. + +2001-01-27 Mark Kettenis + + * ui-out.c (do_list_end): New function. + (make_cleanup_ui_out_list_end): New function. + * ui-out.h: Provide prototype for make_cleanup_ui_out_list_end. + * stack.c (print_frame) [UI_OUT]: Call + make_cleanup_ui_out_list_end to make sure we mark the end of the + list if we do a non-local exit. At the end of the function, + instead of calling ui_out_list_end directly, let do_cleanups + handle it. + +2001-01-26 Fernando Nasser + + Fix double parsing of filenames passed as command line arguments + to GDB (causes weird handling of escape characters). + Also, remove dependencies on the CLI from libgdb. + * call-cmds.h: Remove declaration of exec_file_command(). + * gdbcore.h: Remove declaration of exec_file_command(). + Add declarations for exec_open() and exec_file_clear(). + * symfile.h: Add declarations for symbol_file_add_main() and + symbol_file_clear(). + * exec.c (exec_open): New function. Implements to_open for exec + targets. + (exec_file_clear): New function. Makes GDB forget about a previously + specified executable file. + (exec_file_attach): Move parsing of arguments from here ... + (exec_file_command): ... to here. + (init_exec_ops): Use exec_open(), not exec_file_command() to + implement to_open for exec targets. + * symfile.c (symbol_file_add_main): New function. Call symbol_file_add() + with default values. Used when the file name has already been parsed. + (symbol_file_clear): New function. Makes GDB forget about previously + read symbols. + (symbol_file_command): Call the above function instead of inline code. + * main.c: Include "symfile.h" and "gdbcore.h" instead of the deprecated + "call-cmds.h". + (captured_main): Call exec_file_attach() and symbol_file_add_main() + instead of exec_file_command() and symbol_file_command(). + (captured_main): Add comment. + * corefile.c: Include "symfile.h". + (core_file_command): Call symbol_file_add_main() instead of + symbol_file_command(). + (reopen_exec_file): Call exec_open() instead of exec_file_command(). + * infcmd.c: Include "symfile.h". + (attach_command): Call symbol_file_add_main() instead of + symbol_file_command(). + * infrun.c: Remove comment about the inclusion of "symfile.h", + not any longer appropriate. + (follow_exec): Call symbol_file_add_main() instead of + symbol_file_command(). + * remote-es.c: Include "symfile.h". + (es1800_load): Call symbol_file_add_main() instead of + symbol_file_command(). + * remote-vx.c: Remove comment about the inclusion of "symfile.h", + not any longer appropriate. + (vx-wait): Call symbol_file_add_main() instead of + symbol_file_command(). + * solib-svr4.c (open_symbol_file_object): Call symbol_file_add_main() + instead of symbol_file_command(). + * v850ice.c (ice_file): Call exec_open(), exec_file_attach() and + symbol_file_add_main() instead of exec_file_command() and + symbol_file_command(). + * Makefile.in: Update dependencies. + +2001-01-26 Jeff Holcomb + + * remote-udi.c (udi_open): Change strdup to xstrdup. + * thread.c (thread_apply_all_command): Change strdup to xstrdup. + Update copyright message. + * varobj.c (delete_variable_1): Likewise. + + * gdb_string.h: Remove declaration of strdup. Update copyright + message. + * config/xm-mpw.h: Likewise. + * config/i386/xm-i386mach.h: Likewise. + * config/m68k/xm-apollo68b.h: Likewise. + * config/m68k/xm-hp300bsd.h: Likewise. + * config/rs6000/xm-rs6000.h: Likewise. + * config/vax/xm-vaxult.h: Remove declaration of strdup. + * config/vax/xm-vaxult2.h: Likewise. + +2001-01-26 Jeff Holcomb + + * MAINTAINERS: Add Jeff Holcomb to Write After Approval list. + +2001-01-25 J.T. Conklin + + * target.c (target_xfer_memory_partial): Return -1 on failure due + to invalid access mode attribute. + +2001-01-25 Christopher Faylor + + * win32-nat.c (_initialize_core_win32): Prototype correctly. + +2001-01-25 Mark Kettenis + + * config/alpha/tm-fbsd.h: Update copyright. + (USE_STRUCT_CONVENTION): Define in terms of + alphabsd_use_struct_convention. + * config/alpha/fbsd.mt (TDEPFILES): Add alphafbsd-tdep.c. + * alphafbsd-tdep.c: New file. + +2001-01-24 Fernando Nasser + + * top.c (print_gdb_version): Update Copyright year. + +2001-01-24 J.T. Conklin + + * dcache.c (dcache_write_line): Fix typo. + + * memattr.c (delete_mem_region): Replace free() with xfree(). + (mem_number): Add explicit type. + + * sol-thread.c (sol_thread_xfer_memory): Add attrib argument. + (rw_common): Likewise. + +2001-01-24 Fernando Nasser + + * infcmd.c (get_inferior_args, set_inferior_args): Accessor functions + for the inferior program arguments. + (run_command, run_no_args_command, init_infcmd)): Use accessor + functions to set the inferior program arguments. + * inferior.h: Add definitions to the accessor functions above. + +2001-01-23 Jim Blandy + + * dwarf2read.c (read_tag_const_type, read_tag_volatile_type): + Implement these correctly, using make_cv_type. + +2001-01-23 J.T. Conklin + + * exec.c (xfer_memory): Add attrib argument. + * infptrace.c (child_xfer_memory): Likewise. + * lin-lwp.c (lin_lwp_xfer_memory): Likewise. + * monitor.c (monitor_xfer_memory): Likewise. + * remote-adapt.c (adapt_xfer_inferior_memory): Likewise. + * remote-array.c (array_xfer_memory): Likewise. + * remote-bug.c (bug_xfer_memory): Likewise. + * remote-e7000.c (e7000_xfer_inferior_memory): Likewise. + * remote-eb.c (eb_xfer_inferior_memory): Likewise. + * remote-es.c (es1800_xfer_inferior_memory): Likewise. + * remote-mips.c (mips_xfer_memory): Likewise. + * remote-mm.c (mm_xfer_inferior_memory): Likewise. + * remote-nindy.c (nindy_xfer_inferior_memory): Likewise. + * remote-os9k.c (rombug_xfer_inferior_memory): Likewise. + * remote-rdi.c (arm_rdi_xfer_memory): Likewise. + * remote-rdp.c (remote_rdp_xfer_inferior_memory): Likewise. + * remote-sds.c (sds_xfer_memory): Likewise. + * remote-sim.c (gdbsim_xfer_inferior_memory): Likewise. + * remote-st.c (st2000_xfer_inferior_memory): Likewise. + * remote-udi.c (udi_xfer_inferior_memory): Likewise. + * remote-vx.c (vx_xfer_memory): Likewise. + * remote.c (remote_xfer_memory): Likewise. + * target.c (debug_to_xfer_memory, do_xfer_memory): Likewise. + * target.h (child_xfer_memory, do_xfer_memory, xfer_memory): Likewise. + * thread-db.c (thread_db_xfer_memory): Likewise. + + * target.h (#include "memattr.h"): Added. + (target_ops.to_xfer_memory): Add attrib argument. + + * wince.c (_initialize_inftarg): Removed call to set_dcache_state. + * dcache.h (set_dcache_state): Removed declaration. + * dcache.c (set_dcache_state): Removed definition + + * dcache.c: Update module comment, as dcache is now enabled and + disabled with memory region attributes instead of by the global + variable "remotecache". Add comment describing the interaction + between dcache and memory region attributes. + (dcache_xfer_memory): Add comment describing benefits of moving + cache writeback to a higher level. + (dcache_struct): Removed cache_has_stuff field. This was used to + record whether the cache had been accessed in order to invalidate + it when it was disabled. However, this is not needed because the + cache is write through and the code that enables, disables, and + deletes memory regions invalidate the cache. Add comment which + suggests that we could be more selective and only invalidate those + cache lines containing data from those memory regions. + (dcache_invalidate): Updated. + (dcache_xfer_memory): Updated. + + (dcache_alloc): Don't abort() if dcache_enabled_p is clear. + (dcache_xfer_memory): Removed code that called do_xfer_memory() to + perform a uncached transfer if dcache_enabled_p was clear. This + function is now only called if caching is enabled for the memory + region. + (dcache_info): Always print cache info. + + * target.c (do_xfer_memory): Add attrib argument. + (target_xfer_memory, target_xfer_memory_partial): Break transfer + into chunks defined by memory regions, pass region attributes to + do_xfer_memory(). + * dcache.c (dcache_read_line, dcache_write_line): Likewise. + + * Makefile.in (SFILES): Add memattr.c. + (COMMON_OBS): Add memattr.o. + (dcache.o): Add target.h to dependencies. + * memattr.c: New file. + * memattr.h: Likewise. + + * config/m32r/m32r.mt (GDBSERVER_LIBS): Added ../../intl/libintl.a. + * config/mips/vr5000.mt (GDBSERVER_LIBS): Likewise. + * config/tic80/tic80.mt (GDBSERVER_LIBS): Likewise. + * gdbserver/low-sim.c (#include "defs.h"): Removed. + (mygeneric_load): Rename from generic_load. + + * gdbserver/low-hppabsd.c (#include "server.h"): Added. + (#include "defs.h"): Removed. + (inferior_pid, perror_with_name): Remove declarations. + * gdbserver/low-linux.c: Likewise. + * gdbserver/low-nbsd.c: Likewise. + * gdbserver/low-sparc.c: Likewise. + * gdbserver/low-sun3.c: Likewise. + + * i386-stub.c: Re-indent. + * m68k-stub.c: Re-indent. + +2001-01-22 Nicholas Duffek + + * gdbarch.sh (PARM_BOUNDARY): Define. + * gdbarch.c: Regenerate. + * gdbarch.h: Regenerate. + +2001-01-22 J.T. Conklin + + * ns32k-tdep.c: #include "frame.h" + * config/ns32k/tm-umax.h (FRAME_FIND_SAVED_REGS): Restore. It + appears to have been inadvertantly removed sometime in May 1999. + + * Revert 2000-11-09 changes where shared library objects were + moved from NATDEPFILES to TDEPFILES on NetBSD targets. While + we'd like to be able to debug dynamically linked executables, + this makes it impossible to build a cross debugger on a many + hosts. + + * config/i386/nbsd.mt: Remove solib.o, solib-svr4.o from TDEPFILES. + * config/i386/nbsdelf.mt: Likewise. + * config/m68k/nbsd.mt: Likewise. + * config/ns32k/nbsd.mt: Likewise. + * config/powerpc/nbsd.mt: Likewise. + * config/sparc/nbsd.mt: Likewise. + * config/sparc/nbsdelf.mt: Likewise. + * config/i386/nbsd.mh: Add solib.o, solib-svr4.o to NATDEPFILES. + * config/i386/nbsdelf.mh: Likewise. + * config/m68k/nbsd.mh: Likewise. + * config/ns32k/nbsd.mh: Likewise. + * config/powerpc/nbsd.mh: Likewise. + * config/sparc/nbsd.mh: Likewise. + +2001-01-19 Jason Merrill + + * dbxread.c (read_ofile_symtab): Stay with AUTO_DEMANGLING for G++. + (process_one_symbol): Likewise. + * dwarfread.c (handle_producer): Likewise. + +Thu Jan 18 12:08:57 2001 Andrew Cagney + + * configure.in (build_warnings): Disable -Wuninitialized until GDB + compiles with -Wuninitialized,-Werror. + * configure: Regenerate. + + * MAINTAINERS: Add list of buildable targets. + +Thu Jan 18 12:48:04 2001 Andrew Cagney + + * defs.h (STRCMP): Delete macro. + + * objfiles.c (objfile_relocate): Replace STRCMP with call to + strcmp. + * symtab.c (lookup_partial_symbol, lookup_block_symbol): Ditto. + * symfile.c (compare_symbols): Ditto. + * standalone.c (open): Ditto. + * remote-es.c (verify_break): Ditto. + * cli/cli-decode.c (add_cmd, add_show_from_set): Ditto. + + * symfile.c (compare_psymbols): Delete comment refering to STRCMP. + +Thu Jan 18 12:25:06 2001 Andrew Cagney + + * varobj.c (FREEIF): Delete macro. + (varobj_set_value, free_variable): Replace FREEIF with ``xfree'' + call. + +2001-01-18 Nick Clifton + + * arc-tdep.c (arc_cpu_type_table): Add new arc core numbers. + (arc_print_insn): No bfd available, so pass NULL to + arc_get_disassembler. + +2001-01-09 James Ingham + + * symtab.c (lookup_symbol_aux): Call lookup_symbol_aux to lookup + a mangled symbol rather than recursing into lookup_symbol, since + this will just re-unmangle the name & call lookup_symbol_aux - + leading to an infinite recursion. + +2001-01-18 Mark Kettenis + + * infcmd.c (print_return_value): Restore another space lost by + switch to UIOUT. ``$NN='' should be ``$NN =''. + +Fri Jan 19 02:31:40 2001 Andrew Cagney + + * target.h (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT) + * breakpoint.c (TARGET_REGION_OK_FOR_HW_WATCHPOINT): Wrap macro + definition in parenthesis. + +Fri Jan 19 02:13:40 2001 Andrew Cagney + + From 2000-10-27 Mark Salter : + * remote.c (remote_remove_hw_breakpoint): Add 'len' field to Z + packet. + (remote_insert_hw_breakpoint): Ditto. + +2001-01-17 J.T. Conklin + + * config/m68k/tm-nbsd.h (USE_STRUCT_CONVENTION): Define. + (BPT_VECTOR, REMOTE_BPT_VECTOR): Change to 0xf. + * config/m68k/nbsd.mt (TDEPFILES): Add m68knbsd-tdep.o. + * m68knbsd-tdep.c: New file. + + * i386nbsd-tdep.c: Remove #if 0'd out #includes. + + * m68knbsd-nat.c: #include gdbcore.h. + +Wed Jan 17 09:41:58 2001 Andrew Cagney + + * MAINTAINERS: Add J.T. Conklin to Blanket Write Privs. + +2001-01-16 Michael Snyder + + * procfs.c (procfs_stopped_by_watchpoint): Don't die if process + goes away -- just return false (ie. not stopped by watchpoint). + * source.c (openp): Fix typo in comment. + +2001-01-12 Nicholas Duffek + + * blockframe.c (generic_get_saved_register): Spelling fix. + * frame.h (FRAME_FP): Spelling fix. + +Fri Jan 12 18:29:46 2001 Andrew Cagney + + * infcmd.c (print_return_value): Restore space lost by switch to + UIOUT. ``$NN='' should be ``$NN =''. + +2001-01-08 Nicholas Duffek + + * regcache.c (set_register_cached, register_buffer, + real_register, pseudo_register fetch_register, store_register): + New functions. + (register_changed, read_relative_register_raw_bytes_for_frame, + registers_changed, registers_fetched, read_register_bytes, + read_register_gen, write_register_gen, read_register, + read_signed_register, write_register, supply_register): Replace + register_valid[] with register_cached() and + set_register_cached(). + (read_register_bytes, read_register_gen, write_register_gen, + read_register, read_signed_register, write_register, + supply_register): Replace registers[] with register_buffer(). + (read_register_bytes, read_register_gen, read_register, + read_signed_register): Call fetch_register(). + (write_register_gen, write_register): Call real_register() and + store_register(). + (write_register_bytes): Call store_register(). + * value.h (set_register_cached, register_buffer): Prototype. + * remote.c (remote_fetch_registers): Allocate regs[] with a + run-time size. Replace register_valid[] with + set_register_cached(). + (store_register_using_P, remote_store_registers): Replace + registers[] with register_buffer(). + +2001-01-08 Nicholas Duffek + + * regcache.c: Change "write-back" comment to "write-through". + Change "regno" to "regnum". + (read_register, read_signed_register): Remove "raw" from return + value description. + (supply_register): Spelling fix. + * value.h: Change "regno" to "regnum". + +2001-01-08 Fernando Nasser + + * Makefile.in (install-gdbtk): Add .itcl files to the list of files + to be installed. + +2001-01-04 Michael Snyder + + * mips-tdep.c (mips_coerce_float_to_double): Fix typo in comment. + +2001-01-04 Nicholas Duffek + + * valops.c (VALUE_SUBSTRING_START): Delete. + +2001-01-04 Nicholas Duffek + + * Makefile.in (SUBDIR_CLI_OBS): Add cli/cli-utils.o. + (SUBDIR_CLI_SRCS): Add cli/cli-utils.c. + (cli_utils_h): New variable. + (cli/cli-utils.o): New rule. + * cli/cli-utils.c: New file. + * cli/cli-utils.h: New file. + +2001-01-04 Nicholas Duffek + + * config/i386/tm-i386.h (REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Delete trailing semicolon. + +2001-01-03 J.T. Conklin + + * alphabsd-nat.c, i386-linux-nat.c, i386bsd-nat.c: Fix typo in + comment. + +2001-01-02 Michael Snyder + + * sh-tdep.c (sh_default_store_return_value): Allow for small return type. + (sh3e_sh4_store_return_value): Call sh_default_store_return_value for + non-float types. + * sparc-tdep.c (sparc_frame_chain): Fix typo in comment. + Update copyright notice. + +For older changes see ChangeLog-2000 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-3.x b/contrib/gdb/gdb/ChangeLog-3.x new file mode 100644 index 0000000..672aa3d --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-3.x @@ -0,0 +1,4838 @@ +Tue Jan 23 15:49:47 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (define_symbol): Deal with deftype 'X'. + + * convex-dep.c (wait): Make it pid_t. + + * convex-dep.c (comm_registers_info): accept decimal comm register + specification, as "i comm 32768". + + * dbxread.c (process_one_symbol): Make VARIABLES_INSIDE_BLOCK + macro say by itself where variables are. Pass it desc. + m-convex.h (VARIABLES_INSIDE_BLOCK): Nonzero for native compiler. + + * m-convex.h (SET_STACK_LIMIT_HUGE): Define. + (IGNORE_SYMBOL): Take out #ifdef N_MONPT and put in 0xc4. + +Fri Jan 19 20:04:15 1990 Jim Kingdon (kingdon at albert.ai.mit.edu) + + * printcmd.c (print_frame_args): Always set highest_offset to + current_offset when former is -1. + + * dbxread.c (read_struct_type): Print nice error message + when encountering multiple inheritance. + +Thu Jan 18 13:43:30 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Always treat N_FN as a potential + source for a x.o or -lx symbol, ignoring OFILE_FN_FLAGGED. + + * printcmd.c (print_frame_args): Cast -1 to (CORE_ADDR). + + * hp300bsd-dep.c (_initialize_hp300_dep): Get kernel_u_addr. + m-hp300bsd.h (KERNEL_U_ADDR): Use kernel_u_addr. + + * infcmd.c (run_command): #if 0 out call to + breakpoint_clear_ignore_counts. + +Thu Jan 11 12:58:12 1990 Jim Kingdon (kingdon at mole) + + * printcmd.c (print_frame_args) [STRUCT_ARG_SYM_GARBAGE]: + Try looking up name of var before giving up & printing '?'. + +Wed Jan 10 14:00:14 1990 Jim Kingdon (kingdon at pogo) + + * many files: Move stdio.h before param.h. + + * sun3-dep.c (store_inferior_registers): Only try to write FP + regs #ifdef FP0_REGNUM. + +Mon Jan 8 17:56:15 1990 Jim Kingdon (kingdon at pogo) + + * symtab.c: #if 0 out "info methods" code. + +Sat Jan 6 12:33:04 1990 Jim Kingdon (kingdon at pogo) + + * dbxread.c (read_struct_type): Set TYPE_NFN_FIELDS_TOTAL + from all baseclasses; remove vestigial variable baseclass. + + * findvar.c (read_var_value): Check REG_STRUCT_HAS_ADDR. + printcmd.c (print_frame_args): Check STRUCT_ARG_SYM_GARBAGE. + m-sparc.h: Define REG_STRUCT_HAS_ADDR and STRUCT_ARG_SYM_GARBAGE. + + * blockframe.c (get_frame_block): Subtract one from pc if not + innermost frame. + +Fri Dec 29 15:26:33 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * printcmd.c (print_frame_args): check highest_offset != -1, not i. + +Thu Dec 28 16:21:02 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valops.c (value_struct_elt): Clean up error msg. + + * breakpoint.c (describe_other_breakpoints): + Delete extra space before "also set at" and add period at end. + +Tue Dec 19 10:28:42 1989 Jim Kingdon (kingdon at pogo) + + * source.c (print_source_lines): Tell user which line number + was out of range when printing error message. + +Sun Dec 17 14:14:09 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * blockframe.c (find_pc_partial_function): Use + BLOCK_START (SYMBOL_BLOCK_VALUE (f)) instead of + SYMBOL_VALUE (f) to get start of function. + + * dbxread.c: Make xxmalloc just a #define for xmalloc. + +Thu Dec 14 16:13:16 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m68k-opcode.h (fseq & following fp instructions): + Change @ to $. + +Fri Dec 8 19:06:44 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * breakpoint.c (breakpoint_clear_ignore_counts): New function. + infcmd.c (run_command): Call it. + +Wed Dec 6 15:03:38 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valprint.c: Change it so "array-max 0" means there is + no limit. + + * expread.y (yylex): Change error message "invalid token in + expression" to "invalid character '%c' in expression". + +Mon Dec 4 16:12:54 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * blockframe.c (find_pc_partial_function): Always return 1 + for success, 0 for failure, and set *NAME and *ADDRESS to + match the return value. + + * dbxread.c (symbol_file_command): Use perror_with_name on + error from stat. + (psymtab_to_symtab, add_file_command), + core.c (validate_files), source.c (find_source_lines), + default-dep.c (exec_file_command): Check for errors from stat, + fstat, and myread. + +Fri Dec 1 05:16:42 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valops.c (check_field): When following pointers, just get + their types; don't call value_ind. + +Thu Nov 30 14:45:29 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb (pyr): New machine. + core.c [REG_STACK_SEGMENT]: New code. + dbxread.c (process_one_symbol): Cast return from copy_pending + to long before casting to enum namespace. + infrun.c: Split registers_info into DO_REGISTERS_INFO + and registers_info. + m-pyr.h, pyr-{dep.c,opcode.h,pinsn.c}: New files. + + * hp300bsd-dep.c: Stay in sync with default-dep.c. + + * m-hp300bsd.h (IN_SIGTRAMP): Define. + +Mon Nov 27 23:48:21 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * m-sparc.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): + Return floating point values in %f0. + +Tue Nov 21 00:34:46 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (read_type): #if 0 out code which skips to + comma following x-ref. + +Sat Nov 18 20:10:54 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valprint.c (val_print): Undo changes of Nov 11 & 16. + (print_string): Add parameter force_ellipses. + (val_print): Pass force_ellipses true when we stop fetching string + before we get to the end, else pass false. + +Thu Nov 16 11:59:50 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * infrun.c (restore_inferior_status): Don't try to restore + selected frame if the inferior no longer exists. + + * valprint.c (val_print): Rewrite string printing code not to + call print_string. + + * Makefile.dist (clean): Remove xgdb and xgdb.o. + +Tue Nov 14 12:41:47 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Makefile.dist (XGDB, bindir, xbindir, install, all): New stuff. + +Sat Nov 11 15:29:38 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valprint.c (val_print): chars_to_get: New variable. + +Thu Nov 9 12:31:47 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (main): Process "-help" as a switch that doesn't + take an argument. + +Wed Nov 8 13:07:02 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Makefile.dist (gdb.tar.Z): Add "else true". + +Tue Nov 7 12:25:14 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * infrun.c (restore_inferior_status): Don't dereference fid if NULL. + + * config.gdb (sun3, sun4): Accept "sun3" and "sun4". + +Mon Nov 6 09:49:23 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Makefile.dist (Makefile): Move comments after commands. + + * *-dep.c [READ_COFF_SYMTAB]: Pass optional header size to + read_section_hdr(). + + * inflow.c: Include regardless of USG. + + * coffread.c (read_section_hdr): Add optional_header_size. + (symbol_file_command): Pass optional header size to + read_section_hdr(). + (read_coff_symtab): Initialize filestring. + + * version.c: Change version to 3.4.xxx. + + * GDB 3.4 released. + +Sun Nov 5 11:39:01 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * version.c: Change version to 3.4. + + * symtab.c (decode_line_1): Only skip past "struct" if it + is there. + + * valops.c (value_ind), eval.c (evaluate_subexp, case UNOP_IND): + Have "*" return an int, not a LONGEST. + + * utils.c (fprintf_filtered): Pass arg{4,5,6} to sprintf. + + * printcmd.c (x_command): Use variable itself rather + than treating it as a pointer only if it is a function. + (See comment "this makes x/i main work"). + + * coffread.c (symbol_file_command): Use error for + "%s does not have a symbol-table.\n". + +Wed Nov 1 19:56:18 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c [BELIEVE_PCC_PROMOTION_TYPE]: New code. + m-sparc.h: Define BELIEVE_PCC_PROMOTION_TYPE. + +Thu Oct 26 12:45:00 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * infrun.c: Include . + + * dbxread.c (read_dbx_symtab, case N_LSYM, case 'T'): + Check for enum types and put constants in psymtab. + +Mon Oct 23 15:02:25 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (define_symbol, read_dbx_symtab): Handle enum + constants (e.g. "b:c=e6,0"). + +Thu Oct 19 14:57:26 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * stack.c (frame_info): Use FRAME_ARGS_ADDRESS_CORRECT + m-vax.h (FRAME_ARGS_ADDRESS_CORRECT): New macro. + (FRAME_ARGS_ADDRESS): Restore old meaning. + + * frame.h (Frame_unknown): New macro. + stack.c (frame_info): Check for Frame_unknown return from + FRAME_ARGS_ADDRESS. + m-vax.h (FRAME_ARGS_ADDRESS): Sometimes return Frame_unknown. + + * utils.c (fatal_dump_core): Add "internal error" to message. + + * infrun.c (IN_SIGTRAMP): New macro. + (wait_for_inferior): Use IN_SIGTRAMP. + m-vax.h (IN_SIGTRAMP): New macro. + +Wed Oct 18 15:09:22 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb, Makefile.dist: Shorten m-i386-sv32.h. + + * coffread.c (symbol_file_command): Pass 0 to select_source_symtab. + +Tue Oct 17 12:24:41 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * i386-dep.c (i386_frame_num_args): Take function from m-i386.h + file. Check for pfi null. + m-i386.h (FRAME_NUM_ARGS): Use i386_frame_num_args. + + * infrun.c (wait_for_inferior): set stop_func_name to 0 + before calling find_pc_partial_function. + +Thu Oct 12 01:08:50 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * breakpoint.c (_initialize_breakpoint): Add "disa". + + * Makefile.dist: Add GLOBAL_CFLAGS and pass to readline. + + * config.gdb (various): "$machine =" -> "machine =". + +Wed Oct 11 11:54:31 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * inflow.c (try_writing_regs): #if 0 out this function. + + * main.c (main): Add "-help" option. + + * dbxread.c (read_dbx_symtab): Merge code for N_FUN with + N_STSYM, etc. + +Mon Oct 9 14:21:55 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * inflow.c (try_writing_regs_command): Don't write past end + of struct user. + + * dbxread.c (read_struct_type): #if 0 out code which checks for + bitpos and bitsize 0. + + * config.gdb: Accept sequent-i386 (not seq386). + (symmetry): Set depfile and paramfile. + + * m-convex.h (IGNORE_SYMBOL): Check for N_MONPT if defined. + +Thu Oct 5 10:14:26 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * default-dep.c (read_inferior_memory): Put #if 0'd out comment + within /* */. + +Wed Oct 4 18:44:41 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * config.gdb: Change /dev/null to m-i386.h for various + 386 machine "opcodefile" entries. + + * config.gdb: Accept seq386 for sequent symmetry. + +Mon Oct 2 09:59:50 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * hp300bsd-dep.c: Fix copyright notice. + +Sun Oct 1 16:25:30 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Makefile.dist (DEPFILES): Add isi-dep.c. + + * default-dep.c (read_inferior_memory): Move #endif after else. + +Sat Sep 30 12:50:16 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * version.c: Change version number to 3.3.xxx. + + * GDB 3.3 released. + + * version.c: Change version number to 3.3. + + * Makefile.dist (READLINE): Add vi_mode.c + + * config.gdb (i386): Change /dev/null to m-i386.h + + * config.gdb: Add ';;' before 'esac'. + + * Makefile.dist (gdb.tar.Z): Move comment above dependency. + + * dbxread.c (read_ofile_symtab): Check symbol before start + of source file for GCC_COMPILED_FLAG_SYMBOL. + (start_symtab): Don't clear processing_gcc_compilation. + +Thu Sep 28 22:30:23 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * valprint.c (print_string): If LENGTH is zero, print "". + +Wed Sep 27 10:15:10 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * config.gdb: "rm tmp.c" -> "rm -f tmp.c". + +Tue Sep 26 13:02:10 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * utils.c (_initialize_utils): Use termcap to set lines_per_page + and chars_per_line. + +Mon Sep 25 10:06:43 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (read_dbx_symtab, N_SOL): Do not add the same file + more than once. + +Thu Sep 21 12:43:18 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * infcmd.c (unset_environment_command): Delete all variables + if called with no arg. + + * remote.c, inferior.h (remote_{read,write}_inferior_memory): + New functions. + core.c ({read,write}_memory): Use remote_{read,write}_inferior_memory. + + * valops.c (call_function): When reserving stack space for + arguments, call value_arg_coerce. + + * m-hp9k320.h: define BROKEN_LARGE_ALLOCA. + + * breakpoint.c (delete_command): Ask for confirmation only + when there are breakpoints. + + * dbxread.c (read_struct_type): If lookup_basetype_type has + copied a stub type, call add_undefined_type. + + * sparc_pinsn.c (compare_opcodes): Check for "1+i" anywhere + in args. + + * val_print.c (type_print_base): Print stub types as + "". + +Wed Sep 20 07:32:00 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * sparc-opcode.h (swapa): Remove i bit from match. + (all alternate space instructions): Delete surplus "foo rs1+0" + patterns. + + * Makefile.dist (LDFLAGS): Set to $(CFLAGS). + + * remote-multi.shar (remote_utils.c, putpkt): Change csum to unsigned. + +Tue Sep 19 14:15:16 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * sparc-opcode.h: Set i bit in lose for many instructions which + aren't immediate. + + * stack.c (print_frame_info): add "func = 0". + +Mon Sep 18 16:19:48 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * sparc-opcode.h (mov): Add mov to/from %tbr, %psr, %wim. + + * sparc-opcode.h (rett): Fix notation to use suggested assembler + syntax from architecture manual. + + * symmetry-dep.c (I386_REGNO_TO_SYMMETRY): New macro. + (i386_frame_find_saved_regs): Use I386_REGNO_TO_SYMMETRY. + +Sat Sep 16 22:21:17 1989 Jim Kingdon (kingdon at spiff) + + * remote.c (remote_close): Set remote_desc to -1. + + * gdb.texinfo (Output): Fix description of echo to match + reality and ANSI C. + +Fri Sep 15 14:28:59 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * symtab.c (lookup_symbol): Add comment about "asm". + + * sparc-pinsn.c: Use NUMOPCODES. + + * sparc-opcode.h (NUMOPCODES): Use sparc_opcodes[0] not *sparc_opcodes. + +Thu Sep 14 15:25:20 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * dbxread.c (xxmalloc): Print error message before calling abort(). + + * infrun.c (wait_for_inferior): Check for {stop,prev}_func_name + null before passing to strcmp. + +Wed Sep 13 12:34:15 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * sparc-opcode.h: New field delayed. + sparc-pinsn.c (is_delayed_branch): New function. + (print_insn): Check for delayed branches. + + * stack.c (print_frame_info): Use misc_function_vector in + case where ar truncates file names. + +Tue Sep 12 00:16:14 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * convex-dep.c (psw_info): Move "struct pswbit *p" with declarations. + +Mon Sep 11 14:59:57 1989 Jim Kingdon (kingdon at spiff) + + * convex-dep.c (core_file_command): Delete redundant printing + of "Program %s". + + * m-convex.h (ENTRY_POINT): New macro. + + * m-convex.h (FRAME_CHAIN_VALID): Change outside_first_object_file + to outside_startup_file + + * main.c: #if 0 out catch_termination and related code. + + * command.c (lookup_cmd_1): Consider underscores part of + command names. + +Sun Sep 10 09:20:12 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * printcmd.c: Change asdump_command to disassemble_command + (_initialize_printcmd): Change asdump to diassemble. + + * main.c (main): Exit with code 0 if we hit the end of a batch + file. + + * Makefile.dist (libreadline.a): Fix syntax of "CC=${CC}". + +Sat Sep 9 01:07:18 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * values.c (history_info): Renamed to value_history_info. + Command renamed to "info value" (with "info history" still + accepted). + + * sparc-pinsn.c (print_insn): Extend symbolic address printing + to cover "sethi" following by an insn which uses 1+i. + +Fri Sep 8 14:24:01 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-hp9k320.h, m-hp300bsd.h, m-altos.h, m-sparc.h, m-sun3.h + (READ_GDB_SYMSEGS): Remove. + dbxread.c [READ_GDB_SYMSEGS]: Remove code to read symsegs. + + * sparc-pinsn.c (print_insn): Detect "sethi-or" pairs and + print symbolic address. + + * sparc-opcode.h (sethi, set): Change lose from 0xc0000000 to + 0xc0c00000000. + + * remote.c (remote_desc): Initialize to -1. + + * Makefile.dist (libreadline.a): Pass CC='${CC}' to readline makefile. + +Thu Sep 7 00:07:17 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_struct_type): Check for static member functions. + values.c, eval.c, valarith.c, valprint.c, valops.c: Merge changes + from Tiemann for static member functions. + + * sparc-opcode.h (tst): Fix all 3 patterns. + + * Makefile.dist (gdb1): New rule. + + * sparc-opcode.h: Change comment about what the disassembler + does with the order of the opcodes. + + * sparc-pinsn.c (compare_opcodes): Put 1+i before i+1. + Also fix mistaken comment about preserving order of original table. + + * sparc-opcode.h (clr, mov): Fix incorrect lose entries. + + * m-symmetry.h (FRAME_NUM_ARGS): Add check to deal with code that + GCC sometimes generates. + + * config.gdb: Change all occurances of "skip" to "/dev/null". + + * README (about languages other than C): Update comments about + Pascal and FORTRAN. + + * sparc-opcode.h (nop): Change lose from 0xae3fffff to 0xfe3fffff. + + * values.c (value_virtual_fn_field): #if 0-out assignment to + VALUE_TYPE(vtbl). + +Wed Sep 6 12:19:22 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * utils.c (fatal_dump_core): New function. + Makefile.dist (MALLOC_FLAGS): use -Dbotch=fatal_dump_core + +Tue Sep 5 15:47:18 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * breakpoint.c (enable_command): With no arg, enable all bkpts. + + * Makefile.dist (Makefile): Remove \"'s around $(MD). + + * Makefile.dist: In "cd readline; make . . ." change first + SYSV_DEFINE to SYSV. + + * m68k-pinsn.c (_initialize_pinsn): Use alternate assembler + syntax #ifdef HPUX_ASM + +Sat Sep 2 23:24:43 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * values.c (history_info): Don't check num_exp[0] if num_exp + is nil (just like recent editing_info change). + +Fri Sep 1 19:19:01 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * gdb.texinfo (inc-history, inc-readline): Copy in the inc-* files + because people might not have makeinfo. + + * README (xgdb): Strengthen nasty comments. + + * gdb.texinfo: Change @setfilename to "gdb.info". + +Thu Aug 31 17:23:50 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * main.c (editing_info): Don't check arg[0] if arg is null. + + * m-vax.h: Add comment about known sigtramp bug. + + * sun3-dep.c, sparc-dep.c (IS_OBJECT_FILE, exec_file_command): + Get right text & data addresses for .o files. + +Wed Aug 30 13:54:19 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * utils.c (tilde_expand): Remove function (it's in readline). + + * sparc-opcode.h (call): Change "8" to "9" in first two + patterns (%g7->%o7). + +Tue Aug 29 16:44:41 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * printcmd.c (whatis_command): Change 4th arg to type_print + from 1 to -1. + +Mon Aug 28 12:22:41 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (psymtab_to_symtab_1): In "and %s ..." change + pst->filename to pst->dependencies[i]->filename. + + * blockframe.c (FRAMELESS_LOOK_FOR_PROLOGUE): New macro + made from FRAMELESS_FUNCTION_INVOCATION from m-sun3.h except + that it checks for zero return from get_pc_function_start. + m-hp9k320.h, m-hp300bsd.h, m-i386.h, m-isi.h, m-altos.h, + m-news.h, m-sparc.h, m-sun2.h, m-sun3.h, m-symmetry.h + (FRAMELESS_FUNCTION_INVOCATION): Use FRAMELESS_LOOK_FOR_PROLOGUE. + + * dbxread.c (read_struct_type): Give warning and ignore field + if bitpos and bitsize are zero. + +Sun Aug 27 04:55:20 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * dbxread.c (psymtab_to_symtab{,_1}): Print message about + reading in symbols before reading stringtab, not after. + +Sat Aug 26 02:01:53 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (IS_OBJECT_FILE, ADDR_OF_TEXT_SEGMENT): New macros. + (read_dbx_symtab): Use text_addr & text_size to set end_of_text_addr. + (symbol_file_command): pass text_addr & text_size to read_dbx_symtab. + +Fri Aug 25 23:08:13 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valprint.c (value_print): Try to give the name of function + pointed to when printing a function pointer. + +Thu Aug 24 23:18:40 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * core.c (xfer_core_file): In cases where MEMADDR is above the + largest address that makes sense, set i to len. + +Thu Aug 24 16:04:17 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * valprint.c (print_string): New function to print a character + string, doing array-max limiting and repeat count processing. + (val_print, value_print): Use print_string. + (REPEAT_COUNT_THRESHOLD): New #define, the max number of elts to print + without using a repeat count. Set to ten. + (value_print, val_print): Use REPEAT_COUNT_THRESHOLD. + + * utils.c (printchar): Use {fputs,fprintf}_filtered. + + * valprint.c (val_print): Pass the repeat count arg to the + fprintf_filtered call for "" messages. + +Wed Aug 23 22:53:47 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * utils.c: Include . + + * main.c: Declare free. + +Wed Aug 23 05:05:59 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * utils.c, defs.h: Add tilde_expand. + source.c (directory_command), + main.c (cd_command), + main.c (set_history_filename), + dbxread.c (symbol_file_command), + coffread.c (symbol_file_command), + dbxread.c (add_file_command), + symmisc.c (print_symtabs), + *-dep.c (exec_file_command, core_file_command), + main.c (source_command): Use tilde_expand. + + * dbxread.c (read_type): When we get a cross-reference, resolve + it immediately if possible, only calling add_undefined_type if + necessary. + + * gdb.texinfo: Uncomment @includes and put comment at start + of file telling people to use makeinfo. + + * valprint.c (type_print_base): Print the right thing for + bitfields. + + * config.gdb (sun3os3): Set paramfile and depfile. + +Tue Aug 22 05:38:36 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (symbol_file_command): Pass string table size to + read_dbx_symtab(). + (read_dbx_symtab): Before indexing into string table, check + string table index for reasonableness. + (psymtab_to_symtab{,_1}, read_ofile_symtab): Same. + +Tue Aug 22 04:04:39 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * m68k-pinsn.c: Replaced many calls to fprintf and fputs with + calls to fprintf_filtered and fputs_filtered. + (print_insn_arg): Use normal MIT 68k syntax for postincrement, + predecrement, and register indirect addressing modes. + +Mon Aug 21 10:08:02 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (initialize_signals): Set signal handler for SIGQUIT + and SIGHUP to do_nothing. + + * ns32k-opcode.h (ord): Change 1D1D to 1D2D. + + * ns32k-pinsn.c (print_insn_arg, print_insn): Handle index + bytes correctly. + + * ns32k-opcode.h: Add comments. + + * dbxread.c (read_type): Put enum fields in type.fields in order + that they were found in the debugging symbols (not reverse order). + +Sun Aug 20 21:17:13 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (source_command): Read .gdbinit if run without argument. + + * source.c (directory_command): Only print "foo already in path" + if from_tty. + + * version.c: Change version number to 3.2.xxx + +Sat Aug 19 00:24:08 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * m-news.h: Define HAVE_WAIT_STRUCT. + + * m-isi.h, isi-dep.c: Replace with new version from Adam de Boor. + config.gdb: Remove isibsd43. + + * main.c (catch_termination): Don't say we have written + .gdb_history until after we really have. + + * convex-dep.c (attach): Add "sleep (1)". + (write_vector_register): Use "LL" with long long constant. + (wait): Close comment. + (wait): Change "unix 7.1 bug" to "unix 7.1 feature" & related + changes in comment. + (scan_stack): And fp with 0x80000000 in while loop test. + (core_file_command): Move code to set COREFILE. + (many places): Change printf to printf_filtered. + (psw_info): Allow argument giving value to print as a psw. + (_initialize_convex_dep): Update docstrings. + + * m-convex.h (WORDS_BIG_ENDIAN): Correct typo ("WRODS") + define NO_SIGINTERRUPT. + define SET_STACK_LIMIT_HUGE. + add "undef BUILTIN_TYPE_LONGEST" before defining it. + Use "LL" after constants in CALL_DUMMY. + + * dbxread.c: In the 3 places it says error "ridiculous string + table size"... delete extra parameter to error. + + * dbxread.c (scan_file_globals): Check for FORTRAN common block. + Allow multiple references for the sake of common blocks. + + * main.c (initialize_main): Set history_filename to include + current directory. + + * valprint.c (decode_format): Don't return a defaulted size + field if osize is zero. + + * gdb.texinfo (Compilation): Update information on -gg symbols. + Document problem with ar. + +Fri Aug 18 19:45:20 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * valprint.c (val_print, value_print): Add "" code. + Also put "..." outside quotes for strings. + + * main.c (initialize_main): Add comment about history output file + being different from history input file. + + * m-newsos3.h: Undefine NO_SIGINTERRUPT. Rearrange a few comments. + + * m-newsos3.h (REGISTER_U_ADDR): Use new version from Hikichi. + + * sparc-opcode.h: Add comment clarifying meaning of the order of + the entries in sparc_opcodes. + + * eval.c (evaluate_subexp, case UNOP_IND): Deal with deferencing + things that are not pointers. + + * valops.c (value_ind): Make dereferencing an int give a LONGEST. + + * expprint.c (print_subexp): Add (int) cast in OP_LAST case. + + * dbxread.c (read_array_type): Set lower and upper if adjustable. + + * symtab.c (lookup_symbol): Don't abort if symbol found in psymtab + but not in symtab. + +Thu Aug 17 15:51:20 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * config.gdb: Changed "Makefile.c" to "Makefile.dist". + +Thu Aug 17 01:58:04 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * sparc-opcode.h (or): Removed incorrect lose bit 0x08000000. + [many]: Changed many `lose' entries to have the 0x10 bit set, so + they don't think %l0 is %g0. + +Wed Aug 16 00:30:44 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-symmetry.h (STORE_STRUCT_RETURN): Also write reg 0. + (EXTRACT_RETURN_VALUE): Call symmetry_extract_return_value. + symmetry-dep.c (symmetry_extract_return_value): New fn. + + * main.c (symbol_completion_function): Deal with changed + result_list from lookup_cmd_1 for ambiguous return. + command.c (lookup_cmd): Same. + + * inflow.c [TIOCGETC]: Move #include "param.h" back before + system #includes. Change all #ifdef TIOCGETC to + #if defined(TIOCGETC) && !defined(TIOCGETC_BROKEN) + m-i386-sysv3.2.h, m-i386gas-sysv3.2.h: Remove "#undef TIOCGETC" + and add "#define TIOCGETC_BROKEN". + + * command.c (lookup_cmd_1): Give the correct result_list in the + case of an ambiguous return where there is a partial match + (e.g. "info a"). Add comment clarifying what is the correct + result_list. + + * gdb.texinfo (GDB History): Document the two changes below. + + * main.c (command_line_input): Make history expansion not + just occur at the beginning of a line. + + * main.c (initialize_main): Make history expansion off by default. + + * inflow.c: Move #include "param.h" after system #includes. + + * i386-dep.c (i386_float_info): Use U_FPSTATE macro. + + * m-i386-sysv3.2.h, m-i386gas-sysv3.2.h: New files. + Makefile.dist, config.gdb: Know about these new files. + +Tue Aug 15 21:36:11 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * symtab.c (lookup_struct_elt_type): Use type_print rather + than assuming type has a name. + +Tue Aug 15 02:25:43 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * sparc-opcode.h (mov): Removed bogus "or i,0,d" pattern. + + * sparc-opcode.h (mov, or): Fixed incorrect `lose' members. + + * sparc-dep.c: Don't include "sparc-opcode.h". + (skip_prologue, isanulled): Declare special types to recognize + instructions, and use them. + + * sparc-pinsn.c (print_insn): Sign-extend 13-bit immediate args. + If they are less than +9, print them in signed decimal instead + of unsigned hex. + + * sparc-opcode.h, sparc-pinsn.c: Completely rewritten to share an + opcode table with gas, and thus produce disassembly that looks + like what the assembler accepts. + +Tue Aug 15 16:20:52 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * symtab.c (find_pc_psymbol): Move best_pc=psymtab->textlow-1 + after test for psymtab null. + + * main.c (editing_info): Remove variable retval. + + * config.gdb (sun3, isi): Comment out obsolete message about telling + it whether you have an FPU (now that it detects it). + + * config.gdb (sun3): Accept sun3os3. + + * m68k-insn.h: Include . + + * m68k-pinsn.h (convert_{to,from}_68881): Add have_fpu code + + * m-newsos3.h: Undefine USE_PCB. That code didn't seem to work. + + * sparc-dep.c: Put in insn_fmt and other stuff from the old + sparc-opcode.h. + + * sparc-opcode.h, sparc-pinsn.c: Correct copyright notice. + + * sparc-opcode.h, sparc-pinsn.c: Replace the old ones with the new + ones by roland. + +Tue Aug 15 02:25:43 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * Makefile.dist: Don't define CC at all. + + * Makefile.dist (Makefile): Remove tmp.c after preprocessing. + Use $(MD) instead of M_MAKEDEFINE in the cc command. + + * Makefile.dist: Don't define RL_LIB as + "${READLINE}/libreadline.a", since READLINE is a list of files. + +Mon Aug 14 23:49:29 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (print_version): Change 1988 to 1989. + + * main.c (copying_info, initialize_main): Remove #if 0'd code. + +Tue Aug 1 14:44:56 1989 Hikichi (hikichi at sran203) + + * m-newsos3.h + (NO_SIGINTERRUPT): have SIGINTERRUPT on NEWS os 3. + + * m-news.h(FRAME_FIND_SAVED_REGS): use the sun3's instead of old + one. + +Mon Aug 14 15:27:01 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-news.h, m-newsos3.h, news-dep.c: Merge additional changes + by Hikichi (ChangeLog entries above). + + * Makefile.dist (READLINE): List readline files individually + so we don't accidently get random files from the readline + directory. + + * m-news.h (STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE): + Expect floating point returns to be in fp0. + + * gdb.texinfo (Format options): New node. + + * gdb.texinfo: Comment out "@include"s until bfox fixes the + readline & history docs. + + * dbxread.c (read_addl_syms): Set startup_file_* if necessary at + the end (as well as when we hit ".o"). + + * printcmd.c (decode_format): Set val.format & val.size to '?' at + start and set defaults at end. + + * symtab.c (decode_line_1): Check for class_name null. + + * valops.c: Each place where it compares against field names, + check for null field names. (new t_field_name variables). + + * utils.c (fputs_filtered): Check for linebuffer null before + checking whether to call fputs. Remove later check for linebuffer + null. + +Sun Aug 13 15:56:50 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-isi.h, m-sun3.h ({PUSH,POP}_FP_REGS): New macros. + m-sun3.h (NUM_REGS): Conditionalize on FPU. + config.gdb (sun3, isi): Add message about support for machines + without FPU. + + * main.c (catch_termination, initialize_signals): new functions. + + * main.c (editing_info): Add "info editing n" and "info editing +". + Rewrite much of this function. + gdb.texinfo (GDB Readline): Document it. + + * values.c (history_info): Add "info history +". Also add code to + do "info history +" when command is repeated. + gdb.texinfo (Value History): Document "info history +". + + * expprint.c (print_subexp): Add OP_THIS to case stmt. + + * config.gdb (sun4os4): Put quotes around make define. + + * config.gdb: Canonicalize machine name at beginning. + +Sat Aug 12 00:50:59 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb: define M_MAKEDEFINE + Makefile (Makefile, MD): Be able to re-make Makefile. + + * main.c (command_line_input): Add comments to + the command history. + + * Makefile.dist (Makefile): Add /bin/false. + +Fri Aug 11 14:35:33 1989 Jim Kingdon (kingdon at spiff) + + * Makefile.dist: Comment out .c.o rule and add TARGET_ARCH. + + * m-altos.h: Include sys/page.h & sys/net.h + + * m-altos.h (FRAME_CHAIN{,_VALID}): Use outside_startup_file. + + * config.gdb (altos, altosgas): Add M_SYSV & M_BSD_NM and remove + M_ALLOCA=alloca.o from makedefine. + + * coffread.c (complete_symtab): Change a_entry to entry. + + * m-altosgas.h: New file. + + * m-symmetry (REGISTER_BYTE): Fix dumb mistake. + +Fri Aug 11 06:39:49 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * utils.c (set_screensize_command): Check for ARG being nil, since + that's what execute_command will pass if there's no argument. + + * expread.y (yylex): Recognize "0x" or "0X" as the beginning of a + number. + +Thu Aug 10 15:43:12 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb, Makefile.dist: Rename Makefile.c to Makefile.dist. + + * m-altos.h: Add comment about porting to USGR2. + + * config.gdb (sparc): Add -Usparc. + +Wed Aug 9 14:20:39 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-sun3os4.h: Define BROKEN_LARGE_ALLOCA. + + * values.c (modify_field): Check for value too large to fit in + bitfield. + + * utils.c (fputs_filtered): Allow LINEBUFFER to be NULL. + + * breakpoint.c (condition_command): Check for attempt to specify + non-numeric breakpoint number. + + * config.gdb, Makefile, m-altos.h, altos-dep.c: Merge Altos + port. + + * README: Change message about editing Makefile. + + * config.gdb: Edit Makefile. + Copied Makefile to Makefile.c and changed to let config.gdb + run us through the C preprocessor. + + * expread.y (yylex): Test correctly for definition of number. + +Wed Aug 9 11:56:05 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Put bracketing of entry point in + test case for .o symbols so that it will be correct even without + debugging symbols. + (end_psymtab): Took bracketing out. + + * blockframe.c (outside_startup_file): Reverse the sense of the + return value to make the functionality implied by the name + correct. + +Tue Aug 8 11:48:38 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * coffread.c (symbol_file_command): Do not assume presence of a.out + header. + + * blockframe.c: Replace first_object_file_end with + startup_file_{start,end} + (outside_startup_file): New function. + dbxread.c (read_addl_syms, read_dbx_symtab, end_psymbol): set + startup_file_*. Delete first_object_file_end code. + Add entry_point and ENTRY_POINT + coffread.c (complete_symtab): Set startup_file_*. + (first_object_file_end): Add as static. + m-*.h (FRAME_CHAIN, FRAME_CHAIN_VALID): Call outside_startup_file + instead of comparing with first_object_file_end. + + * breakpoint.c (breakpoint_1): Change -1 to (CORE_ADDR)-1. + + * config.gdb (i386, i386gas): Add missing quotes at end of "echo" + + * source.c (directory_command): Add dont_repeat (); + +Mon Aug 7 18:03:51 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (read_addl_syms): Change strcmp to strncmp and put 3rd + arg back. + + * command.h (struct cmd_list_element): Add comment clarifying + purpose of abbrev_flag. + +Mon Aug 7 12:51:03 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * printcmd.c (_initialize_printcmd): Changed "undisplay" not to + have abbrev flag set; it isn't an abbreviation of "delete + display", it's an alias. + +Mon Aug 7 00:25:15 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * symtab.c (lookup_symtab_1): Remove filematch (never used). + + * expread.y [type]: Add second argument to 2 calls to + lookup_member_type which were missing them. + + * dbxread.c (symbol_file_command): Add from_tty arg. + Check it before calling query. + + * infcmd.c (tty_command): Add from_tty arg. + + * eval.c (evaluate_subexp): Remove 3rd argument from + calls to value_x_unop. + + * dbxread.c (read_addl_syms): Remove 3rd argument from + call to strcmp. + + * gdb.texinfo (Command editing): @include inc-readline.texinfo + and inc-history.texinfo and reorganize GDB-specific stuff. + + * Makefile: Add line MAKE=make. + + * README (second paragraph): Fix trivial errors. + + * dbxread.c (read_struct_type): Make sure p is initialized. + + * main.c (symbol_completion_function): Complete correctly + on the empty string. + +Sun Aug 6 21:01:59 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * symmetry-dep.c: Remove "long" from definition of i386_follow_jump. + + * gdb.texinfo (Backtrace): Document "where" and "info stack". + + * dbxread.c (cleanup_undefined_types): Strip off "struct " + or "union " from type names before doing comparison + +Sat Aug 5 02:05:36 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb (i386, i386gas): Improve makefile editing instructions. + + * Makefile: Fix typo in CLIBS for SYSV. + + * dbxread.c (read_dbx_symtab): Deal with N_GSYM typedefs. + + * dbxread.c (add_file_command): Do not free name. We didn't + allocate it; it just points into arg_string. + + * Makefile, m-*.h: Change LACK_VPRINTF to HAVE_VPRINTF. + +Fri Jul 28 00:07:48 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valprint.c (val_print): Made sure that all returns returned a + value (usually 0, indicating no memory printed). + + * core.c (read_memory): Changed "return" to "return 0". + + * expread.y (parse_number): Handle scientific notation when the + string does not contain a '.'. + +Thu Jul 27 15:14:03 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * infrun.c (signals_info): Error if signal number passed is out of + bounds. + + * defs.h: Define alloca to be __builtin_alloca if compiling with + gcc and localized inclusion of alloca.h on the sparc with the + other alloca stuff. + * command.c: Doesn't need to include alloca.h on the sparc; defs.h + does it for you. + + * printcmd.c (print_frame_args): Changed test for call to + print_frame_nameless_args to check i to tell if any args had been + printed. + +Thu Jul 27 04:40:56 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * blockframe.c (find_pc_partial_function): Always check that NAME + and/or ADDRESS are not nil before storing into them. + +Wed Jul 26 23:41:21 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * m-newsos3.h: Define BROKEN_LARGE_ALLOCA. + * dbxread.c (symbol_file_command, psymtab_to_symtab): + Use xmalloc #ifdef BROKEN_LARGE_ALLOCA. + +Tue Jul 25 16:28:18 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu) + + * m68k-opcode.h: moved some of the fmovem entries so they're + all consecutive. This way the assembler doesn't bomb. + +Mon Jul 24 22:45:54 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * symtab.c (lookup_symbol): Changed error to an informational (if + not very comforting) message about internal problems. This will + get a null symbol returned to decode_line_1, which should force + things to be looked up in the misc function vector. + +Wed Jul 19 13:47:34 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c (lookup_symbol): Changed "fatal" to "error" in + external symbol not found in symtab in which it was supposed to be + found. This can be reached because of a bug in ar. + +Tue Jul 18 22:57:43 1989 Randy Smith (roland at hobbes.ai.mit.edu) + + * m-news.h [REGISTER_U_ADDR]: Decreased the assumed offset of fp0 + by 4 to bring it into (apparently) appropriate alignment with + reality. + +Tue Jul 18 18:14:42 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * Makefile: pinsn.o should depend on opcode.h + + * m68k-opcode.h: Moved fmovemx with register lists to before other + fmovemx. + +Tue Jul 18 11:21:42 1989 Jim Kingdon (kingdon at susie) + + * Makefile, m*.h: Only #define vprintf (to _doprnt or printf, + depends on the system) if the library lacks it (controlled by + LACK_VPRINTF_DEFINE in makefile). Unpleasant, but necessary to + make this work with the GNU C library. + +Mon Jul 17 15:17:48 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * breakpoint.c (breakpoint_1): Change addr-b->address to + b->address-addr. + +Sun Jul 16 16:23:39 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * eval.c (evaluate_subexp): Change error message printed when + right operand of '@' is not an integer to English. + + * infcmd.c (registers_info): Fix call to print_spaces_filtered + to specify right # of arguments. + + * gdb.texinfo (Command Editing): Document info editing command. + + * coffread.c (read_file_hdr): Add MC68MAGIC. + + * source.c (select_source_symtab): Change MAX to max. + +Fri Jul 14 21:19:11 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * infcmd.c (registers_info): Clean up display to look good with long + register names, to say "register" instead of "reg", and to put the + "relative to selected stack frame" bit at the top. + +Fri Jul 14 18:23:09 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (record_misc_function): Put parens around | to force + correct evaluation. + +Wed Jul 12 12:25:53 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-newsos3, m-news, infrun.c, Makefile, config.gdb, news-dep.c: + Merge in Hikichi's changes for Sony/News-OS 3 support. + +Tue Jul 11 21:41:32 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * utils.c (fputs_filtered): Don't do any filtering if output is + not to stdout, or if stdout is not a tty. + (fprintf_filtered): Rely on fputs_filtered's check for whether to + do filtering. + +Tue Jul 11 00:33:58 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * GDB 3.2 Released. + + * valprint.h: Deleted. + + * utils.c (fputs_filtered): Don't do any filtering if filtering is + disabled (lines_per_page == 0). + +Mon Jul 10 22:27:53 1989 Randy Smith (roland at hobbes.ai.mit.edu) + + * expread.y [typebase]: Added "unsigned long int" and "unsigned + short int" to specs. + +Mon Jul 10 21:44:55 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (main): Make -cd use cd_command to avoid + current_directory with non-absolute pathname. + +Mon Jul 10 00:34:29 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (symbol_file_command): Catch errors from stat (even + though they should never happen). + + * source.c (openp): If the path is null, use the current + directory. + + * dbxread.c (read_dbx_symtab): Put N_SETV symbols into the misc + function vector ... + (record_misc_function): ... as data symbols. + + * utils.c (fprintf_filtered): Return after printing if we aren't + going to do filtering. + + * Makefile: Added several things for make clean to take care of. + + * expread.y: Lowered "@" in precedence below +,-,*,/,%. + + * eval.c (evaluate_subexp): Return an error if the rhs of "@" + isn't integral. + + * Makefile: Added removal of core and gdb[0-9] files to clean + target. + + * Makefile: Made a new target "distclean", which cleans things up + correctly for making a distribution. + +Sun Jul 9 23:21:27 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * dbxread.c: Surrounded define of gnu symbols with an #ifndef + NO_GNU_STABS in case you don't want them on some machines. + * m-npl.h, m-pn.h: Defined NO_GNU_STABS. + +Sun Jul 9 19:25:22 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * utils.c (fputs_filtered): New function. + (fprintf_filtered): Use fputs_filtered. + utils.c (print_spaces_filtered), + command.c (help_cmd,help_cmd_list), + printcmd.c (print_frame_args), + stack.c (print_block_frame_locals, print_frame_arg_vars), + valprint.c (many functions): Use fputs_filtered instead of + fprintf_filtered to avoid arbitrary limit. + + * utils.c (fprintf_filtered): Fix incorrect comment. + +Sat Jul 8 18:12:01 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * valprint.c (val_print): Changed assignment of pretty to use + prettyprint as a conditional rather than rely on values of the + enum. + + * Projects: Cleaned up a little for release. + + * main.c (initialize_main): Initialize + rl_completion_entry_function instead of completion_entry_function. + + * Makefile: Modified to use the new readline library setup. + + * breakpoint.c (break_command_1, delete_breakpoint, + enable_breakpoint, disable_breakpoint): Put in new printouts for + xgdb usage triggered off of xgdb_verbose. + * main.c (main): Added check for flag to set xgdb_verbose. + * stack.c (frame_command): Set frame_changed when frame command + used. + +Fri Jul 7 16:20:58 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Remove valprint.h and move contents to value.h (more logical). + +Fri Jul 7 02:28:06 1989 Randall Smith (randy at rice-chex) + + * m68k-pinsn.c (print_insn): Included a check for register list; + if there is one, make sure to start p after it. + + * breakpoint.c (break_command_1, delete_breakpoint, + enable_breakpoint, disable_breakpoint): #ifdef'd out changes + below; they produce unwanted output in gdb mode in gnu-emacs. + + * gdb.texinfo: Spelled. Also removed index references from + command editing section; the relevance/volume ratio was too low. + Removed all references to the function index. + + * ns32k-opcode.h, ns32k-pinsn.c: Backed out changes of June 24th; + haven't yet received legal papers. + + * .gdbinit: Included message telling the user what it is doing. + + * symmetry-dep.c: Added static decls for i386_get_frame_setup, + i386_follow_jump. + * values.c (unpack_double): Added a return (double)0 at the end to + silence a compiler warning. + + * printcmd.c (containing_function_bounds, asdump_command): Created + to dump the assembly code of a function (support for xgdb and a + useful hack). + (_initialize_printcmd): Added this to command list. + * gdb.texinfo [Memory]: Added documentation for the asdump + command. + * breakpoint.c (break_command_1, delete_breakpoint, + enable_breakpoint, disable_breakpoint): Added extra verbosity for + xgdb conditionalized on the new external frame_full_file_name. + * source.c (identify_source_line): Increase verbosity of fullname + prointout to include pc value. + * stack.c: Added a new variable; "frame_changed" to indicate when + a frame has been changed so that gdb can print out a frame change + message when the frame only changes implicitly. + (print_frame_info): Check the new variable in determining when to + print out a new message and set it to zero when done. + (up_command): Increment it. + (down_command): Decrement it. + + * m68k-pinsn.c (print_insn_arg [lL]): Modified cases for register + lists to reset the point to point to after the word from which the + list is grabbed *if* that would cause point to point farther than + it currently is. + +Thu Jul 6 14:28:11 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * valprint.c (val_print, value_print): Add parameter to control + prettyprinting. + valprint.h: New file containing constants used for passing + prettyprinting parameter to val{,ue}_print. + expprint.c, infcmd.c, printcmd.c, valprint.c, values.c: + Change all calls to val{,ue}_print to use new parameter. + +Mon Jul 3 22:38:11 1989 Randy Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (,process_one_symbol): Moved extern declaration for + index out of function to beginning of file. + +Mon Jul 3 18:40:14 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * gdb.texinfo (Registers): Add "ps" to list of standard registers. + +Sun Jul 2 23:13:03 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * printcmd.c (enable_display): Change d->next to d = d->next so + that "enable display" without args works. + +Fri Jun 30 23:42:04 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * source.c (list_command): Made error message given when no + symtab is loaded clearer. + + * valops.c (value_assign): Make it so that when assigning to an + internal variable, the type of the assignment exp is the type of + the value being assigned. + +Fri Jun 30 12:12:43 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (verbose_info): Created. + (initialize_main): Put "info verbose" into command list. + + * utils.c (screensize_info): Created. + (_initialize_utils): Defined "info screensize" as a normal command. + + * valprint.c (format_info): Added information about maximum number + of array elements to function. + + * blockframe.c (find_pc_partial_function): Again. + + * blockframe.c (find_pc_partial_function): Replaced a "shouldn't + happen" (which does) with a zero return. + + * main.c (dont_repeat): Moved ahead of first use. + +Thu Jun 29 19:15:08 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * vax-opcode.h: Made minor modifications (moved an instruction and + removed a typo) to bring this into accord with gas' table; also + changed copyright to reflect it being part of both gdb and gas. + + * m68k-opcode.h: Added whole scads and bunches of new stuff for + the m68851 and changed the coptyrightto recognize that the file + was shared between gdb and gas. + + * main.c (stop_sig): Use "dont_repeat ()" instead of *line = 0; + + * core.c (read_memory): Don't do anything if length is 0. + + * Makefile: Added readline.c to the list of files screwed by + having the ansi ioctl.h compilation with gcc. + + * config.gdb: Added sun4os3 & sun4-os3 as availible options. + +Wed Jun 28 02:01:26 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * command.c (lookup_cmd): Add ignore_help_classes argument. + (lookup_cmd_1): Add ignore_help_classes argument. + command.c, main.c: Change callers of lookup_cmd{,_1} to supply + value for ignore_help_classes. + +Tue Jun 27 18:01:31 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * utils.c (print_spaces_filtered): Made more efficient. + * defs.h: Declaration. + * valprint.c (val_print): Used in a couple of new places. + +Mon Jun 26 18:27:28 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * m68k-pinsn.c (print_insn_arg ['#', '^']): Combined them into one + case which always gets the argument from the word immediately + following the instruction. + (print_insn_arg ["[lL]w"]): Make sure to always get the register + mask from the word immediately following the instruction. + +Sun Jun 25 19:14:56 1989 Randall Smith (randy at galapas.ai.mit.edu) + + * Makefile: Added hp-include back in as something to distribute. + + * stack.c (print_block_frame_locals): Return value changed from + void to int; return 1 if values printed. Use _filtered. + (print_frame_local_vars): Use return value from + print_block_frame_locals to mention if nothing printed; mention + lack of symbol table, use _filtered. + (print_frame_arg_vars): Tell the user if no symbol table + or no values printed. Use fprintf_filtered instead of fprintf. + * blockframe.c (get_prev_frame_info): Check for no inferior or + core file before crashing. + + * inflow.c (inferior_died): Set current frame to zero to keep from + looking like we're in start. + +Sat Jun 24 15:50:53 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * stack.c (frame_command): Added a check to make sure that there + was an inferior or a core file. + + * expread.y (yylex): Allow floating point numbers of the form ".5" + to be parsed. + + Changes by David Taylor at TMC: + * ns32k-pinsn.c: Added define for ?floating point coprocessor? and + tables for register names to be used for each of the possibilities. + (list_search): Created; searches a list of options for a specific + value. + (print_insn_arg): Added 'Q', 'b', 'M', 'P', 'g', and 'G' options + to the value location switch. + * ns32k-opcode.h: Added several new location flags. + [addr, enter, exit, ext[bwd], exts[bwd], lmr, lpr[bwd], restore, + rett, spr[bwd], smr]: Improved insn format output. + + * symtab.c (list_symbols): Rearrange printing to produce readable + output for "info types". + + * eval.c (evaluate_subexp_for_address): Fixed typo. + + * dbxread.c (read_type): Don't output an error message when + there isn't a ',' after a cross-reference. + + * dbxread.c (read_dbx_symtab): #if'd out N_FN case in + read_dbx_symtab if it has the EXT bit set (otherwise multiple + cases with the same value). + +Fri Jun 23 13:12:08 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * symmisc.c: Changed decl of print_spaces from static to extern + (since it's defined in utils.c). + + * remote.c (remote_open): Close remote_desc if it's already been + opened. + + * Remote_Makefile, remote_gutils.c, remote_inflow.c, + remote_server.c, remote_utils.c: Combined into remote-multi.shar. + * remote-multi.shar: Created (Vikram Koka's remote stub). + * remote-sa.m68k.shar: Created (Glenn Engel's remcom.c). + * README: Updated to reflect new organization of remote stubs. + + * dbxread.c (read_dbx_symtab): Put an N_FN in with N_FN | N_EXT to + account for those machines which don't use the external bit here. + Sigh. + + * m-symmetry.h: Defined NO_SIGINTERRUPT. + +Thu Jun 22 12:51:37 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (decode_format): Make sure characters are printed + using a byte size. + + * utils.c (error): Added a terminal_ours here. + + * stack.c (locals_info): Added check for selected frame. + + * dbxread.c (read_type): Checked to make sure that a "," was + actually found in the symbol to end a cross reference. + +Wed Jun 21 10:30:01 1989 Randy Smith (randy at tartarus.uchicago.edu) + + * expread.y (parse_number, [exp]): Allowed for the return of a + number marked as unsigned; this will allow inclusion of unsigned + constants. + + * symtab.h: Put in default definitions for BUILTIN_TYPE_LONGEST + and BUILTIN_TYPE_UNSIGNED_LONGEST. + + * expread.y (parse_number): Will now accept integers suffixed with + a 'u' (though does nothing special with it). + + * valarith.c (value_binop): Added cases to deal with unsigned + arithmetic correctly. + +Tue Jun 20 14:25:54 1989 Randy Smith (randy at tartarus.uchicago.edu) + + * dbxread.c (psymtab_to_symtab_1): Changed reading in info message + to go through printf_filtered. + + * symtab.c (list_symbols): Placed header message after all calls + to psymtab_to_symtab. + + * symtab.c (smash_to_{function, reference, pointer}_type): Carried + attribute of permanence for the type being smashed over the bzero + and allowed any type to point at this one if it is permanent. + + * symtab.c (smash_to_{function, reference, pointer}_type): Fix + typo: check flags of to_type instead of type. + + * m-hp9k320.h: Changed check on __GNU__ predefine to __GNUC__. + + * Makefile: Made MUNCH_DEFINE seperate and based on SYSV_DEFINE; + they aren't the same on hp's. + +Mon Jun 19 17:10:16 1989 Randy Smith (randy at tartarus.uchicago.edu) + + * Makefile: Fixed typo. + + * valops.c (call_function): Error if the inferior has not been + started. + + * ns32k-opcode.h [check[wc], cmpm[bwd], movm[bwd], skpsb]: Fixed + typos. + +Fri Jun 9 16:23:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-news.h [NO_SIGINTERRUPT]: Defined. + + * dbxread.c (read_type): Start copy of undefined structure name + past [sue] defining type of cross ref. + + * dbxread.c (process_one_symbol): Changed strchr to index. + + * ns32k-opcode.h, ns32k-pinsn.c: More changes to number of + operands, addition of all of the set condition opcodes, addition + of several flag letters, all patterned after the gas code. + + * ns32k-opcode.h [mov{su,us}[bwd], or[bwd]]: Changed number of + operands from 1 to 2. + +Wed Jun 7 15:04:24 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symseg.h [TYPE_FLAG_STUB]: Created. + * dbxread.c (read_type): Set flag bit if type is stub. + (cleanup_undefined_types): Don't mark it as a stub if it's been + defined since we first learned about it. + * valprint.c (val_print): Print out a message to that effect if + this type is encountered. + + * symseg.h, symtab.h: Moved the definition of TYPE_FLAG_PERM over + to symseg.h so that all such definitions would be in the same place. + + * valprint.c (val_print): Print out for a + structure if there aren't any. + + * dbxread.c (read_type): Set type name of a cross reference type + to "struct whatever" or something. + +Tue Jun 6 19:40:52 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * breakpoint.c (breakpoint_1): Print out symbolic location of + breakpoints for which there are no debugging symbols. + +Mon Jun 5 15:14:51 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * command.c (help_cmd_list): Made line_size static. + +Sat Jun 3 17:33:45 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Don't include the binutils hp-include directory in the + distribution anymore; refer the users to the binutils distribution. + +Thu Jun 1 16:33:07 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (disable_display_command): Fixed loop iteration for + no arg case. + + * printcmd.c (disable_display_command): Added from_tty parameter + to function. + + * valops.c (value_of_variable): Call read_var_value with 0 cast to + FRAME instead of CORE_ADDR. + + * eval.c (evaluate_subexp): Corrected number of args passed to + value_subscript (to 2). + + * infrun.c (wait_for_inferior), symtab.c (decode_line_1), + m-convex.h: Changed name of FIRSTLINE_DEBUG_BROKEN to + PROLOGUE_FIRSTLINE_OVERLAP. + + * m-merlin.h: Fixed typo. + * ns32k-opcode.h: Added ns32381 opcodes and "cinv" insn, and fixed + errors in movm[wd], rett, and sfsr. + + * eval.c (evaluate_subexp, evaluate_subexp_for_address), valops.c + (value_zero): Change value_zero over to taking two arguments + instead of three. + + * eval.c (evaluate_subexp) + [OP_VAR_VALUE]: Get correct lval type for AVOID_SIDE_EFFECTS for + all types of symbols. + [BINOP_DIV]: Don't divide if avoiding side effects; just return + an object of the correct type. + [BINOP_REPEAT]: Don't call value_repeat, just allocate a + repeated value. + (evaluete_subexp_for_address) [OP_VAR_VALUE]: Just return a thing + of the right type (after checking to make sure that we are allowed + to take the address of whatever variable has been passed). + +Mon May 29 11:01:02 1989 Randall Smith (randy at galapas.ai.mit.edu) + + * breakpoint.c (until_break_command): Set the breakpoint with a + frame specification so that it won't trip in inferior calls to the + function. Also set things up so that it works based on selected + frame, not current one. + +Sun May 28 15:05:33 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * eval.c (evalue_subexp): Change subscript case to use value_zero + in EVAL_AVOID_SIDE_EFFECTS case. + +Fri May 26 12:03:56 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_addl_syms, psymtab_to_symtab): Removed + cleanup_undefined_types; this needs to be done on a symtab basis. + (end_symtab): Called cleanup_undefined_types from here. + (cleanup_undefined_types): No longer uses lookup_symbol (brain + dead idea; oh, well), now it searches through file_symbols. + +Wed May 24 15:52:43 1989 Randall Smith (randy at galapas) + + * source.c (select_source_symtab): Only run through + partial_symtab_list if it exists. + + * coffread.c (read_coff_symtab): Don't unrecord a misc function + when a function symbol is seen for it. + + * expread.y [variable]: Make sure to write a type for memvals if + you don't get a mft you recognize. + +Tue May 23 12:15:57 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * dbxread.c (read_ofile_symtab, psymtab_to_symtab): Moved cleanup + of undefined types to psymtab_to_symtab. That way it will be + called once for all readins (which will, among other things, + help reduce infinite loops). + + * symtab.h [misc_function_type]: Forced mf_unknown to 0. + * dbxread.c (record_misc_function): Cast enum to unsigned char (to + fit). + * expread.y [variable]: Cast unsigned char back to enum to test. + +Mon May 22 13:08:25 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + Patches by John Gilmore for dealing well with floating point: + * findvar.c (value_from_register, locate_var_value): Used + BYTES_BIG_ENDIAN instead of an inline test. + * m-sparc.h [IEEE_FLOAT]: Created to indicate that the sparc is + IEEE compatible. + * printcmd.c (print_scalar_formatted): Use BYTES_BIG_ENDIAN and + the stream argument for printing; also modify default type for + 'f'. Change handling of invalid floats; changed call syntax for + is_nan. + (print_command): Don't print out anything indicating that + something was recorded on the history list if it wasn't. + * valprint.c (val_print): Fixed to deal properley with new format + of is_nan and unpacking doubles without errors occuring. + (is_nan): Changed argument list and how it figures big endianness + (uses macros). + * values.c (record_latest_value): Return -1 and don't record if + it's an invalid float. + (value_as_double): Changed to use new unpack_double calling + convention. + (unpack_double): Changed not to call error if the float was + invalid; simply to set invp and return. Changed calling syntax. + (unpack_field_as_long, modify_field): Changed to use + BITS_BIG_ENDIAN to determine correct action. + + * m-hp9k320.h [HP_OS_BUG]: Created; deals with problem where a + trap happens after a continue. + * infrun.c (wait_for_inferior): Used. + + * m-convex.h [FIRSTLINE_DEBUG_BROKEN]: Defined a flag to indicate + that the debugging symbols output by the compiler for the first + line of a function were broken. + * infrun.c (wait_for_inferior), symtab.c (decode_line_1): Used. + + * gdb.texinfo [Data, Memory]: Minor cleanups of phrasing. + +Fri May 19 00:16:59 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (add_undefined_type, cleanup_undefined_types): Created + to keep a list of cross references to as yet undefined types. + (read_type): Call add_undefined_type when we run into such a case. + (read_addl_syms, read_ofile_symtab): Call cleanup_undefined_types + when we're done. + + * dbxread.c (psymtab_to_symtab, psymtab_to_symtab_1): Broke + psymtab_to_symtab out into two routines; made sure the string + table was only readin once and the globals were only scanned once, + for any number of dependencies. + +Thu May 18 19:59:18 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-*.h: Defined (or not, as appropriate per machine) + BITS_BIG_ENDIAN, BYTES_BIG_ENDIAN, and WORDS_BIG_ENDIAN. + +Wed May 17 13:37:45 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (symbol_completion_function): Always complete on result + command list, even if exact match found. If it's really an exact + match, it'll find it again; if there's something longer than it, + it'll get the right result. + + * symtab.c (make_symbol_completion_function): Fixed typo; strcmp + ==> strncmp. + + * dbxread.c (read_dbx_symtab): Change 'G' case to mark symbols as + LOC_EXTERNAL. + + * expread.y [variables]: Changed default type of text symbols to + function returning int so that one can use, eg. strcmp. + + * infrun.c (wait_for_inferior): Include a special flag indicating + that one shouldn't insert the breakpoints on the next step for + returning from a sigtramp and forcing at least one move forward. + + * infrun.c (wait_for_inferior): Change test for nexting into a + function to check for current stack pointer inner than previous + stack pointer. + + * infrun.c (wait_for_inferior): Check for step resume break + address before dealing with normal breakpoints. + + * infrun.c (wait_for_inferior): Added a case to deal with taking + and passing along a signal when single stepping past breakpoints + before inserting breakpoints. + + * infrun.c (wait_for_inferior): Inserted special case to keep + going after taking a signal we are supposed to be taking. + +Tue May 16 12:49:55 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * inflow.c (terminal_ours_1): Cast result of signal to (int + (*)()). + + * gdb.texinfo: Made sure that references to the program were in + upper case. Modify description of the "set prompt" command. + [Running]: Cleaned up introduction. + [Attach]: Cleaned up. + [Stepping]: Change "Proceed" to "Continue running" or "Execute". + Minor cleanup. + [Source Path]: Cleaned up intro. Cleared up distinction between + the executable search path and the source path. Restated effect + of the "directory" command with no arguments. + [Data]: Fixed typos and trivial details. + [Stepping]: Fixed up explanation of "until". + + * source.c (print_source_lines): Print through filter. + + * printcmd.c (x_command): If the format with which to print is + "i", use the address of anything that isn't a pointer instead of + the value. This is for, eg. "x/10i main". + + * gdb.texinfo: Updated last modification date on manual. + +Mon May 15 12:11:33 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c (lookup_symtab): Fixed typo (name ==> copy) in call to + lookup_symtab_1. + + * gdb.texinfo: Added documentation for "break [+-]n" and for new + actions of "directory" command (taking multiple directory names at + the same time). + + * m68k-opcode.h: Replaced the version in gdb with an up-to-date + version from the assembler directory. + * m68k-pinsn.c (print_insn_arg): Added cases 'l' & 'L' to switch + to print register lists for movem instructions. + + * dbxread.c, m-convex.h: Moved convex dependent include files over + from dbxread.c to m-convex.h. + + * printcmd.c (disable_display, disable_display_command): Changed + name of first to second, and created first which takes an int as + arg rather than a char pointer. Changed second to use first. + (_initialize_printcmd): Changed to use second as command to call. + (delete_current_display, disable_current_display): Changed name of + first to second, and changed functionality to match. + * infrun.c (normal_stop), main.c (return_to_top_level): Changed to + call disable_current_display. + + * dbxread.c (process_one_symbol, read_dbx_symtab): Changed N_FN to + be N_FN | N_EXT to deal with new Berkeley define; this works with + either the old or the new. + + * Remote_Makefile, remote_gutils.c, remote_inflow.c, + remote_server.c, remote_utils.c: Created. + * Makefile: Included in tag and tar files. + * README: Included a note about them. + + * printcmd.c (print_address): Use find_pc_partial_function to + remove need to readin symtabs for symbolic addresses. + + * source.c (directory_command): Replaced function with new one + that can accept lists of directories seperated by spaces or :'s. + + * inflow.c (new_tty): Replaced calls to dup2 with calls to dup. + +Sun May 14 12:33:16 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * stack.c (args_info): Make sure that you have an inferior or core + file before taking action. + + * ns32k-opcode.h [deiw, deid]: Fixed machine code values for these + opcodes. + + * dbxread.c (scan_file_globals): Modified to use misc function + vector instead of file itself. Killed all arguments to the + funciton; no longer needed. + (psymtab_to_symtab): Changed call for above to reflect new (void) + argument list. + + * dbxread.c (read_dbx_symtab, ): Moved HASH_OFFSET define out of + read_dbx_symtab. + + * expread.y [variable]: Changed default type of misc function in + text space to be (void ()). + + * Makefile: Modified for proper number of s/r conflicts (order is + confusing; the mod that necessitated this change was on May 12th, + not today). + + * expread.y (yylex): Added SIGNED, LONG, SHORT, and INT keywords. + [typename]: Created. + [typebase]: Added rules for LONG, LONG INT, SHORT, SHORT INT, + SIGNED name, and UNSIGNED name (a good approximation of ansi + standard). + + * Makefile: Included .c.o rule to avoid sun's make from throwing + any curves at us. + + * blockframe.c: Included + + * command.c (lookup_cmd): Clear out trailing whitespace. + + * command.c (lookup_cmd_1): Changed malloc to alloca. + +Fri May 12 12:13:12 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (print_frame_args): Only print nameless args when you + know how many args there are supposed to be and when you've + printed fewer than them. Don't print nameless args between + printed args. + + * symtab.c (make_symbol_completion_function): Fixed typo (= ==> + ==). + + * remote.c (remote_open): ifdef'd out siginterrupt call by #ifndef + NO_SIGINTERRUPT. + * m-umax.h: Defined NO_SIGINTERRUPT. + + * expread.y [ptype, array_mod, func_mod, direct_abs_decl, + abs_decl]: Added rules for parsing and creating arbitrarily + strange types for casts and sizeofs. + + * symtab.c, symtab.h (create_array_type): Created. Some minor + misfeatures; see comments for details (main one being that you + might end up creating two arrays when you only needed one). + +Thu May 11 13:11:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valops.c (value_zero): Add an argument for type of lval. + * eval.c (evaluate_subexp_for_address): Take address properly in + the avoid side affects case (ie. keep track of whether we have an + lval in memory and we can take the address). + (evaluate_subexp): Set the lval type of expressions created with + value_zero properley. + + * valops.c, value.h (value_zero): Created--will return a value of + any type with contents filled with zero. + * symtab.c, symtab.h (lookup_struct_elt_type): Created. + * eval.c (evaluate_subexp): Modified to not read memory when + called with EVAL_AVOID_SIDE_EFFECTS. + + * Makefile: Moved dbxread.c ahead of coffread.c in the list of + source files. + +Wed May 10 11:29:19 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * munch: Make sure that sysv version substitutes for the whole + line. + + * symtab.h: Created an enum misc_function_type to hold the type of + the misc function being recorded. + * dbxread.c (record_misc_function): Branched on dbx symbols to + decide which type to assign to a misc function. + * coffread.c (record_misc_function): Always assign type unknown. + * expread.y [variable]: Now tests based on new values. + +Tue May 9 13:03:54 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c: Changed inclusion of (doesn't work on + SYSV) to declaration of index. + + * Makefile: Changed last couple of READLINE_FLAGS SYSV_DEFINE + + * source.c ({forward, reverse}_search_command): Made a default + search file similar to for the list command. + +Mon May 8 18:07:51 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (print_frame_args): If we don't know how many + arguments there are to this function, don't print the nameless + arguments. We don't know enough to find them. + + * printcmd.c (print_frame_args): Call print_frame_nameless_args + with proper arguments (start & end as offsets from addr). + + * dbxread.c (read_addl_syms): Removed cases to deal with global + symbols; this should all be done in scan_global_symbols. + +Sun May 7 11:36:23 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Added copying.awk to ${OTHERS}. + +Fri May 5 16:49:01 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valprint.c (type_print_varspec_prefix): Don't pass + passed_a_pointer onto children. + + * valprint.c (type_print_varspec_suffix): Print "array of" with + whatever the "of" is after tha array brackets. + + * valprint.c (type_print_varspec_{prefix,suffix}): Arrange to + parenthesisze pointers to arrays as well as pointers to other + objects. + + * valprint.c (type_print_varspec_suffix): Make sure to print + subscripts of multi-dimensional arrays in the right order. + + * infcmd.c (run_command): Fixed improper usages of variables + within remote debugging branch. + + * Makefile: Added Convex.notes to the list of extra files to carry + around. + + * dbxread.c (symbol_file_command): Made use of alloca or malloc + dependent on macro define. + +Thu May 4 15:47:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Changed READLINE_FLAGS to SYSV_DEFINE and called munch + with it also. + * munch: Check first argument for -DSYSV and be looser about + picking up init routines if you find it. + + * coffread.c: Made fclose be of type int. + + * breakpoint.c (_initialize_breakpoint): Put "unset" into class + alias. + +Wed May 3 14:09:12 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h [STACK_END_ADDR]: Parameterized off of + machine/vmparam.h (as per John Gilmore's suggestion). + + * blockframe.c (get_prev_frame_info): Changed this function back + to checking frameless invocation first before checking frame + chain. This means that a backtrace up from start will produce the + wrong value, but that a backtrace from a frameless function called + in main will show up correctly. + + * breakpoint.c (_initialize_breakpoint): Added entry in help for + delete that indicates that unset is an alias for it. + + * main.c (symbol_completion_function): Modified recognition of + being within a single command. + +Tue May 2 15:13:45 1989 Randy Smith (randy at gnu) + + * expread.y [variable]: Add some parens to get checking of the + misc function vector right. + +Mon May 1 13:07:03 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * default-dep.c (core_file_command): Made reg_offset unsigned. + + * default-dep.c (core_file_command): Improved error messages for + reading in registers. + + * expread.y: Allowed a BLOCKNAME to be ok for a variable name (as + per C syntax). + + * dbxread.c (psymtab_to_symtab): Flushed stdout after printing + starting message about reading in symbols. + + * printcmd.c (print_frame_args): Switched starting place for + printing of frameless args to be sizeof int above last real arg + printed. + + * printcmd.c (print_frame_args): Modified final call to + print_nameless_args to not use frame slots used array if none had + been used. + + * infrun.c (wait_for_inferior): Take FUNCTION_START_OFFSET into + account when dealing with comparison of pc values to function + addresses. + + * Makefile: Added note about compiling gdb on a Vax running 4.3. + +Sun Apr 30 12:59:46 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * command.c (lookup_cmd): Got correct error message on bad + command. + + * m-sun3.h [ABOUT_TO_RETURN]: Modified to allow any of the return + instructions, including trapv and return from interupt. + + * command.c (lookup_cmd): If a command is found, use it's values + for error reporting and determination of needed subcommands. + + * command.c (lookup_cmd): Use null string for error if cmdtype is + null; pass *line to error instead of **. + + * command.c (lookup_cmd_1): End of command marked by anything but + alpha numeric or '-'. Included ctype.h. + +Fri Apr 28 18:30:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * source.c (select_source_symtab): Kept line number from ever + being less than 1 in main decode. + +Wed Apr 26 13:03:20 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * default-dep.c (core_file_command): Fixed typo. + + * utils.c (fprintf_filtered): Don't use return value from + numchars. + + * main.c, command.c (complete_on_cmdlist): Moved function to + command.c. + + * command.c (lookup_cmd): Modified to use my new routine. Old + version is still there, ifdef'd out. + + * command.c, command.h (lookup_cmd_1): Added a routine to do all + of the work of lookup_cmd with no error reporting and full return + of information garnered in search. + +Tue Apr 25 12:37:54 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * breakpoint.c (_initialize_breakpoint): Change "delete + breakpionts" to be in class alias and not have the abbrev flag + set. + + * main.c (symbol_completion_function): Fix to correctly complete + things that correspond to multiword aliases. + + * main.c (complete_on_cmdlist): Don't complete on something if it + isn't a command or prefix (ie. if it's just a help topic). + + * main.c (symbol_completion_function): Set list index to be 0 if + creating a list with just one element. + + * main.c (complete_on_cmdlist): Don't allow things with + abbrev_flag set to be completion values. + (symbol_completion_function): Don't accept an exact match if the + abbrev flag is set. + + * dbxread.c (read_type): Fixed typo in comparision to check if + type number existed. + + * dbxread.c (read_type): Made sure to only call dbx_lookup_type on + typenums if typenums were not -1. + +Mon Apr 24 17:52:12 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c: Added strings.h as an include file. + +Fri Apr 21 15:28:38 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c (lookup_partial_symtab): Changed to only return a match + if the name match is exact (which is what I want in all cases in + which this is currently used. + +Thu Apr 20 11:12:34 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * m-isi.h [REGISTER_U_ADDR]: Installed new version from net. + * default-dep.c: Deleted inclusion of fcntl.h; apparently not + necessary. + * Makefile: Added comment about compiling on isi under 4.3. + + * breakpoint.c (break_command_1): Only give decode_line_1 the + default_breakpoint_defaults if there's nothing better (ie. make + the default be off of the current_source notes if at all + possible). + + * blockframe.c (get_prev_frame_info): Clean up comments and + delete code ifdefed out around FRAMELESS_FUNCTION_INVOCATION test. + + * remote.c: Added a "?" message to protocol. + (remote_open): Used at startup. + (putpkt): Read whatever garbage comes over the line until we see a + '+' (ie. don't treat garbage as a timeout). + + * valops.c (call_function): Eliminated no longer appropriate + comment. + + * infrun.c (wait_for_inferior): Changed several convex conditional + compilations to be conditional on CANNOT_EXECUTE_STACK. + +Wed Apr 19 10:18:17 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (print_frame_args): Added code to attempt to deal + with arguments that are bigger than an int. + + Continuation of Convex/Fortran changes: + * printcmd.c (print_scalar_formatted): Added leading zeros to + printing of large integers. + (address_info, print_frame_args): Added code to deal with + LOC_REF_ARG. + (print_nameless_args): Allow param file to specify a routine with + which to print typeless integers. + (printf_command): Deal with long long values well. + * stack.c (print_frame_arg_vars): Change to deal with LOC_REF_ARG. + * symmisc.c (print_symbol): Change to deal with LOC_REF_ARG. + * symseg.h: Added LOC_REF_ARG to enum address_class. + * symtab.c (lookup_block_symbol): Changed to deal with + LOC_REF_ARG. + * valarith.c (value_subscripted_rvalue): Created. + (value_subscript): Used above when app. + (value_less, value_equal): Change to cast to (char *) before doing + comparison, for machines where that casting does something. + * valops.c (call_function): Setup to deal with machines where you + cannot execute code on the stack segment. + * valprint.c (val_print): Make sure that array element size isn't + zero before printing. Set address of default array to address of + first element. Put in a couple of int cast. Removed some convex + specific code. Added check for endianness of machine in case of a + packed structure. Added code for printing typeless integers and + for LONG LONG's. + (set_maximum_command): Change to use parse_and_eval_address to get + argument (so can use expressions there). + * values.c (value_of_internalvar, set_internalvar_component, + set_internalvar, convenience_info): Add in hooks for trapped + internal vars. + (unpack_long): Deal with LONG_LONG. + (value_field): Remove LONGEST cast. + (using_struct_return): Fixed typo ENUM ==> UNION. + * xgdb.c (_initialize_xgdb): Make sure that specify_exec_file_hook + is not called unless we are setting up a windowing environ. + +Tue Apr 18 13:43:37 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + Various changes involved in 1) getting gdb to work on the convex, + and 2) Getting gdb to work with fortran (due to convex!csmith): + * convex-dep.c, convex-opcode.h, m-convex.h, convex-pinsn.c: + Created (or replaced with new files). + * Makefile: Add convex dependent files. Changed default flags to + gnu malloc to be CFLAGS. + * config.gdb: Added convex to list of machines. + * core.c (files_info): Added a FILES_INFO_HOOK to be used if + defined. + (xfer_core_file): Conditionalized compilation of xfer_core_file on + the macro XFER_CORE_FILE. + * coffread.c (record_misc_function): Made sure it zerod type field + (which is now being used; see next). + * dbxread.c: Included some convex dependent include files. + (copy_pending, fix_common_blocks): Created. + [STAB_REG_REGNUM, BELIEVE_PCC_PROMOTION]: Created default values; + may be overridden in m-*.h. + Included data structures for keeping track of common blocks. + (dbx_alloc_type): Modified; if called with negative 1's will + create a type without putting it into the type vector. + (read_dbx_symtab, read_addl_syms): Modified calls to + record_misc_function to include the new information. + (symbol_file_command, psymtab_to_symtab, add_file_command): + Modified reading in of string table to adapt to machines which + *don't* store the size of the string table in the first four bytes + of the string table. + (read_dbx_symtab, scan_file_globals, read_ofile_symtab, + read_addl_syms): Modified assignment of namestring to accept null + index into symtab as ok. + (read_addl_syms): Modified readin of a new object file to fiddle + with common blocks correctly. + (process_one_symbol): Fixed incorrect comment about convex. Get + symbols local to a lexical context from correct spot on a per + machine basis. Catch a bug in pcc which occaisionally puts an SO + where there should be an SOL. Seperate sections for N_BCOMM & + N_ECOMM. + (define_symbol): Ignore symbols with no ":". Use + STAB_REG_TO_REGNUM. Added support for function args calling by + reference. + (read_type): Only read type number if one is there. Remove old + (#if 0'd out) array code. + (read_array_type): Added code for dealing with adjustable (by + parameter) arrays half-heartedly. + (read_enum_type): Allow a ',' to end a list of values. + (read_range_type): Added code to check for long long. + * expread.y: Modified to use LONGEST instead of long where + necessary. Modified to use a default type of int for objects that + weren't in text space. + * findvar.c (locate_var_value, read_var_value): Modified to deal + with args passed by reference. + * inflow.c (create_inferior): Used CREATE_INFERIOR_HOOK if it + exists. + * infrun.c (attach_program): Run terminal inferior when attaching. + (wait_for_inferior): Removed several convex dependencies. + * main.c (float_handler): Created. + Made whatever signal indicates a stop configurable (via macro + STOP_SIGNAL). + (main): Setup use of above as a signal handler. Added check for + "-nw" in args already processed. + (command_line_input): SIGTSTP ==>STOP_SIGNAL. + + * expread.y: Added token BLOCKNAME to remove reduce/reduce + conflict. + * Makefile: Change message to reflect new grammar. + +Mon Apr 17 13:24:59 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (compare_ints): Created. + (print_frame_args): Modified to always print arguments in the + order in which they were found in the symbol table. Figure out + what apots are missing on the fly. + + * stack.c (up_command): Error if no inferior or core file. + + * m-i386.h, m-symmetry.h [FRAMELESS_FUNCTION_INVOCATION]: Created; + same as m68k. + + * dbxread.c (define_symbol): Changed "desc==0" test to + "processing_gcc_compilation", which is the correct way to do it. + +Sat Apr 15 17:18:38 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * expread.y: Added precedence rules for arglists, ?:, and sizeof + to eliminate some shift-reduce conflicts. + * Makefile: Modified "Expect" message to conform to new results. + +Thu Apr 13 12:29:26 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * inflow.c (terminal_init_inferior): Fixed typo in recent diff + installation; TIOGETC ==> TIOCGETC. + + * m-vax.h, m-sun2.h, m-sun3.h, m-sparc.h, m-hp*.h, m-isi.h, + m-news.h [FRAMELESS_FUNCTION_INVOCATION]: Created macro with + appropriate definition. + +Wed Apr 12 15:30:29 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * blockframe.c (get_prev_frame_info): Added in a macro to specify + when a "frame" is called without a frame pointer being setup. + + * Makefile [clean]: Made sure to delete gnu malloc if it was being + used. + +Mon Apr 10 12:43:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (process_one_symbol): Reset within_function to 0 after + last RBRAC of a function. + + * dbxread.c (read_struct_type): Changed check for filling in of + TYPE_MAIN_VARIANT of type. + + * inflow.c (create_inferior): Conditionalized fork so that it + would be used if USG was defined and HAVE_VFORK was not defined. + + * defs.h: Added comment about enum command_class element + class_alias. + + * dbxread.c (process_one_symbol): Fixed a typo with interesting + implications for associative processing in the brain (':' ==> 'c'). + + * sparc-dep.c (isabranch): Changed name to isannulled, modified to + deal with coprocessor branches, and improved comment. + (single_step): Changed to trap at npc + 4 instead of pc +8 on + annulled branches. Changed name in call to isabranch as above. + + * m-sun4os4.h (STACK_END_ADDRESS): Changed it to 0xf8000000 under + os 4.0. + +Sat Apr 8 17:04:07 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (process_one_symbol): In the case N_FUN or N_FNAME the + value being refered to is sometimes just a text segment variable. + Catch this case. + + * infrun.c (wait_for_inferior), breakpoint.c + (breakpoint_stop_status): Move the selection of the frame to + inside breakpoint_stop_status so that the frame only gets selected + (and the symbols potentially read in) if the symbols are needed. + + * symtab.c (find_pc_psymbol): Fixed minor misthough (pc >= + fucntion start, not >). + + * breakpoint.c (_initialize_breakpoint): Change "delete" internal + help entry to simply refer to it being a prefix command (since the + list of subcommands is right there on a "help delete"). + +Fri Apr 7 15:22:18 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * blockframe.c (find_pc_partial_function): Created; figures out + what function pc is in (name and address) without reading in any + new symbols. + * symtab.h: Added decl for above. + * infrun.c (wait_for_inferior): Used instead of + find_pc_function_start. + * stack.c (print_frame_info): Used instead of hand coding for same + thing. + + * dbxread.c (psymtab_to_symtab): No longer patch readin pst's out + of the partial_symtab_list; need them there for some checks. + * blockframe.c (block_for_pc), source.c (select_source_symtab), + symtab.c (lookup_symbol, find_pc_symtab, list_symbols): Made extra + sure not to call psymtab_to_symtab with ->readin == 1, since these + psymtab now stay on the list. + * symtab.c (sources_info): Now distinguishes between psymtabs with + readin set and those with it not set. + + * symtab.c (lookup_symtab): Added check through partial symtabs + for name with .c appended. + + * source.c (select_source_symtab): Changed semantics a little so + that the argument means something. + * source.c (list_command), symtab.c (decode_line_1): Changed call + to select_source_symtab to match new conventions. + + * dbxread.c (add_file_command): This command no longer selects a + symbol table to list from. + + * infrun.c (wait_for_inferior): Only call find_pc_function (to + find out if we have debugging symbols for a function and hence if + we should step over or into it) if we are doing a "step". + +Thu Apr 6 12:42:28 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (command_line_input): Added a local buffer and only + copied information into the global main.c buffer when it is + appropriate for it to be saved (and repeated). + (dont_repeat): Only nail line when we are reading from stdin + (otherwise null lines won't repeat and what's in line needs to be + saved). + (read_command_lines): Fixed typo; you don't what to repeat when + reading command lines from the input stream unless it's standard + input. + + John Gilmore's (gnu@toad.com) mods for USG gdb: + * inflow.c: Removed inclusion of sys/user.h; no longer necessary. + (, terminal_init_inferior, terminal_inferior, terminal_ours_1, + term_status_command, _initialize_inflow) Seperated out declaration + and usage of terminal mode structures based on the existence of + the individual ioctls. + * utils.c (request_quit): Restore signal handler under USG. If + running under USG initialize sys_siglist at run time (too much + variation between systems). + +Wed Apr 5 13:47:24 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + John Gilmore's (gnu@toad.com) mods for USG gdb: + * default-dep.c: Moved include of sys/user.h to after include of + a.out.h. + (store_inferior_registers): Fixed error message. + (core_file_command): Improved error messages from reading in of + u area in core file. Changed calculation of offset of registers + to account for some machines putting it in as an offset rather + than an absolute address. Changed error messages for reading of + registers from core file. + + * coffread.c (read_file_hdr): Added final check for BADMAG macro + to use if couldn't recognize magic number. + * Makefile: Added explicit directions for alloca addition. + Included alloca.c in list of possible library files. Cleaned up + possible library usage. Included additional information on gcc + and include files. + + * source.c, remote.c, inflow.c, dbxread.c, core.c, coffread.c: + Changed include of sys/fcntl.h to an include of fcntl.h (as per + posix; presumably this will break fewer machines. I hopw). + * README: Added a pointer to comments at top of Makefile. + * Makefile: Added a comment about machines which need fcntl.h in + sys. + +Tue Apr 4 11:29:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valprint.c (set_prettyprint_command, set_unionprint_command, + format_info): Created. + (_initialize_valprint): Added to lists of commands. + + * gdb.texinfo [Backtrace]: Added a section describing the format + if symbols have not yet been read in. + + * valprint.c (val_print): Added code to prettyprint structures if + "prettyprint" is set and only to print unions below the top level + if "unionprint" is set. + + * infcmd.c (registers_info), valprint.c (value_print, val_print): + Added argument to call to val_print indicating deptch of recursion. + + * symtab.[ch] (find_pc_psymbol): Created; finds static function + psymbol with value nearest to but under value passed. + * stack.c (print_frame_info): Used above to make sure I have best + fit to pc value. + + * symseg.h (struct partial_symbol): Added value field. + * dbxread.c (read_dbx_symtab): Set value field for partial symbols + saved (so that we can lookup static symbols). + + * symtab.[ch] (find_pc_symtab): Changed to external. + * stack.c (select_frame): Call above to make sure that symbols for + a selected frame is readin. + +Mon Apr 3 12:48:16 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * stack.c (print_frame_info): Modified to only print out full + stack frame info on symbols whose tables have been read in. + * symtab.c, symtab.h (find_pc_psymtab): Made function external; + above needed it. + + * main.c (,set_verbose_command, initialize_main): Created a + variable "info_verbose" which says to talk it up in various and + sundry places. Added command to set this variable. + * gdb.texinfo (GDB Output): Added documentation on "set verbose" + and changed the name of the "Screen Output" section to "GDB + Output". + * dbxread.c (psymtab_to_symtab): Added information message about + symbol readin. Conditionalized on above. + + * dbxread.c (define_symbol): Made an "i" constant be of class + LOC_CONST and an "r" constant be of class LOC_CONST_BYTES. + + * README: Made a note about modifications which may be necessary + to the manual for this version of gdb. + + * blockframe.c (get_prev_frame_info): Now we get saved address and + check for validity before we check for leafism. This means that + we will catch the fact that we are in start, but we will miss any + fns that start calls without an fp. This should be fine. + + * m-*.h (FRAME_CHAIN): Modified to return 0 if we are in start. + This is usually a test for within the first object file. + * m-sparc.h (FRAME_CHAIN): The test here is simply if the fp saved + off the the start sp is 0. + + * blockframe.c (get_prev_frame_info): Removed check to see if we + were in start. Screws up sparc. + + * m-sparc.h (FRAME_FIND_SAVED_REGISTERS): Changed test for dummy + frame to not need frame to be innermost. + + * gdb.texinfo: Added section on frameless invocations of functions + and when gdb can and can't deal with this. + + * stack.c (frame_info): Disallowed call if no inferior or core + file; fails gracefully if truely bad stack specfication has been + given (ie. parse_frame_specification returns 0). + +Fri Mar 31 13:59:33 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * infrun.c (normal_stop): Changed references to "unset-env" to + "delete env". + + * infcmd.c (_initialize_infcmd): Change reference to set-args in + help run to "set args". + + * remote.c (getpkt): Allow immediate quit when reading from + device; it could be hung. + + * coffread.c (process_coff_symbol): Modify handling of REG + parameter symbols. + +Thu Mar 30 15:27:23 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (symbol_file_command): Use malloc to allocate the + space for the string table in symbol_file_command (and setup a + cleanup for this). This allows a more graceful error failure if + there isn't any memory availible (and probably allows more memory + to be avail, depending on the machine). + + Additional mods for handling GNU C++ (from Tiemann): + * dbxread.c (read_type): Added case for '#' type (method type, I + believe). + (read_struct_type): If type code is undefined, make the main + variant for the type be itself. Allow recognition of bad format + in reading of structure fields. + * eval.c (evaluate_subexp): Modify evaluation of a member of a + structure and pointer to same to make sure that the syntax is + being used correctly and that the member is being accessed correctly. + * symseg.h: Added TYPE_CODE_METHOD to enum type_code. Add a + pointer to an array of argument types to the type structure. + * symtab.c (lookout_method_type, smash_to_method_type): Created. + * symtab.h (TYPE_ARG_TYPES): Created. + * valops.c (call_function): Modified handling of methods to be the + same as handling of functions; no longer check for members. + * valprint.c (val_print, type_print_varspec_{prefix,suffix}, + type_print_base): Added code to print method args correctly. + * values.c (value_virtual_fn_field): Modify access to virtual + function table. + +Wed Mar 29 13:19:34 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * findvar.c: Special cases for REGISTER_WINDOWS: 1) Return 0 if we + are the innermost frame, and 2) return the next frame in's value + if the SP is being looked for. + + * blockframe.c (get_next_frame): Created; returns the next (inner) + frame of the called frame. + * frame.h: Extern delcaration for above. + + * main.c (command_line_input): Stick null at end before doing + history expansion. + +Tue Mar 28 17:35:50 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Added namestring assignment to + N_DATA/BSS/ABS case. Sigh. + +Sat Mar 25 17:49:07 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * expread.y: Defined YYDEBUG. + +Fri Mar 24 20:46:55 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c (make_symbol_completion_list): Completely rewrote to + never call psymtab_to_symtab, to do a correct search (no + duplicates) through the visible symbols, and to include structure + and union fields in the things that it can match. + +Thu Mar 23 15:27:44 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (dbx_create_type): Created; allocates and inits space + for a type without putting it on the type vector lists. + (dbx_alloc_type): Uses above. + + * Makefile: xgdb.o now produced by default rules for .o.c. + +Fri Mar 17 14:27:50 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * infrun.c: Fixed up inclusion of aouthdr.h on UMAX_PTRACE. + + * Makefile, config.gdb: Added hp300bsd to potential + configurations. + * hp300bsd-dep.c, m-hp300bsd.h: Created. + + * infrun.c (wait_for_inferior): Rewrote to do no access to + inferior until we make sure it's still there. + + * inflow.c (inferior_died): Added a select to force the selected + frame to null when inferior dies. + + * dbxread.c (symbol_file_command): free and zero symfile when + discarding symbols. + + * core.c (xfer_core_file): Extended and cleaned up logic in + interpeting memory address. + + * core.c (xfer_core_file): Extended opening comment. + +Thu Mar 16 15:39:42 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * coffread.c (symbol_file_command): Free symfile name when freeing + contents. + + * blockframe.c (get_prev_frame_info): Added to fatal error message + to indicate that it should never happen. + + * stack.c (frame_info): Printed out value of "saved" sp seperately + to call attention to the fact that it isn't stored in memory + anywhere; the actual previous frames address is printed. + + * m-sparc.h (FRAME_FIND_SAVED_REGS): Set address of sp saved in + frame to value of fp (rather than value of sp in current frame). + + * expread.y: Allow "unsigned" as a type itself, as well as a type + modifier. + + * coffread.c: Added declaration for fclose + +Fri Mar 10 17:22:31 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (command_line_input): Checked for -1 return from + readline; indicates EOF. + +Fri Mar 3 00:31:27 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * remote.c (remote_open): Cast return from signal to (void (*)) to + avoid problems on machines where the return type of signal is (int + (*)). + + * Makefile: Removed deletion of version control from it (users + will need it for their changes). + +Thu Mar 2 15:32:21 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symmetry-dep.c (print_1167_regs): Print out effective doubles on + even number regs. + (fetch_inferior_registers): Get the floating point regs also. + + * xgdb.c (do_command): Copied command before calling execute + command (so that execute_command wouldn't write into text space). + + * copying.awk: Created (will produce copying.c as output when + given COPYING as input). + * Makefile: Used above to create copying.c. + * main.c: Took out info_warranty and info_copying. + + * *.*: Changed copyright notice to use new GNU General Public + License (includes necessary changes to manual). + + * xgdb.c (create_text_widget): Created text_widget before I create + the source and sink. + (print_prompt): Added fflush (stdout). + + * Makefile: Added -lXmu to the compilation line for xgdb. Left + the old one there incase people still had R2. + + * README: Added note about -gg format. + + * remote.c (getpkt): Fixed typo; && ==> &. + + * Makefile: Added new variable READLINE_FLAGS so that I could + force compilation of readline.c and history.c with -DSYSV on + system V machines. Mentioned in Makefile comments at top. + +Wed Mar 1 17:01:01 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * hp9k320-dep.c (store_inferior_registers): Fixed typo. + +Fri Feb 24 14:58:45 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * hp9k320-dep.c (store_inferior_registers, + fetch_inferior_registers): Added support for remote debugging. + + * remote.c (remote_timer): Created. + (remote_open, readchar): Setup to timeout reads if they take + longer than "timeout". This allows one to debug how long such + things take. + (putpkt): Modified to print a debugging message (if such things + are enabled) each time it resends a packet. + (getpkt): Modified to make the variable CSUM unsigned and read it + CSUM with an & 0xff (presumably to deal with poor sign extension + on some machines). Also made c1 and c2 unsigned. + (remote_wait): Changed buffer to unsigned status. + (remote_store_registers, remote_write_bytes): Puts a null byte at + the end of the control string. + + * infcmd.c (attach_command, detach_command, _initialize_infcmd): + Made attach_command and detach_command always availible, but + modified them to only allow device file attaches if ATTACH_DETACH + is not defined. + + * gdb.texinfo: Added cross reference from attach command to remote + debugging. + +Thu Feb 23 12:37:59 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * remote.c (remote_close): Created to close the remote connection + and set the remote_debugging flag to 0. + * infcmd.c (detach_command): Now calls the above when appropriate. + + * gdb.texinfo: Removed references to the ``Distribution'' section + in the copyright. + + * main.c, utils.c (ISATTY): Created default defintions of this + macro which use isatty and fileno. + * utils.c (fprintf_filtered, print_spaces_filtered), main.c + (command_loop, command_line_input): Used this macro. + * m-news.h: Created a definition to override this one. + + * utils.c (fprintf_filtered): Made line_size static (clueless). + + * utils.c (fprintf_filtered): Changed max length of line printed + to be 255 chars or twice the format length. + + * symmetry-dep.c, m-symmetry: Fixed typo (^L ==> ). + + * printcmd.c (do_examine): Fixed typo (\n ==> \t). + +Wed Feb 22 16:00:33 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + Contributed by Jay Vosburgh (jay@mentor.cc.purdue.edu) + * m-symmetry.h, symmetry-dep.c: Created. + * Makefile: Added above in appropriate lists. + * config.gdb: Added "symmetry" target. + + * utils.c (prompt_for_continue): Zero'd chars_printed also. + + * utils.c (fprintf_filtered): Call prompt for continue instead of + doing it yourself. + + * dbxread.c (read_dbx_symtab): Added code to conditionalize what + symbol type holds to "x.o" or "-lx" symbol that indicates the + beginning of a new file. + +Tue Feb 21 16:22:13 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * gdb.texinfo: Deleted @ignore block at end of file. + + * findvar.c, stack.c: Changed comments that refered to "frame + address" to "frame id". + + * findvar.c (locate_var_value): Modified so that taking the + address of an array generates an object whose type is a pointer to + the elements of the array. + +Sat Feb 18 16:35:14 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * gdb.texinfo: Removed reference to "!" as a shell escape + character. Added a section on controling screen output + (pagination); changing "Input" section to "User Interface" + section. Changed many inappropriate subsubsection nodes into + subsections nodes (in the readline and history expansion + sections). + +Fri Feb 17 11:10:54 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * utils.c (set_screensize_command): Created. + (_initialize_utils): Added above to setlist. + + * main.c (main): Added check to see if ~/.gdbinit and .gdbinit + were the same file; only one gets read if so. Had to include + sys/stat.h for this. + + * valprint.c (type_print_base): Changed calls to print_spaces to + print_spaces_filtered. + + * main.c (command_line_input): Chaned test for command line + editing to check for stdin and isatty. + + * main.c (command_loop): Call reinitialize_more_filter before each + command (if reading from stdin and it's a tty). + utils.c (initialize_more_filter): Changed name to + reinitialize_more_filter; killed arguments. + utils.c (_initialize_utils): Created; initialized lines_per_page + and chars_per_line here. + + * utils.c (fprintf_filtered): Removed printing of "\\\n" after + printing linesize - 1 chars; assume that the screen display will + take care of that. Still watching that overflow. + + * main.c: Created the global variables linesize and pagesize to + describe the number of chars per line and lines per page. + +Thu Feb 16 17:27:43 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * printcmd.c (do_examine, print_scalar_formatted, print_address, + whatis_command, do_one_display, ptype_command), valprint.c + (value_print, val_print, type_print_method_args, type_print_1, + type_print_derivation_info, type_print_varspec_suffix, + type_print_base), breakpoint.c (breakpoints_info, breakpoint_1), + values.c (history_info), main.c (editing_info, warranty_info, + copying_info), infcmd.c (registers_info), inflow.c + (term_status_command), infrun.c (signals_info), stack.c + (backtrace_command, print_frame_info), symtab.c (list_symbols, + output_source_filename), command.c (help_cmd, help_list, + help_command_list): Replaced calls to printf, fprintf, and putc + with calls to [f]printf_filtered to handle more processing. + Killed local more emulations where I noticed them. + +Wed Feb 15 15:27:36 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * defs.h, utils.c (initialize_more_filter, fprintf_filtered, + printf_filtered): Created a printf that will also act as a more + filter, prompting the user for a whenever the page length + is overflowed. + + * symtab.c (list_symbols): Elminated some code inside of an #if 0. + +Tue Feb 14 11:11:24 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * Makefile: Turned off backup versions for this file; it changes + too often. + + * command.c (lookup_cmd, _initialize_command): Changed '!' so that + it was no longer a shell escape. "sh" must be used. + + * main.c (command_line_input, set_history_expansion, + initialize_main): Turned history expansion on, made it the + default, and only execute it if the first character in the line is + a '!'. + + * version.c, gdb.texinfo: Moved version to 3.2 (as usual, jumping + the gun some time before release). + + * gdb.texinfo: Added sections (adapted from Brian's notes) on + command line editing and history expansion. + + * main.c (set_command_editing, initialize_main): Modified name to + set_editing and modified command to "set editing". + + * Makefile: Put in dependencies for READLINEOBJS. + + * main.c (history_info, command_info): Combined into new command + info; deleted history_info. + (initialize_main): Deleted "info history" command; it was + interfering with the value history. + + * coffread.c (enter_linenos): Modified to do bit copy instead of + pointer dereference, since the clipper machine can't handle having + longs on short boundaries. + (read_file_hdr): Added code to get number of syms for clipper. + + * stack.c (return_command): Fixed method for checking when all of + the necessary frames had been popped. + + * dbxread.c (read_dbx_symtab (ADD_PSYMBOL_TO_LIST)): Fixed typo in + allocation length. + +Mon Feb 13 10:03:27 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Split assignment to namestring into + several different assignments (so that it wouldn't be done except + when it had to be). Shortened switches and duplicated code to + produce the lowest possible execution time. Commented (at top of + switch) which code I duplicated. + + * dbxread.c (read_dbx_symtab): Modified which variables were + register and deleted several variables which weren't used. Also + eliminated 'F' choice from subswitch, broke out strcmp's, reversed + compare on line 1986, and elminated test for !namestring[0]; it is + caught by following test for null index of ':'. + +Sun Feb 12 12:57:56 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * main.c (gdb_completer_word_break_characters): Turned \~ into ~. + +Sat Feb 11 15:39:06 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * symtab.c (find_pc_psymtab): Created; checks all psymtab's till + it finds pc. + (find_pc_symtab): Used; fatal error if psymtab found is readin + (should have been caught in symtab loop). + (lookup_symbol): Added check before scan through partial symtab + list for symbol name to be on the misc function vector (only if in + VAR_NAMESPACE). Also made sure that psymtab's weren't fooled with + if they had already been read in. + (list_symbols): Checked through misc_function_vector for matching + names if we were looking for functions. + (make_symbol_completion_list): Checked through + misc_function_vector for matching names. + * dbxread.c (read_dbx_symtab): Don't bother to do processing on + global function types; this will be taken care of by the + misc_function hack. + + * symtab.h: Modified comment on misc_function structure. + +Fri Feb 10 18:09:33 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * symseg.h, dbxread.c (read_dbx_symtab, init_psymbol_list, + start_psymtab, end_psymtab), coffread.c (_initialize_coff), + symtab.c (lookup_partial_symbol, list_symbols, + make_symbol_completion_list): Changed separate variables for + description of partial symbol allocation into a specific kind of + structure. + + (read_dbx_symtab, process_symbol_for_psymtab): Moved most of + process_symbol_for_psymtab up into read_dbx_symtab, moved a couple + of symbol types down to the ingore section, streamlined (I hope) + code some, modularized access to psymbol lists. + +Thu Feb 9 13:21:19 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (command_line_input): Made sure that it could recognize + newlines as indications to repeat the last line. + + * symtab.c (_initialize_symtab): Changed size of builtin_type_void + to be 1 for compatibility with gcc. + + * main.c (initialize_main): Made history_expansion the default + when gdb is compiled with HISTORY_EXPANSION. + + * readline.c, readline.h, history.c, history.h, general.h, + emacs_keymap.c, vi_keymap.c, keymaps.c, funmap.c: Made all of + these links to /gp/gnu/bash/* to keep them updated. + * main.c (initialize_main): Made default be command editing on. + +Wed Feb 8 13:32:04 1989 & Smith (randy at hobbes) + + * dbxread.c (read_dbx_symtab): Ignore N_BSLINE on first + readthrough. + + * Makefile: Removed convex-dep.c from list of distribution files. + +Tue Feb 7 14:06:25 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c: Added command lists sethistlist and unsethistlist to + accesible command lists. + (parse_binary_operation): Created to parse a on/1/yes vs. off/0/no + spec. + (set_command_edit, set_history, set_history_expansion, + set_history_write, set_history_size, set_history_filename, + command_info, history_info): Created to allow users to control + various aspects of command line editing. + + * main.c (symbol_creation_function): Created. + (command_line_input, initialize_main): Added rest of stuff + necessary for calling bfox' command editing routines under + run-time control. + * Makefile: Included readline and history source files for command + editing; also made arrangements to make sure that the termcap + library was available. + * symtab.c (make_symbol_completion_list): Created. + +Mon Feb 6 16:25:25 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c: Invented variables to control command editing. + command_editing_p, history_expansion_p, history_size, + write_history_p, history_filename. Initialized them to default + values in initialize_main. + + * infcmd.c (registers_info), infrun.c (signals_info), + * main.c (gdb_read_line): Changed name to command_line_input. + (readline): Changed name to gdb_readline; added second argument + indicating that the read value shouldn't be saved (via malloc). + * infcmd.c (registers_info), infrun.c (signals_info), main.c + (copying_info), symtab.c (output_source_filename, MORE, + list_symbols): Converted to use gdb_readline in place of + gdb_read_line. + + +Sun Feb 5 17:34:38 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * blockframe.c (get_frame_saved_regs): Removed macro expansion + that had accidentally been left in the code. + +Sat Feb 4 17:54:14 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (gdb_read_line, readline): Added function readline and + converted gdb_read_line to use it. This was a conversion to the + line at a time style of input, in preparation for full command + editing. + +Fri Feb 3 12:39:03 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Call end_psymtab at the end of + read_dbx_symtab if any psymtab still needs to be completed. + + * config.gdb, sun3-dep.c: Brought these into accord with the + actual sun2 status (no floating point period; sun3-dep.c unless + has os > 3.0). + * m-sun2os2.h: Deleted; not needed. + + * config.gdb: Added a couple of aliases for machines in the + script. + + * infrun.c: Added inclusion of aouthdr.h inside of #ifdef UMAX + because ptrace needs to know about the a.out header. + + * Makefile: Made dep.o depend on dep.c and config.status only. + + * expread.y: Added declarations of all of the new write_exp_elt + functions at the include section in the top. + + * Makefile: Added a YACC definition so that people can use bison + if they wish. + + * Makefile: Added rms' XGDB-README to the distribution. + + * Makefile: Added removal of init.o on a "make clean". + +Thu Feb 2 16:27:06 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * *-dep.c: Deleted definition of COFF_FORMAT if AOUTHDR was + defined since 1) We *may* (recent mail message) want to define + AOUTHDR under a basically BSD system, and 2) AOUTHDR is sometimes + a typedef in coff encapsulation setups. Also removed #define's of + AOUTHDR if AOUTHDR is already defined (inside of coff format). + * core.c, dbxread.c: Removed #define's of AOUTHDR if AOUTHDR is + already defined (inside of coff format). + +Tue Jan 31 12:56:01 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * GDB 3.1 released. + + * values.c (modify_field): Changed test for endianness to assign + to integer and reference character (so that all bits would be + defined). + +Mon Jan 30 11:41:21 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * news-dep.c: Deleted inclusion of fcntl.h; just duplicates stuff + found in sys/file.h. + + * i386-dep.c: Included default definition of N_SET_MAGIC for + COFF_FORMAT. + + * config.gdb: Added checks for several different operating + systems. + + * coffread.c (read_struct_type): Put in a flag variable so that + one could tell when you got to the end of a structure. + + * sun3-dep.c (core_file_command): Changed #ifdef based on SUNOS4 + to ifdef based on FPU. + + * infrun.c (restore_inferior_status): Changed error message to + "unable to restore previously selected frame". + + * dbxread.c (read_dbx_symtab): Used intermediate variable in error + message reporting a bad symbol type. (scan_file_globals, + read_ofile_symtab, read_addl_syms): Data type of "type" changed to + unsigned char (which is what it is). + * i386-dep.c: Removed define of COFF_FORMAT if AOUTHDR is defined. + Removed define of a_magic to magic (taken care of by N_MAGIC). + (core_file_command): Zero'd core_aouthdr instead of setting magic + to zero. + * i386-pinsn.c: Changed jcxz == jCcxz in jump table. + (putop): Added a case for 'C'. + (OP_J): Added code to handle possible masking of PC value on + certain kinds of data. + m-i386gas.h: Moved COFF_ENCAPSULATE to before inclusion of + m-i386.h and defined NAMES_HAVE_UNDERSCORE. + + * coffread.c (unrecrod_misc_function, read_coff_symtab): Added + symbol number on which error occured to error output. + +Fri Jan 27 11:55:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Removed init.c in make clean. Removed it without -f + and with leading - in make ?gdb. + +Thu Jan 26 15:08:03 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + Changes to get it to work on gould NP1. + * dbxread.c (read_dbx_symtab): Included cases for N_NBDATA and + N_NBBSS. + (psymtab_to_symtab): Changed declaration of hdr to + DECLARE_FILE_HEADERS. Changed access to use STRING_TABLE_SIZE and + SYMBOL_TABLE_SIZE. + * gld-pinsn.c (findframe): Added declaration of framechain() as + FRAME_ADDR. + + * coffread.c (read_coff_symtab): Avoided treating typedefs as + external symbol definitions. + +Wed Jan 25 14:45:43 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Removed reference to alloca.c. If they need it, they + can pull alloca.o from the gnu-emacs directory. + + * version.c, gdb.texinfo: Updated version to 3.1 (jumping the gun + a bit so that I won't forget when I release). + + * m-sun2.h, m-sun2os2.h, m-sun3os4.h, config.gdb: Modified code so + that default includes new sun core, ptrace, and attach-detach. + Added defaults for sun 2 os 2. + + Modifications to reset stack limit back to what it used to be just + before exec. All mods inside of #ifdef SET_STACK_LIMIT_HUGE. + * main.c: Added global variable original_stack_limit. + (main): Set original_stack_limit to original stack limit. + * inflow.c: Added inclusion of necessary files and external + reference to original_stack_limit. + (create_inferior): Reset stack limit to original_stack_limit. + + * dbxread.c (read_dbx_symtab): Killed PROFILE_SYMBOLS ifdef. + + * sparc-dep.c (isabranch): Multiplied offset by 4 before adding it + to addr to get target. + + * Makefile: Added definition of SHELL to Makefile. + + * m-sun2os4.h: Added code to define NEW_SUN_PTRACE, NEW_SUN_CORE, + and ATTACH_DETACH. + * sun3-dep.c: Added code to avoid fp regs if we are on a sun2. + +Tue Jan 24 17:59:14 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_array_type): Added function. + (read_type): Added call to above instead of inline code. + + * Makefile: Added ${GNU_MALLOC} to the list of dependencies for + the executables. + +Mon Jan 23 15:08:51 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * gdb.texinfo: Added paragraph to summary describing languages + with which gdb can be run. Also added descriptions of the + "info-methods" and "add-file" commands. + + * symseg.h: Commented a range type as having TYPE_TARGET_TYPE + pointing at the containing type for the range (often int). + * dbxread.c (read_range_type): Added code to do actual range types + if they are defined. Assumed that the length of a range type is + the length of the target type; this is a lie, but will do until + somebody gets back to me as to what these silly dbx symbols mean. + + * dbxread.c (read_range_type): Added code to be more picky about + recognizing builtins as range types, to treat types defined as + subranges of themselves to be subranges of int, and to recognize + the char type idiom from dbx as a special case. + +Sun Jan 22 01:00:13 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-vax.h: Removed definition of FUNCTION_HAS_FRAME_POINTER. + * blockframe.c (get_prev_frame_info): Removed default definition + and use of above. Instead conditionalized checking for leaf nodes + on FUNCTION_START_OFFSET (see comment in code). + +Sat Jan 21 16:59:19 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_range_type): Fixed assumption that integer was + always type 1. + + * gdb.texinfo: Fixed spelling mistake and added a note in the + running section making it clear that users may invoke subroutines + directly from gdb. + + * blockframe.c: Setup a default definition for the macro + FUNCTION_HAS_FRAME_POINTER. + (get_prev_frame_info): Used this macro instead of checking + SKIP_PROLOGUE directly. + * m-vax.h: Overroad definition; all functions on the vax have + frame pointers. + +Fri Jan 20 12:25:35 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * core.c: Added default definition of N_MAGIC for COFF_FORMAT. + + * xgdb.c: Installed a fix to keep the thing from dying when there + isn't any frame selected. + + * core.c: Made a change for the UMAX system; needs a different + file included if using that core format. + + * Makefile: Deleted duplicate obstack.h in dbxread.c dependency. + + * munch: Modified (much simpler) to cover (I hope) all cases. + + * utils.c (save_cleanups, restore_cleanups): Added functions to + allow you to push and pop the chain of cleanups to be done. + * defs.h: Declared the new functions. + * main.c (catch_errors): Made sure that the only cleanups which + would be done were the ones put on the chain *after* the current + location. + + * m-*.h (FRAME_CHAIN_VALID): Removed check on pc in the current + frame being valid. + * blockframe.c (get_prev_frame_info): Made the assumption that if + a frame's pc value was within the first object file (presumed to + be /lib/crt0.o), that we shouldn't go any higher. + + * infrun.c (wait_for_inferior): Do *not* execute check for stop pc + at step_resume_break if we are proceeding over a breakpoint (ie. + if trap_expected != 0). + + * Makefile: Added -g to LDFLAGS. + + * m-news.h (POP_FRAME) Fixed typo. + + * printcmd.c (print_frame_args): Modified to print out register + params in order by .stabs entry, not by register number. + + * sparc-opcode.h: Changed declaration of (struct + arith_imm_fmt).simm to be signed (as per architecture manual). + * sparc-pinsn.c (fprint_addr1, print_insn): Forced a cast to an + int, so that we really would get signed behaivior (default for sun + cc is unsigned). + + * i386-dep.c (i386_get_frame_setup): Replace function with new + function provided by pace to fix bug in recognizing prologue. + +Thu Jan 19 11:01:22 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * infcmd.c (run_command): Changed error message to "Program not + restarted." + + * value.h: Changed "frame" field in value structure to be a + FRAME_ADDR (actually CORE_ADDR) so that it could survive across + calls. + + * m-sun.h (FRAME_FIND_SAVED_REGS): Fixed a typo. + + * value.h: Added lval: "lval_reg_frame_relative" to indicate a + register that must be interpeted relative to a frame. Added + single entry to value structure: "frame", used to indicate which + frame a relative regnum is relative to. + * findvar.c (value_from_register): Modified to correctly setup + these fields when needed. Deleted section to fiddle with last + register copied on little endian machine; multi register + structures will always occupy an integral number of registers. + (find_saved_register): Made extern. + * values.c (allocate_value, allocate_repeat_value): Zero frame + field on creation. + * valops.c (value_assign): Added case for lval_reg_frame_relative; + copy value out, modify it, and copy it back. Desclared + find_saved_register as being external. + * value.h: Removed addition of kludgy structure; thoroughly + commented file. + * values.c (free_value, free_all_values, clear_value_history, + set_internalvar, clear_internavars): Killed free_value. + +Wed Jan 18 20:09:39 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * value.h: Deleted struct partial_storage; left over from + yesterday. + + * findvar.c (value_from_register): Added code to create a value of + type lval_reg_partsaved if a value is in seperate registers and + saved in different places. + +Tue Jan 17 13:50:18 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * value.h: Added lval_reg_partsaved to enum lval_type and + commented enum lval_type. Commented value structure. + Added "struct partial_register_saved" to value struct; added + macros to deal with structure to value.h. + * values.c (free_value): Created; special cases lval_reg_partsaved + (which has a pointer to an array which also needs to be free). + (free_all_values, clear_value_history, set_internalvar, + clear_internalvars): Modified to use free_values. + + * m-sunos4.h: Changed name to sun3os4.h. + * m-sun2os4.h, m-sun4os4.h: Created. + * config.gdb: Added configuration entries for each of the above. + * Makefile: Added into correct lists. + + * Makefile: Added dependencies on a.out.encap.h. Made + a.out.encap.h dependent on a.out.gnu.h and dbxread.c dependent on + stab.gnu.h. + + * infrun.c, remote.c: Removed inclusion of any a.out.h files in + these files; they aren't needed. + + * README: Added comment about bug reporting and comment about + xgdb. + + * Makefile: Added note to HPUX dependent section warning about + problems if compiled with gcc and mentioning the need to add + -Ihp-include to CFLAGS if you compile on those systems. Added a + note about needing the GNU nm with compilers *of gdb* that use the + coff encapsulate feature also. * hp-include: Made symbolic link + over to /gp/gnu/binutils. + + * Makefile: Added TSOBS NTSOBS OBSTACK and REGEX to list of things + to delete in "make clean". Also changed "squeakyclean" target as + "realclean". + + * findvar.c (value_from_register): Added assignment of VALUE_LVAL + to be lval_memory when that is appropriate (original code didn't + bother because it assumed that it was working with a pre lval + memoried value). + + * expread.y (yylex): Changed to only return type THIS if the + symbol "$this" is defined in some block superior or equal to the + current expression context block. + +Mon Jan 16 13:56:44 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-*.h (FRAME_CHAIN_VALID): On machines which check the relation + of FRAME_SAVED_PC (thisframe) to first_object_file_end (all except + gould), make sure that the pc of the current frame also passes (in + case someone stops in _start). + + * findvar.c (value_of_register): Changed error message in case of + no inferior or core file. + + * infcmd.c (registers_info): Added a check for inferior or core + file; error message if not. + + * main.c (gdb_read_line): Modified to take prompt as argument and + output it to stdout. + * infcmd.c (registers_info, signals_info), main.c (command_loop, + read_command_lines, copying_info), symtab.c (decode_line_2, + output_source_filename, MORE, list_symbols): Changed calling + convention used to call gdb_read_line. + + * infcmd.c, infrun.c, main.c, symtab.c: Changed the name of the + function "read_line" to "gdb_read_line". + * breakpoint.c: Deleted external referenced to function + "read_line" (not needed by code). + +Fri Jan 13 12:22:05 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * i386-dep.c: Include a.out.encap.h if COFF_ENCAPSULATE. + (N_SET_MAGIC): Defined if not defined by include file. + (core_file_command): Used N_SET_MAGIC instead of assignment to + a_magic. + (exec_file_command): Stuck in a HEADER_SEEK_FD. + + * config.gdb: Added i386-dep.c as depfile for i386gas choice. + + * munch: Added -I. to cc to pick up things included by the param + file. + + * stab.gnu.def: Changed name to stab.def (stab.gnu.h needs this name). + * Makefile: Changed name here also. + * dbxread.c: Changed name of gnu-stab.h to stab.gnu.h. + + * gnu-stab.h: Changed name to stab.gnu.h. + * stab.gnu.def: Added as link to binutils. + * Makefile: Put both in in the distribution. + +Thu Jan 12 11:33:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c: Made which stab.h is included dependent on + COFF_ENCAPSULATE; either or "gnu-stab.h". + * Makefile: Included gnu-stab.h in the list of files to include in + the distribution. + * gnu-stab.h: Made a link to /gp/gnu/binutils/stab.h + + * Makefile: Included a.out.gnu.h and m-i386gas.h in list of + distribution files. + * m-i386gas.h: Changed to include m-i386.h and fiddle with it + instead of being a whole new file. + * a.out.gnu.h: Made a link to /gp/gnu/binutils/a.out.gnu.h. + + Chris Hanson's changes to gdb for hp Unix. + * Makefile: Modified comments on hpux. + * hp9k320-dep.c: #define'd WOPR & moved inclusion of signal.h + * inflow.c: Moved around declaratiosn of and + inside of USG depends and deleted all SYSV ifdef's + (use USG instead). + * munch: Modified to accept any number of spaces between the T and + the symbol name. + + Pace's changes to gdb to work with COFF_ENCAPSULATE (robotussin): + * config.gdb: Added i386gas to targets. + * default-dep.c: Include a.out.encap.h if COFF_ENCAPSULATE. + (N_SET_MAGIC): Defined if not defined by include file. + (core_file_command): Used N_SET_MAGIC instead of assignment to a_magic. + (exec_file_command): Stuck in a HEADER_SEEK_FD. + * infrun.c, remote.c: Added an include of a.out.encap.h if + COFF_ENCAPSULATE defined. This is commented out in these two + files, I presume because the definitions aren't used. + * m-i386gas.h: Created. + * dbxread.c: Included defintions for USG. + (READ_FILE_HEADERS): Now uses HEADER_SEEK_FD if it exists. + (symbol_file_command): Deleted use of HEADER_SEEK_FD. + * core.c: Deleted extra definition of COFF_FORMAT. + (N_MAGIC): Defined to be a_magic if not already defined. + (validate_files): USed N_MAGIC instead of reading a_magic. + +Wed Jan 11 12:51:00 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * remote.c: Upped PBUFSIZ. + (getpkt): Added zeroing of c inside loop in case of error retry. + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): Removed + code to not put stuff with debugging symbols in the misc function + list. Had been ifdef'd out. + + * gdb.texinfo: Added the fact that the return value for a function + is printed if you use return. + + * infrun.c (wait_for_inferior): Removed test in "Have we hit + step_resume_breakpoint" for sp values in proper orientation. Was + in there for recursive calls in functions without frame pointers + and it was screwing up calls to alloca. + + * dbxread.c: Added #ifdef COFF_ENCAPSULATE to include + a.out.encap.h. + (symbol_file_command): Do HEADER_SEEK_FD when defined. + * dbxread.c, core.c: Deleted #ifdef ROBOTUSSIN stuff. + * robotussin.h: Deleted local copy (was symlink). + * a.out.encap.h: Created symlink to + /gp/gnu/binutils/a.out.encap.h. + * Makefile: Removed robotussin.h and included a.out.encap.h in + list of files. + + * valprint.c (val_print, print_scalar_formatted): Changed default + precision of printing float value; now 6 for a float and 16 for a + double. + + * findvar.c (value_from_register): Added code to deal with the + case where a value is spread over several registers. Still don't + deal with the case when some registers are saved in memory and + some aren't. + +Tue Jan 10 17:04:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * xgdb.c (xgdb_create_window): Removed third arg (XtDepth) to + frameArgs. + + * infrun.c (handle_command): Error if signal number is less or + equal to 0 or greater or equal to NSIG or a signal number is not + provided. + + * command.c (lookup_cmd): Modified to not convert command section + of command line to lower case in place (in case it isn't a + subcommand, but an argument to a command). + +Fri Jan 6 17:57:34 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c: Changed "text area" to "data area" in comments on + N_SETV. + +Wed Jan 4 12:29:54 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c: Added definitions of gnu symbol types after inclusion + of a.out.h and stab.h. + +Mon Jan 2 20:38:31 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * eval.c (evaluate_subexp): Binary logical operations needed to + know type to determine whether second value should be evaluated. + Modified to discover type before binup_user_defined_p branch. + Also commented "enum noside". + + * Makefile: Changed invocations of munch to be "./munch". + + * gdb.texinfo: Updated to refer to current version of gdb with + January 1989 last update. + + * coffread.c (end_symtab): Zero context stack when finishing + lexical contexts. + (read_coff_symtab): error if context stack 0 in ".ef" else case. + + * m-*.h (FRAME_SAVED_PC): Changed name of argument from "frame" to + "FRAME" to avoid problems with replacement of "->frame" part of + macro. + + * i386-dep.c (i386_get_frame_setup): Added codestream_get() to + move codestream pointer up to the correct location in "subl $X, + %esp" case. + +Sun Jan 1 14:24:35 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valprint.c (val_print): Rewrote routine to print string pointed + to by char pointer; was producing incorrect results when print_max + was 0. + +Fri Dec 30 12:13:35 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): Put + everything on the misc function list. + + * Checkpointed distribution. + + * Makefile: Added expread.tab.c to the list of things slated for + distribution. + +Thu Dec 29 10:06:41 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * stack.c (set_backtrace_limit_command, backtrace_limit_info, + bactrace_command, _initialize_stack): Removed modifications for + limit on backtrace. Piping the backtrace through an interuptable + "more" emulation is a better way to do it. + +Wed Dec 28 11:43:09 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * stack.c + (set_backtrace_limit_command): Added command to set a limit to the + number of frames for a backtrace to print by default. + (backtrace_limit_info): To print the current limit. + (backtrace_command): To use the limit. + (_initialize_stack): To initialize the limit to its default value + (30), and add the set and info commands onto the appropriate + command lists. + + * gdb.texinfo: Documented changes to "backtrace" and "commands" + commands. + + * stack.c (backtrace_command): Altered so that a negative argument + would show the last few frames on the stack instead of the first + few. + (_initialize_stack): Modified help documentation. + + * breakpoint.c (commands_command): Altered so that "commands" with + no argument would refer to the last breakpoint set. + (_initialize_breakpoint): Modified help documentation. + + * infrun.c (wait_for_inferior): Removed ifdef on Sun4; now you can + single step through compiler generated sub calls and will die if + you next off of the end of a function. + + * sparc-dep.c (single_step): Fixed typo; "break_insn" ==> "sizeof + break_insn". + + * m-sparc.h (INIT_EXTRA_FRAME_INFO): Set the bottom of a stack + frame to be the bottom of the stack frame inner from this, if that + inner one is a leaf node. + + * dbxread.c (read_dbx_symtab): Check to make sure we don't add a + psymtab to it's own dependency list. + + * dbxread.c (read_dbx_symtab): Modified check for duplicate + dependencies to catch them correctly. + +Tue Dec 27 17:02:09 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-*.h (FRAME_SAVED_PC): Modified macro to take frame info + pointer as argument. + * stack.c (frame_info), blockframe.c (get_prev_frame_info), + gld-pinsn.c (findframe), m-*.h (SAVED_PC_AFTER_CALL, + FRAME_CHAIN_VALID, FRAME_NUM_ARGS): Changed usage of macros to + conform to above. + * m-sparc.h (FRAME_SAVED_PC), sparc-dep.c (frame_saved_pc): + Changed frame_saved_pc to have a frame info pointer as an + argument. + + * m-vax.h, m-umax.h, m-npl.h, infrun.c (wait_for_inferior), + blockframe.c (get_prev_frame_info): Modified SAVED_PC_AFTER_CALL + to take a frame info pointer as an argument. + + * blockframe.c (get_prev_frame_info): Altered the use of the + macros FRAME_CHAIN, FRAME_CHAIN_VALID, and FRAME_CHAIN_COMBINE to + use frame info pointers as arguments instead of frame addresses. + * m-vax.h, m-umax.h, m-sun3.h, m-sun3.h, m-sparc.h, m-pn.h, + m-npl.h, m-news.h, m-merlin.h, m-isi.h, m-hp9k320.h, m-i386.h: + Modified definitions of the above macros to suit. + * m-pn.h, m-npl.h, gould-dep.c (findframe): Modified findframe to + use a frame info argument; also fixed internals (wouldn't work + before). + + * m-sparc.h: Cosmetic changes; reordered some macros and made sure + that nothing went over 80 lines. + +Thu Dec 22 11:49:15 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Version 3.0 released. + + * README: Deleted note about changing -lobstack to obstack.o. + +Wed Dec 21 11:12:47 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-vax.h (SKIP_PROLOGUE): Now recognizes gcc prologue also. + + * blockframe.c (get_prev_frame_info): Added FUNCTION_START_OFFSET + to result of get_pc_function_start. + * infrun.c (wait_for_inferior): Same. + + * gdb.texinfo: Documented new "step" and "next" behavior in + functions without line number information. + +Tue Dec 20 18:00:45 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * infcmd.c (step_1): Changed behavior of "step" or "next" in a + function witout line number information. It now sets the step + range around the function (to single step out of it) using the + misc function vector, warns the user, and continues. + + * symtab.c (find_pc_line): Zero "end" subsection of returned + symtab_and_line if no symtab found. + +Mon Dec 19 17:44:35 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * i386-pinsn.c (OP_REG): Added code from pace to streamline + disassembly and corrected types. + * i386-dep.c + (i386_follow_jump): Code added to follow byte and word offset + branches. + (i386_get_frame_setup): Expanded to deal with more wide ranging + function prologue. + (i386_frame_find_saved_regs, i386_skip_prologue): Changed to use + i386_get_frame_setup. + + +Sun Dec 18 11:15:03 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h: Deleted definition of SUN4_COMPILER_BUG; was designed + to avoid something that I consider a bug in our code, not theirs, + and which I fixed earlier. Also deleted definition of + CANNOT_USE_ARBITRARY_FRAME; no longer used anywhere. + FRAME_SPECIFICATION_DYADIC used instead. + + * infrun.c (wait_for_inferior): On the sun 4, if a function + doesn't have a prologue, a next over it single steps into it. + This gets around the problem of a "call .stret4" at the end of + functions returning structures. + * m-sparc.h: Defined SUN4_COMPILER_FEATURE. + + * main.c (copying_info): Seperated the last printf into two + printfs. The 386 compiler will now handle it. + + * i386-pinsn.c, i386-dep.c: Moved print_387_control_word, + print_387_status_word, print_387_status, and i386_float_info to + dep.c Also included reg.h in dep.c. + +Sat Dec 17 15:31:38 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * main.c (source_command): Don't close instream if it's null + (indicating execution of a user-defined command). + (execute_command): Set instream to null before executing + commands and setup clean stuff to put it back on error. + + * inflow.c (terminal_inferior): Went back to not checking the + ioctl returns; there are some systems when this will simply fail. + It seems that, on most of these systems, nothing bad will happen + by that failure. + + * values.c (value_static_field): Fixed dereferencing of null + pointer. + + * i386-dep.c (i386_follow_jump): Modified to deal with + unconditional byte offsets also. + + * dbxread.c (read_type): Fixed typo in function type case of switch. + + * infcmd.c (run_command): Does not prompt to restart if command is + not from a tty. + +Fri Dec 16 15:21:58 1988 Randy Smith (randy at calvin) + + * gdb.texinfo: Added a third option under the "Cannot Insert + Breakpoints" workarounds. + + * printcmd.c (display_command): Don't do the display unless there + is an active inferior; only set it. + + * findvar.c (value_of_register): Added an error check for calling + this when the inferior isn't active and a core file isn't being + read. + + * config.gdb: Added reminder about modifying REGEX in the + makefile for the 386. + + * i386-pinsn.c, i386-dep.c: Moved m-i386.h helper functions over + to i386-dep.c.b + +Thu Dec 15 14:04:25 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * README: Added a couple of notes about compiling gdb with itself. + + * breakpoint.c (set_momentary_breakpoint): Only takes FRAME_FP of + frame if frame is non-zero. + + * printcmd.c (print_scalar_formatted): Implemented /g size for + hexadecimal format on machines without an 8 byte integer type. It + seems to be non-trivial to implement /g for other formats. + (decode_format): Allowed hexadecimal format to make it through /g + fileter. + +Wed Dec 14 13:27:04 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * expread.y: Converted all calls to write_exp_elt from the parser + to calls to one of write_exp_elt_{opcode, sym, longcst, dblcst, + char, type, intern}. Created all of these routines. This gets + around possible problems in passing one of these things in one ear + and getting something different out the other. Eliminated + SUN4_COMPILER_BUG ifdef's; they are now superfluous. + + * symmisc.c (free_all_psymtabs): Reinited partial_symtab_list to 0. + (_initialize_symmisc): Initialized both symtab_list and + partial_symtab_list. + + * dbxread.c (start_psymtab): Didn't allocate anything on + dependency list. + (end_psymtab): Allocate dependency list on psymbol obstack from + local list. + (add_psymtab_dependency): Deleted. + (read_dbx_symtab): Put dependency on local list if it isn't on it + already. + + * symtab.c: Added definition of psymbol_obstack. + * symtab.h: Added declaration of psymbol_obstack. + * symmisc.c (free_all_psymtabs): Added freeing and + reinitionaliztion of psymbol_obstack. + * dbxread.c (free_all_psymbols): Deleted. + (start_psymtab, end_psymtab, + process_symbol_for_psymtab): Changed most allocation + of partial symbol stuff to be off of psymbol_obstack. + + * symmisc.c (free_psymtab, free_all_psymtabs): Deleted + free_psymtab subroutine. + + * symtab.h: Removed num_includes and includes from partial_symtab + structure; no longer needed now that all include files have their + own psymtab. + * dbxread.c (start_psymtab): Eliminated initialization of above. + (end_psymtab): Eliminated finalization of above; get + includes from seperate list. + (read_dbx_symtab): Moved includes from psymtab list to + their own list; included in call to end_psymtab. + * symmisc.c (free_psymtab): Don't free includes. + +Tue Dec 13 14:48:14 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * i386-pinsn.c: Reformatted entire file to correspond to gnu + software indentation conventions. + + * sparc-dep.c (skip_prologue): Added capability of recognizign + stores of input register parameters into stack slots. + + * sparc-dep.c: Added an include of sparc-opcode.h. + * sparc-pinsn.c, sparc-opcode.h: Moved insn_fmt structures and + unions from pinsn.c to opcode.h. + * sparc-pinsn.c, sparc-dep.c (isabranch, skip_prologue): Moved + this function from pinsn.c to dep.c. + + * Makefile: Put in warnings about compiling with gcc (non-ansi + include files) and compiling with shared libs on Sunos 4.0 (can't + debug something that's been compiled that way). + + * sparc-pinsn.c: Put in a completely new file (provided by + Tiemann) to handle floating point disassembly, load and store + instructions, and etc. better. Made the modifications this file + (ChangeLog) list for sparc-pinsn.c again. + + * symtab.c (output_source_filename): Included "more" emulation hack. + + * symtab.c (output_source_filename): Initialized COLUMN to 0. + (sources_info): Modified to not print out a line for + all of the include files within a partial symtab (since + they have pst's of their own now). Also modified to + make a distinction between those pst's read in and + those not. + + * infrun.c: Included void declaration of single_step() if it's + going to be used. + * sparc-dep.c (single_step): Moved function previous to use of it. + + * Makefile: Took removal of expread.tab.c out of make clean entry + and put it into a new "squeakyclean" entry. + +Mon Dec 12 13:21:02 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * sparc-pinsn.c (skip_prologue): Changed a struct insn_fmt to a + union insn_fmt. + + * inflow.c (terminal_inferior): Checked *all* return codes from + ioctl's and fcntl's in routine. + + * inflow.c (terminal_inferior): Added check for sucess of + TIOCSPGRP ioctl call. Just notifies if bad. + + * dbxread.c (symbol_file_command): Close was getting called twice; + once directly and once through cleanup. Killed the direct call. + +Sun Dec 11 19:40:40 1988 & Smith (randy at hobbes.ai.mit.edu) + + * valprint.c (val_print): Deleted spurious printing of "=" from + TYPE_CODE_REF case. + +Sat Dec 10 16:41:07 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c: Changed allocation of psymbols from using malloc and + realloc to using obstacks. This means they aren't realloc'd out + from under the pointers to them. + +Fri Dec 9 10:33:24 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * sparc-dep.c inflow.c core.c expread.y command.c infrun.c + infcmd.c dbxread.c symmisc.c symtab.c printcmd.c valprint.c + values.c source.c stack.c findvar.c breakpoint.c blockframe.c + main.c: Various cleanups inspired by "gcc -Wall" (without checking + for implicit declarations). + + * Makefile: Cleaned up some more. + + * valops.c, m-*.h (FIX_CALL_DUMMY): Modified to take 5 arguments + as per what sparc needs (programming for a superset of needed + args). + + * dbxread.c (process_symbol_for_psymtab): Modified to be slightly + more picky about what it puts on the list of things *not* to be + put on the misc function list. When/if I shift everything over to + being placed on the misc_function_list, this will go away. + + * inferior.h, infrun.c: Added fields to save in inferior_status + structure. + + * maketarfile: Deleted; functionality is in Makefile now. + + * infrun.c (wait_for_inferior): Modified algorithm for determining + whether or not a single-step was through a subroutine call. See + comments at top of file. + + * dbxread.c (read_dbx_symtab): Made sure that the IGNORE_SYMBOL + macro would be checked during initial readin. + + * dbxread.c (read_ofile_symtab): Added macro GCC_COMPILED_FLAG_SYMBOL + into dbxread.c to indicate what string in a local text symbol will + indicate a file compiled with gcc. Defaults to "gcc_compiled.". + +Thu Dec 8 11:46:22 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h (FRAME_FIND_SAVED_REGS): Cleaned up a little to take + advantage of the new frame cache system. + + * inferior.h, infrun.c, valops.c, valops.c, infcmd.c: Changed + mechanism to save inferior status over calls to inferior (eg. + call_function); implemented save_inferior_info and + restore_inferior_info. + + * blockframe.c (get_prev_frame): Simplified this by a direct call + to get_prev_frame_info. + + * frame.h, stack.c, printcmd.c, m-sparc.h, sparc-dep.c: Removed + all uses of frame_id_from_addr. There are short routines like it + still in frame_saved_pc (m-sparc.h) and parse_frame_spec + (stack.c). Eventually the one in frame_saved_pc will go away. + + * infcmd.c, sparc-dep.c: Implemented a new mechanism for + re-selecting the selected frame on return from a call. + + * blockframe.c, stack.c, findvar.c, printcmd.c, m-*.h: Changed + all routines and macros that took a "struct frame_info" as an + argument to take a "struct frame_info *". Routines: findarg, + framechain, print_frame_args, FRAME_ARGS_ADDRESS, + FRAME_STRUCT_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS, + FRAME_FIND_SAVED_REGS. + + * frame.h, stack.c, printcmd.c, infcmd.c, findvar.c, breakpoint.c, + blockframe.c, xgdb.c, i386-pinsn.c, gld-pinsn.c, m-umax.h, + m-sun2.h, m-sun3.h, m-sparc.h, m-pn.h, m-npl.h, m-news.h, + m-merlin.h, m-isi.h, m-i386.h, m-hp9k320.h: Changed routines to + use "struct frame_info *" internally. + +Wed Dec 7 12:07:54 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * frame.h, blockframe.c, m-sparc.h, sparc-dep.c: Changed all calls + to get_[prev_]frame_cache_item to get_[prev_]frame_info. + + * blockframe.c: Elminated get_frame_cache_item and + get_prev_frame_cache_item; functionality now taken care of by + get_frame_info and get_prev_frame_info. + + * blockframe.c: Put allocation on an obstack and eliminated fancy + reallocation routines, several variables, and various nasty + things. + + * frame.h, stack.c, infrun.c, blockframe.c, sparc-dep.c: Changed + type FRAME to be a typedef to "struct frame_info *". Had to also + change routines that returned frame id's to return the pointer + instead of the cache index. + + * infcmd.c (finish_command): Used proper method of getting from + function symbol to start of function. Was treating a symbol as a + value. + + * blockframe.c, breakpoint.c, findvar.c, infcmd.c, stack.c, + xgdb.c, i386-pinsn.c, frame.h, m-hp9k320.h, m-i386.h, m-isi.h, + m-merlin.h, m-news.h, m-npl.h, m-pn.h, m-sparc.h, m-sun2.h, + m-sun3.h, m-umax.h: Changed get_frame_info and get_prev_frame_info + to return pointers instead of structures. + + * blockframe.c (get_pc_function_start): Modified to go to misc + function table instead of bombing if pc was in a block without a + containing function. + + * coffread.c: Dup'd descriptor passed to read_coff_symtab and + fdopen'd it so that there wouldn't be multiple closes on the same + fd. Also put (fclose, stream) on the cleanup list. + + * printcmd.c, stack.c: Changed print_frame_args to take a + frame_info struct as argument instead of the address of the args + to the frame. + + * m-i386.h (STORE_STRUCT_RETURN): Decremented sp by sizeof object + to store (an address) rather than 1. + + * dbxread.c (read_dbx_symtab): Set first_object_file_end in + read_dbx_symtab (oops). + + * coffread.c (fill_in_vptr_fieldno): Rewrote TYPE_BASECLASS as + necessary. + +Tue Dec 6 13:03:43 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * coffread.c: Added fake support for partial_symtabs to allow + compilation and execution without there use. + * inflow.c: Added a couple of minor USG mods. + * munch: Put in appropriate conditionals so that it would work on + USG systems. + * Makefile: Made regex.* handled same as obstack.*; made sure tar + file included everything I wanted it to include (including + malloc.c). + + * dbxread.c (end_psymtab): Create an entry in the + partial_symtab_list for each subfile of the .o file just read in. + This allows a "list expread.y:10" to work when we haven't read in + expread.o's symbol stuff yet. + + * symtab.h, dbxread.c (psymtab_to_symtab): Recognize pst->ldsymlen + == 0 as indicating a dummy psymtab, only in existence to cause the + dependency list to be read in. + + * dbxread.c (sort_symtab_syms): Elminated reversal of symbols to + make sure that register debug symbol decls always come before + parameter symbols. After mod below, this is not needed. + + * symtab.c (lookup_block_symbol): Take parameter type symbols + (LOC_ARG or LOC_REGPARM) after any other symbols which match. + + * dbxread.c (read_type): When defining a type in terms of some + other type and the other type is supposed to have a pointer back + to this specific kind of type (pointer, reference, or function), + check to see if *that* type has been created yet. If it has, use + it and fill in the appropriate slot with a pointer to it. + +Mon Dec 5 11:25:04 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symmisc.c: Eliminated existence of free_inclink_symtabs and + init_free_inclink_symtabs; they aren't called from anywhere, and + if they were they could disrupt gdb's data structure badly + (elimination of struct type's which values that stick around past + elimination of inclink symtabs). + + * dbxread.c (symbol_file_command): Fixed a return pathway out of + the routine to do_cleanups before it left. + + * infcmd.c (set_environment_command), gdb.texinfo: Added + capability to set environmental variable values to null. + + * gdb.texinfo: Modified doc on "break" without args slightly. + +Sun Dec 4 17:03:16 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c (symbol_file_command): Added check; if there weren't + any debugging symbols in the file just read, the user is warned. + + * infcmd.c: Commented set_environment_command (a little). + + * createtags: Cleaned up and commented. + + * Makefile: Updated dependency list and cleaned it up somewhat + (used macros, didn't make .o files depend on .c files, etc.) + +Fri Dec 2 11:44:46 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * value.h, values.c, infcmd.c, valops.c, m-i386.h, m-sparc.h, + m-merlin.h, m-npl.h, m-pn.h, m-umax.h, m-vax.h, m-hp9k320.h, + m-isi.h, m-news.h, m-sun2.h, m-sun3.h: Cleaned up dealings with + functions returning structures. Specifically: Added a function + called using_struct_return which indicates whether the function + being called is using the structure returning conventions or it is + using the value returning conventions on that machine. Added a + macro, STORE_STRUCT_RETURN to store the address of the structure + to be copied into wherever it's supposed to go, and changed + call_function to handle all of this correctly. + + * symseg.h, symtab.h, dbxread.c: Added hooks to recognize an + N_TEXT symbol with name "*gcc-compiled*" as being a flag + indicating that a file had been compiled with gcc and setting a + flag in all blocks produced during processing of that file. + +Thu Dec 1 13:54:29 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h (PUSH_DUMMY_FRAME): Saved 8 less than the current pc, + as POP_FRAME and sparc return convention restore the pc to 8 more + than the value saved. + + * valops.c, printcmd.c, findvar.c, value.h: Added the routine + value_from_register, to access a specific register of a specific + frame as containing a specific type, and used it in read_var_value + and print_frame_args. + +Wed Nov 30 17:39:50 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_number): Will accept either the argument passed + as an ending character, or a null byte as an ending character. + + * Makefile, createtags: Added entry to create tags for gdb + distribution which will make sure currently configured machine + dependent files come first in the list. + +Wed Nov 23 13:27:34 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * stack.c, infcmd.c, sparc-dep.c: Modified record_selected_frame + to work off of frame address. + + * blockframe.c (create_new_frame, get_prev_frame_cache_item): + Added code to reset pointers within frame cache if it must be + realloc'd. + + * dbxread.c (read_dbx_symtab): Added in optimization comparing + last couple of characters instead of first couple to avoid + strcmp's in read_dbx_symtab (recording extern syms in misc + functions or not). 1 call to strlen is balanced out by many fewer + calls to strcmp. + +Tue Nov 22 16:40:14 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Took out optimization for ignoring + LSYM's; was disallowing typedefs. Silly me. + + * Checkpointed distribution (mostly for sending to Tiemann). + + * expression.h: Added BINOP_MIN and BINOP_MAX operators for C++. + * symseg.h: Included flags for types having destructors and + constructors, and flags being defined via public and via + virtual paths. Added fields NEXT_VARIANT, N_BASECLASSES, + and BASECLASSES to this type (tr: Changed types from + having to be derived from a single baseclass to a multiple + base class). + * symtab.h: Added macros to access new fields defined in symseg.h. + Added decl for lookup_basetype_type. + * dbxread.c + (condense_addl_misc_bunches): Function added to condense the misc + function bunches added by reading in a new .o file. + (read_addl_syms): Function added to read in symbols + from a new .o file (incremental linking). + (add_file_command): Command interface function to indicate + incrmental linking of a new .o file; this now calls + read_addl_syms and condense_addl_misc_bunches. + (define_symbol): Modified code to handle types defined from base + types which were not known when the derived class was + output. + (read_struct_type): Modified to better handle description of + struct types as derived types. Possibly derived from + several different base classes. Also added new code to + mark definitions via virtual paths or via public paths. + Killed seperate code to handle classes with destructors + but without constructors and improved marking of classes + as having destructors and constructors. + * infcmd.c: Modified call to val_print (one more argument). + * symtab.c (lookup_member_type): Modified to deal with new + structure in symseg.h. + (lookup_basetype_type): Function added to find or construct a type + ?derived? from the given type. + (decode_line_1): Modified to deal with new type data structures. + Modified to deal with new number of args for + decode_line_2. + (decode_line_2): Changed number of args (?why?). + (init_type): Added inits for new C++ fields from + symseg.h. + *valarith.c + (value_x_binop, value_binop): Added cases for BINOP_MIN & + BINOP_MAX. + * valops.c + (value_struct_elt, check_field, value_struct_elt_for_address): + Changed to deal with multiple possible baseclasses. + (value_of_this): Made SELECTED_FRAME an extern variable. + * valprint.c + (val_print): Added an argument DEREF_REF to dereference references + automatically, instead of printing them like pointers. + Changed number of arguments in recursive calls to itself. + Changed to deal with varibale numbers of base classes. + (value_print): Changed number of arguments to val_print. Print + type of value also if value is a reference. + (type_print_derivation_info): Added function to print out + derivation info a a type. + (type_print_base): Modified to use type_print_derivation_info and + to handle multiple baseclasses. + +Mon Nov 21 10:32:07 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * inflow.c (term_status_command): Add trailing newline to output. + + * sparc-dep.c (do_save_insn, do_restore_insn): Saved + "stop_registers" over the call for the sake of normal_stop and + run_stack_dummy. + + * m-sparc.h (EXTRACT_RETURN_VALUE): Put in parenthesis to force + addition of 8 to the int pointer, not the char pointer. + + * sparc-pinsn.c (print_addr1): Believe that I have gotten the + syntax right for loads and stores as adb does it. + + * symtab.c (list_symbols): Turned search for match on rexegp into + a single loop. + + * dbxread.c (psymtab_to_symtab): Don't read it in if it's already + been read in. + + * dbxread.c (psymtab_to_symtab): Changed error to fatal in + psymtab_to_symtab. + + * expread.y (parse_number): Fixed bug which treated 'l' at end of + number as '0'. + +Fri Nov 18 13:57:33 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): Was + being foolish and using pointers into an array I could realloc. + Converted these pointers into integers. + +Wed Nov 16 11:43:10 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h (POP_FRAME): Made the new frame be PC_ADJUST of the + old frame. + + * i386-pinsn.c, m-hp9k320.h, m-isi.h, m-merlin.h, m-news.h, + m-npl.h, m-pn.h, m-sparc.h, m-sun2.h, m-sun3.h, m-umax.h, m-vax.h: + Modified POP_FRAME to use the current frame instead of + read_register (FP_REGNUM) and to flush_cached_frames before + setting the current frame. Also added a call to set the current + frame in those POP_FRAMEs that didn't have it. + + * infrun.c (wait_for_inferior): Moved call to set_current_frame up + to guarrantee that the current frame will always be set when a + POP_FRAME is done. + + * infrun.c (normal_stop): Added something to reset the pc of the + current frame (was incorrect because of DECR_PC_AFTER_BREAK). + + * valprint.c (val_print): Changed to check to see if a string was + out of bounds when being printed and to indicate this if so. + + * convex-dep.c (read_inferior_memory): Changed to return the value + of errno if the call failed (which will be 0 if the call + suceeded). + +Tue Nov 15 10:17:15 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * infrun.c (wait_for_inferior): Two changes: 1) Added code to + not trigger the step breakpoint on recursive calls to functions + without frame info, and 2) Added calls to distinguish recursive + calls within a function without a frame (which next/nexti might + wish to step over) from jumps to the beginning of a function + (which it generally doesn't). + + * m-sparc.h (INIT_EXTRA_FRAME_INFO): Bottom set correctly for leaf + parents. + + * blockframe.c (get_prev_frame_cache_item): Put in mod to check + for a leaf node (by presence or lack of function prologue). If + there is a leaf node, it is assumed that SAVED_PC_AFTER_CALL is + valid. Otherwise, FRAME_SAVED_PC or read_pc is used. + + * blockframe.c, frame.h: Did final deletion of unused routines and + commented problems with getting a pointer into the frame cache in + the frame_info structure comment. + + * blockframe.c, frame.h, stack.c: Killed use of + frame_id_from_frame_info; used frame_id_from_addr instead. + + * blockframe.c, frame.h, stack.c, others (oops): Combined stack + cache and frame info structures. + + * blockframe.c, sparc-dep.c, stack.c: Created the function + create_new_frame and used it in place of bad calls to + frame_id_from_addr. + + * blockframe.c, inflow.c, infrun.c, i386-pinsn.c, m-hp9k320.h, + m-npl.h, m-pn.h, m-sparc.h, m-sun3.h, m-vax.h, default-dep.c, + convex-dep.c, gould-dep.c, hp9k320-dep.c, news-dep.c, sparc-dep.c, + sun3-dep.c, umax-dep.c: Killed use of + set_current_Frame_by_address. Used set_current_frame + (create_new_frame...) instead. + + * frame.h: Killed use of FRAME_FP_ID. + + * infrun.c, blockframe.c: Killed select_frame_by_address. Used + select_frame (get_current_frame (), 0) (which was correct in all + cases that we need to worry about. + +Mon Nov 14 14:19:32 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * frame.h, blockframe.c, stack.c, m-sparc.h, sparc-dep.c: Added + mechanisms to deal with possible specification of frames + dyadically. + +Sun Nov 13 16:03:32 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) + + * ns32k-opcode.h: Add insns acbw, acbd. + +Sun Nov 13 15:09:58 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * breakpoint.c: Changed breakpoint structure to use the address of + a given frame (constant across inferior runs) as the criteria for + stopping instead of the frame ident (which varies across inferior + calls). + +Fri Nov 11 13:00:22 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * gld-pinsn.c (findframe): Modified to work with the new frame + id's. Actually, it looks as if this routine should be called with + an address anyway. + + * findvar.c (find_saved_register): Altered bactrace loop to work + off of frames and not frame infos. + + * frame.h, blockframe.c, stack.c, sparc-dep.c, m-sparc.h: Changed + FRAME from being the address of the frame to being a simple ident + which is an index into the frame_cache_item list. + * convex-dep.c, default-dep.c, gould-dep.c, hp9k320-dep.c, + i386-pinsn.c, inflow.c, infrun.c, news-dep.c, sparc-dep.c, + sun3-dep.c, umax-dep.c, m-hp9k320.h, m-npl.h, m-pn.h, m-sparc.h, + m-sun3.h, m-vax.h: Changed calls of the form set_current_frame + (read_register (FP_REGNUM)) to set_current_frame_by_address (...). + +Thu Nov 10 16:57:57 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * frame.h, blockframe.c, gld-pinsn.c, sparc-dep.c, stack.c, + infrun.c, findvar.c, m-sparc.h: Changed the FRAME type to be + purely an identifier, using FRAME_FP and FRAME_FP_ID to convert + back and forth between the two. The identifier is *currently* + still the frame pointer value for that frame. + +Wed Nov 9 17:28:14 1988 Chris Hanson (cph at kleph) + + * m-hp9k320.h (FP_REGISTER_ADDR): Redefine this to return + difference between address of given FP register, and beginning of + `struct user' that it occurs in. + + * hp9k320-dep.c (core_file_command): Fix sign error in size + argument to myread. Change buffer argument to pointer; was + copying entire structure. + (fetch_inferior_registers, store_inferior_registers): Replace + occurrences of `FP_REGISTER_ADDR_DIFF' with `FP_REGISTER_ADDR'. + Flush former definition. + +Wed Nov 9 12:11:37 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * xgdb.c: Killed include of initialize.h. + + * Pulled in xgdb.c from the net. + + * Checkpointed distribution (to provide to 3b2 guy). + + * coffread.c, dbxread.c, symmisc.c, symtab.c, symseg.h: Changed + format of table of line number--pc mapping information. Can + handle negative pc's now. + + * command.c: Deleted local copy of savestring; code in utils.c is + identical. + +Tue Nov 8 11:12:16 1988 Randall Smith (randy at plantaris.ai.mit.edu) + + * gdb.texinfo: Added documentation for shell escape. + +Mon Nov 7 12:27:16 1988 Randall Smith (randy at sugar-bombs.ai.mit.edu) + + * command.c: Added commands for shell escape. + + * core.c, dbxread.c: Added ROBOTUSSIN mods. + + * Checkpointed distribution. + + * printcmd.c (x_command): Yanked error if there is no memory to + examine (could be looking at executable straight). + + * sparc-pinsn.c (print_insn): Amount to leftshift sethi imm by is + now 10 (matches adb in output). + + * printcmd.c (x_command): Don't attempt to set $_ & $__ if there + is no last_examine_value (can happen if you did an x/0). + +Fri Nov 4 13:44:49 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * printcmd.c (x_command): Error if there is no memory to examine. + + * gdb.texinfo: Added "cont" to the command index. + + * sparc-dep.c (do_save_insn): Fixed typo in shift amount. + + * m68k-opcode.h: Fixed opcodes for 68881. + + * breakpoint.c, infcmd.c, source.c: Changed defaults in several + places for decode_line_1 to work off of the default_breakpoint_* + values instead of current_source_* values (the current_source_* + values are off by 5 or so because of listing defaults). + + * stack.c (frame_info): ifdef'd out FRAME_SPECIFCATION_DYADIC in + the stack.c module. If I can't do this right, I don't want to do + it at all. Read the comment there for more info. + +Mon Oct 31 16:23:06 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * gdb.texinfo: Added documentation on the "until" command. + +Sat Oct 29 17:47:10 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * breakpoint.c, infcmd.c: Added UNTIL_COMMAND and subroutines of + it. + + * breakpoint.c, infcmd.c, infrun.c: Added new field to breakpoint + structure (silent, indicating a silent breakpoint), and modified + breakpoint_stop_status and things that read it's return value to + understand it. + +Fri Oct 28 17:45:33 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c, symmisc.c: Assorted speedups for readin, including + special casing most common symbols, and doing buffering instead of + calling malloc. + +Thu Oct 27 11:11:15 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * stack.c, sparc-dep.c, m-sparc.h: Modified to allow "info frame" + to take two arguments on the sparc and do the right thing with + them. + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): Put + stuff to put only symbols that didn't have debugging info on the + misc functions list back in. + +Wed Oct 26 10:10:32 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * valprint.c (type_print_varspec_suffix): Added check for + TYPE_LENGTH(TYPE_TARGET_TYPE(type)) > 0 to prevent divide by 0. + + * printcmd.c (print_formatted): Added check for VALUE_REPEATED; + value_print needs to be called for that. + + * infrun.c (wait_for_inferior): Added break when you decide to + stop on a null function prologue rather than continue stepping. + + * m-sun3.h: Added explanatory comment to REGISTER_RAW_SIZE. + + * expread.y (parse_c_1): Initialized paren_depth for each parse. + +Tue Oct 25 14:19:38 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * valprint.c, coffread.c, dbxread.c: Enum constant values in enum + type now accessed through TYPE_FIELD_BITPOS. + + * dbxread.c (process_symbol_for_psymtab): Added code to deal with + possible lack of a ":" in a debugging symbol (do nothing). + + * symtab.c (decode_line_1): Added check in case of all numbers for + complete lack of symbols. + + * source.c (select_source_symtab): Made sure that this wouldn't + bomb on complete lack of symbols. + +Mon Oct 24 12:28:29 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h, findvar.c: Ditched REGISTER_SAVED_UNIQUELY and based + code on REGISTER_IN_WINDOW_P and HAVE_REGISTER_WINDOWS. This will + break when we find a register window machine which saves the + window registers within the context of an inferior frame. + + * sparc-dep.c (frame_saved_pc): Put PC_ADJUST return back in for + frame_saved_pc. Seems correct. + + * findvar.c, m-sparc.h: Created the macro REGISTER_SAVED_UNIQUELY + to handle register window issues (ie. that find_saved_register + wasn't checking the selected frame itself for shit). + + * sparc-dep.c (core_file_command): Offset target of o & g register + bcopy by 1 to hit correct registers. + + * m-sparc.h: Changed STACK_END_ADDR. + +Sun Oct 23 19:41:51 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * sparc-dep.c (core_file_command): Added in code to get the i & l + registers from the stack in the corefile, and blew away some wrong + code to get i & l from inferior. + +Fri Oct 21 15:09:19 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h (PUSH_DUMMY_FRAME): Saved the value of the RP register + in the location reserved for i7 (in the created frame); this way + the rp value won't get lost. The pc (what we put into the rp in + this routine) gets saved seperately, so we loose no information. + + * sparc-dep.c (do_save_insn & do_restore_insn): Added a wrapper to + preserve the proceed status state variables around each call to + proceed (the current frame was getting munged because this wasn't + being done). + + * m-sparc.h (FRAME_FIND_SAVED_REGS): Fix bug: saved registers + addresses were being computed using absolute registers number, + rather than numbers relative to each group of regs. + + * m-sparc.h (POP_FRAME): Fixed a bug (I hope) in the context + within which saved reg numbers were being interpetted. The + values to be restored were being gotten in the inferior frame, and + the restoring was done in the superior frame. This means that i + registers must be restored into o registers. + + * sparc-dep.c (do_restore_insn): Modified to take a pc as an + argument, instead of a raw_buffer. This matches (at least it + appears to match) usage from POP_FRAME, which is the only place + from which do_restore_insn is called. + + * sparc-dep.c (do_save_insn and do_restore_insn): Added comments. + + * m-sparc.h (FRAME_FIND_SAVED_REGS): Modified my code to find the + save addresses of out registers to use the in regs off the stack + pointer when the current frame is 1 from the innermost. + +Thu Oct 20 13:56:15 1988 & Smith (randy at hobbes.ai.mit.edu) + + * blockframe.c, m-sparc.h: Removed code associated with + GET_PREV_FRAME_FROM_CACHE_ITEM. This code was not needed for the + sparc; you can always find the previous frames fp from the fp of + the current frame (which is the sp of the previous). It's getting + the information associated with a given frame (ie. saved + registers) that's a bitch, because that stuff is saved relative to + the stack pointer rather than the frame pointer. + + * m-sparc.h (GET_PREV_FRAME_FROM_CACHE_ITEM): Modified to return + the frame pointer of the previous frame instead of the stack + pointer of same. + + * blockframe.c (flush_cached_frames): Modified call to + obstack_free to free back to frame_cache instead of back to zero. + This leaves the obstack control structure in finite state (and + still frees the entry allocated at frame_cache). + +Sat Oct 15 16:30:47 1988 & Smith (randy at tartarus.uchicago.edu) + + * valops.c (call_function): Suicide material here. Fixed a typo; + CALL_DUMMY_STACK_ADJUST was spelled CAll_DUMMY_STACK_ADJUST on + line 530 of the file. This cost me three days. I'm giving up + typing for lent. + +Fri Oct 14 15:10:43 1988 & Smith (randy at tartarus.uchicago.edu) + + * m-sparc.h: Corrected a minor mistake in the dummy frame code + that was getting the 5th argument and the first argument from the + same place. + +Tue Oct 11 11:49:33 1988 & Smith (randy at tartarus.uchicago.edu) + + * infrun.c: Made stop_after_trap and stop_after_attach extern + instead of static so that code which used proceed from machine + dependent files could fiddle with them. + + * blockframe.c, frame.h, sparc-dep.c, m-sparc.h: Changed sense of + ->prev and ->next in struct frame_cache_item to fit usage in rest + of gdb (oops). + +Mon Oct 10 15:32:42 1988 Randy Smith (randy at gargoyle.uchicago.edu) + + * m-sparc.h, sparc-dep.c, blockframe.c, frame.h: Wrote + get_frame_cache_item. Modified FRAME_SAVED_PC and frame_saved_pc + to take only one argument and do the correct thing with it. Added + the two macros I recently defined in blockframe.c to m-sparc.h. + Have yet to compile this thing on a sparc, but I've now merged in + everything that I received from tiemann, either exactly, or simply + effectively. + + * source.c: Added code to allocated space to sals.sals in the case + where no line was specified. + + * blockframe.c, infrun.c: Modified to cache stack frames requested + to minimize accesses to subprocess. + +Tue Oct 4 15:10:39 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * config.gdb: Added sparc. + +Mon Oct 3 23:01:22 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * Makefile, blockframe.c, command.c, core.c, dbxread.c, defs.h, + expread.y, findvar.c, infcmd.c, inflow.c, infrun.c, sparc-pinsn.c, + m-sparc.h, sparc-def.c, printcmd.c, stack.c, symmisc.c, symseg.h, + valops.c, values.c: Did initial merge of sparc port. This will + not compile; have to do stack frame caching and finish port. + + * inflow.c, gdb.texinfo: `tty' now resets the controling terminal. + +Fri Sep 30 11:31:16 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * inferior.h, infcmd.c, infrun.c: Changed the variable + stop_random_signal to stopped_by_random signal to fit in better + with name conventions (variable is not a direction to the + proceed/resume set; it is information from it). + +Thu Sep 29 13:30:46 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * infcmd.c (finish_command): Value type of return value is now + whatever the function returns, not the type of the function (fixed + a bug in printing said value). + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): + Put *all* global symbols into misc_functions. This is what was + happening anyway, and we need it for find_pc_misc_function. + + ** This was eventually taken out, but I didn't mark it in the + ChangeLog. Oops. + + * dbxread.c (process_symbol_for_psymtab): Put every debugger + symbol which survives the top case except for constants on the + symchain. This means that all of these *won't* show up in misc + functions (this will be fixed once I make sure it's broken the way + it's supposed to be). + + * dbxread.c: Modified placement of debugger globals onto the hash + list; now we exclude the stuff after the colon and don't skip the + first character (debugger symbols don't have underscores). + + * dbxread.c: Killed debuginfo stuff with ifdef's. + +Wed Sep 28 14:31:51 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * symtab.h, dbxread.c: Modified to deal with BINCL, EINCL, and + EXCL symbols produced by the sun loader by adding a list of + pre-requisite partial_symtabs that each partial symtab needs. + + * symtab.h, dbxread.c, symtab.c, symmisc.c: Modified to avoid + doing a qsort on the local (static) psymbols for each file to + speed startup. This feature is not completely debugged, but it's + inclusion has forced the inclusion of another feature (dealing + with EINCL's, BINCL's and EXCL's) and so I'm going to go in and + deal with them. + + * dbxread.c (process_symbol_for_psymtab): Made sure that the class + of the symbol made it into the partial_symbol entry. + +Tue Sep 27 15:10:26 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c: Fixed bug; init_psymbol_list was not being called + with the right number of arguments (1). + + * dbxread.c: Put ifdef's around N_MAIN, N_M2C, and N_SCOPE to + allow compilation on a microvax. + + * config.gdb: Modified so that "config.gdb vax" would work. + + * dbxread.c, symtab.h, symmisc.h, symtab.c, source.c: Put in many + and varied hacks to speed up gdb startup including: A complete + rewrite of read_dbx_symtab, a modification of the partial_symtab + data type, deletion of select_source_symtab from + symbol_file_command, and optimiztion of the call to strcmp in + compare_psymbols. + +Thu Sep 22 11:08:54 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c (psymtab_to_symtab): Removed call to + init_misc_functions. + + * dbxread.c: Fixed enumeration type clash (used enum instead of + integer constant). + + * breakpoint.c: Fixed typo; lack of \ at end of line in middle of + string constant. + + * symseg.h: Fixed typo; lack of semicolon after structure + definition. + + * command.c, breakpoint.c, printcmd.c: Added cmdlist editing + functions to add commands with the abbrev flag set. Changed + help_cmd_list to recognize this flag and modified unset, + undisplay, and enable, disable, and delete breakpoints to have + this flag set. + +Wed Sep 21 13:34:19 1988 Randall Smith (randy at plantaris.ai.mit.edu) + + * breakpoint.c, infcmd.c, gdb.texinfo: Created "unset" as an alias + for delete, and changed "unset-environment" to be the + "environment" subcommand of "delete". + + * gdb.texinfo, valprint.c: Added documentation in the manual for + breaking the set-* commands into subcommands of set. Changed "set + maximum" to "set array-max". + + * main.c, printcmd.c, breakpoint.c: Moved the declaration of + command lists into main and setup a function in main initializing + them to guarrantee that they would be initialized before calling + any of the individual files initialize routines. + + * command.c (lookup_cmd): A null string subcommand is treated as + an unknown subcommand rather than an ambiguous one (eg. "set $x = + 1" will now work). + + * infrun.c (wait_for_inferior): Put in ifdef for Sony News in + check for trap by INNER_THAN macro. + + * eval.c (evaluate_subexp): Put in catch to keep the user from + attempting to call a non function as a function. + +Tue Sep 20 10:35:53 1988 Randall Smith (randy at oatmeal.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Installed code to keep track of + which global symbols did not have debugger symbols refering to + them, and recording these via record_misc_function. + + * dbxread.c: Killed code to check for extra global symbols in the + debugger symbol table. + + * printcmd.c, breakpoint.c: Modified help entries for several + commands to make sure that abbreviations were clearly marked and + that the right commands showed up in the help listings. + + * main.c, command.c, breakpoint.c, infcmd.c, printcmd.c, + valprint.c, defs.h: Modified help system to allow help on a class + name to show subcommands as well as commands and help on a command + to show *all* subcommands of that command. + +Fri Sep 16 16:51:19 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * breakpoint.c (_initialize_breakpoint): Made "breakpoints" + subcommands of enable, disable, and delete use class 0 (ie. they + show up when you do a help xxx now). + + * infcmd.c,printcmd,c,main.c,valprint.c: Changed the set-* + commands into subcommands of set. Created "set variable" for use + with variables whose names might conflict with other subcommands. + + * blockframe.c, dbxread.c, coffread.c, expread.y, source.c: + Fixed mostly minor (and one major one in block_for_pc) bugs + involving checking the partial_symtab_list when a scan through the + symtab_list fails. + +Wed Sep 14 12:02:05 1988 Randall Smith (randy at sugar-smacks.ai.mit.edu) + + * breakpoint.c, gdb.texinfo: Added enable breakpoints, disable + breakpoints and delete breakpoints as synonyms for enable, + disable, and delete. This seemed reasonable because of the + immeninent arrival of watchpoints & etc. + + * gdb.texinfo: Added enable display, disable display, and delete + display to manual. + +Tue Sep 13 16:53:56 1988 Randall Smith (randy at sugar-smacks.ai.mit.edu) + + * inferior.h, infrun.c, infcmd.c: Added variable + stop_random_signal to indicate when a proceed had been stopped by + an unexpected signal. Used this to determine (in normal_stop) + whether the current display point should be deleted. + + * valops.c: Fix to value_ind to check for reference before doing a + COERCE_ARRAY. + +Sun Jul 31 11:42:36 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu) + + * breakpoint.c (_initialize_breakpoint): Clean up doc for commands + that can now apply also to auto-displays. + + * coffread.c (record_line): Corrected a spazz in editing. + Also removed the two lines that assume line-numbers appear + only in increasing order. + +Tue Jul 26 22:19:06 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * expression.h, eval.c, expprint.c, printcmd.c, valarith.c, + valops.c, valprint.c, values.c, m-*.h: Changes for evaluating and + displaying 64-bit `long long' integers. Each machine must define + a LONGEST type, and a BUILTIN_TYPE_LONGEST. + + * symmisc.c: (print_symtab) check the status of the fopen and call + perror_with_name if needed. + +Thu Jul 21 00:56:11 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * Convex: core.c: changes required by Convex's SOFF format were + isolated in convex-dep.c. + +Wed Jul 20 21:26:10 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * coffread.c, core.c, expread.y, i386-pinsn.c, infcmd.c, inflow.c, + infrun.c, m-i386.h, main.c, remote.c, source.c, valops.c: + Improvements for the handling of the i386 and other machines + running USG. (Several of these files just needed extra header files + such as types.h.) utils.c: added bcopy, bcmp, bzero, getwd, list + of signals, and queue routines for USG systems. Added vfork macro + to i386 + + * printcmd.c, breakpoint.c: New commands to enable/disable + auto-displays. Also `delete display displaynumber' works like + `undisplay displaynumber'. + +Tue Jul 19 02:17:18 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * coffread.c: (coff_lookup_type) Wrong portion of type_vector was + being bzero'd after type_vector was reallocated. + + * printcmd.c: (delete_display) Check for a display chain before + attempting to delete a display. + + * core.c, *-dep.c (*-infdep moved to *-dep): machine-dependent + parts of core.c (core_file_command, exec_file_command) moved to + *-dep.c. + +Mon Jul 18 19:45:51 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * dbxread.c: typo in read_struct_type (missing '=') was causing a + C struct to be parsed as a C++ struct, resulting in a `invalid + character' message. + +Sun Jul 17 22:27:32 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * printcmd.c, symtab.c, valops.c, expread.y: When an expression is + read, the innermost block required to evaluate the expression is + saved in the global variable `innermost_block'. This information + is saved in the `block' field of an auto-display so that + expressions with inactive variables can be skipped. `info display' + tells the user which displays are active and which are not. New + fn `contained_in' returns nonzero if one block is contained within + another. + +Fri Jul 15 01:53:14 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * infrun.c, m-i386.h: Use macro TRAPS_EXPECTED to set number of + traps to skip when sh execs the program. Default is 2, m-i386.h + overrides this and sets to 4. + + * coffread.c, infrun.c: minor changes for the i386. May be able + to eliminate them with more general code. + + * default-infdep.c: #ifdef SYSTEMV, include header file types.h. + Also switched the order of signal.h and user.h, since System 5 + requires signal.h to come first. + + * core.c main.c, remote,c, source.c, inflow.c: #ifdef SYSTEMV, + include various header files. Usually types.h and fcntl.h. + + * utils.c: added queue routines needed by the i386 (and other sys + 5 machines). + + * sys5.c, regex.c, regex.h: new files for sys 5 systems. (The + regex files are simply links to /gp/gnu/lib.) + +Thu Jul 14 01:47:14 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * config.gdb, README: Provide a list of known machines when user + enters an invalid machine. New second arg is operating system, + currently only used with `sunos4' or `os4'. Entry for i386 added. + + * news-infdep.c: new file. + + * m-news.h: new version which deals with new bugs in news800's OS. + +Tue Jul 12 19:52:16 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * Makefile, *.c, munch, config.gdb, README: New initialization + scheme uses nm to find functions whose names begin with + `_initialize_'. Files `initialize.h', `firstfile.c', + `lastfile.c', `m-*init.h' no longer needed. + + * eval.c, symtab.c, valarith.c, valops.c, value.h, values.c: Bug + fixes from gdb+ 2.5.4. evaluate_subexp takes a new arg, type + expected. New fn value_virtual_fn_field. + +Mon Jul 11 00:48:49 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * core.c (read_memory): xfer_core_file was being called with an + extra argument (0) by read_memory. + + * core.c (read_memory), *-infdep.c (read_inferior_memory), + valops.c (value_at): read_memory and read_inferior_memory now work + like write_memory and write_inferior_memory in that errno is + checked after each ptrace and returned to the caller. Used in + value_at to detect references to addresses which are out of + bounds. Also core.c (xfer_core_file): return 1 if invalid + address, 0 otherwise. + + * inflow.c, -infdep.c: removed all calls to ptrace from + inflow.c and put them in machine-dependent files *-infdep.c. + +Sun Jul 10 19:19:36 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * symmisc.c: (read_symsegs) Accept only format number 2. Since + the size of the type structure changed when C++ support was added, + format 1 can no longer be used. + + * core.c, m-sunos4.h: (core_file_command) support for SunOS 4.0. + Slight change in the core structure. #ifdef SUNOS4. New file + m-sunos4.h. May want to change config.gdb also. + +Fri Jul 8 19:59:49 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * breakpoint.c: (break_command_1) Allow `break if condition' + rather than parsing `if' as a function name and returning an + error. + +Thu Jul 7 22:22:47 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: valops.c, valprint.c, value.h, values.c: merged code to deal + with C++ expressions. + +Wed Jul 6 03:28:18 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: dbxread.c: (read_dbx_symtab, condense_misc_bunches, + add_file_command) Merged code to read symbol information from + an incrementally linked file. symmisc.c: + (init_free_inclink_symtabs, free_inclink_symtabs) Cleanup + routines. + +Tue Jul 5 02:50:41 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: symtab.c, breakpoint.c, source.c: Merged code to deal with + ambiguous line specifications. In C++ one can have overloaded + function names, so that `list classname::overloadedfuncname' + refers to several different lines, possibly in different files. + +Fri Jul 1 02:44:20 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: symtab.c: replaced lookup_symtab_1 and lookup_symtab_2 with + a modified lookup_symbol which checks for fields of the current + implied argument `this'. printcmd.c, source.c, symtab.c, + valops.c: Need to change callers once callers are + installed. + +Wed Jun 29 01:26:56 1988 Peter TerMaat (pete at frosted-flakes.ai.mit.edu) + + * C++: eval.c, expprint.c, expread.y, expression.h, valarith.c, + Merged code to deal with evaluation of user-defined operators, + member functions, and virtual functions. + binop_must_be_user_defined tests for user-defined binops, + value_x_binop calls the appropriate operator function. + +Tue Jun 28 02:56:42 1988 Peter TerMaat (pete at frosted-flakes.ai.mit.edu) + + * C++: Makefile: changed the echo: expect 101 shift/reduce conflicts + and 1 reduce/reduce conflict. + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/MAINTAINERS b/contrib/gdb/gdb/MAINTAINERS new file mode 100644 index 0000000..5941946 --- /dev/null +++ b/contrib/gdb/gdb/MAINTAINERS @@ -0,0 +1,421 @@ + GDB Maintainers + + + Blanket Write Privs + (alphabetic) + +Jim Blandy jimb@redhat.com +Kevin Buettner kevinb@redhat.com +Andrew Cagney ac131313@redhat.com +J.T. Conklin jtc@redback.com +Fred Fish fnf@ninemoons.com +Mark Kettenis kettenis@gnu.org +Peter Schauer Peter.Schauer@regent.e-technik.tu-muenchen.de +Stan Shebs shebs@apple.com +Michael Snyder msnyder@redhat.com +Elena Zannoni ezannoni@redhat.com +Eli Zaretskii eliz@gnu.org + + + Various Maintainers + +Note individuals who maintain parts of the debugger need approval to +check in changes outside of the immediate domain that they maintain. + +If there is no maintainer for a given domain then the responsibility +falls to the head maintainer. + +If there are several maintainers for a given domain then +responsibility falls to the first maintainer. The first maintainer is +free to devolve that responsibility among the other maintainers. + + + The Obvious Fix Rule + +All maintainers listed in this file are allowed to check in obvious +fixes. + +An "obvious fix" means that there is no possibility that anyone will +disagree with the change. + +A good mental test is "will the person who hates my work the most be +able to find fault with the change" - if so, then it's not obvious and +needs to be posted first. :-) + +Something like changing or bypassing an interface is _not_ an obvious +fix, since such a change without discussion will result in +instantaneous and loud complaints. + + +Target/Architecture: + +Generic ISA (Instruction Set Architecture) issues, API variants, CPU +variants. *-tdep.c. The Target/Architecture maintainer works with the +host maintainer when resolving build issues. The Target/Architecture +maintainer works with the native maintainer when resolving API issues. + + a29k OBSOLETE + + alpha --target=alpha-dec-osf4.0a -Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + arc --target=arc-elf ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + arm --target=arm-elf -w + Fernando Nasser fnasser@redhat.com + Scott Bambrough scottb@netwinder.org + Richard Earnshaw rearnsha@arm.com + Not multi-arch + + avr --target=avr ,-Werror + Theodore A. Roth troth@verinet.com + + cris --target=cris-elf -w + Orjan Friberg orjanf@axis.com + + d10v --target=d10v-elf ,-Werror + Maintenance only + + d30v --target=d30v-elf ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + djgpp --target=i586-pc-msdosdjgpp ,-Werror + (See native and host) + + fr30 --target=fr30-elf -Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + h8300 --target=h8300hms -Werror + Maintenance only + Not multi-arch, work in progress + + h8500 --target=h8500hms -Werror + Maintenance only + Not multi-arch, work in progress + + i386 --target=i386-elf,i386-aout ,-Werror + Mark Kettenis kettenis@gnu.org + + i960 --target=i960-coff ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + ia64 --target=ia64-linux ,-Werror + Kevin Buettner kevinb@redhat.com + + m32r --target=m32r-elf -Werror + Michael Snyder msnyder@redhat.com + Not multi-arch + + m68hc11 --target=m68hc11-elf ,-Werror + Stephane Carrez Stephane.Carrez@worldnet.fr + + m68k --target=m68k-elf ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + m88k --target=m88k ,-Werror + Known problem in 5.1 + Maintenance only + OBSOLETE candidate, not multi-arch + + mcore --target=mcore-elf,mcore-pe ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + mips --target=mips-elf,mips64-elf ,-Werror + Andrew Cagney cagney@redhat.com + + mn10200 --target=mn10200-elf ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + mn10300 --target=mn10300-elf ,-Werror + Maintenance only + + ns32k --target=ns32k-netbsd ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + pa (--target=hppa1.1-hp-proelf broken) + Maintenance only + OBSOLETE candidate, not multi-arch + + powerpc --target=powerpc-eabi ,-Werror + Kevin Buettner kevinb@redhat.com + + rs6000 --target=rs6000-ibm-aix4.1 ,-Werror + (see rs6000 native and ppc target) + + s390 --target=s390-linux ,-Werror + (contact DJ Barrow djbarrow@de.ibm.com) + + sh --target=sh-hms,sh-elf ,-Werror + Elena Zannoni ezannoni@redhat.com + + sparc --target=sparc-elf,sparc64-elf ,-Werror + Maintenance only + + tic80 Deleted. + + v850 --target=v850-elf ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + vax --target=vax-dec-vms5.5 ,-Werror + Maintenance only + OBSOLETE candidate, not multi-arch + + w65 Deleted. + + x86-64 (--target=x86_64-linux-gnu broken) + Maintenance only + + xstormy16 --target=xstormy16-elf ,-Werror + Corinna Vinschen vinschen@redhat.com + + z8k --target=z8k-coff ,-Werror + Known problem in 5.1 + Maintenance only + OBSOLETE candidate, not multi-arch + +All developers recognized by this file can make arbitrary changes to +OBSOLETE targets. + +All maintainers can test and thence approve non-trivial changes to +``maintenance only'' targets submitted by recognized developers. + +All recognized developers can make mechanical changes (by virtue of +the obvious fix rule) to ``maintenance only'' targets. The change +shall be sanity checked by compiling with one of the listed targets. + +The GAWK segment: + + awk < "${maintainers}" ' + $2 ~ /--target=.*/ { + targets = gensub (/^.*--target=/, "", 1, $2) + warnings = gensub (/[)]*$/, "", 1, $3) + split (targets, targ, /,/) + for (i in targ) { + print targ[i], warnings + } + }' + +can be used to generate a full list of --target= +--enable-gdb-build-warning= pairs. + + + +Host/Native: + +The Native maintainer is responsible for target specific native +support - typically shared libraries and quirks to procfs/ptrace/... +The Native maintainer works with the Arch and Core maintainers when +resolving more generic problems. + +The host maintainer ensures that gdb (including mmalloc) can be built +as a cross debugger on their platform. + +AIX Peter Schauer Peter.Schauer@regent.e-technik.tu-muenchen.de + Kevin Buettner kevinb@redhat.com + +djgpp native Eli Zaretskii eliz@gnu.org + DJ Delorie dj@redhat.com +MS Windows (NT, CE, '00, 9x, Me) host & native + Chris Faylor cgf@redhat.com +GNU/Linux/x86 native & host + Mark Kettenis kettenis@gnu.org + Jim Blandy jimb@redhat.com +GNU/Linux PPC native Kevin Buettner kevinb@redhat.com +GNU/Linux MIPS native & host + Daniel Jacobowitz dan@debian.org +GNU/Linux m68k Andreas Schwab schwab@suse.de +FreeBSD native & host Mark Kettenis kettenis@gnu.org + David O'Brien obrien@freebsd.org +hurd native Mark Kettenis kettenis@gnu.org +SCO/Unixware Robert Lipe rjl@sco.com +GNU/Linux ARM native Scott Bambrough scottb@netwinder.org +Solaris/x86 native & host (devolved) + Peter Schauer Peter.Schauer@regent.e-technik.tu-muenchen.de +Solaris/SPARC native & host (devolved) + Michael Snyder msnyder@redhat.com + + + +Core: Generic components used by all of GDB + +generic arch support Andrew Cagney cagney@redhat.com + Any host/target maintainer can add to + gdbarch.{c,h,sh}. Send tricky ones to cagney. +target vector Andrew Cagney cagney@redhat.com +main (main.c, top.c) Elena Zannoni ezannoni@redhat.com +event loop Elena Zannoni ezannoni@redhat.com + +generic symtabs Jim Blandy jimb@redhat.com + Elena Zannoni ezannoni@redhat.com + dwarf readers Jim Blandy jimb@redhat.com + Elena Zannoni ezannoni@redhat.com + elf reader Jim Blandy jimb@redhat.com + Elena Zannoni ezannoni@redhat.com + stabs reader Jim Blandy jimb@redhat.com + Elena Zannoni ezannoni@redhat.com + coff reader Philippe De Muyter phdm@macqel.be + xcoff reader Any maintainer can modify this; please send tricky + ones to Kevin Buettner + linespec Jim Blandy jimb@redhat.com + Elena Zannoni ezannoni@redhat.com + Fernando Nasser fnasser@redhat.com + +tracing bytecode stuff Jim Blandy jimb@redhat.com +tracing Michael Snyder msnyder@redhat.com +threads Michael Snyder msnyder@redhat.com + Mark Kettenis kettenis@gnu.org +breakpoints Michael Snyder msnyder@redhat.com + Jim Blandy jimb@redhat.com +language support (Blanket Write Privs Maintainers) + C++ Daniel Jacobowitz dan@debian.org + Java support (devolved) + Per Bothner per@bothner.com + Anthony Green green@redhat.com + Pascal support Pierre Muller muller@sources.redhat.com + Scheme support Jim Blandy jimb@redhat.com + +shared libs (devolved) Jim Blandy jimb@redhat.com + Kevin Buettner kevinb@redhat.com + xcoffsolib Peter Schauer Peter.Schauer@regent.e-technik.tu-muenchen.de + +remote.c Andrew Cagney cagney@redhat.com +include/remote-sim.h, remote-sim.c + Andrew Cagney cagney@redhat.com +sds protocol Fernando Nasser fnasser@redhat.com +rdi/adp protocol Fernando Nasser fnasser@redhat.com +documentation Eli Zaretskii eliz@gnu.org +testsuite Fernando Nasser fnasser@redhat.com + config Mark Salter msalter@redhat.com + lib Mark Salter msalter@redhat.com + gdbtk (gdb.gdbtk) Keith Seitz keiths@redhat.com + c++ (gdb.c++) Michael Chastain mec@shout.net + mi tests (gdb.mi) Elena Zannoni ezannoni@redhat.com + Andrew Cagney cagney@redhat.com + stabs (gdb.stabs) Elena Zannoni ezannoni@redhat.com + threads (gdb.threads) Michael Snyder msnyder@redhat.com + trace (gdb.trace) Michael Snyder msnyder@redhat.com + hp tests (gdb.hp) (vacant) + Java tests (gdb.java) Anthony Green green@redhat.com +Kernel Object Display Fernando Nasser fnasser@redhat.com + + +UI: External (user) interfaces. + +command interpreter Fernando Nasser fnasser@redhat.com +gdbtk (c & tcl) Jim Ingham jingham@apple.com + Fernando Nasser fnasser@redhat.com + Keith Seitz keiths@redhat.com +libgui (w/foundry, sn) Jim Ingham jingham@apple.com + Keith Seitz keiths@redhat.com +mi (gdb/mi) Andrew Cagney cagney@redhat.com + Elena Zannoni ezannoni@redhat.com + Fernando Nasser fnasser@redhat.com +tui (vacant) + Technical Contact Point wdb@cup.hp.com + + +Misc: + +gdb/gdbserver Daniel Jacobowitz dan@debian.org + +Web pages. Jim Kingdon jkingdon@engr.sgi.com ++ + (anyone can edit; kingdon is just lead maintainer) + +Makefile.in, configure* ALL + +mmalloc/ ALL Host maintainers + +sim/ See sim/MAINTAINERS + +readline/ Master version: ftp://ftp.cwru.edu/pub/bash/ + Elena Zannoni ezannoni@redhat.com + Host maintainers (host dependant parts) + (but get your changes into the master version) + +tcl/ tk/ itcl/ Ian Roxborough irox@redhat.com + + Write After Approval + (alphabetic) + +To get recommended for the Write After Approval list you need a valid +FSF assignment and have submitted one good patch. + +David Anderson davea@sgi.com +Philip Blundell philb@gnu.org +Joel Brobecker brobecker@act-europe.fr +Nick Clifton nickc@redhat.com +Chris G. Demetriou cgd@broadcom.com +Klee Dienes kdienes@apple.com +Richard Earnshaw rearnsha@arm.com +Matthew Green mrg@eterna.com.au +Orjan Friberg orjanf@axis.com +Ben Harris bjh21@netbsd.org +Paul Hilfinger hilfinger@gnat.com +Matt Hiller hiller@redhat.com +Kazu Hirata kazu@hxi.com +Jeff Holcomb jeffh@redhat.com +Don Howard dhoward@redhat.com +Martin Hunt hunt@redhat.com +Jim Ingham jingham@apple.com +Daniel Jacobowitz dan@debian.org +Andreas Jaeger aj@suse.de +Geoff Keating geoffk@redhat.com +Jim Kingdon jkingdon@engr.sgi.com ++ +Jonathan Larmour jlarmour@redhat.co.uk +H.J. Lu hjl@lucon.org +Glen McCready gkm@redhat.com +Greg McGary greg@mcgary.org +Jason Merrill jason@redhat.com +Jason Molenda jmolenda@apple.com +Pierre Muller muller@sources.redhat.com +Alexandre Oliva aoliva@redhat.com +Tom Rix trix@redhat.com +Theodore A. Roth troth@verinet.com +Mark Salter msalter@redhat.com +Andreas Schwab schwab@suse.de +Keith Seitz keiths@redhat.com +Jiri Smid smid@suse.cz +David Smith dsmith@redhat.com +Stephen P. Smith ischis2@home.com +Jackie Smith Cashion jsmith@redhat.com +Petr Sorfa petrs@caldera.com +Gary Thomas gthomas@redhat.com +Jason Thorpe thorpej@wasabisystems.com +Tom Tromey tromey@redhat.com +Corinna Vinschen vinschen@redhat.com +Keith Walker keith.walker@arm.com + + + + Past Maintainers + +Jimmy Guo (gdb.hp, tui) guo at cup dot hp dot com +Jeff Law (hppa) law at cygnus dot com +Daniel Berlin (C++ support) dan at cgsoftware dot com +Nick Duffek (powerpc, SCO, Sol/x86) nick at duffek dot com +David Taylor (d10v, sparc, utils, defs, + expression evaluator, language support) taylor at candd dot org +J.T. Conklin (dcache, NetBSD, remote) jtc at redback dot com +Frank Ch. Eigler (sim) fche at redhat dot com + + + +Folks that have been caught up in a paper trail: + +Jim Kingdon jkingdon@engr.sgi.com + +-- + +(*) Indicates folks that don't have a Kerberos/SSH account in the GDB +group. diff --git a/contrib/gdb/gdb/Makefile.in b/contrib/gdb/gdb/Makefile.in index 2c6dfb5..3b31aed 100644 --- a/contrib/gdb/gdb/Makefile.in +++ b/contrib/gdb/gdb/Makefile.in @@ -1,5 +1,5 @@ -# Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 -# Free Software Foundation, Inc. +# Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +# 1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This file is part of GDB. @@ -39,6 +39,7 @@ man7dir = $(mandir)/man7 man8dir = $(mandir)/man8 man9dir = $(mandir)/man9 infodir = @infodir@ +htmldir = $(prefix)/html includedir = @includedir@ # This can be referenced by `INTLDEPS' as computed by CY_GNU_GETTEXT. @@ -47,6 +48,9 @@ top_builddir = . SHELL = @SHELL@ EXEEXT = @EXEEXT@ +AWK = @AWK@ +LN_S = @LN_S@ + INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ @@ -56,14 +60,7 @@ AR_FLAGS = qv RANLIB = @RANLIB@ DLLTOOL = @DLLTOOL@ WINDRES = @WINDRES@ - -# If the user configured GDB to include the TUI, the name of the tui -# library goes here. -TUI_LIBRARY = @TUI_LIBRARY@ - -# If the user configured GDB to include the TUI, the all-tui -# target goes here. -BUILD_TUI = @BUILD_TUI@ +MIG = @MIG@ # Flags that describe where you can find the termcap library. # This can be overridden in the host Makefile fragment file. @@ -87,6 +84,10 @@ YLWRAP = $(srcdir)/../ylwrap # where to find makeinfo, preferably one designed for texinfo-2 MAKEINFO=makeinfo +MAKEHTML = texi2html + +MAKEHTMLFLAGS = -glossary -menu -split_chapter + # Set this up with gcc if you have gnu ld and the loader will print out # line numbers for undefined references. #CC_LD=gcc -static @@ -105,6 +106,9 @@ LIBIBERTY = ../libiberty/libiberty.a MMALLOC = @MMALLOC@ MMALLOC_CFLAGS = @MMALLOC_CFLAGS@ +# Configured by the --with-uiout option to configure. +UIOUT_CFLAGS = @UIOUT_CFLAGS@ + # Where is the BFD library? Typically in ../bfd. BFD_DIR = ../bfd BFD = $(BFD_DIR)/libbfd.a @@ -118,6 +122,9 @@ READLINE_SRC = $(srcdir)/$(READLINE_DIR) READLINE_CFLAGS = -I$(READLINE_SRC)/.. WARN_CFLAGS = @WARN_CFLAGS@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +GDB_WARN_CFLAGS = $(WARN_CFLAGS) +GDB_WERROR_CFLAGS = $(WERROR_CFLAGS) # Where is the INTL library? Typically in ../intl. INTL_DIR = ../intl @@ -126,10 +133,76 @@ INTL_DEPS = @INTLDEPS@ INTL_SRC = $(srcdir)/$(INTL_DIR) INTL_CFLAGS = -I$(INTL_DIR) -I$(INTL_SRC) -# Where is the TUI library? Typically in tui/. -TUI_DIR=tui -TUI_SRC = $(srcdir)/$(TUI_DIR) -TUI_CFLAGS= -I$(TUI_SRC) +# +# CLI sub directory definitons +# +SUBDIR_CLI_OBS = \ + cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-utils.o +SUBDIR_CLI_SRCS = \ + cli/cli-decode.c cli/cli-script.c cli/cli-cmds.c cli/cli-setshow.c \ + cli/cli-utils.c +SUBDIR_CLI_DEPS = +SUBDIR_CLI_INITS = \ + $(SUBDIR_CLI_SRCS) +SUBDIR_CLI_LDFLAGS= +SUBDIR_CLI_CFLAGS= +SUBDIR_CLI_ALL= +SUBDIR_CLI_CLEAN= +SUBDIR_CLI_INSTALL= +SUBDIR_CLI_UNINSTALL= + +# +# MI sub directory definitons +# +SUBDIR_MI_OBS = \ + mi-out.o mi-console.o \ + mi-cmds.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o \ + mi-cmd-disas.o \ + mi-main.o mi-parse.o mi-getopt.o +SUBDIR_MI_SRCS = \ + mi/mi-out.c mi/mi-console.c \ + mi/mi-cmds.c \ + mi/mi-cmd-var.c mi/mi-cmd-break.c mi/mi-cmd-stack.c \ + mi/mi-cmd-disas.c \ + mi/mi-main.c mi/mi-parse.c mi/mi-getopt.c +SUBDIR_MI_DEPS = +SUBDIR_MI_INITS = \ + $(SUBDIR_MI_SRCS) +SUBDIR_MI_LDFLAGS= +SUBDIR_MI_CFLAGS= \ + -DMI_OUT=1 +SUBDIR_MI_ALL= +SUBDIR_MI_CLEAN= +SUBDIR_MI_INSTALL= +SUBDIR_MI_UNINSTALL= + +# +# TUI sub directory definitions +# +SUBDIR_TUI_OBS = \ + tui-file.o tui.o tuiData.o tuiSource.o tuiStack.o tuiIO.o \ + tuiGeneralWin.o tuiLayout.o tuiWin.o tuiCommand.o \ + tuiDisassem.o tuiSourceWin.o tuiRegs.o tuiDataWin.o \ + tui-out.o tui-hooks.o +SUBDIR_TUI_SRCS = \ + tui/tui-file.c tui/tui.c tui/tuiData.c tui/tuiSource.c \ + tui/tuiStack.c tui/tuiIO.c \ + tui/tuiGeneralWin.c tui/tuiLayout.c \ + tui/tuiWin.c tui/tuiCommand.c \ + tui/tuiDisassem.c tui/tuiSourceWin.c \ + tui/tuiRegs.c tui/tuiDataWin.c tui/tui-out.c tui/tui-hooks.c +SUBDIR_TUI_DEPS = +SUBDIR_TUI_INITS = \ + $(SUBDIR_TUI_SRCS) +SUBDIR_TUI_LDFLAGS= +SUBDIR_TUI_CFLAGS= \ + -DTUI=1 -I${srcdir}/tui +SUBDIR_TUI_ALL= +SUBDIR_TUI_CLEAN= +SUBDIR_TUI_INSTALL= +SUBDIR_TUI_UNINSTALL= + + # Opcodes currently live in one of two places. Either they are in the # opcode library, typically ../opcodes, or they are in a header file @@ -146,11 +219,91 @@ OPCODES_CFLAGS = -I$(OP_INCLUDE) # should set this to list all the .o or .a files to be linked in. SIM = - +WIN32LIBS = @WIN32LIBS@ + +# Where is the TCL library? Typically in ../tcl. +LIB_INSTALL_DIR = $(libdir) +# This variable is needed when doing dynamic linking. +LIB_RUNTIME_DIR = $(libdir) +TCL = @TCL_LD_SEARCH_FLAGS@ @TCL_BUILD_LIB_SPEC@ +TCL_CFLAGS = @TCLHDIR@ +TCL_DEPS = @TCL_DEPS@ +GDBTKLIBS = @GDBTKLIBS@ +# Extra flags that the GDBTK files need: +GDBTK_CFLAGS = @GDBTK_CFLAGS@ + +# Where is the TK library? Typically in ../tk. +TK = @TK_BUILD_LIB_SPEC@ +TK_CFLAGS = @TKHDIR@ @TK_BUILD_INCLUDES@ +TK_DEPS = @TK_DEPS@ + +# Where is Itcl? Typically in ../itcl/itcl. +ITCL_CFLAGS = @ITCLHDIR@ +ITCL = @ITCLLIB@ +ITCL_DEPS = @ITCL_DEPS@ + +# Where is Itk? Typically in ../itcl/itk. +ITK_CFLAGS = @ITKHDIR@ +ITK = @ITKLIB@ +ITK_DEPS = @ITK_DEPS@ + +# Where is Tix? Typically in ../tix. +TIX_CFLAGS = @TIXHDIR@ +TIX = @TIXLIB@ +TIX_DEPS = @TIX_DEPS@ + +X11_CFLAGS = @TK_XINCLUDES@ +X11_LDFLAGS = +X11_LIBS = + +WIN32LDAPP = @WIN32LDAPP@ + +LIBGUI = @LIBGUI@ +GUI_CFLAGS_X = @GUI_CFLAGS_X@ +IDE_CFLAGS=$(GUI_CFLAGS_X) $(IDE_CFLAGS_X) + +# The version of gdbtk we're building. This should be kept +# in sync with GDBTK_VERSION and friends in gdbtk.h. +GDBTK_VERSION = 1.0 +GDBTK_LIBRARY = $(datadir)/insight$(GDBTK_VERSION) + +# Gdbtk requires an absolute path to the source directory or +# the testsuite won't run properly. +GDBTK_SRC_DIR = @GDBTK_SRC_DIR@ + +SUBDIR_GDBTK_OBS = \ + gdbtk.o gdbtk-bp.o gdbtk-cmds.o gdbtk-hooks.o \ + gdbtk-register.o gdbtk-stack.o gdbtk-varobj.o gdbtk-wrapper.o +SUBDIR_GDBTK_SRCS = \ + gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-bp.c \ + gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c \ + gdbtk/generic/gdbtk-register.c gdbtk/generic/gdbtk-stack.c \ + gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c +SUBDIR_GDBTK_DEPS = \ + $(LIBGUI) $(ITCL_DEPS) $(ITK_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS) +SUBDIR_GDBTK_INITS = gdbtk/generic/gdbtk.c +SUBDIR_GDBTK_LDFLAGS= +SUBDIR_GDBTK_CFLAGS= -DGDBTK +SUBDIR_GDBTK_ALL= +SUBDIR_GDBTK_CLEAN= +SUBDIR_GDBTK_INSTALL= install-gdbtk +SUBDIR_GDBTK_UNINSTALL= + +CONFIG_OBS= @CONFIG_OBS@ +CONFIG_LIB_OBS= @CONFIG_LIB_OBS@ +CONFIG_SRCS= @CONFIG_SRCS@ +CONFIG_DEPS= @CONFIG_DEPS@ +CONFIG_INITS= @CONFIG_INITS@ +CONFIG_LDFLAGS = @CONFIG_LDFLAGS@ ENABLE_CFLAGS= @ENABLE_CFLAGS@ +CONFIG_ALL= @CONFIG_ALL@ +CONFIG_CLEAN= @CONFIG_CLEAN@ +CONFIG_CLEAN= @CONFIG_CLEAN@ +CONFIG_INSTALL = @CONFIG_INSTALL@ +CONFIG_UNINSTALL = @CONFIG_UNINSTALL@ # -I. for config files. -# -I$(srcdir) for gdb internal headers and possibly for gnu-regex.h also. +# -I$(srcdir) for gdb internal headers. # -I$(srcdir)/config for more generic config files. # It is also possible that you will need to add -I/usr/include/sys if @@ -166,7 +319,7 @@ GLOBAL_CFLAGS = $(MT_CFLAGS) $(MH_CFLAGS) # CFLAGS is specifically reserved for setting from the command line # when running make. I.E. "make CFLAGS=-Wmissing-prototypes". -CFLAGS = -g +CFLAGS = @CFLAGS@ # Need to pass this to testsuite for "make check". Probably should be # consistent with top-level Makefile.in and gdb/testsuite/Makefile.in @@ -174,10 +327,13 @@ CFLAGS = -g CXXFLAGS = -g -O # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. -INTERNAL_CFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \ +INTERNAL_WARN_CFLAGS = \ + $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \ $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \ $(BFD_CFLAGS) $(MMALLOC_CFLAGS) $(INCLUDE_CFLAGS) \ - $(INTL_CFLAGS) $(TUI_CFLAGS) $(ENABLE_CFLAGS) $(WARN_CFLAGS) + $(INTL_CFLAGS) $(ENABLE_CFLAGS) $(UIOUT_CFLAGS) \ + $(GDB_WARN_CFLAGS) +INTERNAL_CFLAGS = $(INTERNAL_WARN_CFLAGS) $(GDB_WERROR_CFLAGS) # LDFLAGS is specifically reserved for setting from the command line # when running make. @@ -185,14 +341,9 @@ INTERNAL_CFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \ # Profiling options need to go here to work. # I think it's perfectly reasonable for a user to set -pg in CFLAGS # and have it work; that's why CFLAGS is here. -INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) $(LDFLAGS) @CONFIG_LDFLAGS@ @HLDFLAGS@ +INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) $(MH_LDFLAGS) $(LDFLAGS) $(CONFIG_LDFLAGS) @HLDFLAGS@ HLDENV = @HLDENV@ -# We are using our own version of REGEX now to be consistent across -# machines. -REGEX = gnu-regex.o -REGEX1 = gnu-regex.o - # If your system is missing alloca(), or, more likely, it's there but # it doesn't work, then refer to libiberty. @@ -210,16 +361,17 @@ CLIBS = $(SIM) $(BFD) $(READLINE) $(OPCODES) $(INTL) $(LIBIBERTY) \ $(TERMCAP) $(XM_CLIBS) $(TM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) @LIBS@ \ $(MMALLOC) $(LIBIBERTY) $(WIN32LIBS) CDEPS = $(XM_CDEPS) $(TM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE) \ - $(OPCODES) $(MMALLOC) $(INTL_DEPS) $(LIBIBERTY) @CONFIG_DEPS@ + $(OPCODES) $(MMALLOC) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) -ADD_FILES = $(REGEX) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES) -ADD_DEPS = $(REGEX1) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES) +ADD_FILES = $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES) +ADD_DEPS = $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES) -VERSION=4.18 DIST=gdb LINT=/usr/5bin/lint -LINTFLAGS= $(BFD_CFLAGS) +LINTFLAGS= $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \ + $(BFD_CFLAGS) $(MMALLOC_CFLAGS) $(INCLUDE_CFLAGS) \ + $(INTL_CFLAGS) RUNTEST = `if [ -f $${rootsrc}/../dejagnu/runtest ] ; then \ echo $${rootsrc}/../dejagnu/runtest ; else echo runtest; \ @@ -233,7 +385,7 @@ RUNTESTFLAGS= # part of libiberty) a POSIX interface. But at least for now the # host-dependent makefile fragment might need to use something else # besides ser-unix.o -SER_HARDWIRE = ser-unix.o +SER_HARDWIRE = @SER_HARDWIRE@ # The `remote' debugging target is supported for most architectures, # but not all (e.g. 960) @@ -249,9 +401,17 @@ ANNOTATE_OBS = annotate.o @target_makefile_frag@ # End of host and target-dependent makefile fragments +# Possibly ignore the simulator. If the simulator is being ignored, +# these expand into SIM= and SIM_OBJ=, overriding the entries from +# target_makefile_frag +# +@IGNORE_SIM@ +@IGNORE_SIM_OBS@ + FLAGS_TO_PASS = \ "prefix=$(prefix)" \ "exec_prefix=$(exec_prefix)" \ + "infodir=$(infodir)" \ "against=$(against)" \ "AR=$(AR)" \ "AR_FLAGS=$(AR_FLAGS)" \ @@ -265,6 +425,8 @@ FLAGS_TO_PASS = \ "DLLTOOL=$(DLLTOOL)" \ "RANLIB=$(RANLIB)" \ "MAKEINFO=$(MAKEINFO)" \ + "MAKEHTML=$(MAKEHTML)" \ + "MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \ "INSTALL=$(INSTALL)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ @@ -347,6 +509,7 @@ TARGET_FLAGS_TO_PASS = \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ "MAKEINFO=$(MAKEINFO)" \ + "MAKEHTML=$(MAKEHTML)" \ "RUNTEST=$(RUNTEST)" \ "RUNTESTFLAGS=$(RUNTESTFLAGS)" @@ -357,16 +520,22 @@ TARGET_FLAGS_TO_PASS = \ SFILES = ax-general.c ax-gdb.c bcache.c blockframe.c breakpoint.c \ buildsym.c c-exp.y c-lang.c c-typeprint.c c-valprint.c \ ch-exp.c ch-lang.c ch-typeprint.c ch-valprint.c coffread.c \ - command.c complaints.c corefile.c cp-valprint.c dbxread.c \ + complaints.c completer.c corefile.c cp-valprint.c dbxread.c \ demangle.c dwarfread.c dwarf2read.c elfread.c environ.c eval.c \ + event-loop.c event-top.c \ expprint.c f-exp.y f-lang.c f-typeprint.c f-valprint.c \ - findvar.c gdbarch.c gdbtypes.c infcmd.c inflow.c infrun.c language.c \ + findvar.c regcache.c gdbarch.c arch-utils.c gdbtypes.c \ + inf-loop.c infcmd.c inflow.c infrun.c language.c \ + kod.c kod-cisco.c \ + ui-out.c cli-out.c \ + varobj.c wrapper.c \ jv-exp.y jv-lang.c jv-valprint.c jv-typeprint.c \ m2-exp.y m2-lang.c m2-typeprint.c m2-valprint.c main.c maint.c \ - mem-break.c minsyms.c mipsread.c nlmread.c objfiles.c parse.c \ + memattr.c mem-break.c minsyms.c mipsread.c nlmread.c objfiles.c \ + p-exp.y p-lang.c p-typeprint.c p-valprint.c parse.c \ printcmd.c remote.c remote-nrom.c scm-exp.c scm-lang.c \ - scm-valprint.c source.c stabsread.c stack.c symfile.c \ - symmisc.c symtab.c target.c thread.c top.c tracepoint.c \ + scm-valprint.c signals.c source.c stabsread.c stack.c symfile.c \ + symmisc.c symtab.c linespec.c target.c thread.c top.c tracepoint.c \ typeprint.c utils.c valarith.c valops.c valprint.c values.c \ serial.c ser-unix.c mdebugread.c os9kread.c \ tui/tui.c tui/tui.h tui/tuiCommand.c tui/tuiCommand.h \ @@ -375,9 +544,13 @@ SFILES = ax-general.c ax-gdb.c bcache.c blockframe.c breakpoint.c \ tui/tuiGeneralWin.h tui/tuiIO.c tui/tuiIO.h tui/tuiLayout.c \ tui/tuiLayout.h tui/tuiRegs.c tui/tuiRegs.h tui/tuiSource.c \ tui/tuiSource.h tui/tuiSourceWin.c tui/tuiSourceWin.h \ - tui/tuiStack.c tui/tuiStack.h tui/tuiWin.c tui/tuiWin.h + tui/tuiStack.c tui/tuiStack.h tui/tuiWin.c tui/tuiWin.h \ + tui/tui-file.h tui/tui-file.c tui/tui-out.c tui/tui-hooks.c \ + ui-file.h ui-file.c \ + frame.c doublest.c \ + gnu-v2-abi.c gnu-v3-abi.c hpacc-abi.c cp-abi.c -LINTFILES = $(SFILES) $(YYFILES) @CONFIG_SRCS@ init.c +LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c # "system" headers. Using these in dependencies is a rather personal # choice. (-rich, summer 1993) @@ -387,13 +560,10 @@ LINTFILES = $(SFILES) $(YYFILES) @CONFIG_SRCS@ init.c getopt_h = $(INCLUDE_DIR)/getopt.h floatformat_h = $(INCLUDE_DIR)/floatformat.h bfd_h = $(BFD_DIR)/bfd.h -wait_h = $(INCLUDE_DIR)/wait.h -dis-asm_h = $(INCLUDE_DIR)/dis-asm.h +dis_asm_h = $(INCLUDE_DIR)/dis-asm.h remote-sim_h = $(INCLUDE_DIR)/remote-sim.h - -dcache_h = dcache.h -remote_utils_h = $(dcache_h) serial.h target.h remote-utils.h $(remote-sim_h) - +demangle_h = $(INCLUDE_DIR)/demangle.h +obstack_h = $(INCLUDE_DIR)/obstack.h readline_headers = \ $(READLINE_SRC)/chardefs.h \ @@ -409,24 +579,75 @@ udiheaders = \ $(srcdir)/29k-share/udi/udipt29k.h \ $(srcdir)/29k-share/udi/udisoc.h -gdbcore_h = gdbcore.h $(bfd_h) - -frame_h = frame.h -symtab_h = symtab.h bcache.h -gdbtypes_h = gdbtypes.h -expression_h = expression.h -value_h = value.h $(symtab_h) $(gdbtypes_h) $(expression_h) +xm_h = @xm_h@ +tm_h = @tm_h@ +nm_h = @nm_h@ +annotate_h = annotate.h $(symtab_h) $(gdbtypes_h) +arch_utils_h = arch-utils.h +ax_h = ax.h $(doublest_h) +bcache_h = bcache.h breakpoint_h = breakpoint.h $(frame_h) $(value_h) - +buildsym_h = buildsym.h +c_lang_h = c-lang.h $(value_h) +call_cmds_h = call-cmds.h +cli_cmds_h = $(srcdir)/cli/cli-cmds.h +cli_decode_h = $(srcdir)/cli/cli-decode.h +cli_out_h = cli-out.h +cli_script_h = $(srcdir)/cli/cli-script.h +cli_setshow_h = $(srcdir)/cli/cli-setshow.h +cli_utils_h = $(srcdir)/cli/cli-utils.h command_h = command.h -gdbcmd_h = gdbcmd.h $(command_h) - -defs_h = defs.h xm.h tm.h nm.h config.status config.h gdbarch.h - +complaints_h = complaints.h +completer_h = completer.h +cp_abi_h = cp-abi.h +dcache_h = dcache.h +defs_h = defs.h $(xm_h) $(tm_h) $(nm_h) config.status config.h \ + gdbarch.h ui-file.h +doublest_h = doublest.h $(floatformat_h) +dwarf2cfi_h = dwarf2cfi.h +event_loop_h = event-loop.h +event_top_h = event-top.h +expression_h = expression.h $(doublest_h) $(symtab_h) +frame_h = frame.h +gdb_h = gdb.h +gdb_events_h = gdb-events.h +gdb_stabs_h = gdb-stabs.h +gdb_string_h = gdb_string.h +gdbcmd_h = gdbcmd.h $(command_h) $(ui_out_h) +gdbcore_h = gdbcore.h $(bfd_h) +gdbthread_h = gdbthread.h $(breakpoint_h) +gdbtypes_h = gdbtypes.h +inf_loop_h = inf-loop.h inferior_h = inferior.h $(breakpoint_h) +language_h = language.h +linespec_h = linespec.h +memattr_h = memattr.h +monitor_h = monitor.h +objfiles_h = objfiles.h +parser_defs_h = parser-defs.h $(doublest_h) +regcache_h = regcache.h +remote_h = remote.h +remote_utils_h = remote-utils.h $(target_h) +ser_unix_h = ser-unix.h +serial_h = serial.h +solist_h = solist.h +source_h = source.h +stabsread_h = stabsread.h +symfile_h = symfile.h +symtab_h = symtab.h $(bcache_h) +target_h = target.h $(bfd_h) $(symtab_h) $(dcache_h) $(memattr_h) +terminal_h = terminal.h +top_h = top.h tracepoint_h = tracepoint.h -ax_h = ax.h +typeprint_h = typeprint.h +ui_out_h = ui-out.h +valprint_h = valprint.h +value_h = value.h $(symtab_h) $(gdbtypes_h) $(expression_h) $(doublest_h) +varobj_h = varobj.h $(symtab_h) $(gdbtypes_h) +version_h = version.h +wrapper_h = wrapper.h +xcoffsolib_h = xcoffsolib.h # Header files that need to have srcdir added. Note that in the cases # where we use a macro like $(gdbcmd_h), things are carefully arranged @@ -435,13 +656,13 @@ ax_h = ax.h # right, it is probably easiest just to list .h files here directly. HFILES_NO_SRCDIR = bcache.h buildsym.h call-cmds.h coff-solib.h defs.h \ - dst.h environ.h $(gdbcmd_h) gdbcore.h \ - gdb-stabs.h hpread.h $(inferior_h) language.h minimon.h monitor.h \ - objfiles.h parser-defs.h partial-stab.h serial.h signals.h solib.h \ + dst.h environ.h $(gdbcmd_h) gdb.h gdbcore.h \ + gdb-stabs.h $(inferior_h) language.h minimon.h monitor.h \ + objfiles.h parser-defs.h serial.h solib.h \ symfile.h stabsread.h target.h terminal.h typeprint.h xcoffsolib.h \ c-lang.h ch-lang.h f-lang.h \ jv-lang.h \ - m2-lang.h \ + m2-lang.h p-lang.h \ complaints.h valprint.h \ 29k-share/udi/udiids.h 29k-share/udi_soc nindy-share/b.out.h \ nindy-share/block_io.h nindy-share/coff.h \ @@ -461,61 +682,61 @@ INFOFILES = gdb.info* REMOTE_EXAMPLES = m68k-stub.c i386-stub.c sparc-stub.c rem-multi.shar -POSSLIBS = gnu-regex.c gnu-regex.h - # {X,T,NAT}DEPFILES are something of a pain in that it's hard to # default their values the way we do for SER_HARDWIRE; in the future # maybe much of the stuff now in {X,T,NAT}DEPFILES will go into other # variables analogous to SER_HARDWIRE which get defaulted in this # Makefile.in -DEPFILES = $(TDEPFILES) $(XDEPFILES) $(SER_HARDWIRE) $(NATDEPFILES) \ - $(REMOTE_OBS) $(SIM_OBS) @CONFIG_OBS@ +DEPFILES = $(TDEPFILES) $(SER_HARDWIRE) $(NATDEPFILES) \ + $(REMOTE_OBS) $(SIM_OBS) $(CONFIG_LIB_OBS) -SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) @CONFIG_SRCS@ +SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) $(CONFIG_SRCS) # Don't include YYFILES (*.tab.c) because we already include *.y in SFILES, # and it's more useful to see it in the .y file. TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_NO_SRCDIR) $(ALLDEPFILES) \ - $(POSSLIBS) + $(SUBDIR_CLI_SRCS) TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR) -COMMON_OBS = version.o blockframe.o breakpoint.o findvar.o stack.o thread.o \ +COMMON_OBS = version.o blockframe.o breakpoint.o findvar.o regcache.o \ source.o values.o eval.o valops.o valarith.o valprint.o printcmd.o \ - symtab.o symfile.o symmisc.o infcmd.o infrun.o command.o \ - expprint.o environ.o gdbarch.o gdbtypes.o copying.o $(DEPFILES) \ - mem-break.o target.o parse.o language.o $(YYOBJ) buildsym.o \ + symtab.o symfile.o symmisc.o linespec.o infcmd.o infrun.o \ + expprint.o environ.o stack.o thread.o \ + event-loop.o event-top.o inf-loop.o completer.o \ + gdbarch.o arch-utils.o gdbtypes.o copying.o $(DEPFILES) \ + memattr.o mem-break.o target.o parse.o language.o $(YYOBJ) buildsym.o \ + signals.o \ + kod.o kod-cisco.o \ + gdb-events.o \ exec.o bcache.o objfiles.o minsyms.o maint.o demangle.o \ dbxread.o coffread.o elfread.o \ dwarfread.o dwarf2read.o mipsread.o stabsread.o corefile.o \ c-lang.o ch-exp.o ch-lang.o f-lang.o \ + ui-out.o cli-out.o \ + varobj.o wrapper.o \ jv-lang.o jv-valprint.o jv-typeprint.o \ - m2-lang.o \ + m2-lang.o p-lang.o p-typeprint.o p-valprint.o \ scm-exp.o scm-lang.o scm-valprint.o complaints.o typeprint.o \ c-typeprint.o ch-typeprint.o f-typeprint.o m2-typeprint.o \ c-valprint.o cp-valprint.o ch-valprint.o f-valprint.o m2-valprint.o \ - nlmread.o serial.o mdebugread.o os9kread.o top.o utils.o - -OBS = $(COMMON_OBS) $(ANNOTATE_OBS) main.o + nlmread.o serial.o mdebugread.o os9kread.o top.o utils.o \ + ui-file.o \ + frame.o doublest.o \ + gnu-v2-abi.o gnu-v3-abi.o hpacc-abi.o cp-abi.o -LIBGDB_OBS = +OBS = $(COMMON_OBS) $(ANNOTATE_OBS) TSOBS = inflow.o -NTSOBS = standalone.o - -NTSSTART = kdb-start.o - -SUBDIRS = doc \ - testsuite \ - nlm +SUBDIRS = @SUBDIRS@ # For now, shortcut the "configure GDB for fewer languages" stuff. YYFILES = c-exp.tab.c \ jv-exp.tab.c \ - f-exp.tab.c m2-exp.tab.c + f-exp.tab.c m2-exp.tab.c p-exp.tab.c YYOBJ = c-exp.tab.o \ jv-exp.tab.o \ - f-exp.tab.o m2-exp.tab.o + f-exp.tab.o m2-exp.tab.o p-exp.tab.o # Things which need to be built when making a distribution. @@ -526,7 +747,7 @@ DISTSTUFF = $(YYFILES) .c.o: $(CC) -c $(INTERNAL_CFLAGS) $< -all: gdb$(EXEEXT) +all: gdb$(EXEEXT) $(CONFIG_ALL) @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do installcheck: @@ -541,7 +762,7 @@ check: force $(MAKE) $(TARGET_FLAGS_TO_PASS) check; \ else true; fi -info dvi install-info clean-info: force +info dvi install-info clean-info html install-html: force @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do gdb.z:gdb.1 @@ -555,7 +776,7 @@ gdb.z:gdb.1 # time it takes for make to check that all is up to date. # install-only is intended to address that need. install: all install-only -install-only: +install-only: $(CONFIG_INSTALL) transformed_name=`t='$(program_transform_name)'; \ echo gdb | sed -e $$t` ; \ if test "x$$transformed_name" = x; then \ @@ -563,11 +784,13 @@ install-only: else \ true ; \ fi ; \ + $(srcdir)/../mkinstalldirs $(bindir) ; \ $(INSTALL_PROGRAM) gdb$(EXEEXT) $(bindir)/$$transformed_name$(EXEEXT) ; \ + $(srcdir)/../mkinstalldirs $(man1dir) ; \ $(INSTALL_DATA) $(srcdir)/gdb.1 $(man1dir)/$$transformed_name.1 @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do -uninstall: force +uninstall: force $(CONFIG_UNINSTALL) transformed_name=`t='$(program_transform_name)'; \ echo gdb | sed -e $$t` ; \ if test "x$$transformed_name" = x; then \ @@ -576,11 +799,12 @@ uninstall: force true ; \ fi ; \ rm -f $(bindir)/$$transformed_name$(EXEEXT) $(man1dir)/$$transformed_name.1 + rm -rf $(GDBTK_LIBRARY) @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do # We do this by grepping through sources. If that turns out to be too slow, # maybe we could just require every .o file to have an initialization routine -# of a given name (remote-udi.o -> _initialize_remote_udi, etc.). +# of a given name (top.o -> _initialize_top, etc.). # # Formatting conventions: The name of the _initialize_* routines must start # in column zero, and must not be inside #if. @@ -588,18 +812,21 @@ uninstall: force # Note that the set of files with init functions might change, or the names # of the functions might change, so this files needs to depend on all the # object files that will be linked into gdb. +# +# FIXME: There are 2 problems with this approach. First, if the INIT_FILES +# list includes a file twice (because of some mistake somewhere else) +# the _initialize_* function will be included twice in init.c. Second, +# init.c may force unnecessary files to be linked in. +# -init.c: $(OBS) $(TSOBS) +INIT_FILES = $(OBS) $(TSOBS) $(CONFIG_OBS) $(CONFIG_INITS) +init.c: $(INIT_FILES) @echo Making init.c - @rm -f init.c-tmp - @echo '/* Do not modify this file. */' >init.c-tmp - @echo '/* It is created automatically by the Makefile. */'>>init.c-tmp - @echo '#include "ansidecl.h"' >>init.c-tmp - @echo 'extern void initialize_all_files PARAMS ((void));' >>init.c-tmp - @echo 'void initialize_all_files PARAMS ((void)) {' >>init.c-tmp - @-echo $(OBS) $(TSOBS) | \ + @rm -f init.c-tmp init.l-tmp + @-echo $(INIT_FILES) | \ tr ' ' '\012' | \ sed -e '/^Onindy.o/d' \ + -e '/^init.o/d' \ -e '/^nindy.o/d' \ -e '/ttyflush.o/d' \ -e '/xdr_ld.o/d' \ @@ -614,35 +841,43 @@ init.c: $(OBS) $(TSOBS) -e 's/\.o/.c/' \ -e 's|\([^ ][^ ]*\)|$(srcdir)/\1|g' | \ while read f; do grep '^_initialize_[a-z_0-9A-Z]* *(' $$f 2>/dev/null; done | \ - sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 PARAMS ((void)); \1 ();}/' >>init.c-tmp + sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/\1/' > init.l-tmp + @echo '/* Do not modify this file. */' >>init.c-tmp + @echo '/* It is created automatically by the Makefile. */'>>init.c-tmp + @echo '#include "defs.h"' >>init.c-tmp + @echo '#include "call-cmds.h"' >>init.c-tmp + @sed -e 's/\(.*\)/extern initialize_file_ftype \1;/' >init.c-tmp + @echo 'void' >>init.c-tmp + @echo 'initialize_all_files (void)' >>init.c-tmp + @echo '{' >>init.c-tmp + @sed -e 's/\(.*\)/ \1 ();/' >init.c-tmp @echo '}' >>init.c-tmp + @rm init.l-tmp @mv init.c-tmp init.c .PRECIOUS: init.c +init.o: init.c $(defs_h) $(call_cmds_h) + # Removing the old gdb first works better if it is running, at least on SunOS. -gdb$(EXEEXT): $(OBS) $(BUILD_TUI) $(TSOBS) $(ADD_DEPS) $(CDEPS) init.o +gdb$(EXEEXT): main.o libgdb.a $(CONFIG_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) rm -f gdb$(EXEEXT) $(HLDENV) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) -o gdb$(EXEEXT) \ - init.o $(OBS) $(TSOBS) $(TUI_LIBRARY) $(ADD_FILES) $(CLIBS) $(LOADLIBES) + main.o libgdb.a $(CONFIG_OBS) $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS)\ + $(LOADLIBES) nlm: force rootme=`pwd`; export rootme; $(MAKE) $(TARGET_FLAGS_TO_PASS) DO=all DODIRS=nlm subdir_do -libgdb: libgdb-files $(LIBGDB_OBS) - -# libproc is not listed here because all-libproc is a dependency of all-gui, -# not all-gdb, and thus might be built after us. -LIBGDBDEPS=$(COMMON_OBS) $(LIBGDB_OBS) $(TSOBS) $(ADD_DEPS) $(CDEPS) init.o -# libproc needs to be before libiberty for alloca. -LIBGDBFILES=$(COMMON_OBS) $(LIBGDB_OBS) $(TSOBS) ../libproc/libproc.a \ - $(ADD_DEPS) $(CDEPS) init.o - -libgdb-files: $(LIBGDBDEPS) Makefile.in - -rm -f libgdb-files - for i in $(LIBGDBFILES); do\ - echo $$i >> libgdb-files;\ - done +# Create a library of the gdb object files and build GDB by linking +# against that. +# +# init.o is very important. It pulls in the rest of GDB. +LIBGDB_OBS= $(OBS) $(TSOBS) $(ADD_FILES) init.o +libgdb.a: $(LIBGDB_OBS) + -rm -f libgdb.a + $(AR) q libgdb.a $(LIBGDB_OBS) + $(RANLIB) libgdb.a saber_gdb: $(SFILES) $(DEPFILES) copying.c version.c #setopt load_flags $(CFLAGS) $(BFD_CFLAGS) -DHOST_SYS=SUN4_SYS @@ -650,11 +885,13 @@ saber_gdb: $(SFILES) $(DEPFILES) copying.c version.c #unload $(srcdir)/c-exp.y #unload $(srcdir)/jv-exp.y #unload $(srcdir)/m2-exp.y + #unload $(srcdir)/p-exp.y #unload vx-share/*.h #unload nindy-share/[A-Z]* #load c-exp.tab.c #load jv-exp.tab.c #load m2-exp.tab.c + #load p-exp.tab.c #load copying.c version.c #load ../opcodes/libopcodes.a #load ../libiberty/libiberty.a @@ -686,27 +923,14 @@ gdb1$(EXEEXT): gdb$(EXEEXT) # for some machines. # But these rules don't do what we want; we want to hack the foo.o: tm.h # dependency to do the right thing. -tm-isi.h tm-sun3.h tm-news.h tm-hp300bsd.h tm-altos.h: tm-m68k.h +tm-sun3.h tm-hp300bsd.h tm-altos.h: tm-m68k.h tm-hp300hpux.h tm-sun2.h tm-3b1.h: tm-m68k.h -xm-news1000.h: xm-news.h xm-i386-sv32.h: xm-i386.h tm-i386gas.h: tm-i386.h -xm-sun4os4.h: xm-sparc.h tm-sun4os4.h: tm-sparc.h xm-vaxult.h: xm-vax.h xm-vaxbsd.h: xm-vax.h -kdb: $(NTSSTART) $(OBS) $(NTSOBS) $(ADD_DEPS) $(CDEPS) - ld -o kdb $(NTSSTART) $(OBS) $(NTSOBS) init.o $(ADD_FILES) \ - -lc $(CLIBS) - -# Have the TUI library depend on a phony target, so we'll always -# recurse and make sure it's up to date. If it is, then the file will -# be unchanged, and we won't rebuild it. -# .PHONY: check-tui -all-tui: - @(cd tui; ${MAKE} ${FLAGS_TO_PASS} all) - # Put the proper machine-specific files first, so M-. on a machine # specific routine gets the one for the correct machine. (FIXME: those # files go in twice; we should be removing them from the main list). @@ -728,19 +952,24 @@ TAGS: $(TAGFILES_NO_SRCDIR) $(TAGFILES_WITH_SRCDIR) tags: TAGS -clean mostlyclean: +clean mostlyclean: $(CONFIG_CLEAN) @$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(SUBDIRS)" subdir_do - rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp + rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp init.l-tmp version.c-tmp rm -f init.c version.c - rm -f gdb$(EXEEXT) core make.log libgdb-files + rm -f gdb$(EXEEXT) core make.log rm -f gdb[0-9]$(EXEEXT) # This used to depend on c-exp.tab.c m2-exp.tab.c TAGS # I believe this is wrong; the makefile standards for distclean just # describe removing files; the only sort of "re-create a distribution" # functionality described is if the distributed files are unmodified. +# NB: While GDBSERVER might be configured on native systems, it isn't +# always included in SUBDIRS. Remove the gdbserver files explictly. distclean: clean @$(MAKE) $(FLAGS_TO_PASS) DO=distclean "DODIRS=$(SUBDIRS)" subdir_do + rm -f gdbserver/config.status gdbserver/config.log + rm -f gdbserver/tm.h gdbserver/xm.h gdbserver/nm.h + rm -f gdbserver/Makefile gdbserver/config.cache rm -f nm.h tm.h xm.h config.status config.h stamp-h .gdbinit rm -f y.output yacc.acts yacc.tmp y.tab.h rm -f config.log config.cache @@ -754,7 +983,7 @@ local-maintainer-clean: @echo "it deletes files that may require special tools to rebuild." rm -f c-exp.tab.c \ jv-exp.tab \ - f-exp.tab.c m2-exp.tab.c + f-exp.tab.c m2-exp.tab.c p-exp.tab.c rm -f TAGS $(INFOFILES) rm -f $(YYFILES) rm -f nm.h tm.h xm.h config.status @@ -764,7 +993,7 @@ do-maintainer-clean: subdir_do diststuff: $(DISTSTUFF) - cd doc; $(MAKE) $(MFLAGS) all-doc + cd doc; $(MAKE) $(MFLAGS) diststuff subdir_do: force @for i in $(DODIRS); do \ @@ -805,13 +1034,20 @@ doc/gdb.info: cd doc; $(MAKE) gdb.info $(FLAGS_TO_PASS) # Make copying.c from COPYING -copying.c: COPYING copying.awk - awk -f $(srcdir)/copying.awk < $(srcdir)/COPYING > copying.c - -version.c: Makefile - echo 'char *version = "$(VERSION)";' >version.c - echo 'char *host_name = "$(host_alias)";' >> version.c - echo 'char *target_name = "$(target_alias)";' >> version.c +$(srcdir)/copying.c: @MAINTAINER_MODE_TRUE@ \ + $(srcdir)/COPYING $(srcdir)/copying.awk + awk -f $(srcdir)/copying.awk \ + < $(srcdir)/COPYING > $(srcdir)/copying.tmp + mv $(srcdir)/copying.tmp $(srcdir)/copying.c + +version.c: Makefile version.in + rm -f version.c-tmp version.c + echo '#include "version.h"' >> version.c-tmp + echo 'const char version[] = "'"`sed q ${srcdir}/version.in`"'";' >> version.c-tmp + echo 'const char host_name[] = "$(host_alias)";' >> version.c-tmp + echo 'const char target_name[] = "$(target_alias)";' >> version.c-tmp + mv version.c-tmp version.c +version.o: version.c $(version_h) # c-exp.tab.c is generated in objdir from c-exp.y if it doesn't exist # in srcdir, then compiled in objdir to c-exp.tab.o. @@ -822,7 +1058,6 @@ version.c: Makefile # Remove bogus decls for malloc/realloc/free which conflict with everything # else. Strictly speaking c-exp.tab.c should therefore depend on # Makefile.in, but that was a pretty big annoyance. -c-exp.tab.o: c-exp.tab.c c-exp.tab.c: c-exp.y $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/c-exp.y y.tab.c c-exp.tmp -- $(YFLAGS) -sed -e '/extern.*malloc/d' \ @@ -882,9 +1117,27 @@ m2-exp.tab.c: m2-exp.y -rm m2-exp.tmp mv m2-exp.new ./m2-exp.tab.c +# p-exp.tab.c is generated in objdir from p-exp.y if it doesn't exist +# in srcdir, then compiled in objdir to p-exp.tab.o. +# Remove bogus decls for malloc/realloc/free which conflict with everything +# else. +p-exp.tab.o: p-exp.tab.c +p-exp.tab.c: p-exp.y + $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/p-exp.y y.tab.c p-exp.tmp -- $(YFLAGS) + -sed -e '/extern.*malloc/d' \ + -e '/extern.*realloc/d' \ + -e '/extern.*free/d' \ + -e '/include.*malloc.h/d' \ + -e 's/malloc/xmalloc/g' \ + -e 's/realloc/xrealloc/g' \ + -e '/^#line.*y.tab.c/d' \ + < p-exp.tmp > p-exp.new + -rm p-exp.tmp + mv p-exp.new ./p-exp.tab.c + # These files are updated atomically, so make never has to remove them .PRECIOUS: m2-exp.tab.c f-exp.tab.c c-exp.tab.c -.PRECIOUS: jv-exp.tab.c +.PRECIOUS: jv-exp.tab.c p-exp.tab.c lint: $(LINTFILES) $(LINT) $(INCLUDE_CFLAGS) $(LINTFLAGS) $(LINTFILES) \ @@ -914,42 +1167,54 @@ unexport CHILLFLAGS CHILL_LIB CHILL_FOR_TARGET : ALLDEPFILES = 29k-share/udi/udip2soc.c 29k-share/udi/udr.c \ 29k-share/udi/udi2go32.c \ a29k-tdep.c a68v-nat.c alpha-nat.c alpha-tdep.c \ - altos-xdep.c arm-convert.s \ - arm-tdep.c arm-xdep.c coff-solib.c \ - convex-tdep.c convex-xdep.c \ + arm-linux-nat.c arm-linux-tdep.c arm-tdep.c armnbsd-nat.c \ + armnbsd-tdep.c \ + avr-tdep.c \ + coff-solib.c \ core-sol2.c core-regset.c core-aout.c corelow.c \ dcache.c delta68-nat.c dpx2-nat.c dstread.c exec.c fork-child.c \ - go32-xdep.c gould-tdep.c gould-xdep.c h8300-tdep.c h8500-tdep.c \ - hp300ux-nat.c hppa-tdep.c hppab-nat.c hppah-nat.c \ - hp-psymtab-read.c hp-symtab-read.c \ - i386-tdep.c i386b-nat.c i386mach-nat.c i386v-nat.c \ + go32-nat.c h8300-tdep.c h8500-tdep.c \ + hp300ux-nat.c hppa-tdep.c hppab-nat.c hppah-nat.c hpread.c \ + i386-tdep.c i386b-nat.c i386mach-nat.c i386v-nat.c i386-linux-nat.c \ i386aix-nat.c i386m3-nat.c i386v4-nat.c i386ly-tdep.c \ - i387-tdep.c \ + i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c \ + i387-tdep.c i387-nat.c \ + i386-linux-tdep.c i386-nat.c \ i960-tdep.c \ - infptrace.c inftarg.c irix4-nat.c irix5-nat.c isi-xdep.c \ + ia64-linux-nat.c ia64-linux-tdep.c ia64-tdep.c \ + infptrace.c inftarg.c irix4-nat.c irix5-nat.c \ lynx-nat.c m3-nat.c \ + m68hc11-tdep.c \ m68k-tdep.c \ - m88k-nat.c m88k-tdep.c mac-nat.c mips-nat.c \ - mips-tdep.c mipsm3-nat.c mipsv4-nat.c news-xdep.c \ + m88k-nat.c m88k-tdep.c mac-nat.c \ + mcore-tdep.c \ + mips-linux-nat.c mips-linux-tdep.c \ + mips-nat.c \ + mips-tdep.c mipsm3-nat.c mipsv4-nat.c \ nindy-share/Onindy.c nindy-share/nindy.c \ nindy-share/ttyflush.c nindy-tdep.c \ - ns32k-tdep.c ns32km3-nat.c osfsolib.c \ + ns32k-tdep.c solib-osf.c \ somread.c somsolib.c $(HPREAD_SOURCE) \ - procfs.c pyr-tdep.c pyr-xdep.c \ + ppc-linux-nat.c ppc-linux-tdep.c \ + procfs.c \ remote-adapt.c remote-array.c remote-bug.c remote-e7000.c remote-eb.c \ remote-es.c remote-hms.c remote-mips.c \ remote-mm.c remote-nindy.c remote-os9k.c remote-rdp.c remote-sim.c \ remote-st.c remote-utils.c dcache.c \ remote-udi.c remote-vx.c remote-vx29k.c \ rs6000-nat.c rs6000-tdep.c \ - ser-go32.c ser-ocd.c ser-tcp.c sh-tdep.c solib.c sparc-nat.c \ - sparc-tdep.c sparcl-tdep.c sun3-nat.c sun386-nat.c \ + s390-tdep.c s390-nat.c \ + ser-go32.c ser-pipe.c ser-tcp.c \ + sh-tdep.c solib.c solib-svr4.c solib-sunos.c sparc-linux-nat.c \ + sparc-nat.c \ + sparc-tdep.c sparcl-tdep.c sun3-nat.c \ symm-tdep.c symm-nat.c \ - tahoe-tdep.c ultra3-nat.c ultra3-xdep.c umax-xdep.c \ vax-tdep.c \ vx-share/xdr_ld.c vx-share/xdr_ptrace.c vx-share/xdr_rdb.c \ win32-nat.c \ - xcoffread.c xcoffsolib.c z8k-tdep.c + xcoffread.c xcoffsolib.c \ + xstormy16-tdep.c \ + z8k-tdep.c udip2soc.o: $(srcdir)/29k-share/udi/udip2soc.c $(udiheaders) $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/29k-share/udi/udip2soc.c @@ -960,400 +1225,656 @@ udi2go32.o: $(srcdir)/29k-share/udi/udi2go32.c $(udiheaders) udr.o: $(srcdir)/29k-share/udi/udr.c $(udiheaders) $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/29k-share/udi/udr.c -a29k-tdep.o: a29k-tdep.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) +# OBSOLETE a29k-tdep.o: a29k-tdep.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) \ +# OBSOLETE $(regcache_h) -a68v-nat.o: a68v-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) +a68v-nat.o: a68v-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) \ + $(regcache_h) -alpha-nat.o: alpha-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) target.h +alpha-nat.o: alpha-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(target_h) \ + $(regcache_h) alpha-tdep.o: alpha-tdep.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) $(symtab_h) $(dis-asm.h) gdb_string.h + $(inferior_h) $(symtab_h) $(dis_asm_h) $(gdb_string_h) $(linespec_h) \ + $(regcache_h) $(doublest_h) + +annotate.o: annotate.c $(defs_h) $(annotate_h) $(value_h) $(target_h) $(gdbtypes_h) -altos-xdep.o: altos-xdep.c $(defs_h) $(gdbcore_h) $(inferior_h) +arm-linux-nat.o: arm-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \ + $(gdb_string_h) $(regcache_h) arm-tdep.h -annotate.o: annotate.c $(defs_h) annotate.h $(value_h) target.h $(gdbtypes_h) +arm-linux-tdep.o: arm-linux-tdep.c $(defs_h) $(target_h) $(value_h) \ + $(gdbtypes_h) $(floatformat_h) $(regcache_h) $(doublest_h) arm-tdep.h -arm-tdep.o: arm-tdep.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) \ +arm-tdep.o: arm-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(gdbcmd_h) \ + $(gdbcore_h) $(gdb_string_h) $(dis_asm_h) $(regcache_h) $(doublest_h) \ + $(value_h) $(arch_utils_h) $(solib_svr4_h) arm-tdep.h \ + $(BFD_SRC)/elf-bfd.h $(INCLUDE_DIR)/coff/internal.h \ + $(INCLUDE_DIR)/elf/arm.h + +armnbsd-nat.o: armnbsd-nat.c $(defs_h) arm-tdep.h $(inferior_h) $(regcache_h) \ $(gdbcore_h) -bcache.o: bcache.c bcache.h $(defs_h) +armnbsd-tdep.o: armnbsd-tdep.c $(defs_h) arm-tdep.h + +avr-tdep.o: avr-tdep.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) $(inferior_h) \ + $(symfile_h) $(regcache_h) $(arch_utils_h) + +bcache.o: bcache.c $(bcache_h) $(defs_h) blockframe.o: blockframe.c $(defs_h) $(gdbcore_h) $(inferior_h) \ - objfiles.h symfile.h target.h + $(objfiles_h) $(symfile_h) $(target_h) $(regcache_h) breakpoint.o: breakpoint.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) language.h target.h gdbthread.h gdb_string.h + $(inferior_h) $(language_h) $(target_h) $(gdbthread_h) \ + $(gdb_string_h) $(gdb_events_h) $(linespec_h) $(ui_out_h) \ + $(completer_h) $(gdb_h) -buildsym.o: buildsym.c $(bfd_h) buildsym.h complaints.h $(defs_h) \ - objfiles.h symfile.h $(symtab_h) gdb_string.h +buildsym.o: buildsym.c $(bfd_h) $(buildsym_h) $(complaints_h) $(defs_h) \ + $(objfiles_h) $(symfile_h) $(symtab_h) $(gdb_string_h) -c-lang.o: c-lang.c c-lang.h $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h parser-defs.h $(symtab_h) +c-lang.o: c-lang.c $(c_lang_h) $(defs_h) $(expression_h) $(gdbtypes_h) \ + $(language_h) $(parser_defs_h) $(symtab_h) -c-typeprint.o: c-typeprint.c c-lang.h $(defs_h) $(expression_h) \ - $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) language.h $(symtab_h) \ - target.h typeprint.h $(value_h) gdb_string.h +c-typeprint.o: c-typeprint.c $(c_lang_h) $(defs_h) $(expression_h) \ + $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) $(language_h) $(symtab_h) \ + $(target_h) $(typeprint_h) $(value_h) $(gdb_string_h) $(cp_abi_h) c-valprint.o: c-valprint.c $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h $(symtab_h) valprint.h $(value_h) + $(language_h) $(symtab_h) $(valprint_h) $(value_h) $(cp_abi_h) + +doublest.o: doublest.c $(defs_h) $(doublest_h) $(floatformat_h) $(gdbtypes_h) \ + gdb_assert.h gdb_string.h f-lang.o: f-lang.c f-lang.h $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h parser-defs.h $(symtab_h) gdb_string.h + $(language_h) $(parser_defs_h) $(symtab_h) $(gdb_string_h) f-typeprint.o: f-typeprint.c f-lang.h $(defs_h) $(expression_h) \ - $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) language.h $(symtab_h) \ - target.h typeprint.h $(value_h) gdb_string.h + $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) $(language_h) $(symtab_h) \ + $(target_h) $(typeprint_h) $(value_h) $(gdb_string_h) f-valprint.o: f-valprint.c $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h $(symtab_h) valprint.h $(value_h) gdb_string.h + $(language_h) $(symtab_h) $(valprint_h) $(value_h) $(gdb_string_h) -ch-exp.o: ch-exp.c ch-lang.h $(defs_h) language.h parser-defs.h $(bfd_h) symfile.h objfiles.h $(value_h) +ch-exp.o: ch-exp.c ch-lang.h $(defs_h) $(language_h) $(parser_defs_h) \ + $(bfd_h) $(symfile_h) $(objfiles_h) $(value_h) ch-lang.o: ch-lang.c ch-lang.h $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h parser-defs.h $(symtab_h) + $(language_h) $(parser_defs_h) $(symtab_h) ch-typeprint.o: ch-typeprint.c ch-lang.h $(defs_h) $(expression_h) \ - $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) language.h $(symtab_h) \ - target.h $(value_h) typeprint.h gdb_string.h + $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) $(language_h) $(symtab_h) \ + $(target_h) $(value_h) $(typeprint_h) $(gdb_string_h) ch-valprint.o: ch-valprint.c $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h $(symtab_h) valprint.h $(value_h) c-lang.h + $(language_h) $(symtab_h) $(valprint_h) $(value_h) $(c_lang_h) coff-solib.o: coff-solib.c $(defs_h) -coffread.o: coffread.c $(bfd_h) $(breakpoint_h) buildsym.h \ - complaints.h $(defs_h) $(expression_h) $(gdbtypes_h) objfiles.h \ - symfile.h $(symtab_h) gdb-stabs.h stabsread.h target.h \ - gdb_string.h - -command.o: command.c $(defs_h) $(expression_h) $(gdbcmd_h) \ - $(gdbtypes_h) $(symtab_h) $(value_h) gdb_string.h $(wait_h) +coffread.o: coffread.c $(bfd_h) $(breakpoint_h) $(buildsym_h) \ + $(complaints_h) $(defs_h) $(expression_h) $(gdbtypes_h) $(objfiles_h) \ + $(symfile_h) $(symtab_h) $(gdb_stabs_h) $(stabsread_h) $(target_h) \ + $(gdb_string_h) -complaints.o: complaints.c complaints.h $(defs_h) $(gdbcmd_h) +complaints.o: complaints.c $(complaints_h) $(defs_h) $(gdbcmd_h) -convex-tdep.o: convex-tdep.c $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(gdbcore_h) $(inferior_h) +# Provide explicit rule/dependency - works for more makes. +copying.o: $(srcdir)/copying.c $(defs_h) $(gdbcmd_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/copying.c -convex-xdep.o: convex-xdep.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) - -copying.o: copying.c $(defs_h) $(gdbcmd_h) - -core-aout.o: core-aout.c $(defs_h) $(gdbcore_h) $(value_h) $(inferior_h) +core-aout.o: core-aout.c $(defs_h) $(gdbcore_h) $(value_h) $(inferior_h) \ + $(regcache_h) core-sol2.o: core-sol2.c $(command_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) target.h gdb_string.h + $(inferior_h) $(target_h) $(gdb_string_h) $(regcache_h) core-regset.o: core-regset.c $(command_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) target.h gdb_string.h + $(inferior_h) $(target_h) $(gdb_string_h) -corefile.o: corefile.c $(dis-asm_h) $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) target.h language.h gdb_string.h +corefile.o: corefile.c $(dis_asm_h) $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ + $(inferior_h) $(target_h) $(language_h) $(gdb_string_h) \ + $(completer_h) $(symfile_h) corelow.o: corelow.c $(command_h) $(defs_h) $(gdbcore_h) $(inferior_h) \ - target.h gdbthread.h gdb_string.h + $(target_h) $(gdbthread_h) $(gdb_string_h) $(regcache_h) + +gcore.o: gcore.c $(defs_h) $(command_h) $(inferior_h) $(gdbcore_h) \ + $(BFD_SRC)/elf-bfd.h $(symfile_h) $(objfiles_h) + +linux-proc.o: linux-proc.c $(defs_h) $(inferior_h) $(gregset_h) \ + $(gdbcore_h) $(gdbthread_h) $(regcache_h) $(BFD_SRC)/elf-bfd.h + +cp-abi.o: cp-abi.c $(defs_h) $(value_h) $(cp_abi_h) cp-valprint.o: cp-valprint.c $(defs_h) $(expression_h) $(gdbcmd_h) \ - $(gdbtypes_h) $(symtab_h) $(value_h) gdb_string.h + $(gdbtypes_h) $(symtab_h) $(value_h) $(gdb_string_h) $(cp_abi_h) -dcache.o: dcache.c $(dcache_h) $(defs_h) $(gdbcmd_h) gdb_string.h $(gdbcore_h) +dcache.o: dcache.c $(dcache_h) $(defs_h) $(gdbcmd_h) $(gdb_string_h) \ + $(gdbcore_h) $(target_h) -dbxread.o: dbxread.c $(breakpoint_h) buildsym.h $(command_h) \ - complaints.h $(defs_h) $(expression_h) gdb-stabs.h $(gdbcore_h) \ - $(gdbtypes_h) language.h objfiles.h partial-stab.h stabsread.h \ - symfile.h $(symtab_h) target.h gdb_string.h +dbxread.o: dbxread.c $(breakpoint_h) $(buildsym_h) $(command_h) \ + $(complaints_h) $(defs_h) $(expression_h) $(gdb_stabs_h) $(gdbcore_h) \ + $(gdbtypes_h) $(language_h) $(objfiles_h) \ + $(stabsread_h) $(symfile_h) $(symtab_h) $(target_h) $(gdb_string_h) \ + $(cp_abi_h) delta68-nat.o: delta68-nat.c $(defs_h) -demangle.o: demangle.c $(defs_h) $(gdbcmd_h) gdb_string.h +demangle.o: demangle.c $(defs_h) $(gdbcmd_h) $(gdb_string_h) -dink32-rom.o: dink32-rom.c monitor.h $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) target.h serial.h terminal.h +dink32-rom.o: dink32-rom.c $(monitor_h) $(bfd_h) gdb_wait.h $(defs_h) \ + $(gdbcmd_h) $(inferior_h) $(target_h) $(serial_h) $(terminal_h) \ + $(symfile_h) $(regcache_h) -dpx2-nat.o: dpx2-nat.c $(defs_h) $(gdbcore_h) gdb_string.h +dpx2-nat.o: dpx2-nat.c $(defs_h) $(gdbcore_h) $(gdb_string_h) -dstread.o: dstread.c gdb_string.h +dstread.o: dstread.c $(gdb_string_h) -dwarfread.o: dwarfread.c $(bfd_h) buildsym.h complaints.h $(defs_h) \ - $(expression_h) $(gdbtypes_h) language.h objfiles.h symfile.h \ - $(symtab_h) gdb_string.h +dwarf2cfi.o: dwarf2cfi.c $(defs_h) $(symtab_h) $(symfile_h) $(objfiles_h) \ + $(target_h) $(inferior_h) $(regcache_h) $(dwarf2cfi_h) -dwarf2read.o: dwarf2read.c $(bfd_h) buildsym.h $(defs_h) \ - $(expression_h) $(gdbtypes_h) language.h objfiles.h symfile.h \ - $(symtab_h) gdb_string.h +dwarfread.o: dwarfread.c $(bfd_h) $(buildsym_h) $(complaints_h) $(defs_h) \ + $(expression_h) $(gdbtypes_h) $(language_h) $(objfiles_h) \ + $(symfile_h) $(symtab_h) $(gdb_string_h) -elfread.o: elfread.c $(bfd_h) buildsym.h complaints.h $(defs_h) \ - gdb-stabs.h objfiles.h symfile.h $(symtab_h) gdb_string.h \ +dwarf2read.o: dwarf2read.c $(bfd_h) $(buildsym_h) $(defs_h) \ + $(expression_h) $(gdbtypes_h) $(language_h) $(objfiles_h) \ + $(symfile_h) $(symtab_h) $(gdb_string_h) + +elfread.o: elfread.c $(bfd_h) $(buildsym_h) $(complaints_h) $(defs_h) \ + $(gdb_stabs_h) $(objfiles_h) $(symfile_h) $(symtab_h) $(gdb_string_h) \ $(BFD_SRC)/elf-bfd.h $(INCLUDE_DIR)/elf/mips.h -environ.o: environ.c $(defs_h) environ.h $(gdbcore_h) gdb_string.h +environ.o: environ.c $(defs_h) environ.h $(gdbcore_h) $(gdb_string_h) eval.o: eval.c $(bfd_h) $(defs_h) $(expression_h) $(frame_h) \ - $(gdbtypes_h) language.h $(symtab_h) target.h $(value_h) \ - gdb_string.h + $(gdbtypes_h) $(language_h) $(symtab_h) $(target_h) $(value_h) \ + $(gdb_string_h) $(cp_abi_h) -exec.o: exec.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) $(inferior_h) \ - target.h language.h gdb_string.h +event-loop.o: event-loop.c $(defs_h) $(top_h) $(event_loop_h) $(event_top_h) -expprint.o: expprint.c $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h parser-defs.h $(symtab_h) $(value_h) +event-top.o: event-top.c $(top_h) $(readline_headers) \ + $(defs_h) $(inferior_h) $(event_loop_h) $(event_top_h) $(terminal_h) \ + $(gdbcmd_h) $(target_h) -findvar.o: findvar.c $(defs_h) $(gdbcore_h) $(inferior_h) target.h \ - gdb_string.h +inf-loop.o: inf-loop.c $(defs_h) $(inferior_h) $(inf_loop_h) $(event_loop_h) \ + $(event_top_h) -fork-child.o: fork-child.c $(wait_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) target.h terminal.h gdbthread.h gdb_string.h +exec.o: exec.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) $(inferior_h) \ + $(target_h) $(language_h) $(gdb_string_h) $(completer_h) $(value_h) + +expprint.o: expprint.c $(defs_h) $(expression_h) $(gdbtypes_h) \ + $(language_h) $(parser_defs_h) $(symtab_h) $(value_h) + +findvar.o: findvar.c $(defs_h) $(gdbcore_h) $(inferior_h) $(target_h) \ + $(gdb_string_h) $(regcache_h) + +frame.o: frame.c $(defs_h) $(frame_h) $(target_h) $(value_h) $(inferior_h) \ + $(regcache_h) + +regcache.o: regcache.c $(defs_h) $(inferior_h) $(target_h) $(regcache_h) + +fork-child.o: fork-child.c gdb_wait.h $(defs_h) $(gdbcore_h) \ + $(inferior_h) $(target_h) $(terminal_h) $(gdbthread_h) $(gdb_string_h) + +install-gdbtk: + $(SHELL) $(srcdir)/../mkinstalldirs $(GDBTK_LIBRARY) ; \ + $(SHELL) $(srcdir)/../mkinstalldirs \ + $(GDBTK_LIBRARY)/images \ + $(GDBTK_LIBRARY)/images2 ; \ + $(SHELL) $(srcdir)/../mkinstalldirs $(GDBTK_LIBRARY)/help \ + $(GDBTK_LIBRARY)/help/images \ + $(GDBTK_LIBRARY)/help/trace ; \ + cd $(srcdir)/gdbtk/library ; \ + for i in *.tcl *.itcl *.ith *.itb images/*.gif images2/*.gif images/icons.txt images2/icons.txt tclIndex help/*.html help/trace/*.html help/trace/index.toc help/images/*.gif; \ + do \ + $(INSTALL_DATA) $$i $(GDBTK_LIBRARY)/$$i ; \ + done ; + +gdbres.o: $(srcdir)/gdbtk/gdb.rc $(srcdir)/gdbtk/gdbtool.ico + $(WINDRES) --include $(srcdir)/gdbtk $(srcdir)/gdbtk/gdb.rc gdbres.o + +gdbtk.o: $(srcdir)/gdbtk/generic/gdbtk.c \ + $(srcdir)/gdbtk/generic/gdbtk.h $(defs_h) \ + $(symtab_h) $(inferior_h) $(command_h) \ + $(bfd_h) $(symfile_h) $(objfiles_h) $(target_h) $(gdb_string_h) \ + $(tracepoint_h) $(top_h) + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) \ + $(ITK_CFLAGS) $(TIX_CFLAGS) \ + $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) $(GDBTK_CFLAGS)\ + $(srcdir)/gdbtk/generic/gdbtk.c \ + -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" -DSRC_DIR=\"$(GDBTK_SRC_DIR)\" + +gdbtk-bp.o: $(srcdir)/gdbtk/generic/gdbtk-bp.c \ + $(srcdir)/gdbtk/generic/gdbtk.h $(srcdir)/gdbtk/generic/gdbtk-cmds.h \ + $(defs_h) $(breakpoint_h) $(tracepoint_h) $(symfile_h) $(symtab_h) + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) \ + $(TIX_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ + $(GDBTK_CFLAGS) $(srcdir)/gdbtk/generic/gdbtk-bp.c \ + -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" + +gdbtk-cmds.o: $(srcdir)/gdbtk/generic/gdbtk-cmds.c \ + $(srcdir)/gdbtk/generic/gdbtk.h $(srcdir)/gdbtk/generic/gdbtk-cmds.h \ + $(defs_h) $(symtab_h) $(inferior_h) \ + $(command_h) $(bfd_h) $(top_h) $(symfile_h) $(objfiles_h) $(target_h) \ + $(gdb_string_h) $(tracepoint_h) $(source_h) $(regcache_h) + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) \ + $(TIX_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ + $(GDBTK_CFLAGS) $(srcdir)/gdbtk/generic/gdbtk-cmds.c \ + -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" + +gdbtk-hooks.o: $(srcdir)/gdbtk/generic/gdbtk-hooks.c \ + $(srcdir)/gdbtk/generic/gdbtk.h $(defs_h) \ + $(symtab_h) $(inferior_h) $(command_h) \ + $(bfd_h) $(symfile_h) $(objfiles_h) $(target_h) $(gdb_string_h) \ + $(tracepoint_h) + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) $(TIX_CFLAGS) \ + $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) $(GDBTK_CFLAGS)\ + $(srcdir)/gdbtk/generic/gdbtk-hooks.c -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" + +gdbtk-register.o: $(srcdir)/gdbtk/generic/gdbtk-register.c \ + $(srcdir)/gdbtk/generic/gdbtk.h $(srcdir)/gdbtk/generic/gdbtk-cmds.h \ + $(defs_h) $(frame_h) $(value_h) + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) \ + $(TIX_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ + $(GDBTK_CFLAGS) $(srcdir)/gdbtk/generic/gdbtk-register.c \ + -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" + +gdbtk-stack.o: $(srcdir)/gdbtk/generic/gdbtk-stack.c \ + $(srcdir)/gdbtk/generic/gdbtk.h $(srcdir)/gdbtk/generic/gdbtk-cmds.h \ + $(srcdir)/gdbtk/generic/gdbtk-wrapper.h \ + $(defs_h) $(frame_h) $(value_h) $(target_h) $(breakpoint_h) \ + $(linespec_h) + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) \ + $(TIX_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ + $(GDBTK_CFLAGS) $(srcdir)/gdbtk/generic/gdbtk-stack.c \ + -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" + +gdbtk-varobj.o: $(srcdir)/gdbtk/generic/gdbtk-varobj.c \ + $(srcdir)/gdbtk/generic/gdbtk.h \ + $(defs_h) $(value_h) $(varobj_h) + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) $(TIX_CFLAGS) \ + $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) $(GDBTK_CFLAGS)\ + $(srcdir)/gdbtk/generic/gdbtk-varobj.c + +gdbtk-wrapper.o: $(srcdir)/gdbtk/generic/gdbtk-wrapper.c \ + $(srcdir)/gdbtk/generic/gdbtk-wrapper.h + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(GDBTK_CFLAGS)\ + $(srcdir)/gdbtk/generic/gdbtk-wrapper.c + +v850ice.o: v850ice.c $(defs_h) $(symtab_h) $(inferior_h) $(command_h) \ + $(frame_h) $(breakpoint_h) $(gdbcore_h) $(value_h) $(symfile_h) \ + $(gdb_string_h) $(target_h) $(objfiles_h) $(regcache_h) + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) $(TIX_CFLAGS) \ + $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) $(GDBTK_CFLAGS)\ + $(srcdir)/v850ice.c + +v850-tdep.o: v850-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(obstack_h) \ + $(target_h) $(value_h) $(bfd_h) $(gdb_string_h) $(gdbcore_h) \ + $(symfile_h) $(arch_utils_h) $(regcache_h) tracepoint.o: tracepoint.c $(defs_h) $(symtab_h) $(frame_h) $(tracepoint_h) \ - $(gdbtypes_h) $(expression_h) $(gdbcmd_h) $(value_h) target.h \ - language.h gdb_string.h $(readline_headers) + $(gdbtypes_h) $(expression_h) $(gdbcmd_h) $(value_h) $(target_h) \ + $(language_h) $(gdb_string_h) $(readline_headers) $(remote_h) \ + $(linespec_h) $(regcache_h) $(completer_h) gdbarch.o: gdbarch.c $(defs_h) $(bfd_h) $(gdbcmd_h) -gdbtypes.o: gdbtypes.c $(bfd_h) complaints.h $(defs_h) $(expression_h) \ - $(gdbtypes_h) language.h objfiles.h symfile.h $(symtab_h) target.h \ - $(value_h) gdb_string.h +arch-utils.o: arch-utils.c $(defs_h) $(bfd_h) $(gdbcmd_h) \ + $(arch_utils_h) gdb_assert.h -gnu-nat.o: process_reply_S.h exc_request_S.h notify_S.h msg_reply_S.h \ - exc_request_U.h msg_U.h gnu-nat.h +gdbtypes.o: gdbtypes.c $(bfd_h) $(complaints_h) $(defs_h) $(expression_h) \ + $(gdbtypes_h) $(language_h) $(objfiles_h) $(symfile_h) $(symtab_h) \ + $(target_h) $(value_h) $(gdb_string_h) $(wrapper_h) $(cp_abi_h) -go32-xdep.o: go32-xdep.c +go32-nat.o: go32-nat.c $(defs_h) $(inferior_h) gdb_wait.h $(gdbcore_h) \ + $(command_h) $(floatformat_h) $(target_h) i387-nat.h $(regcache_h) -# OBSOLETE gould-tdep.o: gould-tdep.c $(OP_INCLUDE)/np1.h $(defs_h) $(frame_h) \ -# OBSOLETE $(gdbcore_h) $(symtab_h) +gnu-nat.o: process_reply_S.h exc_request_S.h notify_S.h msg_reply_S.h \ + exc_request_U.h msg_U.h gnu-nat.h -# OBSOLETE gould-xdep.o: gould-xdep.c $(defs_h) $(gdbcore_h) $(inferior_h) +gnu-v2-abi.o: gnu-v2-abi.c $(defs_h) $(gdb_string_h) $(symtab_h) \ + $(gdbtypes_h) $(value_h) $(demangle_h) $(cp_abi_h) -h8300-tdep.o: h8300-tdep.c $(defs_h) $(frame_h) $(symtab_h) +gnu-v3-abi.o: gnu-v2-abi.c $(defs_h) $(value_h) $(cp_abi_h) $(demangle_h) + +h8300-tdep.o: h8300-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(regcache_h) -h8500-tdep.o: h8500-tdep.c $(bfd_h) $(dis-asm_h) $(defs_h) \ +h8500-tdep.o: h8500-tdep.c $(bfd_h) $(dis_asm_h) $(defs_h) \ $(expression_h) $(frame_h) $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) \ - $(value_h) + $(value_h) $(regcache_h) + +hp300ux-nat.o: hp300ux-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(regcache_h) -hp300ux-nat.o: hp300ux-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) +hpacc-abi.o: hpacc-abi.c $(defs_h) $(cp_abi_h) $(gdb_string_h) $(gdbtypes_h) \ + $(value_h) $(gdbcore_h) -hppa-tdep.o: hppa-tdep.c $(wait_h) $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) objfiles.h symfile.h target.h +hppa-tdep.o: hppa-tdep.c gdb_wait.h $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ + $(inferior_h) $(objfiles_h) $(symfile_h) $(target_h) $(regcache_h) \ + $(completer_h) -hppab-nat.o: hppab-nat.c $(bfd_h) $(defs_h) $(inferior_h) target.h +hppab-nat.o: hppab-nat.c $(bfd_h) $(defs_h) $(inferior_h) $(target_h) \ + $(regcache_h) -hppah-nat.o: hppah-nat.c $(bfd_h) $(defs_h) $(inferior_h) target.h +hppah-nat.o: hppah-nat.c $(bfd_h) $(defs_h) $(inferior_h) $(target_h) \ + $(regcache_h) i386gnu-nat.o: gnu-nat.h -i386-tdep.o: i386-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) target.h \ - gdb_string.h +i386-tdep.o: i386-tdep.c $(defs_h) $(gdb_string_h) $(frame_h) \ + $(inferior_h) $(gdbcore_h) $(target_h) $(floatformat_h) \ + $(symtab_h) $(gdbcmd_h) $(command_h) $(arch_utils_h) $(regcache_h) \ + $(doublest_h) $(value_h) + +i386-nat.o: i386-nat.c $(defs_h) $(breakpoint_h) $(command_h) $(gdbcmd_h) i386aix-nat.o: i386aix-nat.c $(defs_h) $(frame_h) $(inferior_h) \ - language.h $(gdbcore_h) $(floatformat_h) target.h + $(language_h) $(gdbcore_h) $(floatformat_h) $(target_h) $(regcache_h) + +i386b-nat.o: i386b-nat.c $(defs_h) $(regcache_h) -i386b-nat.o: i386b-nat.c $(defs_h) +i386bsd-tdep.o: i386bsd-tdep.c $(defs_h) $(frame_h) $(gdb_core_h) \ + $(regcache_h) -i386ly-nat.o: i386ly-nat.c $(defs_h) $(frame_h) $(inferior_h) target.h +i386bsd-nat.o: i386bsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) -i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(inferior_h) target.h $(gdbcore_h) +i386fbsd-nat.o: i386fbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) -i386m3-nat.o: i386m3-nat.c $(defs_h) $(inferior_h) $(floatformat_h) target.h +i386ly-nat.o: i386ly-nat.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) -i386mach-nat.o: i386mach-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) +i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \ + $(regcache_h) + +i386m3-nat.o: i386m3-nat.c $(defs_h) $(inferior_h) $(floatformat_h) $(target_h) \ + $(regcache_h) + +i386mach-nat.o: i386mach-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) \ + $(regcache_h) i386v-nat.o: i386v-nat.c $(floatformat_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) language.h target.h + $(inferior_h) $(language_h) $(target_h) + +i386-linux-nat.o: i386-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \ + $(symtab_h) $(symfile_h) $(objfiles_h) $(regcache_h) -i386v4-nat.o: i386v4-nat.c $(defs_h) +i386-linux-tdep.o: i386-linux-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \ + $(value_h) $(regcache_h) + +i386v4-nat.o: i386v4-nat.c $(defs_h) $(regcache_h) i387-tdep.o: i387-tdep.c $(floatformat_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) language.h + $(inferior_h) $(language_h) $(regcache_h) $(doublest_h) i386-tdep.h + +i387-nat.o: i387-nat.c $(defs_h) $(inferior_h) $(value_h) $(regcache_h) \ + i387-nat.h i960-tdep.o: i960-tdep.c $(floatformat_h) $(defs_h) $(expression_h) \ - $(frame_h) $(gdbtypes_h) $(symtab_h) $(value_h) $(gdbcore_h) + $(frame_h) $(gdbtypes_h) $(symtab_h) $(value_h) $(gdbcore_h) \ + $(regcache_h) + +ia64-linux-nat.o: ia64-linux-nat.c $(defs_h) $(inferior_h) $(target_h) \ + $(gdbcore_h) $(regcache_h) + +ia64-linux-tdep.o: ia64-linux-tdep.c $(defs_h) $(arch_utils_h) + +ia64-tdep.o: ia64-tdep.c $(defs_h) $(inferior_h) $(symfile_h) $(gdbcore_h) \ + $(arch_utils_h) $(floatformat_h) $(objfiles_h) $(value_h) \ + $(INCLUDE_DIR)/elf/common.h $(regcache_h) $(doublest_h) infcmd.o: infcmd.c $(defs_h) environ.h $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) target.h language.h gdb_string.h + $(inferior_h) $(target_h) $(language_h) $(symfile_h) $(gdb_string_h) \ + $(ui_out_h) $(completer_h) inflow.o: inflow.c $(bfd_h) $(command_h) $(defs_h) $(inferior_h) \ - signals.h target.h terminal.h gdbthread.h gdb_string.h + $(target_h) $(terminal_h) $(gdbthread_h) $(gdb_string_h) -infptrace.o: infptrace.c $(defs_h) $(gdbcore_h) $(inferior_h) target.h \ - gdb_string.h $(wait_h) $(command_h) +infptrace.o: infptrace.c $(defs_h) $(gdbcore_h) $(inferior_h) $(target_h) \ + $(gdb_string_h) gdb_wait.h $(command_h) $(regcache_h) -infrun.o: infrun.c $(wait_h) $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) target.h gdbthread.h gdb_string.h +infrun.o: infrun.c gdb_wait.h $(defs_h) $(gdbcmd_h) $(cli_script_h) \ + $(gdbcore_h) $(value_h) \ + $(inferior_h) $(target_h) $(gdbthread_h) $(gdb_string_h) $(event_loop_h) \ + $(event_top_h) $(regcache_h) -inftarg.o: inftarg.c $(wait_h) $(defs_h) $(gdbcore_h) $(inferior_h) \ - target.h terminal.h $(command_h) +inftarg.o: inftarg.c gdb_wait.h $(defs_h) $(gdbcore_h) $(inferior_h) \ + $(target_h) $(terminal_h) $(command_h) -irix4-nat.o: irix4-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) -irix5-nat.o: irix5-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) target.h \ - $(symtab_h) symfile.h objfiles.h $(command_h) $(frame_h) gnu-regex.h \ - language.h gdb_string.h - -isi-xdep.o: isi-xdep.c +irix4-nat.o: irix4-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(regcache_h) +irix5-nat.o: irix5-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(target_h) \ + $(symtab_h) $(symfile_h) $(objfiles_h) $(command_h) $(frame_h) \ + gdb_regex.h $(language_h) $(gdb_string_h) $(regcache_h) jv-lang.o: jv-lang.c $(bfd_h) $(defs_h) $(symtab_h) $(gdbtypes_h) \ - $(expression_h) parser-defs.h language.h symfile.h objfiles.h \ - gdb_string.h $(value_h) c-lang.h jv-lang.h $(gdbcore_h) + $(expression_h) $(parser_defs_h) $(language_h) $(symfile_h) \ + $(objfiles_h) $(gdb_string_h) $(value_h) $(c_lang_h) jv-lang.h \ + $(gdbcore_h) jv-typeprint.o: jv-typeprint.c $(bfd_h) $(defs_h) $(symtab_h) $(gdbtypes_h) \ - $(value_h) $(INCLUDE_DIR)/demangle.h jv-lang.h gdb_string.h \ - typeprint.h + $(value_h) $(demangle_h) jv-lang.h $(gdb_string_h) \ + $(typeprint_h) $(c_lang_h) $(cp_abi_h) jv-valprint.o: jv-valprint.c $(bfd_h) $(defs_h) $(symtab_h) $(gdbtypes_h) \ - $(expression_h) $(value_h) $(INCLUDE_DIR)/demangle.h valprint.h \ - language.h jv-lang.h c-lang.h + $(expression_h) $(value_h) $(demangle_h) $(valprint_h) \ + $(language_h) jv-lang.h $(c_lang_h) gdbcore.h $(annotate_h) + +kod.o: kod.c $(defs_h) $(command_h) $(gdbcmd_h) $(target_h) $(gdb_string_h) \ + kod.h + +kod-cisco.o: kod-cisco.c $(defs_h) $(gdb_string_h) kod.h language.o: language.c $(bfd_h) $(defs_h) $(expression_h) $(frame_h) \ - $(gdbcmd_h) $(gdbtypes_h) language.h parser-defs.h $(symtab_h) \ - target.h $(value_h) gdb_string.h + $(gdbcmd_h) $(gdbtypes_h) $(language_h) $(parser_defs_h) $(symtab_h) \ + $(target_h) $(value_h) $(gdb_string_h) lynx-nat.o: lynx-nat.c $(defs_h) $(frame_h) $(inferior_h) $(gdbcore_h) \ - target.h + $(target_h) $(regcache_h) m2-lang.o: m2-lang.c $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h m2-lang.h parser-defs.h $(symtab_h) + $(language_h) m2-lang.h $(parser_defs_h) $(symtab_h) m2-typeprint.o: m2-typeprint.c $(defs_h) $(expression_h) $(gdbcmd_h) \ - $(gdbcore_h) $(gdbtypes_h) language.h m2-lang.h $(symtab_h) target.h \ - $(value_h) gdb_string.h + $(gdbcore_h) $(gdbtypes_h) $(language_h) m2-lang.h $(symtab_h) \ + $(target_h) $(value_h) $(gdb_string_h) m2-valprint.o: m2-valprint.c $(defs_h) $(gdbtypes_h) $(symtab_h) \ - valprint.h m2-lang.h + $(valprint_h) m2-lang.h -m3-nat.o: m3-nat.c $(defs_h) $(inferior_h) $(value_h) language.h target.h \ - $(wait_h) $(gdbcmd_h) $(gdbcore_h) +m3-nat.o: m3-nat.c $(defs_h) $(inferior_h) $(value_h) $(language_h) \ + $(target_h) gdb_wait.h $(gdbcmd_h) $(gdbcore_h) $(regcache_h) -m68k-tdep.o: m68k-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(value_h) \ +p-lang.o: p-lang.c p-lang.h $(defs_h) $(expression_h) $(gdbtypes_h) \ + $(language_h) $(parser_defs_h) $(symtab_h) $(gdb_string_h) + +p-typeprint.o: p-typeprint.c p-lang.h $(defs_h) $(expression_h) \ + $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) $(language_h) $(symtab_h) \ + $(target_h) $(typeprint_h) $(value_h) $(gdb_string_h) + +p-valprint.o: p-valprint.c p-lang.h $(defs_h) $(expression_h) $(gdbtypes_h) \ + $(language_h) $(symtab_h) $(valprint_h) $(value_h) $(gdb_string_h) + +m68hc11-tdep.o: m68hc11-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(value_h) \ $(gdbcore_h) gdb_string.h -m68kly-nat.o: m68kly-nat.c $(defs_h) $(frame_h) $(inferior_h) target.h +m68k-tdep.o: m68k-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(value_h) \ + $(gdbcore_h) $(gdb_string_h) $(regcache_h) + +m68kly-nat.o: m68kly-nat.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) m68klinux-nat.o: m68klinux-nat.c $(defs_h) $(frame_h) $(inferior_h) \ - $(language_h) $(gdbcore_h) $(floatformat_h) target.h + $(language_h) $(gdbcore_h) $(floatformat_h) $(target_h) $(regcache_h) + +m88k-nat.o: m88k-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(regcache_h) + +m88k-tdep.o: m88k-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) $(regcache_h) -m88k-nat.o: m88k-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) +mac-nat.o: mac-nat.c $(defs_h) $(gdb_string_h) $(regcache_h) -m88k-tdep.o: m88k-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) +main.o: main.c $(top_h) $(defs_h) $(gdb_string_h) $(event_loop_h) \ + $(symfile_h) $(gdbcore_h) $(ui_out_h) -mac-nat.o: mac-nat.c $(defs_h) gdb_string.h +maint.o: maint.c $(defs_h) $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) \ + $(language_h) $(expression_h) $(objfiles_h) $(symfile_h) -main.o: main.c top.h $(defs_h) gdb_string.h +mcore-tdep.o: mcore-tdep.c $(defs_h) $(frame_h) $(gdbcmd_h) $(value_h) \ + $(symtab_h) $(symfile_h) $(gdbcore_h) $(inferior_h) -maint.o: maint.c $(defs_h) $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) language.h \ - $(expression_h) objfiles.h symfile.h +mcore-rom.o: mcore-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ + $(gdb_string_h) $(regcache_h) $(serial_h) -mdebugread.o: mdebugread.c buildsym.h complaints.h $(bfd_h) $(defs_h) \ - $(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) language.h \ - objfiles.h partial-stab.h stabsread.h symfile.h $(symtab_h) \ - gdb_string.h +mdebugread.o: mdebugread.c $(buildsym_h) $(complaints_h) $(bfd_h) $(defs_h) \ + $(expression_h) $(gdb_stabs_h) $(gdbcore_h) $(gdbtypes_h) \ + $(language_h) $(objfiles_h) $(stabsread_h) \ + $(symfile_h) $(symtab_h) $(gdb_string_h) -mipsm3-nat.o: mipsm3-nat.c $(defs_h) $(inferior_h) +mipsm3-nat.o: mipsm3-nat.c $(defs_h) $(inferior_h) $(regcache_h) -os9kread.o: os9kread.c buildsym.h complaints.h $(bfd_h) $(defs_h) \ - $(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) language.h \ - objfiles.h stabsread.h symfile.h $(symtab_h) \ - target.h gdb_string.h +# os9kread assumes that sizeof(char*) <= sizeof(int). This looses on +# 64 bit targets where often, sizeof(int)=4 but sizeof(char*)=9. +os9kread.o: os9kread.c $(buildsym_h) $(complaints_h) $(bfd_h) $(defs_h) \ + $(expression_h) $(gdb_stabs_h) $(gdbcore_h) $(gdbtypes_h) \ + $(language_h) $(objfiles_h) $(stabsread_h) $(symfile_h) \ + $(symtab_h) $(target_h) $(gdb_string_h) + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) \ + $(srcdir)/os9kread.c mem-break.o: mem-break.c $(defs_h) -minsyms.o: minsyms.c $(bfd_h) $(defs_h) objfiles.h symfile.h \ - $(symtab_h) gdb_string.h +memattr.o: memattr.c $(defs_h) $(command_h) $(gdbcmd_h) $(memattr_h) \ + $(target_h) $(value_h) $(language_h) $(gdb_string_h) -mips-nat.o: mips-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) +minsyms.o: minsyms.c $(bfd_h) $(defs_h) $(objfiles_h) $(symfile_h) \ + $(symtab_h) $(gdb_string_h) $(value_h) $(cp_abi_h) + +mips-linux-nat.o: mips-linux-nat.c $(defs_h) + +mips-linux-tdep.o: mips-linux-tdep.c $(defs_h) $(gdbcore_h) $(target_h) \ + solib-svr4.h + +mips-nat.o: mips-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(regcache_h) mips-tdep.o: mips-tdep.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) language.h objfiles.h symfile.h gdb_string.h + $(arch_utils_h) $(regcache_h) \ + $(inferior_h) $(language_h) $(objfiles_h) $(symfile_h) $(gdb_string_h) -mipsread.o: mipsread.c buildsym.h complaints.h $(bfd_h) $(defs_h) \ - $(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) language.h \ - objfiles.h partial-stab.h stabsread.h symfile.h $(symtab_h) \ - gdb_string.h +mipsread.o: mipsread.c $(buildsym_h) $(complaints_h) $(bfd_h) $(defs_h) \ + $(expression_h) $(gdb_stabs_h) $(gdbcore_h) $(gdbtypes_h) \ + $(language_h) $(objfiles_h) $(stabsread_h) $(symfile_h) $(symtab_h) \ + $(gdb_string_h) -mipsv4-nat.o: mipsv4-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) target.h +mipsv4-nat.o: mipsv4-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(target_h) \ + $(regcache_h) -monitor.o: monitor.c monitor.h $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) target.h serial.h terminal.h gdb_string.h +mn10300-tdep.o: mn10300-tdep.c $(defs_h) $(frame_h) $(inferior_h) \ + $(obstack_h) $(target_h) $(value_h) $(bfd_h) gdb_string.h \ + $(gdbcore_h) $(symfile_h) $(regcache_h) $(arch-utils.h) -news-xdep.o: news-xdep.c +monitor.o: monitor.c $(monitor_h) $(bfd_h) $(defs_h) $(gdbcmd_h) \ + $(inferior_h) $(target_h) $(serial_h) $(terminal_h) $(gdb_string_h) \ + $(regcache_h) -Onindy.o: nindy-share/Onindy.c $(wait_h) nindy-share/block_io.h \ +Onindy.o: nindy-share/Onindy.c gdb_wait.h nindy-share/block_io.h \ nindy-share/env.h $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/nindy-share/Onindy.c -nindy.o: nindy-share/nindy.c $(wait_h) nindy-share/block_io.h \ +nindy.o: nindy-share/nindy.c gdb_wait.h nindy-share/block_io.h \ nindy-share/env.h $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/nindy-share/nindy.c -nlmread.o: nlmread.c $(bfd_h) buildsym.h complaints.h $(defs_h) \ - gdb-stabs.h objfiles.h symfile.h $(symtab_h) stabsread.h \ - gdb_string.h - -ns32km3-nat.o: ns32km3-nat.c $(defs_h) $(inferior_h) +nlmread.o: nlmread.c $(bfd_h) $(buildsym_h) $(complaints_h) $(defs_h) \ + $(gdb_stabs_h) $(objfiles_h) $(symfile_h) $(symtab_h) $(stabsread_h) \ + $(gdb_string_h) ttyflush.o: nindy-share/ttyflush.c $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/nindy-share/ttyflush.c nindy-tdep.o: nindy-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(gdbcore_h) -ns32k-tdep.o: ns32k-tdep.c $(bfd_h) $(dis-asm_h) $(defs_h) +ns32k-tdep.o: ns32k-tdep.c $(bfd_h) $(dis_asm_h) $(defs_h) + +objfiles.o: objfiles.c $(bfd_h) $(defs_h) $(objfiles_h) $(symfile_h) \ + $(symtab_h) $(gdb_string_h) $(breakpoint_h) -objfiles.o: objfiles.c $(bfd_h) $(defs_h) objfiles.h symfile.h \ - $(symtab_h) gdb_string.h +solib-osf.o: solib-osf.c $(defs_h) $(inferior_h) $(symtab_h) $(objfiles_h) \ + $(symfile_h) $(target_h) $(gdb_string_h) $(solist_h) -osfsolib.o: osfsolib.c $(command_h) $(defs_h) $(gdbcore_h) $(inferior_h) \ - objfiles.h gnu-regex.h symfile.h target.h language.h gdb_string.h +somread.o: somread.c $(bfd_h) $(buildsym_h) $(complaints_h) $(defs_h) \ + $(gdb_stabs_h) $(objfiles_h) $(symfile_h) $(symtab_h) $(gdb_string_h) -somread.o: somread.c $(bfd_h) buildsym.h complaints.h $(defs_h) \ - gdb-stabs.h objfiles.h symfile.h $(symtab_h) gdb_string.h +somsolib.o: somsolib.c $(defs_h) $(regcache_h) -somsolib.o: somsolib.c $(defs_h) +pa64solib.o: pa64solib.c $(defs_h) $(regcache_h) -hpux-thread.o: hpux-thread.c $(defs_h) gdbthread.h target.h inferior.h +hpux-thread.o: hpux-thread.c $(defs_h) $(gdbthread_h) $(target_h) inferior.h \ + $(regcache_h) $(CC) -c $(INTERNAL_CFLAGS) -I$(srcdir)/osf-share \ -I$(srcdir)/osf-share/HP800 -I/usr/include/dce $(srcdir)/hpux-thread.c -# FIXME!!! -hpread.o: hpread.c $(bfd_h) buildsym.h complaints.h $(defs_h) \ - gdb-stabs.h objfiles.h symfile.h $(symtab_h) gdb_string.h - -hp-psymtab-read.o: hp-psymtab-read.c hpread.h $(bfd_h) buildsym.h complaints.h \ - $(defs_h) gdb-stabs.h objfiles.h symfile.h $(symtab_h) gdb_string.h - -hp-symtab-read.o: hp-symtab-read.c hpread.h $(bfd_h) buildsym.h complaints.h \ - $(defs_h) gdb-stabs.h objfiles.h symfile.h $(symtab_h) gdb_string.h -# END FIXME!!! +hpread.o: hpread.c $(bfd_h) $(buildsym_h) $(complaints_h) $(defs_h) \ + $(demangle_h) $(gdb_stabs_h) $(gdbtypes_h) $(objfiles_h) \ + $(symfile_h) $(syms_h) $(symtab_h) $(gdb_string_h) \ + $(INCLUDE_DIR)/hp-symtab.h parse.o: parse.c $(command_h) $(defs_h) $(expression_h) $(frame_h) \ - $(gdbtypes_h) language.h parser-defs.h $(symtab_h) $(value_h) \ - gdb_string.h + $(gdbtypes_h) $(language_h) $(parser_defs_h) $(symtab_h) $(value_h) \ + $(gdb_string_h) $(linespec_h) $(doublest_h) + +ppc-bdm.o: ppc-bdm.c $(defs_h) $(gdbcore_h) $(gdb_string_h) $(frame_h) \ + $(inferior_h) $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) \ + $(objfiles_h) $(gdb_stabs_h) $(serial_h) ocd.h $(regcache_h) -ppc-bdm.o: ppc-bdm.c $(defs_h) $(gdbcore_h) gdb_string.h $(frame_h) \ - $(inferior_h) $(bfd_h) symfile.h target.h $(wait_h) $(gdbcmd_h) \ - objfiles.h gdb-stabs.h serial.h ocd.h +ppc-linux-nat.o: ppc-linux-nat.c $(defs_h) $(gdbcore_h) $(frame_h) \ + $(inferior_h) $(target_h) $(regcache_h) ppc-tdep.h -ppcbug-rom.o: ppcbug-rom.c monitor.h $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) target.h serial.h terminal.h +ppc-linux-tdep.o: ppc-linux-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \ + $(target_h) ppc-tdep.h $(regcache_h) $(value_h) + +ppcbug-rom.o: ppcbug-rom.c $(monitor_h) $(bfd_h) gdb_wait.h $(defs_h) \ + $(gdbcmd_h) $(inferior_h) $(target_h) $(serial_h) $(terminal_h) \ + $(regcache_h) printcmd.o: printcmd.c $(breakpoint_h) $(defs_h) $(expression_h) \ - $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) language.h objfiles.h \ - symfile.h $(symtab_h) target.h gdb_string.h + $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) $(language_h) $(objfiles_h) \ + $(symfile_h) $(symtab_h) $(target_h) $(gdb_string_h) $(ui_out_h) \ + $(completer_h) +# FIXME: Procfs.o gets -Wformat errors because things like pid_t don't +# match output format strings. procfs.o: procfs.c $(command_h) $(defs_h) $(gdbcore_h) $(inferior_h) \ - target.h gdb_string.h + $(target_h) $(gdb_string_h) $(gdbthread_h) proc-utils.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) $(srcdir)/procfs.c + +proc-api.o: proc-api.c $(defs_h) $(gdbcmd_h) proc-utils.h $(completer_h) + +proc-events.o: proc-events.c $(defs_h) + +proc-flags.o: proc-flags.c $(defs_h) + +proc-why.o: proc-why.c $(defs_h) proc-utils.h + +sol-thread.o: sol-thread.c $(defs_h) $(gdbthread_h) $(target_h) $(inferior_h) \ + $(gdbcmd_h) $(regcache_h) + +linux-proc.o: linux-proc.c $(defs_h) -pyr-tdep.o: pyr-tdep.c $(defs_h) +thread-db.o: thread-db.c $(defs_h) gdb_assert.h gdb_proc_service.h \ + gdb_thread_db.h $(bfd_h) $(gdbthread_h) $(inferior_h) $(symfile_h) \ + $(objfiles_h) $(target_h) $(regcache_h) -pyr-xdep.o: pyr-xdep.c $(defs_h) $(gdbcore_h) $(inferior_h) +lin-lwp.o: lin-lwp.c $(defs_h) gdb_assert.h gdb_wait.h $(gdbthread_h) \ + $(inferior_h) $(target_h) $(gdbcmd_h) $(regcache_h) -gnu-regex.o: gnu-regex.c gnu-regex.h $(defs_h) gdb_string.h +proc-service.o: proc-service.c $(defs_h) $(inferior_h) gdb_proc_service.h \ + $(symtab_h) $(target_h) gregset.h -remote-adapt.o: remote-adapt.c $(wait_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) target.h terminal.h gdb_string.h +# OBSOLETE remote-adapt.o: remote-adapt.c $(defs_h) $(gdbcore_h) \ +# OBSOLETE $(inferior_h) $(target_h) $(terminal_h) $(gdb_string_h) $(regcache_h) -remote-array.o: remote-array.c $(wait_h) $(defs_h) $(gdbcore_h) target.h \ - gdb_string.h $(command_h) serial.h monitor.h $(remote_utils_h) +remote-array.o: remote-array.c $(defs_h) $(gdbcore_h) $(target_h) \ + $(gdb_string_h) $(command_h) $(serial_h) $(monitor_h) $(remote_utils_h) \ + $(version_h) $(regcache_h) -remote-rdi.o: remote-rdi.c $(wait_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) gdb_string.h +remote-rdi.o: remote-rdi.c $(defs_h) $(gdbcore_h) \ + $(inferior_h) $(gdb_string_h) $(completer_h) arm-tdep.h rdi-share/libangsd.a: force @dir=rdi-share; \ @@ -1365,218 +1886,265 @@ rdi-share/libangsd.a: force true; \ fi -remote-d10v.o: remote-d10v.c $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) $(remote_utils_h) symfile.h terminal.h gdb_string.h +remote-rdp.o: remote-rdp.c $(defs_h) $(gdbcore_h) \ + $(inferior_h) $(gdb_string_h) arm-tdep.h -remote-rdp.o: remote-rdp.c $(wait_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) gdb_string.h +remote-bug.o: remote-bug.c $(defs_h) $(gdbcore_h) $(serial_h) \ + $(inferior_h) $(target_h) $(terminal_h) $(remote_utils_h) \ + $(gdb_string_h) $(regcache_h) -remote-bug.o: remote-bug.c $(wait_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) target.h terminal.h $(remote_utils_h) gdb_string.h +remote-e7000.o: remote-e7000.c $(defs_h) $(gdbcore_h) $(target_h) \ + $(serial_h) $(gdb_string_h) $(regcache_h) -remote-e7000.o: remote-e7000.c $(defs_h) $(gdbcore_h) target.h \ - $(wait_h) serial.h gdb_string.h +# OBSOLETE remote-eb.o: remote-eb.c $(srcdir)/config/a29k/tm-a29k.h \ +# OBSOLETE $(defs_h) $(gdbcore_h) $(inferior_h) $(symfile_h) $(target_h) \ +# OBSOLETE $(terminal_h) $(gdb_string_h) $(regcache_h) -remote-eb.o: remote-eb.c $(wait_h) $(srcdir)/config/a29k/tm-a29k.h \ - $(defs_h) $(gdbcore_h) $(inferior_h) symfile.h target.h terminal.h \ - gdb_string.h +remote-es.o: remote-es.c $(bfd_h) $(command_h) $(defs_h) \ + $(inferior_h) $(remote_utils_h) $(terminal_h) $(gdb_string_h) \ + $(symfile_h) $(regcache_h) $(value_h) -remote-es.o: remote-es.c $(bfd_h) $(wait_h) $(command_h) $(defs_h) \ - $(inferior_h) $(remote_utils_h) terminal.h gdb_string.h +remote-est.o: remote-est.c $(defs_h) $(gdbcore_h) \ + $(inferior_h) $(serial_h) $(target_h) $(terminal_h) $(regcache_h) -remote-hms.o: remote-hms.c $(wait_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) serial.h target.h terminal.h gdb_string.h +remote-hms.o: remote-hms.c $(defs_h) $(gdbcore_h) \ + $(inferior_h) $(serial_h) $(target_h) $(terminal_h) $(regcache_h) -remote-mips.o: remote-mips.c $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(gdbcore_h) $(inferior_h) serial.h symfile.h target.h +remote-mips.o: remote-mips.c $(defs_h) $(gdbcmd_h) \ + $(gdbcore_h) $(inferior_h) $(serial_h) $(symfile_h) $(target_h) \ + $(regcache_h) -remote-mm.o: remote-mm.c $(bfd_h) $(wait_h) $(defs_h) $(inferior_h) \ - minimon.h target.h terminal.h gdb_string.h +# OBSOLETE remote-mm.o: remote-mm.c $(bfd_h) $(defs_h) $(inferior_h) \ +# OBSOLETE minimon.h $(target_h) $(terminal_h) $(gdb_string_h) $(regcache_h) -remote-nindy.o: remote-nindy.c $(floatformat_h) $(wait_h) $(command_h) \ +remote-nindy.o: remote-nindy.c $(floatformat_h) $(command_h) \ $(defs_h) $(gdbcore_h) $(inferior_h) \ nindy-share/env.h nindy-share/stop.h $(remote_utils_h) \ - symfile.h + $(symfile_h) $(regcache_h) -remote-os9k.o: remote-os9k.c $(defs_h) $(gdbcore_h) $(wait_h) \ - $(command_h) monitor.h $(remote_utils_h) $(symtab_h) symfile.h \ - objfiles.h gdb-stabs.h gdb_string.h +remote-os9k.o: remote-os9k.c $(defs_h) $(gdbcore_h) \ + $(command_h) $(monitor_h) $(remote_utils_h) $(symtab_h) $(symfile_h) \ + $(objfiles_h) $(gdb_stabs_h) $(gdb_string_h) $(regcache_h) -remote-sds.o: remote-sds.c $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) $(remote_utils_h) symfile.h terminal.h gdb_string.h +remote-sds.o: remote-sds.c $(bfd_h) $(defs_h) $(gdbcmd_h) \ + $(inferior_h) $(remote_utils_h) $(symfile_h) $(terminal_h) \ + $(gdb_string_h) $(regcache_h) -remote-sim.o: remote-sim.c $(wait_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) target.h terminal.h gdb_string.h \ - $(INCLUDE_DIR)/callback.h +remote-sim.o: remote-sim.c $(defs_h) $(gdbcore_h) \ + $(inferior_h) $(target_h) $(terminal_h) $(gdb_string_h) \ + $(INCLUDE_DIR)/callback.h $(regcache_h) -remote-st.o: remote-st.c $(wait_h) $(defs_h) $(gdbcore_h) serial.h \ - target.h gdb_string.h +remote-st.o: remote-st.c $(defs_h) $(gdbcore_h) $(serial_h) \ + $(target_h) $(gdb_string_h) $(regcache_h) -remote-udi.o: remote-udi.c $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) target.h terminal.h $(udiheaders) gdb_string.h +# OBSOLETE remote-udi.o: remote-udi.c $(bfd_h) $(defs_h) $(gdbcmd_h) \ +# OBSOLETE $(inferior_h) $(target_h) $(terminal_h) $(udiheaders) $(gdb_string_h) \ +# OBSOLETE $(regcache_h) -remote-vx.o: remote-vx.c $(wait_h) complaints.h $(defs_h) $(gdbcmd_h) \ - $(gdbcore_h) $(inferior_h) target.h vx-share/dbgRpcLib.h \ +remote-vx.o: remote-vx.c $(complaints_h) $(defs_h) $(gdbcmd_h) \ + $(gdbcore_h) $(inferior_h) $(target_h) vx-share/dbgRpcLib.h \ vx-share/ptrace.h vx-share/xdr_ld.h vx-share/xdr_ptrace.h \ - vx-share/xdr_rdb.h gdb-stabs.h objfiles.h symfile.h $(bfd_h) \ - gdb_string.h + vx-share/xdr_rdb.h $(gdb_stabs_h) $(objfiles_h) $(symfile_h) $(bfd_h) \ + $(gdb_string_h) $(regcache_h) -remote-vx29k.o: remote-vx29k.c $(wait_h) complaints.h $(defs_h) $(gdbcmd_h) \ - $(gdbcore_h) $(inferior_h) target.h vx-share/dbgRpcLib.h \ +remote-vx29k.o: remote-vx29k.c $(complaints_h) $(defs_h) $(gdbcmd_h) \ + $(gdbcore_h) $(inferior_h) $(target_h) vx-share/dbgRpcLib.h \ vx-share/ptrace.h vx-share/xdr_ld.h vx-share/xdr_ptrace.h \ - vx-share/xdr_rdb.h gdb_string.h + vx-share/xdr_rdb.h $(gdb_string_h) $(regcache_h) -ocd.o: ocd.c ocd.h $(gdbcore_h) gdb_string.h $(frame_h) $(inferior_h) \ - $(bfd_h) symfile.h target.h $(wait_h) $(gdbcmd_h) objfiles.h \ - gdb-stabs.h $(dcache_h) serial.h +ocd.o: ocd.c ocd.h $(gdbcore_h) $(gdb_string_h) $(frame_h) $(inferior_h) \ + $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) $(objfiles_h) \ + $(gdb_stabs_h) $(dcache_h) $(serial_h) $(regcache_h) remote-utils.o: remote-utils.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) \ - $(inferior_h) $(remote_utils_h) gdb_string.h + $(inferior_h) $(remote_utils_h) $(gdb_string_h) $(regcache_h) -remote.o: remote.c $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) $(remote_utils_h) symfile.h terminal.h gdb_string.h +remote.o: remote.c $(bfd_h) gdb_wait.h $(defs_h) $(gdbcmd_h) \ + $(inferior_h) $(remote_utils_h) $(symfile_h) $(terminal_h) \ + $(gdb_string_h) $(event_loop_h) $(event_top_h) $(remote_h) \ + $(inf_loop_h) $(value_h) -remote-nrom.o: remote-nrom.c $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) $(remote_utils_h) symfile.h terminal.h +remote-nrom.o: remote-nrom.c $(bfd_h) gdb_wait.h $(defs_h) $(gdbcmd_h) \ + $(inferior_h) $(remote_utils_h) $(symfile_h) $(terminal_h) -rom68k-rom.o: rom68k-rom.c monitor.h $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) target.h serial.h terminal.h +rom68k-rom.o: rom68k-rom.c $(monitor_h) $(bfd_h) gdb_wait.h $(defs_h) \ + $(gdbcmd_h) $(inferior_h) $(target_h) $(serial_h) $(terminal_h) \ + $(regcache_h) $(value_h) -rs6000-nat.o: rs6000-nat.c $(bfd_h) $(defs_h) $(inferior_h) target.h \ - xcoffsolib.h +rs6000-nat.o: rs6000-nat.c $(bfd_h) $(defs_h) $(inferior_h) $(target_h) \ + $(gdbcore_h) $(xcoffsolib_h) $(symfile_h) $(objfiles_h) \ + $(gdb_stabs_h) $(regcache_h) $(arch_utils_h) rs6000-tdep.o: rs6000-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \ - target.h xcoffsolib.h + $(target_h) ppc-tdep.h $(regcache_h) $(value_h) $(parser_defs_h) -scm-exp.o: $(defs_h) $(value_h) parser-defs.h language.h c-lang.h \ - scm-lang.h scm-tags.h +s390-tdep.o: s390-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) $(inferior_h) \ + $(symtab_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(symfile_h) \ + $(objfiles_h) $(bfd_h) $(floatformat_h) $(regcache_h) $(value_h) + +s390-nat.o: s390-nat.c $(defs_h) $(regcache_h) -scm-lang.o: $(defs_h) $(value_h) parser-defs.h language.h c-lang.h \ - scm-lang.h scm-tags.h gdb_string.h $(gdbcore_h) +scm-exp.o: $(defs_h) $(value_h) $(parser_defs_h) $(language_h) $(c_lang_h) \ + scm-lang.h scm-tags.h -scm-valprint.o: $(defs_h) $(value_h) parser-defs.h language.h \ - scm-lang.h valprint.h $(gdbcore_h) +scm-lang.o: $(defs_h) $(value_h) $(parser_defs_h) $(language_h) $(c_lang_h) \ + scm-lang.h scm-tags.h $(gdb_string_h) $(gdbcore_h) -ser-go32.o: ser-go32.c $(defs_h) serial.h +scm-valprint.o: $(defs_h) $(value_h) $(parser_defs_h) $(language_h) \ + scm-lang.h $(valprint_h) $(gdbcore_h) -ser-mac.o: ser-mac.c $(defs_h) serial.h signals.h +ser-go32.o: ser-go32.c $(defs_h) $(serial_h) -ser-ocd.o: ser-ocd.c $(defs_h) serial.h signals.h gdb_string.h +ser-pipe.o: ser-pipe.c $(defs_h) $(serial_h) $(gdb_string_h) $(ser_unix_h) -ser-tcp.o: ser-tcp.c $(defs_h) serial.h signals.h gdb_string.h +ser-tcp.o: ser-tcp.c $(defs_h) $(serial_h) $(gdb_string_h) $(ser_unix_h) -ser-unix.o: ser-unix.c $(defs_h) serial.h +ser-unix.o: ser-unix.c $(defs_h) $(serial_h) $(ser_unix_h) -serial.o: serial.c $(defs_h) serial.h gdb_string.h +serial.o: serial.c $(defs_h) $(serial_h) $(gdb_string_h) -sh-tdep.o: sh-tdep.c $(bfd_h) $(dis-asm_h) \ +sh-tdep.o: sh-tdep.c $(bfd_h) $(dis_asm_h) \ $(srcdir)/../opcodes/sh-opc.h $(defs_h) $(expression_h) $(frame_h) \ - $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) $(value_h) + $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) $(value_h) $(arch_utils_h) \ + $(regcache_h) $(doublest_h) -sh3-rom.o: sh3-rom.c monitor.h $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) target.h serial.h terminal.h +sh3-rom.o: sh3-rom.c $(monitor_h) $(bfd_h) gdb_wait.h $(defs_h) $(gdbcmd_h) \ + $(inferior_h) $(target_h) $(serial_h) $(terminal_h) $(arch_utils_h) \ + $(regcache_h) -mon960-rom.o: mon960-rom.c monitor.h $(bfd_h) $(wait_h) $(defs_h) $(gdbcmd_h) \ - $(inferior_h) target.h serial.h terminal.h +signals.o: signals.c $(defs_h) $(target_h) + +mon960-rom.o: mon960-rom.c $(monitor_h) $(bfd_h) gdb_wait.h $(defs_h) \ + $(gdbcmd_h) $(inferior_h) $(target_h) $(serial_h) $(terminal_h) solib.o: solib.c $(command_h) $(defs_h) $(gdbcore_h) $(inferior_h) \ - objfiles.h gnu-regex.h symfile.h target.h gdb_string.h + $(objfiles_h) gdb_regex.h $(symfile_h) $(target_h) $(gdb_string_h) \ + $(solist_h) $(completer_h) + +solib-sunos.o: solib-sunos.c $(defs_h) $(symfile_h) $(objfiles_h) \ + $(gdbcore_h) $(inferior_h) $(solist_h) + +solib-svr4.o: solib-svr4.c $(defs_h) $(gdbcore_h) $(inferior_h) $(objfiles_h) \ + $(symfile_h) $(target_h) $(solist_h) solib-svr4.h + +solib-legacy.o: solib-legacy.c $(defs_h) $(gdbcore_h) solib-svr4.h source.o: source.c $(defs_h) $(expression_h) $(frame_h) $(gdbcmd_h) \ - $(gdbcore_h) language.h objfiles.h gnu-regex.h symfile.h $(symtab_h) \ - gdb_string.h + $(gdbcore_h) $(language_h) $(objfiles_h) gdb_regex.h $(symfile_h) \ + $(symtab_h) $(gdb_string_h) $(source_h) $(completer_h) $(linespec_h) \ + $(ui_out_h) + +sparc-linux-nat.o: sparc-linux-nat.c $(defs_h) $(regcache_h) sparc-nat.o: sparc-nat.c $(bfd_h) $(defs_h) $(inferior_h) $(gdbcore_h) \ - target.h + $(target_h) $(regcache_h) sparc-tdep.o: sparc-tdep.c $(floatformat_h) $(defs_h) $(gdbcore_h) \ - $(inferior_h) objfiles.h symfile.h target.h gdb_string.h + $(inferior_h) $(objfiles_h) $(symfile_h) $(target_h) $(gdb_string_h) \ + $(arch_utils_h) $(regcache_h) -sparcl-tdep.o: sparcl-tdep.c $(defs_h) $(gdbcore_h) target.h +sparcl-tdep.o: sparcl-tdep.c $(defs_h) $(gdbcore_h) $(target_h) $(regcache_h) + +xstormy16-tdep.o: xstormy16-tdep.c $(defs_h) $(value_h) $(inferior_h) \ + $(symfile_h) $(arch_utils_h) $(regcache_h) $(gdbcore_h) dsrec.o: dsrec.c $(defs_h) srec.h stabsread.o: stabsread.c $(bfd_h) $(INCLUDE_DIR)/aout/stab.def \ - $(INCLUDE_DIR)/aout/stab_gnu.h buildsym.h complaints.h $(defs_h) \ - $(gdbtypes_h) objfiles.h stabsread.h symfile.h $(symtab_h) \ - gdb_string.h + $(INCLUDE_DIR)/aout/stab_gnu.h $(buildsym_h) $(complaints_h) \ + $(defs_h) $(gdbtypes_h) $(objfiles_h) $(stabsread_h) $(symfile_h) \ + $(symtab_h) $(gdb_string_h) $(doublest_h) stack.o: stack.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) $(inferior_h) \ - language.h target.h gdb_string.h + $(language_h) $(target_h) $(gdb_string_h) $(ui_out_h) -ax-general.o: ax-general.c $(ax_h) $(defs_h) -ax-gdb.o: ax-gdb.c $(defs_h) $(symtab_h) symfile.h $(gdbtypes_h) \ - $(value_h) $(expression_h) $(command_h) $(ax_h) $(gdbcmd_h) ax-gdb.h +ui-file.o: ui-file.c $(defs_h) ui-file.h +tui-file.o: $(srcdir)/tui/tui-file.c $(defs_h) $(srcdir)/tui/tui-file.h \ + $(srcdir)/tui/tuiIO.h + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-file.c -sun3-nat.o: sun3-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) +ax-general.o: ax-general.c $(ax_h) $(defs_h) $(value_h) +ax-gdb.o: ax-gdb.c $(defs_h) $(symtab_h) $(symfile_h) $(gdbtypes_h) \ + $(value_h) $(expression_h) $(command_h) $(ax_h) $(gdbcmd_h) ax-gdb.h -sun386-nat.o: sun386-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) +sun3-nat.o: sun3-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(regcache_h) -symfile.o: symfile.c $(breakpoint_h) complaints.h $(defs_h) \ - $(expression_h) $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) \ - language.h objfiles.h symfile.h $(symtab_h) target.h \ - gdb_string.h +symfile.o: symfile.c $(breakpoint_h) $(complaints_h) $(defs_h) \ + $(expression_h) $(gdb_stabs_h) $(gdbcmd_h) $(gdbcore_h) \ + $(gdbtypes_h) $(language_h) $(objfiles_h) $(symfile_h) $(symtab_h) \ + $(target_h) $(gdb_string_h) $(completer_h) symm-tdep.o: symm-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) -symm-nat.o: symm-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) +symm-nat.o: symm-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(regcache_h) symmisc.o: symmisc.c $(bfd_h) $(breakpoint_h) $(command_h) $(defs_h) \ - $(expression_h) $(gdbtypes_h) language.h objfiles.h symfile.h \ - $(symtab_h) gdb_string.h + $(expression_h) $(gdbtypes_h) $(language_h) $(objfiles_h) \ + $(symfile_h) $(symtab_h) $(gdb_string_h) -symtab.o: symtab.c call-cmds.h $(defs_h) $(expression_h) $(frame_h) \ - $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) language.h objfiles.h \ - gnu-regex.h symfile.h $(symtab_h) target.h $(value_h) \ - gdb_string.h +symtab.o: symtab.c $(call_cmds_h) $(defs_h) $(expression_h) $(frame_h) \ + $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) $(language_h) $(objfiles_h) \ + gdb_regex.h $(symfile_h) $(symtab_h) $(target_h) $(value_h) \ + $(gdb_string_h) $(linespec_h) $(cp_abi_h) -tahoe-tdep.o: tahoe-tdep.c $(OP_INCLUDE)/tahoe.h $(defs_h) \ - $(symtab_h) +linespec.o: linespec.c $(linespec_h) $(defs_h) $(frame_h) $(value_h) \ + $(objfiles_h) $(symfile_h) $(completer_h) $(symtab_h) \ + $(demangle_h) $(command_h) $(cp_abi_h) target.o: target.c $(bfd_h) $(defs_h) $(gdbcmd_h) $(inferior_h) \ - objfiles.h symfile.h target.h gdb_string.h - -thread.o: thread.c $(defs_h) gdbthread.h $(gdbcmd_h) + $(objfiles_h) $(symfile_h) $(target_h) $(gdb_string_h) $(regcache_h) -top.o: top.c top.h $(bfd_h) $(getopt_h) $(readline_headers) call-cmds.h \ - $(defs_h) $(gdbcmd_h) $(inferior_h) language.h signals.h \ - $(remote_utils_h) gdb_string.h +thread.o: thread.c $(defs_h) $(gdbthread_h) $(gdbcmd_h) $(target_h) \ + $(regcache_h) $(ui_out_h) $(gdb_h) -typeprint.o: typeprint.c $(defs_h) $(expression_h) $(gdbcmd_h) \ - $(gdbcore_h) $(gdbtypes_h) language.h $(symtab_h) target.h \ - $(value_h) gdb_string.h +completer.o: completer.c $(completer_h) $(gdbtypes_h) $(symtab_h) \ + $(defs_h) $(gdbcmd_h) $(expression_h) $(readline_headers) -ultra3-nat.o: ultra3-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) +top.o: top.c $(top_h) $(bfd_h) $(getopt_h) $(readline_headers) $(call_cmds_h) \ + $(cli_cmds_h) $(cli_script_h) $(cli_setshow_h) \ + $(defs_h) $(gdbcmd_h) $(inferior_h) $(language_h) \ + $(remote_utils_h) $(gdb_string_h) $(event_loop_h) $(event_top_h) \ + $(completer_h) $(version_h) $(ui_out_h) $(doublest_h) \ + $(serial_h) -ultra3-xdep.o: ultra3-xdep.c $(defs_h) $(gdbcore_h) $(inferior_h) - -umax-xdep.o: umax-xdep.c $(defs_h) $(gdbcore_h) $(inferior_h) +typeprint.o: typeprint.c $(defs_h) $(expression_h) $(gdbcmd_h) \ + $(gdbcore_h) $(gdbtypes_h) $(language_h) $(symtab_h) $(target_h) \ + $(value_h) $(gdb_string_h) $(cp_abi_h) utils.o: utils.c $(bfd_h) $(defs_h) $(expression_h) $(gdbcmd_h) \ - language.h signals.h target.h terminal.h $(readline_headers) \ - gdb_string.h + $(language_h) $(target_h) $(terminal_h) $(readline_headers) \ + $(gdb_string_h) $(event_loop_h) $(event_top_h) valarith.o: valarith.c $(bfd_h) $(defs_h) $(expression_h) \ - $(gdbtypes_h) language.h $(symtab_h) target.h $(value_h) \ - gdb_string.h + $(gdbtypes_h) $(language_h) $(symtab_h) $(target_h) $(value_h) \ + $(gdb_string_h) $(doublest_h) -valops.o: valops.c $(defs_h) $(gdbcore_h) $(inferior_h) target.h \ - gdb_string.h +valops.o: valops.c $(defs_h) $(gdbcore_h) $(inferior_h) $(target_h) \ + $(gdb_string_h) $(regcache_h) $(cp_abi_h) valprint.o: valprint.c $(defs_h) $(expression_h) $(gdbcmd_h) \ - $(gdbcore_h) $(gdbtypes_h) language.h $(symtab_h) target.h \ - $(value_h) gdb_string.h valprint.h + $(gdbcore_h) $(gdbtypes_h) $(language_h) $(symtab_h) $(target_h) \ + $(value_h) $(gdb_string_h) $(valprint_h) $(doublest_h) values.o: values.c $(defs_h) $(expression_h) $(frame_h) $(gdbcmd_h) \ - $(gdbcore_h) $(gdbtypes_h) $(symtab_h) target.h $(value_h) \ - gdb_string.h scm-lang.h + $(gdbcore_h) $(gdbtypes_h) $(symtab_h) $(target_h) $(value_h) \ + $(gdb_string_h) scm-lang.h $(doublest_h) vax-tdep.o: vax-tdep.c $(OP_INCLUDE)/vax.h $(defs_h) $(symtab_h) -w65-tdep.o : w65-tdep.c $(gdbcore_h) +x86-64-linux-tdep.o : x86-64-linux-tdep.c $(defs_h) $(inferior_h) \ + $(gdbcore_h) $(regcache_h) x86-64-tdep.h i386-tdep.h $(dwarf2cfi_h) + +x86-64-tdep.o : x86-64-tdep.c $(defs_h) $(inferior_h) $(gdbcore_h) $(gdbcmd_h) \ + $(arch_utils_h) $(regcache_h) $(symfile_h) x86-64-tdep.h i386-tdep.h \ + $(dwarf2cfi_h) gdb_assert.h + +x86-64-linux-nat.o : x86-64-linux-nat.c $(defs_h) $(inferior_h) \ + $(gdbcore_h) $(regcache_h) i387-nat.h gdb_assert.h x86-64-tdep.h \ + i386-tdep.h win32-nat.o: win32-nat.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) \ - gdb_string.h + $(gdb_string_h) $(regcache_h) $(completer_h) xdr_ld.o: vx-share/xdr_ld.c $(defs_h) vx-share/vxTypes.h \ vx-share/vxWorks.h vx-share/xdr_ld.h @@ -1592,28 +2160,189 @@ xdr_rdb.o: vx-share/xdr_rdb.c $(defs_h) vx-share/vxTypes.h \ xcoffread.o: xcoffread.c $(bfd_h) $(INCLUDE_DIR)/aout/stab.def \ $(INCLUDE_DIR)/aout/stab_gnu.h $(INCLUDE_DIR)/coff/internal.h \ - $(INCLUDE_DIR)/coff/rs6000.h $(BFD_SRC)/libcoff.h buildsym.h \ - complaints.h $(defs_h) $(gdbtypes_h) objfiles.h stabsread.h symfile.h \ - $(symtab_h) partial-stab.h gdb_string.h - -xcoffsolib.o: xcoffsolib.c $(bfd_h) $(defs_h) xcoffsolib.h - -z8k-tdep.o: z8k-tdep.c $(bfd_h) $(dis-asm_h) $(defs_h) $(frame_h) \ - $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) $(gdbcore_h) - -c-exp.tab.o: c-exp.tab.c c-lang.h $(defs_h) $(expression_h) \ - $(gdbtypes_h) language.h parser-defs.h $(symtab_h) $(value_h) \ - $(bfd_h) objfiles.h symfile.h + $(INCLUDE_DIR)/coff/rs6000.h $(BFD_SRC)/libcoff.h $(buildsym_h) \ + $(complaints_h) $(defs_h) $(gdbtypes_h) $(objfiles_h) $(stabsread_h) \ + $(symfile_h) $(symtab_h) $(gdb_string_h) + +xcoffsolib.o: xcoffsolib.c $(bfd_h) $(defs_h) $(xcoffsolib_h) $(inferior_h) \ + $(gdbcmd_h) $(symfile_h) $(frame_h) gdb_regex.h + +# FIXME: z8k-tdep.c calls _initialize_gdbtypes(). Since that isn't +# declared -Wimplicit fails. It should be using the GDBARCH framework. +# cagney 1999-09-02. +z8k-tdep.o: z8k-tdep.c $(bfd_h) $(dis_asm_h) $(defs_h) $(frame_h) \ + $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) $(gdbcore_h) $(value_h) \ + $(regcache_h) + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) \ + $(srcdir)/z8k-tdep.c + +c-exp.tab.o: c-exp.tab.c $(defs_h) $(gdb_string_h) $(expression_h) \ + $(value_h) $(parser_defs_h) $(language_h) $(c_lang_h) $(bfd_h) \ + $(symfile_h) $(objfiles_h) jv-exp.tab.o: jv-exp.tab.c jv-lang.h $(defs_h) $(expression_h) \ - $(gdbtypes_h) language.h parser-defs.h $(symtab_h) $(value_h) \ - $(bfd_h) objfiles.h symfile.h + $(gdbtypes_h) $(language_h) $(parser_defs_h) $(symtab_h) $(value_h) \ + $(bfd_h) $(objfiles_h) $(symfile_h) f-exp.tab.o: f-exp.tab.c f-lang.h $(defs_h) $(expression_h) \ - language.h parser-defs.h $(value_h) $(bfd_h) objfiles.h symfile.h + $(language_h) $(parser_defs_h) $(value_h) $(bfd_h) $(objfiles_h) \ + $(symfile_h) m2-exp.tab.o: m2-exp.tab.c $(defs_h) $(expression_h) $(gdbtypes_h) \ - language.h m2-lang.h parser-defs.h $(symtab_h) $(value_h) \ - $(bfd_h) objfiles.h symfile.h + $(language_h) m2-lang.h $(parser_defs_h) $(symtab_h) $(value_h) \ + $(bfd_h) $(objfiles_h) $(symfile_h) + +p-exp.tab.o: p-exp.tab.c $(defs_h) $(expression_h) $(gdbtypes_h) \ + $(language_h) p-lang.h $(parser_defs_h) $(symtab_h) $(value_h) \ + $(bfd_h) $(objfiles_h) $(symfile_h) + +gdb-events.o: gdb-events.c $(gdb_events_h) $(defs_h) $(gdbcmd_h) + +ui-out.o: ui-out.c $(defs_h) $(ui_out_h) $(expression_h) $(language_h) +cli-out.o: cli-out.c $(defs_h) $(ui_out_h) $(cli_out_h) + +varobj.o: varobj.c $(defs_h) $(frame_h) $(value_h) \ + $(language_h) $(valprint_h) $(varobj_h) $(wrapper_h) + +wrapper.o: wrapper.c $(defs_h) $(frame_h) $(value_h) $(wrapper_h) + +# +# CLI dependencies +# +# Need to explicitly specify the compile rule as make will do nothing +# or try to compile the object file into the cli directory. + +cli-decode.o: $(srcdir)/cli/cli-decode.c $(cli_decode_h) \ + $(cli_cmds_h) $(defs_h) $(ui_out_h) \ + $(symtab_h) gdb_regex.h + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-decode.c + +cli-cmds.o: $(srcdir)/cli/cli-cmds.c $(cli_cmds_h) $(cli_decode_h) \ + $(cli_script_h) $(cli_setshow_h) $(top_h) $(completer_h) \ + $(defs_h) $(target_h) gdb_wait.h gdb_regex.h $(ui_out_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-cmds.c + +cli-setshow.o: $(srcdir)/cli/cli-setshow.c $(cli_setshow_h) \ + $(cli_decode_h) $(cli_cmds_h) $(defs_h) \ + $(value_h) $(ui_out_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-setshow.c + +cli-script.o: $(srcdir)/cli/cli-script.c $(cli_script_h) \ + $(cli_cmds_h) $(cli_decode_h) $(top_h) \ + $(defs_h) $(value_h) $(language_h) $(ui_out_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-script.c + +cli-utils.o: $(srcdir)/cli/cli-utils.c $(cli_utils_h) $(defs_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-utils.c + +# +# MI dependencies +# +# Need to explicitly specify the compile rule as make will do nothing +# or try to compile the object file into the mi directory. + +mi_cmds_h = $(srcdir)/mi/mi-cmds.h +mi_out_h = $(srcdir)/mi/mi-out.h +mi_parse_h = $(srcdir)/mi/mi-parse.h +mi_getopt_h = $(srcdir)/mi/mi-getopt.h +mi_console_h = $(srcdir)/mi/mi-console.h + +mi-cmds.o: $(srcdir)/mi/mi-cmds.c $(defs_h) $(top_h) $(mi_cmds_h) $(ui_out_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmds.c +mi-cmd-var.o: $(srcdir)/mi/mi-cmd-var.c $(defs_h) $(top_h) $(mi_cmds_h) \ + $(ui_out_h) $(varobj_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-var.c +mi-cmd-stack.o: $(srcdir)/mi/mi-cmd-stack.c $(defs_h) $(top_h) $(mi_cmds_h) \ + $(ui_out_h) $(frame_h) $(value_h) $(target_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-stack.c +mi-cmd-break.o: $(srcdir)/mi/mi-cmd-break.c $(defs_h) $(mi_cmds_h) \ + $(ui_out_h) $(mi_getopt_h) $(gdb_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-break.c +mi-cmd-disas.o: $(srcdir)/mi/mi-cmd-disas.c $(defs_h) $(mi_cmds_h) \ + $(ui_out_h) $(value_h) $(target_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-disas.c +mi-main.o: $(srcdir)/mi/mi-main.c $(defs_h) $(top_h) $(mi_cmds_h) $(ui_out_h) \ + $(mi_console_h) $(mi_getopt_h) $(event_loop_h) $(event_top_h) \ + $(mi_getopt_h) $(regcache_h) $(gdb_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-main.c +mi-out.o: $(srcdir)/mi/mi-out.c $(defs_h) $(mi_out_h) $(ui_out_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-out.c +mi-console.o: $(srcdir)/mi/mi-console.c $(mi_out_h) $(defs_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-console.c +mi-parse.o: $(srcdir)/mi/mi-parse.c $(defs_h) $(mi_parse_h) $(mi_cmds_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-parse.c +mi-getopt.o: $(srcdir)/mi/mi-getopt.c $(mi_getopt_h) $(defs_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-getopt.c + +# +# TUI dependencies +# +# Need to explicitly specify the compile rule as make will do nothing +# or try to compile the object file into the mi directory. + +tui.o: $(srcdir)/tui/tui.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiLayout.h $(srcdir)/tui/tuiIO.h \ + $(srcdir)/tui/tuiRegs.h $(srcdir)/tui/tuiWin.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tui.c +tui-out.o: $(srcdir)/tui/tui-out.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tui-out.c +tui-hooks.o: $(srcdir)/tui/tui-hooks.c \ + $(srcdir)/tui/tui.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tui-hooks.c +tuiCommand.o: $(srcdir)/tui/tuiCommand.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiWin.h $(srcdir)/tui/tuiIO.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiCommand.c +tuiData.o: $(srcdir)/tui/tuiData.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiData.c +tuiDataWin.o: $(srcdir)/tui/tuiDataWin.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiRegs.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiDataWin.c +tuiDisassem.o: $(srcdir)/tui/tuiDisassem.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiLayout.h $(srcdir)/tui/tuiSourceWin.h \ + $(srcdir)/tui/tuiStack.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiDisassem.c +tuiGeneralWin.o: $(srcdir)/tui/tuiGeneralWin.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiGeneralWin.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiGeneralWin.c +tuiIO.o: $(srcdir)/tui/tuiIO.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiIO.h $(srcdir)/tui/tuiCommand.h \ + $(srcdir)/tui/tuiWin.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiIO.c +tuiLayout.o: $(srcdir)/tui/tuiLayout.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiGeneralWin.h $(srcdir)/tui/tuiStack.h \ + $(srcdir)/tui/tuiRegs.h $(srcdir)/tui/tuiDisassem.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiLayout.c +tuiRegs.o: $(srcdir)/tui/tuiRegs.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiLayout.h $(srcdir)/tui/tuiWin.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiRegs.c +tuiSource.o: $(srcdir)/tui/tuiSource.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiStack.h $(srcdir)/tui/tuiSourceWin.h \ + $(srcdir)/tui/tuiSource.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiSource.c +tuiSourceWin.o: $(srcdir)/tui/tuiSourceWin.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiStack.h $(srcdir)/tui/tuiSourceWin.h \ + $(srcdir)/tui/tuiSource.h $(srcdir)/tui/tuiDisassem.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiSourceWin.c +tuiStack.o: $(srcdir)/tui/tuiStack.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiStack.h $(srcdir)/tui/tuiSourceWin.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiStack.c +tuiWin.o: $(srcdir)/tui/tuiWin.c \ + $(srcdir)/tui/tui.h $(srcdir)/tui/tuiData.h \ + $(srcdir)/tui/tuiGeneralWin.h $(srcdir)/tui/tuiStack.h \ + $(srcdir)/tui/tuiSourceWin.h $(srcdir)/tui/tuiDataWin.h + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/tui/tuiWin.c ### end of the gdb Makefile.in. diff --git a/contrib/gdb/gdb/NEWS b/contrib/gdb/gdb/NEWS index e6aaba3..d7c0ad0 100644 --- a/contrib/gdb/gdb/NEWS +++ b/contrib/gdb/gdb/NEWS @@ -1,13 +1,465 @@ What has changed in GDB? (Organized release by release) +*** Changes since GDB 5.2: + +* New targets. + +Atmel AVR avr*-*-* + +* Bug fixes + +gdb/182: gdb/323: gdb/237: On alpha, gdb was reporting: +mdebugread.c:2443: gdb-internal-error: sect_index_data not initialized +Fix, by Joel Brobecker imported from mainline. + +gdb/439: gdb/291: On some ELF object files, gdb was reporting: +dwarf2read.c:1072: gdb-internal-error: sect_index_text not initialize +Fix, by Fred Fish, imported from mainline. + +*** Changes in GDB 5.2: + +* New command "set trust-readonly-sections on[off]". + +This command is a hint that tells gdb that read-only sections +really are read-only (ie. that their contents will not change). +In this mode, gdb will go to the object file rather than the +target to read memory from read-only sections (such as ".text"). +This can be a significant performance improvement on some +(notably embedded) targets. + +* New command "generate-core-file" (or "gcore"). + +This new gdb command allows the user to drop a core file of the child +process state at any time. So far it's been implemented only for +GNU/Linux and Solaris, but should be relatively easily ported to other +hosts. Argument is core file name (defaults to core.). + +* New command line option + +GDB now accepts --pid or -p followed by a process id. + +* Change in command line behavior -- corefiles vs. process ids. + +There is a subtle behavior in the way in which GDB handles +command line arguments. The first non-flag argument is always +a program to debug, but the second non-flag argument may either +be a corefile or a process id. Previously, GDB would attempt to +open the second argument as a corefile, and if that failed, would +issue a superfluous error message and then attempt to attach it as +a process. Now, if the second argument begins with a non-digit, +it will be treated as a corefile. If it begins with a digit, +GDB will attempt to attach it as a process, and if no such process +is found, will then attempt to open it as a corefile. + +* Changes in ARM configurations. + +Multi-arch support is enabled for all ARM configurations. The ARM/NetBSD +configuration is fully multi-arch. + +* New native configurations + +ARM NetBSD arm*-*-netbsd* +x86 OpenBSD i[3456]86-*-openbsd* +AMD x86-64 running GNU/Linux x86_64-*-linux-* +Sparc64 running FreeBSD sparc64-*-freebsd* + +* New targets + +Sanyo XStormy16 xstormy16-elf + +* OBSOLETE configurations and files + +Configurations that have been declared obsolete in this release have +been commented out. Unless there is activity to revive these +configurations, the next release of GDB will have their sources +permanently REMOVED. + +AMD 29k family via UDI a29k-amd-udi, udi29k +A29K VxWorks a29k-*-vxworks +AMD 29000 embedded, using EBMON a29k-none-none +AMD 29000 embedded with COFF a29k-none-coff +AMD 29000 embedded with a.out a29k-none-aout + +testsuite/gdb.hp/gdb.threads-hp/ directory + +* REMOVED configurations and files + +TI TMS320C80 tic80-*-* +WDC 65816 w65-*-* +PowerPC Solaris powerpcle-*-solaris* +PowerPC Windows NT powerpcle-*-cygwin32 +PowerPC Netware powerpc-*-netware* +Harris/CXUX m88k m88*-harris-cxux* +Most ns32k hosts and targets ns32k-*-mach3* ns32k-umax-* + ns32k-utek-sysv* ns32k-utek-* +SunOS 4.0.Xi on i386 i[3456]86-*-sunos* +Ultracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern* +Sony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news +ISI Optimum V (3.05) under 4.3bsd. m68*-isi-* +Apple Macintosh (MPW) host and target N/A host, powerpc-*-macos* + +* Changes to command line processing + +The new `--args' feature can be used to specify command-line arguments +for the inferior from gdb's command line. + +* Changes to key bindings + +There is a new `operate-and-get-next' function bound to `C-o'. + +*** Changes in GDB 5.1.1 + +Fix compile problem on DJGPP. + +Fix a problem with floating-point registers on the i386 being +corrupted. + +Fix to stop GDB crashing on .debug_str debug info. + +Numerous documentation fixes. + +Numerous testsuite fixes. + +*** Changes in GDB 5.1: + +* New native configurations + +Alpha FreeBSD alpha*-*-freebsd* +x86 FreeBSD 3.x and 4.x i[3456]86*-freebsd[34]* +MIPS GNU/Linux mips*-*-linux* +MIPS SGI Irix 6.x mips*-sgi-irix6* +ia64 AIX ia64-*-aix* +s390 and s390x GNU/Linux {s390,s390x}-*-linux* + +* New targets + +Motorola 68HC11 and 68HC12 m68hc11-elf +CRIS cris-axis +UltraSparc running GNU/Linux sparc64-*-linux* + +* OBSOLETE configurations and files + +x86 FreeBSD before 2.2 i[3456]86*-freebsd{1,2.[01]}*, +Harris/CXUX m88k m88*-harris-cxux* +Most ns32k hosts and targets ns32k-*-mach3* ns32k-umax-* + ns32k-utek-sysv* ns32k-utek-* +TI TMS320C80 tic80-*-* +WDC 65816 w65-*-* +Ultracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern* +PowerPC Solaris powerpcle-*-solaris* +PowerPC Windows NT powerpcle-*-cygwin32 +PowerPC Netware powerpc-*-netware* +SunOS 4.0.Xi on i386 i[3456]86-*-sunos* +Sony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news +ISI Optimum V (3.05) under 4.3bsd. m68*-isi-* +Apple Macintosh (MPW) host N/A + +stuff.c (Program to stuff files into a specially prepared space in kdb) +kdb-start.c (Main loop for the standalone kernel debugger) + +Configurations that have been declared obsolete in this release have +been commented out. Unless there is activity to revive these +configurations, the next release of GDB will have their sources +permanently REMOVED. + +* REMOVED configurations and files + +Altos 3068 m68*-altos-* +Convex c1-*-*, c2-*-* +Pyramid pyramid-*-* +ARM RISCix arm-*-* (as host) +Tahoe tahoe-*-* +ser-ocd.c *-*-* + +* GDB has been converted to ISO C. + +GDB's source code has been converted to ISO C. In particular, the +sources are fully protoized, and rely on standard headers being +present. + +* Other news: + +* "info symbol" works on platforms which use COFF, ECOFF, XCOFF, and NLM. + +* The MI enabled by default. + +The new machine oriented interface (MI) introduced in GDB 5.0 has been +revised and enabled by default. Packages which use GDB as a debugging +engine behind a UI or another front end are encouraged to switch to +using the GDB/MI interface, instead of the old annotations interface +which is now deprecated. + +* Support for debugging Pascal programs. + +GDB now includes support for debugging Pascal programs. The following +main features are supported: + + - Pascal-specific data types such as sets; + + - automatic recognition of Pascal sources based on file-name + extension; + + - Pascal-style display of data types, variables, and functions; + + - a Pascal expression parser. + +However, some important features are not yet supported. + + - Pascal string operations are not supported at all; + + - there are some problems with boolean types; + + - Pascal type hexadecimal constants are not supported + because they conflict with the internal variables format; + + - support for Pascal objects and classes is not full yet; + + - unlike Pascal, GDB is case-sensitive for symbol names. + +* Changes in completion. + +Commands such as `shell', `run' and `set args', which pass arguments +to inferior programs, now complete on file names, similar to what +users expect at the shell prompt. + +Commands which accept locations, such as `disassemble', `print', +`breakpoint', `until', etc. now complete on filenames as well as +program symbols. Thus, if you type "break foob TAB", and the source +files linked into the programs include `foobar.c', that file name will +be one of the candidates for completion. However, file names are not +considered for completion after you typed a colon that delimits a file +name from a name of a function in that file, as in "break foo.c:bar". + +`set demangle-style' completes on available demangling styles. + +* New platform-independent commands: + +It is now possible to define a post-hook for a command as well as a +hook that runs before the command. For more details, see the +documentation of `hookpost' in the GDB manual. + +* Changes in GNU/Linux native debugging. + +Support for debugging multi-threaded programs has been completely +revised for all platforms except m68k and sparc. You can now debug as +many threads as your system allows you to have. + +Attach/detach is supported for multi-threaded programs. + +Support for SSE registers was added for x86. This doesn't work for +multi-threaded programs though. + +* Changes in MIPS configurations. + +Multi-arch support is enabled for all MIPS configurations. + +GDB can now be built as native debugger on SGI Irix 6.x systems for +debugging n32 executables. (Debugging 64-bit executables is not yet +supported.) + +* Unified support for hardware watchpoints in all x86 configurations. + +Most (if not all) native x86 configurations support hardware-assisted +breakpoints and watchpoints in a unified manner. This support +implements debug register sharing between watchpoints, which allows to +put a virtually infinite number of watchpoints on the same address, +and also supports watching regions up to 16 bytes with several debug +registers. + +The new maintenance command `maintenance show-debug-regs' toggles +debugging print-outs in functions that insert, remove, and test +watchpoints and hardware breakpoints. + +* Changes in the DJGPP native configuration. + +New command ``info dos sysinfo'' displays assorted information about +the CPU, OS, memory, and DPMI server. + +New commands ``info dos gdt'', ``info dos ldt'', and ``info dos idt'' +display information about segment descriptors stored in GDT, LDT, and +IDT. + +New commands ``info dos pde'' and ``info dos pte'' display entries +from Page Directory and Page Tables (for now works with CWSDPMI only). +New command ``info dos address-pte'' displays the Page Table entry for +a given linear address. + +GDB can now pass command lines longer than 126 characters to the +program being debugged (requires an update to the libdbg.a library +which is part of the DJGPP development kit). + +DWARF2 debug info is now supported. + +It is now possible to `step' and `next' through calls to `longjmp'. + +* Changes in documentation. + +All GDB documentation was converted to GFDL, the GNU Free +Documentation License. + +Tracepoints-related commands are now fully documented in the GDB +manual. + +TUI, the Text-mode User Interface, is now documented in the manual. + +Tracepoints-related commands are now fully documented in the GDB +manual. + +The "GDB Internals" manual now has an index. It also includes +documentation of `ui_out' functions, GDB coding standards, x86 +hardware watchpoints, and memory region attributes. + +* GDB's version number moved to ``version.in'' + +The Makefile variable VERSION has been replaced by the file +``version.in''. People creating GDB distributions should update the +contents of this file. + +* gdba.el deleted + +GUD support is now a standard part of the EMACS distribution. + +*** Changes in GDB 5.0: + +* Improved support for debugging FP programs on x86 targets + +Unified and much-improved support for debugging floating-point +programs on all x86 targets. In particular, ``info float'' now +displays the FP registers in the same format on all x86 targets, with +greater level of detail. + +* Improvements and bugfixes in hardware-assisted watchpoints + +It is now possible to watch array elements, struct members, and +bitfields with hardware-assisted watchpoints. Data-read watchpoints +on x86 targets no longer erroneously trigger when the address is +written. + +* Improvements in the native DJGPP version of GDB + +The distribution now includes all the scripts and auxiliary files +necessary to build the native DJGPP version on MS-DOS/MS-Windows +machines ``out of the box''. + +The DJGPP version can now debug programs that use signals. It is +possible to catch signals that happened in the debuggee, deliver +signals to it, interrupt it with Ctrl-C, etc. (Previously, a signal +would kill the program being debugged.) Programs that hook hardware +interrupts (keyboard, timer, etc.) can also be debugged. + +It is now possible to debug DJGPP programs that redirect their +standard handles or switch them to raw (as opposed to cooked) mode, or +even close them. The command ``run < foo > bar'' works as expected, +and ``info terminal'' reports useful information about the debuggee's +terminal, including raw/cooked mode, redirection, etc. + +The DJGPP version now uses termios functions for console I/O, which +enables debugging graphics programs. Interrupting GDB with Ctrl-C +also works. + +DOS-style file names with drive letters are now fully supported by +GDB. + +It is now possible to debug DJGPP programs that switch their working +directory. It is also possible to rerun the debuggee any number of +times without restarting GDB; thus, you can use the same setup, +breakpoints, etc. for many debugging sessions. + +* New native configurations + +ARM GNU/Linux arm*-*-linux* +PowerPC GNU/Linux powerpc-*-linux* + +* New targets + +Motorola MCore mcore-*-* +x86 VxWorks i[3456]86-*-vxworks* +PowerPC VxWorks powerpc-*-vxworks* +TI TMS320C80 tic80-*-* + +* OBSOLETE configurations + +Altos 3068 m68*-altos-* +Convex c1-*-*, c2-*-* +Pyramid pyramid-*-* +ARM RISCix arm-*-* (as host) +Tahoe tahoe-*-* + +Configurations that have been declared obsolete will be commented out, +but the code will be left in place. If there is no activity to revive +these configurations before the next release of GDB, the sources will +be permanently REMOVED. + +* Gould support removed + +Support for the Gould PowerNode and NP1 has been removed. + +* New features for SVR4 + +On SVR4 native platforms (such as Solaris), if you attach to a process +without first loading a symbol file, GDB will now attempt to locate and +load symbols from the running process's executable file. + +* Many C++ enhancements + +C++ support has been greatly improved. Overload resolution now works properly +in almost all cases. RTTI support is on the way. + +* Remote targets can connect to a sub-program + +A popen(3) style serial-device has been added. This device starts a +sub-process (such as a stand-alone simulator) and then communicates +with that. The sub-program to run is specified using the syntax +``| '' vis: + + (gdb) set remotedebug 1 + (gdb) target extended-remote |mn10300-elf-sim program-args + +* MIPS 64 remote protocol + +A long standing bug in the mips64 remote protocol where by GDB +expected certain 32 bit registers (ex SR) to be transfered as 32 +instead of 64 bits has been fixed. + +The command ``set remote-mips64-transfers-32bit-regs on'' has been +added to provide backward compatibility with older versions of GDB. + +* ``set remotebinarydownload'' replaced by ``set remote X-packet'' + +The command ``set remotebinarydownload'' command has been replaced by +``set remote X-packet''. Other commands in ``set remote'' family +include ``set remote P-packet''. + +* Breakpoint commands accept ranges. + +The breakpoint commands ``enable'', ``disable'', and ``delete'' now +accept a range of breakpoints, e.g. ``5-7''. The tracepoint command +``tracepoint passcount'' also accepts a range of tracepoints. + +* ``apropos'' command added. + +The ``apropos'' command searches through command names and +documentation strings, printing out matches, making it much easier to +try to find a command that does what you are looking for. + +* New MI interface + +A new machine oriented interface (MI) has been added to GDB. This +interface is designed for debug environments running GDB as a separate +process. This is part of the long term libGDB project. See the +"GDB/MI" chapter of the GDB manual for further information. It can be +enabled by configuring with: + + .../configure --enable-gdbmi + *** Changes in GDB-4.18: * New native configurations HP-UX 10.20 hppa*-*-hpux10.20 HP-UX 11.x hppa*-*-hpux11.0* -M68K Linux m68*-*-linux* +M68K GNU/Linux m68*-*-linux* * New targets @@ -568,7 +1020,7 @@ breakpoints in shared libraries before the executable is run. There is a new hardware breakpoint for the watch command for sparclite targets. See gdb/sparclite/hw_breakpoint.note. -Hardware watchpoints are also now supported under Linux. +Hardware watchpoints are also now supported under GNU/Linux. * Annotations @@ -1072,7 +1524,7 @@ read after argv processing. Solaris-2.0 !!! sparc-sun-solaris2 or sun4sol2 -Linux support i386-unknown-linux or linux +GNU/Linux support i386-unknown-linux or linux We are also including code to support the HP/PA running BSD and HPUX. This is almost guaranteed not to work, as we didn't have time to test or build it diff --git a/contrib/gdb/gdb/PROBLEMS b/contrib/gdb/gdb/PROBLEMS new file mode 100644 index 0000000..49d2796 --- /dev/null +++ b/contrib/gdb/gdb/PROBLEMS @@ -0,0 +1,32 @@ + + Known problems in GDB 5.2 + + See also: http://www.gnu.org/software/gdb/bugs/ + + +hppa2.0-hp-hpux10.20 +-------------------- + +gdb/487: The top level make files used to build GDB are not compatible +with HP/UX make. As a workaround, use GNU make. + +gdb/486: The HP/UX C compiler defaults to K&R mode but GDB only builds +with an ISO C compiler. The top level configuration incorrectly sets +CC to `cc' instead of `cc -Ae'. As a workaround, the correct compiler +can be specified as part of the configuration vis: + + $ 'CC=cc -Ae' ./configure + + +s390*-*-* +--------- + +gdb/513: GDB does not build on s390 GNU/Linux. The problem should be +fixed in more recent sources. + + +i386-*-freebsd4.4* +------------------ + +gdb/455: GDB doesn't build on a FreeBSD 4.4-STABLE system. The +problem is still being investigated. diff --git a/contrib/gdb/gdb/README b/contrib/gdb/gdb/README index fd791ce..8af440f 100644 --- a/contrib/gdb/gdb/README +++ b/contrib/gdb/gdb/README @@ -1,95 +1,121 @@ - README for gdb-4.18 release - Updated 4 Apr 1999 by Jim Blandy + README for gdb-5.2 release + Updated 17 April, 2002 by Andrew Cagney This is GDB, the GNU source-level debugger. -A summary of new features is in the file `NEWS'. -See the GDB home page at http://www.cygnus.com/gdb/ for up to date -release information, mailing list links and archives, etc. +A summary of new features is in the file `gdb/NEWS'. + +Check the GDB home page at http://www.gnu.org/software/gdb/ for up to +date release information, mailing list links and archives, etc. + +The file `gdb/PROBLEMS' contains information on problems identified +late in the release cycle. GDB's bug tracking data base at +http://www.gnu.org/software/gdb/bugs/ contains a more complete list of +bugs. Unpacking and Installation -- quick overview ========================== -In this release, the GDB debugger sources, the generic GNU include + In this release, the GDB debugger sources, the generic GNU include files, the BFD ("binary file description") library, the readline library, and other libraries all have directories of their own -underneath the gdb-4.18 directory. The idea is that a variety of GNU +underneath the gdb-5.2 directory. The idea is that a variety of GNU tools can share a common copy of these things. Be aware of variation over time--for example don't try to build gdb with a copy of bfd from -a release other than the gdb release (such as a binutils or gas -release), especially if the releases are more than a few weeks apart. +a release other than the gdb release (such as a binutils release), +especially if the releases are more than a few weeks apart. Configuration scripts and makefiles exist to cruise up and down this directory tree and automatically build all the pieces in the right order. -When you unpack the gdb-4.18.tar.gz file, you'll find a directory -called `gdb-4.18', which contains: + When you unpack the gdb-5.2.tar.gz file, you'll find a directory +called `gdb-5.2', which contains: + + COPYING config.sub intl missing opcodes + COPYING.LIB configure libiberty mkinstalldirs readline + Makefile.in configure.in libtool.m4 mmalloc sim + README djunpack.bat ltcf-c.sh move-if-change symlink-tree + bfd etc ltcf-cxx.sh mpw-README texinfo + config gdb ltcf-gcj.sh mpw-build.in utils + config-ml.in gettext.m4 ltconfig mpw-config.in ylwrap + config.guess include ltmain.sh mpw-configure + config.if install-sh md5.sum mpw-install + +You can build GDB right in the source directory: + + cd gdb-5.2 + ./configure + make + cp gdb/gdb /usr/local/bin/gdb (or wherever you want) - COPYING config.sub* libiberty/ opcodes/ - COPYING.LIB configure* mmalloc/ readline/ - Makefile.in configure.in move-if-change* sim/ - README etc/ mpw-README texinfo/ - bfd/ gdb/ mpw-build.in utils/ - config/ include/ mpw-config.in - config.guess* install.sh* mpw-configure +However, we recommend that an empty directory be used instead. +This way you do not clutter your source tree with binary files +and will be able to create different builds with different +configuration options. -To build GDB, you can just do: +You can build GDB in any empty build directory: - cd gdb-4.18 - ./configure - make - cp gdb/gdb /usr/local/bin/gdb (or wherever you want) + mkdir build + cd build + /gdb-5.2/configure + make + cp gdb/gdb /usr/local/bin/gdb (or wherever you want) -This will configure and build all the libraries as well as GDB. -If `configure' can't determine your system type, specify one as its -argument, e.g., sun4 or decstation. +(Building GDB with DJGPP tools for MS-DOS/MS-Windows is slightly +different; see the file gdb-5.2/gdb/config/djgpp/README for details.) -If you get compiler warnings during this stage, see the `Reporting Bugs' -section below; there are a few known problems. + This will configure and build all the libraries as well as GDB. If +`configure' can't determine your system type, specify one as its +argument, e.g., `./configure sun4' or `./configure decstation'. -GDB requires an ANSI C compiler. If you do not have an ANSI C -compiler for your system, you may be able to download and install the -GNU CC compiler. It is available via anonymous FTP from ftp.gnu.org, -in /pub/gnu/gcc (as a URL, that's ftp://ftp.gnu.org/pub/gnu/gcc). + If you get compiler errors during this stage, see the `Reporting +Bugs' section below; there are a few known problems. -GDB can be used as a cross-debugger, running on a machine of one type -while debugging a program running on a machine of another type. See below. + GDB requires an ISO C (ANSI C) compiler. If you do not have an ISO +C compiler for your system, you may be able to download and install +the GNU CC compiler. It is available via anonymous FTP from the +directory `ftp://ftp.gnu.org/pub/gnu/gcc'. + + GDB can be used as a cross-debugger, running on a machine of one +type while debugging a program running on a machine of another type. +See below. More Documentation ****************** All the documentation for GDB comes as part of the machine-readable -distribution. The documentation is written in Texinfo format, which is -a documentation system that uses a single source file to produce both -on-line information and a printed manual. You can use one of the Info -formatting commands to create the on-line version of the documentation -and TeX (or `texi2roff') to typeset the printed version. - - GDB includes an already formatted copy of the on-line Info version of -this manual in the `gdb/doc' subdirectory. The main Info file is -`gdb-4.18/gdb/doc/gdb.info', and it refers to subordinate files matching -`gdb.info*' in the same directory. If necessary, you can print out -these files, or read them with any editor; but they are easier to read -using the `info' subsystem in GNU Emacs or the standalone `info' program, -available as part of the GNU Texinfo distribution. +distribution. The documentation is written in Texinfo format, which +is a documentation system that uses a single source file to produce +both on-line information and a printed manual. You can use one of the +Info formatting commands to create the on-line version of the +documentation and TeX (or `texi2roff') to typeset the printed version. + + GDB includes an already formatted copy of the on-line Info version +of this manual in the `gdb/doc' subdirectory. The main Info file is +`gdb-5.2/gdb/doc/gdb.info', and it refers to subordinate files +matching `gdb.info*' in the same directory. If necessary, you can +print out these files, or read them with any editor; but they are +easier to read using the `info' subsystem in GNU Emacs or the +standalone `info' program, available as part of the GNU Texinfo +distribution. If you want to format these Info files yourself, you need one of the Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'. If you have `makeinfo' installed, and are in the top level GDB -source directory (`gdb-4.18', in the case of version 4.18), you can make +source directory (`gdb-5.2', in the case of version 5.2), you can make the Info file by typing: - cd gdb/doc - make info + cd gdb/doc + make info If you want to typeset and print copies of this manual, you need TeX, a program to print its DVI output files, and `texinfo.tex', the Texinfo definitions file. This file is included in the GDB -distribution, in the directory `gdb-4.18/texinfo'. +distribution, in the directory `gdb-5.2/texinfo'. TeX is a typesetting program; it does not print files directly, but produces output files called DVI files. To print a typeset document, @@ -103,13 +129,20 @@ without any extension or a `.dvi' extension. This file tells TeX how to typeset a document written in Texinfo format. On its own, TeX cannot read, much less typeset a Texinfo file. `texinfo.tex' is distributed with GDB and is located in the -`gdb-4.18/texinfo' directory. +`gdb-5.2/texinfo' directory. If you have TeX and a DVI printer program installed, you can typeset and print this manual. First switch to the the `gdb' subdirectory of -the main source directory (for example, to `gdb-4.18/gdb') and then type: +the main source directory (for example, to `gdb-5.2/gdb') and then type: + + make doc/gdb.dvi + + If you prefer to have the manual in PDF format, type this from the +`gdb/doc' subdirectory of the main source directory: + + make gdb.pdf - make gdb.dvi +For this to work, you will need the PDFTeX package to be installed. Installing GDB @@ -123,68 +156,73 @@ preparing GDB for installation; you can then use `make' to build the a single directory, whose name is usually composed by appending the version number to `gdb'. - For example, the GDB version 4.18 distribution is in the `gdb-4.18' + For example, the GDB version 5.2 distribution is in the `gdb-5.2' directory. That directory contains: -`gdb-4.18/{COPYING,COPYING.LIB}' +`gdb-5.2/{COPYING,COPYING.LIB}' Standard GNU license files. Please read them. -`gdb-4.18/bfd' +`gdb-5.2/bfd' source for the Binary File Descriptor library -`gdb-4.18/config*' +`gdb-5.2/config*' script for configuring GDB, along with other support files -`gdb-4.18/gdb' +`gdb-5.2/gdb' the source specific to GDB itself -`gdb-4.18/include' +`gdb-5.2/include' GNU include files -`gdb-4.18/libiberty' +`gdb-5.2/libiberty' source for the `-liberty' free software library -`gdb-4.18/mmalloc' +`gdb-5.2/mmalloc' source for the GNU memory-mapped malloc package -`gdb-4.18/opcodes' +`gdb-5.2/opcodes' source for the library of opcode tables and disassemblers -`gdb-4.18/readline' +`gdb-5.2/readline' source for the GNU command-line interface + NOTE: The readline library is compiled for use by GDB, but will + not be installed on your system when "make install" is issued. -`gdb-4.18/sim' +`gdb-5.2/sim' source for some simulators (ARM, D10V, SPARC, M32R, MIPS, PPC, V850, etc) -`gdb-4.18/intl' +`gdb-5.2/intl' source for the GNU gettext library, for internationalization. This is slightly modified from the standalone gettext distribution you can get from GNU. -`gdb-4.18/texinfo' +`gdb-5.2/texinfo' The `texinfo.tex' file, which you need in order to make a printed manual using TeX. -`gdb-4.18/etc' +`gdb-5.2/etc' Coding standards, useful files for editing GDB, and other miscellanea. -`gdb-4.18/utils' +`gdb-5.2/utils' A grab bag of random utilities. + Note: the following instructions are for building GDB on Unix or +Unix-like systems. Instructions for building with DJGPP for +MS-DOS/MS-Windows are in the file gdb/config/djgpp/README. The simplest way to configure and build GDB is to run `configure' from the `gdb-VERSION-NUMBER' source directory, which in this example -is the `gdb-4.18' directory. +is the `gdb-5.2' directory. First switch to the `gdb-VERSION-NUMBER' source directory if you are not already in it; then run `configure'. For example: - cd gdb-4.18 - ./configure - make + cd gdb-5.2 + ./configure + make Running `configure' followed by `make' builds the `bfd', `readline', `mmalloc', and `libiberty' libraries, then `gdb' itself. @@ -195,11 +233,11 @@ corresponding source directories. does not recognize this automatically when you run a different shell, you may need to run `sh' on it explicitly: - sh configure + sh configure If you run `configure' from a directory that contains source -directories for multiple libraries or programs, such as the `gdb-4.18' -source directory for version 4.18, `configure' creates configuration +directories for multiple libraries or programs, such as the `gdb-5.2' +source directory for version 5.2, `configure' creates configuration files for every directory level underneath (unless you tell it not to, with the `--norecursion' option). @@ -207,11 +245,11 @@ with the `--norecursion' option). directories in the GDB distribution, if you only want to configure that subdirectory; but be sure to specify a path to it. - For example, with version 4.18, type the following to configure only + For example, with version 5.2, type the following to configure only the `bfd' subdirectory: - cd gdb-4.18/bfd - ../configure + cd gdb-5.2/bfd + ../configure You can install `gdb' anywhere; it has no hardwired paths. However, you should make sure that the shell on your path (named by the `SHELL' @@ -239,13 +277,13 @@ directory. If the path to `configure' would be the same as the argument to `--srcdir', you can leave out the `--srcdir' option; it will be assumed.) - For example, with version 4.18, you can build GDB in a separate + For example, with version 5.2, you can build GDB in a separate directory for a Sun 4 like this: - cd gdb-4.18 + cd gdb-5.2 mkdir ../gdb-sun4 cd ../gdb-sun4 - ../gdb-4.18/configure sun4 + ../gdb-5.2/configure make When `configure' builds a configuration using a remote source @@ -266,8 +304,8 @@ called `configure' (or one of its subdirectories). The `Makefile' that `configure' generates in each source directory also runs recursively. If you type `make' in a source directory such -as `gdb-4.18' (or in a separate configured directory configured with -`--srcdir=PATH/gdb-4.18'), you will build all the required libraries, +as `gdb-5.2' (or in a separate configured directory configured with +`--srcdir=PATH/gdb-5.2'), you will build all the required libraries, and then build GDB. When you have multiple hosts or targets configured in separate @@ -310,7 +348,7 @@ you can use it to test your guesses on abbreviations--for example: Invalid configuration `i786v': machine `i786v' not recognized `config.sub' is also distributed in the GDB source directory -(`gdb-4.18', for version 4.18). +(`gdb-5.2', for version 5.2). `configure' options @@ -364,11 +402,13 @@ prefer; but you may abbreviate option names if you use `--'. code which looks even vaguely suspicious. You should only using this feature if you're compiling with GNU CC. It passes the following flags: - -Wall + -Wimplicit + -Wreturn-type + -Wcomment + -Wtrigraphs + -Wformat + -Wparentheses -Wpointer-arith - -Wstrict-prototypes - -Wmissing-prototypes - -Wmissing-declarations `--target=TARGET' Configure GDB for cross-debugging programs running on the specified @@ -393,41 +433,25 @@ other GNU tools recursively; but these are the only options that affect GDB or its supporting libraries. -Languages other than C -======================= - -See the GDB manual (gdb/doc/gdb.texinfo) for information on this. - - -Kernel debugging -================= - -I have't done this myself so I can't really offer any advice. -Remote debugging over serial lines works fine, but the kernel debugging -code in here has not been tested in years. Van Jacobson has -better kernel debugging, but the UC lawyers won't let FSF have it. - - Remote debugging ================= -The files m68k-stub.c, i386-stub.c, and sparc-stub.c are examples of -remote stubs to be used with remote.c. They are designed to run -standalone on an m68k, i386, or SPARC cpu and communicate properly with -the remote.c stub over a serial line. + The files m68k-stub.c, i386-stub.c, and sparc-stub.c are examples +of remote stubs to be used with remote.c. They are designed to run +standalone on an m68k, i386, or SPARC cpu and communicate properly +with the remote.c stub over a serial line. -The directory gdb/gdbserver/ contains `gdbserver', a program that + The directory gdb/gdbserver/ contains `gdbserver', a program that allows remote debugging for Unix applications. gdbserver is only -supported for some native configurations, including Sun 3, Sun 4, -and Linux. +supported for some native configurations, including Sun 3, Sun 4, and +Linux. -There are a number of remote interfaces for talking to existing ROM + There are a number of remote interfaces for talking to existing ROM monitors and other hardware: remote-adapt.c AMD 29000 "Adapt" remote-array.c Array Tech RAID controller remote-bug.c Motorola BUG monitor - remote-d10v.c GDB protocol, talking to a d10v chip remote-e7000.c Hitachi E7000 ICE remote-eb.c AMD 29000 "EBMON" remote-es.c Ericsson 1800 monitor @@ -446,138 +470,67 @@ monitors and other hardware: remote-udi.c AMD 29000 using the AMD "Universal Debug Interface" remote-vx.c VxWorks realtime kernel -Remote-vx.c and the vx-share subdirectory contain a remote interface for the -VxWorks realtime kernel, which communicates over TCP using the Sun -RPC library. This would be a useful starting point for other remote- -via-ethernet back ends. - -Remote-udi.c and the 29k-share subdirectory contain a remote interface -for AMD 29000 programs, which uses the AMD "Universal Debug Interface". -This allows GDB to talk to software simulators, emulators, and/or bare -hardware boards, via network or serial interfaces. Note that GDB only -provides an interface that speaks UDI, not a complete solution. You -will need something on the other end that also speaks UDI. - - -Reporting Bugs -=============== - -The correct address for reporting bugs found in gdb is -"bug-gdb@gnu.org". Please email all bugs, and all requests for -help with GDB, to that address. Please include the GDB version number -(e.g., gdb-4.18), and how you configured it (e.g., "sun4" or "mach386 -host, i586-intel-synopsys target"). Since GDB now supports so many -different configurations, it is important that you be precise about this. -If at all possible, you should include the actual banner that GDB prints -when it starts up, or failing that, the actual configure command that -you used when configuring GDB. - -For more information on how/whether to report bugs, see the GDB Bugs -section of the GDB manual (gdb/doc/gdb.texinfo). - -Known bugs: - - * Under Ultrix 4.2 (DECstation-3100) or Alphas under OSF/1, we have - seen problems with backtraces after interrupting the inferior out - of a read(). The problem is caused by ptrace() returning an - incorrect value for the frame pointer register (register 15 or - 30). As far as we can tell, this is a kernel problem. Any help - with this would be greatly appreciated. - - * Under Ultrix 4.4 (DECstation-3100), setting the TERMCAP environment - variable to a string without a trailing ':' can cause GDB to dump - core upon startup. Although the core file makes it look as though - GDB code failed, the crash actually occurs within a call to the - termcap library function tgetent(). The problem can be solved by - using the GNU Termcap library. - - Alphas running OSF/1 (versions 1.0 through 2.1) have the same buggy - termcap code, but GDB behaves strangely rather than crashing. - - * On DECstations there are warnings about shift counts out of range in - various BFD modules. None of them is a cause for alarm, they are actually - a result of bugs in the DECstation compiler. - - * Notes for the DEC Alpha using OSF/1: - The debugging output of native cc has two known problems; we view these - as compiler bugs. - The linker miscompacts symbol tables, which causes gdb to confuse the - type of variables or results in `struct ' type outputs. - dbx has the same problems with those executables. A workaround is to - specify -Wl,-b when linking, but that will increase the executable size - considerably. - If a structure has incomplete type in one file (e.g., "struct foo *" - without a definition for "struct foo"), gdb will be unable to find the - structure definition from another file. - It has been reported that the Ultrix 4.3A compiler on decstations has the - same problems. - - * Notes for Solaris 2.x, using the SPARCworks cc compiler: - You have to compile your program with the -xs option of the SPARCworks - compiler to be able to debug your program with gdb. - Under Solaris 2.3 you also need patch 101409-03 (Jumbo linker patch). - Under Solaris 2.2, if you have patch 101052 installed, make sure - that it is at least at revision 101052-06. - - * Under Irix 5 for SGIs, you must have installed the `compiler_dev.hdr' - subsystem that is on the IDO CD, otherwise you will get complaints - that certain files such as `/usr/include/syms.h' cannot be found. - - * Notes for BSD/386: - To compile gdb-4.18 on BSD/386, you must run the configure script and - its subscripts with bash. Here is an easy way to do this: - - bash -c 'CONFIG_SHELL=/bin/bash ./configure' - - (configure will report i386-unknown-bsd). Then, compile with the - standard "make" command. - -GDB can produce warnings about symbols that it does not understand. By -default, these warnings are disabled. You can enable them by executing -`set complaint 10' (which you can put in your ~/.gdbinit if you like). -I recommend doing this if you are working on a compiler, assembler, -linker, or GDB, since it will point out problems that you may be able -to fix. Warnings produced during symbol reading indicate some mismatch -between the object file and GDB's symbol reading code. In many cases, -it's a mismatch between the specs for the object file format, and what -the compiler actually outputs or the debugger actually understands. - - -X Windows versus GDB + Remote-vx.c and the vx-share subdirectory contain a remote +interface for the VxWorks realtime kernel, which communicates over TCP +using the Sun RPC library. This would be a useful starting point for +other remote- via-ethernet back ends. + + Remote-udi.c and the 29k-share subdirectory contain a remote +interface for AMD 29000 programs, which uses the AMD "Universal Debug +Interface". This allows GDB to talk to software simulators, +emulators, and/or bare hardware boards, via network or serial +interfaces. Note that GDB only provides an interface that speaks UDI, +not a complete solution. You will need something on the other end +that also speaks UDI. + + +Reporting Bugs in GDB ===================== -You should check out DDD, the Data Display Debugger. Here's the blurb -from the DDD web site, http://www.cs.tu-bs.de/softech/ddd: - - The Data Display Debugger (DDD) is a popular graphical user - interface for command-line debuggers such as GDB, DBX, JDB, WDB, - XDB, the Perl debugger, and the Python debugger. Besides ``usual'' - front-end features such as viewing source texts, DDD has become - famous through its interactive graphical data display, where data - structures are displayed as graphs. A simple mouse click - dereferences pointers or views structure contents, updated each - time the program stops. Using DDD, you can reason about your - application by watching its data, not just by viewing it execute - lines of source code. - -Emacs users will very likely enjoy the Grand Unified Debugger mode; -try typing `M-x gdb RET'. + There are several ways of reporting bugs in GDB. The prefered +method is to use the World Wide Web: + + http://www.gnu.org/software/gdb/bugs/ + +As an alternative, the bug report can be submitted, via e-mail, to the +address "bug-gdb@gnu.org". -Those interested in experimenting with a new kind of gdb-mode -should load gdb/gdba.el into GNU Emacs 19.25 or later. Comments -on this mode are also welcome. + When submitting a bug, please include the GDB version number (e.g., +gdb-5.2), and how you configured it (e.g., "sun4" or "mach386 host, +i586-intel-synopsys target"). Since GDB now supports so many +different configurations, it is important that you be precise about +this. If at all possible, you should include the actual banner that +GDB prints when it starts up, or failing that, the actual configure +command that you used when configuring GDB. + + For more information on how/whether to report bugs, see the +Reporting Bugs chapter of the GDB manual (gdb/doc/gdb.texinfo). + + +Graphical interface to GDB -- X Windows, MS Windows +========================== + + Several graphical interfaces to GDB are available. You should +check: + + http://www.gnu.org/software/gdb/gui/ + +for an up-to-date list. + + Emacs users will very likely enjoy the Grand Unified Debugger mode; +try typing `M-x gdb RET'. Writing Code for GDB ===================== -There is a lot of information about writing code for GDB in the + There is a lot of information about writing code for GDB in the internals manual, distributed with GDB in gdb/doc/gdbint.texinfo. You can read it by hand, print it by using TeX and texinfo, or process it into an `info' file for use with Emacs' info mode or the standalone `info' program. -If you are pondering writing anything but a short patch, especially + If you are pondering writing anything but a short patch, especially take note of the information about copyrights in the node Submitting Patches. It can take quite a while to get all the paperwork done, so we encourage you to start that process as soon as you decide you are @@ -588,26 +541,33 @@ think you will be ready to submit the patches. GDB Testsuite ============= -There is a DejaGNU based testsuite available for testing your newly -built GDB, or for regression testing GDBs with local modifications. + Included with the GDB distribution is a DejaGNU based testsuite +that can either be used to test your newly built GDB, or for +regression testing a GDB with local modifications. + + Running the testsuite requires the prior installation of DejaGNU, +which is generally available via ftp. The directory +ftp://sources.redhat.com/pub/dejagnu/ will contain a recent snapshot. +Once DejaGNU is installed, you can run the tests in one of the +following ways: -Running the testsuite requires the prior installation of DejaGNU, -which is generally available via ftp; you'll need a pretty recent -release. Once DejaGNU is installed, you can run the tests in one of -two ways: + (1) cd gdb-5.2 + make check-gdb + +or - (1) cd gdb-4.18/gdb (assuming you also unpacked gdb) + (2) cd gdb-5.2/gdb make check or - (2) cd gdb-4.18/gdb/testsuite + (3) cd gdb-5.2/gdb/testsuite make site.exp (builds the site specific file) runtest -tool gdb GDB=../gdb (or GDB= as appropriate) -The second method gives you slightly more control in case of problems with -building one or more test executables or if you are using the testsuite -'standalone', without it being part of the GDB source tree. +The last method gives you slightly more control in case of problems +with building one or more test executables or if you are using the +testsuite `standalone', without it being part of the GDB source tree. See the DejaGNU documentation for further details. diff --git a/contrib/gdb/gdb/TODO b/contrib/gdb/gdb/TODO index fcbcd16..ea46e9b 100644 --- a/contrib/gdb/gdb/TODO +++ b/contrib/gdb/gdb/TODO @@ -1,470 +1,350 @@ If you find inaccuracies in this list, please send mail to -bug-gdb@prep.ai.mit.edu. If you would like to work on any of these, -you should consider sending mail to the same address, to find out -whether anyone else is working on it. +gdb-patches@sources.redhat.com. If you would like to work on any +of these, you should consider sending mail to the same address, to +find out whether anyone else is working on it. -General To Do List ------------------- -This list is probably not up to date, and opinions vary about the -importance or even desirability of some of the items. + GDB 5.1 - Fixes + =============== -Add an "info bfd" command that displays supported object formats, -similarly to objdump -i. +Below is a list of problems identified during the GDB 5.0 release +cycle. People hope to have these problems fixed in 5.1. -START_INFERIOR_TRAPS_EXPECTED need never be defined to 2, since that -is its default value. Clean this up. +-- -It should be possible to use symbols from shared libraries before we know -exactly where the libraries will be loaded. E.g. "b perror" before running -the program. This could maybe be done as an extension of the "breakpoint -re-evaluation" after new symbols are loaded. +Wow, three bug reports for the same problem in one day! We should +probably make fixing this a real priority :-). -Make single_step() insert and remove breakpoints in one operation. +Anyway, thanks for reporting. -Speed up single stepping by avoiding extraneous ptrace calls. +The following patch will fix the problems with setting breakpoints in +dynamically loaded objects: -Speed up single stepping by not inserting and removing breakpoints -each time the inferior starts and stops. + http://sources.redhat.com/ml/gdb-patches/2000-05/msg00230.html -Breakpoints should not be inserted and deleted all the time. Only the -one(s) there should be removed when we have to step over one. Support -breakpoints that don't have to be removed to step over them. +This patch isn't checked in yet (ping Michael/JimB), but I hope this +will be in the next GDB release. -Update gdbint.texinfo to include doc on the directory structure and -the various tricks of building gdb. +There should really be a test in the testsuite for this problem, since +it keeps coming up :-(. Any volunteers? -Do a tutorial in gdb.texinfo on how to do simple things in gdb. -E.g. how to set a breakpoint that just prints something and continues. -How to break on aborts. Etc. +Mark -Provide "voodoo" debugging of core files. This creates a zombie -process as a child of the debugger, and loads it up with the data, -stack, and regs of the core file. This allows you to call functions -in the executable, to manipulate the data in the core file. +-- -GDB reopens the source file on every line, as you "next" through it. + GDB 5.1 - New features + ====================== -Referencing the vtbl member of a struct doesn't work. It prints OK -if you print the struct, but it gets 0 if you try to deref it. +The following new features should be included in 5.1. -Persistent command history: A feature where you could save off a list -of the commands you did, so you can edit it into something that will bring -the target to the same place every time you source it. -This would also be useful for automated fast watchpointing; if you go -past the place where it watchpoints, you just start it over again and -do it more carefully. +-- -Deal with the SunOS 4.0 and 4.1.1 ptrace bug that loses the registers if -the stack is paged out. + GDB 5.1 - Cleanups + ================== -Finish the C++ exception handling stub routines. Lint points them out -as unused statics functions. +The following code cleanups will hopefully be applied to GDB 5.1. -Perhaps "i source" should take an argument like that of "list". +-- -See if core-aout.c's fetch_core_registers can be used on more machines. -E.g. MIPS (mips-xdep.c). + GDB 5.1 - Known Problems + ======================== -unpack_double() does not handle IEEE float on the target unless the host -is also IEEE. Death on a vax. +-- -Set up interface between GDB and INFO so that you can hop into interactive -INFO and back out again. When running under Emacs, should use Emacs -info, else fork the info program. Installation of GDB should install -its texinfo files into the info tree automagically, including the readline -texinfo files. +z8k -"help address" ought to find the "help set print address" entry. +The z8k has suffered bit rot and is known to not build. The problem +was occuring in the opcodes directory. -Remove the VTBL internal guts from printouts of C++ structs, unless -vtblprint is set. +-- -Remove "at 0xnnnn" from the "b foo" response, if `print address off' and if -it matches the source line indicated. +The BFD directory requires bug-fixed AUTOMAKE et.al. -The prompt at end of screen should accept space as well as CR. +AUTOMAKE 1.4 incorrectly set the TEXINPUTS environment variable. It +contained the full path to texinfo.tex when it should have only +contained the directory. The bug has been fixed in the current +AUTOMAKE sources. Automake snapshots can be found in: + ftp://sources.redhat.com/pub/gdb/infrastructure +and ftp://sources.redhat.com/pub/binutils -Check STORE_RETURN_VALUE on all architectures. Check near it in tm-sparc.h -for other bogosities. +-- -Check for storage leaks in GDB, I'm sure there are a lot! +Solaris 8 x86 CURSES_H problem +http://sources.redhat.com/ml/gdb/2000-07/msg00038.html -vtblprint of a vtbl should demangle the names it's printing. +The original problem was worked around with: -Backtrace should point out what the currently selected frame is, in -its display, perhaps showing "@3 foo (bar, ...)" or ">3 foo (bar, -...)" rather than "#3 foo (bar, ...)". + 2000-06-06 Michael Snyder -"i program" should work for core files, and display more info, like what -actually caused it to die. + * configure.in: Enable autoconf to find curses.h on Solaris 2.8. + * configure: Regenerate. -"x/10i" should shorten the long name, if any, on subsequent lines. +When building both GDB and SID using the same source tree the problem +will still occure. sid/component/configure.in mis-configures + and leaves wrong information in the config cache. -Check through the code for FIXME comments and fix them. dbxread.c, -blockframe.c, and plenty more. (I count 634 as of 940621 - sts) +-- -"next" over a function that longjumps, never stops until next time you happen -to get to that spot by accident. E.g. "n" over execute_command which has -an error. + GDB 5.2 - Fixes + =============== -"set zeroprint off", don't bother printing members of structs which -are entirely zero. Useful for those big structs with few useful -members. +-- -GDB does four ioctl's for every command, probably switching terminal modes -to/from inferior or for readline or something. + GDB 5.2 - New features + ====================== -terminal_ours versus terminal_inferior: cache state. Switch should be a noop -if the state is the same, too. +-- -ptype $i6 = void??! +GCC 3.0 ABI support (but hopefully sooner...). -Clean up invalid_float handling so gdb doesn't coredump when it tries to -access a NaN. While this might work on SPARC, other machines are not -configured right. +-- -"b value_at ; commands ; continue ; end" stops EVERY OTHER TIME! -Then once you enter a command, it does the command, runs two more -times, and then stops again! Bizarre... (This behaviour has been -modified, but it is not yet 100% predictable when e.g. the commands -call functions in the child, and while there, the child is interrupted -with a signal, or hits a breakpoint.) +Objective C/C++ support (but hopefully sooner...). -help completion, help history should work. +-- -Check that we can handle stack trace through varargs AND alloca in same -function, on 29K. +Import of readline 4.2 -wait_for_inferior loops forever if wait() gives it an error. +-- -"i frame" shows wrong "arglist at" location, doesn't show where the args -should be found, only their actual values. + GDB 5.2 - Cleanups + ================== -There should be a way for "set" commands to validate the new setting -before it takes effect. +The following cleanups have been identified as part of GDB 5.2. -A mess of floating point opcodes are missing from sparc-opcode.h. -Also, a little program should test the table for bits that are -overspecified or underspecified. E.g. if the must-be-ones bits -and the must-be-zeroes bits leave some fields unexamined, and the format -string leaves them unprinted, then point this out. If multiple -non-alias patterns match, point this out too. Finally, there should -be a sparc-optest.s file that tries each pattern out. This file -should end up coming back the same (modulo transformation comments) -if fed to "gas" then the .o is fed to gdb for disassembly. +-- -Eliminate all the core_file_command's in all the xdep files. -Eliminate separate declarations of registers[] everywhere. +Remove old code that does not use ui_out functions and all the related +"ifdef"s. This also allows the elimination of -DUI_OUT from +Makefile.in and configure.in. -"ena d" is ambiguous, why? "ena delete" seems to think it is a command! +-- -Perhaps move the tdep, xdep, and nat files, into the config -subdirectories. If not, at least straighten out their names so that -they all start with the machine name. +Compiler warnings. -inferior_status should include stop_print_frame. It won't need to be -reset in wait_for_inferior after bpstat_stop_status call, then. +Eliminate warnings for all targets on at least one host for one of the +-W flags. Flags up for debate include: -Wswitch -Wcomment -trigraphs +-Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable +-Wunused-value -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual +-Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes +-Wmissing-prototypes -Wmissing-declarations -Wredundant-decls +-Woverloaded-virtual -Winline -i line VAR produces "Line number not known for symbol ``var''.". I -thought we were stashing that info now! +-- -We should be able to write to random files at hex offsets like adb. +Deprecate, if not delete, the following: -Make "target xxx" command interruptible. + register[] + register_valid[] + REGISTER_BYTE() + Replaced by, on the target side + supply_register() + and on core-gdb side: + {read,write}_register_gen() + Remote.c will need to use something + other than REGISTER_BYTE() and + REGISTER_RAW_SIZE() when unpacking + [gG] packets. -Handle add_file with separate text, data, and bss addresses. Maybe -handle separate addresses for each segment in the object file? + STORE_PSEUDO_REGISTER + FETCH_PSEUDO_REGISTER + Now handed by the methods + gdbarch_{read,write}_register() + which sits between core GDB and + the register cache. -Handle free_named_symtab to cope with multiply-loaded object files -in a dynamic linking environment. Should remember the last copy loaded, -but not get too snowed if it finds references to the older copy. + REGISTER_CONVERTIBLE + REGISTER_CONVERT_TO_RAW + REGISTER_CONVERT_TO_VIRTUAL + I think these three are redundant. + gdbarch_register_{read,write} can + do any conversion it likes. -Generalize and Standardize the RPC interface to a target program, -improve it beyond the "ptrace" interface, and see if it can become a -standard for remote debugging. (This is talking about the vxworks -interface. Seems unlikely to me that there will be "a standard" for -remote debugging anytime soon --kingdon, 8 Nov 1994). + REGISTER_VIRTUAL_SIZE + MAX_REGISTER_VIRTUAL_SIZE + REGISTER_VIRTUAL_TYPE + I think these can be replaced by + the pair: + FRAME_REGISTER_TYPE(frame, regnum) + REGISTER_TYPE(regnum) -Remove all references to: - text_offset - data_offset - text_data_start - text_end - exec_data_offset - ... -now that we have BFD. All remaining are in machine dependent files. + DO_REGISTERS_INFO + Replace with + FRAME_REGISTER_INFO (frame, ...) -When quitting with a running program, if a core file was previously -examined, you get "Couldn't read float regs from core file"...if -indeed it can't. generic_mourn_inferior... + REGISTER_SIM_REGNO() + If nothing else rename this so that + how it relates to rawreg and the + regnum is clear. -Have remote targets give a warning on a signal argument to -target_resume. Or better yet, extend the protocols so that it works -like it does on the Unix-like systems. + REGISTER_BYTES + The size of the cache can be computed + on the fly. -Sort help and info output. + IS_TRAPPED_INTERNALVAR + The pseudo registers should eventually make + this redundant. -Re-organize help categories into things that tend to fit on a screen -and hang together. +-- -renote-nindy.c handles interrupts poorly; it error()s out of badly -chosen places, e.g. leaving current_frame zero, which causes core dumps -on the next command. +Obsolete the targets: -Add in commands like ADB's for searching for patterns, etc. We should -be able to examine and patch raw unsymboled binaries as well in gdb as -we can in adb. (E.g. increase the timeout in /bin/login without source). +arm*-wince-pe +mips*-*-pe +sh*-*-pe -Those xdep files that call register_addr without defining it are -probably simply broken. When reconfiguring this part of gdb, I could -only make guesses about how to redo some of those files, and I -probably guessed wrong, or left them "for later" when I have a -machine that can attempt to build them. +-- -When doing "step" or "next", if a few lines of source are skipped between -the previous line and the current one, print those lines, not just the -last line of a multiline statement. +Obsolete the protocols: -When searching for C++ superclasses in value_cast in valops.c, we must -not search the "fields", only the "superclasses". There might be a -struct with a field name that matches the superclass name. This can -happen when the struct was defined before the superclass (before the -name became a typedef). +RDB? -Handling of "&" address-of operator needs some serious overhaul -for ANSI C and consistency on arrays and functions. - For "float point[15];": -ptype &point[4] ==> Attempt to take address of non-lvalue. - For "char *malloc();": -ptype malloc ==> "char *()"; should be same as -ptype &malloc ==> "char *(*)()" -call printf ("%x\n", malloc) ==> weird value, should be same as -call printf ("%x\n", &malloc) ==> correct value +``As of version 5.3, WindRiver has removed the RDB server (RDB +protocol support is built into gdb).'' -- Till. -Fix dbxread.c symbol reading in the presence of interrupts. It -currently leaves a cleanup to blow away the entire symbol table when a -QUIT occurs. (What's wrong with that? -kingdon, 28 Oct 1993). +-- -Mipsread.c reads include files depth-first, because the dependencies -in the psymtabs are way too inclusive (it seems to me). Figure out what -really depends on what, to avoid recursing 20 or 30 times while reading -real symtabs. +Restructure gdb directory tree so that it avoids any 8.3 and 14 +filename problems. -value_add() should be subtracting the lower bound of arrays, if known, -and possibly checking against the upper bound for error reporting. +-- -mipsread.c symbol table allocation and deallocation should be checked. -My suspicion is that it's full of memory leaks. +Convert GDB build process to AUTOMAKE. -SunOS should have a target_lookup_symbol() for common'd things allocated -by the shared library linker ld.so. +See also sub-directory configure below. -When listing source lines, check for a preceding \n, to verify that -the file hasn't changed out from under us. +The current convention is (kind of) to use $(
_h) in all +dependency lists. It isn't done in a consistent way. -When listing source lines, eat leading whitespace corresponding to the -line-number prefix we print. This avoids long lines wrapping. +-- -mipsread.c needs to check for old symtabs and psymtabs for the same -files, the way it happens for dbxread.c and coffread.c, for VxWorks -incremental symbol table reloading. + GDB 5.2 - Known Problems + ======================== -Get all the remote systems (where the protocol allows it) to be able to -stop the remote system when the GDB user types ^C (like remote.c -does). For ebmon, use ^Ak. - -Possible feature: A version of the "disassemble" command which shows -both source and assembly code ("set symbol-filename on" is a partial -solution). +-- -investigate "x/s 0" (right now stops early) (I think maybe GDB is -using a 0 address for bad purposes internally). - -Make "info path" and path_command work again (but independent of the -environment either of gdb or that we'll pass to the inferior). + Code Cleanups: General + ====================== -Make GDB understand the GCC feature for putting octal constants in -enums. Make it so overflow on an enum constant does not error_type -the whole type. Allow arbitrarily large enums with type attributes. -Put all this stuff in the testsuite. +The following are more general cleanups and fixes. They are not tied +to any specific release. -Make TYPE_CODE_ERROR with a non-zero TYPE_LENGTH more useful (print -the value in hex; process type attributes). Add this to the -testsuite. This way future compilers can add new types and old -versions of GDB can do something halfway reasonable. -Clean up formatting of "info registers" on MIPS and 88k. See if it -is possible to do this generically across all target architectures. + New Features and Fixes + ====================== -GDB gets bfd/corefile.c and gdb/corefile.c confused (this should be easy to -repeat even with something more recent than GDB 4.9). +These are harder than cleanups but easier than work involving +fundamental architectural change. -Check that unmatched RBRAC doesn't abort(). +-- -Fix mdebugread.c:parse_type to do fundamental types right (see -rs6000_builtin_type in stabsread.c for what "right" is--the point is -that the debug format fixes the sizes of these things and it shouldn't -depend on stuff like TARGET_PTR_BIT and so on. For mdebug, there seem -to be separate bt* codes for 64 bit and 32 bit things, and GDB should -be aware of that). Also use a switch statement for clarity and speed. + Language Support + ================ -Investigate adding symbols in target_load--some targets do, some -don't. +New languages come onto the scene all the time. -Put dirname in psymtabs and change lookup*symtab to use dirname (so -/foo/bar.c works whether compiled by cc /foo/bar.c, or cd /foo; cc -bar.c). +-- -Merge xcoffread.c and coffread.c. Use breakpoint_re_set instead of -fixup_breakpoints. +Re: Various C++ things -Fix byte order and int size sins in tm-a29k.h -(EXTRACT_RETURN_VALUE). Perhaps should reproduce bug and verify fix -(or perhaps should just fix it...). +value_headof/value_from_vtable_info are worthless, and should be +removed. The one place in printcmd.c that uses it should use the RTTI +functions. -Make a watchpoint on a constant expression an error (or warning -perhaps) +RTTI for g++ should be using the typeinfo functions rather than the +vtables. The typeinfo functions are always at offset 4 from the +beginning of the vtable, and are always right. The vtables will have +weird names like E::VB sometimes. The typeinfo function will always +be "E type_info function", or somesuch. -Make a watchpoint which contains a function call an error (it is -broken now, making it work is probably not worth the effort). +value_virtual_fn_field needs to be fixed so there are no failures for +virtual functions for C++ using g++. -Re-do calls to signal() in remote.c, and inflow.c (set_sigint_trap and -so on) to be independent of the debugging target, using target_stop to -stop the inferior. Probably the part which is now handled by -interrupt_query in remote.c can be done without any new features in -the debugging target. +Testsuite cases are the major priority right now for C++ support, +since i have to make a lot of changes that could potentially break +each other. -New test case based on weird.exp but in which type numbers are not -renumbered (thus multiply defining a type). This currently causes an -infinite loop on "p v_comb". +-- -Nuke baseclass_addr. -Nuke USG define. + Symbol Support + ============== -"source file more recent" loses on re-read +-- -Fix 386 floating point so that floating point registers are real -registers (but code can deal at run-time if they are missing, like -mips and 68k). This would clean up "info float" and related stuff. +Investiagate ways of reducing memory. -Look at Solaris bug in interrupt.exp. Can get out of syscall with -PRSABORT (syscall will return EINTR) but merely doing that leads to a -"can't read memory" error. +-- -gcc -g -c enummask.c then gdb enummask.o, then "p v". GDB complains -about not being able to access memory location 0. +Investigate ways of improving load time. --------------------- enummask.c -enum mask -{ - ANIMAL = 0, - VEGETABLE = 1, - MINERAL = 2, - BASIC_CATEGORY = 3, +-- - WHITE = 0, - BLUE = 4, - GREEN = 8, - BLACK = 0xc, - COLOR = 0xc, + Testsuite Support + ================= - ALIVE = 0x10, +There are never to many testcases. - LARGE = 0x20 -} v; +-- -If try to modify value in file with "set write off" should give -appropriate error not "cannot access memory at address 0x65e0". +Better thread testsuite. -Why do we allow a target to omit standard register names (NO_STD_REGS -in tm-z8k.h)? I thought the standard register names were supposed to -be just that, standard. +-- -Make DEBUG_EXPRESSIONS a maintenance command, dependent on -MAINTENANCE_COMMANDS. +Better C++ testsuite. -Allow core file without exec file on RS/6000. +-- -Make sure "shell" with no arguments works right on DOS. + Architectural Changes: General + ============================== -Make gdb.ini (as well as .gdbinit) be checked on all platforms, so -the same directory can be NFS-mounted on unix or DOS, and work the -same way. +These are harder than simple cleanups / fixes and, consequently +involve more work. Typically an Architectural Change will be broken +down into a more digestible set of cleanups and fixes. -cd ~/tmp/ causes infinite loop (where ~/tmp is a directory). +-- -Get SECT_OFF_TEXT stuff out of objfile_relocate (might be needed to -get RS/6000 to work right, might not be immediately relevant). + Architectural Change: Multi-arch et al. + ======================================= -Clean up add_toc_to_loadinfo +The long term objective is to remove all assumptions that there is a +single target with a single address space with a single instruction +set architecture and single application binary interface. -Think about attached processes and sharing terminal. +This is an ongoing effort. The first milestone is to enable +``multi-arch'' where by all architectural decisions are made at +runtime. -John sez in reference to ignoring errors from tcsegpgrp if attach_flag: -set_tty_state should not have any trouble with attached processes. -Instead, the tty handling should leave the pgrp of the tty alone when -attaching to processes (perhaps pass terminal_init_inferior a flag -saying whether we're attaching). +It should be noted that ``gdbarch'' is really ``gdbabi'' and +``gdbisa''. Once things are multi-arched breaking that down correctly +will become much easier. -PAGE_SIZE redefined warnings on AIX. Probably should be using -BFD_PAGE_SIZE throughout BFD. +-- -Rewrite proceed, wait_for_inferior, and normal_stop to clean them up. -Suggestions: + Architectural Change: MI, LIBGDB and scripting languages + ======================================================== - 1) Make each test in wait_for_inferior a seperate subroutine - call. - 2) Combine wait_for_inferior and normal_stop to clean up - communication via global variables. - 3) See if you can find some way to clean up the global - variables that are used; possibly group them by data flow - and information content? +See also architectural changes related to the event loop. LIBGDB +can't be finished until there is a generic event loop being used by +all targets. -Work out some kind of way to allow running the inferior to be done as -a sub-execution of, eg. breakpoint command lists. Currently running -the inferior interupts any command list execution. This would require -some rewriting of wait_for_inferior & friends, and hence should -probably be done in concert with the above. +The long term objective is it to be possible to integrate GDB into +scripting languages. -Add function arguments to gdb user defined functions. +-- -Add convenience variables that refer to exec file, symbol file, -selected frame source file, selected frame function, selected frame -line number, etc. + Architectural Change: Async + =========================== -Add a "suspend" subcommand of the "continue" command to suspend gdb -while continuing execution of the subprocess. Useful when you are -debugging servers and you want to dodge out and initiate a connection -to a server running under gdb. +While GDB uses an event loop when prompting the user for input. That +event loop is not exploited by targets when they allow the target +program to continue. Typically targets still block in (target_wait()) +until the program again halts. -Add stab information to allow reasonable debugging of inline functions -(possibly they should show up on a stack backtrace? With a note -indicating that they weren't "real"?). +The closest a target comes to supporting full asynchronous mode are +the remote targets ``async'' and ``extended-async''. -Modify the naked "until" command to step until past the current source -line, rather than past the current pc value. This is tricky simply -because the low level routines have no way of specifying a multi-line -step range, and there is no way of saying "don't print stuff when we -stop" from above (otherwise could just call step many times). - -Modify the handling of symbols grouped through BINCL/EINCL stabs to -allocate a partial symtab for each BINCL/EINCL grouping. This will -seriously decrease the size of inter-psymtab dependencies and hence -lessen the amount that needs to be read in when a new source file is -accessed. - -Do an "x/i $pc" after each stepi or nexti. - -Modify all of the disassemblers to use printf_filtered to get correct -more filtering. - -Modify gdb to work correctly with Pascal. - -Add a command for searching memory, a la adb. It specifies size, -mask, value, start address. ADB searches until it finds it or hits -an error (or is interrupted). +-- # Local Variables: # mode: text diff --git a/contrib/gdb/gdb/abug-rom.c b/contrib/gdb/gdb/abug-rom.c index e1bd628..b4c44a9 100644 --- a/contrib/gdb/gdb/abug-rom.c +++ b/contrib/gdb/gdb/abug-rom.c @@ -1,5 +1,6 @@ /* Remote debugging interface for ABug Rom monitor for GDB, the GNU debugger. - Copyright 1995, 1996, 1998 Free Software Foundation, Inc. + Copyright 1995, 1996, 1998, 1999, 2000, 2001 + Free Software Foundation, Inc. Written by Rob Savoye of Cygnus Support @@ -25,17 +26,14 @@ #include "target.h" #include "monitor.h" #include "serial.h" +#include "regcache.h" /* Prototypes for local functions. */ -static void abug_open PARAMS ((char *args, int from_tty)); +static void abug_open (char *args, int from_tty); static void -abug_supply_register (regname, regnamelen, val, vallen) - char *regname; - int regnamelen; - char *val; - int vallen; +abug_supply_register (char *regname, int regnamelen, char *val, int vallen) { int regno; @@ -148,15 +146,13 @@ init_abug_cmds (void) }; static void -abug_open (args, from_tty) - char *args; - int from_tty; +abug_open (char *args, int from_tty) { monitor_open (args, &abug_cmds, from_tty); } void -_initialize_abug_rom () +_initialize_abug_rom (void) { init_abug_cmds (); init_monitor_ops (&abug_ops); diff --git a/contrib/gdb/gdb/acconfig.h b/contrib/gdb/gdb/acconfig.h index 1199194..664bbcf 100644 --- a/contrib/gdb/gdb/acconfig.h +++ b/contrib/gdb/gdb/acconfig.h @@ -1,6 +1,12 @@ /* Define if compiling on Solaris 7. */ #undef _MSE_INT_H +/* Define if your struct reg has r_fs. */ +#undef HAVE_STRUCT_REG_R_FS + +/* Define if your struct reg has r_gs. */ +#undef HAVE_STRUCT_REG_R_GS + /* Define if pstatus_t type is available */ #undef HAVE_PSTATUS_T @@ -25,6 +31,40 @@ /* Define if has psaddr_t. */ #undef HAVE_PSADDR_T +/* Define if has prgregset32_t. */ +#undef HAVE_PRGREGSET32_T + +/* Define if has prfpregset32_t. */ +#undef HAVE_PRFPREGSET32_T + +/* Define if has prsysent_t */ +#undef HAVE_PRSYSENT_T + +/* Define if has pr_sigset_t */ +#undef HAVE_PR_SIGSET_T + +/* Define if has pr_sigaction64_t */ +#undef HAVE_PR_SIGACTION64_T + +/* Define if has pr_siginfo64_t */ +#undef HAVE_PR_SIGINFO64_T + +/* Define if exists and defines struct link_map which has + members with an ``l_'' prefix. (For Solaris, SVR4, and + SVR4-like systems.) */ +#undef HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS + +/* Define if exists and defines struct link_map which has + members with an ``lm_'' prefix. (For SunOS.) */ +#undef HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS + +/* Define if exists and defines a struct so_map which has + members with an ``som_'' prefix. (Found on older *BSD systems.) */ +#undef HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS + +/* Define if has struct link_map32 */ +#undef HAVE_STRUCT_LINK_MAP32 + /* Define if the prfpregset_t type is broken. */ #undef PRFPREGSET_T_BROKEN @@ -104,5 +144,32 @@ /* Define if defines the PTRACE_GETREGS request. */ #undef HAVE_PTRACE_GETREGS -/* Define if defines the PTRACE_GETXFPREGS request. */ -#undef HAVE_PTRACE_GETXFPREGS +/* Define if defines the PTRACE_GETFPXREGS request. */ +#undef HAVE_PTRACE_GETFPXREGS + +/* Define if defines the PT_GETDBREGS request. */ +#undef HAVE_PT_GETDBREGS + +/* Define if defines the PT_GETXMMREGS request. */ +#undef HAVE_PT_GETXMMREGS + +/* Define if gnu-regex.c included with GDB should be used. */ +#undef USE_INCLUDED_REGEX + +/* BFD's default architecture. */ +#undef DEFAULT_BFD_ARCH + +/* BFD's default target vector. */ +#undef DEFAULT_BFD_VEC + +/* Multi-arch enabled. */ +#undef GDB_MULTI_ARCH + +/* hostfile */ +#undef GDB_XM_FILE + +/* targetfile */ +#undef GDB_TM_FILE + +/* nativefile */ +#undef GDB_NM_FILE diff --git a/contrib/gdb/gdb/acinclude.m4 b/contrib/gdb/gdb/acinclude.m4 index 43a0b0d..12f4c48 100644 --- a/contrib/gdb/gdb/acinclude.m4 +++ b/contrib/gdb/gdb/acinclude.m4 @@ -493,7 +493,7 @@ AC_DEFUN(CY_AC_PATH_ITCLCONFIG, [ if test x"${no_itcl}" = x ; then # we reset no_itcl in case something fails here no_itcl=true - AC_ARG_WITH(itclconfig, [ --with-itclconfig directory containing itcl configuration (itclConfig.sh)], + AC_ARG_WITH(itclconfig, [ --with-itclconfig Directory containing itcl configuration (itclConfig.sh)], with_itclconfig=${withval}) AC_MSG_CHECKING([for Itcl configuration]) AC_CACHE_VAL(ac_cv_c_itclconfig,[ @@ -619,7 +619,7 @@ AC_DEFUN(CY_AC_PATH_ITKCONFIG, [ if test x"${no_itk}" = x ; then # we reset no_itk in case something fails here no_itk=true - AC_ARG_WITH(itkconfig, [ --with-itkconfig directory containing itk configuration (itkConfig.sh)], + AC_ARG_WITH(itkconfig, [ --with-itkconfig Directory containing itk configuration (itkConfig.sh)], with_itkconfig=${withval}) AC_MSG_CHECKING([for Itk configuration]) AC_CACHE_VAL(ac_cv_c_itkconfig,[ @@ -765,7 +765,7 @@ AC_DEFUN(CY_AC_PATH_TIXCONFIG, [ if test x"${no_tix}" = x ; then # we reset no_tix in case something fails here no_tix=true - AC_ARG_WITH(tixconfig, [ --with-tixconfig directory containing tix configuration (tixConfig.sh)], + AC_ARG_WITH(tixconfig, [ --with-tixconfig Directory containing tix configuration (tixConfig.sh)], with_tixconfig=${withval}) AC_MSG_CHECKING([for Tix configuration]) AC_CACHE_VAL(ac_cv_c_tixconfig,[ @@ -859,3 +859,120 @@ dnl AC_SUBST(TIX_BUILD_INCLUDES) AC_SUBST(TIX_BUILD_LIB_SPEC) dnl AC_SUBST(TIX_LIB_SPEC) ]) + +dnl sinclude(../gettext.m4) already included by bfd/acinclude.m4 +dnl The lines below arrange for aclocal not to bring gettext.m4's +dnl CY_GNU_GETTEXT into aclocal.m4. +ifelse(yes,no,[ +AC_DEFUN([CY_GNU_GETTEXT],) +]) + +## ----------------------------------------- ## +## ANSIfy the C compiler whenever possible. ## +## From Franc,ois Pinard ## +## ----------------------------------------- ## + +# Copyright 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# @defmac AC_PROG_CC_STDC +# @maindex PROG_CC_STDC +# @ovindex CC +# If the C compiler in not in ANSI C mode by default, try to add an option +# to output variable @code{CC} to make it so. This macro tries various +# options that select ANSI C on some system or another. It considers the +# compiler to be in ANSI C mode if it handles function prototypes correctly. +# +# If you use this macro, you should check after calling it whether the C +# compiler has been set to accept ANSI C; if not, the shell variable +# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source +# code in ANSI C, you can make an un-ANSIfied copy of it by using the +# program @code{ansi2knr}, which comes with Ghostscript. +# @end defmac + +AC_DEFUN([AM_PROG_CC_STDC], +[AC_REQUIRE([AC_PROG_CC]) +AC_BEFORE([$0], [AC_C_INLINE]) +AC_BEFORE([$0], [AC_C_CONST]) +dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require +dnl a magic option to avoid problems with ANSI preprocessor commands +dnl like #elif. +dnl FIXME: can't do this because then AC_AIX won't work due to a +dnl circular dependency. +dnl AC_BEFORE([$0], [AC_PROG_CPP]) +AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C]) +AC_CACHE_VAL(am_cv_prog_cc_stdc, +[am_cv_prog_cc_stdc=no +ac_save_CC="$CC" +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + AC_TRY_COMPILE( +[#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +], [ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; +], +[am_cv_prog_cc_stdc="$ac_arg"; break]) +done +CC="$ac_save_CC" +]) +if test -z "$am_cv_prog_cc_stdc"; then + AC_MSG_RESULT([none needed]) +else + AC_MSG_RESULT([$am_cv_prog_cc_stdc]) +fi +case "x$am_cv_prog_cc_stdc" in + x|xno) ;; + *) CC="$CC $am_cv_prog_cc_stdc" ;; +esac +]) diff --git a/contrib/gdb/gdb/aclocal.m4 b/contrib/gdb/gdb/aclocal.m4 index 4fd3658..5b9d643 100644 --- a/contrib/gdb/gdb/aclocal.m4 +++ b/contrib/gdb/gdb/aclocal.m4 @@ -505,7 +505,7 @@ AC_DEFUN(CY_AC_PATH_ITCLCONFIG, [ if test x"${no_itcl}" = x ; then # we reset no_itcl in case something fails here no_itcl=true - AC_ARG_WITH(itclconfig, [ --with-itclconfig directory containing itcl configuration (itclConfig.sh)], + AC_ARG_WITH(itclconfig, [ --with-itclconfig Directory containing itcl configuration (itclConfig.sh)], with_itclconfig=${withval}) AC_MSG_CHECKING([for Itcl configuration]) AC_CACHE_VAL(ac_cv_c_itclconfig,[ @@ -631,7 +631,7 @@ AC_DEFUN(CY_AC_PATH_ITKCONFIG, [ if test x"${no_itk}" = x ; then # we reset no_itk in case something fails here no_itk=true - AC_ARG_WITH(itkconfig, [ --with-itkconfig directory containing itk configuration (itkConfig.sh)], + AC_ARG_WITH(itkconfig, [ --with-itkconfig Directory containing itk configuration (itkConfig.sh)], with_itkconfig=${withval}) AC_MSG_CHECKING([for Itk configuration]) AC_CACHE_VAL(ac_cv_c_itkconfig,[ @@ -777,7 +777,7 @@ AC_DEFUN(CY_AC_PATH_TIXCONFIG, [ if test x"${no_tix}" = x ; then # we reset no_tix in case something fails here no_tix=true - AC_ARG_WITH(tixconfig, [ --with-tixconfig directory containing tix configuration (tixConfig.sh)], + AC_ARG_WITH(tixconfig, [ --with-tixconfig Directory containing tix configuration (tixConfig.sh)], with_tixconfig=${withval}) AC_MSG_CHECKING([for Tix configuration]) AC_CACHE_VAL(ac_cv_c_tixconfig,[ @@ -872,6 +872,30 @@ dnl AC_SUBST(TIX_BUILD_INCLUDES) dnl AC_SUBST(TIX_LIB_SPEC) ]) +dnl sinclude(../gettext.m4) already included by bfd/acinclude.m4 +dnl The lines below arrange for aclocal not to bring gettext.m4's +dnl CY_GNU_GETTEXT into aclocal.m4. +ifelse(yes,no,[ +AC_DEFUN([CY_GNU_GETTEXT],) +]) + + +# Copyright 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. # serial 1 @@ -890,7 +914,7 @@ dnl AC_SUBST(TIX_LIB_SPEC) # program @code{ansi2knr}, which comes with Ghostscript. # @end defmac -AC_DEFUN(AM_PROG_CC_STDC, +AC_DEFUN([AM_PROG_CC_STDC], [AC_REQUIRE([AC_PROG_CC]) AC_BEFORE([$0], [AC_C_INLINE]) AC_BEFORE([$0], [AC_C_CONST]) @@ -900,7 +924,7 @@ dnl like #elif. dnl FIXME: can't do this because then AC_AIX won't work due to a dnl circular dependency. dnl AC_BEFORE([$0], [AC_PROG_CPP]) -AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) +AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C]) AC_CACHE_VAL(am_cv_prog_cc_stdc, [am_cv_prog_cc_stdc=no ac_save_CC="$CC" @@ -908,9 +932,10 @@ ac_save_CC="$CC" # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 -# HP-UX -Aa -D_HPUX_SOURCE +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" AC_TRY_COMPILE( @@ -952,7 +977,7 @@ CC="$ac_save_CC" if test -z "$am_cv_prog_cc_stdc"; then AC_MSG_RESULT([none needed]) else - AC_MSG_RESULT($am_cv_prog_cc_stdc) + AC_MSG_RESULT([$am_cv_prog_cc_stdc]) fi case "x$am_cv_prog_cc_stdc" in x|xno) ;; @@ -960,348 +985,36 @@ case "x$am_cv_prog_cc_stdc" in esac ]) -# This file is derived from `gettext.m4'. The difference is that the -# included macros assume Cygnus-style source and build trees. - -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 3 - -AC_DEFUN(CY_WITH_NLS, - [AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) - - USE_INCLUDED_LIBINTL=no - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if NLS is requested]) - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If gettext or catgets are available (in this order) we - dnl use this. Else we have to fall back to GNU NLS library. - dnl catgets is only used if permitted by option --with-catgets. - nls_cv_header_intl= - nls_cv_header_libgt= - CATOBJEXT=NONE - - AC_CHECK_HEADER(libintl.h, - [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc, - [AC_TRY_LINK([#include ], [return (int) gettext ("")], - gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)]) - - if test "$gt_cv_func_gettext_libc" != "yes"; then - AC_CHECK_LIB(intl, bindtextdomain, - [AC_CACHE_CHECK([for gettext in libintl], - gt_cv_func_gettext_libintl, - [AC_TRY_LINK([], [return (int) gettext ("")], - gt_cv_func_gettext_libintl=yes, - gt_cv_func_gettext_libintl=no)])]) - fi - - if test "$gt_cv_func_gettext_libc" = "yes" \ - || test "$gt_cv_func_gettext_libintl" = "yes"; then - AC_DEFINE(HAVE_GETTEXT, 1, - [Define as 1 if you have gettext and don't want to use GNU gettext.]) - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl - if test "$MSGFMT" != "no"; then - AC_CHECK_FUNCS(dcgettext) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; - return _nl_msg_cat_cntr], - [CATOBJEXT=.gmo - DATADIRNAME=share], - [CATOBJEXT=.mo - DATADIRNAME=lib]) - INSTOBJEXT=.mo - fi - fi - ]) - - dnl In the standard gettext, we would now check for catgets. - dnl However, we never want to use catgets for our releases. - - if test "$CATOBJEXT" = "NONE"; then - dnl Neither gettext nor catgets in included in the C library. - dnl Fall back on GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - INTLOBJS="\$(GETTOBJS)" - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_SUBST(MSGFMT) - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INSTOBJEXT=.mo - DATADIRNAME=share - INTLDEPS='$(top_builddir)/../intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=libintl.h - nls_cv_header_libgt=libgettext.h - fi - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - AC_MSG_RESULT( - [found xgettext programs is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - else - DATADIRNAME=share - nls_cv_header_intl=libintl.h - nls_cv_header_libgt=libgettext.h - fi - - # If this is used in GNU gettext we have to set USE_NLS to `yes' - # because some of the sources are only built for this goal. - if test "$PACKAGE" = gettext; then - USE_NLS=yes - USE_INCLUDED_LIBINTL=yes - fi - - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - dnl Make all variables we use known to autoconf. - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATALOGS) - AC_SUBST(CATOBJEXT) - AC_SUBST(DATADIRNAME) - AC_SUBST(GMOFILES) - AC_SUBST(INSTOBJEXT) - AC_SUBST(INTLDEPS) - AC_SUBST(INTLLIBS) - AC_SUBST(INTLOBJS) - AC_SUBST(POFILES) - AC_SUBST(POSUB) - ]) - -AC_DEFUN(CY_GNU_GETTEXT, - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_PROG_RANLIB])dnl - AC_REQUIRE([AC_ISC_POSIX])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_C_CONST])dnl - AC_REQUIRE([AC_C_INLINE])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - - AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \ -unistd.h values.h sys/param.h]) - AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next]) - - if test "${ac_cv_func_stpcpy+set}" != "set"; then - AC_CHECK_FUNCS(stpcpy) - fi - if test "${ac_cv_func_stpcpy}" = "yes"; then - AC_DEFINE(HAVE_STPCPY, 1, [Define if you have the stpcpy function]) - fi - - AM_LC_MESSAGES - CY_WITH_NLS - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi - - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - dnl The reference to in the installed file - dnl must be resolved because we cannot expect the users of this - dnl to define HAVE_LOCALE_H. - if test $ac_cv_header_locale_h = yes; then - INCLUDE_LOCALE_H="#include " - else - INCLUDE_LOCALE_H="\ -/* The system does not provide the header . Take care yourself. */" - fi - AC_SUBST(INCLUDE_LOCALE_H) - - dnl Determine which catalog format we have (if any is needed) - dnl For now we know about two different formats: - dnl Linux libc-5 and the normal X/Open format - if test -f $srcdir/po2tbl.sed.in; then - if test "$CATOBJEXT" = ".cat"; then - AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen) - - dnl Transform the SED scripts while copying because some dumb SEDs - dnl cannot handle comments. - sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed - fi - dnl po2tbl.sed is always needed. - sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ - $srcdir/po2tbl.sed.in > po2tbl.sed - fi - - dnl In the intl/Makefile.in we have a special dependency which makes - dnl only sense for gettext. We comment this out for non-gettext - dnl packages. - if test "$PACKAGE" = "gettext"; then - GT_NO="#NO#" - GT_YES= - else - GT_NO= - GT_YES="#YES#" - fi - AC_SUBST(GT_NO) - AC_SUBST(GT_YES) - - MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs" - AC_SUBST(MKINSTALLDIRS) - - dnl *** For now the libtool support in intl/Makefile is not for real. - l= - AC_SUBST(l) - - dnl Generate list of files to be processed by xgettext which will - dnl be included in po/Makefile. But only do this if the po directory - dnl exists in srcdir. - if test -d $srcdir/po; then - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - fi - ]) - -# Search path for a program which passes the given test. -# Ulrich Drepper , 1996. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering # serial 1 -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN(AM_PATH_PROG_WITH_TEST, -[# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, -[case "[$]$1" in - /*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test -n "[$]$1"; then - AC_MSG_RESULT([$]$1) +AC_DEFUN(AM_MAINTAINER_MODE, +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT($USE_MAINTAINER_MODE) + AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +# Define a conditional. + +AC_DEFUN(AM_CONDITIONAL, +[AC_SUBST($1_TRUE) +AC_SUBST($1_FALSE) +if $2; then + $1_TRUE= + $1_FALSE='#' else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl -]) - -# Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - -AC_DEFUN(AM_LC_MESSAGES, - [if test $ac_cv_header_locale_h = yes; then - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include ], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, - [Define if your locale.h file contains LC_MESSAGES.]) - fi - fi]) + $1_TRUE='#' + $1_FALSE= +fi]) diff --git a/contrib/gdb/gdb/alpha-nat.c b/contrib/gdb/gdb/alpha-nat.c index 089e56f..f7e565b 100644 --- a/contrib/gdb/gdb/alpha-nat.c +++ b/contrib/gdb/gdb/alpha-nat.c @@ -1,5 +1,6 @@ /* Low level Alpha interface, for GDB when running native. - Copyright 1993, 1995, 1996, 1998 Free Software Foundation, Inc. + Copyright 1993, 1995, 1996, 1998, 1999, 2000, 2001 + Free Software Foundation, Inc. This file is part of GDB. @@ -22,21 +23,20 @@ #include "inferior.h" #include "gdbcore.h" #include "target.h" +#include "regcache.h" #include #ifdef __linux__ #include #include #else -#include +#include #endif #include /* Prototypes for local functions. */ -static void fetch_osf_core_registers PARAMS ((char *, - unsigned, int, CORE_ADDR)); -static void fetch_elf_core_registers PARAMS ((char *, - unsigned, int, CORE_ADDR)); +static void fetch_osf_core_registers (char *, unsigned, int, CORE_ADDR); +static void fetch_elf_core_registers (char *, unsigned, int, CORE_ADDR); /* Size of elements in jmpbuf */ @@ -57,8 +57,7 @@ static void fetch_elf_core_registers PARAMS ((char *, This routine returns true on success. */ int -get_longjmp_target (pc) - CORE_ADDR *pc; +get_longjmp_target (CORE_ADDR *pc) { CORE_ADDR jb_addr; char raw_buffer[MAX_REGISTER_RAW_SIZE]; @@ -87,20 +86,32 @@ get_longjmp_target (pc) */ static void -fetch_osf_core_registers (core_reg_sect, core_reg_size, which, reg_addr) - char *core_reg_sect; - unsigned core_reg_size; - int which; - CORE_ADDR reg_addr; +fetch_osf_core_registers (char *core_reg_sect, unsigned core_reg_size, + int which, CORE_ADDR reg_addr) { register int regno; register int addr; int bad_reg = -1; - /* Table to map a gdb regnum to an index in the core register section. - The floating point register values are garbage in OSF/1.2 core files. */ + /* Table to map a gdb regnum to an index in the core register + section. The floating point register values are garbage in + OSF/1.2 core files. OSF5 uses different names for the register + enum list, need to handle two cases. The actual values are the + same. */ static int core_reg_mapping[NUM_REGS] = { +#ifdef NCF_REGS +#define EFL NCF_REGS + CF_V0, CF_T0, CF_T1, CF_T2, CF_T3, CF_T4, CF_T5, CF_T6, + CF_T7, CF_S0, CF_S1, CF_S2, CF_S3, CF_S4, CF_S5, CF_S6, + CF_A0, CF_A1, CF_A2, CF_A3, CF_A4, CF_A5, CF_T8, CF_T9, + CF_T10, CF_T11, CF_RA, CF_T12, CF_AT, CF_GP, CF_SP, -1, + EFL + 0, EFL + 1, EFL + 2, EFL + 3, EFL + 4, EFL + 5, EFL + 6, EFL + 7, + EFL + 8, EFL + 9, EFL + 10, EFL + 11, EFL + 12, EFL + 13, EFL + 14, EFL + 15, + EFL + 16, EFL + 17, EFL + 18, EFL + 19, EFL + 20, EFL + 21, EFL + 22, EFL + 23, + EFL + 24, EFL + 25, EFL + 26, EFL + 27, EFL + 28, EFL + 29, EFL + 30, EFL + 31, + CF_PC, -1 +#else #define EFL (EF_SIZE / 8) EF_V0, EF_T0, EF_T1, EF_T2, EF_T3, EF_T4, EF_T5, EF_T6, EF_T7, EF_S0, EF_S1, EF_S2, EF_S3, EF_S4, EF_S5, EF_S6, @@ -111,6 +122,7 @@ fetch_osf_core_registers (core_reg_sect, core_reg_size, which, reg_addr) EFL + 16, EFL + 17, EFL + 18, EFL + 19, EFL + 20, EFL + 21, EFL + 22, EFL + 23, EFL + 24, EFL + 25, EFL + 26, EFL + 27, EFL + 28, EFL + 29, EFL + 30, EFL + 31, EF_PC, -1 +#endif }; static char zerobuf[MAX_REGISTER_RAW_SIZE] = {0}; @@ -140,11 +152,8 @@ fetch_osf_core_registers (core_reg_sect, core_reg_size, which, reg_addr) } static void -fetch_elf_core_registers (core_reg_sect, core_reg_size, which, reg_addr) - char *core_reg_sect; - unsigned core_reg_size; - int which; - CORE_ADDR reg_addr; +fetch_elf_core_registers (char *core_reg_sect, unsigned core_reg_size, + int which, CORE_ADDR reg_addr) { if (core_reg_size < 32 * 8) { @@ -183,15 +192,13 @@ fetch_elf_core_registers (core_reg_sect, core_reg_size, which, reg_addr) /* Return the ptrace ``address'' of register REGNO. */ CORE_ADDR -register_addr (regno, blockend) - int regno; - CORE_ADDR blockend; +register_addr (int regno, CORE_ADDR blockend) { return REGISTER_PTRACE_ADDR (regno); } int -kernel_u_size () +kernel_u_size (void) { return (sizeof (struct user)); } @@ -199,13 +206,15 @@ kernel_u_size () #if defined(USE_PROC_FS) || defined(HAVE_GREGSET_T) #include +/* Prototypes for supply_gregset etc. */ +#include "gregset.h" + /* * See the comment in m68k-tdep.c regarding the utility of these functions. */ void -supply_gregset (gregsetp) - gregset_t *gregsetp; +supply_gregset (gdb_gregset_t *gregsetp) { register int regi; register long *regp = ALPHA_REGSET_BASE (gregsetp); @@ -223,9 +232,7 @@ supply_gregset (gregsetp) } void -fill_gregset (gregsetp, regno) - gregset_t *gregsetp; - int regno; +fill_gregset (gdb_gregset_t *gregsetp, int regno) { int regi; register long *regp = ALPHA_REGSET_BASE (gregsetp); @@ -244,8 +251,7 @@ fill_gregset (gregsetp, regno) */ void -supply_fpregset (fpregsetp) - fpregset_t *fpregsetp; +supply_fpregset (gdb_fpregset_t *fpregsetp) { register int regi; register long *regp = ALPHA_REGSET_BASE (fpregsetp); @@ -255,9 +261,7 @@ supply_fpregset (fpregsetp) } void -fill_fpregset (fpregsetp, regno) - fpregset_t *fpregsetp; - int regno; +fill_fpregset (gdb_fpregset_t *fpregsetp, int regno) { int regi; register long *regp = ALPHA_REGSET_BASE (fpregsetp); @@ -297,7 +301,7 @@ static struct core_fns alpha_elf_core_fns = }; void -_initialize_core_alpha () +_initialize_core_alpha (void) { add_core_fns (&alpha_osf_core_fns); add_core_fns (&alpha_elf_core_fns); diff --git a/contrib/gdb/gdb/alpha-tdep.c b/contrib/gdb/gdb/alpha-tdep.c index 0201016..4ca6bcc 100644 --- a/contrib/gdb/gdb/alpha-tdep.c +++ b/contrib/gdb/gdb/alpha-tdep.c @@ -1,21 +1,23 @@ /* Target-dependent code for the ALPHA architecture, for GDB, the GNU Debugger. - Copyright 1993, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 + Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "defs.h" #include "frame.h" @@ -28,42 +30,57 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "symfile.h" #include "objfiles.h" #include "gdb_string.h" +#include "linespec.h" +#include "regcache.h" +#include "doublest.h" + +struct frame_extra_info + { + alpha_extra_func_info_t proc_desc; + int localoff; + int pc_reg; + }; /* FIXME: Some of this code should perhaps be merged with mips-tdep.c. */ /* Prototypes for local functions. */ -static alpha_extra_func_info_t push_sigtramp_desc PARAMS ((CORE_ADDR low_addr)); +static void alpha_find_saved_regs (struct frame_info *); -static CORE_ADDR read_next_frame_reg PARAMS ((struct frame_info *, int)); +static alpha_extra_func_info_t push_sigtramp_desc (CORE_ADDR low_addr); -static CORE_ADDR heuristic_proc_start PARAMS ((CORE_ADDR)); +static CORE_ADDR read_next_frame_reg (struct frame_info *, int); -static alpha_extra_func_info_t heuristic_proc_desc PARAMS ((CORE_ADDR, - CORE_ADDR, - struct frame_info *)); +static CORE_ADDR heuristic_proc_start (CORE_ADDR); -static alpha_extra_func_info_t find_proc_desc PARAMS ((CORE_ADDR, - struct frame_info *)); +static alpha_extra_func_info_t heuristic_proc_desc (CORE_ADDR, + CORE_ADDR, + struct frame_info *); + +static alpha_extra_func_info_t find_proc_desc (CORE_ADDR, + struct frame_info *); #if 0 -static int alpha_in_lenient_prologue PARAMS ((CORE_ADDR, CORE_ADDR)); +static int alpha_in_lenient_prologue (CORE_ADDR, CORE_ADDR); #endif -static void reinit_frame_cache_sfunc PARAMS ((char *, int, - struct cmd_list_element *)); +static void reinit_frame_cache_sfunc (char *, int, struct cmd_list_element *); + +static CORE_ADDR after_prologue (CORE_ADDR pc, + alpha_extra_func_info_t proc_desc); -static CORE_ADDR after_prologue PARAMS ((CORE_ADDR pc, - alpha_extra_func_info_t proc_desc)); +static int alpha_in_prologue (CORE_ADDR pc, + alpha_extra_func_info_t proc_desc); -static int alpha_in_prologue PARAMS ((CORE_ADDR pc, - alpha_extra_func_info_t proc_desc)); +static int alpha_about_to_return (CORE_ADDR pc); + +void _initialize_alpha_tdep (void); /* Heuristic_proc_start may hunt through the text section for a long time across a 2400 baud serial line. Allows the user to limit this search. */ static unsigned int heuristic_fence_post = 0; - +/* *INDENT-OFF* */ /* Layout of a stack frame on the alpha: | | @@ -106,10 +123,16 @@ static unsigned int heuristic_fence_post = 0; -------------|-------------------------------|<-- sp | | */ +/* *INDENT-ON* */ + -#define PROC_LOW_ADDR(proc) ((proc)->pdr.adr) /* least address */ -#define PROC_HIGH_ADDR(proc) ((proc)->pdr.iline) /* upper address bound */ -#define PROC_DUMMY_FRAME(proc) ((proc)->pdr.iopt) /* frame for CALL_DUMMY */ + +#define PROC_LOW_ADDR(proc) ((proc)->pdr.adr) /* least address */ +/* These next two fields are kind of being hijacked. I wonder if + iline is too small for the values it needs to hold, if GDB is + running on a 32-bit host. */ +#define PROC_HIGH_ADDR(proc) ((proc)->pdr.iline) /* upper address bound */ +#define PROC_DUMMY_FRAME(proc) ((proc)->pdr.cbLineOffset) /*CALL_DUMMY frame */ #define PROC_FRAME_OFFSET(proc) ((proc)->pdr.frameoffset) #define PROC_FRAME_REG(proc) ((proc)->pdr.framereg) #define PROC_REG_MASK(proc) ((proc)->pdr.regmask) @@ -124,21 +147,27 @@ static unsigned int heuristic_fence_post = 0; #define SET_PROC_DESC_IS_DUMMY(proc) ((proc)->pdr.isym = _PROC_MAGIC_) struct linked_proc_info + { + struct alpha_extra_func_info info; + struct linked_proc_info *next; + } + *linked_proc_desc_table = NULL; + +int +alpha_osf_in_sigtramp (CORE_ADDR pc, char *func_name) { - struct alpha_extra_func_info info; - struct linked_proc_info *next; -} *linked_proc_desc_table = NULL; + return (func_name != NULL && STREQ ("__sigtramp", func_name)); +} - /* Under GNU/Linux, signal handler invocations can be identified by the designated code sequence that is used to return from a signal handler. In particular, the return address of a signal handler points to the following sequence (the first instruction is quadword aligned): - bis $30,$30,$16 - addq $31,0x67,$0 - call_pal callsys + bis $30,$30,$16 + addq $31,0x67,$0 + call_pal callsys Each instruction has a unique encoding, so we simply attempt to match the instruction the pc is pointing to with any of the above @@ -152,24 +181,36 @@ struct linked_proc_info middle of the designated sequence, in which case there is no guarantee that we are in the middle of a sigreturn syscall. Don't think this will be a problem in praxis, though. -*/ + */ +#ifndef TM_LINUXALPHA_H +/* HACK: Provide a prototype when compiling this file for non + linuxalpha targets. */ +long alpha_linux_sigtramp_offset (CORE_ADDR pc); +#endif long alpha_linux_sigtramp_offset (CORE_ADDR pc) { unsigned int i[3], w; long off; - if (read_memory_nobpt(pc, (char *) &w, 4) != 0) + if (read_memory_nobpt (pc, (char *) &w, 4) != 0) return -1; off = -1; switch (w) { - case 0x47de0410: off = 0; break; /* bis $30,$30,$16 */ - case 0x43ecf400: off = 4; break; /* addq $31,0x67,$0 */ - case 0x00000083: off = 8; break; /* call_pal callsys */ - default: return -1; + case 0x47de0410: + off = 0; + break; /* bis $30,$30,$16 */ + case 0x43ecf400: + off = 4; + break; /* addq $31,0x67,$0 */ + case 0x00000083: + off = 8; + break; /* call_pal callsys */ + default: + return -1; } pc -= off; if (pc & 0x7) @@ -178,7 +219,7 @@ alpha_linux_sigtramp_offset (CORE_ADDR pc) return -1; } - if (read_memory_nobpt(pc, (char *) i, sizeof(i)) != 0) + if (read_memory_nobpt (pc, (char *) i, sizeof (i)) != 0) return -1; if (i[0] == 0x47de0410 && i[1] == 0x43ecf400 && i[2] == 0x00000083) @@ -186,31 +227,28 @@ alpha_linux_sigtramp_offset (CORE_ADDR pc) return -1; } - + /* Under OSF/1, the __sigtramp routine is frameless and has a frame size of zero, but we are able to backtrace through it. */ CORE_ADDR -alpha_osf_skip_sigtramp_frame (frame, pc) - struct frame_info *frame; - CORE_ADDR pc; +alpha_osf_skip_sigtramp_frame (struct frame_info *frame, CORE_ADDR pc) { char *name; - find_pc_partial_function (pc, &name, (CORE_ADDR *)NULL, (CORE_ADDR *)NULL); + find_pc_partial_function (pc, &name, (CORE_ADDR *) NULL, (CORE_ADDR *) NULL); if (IN_SIGTRAMP (pc, name)) return frame->frame; else return 0; } - + /* Dynamically create a signal-handler caller procedure descriptor for the signal-handler return code starting at address LOW_ADDR. The descriptor is added to the linked_proc_desc_table. */ static alpha_extra_func_info_t -push_sigtramp_desc (low_addr) - CORE_ADDR low_addr; +push_sigtramp_desc (CORE_ADDR low_addr) { struct linked_proc_info *link; alpha_extra_func_info_t proc_desc; @@ -223,26 +261,92 @@ push_sigtramp_desc (low_addr) proc_desc = &link->info; proc_desc->numargs = 0; - PROC_LOW_ADDR (proc_desc) = low_addr; - PROC_HIGH_ADDR (proc_desc) = low_addr + 3 * 4; - PROC_DUMMY_FRAME (proc_desc) = 0; - PROC_FRAME_OFFSET (proc_desc) = 0x298; /* sizeof(struct sigcontext_struct) */ - PROC_FRAME_REG (proc_desc) = SP_REGNUM; - PROC_REG_MASK (proc_desc) = 0xffff; - PROC_FREG_MASK (proc_desc) = 0xffff; - PROC_PC_REG (proc_desc) = 26; - PROC_LOCALOFF (proc_desc) = 0; + PROC_LOW_ADDR (proc_desc) = low_addr; + PROC_HIGH_ADDR (proc_desc) = low_addr + 3 * 4; + PROC_DUMMY_FRAME (proc_desc) = 0; + PROC_FRAME_OFFSET (proc_desc) = 0x298; /* sizeof(struct sigcontext_struct) */ + PROC_FRAME_REG (proc_desc) = SP_REGNUM; + PROC_REG_MASK (proc_desc) = 0xffff; + PROC_FREG_MASK (proc_desc) = 0xffff; + PROC_PC_REG (proc_desc) = 26; + PROC_LOCALOFF (proc_desc) = 0; SET_PROC_DESC_IS_DYN_SIGTRAMP (proc_desc); return (proc_desc); } + + +char * +alpha_register_name (int regno) +{ + static char *register_names[] = + { + "v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6", + "t7", "s0", "s1", "s2", "s3", "s4", "s5", "fp", + "a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9", + "t10", "t11", "ra", "t12", "at", "gp", "sp", "zero", + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "fpcr", + "pc", "vfp", + }; + + if (regno < 0) + return (NULL); + if (regno >= (sizeof(register_names) / sizeof(*register_names))) + return (NULL); + return (register_names[regno]); +} + +int +alpha_cannot_fetch_register (int regno) +{ + return (regno == FP_REGNUM || regno == ZERO_REGNUM); +} +int +alpha_cannot_store_register (int regno) +{ + return (regno == FP_REGNUM || regno == ZERO_REGNUM); +} + +int +alpha_register_convertible (int regno) +{ + return (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 31); +} + +struct type * +alpha_register_virtual_type (int regno) +{ + return ((regno >= FP0_REGNUM && regno < (FP0_REGNUM+31)) + ? builtin_type_double : builtin_type_long); +} + +int +alpha_register_byte (int regno) +{ + return (regno * 8); +} + +int +alpha_register_raw_size (int regno) +{ + return 8; +} + +int +alpha_register_virtual_size (int regno) +{ + return 8; +} + /* Guaranteed to set frame->saved_regs to some values (it never leaves it NULL). */ -void -alpha_find_saved_regs (frame) - struct frame_info *frame; +static void +alpha_find_saved_regs (struct frame_info *frame) { int ireg; CORE_ADDR reg_position; @@ -269,19 +373,19 @@ alpha_find_saved_regs (frame) sigcontext_addr = SIGCONTEXT_ADDR (frame); for (ireg = 0; ireg < 32; ireg++) { - reg_position = sigcontext_addr + SIGFRAME_REGSAVE_OFF + ireg * 8; - frame->saved_regs[ireg] = reg_position; + reg_position = sigcontext_addr + SIGFRAME_REGSAVE_OFF + ireg * 8; + frame->saved_regs[ireg] = reg_position; } for (ireg = 0; ireg < 32; ireg++) { - reg_position = sigcontext_addr + SIGFRAME_FPREGSAVE_OFF + ireg * 8; - frame->saved_regs[FP0_REGNUM + ireg] = reg_position; + reg_position = sigcontext_addr + SIGFRAME_FPREGSAVE_OFF + ireg * 8; + frame->saved_regs[FP0_REGNUM + ireg] = reg_position; } frame->saved_regs[PC_REGNUM] = sigcontext_addr + SIGFRAME_PC_OFF; return; } - proc_desc = frame->proc_desc; + proc_desc = frame->extra_info->proc_desc; if (proc_desc == NULL) /* I'm not sure how/whether this can happen. Normally when we can't find a proc_desc, we "synthesize" one using heuristic_proc_desc @@ -302,11 +406,11 @@ alpha_find_saved_regs (frame) { frame->saved_regs[returnreg] = reg_position; reg_position += 8; - mask &= ~(1 << returnreg); /* Clear bit for RA so we - don't save again later. */ + mask &= ~(1 << returnreg); /* Clear bit for RA so we + don't save again later. */ } - for (ireg = 0; ireg <= 31 ; ++ireg) + for (ireg = 0; ireg <= 31; ++ireg) if (mask & (1 << ireg)) { frame->saved_regs[ireg] = reg_position; @@ -319,25 +423,38 @@ alpha_find_saved_regs (frame) reg_position = frame->frame + PROC_FREG_OFFSET (proc_desc); mask = PROC_FREG_MASK (proc_desc); - for (ireg = 0; ireg <= 31 ; ++ireg) + for (ireg = 0; ireg <= 31; ++ireg) if (mask & (1 << ireg)) { - frame->saved_regs[FP0_REGNUM+ireg] = reg_position; + frame->saved_regs[FP0_REGNUM + ireg] = reg_position; reg_position += 8; } frame->saved_regs[PC_REGNUM] = frame->saved_regs[returnreg]; } +void +alpha_frame_init_saved_regs (struct frame_info *fi) +{ + if (fi->saved_regs == NULL) + alpha_find_saved_regs (fi); + fi->saved_regs[SP_REGNUM] = fi->frame; +} + +void +alpha_init_frame_pc_first (int fromleaf, struct frame_info *prev) +{ + prev->pc = (fromleaf ? SAVED_PC_AFTER_CALL (prev->next) : + prev->next ? FRAME_SAVED_PC (prev->next) : read_pc ()); +} + static CORE_ADDR -read_next_frame_reg(fi, regno) - struct frame_info *fi; - int regno; +read_next_frame_reg (struct frame_info *fi, int regno) { for (; fi; fi = fi->next) { /* We have to get the saved sp from the sigcontext - if it is a signal handler frame. */ + if it is a signal handler frame. */ if (regno == SP_REGNUM && !fi->signal_handler_caller) return fi->frame; else @@ -345,30 +462,29 @@ read_next_frame_reg(fi, regno) if (fi->saved_regs == NULL) alpha_find_saved_regs (fi); if (fi->saved_regs[regno]) - return read_memory_integer(fi->saved_regs[regno], 8); + return read_memory_integer (fi->saved_regs[regno], 8); } } - return read_register(regno); + return read_register (regno); } CORE_ADDR -alpha_frame_saved_pc(frame) - struct frame_info *frame; +alpha_frame_saved_pc (struct frame_info *frame) { - alpha_extra_func_info_t proc_desc = frame->proc_desc; + alpha_extra_func_info_t proc_desc = frame->extra_info->proc_desc; /* We have to get the saved pc from the sigcontext if it is a signal handler frame. */ - int pcreg = frame->signal_handler_caller ? PC_REGNUM : frame->pc_reg; + int pcreg = frame->signal_handler_caller ? PC_REGNUM + : frame->extra_info->pc_reg; - if (proc_desc && PROC_DESC_IS_DUMMY(proc_desc)) - return read_memory_integer(frame->frame - 8, 8); + if (proc_desc && PROC_DESC_IS_DUMMY (proc_desc)) + return read_memory_integer (frame->frame - 8, 8); - return read_next_frame_reg(frame, pcreg); + return read_next_frame_reg (frame, pcreg); } CORE_ADDR -alpha_saved_pc_after_call (frame) - struct frame_info *frame; +alpha_saved_pc_after_call (struct frame_info *frame) { CORE_ADDR pc = frame->pc; CORE_ADDR tmp; @@ -391,14 +507,13 @@ alpha_saved_pc_after_call (frame) static struct alpha_extra_func_info temp_proc_desc; -static struct frame_saved_regs temp_saved_regs; +static CORE_ADDR temp_saved_regs[NUM_REGS]; /* Nonzero if instruction at PC is a return instruction. "ret $zero,($ra),1" on alpha. */ static int -alpha_about_to_return (pc) - CORE_ADDR pc; +alpha_about_to_return (CORE_ADDR pc) { return read_memory_integer (pc, 4) == 0x6bfa8001; } @@ -410,186 +525,183 @@ alpha_about_to_return (pc) lines. */ static CORE_ADDR -heuristic_proc_start(pc) - CORE_ADDR pc; +heuristic_proc_start (CORE_ADDR pc) { - CORE_ADDR start_pc = pc; - CORE_ADDR fence = start_pc - heuristic_fence_post; + CORE_ADDR start_pc = pc; + CORE_ADDR fence = start_pc - heuristic_fence_post; - if (start_pc == 0) return 0; + if (start_pc == 0) + return 0; - if (heuristic_fence_post == UINT_MAX - || fence < VM_MIN_ADDRESS) - fence = VM_MIN_ADDRESS; + if (heuristic_fence_post == UINT_MAX + || fence < VM_MIN_ADDRESS) + fence = VM_MIN_ADDRESS; - /* search back for previous return */ - for (start_pc -= 4; ; start_pc -= 4) - if (start_pc < fence) + /* search back for previous return */ + for (start_pc -= 4;; start_pc -= 4) + if (start_pc < fence) + { + /* It's not clear to me why we reach this point when + stop_soon_quietly, but with this test, at least we + don't print out warnings for every child forked (eg, on + decstation). 22apr93 rich@cygnus.com. */ + if (!stop_soon_quietly) { - /* It's not clear to me why we reach this point when - stop_soon_quietly, but with this test, at least we - don't print out warnings for every child forked (eg, on - decstation). 22apr93 rich@cygnus.com. */ - if (!stop_soon_quietly) + static int blurb_printed = 0; + + if (fence == VM_MIN_ADDRESS) + warning ("Hit beginning of text section without finding"); + else + warning ("Hit heuristic-fence-post without finding"); + + warning ("enclosing function for address 0x%s", paddr_nz (pc)); + if (!blurb_printed) { - static int blurb_printed = 0; - - if (fence == VM_MIN_ADDRESS) - warning("Hit beginning of text section without finding"); - else - warning("Hit heuristic-fence-post without finding"); - - warning("enclosing function for address 0x%lx", pc); - if (!blurb_printed) - { - printf_filtered ("\ + printf_filtered ("\ This warning occurs if you are debugging a function without any symbols\n\ (for example, in a stripped executable). In that case, you may wish to\n\ increase the size of the search with the `set heuristic-fence-post' command.\n\ \n\ Otherwise, you told GDB there was a function where there isn't one, or\n\ (more likely) you have encountered a bug in GDB.\n"); - blurb_printed = 1; - } + blurb_printed = 1; } - - return 0; } - else if (alpha_about_to_return (start_pc)) - break; - start_pc += 4; /* skip return */ - return start_pc; + return 0; + } + else if (alpha_about_to_return (start_pc)) + break; + + start_pc += 4; /* skip return */ + return start_pc; } static alpha_extra_func_info_t -heuristic_proc_desc(start_pc, limit_pc, next_frame) - CORE_ADDR start_pc, limit_pc; - struct frame_info *next_frame; +heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc, + struct frame_info *next_frame) { - CORE_ADDR sp = read_next_frame_reg (next_frame, SP_REGNUM); - CORE_ADDR cur_pc; - int frame_size; - int has_frame_reg = 0; - unsigned long reg_mask = 0; - int pcreg = -1; - - if (start_pc == 0) - return NULL; - memset (&temp_proc_desc, '\0', sizeof(temp_proc_desc)); - memset (&temp_saved_regs, '\0', sizeof(struct frame_saved_regs)); - PROC_LOW_ADDR (&temp_proc_desc) = start_pc; - - if (start_pc + 200 < limit_pc) - limit_pc = start_pc + 200; - frame_size = 0; - for (cur_pc = start_pc; cur_pc < limit_pc; cur_pc += 4) - { - char buf[4]; - unsigned long word; - int status; + CORE_ADDR sp = read_next_frame_reg (next_frame, SP_REGNUM); + CORE_ADDR cur_pc; + int frame_size; + int has_frame_reg = 0; + unsigned long reg_mask = 0; + int pcreg = -1; + + if (start_pc == 0) + return NULL; + memset (&temp_proc_desc, '\0', sizeof (temp_proc_desc)); + memset (&temp_saved_regs, '\0', SIZEOF_FRAME_SAVED_REGS); + PROC_LOW_ADDR (&temp_proc_desc) = start_pc; + + if (start_pc + 200 < limit_pc) + limit_pc = start_pc + 200; + frame_size = 0; + for (cur_pc = start_pc; cur_pc < limit_pc; cur_pc += 4) + { + char buf[4]; + unsigned long word; + int status; - status = read_memory_nobpt (cur_pc, buf, 4); - if (status) - memory_error (status, cur_pc); - word = extract_unsigned_integer (buf, 4); + status = read_memory_nobpt (cur_pc, buf, 4); + if (status) + memory_error (status, cur_pc); + word = extract_unsigned_integer (buf, 4); - if ((word & 0xffff0000) == 0x23de0000) /* lda $sp,n($sp) */ - { - if (word & 0x8000) - frame_size += (-word) & 0xffff; - else - /* Exit loop if a positive stack adjustment is found, which - usually means that the stack cleanup code in the function - epilogue is reached. */ - break; - } - else if ((word & 0xfc1f0000) == 0xb41e0000 /* stq reg,n($sp) */ - && (word & 0xffff0000) != 0xb7fe0000) /* reg != $zero */ - { - int reg = (word & 0x03e00000) >> 21; - reg_mask |= 1 << reg; - temp_saved_regs.regs[reg] = sp + (short)word; - - /* Starting with OSF/1-3.2C, the system libraries are shipped - without local symbols, but they still contain procedure - descriptors without a symbol reference. GDB is currently - unable to find these procedure descriptors and uses - heuristic_proc_desc instead. - As some low level compiler support routines (__div*, __add*) - use a non-standard return address register, we have to - add some heuristics to determine the return address register, - or stepping over these routines will fail. - Usually the return address register is the first register - saved on the stack, but assembler optimization might - rearrange the register saves. - So we recognize only a few registers (t7, t9, ra) within - the procedure prologue as valid return address registers. - If we encounter a return instruction, we extract the - the return address register from it. - - FIXME: Rewriting GDB to access the procedure descriptors, - e.g. via the minimal symbol table, might obviate this hack. */ - if (pcreg == -1 - && cur_pc < (start_pc + 80) - && (reg == T7_REGNUM || reg == T9_REGNUM || reg == RA_REGNUM)) - pcreg = reg; - } - else if ((word & 0xffe0ffff) == 0x6be08001) /* ret zero,reg,1 */ - pcreg = (word >> 16) & 0x1f; - else if (word == 0x47de040f) /* bis sp,sp fp */ - has_frame_reg = 1; - } - if (pcreg == -1) - { - /* If we haven't found a valid return address register yet, - keep searching in the procedure prologue. */ - while (cur_pc < (limit_pc + 80) && cur_pc < (start_pc + 80)) - { - char buf[4]; - unsigned long word; + if ((word & 0xffff0000) == 0x23de0000) /* lda $sp,n($sp) */ + { + if (word & 0x8000) + frame_size += (-word) & 0xffff; + else + /* Exit loop if a positive stack adjustment is found, which + usually means that the stack cleanup code in the function + epilogue is reached. */ + break; + } + else if ((word & 0xfc1f0000) == 0xb41e0000 /* stq reg,n($sp) */ + && (word & 0xffff0000) != 0xb7fe0000) /* reg != $zero */ + { + int reg = (word & 0x03e00000) >> 21; + reg_mask |= 1 << reg; + temp_saved_regs[reg] = sp + (short) word; + + /* Starting with OSF/1-3.2C, the system libraries are shipped + without local symbols, but they still contain procedure + descriptors without a symbol reference. GDB is currently + unable to find these procedure descriptors and uses + heuristic_proc_desc instead. + As some low level compiler support routines (__div*, __add*) + use a non-standard return address register, we have to + add some heuristics to determine the return address register, + or stepping over these routines will fail. + Usually the return address register is the first register + saved on the stack, but assembler optimization might + rearrange the register saves. + So we recognize only a few registers (t7, t9, ra) within + the procedure prologue as valid return address registers. + If we encounter a return instruction, we extract the + the return address register from it. + + FIXME: Rewriting GDB to access the procedure descriptors, + e.g. via the minimal symbol table, might obviate this hack. */ + if (pcreg == -1 + && cur_pc < (start_pc + 80) + && (reg == T7_REGNUM || reg == T9_REGNUM || reg == RA_REGNUM)) + pcreg = reg; + } + else if ((word & 0xffe0ffff) == 0x6be08001) /* ret zero,reg,1 */ + pcreg = (word >> 16) & 0x1f; + else if (word == 0x47de040f) /* bis sp,sp fp */ + has_frame_reg = 1; + } + if (pcreg == -1) + { + /* If we haven't found a valid return address register yet, + keep searching in the procedure prologue. */ + while (cur_pc < (limit_pc + 80) && cur_pc < (start_pc + 80)) + { + char buf[4]; + unsigned long word; - if (read_memory_nobpt (cur_pc, buf, 4)) - break; - cur_pc += 4; - word = extract_unsigned_integer (buf, 4); + if (read_memory_nobpt (cur_pc, buf, 4)) + break; + cur_pc += 4; + word = extract_unsigned_integer (buf, 4); - if ((word & 0xfc1f0000) == 0xb41e0000 /* stq reg,n($sp) */ - && (word & 0xffff0000) != 0xb7fe0000) /* reg != $zero */ - { - int reg = (word & 0x03e00000) >> 21; - if (reg == T7_REGNUM || reg == T9_REGNUM || reg == RA_REGNUM) - { - pcreg = reg; - break; - } - } - else if ((word & 0xffe0ffff) == 0x6be08001) /* ret zero,reg,1 */ - { - pcreg = (word >> 16) & 0x1f; - break; - } - } - } + if ((word & 0xfc1f0000) == 0xb41e0000 /* stq reg,n($sp) */ + && (word & 0xffff0000) != 0xb7fe0000) /* reg != $zero */ + { + int reg = (word & 0x03e00000) >> 21; + if (reg == T7_REGNUM || reg == T9_REGNUM || reg == RA_REGNUM) + { + pcreg = reg; + break; + } + } + else if ((word & 0xffe0ffff) == 0x6be08001) /* ret zero,reg,1 */ + { + pcreg = (word >> 16) & 0x1f; + break; + } + } + } - if (has_frame_reg) - PROC_FRAME_REG(&temp_proc_desc) = GCC_FP_REGNUM; - else - PROC_FRAME_REG(&temp_proc_desc) = SP_REGNUM; - PROC_FRAME_OFFSET(&temp_proc_desc) = frame_size; - PROC_REG_MASK(&temp_proc_desc) = reg_mask; - PROC_PC_REG(&temp_proc_desc) = (pcreg == -1) ? RA_REGNUM : pcreg; - PROC_LOCALOFF(&temp_proc_desc) = 0; /* XXX - bogus */ - return &temp_proc_desc; + if (has_frame_reg) + PROC_FRAME_REG (&temp_proc_desc) = GCC_FP_REGNUM; + else + PROC_FRAME_REG (&temp_proc_desc) = SP_REGNUM; + PROC_FRAME_OFFSET (&temp_proc_desc) = frame_size; + PROC_REG_MASK (&temp_proc_desc) = reg_mask; + PROC_PC_REG (&temp_proc_desc) = (pcreg == -1) ? RA_REGNUM : pcreg; + PROC_LOCALOFF (&temp_proc_desc) = 0; /* XXX - bogus */ + return &temp_proc_desc; } /* This returns the PC of the first inst after the prologue. If we can't find the prologue, then return 0. */ static CORE_ADDR -after_prologue (pc, proc_desc) - CORE_ADDR pc; - alpha_extra_func_info_t proc_desc; +after_prologue (CORE_ADDR pc, alpha_extra_func_info_t proc_desc) { struct symtab_and_line sal; CORE_ADDR func_addr, func_end; @@ -603,7 +715,7 @@ after_prologue (pc, proc_desc) return PROC_LOW_ADDR (proc_desc); /* "prologue" is in kernel */ /* If function is frameless, then we need to do it the hard way. I - strongly suspect that frameless always means prologueless... */ + strongly suspect that frameless always means prologueless... */ if (PROC_FRAME_REG (proc_desc) == SP_REGNUM && PROC_FRAME_OFFSET (proc_desc) == 0) return 0; @@ -627,9 +739,7 @@ after_prologue (pc, proc_desc) are definitively *not* in a function prologue. */ static int -alpha_in_prologue (pc, proc_desc) - CORE_ADDR pc; - alpha_extra_func_info_t proc_desc; +alpha_in_prologue (CORE_ADDR pc, alpha_extra_func_info_t proc_desc) { CORE_ADDR after_prologue_pc; @@ -643,9 +753,7 @@ alpha_in_prologue (pc, proc_desc) } static alpha_extra_func_info_t -find_proc_desc (pc, next_frame) - CORE_ADDR pc; - struct frame_info *next_frame; +find_proc_desc (CORE_ADDR pc, struct frame_info *next_frame) { alpha_extra_func_info_t proc_desc; struct block *b; @@ -680,7 +788,7 @@ find_proc_desc (pc, next_frame) return found_proc_desc; } - b = block_for_pc(pc); + b = block_for_pc (pc); find_pc_partial_function (pc, NULL, &startaddr, NULL); if (b == NULL) @@ -704,57 +812,57 @@ find_proc_desc (pc, next_frame) if (sym) { - /* IF this is the topmost frame AND - * (this proc does not have debugging information OR - * the PC is in the procedure prologue) - * THEN create a "heuristic" proc_desc (by analyzing - * the actual code) to replace the "official" proc_desc. - */ - proc_desc = (alpha_extra_func_info_t)SYMBOL_VALUE(sym); - if (next_frame == NULL) - { - if (PROC_DESC_IS_DUMMY (proc_desc) || alpha_in_prologue (pc, proc_desc)) - { - alpha_extra_func_info_t found_heuristic = - heuristic_proc_desc (PROC_LOW_ADDR (proc_desc), - pc, next_frame); - if (found_heuristic) - { - PROC_LOCALOFF (found_heuristic) = - PROC_LOCALOFF (proc_desc); - PROC_PC_REG (found_heuristic) = PROC_PC_REG (proc_desc); - proc_desc = found_heuristic; - } - } - } + /* IF this is the topmost frame AND + * (this proc does not have debugging information OR + * the PC is in the procedure prologue) + * THEN create a "heuristic" proc_desc (by analyzing + * the actual code) to replace the "official" proc_desc. + */ + proc_desc = (alpha_extra_func_info_t) SYMBOL_VALUE (sym); + if (next_frame == NULL) + { + if (PROC_DESC_IS_DUMMY (proc_desc) || alpha_in_prologue (pc, proc_desc)) + { + alpha_extra_func_info_t found_heuristic = + heuristic_proc_desc (PROC_LOW_ADDR (proc_desc), + pc, next_frame); + if (found_heuristic) + { + PROC_LOCALOFF (found_heuristic) = + PROC_LOCALOFF (proc_desc); + PROC_PC_REG (found_heuristic) = PROC_PC_REG (proc_desc); + proc_desc = found_heuristic; + } + } + } } else { long offset; /* Is linked_proc_desc_table really necessary? It only seems to be used - by procedure call dummys. However, the procedures being called ought - to have their own proc_descs, and even if they don't, - heuristic_proc_desc knows how to create them! */ + by procedure call dummys. However, the procedures being called ought + to have their own proc_descs, and even if they don't, + heuristic_proc_desc knows how to create them! */ register struct linked_proc_info *link; for (link = linked_proc_desc_table; link; link = link->next) - if (PROC_LOW_ADDR(&link->info) <= pc - && PROC_HIGH_ADDR(&link->info) > pc) - return &link->info; + if (PROC_LOW_ADDR (&link->info) <= pc + && PROC_HIGH_ADDR (&link->info) > pc) + return &link->info; /* If PC is inside a dynamically generated sigtramp handler, - create and push a procedure descriptor for that code: */ + create and push a procedure descriptor for that code: */ offset = DYNAMIC_SIGTRAMP_OFFSET (pc); if (offset >= 0) return push_sigtramp_desc (pc - offset); /* If heuristic_fence_post is non-zero, determine the procedure - start address by examining the instructions. - This allows us to find the start address of static functions which - have no symbolic information, as startaddr would have been set to - the preceding global function start address by the - find_pc_partial_function call above. */ + start address by examining the instructions. + This allows us to find the start address of static functions which + have no symbolic information, as startaddr would have been set to + the preceding global function start address by the + find_pc_partial_function call above. */ if (startaddr == 0 || heuristic_fence_post != 0) startaddr = heuristic_proc_start (pc); @@ -767,70 +875,83 @@ find_proc_desc (pc, next_frame) alpha_extra_func_info_t cached_proc_desc; CORE_ADDR -alpha_frame_chain(frame) - struct frame_info *frame; +alpha_frame_chain (struct frame_info *frame) { - alpha_extra_func_info_t proc_desc; - CORE_ADDR saved_pc = FRAME_SAVED_PC(frame); - - if (saved_pc == 0 || inside_entry_file (saved_pc)) - return 0; - - proc_desc = find_proc_desc(saved_pc, frame); - if (!proc_desc) - return 0; - - cached_proc_desc = proc_desc; - - /* Fetch the frame pointer for a dummy frame from the procedure - descriptor. */ - if (PROC_DESC_IS_DUMMY(proc_desc)) - return (CORE_ADDR) PROC_DUMMY_FRAME(proc_desc); - - /* If no frame pointer and frame size is zero, we must be at end - of stack (or otherwise hosed). If we don't check frame size, - we loop forever if we see a zero size frame. */ - if (PROC_FRAME_REG (proc_desc) == SP_REGNUM - && PROC_FRAME_OFFSET (proc_desc) == 0 - /* The previous frame from a sigtramp frame might be frameless - and have frame size zero. */ - && !frame->signal_handler_caller) - return FRAME_PAST_SIGTRAMP_FRAME (frame, saved_pc); - else - return read_next_frame_reg(frame, PROC_FRAME_REG(proc_desc)) - + PROC_FRAME_OFFSET(proc_desc); + alpha_extra_func_info_t proc_desc; + CORE_ADDR saved_pc = FRAME_SAVED_PC (frame); + + if (saved_pc == 0 || inside_entry_file (saved_pc)) + return 0; + + proc_desc = find_proc_desc (saved_pc, frame); + if (!proc_desc) + return 0; + + cached_proc_desc = proc_desc; + + /* Fetch the frame pointer for a dummy frame from the procedure + descriptor. */ + if (PROC_DESC_IS_DUMMY (proc_desc)) + return (CORE_ADDR) PROC_DUMMY_FRAME (proc_desc); + + /* If no frame pointer and frame size is zero, we must be at end + of stack (or otherwise hosed). If we don't check frame size, + we loop forever if we see a zero size frame. */ + if (PROC_FRAME_REG (proc_desc) == SP_REGNUM + && PROC_FRAME_OFFSET (proc_desc) == 0 + /* The previous frame from a sigtramp frame might be frameless + and have frame size zero. */ + && !frame->signal_handler_caller) + return FRAME_PAST_SIGTRAMP_FRAME (frame, saved_pc); + else + return read_next_frame_reg (frame, PROC_FRAME_REG (proc_desc)) + + PROC_FRAME_OFFSET (proc_desc); } void -init_extra_frame_info (frame) - struct frame_info *frame; +alpha_print_extra_frame_info (struct frame_info *fi) +{ + if (fi + && fi->extra_info + && fi->extra_info->proc_desc + && fi->extra_info->proc_desc->pdr.framereg < NUM_REGS) + printf_filtered (" frame pointer is at %s+%s\n", + REGISTER_NAME (fi->extra_info->proc_desc->pdr.framereg), + paddr_d (fi->extra_info->proc_desc->pdr.frameoffset)); +} + +void +alpha_init_extra_frame_info (int fromleaf, struct frame_info *frame) { /* Use proc_desc calculated in frame_chain */ alpha_extra_func_info_t proc_desc = - frame->next ? cached_proc_desc : find_proc_desc(frame->pc, frame->next); + frame->next ? cached_proc_desc : find_proc_desc (frame->pc, frame->next); + + frame->extra_info = (struct frame_extra_info *) + frame_obstack_alloc (sizeof (struct frame_extra_info)); frame->saved_regs = NULL; - frame->localoff = 0; - frame->pc_reg = RA_REGNUM; - frame->proc_desc = proc_desc == &temp_proc_desc ? 0 : proc_desc; + frame->extra_info->localoff = 0; + frame->extra_info->pc_reg = RA_REGNUM; + frame->extra_info->proc_desc = proc_desc == &temp_proc_desc ? 0 : proc_desc; if (proc_desc) { /* Get the locals offset and the saved pc register from the - procedure descriptor, they are valid even if we are in the - middle of the prologue. */ - frame->localoff = PROC_LOCALOFF(proc_desc); - frame->pc_reg = PROC_PC_REG(proc_desc); + procedure descriptor, they are valid even if we are in the + middle of the prologue. */ + frame->extra_info->localoff = PROC_LOCALOFF (proc_desc); + frame->extra_info->pc_reg = PROC_PC_REG (proc_desc); /* Fixup frame-pointer - only needed for top frame */ /* Fetch the frame pointer for a dummy frame from the procedure - descriptor. */ - if (PROC_DESC_IS_DUMMY(proc_desc)) - frame->frame = (CORE_ADDR) PROC_DUMMY_FRAME(proc_desc); + descriptor. */ + if (PROC_DESC_IS_DUMMY (proc_desc)) + frame->frame = (CORE_ADDR) PROC_DUMMY_FRAME (proc_desc); /* This may not be quite right, if proc has a real frame register. - Get the value of the frame relative sp, procedure might have been - interrupted by a signal at it's very start. */ + Get the value of the frame relative sp, procedure might have been + interrupted by a signal at it's very start. */ else if (frame->pc == PROC_LOW_ADDR (proc_desc) && !PROC_DESC_IS_DYN_SIGTRAMP (proc_desc)) frame->frame = read_next_frame_reg (frame->next, SP_REGNUM); @@ -846,12 +967,13 @@ init_extra_frame_info (frame) alpha_find_saved_registers will do that for us. We can't use frame->signal_handler_caller, it is not yet set. */ find_pc_partial_function (frame->pc, &name, - (CORE_ADDR *)NULL,(CORE_ADDR *)NULL); + (CORE_ADDR *) NULL, (CORE_ADDR *) NULL); if (!IN_SIGTRAMP (frame->pc, name)) { - frame->saved_regs = (CORE_ADDR*) + frame->saved_regs = (CORE_ADDR *) frame_obstack_alloc (SIZEOF_FRAME_SAVED_REGS); - memcpy (frame->saved_regs, temp_saved_regs.regs, SIZEOF_FRAME_SAVED_REGS); + memcpy (frame->saved_regs, temp_saved_regs, + SIZEOF_FRAME_SAVED_REGS); frame->saved_regs[PC_REGNUM] = frame->saved_regs[RA_REGNUM]; } @@ -859,6 +981,18 @@ init_extra_frame_info (frame) } } +CORE_ADDR +alpha_frame_locals_address (struct frame_info *fi) +{ + return (fi->frame - fi->extra_info->localoff); +} + +CORE_ADDR +alpha_frame_args_address (struct frame_info *fi) +{ + return (fi->frame - (ALPHA_NUM_ARG_REGS * 8)); +} + /* ALPHA stack frames are almost impenetrable. When execution stops, we basically have to look at symbol information for the function that we stopped in, which tells us *which* register (if any) is @@ -875,9 +1009,7 @@ init_extra_frame_info (frame) arguments without difficulty. */ struct frame_info * -setup_arbitrary_frame (argc, argv) - int argc; - CORE_ADDR *argv; +setup_arbitrary_frame (int argc, CORE_ADDR *argv) { if (argc != 2) error ("ALPHA frame specifications require two arguments: sp and pc"); @@ -896,26 +1028,27 @@ setup_arbitrary_frame (argc, argv) structure to be returned is passed as a hidden first argument. */ CORE_ADDR -alpha_push_arguments (nargs, args, sp, struct_return, struct_addr) - int nargs; - value_ptr *args; - CORE_ADDR sp; - int struct_return; - CORE_ADDR struct_addr; +alpha_push_arguments (int nargs, struct value **args, CORE_ADDR sp, + int struct_return, CORE_ADDR struct_addr) { - register i; + int i; int accumulate_size = struct_return ? 8 : 0; int arg_regs_size = ALPHA_NUM_ARG_REGS * 8; - struct alpha_arg { char *contents; int len; int offset; }; + struct alpha_arg + { + char *contents; + int len; + int offset; + }; struct alpha_arg *alpha_args = - (struct alpha_arg*)alloca (nargs * sizeof (struct alpha_arg)); + (struct alpha_arg *) alloca (nargs * sizeof (struct alpha_arg)); register struct alpha_arg *m_arg; char raw_buffer[sizeof (CORE_ADDR)]; int required_arg_regs; for (i = 0, m_arg = alpha_args; i < nargs; i++, m_arg++) { - value_ptr arg = args[i]; + struct value *arg = args[i]; struct type *arg_type = check_typedef (VALUE_TYPE (arg)); /* Cast argument to long if necessary as the compiler does it too. */ switch (TYPE_CODE (arg_type)) @@ -937,7 +1070,7 @@ alpha_push_arguments (nargs, args, sp, struct_return, struct_addr) m_arg->len = TYPE_LENGTH (arg_type); m_arg->offset = accumulate_size; accumulate_size = (accumulate_size + m_arg->len + 7) & ~7; - m_arg->contents = VALUE_CONTENTS(arg); + m_arg->contents = VALUE_CONTENTS (arg); } /* Determine required argument register loads, loading an argument register @@ -948,15 +1081,15 @@ alpha_push_arguments (nargs, args, sp, struct_return, struct_addr) /* Make room for the arguments on the stack. */ if (accumulate_size < arg_regs_size) - accumulate_size = arg_regs_size; + accumulate_size = arg_regs_size; sp -= accumulate_size; /* Keep sp aligned to a multiple of 16 as the compiler does it too. */ sp &= ~15; /* `Push' arguments on the stack. */ - for (i = nargs; m_arg--, --i >= 0; ) - write_memory(sp + m_arg->offset, m_arg->contents, m_arg->len); + for (i = nargs; m_arg--, --i >= 0;) + write_memory (sp + m_arg->offset, m_arg->contents, m_arg->len); if (struct_return) { store_address (raw_buffer, sizeof (CORE_ADDR), struct_addr); @@ -977,7 +1110,7 @@ alpha_push_arguments (nargs, args, sp, struct_return, struct_addr) } void -alpha_push_dummy_frame() +alpha_push_dummy_frame (void) { int ireg; struct linked_proc_info *link; @@ -987,10 +1120,10 @@ alpha_push_dummy_frame() char raw_buffer[MAX_REGISTER_RAW_SIZE]; unsigned long mask; - link = (struct linked_proc_info *) xmalloc(sizeof (struct linked_proc_info)); + link = (struct linked_proc_info *) xmalloc (sizeof (struct linked_proc_info)); link->next = linked_proc_desc_table; linked_proc_desc_table = link; - + proc_desc = &link->info; /* @@ -1000,15 +1133,15 @@ alpha_push_dummy_frame() * * Dummy frame layout: * (high memory) - * Saved PC + * Saved PC * Saved F30 * ... * Saved F0 - * Saved R29 - * ... - * Saved R0 - * Saved R26 (RA) - * Parameter build area + * Saved R29 + * ... + * Saved R0 + * Saved R26 (RA) + * Parameter build area * (low memory) */ @@ -1022,27 +1155,27 @@ alpha_push_dummy_frame() alpha_frame_saved_pc knows where the pc is saved in a dummy frame. */ #define SPECIAL_REG_SAVE_COUNT 1 - PROC_REG_MASK(proc_desc) = GEN_REG_SAVE_MASK; - PROC_FREG_MASK(proc_desc) = FLOAT_REG_SAVE_MASK; + PROC_REG_MASK (proc_desc) = GEN_REG_SAVE_MASK; + PROC_FREG_MASK (proc_desc) = FLOAT_REG_SAVE_MASK; /* PROC_REG_OFFSET is the offset from the dummy frame to the saved RA, but keep SP aligned to a multiple of 16. */ - PROC_REG_OFFSET(proc_desc) = - - ((8 * (SPECIAL_REG_SAVE_COUNT + PROC_REG_OFFSET (proc_desc) = + -((8 * (SPECIAL_REG_SAVE_COUNT + GEN_REG_SAVE_COUNT + FLOAT_REG_SAVE_COUNT) - + 15) & ~15); - PROC_FREG_OFFSET(proc_desc) = - PROC_REG_OFFSET(proc_desc) + 8 * GEN_REG_SAVE_COUNT; + + 15) & ~15); + PROC_FREG_OFFSET (proc_desc) = + PROC_REG_OFFSET (proc_desc) + 8 * GEN_REG_SAVE_COUNT; /* Save general registers. The return address register is the first saved register, all other registers follow in ascending order. The PC is saved immediately below the SP. */ - save_address = sp + PROC_REG_OFFSET(proc_desc); + save_address = sp + PROC_REG_OFFSET (proc_desc); store_address (raw_buffer, 8, read_register (RA_REGNUM)); write_memory (save_address, raw_buffer, 8); save_address += 8; - mask = PROC_REG_MASK(proc_desc) & 0xffffffffL; + mask = PROC_REG_MASK (proc_desc) & 0xffffffffL; for (ireg = 0; mask; ireg++, mask >>= 1) if (mask & 1) { @@ -1057,8 +1190,8 @@ alpha_push_dummy_frame() write_memory (sp - 8, raw_buffer, 8); /* Save floating point registers. */ - save_address = sp + PROC_FREG_OFFSET(proc_desc); - mask = PROC_FREG_MASK(proc_desc) & 0xffffffffL; + save_address = sp + PROC_FREG_OFFSET (proc_desc); + mask = PROC_FREG_MASK (proc_desc) & 0xffffffffL; for (ireg = 0; mask; ireg++, mask >>= 1) if (mask & 1) { @@ -1079,47 +1212,56 @@ alpha_push_dummy_frame() is set to the virtual frame (pseudo) register, it's value will always be read as zero and will help us to catch any errors in the dummy frame retrieval code. */ - PROC_DUMMY_FRAME(proc_desc) = sp; - PROC_FRAME_REG(proc_desc) = FP_REGNUM; - PROC_FRAME_OFFSET(proc_desc) = 0; - sp += PROC_REG_OFFSET(proc_desc); + PROC_DUMMY_FRAME (proc_desc) = sp; + PROC_FRAME_REG (proc_desc) = FP_REGNUM; + PROC_FRAME_OFFSET (proc_desc) = 0; + sp += PROC_REG_OFFSET (proc_desc); write_register (SP_REGNUM, sp); - PROC_LOW_ADDR(proc_desc) = CALL_DUMMY_ADDRESS (); - PROC_HIGH_ADDR(proc_desc) = PROC_LOW_ADDR(proc_desc) + 4; + PROC_LOW_ADDR (proc_desc) = CALL_DUMMY_ADDRESS (); + PROC_HIGH_ADDR (proc_desc) = PROC_LOW_ADDR (proc_desc) + 4; - SET_PROC_DESC_IS_DUMMY(proc_desc); - PROC_PC_REG(proc_desc) = RA_REGNUM; + SET_PROC_DESC_IS_DUMMY (proc_desc); + PROC_PC_REG (proc_desc) = RA_REGNUM; } void -alpha_pop_frame() +alpha_pop_frame (void) { register int regnum; struct frame_info *frame = get_current_frame (); CORE_ADDR new_sp = frame->frame; - alpha_extra_func_info_t proc_desc = frame->proc_desc; + alpha_extra_func_info_t proc_desc = frame->extra_info->proc_desc; - write_register (PC_REGNUM, FRAME_SAVED_PC(frame)); + /* we need proc_desc to know how to restore the registers; + if it is NULL, construct (a temporary) one */ + if (proc_desc == NULL) + proc_desc = find_proc_desc (frame->pc, frame->next); + + /* Question: should we copy this proc_desc and save it in + frame->proc_desc? If we do, who will free it? + For now, we don't save a copy... */ + + write_register (PC_REGNUM, FRAME_SAVED_PC (frame)); if (frame->saved_regs == NULL) alpha_find_saved_regs (frame); if (proc_desc) { - for (regnum = 32; --regnum >= 0; ) - if (PROC_REG_MASK(proc_desc) & (1 << regnum)) + for (regnum = 32; --regnum >= 0;) + if (PROC_REG_MASK (proc_desc) & (1 << regnum)) write_register (regnum, read_memory_integer (frame->saved_regs[regnum], 8)); - for (regnum = 32; --regnum >= 0; ) - if (PROC_FREG_MASK(proc_desc) & (1 << regnum)) + for (regnum = 32; --regnum >= 0;) + if (PROC_FREG_MASK (proc_desc) & (1 << regnum)) write_register (regnum + FP0_REGNUM, - read_memory_integer (frame->saved_regs[regnum + FP0_REGNUM], 8)); + read_memory_integer (frame->saved_regs[regnum + FP0_REGNUM], 8)); } write_register (SP_REGNUM, new_sp); flush_cached_frames (); - if (proc_desc && (PROC_DESC_IS_DUMMY(proc_desc) + if (proc_desc && (PROC_DESC_IS_DUMMY (proc_desc) || PROC_DESC_IS_DYN_SIGTRAMP (proc_desc))) { struct linked_proc_info *pi_ptr, *prev_ptr; @@ -1140,7 +1282,7 @@ alpha_pop_frame() else linked_proc_desc_table = pi_ptr->next; - free (pi_ptr); + xfree (pi_ptr); } } @@ -1150,79 +1292,86 @@ alpha_pop_frame() LENIENT, then we must skip everything which is involved in setting up the frame (it's OK to skip more, just so long as we don't skip anything which might clobber the registers which are being saved. - Currently we must not skip more on the alpha, but we might the lenient - stuff some day. */ + Currently we must not skip more on the alpha, but we might need the + lenient stuff some day. */ -CORE_ADDR -alpha_skip_prologue (pc, lenient) - CORE_ADDR pc; - int lenient; +static CORE_ADDR +alpha_skip_prologue_internal (CORE_ADDR pc, int lenient) { - unsigned long inst; - int offset; - CORE_ADDR post_prologue_pc; - char buf[4]; + unsigned long inst; + int offset; + CORE_ADDR post_prologue_pc; + char buf[4]; #ifdef GDB_TARGET_HAS_SHARED_LIBS - /* Silently return the unaltered pc upon memory errors. - This could happen on OSF/1 if decode_line_1 tries to skip the - prologue for quickstarted shared library functions when the - shared library is not yet mapped in. - Reading target memory is slow over serial lines, so we perform - this check only if the target has shared libraries. */ - if (target_read_memory (pc, buf, 4)) - return pc; + /* Silently return the unaltered pc upon memory errors. + This could happen on OSF/1 if decode_line_1 tries to skip the + prologue for quickstarted shared library functions when the + shared library is not yet mapped in. + Reading target memory is slow over serial lines, so we perform + this check only if the target has shared libraries. */ + if (target_read_memory (pc, buf, 4)) + return pc; #endif - /* See if we can determine the end of the prologue via the symbol table. - If so, then return either PC, or the PC after the prologue, whichever - is greater. */ - - post_prologue_pc = after_prologue (pc, NULL); - - if (post_prologue_pc != 0) - return max (pc, post_prologue_pc); + /* See if we can determine the end of the prologue via the symbol table. + If so, then return either PC, or the PC after the prologue, whichever + is greater. */ - /* Can't determine prologue from the symbol table, need to examine - instructions. */ + post_prologue_pc = after_prologue (pc, NULL); - /* Skip the typical prologue instructions. These are the stack adjustment - instruction and the instructions that save registers on the stack - or in the gcc frame. */ - for (offset = 0; offset < 100; offset += 4) - { - int status; - - status = read_memory_nobpt (pc + offset, buf, 4); - if (status) - memory_error (status, pc + offset); - inst = extract_unsigned_integer (buf, 4); + if (post_prologue_pc != 0) + return max (pc, post_prologue_pc); - /* The alpha has no delay slots. But let's keep the lenient stuff, - we might need it for something else in the future. */ - if (lenient && 0) - continue; + /* Can't determine prologue from the symbol table, need to examine + instructions. */ - if ((inst & 0xffff0000) == 0x27bb0000) /* ldah $gp,n($t12) */ - continue; - if ((inst & 0xffff0000) == 0x23bd0000) /* lda $gp,n($gp) */ - continue; - if ((inst & 0xffff0000) == 0x23de0000) /* lda $sp,n($sp) */ - continue; - else if ((inst & 0xfc1f0000) == 0xb41e0000 - && (inst & 0xffff0000) != 0xb7fe0000) - continue; /* stq reg,n($sp) */ - /* reg != $zero */ - else if ((inst & 0xfc1f0000) == 0x9c1e0000 - && (inst & 0xffff0000) != 0x9ffe0000) - continue; /* stt reg,n($sp) */ - /* reg != $zero */ - else if (inst == 0x47de040f) /* bis sp,sp,fp */ - continue; - else - break; + /* Skip the typical prologue instructions. These are the stack adjustment + instruction and the instructions that save registers on the stack + or in the gcc frame. */ + for (offset = 0; offset < 100; offset += 4) + { + int status; + + status = read_memory_nobpt (pc + offset, buf, 4); + if (status) + memory_error (status, pc + offset); + inst = extract_unsigned_integer (buf, 4); + + /* The alpha has no delay slots. But let's keep the lenient stuff, + we might need it for something else in the future. */ + if (lenient && 0) + continue; + + if ((inst & 0xffff0000) == 0x27bb0000) /* ldah $gp,n($t12) */ + continue; + if ((inst & 0xffff0000) == 0x23bd0000) /* lda $gp,n($gp) */ + continue; + if ((inst & 0xffff0000) == 0x23de0000) /* lda $sp,n($sp) */ + continue; + if ((inst & 0xffe01fff) == 0x43c0153e) /* subq $sp,n,$sp */ + continue; + + if ((inst & 0xfc1f0000) == 0xb41e0000 + && (inst & 0xffff0000) != 0xb7fe0000) + continue; /* stq reg,n($sp) */ + /* reg != $zero */ + if ((inst & 0xfc1f0000) == 0x9c1e0000 + && (inst & 0xffff0000) != 0x9ffe0000) + continue; /* stt reg,n($sp) */ + /* reg != $zero */ + if (inst == 0x47de040f) /* bis sp,sp,fp */ + continue; + + break; } - return pc + offset; + return pc + offset; +} + +CORE_ADDR +alpha_skip_prologue (CORE_ADDR addr) +{ + return (alpha_skip_prologue_internal (addr, 0)); } #if 0 @@ -1230,27 +1379,22 @@ alpha_skip_prologue (pc, lenient) STARTADDR? */ static int -alpha_in_lenient_prologue (startaddr, pc) - CORE_ADDR startaddr; - CORE_ADDR pc; +alpha_in_lenient_prologue (CORE_ADDR startaddr, CORE_ADDR pc) { - CORE_ADDR end_prologue = alpha_skip_prologue (startaddr, 1); + CORE_ADDR end_prologue = alpha_skip_prologue_internal (startaddr, 1); return pc >= startaddr && pc < end_prologue; } #endif /* The alpha needs a conversion between register and memory format if the register is a floating point register and - memory format is float, as the register format must be double + memory format is float, as the register format must be double or - memory format is an integer with 4 bytes or less, as the representation - of integers in floating point registers is different. */ + memory format is an integer with 4 bytes or less, as the representation + of integers in floating point registers is different. */ void -alpha_register_convert_to_virtual (regnum, valtype, raw_buffer, virtual_buffer) - int regnum; - struct type *valtype; - char *raw_buffer; - char *virtual_buffer; +alpha_register_convert_to_virtual (int regnum, struct type *valtype, + char *raw_buffer, char *virtual_buffer) { if (TYPE_LENGTH (valtype) >= REGISTER_RAW_SIZE (regnum)) { @@ -1275,11 +1419,8 @@ alpha_register_convert_to_virtual (regnum, valtype, raw_buffer, virtual_buffer) } void -alpha_register_convert_to_raw (valtype, regnum, virtual_buffer, raw_buffer) - struct type *valtype; - int regnum; - char *virtual_buffer; - char *raw_buffer; +alpha_register_convert_to_raw (struct type *valtype, int regnum, + char *virtual_buffer, char *raw_buffer) { if (TYPE_LENGTH (valtype) >= REGISTER_RAW_SIZE (regnum)) { @@ -1310,10 +1451,8 @@ alpha_register_convert_to_raw (valtype, regnum, virtual_buffer, raw_buffer) extract and copy its value into `valbuf'. */ void -alpha_extract_return_value (valtype, regbuf, valbuf) - struct type *valtype; - char regbuf[REGISTER_BYTES]; - char *valbuf; +alpha_extract_return_value (struct type *valtype, + char regbuf[REGISTER_BYTES], char *valbuf) { if (TYPE_CODE (valtype) == TYPE_CODE_FLT) alpha_register_convert_to_virtual (FP0_REGNUM, valtype, @@ -1327,14 +1466,12 @@ alpha_extract_return_value (valtype, regbuf, valbuf) write its value into the appropriate register. */ void -alpha_store_return_value (valtype, valbuf) - struct type *valtype; - char *valbuf; +alpha_store_return_value (struct type *valtype, char *valbuf) { char raw_buffer[MAX_REGISTER_RAW_SIZE]; int regnum = V0_REGNUM; int length = TYPE_LENGTH (valtype); - + if (TYPE_CODE (valtype) == TYPE_CODE_FLT) { regnum = FP0_REGNUM; @@ -1351,10 +1488,7 @@ alpha_store_return_value (valtype, valbuf) callable as an sfunc. */ static void -reinit_frame_cache_sfunc (args, from_tty, c) - char *args; - int from_tty; - struct cmd_list_element *c; +reinit_frame_cache_sfunc (char *args, int from_tty, struct cmd_list_element *c) { reinit_frame_cache (); } @@ -1365,7 +1499,7 @@ reinit_frame_cache_sfunc (args, from_tty, c) */ CORE_ADDR -alpha_call_dummy_address () +alpha_call_dummy_address (void) { CORE_ADDR entry; struct minimal_symbol *sym; @@ -1384,7 +1518,154 @@ alpha_call_dummy_address () } void -_initialize_alpha_tdep () +alpha_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, + struct value **args, struct type *type, int gcc_p) +{ + CORE_ADDR bp_address = CALL_DUMMY_ADDRESS (); + + if (bp_address == 0) + error ("no place to put call"); + write_register (RA_REGNUM, bp_address); + write_register (T12_REGNUM, fun); +} + +/* On the Alpha, the call dummy code is nevery copied to user space + (see alpha_fix_call_dummy() above). The contents of this do not + matter. */ +LONGEST alpha_call_dummy_words[] = { 0 }; + +int +alpha_use_struct_convention (int gcc_p, struct type *type) +{ + /* Structures are returned by ref in extra arg0. */ + return 1; +} + +void +alpha_store_struct_return (CORE_ADDR addr, CORE_ADDR sp) +{ + /* Store the address of the place in which to copy the structure the + subroutine will return. Handled by alpha_push_arguments. */ +} + +CORE_ADDR +alpha_extract_struct_value_address (char *regbuf) +{ + return (extract_address (regbuf + REGISTER_BYTE (V0_REGNUM), + REGISTER_RAW_SIZE (V0_REGNUM))); +} + +/* alpha_software_single_step() is called just before we want to resume + the inferior, if we want to single-step it but there is no hardware + or kernel single-step support (NetBSD on Alpha, for example). We find + the target of the coming instruction and breakpoint it. + + single_step is also called just after the inferior stops. If we had + set up a simulated single-step, we undo our damage. */ + +static CORE_ADDR +alpha_next_pc (CORE_ADDR pc) +{ + unsigned int insn; + unsigned int op; + int offset; + LONGEST rav; + + insn = read_memory_unsigned_integer (pc, sizeof (insn)); + + /* Opcode is top 6 bits. */ + op = (insn >> 26) & 0x3f; + + if (op == 0x1a) + { + /* Jump format: target PC is: + RB & ~3 */ + return (read_register ((insn >> 16) & 0x1f) & ~3); + } + + if ((op & 0x30) == 0x30) + { + /* Branch format: target PC is: + (new PC) + (4 * sext(displacement)) */ + if (op == 0x30 || /* BR */ + op == 0x34) /* BSR */ + { + branch_taken: + offset = (insn & 0x001fffff); + if (offset & 0x00100000) + offset |= 0xffe00000; + offset *= 4; + return (pc + 4 + offset); + } + + /* Need to determine if branch is taken; read RA. */ + rav = (LONGEST) read_register ((insn >> 21) & 0x1f); + switch (op) + { + case 0x38: /* BLBC */ + if ((rav & 1) == 0) + goto branch_taken; + break; + case 0x3c: /* BLBS */ + if (rav & 1) + goto branch_taken; + break; + case 0x39: /* BEQ */ + if (rav == 0) + goto branch_taken; + break; + case 0x3d: /* BNE */ + if (rav != 0) + goto branch_taken; + break; + case 0x3a: /* BLT */ + if (rav < 0) + goto branch_taken; + break; + case 0x3b: /* BLE */ + if (rav <= 0) + goto branch_taken; + break; + case 0x3f: /* BGT */ + if (rav > 0) + goto branch_taken; + break; + case 0x3e: /* BGE */ + if (rav >= 0) + goto branch_taken; + break; + } + } + + /* Not a branch or branch not taken; target PC is: + pc + 4 */ + return (pc + 4); +} + +void +alpha_software_single_step (enum target_signal sig, int insert_breakpoints_p) +{ + static CORE_ADDR next_pc; + typedef char binsn_quantum[BREAKPOINT_MAX]; + static binsn_quantum break_mem; + CORE_ADDR pc; + + if (insert_breakpoints_p) + { + pc = read_pc (); + next_pc = alpha_next_pc (pc); + + target_insert_breakpoint (next_pc, break_mem); + } + else + { + target_remove_breakpoint (next_pc, break_mem); + write_pc (next_pc); + } +} + +void +_initialize_alpha_tdep (void) { struct cmd_list_element *c; @@ -1405,6 +1686,6 @@ search. The only need to set it is when debugging a stripped executable.", &setlist); /* We need to throw away the frame cache when we set this, since it might change our ability to get backtraces. */ - c->function.sfunc = reinit_frame_cache_sfunc; + set_cmd_sfunc (c, reinit_frame_cache_sfunc); add_show_from_set (c, &showlist); } diff --git a/contrib/gdb/gdb/alphabsd-nat.c b/contrib/gdb/gdb/alphabsd-nat.c new file mode 100644 index 0000000..d7ad3a7 --- /dev/null +++ b/contrib/gdb/gdb/alphabsd-nat.c @@ -0,0 +1,211 @@ +/* Native-dependent code for Alpha BSD's. + Copyright 2000, 2001, 2002 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "regcache.h" + +#include +#include +#include + +#ifdef HAVE_SYS_PROCFS_H +#include +#endif + +#ifndef HAVE_GREGSET_T +typedef struct reg gregset_t; +#endif + +#ifndef HAVE_FPREGSET_T +typedef struct fpreg fpregset_t; +#endif + +#include "gregset.h" + +/* Number of general-purpose registers. */ +#define NUM_GREGS 32 + +/* Number of floating point registers. */ +#define NUM_FPREGS 31 + + +/* Transfering the registers between GDB, inferiors and core files. */ + +/* Fill GDB's register array with the general-purpose register values + in *GREGSETP. */ + +void +supply_gregset (gregset_t *gregsetp) +{ + int i; + + for (i = 0; i < NUM_GREGS; i++) + { + if (CANNOT_FETCH_REGISTER (i)) + supply_register (i, NULL); + else + supply_register (i, (char *) &gregsetp->r_regs[i]); + } + + /* The PC travels in the R_ZERO slot. */ + supply_register (PC_REGNUM, (char *) &gregsetp->r_regs[R_ZERO]); +} + +/* Fill register REGNO (if it is a general-purpose register) in + *GREGSETPS with the value in GDB's register array. If REGNO is -1, + do this for all registers. */ + +void +fill_gregset (gregset_t *gregsetp, int regno) +{ + int i; + + for (i = 0; i < NUM_GREGS; i++) + if ((regno == -1 || regno == i) && ! CANNOT_STORE_REGISTER (i)) + regcache_collect (i, (char *) &gregsetp->r_regs[i]); + + /* The PC travels in the R_ZERO slot. */ + if (regno == -1 || regno == PC_REGNUM) + regcache_collect (PC_REGNUM, (char *) &gregsetp->r_regs[R_ZERO]); +} + +/* Fill GDB's register array with the floating-point register values + in *FPREGSETP. */ + +void +supply_fpregset (fpregset_t *fpregsetp) +{ + int i; + + for (i = FP0_REGNUM; i < FP0_REGNUM + NUM_FPREGS; i++) + { + if (CANNOT_FETCH_REGISTER (i)) + supply_register (i, NULL); + else + supply_register (i, (char *) &fpregsetp->fpr_regs[i - FP0_REGNUM]); + } + + supply_register (FPCR_REGNUM, (char *) &fpregsetp->fpr_cr); +} + +/* Fill register REGNO (if it is a floating-point register) in + *FPREGSETP with the value in GDB's register array. If REGNO is -1, + do this for all registers. */ + +void +fill_fpregset (fpregset_t *fpregsetp, int regno) +{ + int i; + + for (i = FP0_REGNUM; i < FP0_REGNUM + NUM_FPREGS; i++) + if ((regno == -1 || regno == i) && ! CANNOT_STORE_REGISTER (i)) + regcache_collect (i, (char *) &fpregsetp->fpr_regs[i - FP0_REGNUM]); + + if (regno == -1 || regno == FPCR_REGNUM) + regcache_collect (FPCR_REGNUM, (char *) &fpregsetp->fpr_cr); +} + + +/* Determine if PT_GETREGS fetches this register. */ + +static int +getregs_supplies (int regno) +{ + + return ((regno >= V0_REGNUM && regno <= ZERO_REGNUM) + || regno >= PC_REGNUM); +} + + +/* Fetch register REGNO from the inferior. If REGNO is -1, do this + for all registers (including the floating point registers). */ + +void +fetch_inferior_registers (int regno) +{ + + if (regno == -1 || getregs_supplies (regno)) + { + gregset_t gregs; + + if (ptrace (PT_GETREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &gregs, 0) == -1) + perror_with_name ("Couldn't get registers"); + + supply_gregset (&gregs); + if (regno != -1) + return; + } + + if (regno == -1 || regno >= FP0_REGNUM) + { + fpregset_t fpregs; + + if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &fpregs, 0) == -1) + perror_with_name ("Couldn't get floating point status"); + + supply_fpregset (&fpregs); + } + + /* Reset virtual frame pointer. */ + supply_register (FP_REGNUM, NULL); +} + +/* Store register REGNO back into the inferior. If REGNO is -1, do + this for all registers (including the floating point registers). */ + +void +store_inferior_registers (int regno) +{ + + if (regno == -1 || getregs_supplies (regno)) + { + gregset_t gregs; + if (ptrace (PT_GETREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &gregs, 0) == -1) + perror_with_name ("Couldn't get registers"); + + fill_gregset (&gregs, regno); + + if (ptrace (PT_SETREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &gregs, 0) == -1) + perror_with_name ("Couldn't write registers"); + + if (regno != -1) + return; + } + + if (regno == -1 || regno >= FP0_REGNUM) + { + fpregset_t fpregs; + + if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &fpregs, 0) == -1) + perror_with_name ("Couldn't get floating point status"); + + fill_fpregset (&fpregs, regno); + + if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &fpregs, 0) == -1) + perror_with_name ("Couldn't write floating point status"); + } +} diff --git a/contrib/gdb/gdb/alphafbsd-tdep.c b/contrib/gdb/gdb/alphafbsd-tdep.c new file mode 100644 index 0000000..e2d4749 --- /dev/null +++ b/contrib/gdb/gdb/alphafbsd-tdep.c @@ -0,0 +1,53 @@ +/* Target-dependent code for FreeBSD/Alpha. + Copyright 2001 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "value.h" + +int +alphafbsd_use_struct_convention (int gcc_p, struct type *type) +{ + enum type_code code; + int i; + + /* All aggregate types that won't fit in a register must be returned + in memory. */ + if (TYPE_LENGTH (type) > REGISTER_SIZE) + return 1; + + /* The only aggregate types that can be returned in a register are + structs and unions. Arrays must be returned in memory. */ + code = TYPE_CODE (type); + if (code != TYPE_CODE_STRUCT && code != TYPE_CODE_UNION) + return 1; + + /* We need to check if this struct/union is "integer" like. For + this to be true, the offset of each adressable subfield must be + zero. Note that bit fields are not addressable. */ + for (i = 0; i < TYPE_NFIELDS (type); i++) + { + /* If the field bitsize is non-zero, it isn't adressable. */ + if (TYPE_FIELD_BITPOS (type, i) != 0 + && TYPE_FIELD_BITSIZE (type, i) == 0) + return 1; + } + + return 0; +} diff --git a/contrib/gdb/gdb/annotate.c b/contrib/gdb/gdb/annotate.c index ec3e424..66211e9 100644 --- a/contrib/gdb/gdb/annotate.c +++ b/contrib/gdb/gdb/annotate.c @@ -1,21 +1,23 @@ /* Annotation routines for GDB. - Copyright 1986, 89, 90, 91, 92, 95, 1998 Free Software Foundation, Inc. + Copyright 1986, 1989, 1990, 1991, 1992, 1994, 1995, 1996, 1998, 1999, + 2000 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "defs.h" #include "annotate.h" @@ -27,18 +29,22 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Prototypes for local functions. */ -static void print_value_flags PARAMS ((struct type *)); +extern void _initialize_annotate (void); -static void breakpoint_changed PARAMS ((struct breakpoint *)); +static void print_value_flags (struct type *); -void (*annotate_starting_hook) PARAMS ((void)); -void (*annotate_stopped_hook) PARAMS ((void)); -void (*annotate_signalled_hook) PARAMS ((void)); -void (*annotate_exited_hook) PARAMS ((void)); +static void breakpoint_changed (struct breakpoint *); + +void (*annotate_starting_hook) (void); +void (*annotate_stopped_hook) (void); +void (*annotate_signalled_hook) (void); +void (*annotate_signal_hook) (void); +void (*annotate_exited_hook) (void); + +static int ignore_count_changed = 0; static void -print_value_flags (t) - struct type *t; +print_value_flags (struct type *t) { if (can_dereference (t)) printf_filtered ("*"); @@ -47,41 +53,53 @@ print_value_flags (t) } void -breakpoints_changed () +breakpoints_changed (void) { if (annotation_level > 1) { target_terminal_ours (); printf_unfiltered ("\n\032\032breakpoints-invalid\n"); + if (ignore_count_changed) + ignore_count_changed = 0; /* Avoid multiple break annotations. */ } } +/* The GUI needs to be informed of ignore_count changes, but we don't + want to provide successive multiple breakpoints-invalid messages + that are all caused by the fact that the ignore count is changing + (which could keep the GUI very busy). One is enough, after the + target actually "stops". */ + void -annotate_breakpoint (num) - int num; +annotate_ignore_count_change (void) +{ + if (annotation_level > 1) + ignore_count_changed = 1; +} + +void +annotate_breakpoint (int num) { if (annotation_level > 1) printf_filtered ("\n\032\032breakpoint %d\n", num); } void -annotate_catchpoint (num) - int num; +annotate_catchpoint (int num) { if (annotation_level > 1) printf_filtered ("\n\032\032catchpoint %d\n", num); } void -annotate_watchpoint (num) - int num; +annotate_watchpoint (int num) { if (annotation_level > 1) printf_filtered ("\n\032\032watchpoint %d\n", num); } void -annotate_starting () +annotate_starting (void) { if (annotate_starting_hook) @@ -89,39 +107,43 @@ annotate_starting () else { if (annotation_level > 1) - { - printf_filtered ("\n\032\032starting\n"); - } + { + printf_filtered ("\n\032\032starting\n"); + } } } void -annotate_stopped () +annotate_stopped (void) { if (annotate_stopped_hook) annotate_stopped_hook (); else { if (annotation_level > 1) - printf_filtered ("\n\032\032stopped\n"); + printf_filtered ("\n\032\032stopped\n"); + } + if (annotation_level > 1 && ignore_count_changed) + { + ignore_count_changed = 0; + breakpoints_changed (); } } void -annotate_exited (exitstatus) - int exitstatus; +annotate_exited (int exitstatus) { if (annotate_exited_hook) annotate_exited_hook (); else { if (annotation_level > 1) - printf_filtered ("\n\032\032exited %d\n", exitstatus); + printf_filtered ("\n\032\032exited %d\n", exitstatus); } } void -annotate_signalled () +annotate_signalled (void) { if (annotate_signalled_hook) annotate_signalled_hook (); @@ -131,78 +153,80 @@ annotate_signalled () } void -annotate_signal_name () +annotate_signal_name (void) { if (annotation_level > 1) printf_filtered ("\n\032\032signal-name\n"); } void -annotate_signal_name_end () +annotate_signal_name_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032signal-name-end\n"); } void -annotate_signal_string () +annotate_signal_string (void) { if (annotation_level > 1) printf_filtered ("\n\032\032signal-string\n"); } void -annotate_signal_string_end () +annotate_signal_string_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032signal-string-end\n"); } void -annotate_signal () +annotate_signal (void) { + if (annotate_signal_hook) + annotate_signal_hook (); + if (annotation_level > 1) printf_filtered ("\n\032\032signal\n"); } void -annotate_breakpoints_headers () +annotate_breakpoints_headers (void) { if (annotation_level > 1) printf_filtered ("\n\032\032breakpoints-headers\n"); } void -annotate_field (num) - int num; +annotate_field (int num) { if (annotation_level > 1) printf_filtered ("\n\032\032field %d\n", num); } void -annotate_breakpoints_table () +annotate_breakpoints_table (void) { if (annotation_level > 1) printf_filtered ("\n\032\032breakpoints-table\n"); } void -annotate_record () +annotate_record (void) { if (annotation_level > 1) printf_filtered ("\n\032\032record\n"); } void -annotate_breakpoints_table_end () +annotate_breakpoints_table_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032breakpoints-table-end\n"); } void -annotate_frames_invalid () +annotate_frames_invalid (void) { if (annotation_level > 1) { @@ -212,8 +236,7 @@ annotate_frames_invalid () } void -annotate_field_begin (type) - struct type *type; +annotate_field_begin (struct type *type) { if (annotation_level > 1) { @@ -224,51 +247,49 @@ annotate_field_begin (type) } void -annotate_field_name_end () +annotate_field_name_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032field-name-end\n"); } void -annotate_field_value () +annotate_field_value (void) { if (annotation_level > 1) printf_filtered ("\n\032\032field-value\n"); } void -annotate_field_end () +annotate_field_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032field-end\n"); } void -annotate_quit () +annotate_quit (void) { if (annotation_level > 1) printf_filtered ("\n\032\032quit\n"); } void -annotate_error () +annotate_error (void) { if (annotation_level > 1) printf_filtered ("\n\032\032error\n"); } void -annotate_error_begin () +annotate_error_begin (void) { if (annotation_level > 1) fprintf_filtered (gdb_stderr, "\n\032\032error-begin\n"); } void -annotate_value_history_begin (histindex, type) - int histindex; - struct type *type; +annotate_value_history_begin (int histindex, struct type *type) { if (annotation_level > 1) { @@ -279,8 +300,7 @@ annotate_value_history_begin (histindex, type) } void -annotate_value_begin (type) - struct type *type; +annotate_value_begin (struct type *type) { if (annotation_level > 1) { @@ -291,92 +311,91 @@ annotate_value_begin (type) } void -annotate_value_history_value () +annotate_value_history_value (void) { if (annotation_level > 1) printf_filtered ("\n\032\032value-history-value\n"); } void -annotate_value_history_end () +annotate_value_history_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032value-history-end\n"); } void -annotate_value_end () +annotate_value_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032value-end\n"); } void -annotate_display_begin () +annotate_display_begin (void) { if (annotation_level > 1) printf_filtered ("\n\032\032display-begin\n"); } void -annotate_display_number_end () +annotate_display_number_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032display-number-end\n"); } void -annotate_display_format () +annotate_display_format (void) { if (annotation_level > 1) printf_filtered ("\n\032\032display-format\n"); } void -annotate_display_expression () +annotate_display_expression (void) { if (annotation_level > 1) printf_filtered ("\n\032\032display-expression\n"); } void -annotate_display_expression_end () +annotate_display_expression_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032display-expression-end\n"); } void -annotate_display_value () +annotate_display_value (void) { if (annotation_level > 1) printf_filtered ("\n\032\032display-value\n"); } void -annotate_display_end () +annotate_display_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032display-end\n"); } void -annotate_arg_begin () +annotate_arg_begin (void) { if (annotation_level > 1) printf_filtered ("\n\032\032arg-begin\n"); } void -annotate_arg_name_end () +annotate_arg_name_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032arg-name-end\n"); } void -annotate_arg_value (type) - struct type *type; +annotate_arg_value (struct type *type) { if (annotation_level > 1) { @@ -387,19 +406,14 @@ annotate_arg_value (type) } void -annotate_arg_end () +annotate_arg_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032arg-end\n"); } void -annotate_source (filename, line, character, mid, pc) - char *filename; - int line; - int character; - int mid; - CORE_ADDR pc; +annotate_source (char *filename, int line, int character, int mid, CORE_ADDR pc) { if (annotation_level > 1) printf_filtered ("\n\032\032source "); @@ -414,9 +428,7 @@ annotate_source (filename, line, character, mid, pc) } void -annotate_frame_begin (level, pc) - int level; - CORE_ADDR pc; +annotate_frame_begin (int level, CORE_ADDR pc) { if (annotation_level > 1) { @@ -427,100 +439,98 @@ annotate_frame_begin (level, pc) } void -annotate_function_call () +annotate_function_call (void) { if (annotation_level > 1) printf_filtered ("\n\032\032function-call\n"); } void -annotate_signal_handler_caller () +annotate_signal_handler_caller (void) { if (annotation_level > 1) printf_filtered ("\n\032\032signal-handler-caller\n"); } void -annotate_frame_address () +annotate_frame_address (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-address\n"); } void -annotate_frame_address_end () +annotate_frame_address_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-address-end\n"); } void -annotate_frame_function_name () +annotate_frame_function_name (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-function-name\n"); } void -annotate_frame_args () +annotate_frame_args (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-args\n"); } void -annotate_frame_source_begin () +annotate_frame_source_begin (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-source-begin\n"); } void -annotate_frame_source_file () +annotate_frame_source_file (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-source-file\n"); } void -annotate_frame_source_file_end () +annotate_frame_source_file_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-source-file-end\n"); } void -annotate_frame_source_line () +annotate_frame_source_line (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-source-line\n"); } void -annotate_frame_source_end () +annotate_frame_source_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-source-end\n"); } void -annotate_frame_where () +annotate_frame_where (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-where\n"); } void -annotate_frame_end () +annotate_frame_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032frame-end\n"); } void -annotate_array_section_begin (index, elttype) - int index; - struct type *elttype; +annotate_array_section_begin (int index, struct type *elttype) { if (annotation_level > 1) { @@ -531,43 +541,41 @@ annotate_array_section_begin (index, elttype) } void -annotate_elt_rep (repcount) - unsigned int repcount; +annotate_elt_rep (unsigned int repcount) { if (annotation_level > 1) printf_filtered ("\n\032\032elt-rep %u\n", repcount); } void -annotate_elt_rep_end () +annotate_elt_rep_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032elt-rep-end\n"); } void -annotate_elt () +annotate_elt (void) { if (annotation_level > 1) printf_filtered ("\n\032\032elt\n"); } void -annotate_array_section_end () +annotate_array_section_end (void) { if (annotation_level > 1) printf_filtered ("\n\032\032array-section-end\n"); } static void -breakpoint_changed (b) - struct breakpoint *b; +breakpoint_changed (struct breakpoint *b) { breakpoints_changed (); } void -_initialize_annotate () +_initialize_annotate (void) { if (annotation_level > 1) { diff --git a/contrib/gdb/gdb/annotate.h b/contrib/gdb/gdb/annotate.h index 59739db..ac3cec8 100644 --- a/contrib/gdb/gdb/annotate.h +++ b/contrib/gdb/gdb/annotate.h @@ -1,104 +1,106 @@ /* Annotation routines for GDB. - Copyright 1986, 1989, 1990, 1991, 1992 Free Software Foundation, Inc. + Copyright 1986, 1989, 1990, 1991, 1992, 1994, 1998, 1999, 2000 + Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "symtab.h" #include "gdbtypes.h" -extern void breakpoints_changed PARAMS ((void)); - -extern void annotate_breakpoint PARAMS ((int)); -extern void annotate_catchpoint PARAMS ((int)); -extern void annotate_watchpoint PARAMS ((int)); -extern void annotate_starting PARAMS ((void)); -extern void annotate_stopped PARAMS ((void)); -extern void annotate_exited PARAMS ((int)); -extern void annotate_signalled PARAMS ((void)); -extern void annotate_signal_name PARAMS ((void)); -extern void annotate_signal_name_end PARAMS ((void)); -extern void annotate_signal_string PARAMS ((void)); -extern void annotate_signal_string_end PARAMS ((void)); -extern void annotate_signal PARAMS ((void)); - -extern void annotate_breakpoints_headers PARAMS ((void)); -extern void annotate_field PARAMS ((int)); -extern void annotate_breakpoints_table PARAMS ((void)); -extern void annotate_record PARAMS ((void)); -extern void annotate_breakpoints_table_end PARAMS ((void)); - -extern void annotate_frames_invalid PARAMS ((void)); - -#ifdef __STDC__ +extern void breakpoints_changed (void); + +extern void annotate_ignore_count_change (void); +extern void annotate_breakpoint (int); +extern void annotate_catchpoint (int); +extern void annotate_watchpoint (int); +extern void annotate_starting (void); +extern void annotate_stopped (void); +extern void annotate_exited (int); +extern void annotate_signalled (void); +extern void annotate_signal_name (void); +extern void annotate_signal_name_end (void); +extern void annotate_signal_string (void); +extern void annotate_signal_string_end (void); +extern void annotate_signal (void); + +extern void annotate_breakpoints_headers (void); +extern void annotate_field (int); +extern void annotate_breakpoints_table (void); +extern void annotate_record (void); +extern void annotate_breakpoints_table_end (void); + +extern void annotate_frames_invalid (void); + struct type; -#endif - -extern void annotate_field_begin PARAMS ((struct type *)); -extern void annotate_field_name_end PARAMS ((void)); -extern void annotate_field_value PARAMS ((void)); -extern void annotate_field_end PARAMS ((void)); - -extern void annotate_quit PARAMS ((void)); -extern void annotate_error PARAMS ((void)); -extern void annotate_error_begin PARAMS ((void)); - -extern void annotate_value_history_begin PARAMS ((int, struct type *)); -extern void annotate_value_begin PARAMS ((struct type *)); -extern void annotate_value_history_value PARAMS ((void)); -extern void annotate_value_history_end PARAMS ((void)); -extern void annotate_value_end PARAMS ((void)); - -extern void annotate_display_begin PARAMS ((void)); -extern void annotate_display_number_end PARAMS ((void)); -extern void annotate_display_format PARAMS ((void)); -extern void annotate_display_expression PARAMS ((void)); -extern void annotate_display_expression_end PARAMS ((void)); -extern void annotate_display_value PARAMS ((void)); -extern void annotate_display_end PARAMS ((void)); - -extern void annotate_arg_begin PARAMS ((void)); -extern void annotate_arg_name_end PARAMS ((void)); -extern void annotate_arg_value PARAMS ((struct type *)); -extern void annotate_arg_end PARAMS ((void)); - -extern void annotate_source PARAMS ((char *, int, int, int, CORE_ADDR)); - -extern void annotate_frame_begin PARAMS ((int, CORE_ADDR)); -extern void annotate_function_call PARAMS ((void)); -extern void annotate_signal_handler_caller PARAMS ((void)); -extern void annotate_frame_address PARAMS ((void)); -extern void annotate_frame_address_end PARAMS ((void)); -extern void annotate_frame_function_name PARAMS ((void)); -extern void annotate_frame_args PARAMS ((void)); -extern void annotate_frame_source_begin PARAMS ((void)); -extern void annotate_frame_source_file PARAMS ((void)); -extern void annotate_frame_source_file_end PARAMS ((void)); -extern void annotate_frame_source_line PARAMS ((void)); -extern void annotate_frame_source_end PARAMS ((void)); -extern void annotate_frame_where PARAMS ((void)); -extern void annotate_frame_end PARAMS ((void)); - -extern void annotate_array_section_begin PARAMS ((int, struct type *)); -extern void annotate_elt_rep PARAMS ((unsigned int)); -extern void annotate_elt_rep_end PARAMS ((void)); -extern void annotate_elt PARAMS ((void)); -extern void annotate_array_section_end PARAMS ((void)); - -extern void (*annotate_starting_hook) PARAMS ((void)); -extern void (*annotate_stopped_hook) PARAMS ((void)); -extern void (*annotate_signalled_hook) PARAMS ((void)); -extern void (*annotate_exited_hook) PARAMS ((void)); + +extern void annotate_field_begin (struct type *); +extern void annotate_field_name_end (void); +extern void annotate_field_value (void); +extern void annotate_field_end (void); + +extern void annotate_quit (void); +extern void annotate_error (void); +extern void annotate_error_begin (void); + +extern void annotate_value_history_begin (int, struct type *); +extern void annotate_value_begin (struct type *); +extern void annotate_value_history_value (void); +extern void annotate_value_history_end (void); +extern void annotate_value_end (void); + +extern void annotate_display_begin (void); +extern void annotate_display_number_end (void); +extern void annotate_display_format (void); +extern void annotate_display_expression (void); +extern void annotate_display_expression_end (void); +extern void annotate_display_value (void); +extern void annotate_display_end (void); + +extern void annotate_arg_begin (void); +extern void annotate_arg_name_end (void); +extern void annotate_arg_value (struct type *); +extern void annotate_arg_end (void); + +extern void annotate_source (char *, int, int, int, CORE_ADDR); + +extern void annotate_frame_begin (int, CORE_ADDR); +extern void annotate_function_call (void); +extern void annotate_signal_handler_caller (void); +extern void annotate_frame_address (void); +extern void annotate_frame_address_end (void); +extern void annotate_frame_function_name (void); +extern void annotate_frame_args (void); +extern void annotate_frame_source_begin (void); +extern void annotate_frame_source_file (void); +extern void annotate_frame_source_file_end (void); +extern void annotate_frame_source_line (void); +extern void annotate_frame_source_end (void); +extern void annotate_frame_where (void); +extern void annotate_frame_end (void); + +extern void annotate_array_section_begin (int, struct type *); +extern void annotate_elt_rep (unsigned int); +extern void annotate_elt_rep_end (void); +extern void annotate_elt (void); +extern void annotate_array_section_end (void); + +extern void (*annotate_starting_hook) (void); +extern void (*annotate_stopped_hook) (void); +extern void (*annotate_signalled_hook) (void); +extern void (*annotate_signal_hook) (void); +extern void (*annotate_exited_hook) (void); diff --git a/contrib/gdb/gdb/arc-tdep.c b/contrib/gdb/gdb/arc-tdep.c index 9295770..ffa538f 100644 --- a/contrib/gdb/gdb/arc-tdep.c +++ b/contrib/gdb/gdb/arc-tdep.c @@ -1,21 +1,22 @@ /* ARC target-dependent stuff. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. + Copyright 1995, 1996, 1999, 2000, 2001 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "defs.h" #include "frame.h" @@ -25,6 +26,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "floatformat.h" #include "symtab.h" #include "gdbcmd.h" +#include "regcache.h" + +/* Local functions */ + +static int arc_set_cpu_type (char *str); /* Current CPU, set with the "set cpu" command. */ static int arc_bfd_mach_type; @@ -32,12 +38,18 @@ char *arc_cpu_type; char *tmp_arc_cpu_type; /* Table of cpu names. */ -struct { - char *name; - int value; -} arc_cpu_type_table[] = { - { "base", bfd_mach_arc_base }, - { NULL, 0 } +struct + { + char *name; + int value; + } +arc_cpu_type_table[] = +{ + { "arc5", bfd_mach_arc_5 }, + { "arc6", bfd_mach_arc_6 }, + { "arc7", bfd_mach_arc_7 }, + { "arc8", bfd_mach_arc_8 }, + { NULL, 0 } }; /* Used by simulator. */ @@ -77,13 +89,14 @@ int debug_pipeline_p; | ((d) & 511)) /* Codestream stuff. */ -static void codestream_read PARAMS ((unsigned int *, int)); -static void codestream_seek PARAMS ((CORE_ADDR)); -static unsigned int codestream_fill PARAMS ((int)); +static void codestream_read (unsigned int *, int); +static void codestream_seek (CORE_ADDR); +static unsigned int codestream_fill (int); -#define CODESTREAM_BUFSIZ 16 +#define CODESTREAM_BUFSIZ 16 static CORE_ADDR codestream_next_addr; static CORE_ADDR codestream_addr; +/* FIXME assumes sizeof (int) == 32? */ static unsigned int codestream_buf[CODESTREAM_BUFSIZ]; static int codestream_off; static int codestream_cnt; @@ -99,9 +112,8 @@ static int codestream_cnt; ? codestream_fill (0) \ : codestream_buf[codestream_off++]) -static unsigned int -codestream_fill (peek_flag) - int peek_flag; +static unsigned int +codestream_fill (int peek_flag) { codestream_addr = codestream_next_addr; codestream_next_addr += CODESTREAM_BUFSIZ * sizeof (codestream_buf[0]); @@ -111,17 +123,16 @@ codestream_fill (peek_flag) CODESTREAM_BUFSIZ * sizeof (codestream_buf[0])); /* FIXME: check return code? */ - /* Handle byte order differences. */ - if (HOST_BYTE_ORDER != TARGET_BYTE_ORDER) - { - register unsigned int i, j, n = sizeof (codestream_buf[0]); - register char tmp, *p; - for (i = 0, p = (char *) codestream_buf; i < CODESTREAM_BUFSIZ; - ++i, p += n) - for (j = 0; j < n / 2; ++j) - tmp = p[j], p[j] = p[n - 1 - j], p[n - 1 - j] = tmp; - } - + + /* Handle byte order differences -> convert to host byte ordering. */ + { + int i; + for (i = 0; i < CODESTREAM_BUFSIZ; i++) + codestream_buf[i] = + extract_unsigned_integer (&codestream_buf[i], + sizeof (codestream_buf[i])); + } + if (peek_flag) return codestream_peek (); else @@ -129,8 +140,7 @@ codestream_fill (peek_flag) } static void -codestream_seek (place) - CORE_ADDR place; +codestream_seek (CORE_ADDR place) { codestream_next_addr = place / CODESTREAM_BUFSIZ; codestream_next_addr *= CODESTREAM_BUFSIZ; @@ -143,9 +153,7 @@ codestream_seek (place) /* This function is currently unused but leave in for now. */ static void -codestream_read (buf, count) - unsigned int *buf; - int count; +codestream_read (unsigned int *buf, int count) { unsigned int *p; int i; @@ -157,8 +165,7 @@ codestream_read (buf, count) /* Set up prologue scanning and return the first insn. */ static unsigned int -setup_prologue_scan (pc) - CORE_ADDR pc; +setup_prologue_scan (CORE_ADDR pc) { unsigned int insn; @@ -176,8 +183,7 @@ setup_prologue_scan (pc) */ static long -arc_get_frame_setup (pc) - CORE_ADDR pc; +arc_get_frame_setup (CORE_ADDR pc) { unsigned int insn; /* Size of frame or -1 if unrecognizable prologue. */ @@ -203,16 +209,16 @@ arc_get_frame_setup (pc) { insn = codestream_get (); /* Frame may not be necessary, even though blink is saved. - At least this is something we recognize. */ + At least this is something we recognize. */ frame_size = 0; } - if ((insn & BUILD_INSN (-1, 0, -1, -1, -1)) /* st fp,[sp] */ + if ((insn & BUILD_INSN (-1, 0, -1, -1, -1)) /* st fp,[sp] */ == BUILD_INSN (2, 0, SP_REGNUM, FP_REGNUM, 0)) - { + { insn = codestream_get (); if ((insn & BUILD_INSN (-1, -1, -1, -1, 0)) - != BUILD_INSN (12, FP_REGNUM, SP_REGNUM, SP_REGNUM, 0)) + != BUILD_INSN (12, FP_REGNUM, SP_REGNUM, SP_REGNUM, 0)) return -1; /* Check for stack adjustment sub sp,sp,N. */ @@ -229,12 +235,12 @@ arc_get_frame_setup (pc) if (frame_size < 0) return -1; - codestream_get (); + codestream_get (); /* This sequence is used to get the address of the return buffer for a function that returns a structure. */ insn = codestream_peek (); - if (insn & OPMASK == 0x60000000) + if ((insn & OPMASK) == 0x60000000) codestream_get (); } /* Frameless fn. */ @@ -264,9 +270,7 @@ arc_get_frame_setup (pc) This allows a quicker answer. */ CORE_ADDR -skip_prologue (pc, frameless_p) - CORE_ADDR pc; - int frameless_p; +arc_skip_prologue (CORE_ADDR pc, int frameless_p) { unsigned int insn; int i, frame_size; @@ -283,8 +287,8 @@ skip_prologue (pc, frameless_p) insn = codestream_peek (); if ((insn & BUILD_INSN (-1, 0, -1, 0, 0)) != BUILD_INSN (2, 0, SP_REGNUM, 0, 0)) - break; /* not st insn */ - if (! ARC_CALL_SAVED_REG (X_C (insn))) + break; /* not st insn */ + if (!ARC_CALL_SAVED_REG (X_C (insn))) break; codestream_get (); } @@ -297,8 +301,7 @@ skip_prologue (pc, frameless_p) This is taken from frameless_look_for_prologue. */ CORE_ADDR -arc_frame_saved_pc (frame) - struct frame_info *frame; +arc_frame_saved_pc (struct frame_info *frame) { CORE_ADDR func_start; unsigned int insn; @@ -344,9 +347,7 @@ arc_frame_saved_pc (frame) */ void -frame_find_saved_regs (fip, fsrp) - struct frame_info *fip; - struct frame_saved_regs *fsrp; +frame_find_saved_regs (struct frame_info *fip, struct frame_saved_regs *fsrp) { long locals; unsigned int insn; @@ -360,11 +361,11 @@ frame_find_saved_regs (fip, fsrp) dummy_bottom = fip->frame - 4 - REGISTER_BYTES - CALL_DUMMY_LENGTH; /* Check if the PC is in the stack, in a dummy frame. */ - if (dummy_bottom <= fip->pc && fip->pc <= fip->frame) + if (dummy_bottom <= fip->pc && fip->pc <= fip->frame) { /* all regs were saved by push_call_dummy () */ adr = fip->frame; - for (i = 0; i < NUM_REGS; i++) + for (i = 0; i < NUM_REGS; i++) { adr -= REGISTER_RAW_SIZE (i); fsrp->regs[i] = adr; @@ -374,7 +375,7 @@ frame_find_saved_regs (fip, fsrp) locals = arc_get_frame_setup (get_pc_function_start (fip->pc)); - if (locals >= 0) + if (locals >= 0) { /* Set `adr' to the value of `sp'. */ adr = fip->frame - locals; @@ -382,9 +383,9 @@ frame_find_saved_regs (fip, fsrp) { insn = codestream_get (); if ((insn & BUILD_INSN (-1, 0, -1, 0, 0)) - != BUILD_INSN (2, 0, SP_REGNUM, 0, 0)) + != BUILD_INSN (2, 0, SP_REGNUM, 0, 0)) break; - regnum = X_C (insn); + regnum = X_C (insn); offset = X_D (insn); fsrp->regs[regnum] = adr + offset; } @@ -395,14 +396,14 @@ frame_find_saved_regs (fip, fsrp) } void -push_dummy_frame () +arc_push_dummy_frame (void) { CORE_ADDR sp = read_register (SP_REGNUM); int regnum; char regbuf[MAX_REGISTER_RAW_SIZE]; read_register_gen (PC_REGNUM, regbuf); - write_memory (sp+4, regbuf, REGISTER_SIZE); + write_memory (sp + 4, regbuf, REGISTER_SIZE); read_register_gen (FP_REGNUM, regbuf); write_memory (sp, regbuf, REGISTER_SIZE); write_register (FP_REGNUM, sp); @@ -411,22 +412,22 @@ push_dummy_frame () read_register_gen (regnum, regbuf); sp = push_bytes (sp, regbuf, REGISTER_RAW_SIZE (regnum)); } - sp += (2*REGISTER_SIZE); + sp += (2 * REGISTER_SIZE); write_register (SP_REGNUM, sp); } void -pop_frame () +arc_pop_frame (void) { struct frame_info *frame = get_current_frame (); CORE_ADDR fp; int regnum; struct frame_saved_regs fsr; char regbuf[MAX_REGISTER_RAW_SIZE]; - + fp = FRAME_FP (frame); get_frame_saved_regs (frame, &fsr); - for (regnum = 0; regnum < NUM_REGS; regnum++) + for (regnum = 0; regnum < NUM_REGS; regnum++) { CORE_ADDR adr; adr = fsr.regs[regnum]; @@ -447,45 +448,48 @@ pop_frame () typedef enum { - NORMAL4, /* a normal 4 byte insn */ - NORMAL8, /* a normal 8 byte insn */ - BRANCH4, /* a 4 byte branch insn, including ones without delay slots */ - BRANCH8, /* an 8 byte branch insn, including ones with delay slots */ -} insn_type; + NORMAL4, /* a normal 4 byte insn */ + NORMAL8, /* a normal 8 byte insn */ + BRANCH4, /* a 4 byte branch insn, including ones without delay slots */ + BRANCH8, /* an 8 byte branch insn, including ones with delay slots */ +} +insn_type; /* Return the type of INSN and store in TARGET the destination address of a branch if this is one. */ /* ??? Need to verify all cases are properly handled. */ static insn_type -get_insn_type (insn, pc, target) - unsigned long insn; - CORE_ADDR pc, *target; +get_insn_type (unsigned long insn, CORE_ADDR pc, CORE_ADDR *target) { unsigned long limm; switch (insn >> 27) { - case 0 : case 1 : case 2 : /* load/store insns */ + case 0: + case 1: + case 2: /* load/store insns */ if (LIMM_P (X_A (insn)) || LIMM_P (X_B (insn)) || LIMM_P (X_C (insn))) return NORMAL8; return NORMAL4; - case 4 : case 5 : case 6 : /* branch insns */ + case 4: + case 5: + case 6: /* branch insns */ *target = pc + 4 + X_L (insn); /* ??? It isn't clear that this is always the right answer. - The problem occurs when the next insn is an 8 byte insn. If the - branch is conditional there's no worry as there shouldn't be an 8 - byte insn following. The programmer may be cheating if s/he knows - the branch will never be taken, but we don't deal with that. - Note that the programmer is also allowed to play games by putting - an insn with long immediate data in the delay slot and then duplicate - the long immediate data at the branch target. Ugh! */ + The problem occurs when the next insn is an 8 byte insn. If the + branch is conditional there's no worry as there shouldn't be an 8 + byte insn following. The programmer may be cheating if s/he knows + the branch will never be taken, but we don't deal with that. + Note that the programmer is also allowed to play games by putting + an insn with long immediate data in the delay slot and then duplicate + the long immediate data at the branch target. Ugh! */ if (X_N (insn) == 0) return BRANCH4; return BRANCH8; - case 7 : /* jump insns */ + case 7: /* jump insns */ if (LIMM_P (X_B (insn))) { limm = read_memory_integer (pc + 4, 4); @@ -499,7 +503,7 @@ get_insn_type (insn, pc, target) if (X_Q (insn) == 0 && X_N (insn) == 0) return BRANCH4; return BRANCH8; - default : /* arithmetic insns, etc. */ + default: /* arithmetic insns, etc. */ if (LIMM_P (X_A (insn)) || LIMM_P (X_B (insn)) || LIMM_P (X_C (insn))) @@ -517,9 +521,8 @@ get_insn_type (insn, pc, target) set up a simulated single-step, we undo our damage. */ void -arc_software_single_step (ignore, insert_breakpoints_p) - enum target_signal ignore; /* sig but we don't need it */ - int insert_breakpoints_p; +arc_software_single_step (enum target_signal ignore, /* sig but we don't need it */ + int insert_breakpoints_p) { static CORE_ADDR next_pc, target; static int brktrg_p; @@ -543,10 +546,10 @@ arc_software_single_step (ignore, insert_breakpoints_p) brktrg_p = 0; if ((type == BRANCH4 || type == BRANCH8) - /* Watch out for branches to the following location. - We just stored a breakpoint there and another call to - target_insert_breakpoint will think the real insn is the - breakpoint we just stored there. */ + /* Watch out for branches to the following location. + We just stored a breakpoint there and another call to + target_insert_breakpoint will think the real insn is the + breakpoint we just stored there. */ && target != next_pc) { brktrg_p = 1; @@ -568,22 +571,23 @@ arc_software_single_step (ignore, insert_breakpoints_p) } } -#ifdef GET_LONGJMP_TARGET +/* Because of Multi-arch, GET_LONGJMP_TARGET is always defined. So test + for a definition of JB_PC. */ +#ifdef JB_PC /* Figure out where the longjmp will land. Slurp the args out of the stack. We expect the first arg to be a pointer to the jmp_buf structure from which we extract the pc (JB_PC) that we will land at. The pc is copied into PC. This routine returns true on success. */ int -get_longjmp_target(pc) - CORE_ADDR *pc; +get_longjmp_target (CORE_ADDR *pc) { char buf[TARGET_PTR_BIT / TARGET_CHAR_BIT]; CORE_ADDR sp, jb_addr; sp = read_register (SP_REGNUM); - if (target_read_memory (sp + SP_ARG0, /* Offset of first arg on stack */ + if (target_read_memory (sp + SP_ARG0, /* Offset of first arg on stack */ buf, TARGET_PTR_BIT / TARGET_CHAR_BIT)) return 0; @@ -603,9 +607,7 @@ get_longjmp_target(pc) /* Disassemble one instruction. */ static int -arc_print_insn (vma, info) - bfd_vma vma; - disassemble_info *info; +arc_print_insn (bfd_vma vma, disassemble_info *info) { static int current_mach; static int current_endian; @@ -617,8 +619,7 @@ arc_print_insn (vma, info) { current_mach = arc_bfd_mach_type; current_endian = TARGET_BYTE_ORDER; - current_disasm = arc_get_disassembler (current_mach, - current_endian == BIG_ENDIAN); + current_disasm = arc_get_disassembler (NULL); } return (*current_disasm) (vma, info); @@ -627,9 +628,7 @@ arc_print_insn (vma, info) /* Command to set cpu type. */ void -arc_set_cpu_type_command (args, from_tty) - char *args; - int from_tty; +arc_set_cpu_type_command (char *args, int from_tty) { int i; @@ -640,32 +639,29 @@ arc_set_cpu_type_command (args, from_tty) printf_unfiltered ("%s\n", arc_cpu_type_table[i].name); /* Restore the value. */ - tmp_arc_cpu_type = strsave (arc_cpu_type); + tmp_arc_cpu_type = xstrdup (arc_cpu_type); return; } - + if (!arc_set_cpu_type (tmp_arc_cpu_type)) { error ("Unknown cpu type `%s'.", tmp_arc_cpu_type); /* Restore its value. */ - tmp_arc_cpu_type = strsave (arc_cpu_type); + tmp_arc_cpu_type = xstrdup (arc_cpu_type); } } static void -arc_show_cpu_type_command (args, from_tty) - char *args; - int from_tty; +arc_show_cpu_type_command (char *args, int from_tty) { } /* Modify the actual cpu type. Result is a boolean indicating success. */ -int -arc_set_cpu_type (str) - char *str; +static int +arc_set_cpu_type (char *str) { int i, j; @@ -686,7 +682,7 @@ arc_set_cpu_type (str) } void -_initialize_arc_tdep () +_initialize_arc_tdep (void) { struct cmd_list_element *c; @@ -698,13 +694,13 @@ change the cpu being debugged. It also gives one access to\n\ cpu-type-specific registers and recognize cpu-type-specific instructions.\ ", &setlist); - c->function.cfunc = arc_set_cpu_type_command; + set_cmd_cfunc (c, arc_set_cpu_type_command); c = add_show_from_set (c, &showlist); - c->function.cfunc = arc_show_cpu_type_command; + set_cmd_cfunc (c, arc_show_cpu_type_command); - /* We have to use strsave here because the `set' command frees it before - setting a new value. */ - tmp_arc_cpu_type = strsave (DEFAULT_ARC_CPU_TYPE); + /* We have to use xstrdup() here because the `set' command frees it + before setting a new value. */ + tmp_arc_cpu_type = xstrdup (DEFAULT_ARC_CPU_TYPE); arc_set_cpu_type (tmp_arc_cpu_type); c = add_set_cmd ("displaypipeline", class_support, var_zinteger, diff --git a/contrib/gdb/gdb/arch-utils.c b/contrib/gdb/gdb/arch-utils.c new file mode 100644 index 0000000..5612ddf --- /dev/null +++ b/contrib/gdb/gdb/arch-utils.c @@ -0,0 +1,861 @@ +/* Dynamic architecture support for GDB, the GNU debugger. + Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include "defs.h" + +#if GDB_MULTI_ARCH +#include "arch-utils.h" +#include "gdbcmd.h" +#include "inferior.h" /* enum CALL_DUMMY_LOCATION et.al. */ +#else +/* Just include everything in sight so that the every old definition + of macro is visible. */ +#include "gdb_string.h" +#include "symtab.h" +#include "frame.h" +#include "inferior.h" +#include "breakpoint.h" +#include "gdb_wait.h" +#include "gdbcore.h" +#include "gdbcmd.h" +#include "target.h" +#include "annotate.h" +#endif +#include "regcache.h" +#include "gdb_assert.h" + +#include "version.h" + +#include "floatformat.h" + +/* Use the program counter to determine the contents and size + of a breakpoint instruction. If no target-dependent macro + BREAKPOINT_FROM_PC has been defined to implement this function, + assume that the breakpoint doesn't depend on the PC, and + use the values of the BIG_BREAKPOINT and LITTLE_BREAKPOINT macros. + Return a pointer to a string of bytes that encode a breakpoint + instruction, stores the length of the string to *lenptr, + and optionally adjust the pc to point to the correct memory location + for inserting the breakpoint. */ + +unsigned char * +legacy_breakpoint_from_pc (CORE_ADDR * pcptr, int *lenptr) +{ + /* {BIG_,LITTLE_}BREAKPOINT is the sequence of bytes we insert for a + breakpoint. On some machines, breakpoints are handled by the + target environment and we don't have to worry about them here. */ +#ifdef BIG_BREAKPOINT + if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) + { + static unsigned char big_break_insn[] = BIG_BREAKPOINT; + *lenptr = sizeof (big_break_insn); + return big_break_insn; + } +#endif +#ifdef LITTLE_BREAKPOINT + if (TARGET_BYTE_ORDER != BFD_ENDIAN_BIG) + { + static unsigned char little_break_insn[] = LITTLE_BREAKPOINT; + *lenptr = sizeof (little_break_insn); + return little_break_insn; + } +#endif +#ifdef BREAKPOINT + { + static unsigned char break_insn[] = BREAKPOINT; + *lenptr = sizeof (break_insn); + return break_insn; + } +#endif + *lenptr = 0; + return NULL; +} + +int +generic_frameless_function_invocation_not (struct frame_info *fi) +{ + return 0; +} + +int +generic_return_value_on_stack_not (struct type *type) +{ + return 0; +} + +CORE_ADDR +generic_skip_trampoline_code (CORE_ADDR pc) +{ + return 0; +} + +int +generic_in_solib_call_trampoline (CORE_ADDR pc, char *name) +{ + return 0; +} + +int +generic_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc) +{ + return 0; +} + +char * +legacy_register_name (int i) +{ +#ifdef REGISTER_NAMES + static char *names[] = REGISTER_NAMES; + if (i < 0 || i >= (sizeof (names) / sizeof (*names))) + return NULL; + else + return names[i]; +#else + internal_error (__FILE__, __LINE__, + "legacy_register_name: called."); + return NULL; +#endif +} + +#if defined (CALL_DUMMY) +LONGEST legacy_call_dummy_words[] = CALL_DUMMY; +#else +LONGEST legacy_call_dummy_words[1]; +#endif +int legacy_sizeof_call_dummy_words = sizeof (legacy_call_dummy_words); + +void +generic_remote_translate_xfer_address (CORE_ADDR gdb_addr, int gdb_len, + CORE_ADDR * rem_addr, int *rem_len) +{ + *rem_addr = gdb_addr; + *rem_len = gdb_len; +} + +int +generic_prologue_frameless_p (CORE_ADDR ip) +{ +#ifdef SKIP_PROLOGUE_FRAMELESS_P + return ip == SKIP_PROLOGUE_FRAMELESS_P (ip); +#else + return ip == SKIP_PROLOGUE (ip); +#endif +} + +/* New/multi-arched targets should use the correct gdbarch field + instead of using this global pointer. */ +int +legacy_print_insn (bfd_vma vma, disassemble_info *info) +{ + return (*tm_print_insn) (vma, info); +} + +/* Helper functions for INNER_THAN */ + +int +core_addr_lessthan (CORE_ADDR lhs, CORE_ADDR rhs) +{ + return (lhs < rhs); +} + +int +core_addr_greaterthan (CORE_ADDR lhs, CORE_ADDR rhs) +{ + return (lhs > rhs); +} + + +/* Helper functions for TARGET_{FLOAT,DOUBLE}_FORMAT */ + +const struct floatformat * +default_float_format (struct gdbarch *gdbarch) +{ +#if GDB_MULTI_ARCH + int byte_order = gdbarch_byte_order (gdbarch); +#else + int byte_order = TARGET_BYTE_ORDER; +#endif + switch (byte_order) + { + case BFD_ENDIAN_BIG: + return &floatformat_ieee_single_big; + case BFD_ENDIAN_LITTLE: + return &floatformat_ieee_single_little; + default: + internal_error (__FILE__, __LINE__, + "default_float_format: bad byte order"); + } +} + + +const struct floatformat * +default_double_format (struct gdbarch *gdbarch) +{ +#if GDB_MULTI_ARCH + int byte_order = gdbarch_byte_order (gdbarch); +#else + int byte_order = TARGET_BYTE_ORDER; +#endif + switch (byte_order) + { + case BFD_ENDIAN_BIG: + return &floatformat_ieee_double_big; + case BFD_ENDIAN_LITTLE: + return &floatformat_ieee_double_little; + default: + internal_error (__FILE__, __LINE__, + "default_double_format: bad byte order"); + } +} + +void +default_print_float_info (void) +{ +#ifdef FLOAT_INFO +#if GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL +#error "FLOAT_INFO defined in multi-arch" +#endif + FLOAT_INFO; +#else + printf_filtered ("No floating point info available for this processor.\n"); +#endif +} + +/* Misc helper functions for targets. */ + +int +frame_num_args_unknown (struct frame_info *fi) +{ + return -1; +} + + +int +generic_register_convertible_not (int num) +{ + return 0; +} + + +/* Under some ABI's that specify the `struct convention' for returning + structures by value, by the time we've returned from the function, + the return value is sitting there in the caller's buffer, but GDB + has no way to find the address of that buffer. + + On such architectures, use this function as your + extract_struct_value_address method. When asked to a struct + returned by value in this fashion, GDB will print a nice error + message, instead of garbage. */ +CORE_ADDR +generic_cannot_extract_struct_value_address (char *dummy) +{ + return 0; +} + +int +default_register_sim_regno (int num) +{ + return num; +} + + +CORE_ADDR +core_addr_identity (CORE_ADDR addr) +{ + return addr; +} + +int +no_op_reg_to_regnum (int reg) +{ + return reg; +} + +/* For use by frame_args_address and frame_locals_address. */ +CORE_ADDR +default_frame_address (struct frame_info *fi) +{ + return fi->frame; +} + +/* Default prepare_to_procced(). */ +int +default_prepare_to_proceed (int select_it) +{ + return 0; +} + +/* Generic prepare_to_proceed(). This one should be suitable for most + targets that support threads. */ +int +generic_prepare_to_proceed (int select_it) +{ + ptid_t wait_ptid; + struct target_waitstatus wait_status; + + /* Get the last target status returned by target_wait(). */ + get_last_target_status (&wait_ptid, &wait_status); + + /* Make sure we were stopped either at a breakpoint, or because + of a Ctrl-C. */ + if (wait_status.kind != TARGET_WAITKIND_STOPPED + || (wait_status.value.sig != TARGET_SIGNAL_TRAP && + wait_status.value.sig != TARGET_SIGNAL_INT)) + { + return 0; + } + + if (!ptid_equal (wait_ptid, minus_one_ptid) + && !ptid_equal (inferior_ptid, wait_ptid)) + { + /* Switched over from WAIT_PID. */ + CORE_ADDR wait_pc = read_pc_pid (wait_ptid); + + if (wait_pc != read_pc ()) + { + if (select_it) + { + /* Switch back to WAIT_PID thread. */ + inferior_ptid = wait_ptid; + + /* FIXME: This stuff came from switch_to_thread() in + thread.c (which should probably be a public function). */ + flush_cached_frames (); + registers_changed (); + stop_pc = wait_pc; + select_frame (get_current_frame (), 0); + } + /* We return 1 to indicate that there is a breakpoint here, + so we need to step over it before continuing to avoid + hitting it straight away. */ + if (breakpoint_here_p (wait_pc)) + { + return 1; + } + } + } + return 0; + +} + +void +init_frame_pc_noop (int fromleaf, struct frame_info *prev) +{ + return; +} + +void +init_frame_pc_default (int fromleaf, struct frame_info *prev) +{ + if (fromleaf) + prev->pc = SAVED_PC_AFTER_CALL (prev->next); + else if (prev->next != NULL) + prev->pc = FRAME_SAVED_PC (prev->next); + else + prev->pc = read_pc (); +} + +void +default_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym) +{ + return; +} + +void +default_coff_make_msymbol_special (int val, struct minimal_symbol *msym) +{ + return; +} + +int +cannot_register_not (int regnum) +{ + return 0; +} + +/* Legacy version of target_virtual_frame_pointer(). Assumes that + there is an FP_REGNUM and that it is the same, cooked or raw. */ + +void +legacy_virtual_frame_pointer (CORE_ADDR pc, + int *frame_regnum, + LONGEST *frame_offset) +{ + gdb_assert (FP_REGNUM >= 0); + *frame_regnum = FP_REGNUM; + *frame_offset = 0; +} + +/* Assume the world is flat. Every register is large enough to fit a + target integer. */ + +int +generic_register_raw_size (int regnum) +{ + gdb_assert (regnum >= 0 && regnum < NUM_REGS + NUM_PSEUDO_REGS); + return TARGET_INT_BIT / HOST_CHAR_BIT; +} + +/* Assume the virtual size corresponds to the virtual type. */ + +int +generic_register_virtual_size (int regnum) +{ + return TYPE_LENGTH (REGISTER_VIRTUAL_TYPE (regnum)); +} + + +/* Functions to manipulate the endianness of the target. */ + +/* ``target_byte_order'' is only used when non- multi-arch. + Multi-arch targets obtain the current byte order using the + TARGET_BYTE_ORDER gdbarch method. + + The choice of initial value is entirely arbitrary. During startup, + the function initialize_current_architecture() updates this value + based on default byte-order information extracted from BFD. */ +int target_byte_order = BFD_ENDIAN_BIG; +int target_byte_order_auto = 1; + +static const char endian_big[] = "big"; +static const char endian_little[] = "little"; +static const char endian_auto[] = "auto"; +static const char *endian_enum[] = +{ + endian_big, + endian_little, + endian_auto, + NULL, +}; +static const char *set_endian_string; + +/* Called by ``show endian''. */ + +static void +show_endian (char *args, int from_tty) +{ + if (TARGET_BYTE_ORDER_AUTO) + printf_unfiltered ("The target endianness is set automatically (currently %s endian)\n", + (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? "big" : "little")); + else + printf_unfiltered ("The target is assumed to be %s endian\n", + (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? "big" : "little")); +} + +static void +set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c) +{ + if (set_endian_string == endian_auto) + { + target_byte_order_auto = 1; + } + else if (set_endian_string == endian_little) + { + target_byte_order_auto = 0; + if (GDB_MULTI_ARCH) + { + struct gdbarch_info info; + gdbarch_info_init (&info); + info.byte_order = BFD_ENDIAN_LITTLE; + if (! gdbarch_update_p (info)) + { + printf_unfiltered ("Little endian target not supported by GDB\n"); + } + } + else + { + target_byte_order = BFD_ENDIAN_LITTLE; + } + } + else if (set_endian_string == endian_big) + { + target_byte_order_auto = 0; + if (GDB_MULTI_ARCH) + { + struct gdbarch_info info; + gdbarch_info_init (&info); + info.byte_order = BFD_ENDIAN_BIG; + if (! gdbarch_update_p (info)) + { + printf_unfiltered ("Big endian target not supported by GDB\n"); + } + } + else + { + target_byte_order = BFD_ENDIAN_BIG; + } + } + else + internal_error (__FILE__, __LINE__, + "set_endian: bad value"); + show_endian (NULL, from_tty); +} + +/* Set the endianness from a BFD. */ + +static void +set_endian_from_file (bfd *abfd) +{ + int want; + if (GDB_MULTI_ARCH) + internal_error (__FILE__, __LINE__, + "set_endian_from_file: not for multi-arch"); + if (bfd_big_endian (abfd)) + want = BFD_ENDIAN_BIG; + else + want = BFD_ENDIAN_LITTLE; + if (TARGET_BYTE_ORDER_AUTO) + target_byte_order = want; + else if (TARGET_BYTE_ORDER != want) + warning ("%s endian file does not match %s endian target.", + want == BFD_ENDIAN_BIG ? "big" : "little", + TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? "big" : "little"); +} + + +/* Functions to manipulate the architecture of the target */ + +enum set_arch { set_arch_auto, set_arch_manual }; + +int target_architecture_auto = 1; + +const char *set_architecture_string; + +/* Old way of changing the current architecture. */ + +extern const struct bfd_arch_info bfd_default_arch_struct; +const struct bfd_arch_info *target_architecture = &bfd_default_arch_struct; +int (*target_architecture_hook) (const struct bfd_arch_info *ap); + +static int +arch_ok (const struct bfd_arch_info *arch) +{ + if (GDB_MULTI_ARCH) + internal_error (__FILE__, __LINE__, + "arch_ok: not multi-arched"); + /* Should be performing the more basic check that the binary is + compatible with GDB. */ + /* Check with the target that the architecture is valid. */ + return (target_architecture_hook == NULL + || target_architecture_hook (arch)); +} + +static void +set_arch (const struct bfd_arch_info *arch, + enum set_arch type) +{ + if (GDB_MULTI_ARCH) + internal_error (__FILE__, __LINE__, + "set_arch: not multi-arched"); + switch (type) + { + case set_arch_auto: + if (!arch_ok (arch)) + warning ("Target may not support %s architecture", + arch->printable_name); + target_architecture = arch; + break; + case set_arch_manual: + if (!arch_ok (arch)) + { + printf_unfiltered ("Target does not support `%s' architecture.\n", + arch->printable_name); + } + else + { + target_architecture_auto = 0; + target_architecture = arch; + } + break; + } + if (gdbarch_debug) + gdbarch_dump (current_gdbarch, gdb_stdlog); +} + +/* Set the architecture from arch/machine (deprecated) */ + +void +set_architecture_from_arch_mach (enum bfd_architecture arch, + unsigned long mach) +{ + const struct bfd_arch_info *wanted = bfd_lookup_arch (arch, mach); + if (GDB_MULTI_ARCH) + internal_error (__FILE__, __LINE__, + "set_architecture_from_arch_mach: not multi-arched"); + if (wanted != NULL) + set_arch (wanted, set_arch_manual); + else + internal_error (__FILE__, __LINE__, + "gdbarch: hardwired architecture/machine not recognized"); +} + +/* Set the architecture from a BFD (deprecated) */ + +static void +set_architecture_from_file (bfd *abfd) +{ + const struct bfd_arch_info *wanted = bfd_get_arch_info (abfd); + if (GDB_MULTI_ARCH) + internal_error (__FILE__, __LINE__, + "set_architecture_from_file: not multi-arched"); + if (target_architecture_auto) + { + set_arch (wanted, set_arch_auto); + } + else if (wanted != target_architecture) + { + warning ("%s architecture file may be incompatible with %s target.", + wanted->printable_name, + target_architecture->printable_name); + } +} + + +/* Called if the user enters ``show architecture'' without an + argument. */ + +static void +show_architecture (char *args, int from_tty) +{ + const char *arch; + arch = TARGET_ARCHITECTURE->printable_name; + if (target_architecture_auto) + printf_filtered ("The target architecture is set automatically (currently %s)\n", arch); + else + printf_filtered ("The target architecture is assumed to be %s\n", arch); +} + + +/* Called if the user enters ``set architecture'' with or without an + argument. */ + +static void +set_architecture (char *ignore_args, int from_tty, struct cmd_list_element *c) +{ + if (strcmp (set_architecture_string, "auto") == 0) + { + target_architecture_auto = 1; + } + else if (GDB_MULTI_ARCH) + { + struct gdbarch_info info; + gdbarch_info_init (&info); + info.bfd_arch_info = bfd_scan_arch (set_architecture_string); + if (info.bfd_arch_info == NULL) + internal_error (__FILE__, __LINE__, + "set_architecture: bfd_scan_arch failed"); + if (gdbarch_update_p (info)) + target_architecture_auto = 0; + else + printf_unfiltered ("Architecture `%s' not recognized.\n", + set_architecture_string); + } + else + { + const struct bfd_arch_info *arch + = bfd_scan_arch (set_architecture_string); + if (arch == NULL) + internal_error (__FILE__, __LINE__, + "set_architecture: bfd_scan_arch failed"); + set_arch (arch, set_arch_manual); + } + show_architecture (NULL, from_tty); +} + +/* Set the dynamic target-system-dependent parameters (architecture, + byte-order) using information found in the BFD */ + +void +set_gdbarch_from_file (bfd *abfd) +{ + if (GDB_MULTI_ARCH) + { + struct gdbarch_info info; + gdbarch_info_init (&info); + info.abfd = abfd; + if (! gdbarch_update_p (info)) + error ("Architecture of file not recognized.\n"); + } + else + { + set_architecture_from_file (abfd); + set_endian_from_file (abfd); + } +} + +/* Initialize the current architecture. Update the ``set + architecture'' command so that it specifies a list of valid + architectures. */ + +#ifdef DEFAULT_BFD_ARCH +extern const bfd_arch_info_type DEFAULT_BFD_ARCH; +static const bfd_arch_info_type *default_bfd_arch = &DEFAULT_BFD_ARCH; +#else +static const bfd_arch_info_type *default_bfd_arch; +#endif + +#ifdef DEFAULT_BFD_VEC +extern const bfd_target DEFAULT_BFD_VEC; +static const bfd_target *default_bfd_vec = &DEFAULT_BFD_VEC; +#else +static const bfd_target *default_bfd_vec; +#endif + +void +initialize_current_architecture (void) +{ + const char **arches = gdbarch_printable_names (); + + /* determine a default architecture and byte order. */ + struct gdbarch_info info; + gdbarch_info_init (&info); + + /* Find a default architecture. */ + if (info.bfd_arch_info == NULL + && default_bfd_arch != NULL) + info.bfd_arch_info = default_bfd_arch; + if (info.bfd_arch_info == NULL) + { + /* Choose the architecture by taking the first one + alphabetically. */ + const char *chosen = arches[0]; + const char **arch; + for (arch = arches; *arch != NULL; arch++) + { + if (strcmp (*arch, chosen) < 0) + chosen = *arch; + } + if (chosen == NULL) + internal_error (__FILE__, __LINE__, + "initialize_current_architecture: No arch"); + info.bfd_arch_info = bfd_scan_arch (chosen); + if (info.bfd_arch_info == NULL) + internal_error (__FILE__, __LINE__, + "initialize_current_architecture: Arch not found"); + } + + /* Take several guesses at a byte order. */ + if (info.byte_order == BFD_ENDIAN_UNKNOWN + && default_bfd_vec != NULL) + { + /* Extract BFD's default vector's byte order. */ + switch (default_bfd_vec->byteorder) + { + case BFD_ENDIAN_BIG: + info.byte_order = BFD_ENDIAN_BIG; + break; + case BFD_ENDIAN_LITTLE: + info.byte_order = BFD_ENDIAN_LITTLE; + break; + default: + break; + } + } + if (info.byte_order == BFD_ENDIAN_UNKNOWN) + { + /* look for ``*el-*'' in the target name. */ + const char *chp; + chp = strchr (target_name, '-'); + if (chp != NULL + && chp - 2 >= target_name + && strncmp (chp - 2, "el", 2) == 0) + info.byte_order = BFD_ENDIAN_LITTLE; + } + if (info.byte_order == BFD_ENDIAN_UNKNOWN) + { + /* Wire it to big-endian!!! */ + info.byte_order = BFD_ENDIAN_BIG; + } + + if (GDB_MULTI_ARCH) + { + if (! gdbarch_update_p (info)) + { + internal_error (__FILE__, __LINE__, + "initialize_current_architecture: Selection of initial architecture failed"); + } + } + else + { + /* If the multi-arch logic comes up with a byte-order (from BFD) + use it for the non-multi-arch case. */ + if (info.byte_order != BFD_ENDIAN_UNKNOWN) + target_byte_order = info.byte_order; + initialize_non_multiarch (); + } + + /* Create the ``set architecture'' command appending ``auto'' to the + list of architectures. */ + { + struct cmd_list_element *c; + /* Append ``auto''. */ + int nr; + for (nr = 0; arches[nr] != NULL; nr++); + arches = xrealloc (arches, sizeof (char*) * (nr + 2)); + arches[nr + 0] = "auto"; + arches[nr + 1] = NULL; + /* FIXME: add_set_enum_cmd() uses an array of ``char *'' instead + of ``const char *''. We just happen to know that the casts are + safe. */ + c = add_set_enum_cmd ("architecture", class_support, + arches, &set_architecture_string, + "Set architecture of target.", + &setlist); + set_cmd_sfunc (c, set_architecture); + add_alias_cmd ("processor", "architecture", class_support, 1, &setlist); + /* Don't use set_from_show - need to print both auto/manual and + current setting. */ + add_cmd ("architecture", class_support, show_architecture, + "Show the current target architecture", &showlist); + } +} + + +/* Initialize a gdbarch info to values that will be automatically + overridden. Note: Originally, this ``struct info'' was initialized + using memset(0). Unfortunatly, that ran into problems, namely + BFD_ENDIAN_BIG is zero. An explicit initialization function that + can explicitly set each field to a well defined value is used. */ + +void +gdbarch_info_init (struct gdbarch_info *info) +{ + memset (info, 0, sizeof (struct gdbarch_info)); + info->byte_order = BFD_ENDIAN_UNKNOWN; +} + +/* */ + +extern initialize_file_ftype _initialize_gdbarch_utils; + +void +_initialize_gdbarch_utils (void) +{ + struct cmd_list_element *c; + c = add_set_enum_cmd ("endian", class_support, + endian_enum, &set_endian_string, + "Set endianness of target.", + &setlist); + set_cmd_sfunc (c, set_endian); + /* Don't use set_from_show - need to print both auto/manual and + current setting. */ + add_cmd ("endian", class_support, show_endian, + "Show the current byte-order", &showlist); +} diff --git a/contrib/gdb/gdb/arch-utils.h b/contrib/gdb/gdb/arch-utils.h new file mode 100644 index 0000000..96d1b8b --- /dev/null +++ b/contrib/gdb/gdb/arch-utils.h @@ -0,0 +1,163 @@ +/* Dynamic architecture support for GDB, the GNU debugger. + Copyright 1998, 1999, 2000 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef GDBARCH_UTILS_H +#define GDBARCH_UTILS_H + +/* gdbarch trace variable */ +extern int gdbarch_debug; + +/* Fallback for register convertible. */ +extern gdbarch_register_convertible_ftype generic_register_convertible_not; + +extern CORE_ADDR generic_cannot_extract_struct_value_address (char *dummy); + +/* Helper function for targets that don't know how my arguments are + being passed */ +extern gdbarch_frame_num_args_ftype frame_num_args_unknown; + +/* Implementation of breakpoint from PC using any of the deprecated + macros BREAKPOINT, LITTLE_BREAKPOINT, BIG_BREAPOINT. For legacy + targets that don't yet implement their own breakpoint_from_pc(). */ +extern gdbarch_breakpoint_from_pc_ftype legacy_breakpoint_from_pc; + +/* Frameless functions not identifable. */ +extern gdbarch_frameless_function_invocation_ftype generic_frameless_function_invocation_not; + +/* Only structures, unions, and arrays are returned using the struct + convention. Note that arrays are never passed by value in the C + language family, so that case is irrelevant for C. */ +extern gdbarch_return_value_on_stack_ftype generic_return_value_on_stack_not; + +/* Map onto old REGISTER_NAMES. */ +extern char *legacy_register_name (int i); + +/* Accessor for old global function pointer for disassembly. */ +extern int legacy_print_insn (bfd_vma vma, disassemble_info *info); + +/* Backward compatible call_dummy_words. */ +extern LONGEST legacy_call_dummy_words[]; +extern int legacy_sizeof_call_dummy_words; + +/* Typical remote_translate_xfer_address */ +extern gdbarch_remote_translate_xfer_address_ftype generic_remote_translate_xfer_address; + +/* Generic implementation of prologue_frameless_p. Just calls + SKIP_PROLOG and checks the return value to see if it actually + changed. */ +extern gdbarch_prologue_frameless_p_ftype generic_prologue_frameless_p; + +/* The only possible cases for inner_than. */ +extern int core_addr_lessthan (CORE_ADDR lhs, CORE_ADDR rhs); +extern int core_addr_greaterthan (CORE_ADDR lhs, CORE_ADDR rhs); + +/* Floating point values. */ +extern const struct floatformat *default_float_format (struct gdbarch *gdbarch); +extern const struct floatformat *default_double_format (struct gdbarch *gdbarch); + +/* Helper function for targets that don't know how my arguments are + being passed */ +extern int frame_num_args_unknown (struct frame_info *fi); + + +/* The following DEPRECATED interfaces are for pre- multi-arch legacy + targets. */ + +/* DEPRECATED pre- multi-arch interface. Explicitly set the dynamic + target-system-dependent parameters based on bfd_architecture and + machine. This function is deprecated, use + set_gdbarch_from_arch_machine(). */ + +extern void set_architecture_from_arch_mach (enum bfd_architecture, unsigned long); + +/* DEPRECATED pre- multi-arch interface. Notify the target dependent + backend of a change to the selected architecture. A zero return + status indicates that the target did not like the change. */ + +extern int (*target_architecture_hook) (const struct bfd_arch_info *); + + +/* Default raw->sim register re-numbering - does nothing. */ + +extern int default_register_sim_regno (int reg_nr); + +/* Identity function on a CORE_ADDR. Just returns its parameter. */ + +extern CORE_ADDR core_addr_identity (CORE_ADDR addr); + +/* No-op conversion of reg to regnum. */ + +extern int no_op_reg_to_regnum (int reg); + +/* Default frame_args_address and frame_locals_address. */ + +extern CORE_ADDR default_frame_address (struct frame_info *); + +/* Default prepare_to_procced. */ + +extern int default_prepare_to_proceed (int select_it); + +extern int generic_prepare_to_proceed (int select_it); + +/* Versions of init_frame_pc(). Do nothing; do the default. */ + +void init_frame_pc_noop (int fromleaf, struct frame_info *prev); + +void init_frame_pc_default (int fromleaf, struct frame_info *prev); + +/* Do nothing version of elf_make_msymbol_special. */ + +void default_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym); + +/* Do nothing version of coff_make_msymbol_special. */ + +void default_coff_make_msymbol_special (int val, struct minimal_symbol *msym); + +/* Version of cannot_fetch_register() / cannot_store_register() that + always fails. */ + +int cannot_register_not (int regnum); + +/* Legacy version of target_virtual_frame_pointer(). Assumes that + there is an FP_REGNUM and that it is the same, cooked or raw. */ + +extern gdbarch_virtual_frame_pointer_ftype legacy_virtual_frame_pointer; + +extern CORE_ADDR generic_skip_trampoline_code (CORE_ADDR pc); + +extern int generic_in_solib_call_trampoline (CORE_ADDR pc, char *name); + +extern int generic_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc); + +extern void default_print_float_info (void); + +/* Assume all registers are the same size and a size identical to that + of the integer type. */ +extern int generic_register_raw_size (int regnum); + +/* Assume the virtual size of registers corresponds to the virtual type. */ + +extern int generic_register_virtual_size (int regnum); + +/* Initialize a ``struct info''. Can't use memset(0) since some + default values are not zero. */ +extern void gdbarch_info_init (struct gdbarch_info *info); + +#endif diff --git a/contrib/gdb/gdb/arm-linux-nat.c b/contrib/gdb/gdb/arm-linux-nat.c new file mode 100644 index 0000000..8d7ee9d --- /dev/null +++ b/contrib/gdb/gdb/arm-linux-nat.c @@ -0,0 +1,698 @@ +/* GNU/Linux on ARM native support. + Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "gdbcore.h" +#include "gdb_string.h" +#include "regcache.h" + +#include "arm-tdep.h" + +#include +#include +#include +#include + +/* Prototypes for supply_gregset etc. */ +#include "gregset.h" + +extern int arm_apcs_32; + +#define typeNone 0x00 +#define typeSingle 0x01 +#define typeDouble 0x02 +#define typeExtended 0x03 +#define FPWORDS 28 +#define ARM_CPSR_REGNUM 16 + +typedef union tagFPREG + { + unsigned int fSingle; + unsigned int fDouble[2]; + unsigned int fExtended[3]; + } +FPREG; + +typedef struct tagFPA11 + { + FPREG fpreg[8]; /* 8 floating point registers */ + unsigned int fpsr; /* floating point status register */ + unsigned int fpcr; /* floating point control register */ + unsigned char fType[8]; /* type of floating point value held in + floating point registers. */ + int initflag; /* NWFPE initialization flag. */ + } +FPA11; + +/* The following variables are used to determine the version of the + underlying GNU/Linux operating system. Examples: + + GNU/Linux 2.0.35 GNU/Linux 2.2.12 + os_version = 0x00020023 os_version = 0x0002020c + os_major = 2 os_major = 2 + os_minor = 0 os_minor = 2 + os_release = 35 os_release = 12 + + Note: os_version = (os_major << 16) | (os_minor << 8) | os_release + + These are initialized using get_linux_version() from + _initialize_arm_linux_nat(). */ + +static unsigned int os_version, os_major, os_minor, os_release; + +/* On GNU/Linux, threads are implemented as pseudo-processes, in which + case we may be tracing more than one process at a time. In that + case, inferior_ptid will contain the main process ID and the + individual thread (process) ID. get_thread_id () is used to get + the thread id if it's available, and the process id otherwise. */ + +int +get_thread_id (ptid_t ptid) +{ + int tid = TIDGET (ptid); + if (0 == tid) + tid = PIDGET (ptid); + return tid; +} +#define GET_THREAD_ID(PTID) get_thread_id ((PTID)); + +static void +fetch_nwfpe_single (unsigned int fn, FPA11 * fpa11) +{ + unsigned int mem[3]; + + mem[0] = fpa11->fpreg[fn].fSingle; + mem[1] = 0; + mem[2] = 0; + supply_register (ARM_F0_REGNUM + fn, (char *) &mem[0]); +} + +static void +fetch_nwfpe_double (unsigned int fn, FPA11 * fpa11) +{ + unsigned int mem[3]; + + mem[0] = fpa11->fpreg[fn].fDouble[1]; + mem[1] = fpa11->fpreg[fn].fDouble[0]; + mem[2] = 0; + supply_register (ARM_F0_REGNUM + fn, (char *) &mem[0]); +} + +static void +fetch_nwfpe_none (unsigned int fn) +{ + unsigned int mem[3] = + {0, 0, 0}; + + supply_register (ARM_F0_REGNUM + fn, (char *) &mem[0]); +} + +static void +fetch_nwfpe_extended (unsigned int fn, FPA11 * fpa11) +{ + unsigned int mem[3]; + + mem[0] = fpa11->fpreg[fn].fExtended[0]; /* sign & exponent */ + mem[1] = fpa11->fpreg[fn].fExtended[2]; /* ls bits */ + mem[2] = fpa11->fpreg[fn].fExtended[1]; /* ms bits */ + supply_register (ARM_F0_REGNUM + fn, (char *) &mem[0]); +} + +static void +fetch_nwfpe_register (int regno, FPA11 * fpa11) +{ + int fn = regno - ARM_F0_REGNUM; + + switch (fpa11->fType[fn]) + { + case typeSingle: + fetch_nwfpe_single (fn, fpa11); + break; + + case typeDouble: + fetch_nwfpe_double (fn, fpa11); + break; + + case typeExtended: + fetch_nwfpe_extended (fn, fpa11); + break; + + default: + fetch_nwfpe_none (fn); + } +} + +static void +store_nwfpe_single (unsigned int fn, FPA11 *fpa11) +{ + unsigned int mem[3]; + + regcache_collect (ARM_F0_REGNUM + fn, (char *) &mem[0]); + fpa11->fpreg[fn].fSingle = mem[0]; + fpa11->fType[fn] = typeSingle; +} + +static void +store_nwfpe_double (unsigned int fn, FPA11 *fpa11) +{ + unsigned int mem[3]; + + regcache_collect (ARM_F0_REGNUM + fn, (char *) &mem[0]); + fpa11->fpreg[fn].fDouble[1] = mem[0]; + fpa11->fpreg[fn].fDouble[0] = mem[1]; + fpa11->fType[fn] = typeDouble; +} + +void +store_nwfpe_extended (unsigned int fn, FPA11 *fpa11) +{ + unsigned int mem[3]; + + regcache_collect (ARM_F0_REGNUM + fn, (char *) &mem[0]); + fpa11->fpreg[fn].fExtended[0] = mem[0]; /* sign & exponent */ + fpa11->fpreg[fn].fExtended[2] = mem[1]; /* ls bits */ + fpa11->fpreg[fn].fExtended[1] = mem[2]; /* ms bits */ + fpa11->fType[fn] = typeDouble; +} + +void +store_nwfpe_register (int regno, FPA11 * fpa11) +{ + if (register_cached (regno)) + { + unsigned int fn = regno - ARM_F0_REGNUM; + switch (fpa11->fType[fn]) + { + case typeSingle: + store_nwfpe_single (fn, fpa11); + break; + + case typeDouble: + store_nwfpe_double (fn, fpa11); + break; + + case typeExtended: + store_nwfpe_extended (fn, fpa11); + break; + } + } +} + + +/* Get the value of a particular register from the floating point + state of the process and store it into regcache. */ + +static void +fetch_fpregister (int regno) +{ + int ret, tid; + FPA11 fp; + + /* Get the thread id for the ptrace call. */ + tid = GET_THREAD_ID (inferior_ptid); + + /* Read the floating point state. */ + ret = ptrace (PT_GETFPREGS, tid, 0, &fp); + if (ret < 0) + { + warning ("Unable to fetch floating point register."); + return; + } + + /* Fetch fpsr. */ + if (ARM_FPS_REGNUM == regno) + supply_register (ARM_FPS_REGNUM, (char *) &fp.fpsr); + + /* Fetch the floating point register. */ + if (regno >= ARM_F0_REGNUM && regno <= ARM_F7_REGNUM) + { + int fn = regno - ARM_F0_REGNUM; + + switch (fp.fType[fn]) + { + case typeSingle: + fetch_nwfpe_single (fn, &fp); + break; + + case typeDouble: + fetch_nwfpe_double (fn, &fp); + break; + + case typeExtended: + fetch_nwfpe_extended (fn, &fp); + break; + + default: + fetch_nwfpe_none (fn); + } + } +} + +/* Get the whole floating point state of the process and store it + into regcache. */ + +static void +fetch_fpregs (void) +{ + int ret, regno, tid; + FPA11 fp; + + /* Get the thread id for the ptrace call. */ + tid = GET_THREAD_ID (inferior_ptid); + + /* Read the floating point state. */ + ret = ptrace (PT_GETFPREGS, tid, 0, &fp); + if (ret < 0) + { + warning ("Unable to fetch the floating point registers."); + return; + } + + /* Fetch fpsr. */ + supply_register (ARM_FPS_REGNUM, (char *) &fp.fpsr); + + /* Fetch the floating point registers. */ + for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++) + { + int fn = regno - ARM_F0_REGNUM; + + switch (fp.fType[fn]) + { + case typeSingle: + fetch_nwfpe_single (fn, &fp); + break; + + case typeDouble: + fetch_nwfpe_double (fn, &fp); + break; + + case typeExtended: + fetch_nwfpe_extended (fn, &fp); + break; + + default: + fetch_nwfpe_none (fn); + } + } +} + +/* Save a particular register into the floating point state of the + process using the contents from regcache. */ + +static void +store_fpregister (int regno) +{ + int ret, tid; + FPA11 fp; + + /* Get the thread id for the ptrace call. */ + tid = GET_THREAD_ID (inferior_ptid); + + /* Read the floating point state. */ + ret = ptrace (PT_GETFPREGS, tid, 0, &fp); + if (ret < 0) + { + warning ("Unable to fetch the floating point registers."); + return; + } + + /* Store fpsr. */ + if (ARM_FPS_REGNUM == regno && register_cached (ARM_FPS_REGNUM)) + regcache_collect (ARM_FPS_REGNUM, (char *) &fp.fpsr); + + /* Store the floating point register. */ + if (regno >= ARM_F0_REGNUM && regno <= ARM_F7_REGNUM) + { + store_nwfpe_register (regno, &fp); + } + + ret = ptrace (PTRACE_SETFPREGS, tid, 0, &fp); + if (ret < 0) + { + warning ("Unable to store floating point register."); + return; + } +} + +/* Save the whole floating point state of the process using + the contents from regcache. */ + +static void +store_fpregs (void) +{ + int ret, regno, tid; + FPA11 fp; + + /* Get the thread id for the ptrace call. */ + tid = GET_THREAD_ID (inferior_ptid); + + /* Read the floating point state. */ + ret = ptrace (PT_GETFPREGS, tid, 0, &fp); + if (ret < 0) + { + warning ("Unable to fetch the floating point registers."); + return; + } + + /* Store fpsr. */ + if (register_cached (ARM_FPS_REGNUM)) + regcache_collect (ARM_FPS_REGNUM, (char *) &fp.fpsr); + + /* Store the floating point registers. */ + for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++) + { + fetch_nwfpe_register (regno, &fp); + } + + ret = ptrace (PTRACE_SETFPREGS, tid, 0, &fp); + if (ret < 0) + { + warning ("Unable to store floating point registers."); + return; + } +} + +/* Fetch a general register of the process and store into + regcache. */ + +static void +fetch_register (int regno) +{ + int ret, tid; + elf_gregset_t regs; + + /* Get the thread id for the ptrace call. */ + tid = GET_THREAD_ID (inferior_ptid); + + ret = ptrace (PTRACE_GETREGS, tid, 0, ®s); + if (ret < 0) + { + warning ("Unable to fetch general register."); + return; + } + + if (regno >= ARM_A1_REGNUM && regno < ARM_PC_REGNUM) + supply_register (regno, (char *) ®s[regno]); + + if (ARM_PS_REGNUM == regno) + { + if (arm_apcs_32) + supply_register (ARM_PS_REGNUM, (char *) ®s[ARM_CPSR_REGNUM]); + else + supply_register (ARM_PS_REGNUM, (char *) ®s[ARM_PC_REGNUM]); + } + + if (ARM_PC_REGNUM == regno) + { + regs[ARM_PC_REGNUM] = ADDR_BITS_REMOVE (regs[ARM_PC_REGNUM]); + supply_register (ARM_PC_REGNUM, (char *) ®s[ARM_PC_REGNUM]); + } +} + +/* Fetch all general registers of the process and store into + regcache. */ + +static void +fetch_regs (void) +{ + int ret, regno, tid; + elf_gregset_t regs; + + /* Get the thread id for the ptrace call. */ + tid = GET_THREAD_ID (inferior_ptid); + + ret = ptrace (PTRACE_GETREGS, tid, 0, ®s); + if (ret < 0) + { + warning ("Unable to fetch general registers."); + return; + } + + for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++) + supply_register (regno, (char *) ®s[regno]); + + if (arm_apcs_32) + supply_register (ARM_PS_REGNUM, (char *) ®s[ARM_CPSR_REGNUM]); + else + supply_register (ARM_PS_REGNUM, (char *) ®s[ARM_PC_REGNUM]); + + regs[ARM_PC_REGNUM] = ADDR_BITS_REMOVE (regs[ARM_PC_REGNUM]); + supply_register (ARM_PC_REGNUM, (char *) ®s[ARM_PC_REGNUM]); +} + +/* Store all general registers of the process from the values in + regcache. */ + +static void +store_register (int regno) +{ + int ret, tid; + elf_gregset_t regs; + + if (!register_cached (regno)) + return; + + /* Get the thread id for the ptrace call. */ + tid = GET_THREAD_ID (inferior_ptid); + + /* Get the general registers from the process. */ + ret = ptrace (PTRACE_GETREGS, tid, 0, ®s); + if (ret < 0) + { + warning ("Unable to fetch general registers."); + return; + } + + if (regno >= ARM_A1_REGNUM && regno <= ARM_PC_REGNUM) + regcache_collect (regno, (char *) ®s[regno]); + + ret = ptrace (PTRACE_SETREGS, tid, 0, ®s); + if (ret < 0) + { + warning ("Unable to store general register."); + return; + } +} + +static void +store_regs (void) +{ + int ret, regno, tid; + elf_gregset_t regs; + + /* Get the thread id for the ptrace call. */ + tid = GET_THREAD_ID (inferior_ptid); + + /* Fetch the general registers. */ + ret = ptrace (PTRACE_GETREGS, tid, 0, ®s); + if (ret < 0) + { + warning ("Unable to fetch general registers."); + return; + } + + for (regno = ARM_A1_REGNUM; regno <= ARM_PC_REGNUM; regno++) + { + if (register_cached (regno)) + regcache_collect (regno, (char *) ®s[regno]); + } + + ret = ptrace (PTRACE_SETREGS, tid, 0, ®s); + + if (ret < 0) + { + warning ("Unable to store general registers."); + return; + } +} + +/* Fetch registers from the child process. Fetch all registers if + regno == -1, otherwise fetch all general registers or all floating + point registers depending upon the value of regno. */ + +void +fetch_inferior_registers (int regno) +{ + if (-1 == regno) + { + fetch_regs (); + fetch_fpregs (); + } + else + { + if (regno < ARM_F0_REGNUM || regno > ARM_FPS_REGNUM) + fetch_register (regno); + + if (regno >= ARM_F0_REGNUM && regno <= ARM_FPS_REGNUM) + fetch_fpregister (regno); + } +} + +/* Store registers back into the inferior. Store all registers if + regno == -1, otherwise store all general registers or all floating + point registers depending upon the value of regno. */ + +void +store_inferior_registers (int regno) +{ + if (-1 == regno) + { + store_regs (); + store_fpregs (); + } + else + { + if ((regno < ARM_F0_REGNUM) || (regno > ARM_FPS_REGNUM)) + store_register (regno); + + if ((regno >= ARM_F0_REGNUM) && (regno <= ARM_FPS_REGNUM)) + store_fpregister (regno); + } +} + +/* Fill register regno (if it is a general-purpose register) in + *gregsetp with the appropriate value from GDB's register array. + If regno is -1, do this for all registers. */ + +void +fill_gregset (gdb_gregset_t *gregsetp, int regno) +{ + if (-1 == regno) + { + int regnum; + for (regnum = ARM_A1_REGNUM; regnum <= ARM_PC_REGNUM; regnum++) + regcache_collect (regnum, (char *) &(*gregsetp)[regnum]); + } + else if (regno >= ARM_A1_REGNUM && regno <= ARM_PC_REGNUM) + regcache_collect (regno, (char *) &(*gregsetp)[regno]); + + if (ARM_PS_REGNUM == regno || -1 == regno) + { + if (arm_apcs_32) + regcache_collect (ARM_PS_REGNUM, + (char *) &(*gregsetp)[ARM_CPSR_REGNUM]); + else + regcache_collect (ARM_PC_REGNUM, + (char *) &(*gregsetp)[ARM_PC_REGNUM]); + } +} + +/* Fill GDB's register array with the general-purpose register values + in *gregsetp. */ + +void +supply_gregset (gdb_gregset_t *gregsetp) +{ + int regno, reg_pc; + + for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++) + supply_register (regno, (char *) &(*gregsetp)[regno]); + + if (arm_apcs_32) + supply_register (ARM_PS_REGNUM, (char *) &(*gregsetp)[ARM_CPSR_REGNUM]); + else + supply_register (ARM_PS_REGNUM, (char *) &(*gregsetp)[ARM_PC_REGNUM]); + + reg_pc = ADDR_BITS_REMOVE ((CORE_ADDR)(*gregsetp)[ARM_PC_REGNUM]); + supply_register (ARM_PC_REGNUM, (char *) ®_pc); +} + +/* Fill register regno (if it is a floating-point register) in + *fpregsetp with the appropriate value from GDB's register array. + If regno is -1, do this for all registers. */ + +void +fill_fpregset (gdb_fpregset_t *fpregsetp, int regno) +{ + FPA11 *fp = (FPA11 *) fpregsetp; + + if (-1 == regno) + { + int regnum; + for (regnum = ARM_F0_REGNUM; regnum <= ARM_F7_REGNUM; regnum++) + store_nwfpe_register (regnum, fp); + } + else if (regno >= ARM_F0_REGNUM && regno <= ARM_F7_REGNUM) + { + store_nwfpe_register (regno, fp); + return; + } + + /* Store fpsr. */ + if (ARM_FPS_REGNUM == regno || -1 == regno) + regcache_collect (ARM_FPS_REGNUM, (char *) &fp->fpsr); +} + +/* Fill GDB's register array with the floating-point register values + in *fpregsetp. */ + +void +supply_fpregset (gdb_fpregset_t *fpregsetp) +{ + int regno; + FPA11 *fp = (FPA11 *) fpregsetp; + + /* Fetch fpsr. */ + supply_register (ARM_FPS_REGNUM, (char *) &fp->fpsr); + + /* Fetch the floating point registers. */ + for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++) + { + fetch_nwfpe_register (regno, fp); + } +} + +int +arm_linux_kernel_u_size (void) +{ + return (sizeof (struct user)); +} + +static unsigned int +get_linux_version (unsigned int *vmajor, + unsigned int *vminor, + unsigned int *vrelease) +{ + struct utsname info; + char *pmajor, *pminor, *prelease, *tail; + + if (-1 == uname (&info)) + { + warning ("Unable to determine GNU/Linux version."); + return -1; + } + + pmajor = strtok (info.release, "."); + pminor = strtok (NULL, "."); + prelease = strtok (NULL, "."); + + *vmajor = (unsigned int) strtoul (pmajor, &tail, 0); + *vminor = (unsigned int) strtoul (pminor, &tail, 0); + *vrelease = (unsigned int) strtoul (prelease, &tail, 0); + + return ((*vmajor << 16) | (*vminor << 8) | *vrelease); +} + +void +_initialize_arm_linux_nat (void) +{ + os_version = get_linux_version (&os_major, &os_minor, &os_release); +} diff --git a/contrib/gdb/gdb/arm-linux-tdep.c b/contrib/gdb/gdb/arm-linux-tdep.c new file mode 100644 index 0000000..af100a5 --- /dev/null +++ b/contrib/gdb/gdb/arm-linux-tdep.c @@ -0,0 +1,547 @@ +/* GNU/Linux on ARM target support. + Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "target.h" +#include "value.h" +#include "gdbtypes.h" +#include "floatformat.h" +#include "gdbcore.h" +#include "frame.h" +#include "regcache.h" +#include "doublest.h" + +#include "arm-tdep.h" + +/* For shared library handling. */ +#include "symtab.h" +#include "symfile.h" +#include "objfiles.h" + +/* Under ARM GNU/Linux the traditional way of performing a breakpoint + is to execute a particular software interrupt, rather than use a + particular undefined instruction to provoke a trap. Upon exection + of the software interrupt the kernel stops the inferior with a + SIGTRAP, and wakes the debugger. Since ARM GNU/Linux is little + endian, and doesn't support Thumb at the moment we only override + the ARM little-endian breakpoint. */ + +static const char arm_linux_arm_le_breakpoint[] = {0x01,0x00,0x9f,0xef}; + +/* CALL_DUMMY_WORDS: + This sequence of words is the instructions + + mov lr, pc + mov pc, r4 + swi bkpt_swi + + Note this is 12 bytes. */ + +LONGEST arm_linux_call_dummy_words[] = +{ + 0xe1a0e00f, 0xe1a0f004, 0xef9f001 +}; + +/* Description of the longjmp buffer. */ +#define JB_ELEMENT_SIZE INT_REGISTER_RAW_SIZE +#define JB_PC 21 + +/* Extract from an array REGBUF containing the (raw) register state + a function return value of type TYPE, and copy that, in virtual format, + into VALBUF. */ +/* FIXME rearnsha/2002-02-23: This function shouldn't be necessary. + The ARM generic one should be able to handle the model used by + linux and the low-level formatting of the registers should be + hidden behind the regcache abstraction. */ +static void +arm_linux_extract_return_value (struct type *type, + char regbuf[REGISTER_BYTES], + char *valbuf) +{ + /* ScottB: This needs to be looked at to handle the different + floating point emulators on ARM GNU/Linux. Right now the code + assumes that fetch inferior registers does the right thing for + GDB. I suspect this won't handle NWFPE registers correctly, nor + will the default ARM version (arm_extract_return_value()). */ + + int regnum = ((TYPE_CODE_FLT == TYPE_CODE (type)) + ? ARM_F0_REGNUM : ARM_A1_REGNUM); + memcpy (valbuf, ®buf[REGISTER_BYTE (regnum)], TYPE_LENGTH (type)); +} + +/* Note: ScottB + + This function does not support passing parameters using the FPA + variant of the APCS. It passes any floating point arguments in the + general registers and/or on the stack. + + FIXME: This and arm_push_arguments should be merged. However this + function breaks on a little endian host, big endian target + using the COFF file format. ELF is ok. + + ScottB. */ + +/* Addresses for calling Thumb functions have the bit 0 set. + Here are some macros to test, set, or clear bit 0 of addresses. */ +#define IS_THUMB_ADDR(addr) ((addr) & 1) +#define MAKE_THUMB_ADDR(addr) ((addr) | 1) +#define UNMAKE_THUMB_ADDR(addr) ((addr) & ~1) + +static CORE_ADDR +arm_linux_push_arguments (int nargs, struct value **args, CORE_ADDR sp, + int struct_return, CORE_ADDR struct_addr) +{ + char *fp; + int argnum, argreg, nstack_size; + + /* Walk through the list of args and determine how large a temporary + stack is required. Need to take care here as structs may be + passed on the stack, and we have to to push them. */ + nstack_size = -4 * REGISTER_SIZE; /* Some arguments go into A1-A4. */ + + if (struct_return) /* The struct address goes in A1. */ + nstack_size += REGISTER_SIZE; + + /* Walk through the arguments and add their size to nstack_size. */ + for (argnum = 0; argnum < nargs; argnum++) + { + int len; + struct type *arg_type; + + arg_type = check_typedef (VALUE_TYPE (args[argnum])); + len = TYPE_LENGTH (arg_type); + + /* ANSI C code passes float arguments as integers, K&R code + passes float arguments as doubles. Correct for this here. */ + if (TYPE_CODE_FLT == TYPE_CODE (arg_type) && REGISTER_SIZE == len) + nstack_size += FP_REGISTER_VIRTUAL_SIZE; + else + nstack_size += len; + } + + /* Allocate room on the stack, and initialize our stack frame + pointer. */ + fp = NULL; + if (nstack_size > 0) + { + sp -= nstack_size; + fp = (char *) sp; + } + + /* Initialize the integer argument register pointer. */ + argreg = ARM_A1_REGNUM; + + /* The struct_return pointer occupies the first parameter passing + register. */ + if (struct_return) + write_register (argreg++, struct_addr); + + /* Process arguments from left to right. Store as many as allowed + in the parameter passing registers (A1-A4), and save the rest on + the temporary stack. */ + for (argnum = 0; argnum < nargs; argnum++) + { + int len; + char *val; + CORE_ADDR regval; + enum type_code typecode; + struct type *arg_type, *target_type; + + arg_type = check_typedef (VALUE_TYPE (args[argnum])); + target_type = TYPE_TARGET_TYPE (arg_type); + len = TYPE_LENGTH (arg_type); + typecode = TYPE_CODE (arg_type); + val = (char *) VALUE_CONTENTS (args[argnum]); + + /* ANSI C code passes float arguments as integers, K&R code + passes float arguments as doubles. The .stabs record for + for ANSI prototype floating point arguments records the + type as FP_INTEGER, while a K&R style (no prototype) + .stabs records the type as FP_FLOAT. In this latter case + the compiler converts the float arguments to double before + calling the function. */ + if (TYPE_CODE_FLT == typecode && REGISTER_SIZE == len) + { + DOUBLEST dblval; + dblval = extract_floating (val, len); + len = TARGET_DOUBLE_BIT / TARGET_CHAR_BIT; + val = alloca (len); + store_floating (val, len, dblval); + } + + /* If the argument is a pointer to a function, and it is a Thumb + function, set the low bit of the pointer. */ + if (TYPE_CODE_PTR == typecode + && NULL != target_type + && TYPE_CODE_FUNC == TYPE_CODE (target_type)) + { + CORE_ADDR regval = extract_address (val, len); + if (arm_pc_is_thumb (regval)) + store_address (val, len, MAKE_THUMB_ADDR (regval)); + } + + /* Copy the argument to general registers or the stack in + register-sized pieces. Large arguments are split between + registers and stack. */ + while (len > 0) + { + int partial_len = len < REGISTER_SIZE ? len : REGISTER_SIZE; + + if (argreg <= ARM_LAST_ARG_REGNUM) + { + /* It's an argument being passed in a general register. */ + regval = extract_address (val, partial_len); + write_register (argreg++, regval); + } + else + { + /* Push the arguments onto the stack. */ + write_memory ((CORE_ADDR) fp, val, REGISTER_SIZE); + fp += REGISTER_SIZE; + } + + len -= partial_len; + val += partial_len; + } + } + + /* Return adjusted stack pointer. */ + return sp; +} + +/* + Dynamic Linking on ARM GNU/Linux + -------------------------------- + + Note: PLT = procedure linkage table + GOT = global offset table + + As much as possible, ELF dynamic linking defers the resolution of + jump/call addresses until the last minute. The technique used is + inspired by the i386 ELF design, and is based on the following + constraints. + + 1) The calling technique should not force a change in the assembly + code produced for apps; it MAY cause changes in the way assembly + code is produced for position independent code (i.e. shared + libraries). + + 2) The technique must be such that all executable areas must not be + modified; and any modified areas must not be executed. + + To do this, there are three steps involved in a typical jump: + + 1) in the code + 2) through the PLT + 3) using a pointer from the GOT + + When the executable or library is first loaded, each GOT entry is + initialized to point to the code which implements dynamic name + resolution and code finding. This is normally a function in the + program interpreter (on ARM GNU/Linux this is usually + ld-linux.so.2, but it does not have to be). On the first + invocation, the function is located and the GOT entry is replaced + with the real function address. Subsequent calls go through steps + 1, 2 and 3 and end up calling the real code. + + 1) In the code: + + b function_call + bl function_call + + This is typical ARM code using the 26 bit relative branch or branch + and link instructions. The target of the instruction + (function_call is usually the address of the function to be called. + In position independent code, the target of the instruction is + actually an entry in the PLT when calling functions in a shared + library. Note that this call is identical to a normal function + call, only the target differs. + + 2) In the PLT: + + The PLT is a synthetic area, created by the linker. It exists in + both executables and libraries. It is an array of stubs, one per + imported function call. It looks like this: + + PLT[0]: + str lr, [sp, #-4]! @push the return address (lr) + ldr lr, [pc, #16] @load from 6 words ahead + add lr, pc, lr @form an address for GOT[0] + ldr pc, [lr, #8]! @jump to the contents of that addr + + The return address (lr) is pushed on the stack and used for + calculations. The load on the second line loads the lr with + &GOT[3] - . - 20. The addition on the third leaves: + + lr = (&GOT[3] - . - 20) + (. + 8) + lr = (&GOT[3] - 12) + lr = &GOT[0] + + On the fourth line, the pc and lr are both updated, so that: + + pc = GOT[2] + lr = &GOT[0] + 8 + = &GOT[2] + + NOTE: PLT[0] borrows an offset .word from PLT[1]. This is a little + "tight", but allows us to keep all the PLT entries the same size. + + PLT[n+1]: + ldr ip, [pc, #4] @load offset from gotoff + add ip, pc, ip @add the offset to the pc + ldr pc, [ip] @jump to that address + gotoff: .word GOT[n+3] - . + + The load on the first line, gets an offset from the fourth word of + the PLT entry. The add on the second line makes ip = &GOT[n+3], + which contains either a pointer to PLT[0] (the fixup trampoline) or + a pointer to the actual code. + + 3) In the GOT: + + The GOT contains helper pointers for both code (PLT) fixups and + data fixups. The first 3 entries of the GOT are special. The next + M entries (where M is the number of entries in the PLT) belong to + the PLT fixups. The next D (all remaining) entries belong to + various data fixups. The actual size of the GOT is 3 + M + D. + + The GOT is also a synthetic area, created by the linker. It exists + in both executables and libraries. When the GOT is first + initialized , all the GOT entries relating to PLT fixups are + pointing to code back at PLT[0]. + + The special entries in the GOT are: + + GOT[0] = linked list pointer used by the dynamic loader + GOT[1] = pointer to the reloc table for this module + GOT[2] = pointer to the fixup/resolver code + + The first invocation of function call comes through and uses the + fixup/resolver code. On the entry to the fixup/resolver code: + + ip = &GOT[n+3] + lr = &GOT[2] + stack[0] = return address (lr) of the function call + [r0, r1, r2, r3] are still the arguments to the function call + + This is enough information for the fixup/resolver code to work + with. Before the fixup/resolver code returns, it actually calls + the requested function and repairs &GOT[n+3]. */ + +/* Find the minimal symbol named NAME, and return both the minsym + struct and its objfile. This probably ought to be in minsym.c, but + everything there is trying to deal with things like C++ and + SOFUN_ADDRESS_MAYBE_TURQUOISE, ... Since this is so simple, it may + be considered too special-purpose for general consumption. */ + +static struct minimal_symbol * +find_minsym_and_objfile (char *name, struct objfile **objfile_p) +{ + struct objfile *objfile; + + ALL_OBJFILES (objfile) + { + struct minimal_symbol *msym; + + ALL_OBJFILE_MSYMBOLS (objfile, msym) + { + if (SYMBOL_NAME (msym) + && strcmp (SYMBOL_NAME (msym), name) == 0) + { + *objfile_p = objfile; + return msym; + } + } + } + + return 0; +} + + +static CORE_ADDR +skip_hurd_resolver (CORE_ADDR pc) +{ + /* The HURD dynamic linker is part of the GNU C library, so many + GNU/Linux distributions use it. (All ELF versions, as far as I + know.) An unresolved PLT entry points to "_dl_runtime_resolve", + which calls "fixup" to patch the PLT, and then passes control to + the function. + + We look for the symbol `_dl_runtime_resolve', and find `fixup' in + the same objfile. If we are at the entry point of `fixup', then + we set a breakpoint at the return address (at the top of the + stack), and continue. + + It's kind of gross to do all these checks every time we're + called, since they don't change once the executable has gotten + started. But this is only a temporary hack --- upcoming versions + of GNU/Linux will provide a portable, efficient interface for + debugging programs that use shared libraries. */ + + struct objfile *objfile; + struct minimal_symbol *resolver + = find_minsym_and_objfile ("_dl_runtime_resolve", &objfile); + + if (resolver) + { + struct minimal_symbol *fixup + = lookup_minimal_symbol ("fixup", NULL, objfile); + + if (fixup && SYMBOL_VALUE_ADDRESS (fixup) == pc) + return (SAVED_PC_AFTER_CALL (get_current_frame ())); + } + + return 0; +} + +/* See the comments for SKIP_SOLIB_RESOLVER at the top of infrun.c. + This function: + 1) decides whether a PLT has sent us into the linker to resolve + a function reference, and + 2) if so, tells us where to set a temporary breakpoint that will + trigger when the dynamic linker is done. */ + +CORE_ADDR +arm_linux_skip_solib_resolver (CORE_ADDR pc) +{ + CORE_ADDR result; + + /* Plug in functions for other kinds of resolvers here. */ + result = skip_hurd_resolver (pc); + + if (result) + return result; + + return 0; +} + +/* The constants below were determined by examining the following files + in the linux kernel sources: + + arch/arm/kernel/signal.c + - see SWI_SYS_SIGRETURN and SWI_SYS_RT_SIGRETURN + include/asm-arm/unistd.h + - see __NR_sigreturn, __NR_rt_sigreturn, and __NR_SYSCALL_BASE */ + +#define ARM_LINUX_SIGRETURN_INSTR 0xef900077 +#define ARM_LINUX_RT_SIGRETURN_INSTR 0xef9000ad + +/* arm_linux_in_sigtramp determines if PC points at one of the + instructions which cause control to return to the Linux kernel upon + return from a signal handler. FUNC_NAME is unused. */ + +int +arm_linux_in_sigtramp (CORE_ADDR pc, char *func_name) +{ + unsigned long inst; + + inst = read_memory_integer (pc, 4); + + return (inst == ARM_LINUX_SIGRETURN_INSTR + || inst == ARM_LINUX_RT_SIGRETURN_INSTR); + +} + +/* arm_linux_sigcontext_register_address returns the address in the + sigcontext of register REGNO given a stack pointer value SP and + program counter value PC. The value 0 is returned if PC is not + pointing at one of the signal return instructions or if REGNO is + not saved in the sigcontext struct. */ + +CORE_ADDR +arm_linux_sigcontext_register_address (CORE_ADDR sp, CORE_ADDR pc, int regno) +{ + unsigned long inst; + CORE_ADDR reg_addr = 0; + + inst = read_memory_integer (pc, 4); + + if (inst == ARM_LINUX_SIGRETURN_INSTR + || inst == ARM_LINUX_RT_SIGRETURN_INSTR) + { + CORE_ADDR sigcontext_addr; + + /* The sigcontext structure is at different places for the two + signal return instructions. For ARM_LINUX_SIGRETURN_INSTR, + it starts at the SP value. For ARM_LINUX_RT_SIGRETURN_INSTR, + it is at SP+8. For the latter instruction, it may also be + the case that the address of this structure may be determined + by reading the 4 bytes at SP, but I'm not convinced this is + reliable. + + In any event, these magic constants (0 and 8) may be + determined by examining struct sigframe and struct + rt_sigframe in arch/arm/kernel/signal.c in the Linux kernel + sources. */ + + if (inst == ARM_LINUX_RT_SIGRETURN_INSTR) + sigcontext_addr = sp + 8; + else /* inst == ARM_LINUX_SIGRETURN_INSTR */ + sigcontext_addr = sp + 0; + + /* The layout of the sigcontext structure for ARM GNU/Linux is + in include/asm-arm/sigcontext.h in the Linux kernel sources. + + There are three 4-byte fields which precede the saved r0 + field. (This accounts for the 12 in the code below.) The + sixteen registers (4 bytes per field) follow in order. The + PSR value follows the sixteen registers which accounts for + the constant 19 below. */ + + if (0 <= regno && regno <= ARM_PC_REGNUM) + reg_addr = sigcontext_addr + 12 + (4 * regno); + else if (regno == ARM_PS_REGNUM) + reg_addr = sigcontext_addr + 19 * 4; + } + + return reg_addr; +} + +static void +arm_linux_init_abi (struct gdbarch_info info, + struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + tdep->lowest_pc = 0x8000; + tdep->arm_breakpoint = arm_linux_arm_le_breakpoint; + tdep->arm_breakpoint_size = sizeof (arm_linux_arm_le_breakpoint); + + tdep->jb_pc = JB_PC; + tdep->jb_elt_size = JB_ELEMENT_SIZE; + + set_gdbarch_call_dummy_words (gdbarch, arm_linux_call_dummy_words); + set_gdbarch_sizeof_call_dummy_words (gdbarch, + sizeof (arm_linux_call_dummy_words)); + + /* The following two overrides shouldn't be needed. */ + set_gdbarch_extract_return_value (gdbarch, arm_linux_extract_return_value); + set_gdbarch_push_arguments (gdbarch, arm_linux_push_arguments); + + /* Shared library handling. */ + set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section); + set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); +} + +void +_initialize_arm_linux_tdep (void) +{ + arm_gdbarch_register_os_abi (ARM_ABI_LINUX, arm_linux_init_abi); +} diff --git a/contrib/gdb/gdb/arm-tdep.c b/contrib/gdb/gdb/arm-tdep.c index 7112c4c..b164f8e 100644 --- a/contrib/gdb/gdb/arm-tdep.c +++ b/contrib/gdb/gdb/arm-tdep.c @@ -1,6 +1,6 @@ /* Common target dependent code for GDB on ARM systems. - Copyright 1988, 1989, 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000 - Free Software Foundation, Inc. + Copyright 1988, 1989, 1991, 1992, 1993, 1995, 1996, 1998, 1999, 2000, + 2001, 2002 Free Software Foundation, Inc. This file is part of GDB. @@ -19,6 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include /* XXX for isupper () */ + #include "defs.h" #include "frame.h" #include "inferior.h" @@ -26,11 +28,87 @@ #include "gdbcore.h" #include "symfile.h" #include "gdb_string.h" -#include "coff/internal.h" /* Internal format of COFF symbols in BFD */ #include "dis-asm.h" /* For register flavors. */ -#include /* for isupper () */ +#include "regcache.h" +#include "doublest.h" +#include "value.h" +#include "arch-utils.h" +#include "solib-svr4.h" + +#include "arm-tdep.h" + +#include "elf-bfd.h" +#include "coff/internal.h" +#include "elf/arm.h" + +/* Each OS has a different mechanism for accessing the various + registers stored in the sigcontext structure. + + SIGCONTEXT_REGISTER_ADDRESS should be defined to the name (or + function pointer) which may be used to determine the addresses + of the various saved registers in the sigcontext structure. + + For the ARM target, there are three parameters to this function. + The first is the pc value of the frame under consideration, the + second the stack pointer of this frame, and the last is the + register number to fetch. + + If the tm.h file does not define this macro, then it's assumed that + no mechanism is needed and we define SIGCONTEXT_REGISTER_ADDRESS to + be 0. + + When it comes time to multi-arching this code, see the identically + named machinery in ia64-tdep.c for an example of how it could be + done. It should not be necessary to modify the code below where + this macro is used. */ + +#ifdef SIGCONTEXT_REGISTER_ADDRESS +#ifndef SIGCONTEXT_REGISTER_ADDRESS_P +#define SIGCONTEXT_REGISTER_ADDRESS_P() 1 +#endif +#else +#define SIGCONTEXT_REGISTER_ADDRESS(SP,PC,REG) 0 +#define SIGCONTEXT_REGISTER_ADDRESS_P() 0 +#endif + +/* Macros for setting and testing a bit in a minimal symbol that marks + it as Thumb function. The MSB of the minimal symbol's "info" field + is used for this purpose. This field is already being used to store + the symbol size, so the assumption is that the symbol size cannot + exceed 2^31. + + MSYMBOL_SET_SPECIAL Actually sets the "special" bit. + MSYMBOL_IS_SPECIAL Tests the "special" bit in a minimal symbol. + MSYMBOL_SIZE Returns the size of the minimal symbol, + i.e. the "info" field with the "special" bit + masked out. */ + +#define MSYMBOL_SET_SPECIAL(msym) \ + MSYMBOL_INFO (msym) = (char *) (((long) MSYMBOL_INFO (msym)) \ + | 0x80000000) + +#define MSYMBOL_IS_SPECIAL(msym) \ + (((long) MSYMBOL_INFO (msym) & 0x80000000) != 0) + +#define MSYMBOL_SIZE(msym) \ + ((long) MSYMBOL_INFO (msym) & 0x7fffffff) -extern void _initialize_arm_tdep (void); +/* This table matches the indicees assigned to enum arm_abi. Keep + them in sync. */ + +static const char * const arm_abi_names[] = +{ + "", + "ARM EABI (version 1)", + "ARM EABI (version 2)", + "GNU/Linux", + "NetBSD (a.out)", + "NetBSD (ELF)", + "APCS", + "FreeBSD", + "Windows CE", + NULL +}; /* Number of different reg name sets (options). */ static int num_flavor_options; @@ -49,13 +127,13 @@ static char * arm_register_name_strings[] = "f0", "f1", "f2", "f3", /* 16 17 18 19 */ "f4", "f5", "f6", "f7", /* 20 21 22 23 */ "fps", "cpsr" }; /* 24 25 */ -char **arm_register_names = arm_register_name_strings; +static char **arm_register_names = arm_register_name_strings; /* Valid register name flavors. */ -static char **valid_flavors; +static const char **valid_flavors; /* Disassembly flavor to use. Default to "std" register names. */ -static char *disassembly_flavor; +static const char *disassembly_flavor; static int current_option; /* Index to that option in the opcodes table. */ /* This is used to keep the bfd arch_info in sync with the disassembly @@ -73,12 +151,11 @@ static void convert_from_extended (void *ptr, void *dbl); we're still in the prologue of a function with a frame) */ struct frame_extra_info - { - struct frame_saved_regs fsr; - int framesize; - int frameoffset; - int framereg; - }; +{ + int framesize; + int frameoffset; + int framereg; +}; /* Addresses for calling Thumb functions have the bit 0 set. Here are some macros to test, set, or clear bit 0 of addresses. */ @@ -86,119 +163,7 @@ struct frame_extra_info #define MAKE_THUMB_ADDR(addr) ((addr) | 1) #define UNMAKE_THUMB_ADDR(addr) ((addr) & ~1) -#define SWAP_TARGET_AND_HOST(buffer,len) \ - do \ - { \ - if (TARGET_BYTE_ORDER != HOST_BYTE_ORDER) \ - { \ - char tmp; \ - char *p = (char *)(buffer); \ - char *q = ((char *)(buffer)) + len - 1; \ - for (; p < q; p++, q--) \ - { \ - tmp = *q; \ - *q = *p; \ - *p = tmp; \ - } \ - } \ - } \ - while (0) - -/* Will a function return an aggregate type in memory or in a - register? Return 0 if an aggregate type can be returned in a - register, 1 if it must be returned in memory. */ - -int -arm_use_struct_convention (int gcc_p, struct type *type) -{ - int nRc; - register enum type_code code; - - /* In the ARM ABI, "integer" like aggregate types are returned in - registers. For an aggregate type to be integer like, its size - must be less than or equal to REGISTER_SIZE and the offset of - each addressable subfield must be zero. Note that bit fields are - not addressable, and all addressable subfields of unions always - start at offset zero. - - This function is based on the behaviour of GCC 2.95.1. - See: gcc/arm.c: arm_return_in_memory() for details. - - Note: All versions of GCC before GCC 2.95.2 do not set up the - parameters correctly for a function returning the following - structure: struct { float f;}; This should be returned in memory, - not a register. Richard Earnshaw sent me a patch, but I do not - know of any way to detect if a function like the above has been - compiled with the correct calling convention. */ - - /* All aggregate types that won't fit in a register must be returned - in memory. */ - if (TYPE_LENGTH (type) > REGISTER_SIZE) - { - return 1; - } - - /* The only aggregate types that can be returned in a register are - structs and unions. Arrays must be returned in memory. */ - code = TYPE_CODE (type); - if ((TYPE_CODE_STRUCT != code) && (TYPE_CODE_UNION != code)) - { - return 1; - } - - /* Assume all other aggregate types can be returned in a register. - Run a check for structures, unions and arrays. */ - nRc = 0; - - if ((TYPE_CODE_STRUCT == code) || (TYPE_CODE_UNION == code)) - { - int i; - /* Need to check if this struct/union is "integer" like. For - this to be true, its size must be less than or equal to - REGISTER_SIZE and the offset of each addressable subfield - must be zero. Note that bit fields are not addressable, and - unions always start at offset zero. If any of the subfields - is a floating point type, the struct/union cannot be an - integer type. */ - - /* For each field in the object, check: - 1) Is it FP? --> yes, nRc = 1; - 2) Is it addressable (bitpos != 0) and - not packed (bitsize == 0)? - --> yes, nRc = 1 - */ - - for (i = 0; i < TYPE_NFIELDS (type); i++) - { - enum type_code field_type_code; - field_type_code = TYPE_CODE (TYPE_FIELD_TYPE (type, i)); - - /* Is it a floating point type field? */ - if (field_type_code == TYPE_CODE_FLT) - { - nRc = 1; - break; - } - - /* If bitpos != 0, then we have to care about it. */ - if (TYPE_FIELD_BITPOS (type, i) != 0) - { - /* Bitfields are not addressable. If the field bitsize is - zero, then the field is not packed. Hence it cannot be - a bitfield or any other packed type. */ - if (TYPE_FIELD_BITSIZE (type, i) == 0) - { - nRc = 1; - break; - } - } - } - } - - return nRc; -} - -int +static int arm_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe) { return (chain != 0 && (FRAME_SAVED_PC (thisframe) >= LOWEST_PC)); @@ -226,7 +191,7 @@ static int caller_is_thumb; function. */ int -arm_pc_is_thumb (bfd_vma memaddr) +arm_pc_is_thumb (CORE_ADDR memaddr) { struct minimal_symbol *sym; @@ -250,7 +215,7 @@ arm_pc_is_thumb (bfd_vma memaddr) dummy being called from a Thumb function. */ int -arm_pc_is_thumb_dummy (bfd_vma memaddr) +arm_pc_is_thumb_dummy (CORE_ADDR memaddr) { CORE_ADDR sp = read_sp (); @@ -267,7 +232,8 @@ arm_pc_is_thumb_dummy (bfd_vma memaddr) return 0; } -CORE_ADDR +/* Remove useless bits from addresses in a running program. */ +static CORE_ADDR arm_addr_bits_remove (CORE_ADDR val) { if (arm_pc_is_thumb (val)) @@ -276,18 +242,47 @@ arm_addr_bits_remove (CORE_ADDR val) return (val & (arm_apcs_32 ? 0xfffffffc : 0x03fffffc)); } -CORE_ADDR +/* When reading symbols, we need to zap the low bit of the address, + which may be set to 1 for Thumb functions. */ +static CORE_ADDR +arm_smash_text_address (CORE_ADDR val) +{ + return val & ~1; +} + +/* Immediately after a function call, return the saved pc. Can't + always go through the frames for this because on some machines the + new frame is not set up until the new function executes some + instructions. */ + +static CORE_ADDR arm_saved_pc_after_call (struct frame_info *frame) { - return ADDR_BITS_REMOVE (read_register (LR_REGNUM)); + return ADDR_BITS_REMOVE (read_register (ARM_LR_REGNUM)); } -int +/* Determine whether the function invocation represented by FI has a + frame on the stack associated with it. If it does return zero, + otherwise return 1. */ + +static int arm_frameless_function_invocation (struct frame_info *fi) { CORE_ADDR func_start, after_prologue; int frameless; + /* Sometimes we have functions that do a little setup (like saving the + vN registers with the stmdb instruction, but DO NOT set up a frame. + The symbol table will report this as a prologue. However, it is + important not to try to parse these partial frames as frames, or we + will get really confused. + + So I will demand 3 instructions between the start & end of the + prologue before I call it a real prologue, i.e. at least + mov ip, sp, + stmdb sp!, {} + sub sp, ip, #4. */ + func_start = (get_pc_function_start ((fi)->pc) + FUNCTION_START_OFFSET); after_prologue = SKIP_PROLOGUE (func_start); @@ -299,6 +294,28 @@ arm_frameless_function_invocation (struct frame_info *fi) return frameless; } +/* The address of the arguments in the frame. */ +static CORE_ADDR +arm_frame_args_address (struct frame_info *fi) +{ + return fi->frame; +} + +/* The address of the local variables in the frame. */ +static CORE_ADDR +arm_frame_locals_address (struct frame_info *fi) +{ + return fi->frame; +} + +/* The number of arguments being passed in the frame. */ +static int +arm_frame_num_args (struct frame_info *fi) +{ + /* We have no way of knowing. */ + return -1; +} + /* A typical Thumb prologue looks like this: push {r7, lr} add sp, sp, #-28 @@ -360,6 +377,10 @@ thumb_skip_prologue (CORE_ADDR pc, CORE_ADDR func_end) { findmask |= 2; /* setting of r7 found */ } + else if (findmask == (4+2+1)) + { + break; /* We have found one of each type of prologue instruction */ + } else continue; /* something in the prolog that we don't care about or some instruction from outside the prolog scheduled here for optimization */ @@ -368,7 +389,10 @@ thumb_skip_prologue (CORE_ADDR pc, CORE_ADDR func_end) return current_pc; } -/* The APCS (ARM Procedure Call Standard) defines the following +/* Advance the PC across any function entry prologue instructions to reach + some "real" code. + + The APCS (ARM Procedure Call Standard) defines the following prologue: mov ip, sp @@ -380,21 +404,30 @@ thumb_skip_prologue (CORE_ADDR pc, CORE_ADDR func_end) [stfe f4, [sp, #-12]!] sub fp, ip, #nn @@ nn == 20 or 4 depending on second insn */ -CORE_ADDR +static CORE_ADDR arm_skip_prologue (CORE_ADDR pc) { unsigned long inst; CORE_ADDR skip_pc; CORE_ADDR func_addr, func_end; + char *func_name; struct symtab_and_line sal; /* See what the symbol table says. */ - if (find_pc_partial_function (pc, NULL, &func_addr, &func_end)) + if (find_pc_partial_function (pc, &func_name, &func_addr, &func_end)) { - sal = find_pc_line (func_addr, 0); - if ((sal.line != 0) && (sal.end < func_end)) - return sal.end; + struct symbol *sym; + + /* Found a function. */ + sym = lookup_symbol (func_name, NULL, VAR_NAMESPACE, NULL, NULL); + if (sym && SYMBOL_LANGUAGE (sym) != language_asm) + { + /* Don't use this trick for assembly source files. */ + sal = find_pc_line (func_addr, 0); + if ((sal.line != 0) && (sal.end < func_end)) + return sal.end; + } } /* Check if this is Thumb code. */ @@ -509,7 +542,7 @@ thumb_scan_prologue (struct frame_info *fi) frame pointer, adjust the stack pointer, and save registers. Do this until all basic prolog instructions are found. */ - fi->framesize = 0; + fi->extra_info->framesize = 0; for (current_pc = prologue_start; (current_pc < prologue_end) && ((findmask & 7) != 7); current_pc += 2) @@ -529,11 +562,12 @@ thumb_scan_prologue (struct frame_info *fi) mask = (insn & 0xff) | ((insn & 0x100) << 6); /* Calculate offsets of saved R0-R7 and LR. */ - for (regno = LR_REGNUM; regno >= 0; regno--) + for (regno = ARM_LR_REGNUM; regno >= 0; regno--) if (mask & (1 << regno)) { - fi->framesize += 4; - fi->fsr.regs[saved_reg[regno]] = -(fi->framesize); + fi->extra_info->framesize += 4; + fi->saved_regs[saved_reg[regno]] = + -(fi->extra_info->framesize); saved_reg[regno] = regno; /* reset saved register map */ } } @@ -547,23 +581,24 @@ thumb_scan_prologue (struct frame_info *fi) offset = (insn & 0x7f) << 2; /* get scaled offset */ if (insn & 0x80) /* is it signed? (==subtracting) */ { - fi->frameoffset += offset; + fi->extra_info->frameoffset += offset; offset = -offset; } - fi->framesize -= offset; + fi->extra_info->framesize -= offset; } else if ((insn & 0xff00) == 0xaf00) /* add r7, sp, #imm */ { findmask |= 2; /* setting of r7 found */ - fi->framereg = THUMB_FP_REGNUM; - fi->frameoffset = (insn & 0xff) << 2; /* get scaled offset */ + fi->extra_info->framereg = THUMB_FP_REGNUM; + /* get scaled offset */ + fi->extra_info->frameoffset = (insn & 0xff) << 2; } else if (insn == 0x466f) /* mov r7, sp */ { findmask |= 2; /* setting of r7 found */ - fi->framereg = THUMB_FP_REGNUM; - fi->frameoffset = 0; - saved_reg[THUMB_FP_REGNUM] = SP_REGNUM; + fi->extra_info->framereg = THUMB_FP_REGNUM; + fi->extra_info->frameoffset = 0; + saved_reg[THUMB_FP_REGNUM] = ARM_SP_REGNUM; } else if ((insn & 0xffc0) == 0x4640) /* mov r0-r7, r8-r15 */ { @@ -602,11 +637,11 @@ check_prologue_cache (struct frame_info *fi) if (fi->pc == prologue_cache.pc) { - fi->framereg = prologue_cache.framereg; - fi->framesize = prologue_cache.framesize; - fi->frameoffset = prologue_cache.frameoffset; - for (i = 0; i <= NUM_REGS; i++) - fi->fsr.regs[i] = prologue_cache.fsr.regs[i]; + fi->extra_info->framereg = prologue_cache.extra_info->framereg; + fi->extra_info->framesize = prologue_cache.extra_info->framesize; + fi->extra_info->frameoffset = prologue_cache.extra_info->frameoffset; + for (i = 0; i < NUM_REGS + NUM_PSEUDO_REGS; i++) + fi->saved_regs[i] = prologue_cache.saved_regs[i]; return 1; } else @@ -622,12 +657,12 @@ save_prologue_cache (struct frame_info *fi) int i; prologue_cache.pc = fi->pc; - prologue_cache.framereg = fi->framereg; - prologue_cache.framesize = fi->framesize; - prologue_cache.frameoffset = fi->frameoffset; + prologue_cache.extra_info->framereg = fi->extra_info->framereg; + prologue_cache.extra_info->framesize = fi->extra_info->framesize; + prologue_cache.extra_info->frameoffset = fi->extra_info->frameoffset; - for (i = 0; i <= NUM_REGS; i++) - prologue_cache.fsr.regs[i] = fi->fsr.regs[i]; + for (i = 0; i < NUM_REGS + NUM_PSEUDO_REGS; i++) + prologue_cache.saved_regs[i] = fi->saved_regs[i]; } @@ -702,6 +737,7 @@ static void arm_scan_prologue (struct frame_info *fi) { int regno, sp_offset, fp_offset; + LONGEST return_value; CORE_ADDR prologue_start, prologue_end, current_pc; /* Check if this function is already in the cache of frame information. */ @@ -709,9 +745,9 @@ arm_scan_prologue (struct frame_info *fi) return; /* Assume there is no frame until proven otherwise. */ - fi->framereg = SP_REGNUM; - fi->framesize = 0; - fi->frameoffset = 0; + fi->extra_info->framereg = ARM_SP_REGNUM; + fi->extra_info->framesize = 0; + fi->extra_info->frameoffset = 0; /* Check for Thumb prologue. */ if (arm_pc_is_thumb (fi->pc)) @@ -725,25 +761,54 @@ arm_scan_prologue (struct frame_info *fi) the symbol table, peek in the stack frame to find the PC. */ if (find_pc_partial_function (fi->pc, NULL, &prologue_start, &prologue_end)) { - /* Assume the prologue is everything between the first instruction - in the function and the first source line. */ - struct symtab_and_line sal = find_pc_line (prologue_start, 0); - - if (sal.line == 0) /* no line info, use current PC */ - prologue_end = fi->pc; - else if (sal.end < prologue_end) /* next line begins after fn end */ - prologue_end = sal.end; /* (probably means no prologue) */ + /* One way to find the end of the prologue (which works well + for unoptimized code) is to do the following: + + struct symtab_and_line sal = find_pc_line (prologue_start, 0); + + if (sal.line == 0) + prologue_end = fi->pc; + else if (sal.end < prologue_end) + prologue_end = sal.end; + + This mechanism is very accurate so long as the optimizer + doesn't move any instructions from the function body into the + prologue. If this happens, sal.end will be the last + instruction in the first hunk of prologue code just before + the first instruction that the scheduler has moved from + the body to the prologue. + + In order to make sure that we scan all of the prologue + instructions, we use a slightly less accurate mechanism which + may scan more than necessary. To help compensate for this + lack of accuracy, the prologue scanning loop below contains + several clauses which'll cause the loop to terminate early if + an implausible prologue instruction is encountered. + + The expression + + prologue_start + 64 + + is a suitable endpoint since it accounts for the largest + possible prologue plus up to five instructions inserted by + the scheduler. */ + + if (prologue_end > prologue_start + 64) + { + prologue_end = prologue_start + 64; /* See above. */ + } } else { /* Get address of the stmfd in the prologue of the callee; the saved PC is the address of the stmfd + 8. */ - prologue_start = ADDR_BITS_REMOVE (read_memory_integer (fi->frame, 4)) - - 8; - prologue_end = prologue_start + 64; /* This is all the insn's - that could be in the prologue, - plus room for 5 insn's inserted - by the scheduler. */ + if (!safe_read_memory_integer (fi->frame, 4, &return_value)) + return; + else + { + prologue_start = ADDR_BITS_REMOVE (return_value) - 8; + prologue_end = prologue_start + 64; /* See above. */ + } } /* Now search the prologue looking for instructions that set up the @@ -757,94 +822,104 @@ arm_scan_prologue (struct frame_info *fi) traceback. In the APCS, the prologue should start with "mov ip, sp" so - if we don't see this as the first insn, we will stop. */ + if we don't see this as the first insn, we will stop. [Note: + This doesn't seem to be true any longer, so it's now an optional + part of the prologue. - Kevin Buettner, 2001-11-20] */ sp_offset = fp_offset = 0; if (read_memory_unsigned_integer (prologue_start, 4) == 0xe1a0c00d) /* mov ip, sp */ + current_pc = prologue_start + 4; + else + current_pc = prologue_start; + + for (; current_pc < prologue_end; current_pc += 4) { - for (current_pc = prologue_start + 4; current_pc < prologue_end; - current_pc += 4) + unsigned int insn = read_memory_unsigned_integer (current_pc, 4); + + if ((insn & 0xffff0000) == 0xe92d0000) + /* stmfd sp!, {..., fp, ip, lr, pc} + or + stmfd sp!, {a1, a2, a3, a4} */ { - unsigned int insn = read_memory_unsigned_integer (current_pc, 4); + int mask = insn & 0xffff; - if ((insn & 0xffff0000) == 0xe92d0000) - /* stmfd sp!, {..., fp, ip, lr, pc} - or - stmfd sp!, {a1, a2, a3, a4} */ - { - int mask = insn & 0xffff; + /* Calculate offsets of saved registers. */ + for (regno = ARM_PC_REGNUM; regno >= 0; regno--) + if (mask & (1 << regno)) + { + sp_offset -= 4; + fi->saved_regs[regno] = sp_offset; + } + } + else if ((insn & 0xfffff000) == 0xe24cb000) /* sub fp, ip #n */ + { + unsigned imm = insn & 0xff; /* immediate value */ + unsigned rot = (insn & 0xf00) >> 7; /* rotate amount */ + imm = (imm >> rot) | (imm << (32 - rot)); + fp_offset = -imm; + fi->extra_info->framereg = ARM_FP_REGNUM; + } + else if ((insn & 0xfffff000) == 0xe24dd000) /* sub sp, sp #n */ + { + unsigned imm = insn & 0xff; /* immediate value */ + unsigned rot = (insn & 0xf00) >> 7; /* rotate amount */ + imm = (imm >> rot) | (imm << (32 - rot)); + sp_offset -= imm; + } + else if ((insn & 0xffff7fff) == 0xed6d0103) /* stfe f?, [sp, -#c]! */ + { + sp_offset -= 12; + regno = ARM_F0_REGNUM + ((insn >> 12) & 0x07); + fi->saved_regs[regno] = sp_offset; + } + else if ((insn & 0xffbf0fff) == 0xec2d0200) /* sfmfd f0, 4, [sp!] */ + { + int n_saved_fp_regs; + unsigned int fp_start_reg, fp_bound_reg; - /* Calculate offsets of saved registers. */ - for (regno = PC_REGNUM; regno >= 0; regno--) - if (mask & (1 << regno)) - { - sp_offset -= 4; - fi->fsr.regs[regno] = sp_offset; - } - } - else if ((insn & 0xfffff000) == 0xe24cb000) /* sub fp, ip #n */ + if ((insn & 0x800) == 0x800) /* N0 is set */ { - unsigned imm = insn & 0xff; /* immediate value */ - unsigned rot = (insn & 0xf00) >> 7; /* rotate amount */ - imm = (imm >> rot) | (imm << (32 - rot)); - fp_offset = -imm; - fi->framereg = FP_REGNUM; + if ((insn & 0x40000) == 0x40000) /* N1 is set */ + n_saved_fp_regs = 3; + else + n_saved_fp_regs = 1; } - else if ((insn & 0xfffff000) == 0xe24dd000) /* sub sp, sp #n */ + else { - unsigned imm = insn & 0xff; /* immediate value */ - unsigned rot = (insn & 0xf00) >> 7; /* rotate amount */ - imm = (imm >> rot) | (imm << (32 - rot)); - sp_offset -= imm; + if ((insn & 0x40000) == 0x40000) /* N1 is set */ + n_saved_fp_regs = 2; + else + n_saved_fp_regs = 4; } - else if ((insn & 0xffff7fff) == 0xed6d0103) /* stfe f?, [sp, -#c]! */ + + fp_start_reg = ARM_F0_REGNUM + ((insn >> 12) & 0x7); + fp_bound_reg = fp_start_reg + n_saved_fp_regs; + for (; fp_start_reg < fp_bound_reg; fp_start_reg++) { sp_offset -= 12; - regno = F0_REGNUM + ((insn >> 12) & 0x07); - fi->fsr.regs[regno] = sp_offset; - } - else if ((insn & 0xffbf0fff) == 0xec2d0200) /* sfmfd f0, 4, [sp!] */ - { - int n_saved_fp_regs; - unsigned int fp_start_reg, fp_bound_reg; - - if ((insn & 0x800) == 0x800) /* N0 is set */ - { - if ((insn & 0x40000) == 0x40000) /* N1 is set */ - n_saved_fp_regs = 3; - else - n_saved_fp_regs = 1; - } - else - { - if ((insn & 0x40000) == 0x40000) /* N1 is set */ - n_saved_fp_regs = 2; - else - n_saved_fp_regs = 4; - } - - fp_start_reg = F0_REGNUM + ((insn >> 12) & 0x7); - fp_bound_reg = fp_start_reg + n_saved_fp_regs; - for (; fp_start_reg < fp_bound_reg; fp_start_reg++) - { - sp_offset -= 12; - fi->fsr.regs[fp_start_reg++] = sp_offset; - } + fi->saved_regs[fp_start_reg++] = sp_offset; } - else - /* The optimizer might shove anything into the prologue, - so we just skip what we don't recognize. */ - continue; } + else if ((insn & 0xf0000000) != 0xe0000000) + break; /* Condition not true, exit early */ + else if ((insn & 0xfe200000) == 0xe8200000) /* ldm? */ + break; /* Don't scan past a block load */ + else + /* The optimizer might shove anything into the prologue, + so we just skip what we don't recognize. */ + continue; } /* The frame size is just the negative of the offset (from the original SP) of the last thing thing we pushed on the stack. The frame offset is [new FP] - [new SP]. */ - fi->framesize = -sp_offset; - fi->frameoffset = fp_offset - sp_offset; + fi->extra_info->framesize = -sp_offset; + if (fi->extra_info->framereg == ARM_FP_REGNUM) + fi->extra_info->frameoffset = fp_offset - sp_offset; + else + fi->extra_info->frameoffset = 0; save_prologue_cache (fi); } @@ -866,30 +941,18 @@ arm_find_callers_reg (struct frame_info *fi, int regnum) return generic_read_register_dummy (fi->pc, fi->frame, regnum); else #endif - if (fi->fsr.regs[regnum] != 0) - return read_memory_integer (fi->fsr.regs[regnum], + if (fi->saved_regs[regnum] != 0) + return read_memory_integer (fi->saved_regs[regnum], REGISTER_RAW_SIZE (regnum)); return read_register (regnum); } -/* *INDENT-OFF* */ -/* Function: frame_chain - Given a GDB frame, determine the address of the calling function's frame. - This will be used to create a new GDB frame struct, and then - INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. - For ARM, we save the frame size when we initialize the frame_info. - - The original definition of this function was a macro in tm-arm.h: - { In the case of the ARM, the frame's nominal address is the FP value, - and 12 bytes before comes the saved previous FP value as a 4-byte word. } - - #define FRAME_CHAIN(thisframe) \ - ((thisframe)->pc >= LOWEST_PC ? \ - read_memory_integer ((thisframe)->frame - 12, 4) :\ - 0) -*/ -/* *INDENT-ON* */ +/* Function: frame_chain Given a GDB frame, determine the address of + the calling function's frame. This will be used to create a new + GDB frame struct, and then INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC + will be called for the new frame. For ARM, we save the frame size + when we initialize the frame_info. */ -CORE_ADDR +static CORE_ADDR arm_frame_chain (struct frame_info *fi) { #if 0 /* FIXME: enable this code if we convert to new call dummy scheme. */ @@ -901,7 +964,7 @@ arm_frame_chain (struct frame_info *fi) /* is caller-of-this a dummy frame? */ callers_pc = FRAME_SAVED_PC (fi); /* find out who called us: */ - fp = arm_find_callers_reg (fi, FP_REGNUM); + fp = arm_find_callers_reg (fi, ARM_FP_REGNUM); if (PC_IN_CALL_DUMMY (callers_pc, fp, fp)) return fp; /* dummy frame's frame may bear no relation to ours */ @@ -910,8 +973,7 @@ arm_frame_chain (struct frame_info *fi) return 0; /* in _start fn, don't chain further */ #endif CORE_ADDR caller_pc, fn_start; - struct frame_info caller_fi; - int framereg = fi->framereg; + int framereg = fi->extra_info->framereg; if (fi->pc < LOWEST_PC) return 0; @@ -926,20 +988,39 @@ arm_frame_chain (struct frame_info *fi) the frame register of the caller is different from ours. So we must scan the prologue of the caller to determine its frame register number. */ + /* XXX Fixme, we should try to do this without creating a temporary + caller_fi. */ if (arm_pc_is_thumb (caller_pc) != arm_pc_is_thumb (fi->pc)) { + struct frame_info caller_fi; + struct cleanup *old_chain; + + /* Create a temporary frame suitable for scanning the caller's + prologue. (Ugh.) */ memset (&caller_fi, 0, sizeof (caller_fi)); + caller_fi.extra_info = (struct frame_extra_info *) + xcalloc (1, sizeof (struct frame_extra_info)); + old_chain = make_cleanup (xfree, caller_fi.extra_info); + caller_fi.saved_regs = (CORE_ADDR *) + xcalloc (1, SIZEOF_FRAME_SAVED_REGS); + make_cleanup (xfree, caller_fi.saved_regs); + + /* Now, scan the prologue and obtain the frame register. */ caller_fi.pc = caller_pc; arm_scan_prologue (&caller_fi); - framereg = caller_fi.framereg; + framereg = caller_fi.extra_info->framereg; + + /* Deallocate the storage associated with the temporary frame + created above. */ + do_cleanups (old_chain); } /* If the caller used a frame register, return its value. Otherwise, return the caller's stack pointer. */ - if (framereg == FP_REGNUM || framereg == THUMB_FP_REGNUM) + if (framereg == ARM_FP_REGNUM || framereg == THUMB_FP_REGNUM) return arm_find_callers_reg (fi, framereg); else - return fi->frame + fi->framesize; + return fi->frame + fi->extra_info->framesize; } /* This function actually figures out the frame address for a given pc @@ -951,41 +1032,115 @@ arm_frame_chain (struct frame_info *fi) this is true, then the frame value for this frame is still in the fp register. */ -void +static void arm_init_extra_frame_info (int fromleaf, struct frame_info *fi) { int reg; + CORE_ADDR sp; + + if (fi->saved_regs == NULL) + frame_saved_regs_zalloc (fi); + + fi->extra_info = (struct frame_extra_info *) + frame_obstack_alloc (sizeof (struct frame_extra_info)); + + fi->extra_info->framesize = 0; + fi->extra_info->frameoffset = 0; + fi->extra_info->framereg = 0; if (fi->next) fi->pc = FRAME_SAVED_PC (fi->next); - memset (fi->fsr.regs, '\000', sizeof fi->fsr.regs); + memset (fi->saved_regs, '\000', sizeof fi->saved_regs); #if 0 /* FIXME: enable this code if we convert to new call dummy scheme. */ if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame)) { /* We need to setup fi->frame here because run_stack_dummy gets it wrong by assuming it's always FP. */ - fi->frame = generic_read_register_dummy (fi->pc, fi->frame, SP_REGNUM); - fi->framesize = 0; - fi->frameoffset = 0; + fi->frame = generic_read_register_dummy (fi->pc, fi->frame, + ARM_SP_REGNUM); + fi->extra_info->framesize = 0; + fi->extra_info->frameoffset = 0; return; } else #endif + + /* Compute stack pointer for this frame. We use this value for both the + sigtramp and call dummy cases. */ + if (!fi->next) + sp = read_sp(); + else + sp = (fi->next->frame - fi->next->extra_info->frameoffset + + fi->next->extra_info->framesize); + + /* Determine whether or not we're in a sigtramp frame. + Unfortunately, it isn't sufficient to test + fi->signal_handler_caller because this value is sometimes set + after invoking INIT_EXTRA_FRAME_INFO. So we test *both* + fi->signal_handler_caller and IN_SIGTRAMP to determine if we need + to use the sigcontext addresses for the saved registers. + + Note: If an ARM IN_SIGTRAMP method ever needs to compare against + the name of the function, the code below will have to be changed + to first fetch the name of the function and then pass this name + to IN_SIGTRAMP. */ + + if (SIGCONTEXT_REGISTER_ADDRESS_P () + && (fi->signal_handler_caller || IN_SIGTRAMP (fi->pc, (char *)0))) + { + for (reg = 0; reg < NUM_REGS; reg++) + fi->saved_regs[reg] = SIGCONTEXT_REGISTER_ADDRESS (sp, fi->pc, reg); + + /* FIXME: What about thumb mode? */ + fi->extra_info->framereg = ARM_SP_REGNUM; + fi->frame = + read_memory_integer (fi->saved_regs[fi->extra_info->framereg], + REGISTER_RAW_SIZE (fi->extra_info->framereg)); + fi->extra_info->framesize = 0; + fi->extra_info->frameoffset = 0; + + } + else if (PC_IN_CALL_DUMMY (fi->pc, sp, fi->frame)) + { + CORE_ADDR rp; + CORE_ADDR callers_sp; + + /* Set rp point at the high end of the saved registers. */ + rp = fi->frame - REGISTER_SIZE; + + /* Fill in addresses of saved registers. */ + fi->saved_regs[ARM_PS_REGNUM] = rp; + rp -= REGISTER_RAW_SIZE (ARM_PS_REGNUM); + for (reg = ARM_PC_REGNUM; reg >= 0; reg--) + { + fi->saved_regs[reg] = rp; + rp -= REGISTER_RAW_SIZE (reg); + } + + callers_sp = read_memory_integer (fi->saved_regs[ARM_SP_REGNUM], + REGISTER_RAW_SIZE (ARM_SP_REGNUM)); + fi->extra_info->framereg = ARM_FP_REGNUM; + fi->extra_info->framesize = callers_sp - sp; + fi->extra_info->frameoffset = fi->frame - sp; + } + else { arm_scan_prologue (fi); if (!fi->next) /* this is the innermost frame? */ - fi->frame = read_register (fi->framereg); - else if (fi->framereg == FP_REGNUM || fi->framereg == THUMB_FP_REGNUM) + fi->frame = read_register (fi->extra_info->framereg); + else if (fi->extra_info->framereg == ARM_FP_REGNUM + || fi->extra_info->framereg == THUMB_FP_REGNUM) { /* not the innermost frame */ /* If we have an FP, the callee saved it. */ - if (fi->next->fsr.regs[fi->framereg] != 0) + if (fi->next->saved_regs[fi->extra_info->framereg] != 0) fi->frame = - read_memory_integer (fi->next->fsr.regs[fi->framereg], 4); + read_memory_integer (fi->next + ->saved_regs[fi->extra_info->framereg], 4); else if (fromleaf) /* If we were called by a frameless fn. then our frame is still in the frame pointer register on the board... */ @@ -995,13 +1150,14 @@ arm_init_extra_frame_info (int fromleaf, struct frame_info *fi) /* Calculate actual addresses of saved registers using offsets determined by arm_scan_prologue. */ for (reg = 0; reg < NUM_REGS; reg++) - if (fi->fsr.regs[reg] != 0) - fi->fsr.regs[reg] += fi->frame + fi->framesize - fi->frameoffset; + if (fi->saved_regs[reg] != 0) + fi->saved_regs[reg] += (fi->frame + fi->extra_info->framesize + - fi->extra_info->frameoffset); } } -/* Find the caller of this frame. We do this by seeing if LR_REGNUM +/* Find the caller of this frame. We do this by seeing if ARM_LR_REGNUM is saved in the stack anywhere, otherwise we get it from the registers. @@ -1009,16 +1165,23 @@ arm_init_extra_frame_info (int fromleaf, struct frame_info *fi) #define FRAME_SAVED_PC(FRAME) \ ADDR_BITS_REMOVE (read_memory_integer ((FRAME)->frame - 4, 4)) */ -CORE_ADDR +static CORE_ADDR arm_frame_saved_pc (struct frame_info *fi) { #if 0 /* FIXME: enable this code if we convert to new call dummy scheme. */ if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame)) - return generic_read_register_dummy (fi->pc, fi->frame, PC_REGNUM); + return generic_read_register_dummy (fi->pc, fi->frame, ARM_PC_REGNUM); else #endif + if (PC_IN_CALL_DUMMY (fi->pc, fi->frame - fi->extra_info->frameoffset, + fi->frame)) { - CORE_ADDR pc = arm_find_callers_reg (fi, LR_REGNUM); + return read_memory_integer (fi->saved_regs[ARM_PC_REGNUM], + REGISTER_RAW_SIZE (ARM_PC_REGNUM)); + } + else + { + CORE_ADDR pc = arm_find_callers_reg (fi, ARM_LR_REGNUM); return IS_THUMB_ADDR (pc) ? UNMAKE_THUMB_ADDR (pc) : pc; } } @@ -1026,28 +1189,37 @@ arm_frame_saved_pc (struct frame_info *fi) /* Return the frame address. On ARM, it is R11; on Thumb it is R7. Examine the Program Status Register to decide which state we're in. */ -CORE_ADDR -arm_target_read_fp (void) +static CORE_ADDR +arm_read_fp (void) { - if (read_register (PS_REGNUM) & 0x20) /* Bit 5 is Thumb state bit */ + if (read_register (ARM_PS_REGNUM) & 0x20) /* Bit 5 is Thumb state bit */ return read_register (THUMB_FP_REGNUM); /* R7 if Thumb */ else - return read_register (FP_REGNUM); /* R11 if ARM */ + return read_register (ARM_FP_REGNUM); /* R11 if ARM */ } -/* Calculate the frame offsets of the saved registers (ARM version). */ +/* Store into a struct frame_saved_regs the addresses of the saved + registers of frame described by FRAME_INFO. This includes special + registers such as PC and FP saved in special ways in the stack + frame. SP is even more special: the address we return for it IS + the sp for the next frame. */ -void -arm_frame_find_saved_regs (struct frame_info *fi, - struct frame_saved_regs *regaddr) +static void +arm_frame_init_saved_regs (struct frame_info *fip) { - memcpy (regaddr, &fi->fsr, sizeof (struct frame_saved_regs)); + + if (fip->saved_regs) + return; + + arm_init_extra_frame_info (0, fip); } -void +/* Push an empty stack frame, to record the current PC, etc. */ + +static void arm_push_dummy_frame (void) { - CORE_ADDR old_sp = read_register (SP_REGNUM); + CORE_ADDR old_sp = read_register (ARM_SP_REGNUM); CORE_ADDR sp = old_sp; CORE_ADDR fp, prologue_start; int regnum; @@ -1063,16 +1235,51 @@ arm_push_dummy_frame (void) instruction stores the PC, it stores the address of the stm instruction itself plus 12. */ fp = sp = push_word (sp, prologue_start + 12); - sp = push_word (sp, read_register (PC_REGNUM)); /* FIXME: was PS_REGNUM */ - sp = push_word (sp, old_sp); - sp = push_word (sp, read_register (FP_REGNUM)); - for (regnum = 10; regnum >= 0; regnum--) + /* Push the processor status. */ + sp = push_word (sp, read_register (ARM_PS_REGNUM)); + + /* Push all 16 registers starting with r15. */ + for (regnum = ARM_PC_REGNUM; regnum >= 0; regnum--) sp = push_word (sp, read_register (regnum)); - write_register (FP_REGNUM, fp); + /* Update fp (for both Thumb and ARM) and sp. */ + write_register (ARM_FP_REGNUM, fp); write_register (THUMB_FP_REGNUM, fp); - write_register (SP_REGNUM, sp); + write_register (ARM_SP_REGNUM, sp); +} + +/* CALL_DUMMY_WORDS: + This sequence of words is the instructions + + mov lr,pc + mov pc,r4 + illegal + + Note this is 12 bytes. */ + +static LONGEST arm_call_dummy_words[] = +{ + 0xe1a0e00f, 0xe1a0f004, 0xe7ffdefe +}; + +/* Adjust the call_dummy_breakpoint_offset for the bp_call_dummy + breakpoint to the proper address in the call dummy, so that + `finish' after a stop in a call dummy works. + + FIXME rearnsha 2002-02018: Tweeking current_gdbarch is not an + optimal solution, but the call to arm_fix_call_dummy is immediately + followed by a call to run_stack_dummy, which is the only function + where call_dummy_breakpoint_offset is actually used. */ + + +static void +arm_set_call_dummy_breakpoint_offset (void) +{ + if (caller_is_thumb) + set_gdbarch_call_dummy_breakpoint_offset (current_gdbarch, 4); + else + set_gdbarch_call_dummy_breakpoint_offset (current_gdbarch, 8); } /* Fix up the call dummy, based on whether the processor is currently @@ -1090,9 +1297,9 @@ arm_push_dummy_frame (void) All three call dummies expect to receive the target function address in R4, with the low bit set if it's a Thumb function. */ -void +static void arm_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, - value_ptr *args, struct type *type, int gcc_p) + struct value **args, struct type *type, int gcc_p) { static short thumb_dummy[4] = { @@ -1104,6 +1311,7 @@ arm_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, /* Set flag indicating whether the current PC is in a Thumb function. */ caller_is_thumb = arm_pc_is_thumb (read_pc ()); + arm_set_call_dummy_breakpoint_offset (); /* If the target function is Thumb, set the low bit of the function address. And if the CPU is currently in ARM mode, patch the @@ -1138,30 +1346,14 @@ arm_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, write_register (4, fun); } -/* Return the offset in the call dummy of the instruction that needs - to have a breakpoint placed on it. This is the offset of the 'swi - 24' instruction, which is no longer actually used, but simply acts - as a place-holder now. - - This implements the CALL_DUMMY_BREAK_OFFSET macro. */ - -int -arm_call_dummy_breakpoint_offset (void) -{ - if (caller_is_thumb) - return 4; - else - return 8; -} - /* Note: ScottB This function does not support passing parameters using the FPA variant of the APCS. It passes any floating point arguments in the general registers and/or on the stack. */ -CORE_ADDR -arm_push_arguments (int nargs, value_ptr * args, CORE_ADDR sp, +static CORE_ADDR +arm_push_arguments (int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) { char *fp; @@ -1183,12 +1375,7 @@ arm_push_arguments (int nargs, value_ptr * args, CORE_ADDR sp, arg_type = check_typedef (VALUE_TYPE (args[argnum])); len = TYPE_LENGTH (arg_type); - /* ANSI C code passes float arguments as integers, K&R code - passes float arguments as doubles. Correct for this here. */ - if (TYPE_CODE_FLT == TYPE_CODE (arg_type) && REGISTER_SIZE == len) - nstack_size += FP_REGISTER_VIRTUAL_SIZE; - else - nstack_size += len; + nstack_size += len; } /* Allocate room on the stack, and initialize our stack frame @@ -1201,7 +1388,7 @@ arm_push_arguments (int nargs, value_ptr * args, CORE_ADDR sp, } /* Initialize the integer argument register pointer. */ - argreg = A1_REGNUM; + argreg = ARM_A1_REGNUM; /* The struct_return pointer occupies the first parameter passing register. */ @@ -1215,7 +1402,6 @@ arm_push_arguments (int nargs, value_ptr * args, CORE_ADDR sp, { int len; char *val; - double dbl_arg; CORE_ADDR regval; enum type_code typecode; struct type *arg_type, *target_type; @@ -1226,32 +1412,6 @@ arm_push_arguments (int nargs, value_ptr * args, CORE_ADDR sp, typecode = TYPE_CODE (arg_type); val = (char *) VALUE_CONTENTS (args[argnum]); - /* ANSI C code passes float arguments as integers, K&R code - passes float arguments as doubles. The .stabs record for - for ANSI prototype floating point arguments records the - type as FP_INTEGER, while a K&R style (no prototype) - .stabs records the type as FP_FLOAT. In this latter case - the compiler converts the float arguments to double before - calling the function. */ - if (TYPE_CODE_FLT == typecode && REGISTER_SIZE == len) - { - float f; - double d; - char * bufo = (char *) &d; - char * bufd = (char *) &dbl_arg; - - len = sizeof (double); - f = *(float *) val; - SWAP_TARGET_AND_HOST (&f, sizeof (float)); /* adjust endianess */ - d = f; - /* We must revert the longwords so they get loaded into the - the right registers. */ - memcpy (bufd, bufo + len / 2, len / 2); - SWAP_TARGET_AND_HOST (bufd, len / 2); /* adjust endianess */ - memcpy (bufd + len / 2, bufo, len / 2); - SWAP_TARGET_AND_HOST (bufd + len / 2, len / 2); /* adjust endianess */ - val = (char *) &dbl_arg; - } #if 1 /* I don't know why this code was disable. The only logical use for a function pointer is to call that function, so setting @@ -1296,45 +1456,26 @@ arm_push_arguments (int nargs, value_ptr * args, CORE_ADDR sp, return sp; } -void +/* Pop the current frame. So long as the frame info has been initialized + properly (see arm_init_extra_frame_info), this code works for dummy frames + as well as regular frames. I.e, there's no need to have a special case + for dummy frames. */ +static void arm_pop_frame (void) { int regnum; struct frame_info *frame = get_current_frame (); + CORE_ADDR old_SP = (frame->frame - frame->extra_info->frameoffset + + frame->extra_info->framesize); - if (!PC_IN_CALL_DUMMY(frame->pc, frame->frame, read_fp())) - { - CORE_ADDR old_SP; - - old_SP = read_register (frame->framereg); - for (regnum = 0; regnum < NUM_REGS; regnum++) - if (frame->fsr.regs[regnum] != 0) - write_register (regnum, - read_memory_integer (frame->fsr.regs[regnum], 4)); + for (regnum = 0; regnum < NUM_REGS; regnum++) + if (frame->saved_regs[regnum] != 0) + write_register (regnum, + read_memory_integer (frame->saved_regs[regnum], + REGISTER_RAW_SIZE (regnum))); - write_register (PC_REGNUM, FRAME_SAVED_PC (frame)); - write_register (SP_REGNUM, old_SP); - } - else - { - CORE_ADDR sp; - - sp = read_register (FP_REGNUM); - sp -= sizeof(CORE_ADDR); /* we don't care about this first word */ - - write_register (PC_REGNUM, read_memory_integer (sp, 4)); - sp -= sizeof(CORE_ADDR); - write_register (SP_REGNUM, read_memory_integer (sp, 4)); - sp -= sizeof(CORE_ADDR); - write_register (FP_REGNUM, read_memory_integer (sp, 4)); - sp -= sizeof(CORE_ADDR); - - for (regnum = 10; regnum >= 0; regnum--) - { - write_register (regnum, read_memory_integer (sp, 4)); - sp -= sizeof(CORE_ADDR); - } - } + write_register (ARM_PC_REGNUM, FRAME_SAVED_PC (frame)); + write_register (ARM_SP_REGNUM, old_SP); flush_cached_frames (); } @@ -1355,10 +1496,12 @@ print_fpu_flags (int flags) putchar ('\n'); } -void -arm_float_info (void) +/* Print interesting information about the floating point processor + (if present) or emulator. */ +static void +arm_print_float_info (void) { - register unsigned long status = read_register (FPS_REGNUM); + register unsigned long status = read_register (ARM_FPS_REGNUM); int type; type = (status >> 24) & 127; @@ -1371,76 +1514,96 @@ arm_float_info (void) print_fpu_flags (status); } -#if 0 -/* FIXME: The generated assembler works but sucks. Instead of using - r0, r1 it pushes them on the stack, then loads them into r3, r4 and - uses those registers. I must be missing something. ScottB */ +/* Return the GDB type object for the "standard" data type of data in + register N. */ -void -convert_from_extended (void *ptr, void *dbl) +static struct type * +arm_register_type (int regnum) { - __asm__ (" - ldfe f0,[%0] - stfd f0,[%1] " -: /* no output */ -: "r" (ptr), "r" (dbl)); + if (regnum >= ARM_F0_REGNUM && regnum < ARM_F0_REGNUM + NUM_FREGS) + { + if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) + return builtin_type_arm_ext_big; + else + return builtin_type_arm_ext_littlebyte_bigword; + } + else + return builtin_type_int32; } -void -convert_to_extended (void *dbl, void *ptr) -{ - __asm__ (" - ldfd f0,[%0] - stfe f0,[%1] " -: /* no output */ -: "r" (dbl), "r" (ptr)); -} -#else -static void -convert_from_extended (void *ptr, void *dbl) -{ - *(double *) dbl = *(double *) ptr; -} +/* Index within `registers' of the first byte of the space for + register N. */ -void -convert_to_extended (void *dbl, void *ptr) +static int +arm_register_byte (int regnum) { - *(double *) ptr = *(double *) dbl; + if (regnum < ARM_F0_REGNUM) + return regnum * INT_REGISTER_RAW_SIZE; + else if (regnum < ARM_PS_REGNUM) + return (NUM_GREGS * INT_REGISTER_RAW_SIZE + + (regnum - ARM_F0_REGNUM) * FP_REGISTER_RAW_SIZE); + else + return (NUM_GREGS * INT_REGISTER_RAW_SIZE + + NUM_FREGS * FP_REGISTER_RAW_SIZE + + (regnum - ARM_FPS_REGNUM) * STATUS_REGISTER_SIZE); } -#endif -/* Nonzero if register N requires conversion from raw format to - virtual format. */ +/* Number of bytes of storage in the actual machine representation for + register N. All registers are 4 bytes, except fp0 - fp7, which are + 12 bytes in length. */ -int -arm_register_convertible (unsigned int regnum) +static int +arm_register_raw_size (int regnum) { - return ((regnum - F0_REGNUM) < 8); + if (regnum < ARM_F0_REGNUM) + return INT_REGISTER_RAW_SIZE; + else if (regnum < ARM_FPS_REGNUM) + return FP_REGISTER_RAW_SIZE; + else + return STATUS_REGISTER_SIZE; } -/* Convert data from raw format for register REGNUM in buffer FROM to - virtual format with type TYPE in buffer TO. */ - -void -arm_register_convert_to_virtual (unsigned int regnum, struct type *type, - void *from, void *to) +/* Number of bytes of storage in a program's representation + for register N. */ +static int +arm_register_virtual_size (int regnum) { - double val; - - convert_from_extended (from, &val); - store_floating (to, TYPE_LENGTH (type), val); + if (regnum < ARM_F0_REGNUM) + return INT_REGISTER_VIRTUAL_SIZE; + else if (regnum < ARM_FPS_REGNUM) + return FP_REGISTER_VIRTUAL_SIZE; + else + return STATUS_REGISTER_SIZE; } -/* Convert data from virtual format with type TYPE in buffer FROM to - raw format for register REGNUM in buffer TO. */ -void -arm_register_convert_to_raw (unsigned int regnum, struct type *type, - void *from, void *to) +/* NOTE: cagney/2001-08-20: Both convert_from_extended() and + convert_to_extended() use floatformat_arm_ext_littlebyte_bigword. + It is thought that this is is the floating-point register format on + little-endian systems. */ + +static void +convert_from_extended (void *ptr, void *dbl) { - double val = extract_floating (from, TYPE_LENGTH (type)); + DOUBLEST d; + if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) + floatformat_to_doublest (&floatformat_arm_ext_big, ptr, &d); + else + floatformat_to_doublest (&floatformat_arm_ext_littlebyte_bigword, + ptr, &d); + floatformat_from_doublest (TARGET_DOUBLE_FORMAT, &d, dbl); +} - convert_to_extended (&val, to); +static void +convert_to_extended (void *dbl, void *ptr) +{ + DOUBLEST d; + floatformat_to_doublest (TARGET_DOUBLE_FORMAT, ptr, &d); + if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) + floatformat_from_doublest (&floatformat_arm_ext_big, &d, dbl); + else + floatformat_from_doublest (&floatformat_arm_ext_littlebyte_bigword, + &d, dbl); } static int @@ -1485,6 +1648,7 @@ condition_true (unsigned long cond, unsigned long status_reg) return 1; } +/* Support routines for single stepping. Calculate the next PC value. */ #define submask(x) ((1L << ((x) + 1)) - 1) #define bit(obj,st) (((obj) >> (st)) & 1) #define bits(obj,st,fn) (((obj) >> (st)) & submask ((fn) - (st))) @@ -1555,7 +1719,7 @@ bitcount (unsigned long val) return nbits; } -static CORE_ADDR +CORE_ADDR thumb_get_next_pc (CORE_ADDR pc) { unsigned long pc_val = ((unsigned long) pc) + 4; /* PC after prefetch */ @@ -1570,7 +1734,7 @@ thumb_get_next_pc (CORE_ADDR pc) /* Fetch the saved PC from the stack. It's stored above all of the other registers. */ offset = bitcount (bits (inst1, 0, 7)) * REGISTER_SIZE; - sp = read_register (SP_REGNUM); + sp = read_register (ARM_SP_REGNUM); nextpc = (CORE_ADDR) read_memory_integer (sp + offset, 4); nextpc = ADDR_BITS_REMOVE (nextpc); if (nextpc == pc) @@ -1578,7 +1742,7 @@ thumb_get_next_pc (CORE_ADDR pc) } else if ((inst1 & 0xf000) == 0xd000) /* conditional branch */ { - unsigned long status = read_register (PS_REGNUM); + unsigned long status = read_register (ARM_PS_REGNUM); unsigned long cond = bits (inst1, 8, 11); if (cond != 0x0f && condition_true (cond, status)) /* 0x0f = SWI */ nextpc = pc_val + (sbits (inst1, 0, 7) << 1); @@ -1610,7 +1774,7 @@ arm_get_next_pc (CORE_ADDR pc) pc_val = (unsigned long) pc; this_instr = read_memory_integer (pc, 4); - status = read_register (PS_REGNUM); + status = read_register (ARM_PS_REGNUM); nextpc = (CORE_ADDR) (pc_val + 4); /* Default case */ if (condition_true (bits (this_instr, 28, 31), status)) @@ -1811,7 +1975,7 @@ arm_get_next_pc (CORE_ADDR pc) break; default: - fprintf (stderr, "Bad bit-field extraction\n"); + fprintf_filtered (gdb_stderr, "Bad bit-field extraction\n"); return (pc); } } @@ -1819,6 +1983,29 @@ arm_get_next_pc (CORE_ADDR pc) return nextpc; } +/* single_step() is called just before we want to resume the inferior, + if we want to single-step it but there is no hardware or kernel + single-step support. We find the target of the coming instruction + and breakpoint it. + + single_step is also called just after the inferior stops. If we had + set up a simulated single-step, we undo our damage. */ + +static void +arm_software_single_step (enum target_signal sig, int insert_bpt) +{ + static int next_pc; /* State between setting and unsetting. */ + static char break_mem[BREAKPOINT_MAX]; /* Temporary storage for mem@bpt */ + + if (insert_bpt) + { + next_pc = arm_get_next_pc (read_register (ARM_PC_REGNUM)); + target_insert_breakpoint (next_pc, break_mem); + } + else + target_remove_breakpoint (next_pc, break_mem); +} + #include "bfd-in2.h" #include "libcoff.h" @@ -1855,54 +2042,90 @@ gdb_print_insn_arm (bfd_vma memaddr, disassemble_info *info) else info->symbols = NULL; - if (TARGET_BYTE_ORDER == BIG_ENDIAN) + if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) return print_insn_big_arm (memaddr, info); else return print_insn_little_arm (memaddr, info); } -/* This function implements the BREAKPOINT_FROM_PC macro. It uses the - program counter value to determine whether a 16-bit or 32-bit +/* The following define instruction sequences that will cause ARM + cpu's to take an undefined instruction trap. These are used to + signal a breakpoint to GDB. + + The newer ARMv4T cpu's are capable of operating in ARM or Thumb + modes. A different instruction is required for each mode. The ARM + cpu's can also be big or little endian. Thus four different + instructions are needed to support all cases. + + Note: ARMv4 defines several new instructions that will take the + undefined instruction trap. ARM7TDMI is nominally ARMv4T, but does + not in fact add the new instructions. The new undefined + instructions in ARMv4 are all instructions that had no defined + behaviour in earlier chips. There is no guarantee that they will + raise an exception, but may be treated as NOP's. In practice, it + may only safe to rely on instructions matching: + + 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 + 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 + C C C C 0 1 1 x x x x x x x x x x x x x x x x x x x x 1 x x x x + + Even this may only true if the condition predicate is true. The + following use a condition predicate of ALWAYS so it is always TRUE. + + There are other ways of forcing a breakpoint. GNU/Linux, RISC iX, + and NetBSD all use a software interrupt rather than an undefined + instruction to force a trap. This can be handled by by the + abi-specific code during establishment of the gdbarch vector. */ + + +/* NOTE rearnsha 2002-02-18: for now we allow a non-multi-arch gdb to + override these definitions. */ +#ifndef ARM_LE_BREAKPOINT +#define ARM_LE_BREAKPOINT {0xFE,0xDE,0xFF,0xE7} +#endif +#ifndef ARM_BE_BREAKPOINT +#define ARM_BE_BREAKPOINT {0xE7,0xFF,0xDE,0xFE} +#endif +#ifndef THUMB_LE_BREAKPOINT +#define THUMB_LE_BREAKPOINT {0xfe,0xdf} +#endif +#ifndef THUMB_BE_BREAKPOINT +#define THUMB_BE_BREAKPOINT {0xdf,0xfe} +#endif + +static const char arm_default_arm_le_breakpoint[] = ARM_LE_BREAKPOINT; +static const char arm_default_arm_be_breakpoint[] = ARM_BE_BREAKPOINT; +static const char arm_default_thumb_le_breakpoint[] = THUMB_LE_BREAKPOINT; +static const char arm_default_thumb_be_breakpoint[] = THUMB_BE_BREAKPOINT; + +/* Determine the type and size of breakpoint to insert at PCPTR. Uses + the program counter value to determine whether a 16-bit or 32-bit breakpoint should be used. It returns a pointer to a string of bytes that encode a breakpoint instruction, stores the length of the string to *lenptr, and adjusts the program counter (if necessary) to point to the actual memory location where the breakpoint should be inserted. */ +/* XXX ??? from old tm-arm.h: if we're using RDP, then we're inserting + breakpoints and storing their handles instread of what was in + memory. It is nice that this is the same size as a handle - + otherwise remote-rdp will have to change. */ + unsigned char * arm_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr) { + struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); + if (arm_pc_is_thumb (*pcptr) || arm_pc_is_thumb_dummy (*pcptr)) { - if (TARGET_BYTE_ORDER == BIG_ENDIAN) - { - static char thumb_breakpoint[] = THUMB_BE_BREAKPOINT; - *pcptr = UNMAKE_THUMB_ADDR (*pcptr); - *lenptr = sizeof (thumb_breakpoint); - return thumb_breakpoint; - } - else - { - static char thumb_breakpoint[] = THUMB_LE_BREAKPOINT; - *pcptr = UNMAKE_THUMB_ADDR (*pcptr); - *lenptr = sizeof (thumb_breakpoint); - return thumb_breakpoint; - } + *pcptr = UNMAKE_THUMB_ADDR (*pcptr); + *lenptr = tdep->thumb_breakpoint_size; + return tdep->thumb_breakpoint; } else { - if (TARGET_BYTE_ORDER == BIG_ENDIAN) - { - static char arm_breakpoint[] = ARM_BE_BREAKPOINT; - *lenptr = sizeof (arm_breakpoint); - return arm_breakpoint; - } - else - { - static char arm_breakpoint[] = ARM_LE_BREAKPOINT; - *lenptr = sizeof (arm_breakpoint); - return arm_breakpoint; - } + *lenptr = tdep->arm_breakpoint_size; + return tdep->arm_breakpoint; } } @@ -1910,15 +2133,203 @@ arm_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr) function return value of type TYPE, and copy that, in virtual format, into VALBUF. */ -void +static void arm_extract_return_value (struct type *type, char regbuf[REGISTER_BYTES], char *valbuf) { if (TYPE_CODE_FLT == TYPE_CODE (type)) - convert_from_extended (®buf[REGISTER_BYTE (F0_REGNUM)], valbuf); + { + struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); + + switch (tdep->fp_model) + { + case ARM_FLOAT_FPA: + convert_from_extended (®buf[REGISTER_BYTE (ARM_F0_REGNUM)], + valbuf); + break; + + case ARM_FLOAT_SOFT: + case ARM_FLOAT_SOFT_VFP: + memcpy (valbuf, ®buf[REGISTER_BYTE (ARM_A1_REGNUM)], + TYPE_LENGTH (type)); + break; + + default: + internal_error + (__FILE__, __LINE__, + "arm_extract_return_value: Floating point model not supported"); + break; + } + } + else + memcpy (valbuf, ®buf[REGISTER_BYTE (ARM_A1_REGNUM)], + TYPE_LENGTH (type)); +} + +/* Extract from an array REGBUF containing the (raw) register state + the address in which a function should return its structure value. */ + +static CORE_ADDR +arm_extract_struct_value_address (char *regbuf) +{ + return extract_address (regbuf, REGISTER_RAW_SIZE(ARM_A1_REGNUM)); +} + +/* Will a function return an aggregate type in memory or in a + register? Return 0 if an aggregate type can be returned in a + register, 1 if it must be returned in memory. */ + +static int +arm_use_struct_convention (int gcc_p, struct type *type) +{ + int nRc; + register enum type_code code; + + /* In the ARM ABI, "integer" like aggregate types are returned in + registers. For an aggregate type to be integer like, its size + must be less than or equal to REGISTER_SIZE and the offset of + each addressable subfield must be zero. Note that bit fields are + not addressable, and all addressable subfields of unions always + start at offset zero. + + This function is based on the behaviour of GCC 2.95.1. + See: gcc/arm.c: arm_return_in_memory() for details. + + Note: All versions of GCC before GCC 2.95.2 do not set up the + parameters correctly for a function returning the following + structure: struct { float f;}; This should be returned in memory, + not a register. Richard Earnshaw sent me a patch, but I do not + know of any way to detect if a function like the above has been + compiled with the correct calling convention. */ + + /* All aggregate types that won't fit in a register must be returned + in memory. */ + if (TYPE_LENGTH (type) > REGISTER_SIZE) + { + return 1; + } + + /* The only aggregate types that can be returned in a register are + structs and unions. Arrays must be returned in memory. */ + code = TYPE_CODE (type); + if ((TYPE_CODE_STRUCT != code) && (TYPE_CODE_UNION != code)) + { + return 1; + } + + /* Assume all other aggregate types can be returned in a register. + Run a check for structures, unions and arrays. */ + nRc = 0; + + if ((TYPE_CODE_STRUCT == code) || (TYPE_CODE_UNION == code)) + { + int i; + /* Need to check if this struct/union is "integer" like. For + this to be true, its size must be less than or equal to + REGISTER_SIZE and the offset of each addressable subfield + must be zero. Note that bit fields are not addressable, and + unions always start at offset zero. If any of the subfields + is a floating point type, the struct/union cannot be an + integer type. */ + + /* For each field in the object, check: + 1) Is it FP? --> yes, nRc = 1; + 2) Is it addressable (bitpos != 0) and + not packed (bitsize == 0)? + --> yes, nRc = 1 + */ + + for (i = 0; i < TYPE_NFIELDS (type); i++) + { + enum type_code field_type_code; + field_type_code = TYPE_CODE (TYPE_FIELD_TYPE (type, i)); + + /* Is it a floating point type field? */ + if (field_type_code == TYPE_CODE_FLT) + { + nRc = 1; + break; + } + + /* If bitpos != 0, then we have to care about it. */ + if (TYPE_FIELD_BITPOS (type, i) != 0) + { + /* Bitfields are not addressable. If the field bitsize is + zero, then the field is not packed. Hence it cannot be + a bitfield or any other packed type. */ + if (TYPE_FIELD_BITSIZE (type, i) == 0) + { + nRc = 1; + break; + } + } + } + } + + return nRc; +} + +/* Write into appropriate registers a function return value of type + TYPE, given in virtual format. */ + +static void +arm_store_return_value (struct type *type, char *valbuf) +{ + if (TYPE_CODE (type) == TYPE_CODE_FLT) + { + struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); + char buf[MAX_REGISTER_RAW_SIZE]; + + switch (tdep->fp_model) + { + case ARM_FLOAT_FPA: + + convert_to_extended (valbuf, buf); + write_register_bytes (REGISTER_BYTE (ARM_F0_REGNUM), buf, + MAX_REGISTER_RAW_SIZE); + break; + + case ARM_FLOAT_SOFT: + case ARM_FLOAT_SOFT_VFP: + write_register_bytes (ARM_A1_REGNUM, valbuf, TYPE_LENGTH (type)); + break; + + default: + internal_error + (__FILE__, __LINE__, + "arm_store_return_value: Floating point model not supported"); + break; + } + } else - memcpy (valbuf, ®buf[REGISTER_BYTE (A1_REGNUM)], TYPE_LENGTH (type)); + write_register_bytes (ARM_A1_REGNUM, valbuf, TYPE_LENGTH (type)); +} + +/* Store the address of the place in which to copy the structure the + subroutine will return. This is called from call_function. */ + +static void +arm_store_struct_return (CORE_ADDR addr, CORE_ADDR sp) +{ + write_register (ARM_A1_REGNUM, addr); +} + +static int +arm_get_longjmp_target (CORE_ADDR *pc) +{ + CORE_ADDR jb_addr; + char buf[INT_REGISTER_RAW_SIZE]; + struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); + + jb_addr = read_register (ARM_A1_REGNUM); + + if (target_read_memory (jb_addr + tdep->jb_pc * tdep->jb_elt_size, buf, + INT_REGISTER_RAW_SIZE)) + return 0; + + *pc = extract_address (buf, INT_REGISTER_RAW_SIZE); + return 1; } /* Return non-zero if the PC is inside a thumb call thunk. */ @@ -1982,6 +2393,13 @@ set_disassembly_flavor_sfunc (char *args, int from_tty, set_disassembly_flavor (); } +/* Return the ARM register name corresponding to register I. */ +static char * +arm_register_name (int i) +{ + return arm_register_names[i]; +} + static void set_disassembly_flavor (void) { @@ -2001,15 +2419,15 @@ set_disassembly_flavor (void) arm_register_names[j] = (char *) regnames[j]; /* Adjust case. */ - if (isupper (*regnames[PC_REGNUM])) + if (isupper (*regnames[ARM_PC_REGNUM])) { - arm_register_names[FPS_REGNUM] = "FPS"; - arm_register_names[PS_REGNUM] = "CPSR"; + arm_register_names[ARM_FPS_REGNUM] = "FPS"; + arm_register_names[ARM_PS_REGNUM] = "CPSR"; } else { - arm_register_names[FPS_REGNUM] = "fps"; - arm_register_names[PS_REGNUM] = "cpsr"; + arm_register_names[ARM_FPS_REGNUM] = "fps"; + arm_register_names[ARM_PS_REGNUM] = "cpsr"; } /* Synchronize the disassembler. */ @@ -2031,16 +2449,637 @@ arm_othernames (char *names, int n) set_disassembly_flavor (); } +/* Fetch, and possibly build, an appropriate link_map_offsets structure + for ARM linux targets using the struct offsets defined in . + Note, however, that link.h is not actually referred to in this file. + Instead, the relevant structs offsets were obtained from examining + link.h. (We can't refer to link.h from this file because the host + system won't necessarily have it, or if it does, the structs which + it defines will refer to the host system, not the target.) */ + +struct link_map_offsets * +arm_linux_svr4_fetch_link_map_offsets (void) +{ + static struct link_map_offsets lmo; + static struct link_map_offsets *lmp = 0; + + if (lmp == 0) + { + lmp = &lmo; + + lmo.r_debug_size = 8; /* Actual size is 20, but this is all we + need. */ + + lmo.r_map_offset = 4; + lmo.r_map_size = 4; + + lmo.link_map_size = 20; /* Actual size is 552, but this is all we + need. */ + + lmo.l_addr_offset = 0; + lmo.l_addr_size = 4; + + lmo.l_name_offset = 4; + lmo.l_name_size = 4; + + lmo.l_next_offset = 12; + lmo.l_next_size = 4; + + lmo.l_prev_offset = 16; + lmo.l_prev_size = 4; + } + + return lmp; +} + +/* Test whether the coff symbol specific value corresponds to a Thumb + function. */ + +static int +coff_sym_is_thumb (int val) +{ + return (val == C_THUMBEXT || + val == C_THUMBSTAT || + val == C_THUMBEXTFUNC || + val == C_THUMBSTATFUNC || + val == C_THUMBLABEL); +} + +/* arm_coff_make_msymbol_special() + arm_elf_make_msymbol_special() + + These functions test whether the COFF or ELF symbol corresponds to + an address in thumb code, and set a "special" bit in a minimal + symbol to indicate that it does. */ + +static void +arm_elf_make_msymbol_special(asymbol *sym, struct minimal_symbol *msym) +{ + /* Thumb symbols are of type STT_LOPROC, (synonymous with + STT_ARM_TFUNC). */ + if (ELF_ST_TYPE (((elf_symbol_type *)sym)->internal_elf_sym.st_info) + == STT_LOPROC) + MSYMBOL_SET_SPECIAL (msym); +} + +static void +arm_coff_make_msymbol_special(int val, struct minimal_symbol *msym) +{ + if (coff_sym_is_thumb (val)) + MSYMBOL_SET_SPECIAL (msym); +} + + +static void +process_note_abi_tag_sections (bfd *abfd, asection *sect, void *obj) +{ + enum arm_abi *os_ident_ptr = obj; + const char *name; + unsigned int sectsize; + + name = bfd_get_section_name (abfd, sect); + sectsize = bfd_section_size (abfd, sect); + + if (strcmp (name, ".note.ABI-tag") == 0 && sectsize > 0) + { + unsigned int name_length, data_length, note_type; + char *note; + + /* If the section is larger than this, it's probably not what we are + looking for. */ + if (sectsize > 128) + sectsize = 128; + + note = alloca (sectsize); + + bfd_get_section_contents (abfd, sect, note, + (file_ptr) 0, (bfd_size_type) sectsize); + + name_length = bfd_h_get_32 (abfd, note); + data_length = bfd_h_get_32 (abfd, note + 4); + note_type = bfd_h_get_32 (abfd, note + 8); + + if (name_length == 4 && data_length == 16 && note_type == 1 + && strcmp (note + 12, "GNU") == 0) + { + int os_number = bfd_h_get_32 (abfd, note + 16); + + /* The case numbers are from abi-tags in glibc. */ + switch (os_number) + { + case 0 : + *os_ident_ptr = ARM_ABI_LINUX; + break; + + case 1 : + internal_error + (__FILE__, __LINE__, + "process_note_abi_sections: Hurd objects not supported"); + break; + + case 2 : + internal_error + (__FILE__, __LINE__, + "process_note_abi_sections: Solaris objects not supported"); + break; + + default : + internal_error + (__FILE__, __LINE__, + "process_note_abi_sections: unknown OS number %d", + os_number); + break; + } + } + } + /* NetBSD uses a similar trick. */ + else if (strcmp (name, ".note.netbsd.ident") == 0 && sectsize > 0) + { + unsigned int name_length, desc_length, note_type; + char *note; + + /* If the section is larger than this, it's probably not what we are + looking for. */ + if (sectsize > 128) + sectsize = 128; + + note = alloca (sectsize); + + bfd_get_section_contents (abfd, sect, note, + (file_ptr) 0, (bfd_size_type) sectsize); + + name_length = bfd_h_get_32 (abfd, note); + desc_length = bfd_h_get_32 (abfd, note + 4); + note_type = bfd_h_get_32 (abfd, note + 8); + + if (name_length == 7 && desc_length == 4 && note_type == 1 + && strcmp (note + 12, "NetBSD") == 0) + /* XXX Should we check the version here? + Probably not necessary yet. */ + *os_ident_ptr = ARM_ABI_NETBSD_ELF; + } +} + +/* Return one of the ELFOSABI_ constants for BFDs representing ELF + executables. If it's not an ELF executable or if the OS/ABI couldn't + be determined, simply return -1. */ + +static int +get_elfosabi (bfd *abfd) +{ + int elfosabi; + enum arm_abi arm_abi = ARM_ABI_UNKNOWN; + + elfosabi = elf_elfheader (abfd)->e_ident[EI_OSABI]; + + /* When elfosabi is 0 (ELFOSABI_NONE), this is supposed to indicate + that we're on a SYSV system. However, GNU/Linux uses a note section + to record OS/ABI info, but leaves e_ident[EI_OSABI] zero. So we + have to check the note sections too. + + GNU/ARM tools set the EI_OSABI field to ELFOSABI_ARM, so handle that + as well. */ + if (elfosabi == 0 || elfosabi == ELFOSABI_ARM) + { + bfd_map_over_sections (abfd, + process_note_abi_tag_sections, + &arm_abi); + } + + if (arm_abi != ARM_ABI_UNKNOWN) + return arm_abi; + + switch (elfosabi) + { + case ELFOSABI_NONE: + /* Existing ARM Tools don't set this field, so look at the EI_FLAGS + field for more information. */ + + switch (EF_ARM_EABI_VERSION(elf_elfheader(abfd)->e_flags)) + { + case EF_ARM_EABI_VER1: + return ARM_ABI_EABI_V1; + + case EF_ARM_EABI_VER2: + return ARM_ABI_EABI_V2; + + case EF_ARM_EABI_UNKNOWN: + /* Assume GNU tools. */ + return ARM_ABI_APCS; + + default: + internal_error (__FILE__, __LINE__, + "get_elfosabi: Unknown ARM EABI version 0x%lx", + EF_ARM_EABI_VERSION(elf_elfheader(abfd)->e_flags)); + + } + break; + + case ELFOSABI_NETBSD: + return ARM_ABI_NETBSD_ELF; + + case ELFOSABI_FREEBSD: + return ARM_ABI_FREEBSD; + + case ELFOSABI_LINUX: + return ARM_ABI_LINUX; + + case ELFOSABI_ARM: + /* Assume GNU tools with the old APCS abi. */ + return ARM_ABI_APCS; + + default: + } + + return ARM_ABI_UNKNOWN; +} + +struct arm_abi_handler +{ + struct arm_abi_handler *next; + enum arm_abi abi; + void (*init_abi)(struct gdbarch_info, struct gdbarch *); +}; + +struct arm_abi_handler *arm_abi_handler_list = NULL; + +void +arm_gdbarch_register_os_abi (enum arm_abi abi, + void (*init_abi)(struct gdbarch_info, + struct gdbarch *)) +{ + struct arm_abi_handler **handler_p; + + for (handler_p = &arm_abi_handler_list; *handler_p != NULL; + handler_p = &(*handler_p)->next) + { + if ((*handler_p)->abi == abi) + { + internal_error + (__FILE__, __LINE__, + "arm_gdbarch_register_os_abi: A handler for this ABI variant (%d)" + " has already been registered", (int)abi); + /* If user wants to continue, override previous definition. */ + (*handler_p)->init_abi = init_abi; + return; + } + } + + (*handler_p) + = (struct arm_abi_handler *) xmalloc (sizeof (struct arm_abi_handler)); + (*handler_p)->next = NULL; + (*handler_p)->abi = abi; + (*handler_p)->init_abi = init_abi; +} + +/* Initialize the current architecture based on INFO. If possible, re-use an + architecture from ARCHES, which is a list of architectures already created + during this debugging session. + + Called e.g. at program startup, when reading a core file, and when reading + a binary file. */ + +static struct gdbarch * +arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +{ + struct gdbarch_tdep *tdep; + struct gdbarch *gdbarch; + enum arm_abi arm_abi = ARM_ABI_UNKNOWN; + struct arm_abi_handler *abi_handler; + + /* Try to deterimine the ABI of the object we are loading. */ + + if (info.abfd != NULL) + { + switch (bfd_get_flavour (info.abfd)) + { + case bfd_target_elf_flavour: + arm_abi = get_elfosabi (info.abfd); + break; + + case bfd_target_aout_flavour: + if (strcmp (bfd_get_target(info.abfd), "a.out-arm-netbsd") == 0) + arm_abi = ARM_ABI_NETBSD_AOUT; + else + /* Assume it's an old APCS-style ABI. */ + arm_abi = ARM_ABI_APCS; + break; + + case bfd_target_coff_flavour: + /* Assume it's an old APCS-style ABI. */ + /* XXX WinCE? */ + arm_abi = ARM_ABI_APCS; + break; + + default: + /* Not sure what to do here, leave the ABI as unknown. */ + break; + } + } + + /* Find a candidate among extant architectures. */ + for (arches = gdbarch_list_lookup_by_info (arches, &info); + arches != NULL; + arches = gdbarch_list_lookup_by_info (arches->next, &info)) + { + /* Make sure the ABI selection matches. */ + tdep = gdbarch_tdep (arches->gdbarch); + if (tdep && tdep->arm_abi == arm_abi) + return arches->gdbarch; + } + + tdep = xmalloc (sizeof (struct gdbarch_tdep)); + gdbarch = gdbarch_alloc (&info, tdep); + + tdep->arm_abi = arm_abi; + if (arm_abi < ARM_ABI_INVALID) + tdep->abi_name = arm_abi_names[arm_abi]; + else + { + internal_error (__FILE__, __LINE__, "Invalid setting of arm_abi %d", + (int) arm_abi); + tdep->abi_name = ""; + } + + /* This is the way it has always defaulted. */ + tdep->fp_model = ARM_FLOAT_FPA; + + /* Breakpoints. */ + switch (info.byte_order) + { + case BFD_ENDIAN_BIG: + tdep->arm_breakpoint = arm_default_arm_be_breakpoint; + tdep->arm_breakpoint_size = sizeof (arm_default_arm_be_breakpoint); + tdep->thumb_breakpoint = arm_default_thumb_be_breakpoint; + tdep->thumb_breakpoint_size = sizeof (arm_default_thumb_be_breakpoint); + + break; + + case BFD_ENDIAN_LITTLE: + tdep->arm_breakpoint = arm_default_arm_le_breakpoint; + tdep->arm_breakpoint_size = sizeof (arm_default_arm_le_breakpoint); + tdep->thumb_breakpoint = arm_default_thumb_le_breakpoint; + tdep->thumb_breakpoint_size = sizeof (arm_default_thumb_le_breakpoint); + + break; + + default: + internal_error (__FILE__, __LINE__, + "arm_gdbarch_init: bad byte order for float format"); + } + + /* On ARM targets char defaults to unsigned. */ + set_gdbarch_char_signed (gdbarch, 0); + + /* This should be low enough for everything. */ + tdep->lowest_pc = 0x20; + tdep->jb_pc = -1; /* Longjump support not enabled by default. */ + + set_gdbarch_use_generic_dummy_frames (gdbarch, 0); + + /* Call dummy code. */ + set_gdbarch_call_dummy_location (gdbarch, ON_STACK); + set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1); + /* We have to give this a value now, even though we will re-set it + during each call to arm_fix_call_dummy. */ + set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 8); + set_gdbarch_call_dummy_p (gdbarch, 1); + set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); + + set_gdbarch_call_dummy_words (gdbarch, arm_call_dummy_words); + set_gdbarch_sizeof_call_dummy_words (gdbarch, sizeof (arm_call_dummy_words)); + set_gdbarch_call_dummy_start_offset (gdbarch, 0); + set_gdbarch_call_dummy_length (gdbarch, 0); + + set_gdbarch_fix_call_dummy (gdbarch, arm_fix_call_dummy); + + set_gdbarch_pc_in_call_dummy (gdbarch, pc_in_call_dummy_on_stack); + + set_gdbarch_get_saved_register (gdbarch, generic_get_saved_register); + set_gdbarch_push_arguments (gdbarch, arm_push_arguments); + set_gdbarch_coerce_float_to_double (gdbarch, + standard_coerce_float_to_double); + + /* Frame handling. */ + set_gdbarch_frame_chain_valid (gdbarch, arm_frame_chain_valid); + set_gdbarch_init_extra_frame_info (gdbarch, arm_init_extra_frame_info); + set_gdbarch_read_fp (gdbarch, arm_read_fp); + set_gdbarch_frame_chain (gdbarch, arm_frame_chain); + set_gdbarch_frameless_function_invocation + (gdbarch, arm_frameless_function_invocation); + set_gdbarch_frame_saved_pc (gdbarch, arm_frame_saved_pc); + set_gdbarch_frame_args_address (gdbarch, arm_frame_args_address); + set_gdbarch_frame_locals_address (gdbarch, arm_frame_locals_address); + set_gdbarch_frame_num_args (gdbarch, arm_frame_num_args); + set_gdbarch_frame_args_skip (gdbarch, 0); + set_gdbarch_frame_init_saved_regs (gdbarch, arm_frame_init_saved_regs); + set_gdbarch_push_dummy_frame (gdbarch, arm_push_dummy_frame); + set_gdbarch_pop_frame (gdbarch, arm_pop_frame); + + /* Address manipulation. */ + set_gdbarch_smash_text_address (gdbarch, arm_smash_text_address); + set_gdbarch_addr_bits_remove (gdbarch, arm_addr_bits_remove); + + /* Offset from address of function to start of its code. */ + set_gdbarch_function_start_offset (gdbarch, 0); + + /* Advance PC across function entry code. */ + set_gdbarch_skip_prologue (gdbarch, arm_skip_prologue); + + /* Get the PC when a frame might not be available. */ + set_gdbarch_saved_pc_after_call (gdbarch, arm_saved_pc_after_call); + + /* The stack grows downward. */ + set_gdbarch_inner_than (gdbarch, core_addr_lessthan); + + /* Breakpoint manipulation. */ + set_gdbarch_breakpoint_from_pc (gdbarch, arm_breakpoint_from_pc); + set_gdbarch_decr_pc_after_break (gdbarch, 0); + + /* Information about registers, etc. */ + set_gdbarch_print_float_info (gdbarch, arm_print_float_info); + set_gdbarch_fp_regnum (gdbarch, ARM_FP_REGNUM); /* ??? */ + set_gdbarch_sp_regnum (gdbarch, ARM_SP_REGNUM); + set_gdbarch_pc_regnum (gdbarch, ARM_PC_REGNUM); + set_gdbarch_register_byte (gdbarch, arm_register_byte); + set_gdbarch_register_bytes (gdbarch, + (NUM_GREGS * INT_REGISTER_RAW_SIZE + + NUM_FREGS * FP_REGISTER_RAW_SIZE + + NUM_SREGS * STATUS_REGISTER_SIZE)); + set_gdbarch_num_regs (gdbarch, NUM_GREGS + NUM_FREGS + NUM_SREGS); + set_gdbarch_register_raw_size (gdbarch, arm_register_raw_size); + set_gdbarch_register_virtual_size (gdbarch, arm_register_virtual_size); + set_gdbarch_max_register_raw_size (gdbarch, FP_REGISTER_RAW_SIZE); + set_gdbarch_max_register_virtual_size (gdbarch, FP_REGISTER_VIRTUAL_SIZE); + set_gdbarch_register_virtual_type (gdbarch, arm_register_type); + + /* Integer registers are 4 bytes. */ + set_gdbarch_register_size (gdbarch, 4); + set_gdbarch_register_name (gdbarch, arm_register_name); + + /* Returning results. */ + set_gdbarch_extract_return_value (gdbarch, arm_extract_return_value); + set_gdbarch_store_return_value (gdbarch, arm_store_return_value); + set_gdbarch_store_struct_return (gdbarch, arm_store_struct_return); + set_gdbarch_use_struct_convention (gdbarch, arm_use_struct_convention); + set_gdbarch_extract_struct_value_address (gdbarch, + arm_extract_struct_value_address); + + /* Single stepping. */ + /* XXX For an RDI target we should ask the target if it can single-step. */ + set_gdbarch_software_single_step (gdbarch, arm_software_single_step); + + /* Minsymbol frobbing. */ + set_gdbarch_elf_make_msymbol_special (gdbarch, arm_elf_make_msymbol_special); + set_gdbarch_coff_make_msymbol_special (gdbarch, + arm_coff_make_msymbol_special); + + /* Hook in the ABI-specific overrides, if they have been registered. */ + if (arm_abi == ARM_ABI_UNKNOWN) + { + /* Don't complain about not knowing the ABI variant if we don't + have an inferior. */ + if (info.abfd) + fprintf_filtered + (gdb_stderr, "GDB doesn't recognize the ABI of the inferior. " + "Attempting to continue with the default ARM settings"); + } + else + { + for (abi_handler = arm_abi_handler_list; abi_handler != NULL; + abi_handler = abi_handler->next) + if (abi_handler->abi == arm_abi) + break; + + if (abi_handler) + abi_handler->init_abi (info, gdbarch); + else + { + /* We assume that if GDB_MULTI_ARCH is less than + GDB_MULTI_ARCH_TM that an ABI variant can be supported by + overriding definitions in this file. */ + if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) + fprintf_filtered + (gdb_stderr, + "A handler for the ABI variant \"%s\" is not built into this " + "configuration of GDB. " + "Attempting to continue with the default ARM settings", + arm_abi_names[arm_abi]); + } + } + + /* Now we have tuned the configuration, set a few final things, + based on what the OS ABI has told us. */ + + if (tdep->jb_pc >= 0) + set_gdbarch_get_longjmp_target (gdbarch, arm_get_longjmp_target); + + /* Floating point sizes and format. */ + switch (info.byte_order) + { + case BFD_ENDIAN_BIG: + set_gdbarch_float_format (gdbarch, &floatformat_ieee_single_big); + set_gdbarch_double_format (gdbarch, &floatformat_ieee_double_big); + set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big); + + break; + + case BFD_ENDIAN_LITTLE: + set_gdbarch_float_format (gdbarch, &floatformat_ieee_single_little); + if (tdep->fp_model == ARM_FLOAT_VFP + || tdep->fp_model == ARM_FLOAT_SOFT_VFP) + { + set_gdbarch_double_format (gdbarch, &floatformat_ieee_double_little); + set_gdbarch_long_double_format (gdbarch, + &floatformat_ieee_double_little); + } + else + { + set_gdbarch_double_format + (gdbarch, &floatformat_ieee_double_littlebyte_bigword); + set_gdbarch_long_double_format + (gdbarch, &floatformat_ieee_double_littlebyte_bigword); + } + break; + + default: + internal_error (__FILE__, __LINE__, + "arm_gdbarch_init: bad byte order for float format"); + } + + /* We can't use SIZEOF_FRAME_SAVED_REGS here, since that still + references the old architecture vector, not the one we are + building here. */ + if (prologue_cache.saved_regs != NULL) + xfree (prologue_cache.saved_regs); + + prologue_cache.saved_regs = (CORE_ADDR *) + xcalloc (1, (sizeof (CORE_ADDR) + * (gdbarch_num_regs (gdbarch) + NUM_PSEUDO_REGS))); + + return gdbarch; +} + +static void +arm_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); + + if (tdep == NULL) + return; + + if (tdep->abi_name != NULL) + fprintf_unfiltered (file, "arm_dump_tdep: ABI = %s\n", tdep->abi_name); + else + internal_error (__FILE__, __LINE__, + "arm_dump_tdep: illegal setting of tdep->arm_abi (%d)", + (int) tdep->arm_abi); + + fprintf_unfiltered (file, "arm_dump_tdep: Lowest pc = 0x%lx", + (unsigned long) tdep->lowest_pc); +} + +static void +arm_init_abi_eabi_v1 (struct gdbarch_info info, + struct gdbarch *gdbarch) +{ + /* Place-holder. */ +} + +static void +arm_init_abi_eabi_v2 (struct gdbarch_info info, + struct gdbarch *gdbarch) +{ + /* Place-holder. */ +} + +static void +arm_init_abi_apcs (struct gdbarch_info info, + struct gdbarch *gdbarch) +{ + /* Place-holder. */ +} + void _initialize_arm_tdep (void) { struct ui_file *stb; long length; struct cmd_list_element *new_cmd; - const char *setname, *setdesc, **regnames; + const char *setname; + const char *setdesc; + const char **regnames; int numregs, i, j; static char *helptext; + if (GDB_MULTI_ARCH) + gdbarch_register (bfd_arch_arm, arm_gdbarch_init, arm_dump_tdep); + + /* Register some ABI variants for embedded systems. */ + arm_gdbarch_register_os_abi (ARM_ABI_EABI_V1, arm_init_abi_eabi_v1); + arm_gdbarch_register_os_abi (ARM_ABI_EABI_V2, arm_init_abi_eabi_v2); + arm_gdbarch_register_os_abi (ARM_ABI_APCS, arm_init_abi_apcs); + tm_print_insn = gdb_print_insn_arm; /* Get the number of possible sets of register names defined in opcodes. */ @@ -2059,13 +3098,13 @@ The valid values are:\n"); for (i = 0; i < num_flavor_options; i++) { numregs = get_arm_regnames (i, &setname, &setdesc, ®names); - valid_flavors[i] = (char *) setname; + valid_flavors[i] = setname; fprintf_unfiltered (stb, "%s - %s\n", setname, setdesc); /* Copy the default names (if found) and synchronize disassembler. */ if (!strcmp (setname, "std")) { - disassembly_flavor = (char *) setname; + disassembly_flavor = setname; current_option = i; for (j = 0; j < numregs; j++) arm_register_names[j] = (char *) regnames[j]; @@ -2083,10 +3122,10 @@ The valid values are:\n"); /* Add the disassembly-flavor command */ new_cmd = add_set_enum_cmd ("disassembly-flavor", no_class, valid_flavors, - (char *) &disassembly_flavor, + &disassembly_flavor, helptext, &setlist); - new_cmd->function.sfunc = set_disassembly_flavor_sfunc; + set_cmd_sfunc (new_cmd, set_disassembly_flavor_sfunc); add_show_from_set (new_cmd, &showlist); /* ??? Maybe this should be a boolean. */ @@ -2099,17 +3138,9 @@ The valid values are:\n"); add_com ("othernames", class_obscure, arm_othernames, "Switch to the next set of register names."); -} -/* Test whether the coff symbol specific value corresponds to a Thumb - function. */ - -int -coff_sym_is_thumb (int val) -{ - return (val == C_THUMBEXT || - val == C_THUMBSTAT || - val == C_THUMBEXTFUNC || - val == C_THUMBSTATFUNC || - val == C_THUMBLABEL); + /* Fill in the prologue_cache fields. */ + prologue_cache.saved_regs = NULL; + prologue_cache.extra_info = (struct frame_extra_info *) + xcalloc (1, sizeof (struct frame_extra_info)); } diff --git a/contrib/gdb/gdb/arm-tdep.h b/contrib/gdb/gdb/arm-tdep.h new file mode 100644 index 0000000..a4c52dc --- /dev/null +++ b/contrib/gdb/gdb/arm-tdep.h @@ -0,0 +1,174 @@ +/* Common target dependent code for GDB on ARM systems. + Copyright 2002 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* Register numbers of various important registers. Note that some of + these values are "real" register numbers, and correspond to the + general registers of the machine, and some are "phony" register + numbers which are too large to be actual register numbers as far as + the user is concerned but do serve to get the desired values when + passed to read_register. */ + +#define ARM_A1_REGNUM 0 /* first integer-like argument */ +#define ARM_A4_REGNUM 3 /* last integer-like argument */ +#define ARM_AP_REGNUM 11 +#define ARM_SP_REGNUM 13 /* Contains address of top of stack */ +#define ARM_LR_REGNUM 14 /* address to return to from a function call */ +#define ARM_PC_REGNUM 15 /* Contains program counter */ +#define ARM_F0_REGNUM 16 /* first floating point register */ +#define ARM_F3_REGNUM 19 /* last floating point argument register */ +#define ARM_F7_REGNUM 23 /* last floating point register */ +#define ARM_FPS_REGNUM 24 /* floating point status register */ +#define ARM_PS_REGNUM 25 /* Contains processor status */ + +#define ARM_FP_REGNUM 11 /* Frame register in ARM code, if used. */ +#define THUMB_FP_REGNUM 7 /* Frame register in Thumb code, if used. */ + +#define ARM_NUM_ARG_REGS 4 +#define ARM_LAST_ARG_REGNUM ARM_A4_REGNUM +#define ARM_NUM_FP_ARG_REGS 4 +#define ARM_LAST_FP_ARG_REGNUM ARM_F3_REGNUM + +/* Size of integer registers. */ +#define INT_REGISTER_RAW_SIZE 4 +#define INT_REGISTER_VIRTUAL_SIZE 4 + +/* Say how long FP registers are. Used for documentation purposes and + code readability in this header. IEEE extended doubles are 80 + bits. DWORD aligned they use 96 bits. */ +#define FP_REGISTER_RAW_SIZE 12 + +/* GCC doesn't support long doubles (extended IEEE values). The FP + register virtual size is therefore 64 bits. Used for documentation + purposes and code readability in this header. */ +#define FP_REGISTER_VIRTUAL_SIZE 8 + +/* Status registers are the same size as general purpose registers. + Used for documentation purposes and code readability in this + header. */ +#define STATUS_REGISTER_SIZE 4 + +/* Number of machine registers. The only define actually required + is NUM_REGS. The other definitions are used for documentation + purposes and code readability. */ +/* For 26 bit ARM code, a fake copy of the PC is placed in register 25 (PS) + (and called PS for processor status) so the status bits can be cleared + from the PC (register 15). For 32 bit ARM code, a copy of CPSR is placed + in PS. */ +#define NUM_FREGS 8 /* Number of floating point registers. */ +#define NUM_SREGS 2 /* Number of status registers. */ +#define NUM_GREGS 16 /* Number of general purpose registers. */ + + +/* Instruction condition field values. */ +#define INST_EQ 0x0 +#define INST_NE 0x1 +#define INST_CS 0x2 +#define INST_CC 0x3 +#define INST_MI 0x4 +#define INST_PL 0x5 +#define INST_VS 0x6 +#define INST_VC 0x7 +#define INST_HI 0x8 +#define INST_LS 0x9 +#define INST_GE 0xa +#define INST_LT 0xb +#define INST_GT 0xc +#define INST_LE 0xd +#define INST_AL 0xe +#define INST_NV 0xf + +#define FLAG_N 0x80000000 +#define FLAG_Z 0x40000000 +#define FLAG_C 0x20000000 +#define FLAG_V 0x10000000 + +/* ABI variants that we know about. If you add to this enum, please + update the table of names in tm-arm.c. */ +enum arm_abi +{ + ARM_ABI_UNKNOWN = 0, + ARM_ABI_EABI_V1, + ARM_ABI_EABI_V2, + ARM_ABI_LINUX, + ARM_ABI_NETBSD_AOUT, + ARM_ABI_NETBSD_ELF, + ARM_ABI_APCS, + ARM_ABI_FREEBSD, + ARM_ABI_WINCE, + + ARM_ABI_INVALID /* Keep this last. */ +}; + +/* Type of floating-point code in use by inferior. There are really 3 models + that are traditionally supported (plus the endianness issue), but gcc can + only generate 2 of those. The third is APCS_FLOAT, where arguments to + functions are passed in floating-point registers. + + In addition to the traditional models, VFP adds two more. */ + +enum arm_float_model +{ + ARM_FLOAT_SOFT, + ARM_FLOAT_FPA, + ARM_FLOAT_SOFT_VFP, + ARM_FLOAT_VFP +}; + +/* Target-dependent structure in gdbarch. */ +struct gdbarch_tdep +{ + enum arm_abi arm_abi; /* OS/ABI of inferior. */ + const char *abi_name; /* Name of the above. */ + + enum arm_float_model fp_model; /* Floating point calling conventions. */ + + CORE_ADDR lowest_pc; /* Lowest address at which instructions + will appear. */ + + const char *arm_breakpoint; /* Breakpoint pattern for an ARM insn. */ + int arm_breakpoint_size; /* And its size. */ + const char *thumb_breakpoint; /* Breakpoint pattern for an ARM insn. */ + int thumb_breakpoint_size; /* And its size. */ + + int jb_pc; /* Offset to PC value in jump buffer. + If this is negative, longjmp support + will be disabled. */ + size_t jb_elt_size; /* And the size of each entry in the buf. */ +}; + +#ifndef LOWEST_PC +#define LOWEST_PC (gdbarch_tdep (current_gdbarch)->lowest_pc) +#endif + +/* Prototypes for internal interfaces needed by more than one MD file. */ +int arm_pc_is_thumb_dummy (CORE_ADDR); + +int arm_pc_is_thumb (CORE_ADDR); + +CORE_ADDR thumb_get_next_pc (CORE_ADDR); + +CORE_ADDR arm_get_next_pc (CORE_ADDR); + +/* How a OS variant tells the ARM generic code that it can handle an ABI + type. */ +void +arm_gdbarch_register_os_abi (enum arm_abi abi, + void (*init_abi)(struct gdbarch_info, + struct gdbarch *)); diff --git a/contrib/gdb/gdb/armnbsd-nat.c b/contrib/gdb/gdb/armnbsd-nat.c new file mode 100644 index 0000000..88396c0 --- /dev/null +++ b/contrib/gdb/gdb/armnbsd-nat.c @@ -0,0 +1,464 @@ +/* Native-dependent code for BSD Unix running on ARM's, for GDB. + Copyright 1988, 1989, 1991, 1992, 1994, 1996, 1999, 2002 + Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include "defs.h" + +#ifndef FETCH_INFERIOR_REGISTERS +#error Not FETCH_INFERIOR_REGISTERS +#endif /* !FETCH_INFERIOR_REGISTERS */ + +#include "arm-tdep.h" + +#include +#include +#include +#include +#include "inferior.h" +#include "regcache.h" +#include "gdbcore.h" + +extern int arm_apcs_32; + +static void +supply_gregset (struct reg *gregset) +{ + int regno; + CORE_ADDR r_pc; + + /* Integer registers. */ + for (regno = ARM_A1_REGNUM; regno < ARM_SP_REGNUM; regno++) + supply_register (regno, (char *) &gregset->r[regno]); + + supply_register (ARM_SP_REGNUM, (char *) &gregset->r_sp); + supply_register (ARM_LR_REGNUM, (char *) &gregset->r_lr); + /* This is ok: we're running native... */ + r_pc = ADDR_BITS_REMOVE (gregset->r_pc); + supply_register (ARM_PC_REGNUM, (char *) &r_pc); + + if (arm_apcs_32) + supply_register (ARM_PS_REGNUM, (char *) &gregset->r_cpsr); + else + supply_register (ARM_PS_REGNUM, (char *) &gregset->r_pc); +} + +static void +supply_fparegset (struct fpreg *fparegset) +{ + int regno; + + for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++) + supply_register + (regno, (char *) &fparegset->fpr[regno - ARM_F0_REGNUM]); + + supply_register (ARM_FPS_REGNUM, (char *) &fparegset->fpr_fpsr); +} + +static void +fetch_register (int regno) +{ + struct reg inferior_registers; + int ret; + + ret = ptrace (PT_GETREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_registers, 0); + + if (ret < 0) + { + warning ("unable to fetch general register"); + return; + } + + switch (regno) + { + case ARM_SP_REGNUM: + supply_register (ARM_SP_REGNUM, (char *) &inferior_registers.r_sp); + break; + + case ARM_LR_REGNUM: + supply_register (ARM_LR_REGNUM, (char *) &inferior_registers.r_lr); + break; + + case ARM_PC_REGNUM: + /* This is ok: we're running native... */ + inferior_registers.r_pc = ADDR_BITS_REMOVE (inferior_registers.r_pc); + supply_register (ARM_PC_REGNUM, (char *) &inferior_registers.r_pc); + break; + + case ARM_PS_REGNUM: + if (arm_apcs_32) + supply_register (ARM_PS_REGNUM, (char *) &inferior_registers.r_cpsr); + else + supply_register (ARM_PS_REGNUM, (char *) &inferior_registers.r_pc); + break; + + default: + supply_register (regno, (char *) &inferior_registers.r[regno]); + break; + } +} + +static void +fetch_regs (void) +{ + struct reg inferior_registers; + int ret; + int regno; + + ret = ptrace (PT_GETREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_registers, 0); + + if (ret < 0) + { + warning ("unable to fetch general registers"); + return; + } + + supply_gregset (&inferior_registers); +} + +static void +fetch_fp_register (int regno) +{ + struct fpreg inferior_fp_registers; + int ret; + + ret = ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0); + + if (ret < 0) + { + warning ("unable to fetch floating-point register"); + return; + } + + switch (regno) + { + case ARM_FPS_REGNUM: + supply_register (ARM_FPS_REGNUM, + (char *) &inferior_fp_registers.fpr_fpsr); + break; + + default: + supply_register + (regno, (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]); + break; + } +} + +static void +fetch_fp_regs (void) +{ + struct fpreg inferior_fp_registers; + int ret; + int regno; + + ret = ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0); + + if (ret < 0) + { + warning ("unable to fetch general registers"); + return; + } + + supply_fparegset (&inferior_fp_registers); +} + +void +fetch_inferior_registers (int regno) +{ + if (regno >= 0) + { + if (regno < ARM_F0_REGNUM || regno > ARM_FPS_REGNUM) + fetch_register (regno); + else + fetch_fp_register (regno); + } + else + { + fetch_regs (); + fetch_fp_regs (); + } +} + + +static void +store_register (int regno) +{ + struct reg inferior_registers; + int ret; + + ret = ptrace (PT_GETREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_registers, 0); + + if (ret < 0) + { + warning ("unable to fetch general registers"); + return; + } + + switch (regno) + { + case ARM_SP_REGNUM: + regcache_collect (ARM_SP_REGNUM, (char *) &inferior_registers.r_sp); + break; + + case ARM_LR_REGNUM: + regcache_collect (ARM_LR_REGNUM, (char *) &inferior_registers.r_lr); + break; + + case ARM_PC_REGNUM: + if (arm_apcs_32) + regcache_collect (ARM_PC_REGNUM, (char *) &inferior_registers.r_pc); + else + { + unsigned pc_val; + + regcache_collect (ARM_PC_REGNUM, (char *) &pc_val); + + pc_val = ADDR_BITS_REMOVE (pc_val); + inferior_registers.r_pc + ^= ADDR_BITS_REMOVE (inferior_registers.r_pc); + inferior_registers.r_pc |= pc_val; + } + break; + + case ARM_PS_REGNUM: + if (arm_apcs_32) + regcache_collect (ARM_PS_REGNUM, (char *) &inferior_registers.r_cpsr); + else + { + unsigned psr_val; + + regcache_collect (ARM_PS_REGNUM, (char *) &psr_val); + + psr_val ^= ADDR_BITS_REMOVE (psr_val); + inferior_registers.r_pc = ADDR_BITS_REMOVE (inferior_registers.r_pc); + inferior_registers.r_pc |= psr_val; + } + break; + + default: + regcache_collect (regno, (char *) &inferior_registers.r[regno]); + break; + } + + ret = ptrace (PT_SETREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_registers, 0); + + if (ret < 0) + warning ("unable to write register %d to inferior", regno); +} + +static void +store_regs (void) +{ + struct reg inferior_registers; + int ret; + int regno; + + + for (regno = ARM_A1_REGNUM; regno < ARM_SP_REGNUM; regno++) + regcache_collect (regno, (char *) &inferior_registers.r[regno]); + + regcache_collect (ARM_SP_REGNUM, (char *) &inferior_registers.r_sp); + regcache_collect (ARM_LR_REGNUM, (char *) &inferior_registers.r_lr); + + if (arm_apcs_32) + { + regcache_collect (ARM_PC_REGNUM, (char *) &inferior_registers.r_pc); + regcache_collect (ARM_PS_REGNUM, (char *) &inferior_registers.r_cpsr); + } + else + { + unsigned pc_val; + unsigned psr_val; + + regcache_collect (ARM_PC_REGNUM, (char *) &pc_val); + regcache_collect (ARM_PS_REGNUM, (char *) &psr_val); + + pc_val = ADDR_BITS_REMOVE (pc_val); + psr_val ^= ADDR_BITS_REMOVE (psr_val); + + inferior_registers.r_pc = pc_val | psr_val; + } + + ret = ptrace (PT_SETREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_registers, 0); + + if (ret < 0) + warning ("unable to store general registers"); +} + +static void +store_fp_register (int regno) +{ + struct fpreg inferior_fp_registers; + int ret; + + ret = ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0); + + if (ret < 0) + { + warning ("unable to fetch floating-point registers"); + return; + } + + switch (regno) + { + case ARM_FPS_REGNUM: + regcache_collect (ARM_FPS_REGNUM, + (char *) &inferior_fp_registers.fpr_fpsr); + break; + + default: + regcache_collect + (regno, (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]); + break; + } + + ret = ptrace (PT_SETFPREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0); + + if (ret < 0) + warning ("unable to write register %d to inferior", regno); +} + +static void +store_fp_regs (void) +{ + struct fpreg inferior_fp_registers; + int ret; + int regno; + + + for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++) + regcache_collect + (regno, (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]); + + regcache_collect (ARM_FPS_REGNUM, (char *) &inferior_fp_registers.fpr_fpsr); + + ret = ptrace (PT_SETFPREGS, PIDGET (inferior_ptid), + (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0); + + if (ret < 0) + warning ("unable to store floating-point registers"); +} + +void +store_inferior_registers (int regno) +{ + if (regno >= 0) + { + if (regno < ARM_F0_REGNUM || regno > ARM_FPS_REGNUM) + store_register (regno); + else + store_fp_register (regno); + } + else + { + store_regs (); + store_fp_regs (); + } +} + +struct md_core +{ + struct reg intreg; + struct fpreg freg; +}; + +static void +fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, + int which, CORE_ADDR ignore) +{ + struct md_core *core_reg = (struct md_core *) core_reg_sect; + int regno; + CORE_ADDR r_pc; + + supply_gregset (&core_reg->intreg); + supply_fparegset (&core_reg->freg); +} + +static void +fetch_elfcore_registers (char *core_reg_sect, unsigned core_reg_size, + int which, CORE_ADDR ignore) +{ + struct reg gregset; + struct fpreg fparegset; + + switch (which) + { + case 0: /* Integer registers. */ + if (core_reg_size != sizeof (struct reg)) + warning ("wrong size of register set in core file"); + else + { + /* The memcpy may be unnecessary, but we can't really be sure + of the alignment of the data in the core file. */ + memcpy (&gregset, core_reg_sect, sizeof (gregset)); + supply_gregset (&gregset); + } + break; + + case 2: + if (core_reg_size != sizeof (struct fpreg)) + warning ("wrong size of FPA register set in core file"); + else + { + /* The memcpy may be unnecessary, but we can't really be sure + of the alignment of the data in the core file. */ + memcpy (&fparegset, core_reg_sect, sizeof (fparegset)); + supply_fparegset (&fparegset); + } + break; + + default: + /* Don't know what kind of register request this is; just ignore it. */ + break; + } +} + +static struct core_fns arm_netbsd_core_fns = +{ + bfd_target_unknown_flavour, /* core_flovour. */ + default_check_format, /* check_format. */ + default_core_sniffer, /* core_sniffer. */ + fetch_core_registers, /* core_read_registers. */ + NULL +}; + +static struct core_fns arm_netbsd_elfcore_fns = +{ + bfd_target_elf_flavour, /* core_flovour. */ + default_check_format, /* check_format. */ + default_core_sniffer, /* core_sniffer. */ + fetch_elfcore_registers, /* core_read_registers. */ + NULL +}; + +void +_initialize_arm_netbsd_nat (void) +{ + add_core_fns (&arm_netbsd_core_fns); + add_core_fns (&arm_netbsd_elfcore_fns); +} diff --git a/contrib/gdb/gdb/armnbsd-tdep.c b/contrib/gdb/gdb/armnbsd-tdep.c new file mode 100644 index 0000000..7f6e639 --- /dev/null +++ b/contrib/gdb/gdb/armnbsd-tdep.c @@ -0,0 +1,85 @@ +/* Target-specific functions for ARM running under NetBSD. + Copyright 2002 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include "defs.h" + +#include "arm-tdep.h" + +/* Description of the longjmp buffer. */ +#define JB_PC 24 +#define JB_ELEMENT_SIZE INT_REGISTER_RAW_SIZE + +/* For compatibility with previous implemenations of GDB on arm/NetBSD, + override the default little-endian breakpoint. */ +static const char arm_nbsd_arm_le_breakpoint[] = {0x11, 0x00, 0x00, 0xe6}; + +static int +arm_netbsd_aout_in_solib_call_trampoline (CORE_ADDR pc, char *name) +{ + if (strcmp (name, "_PROCEDURE_LINKAGE_TABLE_") == 0) + return 1; + + return 0; +} + +static void +arm_netbsd_init_abi_common (struct gdbarch_info info, + struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + tdep->lowest_pc = 0x8000; + tdep->arm_breakpoint = arm_nbsd_arm_le_breakpoint; + tdep->arm_breakpoint_size = sizeof (arm_nbsd_arm_le_breakpoint); + + tdep->jb_pc = JB_PC; + tdep->jb_elt_size = JB_ELEMENT_SIZE; +} + +static void +arm_netbsd_aout_init_abi (struct gdbarch_info info, + struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + arm_netbsd_init_abi_common (info, gdbarch); + + set_gdbarch_in_solib_call_trampoline + (gdbarch, arm_netbsd_aout_in_solib_call_trampoline); + tdep->fp_model = ARM_FLOAT_SOFT; +} + +static void +arm_netbsd_elf_init_abi (struct gdbarch_info info, + struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + arm_netbsd_init_abi_common (info, gdbarch); + + tdep->fp_model = ARM_FLOAT_SOFT_VFP; +} + +void +_initialize_arm_netbsd_tdep (void) +{ + arm_gdbarch_register_os_abi (ARM_ABI_NETBSD_AOUT, arm_netbsd_aout_init_abi); + arm_gdbarch_register_os_abi (ARM_ABI_NETBSD_ELF, arm_netbsd_elf_init_abi); +} diff --git a/contrib/gdb/gdb/ax-gdb.c b/contrib/gdb/gdb/ax-gdb.c index 55cc856..aa9f92a 100644 --- a/contrib/gdb/gdb/ax-gdb.c +++ b/contrib/gdb/gdb/ax-gdb.c @@ -1,23 +1,22 @@ /* GDB-specific functions for operating on agent expressions - Copyright 1998 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* $Id: ax-gdb.c,v 1.8 1998/12/03 05:34:24 cagney Exp $ */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "defs.h" #include "symtab.h" @@ -32,10 +31,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "ax.h" #include "ax-gdb.h" -/* Probably the best way to read this file is to start with the types - and enums in ax-gdb.h, and then look at gen_expr, towards the - bottom; that's the main function that looks at the GDB expressions - and calls everything else to generate code. +/* To make sense of this file, you should read doc/agentexpr.texi. + Then look at the types and enums in ax-gdb.h. For the code itself, + look at gen_expr, towards the bottom; that's the main function that + looks at the GDB expressions and calls everything else to generate + code. I'm beginning to wonder whether it wouldn't be nicer to internally generate trees, with types, and then spit out the bytecode in @@ -45,114 +45,94 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ pay for the simplicity of this code with less-than-optimal bytecode strings. - Remember, "GBD" stands for "Great Britain, Dammit!" So be careful. */ + Remember, "GBD" stands for "Great Britain, Dammit!" So be careful. */ + - /* Prototypes for local functions. */ /* There's a standard order to the arguments of these functions: union exp_element ** --- pointer into expression struct agent_expr * --- agent expression buffer to generate code into struct axs_value * --- describes value left on top of stack */ - -static struct value *const_var_ref PARAMS ((struct symbol *var)); -static struct value *const_expr PARAMS ((union exp_element **pc)); -static struct value *maybe_const_expr PARAMS ((union exp_element **pc)); - -static void gen_traced_pop PARAMS ((struct agent_expr *, struct axs_value *)); - -static void gen_sign_extend PARAMS ((struct agent_expr *, struct type *)); -static void gen_extend PARAMS ((struct agent_expr *, struct type *)); -static void gen_fetch PARAMS ((struct agent_expr *, struct type *)); -static void gen_left_shift PARAMS ((struct agent_expr *, int)); - - -static void gen_frame_args_address PARAMS ((struct agent_expr *)); -static void gen_frame_locals_address PARAMS ((struct agent_expr *)); -static void gen_offset PARAMS ((struct agent_expr *ax, int offset)); -static void gen_sym_offset PARAMS ((struct agent_expr *, struct symbol *)); -static void gen_var_ref PARAMS ((struct agent_expr *ax, - struct axs_value *value, - struct symbol *var)); - - -static void gen_int_literal PARAMS ((struct agent_expr *ax, - struct axs_value *value, - LONGEST k, struct type *type)); - - -static void require_rvalue PARAMS ((struct agent_expr *ax, - struct axs_value *value)); -static void gen_usual_unary PARAMS ((struct agent_expr *ax, - struct axs_value *value)); -static int type_wider_than PARAMS ((struct type *type1, - struct type *type2)); -static struct type *max_type PARAMS ((struct type *type1, - struct type *type2)); -static void gen_conversion PARAMS ((struct agent_expr *ax, - struct type *from, - struct type *to)); -static int is_nontrivial_conversion PARAMS ((struct type *from, - struct type *to)); -static void gen_usual_arithmetic PARAMS ((struct agent_expr *ax, - struct axs_value *value1, - struct axs_value *value2)); -static void gen_integral_promotions PARAMS ((struct agent_expr *ax, - struct axs_value *value)); -static void gen_cast PARAMS ((struct agent_expr *ax, - struct axs_value *value, - struct type *type)); -static void gen_scale PARAMS ((struct agent_expr *ax, - enum agent_op op, - struct type *type)); -static void gen_add PARAMS ((struct agent_expr *ax, - struct axs_value *value, - struct axs_value *value1, - struct axs_value *value2, - char *name)); -static void gen_sub PARAMS ((struct agent_expr *ax, - struct axs_value *value, - struct axs_value *value1, - struct axs_value *value2)); -static void gen_binop PARAMS ((struct agent_expr *ax, - struct axs_value *value, - struct axs_value *value1, - struct axs_value *value2, - enum agent_op op, - enum agent_op op_unsigned, - int may_carry, - char *name)); -static void gen_logical_not PARAMS ((struct agent_expr *ax, - struct axs_value *value)); -static void gen_complement PARAMS ((struct agent_expr *ax, - struct axs_value *value)); -static void gen_deref PARAMS ((struct agent_expr *, struct axs_value *)); -static void gen_address_of PARAMS ((struct agent_expr *, struct axs_value *)); -static int find_field PARAMS ((struct type *type, char *name)); -static void gen_bitfield_ref PARAMS ((struct agent_expr *ax, - struct axs_value *value, - struct type *type, - int start, int end)); -static void gen_struct_ref PARAMS ((struct agent_expr *ax, - struct axs_value *value, - char *field, - char *operator_name, - char *operand_name)); -static void gen_repeat PARAMS ((union exp_element **pc, - struct agent_expr *ax, - struct axs_value *value)); -static void gen_sizeof PARAMS ((union exp_element **pc, - struct agent_expr *ax, - struct axs_value *value)); -static void gen_expr PARAMS ((union exp_element **pc, - struct agent_expr *ax, - struct axs_value *value)); - -static void print_axs_value PARAMS ((GDB_FILE *f, struct axs_value *value)); -static void agent_command PARAMS ((char *exp, int from_tty)); +static struct value *const_var_ref (struct symbol *var); +static struct value *const_expr (union exp_element **pc); +static struct value *maybe_const_expr (union exp_element **pc); + +static void gen_traced_pop (struct agent_expr *, struct axs_value *); + +static void gen_sign_extend (struct agent_expr *, struct type *); +static void gen_extend (struct agent_expr *, struct type *); +static void gen_fetch (struct agent_expr *, struct type *); +static void gen_left_shift (struct agent_expr *, int); + + +static void gen_frame_args_address (struct agent_expr *); +static void gen_frame_locals_address (struct agent_expr *); +static void gen_offset (struct agent_expr *ax, int offset); +static void gen_sym_offset (struct agent_expr *, struct symbol *); +static void gen_var_ref (struct agent_expr *ax, + struct axs_value *value, struct symbol *var); + + +static void gen_int_literal (struct agent_expr *ax, + struct axs_value *value, + LONGEST k, struct type *type); + + +static void require_rvalue (struct agent_expr *ax, struct axs_value *value); +static void gen_usual_unary (struct agent_expr *ax, struct axs_value *value); +static int type_wider_than (struct type *type1, struct type *type2); +static struct type *max_type (struct type *type1, struct type *type2); +static void gen_conversion (struct agent_expr *ax, + struct type *from, struct type *to); +static int is_nontrivial_conversion (struct type *from, struct type *to); +static void gen_usual_arithmetic (struct agent_expr *ax, + struct axs_value *value1, + struct axs_value *value2); +static void gen_integral_promotions (struct agent_expr *ax, + struct axs_value *value); +static void gen_cast (struct agent_expr *ax, + struct axs_value *value, struct type *type); +static void gen_scale (struct agent_expr *ax, + enum agent_op op, struct type *type); +static void gen_add (struct agent_expr *ax, + struct axs_value *value, + struct axs_value *value1, + struct axs_value *value2, char *name); +static void gen_sub (struct agent_expr *ax, + struct axs_value *value, + struct axs_value *value1, struct axs_value *value2); +static void gen_binop (struct agent_expr *ax, + struct axs_value *value, + struct axs_value *value1, + struct axs_value *value2, + enum agent_op op, + enum agent_op op_unsigned, int may_carry, char *name); +static void gen_logical_not (struct agent_expr *ax, struct axs_value *value); +static void gen_complement (struct agent_expr *ax, struct axs_value *value); +static void gen_deref (struct agent_expr *, struct axs_value *); +static void gen_address_of (struct agent_expr *, struct axs_value *); +static int find_field (struct type *type, char *name); +static void gen_bitfield_ref (struct agent_expr *ax, + struct axs_value *value, + struct type *type, int start, int end); +static void gen_struct_ref (struct agent_expr *ax, + struct axs_value *value, + char *field, + char *operator_name, char *operand_name); +static void gen_repeat (union exp_element **pc, + struct agent_expr *ax, struct axs_value *value); +static void gen_sizeof (union exp_element **pc, + struct agent_expr *ax, struct axs_value *value); +static void gen_expr (union exp_element **pc, + struct agent_expr *ax, struct axs_value *value); + +static void print_axs_value (struct ui_file *f, struct axs_value * value); +static void agent_command (char *exp, int from_tty); + /* Detecting constant expressions. */ /* If the variable reference at *PC is a constant, return its value. @@ -174,8 +154,7 @@ static void agent_command PARAMS ((char *exp, int from_tty)); proletariat? */ static struct value * -const_var_ref (var) - struct symbol *var; +const_var_ref (struct symbol *var) { struct type *type = SYMBOL_TYPE (var); @@ -185,7 +164,7 @@ const_var_ref (var) return value_from_longest (type, (LONGEST) SYMBOL_VALUE (var)); case LOC_LABEL: - return value_from_longest (type, (LONGEST) SYMBOL_VALUE_ADDRESS (var)); + return value_from_pointer (type, (CORE_ADDR) SYMBOL_VALUE_ADDRESS (var)); default: return 0; @@ -198,8 +177,7 @@ const_var_ref (var) advanced to the end of it. If we return zero, *PC could be anywhere. */ static struct value * -const_expr (pc) - union exp_element **pc; +const_expr (union exp_element **pc) { enum exp_opcode op = (*pc)->opcode; struct value *v1; @@ -221,7 +199,7 @@ const_expr (pc) return v; } - /* We could add more operators in here. */ + /* We could add more operators in here. */ case UNOP_NEG: (*pc)++; @@ -240,8 +218,7 @@ const_expr (pc) /* Like const_expr, but guarantee also that *PC is undisturbed if the expression is not constant. */ static struct value * -maybe_const_expr (pc) - union exp_element **pc; +maybe_const_expr (union exp_element **pc) { union exp_element *tentative_pc = *pc; struct value *v = const_expr (&tentative_pc); @@ -249,11 +226,11 @@ maybe_const_expr (pc) /* If we got a value, then update the real PC. */ if (v) *pc = tentative_pc; - + return v; } - + /* Generating bytecode from GDB expressions: general assumptions */ /* Here are a few general assumptions made throughout the code; if you @@ -261,43 +238,43 @@ maybe_const_expr (pc) better scan things pretty thoroughly. - We assume that all values occupy one stack element. For example, - sometimes we'll swap to get at the left argument to a binary - operator. If we decide that void values should occupy no stack - elements, or that synthetic arrays (whose size is determined at - run time, created by the `@' operator) should occupy two stack - elements (address and length), then this will cause trouble. + sometimes we'll swap to get at the left argument to a binary + operator. If we decide that void values should occupy no stack + elements, or that synthetic arrays (whose size is determined at + run time, created by the `@' operator) should occupy two stack + elements (address and length), then this will cause trouble. - We assume the stack elements are infinitely wide, and that we - don't have to worry what happens if the user requests an - operation that is wider than the actual interpreter's stack. - That is, it's up to the interpreter to handle directly all the - integer widths the user has access to. (Woe betide the language - with bignums!) + don't have to worry what happens if the user requests an + operation that is wider than the actual interpreter's stack. + That is, it's up to the interpreter to handle directly all the + integer widths the user has access to. (Woe betide the language + with bignums!) - We don't support side effects. Thus, we don't have to worry about - GCC's generalized lvalues, function calls, etc. + GCC's generalized lvalues, function calls, etc. - We don't support floating point. Many places where we switch on - some type don't bother to include cases for floating point; there - may be even more subtle ways this assumption exists. For - example, the arguments to % must be integers. + some type don't bother to include cases for floating point; there + may be even more subtle ways this assumption exists. For + example, the arguments to % must be integers. - We assume all subexpressions have a static, unchanging type. If - we tried to support convenience variables, this would be a - problem. + we tried to support convenience variables, this would be a + problem. - All values on the stack should always be fully zero- or - sign-extended. - - (I wasn't sure whether to choose this or its opposite --- that - only addresses are assumed extended --- but it turns out that - neither convention completely eliminates spurious extend - operations (if everything is always extended, then you have to - extend after add, because it could overflow; if nothing is - extended, then you end up producing extends whenever you change - sizes), and this is simpler.) */ - + sign-extended. + + (I wasn't sure whether to choose this or its opposite --- that + only addresses are assumed extended --- but it turns out that + neither convention completely eliminates spurious extend + operations (if everything is always extended, then you have to + extend after add, because it could overflow; if nothing is + extended, then you end up producing extends whenever you change + sizes), and this is simpler.) */ + /* Generating bytecode from GDB expressions: the `trace' kludge */ /* The compiler in this file is a general-purpose mechanism for @@ -327,16 +304,14 @@ static int trace_kludge; the value. Useful on the left side of a comma, and at the end of an expression being used for tracing. */ static void -gen_traced_pop (ax, value) - struct agent_expr *ax; - struct axs_value *value; +gen_traced_pop (struct agent_expr *ax, struct axs_value *value) { if (trace_kludge) switch (value->kind) { case axs_rvalue: /* We don't trace rvalues, just the lvalues necessary to - produce them. So just dispose of this value. */ + produce them. So just dispose of this value. */ ax_simple (ax, aop_pop); break; @@ -352,7 +327,7 @@ gen_traced_pop (ax, value) ax_const_l (ax, length); ax_simple (ax, aop_trace); } - break; + break; case axs_lvalue_register: /* We need to mention the register somewhere in the bytecode, @@ -366,20 +341,18 @@ gen_traced_pop (ax, value) /* If we're not tracing, just pop the value. */ ax_simple (ax, aop_pop); } + - /* Generating bytecode from GDB expressions: helper functions */ /* Assume that the lower bits of the top of the stack is a value of type TYPE, and the upper bits are zero. Sign-extend if necessary. */ static void -gen_sign_extend (ax, type) - struct agent_expr *ax; - struct type *type; +gen_sign_extend (struct agent_expr *ax, struct type *type) { /* Do we need to sign-extend this? */ - if (! TYPE_UNSIGNED (type)) + if (!TYPE_UNSIGNED (type)) ax_ext (ax, type->length * TARGET_CHAR_BIT); } @@ -388,9 +361,7 @@ gen_sign_extend (ax, type) TYPE, and the upper bits are garbage. Sign-extend or truncate as needed. */ static void -gen_extend (ax, type) - struct agent_expr *ax; - struct type *type; +gen_extend (struct agent_expr *ax, struct type *type) { int bits = type->length * TARGET_CHAR_BIT; /* I just had to. */ @@ -402,9 +373,7 @@ gen_extend (ax, type) to TYPE"; generate code to fetch its value. Note that TYPE is the target type, not the pointer type. */ static void -gen_fetch (ax, type) - struct agent_expr *ax; - struct type *type; +gen_fetch (struct agent_expr *ax, struct type *type) { if (trace_kludge) { @@ -422,17 +391,26 @@ gen_fetch (ax, type) many bytes long is it? */ switch (type->length) { - case 8 / TARGET_CHAR_BIT: ax_simple (ax, aop_ref8 ); break; - case 16 / TARGET_CHAR_BIT: ax_simple (ax, aop_ref16); break; - case 32 / TARGET_CHAR_BIT: ax_simple (ax, aop_ref32); break; - case 64 / TARGET_CHAR_BIT: ax_simple (ax, aop_ref64); break; + case 8 / TARGET_CHAR_BIT: + ax_simple (ax, aop_ref8); + break; + case 16 / TARGET_CHAR_BIT: + ax_simple (ax, aop_ref16); + break; + case 32 / TARGET_CHAR_BIT: + ax_simple (ax, aop_ref32); + break; + case 64 / TARGET_CHAR_BIT: + ax_simple (ax, aop_ref64); + break; /* Either our caller shouldn't have asked us to dereference that pointer (other code's fault), or we're not implementing something we should be (this code's fault). In any case, it's a bug the user shouldn't see. */ default: - error ("GDB bug: ax-gdb.c (gen_fetch): strange size"); + internal_error (__FILE__, __LINE__, + "gen_fetch: strange size"); } gen_sign_extend (ax, type); @@ -440,10 +418,11 @@ gen_fetch (ax, type) default: /* Either our caller shouldn't have asked us to dereference that - pointer (other code's fault), or we're not implementing - something we should be (this code's fault). In any case, - it's a bug the user shouldn't see. */ - error ("GDB bug: ax-gdb.c (gen_fetch): bad type code"); + pointer (other code's fault), or we're not implementing + something we should be (this code's fault). In any case, + it's a bug the user shouldn't see. */ + internal_error (__FILE__, __LINE__, + "gen_fetch: bad type code"); } } @@ -452,9 +431,7 @@ gen_fetch (ax, type) right shift it by -DISTANCE bits if DISTANCE < 0. This generates unsigned (logical) right shifts. */ static void -gen_left_shift (ax, distance) - struct agent_expr *ax; - int distance; +gen_left_shift (struct agent_expr *ax, int distance) { if (distance > 0) { @@ -467,21 +444,21 @@ gen_left_shift (ax, distance) ax_simple (ax, aop_rsh_unsigned); } } + - /* Generating bytecode from GDB expressions: symbol references */ /* Generate code to push the base address of the argument portion of the top stack frame. */ static void -gen_frame_args_address (ax) - struct agent_expr *ax; +gen_frame_args_address (struct agent_expr *ax) { - long frame_reg, frame_offset; + int frame_reg; + LONGEST frame_offset; TARGET_VIRTUAL_FRAME_POINTER (ax->scope, &frame_reg, &frame_offset); - ax_reg (ax, frame_reg); + ax_reg (ax, frame_reg); gen_offset (ax, frame_offset); } @@ -489,13 +466,13 @@ gen_frame_args_address (ax) /* Generate code to push the base address of the locals portion of the top stack frame. */ static void -gen_frame_locals_address (ax) - struct agent_expr *ax; +gen_frame_locals_address (struct agent_expr *ax) { - long frame_reg, frame_offset; + int frame_reg; + LONGEST frame_offset; TARGET_VIRTUAL_FRAME_POINTER (ax->scope, &frame_reg, &frame_offset); - ax_reg (ax, frame_reg); + ax_reg (ax, frame_reg); gen_offset (ax, frame_offset); } @@ -506,9 +483,7 @@ gen_frame_locals_address (ax) programming in ML, it would be clearer why these are the same thing. */ static void -gen_offset (ax, offset) - struct agent_expr *ax; - int offset; +gen_offset (struct agent_expr *ax, int offset) { /* It would suffice to simply push the offset and add it, but this makes it easier to read positive and negative offsets in the @@ -530,9 +505,7 @@ gen_offset (ax, offset) address (stack frame, base register, etc.) Generate code to add VAR's value to the top of the stack. */ static void -gen_sym_offset (ax, var) - struct agent_expr *ax; - struct symbol *var; +gen_sym_offset (struct agent_expr *ax, struct symbol *var) { gen_offset (ax, SYMBOL_VALUE (var)); } @@ -542,10 +515,7 @@ gen_sym_offset (ax, var) symbol VAR. Set VALUE to describe the result. */ static void -gen_var_ref (ax, value, var) - struct agent_expr *ax; - struct axs_value *value; - struct symbol *var; +gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var) { /* Dereference any typedefs. */ value->type = check_typedef (SYMBOL_TYPE (var)); @@ -564,7 +534,8 @@ gen_var_ref (ax, value, var) break; case LOC_CONST_BYTES: - error ("GDB bug: ax-gdb.c (gen_var_ref): LOC_CONST_BYTES symbols are not supported"); + internal_error (__FILE__, __LINE__, + "gen_var_ref: LOC_CONST_BYTES symbols are not supported"); /* Variable at a fixed location in memory. Easy. */ case LOC_STATIC: @@ -622,9 +593,9 @@ gen_var_ref (ax, value, var) break; /* A lot like LOC_REF_ARG, but the pointer lives directly in a - register, not on the stack. Simpler than LOC_REGISTER and - LOC_REGPARM, because it's just like any other case where the - thing has a real address. */ + register, not on the stack. Simpler than LOC_REGISTER and + LOC_REGPARM, because it's just like any other case where the + thing has a real address. */ case LOC_REGPARM_ADDR: ax_reg (ax, SYMBOL_VALUE (var)); value->kind = axs_lvalue_memory; @@ -632,16 +603,16 @@ gen_var_ref (ax, value, var) case LOC_UNRESOLVED: { - struct minimal_symbol *msym - = lookup_minimal_symbol (SYMBOL_NAME (var), NULL, NULL); - if (! msym) + struct minimal_symbol *msym + = lookup_minimal_symbol (SYMBOL_NAME (var), NULL, NULL); + if (!msym) error ("Couldn't resolve symbol `%s'.", SYMBOL_SOURCE_NAME (var)); - + /* Push the address of the variable. */ ax_const_l (ax, SYMBOL_VALUE_ADDRESS (msym)); value->kind = axs_lvalue_memory; } - break; + break; case LOC_OPTIMIZED_OUT: error ("The variable `%s' has been optimized out.", @@ -654,34 +625,29 @@ gen_var_ref (ax, value, var) break; } } + - /* Generating bytecode from GDB expressions: literals */ static void -gen_int_literal (ax, value, k, type) - struct agent_expr *ax; - struct axs_value *value; - LONGEST k; - struct type *type; +gen_int_literal (struct agent_expr *ax, struct axs_value *value, LONGEST k, + struct type *type) { ax_const_l (ax, k); value->kind = axs_rvalue; value->type = type; } + - /* Generating bytecode from GDB expressions: unary conversions, casts */ /* Take what's on the top of the stack (as described by VALUE), and try to make an rvalue out of it. Signal an error if we can't do that. */ static void -require_rvalue (ax, value) - struct agent_expr *ax; - struct axs_value *value; +require_rvalue (struct agent_expr *ax, struct axs_value *value) { switch (value->kind) { @@ -698,8 +664,8 @@ require_rvalue (ax, value) /* There's nothing on the stack, but value->u.reg is the register number containing the value. - When we add floating-point support, this is going to have to - change. What about SPARC register pairs, for example? */ + When we add floating-point support, this is going to have to + change. What about SPARC register pairs, for example? */ ax_reg (ax, value->u.reg); gen_extend (ax, value->type); break; @@ -726,9 +692,7 @@ require_rvalue (ax, value) lvalue through unchanged, and let `+' raise an error. */ static void -gen_usual_unary (ax, value) - struct agent_expr *ax; - struct axs_value *value; +gen_usual_unary (struct agent_expr *ax, struct axs_value *value) { /* We don't have to generate any code for the usual integral conversions, since values are always represented as full-width on @@ -744,7 +708,7 @@ gen_usual_unary (ax, value) break; /* Arrays get converted to a pointer to their first element, and - are no longer an lvalue. */ + are no longer an lvalue. */ case TYPE_CODE_ARRAY: { struct type *elements = TYPE_TARGET_TYPE (value->type); @@ -753,10 +717,10 @@ gen_usual_unary (ax, value) /* We don't need to generate any code; the address of the array is also the address of its first element. */ } - break; + break; - /* Don't try to convert structures and unions to rvalues. Let the - consumer signal an error. */ + /* Don't try to convert structures and unions to rvalues. Let the + consumer signal an error. */ case TYPE_CODE_STRUCT: case TYPE_CODE_UNION: return; @@ -775,20 +739,18 @@ gen_usual_unary (ax, value) /* Return non-zero iff the type TYPE1 is considered "wider" than the type TYPE2, according to the rules described in gen_usual_arithmetic. */ static int -type_wider_than (type1, type2) - struct type *type1, *type2; +type_wider_than (struct type *type1, struct type *type2) { return (TYPE_LENGTH (type1) > TYPE_LENGTH (type2) || (TYPE_LENGTH (type1) == TYPE_LENGTH (type2) && TYPE_UNSIGNED (type1) - && ! TYPE_UNSIGNED (type2))); + && !TYPE_UNSIGNED (type2))); } /* Return the "wider" of the two types TYPE1 and TYPE2. */ static struct type * -max_type (type1, type2) - struct type *type1, *type2; +max_type (struct type *type1, struct type *type2) { return type_wider_than (type1, type2) ? type1 : type2; } @@ -796,9 +758,7 @@ max_type (type1, type2) /* Generate code to convert a scalar value of type FROM to type TO. */ static void -gen_conversion (ax, from, to) - struct agent_expr *ax; - struct type *from, *to; +gen_conversion (struct agent_expr *ax, struct type *from, struct type *to) { /* Perhaps there is a more graceful way to state these rules. */ @@ -828,8 +788,7 @@ gen_conversion (ax, from, to) /* Return non-zero iff the type FROM will require any bytecodes to be emitted to be converted to the type TO. */ static int -is_nontrivial_conversion (from, to) - struct type *from, *to; +is_nontrivial_conversion (struct type *from, struct type *to) { struct agent_expr *ax = new_agent_expr (0); int nontrivial; @@ -853,19 +812,18 @@ is_nontrivial_conversion (from, to) and promotes each argument to that type. *VALUE1 and *VALUE2 describe the values as they are passed in, and as they are left. */ static void -gen_usual_arithmetic (ax, value1, value2) - struct agent_expr *ax; - struct axs_value *value1, *value2; +gen_usual_arithmetic (struct agent_expr *ax, struct axs_value *value1, + struct axs_value *value2) { /* Do the usual binary conversions. */ if (TYPE_CODE (value1->type) == TYPE_CODE_INT && TYPE_CODE (value2->type) == TYPE_CODE_INT) { /* The ANSI integral promotions seem to work this way: Order the - integer types by size, and then by signedness: an n-bit - unsigned type is considered "wider" than an n-bit signed - type. Promote to the "wider" of the two types, and always - promote at least to int. */ + integer types by size, and then by signedness: an n-bit + unsigned type is considered "wider" than an n-bit signed + type. Promote to the "wider" of the two types, and always + promote at least to int. */ struct type *target = max_type (builtin_type_int, max_type (value1->type, value2->type)); @@ -891,16 +849,14 @@ gen_usual_arithmetic (ax, value1, value2) the value on the top of the stack, as described by VALUE. Assume the value has integral type. */ static void -gen_integral_promotions (ax, value) - struct agent_expr *ax; - struct axs_value *value; +gen_integral_promotions (struct agent_expr *ax, struct axs_value *value) { - if (! type_wider_than (value->type, builtin_type_int)) + if (!type_wider_than (value->type, builtin_type_int)) { gen_conversion (ax, value->type, builtin_type_int); value->type = builtin_type_int; } - else if (! type_wider_than (value->type, builtin_type_unsigned_int)) + else if (!type_wider_than (value->type, builtin_type_unsigned_int)) { gen_conversion (ax, value->type, builtin_type_unsigned_int); value->type = builtin_type_unsigned_int; @@ -910,10 +866,7 @@ gen_integral_promotions (ax, value) /* Generate code for a cast to TYPE. */ static void -gen_cast (ax, value, type) - struct agent_expr *ax; - struct axs_value *value; - struct type *type; +gen_cast (struct agent_expr *ax, struct axs_value *value, struct type *type) { /* GCC does allow casts to yield lvalues, so this should be fixed before merging these changes into the trunk. */ @@ -942,16 +895,16 @@ gen_cast (ax, value, type) cast like this? */ value->type = type; break; - + case TYPE_CODE_INT: gen_conversion (ax, value->type, type); break; case TYPE_CODE_VOID: /* We could pop the value, and rely on everyone else to check - the type and notice that this value doesn't occupy a stack - slot. But for now, leave the value on the stack, and - preserve the "value == stack element" assumption. */ + the type and notice that this value doesn't occupy a stack + slot. But for now, leave the value on the stack, and + preserve the "value == stack element" assumption. */ break; default: @@ -960,18 +913,15 @@ gen_cast (ax, value, type) value->type = type; } + - /* Generating bytecode from GDB expressions: arithmetic */ /* Scale the integer on the top of the stack by the size of the target of the pointer type TYPE. */ static void -gen_scale (ax, op, type) - struct agent_expr *ax; - enum agent_op op; - struct type *type; +gen_scale (struct agent_expr *ax, enum agent_op op, struct type *type) { struct type *element = TYPE_TARGET_TYPE (type); @@ -989,10 +939,8 @@ gen_scale (ax, op, type) they've undergone the usual binary conversions. Used by both BINOP_ADD and BINOP_SUBSCRIPT. NAME is used in error messages. */ static void -gen_add (ax, value, value1, value2, name) - struct agent_expr *ax; - struct axs_value *value, *value1, *value2; - char *name; +gen_add (struct agent_expr *ax, struct axs_value *value, + struct axs_value *value1, struct axs_value *value2, char *name) { /* Is it INT+PTR? */ if (value1->type->code == TYPE_CODE_INT @@ -1002,7 +950,7 @@ gen_add (ax, value, value1, value2, name) ax_simple (ax, aop_swap); gen_scale (ax, aop_mul, value2->type); ax_simple (ax, aop_add); - gen_extend (ax, value2->type); /* Catch overflow. */ + gen_extend (ax, value2->type); /* Catch overflow. */ value->type = value2->type; } @@ -1012,7 +960,7 @@ gen_add (ax, value, value1, value2, name) { gen_scale (ax, aop_mul, value1->type); ax_simple (ax, aop_add); - gen_extend (ax, value1->type); /* Catch overflow. */ + gen_extend (ax, value1->type); /* Catch overflow. */ value->type = value1->type; } @@ -1022,7 +970,7 @@ gen_add (ax, value, value1, value2, name) && value2->type->code == TYPE_CODE_INT) { ax_simple (ax, aop_add); - gen_extend (ax, value1->type); /* Catch overflow. */ + gen_extend (ax, value1->type); /* Catch overflow. */ value->type = value1->type; } @@ -1038,12 +986,9 @@ gen_add (ax, value, value1, value2, name) value; we assume VALUE1 and VALUE2 describe the two operands, and that they've undergone the usual binary conversions. */ static void -gen_sub (ax, value, value1, value2) - struct agent_expr *ax; - struct axs_value *value, *value1, *value2; +gen_sub (struct agent_expr *ax, struct axs_value *value, + struct axs_value *value1, struct axs_value *value2) { - struct type *element; - if (value1->type->code == TYPE_CODE_PTR) { /* Is it PTR - INT? */ @@ -1051,20 +996,20 @@ gen_sub (ax, value, value1, value2) { gen_scale (ax, aop_mul, value1->type); ax_simple (ax, aop_sub); - gen_extend (ax, value1->type); /* Catch overflow. */ + gen_extend (ax, value1->type); /* Catch overflow. */ value->type = value1->type; } /* Is it PTR - PTR? Strictly speaking, the types ought to - match, but this is what the normal GDB expression evaluator - tests for. */ + match, but this is what the normal GDB expression evaluator + tests for. */ else if (value2->type->code == TYPE_CODE_PTR && (TYPE_LENGTH (TYPE_TARGET_TYPE (value1->type)) == TYPE_LENGTH (TYPE_TARGET_TYPE (value2->type)))) { ax_simple (ax, aop_sub); gen_scale (ax, aop_div_unsigned, value1->type); - value->type = builtin_type_long; /* FIXME --- should be ptrdiff_t */ + value->type = builtin_type_long; /* FIXME --- should be ptrdiff_t */ } else error ("\ @@ -1077,10 +1022,10 @@ an integer nor a pointer of the same type."); && value2->type->code == TYPE_CODE_INT) { ax_simple (ax, aop_sub); - gen_extend (ax, value1->type); /* Catch overflow. */ + gen_extend (ax, value1->type); /* Catch overflow. */ value->type = value1->type; } - + else error ("Illegal combination of types in subtraction."); @@ -1094,31 +1039,26 @@ an integer nor a pointer of the same type."); result needs to be extended. NAME is the English name of the operator, used in error messages */ static void -gen_binop (ax, value, value1, value2, op, op_unsigned, may_carry, name) - struct agent_expr *ax; - struct axs_value *value, *value1, *value2; - enum agent_op op, op_unsigned; - int may_carry; - char *name; +gen_binop (struct agent_expr *ax, struct axs_value *value, + struct axs_value *value1, struct axs_value *value2, enum agent_op op, + enum agent_op op_unsigned, int may_carry, char *name) { /* We only handle INT op INT. */ if ((value1->type->code != TYPE_CODE_INT) || (value2->type->code != TYPE_CODE_INT)) error ("Illegal combination of types in %s.", name); - + ax_simple (ax, TYPE_UNSIGNED (value1->type) ? op_unsigned : op); if (may_carry) - gen_extend (ax, value1->type); /* catch overflow */ + gen_extend (ax, value1->type); /* catch overflow */ value->type = value1->type; value->kind = axs_rvalue; } static void -gen_logical_not (ax, value) - struct agent_expr *ax; - struct axs_value *value; +gen_logical_not (struct agent_expr *ax, struct axs_value *value) { if (TYPE_CODE (value->type) != TYPE_CODE_INT && TYPE_CODE (value->type) != TYPE_CODE_PTR) @@ -1131,9 +1071,7 @@ gen_logical_not (ax, value) static void -gen_complement (ax, value) - struct agent_expr *ax; - struct axs_value *value; +gen_complement (struct agent_expr *ax, struct axs_value *value) { if (TYPE_CODE (value->type) != TYPE_CODE_INT) error ("Illegal type of operand to `~'."); @@ -1143,21 +1081,20 @@ gen_complement (ax, value) ax_simple (ax, aop_bit_not); gen_extend (ax, value->type); } + - /* Generating bytecode from GDB expressions: * & . -> @ sizeof */ /* Dereference the value on the top of the stack. */ static void -gen_deref (ax, value) - struct agent_expr *ax; - struct axs_value *value; +gen_deref (struct agent_expr *ax, struct axs_value *value) { /* The caller should check the type, because several operators use this, and we don't know what error message to generate. */ if (value->type->code != TYPE_CODE_PTR) - error ("GDB bug: ax-gdb.c (gen_deref): expected a pointer"); + internal_error (__FILE__, __LINE__, + "gen_deref: expected a pointer"); /* We've got an rvalue now, which is a pointer. We want to yield an lvalue, whose address is exactly that pointer. So we don't @@ -1172,9 +1109,7 @@ gen_deref (ax, value) /* Produce the address of the lvalue on the top of the stack. */ static void -gen_address_of (ax, value) - struct agent_expr *ax; - struct axs_value *value; +gen_address_of (struct agent_expr *ax, struct axs_value *value) { /* Special case for taking the address of a function. The ANSI standard describes this as a special case, too, so this @@ -1206,9 +1141,7 @@ gen_address_of (ax, value) /* Find the field in the structure type TYPE named NAME, and return its index in TYPE's field array. */ static int -find_field (type, name) - struct type *type; - char *name; +find_field (struct type *type, char *name) { int i; @@ -1216,7 +1149,8 @@ find_field (type, name) /* Make sure this isn't C++. */ if (TYPE_N_BASECLASSES (type) != 0) - error ("GDB bug: ax-gdb.c (find_field): derived classes supported"); + internal_error (__FILE__, __LINE__, + "find_field: derived classes supported"); for (i = 0; i < TYPE_NFIELDS (type); i++) { @@ -1226,11 +1160,12 @@ find_field (type, name) return i; if (this_name[0] == '\0') - error ("GDB bug: ax-gdb.c (find_field): anonymous unions not supported"); + internal_error (__FILE__, __LINE__, + "find_field: anonymous unions not supported"); } error ("Couldn't find member named `%s' in struct/union `%s'", - name, type->tag_name); + name, TYPE_TAG_NAME (type)); return 0; } @@ -1241,15 +1176,13 @@ find_field (type, name) starting and one-past-ending *bit* numbers of the field within the structure. */ static void -gen_bitfield_ref (ax, value, type, start, end) - struct agent_expr *ax; - struct axs_value *value; - struct type *type; - int start, end; +gen_bitfield_ref (struct agent_expr *ax, struct axs_value *value, + struct type *type, int start, int end) { /* Note that ops[i] fetches 8 << i bits. */ static enum agent_op ops[] - = { aop_ref8, aop_ref16, aop_ref32, aop_ref64 }; + = + {aop_ref8, aop_ref16, aop_ref32, aop_ref64}; static int num_ops = (sizeof (ops) / sizeof (ops[0])); /* We don't want to touch any byte that the bitfield doesn't @@ -1260,19 +1193,19 @@ gen_bitfield_ref (ax, value, type, start, end) It takes some fancy footwork to get the stack to work the way we'd like. Say we're retrieving a bitfield that requires three fetches. Initially, the stack just contains the address: - addr + addr For the first fetch, we duplicate the address - addr addr + addr addr then add the byte offset, do the fetch, and shift and mask as needed, yielding a fragment of the value, properly aligned for the final bitwise or: - addr frag1 + addr frag1 then we swap, and repeat the process: - frag1 addr --- address on top - frag1 addr addr --- duplicate it - frag1 addr frag2 --- get second fragment - frag1 frag2 addr --- swap again - frag1 frag2 frag3 --- get third fragment + frag1 addr --- address on top + frag1 addr addr --- duplicate it + frag1 addr frag2 --- get second fragment + frag1 frag2 addr --- swap again + frag1 frag2 frag3 --- get third fragment Notice that, since the third fragment is the last one, we don't bother duplicating the address this time. Now we have all the fragments on the stack, and we can simply `or' them together, @@ -1281,9 +1214,9 @@ gen_bitfield_ref (ax, value, type, start, end) /* The first and one-after-last bits in the field, but rounded down and up to byte boundaries. */ int bound_start = (start / TARGET_CHAR_BIT) * TARGET_CHAR_BIT; - int bound_end = (((end + TARGET_CHAR_BIT - 1) - / TARGET_CHAR_BIT) - * TARGET_CHAR_BIT); + int bound_end = (((end + TARGET_CHAR_BIT - 1) + / TARGET_CHAR_BIT) + * TARGET_CHAR_BIT); /* current bit offset within the structure */ int offset; @@ -1300,7 +1233,8 @@ gen_bitfield_ref (ax, value, type, start, end) /* Can we fetch the number of bits requested at all? */ if ((end - start) > ((1 << num_ops) * 8)) - error ("GDB bug: ax-gdb.c (gen_bitfield_ref): bitfield too wide"); + internal_error (__FILE__, __LINE__, + "gen_bitfield_ref: bitfield too wide"); /* Note that we know here that we only need to try each opcode once. That may not be true on machines with weird byte sizes. */ @@ -1312,17 +1246,17 @@ gen_bitfield_ref (ax, value, type, start, end) int op_size = 8 << op; /* The stack at this point, from bottom to top, contains zero or - more fragments, then the address. */ - + more fragments, then the address. */ + /* Does this fetch fit within the bitfield? */ if (offset + op_size <= bound_end) { /* Is this the last fragment? */ int last_frag = (offset + op_size == bound_end); - if (! last_frag) - ax_simple (ax, aop_dup); /* keep a copy of the address */ - + if (!last_frag) + ax_simple (ax, aop_dup); /* keep a copy of the address */ + /* Add the offset. */ gen_offset (ax, offset / TARGET_CHAR_BIT); @@ -1334,47 +1268,47 @@ gen_bitfield_ref (ax, value, type, start, end) /* Perform the fetch. */ ax_simple (ax, ops[op]); - - /* Shift the bits we have to their proper position. + + /* Shift the bits we have to their proper position. gen_left_shift will generate right shifts when the operand is negative. - A big-endian field diagram to ponder: - byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 - +------++------++------++------++------++------++------++------+ - xxxxAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBCCCCCxxxxxxxxxxx - ^ ^ ^ ^ - bit number 16 32 48 53 + A big-endian field diagram to ponder: + byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 + +------++------++------++------++------++------++------++------+ + xxxxAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBCCCCCxxxxxxxxxxx + ^ ^ ^ ^ + bit number 16 32 48 53 These are bit numbers as supplied by GDB. Note that the bit numbers run from right to left once you've fetched the value! - A little-endian field diagram to ponder: - byte 7 byte 6 byte 5 byte 4 byte 3 byte 2 byte 1 byte 0 - +------++------++------++------++------++------++------++------+ - xxxxxxxxxxxAAAAABBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCxxxx - ^ ^ ^ ^ ^ - bit number 48 32 16 4 0 - - In both cases, the most significant end is on the left - (i.e. normal numeric writing order), which means that you - don't go crazy thinking about `left' and `right' shifts. - - We don't have to worry about masking yet: - - If they contain garbage off the least significant end, then we - must be looking at the low end of the field, and the right - shift will wipe them out. - - If they contain garbage off the most significant end, then we - must be looking at the most significant end of the word, and - the sign/zero extension will wipe them out. - - If we're in the interior of the word, then there is no garbage - on either end, because the ref operators zero-extend. */ - if (TARGET_BYTE_ORDER == BIG_ENDIAN) + A little-endian field diagram to ponder: + byte 7 byte 6 byte 5 byte 4 byte 3 byte 2 byte 1 byte 0 + +------++------++------++------++------++------++------++------+ + xxxxxxxxxxxAAAAABBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCxxxx + ^ ^ ^ ^ ^ + bit number 48 32 16 4 0 + + In both cases, the most significant end is on the left + (i.e. normal numeric writing order), which means that you + don't go crazy thinking about `left' and `right' shifts. + + We don't have to worry about masking yet: + - If they contain garbage off the least significant end, then we + must be looking at the low end of the field, and the right + shift will wipe them out. + - If they contain garbage off the most significant end, then we + must be looking at the most significant end of the word, and + the sign/zero extension will wipe them out. + - If we're in the interior of the word, then there is no garbage + on either end, because the ref operators zero-extend. */ + if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) gen_left_shift (ax, end - (offset + op_size)); - else + else gen_left_shift (ax, offset - start); - if (! last_frag) + if (!last_frag) /* Bring the copy of the address up to the top. */ ax_simple (ax, aop_swap); @@ -1403,12 +1337,8 @@ gen_bitfield_ref (ax, value, type, start, end) the operator being compiled, and OPERAND_NAME is the kind of thing it operates on; we use them in error messages. */ static void -gen_struct_ref (ax, value, field, operator_name, operand_name) - struct agent_expr *ax; - struct axs_value *value; - char *field; - char *operator_name; - char *operand_name; +gen_struct_ref (struct agent_expr *ax, struct axs_value *value, char *field, + char *operator_name, char *operand_name) { struct type *type; int i; @@ -1421,7 +1351,7 @@ gen_struct_ref (ax, value, field, operator_name, operand_name) gen_usual_unary (ax, value); gen_deref (ax, value); } - type = value->type; + type = check_typedef (value->type); /* This must yield a structure or a union. */ if (TYPE_CODE (type) != TYPE_CODE_STRUCT @@ -1435,7 +1365,7 @@ gen_struct_ref (ax, value, field, operator_name, operand_name) error ("Structure does not live in memory."); i = find_field (type, field); - + /* Is this a bitfield? */ if (TYPE_FIELD_PACKED (type, i)) gen_bitfield_ref (ax, value, TYPE_FIELD_TYPE (type, i), @@ -1463,10 +1393,8 @@ gen_struct_ref (ax, value, field, operator_name, operand_name) stack slots, doing weird things with sizeof, etc. So we require the right operand to be a constant expression. */ static void -gen_repeat (pc, ax, value) - union exp_element **pc; - struct agent_expr *ax; - struct axs_value *value; +gen_repeat (union exp_element **pc, struct agent_expr *ax, + struct axs_value *value) { struct axs_value value1; /* We don't want to turn this into an rvalue, so no conversions @@ -1480,7 +1408,7 @@ gen_repeat (pc, ax, value) struct value *v = const_expr (pc); int length; - if (! v) + if (!v) error ("Right operand of `@' must be a constant, in agent expressions."); if (v->type->code != TYPE_CODE_INT) error ("Right operand of `@' must be an integer."); @@ -1492,9 +1420,9 @@ gen_repeat (pc, ax, value) all we need to do is frob the type of the lvalue. */ { /* FIXME-type-allocation: need a way to free this type when we are - done with it. */ + done with it. */ struct type *range - = create_range_type (0, builtin_type_int, 0, length - 1); + = create_range_type (0, builtin_type_int, 0, length - 1); struct type *array = create_array_type (0, value1.type, range); value->kind = axs_lvalue_memory; @@ -1508,10 +1436,8 @@ gen_repeat (pc, ax, value) *PC should point at the start of the operand expression; we advance it to the first instruction after the operand. */ static void -gen_sizeof (pc, ax, value) - union exp_element **pc; - struct agent_expr *ax; - struct axs_value *value; +gen_sizeof (union exp_element **pc, struct agent_expr *ax, + struct axs_value *value) { /* We don't care about the value of the operand expression; we only care about its type. However, in the current arrangement, the @@ -1523,22 +1449,20 @@ gen_sizeof (pc, ax, value) /* Throw away the code we just generated. */ ax->len = start; - + ax_const_l (ax, TYPE_LENGTH (value->type)); value->kind = axs_rvalue; value->type = builtin_type_int; } - + /* Generating bytecode from GDB expressions: general recursive thingy */ /* A gen_expr function written by a Gen-X'er guy. Append code for the subexpression of EXPR starting at *POS_P to AX. */ static void -gen_expr (pc, ax, value) - union exp_element **pc; - struct agent_expr *ax; - struct axs_value *value; +gen_expr (union exp_element **pc, struct agent_expr *ax, + struct axs_value *value) { /* Used to hold the descriptions of operand expressions. */ struct axs_value value1, value2; @@ -1547,7 +1471,7 @@ gen_expr (pc, ax, value) /* If we're looking at a constant expression, just push its value. */ { struct value *v = maybe_const_expr (pc); - + if (v) { ax_const_l (ax, value_as_long (v)); @@ -1619,28 +1543,29 @@ gen_expr (pc, ax, value) default: /* We should only list operators in the outer case statement - that we actually handle in the inner case statement. */ - error ("GDB bug: ax-gdb.c (gen_expr): op case sets don't match"); + that we actually handle in the inner case statement. */ + internal_error (__FILE__, __LINE__, + "gen_expr: op case sets don't match"); } break; /* Note that we need to be a little subtle about generating code - for comma. In C, we can do some optimizations here because - we know the left operand is only being evaluated for effect. - However, if the tracing kludge is in effect, then we always - need to evaluate the left hand side fully, so that all the - variables it mentions get traced. */ + for comma. In C, we can do some optimizations here because + we know the left operand is only being evaluated for effect. + However, if the tracing kludge is in effect, then we always + need to evaluate the left hand side fully, so that all the + variables it mentions get traced. */ case BINOP_COMMA: (*pc)++; gen_expr (pc, ax, &value1); /* Don't just dispose of the left operand. We might be tracing, - in which case we want to emit code to trace it if it's an - lvalue. */ + in which case we want to emit code to trace it if it's an + lvalue. */ gen_traced_pop (ax, &value1); gen_expr (pc, ax, value); /* It's the consumer's responsibility to trace the right operand. */ break; - + case OP_LONG: /* some integer constant */ { struct type *type = (*pc)[1].type; @@ -1648,7 +1573,7 @@ gen_expr (pc, ax, value) (*pc) += 4; gen_int_literal (ax, value, k, type); } - break; + break; case OP_VAR_VALUE: gen_var_ref (ax, value, (*pc)[2].symbol); @@ -1663,12 +1588,12 @@ gen_expr (pc, ax, value) value->u.reg = reg; value->type = REGISTER_VIRTUAL_TYPE (reg); } - break; + break; case OP_INTERNALVAR: error ("GDB agent expressions cannot use convenience variables."); - /* Weirdo operator: see comments for gen_repeat for details. */ + /* Weirdo operator: see comments for gen_repeat for details. */ case BINOP_REPEAT: /* Note that gen_repeat handles its own argument evaluation. */ (*pc)++; @@ -1682,7 +1607,7 @@ gen_expr (pc, ax, value) gen_expr (pc, ax, value); gen_cast (ax, value, type); } - break; + break; case UNOP_MEMVAL: { @@ -1695,17 +1620,18 @@ gen_expr (pc, ax, value) the given type, and dereference it. */ if (value->kind != axs_rvalue) /* This would be weird. */ - error ("GDB bug: ax-gdb.c (gen_expr): OP_MEMVAL operand isn't an rvalue???"); + internal_error (__FILE__, __LINE__, + "gen_expr: OP_MEMVAL operand isn't an rvalue???"); value->type = type; value->kind = axs_lvalue_memory; } - break; + break; case UNOP_NEG: (*pc)++; /* -FOO is equivalent to 0 - FOO. */ gen_int_literal (ax, &value1, (LONGEST) 0, builtin_type_int); - gen_usual_unary (ax, &value1); /* shouldn't do much */ + gen_usual_unary (ax, &value1); /* shouldn't do much */ gen_expr (pc, ax, &value2); gen_usual_unary (ax, &value2); gen_usual_arithmetic (ax, &value1, &value2); @@ -1742,8 +1668,8 @@ gen_expr (pc, ax, value) case UNOP_SIZEOF: (*pc)++; /* Notice that gen_sizeof handles its own operand, unlike most - of the other unary operator functions. This is because we - have to throw away the code we generate. */ + of the other unary operator functions. This is because we + have to throw away the code we generate. */ gen_sizeof (pc, ax, value); break; @@ -1762,10 +1688,11 @@ gen_expr (pc, ax, value) "pointer to a structure or union"); else /* If this `if' chain doesn't handle it, then the case list - shouldn't mention it, and we shouldn't be here. */ - error ("GDB bug: ax-gdb.c (gen_expr): unhandled struct case"); + shouldn't mention it, and we shouldn't be here. */ + internal_error (__FILE__, __LINE__, + "gen_expr: unhandled struct case"); } - break; + break; case OP_TYPE: error ("Attempt to use a type name as an expression."); @@ -1774,25 +1701,22 @@ gen_expr (pc, ax, value) error ("Unsupported operator in expression."); } } - - -#if 0 /* not used */ + + /* Generating bytecode from GDB expressions: driver */ /* Given a GDB expression EXPR, produce a string of agent bytecode which computes its value. Return the agent expression, and set *VALUE to describe its type, and whether it's an lvalue or rvalue. */ struct agent_expr * -expr_to_agent (expr, value) - struct expression *expr; - struct axs_value *value; +expr_to_agent (struct expression *expr, struct axs_value *value) { struct cleanup *old_chain = 0; - struct agent_expr *ax = new_agent_expr (); + struct agent_expr *ax = new_agent_expr (0); union exp_element *pc; - old_chain = make_cleanup ((make_cleanup_func) free_agent_expr, ax); + old_chain = make_cleanup_free_agent_expr (ax); pc = expr->elts; trace_kludge = 0; @@ -1806,14 +1730,14 @@ expr_to_agent (expr, value) } +#if 0 /* not used */ /* Given a GDB expression EXPR denoting an lvalue in memory, produce a string of agent bytecode which will leave its address and size on the top of stack. Return the agent expression. Not sure this function is useful at all. */ struct agent_expr * -expr_to_address_and_size (expr) - struct expression *expr; +expr_to_address_and_size (struct expression *expr) { struct axs_value value; struct agent_expr *ax = expr_to_agent (expr, &value); @@ -1830,7 +1754,7 @@ expr_to_address_and_size (expr) return ax; } -#endif /* 0 */ +#endif /* Given a GDB expression EXPR, return bytecode to trace its value. The result will use the `trace' and `trace_quick' bytecodes to @@ -1838,16 +1762,14 @@ expr_to_address_and_size (expr) caller can then use the ax_reqs function to discover which registers it relies upon. */ struct agent_expr * -gen_trace_for_expr (scope, expr) - CORE_ADDR scope; - struct expression *expr; +gen_trace_for_expr (CORE_ADDR scope, struct expression *expr) { struct cleanup *old_chain = 0; struct agent_expr *ax = new_agent_expr (scope); union exp_element *pc; struct axs_value value; - old_chain = make_cleanup ((make_cleanup_func) free_agent_expr, ax); + old_chain = make_cleanup_free_agent_expr (ax); pc = expr->elts; trace_kludge = 1; @@ -1865,15 +1787,13 @@ gen_trace_for_expr (scope, expr) discard_cleanups (old_chain); return ax; } + - /* The "agent" command, for testing: compile and disassemble an expression. */ static void -print_axs_value (f, value) - GDB_FILE *f; - struct axs_value *value; +print_axs_value (struct ui_file *f, struct axs_value *value) { switch (value->kind) { @@ -1896,14 +1816,11 @@ print_axs_value (f, value) static void -agent_command (exp, from_tty) - char *exp; - int from_tty; +agent_command (char *exp, int from_tty) { struct cleanup *old_chain = 0; struct expression *expr; struct agent_expr *agent; - struct agent_reqs reqs; struct frame_info *fi = get_current_frame (); /* need current scope */ /* We don't deal with overlay debugging at the moment. We need to @@ -1915,27 +1832,27 @@ agent_command (exp, from_tty) if (exp == 0) error_no_arg ("expression to translate"); - + expr = parse_expression (exp); - old_chain = make_cleanup ((make_cleanup_func) free_current_contents, &expr); + old_chain = make_cleanup (free_current_contents, &expr); agent = gen_trace_for_expr (fi->pc, expr); - make_cleanup ((make_cleanup_func) free_agent_expr, agent); + make_cleanup_free_agent_expr (agent); ax_print (gdb_stdout, agent); - ax_reqs (agent, &reqs); + + /* It would be nice to call ax_reqs here to gather some general info + about the expression, and then print out the result. */ do_cleanups (old_chain); dont_repeat (); } - + /* Initialization code. */ -void _initialize_ax_gdb PARAMS ((void)); +void _initialize_ax_gdb (void); void -_initialize_ax_gdb () +_initialize_ax_gdb (void) { - struct cmd_list_element *c; - add_cmd ("agent", class_maintenance, agent_command, "Translate an expression into remote agent bytecode.", &maintenancelist); diff --git a/contrib/gdb/gdb/ax-gdb.h b/contrib/gdb/gdb/ax-gdb.h index 575b4bf..3e1006a 100644 --- a/contrib/gdb/gdb/ax-gdb.h +++ b/contrib/gdb/gdb/ax-gdb.h @@ -1,28 +1,27 @@ /* GDB-specific functions for operating on agent expressions - Copyright 1998 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* $Id: ax-gdb.h,v 1.3.20.1 1999/04/01 17:33:04 jimb Exp $ */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #ifndef AX_GDB_H #define AX_GDB_H - + /* Types and enums */ /* GDB stores expressions in the form of a flattened tree (struct @@ -50,62 +49,64 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Different kinds of agent expression static values. */ -enum axs_lvalue_kind { - /* We generated code to compute the subexpression's value. - Constants and arithmetic operators yield this. */ - axs_rvalue, - - /* We generated code to yield the subexpression's value's address on - the top of the stack. If the caller needs an rvalue, it should - call require_rvalue to produce the rvalue from this address. */ - axs_lvalue_memory, - - /* We didn't generate any code, and the stack is undisturbed, - because the subexpression's value lives in a register; u.reg is - the register number. If the caller needs an rvalue, it should - call require_rvalue to produce the rvalue from this register - number. */ - axs_lvalue_register -}; +enum axs_lvalue_kind + { + /* We generated code to compute the subexpression's value. + Constants and arithmetic operators yield this. */ + axs_rvalue, + + /* We generated code to yield the subexpression's value's address on + the top of the stack. If the caller needs an rvalue, it should + call require_rvalue to produce the rvalue from this address. */ + axs_lvalue_memory, + + /* We didn't generate any code, and the stack is undisturbed, + because the subexpression's value lives in a register; u.reg is + the register number. If the caller needs an rvalue, it should + call require_rvalue to produce the rvalue from this register + number. */ + axs_lvalue_register + }; /* Structure describing what we got from a subexpression. Think of this as parallel to value.h's enum lval_type, except that we're describing a value which will exist when the expression is evaluated in the future, not a value we have in our hand. */ -struct axs_value { - enum axs_lvalue_kind kind; /* see above */ - - /* The type of the subexpression. Even if lvalue == axs_lvalue_memory, - this is the type of the value itself; the value on the stack is a - "pointer to" an object of this type. */ - struct type *type; - - union { - /* if kind == axs_lvalue_register, this is the register number */ - int reg; - } u; -}; - +struct axs_value + { + enum axs_lvalue_kind kind; /* see above */ + + /* The type of the subexpression. Even if lvalue == axs_lvalue_memory, + this is the type of the value itself; the value on the stack is a + "pointer to" an object of this type. */ + struct type *type; + + union + { + /* if kind == axs_lvalue_register, this is the register number */ + int reg; + } + u; + }; + /* Translating GDB expressions into agent expressions. */ /* Given a GDB expression EXPR, translate it into the agent bytecode, and return it. FLAGS are from enum expr_to_agent_flags. */ -extern struct agent_expr *expr_to_agent PARAMS ((struct expression *EXPR, - struct axs_value *VALUE)); +extern struct agent_expr *expr_to_agent (struct expression *EXPR, + struct axs_value *VALUE); /* Given a GDB expression EXPR denoting an lvalue in memory, produce a string of agent bytecode which will leave its address and size on the top of stack. Return the agent expression. */ -extern struct agent_expr *expr_to_address_and_size - PARAMS ((struct expression *EXPR)); +extern struct agent_expr *expr_to_address_and_size (struct expression *EXPR); /* Given a GDB expression EXPR, return bytecode to trace its value. The result will use the `trace' and `trace_quick' bytecodes to record the value of all memory touched by the expression, and leave no values on the stack. The caller can then use the ax_reqs function to discover which registers the expression uses. */ -extern struct agent_expr *gen_trace_for_expr PARAMS ((CORE_ADDR, - struct expression *)); +extern struct agent_expr *gen_trace_for_expr (CORE_ADDR, struct expression *); #endif /* AX_GDB_H */ diff --git a/contrib/gdb/gdb/ax-general.c b/contrib/gdb/gdb/ax-general.c index 6f399a8..9451837 100644 --- a/contrib/gdb/gdb/ax-general.c +++ b/contrib/gdb/gdb/ax-general.c @@ -1,23 +1,22 @@ /* Functions for manipulating expressions designed to be executed on the agent - Copyright 1998 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* $Id: ax-general.c,v 1.3 1998/12/02 23:22:58 msnyder Exp $ */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* Despite what the above comment says about this file being part of GDB, we would like to keep these functions free of GDB @@ -27,19 +26,27 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "defs.h" #include "ax.h" +#include "value.h" + +static void grow_expr (struct agent_expr *x, int n); + +static void append_const (struct agent_expr *x, LONGEST val, int n); + +static LONGEST read_const (struct agent_expr *x, int o, int n); + +static void generic_ext (struct agent_expr *x, enum agent_op op, int n); /* Functions for building expressions. */ /* Allocate a new, empty agent expression. */ struct agent_expr * -new_agent_expr (scope) - CORE_ADDR scope; +new_agent_expr (CORE_ADDR scope) { struct agent_expr *x = xmalloc (sizeof (*x)); - x->len = 0; + x->len = 0; x->size = 1; /* Change this to a larger value once reallocation code is tested. */ - x->buf = xmalloc (x->size); + x->buf = xmalloc (x->size); x->scope = scope; return x; @@ -47,20 +54,29 @@ new_agent_expr (scope) /* Free a agent expression. */ void -free_agent_expr (x) - struct agent_expr *x; +free_agent_expr (struct agent_expr *x) +{ + xfree (x->buf); + xfree (x); +} + +static void +do_free_agent_expr_cleanup (void *x) +{ + free_agent_expr (x); +} + +struct cleanup * +make_cleanup_free_agent_expr (struct agent_expr *x) { - free (x->buf); - free (x); + return make_cleanup (do_free_agent_expr_cleanup, x); } /* Make sure that X has room for at least N more bytes. This doesn't affect the length, just the allocated size. */ static void -grow_expr (x, n) - struct agent_expr *x; - int n; +grow_expr (struct agent_expr *x, int n) { if (x->len + n > x->size) { @@ -75,10 +91,7 @@ grow_expr (x, n) /* Append the low N bytes of VAL as an N-byte integer to the expression X, in big-endian order. */ static void -append_const (x, val, n) - struct agent_expr *x; - LONGEST val; - int n; +append_const (struct agent_expr *x, LONGEST val, int n) { int i; @@ -95,9 +108,7 @@ append_const (x, val, n) /* Extract an N-byte big-endian unsigned integer from expression X at offset O. */ static LONGEST -read_const (x, o, n) - struct agent_expr *x; - int o, n; +read_const (struct agent_expr *x, int o, int n) { int i; LONGEST accum = 0; @@ -108,16 +119,14 @@ read_const (x, o, n) for (i = 0; i < n; i++) accum = (accum << 8) | x->buf[o + i]; - + return accum; } /* Append a simple operator OP to EXPR. */ void -ax_simple (x, op) - struct agent_expr *x; - enum agent_op op; +ax_simple (struct agent_expr *x, enum agent_op op) { grow_expr (x, 1); x->buf[x->len++] = op; @@ -127,10 +136,7 @@ ax_simple (x, op) /* Append a sign-extension or zero-extension instruction to EXPR, to extend an N-bit value. */ static void -generic_ext (x, op, n) - struct agent_expr *x; - enum agent_op op; - int n; +generic_ext (struct agent_expr *x, enum agent_op op, int n) { /* N must fit in a byte. */ if (n < 0 || n > 255) @@ -147,9 +153,7 @@ generic_ext (x, op, n) /* Append a sign-extension instruction to EXPR, to extend an N-bit value. */ void -ax_ext (x, n) - struct agent_expr *x; - int n; +ax_ext (struct agent_expr *x, int n) { generic_ext (x, aop_ext, n); } @@ -157,9 +161,7 @@ ax_ext (x, n) /* Append a zero-extension instruction to EXPR, to extend an N-bit value. */ void -ax_zero_ext (x, n) - struct agent_expr *x; - int n; +ax_zero_ext (struct agent_expr *x, int n) { generic_ext (x, aop_zero_ext, n); } @@ -167,9 +169,7 @@ ax_zero_ext (x, n) /* Append a trace_quick instruction to EXPR, to record N bytes. */ void -ax_trace_quick (x, n) - struct agent_expr *x; - int n; +ax_trace_quick (struct agent_expr *x, int n) { /* N must fit in a byte. */ if (n < 0 || n > 255) @@ -187,9 +187,8 @@ ax_trace_quick (x, n) for the target, and return the offset in EXPR of that space, so we can backpatch it once we do know the target offset. Use ax_label to do the backpatching. */ -int ax_goto (x, op) - struct agent_expr *x; - enum agent_op op; +int +ax_goto (struct agent_expr *x, enum agent_op op) { grow_expr (x, 3); x->buf[x->len + 0] = op; @@ -201,19 +200,16 @@ int ax_goto (x, op) /* Suppose a given call to ax_goto returns some value PATCH. When you know the offset TARGET that goto should jump to, call - ax_label (EXPR, PATCH, TARGET) + ax_label (EXPR, PATCH, TARGET) to patch TARGET into the ax_goto instruction. */ void -ax_label (x, patch, target) - struct agent_expr *x; - int patch; - int target; +ax_label (struct agent_expr *x, int patch, int target) { /* Make sure the value is in range. Don't accept 0xffff as an offset; that's our magic sentinel value for unpatched branches. */ if (target < 0 || target >= 0xffff) error ("GDB bug: ax-general.c (ax_label): label target out of range"); - + x->buf[patch] = (target >> 8) & 0xff; x->buf[patch + 1] = target & 0xff; } @@ -221,12 +217,11 @@ ax_label (x, patch, target) /* Assemble code to push a constant on the stack. */ void -ax_const_l (x, l) - struct agent_expr *x; - LONGEST l; +ax_const_l (struct agent_expr *x, LONGEST l) { static enum agent_op ops[] - = { aop_const8, aop_const16, aop_const32, aop_const64 }; + = + {aop_const8, aop_const16, aop_const32, aop_const64}; int size; int op; @@ -252,9 +247,7 @@ ax_const_l (x, l) void -ax_const_d (x, d) - struct agent_expr *x; - LONGEST d; +ax_const_d (struct agent_expr *x, LONGEST d) { /* FIXME: floating-point support not present yet. */ error ("GDB bug: ax-general.c (ax_const_d): floating point not supported yet"); @@ -263,83 +256,81 @@ ax_const_d (x, d) /* Assemble code to push the value of register number REG on the stack. */ -void ax_reg (x, reg) - struct agent_expr *x; - int reg; +void +ax_reg (struct agent_expr *x, int reg) { /* Make sure the register number is in range. */ if (reg < 0 || reg > 0xffff) error ("GDB bug: ax-general.c (ax_reg): register number out of range"); grow_expr (x, 3); - x->buf[x->len ] = aop_reg; + x->buf[x->len] = aop_reg; x->buf[x->len + 1] = (reg >> 8) & 0xff; - x->buf[x->len + 2] = (reg ) & 0xff; + x->buf[x->len + 2] = (reg) & 0xff; x->len += 3; } + - /* Functions for disassembling agent expressions, and otherwise debugging the expression compiler. */ -struct aop_map aop_map[] = { - { 0, 0, 0, 0, 0 }, - { "float", 0, 0, 0, 0 }, /* 0x01 */ - { "add", 0, 0, 2, 1 }, /* 0x02 */ - { "sub", 0, 0, 2, 1 }, /* 0x03 */ - { "mul", 0, 0, 2, 1 }, /* 0x04 */ - { "div_signed", 0, 0, 2, 1 }, /* 0x05 */ - { "div_unsigned", 0, 0, 2, 1 }, /* 0x06 */ - { "rem_signed", 0, 0, 2, 1 }, /* 0x07 */ - { "rem_unsigned", 0, 0, 2, 1 }, /* 0x08 */ - { "lsh", 0, 0, 2, 1 }, /* 0x09 */ - { "rsh_signed", 0, 0, 2, 1 }, /* 0x0a */ - { "rsh_unsigned", 0, 0, 2, 1 }, /* 0x0b */ - { "trace", 0, 0, 2, 0 }, /* 0x0c */ - { "trace_quick", 1, 0, 1, 1 }, /* 0x0d */ - { "log_not", 0, 0, 1, 1 }, /* 0x0e */ - { "bit_and", 0, 0, 2, 1 }, /* 0x0f */ - { "bit_or", 0, 0, 2, 1 }, /* 0x10 */ - { "bit_xor", 0, 0, 2, 1 }, /* 0x11 */ - { "bit_not", 0, 0, 1, 1 }, /* 0x12 */ - { "equal", 0, 0, 2, 1 }, /* 0x13 */ - { "less_signed", 0, 0, 2, 1 }, /* 0x14 */ - { "less_unsigned", 0, 0, 2, 1 }, /* 0x15 */ - { "ext", 1, 0, 1, 1 }, /* 0x16 */ - { "ref8", 0, 8, 1, 1 }, /* 0x17 */ - { "ref16", 0, 16, 1, 1 }, /* 0x18 */ - { "ref32", 0, 32, 1, 1 }, /* 0x19 */ - { "ref64", 0, 64, 1, 1 }, /* 0x1a */ - { "ref_float", 0, 0, 1, 1 }, /* 0x1b */ - { "ref_double", 0, 0, 1, 1 }, /* 0x1c */ - { "ref_long_double", 0, 0, 1, 1 }, /* 0x1d */ - { "l_to_d", 0, 0, 1, 1 }, /* 0x1e */ - { "d_to_l", 0, 0, 1, 1 }, /* 0x1f */ - { "if_goto", 2, 0, 1, 0 }, /* 0x20 */ - { "goto", 2, 0, 0, 0 }, /* 0x21 */ - { "const8", 1, 8, 0, 1 }, /* 0x22 */ - { "const16", 2, 16, 0, 1 }, /* 0x23 */ - { "const32", 4, 32, 0, 1 }, /* 0x24 */ - { "const64", 8, 64, 0, 1 }, /* 0x25 */ - { "reg", 2, 0, 0, 1 }, /* 0x26 */ - { "end", 0, 0, 0, 0 }, /* 0x27 */ - { "dup", 0, 0, 1, 2 }, /* 0x28 */ - { "pop", 0, 0, 1, 0 }, /* 0x29 */ - { "zero_ext", 1, 0, 1, 1 }, /* 0x2a */ - { "swap", 0, 0, 2, 2 }, /* 0x2b */ - { 0, 0, 0, 0, 0 }, /* 0x2c */ - { 0, 0, 0, 0, 0 }, /* 0x2d */ - { 0, 0, 0, 0, 0 }, /* 0x2e */ - { 0, 0, 0, 0, 0 }, /* 0x2f */ - { "trace16", 2, 0, 1, 1 }, /* 0x30 */ +struct aop_map aop_map[] = +{ + {0, 0, 0, 0, 0}, + {"float", 0, 0, 0, 0}, /* 0x01 */ + {"add", 0, 0, 2, 1}, /* 0x02 */ + {"sub", 0, 0, 2, 1}, /* 0x03 */ + {"mul", 0, 0, 2, 1}, /* 0x04 */ + {"div_signed", 0, 0, 2, 1}, /* 0x05 */ + {"div_unsigned", 0, 0, 2, 1}, /* 0x06 */ + {"rem_signed", 0, 0, 2, 1}, /* 0x07 */ + {"rem_unsigned", 0, 0, 2, 1}, /* 0x08 */ + {"lsh", 0, 0, 2, 1}, /* 0x09 */ + {"rsh_signed", 0, 0, 2, 1}, /* 0x0a */ + {"rsh_unsigned", 0, 0, 2, 1}, /* 0x0b */ + {"trace", 0, 0, 2, 0}, /* 0x0c */ + {"trace_quick", 1, 0, 1, 1}, /* 0x0d */ + {"log_not", 0, 0, 1, 1}, /* 0x0e */ + {"bit_and", 0, 0, 2, 1}, /* 0x0f */ + {"bit_or", 0, 0, 2, 1}, /* 0x10 */ + {"bit_xor", 0, 0, 2, 1}, /* 0x11 */ + {"bit_not", 0, 0, 1, 1}, /* 0x12 */ + {"equal", 0, 0, 2, 1}, /* 0x13 */ + {"less_signed", 0, 0, 2, 1}, /* 0x14 */ + {"less_unsigned", 0, 0, 2, 1}, /* 0x15 */ + {"ext", 1, 0, 1, 1}, /* 0x16 */ + {"ref8", 0, 8, 1, 1}, /* 0x17 */ + {"ref16", 0, 16, 1, 1}, /* 0x18 */ + {"ref32", 0, 32, 1, 1}, /* 0x19 */ + {"ref64", 0, 64, 1, 1}, /* 0x1a */ + {"ref_float", 0, 0, 1, 1}, /* 0x1b */ + {"ref_double", 0, 0, 1, 1}, /* 0x1c */ + {"ref_long_double", 0, 0, 1, 1}, /* 0x1d */ + {"l_to_d", 0, 0, 1, 1}, /* 0x1e */ + {"d_to_l", 0, 0, 1, 1}, /* 0x1f */ + {"if_goto", 2, 0, 1, 0}, /* 0x20 */ + {"goto", 2, 0, 0, 0}, /* 0x21 */ + {"const8", 1, 8, 0, 1}, /* 0x22 */ + {"const16", 2, 16, 0, 1}, /* 0x23 */ + {"const32", 4, 32, 0, 1}, /* 0x24 */ + {"const64", 8, 64, 0, 1}, /* 0x25 */ + {"reg", 2, 0, 0, 1}, /* 0x26 */ + {"end", 0, 0, 0, 0}, /* 0x27 */ + {"dup", 0, 0, 1, 2}, /* 0x28 */ + {"pop", 0, 0, 1, 0}, /* 0x29 */ + {"zero_ext", 1, 0, 1, 1}, /* 0x2a */ + {"swap", 0, 0, 2, 2}, /* 0x2b */ + {0, 0, 0, 0, 0}, /* 0x2c */ + {0, 0, 0, 0, 0}, /* 0x2d */ + {0, 0, 0, 0, 0}, /* 0x2e */ + {0, 0, 0, 0, 0}, /* 0x2f */ + {"trace16", 2, 0, 1, 1}, /* 0x30 */ }; /* Disassemble the expression EXPR, writing to F. */ void -ax_print (f, x) - GDB_FILE *f; - struct agent_expr *x; +ax_print (struct ui_file *f, struct agent_expr *x) { int i; int is_float = 0; @@ -349,13 +340,13 @@ ax_print (f, x) if ((sizeof (aop_map) / sizeof (aop_map[0])) != aop_last) error ("GDB bug: ax-general.c (ax_print): opcode map out of sync"); - - for (i = 0; i < x->len; ) + + for (i = 0; i < x->len;) { enum agent_op op = x->buf[i]; if (op >= (sizeof (aop_map) / sizeof (aop_map[0])) - || ! aop_map[op].name) + || !aop_map[op].name) { fprintf_filtered (f, "%3d \n", i, op); i++; @@ -372,7 +363,7 @@ ax_print (f, x) if (aop_map[op].op_size > 0) { fputs_filtered (" ", f); - + print_longest (f, 'd', 0, read_const (x, i + 1, aop_map[op].op_size)); } @@ -387,9 +378,7 @@ ax_print (f, x) /* Given an agent expression AX, fill in an agent_reqs structure REQS describing it. */ void -ax_reqs (ax, reqs) - struct agent_expr *ax; - struct agent_reqs *reqs; +ax_reqs (struct agent_expr *ax, struct agent_reqs *reqs) { int i; int height; @@ -427,23 +416,23 @@ ax_reqs (ax, reqs) if (ax->buf[i] > (sizeof (aop_map) / sizeof (aop_map[0]))) { reqs->flaw = agent_flaw_bad_instruction; - free (reg_mask); + xfree (reg_mask); return; } op = &aop_map[ax->buf[i]]; - if (! op->name) + if (!op->name) { reqs->flaw = agent_flaw_bad_instruction; - free (reg_mask); + xfree (reg_mask); return; } - + if (i + 1 + op->op_size > ax->len) { reqs->flaw = agent_flaw_incomplete_instruction; - free (reg_mask); + xfree (reg_mask); return; } @@ -452,7 +441,7 @@ ax_reqs (ax, reqs) if (targets[i] && (heights[i] != height)) { reqs->flaw = agent_flaw_height_mismatch; - free (reg_mask); + xfree (reg_mask); return; } @@ -470,8 +459,8 @@ ax_reqs (ax, reqs) reqs->max_data_size = op->data_size; /* For jump instructions, check that the target is a valid - offset. If it is, record the fact that that location is a - jump target, and record the height we expect there. */ + offset. If it is, record the fact that that location is a + jump target, and record the height we expect there. */ if (aop_goto == op - aop_map || aop_if_goto == op - aop_map) { @@ -479,7 +468,7 @@ ax_reqs (ax, reqs) if (target < 0 || target >= ax->len) { reqs->flaw = agent_flaw_bad_jump; - free (reg_mask); + xfree (reg_mask); return; } /* Have we already found other jumps to the same location? */ @@ -488,7 +477,7 @@ ax_reqs (ax, reqs) if (heights[i] != height) { reqs->flaw = agent_flaw_height_mismatch; - free (reg_mask); + xfree (reg_mask); return; } } @@ -498,16 +487,16 @@ ax_reqs (ax, reqs) heights[target] = height; } } - + /* For unconditional jumps with a successor, check that the successor is a target, and pick up its stack height. */ if (aop_goto == op - aop_map && i + 3 < ax->len) { - if (! targets[i + 3]) + if (!targets[i + 3]) { reqs->flaw = agent_flaw_hole; - free (reg_mask); + xfree (reg_mask); return; } @@ -524,9 +513,9 @@ ax_reqs (ax, reqs) if (byte >= reg_mask_len) { /* It's not appropriate to double here. This isn't a - string buffer. */ + string buffer. */ int new_len = byte + 1; - reg_mask = xrealloc (reg_mask, + reg_mask = xrealloc (reg_mask, new_len * sizeof (reg_mask[0])); memset (reg_mask + reg_mask_len, 0, (new_len - reg_mask_len) * sizeof (reg_mask[0])); @@ -542,7 +531,7 @@ ax_reqs (ax, reqs) if (targets[i] && !boundary[i]) { reqs->flaw = agent_flaw_bad_jump; - free (reg_mask); + xfree (reg_mask); return; } diff --git a/contrib/gdb/gdb/ax.h b/contrib/gdb/gdb/ax.h index fe23a31..708dba4 100644 --- a/contrib/gdb/gdb/ax.h +++ b/contrib/gdb/gdb/ax.h @@ -1,27 +1,28 @@ /* Definitions for expressions designed to be executed on the agent - Copyright 1998 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* $Id: ax.h,v 1.3.20.1 1999/04/01 17:33:04 jimb Exp $ */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #ifndef AGENTEXPR_H #define AGENTEXPR_H +#include "doublest.h" /* For DOUBLEST. */ + /* It's sometimes useful to be able to debug programs that you can't really stop for more than a fraction of a second. To this end, the user can specify a tracepoint (like a breakpoint, but you don't @@ -49,8 +50,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ is independent of symbolic information. This means the agent can evaluate them on the fly without reference to data only available to the host GDB. */ - + /* Agent expression data structures. */ /* The type of an element of the agent expression stack. @@ -58,18 +59,20 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ the value itself has no typing information. GDB generates all bytecode streams, so we don't have to worry about type errors. */ -union agent_val { - LONGEST l; - DOUBLEST d; -}; +union agent_val + { + LONGEST l; + DOUBLEST d; + }; /* A buffer containing a agent expression. */ -struct agent_expr { - unsigned char *buf; - int len; /* number of characters used */ - int size; /* allocated size */ - CORE_ADDR scope; -}; +struct agent_expr + { + unsigned char *buf; + int len; /* number of characters used */ + int size; /* allocated size */ + CORE_ADDR scope; + }; @@ -84,78 +87,80 @@ struct agent_expr { agentexpr.h behaves like an opcode map. If you want to see them grouped logically, see doc/agentexpr.texi. */ -enum agent_op { - aop_float = 0x01, - aop_add = 0x02, - aop_sub = 0x03, - aop_mul = 0x04, - aop_div_signed = 0x05, - aop_div_unsigned = 0x06, - aop_rem_signed = 0x07, - aop_rem_unsigned = 0x08, - aop_lsh = 0x09, - aop_rsh_signed = 0x0a, - aop_rsh_unsigned = 0x0b, - aop_trace = 0x0c, - aop_trace_quick = 0x0d, - aop_log_not = 0x0e, - aop_bit_and = 0x0f, - aop_bit_or = 0x10, - aop_bit_xor = 0x11, - aop_bit_not = 0x12, - aop_equal = 0x13, - aop_less_signed = 0x14, - aop_less_unsigned = 0x15, - aop_ext = 0x16, - aop_ref8 = 0x17, - aop_ref16 = 0x18, - aop_ref32 = 0x19, - aop_ref64 = 0x1a, - aop_ref_float = 0x1b, - aop_ref_double = 0x1c, - aop_ref_long_double = 0x1d, - aop_l_to_d = 0x1e, - aop_d_to_l = 0x1f, - aop_if_goto = 0x20, - aop_goto = 0x21, - aop_const8 = 0x22, - aop_const16 = 0x23, - aop_const32 = 0x24, - aop_const64 = 0x25, - aop_reg = 0x26, - aop_end = 0x27, - aop_dup = 0x28, - aop_pop = 0x29, - aop_zero_ext = 0x2a, - aop_swap = 0x2b, - aop_trace16 = 0x30, - aop_last -}; +enum agent_op + { + aop_float = 0x01, + aop_add = 0x02, + aop_sub = 0x03, + aop_mul = 0x04, + aop_div_signed = 0x05, + aop_div_unsigned = 0x06, + aop_rem_signed = 0x07, + aop_rem_unsigned = 0x08, + aop_lsh = 0x09, + aop_rsh_signed = 0x0a, + aop_rsh_unsigned = 0x0b, + aop_trace = 0x0c, + aop_trace_quick = 0x0d, + aop_log_not = 0x0e, + aop_bit_and = 0x0f, + aop_bit_or = 0x10, + aop_bit_xor = 0x11, + aop_bit_not = 0x12, + aop_equal = 0x13, + aop_less_signed = 0x14, + aop_less_unsigned = 0x15, + aop_ext = 0x16, + aop_ref8 = 0x17, + aop_ref16 = 0x18, + aop_ref32 = 0x19, + aop_ref64 = 0x1a, + aop_ref_float = 0x1b, + aop_ref_double = 0x1c, + aop_ref_long_double = 0x1d, + aop_l_to_d = 0x1e, + aop_d_to_l = 0x1f, + aop_if_goto = 0x20, + aop_goto = 0x21, + aop_const8 = 0x22, + aop_const16 = 0x23, + aop_const32 = 0x24, + aop_const64 = 0x25, + aop_reg = 0x26, + aop_end = 0x27, + aop_dup = 0x28, + aop_pop = 0x29, + aop_zero_ext = 0x2a, + aop_swap = 0x2b, + aop_trace16 = 0x30, + aop_last + }; + - /* Functions for building expressions. */ /* Allocate a new, empty agent expression. */ -extern struct agent_expr *new_agent_expr PARAMS ((CORE_ADDR)); +extern struct agent_expr *new_agent_expr (CORE_ADDR); /* Free a agent expression. */ -extern void free_agent_expr PARAMS ((struct agent_expr *)); +extern void free_agent_expr (struct agent_expr *); +extern struct cleanup *make_cleanup_free_agent_expr (struct agent_expr *); /* Append a simple operator OP to EXPR. */ -extern void ax_simple PARAMS ((struct agent_expr *EXPR, enum agent_op OP)); +extern void ax_simple (struct agent_expr *EXPR, enum agent_op OP); /* Append the floating-point prefix, for the next bytecode. */ #define ax_float(EXPR) (ax_simple ((EXPR), aop_float)) /* Append a sign-extension instruction to EXPR, to extend an N-bit value. */ -extern void ax_ext PARAMS ((struct agent_expr *EXPR, int N)); +extern void ax_ext (struct agent_expr *EXPR, int N); /* Append a zero-extension instruction to EXPR, to extend an N-bit value. */ -extern void ax_zero_ext PARAMS ((struct agent_expr *EXPR, int N)); +extern void ax_zero_ext (struct agent_expr *EXPR, int N); /* Append a trace_quick instruction to EXPR, to record N bytes. */ -extern void ax_trace_quick PARAMS ((struct agent_expr *EXPR, int N)); +extern void ax_trace_quick (struct agent_expr *EXPR, int N); /* Append a goto op to EXPR. OP is the actual op (must be aop_goto or aop_if_goto). We assume we don't know the target offset yet, @@ -163,123 +168,125 @@ extern void ax_trace_quick PARAMS ((struct agent_expr *EXPR, int N)); for the target, and return the offset in EXPR of that space, so we can backpatch it once we do know the target offset. Use ax_label to do the backpatching. */ -extern int ax_goto PARAMS ((struct agent_expr *EXPR, enum agent_op OP)); +extern int ax_goto (struct agent_expr *EXPR, enum agent_op OP); /* Suppose a given call to ax_goto returns some value PATCH. When you know the offset TARGET that goto should jump to, call - ax_label (EXPR, PATCH, TARGET) + ax_label (EXPR, PATCH, TARGET) to patch TARGET into the ax_goto instruction. */ -extern void ax_label PARAMS ((struct agent_expr *EXPR, int patch, int target)); +extern void ax_label (struct agent_expr *EXPR, int patch, int target); /* Assemble code to push a constant on the stack. */ -extern void ax_const_l PARAMS ((struct agent_expr *EXPR, LONGEST l)); -extern void ax_const_d PARAMS ((struct agent_expr *EXPR, LONGEST d)); +extern void ax_const_l (struct agent_expr *EXPR, LONGEST l); +extern void ax_const_d (struct agent_expr *EXPR, LONGEST d); /* Assemble code to push the value of register number REG on the stack. */ -extern void ax_reg PARAMS ((struct agent_expr *EXPR, int REG)); - +extern void ax_reg (struct agent_expr *EXPR, int REG); + /* Functions for printing out expressions, and otherwise debugging things. */ /* Disassemble the expression EXPR, writing to F. */ -extern void ax_print PARAMS ((GDB_FILE *f, struct agent_expr *EXPR)); +extern void ax_print (struct ui_file *f, struct agent_expr * EXPR); /* An entry in the opcode map. */ -struct aop_map { +struct aop_map + { - /* The name of the opcode. Null means that this entry is not a - valid opcode --- a hole in the opcode space. */ - char *name; + /* The name of the opcode. Null means that this entry is not a + valid opcode --- a hole in the opcode space. */ + char *name; - /* All opcodes take no operands from the bytecode stream, or take - unsigned integers of various sizes. If this is a positive number - n, then the opcode is followed by an n-byte operand, which should - be printed as an unsigned integer. If this is zero, then the - opcode takes no operands from the bytecode stream. + /* All opcodes take no operands from the bytecode stream, or take + unsigned integers of various sizes. If this is a positive number + n, then the opcode is followed by an n-byte operand, which should + be printed as an unsigned integer. If this is zero, then the + opcode takes no operands from the bytecode stream. - If we get more complicated opcodes in the future, don't add other - magic values of this; that's a crock. Add an `enum encoding' - field to this, or something like that. */ - int op_size; + If we get more complicated opcodes in the future, don't add other + magic values of this; that's a crock. Add an `enum encoding' + field to this, or something like that. */ + int op_size; - /* The size of the data operated upon, in bits, for bytecodes that - care about that (ref and const). Zero for all others. */ - int data_size; + /* The size of the data operated upon, in bits, for bytecodes that + care about that (ref and const). Zero for all others. */ + int data_size; - /* Number of stack elements consumed, and number produced. */ - int consumed, produced; -}; + /* Number of stack elements consumed, and number produced. */ + int consumed, produced; + }; /* Map of the bytecodes, indexed by bytecode number. */ extern struct aop_map aop_map[]; /* Different kinds of flaws an agent expression might have, as detected by agent_reqs. */ -enum agent_flaws { - agent_flaw_none = 0, /* code is good */ +enum agent_flaws + { + agent_flaw_none = 0, /* code is good */ - /* There is an invalid instruction in the stream. */ - agent_flaw_bad_instruction, + /* There is an invalid instruction in the stream. */ + agent_flaw_bad_instruction, - /* There is an incomplete instruction at the end of the expression. */ - agent_flaw_incomplete_instruction, + /* There is an incomplete instruction at the end of the expression. */ + agent_flaw_incomplete_instruction, - /* agent_reqs was unable to prove that every jump target is to a - valid offset. Valid offsets are within the bounds of the - expression, and to a valid instruction boundary. */ - agent_flaw_bad_jump, + /* agent_reqs was unable to prove that every jump target is to a + valid offset. Valid offsets are within the bounds of the + expression, and to a valid instruction boundary. */ + agent_flaw_bad_jump, - /* agent_reqs was unable to prove to its satisfaction that, for each - jump target location, the stack will have the same height whether - that location is reached via a jump or by straight execution. */ - agent_flaw_height_mismatch, + /* agent_reqs was unable to prove to its satisfaction that, for each + jump target location, the stack will have the same height whether + that location is reached via a jump or by straight execution. */ + agent_flaw_height_mismatch, - /* agent_reqs was unable to prove that every instruction following - an unconditional jump was the target of some other jump. */ - agent_flaw_hole -}; + /* agent_reqs was unable to prove that every instruction following + an unconditional jump was the target of some other jump. */ + agent_flaw_hole + }; /* Structure describing the requirements of a bytecode expression. */ -struct agent_reqs { +struct agent_reqs + { + + /* If the following is not equal to agent_flaw_none, the rest of the + information in this structure is suspect. */ + enum agent_flaws flaw; - /* If the following is not equal to agent_flaw_none, the rest of the - information in this structure is suspect. */ - enum agent_flaws flaw; + /* Number of elements left on stack at end; may be negative if expr + only consumes elements. */ + int final_height; - /* Number of elements left on stack at end; may be negative if expr - only consumes elements. */ - int final_height; + /* Maximum and minimum stack height, relative to initial height. */ + int max_height, min_height; - /* Maximum and minimum stack height, relative to initial height. */ - int max_height, min_height; + /* Largest `ref' or `const' opcode used, in bits. Zero means the + expression has no such instructions. */ + int max_data_size; - /* Largest `ref' or `const' opcode used, in bits. Zero means the - expression has no such instructions. */ - int max_data_size; + /* Bit vector of registers used. Register R is used iff - /* Bit vector of registers used. Register R is used iff - - reg_mask[R / 8] & (1 << (R % 8)) + reg_mask[R / 8] & (1 << (R % 8)) - is non-zero. Note! You may not assume that this bitmask is long - enough to hold bits for all the registers of the machine; the - agent expression code has no idea how many registers the machine - has. However, the bitmask is reg_mask_len bytes long, so the - valid register numbers run from 0 to reg_mask_len * 8 - 1. + is non-zero. Note! You may not assume that this bitmask is long + enough to hold bits for all the registers of the machine; the + agent expression code has no idea how many registers the machine + has. However, the bitmask is reg_mask_len bytes long, so the + valid register numbers run from 0 to reg_mask_len * 8 - 1. - We're assuming eight-bit bytes. So sue me. + We're assuming eight-bit bytes. So sue me. - The caller should free reg_list when done. */ - int reg_mask_len; - unsigned char *reg_mask; -}; + The caller should free reg_list when done. */ + int reg_mask_len; + unsigned char *reg_mask; + }; /* Given an agent expression AX, fill in an agent_reqs structure REQS describing it. */ -extern void ax_reqs PARAMS ((struct agent_expr *ax, - struct agent_reqs *reqs)); +extern void ax_reqs (struct agent_expr *ax, struct agent_reqs *reqs); #endif /* AGENTEXPR_H */ diff --git a/contrib/gdb/gdb/bcache.c b/contrib/gdb/gdb/bcache.c index d28515b..73b86e8 100644 --- a/contrib/gdb/gdb/bcache.c +++ b/contrib/gdb/gdb/bcache.c @@ -1,219 +1,293 @@ /* Implement a cached obstack. - Written by Fred Fish (fnf@cygnus.com) - Copyright 1995, 1998 Free Software Foundation, Inc. + Written by Fred Fish + Rewritten by Jim Blandy -This file is part of GDB. + Copyright 1999, 2000, 2002 Free Software Foundation, Inc. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This file is part of GDB. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "defs.h" #include "obstack.h" #include "bcache.h" #include "gdb_string.h" /* For memcpy declaration */ -/* Prototypes for local functions. */ - -static unsigned int hash PARAMS ((void *, int)); - -static void *lookup_cache PARAMS ((void *, int, int, struct bcache *)); +#include +#include -/* FIXME: Incredibly simplistic hash generator. Probably way too expensive - (consider long strings) and unlikely to have good distribution across hash - values for typical input. */ - -static unsigned int -hash (bytes, count) - void *bytes; - int count; +/* The old hash function was stolen from SDBM. This is what DB 3.0 uses now, + * and is better than the old one. + */ + +unsigned long +hash(const void *addr, int length) { - unsigned int len; - unsigned long hashval; - unsigned int c; - const unsigned char *data = bytes; - - hashval = 0; - len = 0; - while (count-- > 0) - { - c = *data++; - hashval += c + (c << 17); - hashval ^= hashval >> 2; - ++len; - } - hashval += len + (len << 17); - hashval ^= hashval >> 2; - return (hashval % BCACHE_HASHSIZE); + const unsigned char *k, *e; + unsigned long h; + + k = (const unsigned char *)addr; + e = k+length; + for (h=0; k< e;++k) + { + h *=16777619; + h ^= *k; + } + return (h); } + +/* Growing the bcache's hash table. */ -static void * -lookup_cache (bytes, count, hashval, bcachep) - void *bytes; - int count; - int hashval; - struct bcache *bcachep; +/* If the average chain length grows beyond this, then we want to + resize our hash table. */ +#define CHAIN_LENGTH_THRESHOLD (5) + +static void +expand_hash_table (struct bcache *bcache) { - void *location = NULL; - struct hashlink **hashtablep; - struct hashlink *linkp; + /* A table of good hash table sizes. Whenever we grow, we pick the + next larger size from this table. sizes[i] is close to 1 << (i+10), + so we roughly double the table size each time. After we fall off + the end of this table, we just double. Don't laugh --- there have + been executables sighted with a gigabyte of debug info. */ + static unsigned long sizes[] = { + 1021, 2053, 4099, 8191, 16381, 32771, + 65537, 131071, 262144, 524287, 1048573, 2097143, + 4194301, 8388617, 16777213, 33554467, 67108859, 134217757, + 268435459, 536870923, 1073741827, 2147483659UL + }; + unsigned int new_num_buckets; + struct bstring **new_buckets; + unsigned int i; + + /* Find the next size. */ + new_num_buckets = bcache->num_buckets * 2; + for (i = 0; i < (sizeof (sizes) / sizeof (sizes[0])); i++) + if (sizes[i] > bcache->num_buckets) + { + new_num_buckets = sizes[i]; + break; + } - hashtablep = bcachep -> indextable[count]; - if (hashtablep != NULL) + /* Allocate the new table. */ + { + size_t new_size = new_num_buckets * sizeof (new_buckets[0]); + new_buckets = (struct bstring **) xmalloc (new_size); + memset (new_buckets, 0, new_size); + + bcache->structure_size -= (bcache->num_buckets + * sizeof (bcache->bucket[0])); + bcache->structure_size += new_size; + } + + /* Rehash all existing strings. */ + for (i = 0; i < bcache->num_buckets; i++) { - linkp = hashtablep[hashval]; - while (linkp != NULL) + struct bstring *s, *next; + + for (s = bcache->bucket[i]; s; s = next) { - if (memcmp (BCACHE_DATA (linkp), bytes, count) == 0) - { - location = BCACHE_DATA (linkp); - break; - } - linkp = linkp -> next; + struct bstring **new_bucket; + next = s->next; + + new_bucket = &new_buckets[(hash (&s->d.data, s->length) + % new_num_buckets)]; + s->next = *new_bucket; + *new_bucket = s; } } - return (location); + + /* Plug in the new table. */ + if (bcache->bucket) + xfree (bcache->bucket); + bcache->bucket = new_buckets; + bcache->num_buckets = new_num_buckets; } + +/* Looking up things in the bcache. */ + +/* The number of bytes needed to allocate a struct bstring whose data + is N bytes long. */ +#define BSTRING_SIZE(n) (offsetof (struct bstring, d.data) + (n)) + +/* Find a copy of the LENGTH bytes at ADDR in BCACHE. If BCACHE has + never seen those bytes before, add a copy of them to BCACHE. In + either case, return a pointer to BCACHE's copy of that string. */ void * -bcache (bytes, count, bcachep) - void *bytes; - int count; - struct bcache *bcachep; +bcache (const void *addr, int length, struct bcache *bcache) { - int hashval; - void *location; - struct hashlink *newlink; - struct hashlink **linkpp; - struct hashlink ***hashtablepp; + int hash_index; + struct bstring *s; - if (count >= BCACHE_MAXLENGTH) - { - /* Rare enough to just stash unique copies */ - location = (void *) obstack_alloc (&bcachep->cache, count); - bcachep -> cache_bytes += count; - memcpy (location, bytes, count); - bcachep -> bcache_overflows++; - } - else - { - hashval = hash (bytes, count); - location = lookup_cache (bytes, count, hashval, bcachep); - if (location != NULL) - { - bcachep -> cache_savings += count; - bcachep -> cache_hits++; - } - else - { - bcachep -> cache_misses++; - hashtablepp = &bcachep -> indextable[count]; - if (*hashtablepp == NULL) - { - *hashtablepp = (struct hashlink **) - obstack_alloc (&bcachep->cache, BCACHE_HASHSIZE * sizeof (struct hashlink *)); - bcachep -> cache_bytes += BCACHE_HASHSIZE * sizeof (struct hashlink *); - memset (*hashtablepp, 0, BCACHE_HASHSIZE * sizeof (struct hashlink *)); - } - linkpp = &(*hashtablepp)[hashval]; - newlink = (struct hashlink *) - obstack_alloc (&bcachep->cache, BCACHE_DATA_ALIGNMENT + count); - bcachep -> cache_bytes += BCACHE_DATA_ALIGNMENT + count; - memcpy (BCACHE_DATA (newlink), bytes, count); - newlink -> next = *linkpp; - *linkpp = newlink; - location = BCACHE_DATA (newlink); - } - } - return (location); + /* If our average chain length is too high, expand the hash table. */ + if (bcache->unique_count >= bcache->num_buckets * CHAIN_LENGTH_THRESHOLD) + expand_hash_table (bcache); + + bcache->total_count++; + bcache->total_size += length; + + hash_index = hash (addr, length) % bcache->num_buckets; + + /* Search the hash bucket for a string identical to the caller's. */ + for (s = bcache->bucket[hash_index]; s; s = s->next) + if (s->length == length + && ! memcmp (&s->d.data, addr, length)) + return &s->d.data; + + /* The user's string isn't in the list. Insert it after *ps. */ + { + struct bstring *new + = obstack_alloc (&bcache->cache, BSTRING_SIZE (length)); + memcpy (&new->d.data, addr, length); + new->length = length; + new->next = bcache->bucket[hash_index]; + bcache->bucket[hash_index] = new; + + bcache->unique_count++; + bcache->unique_size += length; + bcache->structure_size += BSTRING_SIZE (length); + + return &new->d.data; + } } -#if MAINTENANCE_CMDS + +/* Freeing bcaches. */ +/* Free all the storage associated with BCACHE. */ void -print_bcache_statistics (bcachep, id) - struct bcache *bcachep; - char *id; +free_bcache (struct bcache *bcache) { - struct hashlink **hashtablep; - struct hashlink *linkp; - int tidx, tcount, hidx, hcount, lcount, lmax, temp, lmaxt, lmaxh; + obstack_free (&bcache->cache, 0); + if (bcache->bucket) + xfree (bcache->bucket); - for (lmax = lcount = tcount = hcount = tidx = 0; tidx < BCACHE_MAXLENGTH; tidx++) - { - hashtablep = bcachep -> indextable[tidx]; - if (hashtablep != NULL) - { - tcount++; - for (hidx = 0; hidx < BCACHE_HASHSIZE; hidx++) - { - linkp = hashtablep[hidx]; - if (linkp != NULL) - { - hcount++; - for (temp = 0; linkp != NULL; linkp = linkp -> next) - { - lcount++; - temp++; - } - if (temp > lmax) - { - lmax = temp; - lmaxt = tidx; - lmaxh = hidx; - } - } - } - } - } - printf_filtered (" Cached '%s' statistics:\n", id); - printf_filtered (" Cache hits: %d\n", bcachep -> cache_hits); - printf_filtered (" Cache misses: %d\n", bcachep -> cache_misses); - printf_filtered (" Cache hit ratio: "); - if (bcachep -> cache_hits + bcachep -> cache_misses > 0) - { - printf_filtered ("%d%%\n", ((bcachep -> cache_hits) * 100) / - (bcachep -> cache_hits + bcachep -> cache_misses)); - } - else - { - printf_filtered ("(not applicable)\n"); - } - printf_filtered (" Space used for caching: %d\n", bcachep -> cache_bytes); - printf_filtered (" Space saved by cache hits: %d\n", bcachep -> cache_savings); - printf_filtered (" Number of bcache overflows: %d\n", bcachep -> bcache_overflows); - printf_filtered (" Number of index buckets used: %d\n", tcount); - printf_filtered (" Number of hash table buckets used: %d\n", hcount); - printf_filtered (" Number of chained items: %d\n", lcount); - printf_filtered (" Average hash table population: "); - if (tcount > 0) - { - printf_filtered ("%d%%\n", (hcount * 100) / (tcount * BCACHE_HASHSIZE)); - } - else - { - printf_filtered ("(not applicable)\n"); - } - printf_filtered (" Average chain length "); - if (hcount > 0) - { - printf_filtered ("%d\n", lcount / hcount); - } + /* This isn't necessary, but at least the bcache is always in a + consistent state. */ + memset (bcache, 0, sizeof (*bcache)); +} + + + +/* Printing statistics. */ + +static int +compare_ints (const void *ap, const void *bp) +{ + /* Because we know we're comparing two ints which are positive, + there's no danger of overflow here. */ + return * (int *) ap - * (int *) bp; +} + + +static void +print_percentage (int portion, int total) +{ + if (total == 0) + printf_filtered ("(not applicable)\n"); else - { - printf_filtered ("(not applicable)\n"); - } - printf_filtered (" Maximum chain length %d at %d:%d\n", lmax, lmaxt, lmaxh); + printf_filtered ("%3d%%\n", portion * 100 / total); } -#endif /* MAINTENANCE_CMDS */ + +/* Print statistics on BCACHE's memory usage and efficacity at + eliminating duplication. NAME should describe the kind of data + BCACHE holds. Statistics are printed using `printf_filtered' and + its ilk. */ +void +print_bcache_statistics (struct bcache *c, char *type) +{ + int occupied_buckets; + int max_chain_length; + int median_chain_length; + + /* Count the number of occupied buckets, and measure chain lengths. */ + { + unsigned int b; + int *chain_length + = (int *) alloca (c->num_buckets * sizeof (*chain_length)); + + occupied_buckets = 0; + + for (b = 0; b < c->num_buckets; b++) + { + struct bstring *s = c->bucket[b]; + + chain_length[b] = 0; + + if (s) + { + occupied_buckets++; + + while (s) + { + chain_length[b]++; + s = s->next; + } + } + } + + /* To compute the median, we need the set of chain lengths sorted. */ + qsort (chain_length, c->num_buckets, sizeof (chain_length[0]), + compare_ints); + + if (c->num_buckets > 0) + { + max_chain_length = chain_length[c->num_buckets - 1]; + median_chain_length = chain_length[c->num_buckets / 2]; + } + else + { + max_chain_length = 0; + median_chain_length = 0; + } + } + + printf_filtered (" Cached '%s' statistics:\n", type); + printf_filtered (" Total object count: %ld\n", c->total_count); + printf_filtered (" Unique object count: %lu\n", c->unique_count); + printf_filtered (" Percentage of duplicates, by count: "); + print_percentage (c->total_count - c->unique_count, c->total_count); + printf_filtered ("\n"); + + printf_filtered (" Total object size: %ld\n", c->total_size); + printf_filtered (" Unique object size: %ld\n", c->unique_size); + printf_filtered (" Percentage of duplicates, by size: "); + print_percentage (c->total_size - c->unique_size, c->total_size); + printf_filtered ("\n"); + + printf_filtered (" Total memory used by bcache, including overhead: %ld\n", + c->structure_size); + printf_filtered (" Percentage memory overhead: "); + print_percentage (c->structure_size - c->unique_size, c->unique_size); + printf_filtered (" Net memory savings: "); + print_percentage (c->total_size - c->structure_size, c->total_size); + printf_filtered ("\n"); + + printf_filtered (" Hash table size: %3d\n", c->num_buckets); + printf_filtered (" Hash table population: "); + print_percentage (occupied_buckets, c->num_buckets); + printf_filtered (" Median hash chain length: %3d\n", + median_chain_length); + printf_filtered (" Average hash chain length: "); + if (c->num_buckets > 0) + printf_filtered ("%3lu\n", c->unique_count / c->num_buckets); + else + printf_filtered ("(not applicable)\n"); + printf_filtered (" Maximum hash chain length: %3d\n", max_chain_length); + printf_filtered ("\n"); +} diff --git a/contrib/gdb/gdb/bcache.h b/contrib/gdb/gdb/bcache.h index cf0c62e..2b03ead 100644 --- a/contrib/gdb/gdb/bcache.h +++ b/contrib/gdb/gdb/bcache.h @@ -1,72 +1,130 @@ /* Include file cached obstack implementation. - Written by Fred Fish (fnf@cygnus.com) - Copyright 1995 Free Software Foundation, Inc. + Written by Fred Fish + Rewritten by Jim Blandy + Copyright 1999, 2000 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #ifndef BCACHE_H #define BCACHE_H 1 -#define BCACHE_HASHLENGTH 12 /* Number of bits in hash value */ -#define BCACHE_HASHSIZE (1 << BCACHE_HASHLENGTH) -#define BCACHE_MAXLENGTH 128 - -/* Note that the user data is stored in data[]. Since it can be any type, - it needs to have the same alignment as the most strict alignment of - any type on the host machine. So do it the same way obstack does. */ - -struct hashlink { - struct hashlink *next; - union { +/* A bcache is a data structure for factoring out duplication in + read-only structures. You give the bcache some string of bytes S. + If the bcache already contains a copy of S, it hands you back a + pointer to its copy. Otherwise, it makes a fresh copy of S, and + hands you back a pointer to that. In either case, you can throw + away your copy of S, and use the bcache's. + + The "strings" in question are arbitrary strings of bytes --- they + can contain zero bytes. You pass in the length explicitly when you + call the bcache function. + + This means that you can put ordinary C objects in a bcache. + However, if you do this, remember that structs can contain `holes' + between members, added for alignment. These bytes usually contain + garbage. If you try to bcache two objects which are identical from + your code's point of view, but have different garbage values in the + structure's holes, then the bcache will treat them as separate + strings, and you won't get the nice elimination of duplicates you + were hoping for. So, remember to memset your structures full of + zeros before bcaching them! + + You shouldn't modify the strings you get from a bcache, because: + + - You don't necessarily know who you're sharing space with. If I + stick eight bytes of text in a bcache, and then stick an + eight-byte structure in the same bcache, there's no guarantee + those two objects don't actually comprise the same sequence of + bytes. If they happen to, the bcache will use a single byte + string for both of them. Then, modifying the structure will + change the string. In bizarre ways. + + - Even if you know for some other reason that all that's okay, + there's another problem. A bcache stores all its strings in a + hash table. If you modify a string's contents, you will probably + change its hash value. This means that the modified string is + now in the wrong place in the hash table, and future bcache + probes will never find it. So by mutating a string, you give up + any chance of sharing its space with future duplicates. */ + + +/* The type used to hold a single bcache string. The user data is + stored in d.data. Since it can be any type, it needs to have the + same alignment as the most strict alignment of any type on the host + machine. I don't know of any really correct way to do this in + stock ANSI C, so just do it the same way obstack.h does. + + It would be nicer to have this stuff hidden away in bcache.c, but + struct objstack contains a struct bcache directly --- not a pointer + to one --- and then the memory-mapped stuff makes this a real pain. + We don't strictly need to expose struct bstring, but it's better to + have it all in one place. */ + +struct bstring { + struct bstring *next; + size_t length; + + union + { char data[1]; double dummy; - } d; + } + d; }; -/* BCACHE_DATA is used to get the address of the cached data. */ - -#define BCACHE_DATA(p) ((p)->d.data) - -/* BCACHE_DATA_ALIGNMENT is used to get the offset of the start of - cached data within the hashlink struct. This value, plus the - size of the cached data, is the amount of space to allocate for - a hashlink struct to hold the next pointer and the data. */ - -#define BCACHE_DATA_ALIGNMENT \ - (((char *) BCACHE_DATA((struct hashlink*) 0) - (char *) 0)) +/* The structure for a bcache itself. + To initialize a bcache, just fill it with zeros. */ struct bcache { + /* All the bstrings are allocated here. */ struct obstack cache; - struct hashlink **indextable[BCACHE_MAXLENGTH]; - int cache_hits; - int cache_misses; - int cache_bytes; - int cache_savings; - int bcache_overflows; -}; -extern void * -bcache PARAMS ((void *bytes, int count, struct bcache *bcachep)); + /* How many hash buckets we're using. */ + unsigned int num_buckets; + + /* Hash buckets. This table is allocated using malloc, so when we + grow the table we can return the old table to the system. */ + struct bstring **bucket; + + /* Statistics. */ + unsigned long unique_count; /* number of unique strings */ + long total_count; /* total number of strings cached, including dups */ + long unique_size; /* size of unique strings, in bytes */ + long total_size; /* total number of bytes cached, including dups */ + long structure_size; /* total size of bcache, including infrastructure */ +}; -#if MAINTENANCE_CMDS -extern void -print_bcache_statistics PARAMS ((struct bcache *, char *)); +/* Find a copy of the LENGTH bytes at ADDR in BCACHE. If BCACHE has + never seen those bytes before, add a copy of them to BCACHE. In + either case, return a pointer to BCACHE's copy of that string. */ +extern void *bcache (const void *addr, int length, struct bcache *bcache); -#endif /* MAINTENANCE_CMDS */ +/* Free all the storage that BCACHE refers to. The result is a valid, + but empty, bcache. This does not free BCACHE itself, since that + might be part of some larger object. */ +extern void free_bcache (struct bcache *bcache); +/* Print statistics on BCACHE's memory usage and efficacity at + eliminating duplication. TYPE should be a string describing the + kind of data BCACHE holds. Statistics are printed using + `printf_filtered' and its ilk. */ +extern void print_bcache_statistics (struct bcache *bcache, char *type); +/* The hash function */ +extern unsigned long hash(const void *addr, int length); #endif /* BCACHE_H */ diff --git a/contrib/gdb/gdb/blockframe.c b/contrib/gdb/gdb/blockframe.c index 9366ca6..1f10381 100644 --- a/contrib/gdb/gdb/blockframe.c +++ b/contrib/gdb/gdb/blockframe.c @@ -1,23 +1,24 @@ /* Get info from stack frames; convert between frames, blocks, functions and pc values. - Copyright 1986, 87, 88, 89, 91, 94, 95, 96, 97, 1998 - Free Software Foundation, Inc. + Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, + 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "defs.h" #include "symtab.h" @@ -30,44 +31,39 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "target.h" /* for target_has_stack */ #include "inferior.h" /* for read_pc */ #include "annotate.h" +#include "regcache.h" /* Prototypes for exported functions. */ -void _initialize_blockframe PARAMS ((void)); +void _initialize_blockframe (void); /* A default FRAME_CHAIN_VALID, in the form that is suitable for most targets. If FRAME_CHAIN_VALID returns zero it means that the given frame is the outermost one and has no caller. */ int -default_frame_chain_valid (chain, thisframe) - CORE_ADDR chain; - struct frame_info *thisframe; +file_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe) { return ((chain) != 0 - && !inside_main_func ((thisframe) -> pc) - && !inside_entry_func ((thisframe) -> pc)); + && !inside_entry_file (FRAME_SAVED_PC (thisframe))); } /* Use the alternate method of avoiding running up off the end of the frame chain or following frames back into the startup code. See the comments in objfiles.h. */ - + int -alternate_frame_chain_valid (chain, thisframe) - CORE_ADDR chain; - struct frame_info *thisframe; +func_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe) { return ((chain) != 0 - && !inside_entry_file (FRAME_SAVED_PC (thisframe))); + && !inside_main_func ((thisframe)->pc) + && !inside_entry_func ((thisframe)->pc)); } /* A very simple method of determining a valid frame */ - + int -nonnull_frame_chain_valid (chain, thisframe) - CORE_ADDR chain; - struct frame_info *thisframe; +nonnull_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe) { return ((chain) != 0); } @@ -81,22 +77,22 @@ nonnull_frame_chain_valid (chain, thisframe) A PC of zero is always considered to be the bottom of the stack. */ int -inside_entry_file (addr) - CORE_ADDR addr; +inside_entry_file (CORE_ADDR addr) { if (addr == 0) return 1; if (symfile_objfile == 0) return 0; -#if CALL_DUMMY_LOCATION == AT_ENTRY_POINT - /* Do not stop backtracing if the pc is in the call dummy - at the entry point. */ -/* FIXME: Won't always work with zeros for the last two arguments */ - if (PC_IN_CALL_DUMMY (addr, 0, 0)) - return 0; -#endif - return (addr >= symfile_objfile -> ei.entry_file_lowpc && - addr < symfile_objfile -> ei.entry_file_highpc); + if (CALL_DUMMY_LOCATION == AT_ENTRY_POINT) + { + /* Do not stop backtracing if the pc is in the call dummy + at the entry point. */ + /* FIXME: Won't always work with zeros for the last two arguments */ + if (PC_IN_CALL_DUMMY (addr, 0, 0)) + return 0; + } + return (addr >= symfile_objfile->ei.entry_file_lowpc && + addr < symfile_objfile->ei.entry_file_highpc); } /* Test a specified PC value to see if it is in the range of addresses @@ -108,8 +104,7 @@ inside_entry_file (addr) A PC of zero is always considered to be the bottom of the stack. */ int -inside_main_func (pc) -CORE_ADDR pc; +inside_main_func (CORE_ADDR pc) { if (pc == 0) return 1; @@ -120,22 +115,22 @@ CORE_ADDR pc; This is for FRAME_CHAIN_VALID_ALTERNATE. I do this for coff, because it is unable to set it up and symbol reading time. */ - if (symfile_objfile -> ei.main_func_lowpc == INVALID_ENTRY_LOWPC && - symfile_objfile -> ei.main_func_highpc == INVALID_ENTRY_HIGHPC) + if (symfile_objfile->ei.main_func_lowpc == INVALID_ENTRY_LOWPC && + symfile_objfile->ei.main_func_highpc == INVALID_ENTRY_HIGHPC) { struct symbol *mainsym; - mainsym = lookup_symbol ("main", NULL, VAR_NAMESPACE, NULL, NULL); - if (mainsym && SYMBOL_CLASS(mainsym) == LOC_BLOCK) - { - symfile_objfile->ei.main_func_lowpc = + mainsym = lookup_symbol (main_name (), NULL, VAR_NAMESPACE, NULL, NULL); + if (mainsym && SYMBOL_CLASS (mainsym) == LOC_BLOCK) + { + symfile_objfile->ei.main_func_lowpc = BLOCK_START (SYMBOL_BLOCK_VALUE (mainsym)); - symfile_objfile->ei.main_func_highpc = + symfile_objfile->ei.main_func_highpc = BLOCK_END (SYMBOL_BLOCK_VALUE (mainsym)); - } + } } - return (symfile_objfile -> ei.main_func_lowpc <= pc && - symfile_objfile -> ei.main_func_highpc > pc); + return (symfile_objfile->ei.main_func_lowpc <= pc && + symfile_objfile->ei.main_func_highpc > pc); } /* Test a specified PC value to see if it is in the range of addresses @@ -147,22 +142,22 @@ CORE_ADDR pc; A PC of zero is always considered to be the bottom of the stack. */ int -inside_entry_func (pc) -CORE_ADDR pc; +inside_entry_func (CORE_ADDR pc) { if (pc == 0) return 1; if (symfile_objfile == 0) return 0; -#if CALL_DUMMY_LOCATION == AT_ENTRY_POINT - /* Do not stop backtracing if the pc is in the call dummy - at the entry point. */ -/* FIXME: Won't always work with zeros for the last two arguments */ - if (PC_IN_CALL_DUMMY (pc, 0, 0)) - return 0; -#endif - return (symfile_objfile -> ei.entry_func_lowpc <= pc && - symfile_objfile -> ei.entry_func_highpc > pc); + if (CALL_DUMMY_LOCATION == AT_ENTRY_POINT) + { + /* Do not stop backtracing if the pc is in the call dummy + at the entry point. */ + /* FIXME: Won't always work with zeros for the last two arguments */ + if (PC_IN_CALL_DUMMY (pc, 0, 0)) + return 0; + } + return (symfile_objfile->ei.entry_func_lowpc <= pc && + symfile_objfile->ei.entry_func_highpc > pc); } /* Info about the innermost stack frame (contents of FP register) */ @@ -176,17 +171,15 @@ static struct frame_info *current_frame; static struct obstack frame_cache_obstack; void * -frame_obstack_alloc (size) - unsigned long size; +frame_obstack_alloc (unsigned long size) { return obstack_alloc (&frame_cache_obstack, size); } void -frame_saved_regs_zalloc (fi) - struct frame_info *fi; +frame_saved_regs_zalloc (struct frame_info *fi) { - fi->saved_regs = (CORE_ADDR*) + fi->saved_regs = (CORE_ADDR *) frame_obstack_alloc (SIZEOF_FRAME_SAVED_REGS); memset (fi->saved_regs, 0, SIZEOF_FRAME_SAVED_REGS); } @@ -195,7 +188,7 @@ frame_saved_regs_zalloc (fi) /* Return the innermost (currently executing) stack frame. */ struct frame_info * -get_current_frame () +get_current_frame (void) { if (current_frame == NULL) { @@ -208,8 +201,7 @@ get_current_frame () } void -set_current_frame (frame) - struct frame_info *frame; +set_current_frame (struct frame_info *frame) { current_frame = frame; } @@ -218,9 +210,7 @@ set_current_frame (frame) Always returns a non-NULL value. */ struct frame_info * -create_new_frame (addr, pc) - CORE_ADDR addr; - CORE_ADDR pc; +create_new_frame (CORE_ADDR addr, CORE_ADDR pc) { struct frame_info *fi; char *name; @@ -229,38 +219,25 @@ create_new_frame (addr, pc) obstack_alloc (&frame_cache_obstack, sizeof (struct frame_info)); - /* Arbitrary frame */ - fi->saved_regs = NULL; - fi->next = NULL; - fi->prev = NULL; + /* Zero all fields by default. */ + memset (fi, 0, sizeof (struct frame_info)); + fi->frame = addr; fi->pc = pc; - find_pc_partial_function (pc, &name, (CORE_ADDR *)NULL,(CORE_ADDR *)NULL); + find_pc_partial_function (pc, &name, (CORE_ADDR *) NULL, (CORE_ADDR *) NULL); fi->signal_handler_caller = IN_SIGTRAMP (fi->pc, name); -#ifdef INIT_EXTRA_FRAME_INFO - INIT_EXTRA_FRAME_INFO (0, fi); -#endif + if (INIT_EXTRA_FRAME_INFO_P ()) + INIT_EXTRA_FRAME_INFO (0, fi); return fi; } -/* Return the frame that called FI. - If FI is the original frame (it has no caller), return 0. */ - -struct frame_info * -get_prev_frame (frame) - struct frame_info *frame; -{ - return get_prev_frame_info (frame); -} - /* Return the frame that FRAME calls (NULL if FRAME is the innermost frame). */ struct frame_info * -get_next_frame (frame) - struct frame_info *frame; +get_next_frame (struct frame_info *frame) { return frame->next; } @@ -268,13 +245,13 @@ get_next_frame (frame) /* Flush the entire frame cache. */ void -flush_cached_frames () +flush_cached_frames (void) { /* Since we can't really be sure what the first object allocated was */ obstack_free (&frame_cache_obstack, 0); obstack_init (&frame_cache_obstack); - current_frame = NULL; /* Invalidate cache */ + current_frame = NULL; /* Invalidate cache */ select_frame (NULL, -1); annotate_frames_invalid (); } @@ -282,50 +259,39 @@ flush_cached_frames () /* Flush the frame cache, and start a new one if necessary. */ void -reinit_frame_cache () +reinit_frame_cache (void) { flush_cached_frames (); - /* FIXME: The inferior_pid test is wrong if there is a corefile. */ - if (inferior_pid != 0) + /* FIXME: The inferior_ptid test is wrong if there is a corefile. */ + if (PIDGET (inferior_ptid) != 0) { select_frame (get_current_frame (), 0); } } -/* If a machine allows frameless functions, it should define a macro - FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) in param.h. FI is the struct - frame_info for the frame, and FRAMELESS should be set to nonzero - if it represents a frameless function invocation. */ - /* Return nonzero if the function for this frame lacks a prologue. Many machines can define FRAMELESS_FUNCTION_INVOCATION to just call this function. */ int -frameless_look_for_prologue (frame) - struct frame_info *frame; +frameless_look_for_prologue (struct frame_info *frame) { CORE_ADDR func_start, after_prologue; + func_start = get_pc_function_start (frame->pc); if (func_start) { func_start += FUNCTION_START_OFFSET; - after_prologue = func_start; -#ifdef SKIP_PROLOGUE_FRAMELESS_P - /* This is faster, since only care whether there *is* a prologue, - not how long it is. */ - SKIP_PROLOGUE_FRAMELESS_P (after_prologue); -#else - SKIP_PROLOGUE (after_prologue); -#endif - return after_prologue == func_start; + /* This is faster, since only care whether there *is* a + prologue, not how long it is. */ + return PROLOGUE_FRAMELESS_P (func_start); } else if (frame->pc == 0) - /* A frame with a zero PC is usually created by dereferencing a NULL - function pointer, normally causing an immediate core dump of the - inferior. Mark function as frameless, as the inferior has no chance - of setting up a stack frame. */ + /* A frame with a zero PC is usually created by dereferencing a + NULL function pointer, normally causing an immediate core dump + of the inferior. Mark function as frameless, as the inferior + has no chance of setting up a stack frame. */ return 1; else /* If we can't find the start of the function, we don't really @@ -337,12 +303,6 @@ frameless_look_for_prologue (frame) /* Default a few macros that people seldom redefine. */ -#if !defined (INIT_FRAME_PC) -#define INIT_FRAME_PC(fromleaf, prev) \ - prev->pc = (fromleaf ? SAVED_PC_AFTER_CALL (prev->next) : \ - prev->next ? FRAME_SAVED_PC (prev->next) : read_pc ()); -#endif - #ifndef FRAME_CHAIN_COMBINE #define FRAME_CHAIN_COMBINE(chain, thisframe) (chain) #endif @@ -352,8 +312,7 @@ frameless_look_for_prologue (frame) if there is no such frame. */ struct frame_info * -get_prev_frame_info (next_frame) - struct frame_info *next_frame; +get_prev_frame (struct frame_info *next_frame) { CORE_ADDR address = 0; struct frame_info *prev; @@ -368,9 +327,9 @@ get_prev_frame_info (next_frame) { #if 0 /* This screws value_of_variable, which just wants a nice clean - NULL return from block_innermost_frame if there are no frames. - I don't think I've ever seen this message happen otherwise. - And returning NULL here is a perfectly legitimate thing to do. */ + NULL return from block_innermost_frame if there are no frames. + I don't think I've ever seen this message happen otherwise. + And returning NULL here is a perfectly legitimate thing to do. */ if (!current_frame) { error ("You haven't set up a process's stack to examine."); @@ -389,33 +348,32 @@ get_prev_frame_info (next_frame) define this macro to take two args; a frameinfo pointer identifying a frame and a variable to set or clear if it is or isn't leafless. */ -#ifdef FRAMELESS_FUNCTION_INVOCATION + /* Still don't want to worry about this except on the innermost frame. This macro will set FROMLEAF if NEXT_FRAME is a frameless function invocation. */ if (!(next_frame->next)) { - FRAMELESS_FUNCTION_INVOCATION (next_frame, fromleaf); + fromleaf = FRAMELESS_FUNCTION_INVOCATION (next_frame); if (fromleaf) address = FRAME_FP (next_frame); } -#endif if (!fromleaf) { /* Two macros defined in tm.h specify the machine-dependent - actions to be performed here. - First, get the frame's chain-pointer. - If that is zero, the frame is the outermost frame or a leaf - called by the outermost frame. This means that if start - calls main without a frame, we'll return 0 (which is fine - anyway). - - Nope; there's a problem. This also returns when the current - routine is a leaf of main. This is unacceptable. We move - this to after the ffi test; I'd rather have backtraces from - start go curfluy than have an abort called from main not show - main. */ + actions to be performed here. + First, get the frame's chain-pointer. + If that is zero, the frame is the outermost frame or a leaf + called by the outermost frame. This means that if start + calls main without a frame, we'll return 0 (which is fine + anyway). + + Nope; there's a problem. This also returns when the current + routine is a leaf of main. This is unacceptable. We move + this to after the ffi test; I'd rather have backtraces from + start go curfluy than have an abort called from main not show + main. */ address = FRAME_CHAIN (next_frame); if (!FRAME_CHAIN_VALID (address, next_frame)) return 0; @@ -428,24 +386,24 @@ get_prev_frame_info (next_frame) obstack_alloc (&frame_cache_obstack, sizeof (struct frame_info)); - prev->saved_regs = NULL; + /* Zero all fields by default. */ + memset (prev, 0, sizeof (struct frame_info)); + if (next_frame) next_frame->prev = prev; prev->next = next_frame; - prev->prev = (struct frame_info *) 0; prev->frame = address; - prev->signal_handler_caller = 0; /* This change should not be needed, FIXME! We should determine whether any targets *need* INIT_FRAME_PC to happen after INIT_EXTRA_FRAME_INFO and come up with a simple way to express what goes on here. - INIT_EXTRA_FRAME_INFO is called from two places: create_new_frame - (where the PC is already set up) and here (where it isn't). - INIT_FRAME_PC is only called from here, always after - INIT_EXTRA_FRAME_INFO. - + INIT_EXTRA_FRAME_INFO is called from two places: create_new_frame + (where the PC is already set up) and here (where it isn't). + INIT_FRAME_PC is only called from here, always after + INIT_EXTRA_FRAME_INFO. + The catch is the MIPS, where INIT_EXTRA_FRAME_INFO requires the PC value (which hasn't been set yet). Some other machines appear to require INIT_EXTRA_FRAME_INFO before they can do INIT_FRAME_PC. Phoo. @@ -457,38 +415,35 @@ get_prev_frame_info (next_frame) INIT_EXTRA_FRAME_INFO, one possible scheme: SETUP_INNERMOST_FRAME() - Default version is just create_new_frame (read_fp ()), - read_pc ()). Machines with extra frame info would do that (or the - local equivalent) and then set the extra fields. + Default version is just create_new_frame (read_fp ()), + read_pc ()). Machines with extra frame info would do that (or the + local equivalent) and then set the extra fields. SETUP_ARBITRARY_FRAME(argc, argv) - Only change here is that create_new_frame would no longer init extra - frame info; SETUP_ARBITRARY_FRAME would have to do that. + Only change here is that create_new_frame would no longer init extra + frame info; SETUP_ARBITRARY_FRAME would have to do that. INIT_PREV_FRAME(fromleaf, prev) - Replace INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC. This should - also return a flag saying whether to keep the new frame, or - whether to discard it, because on some machines (e.g. mips) it - is really awkward to have FRAME_CHAIN_VALID called *before* - INIT_EXTRA_FRAME_INFO (there is no good way to get information - deduced in FRAME_CHAIN_VALID into the extra fields of the new frame). + Replace INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC. This should + also return a flag saying whether to keep the new frame, or + whether to discard it, because on some machines (e.g. mips) it + is really awkward to have FRAME_CHAIN_VALID called *before* + INIT_EXTRA_FRAME_INFO (there is no good way to get information + deduced in FRAME_CHAIN_VALID into the extra fields of the new frame). std_frame_pc(fromleaf, prev) - This is the default setting for INIT_PREV_FRAME. It just does what - the default INIT_FRAME_PC does. Some machines will call it from - INIT_PREV_FRAME (either at the beginning, the end, or in the middle). - Some machines won't use it. + This is the default setting for INIT_PREV_FRAME. It just does what + the default INIT_FRAME_PC does. Some machines will call it from + INIT_PREV_FRAME (either at the beginning, the end, or in the middle). + Some machines won't use it. kingdon@cygnus.com, 13Apr93, 31Jan94, 14Dec94. */ -#ifdef INIT_FRAME_PC_FIRST INIT_FRAME_PC_FIRST (fromleaf, prev); -#endif -#ifdef INIT_EXTRA_FRAME_INFO - INIT_EXTRA_FRAME_INFO(fromleaf, prev); -#endif + if (INIT_EXTRA_FRAME_INFO_P ()) + INIT_EXTRA_FRAME_INFO (fromleaf, prev); /* This entry is in the frame queue now, which is good since FRAME_SAVED_PC may use that queue to figure out its value (see tm-sparc.h). We want the pc saved in the inferior frame. */ - INIT_FRAME_PC(fromleaf, prev); + INIT_FRAME_PC (fromleaf, prev); /* If ->frame and ->pc are unchanged, we are in the process of getting ourselves into an infinite backtrace. Some architectures check this @@ -506,7 +461,7 @@ get_prev_frame_info (next_frame) } find_pc_partial_function (prev->pc, &name, - (CORE_ADDR *)NULL,(CORE_ADDR *)NULL); + (CORE_ADDR *) NULL, (CORE_ADDR *) NULL); if (IN_SIGTRAMP (prev->pc, name)) prev->signal_handler_caller = 1; @@ -514,8 +469,7 @@ get_prev_frame_info (next_frame) } CORE_ADDR -get_frame_pc (frame) - struct frame_info *frame; +get_frame_pc (struct frame_info *frame) { return frame->pc; } @@ -527,13 +481,12 @@ get_frame_pc (frame) /* Find the addresses in which registers are saved in FRAME. */ void -get_frame_saved_regs (frame, saved_regs_addr) - struct frame_info *frame; - struct frame_saved_regs *saved_regs_addr; +get_frame_saved_regs (struct frame_info *frame, + struct frame_saved_regs *saved_regs_addr) { if (frame->saved_regs == NULL) { - frame->saved_regs = (CORE_ADDR*) + frame->saved_regs = (CORE_ADDR *) frame_obstack_alloc (SIZEOF_FRAME_SAVED_REGS); } if (saved_regs_addr == NULL) @@ -554,8 +507,7 @@ get_frame_saved_regs (frame, saved_regs_addr) in a specified stack frame. The frame address is assumed valid. */ struct block * -get_frame_block (frame) - struct frame_info *frame; +get_frame_block (struct frame_info *frame) { CORE_ADDR pc; @@ -572,14 +524,13 @@ get_frame_block (frame) } struct block * -get_current_block () +get_current_block (void) { return block_for_pc (read_pc ()); } CORE_ADDR -get_pc_function_start (pc) - CORE_ADDR pc; +get_pc_function_start (CORE_ADDR pc) { register struct block *bl; register struct symbol *symbol; @@ -606,8 +557,7 @@ get_pc_function_start (pc) /* Return the symbol for the function executing in frame FRAME. */ struct symbol * -get_frame_function (frame) - struct frame_info *frame; +get_frame_function (struct frame_info *frame) { register struct block *bl = get_frame_block (frame); if (bl == 0) @@ -622,18 +572,14 @@ get_frame_function (frame) is NULL, we don't pass this information back to the caller. */ struct blockvector * -blockvector_for_pc_sect (pc, section, pindex, symtab) - register CORE_ADDR pc; - struct sec *section; - int *pindex; - struct symtab *symtab; - +blockvector_for_pc_sect (register CORE_ADDR pc, struct sec *section, + int *pindex, struct symtab *symtab) { register struct block *b; register int bot, top, half; struct blockvector *bl; - if (symtab == 0) /* if no symtab specified by caller */ + if (symtab == 0) /* if no symtab specified by caller */ { /* First search all symtabs for one whose file contains our pc */ if ((symtab = find_pc_sect_symtab (pc, section)) == 0) @@ -664,7 +610,7 @@ blockvector_for_pc_sect (pc, section, pindex, symtab) while (bot >= 0) { b = BLOCKVECTOR_BLOCK (bl, bot); - if (BLOCK_END (b) >= pc) + if (BLOCK_END (b) > pc) { if (pindex) *pindex = bot; @@ -680,9 +626,7 @@ blockvector_for_pc_sect (pc, section, pindex, symtab) Backward compatibility, no section. */ struct blockvector * -blockvector_for_pc (pc, pindex) - register CORE_ADDR pc; - int *pindex; +blockvector_for_pc (register CORE_ADDR pc, int *pindex) { return blockvector_for_pc_sect (pc, find_pc_mapped_section (pc), pindex, NULL); @@ -692,9 +636,7 @@ blockvector_for_pc (pc, pindex) in the specified section, or 0 if there is none. */ struct block * -block_for_pc_sect (pc, section) - register CORE_ADDR pc; - struct sec *section; +block_for_pc_sect (register CORE_ADDR pc, struct sec *section) { register struct blockvector *bl; int index; @@ -709,8 +651,7 @@ block_for_pc_sect (pc, section) or 0 if there is none. Backward compatibility, no section. */ struct block * -block_for_pc (pc) - register CORE_ADDR pc; +block_for_pc (register CORE_ADDR pc) { return block_for_pc_sect (pc, find_pc_mapped_section (pc)); } @@ -719,9 +660,7 @@ block_for_pc (pc) Returns 0 if function is not known. */ struct symbol * -find_pc_sect_function (pc, section) - CORE_ADDR pc; - struct sec *section; +find_pc_sect_function (CORE_ADDR pc, struct sec *section) { register struct block *b = block_for_pc_sect (pc, section); if (b == 0) @@ -733,8 +672,7 @@ find_pc_sect_function (pc, section) Returns 0 if function is not known. Backward compatibility, no section */ struct symbol * -find_pc_function (pc) - CORE_ADDR pc; +find_pc_function (CORE_ADDR pc) { return find_pc_sect_function (pc, find_pc_mapped_section (pc)); } @@ -742,19 +680,19 @@ find_pc_function (pc) /* These variables are used to cache the most recent result * of find_pc_partial_function. */ -static CORE_ADDR cache_pc_function_low = 0; -static CORE_ADDR cache_pc_function_high = 0; -static char *cache_pc_function_name = 0; +static CORE_ADDR cache_pc_function_low = 0; +static CORE_ADDR cache_pc_function_high = 0; +static char *cache_pc_function_name = 0; static struct sec *cache_pc_function_section = NULL; /* Clear cache, e.g. when symbol table is discarded. */ void -clear_pc_function_cache() +clear_pc_function_cache (void) { cache_pc_function_low = 0; cache_pc_function_high = 0; - cache_pc_function_name = (char *)0; + cache_pc_function_name = (char *) 0; cache_pc_function_section = NULL; } @@ -770,24 +708,20 @@ clear_pc_function_cache() returns 0. */ int -find_pc_sect_partial_function (pc, section, name, address, endaddr) - CORE_ADDR pc; - asection *section; - char **name; - CORE_ADDR *address; - CORE_ADDR *endaddr; +find_pc_sect_partial_function (CORE_ADDR pc, asection *section, char **name, + CORE_ADDR *address, CORE_ADDR *endaddr) { struct partial_symtab *pst; - struct symbol *f; + struct symbol *f; struct minimal_symbol *msymbol; struct partial_symbol *psb; - struct obj_section *osect; + struct obj_section *osect; int i; CORE_ADDR mapped_pc; mapped_pc = overlay_mapped_address (pc, section); - if (mapped_pc >= cache_pc_function_low && + if (mapped_pc >= cache_pc_function_low && mapped_pc < cache_pc_function_high && section == cache_pc_function_section) goto return_cached_value; @@ -795,11 +729,11 @@ find_pc_sect_partial_function (pc, section, name, address, endaddr) /* If sigtramp is in the u area, it counts as a function (especially important for step_1). */ #if defined SIGTRAMP_START - if (IN_SIGTRAMP (mapped_pc, (char *)NULL)) + if (IN_SIGTRAMP (mapped_pc, (char *) NULL)) { - cache_pc_function_low = SIGTRAMP_START (mapped_pc); - cache_pc_function_high = SIGTRAMP_END (mapped_pc); - cache_pc_function_name = ""; + cache_pc_function_low = SIGTRAMP_START (mapped_pc); + cache_pc_function_high = SIGTRAMP_END (mapped_pc); + cache_pc_function_name = ""; cache_pc_function_section = section; goto return_cached_value; } @@ -828,9 +762,9 @@ find_pc_sect_partial_function (pc, section, name, address, endaddr) || (BLOCK_START (SYMBOL_BLOCK_VALUE (f)) >= SYMBOL_VALUE_ADDRESS (msymbol)))) { - cache_pc_function_low = BLOCK_START (SYMBOL_BLOCK_VALUE (f)); - cache_pc_function_high = BLOCK_END (SYMBOL_BLOCK_VALUE (f)); - cache_pc_function_name = SYMBOL_NAME (f); + cache_pc_function_low = BLOCK_START (SYMBOL_BLOCK_VALUE (f)); + cache_pc_function_high = BLOCK_END (SYMBOL_BLOCK_VALUE (f)); + cache_pc_function_name = SYMBOL_NAME (f); cache_pc_function_section = section; goto return_cached_value; } @@ -881,21 +815,21 @@ find_pc_sect_partial_function (pc, section, name, address, endaddr) return 0; } - cache_pc_function_low = SYMBOL_VALUE_ADDRESS (msymbol); - cache_pc_function_name = SYMBOL_NAME (msymbol); + cache_pc_function_low = SYMBOL_VALUE_ADDRESS (msymbol); + cache_pc_function_name = SYMBOL_NAME (msymbol); cache_pc_function_section = section; /* Use the lesser of the next minimal symbol in the same section, or the end of the section, as the end of the function. */ - + /* Step over other symbols at this same address, and symbols in other sections, to find the next symbol in this section with a different address. */ - for (i=1; SYMBOL_NAME (msymbol+i) != NULL; i++) + for (i = 1; SYMBOL_NAME (msymbol + i) != NULL; i++) { - if (SYMBOL_VALUE_ADDRESS (msymbol+i) != SYMBOL_VALUE_ADDRESS (msymbol) - && SYMBOL_BFD_SECTION (msymbol+i) == SYMBOL_BFD_SECTION (msymbol)) + if (SYMBOL_VALUE_ADDRESS (msymbol + i) != SYMBOL_VALUE_ADDRESS (msymbol) + && SYMBOL_BFD_SECTION (msymbol + i) == SYMBOL_BFD_SECTION (msymbol)) break; } @@ -907,33 +841,33 @@ find_pc_sect_partial_function (pc, section, name, address, endaddr) So the end address is the end of the section. */ cache_pc_function_high = osect->endaddr; - return_cached_value: +return_cached_value: if (address) { if (pc_in_unmapped_range (pc, section)) - *address = overlay_unmapped_address (cache_pc_function_low, section); + *address = overlay_unmapped_address (cache_pc_function_low, section); else - *address = cache_pc_function_low; + *address = cache_pc_function_low; } - + if (name) *name = cache_pc_function_name; if (endaddr) { if (pc_in_unmapped_range (pc, section)) - { + { /* Because the high address is actually beyond the end of the function (and therefore possibly beyond the end of the overlay), we must actually convert (high - 1) and then add one to that. */ - *endaddr = 1 + overlay_unmapped_address (cache_pc_function_high - 1, + *endaddr = 1 + overlay_unmapped_address (cache_pc_function_high - 1, section); - } + } else - *endaddr = cache_pc_function_high; + *endaddr = cache_pc_function_high; } return 1; @@ -942,13 +876,10 @@ find_pc_sect_partial_function (pc, section, name, address, endaddr) /* Backward compatibility, no section argument */ int -find_pc_partial_function (pc, name, address, endaddr) - CORE_ADDR pc; - char **name; - CORE_ADDR *address; - CORE_ADDR *endaddr; +find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address, + CORE_ADDR *endaddr) { - asection *section; + asection *section; section = find_pc_overlay (pc); return find_pc_sect_partial_function (pc, section, name, address, endaddr); @@ -958,8 +889,7 @@ find_pc_partial_function (pc, name, address, endaddr) or NULL if there is no such frame. If BLOCK is NULL, just return NULL. */ struct frame_info * -block_innermost_frame (block) - struct block *block; +block_innermost_frame (struct block *block) { struct frame_info *frame; register CORE_ADDR start; @@ -986,12 +916,11 @@ block_innermost_frame (block) or NULL if no FRAME on the chain corresponds to CORE_ADDR. */ struct frame_info * -find_frame_addr_in_frame_chain (frame_addr) - CORE_ADDR frame_addr; +find_frame_addr_in_frame_chain (CORE_ADDR frame_addr) { struct frame_info *frame = NULL; - if (frame_addr == (CORE_ADDR)0) + if (frame_addr == (CORE_ADDR) 0) return NULL; while (1) @@ -1008,14 +937,14 @@ find_frame_addr_in_frame_chain (frame_addr) /* Get saved user PC for sigtramp from sigcontext for BSD style sigtramp. */ CORE_ADDR -sigtramp_saved_pc (frame) - struct frame_info *frame; +sigtramp_saved_pc (struct frame_info *frame) { CORE_ADDR sigcontext_addr; - char buf[TARGET_PTR_BIT / TARGET_CHAR_BIT]; + char *buf; int ptrbytes = TARGET_PTR_BIT / TARGET_CHAR_BIT; int sigcontext_offs = (2 * TARGET_INT_BIT) / TARGET_CHAR_BIT; + buf = alloca (ptrbytes); /* Get sigcontext address, it is the third parameter on the stack. */ if (frame->next) sigcontext_addr = read_memory_integer (FRAME_ARGS_ADDRESS (frame->next) @@ -1024,7 +953,7 @@ sigtramp_saved_pc (frame) ptrbytes); else sigcontext_addr = read_memory_integer (read_register (SP_REGNUM) - + sigcontext_offs, + + sigcontext_offs, ptrbytes); /* Don't cause a memory_error when accessing sigcontext in case the stack @@ -1034,7 +963,63 @@ sigtramp_saved_pc (frame) } #endif /* SIGCONTEXT_PC_OFFSET */ -#ifdef USE_GENERIC_DUMMY_FRAMES + +/* Are we in a call dummy? The code below which allows DECR_PC_AFTER_BREAK + below is for infrun.c, which may give the macro a pc without that + subtracted out. */ + +extern CORE_ADDR text_end; + +int +pc_in_call_dummy_before_text_end (CORE_ADDR pc, CORE_ADDR sp, + CORE_ADDR frame_address) +{ + return ((pc) >= text_end - CALL_DUMMY_LENGTH + && (pc) <= text_end + DECR_PC_AFTER_BREAK); +} + +int +pc_in_call_dummy_after_text_end (CORE_ADDR pc, CORE_ADDR sp, + CORE_ADDR frame_address) +{ + return ((pc) >= text_end + && (pc) <= text_end + CALL_DUMMY_LENGTH + DECR_PC_AFTER_BREAK); +} + +/* Is the PC in a call dummy? SP and FRAME_ADDRESS are the bottom and + top of the stack frame which we are checking, where "bottom" and + "top" refer to some section of memory which contains the code for + the call dummy. Calls to this macro assume that the contents of + SP_REGNUM and FP_REGNUM (or the saved values thereof), respectively, + are the things to pass. + + This won't work on the 29k, where SP_REGNUM and FP_REGNUM don't + have that meaning, but the 29k doesn't use ON_STACK. This could be + fixed by generalizing this scheme, perhaps by passing in a frame + and adding a few fields, at least on machines which need them for + PC_IN_CALL_DUMMY. + + Something simpler, like checking for the stack segment, doesn't work, + since various programs (threads implementations, gcc nested function + stubs, etc) may either allocate stack frames in another segment, or + allocate other kinds of code on the stack. */ + +int +pc_in_call_dummy_on_stack (CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address) +{ + return (INNER_THAN ((sp), (pc)) + && (frame_address != 0) + && INNER_THAN ((pc), (frame_address))); +} + +int +pc_in_call_dummy_at_entry_point (CORE_ADDR pc, CORE_ADDR sp, + CORE_ADDR frame_address) +{ + return ((pc) >= CALL_DUMMY_ADDRESS () + && (pc) <= (CALL_DUMMY_ADDRESS () + DECR_PC_AFTER_BREAK)); +} + /* * GENERIC DUMMY FRAMES @@ -1042,7 +1027,7 @@ sigtramp_saved_pc (frame) * The following code serves to maintain the dummy stack frames for * inferior function calls (ie. when gdb calls into the inferior via * call_function_by_hand). This code saves the machine state before - * the call in host memory, so we must maintain an independant stack + * the call in host memory, so we must maintain an independent stack * and keep it consistant etc. I am attempting to make this code * generic enough to be used by many targets. * @@ -1051,7 +1036,23 @@ sigtramp_saved_pc (frame) * zero, and CALL_DUMMY_LOCATION to AT_ENTRY. Then you must remember * to define PUSH_RETURN_ADDRESS, because no call instruction will be * being executed by the target. Also FRAME_CHAIN_VALID as - * generic_frame_chain_valid. */ + * generic_{file,func}_frame_chain_valid and FIX_CALL_DUMMY as + * generic_fix_call_dummy. */ + +/* Dummy frame. This saves the processor state just prior to setting + up the inferior function call. Older targets save the registers + on the target stack (but that really slows down function calls). */ + +struct dummy_frame +{ + struct dummy_frame *next; + + CORE_ADDR pc; + CORE_ADDR fp; + CORE_ADDR sp; + CORE_ADDR top; + char *registers; +}; static struct dummy_frame *dummy_frame_stack = NULL; @@ -1059,21 +1060,21 @@ static struct dummy_frame *dummy_frame_stack = NULL; Search the stack of dummy frames for one matching the given PC, FP and SP. This is the work-horse for pc_in_call_dummy and read_register_dummy */ -char * -generic_find_dummy_frame (pc, fp) - CORE_ADDR pc; - CORE_ADDR fp; +char * +generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp) { - struct dummy_frame * dummyframe; + struct dummy_frame *dummyframe; if (pc != entry_point_address ()) return 0; for (dummyframe = dummy_frame_stack; dummyframe != NULL; dummyframe = dummyframe->next) - if (fp == dummyframe->fp || fp == dummyframe->sp) + if (fp == dummyframe->fp + || fp == dummyframe->sp + || fp == dummyframe->top) /* The frame in question lies between the saved fp and sp, inclusive */ - return dummyframe->regs; + return dummyframe->registers; return 0; } @@ -1082,28 +1083,24 @@ generic_find_dummy_frame (pc, fp) Return true if this is a dummy frame created by gdb for an inferior call */ int -generic_pc_in_call_dummy (pc, fp) - CORE_ADDR pc; - CORE_ADDR fp; +generic_pc_in_call_dummy (CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR fp) { /* if find_dummy_frame succeeds, then PC is in a call dummy */ - return (generic_find_dummy_frame (pc, fp) != 0); + /* Note: SP and not FP is passed on. */ + return (generic_find_dummy_frame (pc, sp) != 0); } /* Function: read_register_dummy Find a saved register from before GDB calls a function in the inferior */ CORE_ADDR -generic_read_register_dummy (pc, fp, regno) - CORE_ADDR pc; - CORE_ADDR fp; - int regno; +generic_read_register_dummy (CORE_ADDR pc, CORE_ADDR fp, int regno) { char *dummy_regs = generic_find_dummy_frame (pc, fp); if (dummy_regs) return extract_address (&dummy_regs[REGISTER_BYTE (regno)], - REGISTER_RAW_SIZE(regno)); + REGISTER_RAW_SIZE (regno)); else return 0; } @@ -1116,7 +1113,7 @@ generic_read_register_dummy (pc, fp, regno) where a breakpoint is laying in wait. */ void -generic_push_dummy_frame () +generic_push_dummy_frame (void) { struct dummy_frame *dummy_frame; CORE_ADDR fp = (get_current_frame ())->frame; @@ -1130,41 +1127,50 @@ generic_push_dummy_frame () if (INNER_THAN (dummy_frame->fp, fp)) /* stale -- destroy! */ { dummy_frame_stack = dummy_frame->next; - free (dummy_frame); + xfree (dummy_frame->registers); + xfree (dummy_frame); dummy_frame = dummy_frame_stack; } else dummy_frame = dummy_frame->next; dummy_frame = xmalloc (sizeof (struct dummy_frame)); - dummy_frame->pc = read_register (PC_REGNUM); - dummy_frame->sp = read_register (SP_REGNUM); - dummy_frame->fp = fp; - read_register_bytes (0, dummy_frame->regs, REGISTER_BYTES); + dummy_frame->registers = xmalloc (REGISTER_BYTES); + + dummy_frame->pc = read_pc (); + dummy_frame->sp = read_sp (); + dummy_frame->top = dummy_frame->sp; + dummy_frame->fp = fp; + read_register_bytes (0, dummy_frame->registers, REGISTER_BYTES); dummy_frame->next = dummy_frame_stack; dummy_frame_stack = dummy_frame; } -/* Function: pop_frame - Restore the machine state from either the saved dummy stack or a +void +generic_save_dummy_frame_tos (CORE_ADDR sp) +{ + dummy_frame_stack->top = sp; +} + +/* Restore the machine state from either the saved dummy stack or a real stack frame. */ void -generic_pop_current_frame (pop) - void (*pop) PARAMS ((struct frame_info *frame)); +generic_pop_current_frame (void (*popper) (struct frame_info * frame)) { struct frame_info *frame = get_current_frame (); - if (PC_IN_CALL_DUMMY(frame->pc, frame->frame, frame->frame)) + + if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)) generic_pop_dummy_frame (); else - pop (frame); + (*popper) (frame); } /* Function: pop_dummy_frame Restore the machine state from a saved dummy stack frame. */ void -generic_pop_dummy_frame () +generic_pop_dummy_frame (void) { struct dummy_frame *dummy_frame = dummy_frame_stack; @@ -1174,28 +1180,51 @@ generic_pop_dummy_frame () if (!dummy_frame) error ("Can't pop dummy frame!"); dummy_frame_stack = dummy_frame->next; - write_register_bytes (0, dummy_frame->regs, REGISTER_BYTES); + write_register_bytes (0, dummy_frame->registers, REGISTER_BYTES); flush_cached_frames (); - free (dummy_frame); + + xfree (dummy_frame->registers); + xfree (dummy_frame); } /* Function: frame_chain_valid Returns true for a user frame or a call_function_by_hand dummy frame, and false for the CRT0 start-up frame. Purpose is to terminate backtrace */ - + int -generic_frame_chain_valid (fp, fi) - CORE_ADDR fp; - struct frame_info *fi; +generic_file_frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) { - if (PC_IN_CALL_DUMMY(FRAME_SAVED_PC(fi), fp, fp)) - return 1; /* don't prune CALL_DUMMY frames */ - else /* fall back to default algorithm (see frame.h) */ + if (PC_IN_CALL_DUMMY (FRAME_SAVED_PC (fi), fp, fp)) + return 1; /* don't prune CALL_DUMMY frames */ + else /* fall back to default algorithm (see frame.h) */ return (fp != 0 && (INNER_THAN (fi->frame, fp) || fi->frame == fp) - && !inside_entry_file (FRAME_SAVED_PC(fi))); + && !inside_entry_file (FRAME_SAVED_PC (fi))); } - + +int +generic_func_frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) +{ + if (PC_IN_CALL_DUMMY ((fi)->pc, fp, fp)) + return 1; /* don't prune CALL_DUMMY frames */ + else /* fall back to default algorithm (see frame.h) */ + return (fp != 0 + && (INNER_THAN (fi->frame, fp) || fi->frame == fp) + && !inside_main_func ((fi)->pc) + && !inside_entry_func ((fi)->pc)); +} + +/* Function: fix_call_dummy + Stub function. Generic dummy frames typically do not need to fix + the frame being created */ + +void +generic_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, + struct value **args, struct type *type, int gcc_p) +{ + return; +} + /* Function: get_saved_register Find register number REGNUM relative to FRAME and put its (raw, target format) contents in *RAW_BUFFER. @@ -1210,7 +1239,7 @@ generic_frame_chain_valid (fp, fi) calculated rather than fetched). We will use not_lval for values fetched from generic dummy frames. - Set *ADDRP to the address, either in memory on as a REGISTER_BYTE + Set *ADDRP to the address, either in memory or as a REGISTER_BYTE offset into the registers array. If the value is stored in a dummy frame, set *ADDRP to zero. @@ -1221,13 +1250,9 @@ generic_frame_chain_valid (fp, fi) The argument RAW_BUFFER must point to aligned memory. */ void -generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval) - char *raw_buffer; - int *optimized; - CORE_ADDR *addrp; - struct frame_info *frame; - int regnum; - enum lval_type *lval; +generic_get_saved_register (char *raw_buffer, int *optimized, CORE_ADDR *addrp, + struct frame_info *frame, int regnum, + enum lval_type *lval) { if (!target_has_registers) error ("No registers."); @@ -1236,7 +1261,7 @@ generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval) if (optimized != NULL) *optimized = 0; - if (addrp) /* default assumption: not found in memory */ + if (addrp) /* default assumption: not found in memory */ *addrp = 0; /* Note: since the current frame's registers could only have been @@ -1248,34 +1273,34 @@ generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval) { if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)) { - if (lval) /* found it in a CALL_DUMMY frame */ + if (lval) /* found it in a CALL_DUMMY frame */ *lval = not_lval; if (raw_buffer) - memcpy (raw_buffer, - generic_find_dummy_frame (frame->pc, frame->frame) + + memcpy (raw_buffer, + generic_find_dummy_frame (frame->pc, frame->frame) + REGISTER_BYTE (regnum), REGISTER_RAW_SIZE (regnum)); - return; + return; } FRAME_INIT_SAVED_REGS (frame); if (frame->saved_regs != NULL && frame->saved_regs[regnum] != 0) { - if (lval) /* found it saved on the stack */ + if (lval) /* found it saved on the stack */ *lval = lval_memory; if (regnum == SP_REGNUM) { - if (raw_buffer) /* SP register treated specially */ - store_address (raw_buffer, REGISTER_RAW_SIZE (regnum), + if (raw_buffer) /* SP register treated specially */ + store_address (raw_buffer, REGISTER_RAW_SIZE (regnum), frame->saved_regs[regnum]); } else { - if (addrp) /* any other register */ + if (addrp) /* any other register */ *addrp = frame->saved_regs[regnum]; if (raw_buffer) - read_memory (frame->saved_regs[regnum], raw_buffer, + read_memory (frame->saved_regs[regnum], raw_buffer, REGISTER_RAW_SIZE (regnum)); } return; @@ -1285,17 +1310,16 @@ generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval) /* If we get thru the loop to this point, it means the register was not saved in any frame. Return the actual live-register value. */ - if (lval) /* found it in a live register */ + if (lval) /* found it in a live register */ *lval = lval_register; if (addrp) *addrp = REGISTER_BYTE (regnum); if (raw_buffer) read_register_gen (regnum, raw_buffer); } -#endif /* USE_GENERIC_DUMMY_FRAMES */ void -_initialize_blockframe () +_initialize_blockframe (void) { obstack_init (&frame_cache_obstack); } diff --git a/contrib/gdb/gdb/breakpoint.c b/contrib/gdb/gdb/breakpoint.c index 4b05949..640505e 100644 --- a/contrib/gdb/gdb/breakpoint.c +++ b/contrib/gdb/gdb/breakpoint.c @@ -1,22 +1,25 @@ /* Everything about breakpoints, for GDB. - Copyright 1986, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999 - Free Software Foundation, Inc. -This file is part of GDB. + Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, + 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software + Foundation, Inc. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This file is part of GDB. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "defs.h" #include @@ -38,174 +41,179 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "annotate.h" #include "symfile.h" #include "objfiles.h" +#include "linespec.h" +#include "completer.h" +#include "gdb.h" +#include "ui-out.h" + +#include "gdb-events.h" /* Prototypes for local functions. */ -static void -catch_command_1 PARAMS ((char *, int, int)); +static void until_break_command_continuation (struct continuation_arg *arg); -static void -enable_delete_command PARAMS ((char *, int)); +static void catch_command_1 (char *, int, int); -static void -enable_delete_breakpoint PARAMS ((struct breakpoint *)); +static void enable_delete_command (char *, int); -static void -enable_once_command PARAMS ((char *, int)); +static void enable_delete_breakpoint (struct breakpoint *); -static void -enable_once_breakpoint PARAMS ((struct breakpoint *)); +static void enable_once_command (char *, int); -static void -disable_command PARAMS ((char *, int)); +static void enable_once_breakpoint (struct breakpoint *); -static void -enable_command PARAMS ((char *, int)); +static void disable_command (char *, int); -static void -map_breakpoint_numbers PARAMS ((char *, void (*)(struct breakpoint *))); +static void enable_command (char *, int); -static void -ignore_command PARAMS ((char *, int)); +static void map_breakpoint_numbers (char *, void (*)(struct breakpoint *)); -static int breakpoint_re_set_one PARAMS ((PTR)); +static void ignore_command (char *, int); -static void -clear_command PARAMS ((char *, int)); +static int breakpoint_re_set_one (PTR); -static void -catch_command PARAMS ((char *, int)); +static void clear_command (char *, int); -static void -handle_gnu_4_16_catch_command PARAMS ((char *, int, int)); +static void catch_command (char *, int); -static struct symtabs_and_lines -get_catch_sals PARAMS ((int)); +static void handle_gnu_4_16_catch_command (char *, int, int); -static void -watch_command PARAMS ((char *, int)); +static struct symtabs_and_lines get_catch_sals (int); -static int -can_use_hardware_watchpoint PARAMS ((struct value *)); +static void watch_command (char *, int); -void -tbreak_command PARAMS ((char *, int)); +static int can_use_hardware_watchpoint (struct value *); -static void -break_command_1 PARAMS ((char *, int, int)); +extern void break_at_finish_command (char *, int); +extern void break_at_finish_at_depth_command (char *, int); -static void -mention PARAMS ((struct breakpoint *)); +extern void tbreak_at_finish_command (char *, int); -struct breakpoint * -set_raw_breakpoint PARAMS ((struct symtab_and_line)); +static void break_command_1 (char *, int, int); -static void -check_duplicates PARAMS ((CORE_ADDR, asection *)); +static void mention (struct breakpoint *); -static void -describe_other_breakpoints PARAMS ((CORE_ADDR, asection *)); +struct breakpoint *set_raw_breakpoint (struct symtab_and_line, enum bptype); -static void -breakpoints_info PARAMS ((char *, int)); +static void check_duplicates (struct breakpoint *); -static void -breakpoint_1 PARAMS ((int, int)); +static void describe_other_breakpoints (CORE_ADDR, asection *); -static bpstat -bpstat_alloc PARAMS ((struct breakpoint *, bpstat)); +static void breakpoints_info (char *, int); -static int breakpoint_cond_eval PARAMS ((PTR)); +static void breakpoint_1 (int, int); -static void -cleanup_executing_breakpoints PARAMS ((PTR)); +static bpstat bpstat_alloc (struct breakpoint *, bpstat); -static void -commands_command PARAMS ((char *, int)); +static int breakpoint_cond_eval (PTR); -static void -condition_command PARAMS ((char *, int)); +static void cleanup_executing_breakpoints (PTR); -static int -get_number PARAMS ((char **)); +static void commands_command (char *, int); -void -set_breakpoint_count PARAMS ((int)); +static void condition_command (char *, int); -#if 0 -static struct breakpoint * -create_temp_exception_breakpoint PARAMS ((CORE_ADDR)); -#endif +static int get_number_trailer (char **, int); -typedef enum { - mark_inserted, - mark_uninserted -} insertion_state_t; +void set_breakpoint_count (int); -static int -remove_breakpoint PARAMS ((struct breakpoint *, insertion_state_t)); +typedef enum + { + mark_inserted, + mark_uninserted + } +insertion_state_t; -static int print_it_normal PARAMS ((bpstat)); +static int remove_breakpoint (struct breakpoint *, insertion_state_t); -typedef struct { - enum exception_event_kind kind; - int enable; -} args_for_catchpoint_enable; +static enum print_stop_action print_it_typical (bpstat); -static int watchpoint_check PARAMS ((PTR)); +static enum print_stop_action print_bp_stop_message (bpstat bs); -static int cover_target_enable_exception_callback PARAMS ((PTR)); +typedef struct + { + enum exception_event_kind kind; + int enable_p; + } +args_for_catchpoint_enable; -static int print_it_done PARAMS ((bpstat)); +static int watchpoint_check (PTR); -static int print_it_noop PARAMS ((bpstat)); +static int cover_target_enable_exception_callback (PTR); -static void maintenance_info_breakpoints PARAMS ((char *, int)); +static void maintenance_info_breakpoints (char *, int); -#ifdef GET_LONGJMP_TARGET -static void create_longjmp_breakpoint PARAMS ((char *)); -#endif +static void create_longjmp_breakpoint (char *); -static int hw_breakpoint_used_count PARAMS ((void)); +static void create_overlay_event_breakpoint (char *); -static int hw_watchpoint_used_count PARAMS ((enum bptype, int *)); +static int hw_breakpoint_used_count (void); -static void hbreak_command PARAMS ((char *, int)); +static int hw_watchpoint_used_count (enum bptype, int *); -static void thbreak_command PARAMS ((char *, int)); +static void hbreak_command (char *, int); -static void watch_command_1 PARAMS ((char *, int, int)); +static void thbreak_command (char *, int); -static void rwatch_command PARAMS ((char *, int)); +static void watch_command_1 (char *, int, int); -static void awatch_command PARAMS ((char *, int)); +static void rwatch_command (char *, int); -static void do_enable_breakpoint PARAMS ((struct breakpoint *, enum bpdisp)); +static void awatch_command (char *, int); -/* Prototypes for exported functions. */ +static void do_enable_breakpoint (struct breakpoint *, enum bpdisp); -static void -awatch_command PARAMS ((char *, int)); +static void solib_load_unload_1 (char *hookname, + int tempflag, + char *dll_pathname, + char *cond_string, enum bptype bp_kind); -static void -do_enable_breakpoint PARAMS ((struct breakpoint *, enum bpdisp)); +static void create_fork_vfork_event_catchpoint (int tempflag, + char *cond_string, + enum bptype bp_kind); -/* If FALSE, gdb will not use hardware support for watchpoints, even - if such is available. */ -static int can_use_hw_watchpoints; +static void break_at_finish_at_depth_command_1 (char *arg, + int flag, int from_tty); + +static void break_at_finish_command_1 (char *arg, int flag, int from_tty); + +static void stop_command (char *arg, int from_tty); -void delete_command PARAMS ((char *, int)); +static void stopin_command (char *arg, int from_tty); -void _initialize_breakpoint PARAMS ((void)); +static void stopat_command (char *arg, int from_tty); -void set_breakpoint_count PARAMS ((int)); +static char *ep_find_event_name_end (char *arg); -extern int addressprint; /* Print machine addresses? */ +static char *ep_parse_optional_if_clause (char **arg); -#if defined (GET_LONGJMP_TARGET) || defined (SOLIB_ADD) -static int internal_breakpoint_number = -1; +static char *ep_parse_optional_filename (char **arg); + +#if defined(CHILD_INSERT_EXEC_CATCHPOINT) +static void catch_exec_command_1 (char *arg, int tempflag, int from_tty); #endif +static void create_exception_catchpoint (int tempflag, char *cond_string, + enum exception_event_kind ex_event, + struct symtab_and_line *sal); + +static void catch_exception_command_1 (enum exception_event_kind ex_event, + char *arg, int tempflag, int from_tty); + +static void tcatch_command (char *arg, int from_tty); + +static void ep_skip_leading_whitespace (char **s); + +/* Prototypes for exported functions. */ + +/* If FALSE, gdb will not use hardware support for watchpoints, even + if such is available. */ +static int can_use_hw_watchpoints; + +void _initialize_breakpoint (void); + +extern int addressprint; /* Print machine addresses? */ + /* Are we executing breakpoint commands? */ static int executing_breakpoint_commands; @@ -213,12 +221,12 @@ static int executing_breakpoint_commands; ALL_BREAKPOINTS_SAFE does so even if the statment deletes the current breakpoint. */ -#define ALL_BREAKPOINTS(b) for (b = breakpoint_chain; b; b = b->next) +#define ALL_BREAKPOINTS(B) for (B = breakpoint_chain; B; B = B->next) -#define ALL_BREAKPOINTS_SAFE(b,tmp) \ - for (b = breakpoint_chain; \ - b? (tmp=b->next, 1): 0; \ - b = tmp) +#define ALL_BREAKPOINTS_SAFE(B,TMP) \ + for (B = breakpoint_chain; \ + B ? (TMP=B->next, 1): 0; \ + B = TMP) /* True if SHIFT_INST_REGS defined, false otherwise. */ @@ -228,7 +236,7 @@ int must_shift_inst_regs = #else 0 #endif -; + ; /* True if breakpoint hit counts should be displayed in breakpoint info. */ @@ -242,13 +250,13 @@ struct breakpoint *breakpoint_chain; int breakpoint_count; -/* Pointer to current exception event record */ -static struct exception_event_record * current_exception_event; +/* Pointer to current exception event record */ +static struct exception_event_record *current_exception_event; /* Indicator of whether exception catchpoints should be nuked between runs of a program */ int exception_catchpoints_are_fragile = 0; - + /* Indicator of when exception catchpoints set-up should be reinitialized -- e.g. when program is re-run */ int exception_support_initialized = 0; @@ -309,8 +317,7 @@ int exception_support_initialized = 0; /* Set breakpoint count to NUM. */ void -set_breakpoint_count (num) - int num; +set_breakpoint_count (int num) { breakpoint_count = num; set_internalvar (lookup_internalvar ("bpnum"), @@ -320,7 +327,7 @@ set_breakpoint_count (num) /* Used in run_command to zero the hit count when a new run starts. */ void -clear_breakpoint_hit_counts () +clear_breakpoint_hit_counts (void) { struct breakpoint *b; @@ -345,12 +352,14 @@ int default_breakpoint_line; Currently the string can either be a number or "$" followed by the name of a convenience variable. Making it an expression wouldn't work well - for map_breakpoint_numbers (e.g. "4 + 5 + 6"). */ + for map_breakpoint_numbers (e.g. "4 + 5 + 6"). + + TRAILER is a character which can be found after the number; most + commonly this is `-'. If you don't want a trailer, use \0. */ static int -get_number (pp) - char **pp; +get_number_trailer (char **pp, int trailer) { - int retval; + int retval = 0; /* default */ char *p = *pp; if (p == NULL) @@ -359,10 +368,10 @@ get_number (pp) else if (*p == '$') { /* Make a copy of the name, so we can null-terminate it - to pass to lookup_internalvar(). */ + to pass to lookup_internalvar(). */ char *varname; char *start = ++p; - value_ptr val; + struct value *val; while (isalnum (*p) || *p == '_') p++; @@ -370,11 +379,13 @@ get_number (pp) strncpy (varname, start, p - start); varname[p - start] = '\0'; val = value_of_internalvar (lookup_internalvar (varname)); - if (TYPE_CODE (VALUE_TYPE (val)) != TYPE_CODE_INT) - error ( -"Convenience variables used to specify breakpoints must have integer values." - ); - retval = (int) value_as_long (val); + if (TYPE_CODE (VALUE_TYPE (val)) == TYPE_CODE_INT) + retval = (int) value_as_long (val); + else + { + printf_filtered ("Convenience variable must have integer value.\n"); + retval = 0; + } } else { @@ -384,23 +395,119 @@ get_number (pp) ++p; if (p == *pp) /* There is no number here. (e.g. "cond a == b"). */ - error_no_arg ("breakpoint number"); - retval = atoi (*pp); + { + /* Skip non-numeric token */ + while (*p && !isspace((int) *p)) + ++p; + /* Return zero, which caller must interpret as error. */ + retval = 0; + } + else + retval = atoi (*pp); + } + if (!(isspace (*p) || *p == '\0' || *p == trailer)) + { + /* Trailing junk: return 0 and let caller print error msg. */ + while (!(isspace (*p) || *p == '\0' || *p == trailer)) + ++p; + retval = 0; } - if (!(isspace (*p) || *p == '\0')) - error ("breakpoint number expected"); while (isspace (*p)) p++; *pp = p; return retval; } + + +/* Like get_number_trailer, but don't allow a trailer. */ +int +get_number (char **pp) +{ + return get_number_trailer (pp, '\0'); +} + +/* Parse a number or a range. + * A number will be of the form handled by get_number. + * A range will be of the form - , and + * will represent all the integers between number1 and number2, + * inclusive. + * + * While processing a range, this fuction is called iteratively; + * At each call it will return the next value in the range. + * + * At the beginning of parsing a range, the char pointer PP will + * be advanced past and left pointing at the '-' token. + * Subsequent calls will not advance the pointer until the range + * is completed. The call that completes the range will advance + * pointer PP past . + */ + +int +get_number_or_range (char **pp) +{ + static int last_retval, end_value; + static char *end_ptr; + static int in_range = 0; + + if (**pp != '-') + { + /* Default case: pp is pointing either to a solo number, + or to the first number of a range. */ + last_retval = get_number_trailer (pp, '-'); + if (**pp == '-') + { + char **temp; + + /* This is the start of a range ( - ). + Skip the '-', parse and remember the second number, + and also remember the end of the final token. */ + + temp = &end_ptr; + end_ptr = *pp + 1; + while (isspace ((int) *end_ptr)) + end_ptr++; /* skip white space */ + end_value = get_number (temp); + if (end_value < last_retval) + { + error ("inverted range"); + } + else if (end_value == last_retval) + { + /* degenerate range (number1 == number2). Advance the + token pointer so that the range will be treated as a + single number. */ + *pp = end_ptr; + } + else + in_range = 1; + } + } + else if (! in_range) + error ("negative value"); + else + { + /* pp points to the '-' that betokens a range. All + number-parsing has already been done. Return the next + integer value (one greater than the saved previous value). + Do not advance the token pointer 'pp' until the end of range + is reached. */ + + if (++last_retval == end_value) + { + /* End of range reached; advance token pointer. */ + *pp = end_ptr; + in_range = 0; + } + } + return last_retval; +} + + /* condition N EXP -- set break condition of breakpoint N to EXP. */ static void -condition_command (arg, from_tty) - char *arg; - int from_tty; +condition_command (char *arg, int from_tty) { register struct breakpoint *b; char *p; @@ -411,47 +518,47 @@ condition_command (arg, from_tty) p = arg; bnum = get_number (&p); + if (bnum == 0) + error ("Bad breakpoint argument: '%s'", arg); ALL_BREAKPOINTS (b) if (b->number == bnum) - { - if (b->cond) - { - free ((PTR)b->cond); - b->cond = 0; - } - if (b->cond_string != NULL) - free ((PTR)b->cond_string); + { + if (b->cond) + { + xfree (b->cond); + b->cond = 0; + } + if (b->cond_string != NULL) + xfree (b->cond_string); - if (*p == 0) - { - b->cond = 0; - b->cond_string = NULL; - if (from_tty) - printf_filtered ("Breakpoint %d now unconditional.\n", bnum); - } - else - { - arg = p; - /* I don't know if it matters whether this is the string the user - typed in or the decompiled expression. */ - b->cond_string = savestring (arg, strlen (arg)); - b->cond = parse_exp_1 (&arg, block_for_pc (b->address), 0); - if (*arg) - error ("Junk at end of expression"); - } - breakpoints_changed (); - return; - } + if (*p == 0) + { + b->cond = 0; + b->cond_string = NULL; + if (from_tty) + printf_filtered ("Breakpoint %d now unconditional.\n", bnum); + } + else + { + arg = p; + /* I don't know if it matters whether this is the string the user + typed in or the decompiled expression. */ + b->cond_string = savestring (arg, strlen (arg)); + b->cond = parse_exp_1 (&arg, block_for_pc (b->address), 0); + if (*arg) + error ("Junk at end of expression"); + } + breakpoints_changed (); + return; + } error ("No breakpoint number %d.", bnum); } /* ARGSUSED */ static void -commands_command (arg, from_tty) - char *arg; - int from_tty; +commands_command (char *arg, int from_tty) { register struct breakpoint *b; char *p; @@ -467,20 +574,23 @@ commands_command (arg, from_tty) p = arg; bnum = get_number (&p); + if (p && *p) error ("Unexpected extra arguments following breakpoint number."); - + ALL_BREAKPOINTS (b) if (b->number == bnum) - { - char tmpbuf[128]; - sprintf (tmpbuf, "Type commands for when breakpoint %d is hit, one per line.", bnum); - l = read_command_lines (tmpbuf, from_tty); - free_command_lines (&b->commands); - b->commands = l; - breakpoints_changed (); - return; - } + { + char tmpbuf[128]; + sprintf (tmpbuf, + "Type commands for when breakpoint %d is hit, one per line.", + bnum); + l = read_command_lines (tmpbuf, from_tty); + free_command_lines (&b->commands); + b->commands = l; + breakpoints_changed (); + return; + } error ("No breakpoint number %d.", bnum); } @@ -493,10 +603,7 @@ commands_command (arg, from_tty) shadow contents, not the breakpoints themselves. From breakpoint.c. */ int -read_memory_nobpt (memaddr, myaddr, len) - CORE_ADDR memaddr; - char *myaddr; - unsigned len; +read_memory_nobpt (CORE_ADDR memaddr, char *myaddr, unsigned len) { int status; struct breakpoint *b; @@ -506,100 +613,101 @@ read_memory_nobpt (memaddr, myaddr, len) if (BREAKPOINT_FROM_PC (&bp_addr, &bp_size) == NULL) /* No breakpoints on this machine. */ return target_read_memory (memaddr, myaddr, len); - + ALL_BREAKPOINTS (b) + { + if (b->type == bp_none) + warning ("reading through apparently deleted breakpoint #%d?", + b->number); + + /* memory breakpoint? */ + if (b->type == bp_watchpoint + || b->type == bp_hardware_watchpoint + || b->type == bp_read_watchpoint + || b->type == bp_access_watchpoint) + continue; + /* bp in memory? */ + if (!b->inserted) + continue; + /* Addresses and length of the part of the breakpoint that + we need to copy. */ + /* XXXX The m68k, sh and h8300 have different local and remote + breakpoint values. BREAKPOINT_FROM_PC still manages to + correctly determine the breakpoints memory address and size + for these targets. */ + bp_addr = b->address; + bp_size = 0; + if (BREAKPOINT_FROM_PC (&bp_addr, &bp_size) == NULL) + continue; + if (bp_size == 0) + /* bp isn't valid */ + continue; + if (bp_addr + bp_size <= memaddr) + /* The breakpoint is entirely before the chunk of memory we + are reading. */ + continue; + if (bp_addr >= memaddr + len) + /* The breakpoint is entirely after the chunk of memory we are + reading. */ + continue; + /* Copy the breakpoint from the shadow contents, and recurse for + the things before and after. */ { - if (b->type == bp_none) - warning ("attempted to read through apparently deleted breakpoint #%d?\n", b->number); + /* Offset within shadow_contents. */ + int bptoffset = 0; - /* memory breakpoint? */ - if (b->type == bp_watchpoint - || b->type == bp_hardware_watchpoint - || b->type == bp_read_watchpoint - || b->type == bp_access_watchpoint) - continue; - /* bp in memory? */ - if (!b->inserted) - continue; - /* Addresses and length of the part of the breakpoint that - we need to copy. */ - /* XXXX The m68k, sh and h8300 have different local and remote - breakpoint values. BREAKPOINT_FROM_PC still manages to - correctly determine the breakpoints memory address and size - for these targets. */ - bp_addr = b->address; - bp_size = 0; - if (BREAKPOINT_FROM_PC (&bp_addr, &bp_size) == NULL) - continue; - if (bp_size == 0) - /* bp isn't valid */ - continue; - if (bp_addr + bp_size <= memaddr) - /* The breakpoint is entirely before the chunk of memory we - are reading. */ - continue; - if (bp_addr >= memaddr + len) - /* The breakpoint is entirely after the chunk of memory we are - reading. */ - continue; - /* Copy the breakpoint from the shadow contents, and recurse for - the things before and after. */ - { - /* Offset within shadow_contents. */ - int bptoffset = 0; - - if (bp_addr < memaddr) - { - /* Only copy the second part of the breakpoint. */ - bp_size -= memaddr - bp_addr; - bptoffset = memaddr - bp_addr; - bp_addr = memaddr; - } - - if (bp_addr + bp_size > memaddr + len) - { - /* Only copy the first part of the breakpoint. */ - bp_size -= (bp_addr + bp_size) - (memaddr + len); - } - - memcpy (myaddr + bp_addr - memaddr, - b->shadow_contents + bptoffset, bp_size); - - if (bp_addr > memaddr) - { - /* Copy the section of memory before the breakpoint. */ - status = read_memory_nobpt (memaddr, myaddr, bp_addr - memaddr); - if (status != 0) - return status; - } - - if (bp_addr + bp_size < memaddr + len) - { - /* Copy the section of memory after the breakpoint. */ - status = read_memory_nobpt - (bp_addr + bp_size, - myaddr + bp_addr + bp_size - memaddr, - memaddr + len - (bp_addr + bp_size)); - if (status != 0) - return status; - } - return 0; - } + if (bp_addr < memaddr) + { + /* Only copy the second part of the breakpoint. */ + bp_size -= memaddr - bp_addr; + bptoffset = memaddr - bp_addr; + bp_addr = memaddr; + } + + if (bp_addr + bp_size > memaddr + len) + { + /* Only copy the first part of the breakpoint. */ + bp_size -= (bp_addr + bp_size) - (memaddr + len); + } + + memcpy (myaddr + bp_addr - memaddr, + b->shadow_contents + bptoffset, bp_size); + + if (bp_addr > memaddr) + { + /* Copy the section of memory before the breakpoint. */ + status = read_memory_nobpt (memaddr, myaddr, bp_addr - memaddr); + if (status != 0) + return status; + } + + if (bp_addr + bp_size < memaddr + len) + { + /* Copy the section of memory after the breakpoint. */ + status = read_memory_nobpt (bp_addr + bp_size, + myaddr + bp_addr + bp_size - memaddr, + memaddr + len - (bp_addr + bp_size)); + if (status != 0) + return status; + } + return 0; } + } /* Nothing overlaps. Just call read_memory_noerr. */ return target_read_memory (memaddr, myaddr, len); } - + /* insert_breakpoints is used when starting or continuing the program. remove_breakpoints is used when the program stops. Both return zero if successful, or an `errno' value if could not write the inferior. */ int -insert_breakpoints () +insert_breakpoints (void) { register struct breakpoint *b, *temp; + int return_val = 0; /* return success code. */ int val = 0; int disabled_breaks = 0; @@ -608,112 +716,118 @@ insert_breakpoints () ALL_BREAKPOINTS_SAFE (b, temp) - { - if (b->type != bp_watchpoint - && b->type != bp_hardware_watchpoint - && b->type != bp_read_watchpoint - && b->type != bp_access_watchpoint - && b->type != bp_catch_fork - && b->type != bp_catch_vfork - && b->type != bp_catch_exec - && b->type != bp_catch_throw - && b->type != bp_catch_catch - && b->enable != disabled - && b->enable != shlib_disabled - && b->enable != call_disabled - && ! b->inserted - && ! b->duplicate) - { - if (b->type == bp_hardware_breakpoint) - val = target_insert_hw_breakpoint(b->address, b->shadow_contents); - else - { - /* Check to see if breakpoint is in an overlay section; - if so, we should set the breakpoint at the LMA address. - Only if the section is currently mapped should we ALSO - set a break at the VMA address. */ - if (overlay_debugging && b->section && - section_is_overlay (b->section)) - { - CORE_ADDR addr; - - addr = overlay_unmapped_address (b->address, b->section); - val = target_insert_breakpoint (addr, b->shadow_contents); - /* This would be the time to check val, to see if the - breakpoint write to the load address succeeded. - However, this might be an ordinary occurrance, eg. if - the unmapped overlay is in ROM. */ - val = 0; /* in case unmapped address failed */ - if (section_is_mapped (b->section)) - val = target_insert_breakpoint (b->address, - b->shadow_contents); - } - else /* ordinary (non-overlay) address */ - val = target_insert_breakpoint(b->address, b->shadow_contents); - } - if (val) - { - /* Can't set the breakpoint. */ + { + if (b->enable_state == bp_permanent) + /* Permanent breakpoints cannot be inserted or removed. */ + continue; + else if (b->type != bp_watchpoint + && b->type != bp_hardware_watchpoint + && b->type != bp_read_watchpoint + && b->type != bp_access_watchpoint + && b->type != bp_catch_fork + && b->type != bp_catch_vfork + && b->type != bp_catch_exec + && b->type != bp_catch_throw + && b->type != bp_catch_catch + && b->enable_state != bp_disabled + && b->enable_state != bp_shlib_disabled + && b->enable_state != bp_call_disabled + && !b->inserted + && !b->duplicate) + { + if (b->type == bp_hardware_breakpoint) + val = target_insert_hw_breakpoint (b->address, b->shadow_contents); + else + { + /* Check to see if breakpoint is in an overlay section; + if so, we should set the breakpoint at the LMA address. + Only if the section is currently mapped should we ALSO + set a break at the VMA address. */ + if (overlay_debugging && b->section + && section_is_overlay (b->section)) + { + CORE_ADDR addr; + + addr = overlay_unmapped_address (b->address, b->section); + val = target_insert_breakpoint (addr, b->shadow_contents); + /* This would be the time to check val, to see if the + breakpoint write to the load address succeeded. + However, this might be an ordinary occurrance, eg. if + the unmapped overlay is in ROM. */ + val = 0; /* in case unmapped address failed */ + if (section_is_mapped (b->section)) + val = target_insert_breakpoint (b->address, + b->shadow_contents); + } + else /* ordinary (non-overlay) address */ + val = target_insert_breakpoint (b->address, b->shadow_contents); + } + if (val) + { + /* Can't set the breakpoint. */ #if defined (DISABLE_UNSETTABLE_BREAK) - if (DISABLE_UNSETTABLE_BREAK (b->address)) - { - /* See also: disable_breakpoints_in_shlibs. */ - val = 0; - b->enable = shlib_disabled; - if (!disabled_breaks) - { - target_terminal_ours_for_output (); - fprintf_unfiltered (gdb_stderr, - "Cannot insert breakpoint %d:\n", b->number); - printf_filtered ("Temporarily disabling shared library breakpoints:\n"); - } - disabled_breaks = 1; - printf_filtered ("%d ", b->number); - } - else + if (DISABLE_UNSETTABLE_BREAK (b->address)) + { + /* See also: disable_breakpoints_in_shlibs. */ + val = 0; + b->enable_state = bp_shlib_disabled; + if (!disabled_breaks) + { + target_terminal_ours_for_output (); + warning ("Cannot insert breakpoint %d:", b->number); + warning ("Temporarily disabling shared library breakpoints:"); + } + disabled_breaks = 1; + warning ("breakpoint #%d ", b->number); + } + else #endif - { - target_terminal_ours_for_output (); - fprintf_unfiltered (gdb_stderr, "Cannot insert breakpoint %d:\n", b->number); + { + target_terminal_ours_for_output (); + warning ("Cannot insert breakpoint %d:", b->number); #ifdef ONE_PROCESS_WRITETEXT - fprintf_unfiltered (gdb_stderr, - "The same program may be running in another process.\n"); + warning ("The same program may be running in another process."); #endif - memory_error (val, b->address); /* which bombs us out */ - } - } - else - b->inserted = 1; - } + memory_error (val, b->address); /* which bombs us out */ + } + } + else + b->inserted = 1; + + if (val) + return_val = val; /* remember failure */ + } else if (ep_is_exception_catchpoint (b) - && b->enable != disabled - && b->enable != shlib_disabled - && b->enable != call_disabled - && ! b->inserted - && ! b->duplicate) + && b->enable_state != bp_disabled + && b->enable_state != bp_shlib_disabled + && b->enable_state != bp_call_disabled + && !b->inserted + && !b->duplicate) { - /* If we get here, we must have a callback mechanism for exception - events -- with g++ style embedded label support, we insert - ordinary breakpoints and not catchpoints. */ - sprintf (message, message1, b->number); /* Format possible error message */ - - val = target_insert_breakpoint(b->address, b->shadow_contents); - if (val) - { - /* Couldn't set breakpoint for some reason */ - target_terminal_ours_for_output (); - fprintf_unfiltered (gdb_stderr, - "Cannot insert catchpoint %d; disabling it\n", b->number); - b->enable = disabled; - } - else - { - /* Bp set, now make sure callbacks are enabled */ + /* If we get here, we must have a callback mechanism for exception + events -- with g++ style embedded label support, we insert + ordinary breakpoints and not catchpoints. */ + /* Format possible error message */ + sprintf (message, message1, b->number); + + val = target_insert_breakpoint (b->address, b->shadow_contents); + if (val) + { + /* Couldn't set breakpoint for some reason */ + target_terminal_ours_for_output (); + warning ("Cannot insert catchpoint %d; disabling it.", + b->number); + b->enable_state = bp_disabled; + } + else + { + /* Bp set, now make sure callbacks are enabled */ int val; - args_for_catchpoint_enable args; - args.kind = b->type == bp_catch_catch ? EX_EVENT_CATCH : EX_EVENT_THROW; - args.enable = 1; + args_for_catchpoint_enable args; + args.kind = b->type == bp_catch_catch ? + EX_EVENT_CATCH : EX_EVENT_THROW; + args.enable_p = 1; val = catch_errors (cover_target_enable_exception_callback, &args, message, RETURN_MASK_ALL); @@ -721,196 +835,257 @@ insert_breakpoints () { b->inserted = 1; } - /* Check if something went wrong; val == 0 can be ignored */ + /* Check if something went wrong; val == 0 can be ignored */ if (val == -1) { - /* something went wrong */ + /* something went wrong */ target_terminal_ours_for_output (); - fprintf_unfiltered (gdb_stderr, "Cannot insert catchpoint %d; disabling it\n", b->number); - b->enable = disabled; + warning ("Cannot insert catchpoint %d; disabling it.", + b->number); + b->enable_state = bp_disabled; } - } - } + } - else if ((b->type == bp_hardware_watchpoint || - b->type == bp_read_watchpoint || - b->type == bp_access_watchpoint) - && b->enable == enabled - && ! b->inserted - && ! b->duplicate) - { - struct frame_info *saved_frame; - int saved_level, within_current_scope; - value_ptr mark = value_mark (); - value_ptr v; - - /* Save the current frame and level so we can restore it after - evaluating the watchpoint expression on its own frame. */ - saved_frame = selected_frame; - saved_level = selected_frame_level; - - /* Determine if the watchpoint is within scope. */ - if (b->exp_valid_block == NULL) - within_current_scope = 1; - else - { - struct frame_info *fi; - - /* There might be no current frame at this moment if we are - resuming from a step over a breakpoint. - Set up current frame before trying to find the watchpoint - frame. */ - get_current_frame (); - fi = find_frame_addr_in_frame_chain (b->watchpoint_frame); - within_current_scope = (fi != NULL); - if (within_current_scope) - select_frame (fi, -1); - } - - if (within_current_scope) - { - /* Evaluate the expression and cut the chain of values - produced off from the value chain. */ - v = evaluate_expression (b->exp); - value_release_to_mark (mark); - - b->val_chain = v; - b->inserted = 1; - - /* Look at each value on the value chain. */ - for ( ; v; v=v->next) - { - /* If it's a memory location, then we must watch it. */ - if (v->lval == lval_memory) - { - int addr, len, type; - - addr = VALUE_ADDRESS (v) + VALUE_OFFSET (v); - len = TYPE_LENGTH (VALUE_TYPE (v)); - type = 0; - if (b->type == bp_read_watchpoint) - type = 1; - else if (b->type == bp_access_watchpoint) - type = 2; - - val = target_insert_watchpoint (addr, len, type); - if (val == -1) - { - b->inserted = 0; - break; - } - val = 0; - } - } - /* Failure to insert a watchpoint on any memory value in the - value chain brings us here. */ - if (!b->inserted) - warning ("Hardware watchpoint %d: Could not insert watchpoint\n", - b->number); - } - else - { - printf_filtered ("\ -Hardware watchpoint %d deleted because the program has left the block in\n\ -which its expression is valid.\n", b->number); - if (b->related_breakpoint) - b->related_breakpoint->disposition = del_at_next_stop; - b->disposition = del_at_next_stop; - } + if (val) + return_val = val; /* remember failure */ + } - /* Restore the frame and level. */ - if ((saved_frame != selected_frame) || - (saved_level != selected_frame_level)) - select_and_print_frame (saved_frame, saved_level); - } - else if ((b->type == bp_catch_fork - || b->type == bp_catch_vfork - || b->type == bp_catch_exec) - && b->enable == enabled - && ! b->inserted - && ! b->duplicate) - { - val = -1; - switch (b->type) - { - case bp_catch_fork : - val = target_insert_fork_catchpoint (inferior_pid); - break; - case bp_catch_vfork : - val = target_insert_vfork_catchpoint (inferior_pid); - break; - case bp_catch_exec : - val = target_insert_exec_catchpoint (inferior_pid); - break; - } - if (val < 0) - { - target_terminal_ours_for_output (); - fprintf_unfiltered (gdb_stderr, "Cannot insert catchpoint %d:\n", b->number); - } - else - b->inserted = 1; - } - } - if (disabled_breaks) - printf_filtered ("\n"); + else if ((b->type == bp_hardware_watchpoint || + b->type == bp_read_watchpoint || + b->type == bp_access_watchpoint) + && b->enable_state == bp_enabled + && b->disposition != disp_del_at_next_stop + && !b->inserted + && !b->duplicate) + { + struct frame_info *saved_frame; + int saved_level, within_current_scope; + struct value *mark = value_mark (); + struct value *v; + + /* Save the current frame and level so we can restore it after + evaluating the watchpoint expression on its own frame. */ + saved_frame = selected_frame; + saved_level = selected_frame_level; + + /* Determine if the watchpoint is within scope. */ + if (b->exp_valid_block == NULL) + within_current_scope = 1; + else + { + struct frame_info *fi; + + /* There might be no current frame at this moment if we are + resuming from a step over a breakpoint. + Set up current frame before trying to find the watchpoint + frame. */ + get_current_frame (); + fi = find_frame_addr_in_frame_chain (b->watchpoint_frame); + within_current_scope = (fi != NULL); + if (within_current_scope) + select_frame (fi, -1); + } - return val; -} + if (within_current_scope) + { + /* Evaluate the expression and cut the chain of values + produced off from the value chain. + Make sure the value returned isn't lazy; we use + laziness to determine what memory GDB actually needed + in order to compute the value of the expression. */ + v = evaluate_expression (b->exp); + VALUE_CONTENTS(v); + value_release_to_mark (mark); -int -remove_breakpoints () -{ - register struct breakpoint *b; - int val; + b->val_chain = v; + b->inserted = 1; - ALL_BREAKPOINTS (b) - { - if (b->inserted) - { - val = remove_breakpoint (b, mark_uninserted); - if (val != 0) - return val; - } - } + /* Look at each value on the value chain. */ + for (; v; v = v->next) + { + /* If it's a memory location, and GDB actually needed + its contents to evaluate the expression, then we + must watch it. */ + if (VALUE_LVAL (v) == lval_memory + && ! VALUE_LAZY (v)) + { + struct type *vtype = check_typedef (VALUE_TYPE (v)); + + /* We only watch structs and arrays if user asked + for it explicitly, never if they just happen to + appear in the middle of some value chain. */ + if (v == b->val_chain + || (TYPE_CODE (vtype) != TYPE_CODE_STRUCT + && TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) + { + CORE_ADDR addr; + int len, type; + + addr = VALUE_ADDRESS (v) + VALUE_OFFSET (v); + len = TYPE_LENGTH (VALUE_TYPE (v)); + type = hw_write; + if (b->type == bp_read_watchpoint) + type = hw_read; + else if (b->type == bp_access_watchpoint) + type = hw_access; + + val = target_insert_watchpoint (addr, len, type); + if (val == -1) + { + /* Don't exit the loop, try to insert + every value on the value chain. That's + because we will be removing all the + watches below, and removing a + watchpoint we didn't insert could have + adverse effects. */ + b->inserted = 0; + } + val = 0; + } + } + } + /* Failure to insert a watchpoint on any memory value in the + value chain brings us here. */ + if (!b->inserted) + { + remove_breakpoint (b, mark_uninserted); + warning ("Could not insert hardware watchpoint %d.", + b->number); + val = -1; + } + } + else + { + printf_filtered ("Hardware watchpoint %d deleted ", b->number); + printf_filtered ("because the program has left the block \n"); + printf_filtered ("in which its expression is valid.\n"); + if (b->related_breakpoint) + b->related_breakpoint->disposition = disp_del_at_next_stop; + b->disposition = disp_del_at_next_stop; + } + + /* Restore the frame and level. */ + if ((saved_frame != selected_frame) || + (saved_level != selected_frame_level)) + select_frame (saved_frame, saved_level); + + if (val) + return_val = val; /* remember failure */ + } + else if ((b->type == bp_catch_fork + || b->type == bp_catch_vfork + || b->type == bp_catch_exec) + && b->enable_state == bp_enabled + && !b->inserted + && !b->duplicate) + { + val = -1; + switch (b->type) + { + case bp_catch_fork: + val = target_insert_fork_catchpoint (PIDGET (inferior_ptid)); + break; + case bp_catch_vfork: + val = target_insert_vfork_catchpoint (PIDGET (inferior_ptid)); + break; + case bp_catch_exec: + val = target_insert_exec_catchpoint (PIDGET (inferior_ptid)); + break; + default: + warning ("Internal error, %s line %d.", __FILE__, __LINE__); + break; + } + if (val < 0) + { + target_terminal_ours_for_output (); + warning ("Cannot insert catchpoint %d.", b->number); + } + else + b->inserted = 1; + + if (val) + return_val = val; /* remember failure */ + } + } + + return return_val; +} + + +int +remove_breakpoints (void) +{ + register struct breakpoint *b; + int val; + + ALL_BREAKPOINTS (b) + { + if (b->inserted) + { + val = remove_breakpoint (b, mark_uninserted); + if (val != 0) + return val; + } + } return 0; } int -reattach_breakpoints (pid) - int pid; +remove_hw_watchpoints (void) { register struct breakpoint *b; int val; - int saved_inferior_pid = inferior_pid; - inferior_pid = pid; /* Because remove_breakpoint will use this global. */ ALL_BREAKPOINTS (b) - { - if (b->inserted) - { - remove_breakpoint (b, mark_inserted); - if (b->type == bp_hardware_breakpoint) - val = target_insert_hw_breakpoint(b->address, b->shadow_contents); - else - val = target_insert_breakpoint(b->address, b->shadow_contents); - if (val != 0) - { - inferior_pid = saved_inferior_pid; - return val; - } - } - } - inferior_pid = saved_inferior_pid; + { + if (b->inserted + && (b->type == bp_hardware_watchpoint + || b->type == bp_read_watchpoint + || b->type == bp_access_watchpoint)) + { + val = remove_breakpoint (b, mark_uninserted); + if (val != 0) + return val; + } + } + return 0; +} + +int +reattach_breakpoints (int pid) +{ + register struct breakpoint *b; + int val; + struct cleanup *old_chain = save_inferior_ptid (); + + /* Set inferior_ptid; remove_breakpoint uses this global. */ + inferior_ptid = pid_to_ptid (pid); + ALL_BREAKPOINTS (b) + { + if (b->inserted) + { + remove_breakpoint (b, mark_inserted); + if (b->type == bp_hardware_breakpoint) + val = target_insert_hw_breakpoint (b->address, b->shadow_contents); + else + val = target_insert_breakpoint (b->address, b->shadow_contents); + if (val != 0) + { + do_cleanups (old_chain); + return val; + } + } + } + do_cleanups (old_chain); return 0; } void -update_breakpoints_after_exec () +update_breakpoints_after_exec (void) { - struct breakpoint * b; - struct breakpoint * temp; + struct breakpoint *b; + struct breakpoint *temp; /* Doing this first prevents the badness of having delete_breakpoint() write a breakpoint's current "shadow contents" to lift the bp. That @@ -918,137 +1093,168 @@ update_breakpoints_after_exec () mark_breakpoints_out (); ALL_BREAKPOINTS_SAFE (b, temp) - { - /* Solib breakpoints must be explicitly reset after an exec(). */ - if (b->type == bp_shlib_event) - { - delete_breakpoint (b); - continue; - } - - /* Step-resume breakpoints are meaningless after an exec(). */ - if (b->type == bp_step_resume) - { - delete_breakpoint (b); - continue; - } - - /* Ditto the sigtramp handler breakpoints. */ - if (b->type == bp_through_sigtramp) - { - delete_breakpoint (b); - continue; - } - - /* Ditto the exception-handling catchpoints. */ - if ((b->type == bp_catch_catch) || (b->type == bp_catch_throw)) - { - delete_breakpoint (b); - continue; - } - - /* Don't delete an exec catchpoint, because else the inferior - won't stop when it ought! - - Similarly, we probably ought to keep vfork catchpoints, 'cause - on this target, we may not be able to stop when the vfork is seen, - but only when the subsequent exec is seen. (And because deleting - fork catchpoints here but not vfork catchpoints will seem mysterious - to users, keep those too.) - - ??rehrauer: Let's hope that merely clearing out this catchpoint's - target address field, if any, is sufficient to have it be reset - automagically. Certainly on HP-UX that's true. */ - if ((b->type == bp_catch_exec) || - (b->type == bp_catch_vfork) || - (b->type == bp_catch_fork)) - { - b->address = (CORE_ADDR) NULL; - continue; - } - - /* bp_finish is a special case. The only way we ought to be able - to see one of these when an exec() has happened, is if the user - caught a vfork, and then said "finish". Ordinarily a finish just - carries them to the call-site of the current callee, by setting - a temporary bp there and resuming. But in this case, the finish - will carry them entirely through the vfork & exec. - - We don't want to allow a bp_finish to remain inserted now. But - we can't safely delete it, 'cause finish_command has a handle to - the bp on a bpstat, and will later want to delete it. There's a - chance (and I've seen it happen) that if we delete the bp_finish - here, that its storage will get reused by the time finish_command - gets 'round to deleting the "use to be a bp_finish" breakpoint. - We really must allow finish_command to delete a bp_finish. - - In the absense of a general solution for the "how do we know it's - safe to delete something others may have handles to?" problem, what - we'll do here is just uninsert the bp_finish, and let finish_command - delete it. - - (We know the bp_finish is "doomed" in the sense that it's momentary, - and will be deleted as soon as finish_command sees the inferior stopped. - So it doesn't matter that the bp's address is probably bogus in the - new a.out, unlike e.g., the solib breakpoints.) */ - if (b->type == bp_finish) - { - continue; - } - - /* Without a symbolic address, we have little hope of the - pre-exec() address meaning the same thing in the post-exec() - a.out. */ - if (b->addr_string == NULL) - { - delete_breakpoint (b); - continue; - } + { + /* Solib breakpoints must be explicitly reset after an exec(). */ + if (b->type == bp_shlib_event) + { + delete_breakpoint (b); + continue; + } - /* If this breakpoint has survived the above battery of checks, then - it must have a symbolic address. Be sure that it gets reevaluated - to a target address, rather than reusing the old evaluation. */ - b->address = (CORE_ADDR) NULL; - } + /* Thread event breakpoints must be set anew after an exec(), + as must overlay event breakpoints. */ + if (b->type == bp_thread_event || b->type == bp_overlay_event) + { + delete_breakpoint (b); + continue; + } + + /* Step-resume breakpoints are meaningless after an exec(). */ + if (b->type == bp_step_resume) + { + delete_breakpoint (b); + continue; + } + + /* Ditto the sigtramp handler breakpoints. */ + if (b->type == bp_through_sigtramp) + { + delete_breakpoint (b); + continue; + } + + /* Ditto the exception-handling catchpoints. */ + if ((b->type == bp_catch_catch) || (b->type == bp_catch_throw)) + { + delete_breakpoint (b); + continue; + } + + /* Don't delete an exec catchpoint, because else the inferior + won't stop when it ought! + + Similarly, we probably ought to keep vfork catchpoints, 'cause + on this target, we may not be able to stop when the vfork is + seen, but only when the subsequent exec is seen. (And because + deleting fork catchpoints here but not vfork catchpoints will + seem mysterious to users, keep those too.) + + ??rehrauer: Let's hope that merely clearing out this catchpoint's + target address field, if any, is sufficient to have it be reset + automagically. Certainly on HP-UX that's true. + + Jim Blandy : Actually, zero is a perfectly + valid code address on some platforms (like the mn10200 and + mn10300 simulators). We shouldn't assign any special + interpretation to a breakpoint with a zero address. And in + fact, GDB doesn't --- I can't see what that comment above is + talking about. As far as I can tell, setting the address of a + bp_catch_exec/bp_catch_vfork/bp_catch_fork breakpoint to zero + is meaningless, since those are implemented with HP-UX kernel + hackery, not by storing breakpoint instructions somewhere. */ + if ((b->type == bp_catch_exec) || + (b->type == bp_catch_vfork) || + (b->type == bp_catch_fork)) + { + b->address = (CORE_ADDR) NULL; + continue; + } + + /* bp_finish is a special case. The only way we ought to be able + to see one of these when an exec() has happened, is if the user + caught a vfork, and then said "finish". Ordinarily a finish just + carries them to the call-site of the current callee, by setting + a temporary bp there and resuming. But in this case, the finish + will carry them entirely through the vfork & exec. + + We don't want to allow a bp_finish to remain inserted now. But + we can't safely delete it, 'cause finish_command has a handle to + the bp on a bpstat, and will later want to delete it. There's a + chance (and I've seen it happen) that if we delete the bp_finish + here, that its storage will get reused by the time finish_command + gets 'round to deleting the "use to be a bp_finish" breakpoint. + We really must allow finish_command to delete a bp_finish. + + In the absense of a general solution for the "how do we know + it's safe to delete something others may have handles to?" + problem, what we'll do here is just uninsert the bp_finish, and + let finish_command delete it. + + (We know the bp_finish is "doomed" in the sense that it's + momentary, and will be deleted as soon as finish_command sees + the inferior stopped. So it doesn't matter that the bp's + address is probably bogus in the new a.out, unlike e.g., the + solib breakpoints.) */ + + if (b->type == bp_finish) + { + continue; + } + + /* Without a symbolic address, we have little hope of the + pre-exec() address meaning the same thing in the post-exec() + a.out. */ + if (b->addr_string == NULL) + { + delete_breakpoint (b); + continue; + } + + /* If this breakpoint has survived the above battery of checks, then + it must have a symbolic address. Be sure that it gets reevaluated + to a target address, rather than reusing the old evaluation. + + Jim Blandy : As explained above in the comment + for bp_catch_exec and friends, I'm pretty sure this is entirely + unnecessary. A call to breakpoint_re_set_one always recomputes + the breakpoint's address from scratch, or deletes it if it can't. + So I think this assignment could be deleted without effect. */ + b->address = (CORE_ADDR) NULL; + } + /* FIXME what about longjmp breakpoints? Re-create them here? */ + create_overlay_event_breakpoint ("_ovly_debug_event"); } int -detach_breakpoints (pid) - int pid; +detach_breakpoints (int pid) { register struct breakpoint *b; int val; - int saved_inferior_pid = inferior_pid; - - if (pid == inferior_pid) - error ("Cannot detach breakpoints of inferior_pid"); - - inferior_pid = pid; /* Because remove_breakpoint will use this global. */ + struct cleanup *old_chain = save_inferior_ptid (); + + if (pid == PIDGET (inferior_ptid)) + error ("Cannot detach breakpoints of inferior_ptid"); + + /* Set inferior_ptid; remove_breakpoint uses this global. */ + inferior_ptid = pid_to_ptid (pid); ALL_BREAKPOINTS (b) - { - if (b->inserted) - { - val = remove_breakpoint (b, mark_inserted); - if (val != 0) - { - inferior_pid = saved_inferior_pid; - return val; - } - } - } - inferior_pid = saved_inferior_pid; + { + if (b->inserted) + { + val = remove_breakpoint (b, mark_inserted); + if (val != 0) + { + do_cleanups (old_chain); + return val; + } + } + } + do_cleanups (old_chain); return 0; } static int -remove_breakpoint (b, is) - struct breakpoint *b; - insertion_state_t is; +remove_breakpoint (struct breakpoint *b, insertion_state_t is) { int val; - + + if (b->enable_state == bp_permanent) + /* Permanent breakpoints cannot be inserted or removed. */ + return 0; + if (b->type == bp_none) - warning ("attempted to remove apparently deleted breakpoint #%d?\n", b->number); + warning ("attempted to remove apparently deleted breakpoint #%d?", + b->number); if (b->type != bp_watchpoint && b->type != bp_hardware_watchpoint @@ -1059,78 +1265,87 @@ remove_breakpoint (b, is) && b->type != bp_catch_exec && b->type != bp_catch_catch && b->type != bp_catch_throw) - { if (b->type == bp_hardware_breakpoint) - val = target_remove_hw_breakpoint(b->address, b->shadow_contents); + val = target_remove_hw_breakpoint (b->address, b->shadow_contents); else { /* Check to see if breakpoint is in an overlay section; if so, we should remove the breakpoint at the LMA address. If that is not equal to the raw address, then we should - presumable remove the breakpoint there as well. */ - if (overlay_debugging && b->section && - section_is_overlay (b->section)) + presumably remove the breakpoint there as well. */ + if (overlay_debugging && b->section + && section_is_overlay (b->section)) { CORE_ADDR addr; addr = overlay_unmapped_address (b->address, b->section); val = target_remove_breakpoint (addr, b->shadow_contents); /* This would be the time to check val, to see if the - shadow breakpoint write to the load address succeeded. - However, this might be an ordinary occurrance, eg. if - the unmapped overlay is in ROM. */ - val = 0; /* in case unmapped address failed */ + shadow breakpoint write to the load address succeeded. + However, this might be an ordinary occurrance, eg. if + the unmapped overlay is in ROM. */ + val = 0; /* in case unmapped address failed */ if (section_is_mapped (b->section)) - val = target_remove_breakpoint (b->address, + val = target_remove_breakpoint (b->address, b->shadow_contents); } - else /* ordinary (non-overlay) address */ - val = target_remove_breakpoint(b->address, b->shadow_contents); + else /* ordinary (non-overlay) address */ + val = target_remove_breakpoint (b->address, b->shadow_contents); } if (val) return val; b->inserted = (is == mark_inserted); } else if ((b->type == bp_hardware_watchpoint || - b->type == bp_read_watchpoint || - b->type == bp_access_watchpoint) - && b->enable == enabled - && ! b->duplicate) + b->type == bp_read_watchpoint || + b->type == bp_access_watchpoint) + && b->enable_state == bp_enabled + && !b->duplicate) { - value_ptr v, n; - + struct value *v; + struct value *n; + b->inserted = (is == mark_inserted); /* Walk down the saved value chain. */ for (v = b->val_chain; v; v = v->next) { /* For each memory reference remove the watchpoint at that address. */ - if (v->lval == lval_memory) + if (VALUE_LVAL (v) == lval_memory + && ! VALUE_LAZY (v)) { - int addr, len, type; - - addr = VALUE_ADDRESS (v) + VALUE_OFFSET (v); - len = TYPE_LENGTH (VALUE_TYPE (v)); - type = 0; - if (b->type == bp_read_watchpoint) - type = 1; - else if (b->type == bp_access_watchpoint) - type = 2; + struct type *vtype = check_typedef (VALUE_TYPE (v)); - val = target_remove_watchpoint (addr, len, type); - if (val == -1) - b->inserted = 1; - val = 0; + if (v == b->val_chain + || (TYPE_CODE (vtype) != TYPE_CODE_STRUCT + && TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) + { + CORE_ADDR addr; + int len, type; + + addr = VALUE_ADDRESS (v) + VALUE_OFFSET (v); + len = TYPE_LENGTH (VALUE_TYPE (v)); + type = hw_write; + if (b->type == bp_read_watchpoint) + type = hw_read; + else if (b->type == bp_access_watchpoint) + type = hw_access; + + val = target_remove_watchpoint (addr, len, type); + if (val == -1) + b->inserted = 1; + val = 0; + } } } /* Failure to remove any of the hardware watchpoints comes here. */ if ((is == mark_uninserted) && (b->inserted)) - warning ("Hardware watchpoint %d: Could not remove watchpoint\n", + warning ("Could not remove hardware watchpoint %d.", b->number); - + /* Free the saved value chain. We will construct a new one - the next time the watchpoint is inserted. */ + the next time the watchpoint is inserted. */ for (v = b->val_chain; v; v = n) { n = v->next; @@ -1139,49 +1354,52 @@ remove_breakpoint (b, is) b->val_chain = NULL; } else if ((b->type == bp_catch_fork || - b->type == bp_catch_vfork || - b->type == bp_catch_exec) - && b->enable == enabled - && ! b->duplicate) + b->type == bp_catch_vfork || + b->type == bp_catch_exec) + && b->enable_state == bp_enabled + && !b->duplicate) { val = -1; switch (b->type) - { - case bp_catch_fork: - val = target_remove_fork_catchpoint (inferior_pid); - break; - case bp_catch_vfork : - val = target_remove_vfork_catchpoint (inferior_pid); - break; - case bp_catch_exec : - val = target_remove_exec_catchpoint (inferior_pid); - break; - } + { + case bp_catch_fork: + val = target_remove_fork_catchpoint (PIDGET (inferior_ptid)); + break; + case bp_catch_vfork: + val = target_remove_vfork_catchpoint (PIDGET (inferior_ptid)); + break; + case bp_catch_exec: + val = target_remove_exec_catchpoint (PIDGET (inferior_ptid)); + break; + default: + warning ("Internal error, %s line %d.", __FILE__, __LINE__); + break; + } if (val) return val; b->inserted = (is == mark_inserted); } else if ((b->type == bp_catch_catch || - b->type == bp_catch_throw) - && b->enable == enabled - && ! b->duplicate) + b->type == bp_catch_throw) + && b->enable_state == bp_enabled + && !b->duplicate) { - val = target_remove_breakpoint(b->address, b->shadow_contents); + val = target_remove_breakpoint (b->address, b->shadow_contents); if (val) - return val; + return val; b->inserted = (is == mark_inserted); } else if (ep_is_exception_catchpoint (b) - && b->inserted /* sometimes previous insert doesn't happen */ - && b->enable == enabled - && ! b->duplicate) + && b->inserted /* sometimes previous insert doesn't happen */ + && b->enable_state == bp_enabled + && !b->duplicate) { - val = target_remove_breakpoint(b->address, b->shadow_contents); + val = target_remove_breakpoint (b->address, b->shadow_contents); if (val) - return val; - + return val; + b->inserted = (is == mark_inserted); } @@ -1191,7 +1409,7 @@ remove_breakpoint (b, is) /* Clear the "inserted" flag in all breakpoints. */ void -mark_breakpoints_out () +mark_breakpoints_out (void) { register struct breakpoint *b; @@ -1199,198 +1417,201 @@ mark_breakpoints_out () b->inserted = 0; } -/* Clear the "inserted" flag in all breakpoints and delete any breakpoints - which should go away between runs of the program. +/* Clear the "inserted" flag in all breakpoints and delete any + breakpoints which should go away between runs of the program. Plus other such housekeeping that has to be done for breakpoints between runs. - Note: this function gets called at the end of a run (by generic_mourn_inferior) - and when a run begins (by init_wait_for_inferior). */ + Note: this function gets called at the end of a run (by + generic_mourn_inferior) and when a run begins (by + init_wait_for_inferior). */ void -breakpoint_init_inferior (context) - enum inf_context context; +breakpoint_init_inferior (enum inf_context context) { register struct breakpoint *b, *temp; static int warning_needed = 0; ALL_BREAKPOINTS_SAFE (b, temp) - { - b->inserted = 0; + { + b->inserted = 0; - switch (b->type) - { - case bp_call_dummy: - case bp_watchpoint_scope: + switch (b->type) + { + case bp_call_dummy: + case bp_watchpoint_scope: - /* If the call dummy breakpoint is at the entry point it will - cause problems when the inferior is rerun, so we better - get rid of it. + /* If the call dummy breakpoint is at the entry point it will + cause problems when the inferior is rerun, so we better + get rid of it. - Also get rid of scope breakpoints. */ - delete_breakpoint (b); - break; + Also get rid of scope breakpoints. */ + delete_breakpoint (b); + break; - case bp_watchpoint: - case bp_hardware_watchpoint: - case bp_read_watchpoint: - case bp_access_watchpoint: + case bp_watchpoint: + case bp_hardware_watchpoint: + case bp_read_watchpoint: + case bp_access_watchpoint: - /* Likewise for watchpoints on local expressions. */ - if (b->exp_valid_block != NULL) + /* Likewise for watchpoints on local expressions. */ + if (b->exp_valid_block != NULL) + delete_breakpoint (b); + break; + default: + /* Likewise for exception catchpoints in dynamic-linked + executables where required */ + if (ep_is_exception_catchpoint (b) && + exception_catchpoints_are_fragile) + { + warning_needed = 1; delete_breakpoint (b); - break; - default: - /* Likewise for exception catchpoints in dynamic-linked - executables where required */ - if (ep_is_exception_catchpoint (b) && - exception_catchpoints_are_fragile) - { - warning_needed = 1; - delete_breakpoint (b); - } - break; - } - } + } + break; + } + } if (exception_catchpoints_are_fragile) exception_support_initialized = 0; - /* Don't issue the warning unless it's really needed... */ + /* Don't issue the warning unless it's really needed... */ if (warning_needed && (context != inf_exited)) { - warning ("Exception catchpoints from last run were deleted, you must reinsert them explicitly"); + warning ("Exception catchpoints from last run were deleted."); + warning ("You must reinsert them explicitly."); warning_needed = 0; - } + } } -/* breakpoint_here_p (PC) returns 1 if an enabled breakpoint exists at PC. - When continuing from a location with a breakpoint, - we actually single step once before calling insert_breakpoints. */ +/* breakpoint_here_p (PC) returns non-zero if an enabled breakpoint + exists at PC. It returns ordinary_breakpoint_here if it's an + ordinary breakpoint, or permanent_breakpoint_here if it's a + permanent breakpoint. + - When continuing from a location with an ordinary breakpoint, we + actually single step once before calling insert_breakpoints. + - When continuing from a localion with a permanent breakpoint, we + need to use the `SKIP_PERMANENT_BREAKPOINT' macro, provided by + the target, to advance the PC past the breakpoint. */ -int -breakpoint_here_p (pc) - CORE_ADDR pc; +enum breakpoint_here +breakpoint_here_p (CORE_ADDR pc) { register struct breakpoint *b; + int any_breakpoint_here = 0; ALL_BREAKPOINTS (b) - if (b->enable == enabled - && b->enable != shlib_disabled - && b->enable != call_disabled + if ((b->enable_state == bp_enabled + || b->enable_state == bp_permanent) && b->address == pc) /* bp is enabled and matches pc */ { - if (overlay_debugging && - section_is_overlay (b->section) && - !section_is_mapped (b->section)) + if (overlay_debugging + && section_is_overlay (b->section) + && !section_is_mapped (b->section)) continue; /* unmapped overlay -- can't be a match */ - else - return 1; + else if (b->enable_state == bp_permanent) + return permanent_breakpoint_here; + else + any_breakpoint_here = 1; } - return 0; + return any_breakpoint_here ? ordinary_breakpoint_here : 0; } -/* breakpoint_inserted_here_p (PC) is just like breakpoint_here_p(), but it - only returns true if there is actually a breakpoint inserted at PC. */ + +/* breakpoint_inserted_here_p (PC) is just like breakpoint_here_p(), + but it only returns true if there is actually a breakpoint inserted + at PC. */ int -breakpoint_inserted_here_p (pc) - CORE_ADDR pc; +breakpoint_inserted_here_p (CORE_ADDR pc) { register struct breakpoint *b; ALL_BREAKPOINTS (b) if (b->inserted && b->address == pc) /* bp is inserted and matches pc */ - { - if (overlay_debugging && - section_is_overlay (b->section) && - !section_is_mapped (b->section)) - continue; /* unmapped overlay -- can't be a match */ - else - return 1; - } + { + if (overlay_debugging + && section_is_overlay (b->section) + && !section_is_mapped (b->section)) + continue; /* unmapped overlay -- can't be a match */ + else + return 1; + } return 0; } -/* Return nonzero if FRAME is a dummy frame. We can't use PC_IN_CALL_DUMMY - because figuring out the saved SP would take too much time, at least using - get_saved_register on the 68k. This means that for this function to - work right a port must use the bp_call_dummy breakpoint. */ +/* Return nonzero if FRAME is a dummy frame. We can't use + PC_IN_CALL_DUMMY because figuring out the saved SP would take too + much time, at least using get_saved_register on the 68k. This + means that for this function to work right a port must use the + bp_call_dummy breakpoint. */ int -frame_in_dummy (frame) - struct frame_info *frame; +frame_in_dummy (struct frame_info *frame) { -#ifdef CALL_DUMMY -#ifdef USE_GENERIC_DUMMY_FRAMES - return generic_pc_in_call_dummy (frame->pc, frame->frame); -#else struct breakpoint *b; - ALL_BREAKPOINTS (b) - { - static ULONGEST dummy[] = CALL_DUMMY; + if (!CALL_DUMMY_P) + return 0; - if (b->type == bp_call_dummy - && b->frame == frame->frame + if (USE_GENERIC_DUMMY_FRAMES) + return generic_pc_in_call_dummy (frame->pc, frame->frame, frame->frame); - /* We need to check the PC as well as the frame on the sparc, - for signals.exp in the testsuite. */ - && (frame->pc - >= (b->address - - sizeof (dummy) / sizeof (LONGEST) * REGISTER_SIZE)) - && frame->pc <= b->address) - return 1; - } -#endif /* GENERIC_DUMMY_FRAMES */ -#endif /* CALL_DUMMY */ + ALL_BREAKPOINTS (b) + { + if (b->type == bp_call_dummy + && b->frame == frame->frame + /* We need to check the PC as well as the frame on the sparc, + for signals.exp in the testsuite. */ + && (frame->pc + >= (b->address + - SIZEOF_CALL_DUMMY_WORDS / sizeof (LONGEST) * REGISTER_SIZE)) + && frame->pc <= b->address) + return 1; + } return 0; } -/* breakpoint_match_thread (PC, PID) returns true if the breakpoint at PC - is valid for process/thread PID. */ +/* breakpoint_thread_match (PC, PID) returns true if the breakpoint at + PC is valid for process/thread PID. */ int -breakpoint_thread_match (pc, pid) - CORE_ADDR pc; - int pid; +breakpoint_thread_match (CORE_ADDR pc, ptid_t ptid) { struct breakpoint *b; int thread; - thread = pid_to_thread_id (pid); + thread = pid_to_thread_id (ptid); ALL_BREAKPOINTS (b) - if (b->enable != disabled - && b->enable != shlib_disabled - && b->enable != call_disabled + if (b->enable_state != bp_disabled + && b->enable_state != bp_shlib_disabled + && b->enable_state != bp_call_disabled && b->address == pc && (b->thread == -1 || b->thread == thread)) - { - if (overlay_debugging && - section_is_overlay (b->section) && - !section_is_mapped (b->section)) - continue; /* unmapped overlay -- can't be a match */ - else - return 1; - } + { + if (overlay_debugging + && section_is_overlay (b->section) + && !section_is_mapped (b->section)) + continue; /* unmapped overlay -- can't be a match */ + else + return 1; + } return 0; } - + /* bpstat stuff. External routines' interfaces are documented in breakpoint.h. */ int -ep_is_catchpoint (ep) - struct breakpoint * ep; +ep_is_catchpoint (struct breakpoint *ep) { return (ep->type == bp_catch_load) @@ -1399,39 +1620,32 @@ ep_is_catchpoint (ep) || (ep->type == bp_catch_vfork) || (ep->type == bp_catch_exec) || (ep->type == bp_catch_catch) - || (ep->type == bp_catch_throw) + || (ep->type == bp_catch_throw); - - /* ??rehrauer: Add more kinds here, as are implemented... */ - ; + /* ??rehrauer: Add more kinds here, as are implemented... */ } - + int -ep_is_shlib_catchpoint (ep) - struct breakpoint * ep; +ep_is_shlib_catchpoint (struct breakpoint *ep) { return (ep->type == bp_catch_load) - || (ep->type == bp_catch_unload) - ; + || (ep->type == bp_catch_unload); } int -ep_is_exception_catchpoint (ep) - struct breakpoint * ep; +ep_is_exception_catchpoint (struct breakpoint *ep) { return (ep->type == bp_catch_catch) - || (ep->type == bp_catch_throw) - ; + || (ep->type == bp_catch_throw); } /* Clear a bpstat so that it says we are not at any breakpoint. Also free any storage that is part of a bpstat. */ void -bpstat_clear (bsp) - bpstat *bsp; +bpstat_clear (bpstat *bsp) { bpstat p; bpstat q; @@ -1444,7 +1658,7 @@ bpstat_clear (bsp) q = p->next; if (p->old_val != NULL) value_free (p->old_val); - free ((PTR)p); + xfree (p); p = q; } *bsp = NULL; @@ -1454,8 +1668,7 @@ bpstat_clear (bsp) is part of the bpstat is copied as well. */ bpstat -bpstat_copy (bs) - bpstat bs; +bpstat_copy (bpstat bs) { bpstat p = NULL; bpstat tmp; @@ -1482,15 +1695,16 @@ bpstat_copy (bs) /* Find the bpstat associated with this breakpoint */ bpstat -bpstat_find_breakpoint(bsp, breakpoint) - bpstat bsp; - struct breakpoint *breakpoint; +bpstat_find_breakpoint (bpstat bsp, struct breakpoint *breakpoint) { - if (bsp == NULL) return NULL; + if (bsp == NULL) + return NULL; - for (;bsp != NULL; bsp = bsp->next) { - if (bsp->breakpoint_at == breakpoint) return bsp; - } + for (; bsp != NULL; bsp = bsp->next) + { + if (bsp->breakpoint_at == breakpoint) + return bsp; + } return NULL; } @@ -1503,17 +1717,22 @@ bpstat_find_breakpoint(bsp, breakpoint) See wait_for_inferior's use of this function. */ struct breakpoint * -bpstat_find_step_resume_breakpoint (bsp) - bpstat bsp; +bpstat_find_step_resume_breakpoint (bpstat bsp) { + int current_thread; + if (bsp == NULL) error ("Internal error (bpstat_find_step_resume_breakpoint)"); + current_thread = pid_to_thread_id (inferior_ptid); + for (; bsp != NULL; bsp = bsp->next) { if ((bsp->breakpoint_at != NULL) && - (bsp->breakpoint_at->type == bp_step_resume)) - return bsp->breakpoint_at; + (bsp->breakpoint_at->type == bp_step_resume) && + (bsp->breakpoint_at->thread == current_thread || + bsp->breakpoint_at->thread == -1)) + return bsp->breakpoint_at; } error ("Internal error (no step_resume breakpoint found)"); @@ -1527,8 +1746,7 @@ bpstat_find_step_resume_breakpoint (bsp) Return 0 if passed a bpstat which does not indicate any breakpoints. */ int -bpstat_num (bsp) - bpstat *bsp; +bpstat_num (bpstat *bsp) { struct breakpoint *b; @@ -1541,15 +1759,14 @@ bpstat_num (bsp) if (b == NULL) return -1; /* breakpoint that's been deleted since */ else - return b->number; /* We have its number */ + return b->number; /* We have its number */ } } /* Modify BS so that the actions will not be performed. */ void -bpstat_clear_actions (bs) - bpstat bs; +bpstat_clear_actions (bpstat bs) { for (; bs != NULL; bs = bs->next) { @@ -1565,8 +1782,7 @@ bpstat_clear_actions (bs) /* Stub for cleaning up our state if we error-out of a breakpoint command */ /* ARGSUSED */ static void -cleanup_executing_breakpoints (ignore) - PTR ignore; +cleanup_executing_breakpoints (PTR ignore) { executing_breakpoint_commands = 0; } @@ -1577,8 +1793,7 @@ cleanup_executing_breakpoints (ignore) the global "breakpoint_proceeded" after each command. */ void -bpstat_do_actions (bsp) - bpstat *bsp; +bpstat_do_actions (bpstat *bsp) { bpstat bs; struct cleanup *old_chain; @@ -1631,220 +1846,351 @@ top: discard_cleanups (old_chain); } -/* This is the normal print_it function for a bpstat. In the future, +/* This is the normal print function for a bpstat. In the future, much of this logic could (should?) be moved to bpstat_stop_status, - by having it set different print_it functions. - - Current scheme: When we stop, bpstat_print() is called. - It loops through the bpstat list of things causing this stop, - calling the print_it function for each one. The default - print_it function, used for breakpoints, is print_it_normal(). - (Also see print_it_noop() and print_it_done()). - - Return values from this routine (used by bpstat_print() to - decide what to do): - 1: Means we printed something, and we do *not* desire that - something to be followed by a location. - 0: Means we printed something, and we *do* desire that - something to be followed by a location. - -1: Means we printed nothing. */ - -static int -print_it_normal (bs) - bpstat bs; + by having it set different print_it values. + + Current scheme: When we stop, bpstat_print() is called. It loops + through the bpstat list of things causing this stop, calling the + print_bp_stop_message function on each one. The behavior of the + print_bp_stop_message function depends on the print_it field of + bpstat. If such field so indicates, call this function here. + + Return values from this routine (ultimately used by bpstat_print() + and normal_stop() to decide what to do): + PRINT_NOTHING: Means we already printed all we needed to print, + don't print anything else. + PRINT_SRC_ONLY: Means we printed something, and we do *not* desire + that something to be followed by a location. + PRINT_SCR_AND_LOC: Means we printed something, and we *do* desire + that something to be followed by a location. + PRINT_UNKNOWN: Means we printed nothing or we need to do some more + analysis. */ + +static enum print_stop_action +print_it_typical (bpstat bs) { + struct cleanup *old_chain; + struct ui_stream *stb; + stb = ui_out_stream_new (uiout); + old_chain = make_cleanup_ui_out_stream_delete (stb); /* bs->breakpoint_at can be NULL if it was a momentary breakpoint which has since been deleted. */ - if (bs->breakpoint_at == NULL - || (bs->breakpoint_at->type != bp_breakpoint - && bs->breakpoint_at->type != bp_catch_load - && bs->breakpoint_at->type != bp_catch_unload - && bs->breakpoint_at->type != bp_catch_fork - && bs->breakpoint_at->type != bp_catch_vfork - && bs->breakpoint_at->type != bp_catch_exec - && bs->breakpoint_at->type != bp_catch_catch - && bs->breakpoint_at->type != bp_catch_throw - && bs->breakpoint_at->type != bp_hardware_breakpoint - && bs->breakpoint_at->type != bp_watchpoint - && bs->breakpoint_at->type != bp_read_watchpoint - && bs->breakpoint_at->type != bp_access_watchpoint - && bs->breakpoint_at->type != bp_hardware_watchpoint)) - return -1; + if (bs->breakpoint_at == NULL) + return PRINT_UNKNOWN; - if (ep_is_shlib_catchpoint (bs->breakpoint_at)) + switch (bs->breakpoint_at->type) { + case bp_breakpoint: + case bp_hardware_breakpoint: + annotate_breakpoint (bs->breakpoint_at->number); + ui_out_text (uiout, "\nBreakpoint "); + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_string (uiout, "reason", "breakpoint-hit"); + ui_out_field_int (uiout, "bkptno", bs->breakpoint_at->number); + ui_out_text (uiout, ", "); + return PRINT_SRC_AND_LOC; + break; + + case bp_shlib_event: + /* Did we stop because the user set the stop_on_solib_events + variable? (If so, we report this as a generic, "Stopped due + to shlib event" message.) */ + printf_filtered ("Stopped due to shared library event\n"); + return PRINT_NOTHING; + break; + + case bp_thread_event: + /* Not sure how we will get here. + GDB should not stop for these breakpoints. */ + printf_filtered ("Thread Event Breakpoint: gdb should not stop!\n"); + return PRINT_NOTHING; + break; + + case bp_overlay_event: + /* By analogy with the thread event, GDB should not stop for these. */ + printf_filtered ("Overlay Event Breakpoint: gdb should not stop!\n"); + return PRINT_NOTHING; + break; + + case bp_catch_load: annotate_catchpoint (bs->breakpoint_at->number); printf_filtered ("\nCatchpoint %d (", bs->breakpoint_at->number); - if (bs->breakpoint_at->type == bp_catch_load) - printf_filtered ("loaded"); - else if (bs->breakpoint_at->type == bp_catch_unload) - printf_filtered ("unloaded"); + printf_filtered ("loaded"); printf_filtered (" %s), ", bs->breakpoint_at->triggered_dll_pathname); - return 0; - } - else if (bs->breakpoint_at->type == bp_catch_fork || - bs->breakpoint_at->type == bp_catch_vfork) - { + return PRINT_SRC_AND_LOC; + break; + + case bp_catch_unload: annotate_catchpoint (bs->breakpoint_at->number); printf_filtered ("\nCatchpoint %d (", bs->breakpoint_at->number); - if (bs->breakpoint_at->type == bp_catch_fork) - printf_filtered ("forked"); - else if (bs->breakpoint_at->type == bp_catch_vfork) - printf_filtered ("vforked"); - printf_filtered (" process %d), ", bs->breakpoint_at->forked_inferior_pid); - return 0; - } - else if (bs->breakpoint_at->type == bp_catch_exec) - { + printf_filtered ("unloaded"); + printf_filtered (" %s), ", bs->breakpoint_at->triggered_dll_pathname); + return PRINT_SRC_AND_LOC; + break; + + case bp_catch_fork: + annotate_catchpoint (bs->breakpoint_at->number); + printf_filtered ("\nCatchpoint %d (", bs->breakpoint_at->number); + printf_filtered ("forked"); + printf_filtered (" process %d), ", + bs->breakpoint_at->forked_inferior_pid); + return PRINT_SRC_AND_LOC; + break; + + case bp_catch_vfork: + annotate_catchpoint (bs->breakpoint_at->number); + printf_filtered ("\nCatchpoint %d (", bs->breakpoint_at->number); + printf_filtered ("vforked"); + printf_filtered (" process %d), ", + bs->breakpoint_at->forked_inferior_pid); + return PRINT_SRC_AND_LOC; + break; + + case bp_catch_exec: annotate_catchpoint (bs->breakpoint_at->number); printf_filtered ("\nCatchpoint %d (exec'd %s), ", - bs->breakpoint_at->number, - bs->breakpoint_at->exec_pathname); - return 0; - } - else if (bs->breakpoint_at->type == bp_catch_catch) - { - if (current_exception_event && (CURRENT_EXCEPTION_KIND == EX_EVENT_CATCH)) - { - annotate_catchpoint (bs->breakpoint_at->number); - printf_filtered ("\nCatchpoint %d (exception caught), ", bs->breakpoint_at->number); - printf_filtered ("throw location "); - if (CURRENT_EXCEPTION_THROW_PC && CURRENT_EXCEPTION_THROW_LINE) - printf_filtered ("%s:%d", - CURRENT_EXCEPTION_THROW_FILE, - CURRENT_EXCEPTION_THROW_LINE); - else - printf_filtered ("unknown"); - - printf_filtered (", catch location "); - if (CURRENT_EXCEPTION_CATCH_PC && CURRENT_EXCEPTION_CATCH_LINE) - printf_filtered ("%s:%d", - CURRENT_EXCEPTION_CATCH_FILE, - CURRENT_EXCEPTION_CATCH_LINE); - else - printf_filtered ("unknown"); - - printf_filtered ("\n"); - return 1; /* don't bother to print location frame info */ - } + bs->breakpoint_at->number, + bs->breakpoint_at->exec_pathname); + return PRINT_SRC_AND_LOC; + break; + + case bp_catch_catch: + if (current_exception_event && + (CURRENT_EXCEPTION_KIND == EX_EVENT_CATCH)) + { + annotate_catchpoint (bs->breakpoint_at->number); + printf_filtered ("\nCatchpoint %d (exception caught), ", + bs->breakpoint_at->number); + printf_filtered ("throw location "); + if (CURRENT_EXCEPTION_THROW_PC && CURRENT_EXCEPTION_THROW_LINE) + printf_filtered ("%s:%d", + CURRENT_EXCEPTION_THROW_FILE, + CURRENT_EXCEPTION_THROW_LINE); + else + printf_filtered ("unknown"); + + printf_filtered (", catch location "); + if (CURRENT_EXCEPTION_CATCH_PC && CURRENT_EXCEPTION_CATCH_LINE) + printf_filtered ("%s:%d", + CURRENT_EXCEPTION_CATCH_FILE, + CURRENT_EXCEPTION_CATCH_LINE); + else + printf_filtered ("unknown"); + + printf_filtered ("\n"); + /* don't bother to print location frame info */ + return PRINT_SRC_ONLY; + } else - { - return -1; /* really throw, some other bpstat will handle it */ - } - } - else if (bs->breakpoint_at->type == bp_catch_throw) - { - if (current_exception_event && (CURRENT_EXCEPTION_KIND == EX_EVENT_THROW)) - { - annotate_catchpoint (bs->breakpoint_at->number); - printf_filtered ("\nCatchpoint %d (exception thrown), ", bs->breakpoint_at->number); - printf_filtered ("throw location "); - if (CURRENT_EXCEPTION_THROW_PC && CURRENT_EXCEPTION_THROW_LINE) - printf_filtered ("%s:%d", - CURRENT_EXCEPTION_THROW_FILE, - CURRENT_EXCEPTION_THROW_LINE); - else - printf_filtered ("unknown"); - - printf_filtered (", catch location "); - if (CURRENT_EXCEPTION_CATCH_PC && CURRENT_EXCEPTION_CATCH_LINE) - printf_filtered ("%s:%d", - CURRENT_EXCEPTION_CATCH_FILE, - CURRENT_EXCEPTION_CATCH_LINE); - else - printf_filtered ("unknown"); - - printf_filtered ("\n"); - return 1; /* don't bother to print location frame info */ - } + { + /* really throw, some other bpstat will handle it */ + return PRINT_UNKNOWN; + } + break; + + case bp_catch_throw: + if (current_exception_event && + (CURRENT_EXCEPTION_KIND == EX_EVENT_THROW)) + { + annotate_catchpoint (bs->breakpoint_at->number); + printf_filtered ("\nCatchpoint %d (exception thrown), ", + bs->breakpoint_at->number); + printf_filtered ("throw location "); + if (CURRENT_EXCEPTION_THROW_PC && CURRENT_EXCEPTION_THROW_LINE) + printf_filtered ("%s:%d", + CURRENT_EXCEPTION_THROW_FILE, + CURRENT_EXCEPTION_THROW_LINE); + else + printf_filtered ("unknown"); + + printf_filtered (", catch location "); + if (CURRENT_EXCEPTION_CATCH_PC && CURRENT_EXCEPTION_CATCH_LINE) + printf_filtered ("%s:%d", + CURRENT_EXCEPTION_CATCH_FILE, + CURRENT_EXCEPTION_CATCH_LINE); + else + printf_filtered ("unknown"); + + printf_filtered ("\n"); + /* don't bother to print location frame info */ + return PRINT_SRC_ONLY; + } else - { - return -1; /* really catch, some other bpstat willhandle it */ - } - } + { + /* really catch, some other bpstat will handle it */ + return PRINT_UNKNOWN; + } + break; - else if (bs->breakpoint_at->type == bp_breakpoint || - bs->breakpoint_at->type == bp_hardware_breakpoint) - { - /* I think the user probably only wants to see one breakpoint - number, not all of them. */ - annotate_breakpoint (bs->breakpoint_at->number); - printf_filtered ("\nBreakpoint %d, ", bs->breakpoint_at->number); - return 0; - } - else if ((bs->old_val != NULL) && - (bs->breakpoint_at->type == bp_watchpoint || - bs->breakpoint_at->type == bp_access_watchpoint || - bs->breakpoint_at->type == bp_hardware_watchpoint)) - { - annotate_watchpoint (bs->breakpoint_at->number); - mention (bs->breakpoint_at); - printf_filtered ("\nOld value = "); - value_print (bs->old_val, gdb_stdout, 0, Val_pretty_default); - printf_filtered ("\nNew value = "); - value_print (bs->breakpoint_at->val, gdb_stdout, 0, - Val_pretty_default); - printf_filtered ("\n"); - value_free (bs->old_val); - bs->old_val = NULL; + case bp_watchpoint: + case bp_hardware_watchpoint: + if (bs->old_val != NULL) + { + annotate_watchpoint (bs->breakpoint_at->number); + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_string (uiout, "reason", "watchpoint-trigger"); + mention (bs->breakpoint_at); + ui_out_tuple_begin (uiout, "value"); + ui_out_text (uiout, "\nOld value = "); + value_print (bs->old_val, stb->stream, 0, Val_pretty_default); + ui_out_field_stream (uiout, "old", stb); + ui_out_text (uiout, "\nNew value = "); + value_print (bs->breakpoint_at->val, stb->stream, 0, Val_pretty_default); + ui_out_field_stream (uiout, "new", stb); + ui_out_tuple_end (uiout); + ui_out_text (uiout, "\n"); + value_free (bs->old_val); + bs->old_val = NULL; + } /* More than one watchpoint may have been triggered. */ - return -1; + return PRINT_UNKNOWN; + break; + + case bp_read_watchpoint: + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_string (uiout, "reason", "read-watchpoint-trigger"); + mention (bs->breakpoint_at); + ui_out_tuple_begin (uiout, "value"); + ui_out_text (uiout, "\nValue = "); + value_print (bs->breakpoint_at->val, stb->stream, 0, Val_pretty_default); + ui_out_field_stream (uiout, "value", stb); + ui_out_tuple_end (uiout); + ui_out_text (uiout, "\n"); + return PRINT_UNKNOWN; + break; + + case bp_access_watchpoint: + if (bs->old_val != NULL) + { + annotate_watchpoint (bs->breakpoint_at->number); + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_string (uiout, "reason", "access-watchpoint-trigger"); + mention (bs->breakpoint_at); + ui_out_tuple_begin (uiout, "value"); + ui_out_text (uiout, "\nOld value = "); + value_print (bs->old_val, stb->stream, 0, Val_pretty_default); + ui_out_field_stream (uiout, "old", stb); + value_free (bs->old_val); + bs->old_val = NULL; + ui_out_text (uiout, "\nNew value = "); + } + else + { + mention (bs->breakpoint_at); + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_string (uiout, "reason", "access-watchpoint-trigger"); + ui_out_tuple_begin (uiout, "value"); + ui_out_text (uiout, "\nValue = "); + } + value_print (bs->breakpoint_at->val, stb->stream, 0,Val_pretty_default); + ui_out_field_stream (uiout, "new", stb); + ui_out_tuple_end (uiout); + ui_out_text (uiout, "\n"); + return PRINT_UNKNOWN; + break; + + /* Fall through, we don't deal with these types of breakpoints + here. */ + + case bp_finish: + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_string (uiout, "reason", "function-finished"); + return PRINT_UNKNOWN; + break; + + case bp_until: + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_string (uiout, "reason", "location-reached"); + return PRINT_UNKNOWN; + break; + + case bp_none: + case bp_longjmp: + case bp_longjmp_resume: + case bp_step_resume: + case bp_through_sigtramp: + case bp_watchpoint_scope: + case bp_call_dummy: + default: + return PRINT_UNKNOWN; } - else if (bs->breakpoint_at->type == bp_access_watchpoint || - bs->breakpoint_at->type == bp_read_watchpoint) +} + +/* Generic routine for printing messages indicating why we + stopped. The behavior of this function depends on the value + 'print_it' in the bpstat structure. Under some circumstances we + may decide not to print anything here and delegate the task to + normal_stop(). */ + +static enum print_stop_action +print_bp_stop_message (bpstat bs) +{ + switch (bs->print_it) { - mention (bs->breakpoint_at); - printf_filtered ("\nValue = "); - value_print (bs->breakpoint_at->val, gdb_stdout, 0, - Val_pretty_default); - printf_filtered ("\n"); - return -1; - } - /* We can't deal with it. Maybe another member of the bpstat chain can. */ - return -1; -} - -/* Print a message indicating what happened. - This is called from normal_stop(). - The input to this routine is the head of the bpstat list - a list - of the eventpoints that caused this stop. - This routine calls the "print_it" routine(s) associated - with these eventpoints. This will print (for example) - the "Breakpoint n," part of the output. - The return value of this routine is one of: - - -1: Means we printed nothing - 0: Means we printed something, and expect subsequent - code to print the location. An example is - "Breakpoint 1, " which should be followed by - the location. - 1 : Means we printed something, but there is no need - to also print the location part of the message. - An example is the catch/throw messages, which - don't require a location appended to the end. */ + case print_it_noop: + /* Nothing should be printed for this bpstat entry. */ + return PRINT_UNKNOWN; + break; -int -bpstat_print (bs) - bpstat bs; + case print_it_done: + /* We still want to print the frame, but we already printed the + relevant messages. */ + return PRINT_SRC_AND_LOC; + break; + + case print_it_normal: + /* Normal case, we handle everything in print_it_typical. */ + return print_it_typical (bs); + break; + default: + internal_error (__FILE__, __LINE__, + "print_bp_stop_message: unrecognized enum value"); + break; + } +} + +/* Print a message indicating what happened. This is called from + normal_stop(). The input to this routine is the head of the bpstat + list - a list of the eventpoints that caused this stop. This + routine calls the generic print routine for printing a message + about reasons for stopping. This will print (for example) the + "Breakpoint n," part of the output. The return value of this + routine is one of: + + PRINT_UNKNOWN: Means we printed nothing + PRINT_SRC_AND_LOC: Means we printed something, and expect subsequent + code to print the location. An example is + "Breakpoint 1, " which should be followed by + the location. + PRINT_SRC_ONLY: Means we printed something, but there is no need + to also print the location part of the message. + An example is the catch/throw messages, which + don't require a location appended to the end. + PRINT_NOTHING: We have done some printing and we don't need any + further info to be printed.*/ + +enum print_stop_action +bpstat_print (bpstat bs) { int val; - - if (bs == NULL) - return -1; - val = (*bs->print_it) (bs); - if (val >= 0) - return val; - /* Maybe another breakpoint in the chain caused us to stop. - (Currently all watchpoints go on the bpstat whether hit or - not. That probably could (should) be changed, provided care is taken + (Currently all watchpoints go on the bpstat whether hit or not. + That probably could (should) be changed, provided care is taken with respect to bpstat_explains_signal). */ - if (bs->next) - return bpstat_print (bs->next); + for (; bs; bs = bs->next) + { + val = print_bp_stop_message (bs); + if (val == PRINT_SRC_ONLY + || val == PRINT_SRC_AND_LOC + || val == PRINT_NOTHING) + return val; + } - /* We reached the end of the chain without printing anything. */ - return -1; + /* We reached the end of the chain, or we got a null BS to start + with and nothing was printed. */ + return PRINT_UNKNOWN; } /* Evaluate the expression EXP and return 1 if value is zero. @@ -1853,11 +2199,10 @@ bpstat_print (bs) make it pass through catch_errors. */ static int -breakpoint_cond_eval (exp) - PTR exp; +breakpoint_cond_eval (PTR exp) { - value_ptr mark = value_mark (); - int i = !value_true (evaluate_expression ((struct expression *)exp)); + struct value *mark = value_mark (); + int i = !value_true (evaluate_expression ((struct expression *) exp)); value_free_to_mark (mark); return i; } @@ -1865,9 +2210,7 @@ breakpoint_cond_eval (exp) /* Allocate a new bpstat and chain it to the current one. */ static bpstat -bpstat_alloc (b, cbs) - register struct breakpoint *b; - bpstat cbs; /* Current "bs" value */ +bpstat_alloc (struct breakpoint *b, bpstat cbs /* Current "bs" value */ ) { bpstat bs; @@ -1896,8 +2239,7 @@ bpstat_alloc (b, cbs) /* Check watchpoint condition. */ static int -watchpoint_check (p) - PTR p; +watchpoint_check (PTR p) { bpstat bs = (bpstat) p; struct breakpoint *b; @@ -1911,27 +2253,35 @@ watchpoint_check (p) else { /* There is no current frame at this moment. If we're going to have - any chance of handling watchpoints on local variables, we'll need - the frame chain (so we can determine if we're in scope). */ - reinit_frame_cache(); + any chance of handling watchpoints on local variables, we'll need + the frame chain (so we can determine if we're in scope). */ + reinit_frame_cache (); fr = find_frame_addr_in_frame_chain (b->watchpoint_frame); within_current_scope = (fr != NULL); + /* in_function_epilogue_p() returns a non-zero value if we're still + in the function but the stack frame has already been invalidated. + Since we can't rely on the values of local variables after the + stack has been destroyed, we are treating the watchpoint in that + state as `not changed' without further checking. */ + if (within_current_scope && fr == get_current_frame () + && gdbarch_in_function_epilogue_p (current_gdbarch, read_pc ())) + return WP_VALUE_NOT_CHANGED; if (within_current_scope) /* If we end up stopping, the current frame will get selected in normal_stop. So this call to select_frame won't affect the user. */ select_frame (fr, -1); } - + if (within_current_scope) { /* We use value_{,free_to_}mark because it could be a *long* time before we return to the command level and - call free_all_values. We can't call free_all_values because - we might be in the middle of evaluating a function call. */ + call free_all_values. We can't call free_all_values because + we might be in the middle of evaluating a function call. */ - value_ptr mark = value_mark (); - value_ptr new_val = evaluate_expression (bs->breakpoint_at->exp); + struct value *mark = value_mark (); + struct value *new_val = evaluate_expression (bs->breakpoint_at->exp); if (!value_equal (b->val, new_val)) { release_value (new_val); @@ -1952,58 +2302,32 @@ watchpoint_check (p) else { /* This seems like the only logical thing to do because - if we temporarily ignored the watchpoint, then when - we reenter the block in which it is valid it contains - garbage (in the case of a function, it may have two - garbage values, one before and one after the prologue). - So we can't even detect the first assignment to it and - watch after that (since the garbage may or may not equal - the first value assigned). */ - printf_filtered ("\ -Watchpoint %d deleted because the program has left the block in\n\ -which its expression is valid.\n", bs->breakpoint_at->number); + if we temporarily ignored the watchpoint, then when + we reenter the block in which it is valid it contains + garbage (in the case of a function, it may have two + garbage values, one before and one after the prologue). + So we can't even detect the first assignment to it and + watch after that (since the garbage may or may not equal + the first value assigned). */ + /* We print all the stop information in print_it_typical(), but + in this case, by the time we call print_it_typical() this bp + will be deleted already. So we have no choice but print the + information here. */ + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_string (uiout, "reason", "watchpoint-scope"); + ui_out_text (uiout, "\nWatchpoint "); + ui_out_field_int (uiout, "wpnum", bs->breakpoint_at->number); + ui_out_text (uiout, " deleted because the program has left the block in\n\ +which its expression is valid.\n"); + if (b->related_breakpoint) - b->related_breakpoint->disposition = del_at_next_stop; - b->disposition = del_at_next_stop; + b->related_breakpoint->disposition = disp_del_at_next_stop; + b->disposition = disp_del_at_next_stop; return WP_DELETED; } } -/* This is used when everything which needs to be printed has - already been printed. But we still want to print the frame. */ - -/* Background: When we stop, bpstat_print() is called. - It loops through the bpstat list of things causing this stop, - calling the print_it function for each one. The default - print_it function, used for breakpoints, is print_it_normal(). - Also see print_it_noop() and print_it_done() are the other - two possibilities. See comments in bpstat_print() and - in header of print_it_normal() for more detail. */ - -static int -print_it_done (bs) - bpstat bs; -{ - return 0; -} - -/* This is used when nothing should be printed for this bpstat entry. */ -/* Background: When we stop, bpstat_print() is called. - It loops through the bpstat list of things causing this stop, - calling the print_it function for each one. The default - print_it function, used for breakpoints, is print_it_normal(). - Also see print_it_noop() and print_it_done() are the other - two possibilities. See comments in bpstat_print() and - in header of print_it_normal() for more detail. */ - -static int -print_it_noop (bs) - bpstat bs; -{ - return -1; -} - /* Get a bpstat associated with having just stopped at address *PC and frame address CORE_ADDRESS. Update *PC to point at the breakpoint (if we hit a breakpoint). NOT_A_BREAKPOINT is nonzero @@ -2013,21 +2337,19 @@ print_it_noop (bs) /* Determine whether we stopped at a breakpoint, etc, or whether we don't understand this stop. Result is a chain of bpstat's such that: - if we don't understand the stop, the result is a null pointer. + if we don't understand the stop, the result is a null pointer. - if we understand why we stopped, the result is not null. + if we understand why we stopped, the result is not null. - Each element of the chain refers to a particular breakpoint or - watchpoint at which we have stopped. (We may have stopped for - several reasons concurrently.) + Each element of the chain refers to a particular breakpoint or + watchpoint at which we have stopped. (We may have stopped for + several reasons concurrently.) - Each element of the chain has valid next, breakpoint_at, - commands, FIXME??? fields. */ + Each element of the chain has valid next, breakpoint_at, + commands, FIXME??? fields. */ bpstat -bpstat_stop_status (pc, not_a_breakpoint) - CORE_ADDR *pc; - int not_a_breakpoint; +bpstat_stop_status (CORE_ADDR *pc, int not_a_breakpoint) { register struct breakpoint *b, *temp; CORE_ADDR bp_addr; @@ -2038,95 +2360,176 @@ bpstat_stop_status (pc, not_a_breakpoint) /* Pointer to the last thing in the chain currently. */ bpstat bs = root_bs; static char message1[] = - "Error evaluating expression for watchpoint %d\n"; - char message[sizeof (message1) + 30 /* slop */]; + "Error evaluating expression for watchpoint %d\n"; + char message[sizeof (message1) + 30 /* slop */ ]; - /* Get the address where the breakpoint would have been. */ - bp_addr = *pc - DECR_PC_AFTER_BREAK; + /* Get the address where the breakpoint would have been. + The "not_a_breakpoint" argument is meant to distinguish + between a breakpoint trap event and a trace/singlestep + trap event. For a trace/singlestep trap event, we would + not want to subtract DECR_PC_AFTER_BREAK from the PC. */ - ALL_BREAKPOINTS_SAFE (b, temp) - { - if (b->enable == disabled - || b->enable == shlib_disabled - || b->enable == call_disabled) - continue; + bp_addr = *pc - (not_a_breakpoint && !SOFTWARE_SINGLE_STEP_P () ? + 0 : DECR_PC_AFTER_BREAK); - if (b->type != bp_watchpoint - && b->type != bp_hardware_watchpoint - && b->type != bp_read_watchpoint - && b->type != bp_access_watchpoint - && b->type != bp_hardware_breakpoint - && b->type != bp_catch_fork - && b->type != bp_catch_vfork - && b->type != bp_catch_exec - && b->type != bp_catch_catch - && b->type != bp_catch_throw) /* a non-watchpoint bp */ - if (b->address != bp_addr || /* address doesn't match or */ - (overlay_debugging && /* overlay doesn't match */ - section_is_overlay (b->section) && - !section_is_mapped (b->section))) + ALL_BREAKPOINTS_SAFE (b, temp) + { + if (b->enable_state == bp_disabled + || b->enable_state == bp_shlib_disabled + || b->enable_state == bp_call_disabled) + continue; + + if (b->type != bp_watchpoint + && b->type != bp_hardware_watchpoint + && b->type != bp_read_watchpoint + && b->type != bp_access_watchpoint + && b->type != bp_hardware_breakpoint + && b->type != bp_catch_fork + && b->type != bp_catch_vfork + && b->type != bp_catch_exec + && b->type != bp_catch_catch + && b->type != bp_catch_throw) /* a non-watchpoint bp */ + { + if (b->address != bp_addr) /* address doesn't match */ continue; + if (overlay_debugging /* unmapped overlay section */ + && section_is_overlay (b->section) + && !section_is_mapped (b->section)) + continue; + } - if (b->type == bp_hardware_breakpoint - && b->address != (*pc - DECR_PC_AFTER_HW_BREAK)) - continue; - - if (b->type != bp_watchpoint - && b->type != bp_hardware_watchpoint - && b->type != bp_read_watchpoint - && b->type != bp_access_watchpoint - && not_a_breakpoint) - continue; + if (b->type == bp_hardware_breakpoint + && b->address != (*pc - DECR_PC_AFTER_HW_BREAK)) + continue; - /* Is this a catchpoint of a load or unload? If so, did we - get a load or unload of the specified library? If not, - ignore it. */ - if ((b->type == bp_catch_load) + /* Is this a catchpoint of a load or unload? If so, did we + get a load or unload of the specified library? If not, + ignore it. */ + if ((b->type == bp_catch_load) #if defined(SOLIB_HAVE_LOAD_EVENT) - && (!SOLIB_HAVE_LOAD_EVENT(inferior_pid) - || ((b->dll_pathname != NULL) - && (strcmp (b->dll_pathname, SOLIB_LOADED_LIBRARY_PATHNAME(inferior_pid)) != 0))) + && (!SOLIB_HAVE_LOAD_EVENT (PIDGET (inferior_ptid)) + || ((b->dll_pathname != NULL) + && (strcmp (b->dll_pathname, + SOLIB_LOADED_LIBRARY_PATHNAME ( + PIDGET (inferior_ptid))) + != 0))) #endif - ) - continue; - - if ((b->type == bp_catch_unload) + ) + continue; + + if ((b->type == bp_catch_unload) #if defined(SOLIB_HAVE_UNLOAD_EVENT) - && (!SOLIB_HAVE_UNLOAD_EVENT(inferior_pid) - || ((b->dll_pathname != NULL) - && (strcmp (b->dll_pathname, SOLIB_UNLOADED_LIBRARY_PATHNAME(inferior_pid)) != 0))) + && (!SOLIB_HAVE_UNLOAD_EVENT (PIDGET (inferior_ptid)) + || ((b->dll_pathname != NULL) + && (strcmp (b->dll_pathname, + SOLIB_UNLOADED_LIBRARY_PATHNAME ( + PIDGET (inferior_ptid))) + != 0))) #endif - ) - continue; - - if ((b->type == bp_catch_fork) - && ! target_has_forked (inferior_pid, &b->forked_inferior_pid)) - continue; - - if ((b->type == bp_catch_vfork) - && ! target_has_vforked (inferior_pid, &b->forked_inferior_pid)) - continue; - - if ((b->type == bp_catch_exec) - && ! target_has_execd (inferior_pid, &b->exec_pathname)) - continue; + ) + continue; - if (ep_is_exception_catchpoint (b) && - !(current_exception_event = target_get_current_exception_event ())) - continue; + if ((b->type == bp_catch_fork) + && !target_has_forked (PIDGET (inferior_ptid), + &b->forked_inferior_pid)) + continue; - /* Come here if it's a watchpoint, or if the break address matches */ + if ((b->type == bp_catch_vfork) + && !target_has_vforked (PIDGET (inferior_ptid), + &b->forked_inferior_pid)) + continue; - bs = bpstat_alloc (b, bs); /* Alloc a bpstat to explain stop */ + if ((b->type == bp_catch_exec) + && !target_has_execd (PIDGET (inferior_ptid), &b->exec_pathname)) + continue; - /* Watchpoints may change this, if not found to have triggered. */ - bs->stop = 1; - bs->print = 1; + if (ep_is_exception_catchpoint (b) && + !(current_exception_event = target_get_current_exception_event ())) + continue; - sprintf (message, message1, b->number); - if (b->type == bp_watchpoint || b->type == bp_hardware_watchpoint) - { - switch (catch_errors (watchpoint_check, bs, message, RETURN_MASK_ALL)) + /* Come here if it's a watchpoint, or if the break address matches */ + + bs = bpstat_alloc (b, bs); /* Alloc a bpstat to explain stop */ + + /* Watchpoints may change this, if not found to have triggered. */ + bs->stop = 1; + bs->print = 1; + + sprintf (message, message1, b->number); + if (b->type == bp_watchpoint || + b->type == bp_hardware_watchpoint) + { + switch (catch_errors (watchpoint_check, bs, message, + RETURN_MASK_ALL)) + { + case WP_DELETED: + /* We've already printed what needs to be printed. */ + /* Actually this is superfluous, because by the time we + call print_it_typical() the wp will be already deleted, + and the function will return immediately. */ + bs->print_it = print_it_done; + /* Stop. */ + break; + case WP_VALUE_CHANGED: + /* Stop. */ + ++(b->hit_count); + break; + case WP_VALUE_NOT_CHANGED: + /* Don't stop. */ + bs->print_it = print_it_noop; + bs->stop = 0; + continue; + default: + /* Can't happen. */ + /* FALLTHROUGH */ + case 0: + /* Error from catch_errors. */ + printf_filtered ("Watchpoint %d deleted.\n", b->number); + if (b->related_breakpoint) + b->related_breakpoint->disposition = disp_del_at_next_stop; + b->disposition = disp_del_at_next_stop; + /* We've already printed what needs to be printed. */ + bs->print_it = print_it_done; + + /* Stop. */ + break; + } + } + else if (b->type == bp_read_watchpoint || + b->type == bp_access_watchpoint) + { + CORE_ADDR addr; + struct value *v; + int found = 0; + + addr = target_stopped_data_address (); + if (addr == 0) + continue; + for (v = b->val_chain; v; v = v->next) + { + if (VALUE_LVAL (v) == lval_memory + && ! VALUE_LAZY (v)) + { + struct type *vtype = check_typedef (VALUE_TYPE (v)); + + if (v == b->val_chain + || (TYPE_CODE (vtype) != TYPE_CODE_STRUCT + && TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) + { + CORE_ADDR vaddr; + + vaddr = VALUE_ADDRESS (v) + VALUE_OFFSET (v); + /* Exact match not required. Within range is + sufficient. */ + if (addr >= vaddr && + addr < vaddr + TYPE_LENGTH (VALUE_TYPE (v))) + found = 1; + } + } + } + if (found) + switch (catch_errors (watchpoint_check, bs, message, + RETURN_MASK_ALL)) { case WP_DELETED: /* We've already printed what needs to be printed. */ @@ -2134,147 +2537,114 @@ bpstat_stop_status (pc, not_a_breakpoint) /* Stop. */ break; case WP_VALUE_CHANGED: - /* Stop. */ + if (b->type == bp_read_watchpoint) + { + /* Don't stop: read watchpoints shouldn't fire if + the value has changed. This is for targets which + cannot set read-only watchpoints. */ + bs->print_it = print_it_noop; + bs->stop = 0; + continue; + } ++(b->hit_count); break; case WP_VALUE_NOT_CHANGED: - /* Don't stop. */ - bs->print_it = print_it_noop; - bs->stop = 0; - /* Don't consider this a hit. */ - --(b->hit_count); - continue; + /* Stop. */ + ++(b->hit_count); + break; default: /* Can't happen. */ - /* FALLTHROUGH */ case 0: /* Error from catch_errors. */ printf_filtered ("Watchpoint %d deleted.\n", b->number); if (b->related_breakpoint) - b->related_breakpoint->disposition = del_at_next_stop; - b->disposition = del_at_next_stop; + b->related_breakpoint->disposition = disp_del_at_next_stop; + b->disposition = disp_del_at_next_stop; /* We've already printed what needs to be printed. */ bs->print_it = print_it_done; - - /* Stop. */ break; } - } - else if (b->type == bp_read_watchpoint || b->type == bp_access_watchpoint) - { - CORE_ADDR addr; - value_ptr v; - int found = 0; - - addr = target_stopped_data_address(); - if (addr == 0) continue; - for (v = b->val_chain; v; v = v->next) - { - if (v->lval == lval_memory) - { - CORE_ADDR vaddr; - - vaddr = VALUE_ADDRESS (v) + VALUE_OFFSET (v); - if (addr == vaddr) - found = 1; - } - } - if (found) - switch (catch_errors (watchpoint_check, bs, message, RETURN_MASK_ALL)) - { - case WP_DELETED: - /* We've already printed what needs to be printed. */ - bs->print_it = print_it_done; - /* Stop. */ - break; - case WP_VALUE_CHANGED: - case WP_VALUE_NOT_CHANGED: - /* Stop. */ - ++(b->hit_count); - break; - default: - /* Can't happen. */ - case 0: - /* Error from catch_errors. */ - printf_filtered ("Watchpoint %d deleted.\n", b->number); - if (b->related_breakpoint) - b->related_breakpoint->disposition = del_at_next_stop; - b->disposition = del_at_next_stop; - /* We've already printed what needs to be printed. */ - bs->print_it = print_it_done; - break; - } - } - else - { - /* By definition, an encountered breakpoint is a triggered - breakpoint. */ - ++(b->hit_count); - - real_breakpoint = 1; - } - - if (b->frame && b->frame != (get_current_frame ())->frame && - (b->type == bp_step_resume && - (INNER_THAN (get_current_frame ()->frame, b->frame)))) - bs->stop = 0; - else - { - int value_is_zero = 0; + else /* found == 0 */ + { + /* This is a case where some watchpoint(s) triggered, + but not at the address of this watchpoint (FOUND + was left zero). So don't print anything for this + watchpoint. */ + bs->print_it = print_it_noop; + bs->stop = 0; + continue; + } + } + else + { + /* By definition, an encountered breakpoint is a triggered + breakpoint. */ + ++(b->hit_count); - if (b->cond) - { - /* Need to select the frame, with all that implies - so that the conditions will have the right context. */ - select_frame (get_current_frame (), 0); - value_is_zero - = catch_errors (breakpoint_cond_eval, (b->cond), - "Error in testing breakpoint condition:\n", - RETURN_MASK_ALL); - /* FIXME-someday, should give breakpoint # */ - free_all_values (); - } - if (b->cond && value_is_zero) - { - bs->stop = 0; - /* Don't consider this a hit. */ - --(b->hit_count); - } - else if (b->ignore_count > 0) - { - b->ignore_count--; - bs->stop = 0; - } - else - { - /* We will stop here */ - if (b->disposition == disable) - b->enable = disabled; - bs->commands = b->commands; - if (b->silent) + real_breakpoint = 1; + } + + if (b->frame && + b->frame != (get_current_frame ())->frame) + bs->stop = 0; + else + { + int value_is_zero = 0; + + if (b->cond) + { + /* Need to select the frame, with all that implies + so that the conditions will have the right context. */ + select_frame (get_current_frame (), 0); + value_is_zero + = catch_errors (breakpoint_cond_eval, (b->cond), + "Error in testing breakpoint condition:\n", + RETURN_MASK_ALL); + /* FIXME-someday, should give breakpoint # */ + free_all_values (); + } + if (b->cond && value_is_zero) + { + bs->stop = 0; + /* Don't consider this a hit. */ + --(b->hit_count); + } + else if (b->ignore_count > 0) + { + b->ignore_count--; + annotate_ignore_count_change (); + bs->stop = 0; + } + else + { + /* We will stop here */ + if (b->disposition == disp_disable) + b->enable_state = bp_disabled; + bs->commands = b->commands; + if (b->silent) + bs->print = 0; + if (bs->commands && + (STREQ ("silent", bs->commands->line) || + (xdb_commands && STREQ ("Q", bs->commands->line)))) + { + bs->commands = bs->commands->next; bs->print = 0; - if (bs->commands && - (STREQ ("silent", bs->commands->line) || - (xdb_commands && STREQ ("Q", bs->commands->line)))) - { - bs->commands = bs->commands->next; - bs->print = 0; - } - } - } - /* Print nothing for this entry if we dont stop or if we dont print. */ - if (bs->stop == 0 || bs->print == 0) - bs->print_it = print_it_noop; - } + } + } + } + /* Print nothing for this entry if we dont stop or if we dont print. */ + if (bs->stop == 0 || bs->print == 0) + bs->print_it = print_it_noop; + } bs->next = NULL; /* Terminate the chain */ bs = root_bs->next; /* Re-grab the head of the chain */ if (real_breakpoint && bs) { - if (bs->breakpoint_at->type == bp_hardware_breakpoint) + if (bs->breakpoint_at->type == bp_hardware_breakpoint) { - if (DECR_PC_AFTER_HW_BREAK != 0) + if (DECR_PC_AFTER_HW_BREAK != 0) { *pc = *pc - DECR_PC_AFTER_HW_BREAK; write_pc (*pc); @@ -2286,7 +2656,7 @@ bpstat_stop_status (pc, not_a_breakpoint) { *pc = bp_addr; #if defined (SHIFT_INST_REGS) - SHIFT_INST_REGS(); + SHIFT_INST_REGS (); #else /* No SHIFT_INST_REGS. */ write_pc (bp_addr); #endif /* No SHIFT_INST_REGS. */ @@ -2296,7 +2666,7 @@ bpstat_stop_status (pc, not_a_breakpoint) /* The value of a hardware watchpoint hasn't changed, but the intermediate memory locations we are watching may have. */ - if (bs && ! bs->stop && + if (bs && !bs->stop && (bs->breakpoint_at->type == bp_hardware_watchpoint || bs->breakpoint_at->type == bp_read_watchpoint || bs->breakpoint_at->type == bp_access_watchpoint)) @@ -2309,49 +2679,49 @@ bpstat_stop_status (pc, not_a_breakpoint) /* Tell what to do about this bpstat. */ struct bpstat_what -bpstat_what (bs) - bpstat bs; +bpstat_what (bpstat bs) { /* Classify each bpstat as one of the following. */ - enum class { - /* This bpstat element has no effect on the main_action. */ - no_effect = 0, + enum class + { + /* This bpstat element has no effect on the main_action. */ + no_effect = 0, - /* There was a watchpoint, stop but don't print. */ - wp_silent, + /* There was a watchpoint, stop but don't print. */ + wp_silent, - /* There was a watchpoint, stop and print. */ - wp_noisy, + /* There was a watchpoint, stop and print. */ + wp_noisy, - /* There was a breakpoint but we're not stopping. */ - bp_nostop, + /* There was a breakpoint but we're not stopping. */ + bp_nostop, - /* There was a breakpoint, stop but don't print. */ - bp_silent, + /* There was a breakpoint, stop but don't print. */ + bp_silent, - /* There was a breakpoint, stop and print. */ - bp_noisy, + /* There was a breakpoint, stop and print. */ + bp_noisy, - /* We hit the longjmp breakpoint. */ - long_jump, + /* We hit the longjmp breakpoint. */ + long_jump, - /* We hit the longjmp_resume breakpoint. */ - long_resume, + /* We hit the longjmp_resume breakpoint. */ + long_resume, - /* We hit the step_resume breakpoint. */ - step_resume, + /* We hit the step_resume breakpoint. */ + step_resume, - /* We hit the through_sigtramp breakpoint. */ - through_sig, + /* We hit the through_sigtramp breakpoint. */ + through_sig, - /* We hit the shared library event breakpoint. */ - shlib_event, + /* We hit the shared library event breakpoint. */ + shlib_event, - /* We caught a shared library event. */ - catch_shlib_event, - - /* This is just used to count how many enums there are. */ - class_last + /* We caught a shared library event. */ + catch_shlib_event, + + /* This is just used to count how many enums there are. */ + class_last }; /* Here is the table which drives this routine. So that we can @@ -2379,8 +2749,34 @@ bpstat_what (bs) as bp_silent and wp_noisy is the same as bp_noisy. That is because after stopping, the check for whether to step over a breakpoint (BPSTAT_WHAT_SINGLE type stuff) is handled in proceed() without - reference to how we stopped. We retain separate wp_silent and bp_silent - codes in case we want to change that someday. */ + reference to how we stopped. We retain separate wp_silent and + bp_silent codes in case we want to change that someday. + + Another possibly interesting property of this table is that + there's a partial ordering, priority-like, of the actions. Once + you've decided that some action is appropriate, you'll never go + back and decide something of a lower priority is better. The + ordering is: + + kc < clr sgl shl shlr slr sn sr ss ts + sgl < clrs shl shlr slr sn sr ss ts + slr < err shl shlr sn sr ss ts + clr < clrs err shl shlr sn sr ss ts + clrs < err shl shlr sn sr ss ts + ss < shl shlr sn sr ts + sn < shl shlr sr ts + sr < shl shlr ts + shl < shlr + ts < + shlr < + + What I think this means is that we don't need a damned table + here. If you just put the rows and columns in the right order, + it'd look awfully regular. We could simply walk the bpstat list + and choose the highest priority action we find, with a little + logic to handle the 'err' cases, and the CLEAR_LONGJMP_RESUME/ + CLEAR_LONGJMP_RESUME_SINGLE distinction (which breakpoint.h says + is messy anyway). */ /* step_resume entries: a step resume breakpoint overrides another breakpoint of signal handling (see comment in wait_for_inferior @@ -2389,24 +2785,36 @@ bpstat_what (bs) one of those and a step_resume_breakpoint is probably very rare (?). */ static const enum bpstat_what_main_action - table[(int)class_last][(int)BPSTAT_WHAT_LAST] = - { - /* old action */ - /* kc ss sn sgl slr clr clrs sr ts shl shlr - */ -/*no_effect*/ {kc, ss, sn, sgl, slr, clr, clrs, sr, ts, shl, shlr}, -/*wp_silent*/ {ss, ss, sn, ss, ss, ss, ss, sr, ts, shl, shlr}, -/*wp_noisy*/ {sn, sn, sn, sn, sn, sn, sn, sr, ts, shl, shlr}, -/*bp_nostop*/ {sgl, ss, sn, sgl, slr, clrs, clrs, sr, ts, shl, shlr}, -/*bp_silent*/ {ss, ss, sn, ss, ss, ss, ss, sr, ts, shl, shlr}, -/*bp_noisy*/ {sn, sn, sn, sn, sn, sn, sn, sr, ts, shl, shlr}, -/*long_jump*/ {slr, ss, sn, slr, err, err, err, sr, ts, shl, shlr}, -/*long_resume*/ {clr, ss, sn, clrs, err, err, err, sr, ts, shl, shlr}, -/*step_resume*/ {sr, sr, sr, sr, sr, sr, sr, sr, ts, shl, shlr}, -/*through_sig*/ {ts, ts, ts, ts, ts, ts, ts, ts, ts, shl, shlr}, -/*shlib*/ {shl, shl, shl, shl, shl, shl, shl, shl, ts, shl, shlr}, -/*catch_shlib*/ {shlr, shlr, shlr, shlr, shlr, shlr, shlr, shlr, ts, shlr, shlr} - }; + table[(int) class_last][(int) BPSTAT_WHAT_LAST] = + { + /* old action */ + /* kc ss sn sgl slr clr clrs sr ts shl shlr + */ +/*no_effect */ + {kc, ss, sn, sgl, slr, clr, clrs, sr, ts, shl, shlr}, +/*wp_silent */ + {ss, ss, sn, ss, ss, ss, ss, sr, ts, shl, shlr}, +/*wp_noisy */ + {sn, sn, sn, sn, sn, sn, sn, sr, ts, shl, shlr}, +/*bp_nostop */ + {sgl, ss, sn, sgl, slr, clrs, clrs, sr, ts, shl, shlr}, +/*bp_silent */ + {ss, ss, sn, ss, ss, ss, ss, sr, ts, shl, shlr}, +/*bp_noisy */ + {sn, sn, sn, sn, sn, sn, sn, sr, ts, shl, shlr}, +/*long_jump */ + {slr, ss, sn, slr, slr, err, err, sr, ts, shl, shlr}, +/*long_resume */ + {clr, ss, sn, clrs, err, err, err, sr, ts, shl, shlr}, +/*step_resume */ + {sr, sr, sr, sr, sr, sr, sr, sr, ts, shl, shlr}, +/*through_sig */ + {ts, ts, ts, ts, ts, ts, ts, ts, ts, shl, shlr}, +/*shlib */ + {shl, shl, shl, shl, shl, shl, shl, shl, ts, shl, shlr}, +/*catch_shlib */ + {shlr, shlr, shlr, shlr, shlr, shlr, shlr, shlr, ts, shlr, shlr} + }; #undef kc #undef ss @@ -2462,8 +2870,8 @@ bpstat_what (bs) bs_class = wp_silent; } else - /* There was a watchpoint, but we're not stopping. This requires - no further action. */ + /* There was a watchpoint, but we're not stopping. + This requires no further action. */ bs_class = no_effect; break; case bp_longjmp: @@ -2490,51 +2898,55 @@ bpstat_what (bs) case bp_shlib_event: bs_class = shlib_event; break; - case bp_catch_load: - case bp_catch_unload: - /* Only if this catchpoint triggered should we cause the - step-out-of-dld behaviour. Otherwise, we ignore this - catchpoint. */ - if (bs->stop) - bs_class = catch_shlib_event; - else - bs_class = no_effect; - break; - case bp_catch_fork: - case bp_catch_vfork: + case bp_thread_event: + case bp_overlay_event: + bs_class = bp_nostop; + break; + case bp_catch_load: + case bp_catch_unload: + /* Only if this catchpoint triggered should we cause the + step-out-of-dld behaviour. Otherwise, we ignore this + catchpoint. */ + if (bs->stop) + bs_class = catch_shlib_event; + else + bs_class = no_effect; + break; + case bp_catch_fork: + case bp_catch_vfork: case bp_catch_exec: - if (bs->stop) - { - if (bs->print) - bs_class = bp_noisy; - else - bs_class = bp_silent; - } - else - /* There was a catchpoint, but we're not stopping. This requires - no further action. */ - bs_class = no_effect; - break; - case bp_catch_catch: - if (!bs->stop || CURRENT_EXCEPTION_KIND != EX_EVENT_CATCH) - bs_class = bp_nostop; - else if (bs->stop) - bs_class = bs->print ? bp_noisy : bp_silent; - break; - case bp_catch_throw: - if (!bs->stop || CURRENT_EXCEPTION_KIND != EX_EVENT_THROW) - bs_class = bp_nostop; - else if (bs->stop) - bs_class = bs->print ? bp_noisy : bp_silent; - break; + if (bs->stop) + { + if (bs->print) + bs_class = bp_noisy; + else + bs_class = bp_silent; + } + else + /* There was a catchpoint, but we're not stopping. + This requires no further action. */ + bs_class = no_effect; + break; + case bp_catch_catch: + if (!bs->stop || CURRENT_EXCEPTION_KIND != EX_EVENT_CATCH) + bs_class = bp_nostop; + else if (bs->stop) + bs_class = bs->print ? bp_noisy : bp_silent; + break; + case bp_catch_throw: + if (!bs->stop || CURRENT_EXCEPTION_KIND != EX_EVENT_THROW) + bs_class = bp_nostop; + else if (bs->stop) + bs_class = bs->print ? bp_noisy : bp_silent; + break; case bp_call_dummy: - /* Make sure the action is stop (silent or noisy), so infrun.c - pops the dummy frame. */ + /* Make sure the action is stop (silent or noisy), + so infrun.c pops the dummy frame. */ bs_class = bp_silent; retval.call_dummy = 1; break; } - current_action = table[(int)bs_class][(int)current_action]; + current_action = table[(int) bs_class][(int) current_action]; } retval.main_action = current_action; return retval; @@ -2544,66 +2956,65 @@ bpstat_what (bs) without hardware support). This isn't related to a specific bpstat, just to things like whether watchpoints are set. */ -int -bpstat_should_step () +int +bpstat_should_step (void) { struct breakpoint *b; ALL_BREAKPOINTS (b) - if (b->enable == enabled && b->type == bp_watchpoint) + if (b->enable_state == bp_enabled && b->type == bp_watchpoint) return 1; return 0; } /* Nonzero if there are enabled hardware watchpoints. */ int -bpstat_have_active_hw_watchpoints () +bpstat_have_active_hw_watchpoints (void) { struct breakpoint *b; ALL_BREAKPOINTS (b) - if ((b->enable == enabled) && - (b->inserted) && - ((b->type == bp_hardware_watchpoint) || - (b->type == bp_read_watchpoint) || - (b->type == bp_access_watchpoint))) + if ((b->enable_state == bp_enabled) && + (b->inserted) && + ((b->type == bp_hardware_watchpoint) || + (b->type == bp_read_watchpoint) || + (b->type == bp_access_watchpoint))) return 1; return 0; } - + /* Given a bpstat that records zero or more triggered eventpoints, this function returns another bpstat which contains only the catchpoints on that first list, if any. */ void -bpstat_get_triggered_catchpoints (ep_list, cp_list) - bpstat ep_list; - bpstat * cp_list; -{ - struct bpstats root_bs[1]; - bpstat bs = root_bs; - struct breakpoint * ep; - char * dll_pathname; - +bpstat_get_triggered_catchpoints (bpstat ep_list, bpstat *cp_list) +{ + struct bpstats root_bs[1]; + bpstat bs = root_bs; + struct breakpoint *ep; + char *dll_pathname; + bpstat_clear (cp_list); root_bs->next = NULL; - - for (; ep_list != NULL; ep_list = ep_list->next ) + + for (; ep_list != NULL; ep_list = ep_list->next) { /* Is this eventpoint a catchpoint? If not, ignore it. */ ep = ep_list->breakpoint_at; if (ep == NULL) - break; - if ((ep->type != bp_catch_load) && - (ep->type != bp_catch_unload) && - (ep->type != bp_catch_catch) && - (ep->type != bp_catch_throw)) /* pai: (temp) ADD fork/vfork here!! */ - continue; - + break; + if ((ep->type != bp_catch_load) && + (ep->type != bp_catch_unload) && + (ep->type != bp_catch_catch) && + (ep->type != bp_catch_throw)) + /* pai: (temp) ADD fork/vfork here!! */ + continue; + /* Yes; add it to the list. */ bs = bpstat_alloc (ep, bs); *bs = *ep_list; bs->next = NULL; bs = root_bs->next; - + #if defined(SOLIB_ADD) /* Also, for each triggered catchpoint, tag it with the name of the library that caused this trigger. (We copy the name now, @@ -2611,375 +3022,521 @@ bpstat_get_triggered_catchpoints (ep_list, cp_list) catchpoint triggers. Clients who may wish to know the name later must get it from the catchpoint itself.) */ if (ep->triggered_dll_pathname != NULL) - free (ep->triggered_dll_pathname); + xfree (ep->triggered_dll_pathname); if (ep->type == bp_catch_load) - dll_pathname = SOLIB_LOADED_LIBRARY_PATHNAME (inferior_pid); + dll_pathname = SOLIB_LOADED_LIBRARY_PATHNAME ( + PIDGET (inferior_ptid)); else - dll_pathname = SOLIB_UNLOADED_LIBRARY_PATHNAME (inferior_pid); + dll_pathname = SOLIB_UNLOADED_LIBRARY_PATHNAME ( + PIDGET (inferior_ptid)); #else dll_pathname = NULL; #endif if (dll_pathname) { - ep->triggered_dll_pathname = (char *) xmalloc (strlen (dll_pathname) + 1); + ep->triggered_dll_pathname = (char *) + xmalloc (strlen (dll_pathname) + 1); strcpy (ep->triggered_dll_pathname, dll_pathname); } else ep->triggered_dll_pathname = NULL; } - + *cp_list = bs; } -/* Print information on breakpoint number BNUM, or -1 if all. - If WATCHPOINTS is zero, process only breakpoints; if WATCHPOINTS - is nonzero, process only watchpoints. */ - -typedef struct { - enum bptype type; - char * description; -} ep_type_description_t; - +/* Print B to gdb_stdout. */ static void -breakpoint_1 (bnum, allflag) - int bnum; - int allflag; +print_one_breakpoint (struct breakpoint *b, + CORE_ADDR *last_addr) { - register struct breakpoint *b; register struct command_line *l; register struct symbol *sym; - CORE_ADDR last_addr = (CORE_ADDR)-1; - int found_a_breakpoint = 0; - static ep_type_description_t bptypes[] = + struct ep_type_description + { + enum bptype type; + char *description; + }; + static struct ep_type_description bptypes[] = { - {bp_none, "?deleted?"}, - {bp_breakpoint, "breakpoint"}, + {bp_none, "?deleted?"}, + {bp_breakpoint, "breakpoint"}, {bp_hardware_breakpoint, "hw breakpoint"}, - {bp_until, "until"}, - {bp_finish, "finish"}, - {bp_watchpoint, "watchpoint"}, + {bp_until, "until"}, + {bp_finish, "finish"}, + {bp_watchpoint, "watchpoint"}, {bp_hardware_watchpoint, "hw watchpoint"}, - {bp_read_watchpoint, "read watchpoint"}, - {bp_access_watchpoint, "acc watchpoint"}, - {bp_longjmp, "longjmp"}, - {bp_longjmp_resume, "longjmp resume"}, - {bp_step_resume, "step resume"}, - {bp_through_sigtramp, "sigtramp"}, - {bp_watchpoint_scope, "watchpoint scope"}, - {bp_call_dummy, "call dummy"}, - {bp_shlib_event, "shlib events"}, - {bp_catch_load, "catch load"}, - {bp_catch_unload, "catch unload"}, - {bp_catch_fork, "catch fork"}, - {bp_catch_vfork, "catch vfork"}, - {bp_catch_exec, "catch exec"}, - {bp_catch_catch, "catch catch"}, - {bp_catch_throw, "catch throw"} - }; - - static char *bpdisps[] = {"del", "dstp", "dis", "keep"}; - static char bpenables[] = "nyn"; + {bp_read_watchpoint, "read watchpoint"}, + {bp_access_watchpoint, "acc watchpoint"}, + {bp_longjmp, "longjmp"}, + {bp_longjmp_resume, "longjmp resume"}, + {bp_step_resume, "step resume"}, + {bp_through_sigtramp, "sigtramp"}, + {bp_watchpoint_scope, "watchpoint scope"}, + {bp_call_dummy, "call dummy"}, + {bp_shlib_event, "shlib events"}, + {bp_thread_event, "thread events"}, + {bp_overlay_event, "overlay events"}, + {bp_catch_load, "catch load"}, + {bp_catch_unload, "catch unload"}, + {bp_catch_fork, "catch fork"}, + {bp_catch_vfork, "catch vfork"}, + {bp_catch_exec, "catch exec"}, + {bp_catch_catch, "catch catch"}, + {bp_catch_throw, "catch throw"} + }; + + static char *bpdisps[] = + {"del", "dstp", "dis", "keep"}; + static char bpenables[] = "nynny"; char wrap_indent[80]; + struct ui_stream *stb = ui_out_stream_new (uiout); + struct cleanup *old_chain = make_cleanup_ui_out_stream_delete (stb); + + annotate_record (); + ui_out_tuple_begin (uiout, "bkpt"); + + /* 1 */ + annotate_field (0); + ui_out_field_int (uiout, "number", b->number); + + /* 2 */ + annotate_field (1); + if (((int) b->type > (sizeof (bptypes) / sizeof (bptypes[0]))) + || ((int) b->type != bptypes[(int) b->type].type)) + internal_error (__FILE__, __LINE__, + "bptypes table does not describe type #%d.", + (int) b->type); + ui_out_field_string (uiout, "type", bptypes[(int) b->type].description); + + /* 3 */ + annotate_field (2); + ui_out_field_string (uiout, "disp", bpdisps[(int) b->disposition]); + + /* 4 */ + annotate_field (3); + ui_out_field_fmt (uiout, "enabled", "%c", bpenables[(int) b->enable_state]); + ui_out_spaces (uiout, 2); + + /* 5 and 6 */ + strcpy (wrap_indent, " "); + if (addressprint) + { + if (TARGET_ADDR_BIT <= 32) + strcat (wrap_indent, " "); + else + strcat (wrap_indent, " "); + } + switch (b->type) + { + case bp_none: + internal_error (__FILE__, __LINE__, + "print_one_breakpoint: bp_none encountered\n"); + break; - ALL_BREAKPOINTS (b) - if (bnum == -1 - || bnum == b->number) - { -/* We only print out user settable breakpoints unless the allflag is set. */ - if (!allflag - && b->type != bp_breakpoint - && b->type != bp_catch_load - && b->type != bp_catch_unload - && b->type != bp_catch_fork - && b->type != bp_catch_vfork - && b->type != bp_catch_exec - && b->type != bp_catch_catch - && b->type != bp_catch_throw - && b->type != bp_hardware_breakpoint - && b->type != bp_watchpoint - && b->type != bp_read_watchpoint - && b->type != bp_access_watchpoint - && b->type != bp_hardware_watchpoint) - continue; + case bp_watchpoint: + case bp_hardware_watchpoint: + case bp_read_watchpoint: + case bp_access_watchpoint: + /* Field 4, the address, is omitted (which makes the columns + not line up too nicely with the headers, but the effect + is relatively readable). */ + if (addressprint) + ui_out_field_skip (uiout, "addr"); + annotate_field (5); + print_expression (b->exp, stb->stream); + ui_out_field_stream (uiout, "what", stb); + break; + + case bp_catch_load: + case bp_catch_unload: + /* Field 4, the address, is omitted (which makes the columns + not line up too nicely with the headers, but the effect + is relatively readable). */ + if (addressprint) + ui_out_field_skip (uiout, "addr"); + annotate_field (5); + if (b->dll_pathname == NULL) + { + ui_out_field_string (uiout, "what", ""); + ui_out_spaces (uiout, 1); + } + else + { + ui_out_text (uiout, "library \""); + ui_out_field_string (uiout, "what", b->dll_pathname); + ui_out_text (uiout, "\" "); + } + break; + + case bp_catch_fork: + case bp_catch_vfork: + /* Field 4, the address, is omitted (which makes the columns + not line up too nicely with the headers, but the effect + is relatively readable). */ + if (addressprint) + ui_out_field_skip (uiout, "addr"); + annotate_field (5); + if (b->forked_inferior_pid != 0) + { + ui_out_text (uiout, "process "); + ui_out_field_int (uiout, "what", b->forked_inferior_pid); + ui_out_spaces (uiout, 1); + } + + case bp_catch_exec: + /* Field 4, the address, is omitted (which makes the columns + not line up too nicely with the headers, but the effect + is relatively readable). */ + if (addressprint) + ui_out_field_skip (uiout, "addr"); + annotate_field (5); + if (b->exec_pathname != NULL) + { + ui_out_text (uiout, "program \""); + ui_out_field_string (uiout, "what", b->exec_pathname); + ui_out_text (uiout, "\" "); + } + break; - if (!found_a_breakpoint++) - { - annotate_breakpoints_headers (); + case bp_catch_catch: + /* Field 4, the address, is omitted (which makes the columns + not line up too nicely with the headers, but the effect + is relatively readable). */ + if (addressprint) + ui_out_field_skip (uiout, "addr"); + annotate_field (5); + ui_out_field_string (uiout, "what", "exception catch"); + ui_out_spaces (uiout, 1); + break; + + case bp_catch_throw: + /* Field 4, the address, is omitted (which makes the columns + not line up too nicely with the headers, but the effect + is relatively readable). */ + if (addressprint) + ui_out_field_skip (uiout, "addr"); + annotate_field (5); + ui_out_field_string (uiout, "what", "exception throw"); + ui_out_spaces (uiout, 1); + break; + + case bp_breakpoint: + case bp_hardware_breakpoint: + case bp_until: + case bp_finish: + case bp_longjmp: + case bp_longjmp_resume: + case bp_step_resume: + case bp_through_sigtramp: + case bp_watchpoint_scope: + case bp_call_dummy: + case bp_shlib_event: + case bp_thread_event: + case bp_overlay_event: + if (addressprint) + { + annotate_field (4); + ui_out_field_core_addr (uiout, "addr", b->address); + } + annotate_field (5); + *last_addr = b->address; + if (b->source_file) + { + sym = find_pc_sect_function (b->address, b->section); + if (sym) + { + ui_out_text (uiout, "in "); + ui_out_field_string (uiout, "func", + SYMBOL_SOURCE_NAME (sym)); + ui_out_wrap_hint (uiout, wrap_indent); + ui_out_text (uiout, " at "); + } + ui_out_field_string (uiout, "file", b->source_file); + ui_out_text (uiout, ":"); + ui_out_field_int (uiout, "line", b->line_number); + } + else + { + print_address_symbolic (b->address, stb->stream, demangle, ""); + ui_out_field_stream (uiout, "at", stb); + } + break; + } - annotate_field (0); - printf_filtered ("Num "); - annotate_field (1); - printf_filtered ("Type "); - annotate_field (2); - printf_filtered ("Disp "); - annotate_field (3); - printf_filtered ("Enb "); - if (addressprint) - { - annotate_field (4); - printf_filtered ("Address "); - } - annotate_field (5); - printf_filtered ("What\n"); + if (b->thread != -1) + { + /* FIXME: This seems to be redundant and lost here; see the + "stop only in" line a little further down. */ + ui_out_text (uiout, " thread "); + ui_out_field_int (uiout, "thread", b->thread); + } - annotate_breakpoints_table (); - } + ui_out_text (uiout, "\n"); - annotate_record (); - annotate_field (0); - printf_filtered ("%-3d ", b->number); - annotate_field (1); - if ((int)b->type > (sizeof(bptypes)/sizeof(bptypes[0]))) - error ("bptypes table does not describe type #%d.", (int)b->type); - if ((int)b->type != bptypes[(int)b->type].type) - error ("bptypes table does not describe type #%d?", (int)b->type); - printf_filtered ("%-14s ", bptypes[(int)b->type].description); - annotate_field (2); - printf_filtered ("%-4s ", bpdisps[(int)b->disposition]); - annotate_field (3); - printf_filtered ("%-3c ", bpenables[(int)b->enable]); - - strcpy (wrap_indent, " "); - if (addressprint) - strcat (wrap_indent, " "); - switch (b->type) - { - case bp_watchpoint: - case bp_hardware_watchpoint: - case bp_read_watchpoint: - case bp_access_watchpoint: - /* Field 4, the address, is omitted (which makes the columns - not line up too nicely with the headers, but the effect - is relatively readable). */ - annotate_field (5); - print_expression (b->exp, gdb_stdout); - break; - - case bp_catch_load: - case bp_catch_unload: - /* Field 4, the address, is omitted (which makes the columns - not line up too nicely with the headers, but the effect - is relatively readable). */ - annotate_field (5); - if (b->dll_pathname == NULL) - printf_filtered (" "); - else - printf_filtered ("library \"%s\" ", b->dll_pathname); - break; - - case bp_catch_fork: - case bp_catch_vfork: - /* Field 4, the address, is omitted (which makes the columns - not line up too nicely with the headers, but the effect - is relatively readable). */ - annotate_field (5); - if (b->forked_inferior_pid != 0) - printf_filtered ("process %d ", b->forked_inferior_pid); - break; - - case bp_catch_exec: - /* Field 4, the address, is omitted (which makes the columns - not line up too nicely with the headers, but the effect - is relatively readable). */ - annotate_field (5); - if (b->exec_pathname != NULL) - printf_filtered ("program \"%s\" ", b->exec_pathname); - break; - case bp_catch_catch: - /* Field 4, the address, is omitted (which makes the columns - not line up too nicely with the headers, but the effect - is relatively readable). */ - annotate_field (5); - printf_filtered ("exception catch "); - break; - case bp_catch_throw: - /* Field 4, the address, is omitted (which makes the columns - not line up too nicely with the headers, but the effect - is relatively readable). */ - annotate_field (5); - printf_filtered ("exception throw "); - break; - - case bp_breakpoint: - case bp_hardware_breakpoint: - case bp_until: - case bp_finish: - case bp_longjmp: - case bp_longjmp_resume: - case bp_step_resume: - case bp_through_sigtramp: - case bp_watchpoint_scope: - case bp_call_dummy: - case bp_shlib_event: - if (addressprint) - { - annotate_field (4); - /* FIXME-32x64: need a print_address_numeric with - field width */ - printf_filtered - ("%s ", - local_hex_string_custom - ((unsigned long) b->address, "08l")); - } - - annotate_field (5); - - last_addr = b->address; - if (b->source_file) - { - sym = find_pc_sect_function (b->address, b->section); - if (sym) - { - fputs_filtered ("in ", gdb_stdout); - fputs_filtered (SYMBOL_SOURCE_NAME (sym), gdb_stdout); - wrap_here (wrap_indent); - fputs_filtered (" at ", gdb_stdout); - } - fputs_filtered (b->source_file, gdb_stdout); - printf_filtered (":%d", b->line_number); - } - else - print_address_symbolic (b->address, gdb_stdout, demangle, " "); - break; - } - - if (b->thread != -1) - printf_filtered (" thread %d", b->thread ); - - printf_filtered ("\n"); - - if (b->frame) - { - annotate_field (6); + if (b->frame) + { + annotate_field (6); + ui_out_text (uiout, "\tstop only in stack frame at "); + ui_out_field_core_addr (uiout, "frame", b->frame); + ui_out_text (uiout, "\n"); + } + + if (b->cond) + { + annotate_field (7); + ui_out_text (uiout, "\tstop only if "); + print_expression (b->cond, stb->stream); + ui_out_field_stream (uiout, "cond", stb); + ui_out_text (uiout, "\n"); + } + + if (b->thread != -1) + { + /* FIXME should make an annotation for this */ + ui_out_text (uiout, "\tstop only in thread "); + ui_out_field_int (uiout, "thread", b->thread); + ui_out_text (uiout, "\n"); + } + + if (show_breakpoint_hit_counts && b->hit_count) + { + /* FIXME should make an annotation for this */ + if (ep_is_catchpoint (b)) + ui_out_text (uiout, "\tcatchpoint"); + else + ui_out_text (uiout, "\tbreakpoint"); + ui_out_text (uiout, " already hit "); + ui_out_field_int (uiout, "times", b->hit_count); + if (b->hit_count == 1) + ui_out_text (uiout, " time\n"); + else + ui_out_text (uiout, " times\n"); + } + + /* Output the count also if it is zero, but only if this is + mi. FIXME: Should have a better test for this. */ + if (ui_out_is_mi_like_p (uiout)) + if (show_breakpoint_hit_counts && b->hit_count == 0) + ui_out_field_int (uiout, "times", b->hit_count); - printf_filtered ("\tstop only in stack frame at "); - print_address_numeric (b->frame, 1, gdb_stdout); - printf_filtered ("\n"); - } + if (b->ignore_count) + { + annotate_field (8); + ui_out_text (uiout, "\tignore next "); + ui_out_field_int (uiout, "ignore", b->ignore_count); + ui_out_text (uiout, " hits\n"); + } + + if ((l = b->commands)) + { + annotate_field (9); + ui_out_tuple_begin (uiout, "script"); + print_command_lines (uiout, l, 4); + ui_out_tuple_end (uiout); + } + ui_out_tuple_end (uiout); + do_cleanups (old_chain); +} - if (b->cond) - { - annotate_field (7); +struct captured_breakpoint_query_args + { + int bnum; + }; - printf_filtered ("\tstop only if "); - print_expression (b->cond, gdb_stdout); - printf_filtered ("\n"); - } +static int +do_captured_breakpoint_query (struct ui_out *uiout, void *data) +{ + struct captured_breakpoint_query_args *args = data; + register struct breakpoint *b; + CORE_ADDR dummy_addr = 0; + ALL_BREAKPOINTS (b) + { + if (args->bnum == b->number) + { + print_one_breakpoint (b, &dummy_addr); + return GDB_RC_OK; + } + } + return GDB_RC_NONE; +} - if (b->thread != -1) - { - /* FIXME should make an annotation for this */ - printf_filtered ("\tstop only in thread %d\n", b->thread); - } +enum gdb_rc +gdb_breakpoint_query (struct ui_out *uiout, int bnum) +{ + struct captured_breakpoint_query_args args; + args.bnum = bnum; + /* For the moment we don't trust print_one_breakpoint() to not throw + an error. */ + return catch_exceptions (uiout, do_captured_breakpoint_query, &args, + NULL, RETURN_MASK_ALL); +} - if (show_breakpoint_hit_counts && b->hit_count) - { - /* FIXME should make an annotation for this */ - if (ep_is_catchpoint (b)) - printf_filtered ("\tcatchpoint"); - else - printf_filtered ("\tbreakpoint"); - printf_filtered (" already hit %d time%s\n", - b->hit_count, (b->hit_count == 1 ? "" : "s")); - } +/* Return non-zero if B is user settable (breakpoints, watchpoints, + catchpoints, et.al.). */ - if (b->ignore_count) - { - annotate_field (8); +static int +user_settable_breakpoint (const struct breakpoint *b) +{ + return (b->type == bp_breakpoint + || b->type == bp_catch_load + || b->type == bp_catch_unload + || b->type == bp_catch_fork + || b->type == bp_catch_vfork + || b->type == bp_catch_exec + || b->type == bp_catch_catch + || b->type == bp_catch_throw + || b->type == bp_hardware_breakpoint + || b->type == bp_watchpoint + || b->type == bp_read_watchpoint + || b->type == bp_access_watchpoint + || b->type == bp_hardware_watchpoint); +} + +/* Print information on user settable breakpoint (watchpoint, etc) + number BNUM. If BNUM is -1 print all user settable breakpoints. + If ALLFLAG is non-zero, include non- user settable breakpoints. */ - printf_filtered ("\tignore next %d hits\n", b->ignore_count); - } +static void +breakpoint_1 (int bnum, int allflag) +{ + register struct breakpoint *b; + CORE_ADDR last_addr = (CORE_ADDR) -1; + int nr_printable_breakpoints; + + /* Compute the number of rows in the table. */ + nr_printable_breakpoints = 0; + ALL_BREAKPOINTS (b) + if (bnum == -1 + || bnum == b->number) + { + if (allflag || user_settable_breakpoint (b)) + nr_printable_breakpoints++; + } - if ((l = b->commands)) - { - annotate_field (9); + if (addressprint) + ui_out_table_begin (uiout, 6, nr_printable_breakpoints, "BreakpointTable"); + else + ui_out_table_begin (uiout, 5, nr_printable_breakpoints, "BreakpointTable"); + + if (nr_printable_breakpoints > 0) + annotate_breakpoints_headers (); + if (nr_printable_breakpoints > 0) + annotate_field (0); + ui_out_table_header (uiout, 3, ui_left, "number", "Num"); /* 1 */ + if (nr_printable_breakpoints > 0) + annotate_field (1); + ui_out_table_header (uiout, 14, ui_left, "type", "Type"); /* 2 */ + if (nr_printable_breakpoints > 0) + annotate_field (2); + ui_out_table_header (uiout, 4, ui_left, "disp", "Disp"); /* 3 */ + if (nr_printable_breakpoints > 0) + annotate_field (3); + ui_out_table_header (uiout, 3, ui_left, "enabled", "Enb"); /* 4 */ + if (addressprint) + { + if (nr_printable_breakpoints > 0) + annotate_field (4); + if (TARGET_ADDR_BIT <= 32) + ui_out_table_header (uiout, 10, ui_left, "addr", "Address");/* 5 */ + else + ui_out_table_header (uiout, 18, ui_left, "addr", "Address");/* 5 */ + } + if (nr_printable_breakpoints > 0) + annotate_field (5); + ui_out_table_header (uiout, 40, ui_noalign, "what", "What"); /* 6 */ + ui_out_table_body (uiout); + if (nr_printable_breakpoints > 0) + annotate_breakpoints_table (); - while (l) - { - print_command_line (l, 4); - l = l->next; - } - } + ALL_BREAKPOINTS (b) + if (bnum == -1 + || bnum == b->number) + { + /* We only print out user settable breakpoints unless the + allflag is set. */ + if (allflag || user_settable_breakpoint (b)) + print_one_breakpoint (b, &last_addr); } + + ui_out_table_end (uiout); - if (!found_a_breakpoint) + if (nr_printable_breakpoints == 0) { if (bnum == -1) - printf_filtered ("No breakpoints or watchpoints.\n"); + ui_out_message (uiout, 0, "No breakpoints or watchpoints.\n"); else - printf_filtered ("No breakpoint or watchpoint number %d.\n", bnum); + ui_out_message (uiout, 0, "No breakpoint or watchpoint number %d.\n", + bnum); } else - /* Compare against (CORE_ADDR)-1 in case some compiler decides - that a comparison of an unsigned with -1 is always false. */ - if (last_addr != (CORE_ADDR)-1) - set_next_address (last_addr); + { + /* Compare against (CORE_ADDR)-1 in case some compiler decides + that a comparison of an unsigned with -1 is always false. */ + if (last_addr != (CORE_ADDR) -1) + set_next_address (last_addr); + } + /* FIXME? Should this be moved up so that it is only called when + there have been breakpoints? */ annotate_breakpoints_table_end (); } /* ARGSUSED */ static void -breakpoints_info (bnum_exp, from_tty) - char *bnum_exp; - int from_tty; +breakpoints_info (char *bnum_exp, int from_tty) { int bnum = -1; if (bnum_exp) - bnum = parse_and_eval_address (bnum_exp); + bnum = parse_and_eval_long (bnum_exp); breakpoint_1 (bnum, 0); } -#if MAINTENANCE_CMDS - /* ARGSUSED */ -void -maintenance_info_breakpoints (bnum_exp, from_tty) - char *bnum_exp; - int from_tty; +static void +maintenance_info_breakpoints (char *bnum_exp, int from_tty) { int bnum = -1; if (bnum_exp) - bnum = parse_and_eval_address (bnum_exp); + bnum = parse_and_eval_long (bnum_exp); breakpoint_1 (bnum, 1); } -#endif - /* Print a message describing any breakpoints set at PC. */ static void -describe_other_breakpoints (pc, section) - CORE_ADDR pc; - asection *section; +describe_other_breakpoints (CORE_ADDR pc, asection *section) { register int others = 0; register struct breakpoint *b; ALL_BREAKPOINTS (b) - if (b->address == pc) - if (overlay_debugging == 0 || - b->section == section) + if (b->address == pc) /* address match / overlay match */ + if (!overlay_debugging || b->section == section) others++; if (others > 0) { printf_filtered ("Note: breakpoint%s ", (others > 1) ? "s" : ""); ALL_BREAKPOINTS (b) - if (b->address == pc) - if (overlay_debugging == 0 || - b->section == section) + if (b->address == pc) /* address match / overlay match */ + if (!overlay_debugging || b->section == section) { others--; - printf_filtered - ("%d%s%s ", - b->number, - ((b->enable == disabled || b->enable == shlib_disabled || b->enable == call_disabled) - ? " (disabled)" : ""), - (others > 1) ? "," : ((others == 1) ? " and" : "")); + printf_filtered ("%d%s%s ", + b->number, + ((b->enable_state == bp_disabled || + b->enable_state == bp_shlib_disabled || + b->enable_state == bp_call_disabled) + ? " (disabled)" + : b->enable_state == bp_permanent + ? " (permanent)" + : ""), + (others > 1) ? "," + : ((others == 1) ? " and" : "")); } printf_filtered ("also set at pc "); print_address_numeric (pc, 1, gdb_stdout); @@ -2991,11 +3548,8 @@ describe_other_breakpoints (pc, section) for the `break' command with no arguments. */ void -set_default_breakpoint (valid, addr, symtab, line) - int valid; - CORE_ADDR addr; - struct symtab *symtab; - int line; +set_default_breakpoint (int valid, CORE_ADDR addr, struct symtab *symtab, + int line) { default_breakpoint_valid = valid; default_breakpoint_address = addr; @@ -3003,46 +3557,126 @@ set_default_breakpoint (valid, addr, symtab, line) default_breakpoint_line = line; } -/* Rescan breakpoints at address ADDRESS, +/* Return true iff it is meaningful to use the address member of + BPT. For some breakpoint types, the address member is irrelevant + and it makes no sense to attempt to compare it to other addresses + (or use it for any other purpose either). + + More specifically, each of the following breakpoint types will always + have a zero valued address and we don't want check_duplicates() to mark + breakpoints of any of these types to be a duplicate of an actual + breakpoint at address zero: + + bp_watchpoint + bp_hardware_watchpoint + bp_read_watchpoint + bp_access_watchpoint + bp_catch_exec + bp_longjmp_resume + bp_catch_fork + bp_catch_vork */ + +static int +breakpoint_address_is_meaningful (struct breakpoint *bpt) +{ + enum bptype type = bpt->type; + + return (type != bp_watchpoint + && type != bp_hardware_watchpoint + && type != bp_read_watchpoint + && type != bp_access_watchpoint + && type != bp_catch_exec + && type != bp_longjmp_resume + && type != bp_catch_fork + && type != bp_catch_vfork); +} + +/* Rescan breakpoints at the same address and section as BPT, marking the first one as "first" and any others as "duplicates". - This is so that the bpt instruction is only inserted once. */ + This is so that the bpt instruction is only inserted once. + If we have a permanent breakpoint at the same place as BPT, make + that one the official one, and the rest as duplicates. */ static void -check_duplicates (address, section) - CORE_ADDR address; - asection *section; +check_duplicates (struct breakpoint *bpt) { register struct breakpoint *b; register int count = 0; + struct breakpoint *perm_bp = 0; + CORE_ADDR address = bpt->address; + asection *section = bpt->section; + + if (! breakpoint_address_is_meaningful (bpt)) + return; + + ALL_BREAKPOINTS (b) + if (b->enable_state != bp_disabled + && b->enable_state != bp_shlib_disabled + && b->enable_state != bp_call_disabled + && b->address == address /* address / overlay match */ + && (!overlay_debugging || b->section == section) + && breakpoint_address_is_meaningful (b)) + { + /* Have we found a permanent breakpoint? */ + if (b->enable_state == bp_permanent) + { + perm_bp = b; + break; + } + + count++; + b->duplicate = count > 1; + } - if (address == 0) /* Watchpoints are uninteresting */ - return; + /* If we found a permanent breakpoint at this address, go over the + list again and declare all the other breakpoints there to be the + duplicates. */ + if (perm_bp) + { + perm_bp->duplicate = 0; - ALL_BREAKPOINTS (b) - if (b->enable != disabled - && b->enable != shlib_disabled - && b->enable != call_disabled - && b->address == address - && (overlay_debugging == 0 || b->section == section)) - { - count++; - b->duplicate = count > 1; - } + /* Permanent breakpoint should always be inserted. */ + if (! perm_bp->inserted) + internal_error (__FILE__, __LINE__, + "allegedly permanent breakpoint is not " + "actually inserted"); + + ALL_BREAKPOINTS (b) + if (b != perm_bp) + { + if (b->inserted) + internal_error (__FILE__, __LINE__, + "another breakpoint was inserted on top of " + "a permanent breakpoint"); + + if (b->enable_state != bp_disabled + && b->enable_state != bp_shlib_disabled + && b->enable_state != bp_call_disabled + && b->address == address /* address / overlay match */ + && (!overlay_debugging || b->section == section) + && breakpoint_address_is_meaningful (b)) + b->duplicate = 1; + } + } } -/* Low level routine to set a breakpoint. - Takes as args the three things that every breakpoint must have. - Returns the breakpoint object so caller can set other things. - Does not set the breakpoint number! - Does not print anything. +/* set_raw_breakpoint() is a low level routine for allocating and + partially initializing a breakpoint of type BPTYPE. The newly + created breakpoint's address, section, source file name, and line + number are provided by SAL. The newly created and partially + initialized breakpoint is added to the breakpoint chain and + is also returned as the value of this function. - ==> This routine should not be called if there is a chance of later - error(); otherwise it leaves a bogus breakpoint on the chain. Validate - your arguments BEFORE calling this routine! */ + It is expected that the caller will complete the initialization of + the newly created breakpoint struct as well as output any status + information regarding the creation of a new breakpoint. In + particular, set_raw_breakpoint() does NOT set the breakpoint + number! Care should be taken to not allow an error() to occur + prior to completing the initialization of the breakpoint. If this + should happen, a bogus breakpoint will be left on the chain. */ struct breakpoint * -set_raw_breakpoint (sal) - struct symtab_and_line sal; +set_raw_breakpoint (struct symtab_and_line sal, enum bptype bptype) { register struct breakpoint *b, *b1; @@ -3055,11 +3689,12 @@ set_raw_breakpoint (sal) b->source_file = savestring (sal.symtab->filename, strlen (sal.symtab->filename)); b->section = sal.section; + b->type = bptype; b->language = current_language->la_language; b->input_radix = input_radix; b->thread = -1; b->line_number = sal.line; - b->enable = enabled; + b->enable_state = bp_enabled; b->next = 0; b->silent = 0; b->ignore_count = 0; @@ -3084,81 +3719,171 @@ set_raw_breakpoint (sal) b1->next = b; } - check_duplicates (sal.pc, sal.section); + check_duplicates (b); breakpoints_changed (); return b; } -#ifdef GET_LONGJMP_TARGET -static void -create_longjmp_breakpoint (func_name) - char *func_name; +/* Note that the breakpoint object B describes a permanent breakpoint + instruction, hard-wired into the inferior's code. */ +void +make_breakpoint_permanent (struct breakpoint *b) +{ + b->enable_state = bp_permanent; + + /* By definition, permanent breakpoints are already present in the code. */ + b->inserted = 1; +} + +static struct breakpoint * +create_internal_breakpoint (CORE_ADDR address, enum bptype type) { + static int internal_breakpoint_number = -1; struct symtab_and_line sal; struct breakpoint *b; - INIT_SAL (&sal); /* initialize to zeroes */ - if (func_name != NULL) - { - struct minimal_symbol *m; + INIT_SAL (&sal); /* initialize to zeroes */ - m = lookup_minimal_symbol_text (func_name, NULL, (struct objfile *)NULL); - if (m) - sal.pc = SYMBOL_VALUE_ADDRESS (m); - else + sal.pc = address; + sal.section = find_pc_overlay (sal.pc); + + b = set_raw_breakpoint (sal, type); + b->number = internal_breakpoint_number--; + b->disposition = disp_donttouch; + + return b; +} + + +static void +create_longjmp_breakpoint (char *func_name) +{ + struct breakpoint *b; + struct minimal_symbol *m; + + if (func_name == NULL) + b = create_internal_breakpoint (0, bp_longjmp_resume); + else + { + if ((m = lookup_minimal_symbol_text (func_name, NULL, NULL)) == NULL) return; + + b = create_internal_breakpoint (SYMBOL_VALUE_ADDRESS (m), bp_longjmp); } - sal.section = find_pc_overlay (sal.pc); - b = set_raw_breakpoint (sal); - if (!b) return; - b->type = func_name != NULL ? bp_longjmp : bp_longjmp_resume; - b->disposition = donttouch; - b->enable = disabled; + b->enable_state = bp_disabled; b->silent = 1; if (func_name) - b->addr_string = strsave(func_name); - b->number = internal_breakpoint_number--; + b->addr_string = xstrdup (func_name); } -#endif /* #ifdef GET_LONGJMP_TARGET */ - -/* Call this routine when stepping and nexting to enable a breakpoint if we do - a longjmp(). When we hit that breakpoint, call +/* Call this routine when stepping and nexting to enable a breakpoint + if we do a longjmp(). When we hit that breakpoint, call set_longjmp_resume_breakpoint() to figure out where we are going. */ void -enable_longjmp_breakpoint() +enable_longjmp_breakpoint (void) { register struct breakpoint *b; ALL_BREAKPOINTS (b) if (b->type == bp_longjmp) - { - b->enable = enabled; - check_duplicates (b->address, b->section); - } + { + b->enable_state = bp_enabled; + check_duplicates (b); + } } void -disable_longjmp_breakpoint() +disable_longjmp_breakpoint (void) { register struct breakpoint *b; ALL_BREAKPOINTS (b) - if ( b->type == bp_longjmp + if (b->type == bp_longjmp || b->type == bp_longjmp_resume) - { - b->enable = disabled; - check_duplicates (b->address, b->section); - } + { + b->enable_state = bp_disabled; + check_duplicates (b); + } +} + +static void +create_overlay_event_breakpoint (char *func_name) +{ + struct breakpoint *b; + struct minimal_symbol *m; + + if ((m = lookup_minimal_symbol_text (func_name, NULL, NULL)) == NULL) + return; + + b = create_internal_breakpoint (SYMBOL_VALUE_ADDRESS (m), + bp_overlay_event); + b->addr_string = xstrdup (func_name); + + if (overlay_debugging == ovly_auto) + b->enable_state = bp_enabled; + else + b->enable_state = bp_disabled; +} + +void +enable_overlay_breakpoints (void) +{ + register struct breakpoint *b; + + ALL_BREAKPOINTS (b) + if (b->type == bp_overlay_event) + { + b->enable_state = bp_enabled; + check_duplicates (b); + } +} + +void +disable_overlay_breakpoints (void) +{ + register struct breakpoint *b; + + ALL_BREAKPOINTS (b) + if (b->type == bp_overlay_event) + { + b->enable_state = bp_disabled; + check_duplicates (b); + } +} + +struct breakpoint * +create_thread_event_breakpoint (CORE_ADDR address) +{ + struct breakpoint *b; + char addr_string[80]; /* Surely an addr can't be longer than that. */ + + b = create_internal_breakpoint (address, bp_thread_event); + + b->enable_state = bp_enabled; + /* addr_string has to be used or breakpoint_re_set will delete me. */ + sprintf (addr_string, "*0x%s", paddr (b->address)); + b->addr_string = xstrdup (addr_string); + + return b; +} + +void +remove_thread_event_breakpoints (void) +{ + struct breakpoint *b, *temp; + + ALL_BREAKPOINTS_SAFE (b, temp) + if (b->type == bp_thread_event) + delete_breakpoint (b); } #ifdef SOLIB_ADD void -remove_solib_event_breakpoints () +remove_solib_event_breakpoints (void) { register struct breakpoint *b, *temp; @@ -3167,101 +3892,87 @@ remove_solib_event_breakpoints () delete_breakpoint (b); } -void -create_solib_event_breakpoint (address) - CORE_ADDR address; +struct breakpoint * +create_solib_event_breakpoint (CORE_ADDR address) { struct breakpoint *b; - struct symtab_and_line sal; - INIT_SAL (&sal); /* initialize to zeroes */ - sal.pc = address; - sal.section = find_pc_overlay (sal.pc); - b = set_raw_breakpoint (sal); - b->number = internal_breakpoint_number--; - b->disposition = donttouch; - b->type = bp_shlib_event; + b = create_internal_breakpoint (address, bp_shlib_event); + return b; } +/* Disable any breakpoints that are on code in shared libraries. Only + apply to enabled breakpoints, disabled ones can just stay disabled. */ + void -disable_breakpoints_in_shlibs (silent) - int silent; +disable_breakpoints_in_shlibs (int silent) { - struct breakpoint * b; - int disabled_shlib_breaks = 0; + struct breakpoint *b; + int disabled_shlib_breaks = 0; /* See also: insert_breakpoints, under DISABLE_UNSETTABLE_BREAK. */ ALL_BREAKPOINTS (b) - { + { #if defined (PC_SOLIB) - if (((b->type == bp_breakpoint) || - (b->type == bp_hardware_breakpoint)) && - (b->enable != shlib_disabled) && - (b->enable != call_disabled) && - ! b->duplicate && - PC_SOLIB (b->address)) - { - b->enable = shlib_disabled; - if (!silent) - { - if (!disabled_shlib_breaks) - { - target_terminal_ours_for_output (); - printf_filtered ("Temporarily disabling shared library breakpoints:\n"); - } - disabled_shlib_breaks = 1; - printf_filtered ("%d ", b->number); - } - } + if (((b->type == bp_breakpoint) || + (b->type == bp_hardware_breakpoint)) && + b->enable_state == bp_enabled && + !b->duplicate && + PC_SOLIB (b->address)) + { + b->enable_state = bp_shlib_disabled; + if (!silent) + { + if (!disabled_shlib_breaks) + { + target_terminal_ours_for_output (); + warning ("Temporarily disabling shared library breakpoints:"); + } + disabled_shlib_breaks = 1; + warning ("breakpoint #%d ", b->number); + } + } #endif - } - if (disabled_shlib_breaks && !silent) - printf_filtered ("\n"); + } } /* Try to reenable any breakpoints in shared libraries. */ void -re_enable_breakpoints_in_shlibs () +re_enable_breakpoints_in_shlibs (void) { struct breakpoint *b; ALL_BREAKPOINTS (b) - if (b->enable == shlib_disabled) - { - char buf[1]; + if (b->enable_state == bp_shlib_disabled) + { + char buf[1]; - /* Do not reenable the breakpoint if the shared library - is still not mapped in. */ - if (target_read_memory (b->address, buf, 1) == 0) - b->enable = enabled; - } + /* Do not reenable the breakpoint if the shared library + is still not mapped in. */ + if (target_read_memory (b->address, buf, 1) == 0) + b->enable_state = bp_enabled; + } } #endif static void -create_solib_load_unload_event_breakpoint (hookname, tempflag, dll_pathname, cond_string, bp_kind) - char * hookname; - int tempflag; - char * dll_pathname; - char * cond_string; - enum bptype bp_kind; -{ - struct breakpoint * b; +solib_load_unload_1 (char *hookname, int tempflag, char *dll_pathname, + char *cond_string, enum bptype bp_kind) +{ + struct breakpoint *b; struct symtabs_and_lines sals; - struct symtab_and_line sal; - struct cleanup * old_chain; - struct cleanup * canonical_strings_chain = NULL; - int i; - char * addr_start = hookname; - char * addr_end = NULL; - char ** canonical = (char **) NULL; - int thread = -1; /* All threads. */ - + struct cleanup *old_chain; + struct cleanup *canonical_strings_chain = NULL; + char *addr_start = hookname; + char *addr_end = NULL; + char **canonical = (char **) NULL; + int thread = -1; /* All threads. */ + /* Set a breakpoint on the specified hook. */ sals = decode_line_1 (&hookname, 1, (struct symtab *) NULL, 0, &canonical); addr_end = hookname; - + if (sals.nelts == 0) { warning ("Unable to set a breakpoint on dynamic linker callback."); @@ -3271,43 +3982,44 @@ create_solib_load_unload_event_breakpoint (hookname, tempflag, dll_pathname, con } if (sals.nelts != 1) { - warning ("Unable to set a unique breakpoint on dynamic linker callback."); + warning ("Unable to set unique breakpoint on dynamic linker callback."); warning ("GDB will be unable to track shl_load/shl_unload calls"); return; } - /* Make sure that all storage allocated in decode_line_1 gets freed in case - the following errors out. */ - old_chain = make_cleanup (free, sals.sals); - if (canonical != (char **)NULL) + /* Make sure that all storage allocated in decode_line_1 gets freed + in case the following errors out. */ + old_chain = make_cleanup (xfree, sals.sals); + if (canonical != (char **) NULL) { - make_cleanup (free, canonical); + make_cleanup (xfree, canonical); canonical_strings_chain = make_cleanup (null_cleanup, 0); if (canonical[0] != NULL) - make_cleanup (free, canonical[0]); + make_cleanup (xfree, canonical[0]); } - + resolve_sal_pc (&sals.sals[0]); - + /* Remove the canonical strings from the cleanup, they are needed below. */ - if (canonical != (char **)NULL) + if (canonical != (char **) NULL) discard_cleanups (canonical_strings_chain); - - b = set_raw_breakpoint (sals.sals[0]); + + b = set_raw_breakpoint (sals.sals[0], bp_kind); set_breakpoint_count (breakpoint_count + 1); b->number = breakpoint_count; b->cond = NULL; - b->cond_string = (cond_string == NULL) ? NULL : savestring (cond_string, strlen (cond_string)); + b->cond_string = (cond_string == NULL) ? + NULL : savestring (cond_string, strlen (cond_string)); b->thread = thread; - - if (canonical != (char **)NULL && canonical[0] != NULL) + + if (canonical != (char **) NULL && canonical[0] != NULL) b->addr_string = canonical[0]; else if (addr_start) b->addr_string = savestring (addr_start, addr_end - addr_start); - - b->enable = enabled; - b->disposition = tempflag ? del : donttouch; - + + b->enable_state = bp_enabled; + b->disposition = tempflag ? disp_del : disp_donttouch; + if (dll_pathname == NULL) b->dll_pathname = NULL; else @@ -3315,220 +4027,194 @@ create_solib_load_unload_event_breakpoint (hookname, tempflag, dll_pathname, con b->dll_pathname = (char *) xmalloc (strlen (dll_pathname) + 1); strcpy (b->dll_pathname, dll_pathname); } - b->type = bp_kind; - + mention (b); do_cleanups (old_chain); } void -create_solib_load_event_breakpoint (hookname, tempflag, dll_pathname, cond_string) - char * hookname; - int tempflag; - char * dll_pathname; - char * cond_string; +create_solib_load_event_breakpoint (char *hookname, int tempflag, + char *dll_pathname, char *cond_string) { - create_solib_load_unload_event_breakpoint (hookname, - tempflag, - dll_pathname, - cond_string, - bp_catch_load); + solib_load_unload_1 (hookname, tempflag, dll_pathname, + cond_string, bp_catch_load); } void -create_solib_unload_event_breakpoint (hookname, tempflag, dll_pathname, cond_string) - char * hookname; - int tempflag; - char * dll_pathname; - char * cond_string; +create_solib_unload_event_breakpoint (char *hookname, int tempflag, + char *dll_pathname, char *cond_string) { - create_solib_load_unload_event_breakpoint (hookname, - tempflag, - dll_pathname, - cond_string, - bp_catch_unload); + solib_load_unload_1 (hookname,tempflag, dll_pathname, + cond_string, bp_catch_unload); } static void -create_fork_vfork_event_catchpoint (tempflag, cond_string, bp_kind) - int tempflag; - char * cond_string; - enum bptype bp_kind; -{ - struct symtab_and_line sal; - struct breakpoint * b; - int thread = -1; /* All threads. */ - - INIT_SAL(&sal); +create_fork_vfork_event_catchpoint (int tempflag, char *cond_string, + enum bptype bp_kind) +{ + struct symtab_and_line sal; + struct breakpoint *b; + int thread = -1; /* All threads. */ + + INIT_SAL (&sal); sal.pc = 0; sal.symtab = NULL; sal.line = 0; - - b = set_raw_breakpoint (sal); + + b = set_raw_breakpoint (sal, bp_kind); set_breakpoint_count (breakpoint_count + 1); b->number = breakpoint_count; b->cond = NULL; - b->cond_string = (cond_string == NULL) ? NULL : savestring (cond_string, strlen (cond_string)); + b->cond_string = (cond_string == NULL) ? + NULL : savestring (cond_string, strlen (cond_string)); b->thread = thread; b->addr_string = NULL; - b->enable = enabled; - b->disposition = tempflag ? del : donttouch; + b->enable_state = bp_enabled; + b->disposition = tempflag ? disp_del : disp_donttouch; b->forked_inferior_pid = 0; - - b->type = bp_kind; - + mention (b); } void -create_fork_event_catchpoint (tempflag, cond_string) - int tempflag; - char * cond_string; +create_fork_event_catchpoint (int tempflag, char *cond_string) { create_fork_vfork_event_catchpoint (tempflag, cond_string, bp_catch_fork); } - + void -create_vfork_event_catchpoint (tempflag, cond_string) - int tempflag; - char * cond_string; +create_vfork_event_catchpoint (int tempflag, char *cond_string) { create_fork_vfork_event_catchpoint (tempflag, cond_string, bp_catch_vfork); } void -create_exec_event_catchpoint (tempflag, cond_string) - int tempflag; - char * cond_string; +create_exec_event_catchpoint (int tempflag, char *cond_string) { - struct symtab_and_line sal; - struct breakpoint * b; - int thread = -1; /* All threads. */ + struct symtab_and_line sal; + struct breakpoint *b; + int thread = -1; /* All threads. */ - INIT_SAL(&sal); + INIT_SAL (&sal); sal.pc = 0; sal.symtab = NULL; sal.line = 0; - b = set_raw_breakpoint (sal); + b = set_raw_breakpoint (sal, bp_catch_exec); set_breakpoint_count (breakpoint_count + 1); b->number = breakpoint_count; b->cond = NULL; - b->cond_string = (cond_string == NULL) ? NULL : savestring (cond_string, strlen (cond_string)); + b->cond_string = (cond_string == NULL) ? + NULL : savestring (cond_string, strlen (cond_string)); b->thread = thread; b->addr_string = NULL; - b->enable = enabled; - b->disposition = tempflag ? del : donttouch; - - b->type = bp_catch_exec; + b->enable_state = bp_enabled; + b->disposition = tempflag ? disp_del : disp_donttouch; mention (b); } static int -hw_breakpoint_used_count() +hw_breakpoint_used_count (void) { register struct breakpoint *b; int i = 0; ALL_BREAKPOINTS (b) - { - if (b->type == bp_hardware_breakpoint && b->enable == enabled) - i++; - } + { + if (b->type == bp_hardware_breakpoint && b->enable_state == bp_enabled) + i++; + } return i; } static int -hw_watchpoint_used_count(type, other_type_used) - enum bptype type; - int *other_type_used; +hw_watchpoint_used_count (enum bptype type, int *other_type_used) { register struct breakpoint *b; int i = 0; *other_type_used = 0; ALL_BREAKPOINTS (b) - { - if (b->enable == enabled) - { - if (b->type == type) i++; - else if ((b->type == bp_hardware_watchpoint || - b->type == bp_read_watchpoint || - b->type == bp_access_watchpoint) - && b->enable == enabled) - *other_type_used = 1; - } - } + { + if (b->enable_state == bp_enabled) + { + if (b->type == type) + i++; + else if ((b->type == bp_hardware_watchpoint || + b->type == bp_read_watchpoint || + b->type == bp_access_watchpoint) + && b->enable_state == bp_enabled) + *other_type_used = 1; + } + } return i; } -/* Call this after hitting the longjmp() breakpoint. Use this to set a new - breakpoint at the target of the jmp_buf. +/* Call this after hitting the longjmp() breakpoint. Use this to set + a new breakpoint at the target of the jmp_buf. - FIXME - This ought to be done by setting a temporary breakpoint that gets - deleted automatically... */ + FIXME - This ought to be done by setting a temporary breakpoint + that gets deleted automatically... */ void -set_longjmp_resume_breakpoint(pc, frame) - CORE_ADDR pc; - struct frame_info *frame; +set_longjmp_resume_breakpoint (CORE_ADDR pc, struct frame_info *frame) { register struct breakpoint *b; ALL_BREAKPOINTS (b) if (b->type == bp_longjmp_resume) - { - b->address = pc; - b->enable = enabled; - if (frame != NULL) - b->frame = frame->frame; - else - b->frame = 0; - check_duplicates (b->address, b->section); - return; - } + { + b->address = pc; + b->enable_state = bp_enabled; + if (frame != NULL) + b->frame = frame->frame; + else + b->frame = 0; + check_duplicates (b); + return; + } } void -disable_watchpoints_before_interactive_call_start () +disable_watchpoints_before_interactive_call_start (void) { - struct breakpoint * b; + struct breakpoint *b; ALL_BREAKPOINTS (b) - { - if (((b->type == bp_watchpoint) - || (b->type == bp_hardware_watchpoint) - || (b->type == bp_read_watchpoint) - || (b->type == bp_access_watchpoint) - || ep_is_exception_catchpoint (b)) - && (b->enable == enabled)) - { - b->enable = call_disabled; - check_duplicates (b->address, b->section); - } - } + { + if (((b->type == bp_watchpoint) + || (b->type == bp_hardware_watchpoint) + || (b->type == bp_read_watchpoint) + || (b->type == bp_access_watchpoint) + || ep_is_exception_catchpoint (b)) + && (b->enable_state == bp_enabled)) + { + b->enable_state = bp_call_disabled; + check_duplicates (b); + } + } } void -enable_watchpoints_after_interactive_call_stop () +enable_watchpoints_after_interactive_call_stop (void) { - struct breakpoint * b; + struct breakpoint *b; ALL_BREAKPOINTS (b) - { - if (((b->type == bp_watchpoint) - || (b->type == bp_hardware_watchpoint) - || (b->type == bp_read_watchpoint) - || (b->type == bp_access_watchpoint) - || ep_is_exception_catchpoint (b)) - && (b->enable == call_disabled)) - { - b->enable = enabled; - check_duplicates (b->address, b->section); - } - } + { + if (((b->type == bp_watchpoint) + || (b->type == bp_hardware_watchpoint) + || (b->type == bp_read_watchpoint) + || (b->type == bp_access_watchpoint) + || ep_is_exception_catchpoint (b)) + && (b->enable_state == bp_call_disabled)) + { + b->enable_state = bp_enabled; + check_duplicates (b); + } + } } @@ -3537,35 +4223,36 @@ enable_watchpoints_after_interactive_call_stop () Restrict it to frame FRAME if FRAME is nonzero. */ struct breakpoint * -set_momentary_breakpoint (sal, frame, type) - struct symtab_and_line sal; - struct frame_info *frame; - enum bptype type; +set_momentary_breakpoint (struct symtab_and_line sal, struct frame_info *frame, + enum bptype type) { register struct breakpoint *b; - b = set_raw_breakpoint (sal); - b->type = type; - b->enable = enabled; - b->disposition = donttouch; + b = set_raw_breakpoint (sal, type); + b->enable_state = bp_enabled; + b->disposition = disp_donttouch; b->frame = (frame ? frame->frame : 0); /* If we're debugging a multi-threaded program, then we want momentary breakpoints to be active in only a single thread of control. */ - if (in_thread_list (inferior_pid)) - b->thread = pid_to_thread_id (inferior_pid); + if (in_thread_list (inferior_ptid)) + b->thread = pid_to_thread_id (inferior_ptid); return b; } - + /* Tell the user we have just set a breakpoint B. */ static void -mention (b) - struct breakpoint *b; +mention (struct breakpoint *b) { int say_where = 0; + struct cleanup *old_chain; + struct ui_stream *stb; + + stb = ui_out_stream_new (uiout); + old_chain = make_cleanup_ui_out_stream_delete (stb); /* FIXME: This is misplaced; mention() is called by things (like hitting a watchpoint) other than breakpoint creation. It should be possible to @@ -3574,6 +4261,7 @@ mention (b) delete_breakpoint_hook and so on. */ if (create_breakpoint_hook) create_breakpoint_hook (b); + breakpoint_create_event (b->number); switch (b->type) { @@ -3581,51 +4269,82 @@ mention (b) printf_filtered ("(apparently deleted?) Eventpoint %d: ", b->number); break; case bp_watchpoint: - printf_filtered ("Watchpoint %d: ", b->number); - print_expression (b->exp, gdb_stdout); + ui_out_text (uiout, "Watchpoint "); + ui_out_tuple_begin (uiout, "wpt"); + ui_out_field_int (uiout, "number", b->number); + ui_out_text (uiout, ": "); + print_expression (b->exp, stb->stream); + ui_out_field_stream (uiout, "exp", stb); + ui_out_tuple_end (uiout); break; case bp_hardware_watchpoint: - printf_filtered ("Hardware watchpoint %d: ", b->number); - print_expression (b->exp, gdb_stdout); + ui_out_text (uiout, "Hardware watchpoint "); + ui_out_tuple_begin (uiout, "wpt"); + ui_out_field_int (uiout, "number", b->number); + ui_out_text (uiout, ": "); + print_expression (b->exp, stb->stream); + ui_out_field_stream (uiout, "exp", stb); + ui_out_tuple_end (uiout); break; case bp_read_watchpoint: - printf_filtered ("Hardware read watchpoint %d: ", b->number); - print_expression (b->exp, gdb_stdout); + ui_out_text (uiout, "Hardware read watchpoint "); + ui_out_tuple_begin (uiout, "hw-rwpt"); + ui_out_field_int (uiout, "number", b->number); + ui_out_text (uiout, ": "); + print_expression (b->exp, stb->stream); + ui_out_field_stream (uiout, "exp", stb); + ui_out_tuple_end (uiout); break; case bp_access_watchpoint: - printf_filtered ("Hardware access (read/write) watchpoint %d: ",b->number); - print_expression (b->exp, gdb_stdout); + ui_out_text (uiout, "Hardware access (read/write) watchpoint "); + ui_out_tuple_begin (uiout, "hw-awpt"); + ui_out_field_int (uiout, "number", b->number); + ui_out_text (uiout, ": "); + print_expression (b->exp, stb->stream); + ui_out_field_stream (uiout, "exp", stb); + ui_out_tuple_end (uiout); break; case bp_breakpoint: + if (ui_out_is_mi_like_p (uiout)) + { + say_where = 0; + break; + } printf_filtered ("Breakpoint %d", b->number); say_where = 1; break; case bp_hardware_breakpoint: + if (ui_out_is_mi_like_p (uiout)) + { + say_where = 0; + break; + } printf_filtered ("Hardware assisted breakpoint %d", b->number); say_where = 1; break; case bp_catch_load: case bp_catch_unload: printf_filtered ("Catchpoint %d (%s %s)", - b->number, - (b->type == bp_catch_load) ? "load" : "unload", - (b->dll_pathname != NULL) ? b->dll_pathname : ""); + b->number, + (b->type == bp_catch_load) ? "load" : "unload", + (b->dll_pathname != NULL) ? + b->dll_pathname : ""); break; case bp_catch_fork: case bp_catch_vfork: printf_filtered ("Catchpoint %d (%s)", - b->number, - (b->type == bp_catch_fork) ? "fork" : "vfork"); + b->number, + (b->type == bp_catch_fork) ? "fork" : "vfork"); break; case bp_catch_exec: printf_filtered ("Catchpoint %d (exec)", - b->number); + b->number); break; case bp_catch_catch: case bp_catch_throw: printf_filtered ("Catchpoint %d (%s)", - b->number, - (b->type == bp_catch_catch) ? "catch" : "throw"); + b->number, + (b->type == bp_catch_catch) ? "catch" : "throw"); break; case bp_until: @@ -3637,6 +4356,8 @@ mention (b) case bp_call_dummy: case bp_watchpoint_scope: case bp_shlib_event: + case bp_thread_event: + case bp_overlay_event: break; } if (say_where) @@ -3649,114 +4370,142 @@ mention (b) if (b->source_file) printf_filtered (": file %s, line %d.", b->source_file, b->line_number); - TUIDO(((TuiOpaqueFuncPtr)tui_vAllSetHasBreakAt, b, 1)); - TUIDO(((TuiOpaqueFuncPtr)tuiUpdateAllExecInfos)); } + do_cleanups (old_chain); + if (ui_out_is_mi_like_p (uiout)) + return; printf_filtered ("\n"); } - -/* Set a breakpoint according to ARG (function, linenum or *address) - flag: first bit : 0 non-temporary, 1 temporary. - second bit : 0 normal breakpoint, 1 hardware breakpoint. */ -static void -break_command_1 (arg, flag, from_tty) - char *arg; - int flag, from_tty; -{ - int tempflag, hardwareflag; - struct symtabs_and_lines sals; - struct symtab_and_line sal; - register struct expression *cond = 0; - register struct breakpoint *b; +/* Add SALS.nelts breakpoints to the breakpoint table. For each + SALS.sal[i] breakpoint, include the corresponding ADDR_STRING[i], + COND[i] and COND_STRING[i] values. - /* Pointers in arg to the start, and one past the end, of the condition. */ - char *cond_start = NULL; - char *cond_end = NULL; - /* Pointers in arg to the start, and one past the end, - of the address part. */ - char *addr_start = NULL; - char *addr_end = NULL; - struct cleanup *old_chain; - struct cleanup *canonical_strings_chain = NULL; - char **canonical = (char **)NULL; - int i; - int thread; + NOTE: If the function succeeds, the caller is expected to cleanup + the arrays ADDR_STRING, COND_STRING, COND and SALS (but not the + array contents). If the function fails (error() is called), the + caller is expected to cleanups both the ADDR_STRING, COND_STRING, + COND and SALS arrays and each of those arrays contents. */ - hardwareflag = flag & BP_HARDWAREFLAG; - tempflag = flag & BP_TEMPFLAG; +static void +create_breakpoints (struct symtabs_and_lines sals, char **addr_string, + struct expression **cond, char **cond_string, + enum bptype type, enum bpdisp disposition, + int thread, int ignore_count, int from_tty) +{ + if (type == bp_hardware_breakpoint) + { + int i = hw_breakpoint_used_count (); + int target_resources_ok = + TARGET_CAN_USE_HARDWARE_WATCHPOINT (bp_hardware_breakpoint, + i + sals.nelts, 0); + if (target_resources_ok == 0) + error ("No hardware breakpoint support in the target."); + else if (target_resources_ok < 0) + error ("Hardware breakpoints used exceeds limit."); + } - sals.sals = NULL; - sals.nelts = 0; + /* Now set all the breakpoints. */ + { + int i; + for (i = 0; i < sals.nelts; i++) + { + struct breakpoint *b; + struct symtab_and_line sal = sals.sals[i]; - INIT_SAL (&sal); /* initialize to zeroes */ + if (from_tty) + describe_other_breakpoints (sal.pc, sal.section); + + b = set_raw_breakpoint (sal, type); + set_breakpoint_count (breakpoint_count + 1); + b->number = breakpoint_count; + b->cond = cond[i]; + b->thread = thread; + b->addr_string = addr_string[i]; + b->cond_string = cond_string[i]; + b->ignore_count = ignore_count; + b->enable_state = bp_enabled; + b->disposition = disposition; + mention (b); + } + } +} - /* If no arg given, or if first arg is 'if ', use the default breakpoint. */ +/* Parse ARG which is assumed to be a SAL specification possibly + followed by conditionals. On return, SALS contains an array of SAL + addresses found. ADDR_STRING contains a vector of (canonical) + address strings. ARG points to the end of the SAL. */ - if (!arg || (arg[0] == 'i' && arg[1] == 'f' - && (arg[2] == ' ' || arg[2] == '\t'))) +void +parse_breakpoint_sals (char **address, + struct symtabs_and_lines *sals, + char ***addr_string) +{ + char *addr_start = *address; + *addr_string = NULL; + /* If no arg given, or if first arg is 'if ', use the default + breakpoint. */ + if ((*address) == NULL + || (strncmp ((*address), "if", 2) == 0 && isspace ((*address)[2]))) { if (default_breakpoint_valid) { - sals.sals = (struct symtab_and_line *) + struct symtab_and_line sal; + INIT_SAL (&sal); /* initialize to zeroes */ + sals->sals = (struct symtab_and_line *) xmalloc (sizeof (struct symtab_and_line)); sal.pc = default_breakpoint_address; sal.line = default_breakpoint_line; sal.symtab = default_breakpoint_symtab; - sal.section = find_pc_overlay (sal.pc); - sals.sals[0] = sal; - sals.nelts = 1; + sal.section = find_pc_overlay (sal.pc); + sals->sals[0] = sal; + sals->nelts = 1; } else error ("No default breakpoint address now."); } else { - addr_start = arg; - /* Force almost all breakpoints to be in terms of the - current_source_symtab (which is decode_line_1's default). This - should produce the results we want almost all of the time while - leaving default_breakpoint_* alone. */ + current_source_symtab (which is decode_line_1's default). This + should produce the results we want almost all of the time while + leaving default_breakpoint_* alone. */ if (default_breakpoint_valid && (!current_source_symtab - || (arg && (*arg == '+' || *arg == '-')))) - sals = decode_line_1 (&arg, 1, default_breakpoint_symtab, - default_breakpoint_line, &canonical); + || (strchr ("+-", (*address)[0]) != NULL))) + *sals = decode_line_1 (address, 1, default_breakpoint_symtab, + default_breakpoint_line, addr_string); else - sals = decode_line_1 (&arg, 1, (struct symtab *)NULL, 0, &canonical); - - addr_end = arg; + *sals = decode_line_1 (address, 1, (struct symtab *) NULL, 0, addr_string); } - - if (! sals.nelts) - return; - - /* Make sure that all storage allocated in decode_line_1 gets freed in case - the following `for' loop errors out. */ - old_chain = make_cleanup (free, sals.sals); - if (canonical != (char **)NULL) + /* For any SAL that didn't have a canonical string, fill one in. */ + if (sals->nelts > 0 && *addr_string == NULL) + *addr_string = xcalloc (sals->nelts, sizeof (char **)); + if (addr_start != (*address)) { - make_cleanup (free, canonical); - canonical_strings_chain = make_cleanup (null_cleanup, 0); - for (i = 0; i < sals.nelts; i++) + int i; + for (i = 0; i < sals->nelts; i++) { - if (canonical[i] != NULL) - make_cleanup (free, canonical[i]); + /* Add the string if not present. */ + if ((*addr_string)[i] == NULL) + (*addr_string)[i] = savestring (addr_start, (*address) - addr_start); } } +} - thread = -1; /* No specific thread yet */ - /* Resolve all line numbers to PC's, and verify that conditions - can be parsed, before setting any breakpoints. */ - for (i = 0; i < sals.nelts; i++) - { - char *tok, *end_tok; - int toklen; +/* Convert each SAL into a real PC. Verify that the PC can be + inserted as a breakpoint. If it can't throw an error. */ - resolve_sal_pc (&sals.sals[i]); +void +breakpoint_sals_to_pc (struct symtabs_and_lines *sals, + char *address) +{ + int i; + for (i = 0; i < sals->nelts; i++) + { + resolve_sal_pc (&sals->sals[i]); /* It's possible for the PC to be nonzero, but still an illegal value on some targets. @@ -3771,15 +4520,98 @@ break_command_1 (arg, flag, from_tty) Give the target a chance to bless sals.sals[i].pc before we try to make a breakpoint for it. */ - if (PC_REQUIRES_RUN_BEFORE_USE(sals.sals[i].pc)) - { - error ("Cannot break on %s without a running program.", addr_start); - } - - tok = arg; + if (PC_REQUIRES_RUN_BEFORE_USE (sals->sals[i].pc)) + { + if (address == NULL) + error ("Cannot break without a running program."); + else + error ("Cannot break on %s without a running program.", + address); + } + } +} + +/* Set a breakpoint according to ARG (function, linenum or *address) + flag: first bit : 0 non-temporary, 1 temporary. + second bit : 0 normal breakpoint, 1 hardware breakpoint. */ + +static void +break_command_1 (char *arg, int flag, int from_tty) +{ + int tempflag, hardwareflag; + struct symtabs_and_lines sals; + register struct expression **cond = 0; + /* Pointers in arg to the start, and one past the end, of the + condition. */ + char **cond_string = (char **) NULL; + char *addr_start = arg; + char **addr_string; + struct cleanup *old_chain; + struct cleanup *breakpoint_chain = NULL; + int i; + int thread = -1; + int ignore_count = 0; + + hardwareflag = flag & BP_HARDWAREFLAG; + tempflag = flag & BP_TEMPFLAG; + + sals.sals = NULL; + sals.nelts = 0; + addr_string = NULL; + parse_breakpoint_sals (&arg, &sals, &addr_string); + + if (!sals.nelts) + return; + + /* Create a chain of things that always need to be cleaned up. */ + old_chain = make_cleanup (null_cleanup, 0); + + /* Make sure that all storage allocated to SALS gets freed. */ + make_cleanup (xfree, sals.sals); + + /* Cleanup the addr_string array but not its contents. */ + make_cleanup (xfree, addr_string); + + /* Allocate space for all the cond expressions. */ + cond = xcalloc (sals.nelts, sizeof (struct expression *)); + make_cleanup (xfree, cond); + + /* Allocate space for all the cond strings. */ + cond_string = xcalloc (sals.nelts, sizeof (char **)); + make_cleanup (xfree, cond_string); + + /* ----------------------------- SNIP ----------------------------- + Anything added to the cleanup chain beyond this point is assumed + to be part of a breakpoint. If the breakpoint create succeeds + then the memory is not reclaimed. */ + breakpoint_chain = make_cleanup (null_cleanup, 0); + + /* Mark the contents of the addr_string for cleanup. These go on + the breakpoint_chain and only occure if the breakpoint create + fails. */ + for (i = 0; i < sals.nelts; i++) + { + if (addr_string[i] != NULL) + make_cleanup (xfree, addr_string[i]); + } + /* Resolve all line numbers to PC's and verify that the addresses + are ok for the target. */ + breakpoint_sals_to_pc (&sals, addr_start); + + /* Verify that condition can be parsed, before setting any + breakpoints. Allocate a separate condition expression for each + breakpoint. */ + thread = -1; /* No specific thread yet */ + for (i = 0; i < sals.nelts; i++) + { + char *tok = arg; while (tok && *tok) { + char *end_tok; + int toklen; + char *cond_start = NULL; + char *cond_end = NULL; while (*tok == ' ' || *tok == '\t') tok++; @@ -3793,8 +4625,11 @@ break_command_1 (arg, flag, from_tty) if (toklen >= 1 && strncmp (tok, "if", toklen) == 0) { tok = cond_start = end_tok + 1; - cond = parse_exp_1 (&tok, block_for_pc (sals.sals[i].pc), 0); + cond[i] = parse_exp_1 (&tok, block_for_pc (sals.sals[i].pc), 0); + make_cleanup (xfree, cond[i]); cond_end = tok; + cond_string[i] = savestring (cond_start, cond_end - cond_start); + make_cleanup (xfree, cond_string[i]); } else if (toklen >= 1 && strncmp (tok, "thread", toklen) == 0) { @@ -3812,69 +4647,157 @@ break_command_1 (arg, flag, from_tty) error ("Junk at end of arguments."); } } - if (hardwareflag) - { - int i, target_resources_ok; - i = hw_breakpoint_used_count (); - target_resources_ok = TARGET_CAN_USE_HARDWARE_WATCHPOINT ( - bp_hardware_breakpoint, i + sals.nelts, 0); - if (target_resources_ok == 0) - error ("No hardware breakpoint support in the target."); - else if (target_resources_ok < 0) - error ("Hardware breakpoints used exceeds limit."); + create_breakpoints (sals, addr_string, cond, cond_string, + hardwareflag ? bp_hardware_breakpoint : bp_breakpoint, + tempflag ? disp_del : disp_donttouch, + thread, ignore_count, from_tty); + + if (sals.nelts > 1) + { + warning ("Multiple breakpoints were set."); + warning ("Use the \"delete\" command to delete unwanted breakpoints."); } + /* That's it. Discard the cleanups for data inserted into the + breakpoint. */ + discard_cleanups (breakpoint_chain); + /* But cleanup everything else. */ + do_cleanups (old_chain); +} - /* Remove the canonical strings from the cleanup, they are needed below. */ - if (canonical != (char **)NULL) - discard_cleanups (canonical_strings_chain); +/* Set a breakpoint of TYPE/DISPOSITION according to ARG (function, + linenum or *address) with COND and IGNORE_COUNT. */ - /* Now set all the breakpoints. */ +struct captured_breakpoint_args + { + char *address; + char *condition; + int hardwareflag; + int tempflag; + int thread; + int ignore_count; + }; + +static int +do_captured_breakpoint (void *data) +{ + struct captured_breakpoint_args *args = data; + struct symtabs_and_lines sals; + register struct expression **cond; + struct cleanup *old_chain; + struct cleanup *breakpoint_chain = NULL; + int i; + char **addr_string; + char **cond_string; + + char *address_end; + + /* Parse the source and lines spec. Delay check that the expression + didn't contain trailing garbage until after cleanups are in + place. */ + sals.sals = NULL; + sals.nelts = 0; + address_end = args->address; + addr_string = NULL; + parse_breakpoint_sals (&address_end, &sals, &addr_string); + + if (!sals.nelts) + return GDB_RC_NONE; + + /* Create a chain of things at always need to be cleaned up. */ + old_chain = make_cleanup (null_cleanup, 0); + + /* Always have a addr_string array, even if it is empty. */ + make_cleanup (xfree, addr_string); + + /* Make sure that all storage allocated to SALS gets freed. */ + make_cleanup (xfree, sals.sals); + + /* Allocate space for all the cond expressions. */ + cond = xcalloc (sals.nelts, sizeof (struct expression *)); + make_cleanup (xfree, cond); + + /* Allocate space for all the cond strings. */ + cond_string = xcalloc (sals.nelts, sizeof (char **)); + make_cleanup (xfree, cond_string); + + /* ----------------------------- SNIP ----------------------------- + Anything added to the cleanup chain beyond this point is assumed + to be part of a breakpoint. If the breakpoint create goes + through then that memory is not cleaned up. */ + breakpoint_chain = make_cleanup (null_cleanup, 0); + + /* Mark the contents of the addr_string for cleanup. These go on + the breakpoint_chain and only occure if the breakpoint create + fails. */ for (i = 0; i < sals.nelts; i++) { - sal = sals.sals[i]; + if (addr_string[i] != NULL) + make_cleanup (xfree, addr_string[i]); + } - if (from_tty) - describe_other_breakpoints (sal.pc, sal.section); + /* Wait until now before checking for garbage at the end of the + address. That way cleanups can take care of freeing any + memory. */ + if (*address_end != '\0') + error ("Garbage %s following breakpoint address", address_end); - b = set_raw_breakpoint (sal); - set_breakpoint_count (breakpoint_count + 1); - b->number = breakpoint_count; - b->type = hardwareflag ? bp_hardware_breakpoint : bp_breakpoint; - b->cond = cond; - b->thread = thread; - - /* If a canonical line spec is needed use that instead of the - command string. */ - if (canonical != (char **)NULL && canonical[i] != NULL) - b->addr_string = canonical[i]; - else if (addr_start) - b->addr_string = savestring (addr_start, addr_end - addr_start); - if (cond_start) - b->cond_string = savestring (cond_start, cond_end - cond_start); - - b->enable = enabled; - b->disposition = tempflag ? del : donttouch; - mention (b); - } + /* Resolve all line numbers to PC's. */ + breakpoint_sals_to_pc (&sals, args->address); - if (sals.nelts > 1) + /* Verify that conditions can be parsed, before setting any + breakpoints. */ + for (i = 0; i < sals.nelts; i++) { - printf_filtered ("Multiple breakpoints were set.\n"); - printf_filtered ("Use the \"delete\" command to delete unwanted breakpoints.\n"); + if (args->condition != NULL) + { + char *tok = args->condition; + cond[i] = parse_exp_1 (&tok, block_for_pc (sals.sals[i].pc), 0); + if (*tok != '\0') + error ("Garbage %s follows condition", tok); + make_cleanup (xfree, cond[i]); + cond_string[i] = xstrdup (args->condition); + } } + + create_breakpoints (sals, addr_string, cond, cond_string, + args->hardwareflag ? bp_hardware_breakpoint : bp_breakpoint, + args->tempflag ? disp_del : disp_donttouch, + args->thread, args->ignore_count, 0/*from-tty*/); + + /* That's it. Discard the cleanups for data inserted into the + breakpoint. */ + discard_cleanups (breakpoint_chain); + /* But cleanup everything else. */ do_cleanups (old_chain); + return GDB_RC_OK; } +enum gdb_rc +gdb_breakpoint (char *address, char *condition, + int hardwareflag, int tempflag, + int thread, int ignore_count) +{ + struct captured_breakpoint_args args; + args.address = address; + args.condition = condition; + args.hardwareflag = hardwareflag; + args.tempflag = tempflag; + args.thread = thread; + args.ignore_count = ignore_count; + return catch_errors (do_captured_breakpoint, &args, + NULL, RETURN_MASK_ALL); +} + + static void -break_at_finish_at_depth_command_1 (arg, flag, from_tty) - char *arg; - int flag; - int from_tty; +break_at_finish_at_depth_command_1 (char *arg, int flag, int from_tty) { struct frame_info *frame; CORE_ADDR low, high, selected_pc = 0; - char *extra_args, *level_arg, *addr_string; + char *extra_args = NULL; + char *level_arg; + char *addr_string; int extra_args_len = 0, if_arg = 0; if (!arg || @@ -3921,20 +4844,20 @@ break_at_finish_at_depth_command_1 (arg, flag, from_tty) if (if_arg) { extra_args = arg; - extra_args_len = strlen (arg); + extra_args_len = strlen (arg); } if (selected_pc) { - if (find_pc_partial_function(selected_pc, (char **)NULL, &low, &high)) + if (find_pc_partial_function (selected_pc, (char **) NULL, &low, &high)) { addr_string = (char *) xmalloc (26 + extra_args_len); if (extra_args_len) - sprintf (addr_string, "*0x%x %s", high, extra_args); + sprintf (addr_string, "*0x%s %s", paddr_nz (high), extra_args); else - sprintf (addr_string, "*0x%x", high); + sprintf (addr_string, "*0x%s", paddr_nz (high)); break_command_1 (addr_string, flag, from_tty); - free (addr_string); + xfree (addr_string); } else error ("No function contains the specified address"); @@ -3945,17 +4868,14 @@ break_at_finish_at_depth_command_1 (arg, flag, from_tty) static void -break_at_finish_command_1 (arg, flag, from_tty) - char *arg; - int flag; - int from_tty; +break_at_finish_command_1 (char *arg, int flag, int from_tty) { char *addr_string, *break_string, *beg_addr_string; CORE_ADDR low, high; struct symtabs_and_lines sals; struct symtab_and_line sal; struct cleanup *old_chain; - char *extra_args; + char *extra_args = NULL; int extra_args_len = 0; int i, if_arg = 0; @@ -3967,7 +4887,7 @@ break_at_finish_command_1 (arg, flag, from_tty) if (selected_frame) { addr_string = (char *) xmalloc (15); - sprintf (addr_string, "*0x%x", selected_frame->pc); + sprintf (addr_string, "*0x%s", paddr_nz (selected_frame->pc)); if (arg) if_arg = 1; } @@ -3986,59 +4906,57 @@ break_at_finish_command_1 (arg, flag, from_tty) if (if_arg) { extra_args = arg; - extra_args_len = strlen (arg); + extra_args_len = strlen (arg); + } + else if (arg) + { + /* get the stuff after the function name or address */ + extra_args = strchr (arg, ' '); + if (extra_args) + { + extra_args++; + extra_args_len = strlen (extra_args); + } } - else - if (arg) - { - /* get the stuff after the function name or address */ - extra_args = strchr (arg, ' '); - if (extra_args) - { - extra_args++; - extra_args_len = strlen (extra_args); - } - } sals.sals = NULL; sals.nelts = 0; - beg_addr_string = addr_string; - sals = decode_line_1 (&addr_string, 1, (struct symtab *)NULL, 0, - (char ***)NULL); + beg_addr_string = addr_string; + sals = decode_line_1 (&addr_string, 1, (struct symtab *) NULL, 0, + (char ***) NULL); - free (beg_addr_string); - old_chain = make_cleanup (free, sals.sals); + xfree (beg_addr_string); + old_chain = make_cleanup (xfree, sals.sals); for (i = 0; (i < sals.nelts); i++) { sal = sals.sals[i]; - if (find_pc_partial_function (sal.pc, (char **)NULL, &low, &high)) + if (find_pc_partial_function (sal.pc, (char **) NULL, &low, &high)) { break_string = (char *) xmalloc (extra_args_len + 26); if (extra_args_len) - sprintf (break_string, "*0x%x %s", high, extra_args); + sprintf (break_string, "*0x%s %s", paddr_nz (high), extra_args); else - sprintf (break_string, "*0x%x", high); + sprintf (break_string, "*0x%s", paddr_nz (high)); break_command_1 (break_string, flag, from_tty); - free(break_string); + xfree (break_string); } else error ("No function contains the specified address"); } if (sals.nelts > 1) { - printf_filtered ("Multiple breakpoints were set.\n"); - printf_filtered ("Use the \"delete\" command to delete unwanted breakpoints.\n"); + warning ("Multiple breakpoints were set.\n"); + warning ("Use the \"delete\" command to delete unwanted breakpoints."); } - do_cleanups(old_chain); + do_cleanups (old_chain); } /* Helper function for break_command_1 and disassemble_command. */ void -resolve_sal_pc (sal) - struct symtab_and_line *sal; +resolve_sal_pc (struct symtab_and_line *sal) { CORE_ADDR pc; @@ -4053,14 +4971,14 @@ resolve_sal_pc (sal) if (sal->section == 0 && sal->symtab != NULL) { struct blockvector *bv; - struct block *b; - struct symbol *sym; - int index; + struct block *b; + struct symbol *sym; + int index; - bv = blockvector_for_pc_sect (sal->pc, 0, &index, sal->symtab); + bv = blockvector_for_pc_sect (sal->pc, 0, &index, sal->symtab); if (bv != NULL) { - b = BLOCKVECTOR_BLOCK (bv, index); + b = BLOCKVECTOR_BLOCK (bv, index); sym = block_function (b); if (sym != NULL) { @@ -4070,11 +4988,11 @@ resolve_sal_pc (sal) else { /* It really is worthwhile to have the section, so we'll just - have to look harder. This case can be executed if we have - line numbers but no functions (as can happen in assembly - source). */ + have to look harder. This case can be executed if we have + line numbers but no functions (as can happen in assembly + source). */ - struct minimal_symbol *msym; + struct minimal_symbol *msym; msym = lookup_minimal_symbol_by_pc (sal->pc); if (msym) @@ -4085,65 +5003,49 @@ resolve_sal_pc (sal) } void -break_command (arg, from_tty) - char *arg; - int from_tty; +break_command (char *arg, int from_tty) { break_command_1 (arg, 0, from_tty); } void -break_at_finish_command (arg, from_tty) - char *arg; - int from_tty; +break_at_finish_command (char *arg, int from_tty) { break_at_finish_command_1 (arg, 0, from_tty); } void -break_at_finish_at_depth_command (arg, from_tty) - char *arg; - int from_tty; +break_at_finish_at_depth_command (char *arg, int from_tty) { break_at_finish_at_depth_command_1 (arg, 0, from_tty); } void -tbreak_command (arg, from_tty) - char *arg; - int from_tty; +tbreak_command (char *arg, int from_tty) { break_command_1 (arg, BP_TEMPFLAG, from_tty); } void -tbreak_at_finish_command (arg, from_tty) - char *arg; - int from_tty; +tbreak_at_finish_command (char *arg, int from_tty) { break_at_finish_command_1 (arg, BP_TEMPFLAG, from_tty); } static void -hbreak_command (arg, from_tty) - char *arg; - int from_tty; +hbreak_command (char *arg, int from_tty) { break_command_1 (arg, BP_HARDWAREFLAG, from_tty); } static void -thbreak_command (arg, from_tty) - char *arg; - int from_tty; +thbreak_command (char *arg, int from_tty) { break_command_1 (arg, (BP_TEMPFLAG | BP_HARDWAREFLAG), from_tty); } static void -stop_command (arg, from_tty) - char *arg; - int from_tty; +stop_command (char *arg, int from_tty) { printf_filtered ("Specify the type of breakpoint to set.\n\ Usage: stop in \n\ @@ -4151,48 +5053,44 @@ Usage: stop in \n\ } static void -stopin_command (arg, from_tty) - char *arg; - int from_tty; +stopin_command (char *arg, int from_tty) { int badInput = 0; - if (arg == (char *)NULL) + if (arg == (char *) NULL) badInput = 1; else if (*arg != '*') { char *argptr = arg; int hasColon = 0; - /* look for a ':'. If this is a line number specification, then say - it is bad, otherwise, it should be an address or function/method - name */ + /* look for a ':'. If this is a line number specification, then + say it is bad, otherwise, it should be an address or + function/method name */ while (*argptr && !hasColon) - { - hasColon = (*argptr == ':'); - argptr++; - } + { + hasColon = (*argptr == ':'); + argptr++; + } if (hasColon) - badInput = (*argptr != ':'); /* Not a class::method */ + badInput = (*argptr != ':'); /* Not a class::method */ else - badInput = isdigit(*arg); /* a simple line number */ + badInput = isdigit (*arg); /* a simple line number */ } if (badInput) - printf_filtered("Usage: stop in \n"); + printf_filtered ("Usage: stop in \n"); else break_command_1 (arg, 0, from_tty); } static void -stopat_command (arg, from_tty) - char *arg; - int from_tty; +stopat_command (char *arg, int from_tty) { int badInput = 0; - if (arg == (char *)NULL || *arg == '*') /* no line number */ + if (arg == (char *) NULL || *arg == '*') /* no line number */ badInput = 1; else { @@ -4200,32 +5098,31 @@ stopat_command (arg, from_tty) int hasColon = 0; /* look for a ':'. If there is a '::' then get out, otherwise - it is probably a line number. */ + it is probably a line number. */ while (*argptr && !hasColon) - { - hasColon = (*argptr == ':'); - argptr++; - } + { + hasColon = (*argptr == ':'); + argptr++; + } if (hasColon) - badInput = (*argptr == ':'); /* we have class::method */ + badInput = (*argptr == ':'); /* we have class::method */ else - badInput = !isdigit(*arg); /* not a line number */ + badInput = !isdigit (*arg); /* not a line number */ } if (badInput) - printf_filtered("Usage: stop at \n"); + printf_filtered ("Usage: stop at \n"); else break_command_1 (arg, 0, from_tty); } /* ARGSUSED */ -/* accessflag: 0: watch write, 1: watch read, 2: watch access(read or write) */ +/* accessflag: hw_write: watch write, + hw_read: watch read, + hw_access: watch access (read or write) */ static void -watch_command_1 (arg, accessflag, from_tty) - char *arg; - int accessflag; - int from_tty; +watch_command_1 (char *arg, int accessflag, int from_tty) { struct breakpoint *b; struct symtab_and_line sal; @@ -4245,8 +5142,8 @@ watch_command_1 (arg, accessflag, from_tty) enum bptype bp_type; int mem_cnt = 0; - INIT_SAL (&sal); /* initialize to zeroes */ - + INIT_SAL (&sal); /* initialize to zeroes */ + /* Parse arguments. */ innermost_block = NULL; exp_start = arg; @@ -4275,52 +5172,63 @@ watch_command_1 (arg, accessflag, from_tty) cond_end = tok; } if (*tok) - error("Junk at end of command."); + error ("Junk at end of command."); - if (accessflag == 1) bp_type = bp_read_watchpoint; - else if (accessflag == 2) bp_type = bp_access_watchpoint; - else bp_type = bp_hardware_watchpoint; + if (accessflag == hw_read) + bp_type = bp_read_watchpoint; + else if (accessflag == hw_access) + bp_type = bp_access_watchpoint; + else + bp_type = bp_hardware_watchpoint; mem_cnt = can_use_hardware_watchpoint (val); if (mem_cnt == 0 && bp_type != bp_hardware_watchpoint) error ("Expression cannot be implemented with read/access watchpoint."); - if (mem_cnt != 0) { - i = hw_watchpoint_used_count (bp_type, &other_type_used); - target_resources_ok = TARGET_CAN_USE_HARDWARE_WATCHPOINT( - bp_type, i + mem_cnt, other_type_used); - if (target_resources_ok == 0 && bp_type != bp_hardware_watchpoint) - error ("Target does not have this type of hardware watchpoint support."); - if (target_resources_ok < 0 && bp_type != bp_hardware_watchpoint) - error ("Target resources have been allocated for other types of watchpoints."); - } + if (mem_cnt != 0) + { + i = hw_watchpoint_used_count (bp_type, &other_type_used); + target_resources_ok = + TARGET_CAN_USE_HARDWARE_WATCHPOINT (bp_type, i + mem_cnt, + other_type_used); + if (target_resources_ok == 0 && bp_type != bp_hardware_watchpoint) + error ("Target does not support this type of hardware watchpoint."); + + if (target_resources_ok < 0 && bp_type != bp_hardware_watchpoint) + error ("Target can only support one kind of HW watchpoint at a time."); + } #if defined(HPUXHPPA) - /* On HP-UX if you set a h/w + /* On HP-UX if you set a h/w watchpoint before the "run" command, the inferior dies with a e.g., SIGILL once you start it. I initially believed this was due to a bad interaction between page protection traps and the initial startup sequence by the dynamic linker. However, I tried avoiding that by having HP-UX's implementation of - TARGET_CAN_USE_HW_WATCHPOINT return FALSE if there was no inferior_pid + TARGET_CAN_USE_HW_WATCHPOINT return FALSE if there was no inferior_ptid yet, which forced slow watches before a "run" or "attach", and it still fails somewhere in the startup code. Until I figure out what's happening, I'm disallowing watches altogether before the "run" or "attach" command. We'll tell the user they must set watches after getting the program started. */ - if (! target_has_execution) + if (!target_has_execution) { warning ("can't do that without a running program; try \"break main\", \"run\" first"); return; } #endif /* HPUXHPPA */ - + + /* Change the type of breakpoint to an ordinary watchpoint if a hardware + watchpoint could not be set. */ + if (!mem_cnt || target_resources_ok <= 0) + bp_type = bp_watchpoint; + /* Now set up the breakpoint. */ - b = set_raw_breakpoint (sal); + b = set_raw_breakpoint (sal, bp_type); set_breakpoint_count (breakpoint_count + 1); b->number = breakpoint_count; - b->disposition = donttouch; + b->disposition = disp_donttouch; b->exp = exp; b->exp_valid_block = exp_valid_block; b->exp_string = savestring (exp_start, exp_end - exp_start); @@ -4330,7 +5238,7 @@ watch_command_1 (arg, accessflag, from_tty) b->cond_string = savestring (cond_start, cond_end - cond_start); else b->cond_string = 0; - + frame = block_innermost_frame (exp_valid_block); if (frame) { @@ -4338,12 +5246,7 @@ watch_command_1 (arg, accessflag, from_tty) b->watchpoint_frame = frame->frame; } else - b->watchpoint_frame = (CORE_ADDR)0; - - if (mem_cnt && target_resources_ok > 0) - b->type = bp_type; - else - b->type = bp_watchpoint; + b->watchpoint_frame = (CORE_ADDR) 0; /* If the expression is "local", then set up a "watchpoint scope" breakpoint at the point where we've left the scope of the watchpoint @@ -4356,18 +5259,18 @@ watch_command_1 (arg, accessflag, from_tty) struct symtab_and_line scope_sal; INIT_SAL (&scope_sal); /* initialize to zeroes */ - scope_sal.pc = get_frame_pc (prev_frame); + scope_sal.pc = get_frame_pc (prev_frame); scope_sal.section = find_pc_overlay (scope_sal.pc); - scope_breakpoint = set_raw_breakpoint (scope_sal); + scope_breakpoint = set_raw_breakpoint (scope_sal, + bp_watchpoint_scope); set_breakpoint_count (breakpoint_count + 1); scope_breakpoint->number = breakpoint_count; - scope_breakpoint->type = bp_watchpoint_scope; - scope_breakpoint->enable = enabled; + scope_breakpoint->enable_state = bp_enabled; /* Automatically delete the breakpoint when it hits. */ - scope_breakpoint->disposition = del; + scope_breakpoint->disposition = disp_del; /* Only break in the proper frame (help with recursion). */ scope_breakpoint->frame = prev_frame->frame; @@ -4389,33 +5292,80 @@ watch_command_1 (arg, accessflag, from_tty) in hardware return zero. */ #if !defined(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT) -#define TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(byte_size) \ - ((byte_size) <= (REGISTER_SIZE)) +#define TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(BYTE_SIZE) \ + ((BYTE_SIZE) <= (REGISTER_SIZE)) +#endif + +#if !defined(TARGET_REGION_OK_FOR_HW_WATCHPOINT) +#define TARGET_REGION_OK_FOR_HW_WATCHPOINT(ADDR,LEN) \ + (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(LEN)) #endif static int -can_use_hardware_watchpoint (v) - struct value *v; +can_use_hardware_watchpoint (struct value *v) { int found_memory_cnt = 0; + struct value *head = v; /* Did the user specifically forbid us to use hardware watchpoints? */ - if (! can_use_hw_watchpoints) + if (!can_use_hw_watchpoints) return 0; - - /* Make sure all the intermediate values are in memory. Also make sure - we found at least one memory expression. Guards against watch 0x12345, - which is meaningless, but could cause errors if one tries to insert a - hardware watchpoint for the constant expression. */ - for ( ; v; v = v->next) + + /* Make sure that the value of the expression depends only upon + memory contents, and values computed from them within GDB. If we + find any register references or function calls, we can't use a + hardware watchpoint. + + The idea here is that evaluating an expression generates a series + of values, one holding the value of every subexpression. (The + expression a*b+c has five subexpressions: a, b, a*b, c, and + a*b+c.) GDB's values hold almost enough information to establish + the criteria given above --- they identify memory lvalues, + register lvalues, computed values, etcetera. So we can evaluate + the expression, and then scan the chain of values that leaves + behind to decide whether we can detect any possible change to the + expression's final value using only hardware watchpoints. + + However, I don't think that the values returned by inferior + function calls are special in any way. So this function may not + notice that an expression involving an inferior function call + can't be watched with hardware watchpoints. FIXME. */ + for (; v; v = v->next) { - if (v->lval == lval_memory) + if (VALUE_LVAL (v) == lval_memory) { - if (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT (TYPE_LENGTH (VALUE_TYPE (v)))) - found_memory_cnt++; - } + if (VALUE_LAZY (v)) + /* A lazy memory lvalue is one that GDB never needed to fetch; + we either just used its address (e.g., `a' in `a.b') or + we never needed it at all (e.g., `a' in `a,b'). */ + ; + else + { + /* Ahh, memory we actually used! Check if we can cover + it with hardware watchpoints. */ + struct type *vtype = check_typedef (VALUE_TYPE (v)); + + /* We only watch structs and arrays if user asked for it + explicitly, never if they just happen to appear in a + middle of some value chain. */ + if (v == head + || (TYPE_CODE (vtype) != TYPE_CODE_STRUCT + && TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) + { + CORE_ADDR vaddr = VALUE_ADDRESS (v) + VALUE_OFFSET (v); + int len = TYPE_LENGTH (VALUE_TYPE (v)); + + if (!TARGET_REGION_OK_FOR_HW_WATCHPOINT (vaddr, len)) + return 0; + else + found_memory_cnt++; + } + } + } else if (v->lval != not_lval && v->modifiable == 0) - return 0; + return 0; /* ??? What does this represent? */ + else if (v->lval == lval_register) + return 0; /* cannot watch a register with a HW watchpoint */ } /* The expression itself looks suitable for using a hardware @@ -4423,104 +5373,162 @@ can_use_hardware_watchpoint (v) return found_memory_cnt; } -static void watch_command (arg, from_tty) - char *arg; - int from_tty; +void +watch_command_wrapper (char *arg, int from_tty) +{ + watch_command (arg, from_tty); +} + +static void +watch_command (char *arg, int from_tty) +{ + watch_command_1 (arg, hw_write, from_tty); +} + +void +rwatch_command_wrapper (char *arg, int from_tty) { - watch_command_1 (arg, 0, from_tty); + rwatch_command (arg, from_tty); } -static void rwatch_command (arg, from_tty) - char *arg; - int from_tty; +static void +rwatch_command (char *arg, int from_tty) { - watch_command_1 (arg, 1, from_tty); + watch_command_1 (arg, hw_read, from_tty); } -static void awatch_command (arg, from_tty) - char *arg; - int from_tty; +void +awatch_command_wrapper (char *arg, int from_tty) { - watch_command_1 (arg, 2, from_tty); + awatch_command (arg, from_tty); } +static void +awatch_command (char *arg, int from_tty) +{ + watch_command_1 (arg, hw_access, from_tty); +} -/* Helper routine for the until_command routine in infcmd.c. Here + +/* Helper routines for the until_command routine in infcmd.c. Here because it uses the mechanisms of breakpoints. */ +/* This function is called by fetch_inferior_event via the + cmd_continuation pointer, to complete the until command. It takes + care of cleaning up the temporary breakpoints set up by the until + command. */ +static void +until_break_command_continuation (struct continuation_arg *arg) +{ + struct cleanup *cleanups; + + cleanups = (struct cleanup *) arg->data.pointer; + do_exec_cleanups (cleanups); +} + /* ARGSUSED */ void -until_break_command (arg, from_tty) - char *arg; - int from_tty; +until_break_command (char *arg, int from_tty) { struct symtabs_and_lines sals; struct symtab_and_line sal; struct frame_info *prev_frame = get_prev_frame (selected_frame); struct breakpoint *breakpoint; struct cleanup *old_chain; + struct continuation_arg *arg1; + clear_proceed_status (); /* Set a breakpoint where the user wants it and at return from this function */ - + if (default_breakpoint_valid) sals = decode_line_1 (&arg, 1, default_breakpoint_symtab, - default_breakpoint_line, (char ***)NULL); + default_breakpoint_line, (char ***) NULL); else - sals = decode_line_1 (&arg, 1, (struct symtab *)NULL, 0, (char ***)NULL); - + sals = decode_line_1 (&arg, 1, (struct symtab *) NULL, + 0, (char ***) NULL); + if (sals.nelts != 1) error ("Couldn't get information on specified line."); - + sal = sals.sals[0]; - free ((PTR)sals.sals); /* malloc'd, so freed */ - + xfree (sals.sals); /* malloc'd, so freed */ + if (*arg) error ("Junk at end of arguments."); - + resolve_sal_pc (&sal); - + breakpoint = set_momentary_breakpoint (sal, selected_frame, bp_until); - - old_chain = make_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint); + + if (!event_loop_p || !target_can_async_p ()) + old_chain = make_cleanup_delete_breakpoint (breakpoint); + else + old_chain = make_exec_cleanup_delete_breakpoint (breakpoint); + + /* If we are running asynchronously, and the target supports async + execution, we are not waiting for the target to stop, in the call + tp proceed, below. This means that we cannot delete the + brekpoints until the target has actually stopped. The only place + where we get a chance to do that is in fetch_inferior_event, so + we must set things up for that. */ + + if (event_loop_p && target_can_async_p ()) + { + /* In this case the arg for the continuation is just the point + in the exec_cleanups chain from where to start doing + cleanups, because all the continuation does is the cleanups in + the exec_cleanup_chain. */ + arg1 = + (struct continuation_arg *) xmalloc (sizeof (struct continuation_arg)); + arg1->next = NULL; + arg1->data.pointer = old_chain; + + add_continuation (until_break_command_continuation, arg1); + } /* Keep within the current frame */ - + if (prev_frame) { sal = find_pc_line (prev_frame->pc, 0); sal.pc = prev_frame->pc; breakpoint = set_momentary_breakpoint (sal, prev_frame, bp_until); - make_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint); + if (!event_loop_p || !target_can_async_p ()) + make_cleanup_delete_breakpoint (breakpoint); + else + make_exec_cleanup_delete_breakpoint (breakpoint); } - + proceed (-1, TARGET_SIGNAL_DEFAULT, 0); - do_cleanups(old_chain); + /* Do the cleanups now, anly if we are not running asynchronously, + of if we are, but the target is still synchronous. */ + if (!event_loop_p || !target_can_async_p ()) + do_cleanups (old_chain); } #if 0 /* These aren't used; I don't konw what they were for. */ /* Set a breakpoint at the catch clause for NAME. */ static int -catch_breakpoint (name) - char *name; +catch_breakpoint (char *name) { } static int -disable_catch_breakpoint () +disable_catch_breakpoint (void) { } static int -delete_catch_breakpoint () +delete_catch_breakpoint (void) { } static int -enable_catch_breakpoint () +enable_catch_breakpoint (void) { } #endif /* 0 */ @@ -4531,6 +5539,7 @@ struct sal_chain struct symtab_and_line sal; }; +#if 0 /* Not really used -- invocation in handle_gnu_4_16_catch_command had been commented out in the v.4.16 sources, and stays disabled there now because "catch NAME" syntax isn't allowed. @@ -4539,9 +5548,7 @@ struct sal_chain /* For each catch clause identified in ARGS, run FUNCTION with that clause as an argument. */ static struct symtabs_and_lines -map_catch_names (args, function) - char *args; - int (*function)(); +map_catch_names (char *args, int (*function) ()) { register char *p = args; register char *p1; @@ -4579,7 +5586,7 @@ map_catch_names (args, function) if (function (p)) { struct sal_chain *next = (struct sal_chain *) - alloca (sizeof (struct sal_chain)); + alloca (sizeof (struct sal_chain)); next->next = sal_chain; next->sal = get_catch_sal (p); sal_chain = next; @@ -4591,15 +5598,16 @@ map_catch_names (args, function) win: #endif p = p1; - while (*p == ' ' || *p == '\t') p++; + while (*p == ' ' || *p == '\t') + p++; } } +#endif /* This shares a lot of code with `print_frame_label_vars' from stack.c. */ static struct symtabs_and_lines -get_catch_sals (this_level_only) - int this_level_only; +get_catch_sals (int this_level_only) { register struct blockvector *bl; register struct block *block; @@ -4649,15 +5657,11 @@ get_catch_sals (this_level_only) if (blocks_searched[index] == 0) { struct block *b = BLOCKVECTOR_BLOCK (bl, index); - int nsyms; register int i; register struct symbol *sym; - nsyms = BLOCK_NSYMS (b); - - for (i = 0; i < nsyms; i++) + ALL_BLOCK_SYMBOLS (b, i, sym) { - sym = BLOCK_SYM (b, i); if (STREQ (SYMBOL_NAME (sym), "default")) { if (have_default) @@ -4667,9 +5671,10 @@ get_catch_sals (this_level_only) if (SYMBOL_CLASS (sym) == LOC_LABEL) { struct sal_chain *next = (struct sal_chain *) - alloca (sizeof (struct sal_chain)); + alloca (sizeof (struct sal_chain)); next->next = sal_chain; - next->sal = find_pc_line (SYMBOL_VALUE_ADDRESS (sym), 0); + next->sal = find_pc_line (SYMBOL_VALUE_ADDRESS (sym), + 0); sal_chain = next; } } @@ -4683,8 +5688,8 @@ get_catch_sals (this_level_only) break; /* After handling the function's top-level block, stop. - Don't continue to its superblock, the block of - per-file symbols. */ + Don't continue to its superblock, the block of + per-file symbols. */ if (BLOCK_FUNCTION (block)) break; block = BLOCK_SUPERBLOCK (block); @@ -4710,166 +5715,169 @@ get_catch_sals (this_level_only) } static void -ep_skip_leading_whitespace (s) - char ** s; +ep_skip_leading_whitespace (char **s) { - if ((s == NULL) || (*s == NULL)) - return; - while (isspace(**s)) - *s += 1; + if ((s == NULL) || (*s == NULL)) + return; + while (isspace (**s)) + *s += 1; } - + /* This function examines a string, and attempts to find a token that might be an event name in the leading characters. If a possible match is found, a pointer to the last character of the token is returned. Else, NULL is returned. */ + static char * -ep_find_event_name_end (arg) - char * arg; +ep_find_event_name_end (char *arg) { - char * s = arg; - char * event_name_end = NULL; - + char *s = arg; + char *event_name_end = NULL; + /* If we could depend upon the presense of strrpbrk, we'd use that... */ if (arg == NULL) return NULL; - + /* We break out of the loop when we find a token delimiter. - Basically, we're looking for alphanumerics and underscores; - anything else delimites the token. */ + Basically, we're looking for alphanumerics and underscores; + anything else delimites the token. */ while (*s != '\0') { - if (! isalnum(*s) && (*s != '_')) - break; + if (!isalnum (*s) && (*s != '_')) + break; event_name_end = s; s++; } - + return event_name_end; } - + /* This function attempts to parse an optional "if " clause from the arg string. If one is not found, it returns NULL. - + Else, it returns a pointer to the condition string. (It does not attempt to evaluate the string against a particular block.) And, it updates arg to point to the first character following the parsed if clause in the arg string. */ + static char * -ep_parse_optional_if_clause (arg) - char ** arg; +ep_parse_optional_if_clause (char **arg) { - char * cond_string; - - if (((*arg)[0] != 'i') || ((*arg)[1] != 'f') || !isspace((*arg)[2])) + char *cond_string; + + if (((*arg)[0] != 'i') || ((*arg)[1] != 'f') || !isspace ((*arg)[2])) return NULL; - + /* Skip the "if" keyword. */ (*arg) += 2; - + /* Skip any extra leading whitespace, and record the start of the condition string. */ ep_skip_leading_whitespace (arg); cond_string = *arg; - + /* Assume that the condition occupies the remainder of the arg string. */ (*arg) += strlen (cond_string); - + return cond_string; } - + /* This function attempts to parse an optional filename from the arg string. If one is not found, it returns NULL. - + Else, it returns a pointer to the parsed filename. (This function makes no attempt to verify that a file of that name exists, or is accessible.) And, it updates arg to point to the first character following the parsed filename in the arg string. - + Note that clients needing to preserve the returned filename for future access should copy it to their own buffers. */ static char * -ep_parse_optional_filename (arg) - char ** arg; +ep_parse_optional_filename (char **arg) { - static char filename [1024]; - char * arg_p = *arg; - int i; - char c; - + static char filename[1024]; + char *arg_p = *arg; + int i; + char c; + if ((*arg_p == '\0') || isspace (*arg_p)) return NULL; - - for (i=0; ; i++) + + for (i = 0;; i++) { c = *arg_p; if (isspace (c)) - c = '\0'; + c = '\0'; filename[i] = c; if (c == '\0') - break; + break; arg_p++; } *arg = arg_p; - + return filename; } - + /* Commands to deal with catching events, such as signals, exceptions, process start/exit, etc. */ - -typedef enum {catch_fork, catch_vfork} catch_fork_kind; - + +typedef enum +{ + catch_fork, catch_vfork +} +catch_fork_kind; + +#if defined(CHILD_INSERT_FORK_CATCHPOINT) || defined(CHILD_INSERT_VFORK_CATCHPOINT) +static void catch_fork_command_1 (catch_fork_kind fork_kind, + char *arg, int tempflag, int from_tty); + static void -catch_fork_command_1 (fork_kind, arg, tempflag, from_tty) - catch_fork_kind fork_kind; - char * arg; - int tempflag; - int from_tty; +catch_fork_command_1 (catch_fork_kind fork_kind, char *arg, int tempflag, + int from_tty) { - char * cond_string = NULL; - + char *cond_string = NULL; + ep_skip_leading_whitespace (&arg); - + /* The allowed syntax is: - catch [v]fork - catch [v]fork if - + catch [v]fork + catch [v]fork if + First, check if there's an if clause. */ cond_string = ep_parse_optional_if_clause (&arg); - + if ((*arg != '\0') && !isspace (*arg)) error ("Junk at end of arguments."); - + /* If this target supports it, create a fork or vfork catchpoint and enable reporting of such events. */ - switch (fork_kind) { - case catch_fork : + switch (fork_kind) + { + case catch_fork: create_fork_event_catchpoint (tempflag, cond_string); break; - case catch_vfork : + case catch_vfork: create_vfork_event_catchpoint (tempflag, cond_string); break; - default : + default: error ("unsupported or unknown fork kind; cannot catch it"); break; - } + } } +#endif +#if defined(CHILD_INSERT_EXEC_CATCHPOINT) static void -catch_exec_command_1 (arg, tempflag, from_tty) - char * arg; - int tempflag; - int from_tty; +catch_exec_command_1 (char *arg, int tempflag, int from_tty) { - char * cond_string = NULL; + char *cond_string = NULL; ep_skip_leading_whitespace (&arg); /* The allowed syntax is: - catch exec - catch exec if + catch exec + catch exec if First, check if there's an if clause. */ cond_string = ep_parse_optional_if_clause (&arg); @@ -4881,34 +5889,32 @@ catch_exec_command_1 (arg, tempflag, from_tty) and enable reporting of such events. */ create_exec_event_catchpoint (tempflag, cond_string); } - +#endif + #if defined(SOLIB_ADD) static void -catch_load_command_1 (arg, tempflag, from_tty) - char * arg; - int tempflag; - int from_tty; +catch_load_command_1 (char *arg, int tempflag, int from_tty) { - char * dll_pathname = NULL; - char * cond_string = NULL; - + char *dll_pathname = NULL; + char *cond_string = NULL; + ep_skip_leading_whitespace (&arg); - + /* The allowed syntax is: - catch load - catch load if - catch load - catch load if - + catch load + catch load if + catch load + catch load if + The user is not allowed to specify the after an if clause. - + We'll ignore the pathological case of a file named "if". - + First, check if there's an if clause. If so, then there cannot be a filename. */ cond_string = ep_parse_optional_if_clause (&arg); - + /* If there was an if clause, then there cannot be a filename. Else, there might be a filename and an if clause. */ if (cond_string == NULL) @@ -4917,42 +5923,40 @@ catch_load_command_1 (arg, tempflag, from_tty) ep_skip_leading_whitespace (&arg); cond_string = ep_parse_optional_if_clause (&arg); } - + if ((*arg != '\0') && !isspace (*arg)) error ("Junk at end of arguments."); - + /* Create a load breakpoint that only triggers when a load of the specified dll (or any dll, if no pathname was specified) occurs. */ - SOLIB_CREATE_CATCH_LOAD_HOOK (inferior_pid, tempflag, dll_pathname, cond_string); + SOLIB_CREATE_CATCH_LOAD_HOOK (PIDGET (inferior_ptid), tempflag, + dll_pathname, cond_string); } - + static void -catch_unload_command_1 (arg, tempflag, from_tty) - char * arg; - int tempflag; - int from_tty; +catch_unload_command_1 (char *arg, int tempflag, int from_tty) { - char * dll_pathname = NULL; - char * cond_string = NULL; - + char *dll_pathname = NULL; + char *cond_string = NULL; + ep_skip_leading_whitespace (&arg); - + /* The allowed syntax is: - catch unload - catch unload if - catch unload - catch unload if - + catch unload + catch unload if + catch unload + catch unload if + The user is not allowed to specify the after an if clause. - + We'll ignore the pathological case of a file named "if". - + First, check if there's an if clause. If so, then there cannot be a filename. */ cond_string = ep_parse_optional_if_clause (&arg); - + /* If there was an if clause, then there cannot be a filename. Else, there might be a filename and an if clause. */ if (cond_string == NULL) @@ -4961,75 +5965,71 @@ catch_unload_command_1 (arg, tempflag, from_tty) ep_skip_leading_whitespace (&arg); cond_string = ep_parse_optional_if_clause (&arg); } - + if ((*arg != '\0') && !isspace (*arg)) error ("Junk at end of arguments."); - + /* Create an unload breakpoint that only triggers when an unload of the specified dll (or any dll, if no pathname was specified) occurs. */ - SOLIB_CREATE_CATCH_UNLOAD_HOOK (inferior_pid, tempflag, dll_pathname, cond_string); + SOLIB_CREATE_CATCH_UNLOAD_HOOK (PIDGET (inferior_ptid), tempflag, + dll_pathname, cond_string); } #endif /* SOLIB_ADD */ /* Commands to deal with catching exceptions. */ /* Set a breakpoint at the specified callback routine for an - exception event callback */ + exception event callback */ static void -create_exception_catchpoint (tempflag, cond_string, ex_event, sal) - int tempflag; - char * cond_string; - enum exception_event_kind ex_event; - struct symtab_and_line * sal; +create_exception_catchpoint (int tempflag, char *cond_string, + enum exception_event_kind ex_event, + struct symtab_and_line *sal) { - struct breakpoint * b; - int i; - int thread = -1; /* All threads. */ + struct breakpoint *b; + int thread = -1; /* All threads. */ + enum bptype bptype; - if (!sal) /* no exception support? */ + if (!sal) /* no exception support? */ return; - b = set_raw_breakpoint (*sal); + switch (ex_event) + { + case EX_EVENT_THROW: + bptype = bp_catch_throw; + break; + case EX_EVENT_CATCH: + bptype = bp_catch_catch; + break; + default: /* error condition */ + error ("Internal error -- invalid catchpoint kind"); + } + + b = set_raw_breakpoint (*sal, bptype); set_breakpoint_count (breakpoint_count + 1); b->number = breakpoint_count; b->cond = NULL; - b->cond_string = (cond_string == NULL) ? NULL : savestring (cond_string, strlen (cond_string)); + b->cond_string = (cond_string == NULL) ? + NULL : savestring (cond_string, strlen (cond_string)); b->thread = thread; b->addr_string = NULL; - b->enable = enabled; - b->disposition = tempflag ? del : donttouch; - switch (ex_event) - { - case EX_EVENT_THROW: - b->type = bp_catch_throw; - break; - case EX_EVENT_CATCH: - b->type = bp_catch_catch; - break; - default: /* error condition */ - b->type = bp_none; - b->enable = disabled; - error ("Internal error -- invalid catchpoint kind"); - } + b->enable_state = bp_enabled; + b->disposition = tempflag ? disp_del : disp_donttouch; mention (b); } -/* Deal with "catch catch" and "catch throw" commands */ +/* Deal with "catch catch" and "catch throw" commands */ static void -catch_exception_command_1 (ex_event, arg, tempflag, from_tty) - enum exception_event_kind ex_event; - char * arg; - int tempflag; - int from_tty; -{ - char * cond_string = NULL; - struct symtab_and_line * sal = NULL; - +catch_exception_command_1 (enum exception_event_kind ex_event, char *arg, + int tempflag, int from_tty) +{ + char *cond_string = NULL; + struct symtab_and_line *sal = NULL; + ep_skip_leading_whitespace (&arg); - + cond_string = ep_parse_optional_if_clause (&arg); if ((*arg != '\0') && !isspace (*arg)) @@ -5042,31 +6042,31 @@ catch_exception_command_1 (ex_event, arg, tempflag, from_tty) /* See if we can find a callback routine */ sal = target_enable_exception_callback (ex_event, 1); - if (sal) + if (sal) { /* We have callbacks from the runtime system for exceptions. - Set a breakpoint on the sal found, if no errors */ + Set a breakpoint on the sal found, if no errors */ if (sal != (struct symtab_and_line *) -1) - create_exception_catchpoint (tempflag, cond_string, ex_event, sal); + create_exception_catchpoint (tempflag, cond_string, ex_event, sal); else - return; /* something went wrong with setting up callbacks */ + return; /* something went wrong with setting up callbacks */ } - else + else { /* No callbacks from runtime system for exceptions. Try GNU C++ exception breakpoints using labels in debug info. */ if (ex_event == EX_EVENT_CATCH) - { - handle_gnu_4_16_catch_command (arg, tempflag, from_tty); - } + { + handle_gnu_4_16_catch_command (arg, tempflag, from_tty); + } else if (ex_event == EX_EVENT_THROW) - { - /* Set a breakpoint on __raise_exception () */ - - fprintf_filtered (gdb_stderr, "Unsupported with this platform/compiler combination.\n"); - fprintf_filtered (gdb_stderr, "Perhaps you can achieve the effect you want by setting\n"); - fprintf_filtered (gdb_stderr, "a breakpoint on __raise_exception().\n"); - } + { + /* Set a breakpoint on __raise_exception () */ + + warning ("Unsupported with this platform/compiler combination."); + warning ("Perhaps you can achieve the effect you want by setting"); + warning ("a breakpoint on __raise_exception()."); + } } } @@ -5074,18 +6074,17 @@ catch_exception_command_1 (ex_event, arg, tempflag, from_tty) inside a catch_errors */ static int -cover_target_enable_exception_callback (arg) - PTR arg; +cover_target_enable_exception_callback (PTR arg) { args_for_catchpoint_enable *args = arg; struct symtab_and_line *sal; - sal = target_enable_exception_callback (args->kind, args->enable); + sal = target_enable_exception_callback (args->kind, args->enable_p); if (sal == NULL) return 0; else if (sal == (struct symtab_and_line *) -1) return -1; else - return 1; /*is valid*/ + return 1; /*is valid */ } @@ -5098,15 +6097,12 @@ cover_target_enable_exception_callback (arg) Note: Only the "catch" flavour of GDB 4.16 is handled here. The "catch NAME" is now no longer allowed in catch_command_1(). Also, there was no code in GDB 4.16 for "catch throw". - + Called from catch_exception_command_1 () */ static void -handle_gnu_4_16_catch_command (arg, tempflag, from_tty) - char *arg; - int tempflag; - int from_tty; +handle_gnu_4_16_catch_command (char *arg, int tempflag, int from_tty) { /* First, translate ARG into something we can deal with in terms of breakpoints. */ @@ -5118,12 +6114,12 @@ handle_gnu_4_16_catch_command (arg, tempflag, from_tty) char *save_arg; int i; - INIT_SAL (&sal); /* initialize to zeroes */ + INIT_SAL (&sal); /* initialize to zeroes */ /* If no arg given, or if first arg is 'if ', all active catch clauses are breakpointed. */ - if (!arg || (arg[0] == 'i' && arg[1] == 'f' + if (!arg || (arg[0] == 'i' && arg[1] == 'f' && (arg[2] == ' ' || arg[2] == '\t'))) { /* Grab all active catch clauses. */ @@ -5138,26 +6134,26 @@ handle_gnu_4_16_catch_command (arg, tempflag, from_tty) /* Not sure why this code has been disabled. I'm leaving it disabled. We can never come here now anyway since we don't allow the "catch NAME" syntax. - pai/1997-07-11 */ + pai/1997-07-11 */ /* This isn't used; I don't know what it was for. */ sals = map_catch_names (arg, catch_breakpoint); #endif } - if (! sals.nelts) + if (!sals.nelts) return; save_arg = arg; for (i = 0; i < sals.nelts; i++) { resolve_sal_pc (&sals.sals[i]); - + while (arg && *arg) { if (arg[0] == 'i' && arg[1] == 'f' && (arg[2] == ' ' || arg[2] == '\t')) - cond = parse_exp_1 ((arg += 2, &arg), + cond = parse_exp_1 ((arg += 2, &arg), block_for_pc (sals.sals[i].pc), 0); else error ("Junk at end of arguments."); @@ -5172,82 +6168,50 @@ handle_gnu_4_16_catch_command (arg, tempflag, from_tty) if (from_tty) describe_other_breakpoints (sal.pc, sal.section); - b = set_raw_breakpoint (sal); + /* Important -- this is an ordinary breakpoint. For platforms + with callback support for exceptions, + create_exception_catchpoint() will create special bp types + (bp_catch_catch and bp_catch_throw), and there is code in + insert_breakpoints() and elsewhere that depends on that. */ + b = set_raw_breakpoint (sal, bp_breakpoint); set_breakpoint_count (breakpoint_count + 1); b->number = breakpoint_count; - b->type = bp_breakpoint; /* Important -- this is an ordinary breakpoint. - For platforms with callback support for exceptions, - create_exception_catchpoint() will create special - bp types (bp_catch_catch and bp_catch_throw), and - there is code in insert_breakpoints() and elsewhere - that depends on that. */ b->cond = cond; - b->enable = enabled; - b->disposition = tempflag ? del : donttouch; + b->enable_state = bp_enabled; + b->disposition = tempflag ? disp_del : disp_donttouch; mention (b); } if (sals.nelts > 1) { - printf_unfiltered ("Multiple breakpoints were set.\n"); - printf_unfiltered ("Use the \"delete\" command to delete unwanted breakpoints.\n"); + warning ("Multiple breakpoints were set."); + warning ("Use the \"delete\" command to delete unwanted breakpoints."); } - free ((PTR)sals.sals); -} - -#if 0 -/* This creates a temporary internal breakpoint - just to placate infrun */ -static struct breakpoint * -create_temp_exception_breakpoint (pc) - CORE_ADDR pc; -{ - struct symtab_and_line sal; - struct breakpoint *b; - - INIT_SAL(&sal); - sal.pc = pc; - sal.symtab = NULL; - sal.line = 0; - - b = set_raw_breakpoint (sal); - if (!b) - error ("Internal error -- couldn't set temp exception breakpoint"); - - b->type = bp_breakpoint; - b->disposition = del; - b->enable = enabled; - b->silent = 1; - b->number = internal_breakpoint_number--; - return b; + xfree (sals.sals); } -#endif static void -catch_command_1 (arg, tempflag, from_tty) - char *arg; - int tempflag; - int from_tty; +catch_command_1 (char *arg, int tempflag, int from_tty) { - + /* The first argument may be an event name, such as "start" or "load". If so, then handle it as such. If it doesn't match an event name, then attempt to interpret it as an exception name. (This latter is the v4.16-and-earlier GDB meaning of the "catch" command.) - + First, try to find the bounds of what might be an event name. */ - char * arg1_start = arg; - char * arg1_end; - int arg1_length; - + char *arg1_start = arg; + char *arg1_end; + int arg1_length; + if (arg1_start == NULL) { - /* Old behaviour was to use pre-v-4.16 syntax */ + /* Old behaviour was to use pre-v-4.16 syntax */ /* catch_throw_command_1 (arg1_start, tempflag, from_tty); */ /* return; */ - /* Now, this is not allowed */ + /* Now, this is not allowed */ error ("Catch requires an event name."); } @@ -5255,7 +6219,7 @@ catch_command_1 (arg, tempflag, from_tty) if (arg1_end == NULL) error ("catch requires an event"); arg1_length = arg1_end + 1 - arg1_start; - + /* Try to match what we found against known event names. */ if (strncmp (arg1_start, "signal", arg1_length) == 0) { @@ -5263,11 +6227,13 @@ catch_command_1 (arg, tempflag, from_tty) } else if (strncmp (arg1_start, "catch", arg1_length) == 0) { - catch_exception_command_1 (EX_EVENT_CATCH, arg1_end+1, tempflag, from_tty); + catch_exception_command_1 (EX_EVENT_CATCH, arg1_end + 1, + tempflag, from_tty); } else if (strncmp (arg1_start, "throw", arg1_length) == 0) { - catch_exception_command_1 (EX_EVENT_THROW, arg1_end+1, tempflag, from_tty); + catch_exception_command_1 (EX_EVENT_THROW, arg1_end + 1, + tempflag, from_tty); } else if (strncmp (arg1_start, "thread_start", arg1_length) == 0) { @@ -5292,7 +6258,7 @@ catch_command_1 (arg, tempflag, from_tty) else if (strncmp (arg1_start, "fork", arg1_length) == 0) { #if defined(CHILD_INSERT_FORK_CATCHPOINT) - catch_fork_command_1 (catch_fork, arg1_end+1, tempflag, from_tty); + catch_fork_command_1 (catch_fork, arg1_end + 1, tempflag, from_tty); #else error ("Catch of fork not yet implemented"); #endif @@ -5300,7 +6266,7 @@ catch_command_1 (arg, tempflag, from_tty) else if (strncmp (arg1_start, "vfork", arg1_length) == 0) { #if defined(CHILD_INSERT_VFORK_CATCHPOINT) - catch_fork_command_1 (catch_vfork, arg1_end+1, tempflag, from_tty); + catch_fork_command_1 (catch_vfork, arg1_end + 1, tempflag, from_tty); #else error ("Catch of vfork not yet implemented"); #endif @@ -5308,7 +6274,7 @@ catch_command_1 (arg, tempflag, from_tty) else if (strncmp (arg1_start, "exec", arg1_length) == 0) { #if defined(CHILD_INSERT_EXEC_CATCHPOINT) - catch_exec_command_1 (arg1_end+1, tempflag, from_tty); + catch_exec_command_1 (arg1_end + 1, tempflag, from_tty); #else error ("Catch of exec not yet implemented"); #endif @@ -5316,7 +6282,7 @@ catch_command_1 (arg, tempflag, from_tty) else if (strncmp (arg1_start, "load", arg1_length) == 0) { #if defined(SOLIB_ADD) - catch_load_command_1 (arg1_end+1, tempflag, from_tty); + catch_load_command_1 (arg1_end + 1, tempflag, from_tty); #else error ("Catch of load not implemented"); #endif @@ -5324,7 +6290,7 @@ catch_command_1 (arg, tempflag, from_tty) else if (strncmp (arg1_start, "unload", arg1_length) == 0) { #if defined(SOLIB_ADD) - catch_unload_command_1 (arg1_end+1, tempflag, from_tty); + catch_unload_command_1 (arg1_end + 1, tempflag, from_tty); #else error ("Catch of load not implemented"); #endif @@ -5333,15 +6299,15 @@ catch_command_1 (arg, tempflag, from_tty) { error ("Catch of stop not yet implemented"); } - + /* This doesn't appear to be an event name */ else { /* Pre-v.4.16 behaviour was to treat the argument - as the name of an exception */ + as the name of an exception */ /* catch_throw_command_1 (arg1_start, tempflag, from_tty); */ - /* Now this is not allowed */ + /* Now this is not allowed */ error ("Unknown event kind specified for catch"); } @@ -5350,14 +6316,12 @@ catch_command_1 (arg, tempflag, from_tty) /* Used by the gui, could be made a worker for other things. */ struct breakpoint * -set_breakpoint_sal (sal) - struct symtab_and_line sal; +set_breakpoint_sal (struct symtab_and_line sal) { struct breakpoint *b; - b = set_raw_breakpoint (sal); + b = set_raw_breakpoint (sal, bp_breakpoint); set_breakpoint_count (breakpoint_count + 1); b->number = breakpoint_count; - b->type = bp_breakpoint; b->cond = 0; b->thread = -1; return b; @@ -5367,51 +6331,42 @@ set_breakpoint_sal (sal) /* These aren't used; I don't know what they were for. */ /* Disable breakpoints on all catch clauses described in ARGS. */ static void -disable_catch (args) - char *args; +disable_catch (char *args) { /* Map the disable command to catch clauses described in ARGS. */ } /* Enable breakpoints on all catch clauses described in ARGS. */ static void -enable_catch (args) - char *args; +enable_catch (char *args) { /* Map the disable command to catch clauses described in ARGS. */ } /* Delete breakpoints on all catch clauses in the active scope. */ static void -delete_catch (args) - char *args; +delete_catch (char *args) { /* Map the delete command to catch clauses described in ARGS. */ } #endif /* 0 */ static void -catch_command (arg, from_tty) - char *arg; - int from_tty; +catch_command (char *arg, int from_tty) { catch_command_1 (arg, 0, from_tty); } static void -tcatch_command (arg, from_tty) - char *arg; - int from_tty; +tcatch_command (char *arg, int from_tty) { catch_command_1 (arg, 1, from_tty); } static void -clear_command (arg, from_tty) - char *arg; - int from_tty; +clear_command (char *arg, int from_tty) { register struct breakpoint *b, *b1; int default_match; @@ -5427,9 +6382,9 @@ clear_command (arg, from_tty) } else { - sals.sals = (struct symtab_and_line *) + sals.sals = (struct symtab_and_line *) xmalloc (sizeof (struct symtab_and_line)); - INIT_SAL (&sal); /* initialize to zeroes */ + INIT_SAL (&sal); /* initialize to zeroes */ sal.line = default_breakpoint_line; sal.symtab = default_breakpoint_symtab; sal.pc = default_breakpoint_address; @@ -5453,37 +6408,37 @@ clear_command (arg, from_tty) for (i = 0; i < sals.nelts; i++) { /* If exact pc given, clear bpts at that pc. - If line given (pc == 0), clear all bpts on specified line. - If defaulting, clear all bpts on default line + If line given (pc == 0), clear all bpts on specified line. + If defaulting, clear all bpts on default line or at default pc. - - defaulting sal.pc != 0 tests to do - - 0 1 pc - 1 1 pc _and_ line - 0 0 line - 1 0 */ + + defaulting sal.pc != 0 tests to do + + 0 1 pc + 1 1 pc _and_ line + 0 0 line + 1 0 */ sal = sals.sals[i]; found = (struct breakpoint *) 0; while (breakpoint_chain - /* Why don't we check here that this is not - a watchpoint, etc., as we do below? - I can't make it fail, but don't know - what's stopping the failure: a watchpoint - of the same address as "sal.pc" should - wind up being deleted. */ - - && ( ((sal.pc && (breakpoint_chain->address == sal.pc)) && - (overlay_debugging == 0 || - breakpoint_chain->section == sal.section)) - || ((default_match || (0 == sal.pc)) - && breakpoint_chain->source_file != NULL - && sal.symtab != NULL - && STREQ (breakpoint_chain->source_file, sal.symtab->filename) - && breakpoint_chain->line_number == sal.line))) + /* Why don't we check here that this is not + a watchpoint, etc., as we do below? + I can't make it fail, but don't know + what's stopping the failure: a watchpoint + of the same address as "sal.pc" should + wind up being deleted. */ + + && (((sal.pc && (breakpoint_chain->address == sal.pc)) + && (!overlay_debugging + || breakpoint_chain->section == sal.section)) + || ((default_match || (0 == sal.pc)) + && breakpoint_chain->source_file != NULL + && sal.symtab != NULL + && STREQ (breakpoint_chain->source_file, sal.symtab->filename) + && breakpoint_chain->line_number == sal.line))) { b1 = breakpoint_chain; @@ -5493,29 +6448,27 @@ clear_command (arg, from_tty) } ALL_BREAKPOINTS (b) - - while (b->next - && b->next->type != bp_none - && b->next->type != bp_watchpoint - && b->next->type != bp_hardware_watchpoint - && b->next->type != bp_read_watchpoint - && b->next->type != bp_access_watchpoint - && ( ((sal.pc && (b->next->address == sal.pc)) && - (overlay_debugging == 0 || - b->next->section == sal.section)) - || ((default_match || (0 == sal.pc)) - && b->next->source_file != NULL - && sal.symtab != NULL - && STREQ (b->next->source_file, sal.symtab->filename) - && b->next->line_number == sal.line))) + while (b->next + && b->next->type != bp_none + && b->next->type != bp_watchpoint + && b->next->type != bp_hardware_watchpoint + && b->next->type != bp_read_watchpoint + && b->next->type != bp_access_watchpoint + && (((sal.pc && (b->next->address == sal.pc)) + && (!overlay_debugging || b->next->section == sal.section)) + || ((default_match || (0 == sal.pc)) + && b->next->source_file != NULL + && sal.symtab != NULL + && STREQ (b->next->source_file, sal.symtab->filename) + && b->next->line_number == sal.line))) - { - b1 = b->next; - b->next = b1->next; - b1->next = found; - found = b1; - } + { + b1 = b->next; + b->next = b1->next; + b1->next = found; + found = b1; + } if (found == 0) { @@ -5525,19 +6478,23 @@ clear_command (arg, from_tty) error ("No breakpoint at this line."); } - if (found->next) from_tty = 1; /* Always report if deleted more than one */ - if (from_tty) printf_unfiltered ("Deleted breakpoint%s ", found->next ? "s" : ""); + if (found->next) + from_tty = 1; /* Always report if deleted more than one */ + if (from_tty) + printf_unfiltered ("Deleted breakpoint%s ", found->next ? "s" : ""); breakpoints_changed (); while (found) { - if (from_tty) printf_unfiltered ("%d ", found->number); + if (from_tty) + printf_unfiltered ("%d ", found->number); b1 = found->next; delete_breakpoint (found); found = b1; } - if (from_tty) putchar_unfiltered ('\n'); + if (from_tty) + putchar_unfiltered ('\n'); } - free ((PTR)sals.sals); + xfree (sals.sals); } /* Delete breakpoint in BS if they are `delete' breakpoints and @@ -5545,28 +6502,27 @@ clear_command (arg, from_tty) This is called after any breakpoint is hit, or after errors. */ void -breakpoint_auto_delete (bs) - bpstat bs; +breakpoint_auto_delete (bpstat bs) { struct breakpoint *b, *temp; for (; bs; bs = bs->next) - if (bs->breakpoint_at && bs->breakpoint_at->disposition == del + if (bs->breakpoint_at && bs->breakpoint_at->disposition == disp_del && bs->stop) delete_breakpoint (bs->breakpoint_at); ALL_BREAKPOINTS_SAFE (b, temp) - { - if (b->disposition == del_at_next_stop) - delete_breakpoint (b); - } + { + if (b->disposition == disp_del_at_next_stop) + delete_breakpoint (b); + } } -/* Delete a breakpoint and clean up all traces of it in the data structures. */ +/* Delete a breakpoint and clean up all traces of it in the data + structures. */ void -delete_breakpoint (bpt) - struct breakpoint *bpt; +delete_breakpoint (struct breakpoint *bpt) { register struct breakpoint *b; register bpstat bs; @@ -5593,10 +6549,11 @@ delete_breakpoint (bpt) if (delete_breakpoint_hook) delete_breakpoint_hook (bpt); + breakpoint_delete_event (bpt->number); if (bpt->inserted) - remove_breakpoint (bpt, mark_uninserted); - + remove_breakpoint (bpt, mark_inserted); + if (breakpoint_chain == bpt) breakpoint_chain = bpt->next; @@ -5605,16 +6562,18 @@ delete_breakpoint (bpt) isn't actually running. target_enable_exception_callback for a null target ops vector gives an undesirable error message, so we check here and avoid it. Since currently (1997-09-17) only HP-UX aCC's - exceptions are supported in this way, it's OK for now. FIXME */ + exceptions are supported in this way, it's OK for now. FIXME */ if (ep_is_exception_catchpoint (bpt) && target_has_execution) { static char message1[] = "Error in deleting catchpoint %d:\n"; static char message[sizeof (message1) + 30]; args_for_catchpoint_enable args; - sprintf (message, message1, bpt->number); /* Format possible error msg */ - args.kind = bpt->type == bp_catch_catch ? EX_EVENT_CATCH : EX_EVENT_THROW; - args.enable = 0; + /* Format possible error msg */ + sprintf (message, message1, bpt->number); + args.kind = bpt->type == bp_catch_catch ? + EX_EVENT_CATCH : EX_EVENT_THROW; + args.enable_p = 0; catch_errors (cover_target_enable_exception_callback, &args, message, RETURN_MASK_ALL); } @@ -5622,32 +6581,12 @@ delete_breakpoint (bpt) ALL_BREAKPOINTS (b) if (b->next == bpt) - { - b->next = bpt->next; - break; - } - - /* Before turning off the visuals for the bp, check to see that - there are no other bps at the same address. */ - if (tui_version) { - int clearIt; - - ALL_BREAKPOINTS (b) - { - clearIt = (b->address != bpt->address); - if (!clearIt) - break; - } - - if (clearIt) - { - TUIDO(((TuiOpaqueFuncPtr)tui_vAllSetHasBreakAt, bpt, 0)); - TUIDO(((TuiOpaqueFuncPtr)tuiUpdateAllExecInfos)); - } + b->next = bpt->next; + break; } - check_duplicates (bpt->address, bpt->section); + check_duplicates (bpt); /* If this breakpoint was inserted, and there is another breakpoint at the same address, we need to insert the other breakpoint. */ if (bpt->inserted @@ -5662,44 +6601,58 @@ delete_breakpoint (bpt) if (b->address == bpt->address && b->section == bpt->section && !b->duplicate - && b->enable != disabled - && b->enable != shlib_disabled - && b->enable != call_disabled) - { - int val; + && b->enable_state != bp_disabled + && b->enable_state != bp_shlib_disabled + && b->enable_state != bp_call_disabled) + { + int val; + + /* We should never reach this point if there is a permanent + breakpoint at the same address as the one being deleted. + If there is a permanent breakpoint somewhere, it should + always be the only one inserted. */ + if (b->enable_state == bp_permanent) + internal_error (__FILE__, __LINE__, + "another breakpoint was inserted on top of " + "a permanent breakpoint"); + + if (b->type == bp_hardware_breakpoint) + val = target_insert_hw_breakpoint (b->address, b->shadow_contents); + else val = target_insert_breakpoint (b->address, b->shadow_contents); - if (val != 0) - { - target_terminal_ours_for_output (); - fprintf_unfiltered (gdb_stderr, "Cannot insert breakpoint %d:\n", b->number); - memory_error (val, b->address); /* which bombs us out */ - } - else - b->inserted = 1; - } + + if (val != 0) + { + target_terminal_ours_for_output (); + warning ("Cannot insert breakpoint %d:", b->number); + memory_error (val, b->address); /* which bombs us out */ + } + else + b->inserted = 1; + } } free_command_lines (&bpt->commands); if (bpt->cond) - free (bpt->cond); + xfree (bpt->cond); if (bpt->cond_string != NULL) - free (bpt->cond_string); + xfree (bpt->cond_string); if (bpt->addr_string != NULL) - free (bpt->addr_string); + xfree (bpt->addr_string); if (bpt->exp != NULL) - free (bpt->exp); + xfree (bpt->exp); if (bpt->exp_string != NULL) - free (bpt->exp_string); + xfree (bpt->exp_string); if (bpt->val != NULL) value_free (bpt->val); if (bpt->source_file != NULL) - free (bpt->source_file); + xfree (bpt->source_file); if (bpt->dll_pathname != NULL) - free (bpt->dll_pathname); + xfree (bpt->dll_pathname); if (bpt->triggered_dll_pathname != NULL) - free (bpt->triggered_dll_pathname); + xfree (bpt->triggered_dll_pathname); if (bpt->exec_pathname != NULL) - free (bpt->exec_pathname); + xfree (bpt->exec_pathname); /* Be sure no bpstat's are pointing at it after it's been freed. */ /* FIXME, how can we find all bpstat's? @@ -5721,13 +6674,29 @@ delete_breakpoint (bpt) bp, we mark it as deleted before freeing its storage. */ bpt->type = bp_none; - free ((PTR)bpt); + xfree (bpt); +} + +static void +do_delete_breakpoint_cleanup (void *b) +{ + delete_breakpoint (b); +} + +struct cleanup * +make_cleanup_delete_breakpoint (struct breakpoint *b) +{ + return make_cleanup (do_delete_breakpoint_cleanup, b); +} + +struct cleanup * +make_exec_cleanup_delete_breakpoint (struct breakpoint *b) +{ + return make_exec_cleanup (do_delete_breakpoint_cleanup, b); } void -delete_command (arg, from_tty) - char *arg; - int from_tty; +delete_command (char *arg, int from_tty) { struct breakpoint *b, *temp; @@ -5736,27 +6705,31 @@ delete_command (arg, from_tty) int breaks_to_delete = 0; /* Delete all breakpoints if no argument. - Do not delete internal or call-dummy breakpoints, these - have to be deleted with an explicit breakpoint number argument. */ - ALL_BREAKPOINTS (b) - { - if (b->type != bp_call_dummy && - b->type != bp_shlib_event && - b->number >= 0) - breaks_to_delete = 1; - } + Do not delete internal or call-dummy breakpoints, these + have to be deleted with an explicit breakpoint number argument. */ + ALL_BREAKPOINTS (b) + { + if (b->type != bp_call_dummy && + b->type != bp_shlib_event && + b->type != bp_thread_event && + b->type != bp_overlay_event && + b->number >= 0) + breaks_to_delete = 1; + } /* Ask user only if there are some breakpoints to delete. */ if (!from_tty || (breaks_to_delete && query ("Delete all breakpoints? "))) { - ALL_BREAKPOINTS_SAFE (b, temp) - { - if (b->type != bp_call_dummy && - b->type != bp_shlib_event && - b->number >= 0) - delete_breakpoint (b); - } + ALL_BREAKPOINTS_SAFE (b, temp) + { + if (b->type != bp_call_dummy && + b->type != bp_shlib_event && + b->type != bp_thread_event && + b->type != bp_overlay_event && + b->number >= 0) + delete_breakpoint (b); + } } } else @@ -5768,20 +6741,21 @@ delete_command (arg, from_tty) Unused in this case. */ static int -breakpoint_re_set_one (bint) - PTR bint; +breakpoint_re_set_one (PTR bint) { - struct breakpoint *b = (struct breakpoint *)bint; /* get past catch_errs */ + /* get past catch_errs */ + struct breakpoint *b = (struct breakpoint *) bint; struct value *mark; int i; struct symtabs_and_lines sals; char *s; - enum enable save_enable; + enum enable_state save_enable; switch (b->type) { case bp_none: - warning ("attempted to reset apparently deleted breakpoint #%d?\n", b->number); + warning ("attempted to reset apparently deleted breakpoint #%d?", + b->number); return 0; case bp_breakpoint: case bp_hardware_breakpoint: @@ -5793,15 +6767,37 @@ breakpoint_re_set_one (bint) delete_breakpoint (b); return 0; } - /* In case we have a problem, disable this breakpoint. We'll restore - its status if we succeed. */ - save_enable = b->enable; - b->enable = disabled; + /* HACK: cagney/2001-11-11: kettenis/2001-11-11: MarkK wrote: + + ``And a hack it is, although Apple's Darwin version of GDB + contains an almost identical hack to implement a "future + break" command. It seems to work in many real world cases, + but it is easy to come up with a test case where the patch + doesn't help at all.'' + + ``It seems that the way GDB implements breakpoints - in - + shared - libraries was designed for a.out shared library + systems (SunOS 4) where shared libraries were loaded at a + fixed address in memory. Since ELF shared libraries can (and + will) be loaded at any address in memory, things break. + Fixing this is not trivial. Therefore, I'm not sure whether + we should add this hack to the branch only. I cannot + guarantee that things will be fixed on the trunk in the near + future.'' + + In case we have a problem, disable this breakpoint. We'll + restore its status if we succeed. Don't disable a + shlib_disabled breakpoint though. There's a fair chance we + can't re-set it if the shared library it's in hasn't been + loaded yet. */ + save_enable = b->enable_state; + if (b->enable_state != bp_shlib_disabled) + b->enable_state = bp_disabled; set_language (b->language); input_radix = b->input_radix; s = b->addr_string; - sals = decode_line_1 (&s, 1, (struct symtab *)NULL, 0, (char ***)NULL); + sals = decode_line_1 (&s, 1, (struct symtab *) NULL, 0, (char ***) NULL); for (i = 0; i < sals.nelts; i++) { resolve_sal_pc (&sals.sals[i]); @@ -5812,26 +6808,26 @@ breakpoint_re_set_one (bint) { s = b->cond_string; if (b->cond) - free ((PTR)b->cond); + xfree (b->cond); b->cond = parse_exp_1 (&s, block_for_pc (sals.sals[i].pc), 0); } - /* We need to re-set the breakpoint if the address changes...*/ + /* We need to re-set the breakpoint if the address changes... */ if (b->address != sals.sals[i].pc - /* ...or new and old breakpoints both have source files, and - the source file name or the line number changes... */ + /* ...or new and old breakpoints both have source files, and + the source file name or the line number changes... */ || (b->source_file != NULL && sals.sals[i].symtab != NULL && (!STREQ (b->source_file, sals.sals[i].symtab->filename) || b->line_number != sals.sals[i].line) - ) - /* ...or we switch between having a source file and not having - one. */ - || ((b->source_file == NULL) != (sals.sals[i].symtab == NULL)) ) + /* ...or we switch between having a source file and not having + one. */ + || ((b->source_file == NULL) != (sals.sals[i].symtab == NULL)) + ) { if (b->source_file != NULL) - free (b->source_file); + xfree (b->source_file); if (sals.sals[i].symtab == NULL) b->source_file = NULL; else @@ -5841,26 +6837,26 @@ breakpoint_re_set_one (bint) b->line_number = sals.sals[i].line; b->address = sals.sals[i].pc; - /* Used to check for duplicates here, but that can - cause trouble, as it doesn't check for disable - breakpoints. */ + /* Used to check for duplicates here, but that can + cause trouble, as it doesn't check for disabled + breakpoints. */ mention (b); /* Might be better to do this just once per breakpoint_re_set, - rather than once for every breakpoint. */ + rather than once for every breakpoint. */ breakpoints_changed (); } b->section = sals.sals[i].section; - b->enable = save_enable; /* Restore it, this worked. */ + b->enable_state = save_enable; /* Restore it, this worked. */ - /* Now that this is re-enabled, check_duplicates + /* Now that this is re-enabled, check_duplicates can be used. */ - check_duplicates (b->address, b->section); + check_duplicates (b); } - free ((PTR)sals.sals); + xfree (sals.sals); break; case bp_watchpoint: @@ -5868,16 +6864,17 @@ breakpoint_re_set_one (bint) case bp_read_watchpoint: case bp_access_watchpoint: innermost_block = NULL; - /* The issue arises of what context to evaluate this in. The same - one as when it was set, but what does that mean when symbols have - been re-read? We could save the filename and functionname, but - if the context is more local than that, the best we could do would - be something like how many levels deep and which index at that - particular level, but that's going to be less stable than filenames - or functionnames. */ + /* The issue arises of what context to evaluate this in. The + same one as when it was set, but what does that mean when + symbols have been re-read? We could save the filename and + functionname, but if the context is more local than that, the + best we could do would be something like how many levels deep + and which index at that particular level, but that's going to + be less stable than filenames or function names. */ + /* So for now, just use a global context. */ if (b->exp) - free ((PTR)b->exp); + xfree (b->exp); b->exp = parse_expression (b->exp_string); b->exp_valid_block = innermost_block; mark = value_mark (); @@ -5892,42 +6889,47 @@ breakpoint_re_set_one (bint) { s = b->cond_string; if (b->cond) - free ((PTR)b->cond); - b->cond = parse_exp_1 (&s, (struct block *)0, 0); + xfree (b->cond); + b->cond = parse_exp_1 (&s, (struct block *) 0, 0); } - if (b->enable == enabled) + if (b->enable_state == bp_enabled) mention (b); value_free_to_mark (mark); break; - case bp_catch_catch: - case bp_catch_throw: + case bp_catch_catch: + case bp_catch_throw: break; - /* We needn't really do anything to reset these, since the mask - that requests them is unaffected by e.g., new libraries being - loaded. */ + /* We needn't really do anything to reset these, since the mask + that requests them is unaffected by e.g., new libraries being + loaded. */ case bp_catch_fork: case bp_catch_vfork: case bp_catch_exec: break; - + default: printf_filtered ("Deleting unknown breakpoint type %d\n", b->type); /* fall through */ - /* Delete longjmp breakpoints, they will be reset later by - breakpoint_re_set. */ + /* Delete longjmp and overlay event breakpoints; they will be + reset later by breakpoint_re_set. */ case bp_longjmp: case bp_longjmp_resume: + case bp_overlay_event: delete_breakpoint (b); break; - /* This breakpoint is special, it's set up when the inferior - starts and we really don't want to touch it. */ + /* This breakpoint is special, it's set up when the inferior + starts and we really don't want to touch it. */ case bp_shlib_event: - /* Keep temporary breakpoints, which can be encountered when we step - over a dlopen call and SOLIB_ADD is resetting the breakpoints. - Otherwise these should have been blown away via the cleanup chain - or by breakpoint_init_inferior when we rerun the executable. */ + /* Like bp_shlib_event, this breakpoint type is special. + Once it is set up, we do not want to touch it. */ + case bp_thread_event: + + /* Keep temporary breakpoints, which can be encountered when we step + over a dlopen call and SOLIB_ADD is resetting the breakpoints. + Otherwise these should have been blown away via the cleanup chain + or by breakpoint_init_inferior when we rerun the executable. */ case bp_until: case bp_finish: case bp_watchpoint_scope: @@ -5941,62 +6943,57 @@ breakpoint_re_set_one (bint) /* Re-set all breakpoints after symbols have been re-loaded. */ void -breakpoint_re_set () +breakpoint_re_set (void) { struct breakpoint *b, *temp; enum language save_language; int save_input_radix; static char message1[] = "Error in re-setting breakpoint %d:\n"; - char message[sizeof (message1) + 30 /* slop */]; - + char message[sizeof (message1) + 30 /* slop */ ]; + save_language = current_language->la_language; save_input_radix = input_radix; ALL_BREAKPOINTS_SAFE (b, temp) - { - sprintf (message, message1, b->number); /* Format possible error msg */ - catch_errors (breakpoint_re_set_one, b, message, RETURN_MASK_ALL); - } + { + /* Format possible error msg */ + sprintf (message, message1, b->number); + catch_errors (breakpoint_re_set_one, b, message, RETURN_MASK_ALL); + } set_language (save_language); input_radix = save_input_radix; -#ifdef GET_LONGJMP_TARGET - create_longjmp_breakpoint ("longjmp"); - create_longjmp_breakpoint ("_longjmp"); - create_longjmp_breakpoint ("siglongjmp"); - create_longjmp_breakpoint ("_siglongjmp"); - create_longjmp_breakpoint (NULL); -#endif - -#if 0 - /* Took this out (temporarily at least), since it produces an extra - blank line at startup. This messes up the gdbtests. -PB */ - /* Blank line to finish off all those mention() messages we just printed. */ - printf_filtered ("\n"); -#endif + if (GET_LONGJMP_TARGET_P ()) + { + create_longjmp_breakpoint ("longjmp"); + create_longjmp_breakpoint ("_longjmp"); + create_longjmp_breakpoint ("siglongjmp"); + create_longjmp_breakpoint ("_siglongjmp"); + create_longjmp_breakpoint (NULL); + } + + create_overlay_event_breakpoint ("_ovly_debug_event"); } -/* Set ignore-count of breakpoint number BPTNUM to COUNT. - If from_tty is nonzero, it prints a message to that effect, - which ends with a period (no newline). */ - /* Reset the thread number of this breakpoint: - If the breakpoint is for all threads, leave it as-is. - - Else, reset it to the current thread for inferior_pid. */ + - Else, reset it to the current thread for inferior_ptid. */ void -breakpoint_re_set_thread (b) - struct breakpoint * b; +breakpoint_re_set_thread (struct breakpoint *b) { if (b->thread != -1) { - if (in_thread_list (inferior_pid)) - b->thread = pid_to_thread_id (inferior_pid); + if (in_thread_list (inferior_ptid)) + b->thread = pid_to_thread_id (inferior_ptid); } } +/* Set ignore-count of breakpoint number BPTNUM to COUNT. + If from_tty is nonzero, it prints a message to that effect, + which ends with a period (no newline). */ + void -set_ignore_count (bptnum, count, from_tty) - int bptnum, count, from_tty; +set_ignore_count (int bptnum, int count, int from_tty) { register struct breakpoint *b; @@ -6005,29 +7002,29 @@ set_ignore_count (bptnum, count, from_tty) ALL_BREAKPOINTS (b) if (b->number == bptnum) - { - b->ignore_count = count; - if (!from_tty) - return; - else if (count == 0) - printf_filtered ("Will stop next time breakpoint %d is reached.", - bptnum); - else if (count == 1) - printf_filtered ("Will ignore next crossing of breakpoint %d.", - bptnum); - else - printf_filtered ("Will ignore next %d crossings of breakpoint %d.", - count, bptnum); - breakpoints_changed (); + { + b->ignore_count = count; + if (!from_tty) return; - } + else if (count == 0) + printf_filtered ("Will stop next time breakpoint %d is reached.", + bptnum); + else if (count == 1) + printf_filtered ("Will ignore next crossing of breakpoint %d.", + bptnum); + else + printf_filtered ("Will ignore next %d crossings of breakpoint %d.", + count, bptnum); + breakpoints_changed (); + return; + } error ("No breakpoint number %d.", bptnum); } /* Clear the ignore counts of all breakpoints. */ void -breakpoint_clear_ignore_counts () +breakpoint_clear_ignore_counts (void) { struct breakpoint *b; @@ -6038,18 +7035,17 @@ breakpoint_clear_ignore_counts () /* Command to set ignore-count of breakpoint N to COUNT. */ static void -ignore_command (args, from_tty) - char *args; - int from_tty; +ignore_command (char *args, int from_tty) { char *p = args; register int num; if (p == 0) error_no_arg ("a breakpoint number"); - - num = get_number (&p); + num = get_number (&p); + if (num == 0) + error ("bad breakpoint number: '%s'", args); if (*p == 0) error ("Second argument (specified ignore-count) is missing."); @@ -6064,42 +7060,52 @@ ignore_command (args, from_tty) whose numbers are given in ARGS. */ static void -map_breakpoint_numbers (args, function) - char *args; - void (*function) PARAMS ((struct breakpoint *)); +map_breakpoint_numbers (char *args, void (*function) (struct breakpoint *)) { register char *p = args; char *p1; register int num; - register struct breakpoint *b; + register struct breakpoint *b, *tmp; + int match; if (p == 0) error_no_arg ("one or more breakpoint numbers"); while (*p) { + match = 0; p1 = p; - - num = get_number (&p1); - ALL_BREAKPOINTS (b) - if (b->number == num) - { - struct breakpoint *related_breakpoint = b->related_breakpoint; - function (b); - if (related_breakpoint) - function (related_breakpoint); - goto win; - } - printf_unfiltered ("No breakpoint number %d.\n", num); - win: + num = get_number_or_range (&p1); + if (num == 0) + { + warning ("bad breakpoint number at or near '%s'", p); + } + else + { + ALL_BREAKPOINTS_SAFE (b, tmp) + if (b->number == num) + { + struct breakpoint *related_breakpoint = b->related_breakpoint; + match = 1; + function (b); + if (related_breakpoint) + function (related_breakpoint); + break; + } + if (match == 0) + printf_unfiltered ("No breakpoint number %d.\n", num); + } p = p1; } } +/* Set ignore-count of breakpoint number BPTNUM to COUNT. + If from_tty is nonzero, it prints a message to that effect, + which ends with a period (no newline). */ + void -disable_breakpoint (bpt) - struct breakpoint *bpt; +disable_breakpoint (struct breakpoint *bpt) { /* Never disable a watchpoint scope breakpoint; we want to hit them when we leave scope so we can delete both the @@ -6107,53 +7113,55 @@ disable_breakpoint (bpt) if (bpt->type == bp_watchpoint_scope) return; - bpt->enable = disabled; + /* You can't disable permanent breakpoints. */ + if (bpt->enable_state == bp_permanent) + return; + + bpt->enable_state = bp_disabled; - check_duplicates (bpt->address, bpt->section); + check_duplicates (bpt); if (modify_breakpoint_hook) modify_breakpoint_hook (bpt); + breakpoint_modify_event (bpt->number); } /* ARGSUSED */ static void -disable_command (args, from_tty) - char *args; - int from_tty; +disable_command (char *args, int from_tty) { register struct breakpoint *bpt; if (args == 0) ALL_BREAKPOINTS (bpt) switch (bpt->type) - { - case bp_none: - warning ("attempted to disable apparently deleted breakpoint #%d?\n", bpt->number); - continue; - case bp_breakpoint: - case bp_catch_load: - case bp_catch_unload: - case bp_catch_fork: - case bp_catch_vfork: - case bp_catch_exec: - case bp_catch_catch: - case bp_catch_throw: - case bp_hardware_breakpoint: - case bp_watchpoint: - case bp_hardware_watchpoint: - case bp_read_watchpoint: - case bp_access_watchpoint: - disable_breakpoint (bpt); - default: - continue; - } + { + case bp_none: + warning ("attempted to disable apparently deleted breakpoint #%d?", + bpt->number); + continue; + case bp_breakpoint: + case bp_catch_load: + case bp_catch_unload: + case bp_catch_fork: + case bp_catch_vfork: + case bp_catch_exec: + case bp_catch_catch: + case bp_catch_throw: + case bp_hardware_breakpoint: + case bp_watchpoint: + case bp_hardware_watchpoint: + case bp_read_watchpoint: + case bp_access_watchpoint: + disable_breakpoint (bpt); + default: + continue; + } else map_breakpoint_numbers (args, disable_breakpoint); } static void -do_enable_breakpoint (bpt, disposition) - struct breakpoint *bpt; - enum bpdisp disposition; +do_enable_breakpoint (struct breakpoint *bpt, enum bpdisp disposition) { struct frame_info *save_selected_frame = NULL; int save_selected_frame_level = -1; @@ -6163,38 +7171,42 @@ do_enable_breakpoint (bpt, disposition) if (bpt->type == bp_hardware_breakpoint) { int i; - i = hw_breakpoint_used_count(); - target_resources_ok = TARGET_CAN_USE_HARDWARE_WATCHPOINT( - bp_hardware_breakpoint, i+1, 0); + i = hw_breakpoint_used_count (); + target_resources_ok = + TARGET_CAN_USE_HARDWARE_WATCHPOINT (bp_hardware_breakpoint, + i + 1, 0); if (target_resources_ok == 0) - error ("No hardware breakpoint support in the target."); + error ("No hardware breakpoint support in the target."); else if (target_resources_ok < 0) - error ("Hardware breakpoints used exceeds limit."); + error ("Hardware breakpoints used exceeds limit."); } - bpt->enable = enabled; + if (bpt->enable_state != bp_permanent) + bpt->enable_state = bp_enabled; bpt->disposition = disposition; - check_duplicates (bpt->address, bpt->section); + check_duplicates (bpt); breakpoints_changed (); - if (bpt->type == bp_watchpoint || bpt->type == bp_hardware_watchpoint || - bpt->type == bp_read_watchpoint || bpt->type == bp_access_watchpoint) + if (bpt->type == bp_watchpoint || + bpt->type == bp_hardware_watchpoint || + bpt->type == bp_read_watchpoint || + bpt->type == bp_access_watchpoint) { if (bpt->exp_valid_block != NULL) { struct frame_info *fr = - /* Ensure that we have the current frame. Else, this - next query may pessimistically be answered as, "No, - not within current scope". */ - get_current_frame (); - fr = find_frame_addr_in_frame_chain (bpt->watchpoint_frame); + /* Ensure that we have the current frame. Else, this + next query may pessimistically be answered as, "No, + not within current scope". */ + get_current_frame (); + fr = find_frame_addr_in_frame_chain (bpt->watchpoint_frame); if (fr == NULL) { printf_filtered ("\ Cannot enable watchpoint %d because the block in which its expression\n\ is valid is not currently in scope.\n", bpt->number); - bpt->enable = disabled; + bpt->enable_state = bp_disabled; return; } @@ -6211,40 +7223,40 @@ is valid is not currently in scope.\n", bpt->number); value_fetch_lazy (bpt->val); if (bpt->type == bp_hardware_watchpoint || - bpt->type == bp_read_watchpoint || - bpt->type == bp_access_watchpoint) - { - int i = hw_watchpoint_used_count (bpt->type, &other_type_used); - int mem_cnt = can_use_hardware_watchpoint (bpt->val); - - /* Hack around 'unused var' error for some targets here */ - (void) mem_cnt, i; - target_resources_ok = TARGET_CAN_USE_HARDWARE_WATCHPOINT( - bpt->type, i + mem_cnt, other_type_used); - /* we can consider of type is bp_hardware_watchpoint, convert to - bp_watchpoint in the following condition */ - if (target_resources_ok < 0) - { - printf_filtered("\ + bpt->type == bp_read_watchpoint || + bpt->type == bp_access_watchpoint) + { + int i = hw_watchpoint_used_count (bpt->type, &other_type_used); + int mem_cnt = can_use_hardware_watchpoint (bpt->val); + + /* Hack around 'unused var' error for some targets here */ + (void) mem_cnt, i; + target_resources_ok = TARGET_CAN_USE_HARDWARE_WATCHPOINT ( + bpt->type, i + mem_cnt, other_type_used); + /* we can consider of type is bp_hardware_watchpoint, convert to + bp_watchpoint in the following condition */ + if (target_resources_ok < 0) + { + printf_filtered ("\ Cannot enable watchpoint %d because target watch resources\n\ have been allocated for other watchpoints.\n", bpt->number); - bpt->enable = disabled; - value_free_to_mark (mark); - return; - } - } + bpt->enable_state = bp_disabled; + value_free_to_mark (mark); + return; + } + } if (save_selected_frame_level >= 0) - select_and_print_frame (save_selected_frame, save_selected_frame_level); + select_frame (save_selected_frame, save_selected_frame_level); value_free_to_mark (mark); } if (modify_breakpoint_hook) modify_breakpoint_hook (bpt); + breakpoint_modify_event (bpt->number); } void -enable_breakpoint (bpt) - struct breakpoint *bpt; +enable_breakpoint (struct breakpoint *bpt) { do_enable_breakpoint (bpt, bpt->disposition); } @@ -6255,67 +7267,60 @@ enable_breakpoint (bpt) /* ARGSUSED */ static void -enable_command (args, from_tty) - char *args; - int from_tty; +enable_command (char *args, int from_tty) { register struct breakpoint *bpt; if (args == 0) ALL_BREAKPOINTS (bpt) switch (bpt->type) - { - case bp_none: - warning ("attempted to enable apparently deleted breakpoint #%d?\n", bpt->number); - continue; - case bp_breakpoint: - case bp_catch_load: - case bp_catch_unload: - case bp_catch_fork: - case bp_catch_vfork: - case bp_catch_exec: - case bp_catch_catch: - case bp_catch_throw: - case bp_hardware_breakpoint: - case bp_watchpoint: - case bp_hardware_watchpoint: - case bp_read_watchpoint: - case bp_access_watchpoint: - enable_breakpoint (bpt); - default: - continue; - } + { + case bp_none: + warning ("attempted to enable apparently deleted breakpoint #%d?", + bpt->number); + continue; + case bp_breakpoint: + case bp_catch_load: + case bp_catch_unload: + case bp_catch_fork: + case bp_catch_vfork: + case bp_catch_exec: + case bp_catch_catch: + case bp_catch_throw: + case bp_hardware_breakpoint: + case bp_watchpoint: + case bp_hardware_watchpoint: + case bp_read_watchpoint: + case bp_access_watchpoint: + enable_breakpoint (bpt); + default: + continue; + } else map_breakpoint_numbers (args, enable_breakpoint); } static void -enable_once_breakpoint (bpt) - struct breakpoint *bpt; +enable_once_breakpoint (struct breakpoint *bpt) { - do_enable_breakpoint (bpt, disable); + do_enable_breakpoint (bpt, disp_disable); } /* ARGSUSED */ static void -enable_once_command (args, from_tty) - char *args; - int from_tty; +enable_once_command (char *args, int from_tty) { map_breakpoint_numbers (args, enable_once_breakpoint); } static void -enable_delete_breakpoint (bpt) - struct breakpoint *bpt; +enable_delete_breakpoint (struct breakpoint *bpt) { - do_enable_breakpoint (bpt, del); + do_enable_breakpoint (bpt, disp_del); } /* ARGSUSED */ static void -enable_delete_command (args, from_tty) - char *args; - int from_tty; +enable_delete_command (char *args, int from_tty) { map_breakpoint_numbers (args, enable_delete_breakpoint); } @@ -6323,27 +7328,26 @@ enable_delete_command (args, from_tty) /* Use default_breakpoint_'s, or nothing if they aren't valid. */ struct symtabs_and_lines -decode_line_spec_1 (string, funfirstline) - char *string; - int funfirstline; +decode_line_spec_1 (char *string, int funfirstline) { struct symtabs_and_lines sals; if (string == 0) error ("Empty line specification."); if (default_breakpoint_valid) sals = decode_line_1 (&string, funfirstline, - default_breakpoint_symtab, default_breakpoint_line, - (char ***)NULL); + default_breakpoint_symtab, + default_breakpoint_line, + (char ***) NULL); else sals = decode_line_1 (&string, funfirstline, - (struct symtab *)NULL, 0, (char ***)NULL); + (struct symtab *) NULL, 0, (char ***) NULL); if (*string) error ("Junk at end of line specification: %s", string); return sals; } void -_initialize_breakpoint () +_initialize_breakpoint (void) { struct cmd_list_element *c; @@ -6356,7 +7360,7 @@ _initialize_breakpoint () "Set ignore-count of breakpoint number N to COUNT.\n\ Usage is `ignore N COUNT'."); if (xdb_commands) - add_com_alias("bc", "ignore", class_breakpoint, 1); + add_com_alias ("bc", "ignore", class_breakpoint, 1); add_com ("commands", class_breakpoint, commands_command, "Set commands to be executed when a breakpoint is hit.\n\ @@ -6372,24 +7376,24 @@ then no output is printed when it is hit, except what the commands print."); Usage is `condition N COND', where N is an integer and COND is an\n\ expression to be evaluated whenever breakpoint N is reached. "); - add_com ("tbreak", class_breakpoint, tbreak_command, - "Set a temporary breakpoint. Args like \"break\" command.\n\ + c = add_com ("tbreak", class_breakpoint, tbreak_command, + "Set a temporary breakpoint. Args like \"break\" command.\n\ Like \"break\" except the breakpoint is only temporary,\n\ so it will be deleted when hit. Equivalent to \"break\" followed\n\ by using \"enable delete\" on the breakpoint number."); - add_com("txbreak", class_breakpoint, tbreak_at_finish_command, - "Set temporary breakpoint at procedure exit. Either there should\n\ -be no argument or the argument must be a depth.\n"); + c->completer = location_completer; - add_com ("hbreak", class_breakpoint, hbreak_command, - "Set a hardware assisted breakpoint. Args like \"break\" command.\n\ + c = add_com ("hbreak", class_breakpoint, hbreak_command, + "Set a hardware assisted breakpoint. Args like \"break\" command.\n\ Like \"break\" except the breakpoint requires hardware support,\n\ some target hardware may not have this support."); + c->completer = location_completer; - add_com ("thbreak", class_breakpoint, thbreak_command, - "Set a temporary hardware assisted breakpoint. Args like \"break\" command.\n\ + c = add_com ("thbreak", class_breakpoint, thbreak_command, + "Set a temporary hardware assisted breakpoint. Args like \"break\" command.\n\ Like \"hbreak\" except the breakpoint is only temporary,\n\ so it will be deleted when hit."); + c->completer = location_completer; add_prefix_cmd ("enable", class_breakpoint, enable_command, "Enable some breakpoints.\n\ @@ -6399,8 +7403,8 @@ This is used to cancel the effect of the \"disable\" command.\n\ With a subcommand you can enable temporarily.", &enablelist, "enable ", 1, &cmdlist); if (xdb_commands) - add_com("ab", class_breakpoint, enable_command, - "Enable some breakpoints.\n\ + add_com ("ab", class_breakpoint, enable_command, + "Enable some breakpoints.\n\ Give breakpoint numbers (separated by spaces) as arguments.\n\ With no subcommand, breakpoints are enabled until you command otherwise.\n\ This is used to cancel the effect of the \"disable\" command.\n\ @@ -6409,11 +7413,11 @@ With a subcommand you can enable temporarily."); add_com_alias ("en", "enable", class_breakpoint, 1); add_abbrev_prefix_cmd ("breakpoints", class_breakpoint, enable_command, - "Enable some breakpoints.\n\ + "Enable some breakpoints.\n\ Give breakpoint numbers (separated by spaces) as arguments.\n\ This is used to cancel the effect of the \"disable\" command.\n\ May be abbreviated to simply \"enable\".\n", - &enablebreaklist, "enable breakpoints ", 1, &enablelist); + &enablebreaklist, "enable breakpoints ", 1, &enablelist); add_cmd ("once", no_class, enable_once_command, "Enable breakpoints for one hit. Give breakpoint numbers.\n\ @@ -6436,7 +7440,7 @@ If a breakpoint is hit while enabled in this fashion, it becomes disabled.", &enablelist); add_prefix_cmd ("disable", class_breakpoint, disable_command, - "Disable some breakpoints.\n\ + "Disable some breakpoints.\n\ Arguments are breakpoint numbers with spaces in between.\n\ To disable all breakpoints, give no argument.\n\ A disabled breakpoint is not forgotten, but has no effect until reenabled.", @@ -6444,8 +7448,8 @@ A disabled breakpoint is not forgotten, but has no effect until reenabled.", add_com_alias ("dis", "disable", class_breakpoint, 1); add_com_alias ("disa", "disable", class_breakpoint, 1); if (xdb_commands) - add_com("sb", class_breakpoint, disable_command, - "Disable some breakpoints.\n\ + add_com ("sb", class_breakpoint, disable_command, + "Disable some breakpoints.\n\ Arguments are breakpoint numbers with spaces in between.\n\ To disable all breakpoints, give no argument.\n\ A disabled breakpoint is not forgotten, but has no effect until reenabled."); @@ -6459,7 +7463,7 @@ This command may be abbreviated \"disable\".", &disablelist); add_prefix_cmd ("delete", class_breakpoint, delete_command, - "Delete some breakpoints or auto-display expressions.\n\ + "Delete some breakpoints or auto-display expressions.\n\ Arguments are breakpoint numbers with spaces in between.\n\ To delete all breakpoints, give no argument.\n\ \n\ @@ -6469,7 +7473,7 @@ The \"unset\" command is also an alias for \"delete\".", add_com_alias ("d", "delete", class_breakpoint, 1); if (xdb_commands) add_com ("db", class_breakpoint, delete_command, - "Delete some breakpoints.\n\ + "Delete some breakpoints.\n\ Arguments are breakpoint numbers with spaces in between.\n\ To delete all breakpoints, give no argument.\n"); @@ -6486,65 +7490,47 @@ Argument may be line number, function name, or \"*\" and an address.\n\ If line number is specified, all breakpoints in that line are cleared.\n\ If function is specified, breakpoints at beginning of function are cleared.\n\ If an address is specified, breakpoints at that address are cleared.\n\n", -"With no argument, clears all breakpoints in the line that the selected frame\n\ + "With no argument, clears all breakpoints in the line that the selected frame\n\ is executing in.\n\ \n\ See also the \"delete\" command which clears breakpoints by number.", NULL)); - add_com ("break", class_breakpoint, break_command, - concat ("Set breakpoint at specified line or function.\n\ + c = add_com ("break", class_breakpoint, break_command, + concat ("Set breakpoint at specified line or function.\n\ Argument may be line number, function name, or \"*\" and an address.\n\ If line number is specified, break at start of code for that line.\n\ If function is specified, break at start of code for that function.\n\ If an address is specified, break at that exact address.\n", -"With no arg, uses current execution address of selected stack frame.\n\ + "With no arg, uses current execution address of selected stack frame.\n\ This is useful for breaking on return to a stack frame.\n\ \n\ Multiple breakpoints at one place are permitted, and useful if conditional.\n\ \n\ Do \"help breakpoints\" for info on other commands dealing with breakpoints.", NULL)); + c->completer = location_completer; + add_com_alias ("b", "break", class_run, 1); add_com_alias ("br", "break", class_run, 1); add_com_alias ("bre", "break", class_run, 1); add_com_alias ("brea", "break", class_run, 1); - add_com("xbreak", class_breakpoint, break_at_finish_command, - concat("Set breakpoint at procedure exit. \n\ -Argument may be function name, or \"*\" and an address.\n\ -If function is specified, break at end of code for that function.\n\ -If an address is specified, break at the end of the function that contains \n\ -that exact address.\n", -"With no arg, uses current execution address of selected stack frame.\n\ -This is useful for breaking on return to a stack frame.\n\ -\n\ -Multiple breakpoints at one place are permitted, and useful if conditional.\n\ -\n\ -Do \"help breakpoints\" for info on other commands dealing with breakpoints.", NULL)); - add_com_alias ("xb", "xbreak", class_breakpoint, 1); - add_com_alias ("xbr", "xbreak", class_breakpoint, 1); - add_com_alias ("xbre", "xbreak", class_breakpoint, 1); - add_com_alias ("xbrea", "xbreak", class_breakpoint, 1); - - if (xdb_commands) + if (xdb_commands) { add_com_alias ("ba", "break", class_breakpoint, 1); add_com_alias ("bu", "ubreak", class_breakpoint, 1); - add_com ("bx", class_breakpoint, break_at_finish_at_depth_command, - "Set breakpoint at procedure exit. Either there should\n\ -be no argument or the argument must be a depth.\n"); } if (dbx_commands) { - add_abbrev_prefix_cmd("stop", class_breakpoint, stop_command, - "Break in function/address or break at a line in the current file.", - &stoplist, "stop ", 1, &cmdlist); - add_cmd("in", class_breakpoint, stopin_command, - "Break in function or address.\n", &stoplist); - add_cmd("at", class_breakpoint, stopat_command, - "Break at a line in the current file.\n", &stoplist); - add_com("status", class_info, breakpoints_info, - concat ("Status of user-settable breakpoints, or breakpoint number NUMBER.\n\ + add_abbrev_prefix_cmd ("stop", class_breakpoint, stop_command, + "Break in function/address or break at a line in the current file.", + &stoplist, "stop ", 1, &cmdlist); + add_cmd ("in", class_breakpoint, stopin_command, + "Break in function or address.\n", &stoplist); + add_cmd ("at", class_breakpoint, stopat_command, + "Break at a line in the current file.\n", &stoplist); + add_com ("status", class_info, breakpoints_info, + concat ("Status of user-settable breakpoints, or breakpoint number NUMBER.\n\ The \"Type\" column indicates one of:\n\ \tbreakpoint - normal breakpoint\n\ \twatchpoint - watchpoint\n\ @@ -6552,7 +7538,7 @@ The \"Disp\" column contains one of \"keep\", \"del\", or \"dis\" to indicate\n\ the disposition of the breakpoint after it gets hit. \"dis\" means that the\n\ breakpoint will be disabled. The \"Address\" and \"What\" columns indicate the\n\ address and file/line number respectively.\n\n", -"Convenience variable \"$_\" and default examine address for \"x\"\n\ + "Convenience variable \"$_\" and default examine address for \"x\"\n\ are set to the address of the last breakpoint listed.\n\n\ Convenience variable \"$bpnum\" contains the number of the last\n\ breakpoint set.", NULL)); @@ -6567,14 +7553,14 @@ The \"Disp\" column contains one of \"keep\", \"del\", or \"dis\" to indicate\n\ the disposition of the breakpoint after it gets hit. \"dis\" means that the\n\ breakpoint will be disabled. The \"Address\" and \"What\" columns indicate the\n\ address and file/line number respectively.\n\n", -"Convenience variable \"$_\" and default examine address for \"x\"\n\ + "Convenience variable \"$_\" and default examine address for \"x\"\n\ are set to the address of the last breakpoint listed.\n\n\ Convenience variable \"$bpnum\" contains the number of the last\n\ breakpoint set.", NULL)); if (xdb_commands) - add_com("lb", class_breakpoint, breakpoints_info, - concat ("Status of user-settable breakpoints, or breakpoint number NUMBER.\n\ + add_com ("lb", class_breakpoint, breakpoints_info, + concat ("Status of user-settable breakpoints, or breakpoint number NUMBER.\n\ The \"Type\" column indicates one of:\n\ \tbreakpoint - normal breakpoint\n\ \twatchpoint - watchpoint\n\ @@ -6582,15 +7568,13 @@ The \"Disp\" column contains one of \"keep\", \"del\", or \"dis\" to indicate\n\ the disposition of the breakpoint after it gets hit. \"dis\" means that the\n\ breakpoint will be disabled. The \"Address\" and \"What\" columns indicate the\n\ address and file/line number respectively.\n\n", -"Convenience variable \"$_\" and default examine address for \"x\"\n\ + "Convenience variable \"$_\" and default examine address for \"x\"\n\ are set to the address of the last breakpoint listed.\n\n\ Convenience variable \"$bpnum\" contains the number of the last\n\ breakpoint set.", NULL)); -#if MAINTENANCE_CMDS - add_cmd ("breakpoints", class_maintenance, maintenance_info_breakpoints, - concat ("Status of all breakpoints, or breakpoint number NUMBER.\n\ + concat ("Status of all breakpoints, or breakpoint number NUMBER.\n\ The \"Type\" column indicates one of:\n\ \tbreakpoint - normal breakpoint\n\ \twatchpoint - watchpoint\n\ @@ -6598,20 +7582,18 @@ The \"Type\" column indicates one of:\n\ \tlongjmp resume - internal breakpoint at the target of longjmp()\n\ \tuntil - internal breakpoint used by the \"until\" command\n\ \tfinish - internal breakpoint used by the \"finish\" command\n", -"The \"Disp\" column contains one of \"keep\", \"del\", or \"dis\" to indicate\n\ + "The \"Disp\" column contains one of \"keep\", \"del\", or \"dis\" to indicate\n\ the disposition of the breakpoint after it gets hit. \"dis\" means that the\n\ breakpoint will be disabled. The \"Address\" and \"What\" columns indicate the\n\ address and file/line number respectively.\n\n", -"Convenience variable \"$_\" and default examine address for \"x\"\n\ + "Convenience variable \"$_\" and default examine address for \"x\"\n\ are set to the address of the last breakpoint listed.\n\n\ Convenience variable \"$bpnum\" contains the number of the last\n\ breakpoint set.", NULL), &maintenanceinfolist); -#endif /* MAINTENANCE_CMDS */ - add_com ("catch", class_breakpoint, catch_command, - "Set catchpoints to catch events.\n\ + "Set catchpoints to catch events.\n\ Raised signals may be caught:\n\ \tcatch signal - all signals\n\ \tcatch signal - a particular signal\n\ @@ -6644,42 +7626,44 @@ C++ exceptions may be caught:\n\ Do \"help set follow-fork-mode\" for info on debugging your program\n\ after a fork or vfork is caught.\n\n\ Do \"help breakpoints\" for info on other commands dealing with breakpoints."); - + add_com ("tcatch", class_breakpoint, tcatch_command, - "Set temporary catchpoints to catch events.\n\ + "Set temporary catchpoints to catch events.\n\ Args like \"catch\" command.\n\ Like \"catch\" except the catchpoint is only temporary,\n\ so it will be deleted when hit. Equivalent to \"catch\" followed\n\ by using \"enable delete\" on the catchpoint number."); - -add_com ("watch", class_breakpoint, watch_command, - "Set a watchpoint for an expression.\n\ + c = add_com ("watch", class_breakpoint, watch_command, + "Set a watchpoint for an expression.\n\ A watchpoint stops execution of your program whenever the value of\n\ an expression changes."); + c->completer = location_completer; - add_com ("rwatch", class_breakpoint, rwatch_command, - "Set a read watchpoint for an expression.\n\ + c = add_com ("rwatch", class_breakpoint, rwatch_command, + "Set a read watchpoint for an expression.\n\ A watchpoint stops execution of your program whenever the value of\n\ an expression is read."); + c->completer = location_completer; - add_com ("awatch", class_breakpoint, awatch_command, - "Set a watchpoint for an expression.\n\ + c = add_com ("awatch", class_breakpoint, awatch_command, + "Set a watchpoint for an expression.\n\ A watchpoint stops execution of your program whenever the value of\n\ an expression is either read or written."); + c->completer = location_completer; add_info ("watchpoints", breakpoints_info, "Synonym for ``info breakpoints''."); c = add_set_cmd ("can-use-hw-watchpoints", class_support, var_zinteger, - (char *) &can_use_hw_watchpoints, - "Set debugger's willingness to use watchpoint hardware.\n\ + (char *) &can_use_hw_watchpoints, + "Set debugger's willingness to use watchpoint hardware.\n\ If zero, gdb will not use hardware for new watchpoints, even if\n\ such is available. (However, any hardware watchpoints that were\n\ created before setting this to nonzero, will continue to use watchpoint\n\ hardware.)", - &setlist); + &setlist); add_show_from_set (c, &showlist); can_use_hw_watchpoints = 1; diff --git a/contrib/gdb/gdb/breakpoint.h b/contrib/gdb/gdb/breakpoint.h index e2febac..3a58aad 100644 --- a/contrib/gdb/gdb/breakpoint.h +++ b/contrib/gdb/gdb/breakpoint.h @@ -1,21 +1,23 @@ /* Data structures associated with breakpoints in GDB. - Copyright (C) 1992, 93, 94, 95, 96, 98, 1999 Free Software Foundation, Inc. + Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 + Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #if !defined (BREAKPOINT_H) #define BREAKPOINT_H 1 @@ -23,6 +25,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "frame.h" #include "value.h" +#include "gdb-events.h" + +struct value; + /* This is the maximum number of bytes a breakpoint instruction can take. Feel free to increase it. It's just used in a few places to size arrays that should be independent of the target architecture. */ @@ -34,33 +40,34 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ here. This includes: * single-step (for machines where we have to simulate single stepping) - (probably, though perhaps it is better for it to look as much as - possible like a single-step to wait_for_inferior). */ - -enum bptype { - bp_none = 0, /* Eventpoint has been deleted. */ - bp_breakpoint, /* Normal breakpoint */ - bp_hardware_breakpoint, /* Hardware assisted breakpoint */ - bp_until, /* used by until command */ - bp_finish, /* used by finish command */ - bp_watchpoint, /* Watchpoint */ - bp_hardware_watchpoint, /* Hardware assisted watchpoint */ - bp_read_watchpoint, /* read watchpoint, (hardware assisted) */ - bp_access_watchpoint, /* access watchpoint, (hardware assisted) */ - bp_longjmp, /* secret breakpoint to find longjmp() */ - bp_longjmp_resume, /* secret breakpoint to escape longjmp() */ - - /* Used by wait_for_inferior for stepping over subroutine calls, for - stepping over signal handlers, and for skipping prologues. */ - bp_step_resume, - - /* Used by wait_for_inferior for stepping over signal handlers. */ - bp_through_sigtramp, - - /* Used to detect when a watchpoint expression has gone out of - scope. These breakpoints are usually not visible to the user. - - This breakpoint has some interesting properties: + (probably, though perhaps it is better for it to look as much as + possible like a single-step to wait_for_inferior). */ + +enum bptype + { + bp_none = 0, /* Eventpoint has been deleted. */ + bp_breakpoint, /* Normal breakpoint */ + bp_hardware_breakpoint, /* Hardware assisted breakpoint */ + bp_until, /* used by until command */ + bp_finish, /* used by finish command */ + bp_watchpoint, /* Watchpoint */ + bp_hardware_watchpoint, /* Hardware assisted watchpoint */ + bp_read_watchpoint, /* read watchpoint, (hardware assisted) */ + bp_access_watchpoint, /* access watchpoint, (hardware assisted) */ + bp_longjmp, /* secret breakpoint to find longjmp() */ + bp_longjmp_resume, /* secret breakpoint to escape longjmp() */ + + /* Used by wait_for_inferior for stepping over subroutine calls, for + stepping over signal handlers, and for skipping prologues. */ + bp_step_resume, + + /* Used by wait_for_inferior for stepping over signal handlers. */ + bp_through_sigtramp, + + /* Used to detect when a watchpoint expression has gone out of + scope. These breakpoints are usually not visible to the user. + + This breakpoint has some interesting properties: 1) There's always a 1:1 mapping between watchpoints on local variables and watchpoint_scope breakpoints. @@ -69,77 +76,112 @@ enum bptype { associated with when hit. 3) It can never be disabled. */ - bp_watchpoint_scope, - - /* The breakpoint at the end of a call dummy. */ - /* FIXME: What if the function we are calling longjmp()s out of the - call, or the user gets out with the "return" command? We currently - have no way of cleaning up the breakpoint in these (obscure) situations. - (Probably can solve this by noticing longjmp, "return", etc., it's - similar to noticing when a watchpoint on a local variable goes out - of scope (with hardware support for watchpoints)). */ - bp_call_dummy, - - /* Some dynamic linkers (HP, maybe Solaris) can arrange for special - code in the inferior to run when significant events occur in the - dynamic linker (for example a library is loaded or unloaded). - - By placing a breakpoint in this magic code GDB will get control - when these significant events occur. GDB can then re-examine - the dynamic linker's data structures to discover any newly loaded - dynamic libraries. */ - bp_shlib_event, - - /* These breakpoints are used to implement the "catch load" command - on platforms whose dynamic linkers support such functionality. */ - bp_catch_load, - - /* These breakpoints are used to implement the "catch unload" command - on platforms whose dynamic linkers support such functionality. */ - bp_catch_unload, - - /* These are not really breakpoints, but are catchpoints that - implement the "catch fork", "catch vfork" and "catch exec" commands - on platforms whose kernel support such functionality. (I.e., - kernels which can raise an event when a fork or exec occurs, as - opposed to the debugger setting breakpoints on functions named - "fork" or "exec".) */ - bp_catch_fork, - bp_catch_vfork, - bp_catch_exec, - - /* These are catchpoints to implement "catch catch" and "catch throw" - commands for C++ exception handling. */ - bp_catch_catch, - bp_catch_throw - -}; + bp_watchpoint_scope, + + /* The breakpoint at the end of a call dummy. */ + /* FIXME: What if the function we are calling longjmp()s out of the + call, or the user gets out with the "return" command? We currently + have no way of cleaning up the breakpoint in these (obscure) situations. + (Probably can solve this by noticing longjmp, "return", etc., it's + similar to noticing when a watchpoint on a local variable goes out + of scope (with hardware support for watchpoints)). */ + bp_call_dummy, + + /* Some dynamic linkers (HP, maybe Solaris) can arrange for special + code in the inferior to run when significant events occur in the + dynamic linker (for example a library is loaded or unloaded). + + By placing a breakpoint in this magic code GDB will get control + when these significant events occur. GDB can then re-examine + the dynamic linker's data structures to discover any newly loaded + dynamic libraries. */ + bp_shlib_event, + + /* Some multi-threaded systems can arrange for a location in the + inferior to be executed when certain thread-related events occur + (such as thread creation or thread death). + + By placing a breakpoint at one of these locations, GDB will get + control when these events occur. GDB can then update its thread + lists etc. */ + + bp_thread_event, + + /* On the same principal, an overlay manager can arrange to call a + magic location in the inferior whenever there is an interesting + change in overlay status. GDB can update its overlay tables + and fiddle with breakpoints in overlays when this breakpoint + is hit. */ + + bp_overlay_event, + + /* These breakpoints are used to implement the "catch load" command + on platforms whose dynamic linkers support such functionality. */ + bp_catch_load, + + /* These breakpoints are used to implement the "catch unload" command + on platforms whose dynamic linkers support such functionality. */ + bp_catch_unload, + + /* These are not really breakpoints, but are catchpoints that + implement the "catch fork", "catch vfork" and "catch exec" commands + on platforms whose kernel support such functionality. (I.e., + kernels which can raise an event when a fork or exec occurs, as + opposed to the debugger setting breakpoints on functions named + "fork" or "exec".) */ + bp_catch_fork, + bp_catch_vfork, + bp_catch_exec, + + /* These are catchpoints to implement "catch catch" and "catch throw" + commands for C++ exception handling. */ + bp_catch_catch, + bp_catch_throw + + + }; /* States of enablement of breakpoint. */ -enum enable { - disabled, /* The eventpoint is inactive, and cannot trigger. */ - enabled, /* The eventpoint is active, and can trigger. */ - shlib_disabled, /* The eventpoint's address is within an unloaded solib. - The eventpoint will be automatically enabled & reset - when that solib is loaded. */ - call_disabled /* The eventpoint has been disabled while a call into - the inferior is "in flight", because some eventpoints - interfere with the implementation of a call on some - targets. The eventpoint will be automatically enabled - & reset when the call "lands" (either completes, or - stops at another eventpoint). */ -}; +enum enable_state + { + bp_disabled, /* The eventpoint is inactive, and cannot trigger. */ + bp_enabled, /* The eventpoint is active, and can trigger. */ + bp_shlib_disabled, /* The eventpoint's address is in an unloaded solib. + The eventpoint will be automatically enabled + and reset when that solib is loaded. */ + bp_call_disabled, /* The eventpoint has been disabled while a call + into the inferior is "in flight", because some + eventpoints interfere with the implementation of + a call on some targets. The eventpoint will be + automatically enabled and reset when the call + "lands" (either completes, or stops at another + eventpoint). */ + bp_permanent /* There is a breakpoint instruction hard-wired into + the target's code. Don't try to write another + breakpoint instruction on top of it, or restore + its value. Step over it using the architecture's + SKIP_INSN macro. */ + }; /* Disposition of breakpoint. Ie: what to do after hitting it. */ -enum bpdisp { - del, /* Delete it */ - del_at_next_stop, /* Delete at next stop, whether hit or not */ - disable, /* Disable it */ - donttouch /* Leave it alone */ -}; +enum bpdisp + { + disp_del, /* Delete it */ + disp_del_at_next_stop, /* Delete at next stop, whether hit or not */ + disp_disable, /* Disable it */ + disp_donttouch /* Leave it alone */ + }; + +enum target_hw_bp_type + { + hw_write = 0, /* Common HW watchpoint */ + hw_read = 1, /* Read HW watchpoint */ + hw_access = 2, /* Access HW watchpoint */ + hw_execute = 3 /* Execute HW breakpoint */ + }; /* Note that the ->silent field is not currently used by any commands (though the code is in there if it was to be, and set_raw_breakpoint @@ -150,210 +192,224 @@ enum bpdisp { /* This is for a breakpoint or a watchpoint. */ struct breakpoint -{ - struct breakpoint *next; - /* Type of breakpoint. */ - enum bptype type; - /* Zero means disabled; remember the info but don't break here. */ - enum enable enable; - /* What to do with this breakpoint after we hit it. */ - enum bpdisp disposition; - /* Number assigned to distinguish breakpoints. */ - int number; - - /* Address to break at, or NULL if not a breakpoint. */ - CORE_ADDR address; - - /* Line number of this address. Only matters if address is - non-NULL. */ - - int line_number; - - /* Source file name of this address. Only matters if address is - non-NULL. */ - - char *source_file; - - /* Non-zero means a silent breakpoint (don't print frame info - if we stop here). */ - unsigned char silent; - /* Number of stops at this breakpoint that should - be continued automatically before really stopping. */ - int ignore_count; - /* "Real" contents of byte where breakpoint has been inserted. - Valid only when breakpoints are in the program. Under the complete - control of the target insert_breakpoint and remove_breakpoint routines. - No other code should assume anything about the value(s) here. */ - char shadow_contents[BREAKPOINT_MAX]; - /* Nonzero if this breakpoint is now inserted. Only matters if address - is non-NULL. */ - char inserted; - /* Nonzero if this is not the first breakpoint in the list - for the given address. Only matters if address is non-NULL. */ - char duplicate; - /* Chain of command lines to execute when this breakpoint is hit. */ - struct command_line *commands; - /* Stack depth (address of frame). If nonzero, break only if fp - equals this. */ - CORE_ADDR frame; - /* Conditional. Break only if this expression's value is nonzero. */ - struct expression *cond; - - /* String we used to set the breakpoint (malloc'd). Only matters if - address is non-NULL. */ - char *addr_string; - /* Language we used to set the breakpoint. */ - enum language language; - /* Input radix we used to set the breakpoint. */ - int input_radix; - /* String form of the breakpoint condition (malloc'd), or NULL if there - is no condition. */ - char *cond_string; - /* String form of exp (malloc'd), or NULL if none. */ - char *exp_string; - - /* The expression we are watching, or NULL if not a watchpoint. */ - struct expression *exp; - /* The largest block within which it is valid, or NULL if it is - valid anywhere (e.g. consists just of global symbols). */ - struct block *exp_valid_block; - /* Value of the watchpoint the last time we checked it. */ - value_ptr val; - - /* Holds the value chain for a hardware watchpoint expression. */ - value_ptr val_chain; - - /* Holds the address of the related watchpoint_scope breakpoint - when using watchpoints on local variables (might the concept - of a related breakpoint be useful elsewhere, if not just call - it the watchpoint_scope breakpoint or something like that. FIXME). */ - struct breakpoint *related_breakpoint; - - /* Holds the frame address which identifies the frame this watchpoint - should be evaluated in, or NULL if the watchpoint should be evaluated - on the outermost frame. */ - CORE_ADDR watchpoint_frame; - - /* Thread number for thread-specific breakpoint, or -1 if don't care */ - int thread; - - /* Count of the number of times this breakpoint was taken, dumped - with the info, but not used for anything else. Useful for - seeing how many times you hit a break prior to the program - aborting, so you can back up to just before the abort. */ - int hit_count; - - /* Filename of a dynamically-linked library (dll), used for bp_catch_load - and bp_catch_unload (malloc'd), or NULL if any library is significant. */ - char * dll_pathname; - - /* Filename of a dll whose state change (e.g., load or unload) - triggered this catchpoint. This field is only vaid immediately - after this catchpoint has triggered. */ - char * triggered_dll_pathname; - - /* Process id of a child process whose forking triggered this catchpoint. - This field is only vaid immediately after this catchpoint has triggered. */ - int forked_inferior_pid; - - /* Filename of a program whose exec triggered this catchpoint. This - field is only vaid immediately after this catchpoint has triggered. */ - char * exec_pathname; - - asection *section; -}; + { + struct breakpoint *next; + /* Type of breakpoint. */ + enum bptype type; + /* Zero means disabled; remember the info but don't break here. */ + enum enable_state enable_state; + /* What to do with this breakpoint after we hit it. */ + enum bpdisp disposition; + /* Number assigned to distinguish breakpoints. */ + int number; + + /* Address to break at. + Note that zero is a perfectly valid code address on some + platforms (for example, the mn10200 and mn10300 simulators). + NULL is not a special value for this field. */ + CORE_ADDR address; + + /* Line number of this address. */ + + int line_number; + + /* Source file name of this address. */ + + char *source_file; + + /* Non-zero means a silent breakpoint (don't print frame info + if we stop here). */ + unsigned char silent; + /* Number of stops at this breakpoint that should + be continued automatically before really stopping. */ + int ignore_count; + /* "Real" contents of byte where breakpoint has been inserted. + Valid only when breakpoints are in the program. Under the complete + control of the target insert_breakpoint and remove_breakpoint routines. + No other code should assume anything about the value(s) here. */ + char shadow_contents[BREAKPOINT_MAX]; + /* Nonzero if this breakpoint is now inserted. */ + char inserted; + /* Nonzero if this is not the first breakpoint in the list + for the given address. */ + char duplicate; + /* Chain of command lines to execute when this breakpoint is hit. */ + struct command_line *commands; + /* Stack depth (address of frame). If nonzero, break only if fp + equals this. */ + CORE_ADDR frame; + /* Conditional. Break only if this expression's value is nonzero. */ + struct expression *cond; + + /* String we used to set the breakpoint (malloc'd). */ + char *addr_string; + /* Language we used to set the breakpoint. */ + enum language language; + /* Input radix we used to set the breakpoint. */ + int input_radix; + /* String form of the breakpoint condition (malloc'd), or NULL if there + is no condition. */ + char *cond_string; + /* String form of exp (malloc'd), or NULL if none. */ + char *exp_string; + + /* The expression we are watching, or NULL if not a watchpoint. */ + struct expression *exp; + /* The largest block within which it is valid, or NULL if it is + valid anywhere (e.g. consists just of global symbols). */ + struct block *exp_valid_block; + /* Value of the watchpoint the last time we checked it. */ + struct value *val; + + /* Holds the value chain for a hardware watchpoint expression. */ + struct value *val_chain; + + /* Holds the address of the related watchpoint_scope breakpoint + when using watchpoints on local variables (might the concept + of a related breakpoint be useful elsewhere, if not just call + it the watchpoint_scope breakpoint or something like that. FIXME). */ + struct breakpoint *related_breakpoint; + + /* Holds the frame address which identifies the frame this watchpoint + should be evaluated in, or NULL if the watchpoint should be evaluated + on the outermost frame. */ + CORE_ADDR watchpoint_frame; + + /* Thread number for thread-specific breakpoint, or -1 if don't care */ + int thread; + + /* Count of the number of times this breakpoint was taken, dumped + with the info, but not used for anything else. Useful for + seeing how many times you hit a break prior to the program + aborting, so you can back up to just before the abort. */ + int hit_count; + + /* Filename of a dynamically-linked library (dll), used for + bp_catch_load and bp_catch_unload (malloc'd), or NULL if any + library is significant. */ + char *dll_pathname; + + /* Filename of a dll whose state change (e.g., load or unload) + triggered this catchpoint. This field is only valid immediately + after this catchpoint has triggered. */ + char *triggered_dll_pathname; + + /* Process id of a child process whose forking triggered this + catchpoint. This field is only valid immediately after this + catchpoint has triggered. */ + int forked_inferior_pid; + + /* Filename of a program whose exec triggered this catchpoint. + This field is only valid immediately after this catchpoint has + triggered. */ + char *exec_pathname; + + asection *section; + }; -/* The following stuff is an abstract data type "bpstat" ("breakpoint status"). - This provides the ability to determine whether we have stopped at a - breakpoint, and what we should do about it. */ +/* The following stuff is an abstract data type "bpstat" ("breakpoint + status"). This provides the ability to determine whether we have + stopped at a breakpoint, and what we should do about it. */ typedef struct bpstats *bpstat; /* Interface: */ /* Clear a bpstat so that it says we are not at any breakpoint. Also free any storage that is part of a bpstat. */ -extern void bpstat_clear PARAMS ((bpstat *)); +extern void bpstat_clear (bpstat *); /* Return a copy of a bpstat. Like "bs1 = bs2" but all storage that is part of the bpstat is copied as well. */ -extern bpstat bpstat_copy PARAMS ((bpstat)); +extern bpstat bpstat_copy (bpstat); -extern bpstat bpstat_stop_status PARAMS ((CORE_ADDR *, int)); +extern bpstat bpstat_stop_status (CORE_ADDR *, int); /* This bpstat_what stuff tells wait_for_inferior what to do with a breakpoint (a challenging task). */ -enum bpstat_what_main_action { - /* Perform various other tests; that is, this bpstat does not - say to perform any action (e.g. failed watchpoint and nothing - else). */ - BPSTAT_WHAT_KEEP_CHECKING, - - /* Rather than distinguish between noisy and silent stops here, it - might be cleaner to have bpstat_print make that decision (also - taking into account stop_print_frame and source_only). But the - implications are a bit scary (interaction with auto-displays, etc.), - so I won't try it. */ - - /* Stop silently. */ - BPSTAT_WHAT_STOP_SILENT, - - /* Stop and print. */ - BPSTAT_WHAT_STOP_NOISY, - - /* Remove breakpoints, single step once, then put them back in and - go back to what we were doing. It's possible that this should be - removed from the main_action and put into a separate field, to more - cleanly handle BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE. */ - BPSTAT_WHAT_SINGLE, - - /* Set longjmp_resume breakpoint, remove all other breakpoints, - and continue. The "remove all other breakpoints" part is required - if we are also stepping over another breakpoint as well as doing - the longjmp handling. */ - BPSTAT_WHAT_SET_LONGJMP_RESUME, - - /* Clear longjmp_resume breakpoint, then handle as - BPSTAT_WHAT_KEEP_CHECKING. */ - BPSTAT_WHAT_CLEAR_LONGJMP_RESUME, - - /* Clear longjmp_resume breakpoint, then handle as BPSTAT_WHAT_SINGLE. */ - BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE, - - /* Clear step resume breakpoint, and keep checking. */ - BPSTAT_WHAT_STEP_RESUME, - - /* Clear through_sigtramp breakpoint, muck with trap_expected, and keep - checking. */ - BPSTAT_WHAT_THROUGH_SIGTRAMP, - - /* Check the dynamic linker's data structures for new libraries, then - keep checking. */ - BPSTAT_WHAT_CHECK_SHLIBS, - - /* Check the dynamic linker's data structures for new libraries, then - resume out of the dynamic linker's callback, stop and print. */ - BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK, - - /* This is just used to keep track of how many enums there are. */ - BPSTAT_WHAT_LAST -}; - -struct bpstat_what { - enum bpstat_what_main_action main_action; - - /* Did we hit a call dummy breakpoint? This only goes with a main_action - of BPSTAT_WHAT_STOP_SILENT or BPSTAT_WHAT_STOP_NOISY (the concept of - continuing from a call dummy without popping the frame is not a - useful one). */ - int call_dummy; -}; +enum bpstat_what_main_action + { + /* Perform various other tests; that is, this bpstat does not + say to perform any action (e.g. failed watchpoint and nothing + else). */ + BPSTAT_WHAT_KEEP_CHECKING, + + /* Rather than distinguish between noisy and silent stops here, it + might be cleaner to have bpstat_print make that decision (also + taking into account stop_print_frame and source_only). But the + implications are a bit scary (interaction with auto-displays, etc.), + so I won't try it. */ + + /* Stop silently. */ + BPSTAT_WHAT_STOP_SILENT, + + /* Stop and print. */ + BPSTAT_WHAT_STOP_NOISY, + + /* Remove breakpoints, single step once, then put them back in and + go back to what we were doing. It's possible that this should be + removed from the main_action and put into a separate field, to more + cleanly handle BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE. */ + BPSTAT_WHAT_SINGLE, + + /* Set longjmp_resume breakpoint, remove all other breakpoints, + and continue. The "remove all other breakpoints" part is required + if we are also stepping over another breakpoint as well as doing + the longjmp handling. */ + BPSTAT_WHAT_SET_LONGJMP_RESUME, + + /* Clear longjmp_resume breakpoint, then handle as + BPSTAT_WHAT_KEEP_CHECKING. */ + BPSTAT_WHAT_CLEAR_LONGJMP_RESUME, + + /* Clear longjmp_resume breakpoint, then handle as BPSTAT_WHAT_SINGLE. */ + BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE, + + /* Clear step resume breakpoint, and keep checking. */ + BPSTAT_WHAT_STEP_RESUME, + + /* Clear through_sigtramp breakpoint, muck with trap_expected, and keep + checking. */ + BPSTAT_WHAT_THROUGH_SIGTRAMP, + + /* Check the dynamic linker's data structures for new libraries, then + keep checking. */ + BPSTAT_WHAT_CHECK_SHLIBS, + + /* Check the dynamic linker's data structures for new libraries, then + resume out of the dynamic linker's callback, stop and print. */ + BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK, + + /* This is just used to keep track of how many enums there are. */ + BPSTAT_WHAT_LAST + }; + +struct bpstat_what + { + enum bpstat_what_main_action main_action; + + /* Did we hit a call dummy breakpoint? This only goes with a main_action + of BPSTAT_WHAT_STOP_SILENT or BPSTAT_WHAT_STOP_NOISY (the concept of + continuing from a call dummy without popping the frame is not a + useful one). */ + int call_dummy; + }; + +/* The possible return values for print_bpstat, print_it_normal, + print_it_done, print_it_noop. */ +enum print_stop_action + { + PRINT_UNKNOWN = -1, + PRINT_SRC_AND_LOC, + PRINT_SRC_ONLY, + PRINT_NOTHING + }; /* Tell what to do about this bpstat. */ -struct bpstat_what bpstat_what PARAMS ((bpstat)); +struct bpstat_what bpstat_what (bpstat); /* Find the bpstat associated with a breakpoint. NULL otherwise. */ -bpstat bpstat_find_breakpoint PARAMS ((bpstat, struct breakpoint *)); +bpstat bpstat_find_breakpoint (bpstat, struct breakpoint *); /* Find a step_resume breakpoint associated with this bpstat. (If there are multiple step_resume bp's on the list, this function @@ -363,9 +419,8 @@ bpstat bpstat_find_breakpoint PARAMS ((bpstat, struct breakpoint *)); step_resume breakpoint. See wait_for_inferior's use of this function. - */ -extern struct breakpoint * -bpstat_find_step_resume_breakpoint PARAMS ((bpstat)); + */ +extern struct breakpoint *bpstat_find_step_resume_breakpoint (bpstat); /* Nonzero if a signal that we got in wait() was due to circumstances explained by the BS. */ @@ -376,140 +431,173 @@ bpstat_find_step_resume_breakpoint PARAMS ((bpstat)); /* Nonzero if we should step constantly (e.g. watchpoints on machines without hardware support). This isn't related to a specific bpstat, just to things like whether watchpoints are set. */ -extern int bpstat_should_step PARAMS ((void)); +extern int bpstat_should_step (void); /* Nonzero if there are enabled hardware watchpoints. */ -extern int bpstat_have_active_hw_watchpoints PARAMS ((void)); +extern int bpstat_have_active_hw_watchpoints (void); /* Print a message indicating what happened. Returns nonzero to say that only the source line should be printed after this (zero return means print the frame as well as the source line). */ -extern int bpstat_print PARAMS ((bpstat)); +extern enum print_stop_action bpstat_print (bpstat); /* Return the breakpoint number of the first breakpoint we are stopped at. *BSP upon return is a bpstat which points to the remaining breakpoints stopped at (but which is not guaranteed to be good for anything but further calls to bpstat_num). Return 0 if passed a bpstat which does not indicate any breakpoints. */ -extern int bpstat_num PARAMS ((bpstat *)); +extern int bpstat_num (bpstat *); /* Perform actions associated with having stopped at *BSP. Actually, we just use this for breakpoint commands. Perhaps other actions will go here later, but this is executed at a late time (from the command loop). */ -extern void bpstat_do_actions PARAMS ((bpstat *)); +extern void bpstat_do_actions (bpstat *); /* Modify BS so that the actions will not be performed. */ -extern void bpstat_clear_actions PARAMS ((bpstat)); +extern void bpstat_clear_actions (bpstat); /* Given a bpstat that records zero or more triggered eventpoints, this function returns another bpstat which contains only the catchpoints on that first list, if any. - */ -extern void bpstat_get_triggered_catchpoints PARAMS ((bpstat, bpstat *)); - + */ +extern void bpstat_get_triggered_catchpoints (bpstat, bpstat *); + /* Implementation: */ + +/* Values used to tell the printing routine how to behave for this bpstat. */ +enum bp_print_how + { + /* This is used when we want to do a normal printing of the reason + for stopping. The output will depend on the type of eventpoint + we are dealing with. This is the default value, most commonly + used. */ + print_it_normal, + /* This is used when nothing should be printed for this bpstat entry. */ + print_it_noop, + /* This is used when everything which needs to be printed has + already been printed. But we still want to print the frame. */ + print_it_done + }; + struct bpstats -{ - /* Linked list because there can be two breakpoints at the - same place, and a bpstat reflects the fact that both have been hit. */ - bpstat next; - /* Breakpoint that we are at. */ - struct breakpoint *breakpoint_at; - /* Commands left to be done. */ - struct command_line *commands; - /* Old value associated with a watchpoint. */ - value_ptr old_val; - - /* Nonzero if this breakpoint tells us to print the frame. */ - char print; - - /* Nonzero if this breakpoint tells us to stop. */ - char stop; - - /* Function called by bpstat_print to print stuff associated with - this element of the bpstat chain. Returns 0 or 1 just like - bpstat_print, or -1 if it can't deal with it. */ - int (*print_it) PARAMS((bpstat bs)); -}; + { + /* Linked list because there can be two breakpoints at the same + place, and a bpstat reflects the fact that both have been hit. */ + bpstat next; + /* Breakpoint that we are at. */ + struct breakpoint *breakpoint_at; + /* Commands left to be done. */ + struct command_line *commands; + /* Old value associated with a watchpoint. */ + struct value *old_val; + + /* Nonzero if this breakpoint tells us to print the frame. */ + char print; + + /* Nonzero if this breakpoint tells us to stop. */ + char stop; + + /* Tell bpstat_print and print_bp_stop_message how to print stuff + associated with this element of the bpstat chain. */ + enum bp_print_how print_it; + }; enum inf_context -{ - inf_starting, - inf_running, - inf_exited -}; - + { + inf_starting, + inf_running, + inf_exited + }; + +/* The possible return values for breakpoint_here_p. + We guarantee that zero always means "no breakpoint here". */ +enum breakpoint_here + { + no_breakpoint_here = 0, + ordinary_breakpoint_here, + permanent_breakpoint_here + }; + /* Prototypes for breakpoint-related functions. */ -#ifdef __STDC__ /* Forward declarations for prototypes */ +/* Forward declarations for prototypes */ struct frame_info; -#endif -extern int breakpoint_here_p PARAMS ((CORE_ADDR)); +extern enum breakpoint_here breakpoint_here_p (CORE_ADDR); -extern int breakpoint_inserted_here_p PARAMS ((CORE_ADDR)); +extern int breakpoint_inserted_here_p (CORE_ADDR); -extern int frame_in_dummy PARAMS ((struct frame_info *)); +extern int frame_in_dummy (struct frame_info *); -extern int breakpoint_thread_match PARAMS ((CORE_ADDR, int)); +extern int breakpoint_thread_match (CORE_ADDR, ptid_t); -extern void until_break_command PARAMS ((char *, int)); +extern void until_break_command (char *, int); -extern void breakpoint_re_set PARAMS ((void)); +extern void breakpoint_re_set (void); -extern void breakpoint_re_set_thread PARAMS ((struct breakpoint *)); +extern void breakpoint_re_set_thread (struct breakpoint *); -extern int ep_is_exception_catchpoint PARAMS ((struct breakpoint *)); +extern int ep_is_exception_catchpoint (struct breakpoint *); extern struct breakpoint *set_momentary_breakpoint - PARAMS ((struct symtab_and_line, struct frame_info *, enum bptype)); + (struct symtab_and_line, struct frame_info *, enum bptype); + +extern void set_ignore_count (int, int, int); + +extern void set_default_breakpoint (int, CORE_ADDR, struct symtab *, int); -extern void set_ignore_count PARAMS ((int, int, int)); +extern void mark_breakpoints_out (void); -extern void set_default_breakpoint PARAMS ((int, CORE_ADDR, struct symtab *, int)); +extern void breakpoint_init_inferior (enum inf_context); -extern void mark_breakpoints_out PARAMS ((void)); +extern struct cleanup *make_cleanup_delete_breakpoint (struct breakpoint *); -extern void breakpoint_init_inferior PARAMS ((enum inf_context)); +extern struct cleanup *make_exec_cleanup_delete_breakpoint (struct breakpoint *); -extern void delete_breakpoint PARAMS ((struct breakpoint *)); +extern void delete_breakpoint (struct breakpoint *); -extern void breakpoint_auto_delete PARAMS ((bpstat)); +extern void breakpoint_auto_delete (bpstat); -extern void breakpoint_clear_ignore_counts PARAMS ((void)); +extern void breakpoint_clear_ignore_counts (void); -extern void break_command PARAMS ((char *, int)); +extern void break_command (char *, int); -extern void tbreak_command PARAMS ((char *, int)); +extern void hbreak_command_wrapper (char *, int); +extern void thbreak_command_wrapper (char *, int); +extern void rbreak_command_wrapper (char *, int); +extern void watch_command_wrapper (char *, int); +extern void awatch_command_wrapper (char *, int); +extern void rwatch_command_wrapper (char *, int); +extern void tbreak_command (char *, int); -extern int insert_breakpoints PARAMS ((void)); +extern int insert_breakpoints (void); -extern int remove_breakpoints PARAMS ((void)); +extern int remove_breakpoints (void); /* This function can be used to physically insert eventpoints from the specified traced inferior process, without modifying the breakpoint package's state. This can be useful for those targets which support following the processes of a fork() or vfork() system call, when both of the resulting two processes are to be followed. */ -extern int reattach_breakpoints PARAMS ((int)); +extern int reattach_breakpoints (int); /* This function can be used to update the breakpoint package's state after an exec() system call has been executed. This function causes the following: - - All eventpoints are marked "not inserted". - - All eventpoints with a symbolic address are reset such that - the symbolic address must be reevaluated before the eventpoints - can be reinserted. - - The solib breakpoints are explicitly removed from the breakpoint - list. - - A step-resume breakpoint, if any, is explicitly removed from the - breakpoint list. - - All eventpoints without a symbolic address are removed from the - breakpoint list. */ -extern void update_breakpoints_after_exec PARAMS ((void)); + - All eventpoints are marked "not inserted". + - All eventpoints with a symbolic address are reset such that + the symbolic address must be reevaluated before the eventpoints + can be reinserted. + - The solib breakpoints are explicitly removed from the breakpoint + list. + - A step-resume breakpoint, if any, is explicitly removed from the + breakpoint list. + - All eventpoints without a symbolic address are removed from the + breakpoint list. */ +extern void update_breakpoints_after_exec (void); /* This function can be used to physically remove hardware breakpoints and watchpoints from the specified traced inferior process, without @@ -517,17 +605,17 @@ extern void update_breakpoints_after_exec PARAMS ((void)); those targets which support following the processes of a fork() or vfork() system call, when one of the resulting two processes is to be detached and allowed to run free. - + It is an error to use this function on the process whose id is - inferior_pid. */ -extern int detach_breakpoints PARAMS ((int)); - -extern void enable_longjmp_breakpoint PARAMS ((void)); + inferior_ptid. */ +extern int detach_breakpoints (int); -extern void disable_longjmp_breakpoint PARAMS ((void)); +extern void enable_longjmp_breakpoint (void); +extern void disable_longjmp_breakpoint (void); +extern void enable_overlay_breakpoints (void); +extern void disable_overlay_breakpoints (void); -extern void set_longjmp_resume_breakpoint PARAMS ((CORE_ADDR, - struct frame_info *)); +extern void set_longjmp_resume_breakpoint (CORE_ADDR, struct frame_info *); /* These functions respectively disable or reenable all currently enabled watchpoints. When disabled, the watchpoints are marked call_disabled. When reenabled, they are marked enabled. @@ -543,62 +631,79 @@ extern void set_longjmp_resume_breakpoint PARAMS ((CORE_ADDR, cause the inferior to stop in places where this frame is visible, and that can cause execution control to become very confused. - Note that if a user sets breakpoints in an interactively call + Note that if a user sets breakpoints in an interactively called function, the call_disabled watchpoints will have been reenabled when the first such breakpoint is reached. However, on targets that are unable to unwind through the call dummy frame, watches of stack-based storage may then be deleted, because gdb will believe that their watched storage is out of scope. (Sigh.) */ -extern void -disable_watchpoints_before_interactive_call_start PARAMS ((void)); +extern void disable_watchpoints_before_interactive_call_start (void); + +extern void enable_watchpoints_after_interactive_call_stop (void); + -extern void -enable_watchpoints_after_interactive_call_stop PARAMS ((void)); +extern void clear_breakpoint_hit_counts (void); - -extern void clear_breakpoint_hit_counts PARAMS ((void)); +extern int get_number (char **); + +extern int get_number_or_range (char **); /* The following are for displays, which aren't really breakpoints, but here is as good a place as any for them. */ -extern void disable_current_display PARAMS ((void)); +extern void disable_current_display (void); + +extern void do_displays (void); + +extern void disable_display (int); + +extern void clear_displays (void); + +extern void disable_breakpoint (struct breakpoint *); + +extern void enable_breakpoint (struct breakpoint *); -extern void do_displays PARAMS ((void)); +extern void make_breakpoint_permanent (struct breakpoint *); -extern void disable_display PARAMS ((int)); +extern struct breakpoint *create_solib_event_breakpoint (CORE_ADDR); -extern void clear_displays PARAMS ((void)); +extern struct breakpoint *create_thread_event_breakpoint (CORE_ADDR); -extern void disable_breakpoint PARAMS ((struct breakpoint *)); +extern void remove_solib_event_breakpoints (void); -extern void enable_breakpoint PARAMS ((struct breakpoint *)); +extern void remove_thread_event_breakpoints (void); -extern void create_solib_event_breakpoint PARAMS ((CORE_ADDR)); +extern void disable_breakpoints_in_shlibs (int silent); -extern void remove_solib_event_breakpoints PARAMS ((void)); +extern void re_enable_breakpoints_in_shlibs (void); -extern void disable_breakpoints_in_shlibs PARAMS ((int silent)); +extern void create_solib_load_event_breakpoint (char *, int, char *, char *); -extern void re_enable_breakpoints_in_shlibs PARAMS ((void)); +extern void create_solib_unload_event_breakpoint (char *, int, + char *, char *); -extern void create_solib_load_event_breakpoint PARAMS ((char *, int, char *, char *)); - -extern void create_solib_unload_event_breakpoint PARAMS ((char *, int, char *, char *)); - -extern void create_fork_event_catchpoint PARAMS ((int, char *)); - -extern void create_vfork_event_catchpoint PARAMS ((int, char *)); +extern void create_fork_event_catchpoint (int, char *); + +extern void create_vfork_event_catchpoint (int, char *); + +extern void create_exec_event_catchpoint (int, char *); -extern void create_exec_event_catchpoint PARAMS ((int, char *)); - /* This function returns TRUE if ep is a catchpoint. */ -extern int ep_is_catchpoint PARAMS ((struct breakpoint *)); - +extern int ep_is_catchpoint (struct breakpoint *); + /* This function returns TRUE if ep is a catchpoint of a shared library (aka dynamically-linked library) event, such as a library load or unload. */ -extern int ep_is_shlib_catchpoint PARAMS ((struct breakpoint *)); - -extern struct breakpoint *set_breakpoint_sal PARAMS ((struct symtab_and_line)); +extern int ep_is_shlib_catchpoint (struct breakpoint *); + +extern struct breakpoint *set_breakpoint_sal (struct symtab_and_line); + +/* Enable breakpoints and delete when hit. Called with ARG == NULL + deletes all breakpoints. */ +extern void delete_command (char *arg, int from_tty); + +/* Pull all H/W watchpoints from the target. Return non-zero if the + remove fails. */ +extern int remove_hw_watchpoints (void); #endif /* !defined (BREAKPOINT_H) */ diff --git a/contrib/gdb/gdb/buildsym.c b/contrib/gdb/gdb/buildsym.c index 24b64be..0e4f9b8 100644 --- a/contrib/gdb/gdb/buildsym.c +++ b/contrib/gdb/gdb/buildsym.c @@ -1,21 +1,23 @@ /* Support routines for building symbol tables in GDB's internal format. - Copyright 1986-1999 Free Software Foundation, Inc. + Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, + 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* This module provides subroutines used for creating and adding to the symbol table. These routines are called from various symbol- @@ -33,9 +35,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "gdbtypes.h" #include "complaints.h" #include "gdb_string.h" - +#include "expression.h" /* For "enum exp_opcode" used by... */ +#include "language.h" /* For "longest_local_hex_string_custom" */ +#include "bcache.h" +#include "filenames.h" /* For DOSish file names */ /* Ask buildsym.h to define the vars it normally declares `extern'. */ -#define EXTERN /**/ +#define EXTERN +/**/ #include "buildsym.h" /* Our own declarations */ #undef EXTERN @@ -79,10 +85,24 @@ struct complaint innerblock_anon_complaint = {"inner block (0x%lx-0x%lx) not inside outer block (0x%lx-0x%lx)", 0, 0}; struct complaint blockvector_complaint = -{"block at 0x%lx out of order", 0, 0}; +{"block at %s out of order", 0, 0}; /* maintain the lists of symbols and blocks */ +/* Add a pending list to free_pendings. */ +void +add_free_pendings (struct pending *list) +{ + register struct pending *link = list; + + if (list) + { + while (link->next) link = link->next; + link->next = free_pendings; + free_pendings = list; + } +} + /* Add a symbol to one of the lists of symbols. */ void @@ -146,14 +166,14 @@ find_symbol_in_list (struct pending *list, char *name, int length) /* ARGSUSED */ void -really_free_pendings (int foo) +really_free_pendings (PTR dummy) { struct pending *next, *next1; for (next = free_pendings; next; next = next1) { next1 = next->next; - free ((void *) next); + xfree ((void *) next); } free_pendings = NULL; @@ -162,14 +182,14 @@ really_free_pendings (int foo) for (next = file_symbols; next != NULL; next = next1) { next1 = next->next; - free ((void *) next); + xfree ((void *) next); } file_symbols = NULL; for (next = global_symbols; next != NULL; next = next1) { next1 = next->next; - free ((void *) next); + xfree ((void *) next); } global_symbols = NULL; } @@ -187,7 +207,7 @@ free_pending_blocks (void) for (bnext = pending_blocks; bnext; bnext = bnext1) { bnext1 = bnext->next; - free ((void *) bnext); + xfree ((void *) bnext); } #endif pending_blocks = NULL; @@ -220,7 +240,7 @@ finish_block (struct symbol *symbol, struct pending **listhead, } block = (struct block *) obstack_alloc (&objfile->symbol_obstack, - (sizeof (struct block) + ((i - 1) * sizeof (struct symbol *)))); + (sizeof (struct block) + ((i - 1) * sizeof (struct symbol *)))); /* Copy the symbols into the block. */ @@ -255,9 +275,8 @@ finish_block (struct symbol *symbol, struct pending **listhead, parameter symbols. */ int nparams = 0, iparams; struct symbol *sym; - for (i = 0; i < BLOCK_NSYMS (block); i++) + ALL_BLOCK_SYMBOLS (block, i, sym) { - sym = BLOCK_SYM (block, i); switch (SYMBOL_CLASS (sym)) { case LOC_ARG: @@ -303,6 +322,7 @@ finish_block (struct symbol *symbol, struct pending **listhead, case LOC_BASEREG_ARG: case LOC_LOCAL_ARG: TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym); + TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0; iparams++; break; case LOC_UNDEF: @@ -382,7 +402,7 @@ finish_block (struct symbol *symbol, struct pending **listhead, else { complain (&innerblock_anon_complaint, BLOCK_START (pblock->block), - BLOCK_END (pblock->block), BLOCK_START (block), + BLOCK_END (pblock->block), BLOCK_START (block), BLOCK_END (block)); } if (BLOCK_START (pblock->block) < BLOCK_START (block)) @@ -468,7 +488,7 @@ make_blockvector (struct objfile *objfile) for (next = pending_blocks; next; next = next1) { next1 = next->next; - free (next); + xfree (next); } #endif pending_blocks = NULL; @@ -485,17 +505,11 @@ make_blockvector (struct objfile *objfile) if (BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i - 1)) > BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i))) { - - /* FIXME-32x64: loses if CORE_ADDR doesn't fit in a - long. Possible solutions include a version of - complain which takes a callback, a - sprintf_address_numeric to match - print_address_numeric, or a way to set up a GDB_FILE - which causes sprintf rather than fprintf to be - called. */ + CORE_ADDR start + = BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i)); complain (&blockvector_complaint, - (unsigned long) BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i))); + longest_local_hex_string ((LONGEST) start)); } } } @@ -519,7 +533,7 @@ start_subfile (char *name, char *dirname) for (subfile = subfiles; subfile; subfile = subfile->next) { - if (STREQ (subfile->name, name)) + if (FILENAME_CMP (subfile->name, name) == 0) { current_subfile = subfile; return; @@ -531,6 +545,7 @@ start_subfile (char *name, char *dirname) source file. */ subfile = (struct subfile *) xmalloc (sizeof (struct subfile)); + memset ((char *) subfile, 0, sizeof (struct subfile)); subfile->next = subfiles; subfiles = subfile; current_subfile = subfile; @@ -569,7 +584,7 @@ start_subfile (char *name, char *dirname) program. But to demangle we need to set the language to C++. We can distinguish cfront code by the fact that it has #line directives which specify a file name ending in .C. - + So if the filename of this subfile ends in .C, then change the language of any pending subfiles from C to C++. We also accept any other C++ suffixes accepted by deduce_language_from_filename @@ -654,7 +669,7 @@ push_subfile (void) subfile_stack = tem; if (current_subfile == NULL || current_subfile->name == NULL) { - abort (); + internal_error (__FILE__, __LINE__, "failed internal consistency check"); } tem->name = current_subfile->name; } @@ -667,11 +682,11 @@ pop_subfile (void) if (link == NULL) { - abort (); + internal_error (__FILE__, __LINE__, "failed internal consistency check"); } name = link->name; subfile_stack = link->next; - free ((void *) link); + xfree ((void *) link); return (name); } @@ -695,7 +710,7 @@ record_line (register struct subfile *subfile, int line, CORE_ADDR pc) subfile->line_vector_length = INITIAL_LINE_VECTOR_LENGTH; subfile->line_vector = (struct linetable *) xmalloc (sizeof (struct linetable) - + subfile->line_vector_length * sizeof (struct linetable_entry)); + + subfile->line_vector_length * sizeof (struct linetable_entry)); subfile->line_vector->nitems = 0; have_line_numbers = 1; } @@ -712,7 +727,7 @@ record_line (register struct subfile *subfile, int line, CORE_ADDR pc) e = subfile->line_vector->item + subfile->line_vector->nitems++; e->line = line; - e->pc = pc; + e->pc = ADDR_BITS_REMOVE(pc); } /* Needed in order to sort line tables from IBM xcoff files. Sigh! */ @@ -855,7 +870,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section) /* Cleanup any undefined types that have been left hanging around (this needs to be done before the finish_blocks so that file_symbols is still good). - + Both cleanup_undefined_types and finish_global_stabs are stabs specific, but harmless for other symbol readers, since on gdb startup or when finished reading stabs, the state is set so these @@ -921,7 +936,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section) if (objfile->flags & OBJF_REORDERED) qsort (subfile->line_vector->item, subfile->line_vector->nitems, - sizeof (struct linetable_entry), compare_line_numbers); + sizeof (struct linetable_entry), compare_line_numbers); } /* Now, allocate a symbol table. */ @@ -968,8 +983,8 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section) if (subfile->debugformat != NULL) { symtab->debugformat = obsavestring (subfile->debugformat, - strlen (subfile->debugformat), - &objfile->symbol_obstack); + strlen (subfile->debugformat), + &objfile->symbol_obstack); } /* All symtabs for the main file and the subfiles share a @@ -980,23 +995,23 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section) } if (subfile->name != NULL) { - free ((void *) subfile->name); + xfree ((void *) subfile->name); } if (subfile->dirname != NULL) { - free ((void *) subfile->dirname); + xfree ((void *) subfile->dirname); } if (subfile->line_vector != NULL) { - free ((void *) subfile->line_vector); + xfree ((void *) subfile->line_vector); } if (subfile->debugformat != NULL) { - free ((void *) subfile->debugformat); + xfree ((void *) subfile->debugformat); } nextsub = subfile->next; - free ((void *) subfile); + xfree ((void *) subfile); } /* Set this for the main source file. */ @@ -1025,7 +1040,7 @@ push_context (int desc, CORE_ADDR valu) context_stack_size *= 2; context_stack = (struct context_stack *) xrealloc ((char *) context_stack, - (context_stack_size * sizeof (struct context_stack))); + (context_stack_size * sizeof (struct context_stack))); } new = &context_stack[context_stack_depth++]; @@ -1042,33 +1057,13 @@ push_context (int desc, CORE_ADDR valu) return new; } + /* Compute a small integer hash code for the given name. */ int hashname (char *name) { - register char *p = name; - register int total = p[0]; - register int c; - - c = p[1]; - total += c << 2; - if (c) - { - c = p[2]; - total += c << 4; - if (c) - { - total += p[3] << 6; - } - } - - /* Ensure result is positive. */ - if (total < 0) - { - total += (1000 << 6); - } - return (total % HASHSIZE); + return (hash(name,strlen(name)) % HASHSIZE); } @@ -1111,7 +1106,7 @@ merge_symbol_lists (struct pending **srclist, struct pending **targetlist) corresponding to a psymtab. */ void -buildsym_init () +buildsym_init (void) { free_pendings = NULL; file_symbols = NULL; @@ -1124,7 +1119,7 @@ buildsym_init () file, e.g. a shared library). */ void -buildsym_new_init () +buildsym_new_init (void) { buildsym_init (); } diff --git a/contrib/gdb/gdb/buildsym.h b/contrib/gdb/gdb/buildsym.h index e3a34c9..40a339d 100644 --- a/contrib/gdb/gdb/buildsym.h +++ b/contrib/gdb/gdb/buildsym.h @@ -1,21 +1,23 @@ /* Build symbol tables in GDB's internal format. - Copyright 1986-1993, 1996-1999 Free Software Foundation, Inc. + Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1996, + 1997, 1998, 1999, 2000 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #if !defined (BUILDSYM_H) #define BUILDSYM_H 1 @@ -230,6 +232,8 @@ EXTERN int type_vector_length; #define INITIAL_TYPE_VECTOR_LENGTH 160 +extern void add_free_pendings (struct pending *list); + extern void add_symbol_to_list (struct symbol *symbol, struct pending **listhead); @@ -242,7 +246,7 @@ extern void finish_block (struct symbol *symbol, CORE_ADDR start, CORE_ADDR end, struct objfile *objfile); -extern void really_free_pendings (int foo); +extern void really_free_pendings (PTR dummy); extern void start_subfile (char *name, char *dirname); diff --git a/contrib/gdb/gdb/c-exp.y b/contrib/gdb/gdb/c-exp.y index 377f92a..3d2d1aa 100644 --- a/contrib/gdb/gdb/c-exp.y +++ b/contrib/gdb/gdb/c-exp.y @@ -1,5 +1,6 @@ /* YACC parser for C expressions, for GDB. - Copyright (C) 1986, 1989, 1990, 1991, 1993, 1994, 1996, 1997 + Copyright 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, + 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GDB. @@ -102,14 +103,11 @@ extern int hp_som_som_object_present; #define YYDEBUG 0 /* Default to no yydebug support */ #endif -int -yyparse PARAMS ((void)); +int yyparse (void); -static int -yylex PARAMS ((void)); +static int yylex (void); -void -yyerror PARAMS ((char *)); +void yyerror (char *); %} @@ -144,8 +142,7 @@ yyerror PARAMS ((char *)); %{ /* YYSTYPE gets defined by %union */ -static int -parse_number PARAMS ((char *, int, int, YYSTYPE *)); +static int parse_number (char *, int, int, YYSTYPE *); %} %type exp exp1 type_exp start variable qualified_name lcurly @@ -721,21 +718,26 @@ variable: name_not_typename } ; +space_identifier : '@' NAME + { push_type_address_space (copy_name ($2.stoken)); + push_type (tp_space_identifier); + } + ; -ptype : typebase - /* "const" and "volatile" are curently ignored. A type qualifier - before the type is currently handled in the typebase rule. - The reason for recognizing these here (shift/reduce conflicts) - might be obsolete now that some pointer to member rules have - been deleted. */ - | typebase CONST_KEYWORD - | typebase VOLATILE_KEYWORD - | typebase abs_decl - { $$ = follow_types ($1); } - | typebase CONST_KEYWORD abs_decl - { $$ = follow_types ($1); } - | typebase VOLATILE_KEYWORD abs_decl - { $$ = follow_types ($1); } +const_or_volatile: const_or_volatile_noopt + | + ; + +cv_with_space_id : const_or_volatile space_identifier const_or_volatile + ; + +const_or_volatile_or_space_identifier_noopt: cv_with_space_id + | const_or_volatile_noopt + ; + +const_or_volatile_or_space_identifier: + const_or_volatile_or_space_identifier_noopt + | ; abs_decl: '*' @@ -815,6 +817,10 @@ typebase /* Implements (approximately): (type-qualifier)* type-specifier */ { $$ = builtin_type_unsigned_long_long; } | UNSIGNED LONG LONG INT_KEYWORD { $$ = builtin_type_unsigned_long_long; } + | SIGNED_KEYWORD LONG LONG + { $$ = lookup_signed_typename ("long long"); } + | SIGNED_KEYWORD LONG LONG INT_KEYWORD + { $$ = lookup_signed_typename ("long long"); } | SHORT INT_KEYWORD { $$ = builtin_type_short; } | UNSIGNED SHORT INT_KEYWORD @@ -850,11 +856,10 @@ typebase /* Implements (approximately): (type-qualifier)* type-specifier */ { $$ = lookup_template_type(copy_name($2), $4, expression_context_block); } - /* "const" and "volatile" are curently ignored. A type qualifier - after the type is handled in the ptype rule. I think these could - be too. */ - | CONST_KEYWORD typebase { $$ = $2; } - | VOLATILE_KEYWORD typebase { $$ = $2; } + | const_or_volatile_or_space_identifier_noopt typebase + { $$ = follow_types ($2); } + | typebase const_or_volatile_or_space_identifier_noopt + { $$ = follow_types ($1); } ; typename: TYPENAME @@ -891,6 +896,25 @@ nonempty_typelist } ; +ptype : typebase + | ptype const_or_volatile_or_space_identifier abs_decl const_or_volatile_or_space_identifier + { $$ = follow_types ($1); } + ; + +const_and_volatile: CONST_KEYWORD VOLATILE_KEYWORD + | VOLATILE_KEYWORD CONST_KEYWORD + ; + +const_or_volatile_noopt: const_and_volatile + { push_type (tp_const); + push_type (tp_volatile); + } + | CONST_KEYWORD + { push_type (tp_const); } + | VOLATILE_KEYWORD + { push_type (tp_volatile); } + ; + name : NAME { $$ = $1.stoken; } | BLOCKNAME { $$ = $1.stoken; } | TYPENAME { $$ = $1.stoken; } @@ -1437,8 +1461,6 @@ yylex () if (c == '<') { - if (hp_som_som_object_present) - { /* Scan ahead to get rest of the template specification. Note that we look ahead only when the '<' adjoins non-whitespace characters; for comparison expressions, e.g. "a < b > c", @@ -1448,26 +1470,6 @@ yylex () if (p) namelen = p - tokstart; break; - } - else - { - int i = namelen; - int nesting_level = 1; - while (tokstart[++i]) - { - if (tokstart[i] == '<') - nesting_level++; - else if (tokstart[i] == '>') - { - if (--nesting_level == 0) - break; - } - } - if (tokstart[i] == '>') - namelen = i; - else - break; - } } c = tokstart[++namelen]; } @@ -1706,7 +1708,7 @@ yylex () return TYPENAME; } if ((yylval.tsym.type = lookup_primitive_typename (tmp)) != 0) - return TYPENAME; + return TYPENAME; /* Input names that aren't symbols but ARE valid hex numbers, when the input radix permits them, can be names or numbers diff --git a/contrib/gdb/gdb/c-lang.c b/contrib/gdb/gdb/c-lang.c index e7aa055..fa977cd 100644 --- a/contrib/gdb/gdb/c-lang.c +++ b/contrib/gdb/gdb/c-lang.c @@ -1,21 +1,23 @@ /* C language support routines for GDB, the GNU debugger. - Copyright 1992, 1993, 1994 Free Software Foundation, Inc. + Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2002 + Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include "defs.h" #include "symtab.h" @@ -24,18 +26,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "parser-defs.h" #include "language.h" #include "c-lang.h" +#include "valprint.h" -static void c_emit_char PARAMS ((int c, GDB_FILE *stream, int quoter)); +extern void _initialize_c_language (void); +static void c_emit_char (int c, struct ui_file * stream, int quoter); /* Print the character C on STREAM as part of the contents of a literal string whose delimiter is QUOTER. Note that that format for printing characters and strings is language specific. */ static void -c_emit_char (c, stream, quoter) - register int c; - GDB_FILE *stream; - int quoter; +c_emit_char (register int c, struct ui_file *stream, int quoter) { c &= 0xFF; /* Avoid sign bit follies */ @@ -66,12 +67,18 @@ c_emit_char (c, stream, quoter) case '\r': fputs_filtered ("\\r", stream); break; + case '\013': + fputs_filtered ("\\v", stream); + break; case '\033': fputs_filtered ("\\e", stream); break; case '\007': fputs_filtered ("\\a", stream); break; + case '\0': + fputs_filtered ("\\0", stream); + break; default: fprintf_filtered (stream, "\\%.3o", (unsigned int) c); break; @@ -80,9 +87,7 @@ c_emit_char (c, stream, quoter) } void -c_printchar (c, stream) - int c; - GDB_FILE *stream; +c_printchar (int c, struct ui_file *stream) { fputc_filtered ('\'', stream); LA_EMIT_CHAR (c, stream, '\''); @@ -96,27 +101,22 @@ c_printchar (c, stream) printing LENGTH characters, or if FORCE_ELLIPSES. */ void -c_printstr (stream, string, length, width, force_ellipses) - GDB_FILE *stream; - char *string; - unsigned int length; - int width; - int force_ellipses; +c_printstr (struct ui_file *stream, char *string, unsigned int length, + int width, int force_ellipses) { register unsigned int i; unsigned int things_printed = 0; int in_quotes = 0; int need_comma = 0; extern int inspect_it; - extern int repeat_count_threshold; - extern int print_max; /* If the string was not truncated due to `set print elements', and the last byte of it is a null, we don't print that, in traditional C style. */ if (!force_ellipses && length > 0 - && extract_unsigned_integer (string + (length - 1) * width, width) == '\0') + && (extract_unsigned_integer (string + (length - 1) * width, width) + == '\0')) length--; if (length == 0) @@ -128,7 +128,7 @@ c_printstr (stream, string, length, width, force_ellipses) for (i = 0; i < length && things_printed < print_max; ++i) { /* Position of the character we are examining - to see whether it is repeated. */ + to see whether it is repeated. */ unsigned int rep1; /* Number of repetitions we have detected so far. */ unsigned int reps; @@ -148,7 +148,7 @@ c_printstr (stream, string, length, width, force_ellipses) reps = 1; while (rep1 < length && extract_unsigned_integer (string + rep1 * width, width) - == current_char) + == current_char) { ++rep1; ++reps; @@ -222,177 +222,170 @@ c_printstr (stream, string, length, width, force_ellipses) debugging information supplied by the compiler. fnf@cygnus.com */ struct type * -c_create_fundamental_type (objfile, typeid) - struct objfile *objfile; - int typeid; +c_create_fundamental_type (struct objfile *objfile, int typeid) { register struct type *type = NULL; switch (typeid) { - default: - /* FIXME: For now, if we are asked to produce a type not in this - language, create the equivalent of a C integer type with the - name "". When all the dust settles from the type - reconstruction work, this should probably become an error. */ - type = init_type (TYPE_CODE_INT, - TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "", objfile); - warning ("internal error: no C/C++ fundamental type %d", typeid); - break; - case FT_VOID: - type = init_type (TYPE_CODE_VOID, - TARGET_CHAR_BIT / TARGET_CHAR_BIT, - 0, "void", objfile); - break; - case FT_BOOLEAN: - type = init_type (TYPE_CODE_BOOL, - TARGET_CHAR_BIT / TARGET_CHAR_BIT, - 0, "bool", objfile); - - break; - case FT_CHAR: - type = init_type (TYPE_CODE_INT, - TARGET_CHAR_BIT / TARGET_CHAR_BIT, - 0, "char", objfile); - TYPE_FLAGS (type) |= TYPE_FLAG_NOSIGN; - break; - case FT_SIGNED_CHAR: - type = init_type (TYPE_CODE_INT, - TARGET_CHAR_BIT / TARGET_CHAR_BIT, - 0, "signed char", objfile); - break; - case FT_UNSIGNED_CHAR: - type = init_type (TYPE_CODE_INT, - TARGET_CHAR_BIT / TARGET_CHAR_BIT, - TYPE_FLAG_UNSIGNED, "unsigned char", objfile); - break; - case FT_SHORT: - type = init_type (TYPE_CODE_INT, - TARGET_SHORT_BIT / TARGET_CHAR_BIT, - 0, "short", objfile); - break; - case FT_SIGNED_SHORT: - type = init_type (TYPE_CODE_INT, - TARGET_SHORT_BIT / TARGET_CHAR_BIT, - 0, "short", objfile); /* FIXME-fnf */ - break; - case FT_UNSIGNED_SHORT: - type = init_type (TYPE_CODE_INT, - TARGET_SHORT_BIT / TARGET_CHAR_BIT, - TYPE_FLAG_UNSIGNED, "unsigned short", objfile); - break; - case FT_INTEGER: - type = init_type (TYPE_CODE_INT, - TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "int", objfile); - break; - case FT_SIGNED_INTEGER: - type = init_type (TYPE_CODE_INT, - TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "int", objfile); /* FIXME -fnf */ - break; - case FT_UNSIGNED_INTEGER: - type = init_type (TYPE_CODE_INT, - TARGET_INT_BIT / TARGET_CHAR_BIT, - TYPE_FLAG_UNSIGNED, "unsigned int", objfile); - break; - case FT_LONG: - type = init_type (TYPE_CODE_INT, - TARGET_LONG_BIT / TARGET_CHAR_BIT, - 0, "long", objfile); - break; - case FT_SIGNED_LONG: - type = init_type (TYPE_CODE_INT, - TARGET_LONG_BIT / TARGET_CHAR_BIT, - 0, "long", objfile); /* FIXME -fnf */ - break; - case FT_UNSIGNED_LONG: - type = init_type (TYPE_CODE_INT, - TARGET_LONG_BIT / TARGET_CHAR_BIT, - TYPE_FLAG_UNSIGNED, "unsigned long", objfile); - break; - case FT_LONG_LONG: - type = init_type (TYPE_CODE_INT, - TARGET_LONG_LONG_BIT / TARGET_CHAR_BIT, - 0, "long long", objfile); - break; - case FT_SIGNED_LONG_LONG: - type = init_type (TYPE_CODE_INT, - TARGET_LONG_LONG_BIT / TARGET_CHAR_BIT, - 0, "signed long long", objfile); - break; - case FT_UNSIGNED_LONG_LONG: - type = init_type (TYPE_CODE_INT, - TARGET_LONG_LONG_BIT / TARGET_CHAR_BIT, - TYPE_FLAG_UNSIGNED, "unsigned long long", objfile); - break; - case FT_FLOAT: - type = init_type (TYPE_CODE_FLT, - TARGET_FLOAT_BIT / TARGET_CHAR_BIT, - 0, "float", objfile); - break; - case FT_DBL_PREC_FLOAT: - type = init_type (TYPE_CODE_FLT, - TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "double", objfile); - break; - case FT_EXT_PREC_FLOAT: - type = init_type (TYPE_CODE_FLT, - TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "long double", objfile); - break; - case FT_TEMPLATE_ARG: - type = init_type (TYPE_CODE_TEMPLATE_ARG, - 0, - 0, "