From c1aa2a27e755c883b5c49b223120dfb712ea4e28 Mon Sep 17 00:00:00 2001 From: nobody <> Date: Sat, 7 Sep 2002 00:00:05 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'sid-20020905-branch'. Sprout from gdb_5_3-branch 2002-09-03 22:29:15 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'gdb_5_3-branch'.' Cherrypick from master 2002-09-07 00:00:04 UTC Alan Modra 'daily update': bfd/ChangeLog bfd/config.bfd bfd/version.h include/ChangeLog include/dis-asm.h libiberty/ChangeLog libiberty/regex.c opcodes/ChangeLog opcodes/disassemble.c opcodes/ppc-dis.c opcodes/ppc-opc.c Delete: djunpack.bat gdb/CONTRIBUTE gdb/COPYING gdb/ChangeLog gdb/ChangeLog-1990 gdb/ChangeLog-1991 gdb/ChangeLog-1992 gdb/ChangeLog-1993 gdb/ChangeLog-1994 gdb/ChangeLog-1995 gdb/ChangeLog-1996 gdb/ChangeLog-1997 gdb/ChangeLog-1998 gdb/ChangeLog-1999 gdb/ChangeLog-2000 gdb/ChangeLog-2001 gdb/ChangeLog-3.x gdb/MAINTAINERS gdb/Makefile.in gdb/NEWS gdb/PROBLEMS gdb/README gdb/TODO gdb/a68v-nat.c gdb/abug-rom.c gdb/acconfig.h gdb/acinclude.m4 gdb/aclocal.m4 gdb/ada-exp.y gdb/ada-lang.c gdb/ada-lang.h gdb/ada-lex.l gdb/ada-tasks.c gdb/ada-typeprint.c gdb/ada-valprint.c gdb/aix-thread.c gdb/alpha-linux-tdep.c gdb/alpha-nat.c gdb/alpha-osf1-tdep.c gdb/alpha-tdep.c gdb/alpha-tdep.h gdb/alphabsd-nat.c gdb/alphabsd-tdep.c gdb/alphabsd-tdep.h gdb/alphafbsd-tdep.c gdb/alphanbsd-tdep.c gdb/annotate.c gdb/annotate.h gdb/arc-tdep.c gdb/arch-utils.c gdb/arch-utils.h gdb/arm-linux-nat.c gdb/arm-linux-tdep.c gdb/arm-tdep.c gdb/arm-tdep.h gdb/armnbsd-nat.c gdb/armnbsd-tdep.c gdb/avr-tdep.c gdb/ax-gdb.c gdb/ax-gdb.h gdb/ax-general.c gdb/ax.h gdb/bcache.c gdb/bcache.h gdb/blockframe.c gdb/breakpoint.c gdb/breakpoint.h gdb/buildsym.c gdb/buildsym.h gdb/builtin-regs.c gdb/builtin-regs.h gdb/c-exp.y gdb/c-lang.c gdb/c-lang.h gdb/c-typeprint.c gdb/c-valprint.c gdb/call-cmds.h gdb/ch-exp.c gdb/ch-lang.c gdb/ch-lang.h gdb/ch-typeprint.c gdb/ch-valprint.c gdb/cli-out.c gdb/cli-out.h gdb/cli/cli-cmds.c gdb/cli/cli-cmds.h gdb/cli/cli-decode.c gdb/cli/cli-decode.h gdb/cli/cli-dump.c gdb/cli/cli-dump.h gdb/cli/cli-script.c gdb/cli/cli-script.h gdb/cli/cli-setshow.c gdb/cli/cli-setshow.h gdb/cli/cli-utils.c gdb/cli/cli-utils.h gdb/coff-solib.c gdb/coff-solib.h gdb/coffread.c gdb/command.h gdb/complaints.c gdb/complaints.h gdb/completer.c gdb/completer.h gdb/config.in gdb/config/alpha/alpha-linux.mh gdb/config/alpha/alpha-linux.mt gdb/config/alpha/alpha-osf1.mh gdb/config/alpha/alpha-osf1.mt gdb/config/alpha/alpha-osf2.mh gdb/config/alpha/alpha-osf3.mh gdb/config/alpha/alpha.mt gdb/config/alpha/fbsd.mh gdb/config/alpha/fbsd.mt gdb/config/alpha/nbsd.mh gdb/config/alpha/nbsd.mt gdb/config/alpha/nm-fbsd.h gdb/config/alpha/nm-linux.h gdb/config/alpha/nm-nbsd.h gdb/config/alpha/nm-osf.h gdb/config/alpha/nm-osf2.h gdb/config/alpha/nm-osf3.h gdb/config/alpha/tm-alpha.h gdb/config/alpha/tm-alphalinux.h gdb/config/alpha/tm-fbsd.h gdb/config/alpha/tm-nbsd.h gdb/config/alpha/xm-alphalinux.h gdb/config/alpha/xm-alphaosf.h gdb/config/arc/arc.mt gdb/config/arc/tm-arc.h gdb/config/arm/embed.mt gdb/config/arm/linux.mh gdb/config/arm/linux.mt gdb/config/arm/nbsd.mt gdb/config/arm/nbsdaout.mh gdb/config/arm/nbsdelf.mh gdb/config/arm/nm-linux.h gdb/config/arm/nm-nbsd.h gdb/config/arm/nm-nbsdaout.h gdb/config/arm/tm-arm.h gdb/config/arm/tm-embed.h gdb/config/arm/tm-linux.h gdb/config/arm/tm-wince.h gdb/config/arm/wince.mt gdb/config/arm/xm-linux.h gdb/config/arm/xm-nbsd.h gdb/config/avr/avr.mt gdb/config/cris/cris.mt gdb/config/cris/tm-cris.h gdb/config/d10v/d10v.mt gdb/config/d30v/d30v.mt gdb/config/d30v/tm-d30v.h gdb/config/djgpp/README gdb/config/djgpp/config.sed gdb/config/djgpp/djcheck.sh gdb/config/djgpp/djconfig.sh gdb/config/djgpp/fnchange.lst gdb/config/fr30/fr30.mt gdb/config/fr30/tm-fr30.h gdb/config/frv/frv.mt gdb/config/frv/tm-frv.h gdb/config/h8300/h8300.mt gdb/config/h8300/tm-h8300.h gdb/config/h8500/h8500.mt gdb/config/h8500/tm-h8500.h gdb/config/i386/cygwin.mh gdb/config/i386/cygwin.mt gdb/config/i386/embed.mt gdb/config/i386/fbsd.mh gdb/config/i386/fbsd.mt gdb/config/i386/gdbserve.mt gdb/config/i386/go32.mh gdb/config/i386/go32.mt gdb/config/i386/i386aix.mh gdb/config/i386/i386aix.mt gdb/config/i386/i386aout.mt gdb/config/i386/i386bsd.mh gdb/config/i386/i386bsd.mt gdb/config/i386/i386dgux.mh gdb/config/i386/i386gnu.mh gdb/config/i386/i386gnu.mt gdb/config/i386/i386lynx.mh gdb/config/i386/i386lynx.mt gdb/config/i386/i386m3.mh gdb/config/i386/i386m3.mt gdb/config/i386/i386mach.mh gdb/config/i386/i386mk.mh gdb/config/i386/i386mk.mt gdb/config/i386/i386nw.mt gdb/config/i386/i386os9k.mt gdb/config/i386/i386sco.mh gdb/config/i386/i386sco4.mh gdb/config/i386/i386sco5.mh gdb/config/i386/i386sco5.mt gdb/config/i386/i386sol2.mh gdb/config/i386/i386sol2.mt gdb/config/i386/i386v.mh gdb/config/i386/i386v.mt gdb/config/i386/i386v32.mh gdb/config/i386/i386v4.mh gdb/config/i386/i386v4.mt gdb/config/i386/i386v42mp.mh gdb/config/i386/i386v42mp.mt gdb/config/i386/linux.mh gdb/config/i386/linux.mt gdb/config/i386/nbsd.mt gdb/config/i386/nbsdaout.mh gdb/config/i386/nbsdelf.mh gdb/config/i386/ncr3000.mh gdb/config/i386/ncr3000.mt gdb/config/i386/nm-cygwin.h gdb/config/i386/nm-fbsd.h gdb/config/i386/nm-go32.h gdb/config/i386/nm-i386.h gdb/config/i386/nm-i386aix.h gdb/config/i386/nm-i386bsd.h gdb/config/i386/nm-i386gnu.h gdb/config/i386/nm-i386lynx.h gdb/config/i386/nm-i386mach.h gdb/config/i386/nm-i386sco.h gdb/config/i386/nm-i386sco4.h gdb/config/i386/nm-i386sco5.h gdb/config/i386/nm-i386sol2.h gdb/config/i386/nm-i386v.h gdb/config/i386/nm-i386v4.h gdb/config/i386/nm-i386v42mp.h gdb/config/i386/nm-linux.h gdb/config/i386/nm-m3.h gdb/config/i386/nm-nbsd.h gdb/config/i386/nm-nbsdaout.h gdb/config/i386/nm-obsd.h gdb/config/i386/nm-ptx4.h gdb/config/i386/nm-symmetry.h gdb/config/i386/nm-x86-64linux.h gdb/config/i386/obsd.mh gdb/config/i386/ptx.mh gdb/config/i386/ptx.mt gdb/config/i386/ptx4.mh gdb/config/i386/ptx4.mt gdb/config/i386/symmetry.mh gdb/config/i386/symmetry.mt gdb/config/i386/tm-cygwin.h gdb/config/i386/tm-fbsd.h gdb/config/i386/tm-go32.h gdb/config/i386/tm-i386.h gdb/config/i386/tm-i386aix.h gdb/config/i386/tm-i386bsd.h gdb/config/i386/tm-i386lynx.h gdb/config/i386/tm-i386m3.h gdb/config/i386/tm-i386mk.h gdb/config/i386/tm-i386os9k.h gdb/config/i386/tm-i386sol2.h gdb/config/i386/tm-i386v4.h gdb/config/i386/tm-i386v42mp.h gdb/config/i386/tm-linux.h gdb/config/i386/tm-nbsd.h gdb/config/i386/tm-ptx.h gdb/config/i386/tm-ptx4.h gdb/config/i386/tm-symmetry.h gdb/config/i386/tm-vxworks.h gdb/config/i386/tm-x86-64linux.h gdb/config/i386/vxworks.mt gdb/config/i386/x86-64linux.mh gdb/config/i386/x86-64linux.mt gdb/config/i386/xm-cygwin.h gdb/config/i386/xm-go32.h gdb/config/i386/xm-i386.h gdb/config/i386/xm-i386aix.h gdb/config/i386/xm-i386bsd.h gdb/config/i386/xm-i386m3.h gdb/config/i386/xm-i386mach.h gdb/config/i386/xm-i386mk.h gdb/config/i386/xm-i386sco.h gdb/config/i386/xm-i386v.h gdb/config/i386/xm-i386v32.h gdb/config/i386/xm-i386v4.h gdb/config/i386/xm-nbsd.h gdb/config/i386/xm-ptx.h gdb/config/i386/xm-ptx4.h gdb/config/i386/xm-symmetry.h gdb/config/i960/mon960.mt gdb/config/i960/nindy960.mt gdb/config/i960/tm-i960.h gdb/config/i960/tm-mon960.h gdb/config/i960/tm-nindy960.h gdb/config/i960/tm-vx960.h gdb/config/i960/vxworks960.mt gdb/config/ia64/aix.mh gdb/config/ia64/aix.mt gdb/config/ia64/ia64.mt gdb/config/ia64/linux.mh gdb/config/ia64/linux.mt gdb/config/ia64/nm-aix.h gdb/config/ia64/nm-linux.h gdb/config/ia64/tm-aix.h gdb/config/ia64/tm-ia64.h gdb/config/ia64/tm-linux.h gdb/config/ia64/xm-aix.h gdb/config/ia64/xm-linux.h gdb/config/m32r/m32r.mt gdb/config/m32r/tm-m32r.h gdb/config/m68hc11/m68hc11.mt gdb/config/m68k/3b1.mh gdb/config/m68k/3b1.mt gdb/config/m68k/apollo68b.mh gdb/config/m68k/apollo68b.mt gdb/config/m68k/apollo68v.mh gdb/config/m68k/cisco.mt gdb/config/m68k/delta68.mh gdb/config/m68k/delta68.mt gdb/config/m68k/dpx2.mh gdb/config/m68k/dpx2.mt gdb/config/m68k/es1800.mt gdb/config/m68k/hp300bsd.mh gdb/config/m68k/hp300bsd.mt gdb/config/m68k/hp300hpux.mh gdb/config/m68k/hp300hpux.mt gdb/config/m68k/linux.mh gdb/config/m68k/linux.mt gdb/config/m68k/m68klynx.mh gdb/config/m68k/m68klynx.mt gdb/config/m68k/m68kv4.mh gdb/config/m68k/m68kv4.mt gdb/config/m68k/monitor.mt gdb/config/m68k/nbsdaout.mh gdb/config/m68k/nbsdaout.mt gdb/config/m68k/nm-apollo68b.h gdb/config/m68k/nm-apollo68v.h gdb/config/m68k/nm-delta68.h gdb/config/m68k/nm-dpx2.h gdb/config/m68k/nm-hp300bsd.h gdb/config/m68k/nm-hp300hpux.h gdb/config/m68k/nm-linux.h gdb/config/m68k/nm-m68klynx.h gdb/config/m68k/nm-nbsd.h gdb/config/m68k/nm-nbsdaout.h gdb/config/m68k/nm-sun2.h gdb/config/m68k/nm-sun3.h gdb/config/m68k/nm-sysv4.h gdb/config/m68k/os68k.mt gdb/config/m68k/st2000.mt gdb/config/m68k/sun2os3.mh gdb/config/m68k/sun2os3.mt gdb/config/m68k/sun2os4.mh gdb/config/m68k/sun2os4.mt gdb/config/m68k/sun3os3.mh gdb/config/m68k/sun3os3.mt gdb/config/m68k/sun3os4.mh gdb/config/m68k/sun3os4.mt gdb/config/m68k/tm-3b1.h gdb/config/m68k/tm-apollo68b.h gdb/config/m68k/tm-cisco.h gdb/config/m68k/tm-delta68.h gdb/config/m68k/tm-dpx2.h gdb/config/m68k/tm-es1800.h gdb/config/m68k/tm-hp300bsd.h gdb/config/m68k/tm-hp300hpux.h gdb/config/m68k/tm-linux.h gdb/config/m68k/tm-m68k.h gdb/config/m68k/tm-m68klynx.h gdb/config/m68k/tm-m68kv4.h gdb/config/m68k/tm-mac.h gdb/config/m68k/tm-monitor.h gdb/config/m68k/tm-nbsd.h gdb/config/m68k/tm-os68k.h gdb/config/m68k/tm-st2000.h gdb/config/m68k/tm-sun2.h gdb/config/m68k/tm-sun2os4.h gdb/config/m68k/tm-sun3.h gdb/config/m68k/tm-sun3os4.h gdb/config/m68k/tm-vx68.h gdb/config/m68k/vxworks68.mt gdb/config/m68k/xm-3b1.h gdb/config/m68k/xm-apollo68b.h gdb/config/m68k/xm-apollo68v.h gdb/config/m68k/xm-delta68.h gdb/config/m68k/xm-dpx2.h gdb/config/m68k/xm-hp300bsd.h gdb/config/m68k/xm-hp300hpux.h gdb/config/m68k/xm-linux.h gdb/config/m68k/xm-m68k.h gdb/config/m68k/xm-m68kv4.h gdb/config/m68k/xm-nbsd.h gdb/config/m68k/xm-sun2.h gdb/config/m68k/xm-sun3.h gdb/config/m68k/xm-sun3os4.h gdb/config/m88k/delta88.mh gdb/config/m88k/delta88.mt gdb/config/m88k/delta88v4.mh gdb/config/m88k/delta88v4.mt gdb/config/m88k/m88k.mh gdb/config/m88k/m88k.mt gdb/config/m88k/nm-delta88v4.h gdb/config/m88k/nm-m88k.h gdb/config/m88k/tm-delta88.h gdb/config/m88k/tm-delta88v4.h gdb/config/m88k/tm-m88k.h gdb/config/m88k/xm-delta88.h gdb/config/m88k/xm-delta88v4.h gdb/config/m88k/xm-dgux.h gdb/config/mcore/mcore.mt gdb/config/mips/bigmips.mt gdb/config/mips/bigmips64.mt gdb/config/mips/decstation.mh gdb/config/mips/decstation.mt gdb/config/mips/embed.mt gdb/config/mips/embed64.mt gdb/config/mips/embedl.mt gdb/config/mips/embedl64.mt gdb/config/mips/irix3.mh gdb/config/mips/irix3.mt gdb/config/mips/irix4.mh gdb/config/mips/irix5.mh gdb/config/mips/irix5.mt gdb/config/mips/irix6.mh gdb/config/mips/irix6.mt gdb/config/mips/linux.mh gdb/config/mips/linux.mt gdb/config/mips/littlemips.mh gdb/config/mips/littlemips.mt gdb/config/mips/mipsm3.mh gdb/config/mips/mipsm3.mt gdb/config/mips/mipsv4.mh gdb/config/mips/mipsv4.mt gdb/config/mips/nbsd.mh gdb/config/mips/nbsd.mt gdb/config/mips/news-mips.mh gdb/config/mips/nm-irix3.h gdb/config/mips/nm-irix4.h gdb/config/mips/nm-irix5.h gdb/config/mips/nm-irix6.h gdb/config/mips/nm-linux.h gdb/config/mips/nm-mips.h gdb/config/mips/nm-nbsd.h gdb/config/mips/nm-news-mips.h gdb/config/mips/nm-riscos.h gdb/config/mips/riscos.mh gdb/config/mips/tm-bigmips.h gdb/config/mips/tm-bigmips64.h gdb/config/mips/tm-embed.h gdb/config/mips/tm-embed64.h gdb/config/mips/tm-embedl.h gdb/config/mips/tm-embedl64.h gdb/config/mips/tm-irix3.h gdb/config/mips/tm-irix5.h gdb/config/mips/tm-irix6.h gdb/config/mips/tm-linux.h gdb/config/mips/tm-mips.h gdb/config/mips/tm-mips64.h gdb/config/mips/tm-mipsm3.h gdb/config/mips/tm-mipsv4.h gdb/config/mips/tm-nbsd.h gdb/config/mips/tm-tx39.h gdb/config/mips/tm-tx39l.h gdb/config/mips/tm-vr4100.h gdb/config/mips/tm-vr4300.h gdb/config/mips/tm-vr4300el.h gdb/config/mips/tm-vr4xxx.h gdb/config/mips/tm-vr4xxxel.h gdb/config/mips/tm-vr5000.h gdb/config/mips/tm-vr5000el.h gdb/config/mips/tm-vxmips.h gdb/config/mips/tm-wince.h gdb/config/mips/tx39.mt gdb/config/mips/tx39l.mt gdb/config/mips/vr4100.mt gdb/config/mips/vr4300.mt gdb/config/mips/vr4300el.mt gdb/config/mips/vr4xxx.mt gdb/config/mips/vr4xxxel.mt gdb/config/mips/vr5000.mt gdb/config/mips/vr5000el.mt gdb/config/mips/vxmips.mt gdb/config/mips/wince.mt gdb/config/mips/xm-irix3.h gdb/config/mips/xm-irix4.h gdb/config/mips/xm-irix5.h gdb/config/mips/xm-irix6.h gdb/config/mips/xm-linux.h gdb/config/mips/xm-mips.h gdb/config/mips/xm-mipsm3.h gdb/config/mips/xm-mipsv4.h gdb/config/mips/xm-riscos.h gdb/config/mn10200/mn10200.mt gdb/config/mn10200/tm-mn10200.h gdb/config/mn10300/mn10300.mt gdb/config/nm-gnu.h gdb/config/nm-linux.h gdb/config/nm-lynx.h gdb/config/nm-m3.h gdb/config/nm-nbsd.h gdb/config/nm-nbsdaout.h gdb/config/nm-sysv4.h gdb/config/none/nm-none.h gdb/config/none/none.mh gdb/config/none/none.mt gdb/config/none/tm-none.h gdb/config/none/xm-none.h gdb/config/ns32k/nbsdaout.mh gdb/config/ns32k/nbsdaout.mt gdb/config/ns32k/nm-nbsd.h gdb/config/ns32k/nm-nbsdaout.h gdb/config/ns32k/tm-nbsd.h gdb/config/ns32k/tm-ns32k.h gdb/config/ns32k/xm-nbsd.h gdb/config/pa/hppa.mt gdb/config/pa/hppa64.mt gdb/config/pa/hppabsd.mh gdb/config/pa/hppabsd.mt gdb/config/pa/hppahpux.mh gdb/config/pa/hppahpux.mt gdb/config/pa/hppaosf.mh gdb/config/pa/hppaosf.mt gdb/config/pa/hppapro.mt gdb/config/pa/hpux1020.mh gdb/config/pa/hpux1020.mt gdb/config/pa/hpux11.mh gdb/config/pa/hpux11.mt gdb/config/pa/hpux11w.mh gdb/config/pa/hpux11w.mt gdb/config/pa/nm-hppab.h gdb/config/pa/nm-hppah.h gdb/config/pa/nm-hppah11.h gdb/config/pa/nm-hppao.h gdb/config/pa/tm-hppa.h gdb/config/pa/tm-hppa64.h gdb/config/pa/tm-hppab.h gdb/config/pa/tm-hppah.h gdb/config/pa/tm-hppao.h gdb/config/pa/tm-pro.h gdb/config/pa/xm-hppab.h gdb/config/pa/xm-hppah.h gdb/config/pa/xm-pa.h gdb/config/powerpc/aix.mh gdb/config/powerpc/aix.mt gdb/config/powerpc/aix432.mh gdb/config/powerpc/gdbserve.mt gdb/config/powerpc/linux.mh gdb/config/powerpc/linux.mt gdb/config/powerpc/nbsd.mh gdb/config/powerpc/nbsd.mt gdb/config/powerpc/nm-aix.h gdb/config/powerpc/nm-linux.h gdb/config/powerpc/nm-nbsd.h gdb/config/powerpc/ppc-eabi.mt gdb/config/powerpc/ppc-sim.mt gdb/config/powerpc/ppcle-eabi.mt gdb/config/powerpc/ppcle-sim.mt gdb/config/powerpc/tm-linux.h gdb/config/powerpc/tm-nbsd.h gdb/config/powerpc/tm-ppc-aix.h gdb/config/powerpc/tm-ppc-eabi.h gdb/config/powerpc/tm-ppc-sim.h gdb/config/powerpc/tm-ppcle-eabi.h gdb/config/powerpc/tm-ppcle-sim.h gdb/config/powerpc/tm-vxworks.h gdb/config/powerpc/vxworks.mt gdb/config/powerpc/xm-aix.h gdb/config/powerpc/xm-linux.h gdb/config/rs6000/aix4.mh gdb/config/rs6000/aix4.mt gdb/config/rs6000/nm-rs6000.h gdb/config/rs6000/nm-rs6000ly.h gdb/config/rs6000/rs6000.mh gdb/config/rs6000/rs6000.mt gdb/config/rs6000/rs6000lynx.mh gdb/config/rs6000/rs6000lynx.mt gdb/config/rs6000/tm-rs6000-aix4.h gdb/config/rs6000/tm-rs6000.h gdb/config/rs6000/tm-rs6000ly.h gdb/config/rs6000/xm-aix4.h gdb/config/rs6000/xm-rs6000.h gdb/config/s390/nm-linux.h gdb/config/s390/s390.mh gdb/config/s390/s390.mt gdb/config/s390/s390x.mt gdb/config/s390/tm-linux.h gdb/config/s390/tm-s390.h gdb/config/s390/xm-linux.h gdb/config/sh/embed.mt gdb/config/sh/linux.mt gdb/config/sh/nbsd.mh gdb/config/sh/nbsd.mt gdb/config/sh/nm-nbsd.h gdb/config/sh/tm-linux.h gdb/config/sh/tm-nbsd.h gdb/config/sh/tm-sh.h gdb/config/sh/tm-wince.h gdb/config/sh/wince.mt gdb/config/sparc/fbsd.mh gdb/config/sparc/fbsd.mt gdb/config/sparc/linux.mh gdb/config/sparc/linux.mt gdb/config/sparc/nbsd.mt gdb/config/sparc/nbsd64.mh gdb/config/sparc/nbsd64.mt gdb/config/sparc/nbsdaout.mh gdb/config/sparc/nbsdelf.mh gdb/config/sparc/nm-fbsd.h gdb/config/sparc/nm-linux.h gdb/config/sparc/nm-nbsd.h gdb/config/sparc/nm-nbsdaout.h gdb/config/sparc/nm-sparclynx.h gdb/config/sparc/nm-sun4os4.h gdb/config/sparc/nm-sun4sol2.h gdb/config/sparc/sp64.mt gdb/config/sparc/sp64linux.mt gdb/config/sparc/sp64sim.mt gdb/config/sparc/sp64sol2.mt gdb/config/sparc/sparc-em.mt gdb/config/sparc/sparclet.mt gdb/config/sparc/sparclite.mt gdb/config/sparc/sparclynx.mh gdb/config/sparc/sparclynx.mt gdb/config/sparc/sun4os4.mh gdb/config/sparc/sun4os4.mt gdb/config/sparc/sun4sol2.mh gdb/config/sparc/sun4sol2.mt gdb/config/sparc/tm-fbsd.h gdb/config/sparc/tm-linux.h gdb/config/sparc/tm-nbsd.h gdb/config/sparc/tm-nbsd64.h gdb/config/sparc/tm-sp64.h gdb/config/sparc/tm-sp64linux.h gdb/config/sparc/tm-sp64sim.h gdb/config/sparc/tm-sparc.h gdb/config/sparc/tm-sparclet.h gdb/config/sparc/tm-sparclite.h gdb/config/sparc/tm-sparclynx.h gdb/config/sparc/tm-spc-em.h gdb/config/sparc/tm-sun4os4.h gdb/config/sparc/tm-sun4sol2.h gdb/config/sparc/tm-vxsparc.h gdb/config/sparc/vxsparc.mt gdb/config/sparc/xm-linux.h gdb/config/sparc/xm-sun4sol2.h gdb/config/tm-linux.h gdb/config/tm-lynx.h gdb/config/tm-sunos.h gdb/config/tm-sysv4.h gdb/config/tm-vxworks.h gdb/config/v850/v850.mt gdb/config/vax/nm-vax.h gdb/config/vax/tm-vax.h gdb/config/vax/tm-vaxbsd.h gdb/config/vax/vax.mt gdb/config/vax/vaxbsd.mh gdb/config/vax/vaxult.mh gdb/config/vax/vaxult2.mh gdb/config/vax/xm-vax.h gdb/config/vax/xm-vaxbsd.h gdb/config/vax/xm-vaxult.h gdb/config/vax/xm-vaxult2.h gdb/config/xm-aix4.h gdb/config/xm-nbsd.h gdb/config/xm-sysv4.h gdb/config/xstormy16/xstormy16.mt gdb/config/z8k/tm-z8k.h gdb/config/z8k/z8k.mt gdb/configure gdb/configure.host gdb/configure.in gdb/configure.tgt gdb/copying.awk gdb/copying.c gdb/core-aout.c gdb/core-regset.c gdb/core-sol2.c gdb/corefile.c gdb/corelow.c gdb/cp-abi.c gdb/cp-abi.h gdb/cp-valprint.c gdb/cpu32bug-rom.c gdb/cris-tdep.c gdb/cxux-nat.c gdb/d10v-tdep.c gdb/d30v-tdep.c gdb/dbug-rom.c gdb/dbxread.c gdb/dcache.c gdb/dcache.h gdb/defs.h gdb/delta68-nat.c gdb/demangle.c gdb/dink32-rom.c gdb/doc/ChangeLog gdb/doc/LRS gdb/doc/Makefile.in gdb/doc/a4rc.sed gdb/doc/agentexpr.texi gdb/doc/all-cfg.texi gdb/doc/annotate.texi gdb/doc/configure gdb/doc/configure.in gdb/doc/fdl.texi gdb/doc/gdb.texinfo gdb/doc/gdbint.texinfo gdb/doc/gpl.texi gdb/doc/lpsrc.sed gdb/doc/psrc.sed gdb/doc/refcard.tex gdb/doc/stabs.texinfo gdb/doublest.c gdb/doublest.h gdb/dpx2-nat.c gdb/dsrec.c gdb/dst.h gdb/dstread.c gdb/dve3900-rom.c gdb/dwarf2cfi.c gdb/dwarf2cfi.h gdb/dwarf2read.c gdb/dwarfread.c gdb/elfread.c gdb/environ.c gdb/environ.h gdb/eval.c gdb/event-loop.c gdb/event-loop.h gdb/event-top.c gdb/event-top.h gdb/exc_request.defs gdb/exec.c gdb/expprint.c gdb/expression.h gdb/f-exp.y gdb/f-lang.c gdb/f-lang.h gdb/f-typeprint.c gdb/f-valprint.c gdb/fbsd-proc.c gdb/findvar.c gdb/fork-child.c gdb/fr30-tdep.c gdb/frame.c gdb/frame.h gdb/frv-tdep.c gdb/gcore.c gdb/gdb-events.c gdb/gdb-events.h gdb/gdb-events.sh gdb/gdb-stabs.h gdb/gdb.1 gdb/gdb.gdb gdb/gdb.h gdb/gdb_assert.h gdb/gdb_dirent.h gdb/gdb_indent.sh gdb/gdb_locale.h gdb/gdb_obstack.h gdb/gdb_proc_service.h gdb/gdb_regex.h gdb/gdb_stat.h gdb/gdb_string.h gdb/gdb_thread_db.h gdb/gdb_vfork.h gdb/gdb_wait.h gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/gdbcmd.h gdb/gdbcore.h gdb/gdbinit.in gdb/gdbserver/ChangeLog gdb/gdbserver/Makefile.in gdb/gdbserver/README gdb/gdbserver/acconfig.h gdb/gdbserver/acinclude.m4 gdb/gdbserver/aclocal.m4 gdb/gdbserver/config.in gdb/gdbserver/configure gdb/gdbserver/configure.in gdb/gdbserver/configure.srv gdb/gdbserver/gdbreplay.c gdb/gdbserver/gdbserver.1 gdb/gdbserver/i387-fp.c gdb/gdbserver/i387-fp.h gdb/gdbserver/inferiors.c gdb/gdbserver/linux-arm-low.c gdb/gdbserver/linux-i386-low.c gdb/gdbserver/linux-ia64-low.c gdb/gdbserver/linux-low.c gdb/gdbserver/linux-low.h gdb/gdbserver/linux-m68k-low.c gdb/gdbserver/linux-mips-low.c gdb/gdbserver/linux-ppc-low.c gdb/gdbserver/linux-s390-low.c gdb/gdbserver/linux-sh-low.c gdb/gdbserver/linux-x86-64-low.c gdb/gdbserver/low-hppabsd.c gdb/gdbserver/low-lynx.c gdb/gdbserver/low-nbsd.c gdb/gdbserver/low-sim.c gdb/gdbserver/low-sparc.c gdb/gdbserver/low-sun3.c gdb/gdbserver/mem-break.c gdb/gdbserver/mem-break.h gdb/gdbserver/proc-service.c gdb/gdbserver/regcache.c gdb/gdbserver/regcache.h gdb/gdbserver/remote-utils.c gdb/gdbserver/server.c gdb/gdbserver/server.h gdb/gdbserver/target.c gdb/gdbserver/target.h gdb/gdbserver/terminal.h gdb/gdbserver/thread-db.c gdb/gdbserver/utils.c gdb/gdbthread.h gdb/gdbtypes.c gdb/gdbtypes.h gdb/gnu-nat.c gdb/gnu-nat.h gdb/gnu-v2-abi.c gdb/gnu-v3-abi.c gdb/go32-nat.c gdb/gregset.h gdb/h8300-tdep.c gdb/h8500-tdep.c gdb/hp300ux-nat.c gdb/hpacc-abi.c gdb/hppa-tdep.c gdb/hppab-nat.c gdb/hppah-nat.c gdb/hppam3-nat.c gdb/hpread.c gdb/hpux-thread.c gdb/i386-linux-nat.c gdb/i386-linux-tdep.c gdb/i386-linux-tdep.h gdb/i386-nat.c gdb/i386-sol2-tdep.c gdb/i386-stub.c gdb/i386-tdep.c gdb/i386-tdep.h gdb/i386aix-nat.c gdb/i386b-nat.c gdb/i386bsd-nat.c gdb/i386bsd-tdep.c gdb/i386fbsd-nat.c gdb/i386gnu-nat.c gdb/i386gnu-tdep.c gdb/i386ly-tdep.c gdb/i386m3-nat.c gdb/i386mach-nat.c gdb/i386nbsd-tdep.c gdb/i386obsd-nat.c gdb/i386v-nat.c gdb/i386v4-nat.c gdb/i387-tdep.c gdb/i387-tdep.h gdb/i960-tdep.c gdb/ia64-aix-nat.c gdb/ia64-aix-tdep.c gdb/ia64-linux-nat.c gdb/ia64-linux-tdep.c gdb/ia64-tdep.c gdb/inf-loop.c gdb/inf-loop.h gdb/infcmd.c gdb/inferior.h gdb/inflow.c gdb/infptrace.c gdb/infrun.c gdb/inftarg.c gdb/infttrace.c gdb/irix4-nat.c gdb/irix5-nat.c gdb/jv-exp.y gdb/jv-lang.c gdb/jv-lang.h gdb/jv-typeprint.c gdb/jv-valprint.c gdb/kod-cisco.c gdb/kod.c gdb/kod.h gdb/language.c gdb/language.h gdb/lin-lwp.c gdb/linespec.c gdb/linespec.h gdb/linux-proc.c gdb/lynx-nat.c gdb/m2-exp.y gdb/m2-lang.c gdb/m2-lang.h gdb/m2-typeprint.c gdb/m2-valprint.c gdb/m3-nat.c gdb/m32r-rom.c gdb/m32r-stub.c gdb/m32r-tdep.c gdb/m68hc11-tdep.c gdb/m68k-stub.c gdb/m68k-tdep.c gdb/m68klinux-nat.c gdb/m68knbsd-nat.c gdb/m68knbsd-tdep.c gdb/m88k-nat.c gdb/m88k-tdep.c gdb/macrocmd.c gdb/macroexp.c gdb/macroexp.h gdb/macroscope.c gdb/macroscope.h gdb/macrotab.c gdb/macrotab.h gdb/main.c gdb/maint.c gdb/mcore-rom.c gdb/mcore-tdep.c gdb/mdebugread.c gdb/mem-break.c gdb/memattr.c gdb/memattr.h gdb/mi/ChangeLog gdb/mi/gdbmi.texinfo gdb/mi/mi-cmd-break.c gdb/mi/mi-cmd-disas.c gdb/mi/mi-cmd-stack.c gdb/mi/mi-cmd-var.c gdb/mi/mi-cmds.c gdb/mi/mi-cmds.h gdb/mi/mi-console.c gdb/mi/mi-console.h gdb/mi/mi-getopt.c gdb/mi/mi-getopt.h gdb/mi/mi-main.c gdb/mi/mi-out.c gdb/mi/mi-out.h gdb/mi/mi-parse.c gdb/mi/mi-parse.h gdb/minimon.h gdb/minsyms.c gdb/mips-irix-tdep.c gdb/mips-linux-nat.c gdb/mips-linux-tdep.c gdb/mips-nat.c gdb/mips-tdep.c gdb/mipsm3-nat.c gdb/mipsnbsd-nat.c gdb/mipsnbsd-tdep.c gdb/mipsnbsd-tdep.h gdb/mipsread.c gdb/mipsv4-nat.c gdb/mn10200-tdep.c gdb/mn10300-tdep.c gdb/mon960-rom.c gdb/monitor.c gdb/monitor.h gdb/msg.defs gdb/msg_reply.defs gdb/nbsd-tdep.c gdb/nbsd-tdep.h gdb/nindy-share/Makefile gdb/nindy-share/Onindy.c gdb/nindy-share/README gdb/nindy-share/VERSION gdb/nindy-share/b.out.h gdb/nindy-share/block_io.h gdb/nindy-share/coff.h gdb/nindy-share/env.h gdb/nindy-share/nindy.c gdb/nindy-share/stop.h gdb/nindy-share/ttyflush.c gdb/nindy-tdep.c gdb/nlm/Makefile.in gdb/nlm/configure gdb/nlm/configure.in gdb/nlm/gdbserve.c gdb/nlm/gdbserve.def gdb/nlm/i386.c gdb/nlm/i386.h gdb/nlm/ppc.c gdb/nlm/ppc.h gdb/nlm/prelude.c gdb/nlmread.c gdb/notify.defs gdb/ns32k-tdep.c gdb/ns32k-tdep.h gdb/ns32knbsd-nat.c gdb/ns32knbsd-tdep.c gdb/objfiles.c gdb/objfiles.h gdb/ocd.c gdb/ocd.h gdb/op50-rom.c gdb/os9kread.c gdb/osabi.c gdb/osabi.h gdb/osf-share/AT386/cma_thread_io.h gdb/osf-share/HP800/cma_thread_io.h gdb/osf-share/README gdb/osf-share/RIOS/cma_thread_io.h gdb/osf-share/cma_attr.h gdb/osf-share/cma_deb_core.h gdb/osf-share/cma_debug_client.h gdb/osf-share/cma_errors.h gdb/osf-share/cma_handle.h gdb/osf-share/cma_init.h gdb/osf-share/cma_list.h gdb/osf-share/cma_mutex.h gdb/osf-share/cma_sched.h gdb/osf-share/cma_semaphore_defs.h gdb/osf-share/cma_sequence.h gdb/osf-share/cma_stack.h gdb/osf-share/cma_stack_int.h gdb/osf-share/cma_tcb_defs.h gdb/osf-share/cma_util.h gdb/osfsolib.c gdb/p-exp.y gdb/p-lang.c gdb/p-lang.h gdb/p-typeprint.c gdb/p-valprint.c gdb/pa64solib.c gdb/pa64solib.h gdb/parse.c gdb/parser-defs.h gdb/ppc-bdm.c gdb/ppc-linux-nat.c gdb/ppc-linux-tdep.c gdb/ppc-sysv-tdep.c gdb/ppc-tdep.h gdb/ppcbug-rom.c gdb/ppcnbsd-nat.c gdb/ppcnbsd-tdep.c gdb/ppcnbsd-tdep.h gdb/printcmd.c gdb/proc-api.c gdb/proc-events.c gdb/proc-flags.c gdb/proc-service.c gdb/proc-utils.h gdb/proc-why.c gdb/process_reply.defs gdb/procfs.c gdb/ptx4-nat.c gdb/rdi-share/Makefile.am gdb/rdi-share/Makefile.in gdb/rdi-share/README.CYGNUS gdb/rdi-share/aclocal.m4 gdb/rdi-share/adp.h gdb/rdi-share/adperr.h gdb/rdi-share/angel.h gdb/rdi-share/angel_bytesex.c gdb/rdi-share/angel_bytesex.h gdb/rdi-share/angel_endian.h gdb/rdi-share/ardi.c gdb/rdi-share/ardi.h gdb/rdi-share/armdbg.h gdb/rdi-share/buffers.h gdb/rdi-share/chandefs.h gdb/rdi-share/channels.h gdb/rdi-share/chanpriv.h gdb/rdi-share/configure gdb/rdi-share/configure.in gdb/rdi-share/crc.c gdb/rdi-share/crc.h gdb/rdi-share/dbg_conf.h gdb/rdi-share/dbg_cp.h gdb/rdi-share/dbg_hif.h gdb/rdi-share/dbg_rdi.h gdb/rdi-share/devclnt.h gdb/rdi-share/devices.h gdb/rdi-share/devsw.c gdb/rdi-share/devsw.h gdb/rdi-share/drivers.c gdb/rdi-share/drivers.h gdb/rdi-share/etherdrv.c gdb/rdi-share/ethernet.h gdb/rdi-share/host.h gdb/rdi-share/hostchan.c gdb/rdi-share/hostchan.h gdb/rdi-share/hsys.c gdb/rdi-share/hsys.h gdb/rdi-share/logging.c gdb/rdi-share/logging.h gdb/rdi-share/msgbuild.c gdb/rdi-share/msgbuild.h gdb/rdi-share/params.c gdb/rdi-share/params.h gdb/rdi-share/rx.c gdb/rdi-share/rxtx.h gdb/rdi-share/serdrv.c gdb/rdi-share/serpardr.c gdb/rdi-share/sys.h gdb/rdi-share/tx.c gdb/rdi-share/unixcomm.c gdb/rdi-share/unixcomm.h gdb/regcache.c gdb/regcache.h gdb/regformats/reg-arm.dat gdb/regformats/reg-i386-linux.dat gdb/regformats/reg-i386.dat gdb/regformats/reg-ia64.dat gdb/regformats/reg-m68k.dat gdb/regformats/reg-mips.dat gdb/regformats/reg-ppc.dat gdb/regformats/reg-s390.dat gdb/regformats/reg-s390x.dat gdb/regformats/reg-sh.dat gdb/regformats/reg-x86-64.dat gdb/regformats/regdat.sh gdb/regformats/regdef.h gdb/remote-array.c gdb/remote-bug.c gdb/remote-e7000.c gdb/remote-es.c gdb/remote-est.c gdb/remote-hms.c gdb/remote-mips.c gdb/remote-nindy.c gdb/remote-nrom.c gdb/remote-os9k.c gdb/remote-rdi.c gdb/remote-rdp.c gdb/remote-sds.c gdb/remote-sim.c gdb/remote-st.c gdb/remote-utils.c gdb/remote-utils.h gdb/remote-vx.c gdb/remote-vx68.c gdb/remote-vx960.c gdb/remote-vxmips.c gdb/remote-vxsparc.c gdb/remote.c gdb/remote.h gdb/reply_mig_hack.awk gdb/rom68k-rom.c gdb/rs6000-nat.c gdb/rs6000-tdep.c gdb/s390-nat.c gdb/s390-tdep.c gdb/saber.suppress gdb/scm-exp.c gdb/scm-lang.c gdb/scm-lang.h gdb/scm-tags.h gdb/scm-valprint.c gdb/ser-e7kpc.c gdb/ser-go32.c gdb/ser-pipe.c gdb/ser-tcp.c gdb/ser-unix.c gdb/ser-unix.h gdb/serial.c gdb/serial.h gdb/sh-stub.c gdb/sh-tdep.c gdb/sh-tdep.h gdb/sh3-rom.c gdb/shnbsd-nat.c gdb/shnbsd-tdep.c gdb/shnbsd-tdep.h gdb/signals/signals.c gdb/sim-regno.h gdb/sol-thread.c gdb/solib-aix5.c gdb/solib-irix.c gdb/solib-legacy.c gdb/solib-osf.c gdb/solib-sunos.c gdb/solib-svr4.c gdb/solib-svr4.h gdb/solib.c gdb/solib.h gdb/solist.h gdb/somread.c gdb/somsolib.c gdb/somsolib.h gdb/source.c gdb/source.h gdb/sparc-linux-nat.c gdb/sparc-nat.c gdb/sparc-stub.c gdb/sparc-tdep.c gdb/sparc64nbsd-nat.c gdb/sparcl-stub.c gdb/sparcl-tdep.c gdb/sparclet-rom.c gdb/sparclet-stub.c gdb/sparcnbsd-nat.c gdb/sparcnbsd-tdep.c gdb/sparcnbsd-tdep.h gdb/srec.h gdb/stabsread.c gdb/stabsread.h gdb/stack.c gdb/standalone.c gdb/std-regs.c gdb/stop-gdb.c gdb/sun3-nat.c gdb/symfile.c gdb/symfile.h gdb/symm-nat.c gdb/symm-tdep.c gdb/symmisc.c gdb/symtab.c gdb/symtab.h gdb/target.c gdb/target.h gdb/terminal.h gdb/testsuite/.gdbinit gdb/testsuite/ChangeLog gdb/testsuite/Makefile.in gdb/testsuite/TODO gdb/testsuite/aclocal.m4 gdb/testsuite/config/abug.exp gdb/testsuite/config/arm-ice.exp gdb/testsuite/config/cfdbug.exp gdb/testsuite/config/cpu32bug.exp gdb/testsuite/config/cygmon.exp gdb/testsuite/config/d10v.exp gdb/testsuite/config/dve.exp gdb/testsuite/config/est.exp gdb/testsuite/config/gdbserver.exp gdb/testsuite/config/h8300.exp gdb/testsuite/config/hmsirom.exp gdb/testsuite/config/hppro.exp gdb/testsuite/config/i386-bozo.exp gdb/testsuite/config/i960.exp gdb/testsuite/config/m32r-stub.exp gdb/testsuite/config/m32r.exp gdb/testsuite/config/m68k-emc.exp gdb/testsuite/config/mips-idt.exp gdb/testsuite/config/mips.exp gdb/testsuite/config/mn10300-eval.exp gdb/testsuite/config/monitor.exp gdb/testsuite/config/netware.exp gdb/testsuite/config/nind.exp gdb/testsuite/config/proelf.exp gdb/testsuite/config/rom68k.exp gdb/testsuite/config/sh.exp gdb/testsuite/config/sid.exp gdb/testsuite/config/sim.exp gdb/testsuite/config/slite.exp gdb/testsuite/config/sparclet.exp gdb/testsuite/config/udi.exp gdb/testsuite/config/unix.exp gdb/testsuite/config/unknown.exp gdb/testsuite/config/vr4300.exp gdb/testsuite/config/vr5000.exp gdb/testsuite/config/vx.exp gdb/testsuite/config/vxworks.exp gdb/testsuite/config/vxworks29k.exp gdb/testsuite/configure gdb/testsuite/configure.in gdb/testsuite/gdb.arch/Makefile.in gdb/testsuite/gdb.arch/altivec-abi.c gdb/testsuite/gdb.arch/altivec-abi.exp gdb/testsuite/gdb.arch/altivec-regs.c gdb/testsuite/gdb.arch/altivec-regs.exp gdb/testsuite/gdb.arch/configure gdb/testsuite/gdb.arch/configure.in gdb/testsuite/gdb.asm/Makefile.in gdb/testsuite/gdb.asm/arm.inc gdb/testsuite/gdb.asm/asm-source.exp gdb/testsuite/gdb.asm/asmsrc1.s gdb/testsuite/gdb.asm/asmsrc2.s gdb/testsuite/gdb.asm/common.inc gdb/testsuite/gdb.asm/configure gdb/testsuite/gdb.asm/configure.in gdb/testsuite/gdb.asm/d10v.inc gdb/testsuite/gdb.asm/i386.inc gdb/testsuite/gdb.asm/m32r.inc gdb/testsuite/gdb.asm/powerpc.inc gdb/testsuite/gdb.asm/s390.inc gdb/testsuite/gdb.asm/sparc.inc gdb/testsuite/gdb.asm/sparc64.inc gdb/testsuite/gdb.asm/v850.inc gdb/testsuite/gdb.asm/x86_64.inc gdb/testsuite/gdb.asm/xstormy16.inc gdb/testsuite/gdb.base/Makefile.in gdb/testsuite/gdb.base/a2-run.exp gdb/testsuite/gdb.base/all-bin.exp gdb/testsuite/gdb.base/all-types.c gdb/testsuite/gdb.base/annota1.c gdb/testsuite/gdb.base/annota1.exp gdb/testsuite/gdb.base/arithmet.exp gdb/testsuite/gdb.base/assign.exp gdb/testsuite/gdb.base/async.c gdb/testsuite/gdb.base/async.exp gdb/testsuite/gdb.base/attach.c gdb/testsuite/gdb.base/attach.exp gdb/testsuite/gdb.base/attach2.c gdb/testsuite/gdb.base/average.c gdb/testsuite/gdb.base/bar.c gdb/testsuite/gdb.base/baz.c gdb/testsuite/gdb.base/bitfields.c gdb/testsuite/gdb.base/bitfields.exp gdb/testsuite/gdb.base/bitops.exp gdb/testsuite/gdb.base/branches.c gdb/testsuite/gdb.base/break.c gdb/testsuite/gdb.base/break.exp gdb/testsuite/gdb.base/call-ar-st.c gdb/testsuite/gdb.base/call-ar-st.exp gdb/testsuite/gdb.base/call-rt-st.c gdb/testsuite/gdb.base/call-rt-st.exp gdb/testsuite/gdb.base/call-strs.c gdb/testsuite/gdb.base/call-strs.exp gdb/testsuite/gdb.base/callfuncs.c gdb/testsuite/gdb.base/callfuncs.exp gdb/testsuite/gdb.base/code-expr.exp gdb/testsuite/gdb.base/commands.exp gdb/testsuite/gdb.base/completion.exp gdb/testsuite/gdb.base/cond-expr.exp gdb/testsuite/gdb.base/condbreak.exp gdb/testsuite/gdb.base/configure gdb/testsuite/gdb.base/configure.in gdb/testsuite/gdb.base/consecutive.c gdb/testsuite/gdb.base/consecutive.exp gdb/testsuite/gdb.base/constvars.c gdb/testsuite/gdb.base/constvars.exp gdb/testsuite/gdb.base/corefile.exp gdb/testsuite/gdb.base/coremaker.c gdb/testsuite/gdb.base/coremaker2.c gdb/testsuite/gdb.base/cvexpr.c gdb/testsuite/gdb.base/cvexpr.exp gdb/testsuite/gdb.base/d10v.ld gdb/testsuite/gdb.base/d10vovly.c gdb/testsuite/gdb.base/dbx.exp gdb/testsuite/gdb.base/default.exp gdb/testsuite/gdb.base/define.exp gdb/testsuite/gdb.base/display.c gdb/testsuite/gdb.base/display.exp gdb/testsuite/gdb.base/dump.c gdb/testsuite/gdb.base/dump.exp gdb/testsuite/gdb.base/echo.exp gdb/testsuite/gdb.base/ena-dis-br.exp gdb/testsuite/gdb.base/ending-run.c gdb/testsuite/gdb.base/ending-run.exp gdb/testsuite/gdb.base/environ.exp gdb/testsuite/gdb.base/eval-skip.exp gdb/testsuite/gdb.base/execd-prog.c gdb/testsuite/gdb.base/exprs.c gdb/testsuite/gdb.base/exprs.exp gdb/testsuite/gdb.base/finish.exp gdb/testsuite/gdb.base/foll-exec.c gdb/testsuite/gdb.base/foll-exec.exp gdb/testsuite/gdb.base/foll-fork.c gdb/testsuite/gdb.base/foll-fork.exp gdb/testsuite/gdb.base/foll-vfork.c gdb/testsuite/gdb.base/foll-vfork.exp gdb/testsuite/gdb.base/foo.c gdb/testsuite/gdb.base/funcargs.c gdb/testsuite/gdb.base/funcargs.exp gdb/testsuite/gdb.base/gcore.c gdb/testsuite/gdb.base/gcore.exp gdb/testsuite/gdb.base/gdbvars.exp gdb/testsuite/gdb.base/grbx.c gdb/testsuite/gdb.base/help.exp gdb/testsuite/gdb.base/huge.c gdb/testsuite/gdb.base/huge.exp gdb/testsuite/gdb.base/info-proc.exp gdb/testsuite/gdb.base/int-type.c gdb/testsuite/gdb.base/interrupt.c gdb/testsuite/gdb.base/interrupt.exp gdb/testsuite/gdb.base/jump.c gdb/testsuite/gdb.base/jump.exp gdb/testsuite/gdb.base/langs.exp gdb/testsuite/gdb.base/langs0.c gdb/testsuite/gdb.base/langs1.c gdb/testsuite/gdb.base/langs1.f gdb/testsuite/gdb.base/langs2.c gdb/testsuite/gdb.base/langs2.cxx gdb/testsuite/gdb.base/list.exp gdb/testsuite/gdb.base/list0.c gdb/testsuite/gdb.base/list0.h gdb/testsuite/gdb.base/list1.c gdb/testsuite/gdb.base/logical.exp gdb/testsuite/gdb.base/long_long.c gdb/testsuite/gdb.base/long_long.exp gdb/testsuite/gdb.base/m32r.ld gdb/testsuite/gdb.base/m32rovly.c gdb/testsuite/gdb.base/macscp.exp gdb/testsuite/gdb.base/macscp1.c gdb/testsuite/gdb.base/macscp2.h gdb/testsuite/gdb.base/macscp3.h gdb/testsuite/gdb.base/macscp4.h gdb/testsuite/gdb.base/maint.exp gdb/testsuite/gdb.base/mips_pro.c gdb/testsuite/gdb.base/mips_pro.exp gdb/testsuite/gdb.base/miscexprs.c gdb/testsuite/gdb.base/miscexprs.exp gdb/testsuite/gdb.base/nodebug.c gdb/testsuite/gdb.base/nodebug.exp gdb/testsuite/gdb.base/opaque.exp gdb/testsuite/gdb.base/opaque0.c gdb/testsuite/gdb.base/opaque1.c gdb/testsuite/gdb.base/overlays.c gdb/testsuite/gdb.base/overlays.exp gdb/testsuite/gdb.base/ovlymgr.c gdb/testsuite/gdb.base/ovlymgr.h gdb/testsuite/gdb.base/page.exp gdb/testsuite/gdb.base/pointers.c gdb/testsuite/gdb.base/pointers.exp gdb/testsuite/gdb.base/printcmds.c gdb/testsuite/gdb.base/printcmds.exp gdb/testsuite/gdb.base/ptype.c gdb/testsuite/gdb.base/ptype.exp gdb/testsuite/gdb.base/radix.exp gdb/testsuite/gdb.base/readline.exp gdb/testsuite/gdb.base/recurse.c gdb/testsuite/gdb.base/recurse.exp gdb/testsuite/gdb.base/regs.exp gdb/testsuite/gdb.base/relational.exp gdb/testsuite/gdb.base/relocate.c gdb/testsuite/gdb.base/relocate.exp gdb/testsuite/gdb.base/remote.c gdb/testsuite/gdb.base/remote.exp gdb/testsuite/gdb.base/reread.exp gdb/testsuite/gdb.base/reread1.c gdb/testsuite/gdb.base/reread2.c gdb/testsuite/gdb.base/restore.c gdb/testsuite/gdb.base/restore.exp gdb/testsuite/gdb.base/return.c gdb/testsuite/gdb.base/return.exp gdb/testsuite/gdb.base/return2.c gdb/testsuite/gdb.base/return2.exp gdb/testsuite/gdb.base/run.c gdb/testsuite/gdb.base/scope.exp gdb/testsuite/gdb.base/scope0.c gdb/testsuite/gdb.base/scope1.c gdb/testsuite/gdb.base/sect-cmd.exp gdb/testsuite/gdb.base/selftest.exp gdb/testsuite/gdb.base/setshow.c gdb/testsuite/gdb.base/setshow.exp gdb/testsuite/gdb.base/setvar.c gdb/testsuite/gdb.base/setvar.exp gdb/testsuite/gdb.base/shlib-call.exp gdb/testsuite/gdb.base/shmain.c gdb/testsuite/gdb.base/shr1.c gdb/testsuite/gdb.base/shr2.c gdb/testsuite/gdb.base/sigall.c gdb/testsuite/gdb.base/sigall.exp gdb/testsuite/gdb.base/signals.c gdb/testsuite/gdb.base/signals.exp gdb/testsuite/gdb.base/sizeof.c gdb/testsuite/gdb.base/sizeof.exp gdb/testsuite/gdb.base/so-impl-ld.c gdb/testsuite/gdb.base/so-impl-ld.exp gdb/testsuite/gdb.base/so-indr-cl.c gdb/testsuite/gdb.base/so-indr-cl.exp gdb/testsuite/gdb.base/solib.c gdb/testsuite/gdb.base/solib.exp gdb/testsuite/gdb.base/solib1.c gdb/testsuite/gdb.base/solib2.c gdb/testsuite/gdb.base/ss.h gdb/testsuite/gdb.base/step-line.c gdb/testsuite/gdb.base/step-line.exp gdb/testsuite/gdb.base/step-line.inp gdb/testsuite/gdb.base/step-test.c gdb/testsuite/gdb.base/step-test.exp gdb/testsuite/gdb.base/structs.c gdb/testsuite/gdb.base/structs.exp gdb/testsuite/gdb.base/structs2.c gdb/testsuite/gdb.base/structs2.exp gdb/testsuite/gdb.base/sum.c gdb/testsuite/gdb.base/term.exp gdb/testsuite/gdb.base/twice.c gdb/testsuite/gdb.base/twice.exp gdb/testsuite/gdb.base/varargs.c gdb/testsuite/gdb.base/varargs.exp gdb/testsuite/gdb.base/vforked-prog.c gdb/testsuite/gdb.base/volatile.exp gdb/testsuite/gdb.base/watchpoint.c gdb/testsuite/gdb.base/watchpoint.exp gdb/testsuite/gdb.base/whatis-exp.exp gdb/testsuite/gdb.base/whatis.c gdb/testsuite/gdb.base/whatis.exp gdb/testsuite/gdb.c++/Makefile.in gdb/testsuite/gdb.c++/ambiguous.cc gdb/testsuite/gdb.c++/ambiguous.exp gdb/testsuite/gdb.c++/annota2.cc gdb/testsuite/gdb.c++/annota2.exp gdb/testsuite/gdb.c++/anon-union.cc gdb/testsuite/gdb.c++/anon-union.exp gdb/testsuite/gdb.c++/classes.exp gdb/testsuite/gdb.c++/configure gdb/testsuite/gdb.c++/configure.in gdb/testsuite/gdb.c++/cplusfuncs.cc gdb/testsuite/gdb.c++/cplusfuncs.exp gdb/testsuite/gdb.c++/ctti.exp gdb/testsuite/gdb.c++/cttiadd.cc gdb/testsuite/gdb.c++/cttiadd1.cc gdb/testsuite/gdb.c++/cttiadd2.cc gdb/testsuite/gdb.c++/cttiadd3.cc gdb/testsuite/gdb.c++/demangle.exp gdb/testsuite/gdb.c++/derivation.cc gdb/testsuite/gdb.c++/derivation.exp gdb/testsuite/gdb.c++/hang.H gdb/testsuite/gdb.c++/hang.exp gdb/testsuite/gdb.c++/hang1.C gdb/testsuite/gdb.c++/hang2.C gdb/testsuite/gdb.c++/hang3.C gdb/testsuite/gdb.c++/inherit.exp gdb/testsuite/gdb.c++/local.cc gdb/testsuite/gdb.c++/local.exp gdb/testsuite/gdb.c++/m-data.cc gdb/testsuite/gdb.c++/m-data.exp gdb/testsuite/gdb.c++/m-static.cc gdb/testsuite/gdb.c++/m-static.exp gdb/testsuite/gdb.c++/member-ptr.cc gdb/testsuite/gdb.c++/member-ptr.exp gdb/testsuite/gdb.c++/method.cc gdb/testsuite/gdb.c++/method.exp gdb/testsuite/gdb.c++/misc.cc gdb/testsuite/gdb.c++/misc.exp gdb/testsuite/gdb.c++/namespace.cc gdb/testsuite/gdb.c++/namespace.exp gdb/testsuite/gdb.c++/overload.cc gdb/testsuite/gdb.c++/overload.exp gdb/testsuite/gdb.c++/ovldbreak.cc gdb/testsuite/gdb.c++/ovldbreak.exp gdb/testsuite/gdb.c++/ref-types.cc gdb/testsuite/gdb.c++/ref-types.exp gdb/testsuite/gdb.c++/templates.cc gdb/testsuite/gdb.c++/templates.exp gdb/testsuite/gdb.c++/try_catch.cc gdb/testsuite/gdb.c++/try_catch.exp gdb/testsuite/gdb.c++/userdef.cc gdb/testsuite/gdb.c++/userdef.exp gdb/testsuite/gdb.c++/virtfunc.cc gdb/testsuite/gdb.c++/virtfunc.exp gdb/testsuite/gdb.chill/ChangeLog gdb/testsuite/gdb.chill/Makefile.in gdb/testsuite/gdb.chill/builtins.ch gdb/testsuite/gdb.chill/builtins.exp gdb/testsuite/gdb.chill/callch.ch gdb/testsuite/gdb.chill/callch.exp gdb/testsuite/gdb.chill/chexp.exp gdb/testsuite/gdb.chill/chillvars.ch gdb/testsuite/gdb.chill/chillvars.exp gdb/testsuite/gdb.chill/configure gdb/testsuite/gdb.chill/configure.in gdb/testsuite/gdb.chill/enum.ch gdb/testsuite/gdb.chill/enum.exp gdb/testsuite/gdb.chill/func1.ch gdb/testsuite/gdb.chill/gch1041.ch gdb/testsuite/gdb.chill/gch1041.exp gdb/testsuite/gdb.chill/gch1272.ch gdb/testsuite/gdb.chill/gch1272.exp gdb/testsuite/gdb.chill/gch1280.ch gdb/testsuite/gdb.chill/gch1280.exp gdb/testsuite/gdb.chill/gch922.ch gdb/testsuite/gdb.chill/gch922.exp gdb/testsuite/gdb.chill/gch981.ch gdb/testsuite/gdb.chill/gch981.exp gdb/testsuite/gdb.chill/misc.ch gdb/testsuite/gdb.chill/misc.exp gdb/testsuite/gdb.chill/powerset.ch gdb/testsuite/gdb.chill/powerset.exp gdb/testsuite/gdb.chill/pr-4975-grt.ch gdb/testsuite/gdb.chill/pr-4975.ch gdb/testsuite/gdb.chill/pr-4975.exp gdb/testsuite/gdb.chill/pr-5016.ch gdb/testsuite/gdb.chill/pr-5016.exp gdb/testsuite/gdb.chill/pr-5020.ch gdb/testsuite/gdb.chill/pr-5020.exp gdb/testsuite/gdb.chill/pr-5022.ch gdb/testsuite/gdb.chill/pr-5022.exp gdb/testsuite/gdb.chill/pr-5646-grt.ch gdb/testsuite/gdb.chill/pr-5646.ch gdb/testsuite/gdb.chill/pr-5646.exp gdb/testsuite/gdb.chill/pr-5984.ch gdb/testsuite/gdb.chill/pr-5984.exp gdb/testsuite/gdb.chill/pr-6292.ch gdb/testsuite/gdb.chill/pr-6292.exp gdb/testsuite/gdb.chill/pr-6632-grt.ch gdb/testsuite/gdb.chill/pr-6632.ch gdb/testsuite/gdb.chill/pr-6632.exp gdb/testsuite/gdb.chill/pr-8134.exp gdb/testsuite/gdb.chill/pr-8136.ch gdb/testsuite/gdb.chill/pr-8136.exp gdb/testsuite/gdb.chill/pr-8405.ch gdb/testsuite/gdb.chill/pr-8405.exp gdb/testsuite/gdb.chill/pr-8742.ch gdb/testsuite/gdb.chill/pr-8742.exp gdb/testsuite/gdb.chill/pr-8894-grt.ch gdb/testsuite/gdb.chill/pr-8894.ch gdb/testsuite/gdb.chill/pr-8894.exp gdb/testsuite/gdb.chill/pr-9095.ch gdb/testsuite/gdb.chill/pr-9095.exp gdb/testsuite/gdb.chill/pr-9946.ch gdb/testsuite/gdb.chill/pr-9946.exp gdb/testsuite/gdb.chill/result.ch gdb/testsuite/gdb.chill/result.exp gdb/testsuite/gdb.chill/string.ch gdb/testsuite/gdb.chill/string.exp gdb/testsuite/gdb.chill/tests1.ch gdb/testsuite/gdb.chill/tests1.exp gdb/testsuite/gdb.chill/tests2.ch gdb/testsuite/gdb.chill/tests2.exp gdb/testsuite/gdb.chill/tuples.ch gdb/testsuite/gdb.chill/tuples.exp gdb/testsuite/gdb.chill/xstruct-grt.ch gdb/testsuite/gdb.chill/xstruct.ch gdb/testsuite/gdb.chill/xstruct.exp gdb/testsuite/gdb.disasm/Makefile.in gdb/testsuite/gdb.disasm/am33.exp gdb/testsuite/gdb.disasm/am33.s gdb/testsuite/gdb.disasm/configure gdb/testsuite/gdb.disasm/configure.in gdb/testsuite/gdb.disasm/h8300s.exp gdb/testsuite/gdb.disasm/h8300s.s gdb/testsuite/gdb.disasm/hppa.exp gdb/testsuite/gdb.disasm/hppa.s gdb/testsuite/gdb.disasm/mn10200.exp gdb/testsuite/gdb.disasm/mn10200.s gdb/testsuite/gdb.disasm/mn10300.exp gdb/testsuite/gdb.disasm/mn10300.s gdb/testsuite/gdb.disasm/sh3.exp gdb/testsuite/gdb.disasm/sh3.s gdb/testsuite/gdb.fortran/exprs.exp gdb/testsuite/gdb.fortran/types.exp gdb/testsuite/gdb.gdb/xfullpath.exp gdb/testsuite/gdb.hp/Makefile.in gdb/testsuite/gdb.hp/configure gdb/testsuite/gdb.hp/configure.in gdb/testsuite/gdb.hp/gdb.aCC/Makefile.in gdb/testsuite/gdb.hp/gdb.aCC/configure gdb/testsuite/gdb.hp/gdb.aCC/configure.in gdb/testsuite/gdb.hp/gdb.aCC/exception.cc gdb/testsuite/gdb.hp/gdb.aCC/exception.exp gdb/testsuite/gdb.hp/gdb.aCC/optimize.c gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp gdb/testsuite/gdb.hp/gdb.aCC/run.c gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp gdb/testsuite/gdb.hp/gdb.base-hp/Makefile.in gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.c gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp gdb/testsuite/gdb.hp/gdb.base-hp/configure gdb/testsuite/gdb.hp/gdb.base-hp/configure.in gdb/testsuite/gdb.hp/gdb.base-hp/dollar.c gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp gdb/testsuite/gdb.hp/gdb.base-hp/genso-thresh.c gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.c gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.c gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.s gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp gdb/testsuite/gdb.hp/gdb.base-hp/reg.s gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.c gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.mk gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.sh gdb/testsuite/gdb.hp/gdb.compat/Makefile.in gdb/testsuite/gdb.hp/gdb.compat/average.c gdb/testsuite/gdb.hp/gdb.compat/configure gdb/testsuite/gdb.hp/gdb.compat/configure.in gdb/testsuite/gdb.hp/gdb.compat/sum.c gdb/testsuite/gdb.hp/gdb.compat/xdb.c gdb/testsuite/gdb.hp/gdb.compat/xdb0.c gdb/testsuite/gdb.hp/gdb.compat/xdb0.h gdb/testsuite/gdb.hp/gdb.compat/xdb1.c gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp gdb/testsuite/gdb.hp/gdb.defects/Makefile.in gdb/testsuite/gdb.hp/gdb.defects/bs14602.c gdb/testsuite/gdb.hp/gdb.defects/bs14602.exp gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp gdb/testsuite/gdb.hp/gdb.defects/configure gdb/testsuite/gdb.hp/gdb.defects/configure.in gdb/testsuite/gdb.hp/gdb.defects/solib-d.c gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp gdb/testsuite/gdb.hp/gdb.defects/solib-d1.c gdb/testsuite/gdb.hp/gdb.defects/solib-d2.c gdb/testsuite/gdb.hp/gdb.objdbg/Makefile.in gdb/testsuite/gdb.hp/gdb.objdbg/configure gdb/testsuite/gdb.hp/gdb.objdbg/configure.in gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01.exp gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x1.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x2.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.h gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02.exp gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x1.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x2.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x3.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03.exp gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x1.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x2.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x3.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04.exp gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x.h gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x1.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x2.cc gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr.pa64 gdb/testsuite/gdb.hp/gdb.objdbg/tools/test-objdbg.cc gdb/testsuite/gdb.hp/tools/odump gdb/testsuite/gdb.java/Makefile.in gdb/testsuite/gdb.java/configure gdb/testsuite/gdb.java/configure.in gdb/testsuite/gdb.java/jmisc.exp gdb/testsuite/gdb.java/jmisc.java gdb/testsuite/gdb.java/jmisc1.exp gdb/testsuite/gdb.java/jmisc2.exp gdb/testsuite/gdb.java/jv-exp.exp gdb/testsuite/gdb.java/jv-print.exp gdb/testsuite/gdb.mi/ChangeLog gdb/testsuite/gdb.mi/Makefile.in gdb/testsuite/gdb.mi/basics.c gdb/testsuite/gdb.mi/configure gdb/testsuite/gdb.mi/configure.in gdb/testsuite/gdb.mi/gdb680.exp gdb/testsuite/gdb.mi/mi-basics.exp gdb/testsuite/gdb.mi/mi-break.exp gdb/testsuite/gdb.mi/mi-console.c gdb/testsuite/gdb.mi/mi-console.exp gdb/testsuite/gdb.mi/mi-disassemble.exp gdb/testsuite/gdb.mi/mi-eval.exp gdb/testsuite/gdb.mi/mi-hack-cli.exp gdb/testsuite/gdb.mi/mi-read-memory.c gdb/testsuite/gdb.mi/mi-read-memory.exp gdb/testsuite/gdb.mi/mi-regs.exp gdb/testsuite/gdb.mi/mi-return.exp gdb/testsuite/gdb.mi/mi-simplerun.exp gdb/testsuite/gdb.mi/mi-stack.exp gdb/testsuite/gdb.mi/mi-stepi.exp gdb/testsuite/gdb.mi/mi-until.exp gdb/testsuite/gdb.mi/mi-var-block.exp gdb/testsuite/gdb.mi/mi-var-child.exp gdb/testsuite/gdb.mi/mi-var-cmd.exp gdb/testsuite/gdb.mi/mi-var-display.exp gdb/testsuite/gdb.mi/mi-watch.exp gdb/testsuite/gdb.mi/mi0-basics.exp gdb/testsuite/gdb.mi/mi0-break.exp gdb/testsuite/gdb.mi/mi0-console.exp gdb/testsuite/gdb.mi/mi0-disassemble.exp gdb/testsuite/gdb.mi/mi0-eval.exp gdb/testsuite/gdb.mi/mi0-hack-cli.exp gdb/testsuite/gdb.mi/mi0-read-memory.exp gdb/testsuite/gdb.mi/mi0-regs.exp gdb/testsuite/gdb.mi/mi0-return.exp gdb/testsuite/gdb.mi/mi0-simplerun.exp gdb/testsuite/gdb.mi/mi0-stack.exp gdb/testsuite/gdb.mi/mi0-stepi.exp gdb/testsuite/gdb.mi/mi0-until.exp gdb/testsuite/gdb.mi/mi0-var-block.exp gdb/testsuite/gdb.mi/mi0-var-child.exp gdb/testsuite/gdb.mi/mi0-var-cmd.exp gdb/testsuite/gdb.mi/mi0-var-display.exp gdb/testsuite/gdb.mi/mi0-watch.exp gdb/testsuite/gdb.mi/testcmds gdb/testsuite/gdb.mi/until.c gdb/testsuite/gdb.mi/var-cmd.c gdb/testsuite/gdb.stabs/Makefile.in gdb/testsuite/gdb.stabs/aout.sed gdb/testsuite/gdb.stabs/configure gdb/testsuite/gdb.stabs/configure.in gdb/testsuite/gdb.stabs/ecoff.sed gdb/testsuite/gdb.stabs/hppa.sed gdb/testsuite/gdb.stabs/weird.def gdb/testsuite/gdb.stabs/weird.exp gdb/testsuite/gdb.stabs/xcoff.sed gdb/testsuite/gdb.threads/Makefile.in gdb/testsuite/gdb.threads/config.in gdb/testsuite/gdb.threads/configure gdb/testsuite/gdb.threads/configure.in gdb/testsuite/gdb.threads/gcore-thread.exp gdb/testsuite/gdb.threads/killed.c gdb/testsuite/gdb.threads/killed.exp gdb/testsuite/gdb.threads/linux-dp.c gdb/testsuite/gdb.threads/linux-dp.exp gdb/testsuite/gdb.threads/print-threads.c gdb/testsuite/gdb.threads/print-threads.exp gdb/testsuite/gdb.threads/pthreads.c gdb/testsuite/gdb.threads/pthreads.exp gdb/testsuite/gdb.threads/schedlock.c gdb/testsuite/gdb.threads/schedlock.exp gdb/testsuite/gdb.threads/step.c gdb/testsuite/gdb.threads/step.exp gdb/testsuite/gdb.threads/step2.exp gdb/testsuite/gdb.trace/Makefile.in gdb/testsuite/gdb.trace/actions.c gdb/testsuite/gdb.trace/actions.exp gdb/testsuite/gdb.trace/backtrace.exp gdb/testsuite/gdb.trace/circ.c gdb/testsuite/gdb.trace/circ.exp gdb/testsuite/gdb.trace/collection.c gdb/testsuite/gdb.trace/collection.exp gdb/testsuite/gdb.trace/configure gdb/testsuite/gdb.trace/configure.in gdb/testsuite/gdb.trace/deltrace.exp gdb/testsuite/gdb.trace/gdb_c_test.c gdb/testsuite/gdb.trace/infotrace.exp gdb/testsuite/gdb.trace/limits.c gdb/testsuite/gdb.trace/limits.exp gdb/testsuite/gdb.trace/packetlen.exp gdb/testsuite/gdb.trace/passc-dyn.exp gdb/testsuite/gdb.trace/passcount.exp gdb/testsuite/gdb.trace/report.exp gdb/testsuite/gdb.trace/save-trace.exp gdb/testsuite/gdb.trace/tfind.exp gdb/testsuite/gdb.trace/tracecmd.exp gdb/testsuite/gdb.trace/while-dyn.exp gdb/testsuite/gdb.trace/while-stepping.exp gdb/testsuite/lib/compiler.c gdb/testsuite/lib/compiler.cc gdb/testsuite/lib/emc-support.exp gdb/testsuite/lib/gdb.exp gdb/testsuite/lib/insight-support.exp gdb/testsuite/lib/java.exp gdb/testsuite/lib/mi-support.exp gdb/testsuite/lib/trace-support.exp gdb/thread-db.c gdb/thread.c gdb/top.c gdb/top.h gdb/tracepoint.c gdb/tracepoint.h gdb/tui/ChangeLog gdb/tui/tui-file.c gdb/tui/tui-file.h gdb/tui/tui-hooks.c gdb/tui/tui-out.c gdb/tui/tui.c gdb/tui/tui.h gdb/tui/tuiCommand.c gdb/tui/tuiCommand.h gdb/tui/tuiData.c gdb/tui/tuiData.h gdb/tui/tuiDataWin.c gdb/tui/tuiDataWin.h gdb/tui/tuiDisassem.c gdb/tui/tuiDisassem.h gdb/tui/tuiGeneralWin.c gdb/tui/tuiGeneralWin.h gdb/tui/tuiIO.c gdb/tui/tuiIO.h gdb/tui/tuiLayout.c gdb/tui/tuiLayout.h gdb/tui/tuiRegs.c gdb/tui/tuiRegs.h gdb/tui/tuiSource.c gdb/tui/tuiSource.h gdb/tui/tuiSourceWin.c gdb/tui/tuiSourceWin.h gdb/tui/tuiStack.c gdb/tui/tuiStack.h gdb/tui/tuiWin.c gdb/tui/tuiWin.h gdb/typeprint.c gdb/typeprint.h gdb/ui-file.c gdb/ui-file.h gdb/ui-out.c gdb/ui-out.h gdb/utils.c gdb/uw-thread.c gdb/v850-tdep.c gdb/v850ice.c gdb/valarith.c gdb/valops.c gdb/valprint.c gdb/valprint.h gdb/value.h gdb/values.c gdb/varobj.c gdb/varobj.h gdb/vax-tdep.c gdb/vax-tdep.h gdb/version.h gdb/version.in gdb/vx-share/README gdb/vx-share/dbgRpcLib.h gdb/vx-share/ptrace.h gdb/vx-share/regPacket.h gdb/vx-share/vxTypes.h gdb/vx-share/vxWorks.h gdb/vx-share/wait.h gdb/vx-share/xdr_ld.c gdb/vx-share/xdr_ld.h gdb/vx-share/xdr_ptrace.c gdb/vx-share/xdr_ptrace.h gdb/vx-share/xdr_rdb.c gdb/vx-share/xdr_rdb.h gdb/w89k-rom.c gdb/win32-nat.c gdb/wince-stub.c gdb/wince-stub.h gdb/wince.c gdb/wrapper.c gdb/wrapper.h gdb/x86-64-linux-nat.c gdb/x86-64-linux-tdep.c gdb/x86-64-tdep.c gdb/x86-64-tdep.h gdb/xcoffread.c gdb/xcoffsolib.c gdb/xcoffsolib.h gdb/xmodem.c gdb/xmodem.h gdb/xstormy16-tdep.c gdb/z8k-tdep.c mmalloc/COPYING.LIB mmalloc/ChangeLog mmalloc/MAINTAINERS mmalloc/Makefile.in mmalloc/TODO mmalloc/acinclude.m4 mmalloc/aclocal.m4 mmalloc/attach.c mmalloc/configure mmalloc/configure.in mmalloc/detach.c mmalloc/keys.c mmalloc/mcalloc.c mmalloc/mfree.c mmalloc/mm.c mmalloc/mmalloc.c mmalloc/mmalloc.h mmalloc/mmalloc.texi mmalloc/mmap-sup.c mmalloc/mmcheck.c mmalloc/mmemalign.c mmalloc/mmprivate.h mmalloc/mmstats.c mmalloc/mmtrace.awk mmalloc/mmtrace.c mmalloc/mrealloc.c mmalloc/mvalloc.c mmalloc/sbrk-sup.c readline/CHANGELOG readline/CHANGES readline/COPYING readline/ChangeLog.gdb readline/INSTALL readline/MANIFEST readline/Makefile.in readline/README readline/USAGE readline/acconfig.h readline/aclocal.m4 readline/ansi_stdlib.h readline/bind.c readline/callback.c readline/chardefs.h readline/complete.c readline/config.h.bot readline/config.h.in readline/configure readline/configure.in readline/cross-build/cygwin.cache readline/display.c readline/doc/ChangeLog.gdb readline/doc/Makefile.in readline/doc/hist.texinfo readline/doc/hstech.texinfo readline/doc/hsuser.texinfo readline/doc/inc-hist.texinfo readline/doc/manvers.texinfo readline/doc/readline.3 readline/doc/rlman.texinfo readline/doc/rltech.texinfo readline/doc/rluser.texinfo readline/doc/rluserman.texinfo readline/doc/texi2dvi readline/doc/texi2html readline/emacs_keymap.c readline/examples/ChangeLog.gdb readline/examples/Inputrc readline/examples/Makefile.in readline/examples/excallback.c readline/examples/fileman.c readline/examples/histexamp.c readline/examples/manexamp.c readline/examples/rl.c readline/examples/rlfe.c readline/examples/rltest.c readline/examples/rlversion.c readline/funmap.c readline/histexpand.c readline/histfile.c readline/histlib.h readline/history.c readline/history.h readline/histsearch.c readline/input.c readline/isearch.c readline/keymaps.c readline/keymaps.h readline/kill.c readline/macro.c readline/nls.c readline/parens.c readline/posixdir.h readline/posixjmp.h readline/posixstat.h readline/readline.c readline/readline.h readline/rlconf.h readline/rldefs.h readline/rlprivate.h readline/rlshell.h readline/rlstdc.h readline/rltty.c readline/rltty.h readline/rlwinsize.h readline/savestring.c readline/search.c readline/shell.c readline/shlib/Makefile.in readline/signals.c readline/support/config.guess readline/support/config.sub readline/support/install.sh readline/support/mkdirs readline/support/mkdist readline/support/shlib-install readline/support/shobj-conf readline/tcap.h readline/terminal.c readline/tilde.c readline/tilde.h readline/undo.c readline/util.c readline/vi_keymap.c readline/vi_mode.c readline/xmalloc.c readline/xmalloc.h sim/ChangeLog sim/MAINTAINERS sim/Makefile.in sim/README-HACKING sim/arm/COPYING sim/arm/ChangeLog sim/arm/Makefile.in sim/arm/README.Cygnus sim/arm/acconfig.h sim/arm/armcopro.c sim/arm/armdefs.h sim/arm/armemu.c sim/arm/armemu.h sim/arm/armfpe.h sim/arm/arminit.c sim/arm/armopts.h sim/arm/armos.c sim/arm/armos.h sim/arm/armrdi.c sim/arm/armsupp.c sim/arm/armvirt.c sim/arm/bag.c sim/arm/bag.h sim/arm/communicate.c sim/arm/communicate.h sim/arm/config.in sim/arm/configure sim/arm/configure.in sim/arm/dbg_conf.h sim/arm/dbg_cp.h sim/arm/dbg_hif.h sim/arm/dbg_rdi.h sim/arm/gdbhost.c sim/arm/gdbhost.h sim/arm/kid.c sim/arm/main.c sim/arm/parent.c sim/arm/tconfig.in sim/arm/thumbemu.c sim/arm/wrapper.c sim/common/ChangeLog sim/common/Make-common.in sim/common/Makefile.in sim/common/acconfig.h sim/common/aclocal.m4 sim/common/callback.c sim/common/cgen-accfp.c sim/common/cgen-cpu.h sim/common/cgen-defs.h sim/common/cgen-engine.h sim/common/cgen-fpu.c sim/common/cgen-fpu.h sim/common/cgen-mem.h sim/common/cgen-ops.h sim/common/cgen-par.c sim/common/cgen-par.h sim/common/cgen-run.c sim/common/cgen-scache.c sim/common/cgen-scache.h sim/common/cgen-sim.h sim/common/cgen-trace.c sim/common/cgen-trace.h sim/common/cgen-types.h sim/common/cgen-utils.c sim/common/cgen.sh sim/common/config.in sim/common/configure sim/common/configure.in sim/common/dv-core.c sim/common/dv-glue.c sim/common/dv-pal.c sim/common/dv-sockser.c sim/common/dv-sockser.h sim/common/gdbinit.in sim/common/genmloop.sh sim/common/gennltvals.sh sim/common/gentmap.c sim/common/gentvals.sh sim/common/hw-alloc.c sim/common/hw-alloc.h sim/common/hw-base.c sim/common/hw-base.h sim/common/hw-device.c sim/common/hw-device.h sim/common/hw-events.c sim/common/hw-events.h sim/common/hw-handles.c sim/common/hw-handles.h sim/common/hw-instances.c sim/common/hw-instances.h sim/common/hw-main.h sim/common/hw-ports.c sim/common/hw-ports.h sim/common/hw-properties.c sim/common/hw-properties.h sim/common/hw-tree.c sim/common/hw-tree.h sim/common/nltvals.def sim/common/nrun.c sim/common/run-sim.h sim/common/run.1 sim/common/run.c sim/common/sim-abort.c sim/common/sim-alu.h sim/common/sim-arange.c sim/common/sim-arange.h sim/common/sim-assert.h sim/common/sim-base.h sim/common/sim-basics.h sim/common/sim-bits.c sim/common/sim-bits.h sim/common/sim-break.c sim/common/sim-break.h sim/common/sim-config.c sim/common/sim-config.h sim/common/sim-core.c sim/common/sim-core.h sim/common/sim-cpu.c sim/common/sim-cpu.h sim/common/sim-endian.c sim/common/sim-endian.h sim/common/sim-engine.c sim/common/sim-engine.h sim/common/sim-events.c sim/common/sim-events.h sim/common/sim-fpu.c sim/common/sim-fpu.h sim/common/sim-hload.c sim/common/sim-hrw.c sim/common/sim-hw.c sim/common/sim-hw.h sim/common/sim-info.c sim/common/sim-inline.c sim/common/sim-inline.h sim/common/sim-io.c sim/common/sim-io.h sim/common/sim-load.c sim/common/sim-memopt.c sim/common/sim-memopt.h sim/common/sim-model.c sim/common/sim-model.h sim/common/sim-module.c sim/common/sim-module.h sim/common/sim-n-bits.h sim/common/sim-n-core.h sim/common/sim-n-endian.h sim/common/sim-options.c sim/common/sim-options.h sim/common/sim-profile.c sim/common/sim-profile.h sim/common/sim-reason.c sim/common/sim-reg.c sim/common/sim-resume.c sim/common/sim-run.c sim/common/sim-signal.c sim/common/sim-signal.h sim/common/sim-stop.c sim/common/sim-trace.c sim/common/sim-trace.h sim/common/sim-types.h sim/common/sim-utils.c sim/common/sim-utils.h sim/common/sim-watch.c sim/common/sim-watch.h sim/common/syscall.c sim/common/tconfig.in sim/configure sim/configure.in sim/d10v/ChangeLog sim/d10v/Makefile.in sim/d10v/acconfig.h sim/d10v/config.in sim/d10v/configure sim/d10v/configure.in sim/d10v/d10v_sim.h sim/d10v/endian.c sim/d10v/gencode.c sim/d10v/interp.c sim/d10v/simops.c sim/d30v/ChangeLog sim/d30v/Makefile.in sim/d30v/acconfig.h sim/d30v/alu.h sim/d30v/config.in sim/d30v/configure sim/d30v/configure.in sim/d30v/cpu.c sim/d30v/cpu.h sim/d30v/d30v-insns sim/d30v/dc-short sim/d30v/engine.c sim/d30v/ic-d30v sim/d30v/sim-calls.c sim/d30v/sim-main.h sim/d30v/tconfig.in sim/erc32/ChangeLog sim/erc32/Makefile.in sim/erc32/NEWS sim/erc32/README.erc32 sim/erc32/README.gdb sim/erc32/README.sis sim/erc32/acconfig.h sim/erc32/config.in sim/erc32/configure sim/erc32/configure.in sim/erc32/end.c sim/erc32/erc32.c sim/erc32/exec.c sim/erc32/float.c sim/erc32/func.c sim/erc32/help.c sim/erc32/interf.c sim/erc32/sis.c sim/erc32/sis.h sim/erc32/startsim sim/fr30/ChangeLog sim/fr30/Makefile.in sim/fr30/README sim/fr30/TODO sim/fr30/arch.c sim/fr30/arch.h sim/fr30/config.in sim/fr30/configure sim/fr30/configure.in sim/fr30/cpu.c sim/fr30/cpu.h sim/fr30/cpuall.h sim/fr30/decode.c sim/fr30/decode.h sim/fr30/devices.c sim/fr30/fr30-sim.h sim/fr30/fr30.c sim/fr30/mloop.in sim/fr30/model.c sim/fr30/sem-switch.c sim/fr30/sem.c sim/fr30/sim-if.c sim/fr30/sim-main.h sim/fr30/tconfig.in sim/fr30/traps.c sim/h8300/ChangeLog sim/h8300/Makefile.in sim/h8300/acconfig.h sim/h8300/compile.c sim/h8300/config.in sim/h8300/configure sim/h8300/configure.in sim/h8300/inst.h sim/h8300/tconfig.in sim/h8300/writecode.c sim/h8500/ChangeLog sim/h8500/Makefile.in sim/h8500/acconfig.h sim/h8500/compile.c sim/h8500/config.in sim/h8500/configure sim/h8500/configure.in sim/h8500/inst.h sim/h8500/tconfig.in sim/i960/ChangeLog sim/i960/Makefile.in sim/i960/README sim/i960/TODO sim/i960/acconfig.h sim/i960/arch.c sim/i960/arch.h sim/i960/config.in sim/i960/configure sim/i960/configure.in sim/i960/cpu.c sim/i960/cpu.h sim/i960/cpuall.h sim/i960/decode.c sim/i960/decode.h sim/i960/devices.c sim/i960/i960-desc.c sim/i960/i960-desc.h sim/i960/i960-opc.h sim/i960/i960-sim.h sim/i960/i960.c sim/i960/mloop.in sim/i960/model.c sim/i960/sem-switch.c sim/i960/sem.c sim/i960/sim-if.c sim/i960/sim-main.h sim/i960/tconfig.in sim/i960/traps.c sim/igen/ChangeLog sim/igen/Makefile.in sim/igen/acconfig.h sim/igen/compare_igen_models sim/igen/config.in sim/igen/configure sim/igen/configure.in sim/igen/filter.c sim/igen/filter.h sim/igen/filter_host.c sim/igen/filter_host.h sim/igen/gen-engine.c sim/igen/gen-engine.h sim/igen/gen-icache.c sim/igen/gen-icache.h sim/igen/gen-idecode.c sim/igen/gen-idecode.h sim/igen/gen-itable.c sim/igen/gen-itable.h sim/igen/gen-model.c sim/igen/gen-model.h sim/igen/gen-semantics.c sim/igen/gen-semantics.h sim/igen/gen-support.c sim/igen/gen-support.h sim/igen/gen.c sim/igen/gen.h sim/igen/igen.c sim/igen/igen.h sim/igen/ld-cache.c sim/igen/ld-cache.h sim/igen/ld-decode.c sim/igen/ld-decode.h sim/igen/ld-insn.c sim/igen/ld-insn.h sim/igen/lf.c sim/igen/lf.h sim/igen/misc.c sim/igen/misc.h sim/igen/table.c sim/igen/table.h sim/m32r/ChangeLog sim/m32r/Makefile.in sim/m32r/README sim/m32r/TODO sim/m32r/acconfig.h sim/m32r/arch.c sim/m32r/arch.h sim/m32r/config.in sim/m32r/configure sim/m32r/configure.in sim/m32r/cpu.c sim/m32r/cpu.h sim/m32r/cpuall.h sim/m32r/cpux.c sim/m32r/cpux.h sim/m32r/decode.c sim/m32r/decode.h sim/m32r/decodex.c sim/m32r/decodex.h sim/m32r/devices.c sim/m32r/m32r-sim.h sim/m32r/m32r.c sim/m32r/m32rx.c sim/m32r/mloop.in sim/m32r/mloopx.in sim/m32r/model.c sim/m32r/modelx.c sim/m32r/sem-switch.c sim/m32r/sem.c sim/m32r/semx-switch.c sim/m32r/sim-if.c sim/m32r/sim-main.h sim/m32r/tconfig.in sim/m32r/traps.c sim/m68hc11/ChangeLog sim/m68hc11/Makefile.in sim/m68hc11/config.in sim/m68hc11/configure sim/m68hc11/configure.in sim/m68hc11/dv-m68hc11.c sim/m68hc11/dv-m68hc11eepr.c sim/m68hc11/dv-m68hc11sio.c sim/m68hc11/dv-m68hc11spi.c sim/m68hc11/dv-m68hc11tim.c sim/m68hc11/dv-nvram.c sim/m68hc11/emulos.c sim/m68hc11/gencode.c sim/m68hc11/interp.c sim/m68hc11/interrupts.c sim/m68hc11/interrupts.h sim/m68hc11/m68hc11_sim.c sim/m68hc11/sim-main.h sim/mcore/ChangeLog sim/mcore/Makefile.in sim/mcore/config.in sim/mcore/configure sim/mcore/configure.in sim/mcore/interp.c sim/mcore/sysdep.h sim/mips/ChangeLog sim/mips/Makefile.in sim/mips/acconfig.h sim/mips/config.in sim/mips/configure sim/mips/configure.in sim/mips/cp1.c sim/mips/cp1.h sim/mips/dv-tx3904cpu.c sim/mips/dv-tx3904irc.c sim/mips/dv-tx3904sio.c sim/mips/dv-tx3904tmr.c sim/mips/interp.c sim/mips/m16.dc sim/mips/m16.igen sim/mips/m16run.c sim/mips/mdmx.c sim/mips/mdmx.igen sim/mips/mips.dc sim/mips/mips.igen sim/mips/mips3d.igen sim/mips/sb1.igen sim/mips/sim-main.c sim/mips/sim-main.h sim/mips/tconfig.in sim/mips/tx.igen sim/mips/vr.igen sim/mn10200/ChangeLog sim/mn10200/Makefile.in sim/mn10200/acconfig.h sim/mn10200/config.in sim/mn10200/configure sim/mn10200/configure.in sim/mn10200/gencode.c sim/mn10200/interp.c sim/mn10200/mn10200_sim.h sim/mn10200/simops.c sim/mn10300/ChangeLog sim/mn10300/Makefile.in sim/mn10300/acconfig.h sim/mn10300/am33.igen sim/mn10300/config.in sim/mn10300/configure sim/mn10300/configure.in sim/mn10300/dv-mn103cpu.c sim/mn10300/dv-mn103int.c sim/mn10300/dv-mn103iop.c sim/mn10300/dv-mn103ser.c sim/mn10300/dv-mn103tim.c sim/mn10300/gencode.c sim/mn10300/interp.c sim/mn10300/mn10300.dc sim/mn10300/mn10300.igen sim/mn10300/mn10300_sim.h sim/mn10300/op_utils.c sim/mn10300/sim-main.c sim/mn10300/sim-main.h sim/mn10300/simops.c sim/mn10300/tconfig.in sim/ppc/.gdbinit sim/ppc/BUGS sim/ppc/COPYING sim/ppc/COPYING.LIB sim/ppc/ChangeLog sim/ppc/ChangeLog.00 sim/ppc/INSTALL sim/ppc/Makefile.in sim/ppc/README sim/ppc/RUN sim/ppc/acconfig.h sim/ppc/aclocal.m4 sim/ppc/basics.h sim/ppc/bits.c sim/ppc/bits.h sim/ppc/cap.c sim/ppc/cap.h sim/ppc/config.in sim/ppc/configure sim/ppc/configure.in sim/ppc/corefile-n.h sim/ppc/corefile.c sim/ppc/corefile.h sim/ppc/cpu.c sim/ppc/cpu.h sim/ppc/dc-complex sim/ppc/dc-simple sim/ppc/dc-stupid sim/ppc/dc-test.01 sim/ppc/dc-test.02 sim/ppc/debug.c sim/ppc/debug.h sim/ppc/device.c sim/ppc/device.h sim/ppc/device_table.c sim/ppc/device_table.h sim/ppc/dgen.c sim/ppc/double.c sim/ppc/dp-bit.c sim/ppc/emul_bugapi.c sim/ppc/emul_bugapi.h sim/ppc/emul_chirp.c sim/ppc/emul_chirp.h sim/ppc/emul_generic.c sim/ppc/emul_generic.h sim/ppc/emul_netbsd.c sim/ppc/emul_netbsd.h sim/ppc/emul_unix.c sim/ppc/emul_unix.h sim/ppc/events.c sim/ppc/events.h sim/ppc/filter.c sim/ppc/filter.h sim/ppc/filter_filename.c sim/ppc/filter_filename.h sim/ppc/gen-icache.c sim/ppc/gen-icache.h sim/ppc/gen-idecode.c sim/ppc/gen-idecode.h sim/ppc/gen-itable.c sim/ppc/gen-itable.h sim/ppc/gen-model.c sim/ppc/gen-model.h sim/ppc/gen-semantics.c sim/ppc/gen-semantics.h sim/ppc/gen-support.c sim/ppc/gen-support.h sim/ppc/hw_com.c sim/ppc/hw_core.c sim/ppc/hw_cpu.c sim/ppc/hw_cpu.h sim/ppc/hw_disk.c sim/ppc/hw_eeprom.c sim/ppc/hw_glue.c sim/ppc/hw_htab.c sim/ppc/hw_ide.c sim/ppc/hw_init.c sim/ppc/hw_iobus.c sim/ppc/hw_memory.c sim/ppc/hw_nvram.c sim/ppc/hw_opic.c sim/ppc/hw_pal.c sim/ppc/hw_phb.c sim/ppc/hw_phb.h sim/ppc/hw_register.c sim/ppc/hw_trace.c sim/ppc/hw_vm.c sim/ppc/idecode_branch.h sim/ppc/idecode_expression.h sim/ppc/idecode_fields.h sim/ppc/igen.c sim/ppc/igen.h sim/ppc/inline.c sim/ppc/inline.h sim/ppc/interrupts.c sim/ppc/interrupts.h sim/ppc/ld-cache.c sim/ppc/ld-cache.h sim/ppc/ld-decode.c sim/ppc/ld-decode.h sim/ppc/ld-insn.c sim/ppc/ld-insn.h sim/ppc/lf.c sim/ppc/lf.h sim/ppc/main.c sim/ppc/misc.c sim/ppc/misc.h sim/ppc/mon.c sim/ppc/mon.h sim/ppc/options.c sim/ppc/options.h sim/ppc/os_emul.c sim/ppc/os_emul.h sim/ppc/pk_disklabel.c sim/ppc/ppc-cache-rules sim/ppc/ppc-instructions sim/ppc/ppc-spr-table sim/ppc/ppc.mt sim/ppc/psim.c sim/ppc/psim.h sim/ppc/psim.texinfo sim/ppc/registers.c sim/ppc/registers.h sim/ppc/sim-endian-n.h sim/ppc/sim-endian.c sim/ppc/sim-endian.h sim/ppc/sim-main.h sim/ppc/sim_callbacks.h sim/ppc/sim_calls.c sim/ppc/std-config.h sim/ppc/table.c sim/ppc/table.h sim/ppc/tree.c sim/ppc/tree.h sim/ppc/vm.c sim/ppc/vm.h sim/ppc/vm_n.h sim/ppc/words.h sim/sh/ChangeLog sim/sh/Makefile.in sim/sh/acconfig.h sim/sh/config.in sim/sh/configure sim/sh/configure.in sim/sh/gencode.c sim/sh/interp.c sim/sh/syscall.h sim/sh/tconfig.in sim/testsuite/ChangeLog sim/testsuite/Makefile.in sim/testsuite/common/Make-common.in sim/testsuite/common/Makefile.in sim/testsuite/common/alu-n-tst.h sim/testsuite/common/alu-tst.c sim/testsuite/common/bits-gen.c sim/testsuite/common/bits-tst.c sim/testsuite/common/fpu-tst.c sim/testsuite/config/default.exp sim/testsuite/configure sim/testsuite/configure.in sim/testsuite/d10v-elf/ChangeLog sim/testsuite/d10v-elf/Makefile.in sim/testsuite/d10v-elf/configure sim/testsuite/d10v-elf/configure.in sim/testsuite/d10v-elf/exit47.s sim/testsuite/d10v-elf/hello.s sim/testsuite/d10v-elf/loop.s sim/testsuite/d10v-elf/t-ae-ld-d.s sim/testsuite/d10v-elf/t-ae-ld-i.s sim/testsuite/d10v-elf/t-ae-ld-id.s sim/testsuite/d10v-elf/t-ae-ld-im.s sim/testsuite/d10v-elf/t-ae-ld-ip.s sim/testsuite/d10v-elf/t-ae-ld2w-d.s sim/testsuite/d10v-elf/t-ae-ld2w-i.s sim/testsuite/d10v-elf/t-ae-ld2w-id.s sim/testsuite/d10v-elf/t-ae-ld2w-im.s sim/testsuite/d10v-elf/t-ae-ld2w-ip.s sim/testsuite/d10v-elf/t-ae-st-d.s sim/testsuite/d10v-elf/t-ae-st-i.s sim/testsuite/d10v-elf/t-ae-st-id.s sim/testsuite/d10v-elf/t-ae-st-im.s sim/testsuite/d10v-elf/t-ae-st-ip.s sim/testsuite/d10v-elf/t-ae-st-is.s sim/testsuite/d10v-elf/t-ae-st2w-d.s sim/testsuite/d10v-elf/t-ae-st2w-i.s sim/testsuite/d10v-elf/t-ae-st2w-id.s sim/testsuite/d10v-elf/t-ae-st2w-im.s sim/testsuite/d10v-elf/t-ae-st2w-ip.s sim/testsuite/d10v-elf/t-ae-st2w-is.s sim/testsuite/d10v-elf/t-dbt.s sim/testsuite/d10v-elf/t-ld-st.s sim/testsuite/d10v-elf/t-mac.s sim/testsuite/d10v-elf/t-macros.i sim/testsuite/d10v-elf/t-mod-ld-pre.s sim/testsuite/d10v-elf/t-msbu.s sim/testsuite/d10v-elf/t-mulxu.s sim/testsuite/d10v-elf/t-mvtac.s sim/testsuite/d10v-elf/t-mvtc.s sim/testsuite/d10v-elf/t-rac.s sim/testsuite/d10v-elf/t-rachi.s sim/testsuite/d10v-elf/t-rdt.s sim/testsuite/d10v-elf/t-rep.s sim/testsuite/d10v-elf/t-rie-xx.s sim/testsuite/d10v-elf/t-rte.s sim/testsuite/d10v-elf/t-sac.s sim/testsuite/d10v-elf/t-sachi.s sim/testsuite/d10v-elf/t-sadd.s sim/testsuite/d10v-elf/t-slae.s sim/testsuite/d10v-elf/t-sp.s sim/testsuite/d10v-elf/t-sub.s sim/testsuite/d10v-elf/t-sub2w.s sim/testsuite/d10v-elf/t-subi.s sim/testsuite/d10v-elf/t-trap.s sim/testsuite/d30v-elf/ChangeLog sim/testsuite/d30v-elf/Makefile.in sim/testsuite/d30v-elf/br-bra.S sim/testsuite/d30v-elf/br-bratnz.S sim/testsuite/d30v-elf/br-bratzr.S sim/testsuite/d30v-elf/br-bsr.S sim/testsuite/d30v-elf/br-dbra.S sim/testsuite/d30v-elf/br-djmp.S sim/testsuite/d30v-elf/br-djsr.S sim/testsuite/d30v-elf/configure sim/testsuite/d30v-elf/configure.in sim/testsuite/d30v-elf/do-2wordops.S sim/testsuite/d30v-elf/do-flags.S sim/testsuite/d30v-elf/do-shifts.S sim/testsuite/d30v-elf/em-e0.S sim/testsuite/d30v-elf/em-e47.S sim/testsuite/d30v-elf/em-pchr.S sim/testsuite/d30v-elf/em-pstr.S sim/testsuite/d30v-elf/exit47.s sim/testsuite/d30v-elf/hello.s sim/testsuite/d30v-elf/loop.s sim/testsuite/d30v-elf/ls-ld2h.S sim/testsuite/d30v-elf/ls-ld2w.S sim/testsuite/d30v-elf/ls-ld4bh.S sim/testsuite/d30v-elf/ls-ld4bhu.S sim/testsuite/d30v-elf/ls-ldb.S sim/testsuite/d30v-elf/ls-ldbu.S sim/testsuite/d30v-elf/ls-ldh.S sim/testsuite/d30v-elf/ls-ldhh.S sim/testsuite/d30v-elf/ls-ldhu.S sim/testsuite/d30v-elf/ls-ldw.S sim/testsuite/d30v-elf/ls-modaddr.S sim/testsuite/d30v-elf/ls-moddec.S sim/testsuite/d30v-elf/ls-modinc.S sim/testsuite/d30v-elf/ls-st2h.S sim/testsuite/d30v-elf/ls-st2w.S sim/testsuite/d30v-elf/ls-st4hb.S sim/testsuite/d30v-elf/ls-stb.S sim/testsuite/d30v-elf/ls-sth.S sim/testsuite/d30v-elf/ls-sthh.S sim/testsuite/d30v-elf/ls-stw.S sim/testsuite/d30v-elf/os-dbt.S sim/testsuite/d30v-elf/tick.s sim/testsuite/d30v-elf/trap.S sim/testsuite/fr30-elf/ChangeLog sim/testsuite/fr30-elf/Makefile.in sim/testsuite/fr30-elf/configure sim/testsuite/fr30-elf/configure.in sim/testsuite/fr30-elf/exit47.s sim/testsuite/fr30-elf/hello.s sim/testsuite/fr30-elf/loop.s sim/testsuite/lib/sim-defs.exp sim/testsuite/m32r-elf/ChangeLog sim/testsuite/m32r-elf/Makefile.in sim/testsuite/m32r-elf/configure sim/testsuite/m32r-elf/configure.in sim/testsuite/m32r-elf/exit47.s sim/testsuite/m32r-elf/hello.s sim/testsuite/m32r-elf/loop.s sim/testsuite/mips64el-elf/ChangeLog sim/testsuite/mips64el-elf/Makefile.in sim/testsuite/mips64el-elf/configure sim/testsuite/mips64el-elf/configure.in sim/testsuite/sim/fr30/add.cgs sim/testsuite/sim/fr30/add.ms sim/testsuite/sim/fr30/add2.cgs sim/testsuite/sim/fr30/addc.cgs sim/testsuite/sim/fr30/addn.cgs sim/testsuite/sim/fr30/addn2.cgs sim/testsuite/sim/fr30/addsp.cgs sim/testsuite/sim/fr30/allinsn.exp sim/testsuite/sim/fr30/and.cgs sim/testsuite/sim/fr30/andb.cgs sim/testsuite/sim/fr30/andccr.cgs sim/testsuite/sim/fr30/andh.cgs sim/testsuite/sim/fr30/asr.cgs sim/testsuite/sim/fr30/asr2.cgs sim/testsuite/sim/fr30/bandh.cgs sim/testsuite/sim/fr30/bandl.cgs sim/testsuite/sim/fr30/bc.cgs sim/testsuite/sim/fr30/beorh.cgs sim/testsuite/sim/fr30/beorl.cgs sim/testsuite/sim/fr30/beq.cgs sim/testsuite/sim/fr30/bge.cgs sim/testsuite/sim/fr30/bgt.cgs sim/testsuite/sim/fr30/bhi.cgs sim/testsuite/sim/fr30/ble.cgs sim/testsuite/sim/fr30/bls.cgs sim/testsuite/sim/fr30/blt.cgs sim/testsuite/sim/fr30/bn.cgs sim/testsuite/sim/fr30/bnc.cgs sim/testsuite/sim/fr30/bne.cgs sim/testsuite/sim/fr30/bno.cgs sim/testsuite/sim/fr30/bnv.cgs sim/testsuite/sim/fr30/borh.cgs sim/testsuite/sim/fr30/borl.cgs sim/testsuite/sim/fr30/bp.cgs sim/testsuite/sim/fr30/bra.cgs sim/testsuite/sim/fr30/btsth.cgs sim/testsuite/sim/fr30/btstl.cgs sim/testsuite/sim/fr30/bv.cgs sim/testsuite/sim/fr30/call.cgs sim/testsuite/sim/fr30/cmp.cgs sim/testsuite/sim/fr30/cmp2.cgs sim/testsuite/sim/fr30/copld.cgs sim/testsuite/sim/fr30/copop.cgs sim/testsuite/sim/fr30/copst.cgs sim/testsuite/sim/fr30/copsv.cgs sim/testsuite/sim/fr30/div.ms sim/testsuite/sim/fr30/div0s.cgs sim/testsuite/sim/fr30/div0u.cgs sim/testsuite/sim/fr30/div1.cgs sim/testsuite/sim/fr30/div2.cgs sim/testsuite/sim/fr30/div3.cgs sim/testsuite/sim/fr30/div4s.cgs sim/testsuite/sim/fr30/dmov.cgs sim/testsuite/sim/fr30/dmovb.cgs sim/testsuite/sim/fr30/dmovh.cgs sim/testsuite/sim/fr30/enter.cgs sim/testsuite/sim/fr30/eor.cgs sim/testsuite/sim/fr30/eorb.cgs sim/testsuite/sim/fr30/eorh.cgs sim/testsuite/sim/fr30/extsb.cgs sim/testsuite/sim/fr30/extsh.cgs sim/testsuite/sim/fr30/extub.cgs sim/testsuite/sim/fr30/extuh.cgs sim/testsuite/sim/fr30/hello.ms sim/testsuite/sim/fr30/int.cgs sim/testsuite/sim/fr30/inte.cgs sim/testsuite/sim/fr30/jmp.cgs sim/testsuite/sim/fr30/ld.cgs sim/testsuite/sim/fr30/ldi20.cgs sim/testsuite/sim/fr30/ldi32.cgs sim/testsuite/sim/fr30/ldi8.cgs sim/testsuite/sim/fr30/ldm0.cgs sim/testsuite/sim/fr30/ldm1.cgs sim/testsuite/sim/fr30/ldres.cgs sim/testsuite/sim/fr30/ldub.cgs sim/testsuite/sim/fr30/lduh.cgs sim/testsuite/sim/fr30/leave.cgs sim/testsuite/sim/fr30/lsl.cgs sim/testsuite/sim/fr30/lsl2.cgs sim/testsuite/sim/fr30/lsr.cgs sim/testsuite/sim/fr30/lsr2.cgs sim/testsuite/sim/fr30/misc.exp sim/testsuite/sim/fr30/mov.cgs sim/testsuite/sim/fr30/mul.cgs sim/testsuite/sim/fr30/mulh.cgs sim/testsuite/sim/fr30/mulu.cgs sim/testsuite/sim/fr30/muluh.cgs sim/testsuite/sim/fr30/nop.cgs sim/testsuite/sim/fr30/or.cgs sim/testsuite/sim/fr30/orb.cgs sim/testsuite/sim/fr30/orccr.cgs sim/testsuite/sim/fr30/orh.cgs sim/testsuite/sim/fr30/ret.cgs sim/testsuite/sim/fr30/reti.cgs sim/testsuite/sim/fr30/st.cgs sim/testsuite/sim/fr30/stb.cgs sim/testsuite/sim/fr30/sth.cgs sim/testsuite/sim/fr30/stilm.cgs sim/testsuite/sim/fr30/stm0.cgs sim/testsuite/sim/fr30/stm1.cgs sim/testsuite/sim/fr30/stres.cgs sim/testsuite/sim/fr30/sub.cgs sim/testsuite/sim/fr30/subc.cgs sim/testsuite/sim/fr30/subn.cgs sim/testsuite/sim/fr30/testutils.inc sim/testsuite/sim/fr30/xchb.cgs sim/testsuite/sim/m32r/add.cgs sim/testsuite/sim/m32r/add3.cgs sim/testsuite/sim/m32r/addi.cgs sim/testsuite/sim/m32r/addv.cgs sim/testsuite/sim/m32r/addv3.cgs sim/testsuite/sim/m32r/addx.cgs sim/testsuite/sim/m32r/allinsn.exp sim/testsuite/sim/m32r/and.cgs sim/testsuite/sim/m32r/and3.cgs sim/testsuite/sim/m32r/bc24.cgs sim/testsuite/sim/m32r/bc8.cgs sim/testsuite/sim/m32r/beq.cgs sim/testsuite/sim/m32r/beqz.cgs sim/testsuite/sim/m32r/bgez.cgs sim/testsuite/sim/m32r/bgtz.cgs sim/testsuite/sim/m32r/bl24.cgs sim/testsuite/sim/m32r/bl8.cgs sim/testsuite/sim/m32r/blez.cgs sim/testsuite/sim/m32r/bltz.cgs sim/testsuite/sim/m32r/bnc24.cgs sim/testsuite/sim/m32r/bnc8.cgs sim/testsuite/sim/m32r/bne.cgs sim/testsuite/sim/m32r/bnez.cgs sim/testsuite/sim/m32r/bra24.cgs sim/testsuite/sim/m32r/bra8.cgs sim/testsuite/sim/m32r/cmp.cgs sim/testsuite/sim/m32r/cmpi.cgs sim/testsuite/sim/m32r/cmpu.cgs sim/testsuite/sim/m32r/cmpui.cgs sim/testsuite/sim/m32r/div.cgs sim/testsuite/sim/m32r/divu.cgs sim/testsuite/sim/m32r/hello.ms sim/testsuite/sim/m32r/hw-trap.ms sim/testsuite/sim/m32r/jl.cgs sim/testsuite/sim/m32r/jmp.cgs sim/testsuite/sim/m32r/ld-d.cgs sim/testsuite/sim/m32r/ld-plus.cgs sim/testsuite/sim/m32r/ld.cgs sim/testsuite/sim/m32r/ld24.cgs sim/testsuite/sim/m32r/ldb-d.cgs sim/testsuite/sim/m32r/ldb.cgs sim/testsuite/sim/m32r/ldh-d.cgs sim/testsuite/sim/m32r/ldh.cgs sim/testsuite/sim/m32r/ldi16.cgs sim/testsuite/sim/m32r/ldi8.cgs sim/testsuite/sim/m32r/ldub-d.cgs sim/testsuite/sim/m32r/ldub.cgs sim/testsuite/sim/m32r/lduh-d.cgs sim/testsuite/sim/m32r/lduh.cgs sim/testsuite/sim/m32r/lock.cgs sim/testsuite/sim/m32r/machi.cgs sim/testsuite/sim/m32r/maclo.cgs sim/testsuite/sim/m32r/macwhi.cgs sim/testsuite/sim/m32r/macwlo.cgs sim/testsuite/sim/m32r/misc.exp sim/testsuite/sim/m32r/mul.cgs sim/testsuite/sim/m32r/mulhi.cgs sim/testsuite/sim/m32r/mullo.cgs sim/testsuite/sim/m32r/mulwhi.cgs sim/testsuite/sim/m32r/mulwlo.cgs sim/testsuite/sim/m32r/mv.cgs sim/testsuite/sim/m32r/mvfachi.cgs sim/testsuite/sim/m32r/mvfaclo.cgs sim/testsuite/sim/m32r/mvfacmi.cgs sim/testsuite/sim/m32r/mvfc.cgs sim/testsuite/sim/m32r/mvtachi.cgs sim/testsuite/sim/m32r/mvtaclo.cgs sim/testsuite/sim/m32r/mvtc.cgs sim/testsuite/sim/m32r/neg.cgs sim/testsuite/sim/m32r/nop.cgs sim/testsuite/sim/m32r/not.cgs sim/testsuite/sim/m32r/or.cgs sim/testsuite/sim/m32r/or3.cgs sim/testsuite/sim/m32r/rac.cgs sim/testsuite/sim/m32r/rach.cgs sim/testsuite/sim/m32r/rem.cgs sim/testsuite/sim/m32r/remu.cgs sim/testsuite/sim/m32r/rte.cgs sim/testsuite/sim/m32r/seth.cgs sim/testsuite/sim/m32r/sll.cgs sim/testsuite/sim/m32r/sll3.cgs sim/testsuite/sim/m32r/slli.cgs sim/testsuite/sim/m32r/sra.cgs sim/testsuite/sim/m32r/sra3.cgs sim/testsuite/sim/m32r/srai.cgs sim/testsuite/sim/m32r/srl.cgs sim/testsuite/sim/m32r/srl3.cgs sim/testsuite/sim/m32r/srli.cgs sim/testsuite/sim/m32r/st-d.cgs sim/testsuite/sim/m32r/st-minus.cgs sim/testsuite/sim/m32r/st-plus.cgs sim/testsuite/sim/m32r/st.cgs sim/testsuite/sim/m32r/stb-d.cgs sim/testsuite/sim/m32r/stb.cgs sim/testsuite/sim/m32r/sth-d.cgs sim/testsuite/sim/m32r/sth.cgs sim/testsuite/sim/m32r/sub.cgs sim/testsuite/sim/m32r/subv.cgs sim/testsuite/sim/m32r/subx.cgs sim/testsuite/sim/m32r/testutils.inc sim/testsuite/sim/m32r/trap.cgs sim/testsuite/sim/m32r/unlock.cgs sim/testsuite/sim/m32r/uread16.ms sim/testsuite/sim/m32r/uread32.ms sim/testsuite/sim/m32r/uwrite16.ms sim/testsuite/sim/m32r/uwrite32.ms sim/testsuite/sim/m32r/xor.cgs sim/testsuite/sim/m32r/xor3.cgs sim/v850/ChangeLog sim/v850/Makefile.in sim/v850/acconfig.h sim/v850/config.in sim/v850/configure sim/v850/configure.in sim/v850/interp.c sim/v850/sim-main.h sim/v850/simops.c sim/v850/simops.h sim/v850/v850-dc sim/v850/v850.igen sim/v850/v850_sim.h sim/z8k/ChangeLog sim/z8k/Makefile.in sim/z8k/acconfig.h sim/z8k/comped1.c sim/z8k/comped2.c sim/z8k/comped3.c sim/z8k/compedb3.c sim/z8k/config.in sim/z8k/configure sim/z8k/configure.in sim/z8k/iface.c sim/z8k/inlines.h sim/z8k/mem.c sim/z8k/mem.h sim/z8k/quick.c sim/z8k/sim.h sim/z8k/support.c sim/z8k/syscall.h sim/z8k/tconfig.in sim/z8k/tm.h sim/z8k/writecode.c texinfo/texinfo.tex --- bfd/ChangeLog | 5 + bfd/config.bfd | 4 +- bfd/version.h | 2 +- djunpack.bat | 52 - gdb/CONTRIBUTE | 143 - gdb/COPYING | 340 - gdb/ChangeLog | 10807 ----------- gdb/ChangeLog-1990 | 3155 ---- gdb/ChangeLog-1991 | 5175 ------ gdb/ChangeLog-1992 | 6285 ------- gdb/ChangeLog-1993 | 7597 -------- gdb/ChangeLog-1994 | 5705 ------ gdb/ChangeLog-1995 | 4915 ----- gdb/ChangeLog-1996 | 5116 ------ gdb/ChangeLog-1997 | 2909 --- gdb/ChangeLog-1998 | 7220 -------- gdb/ChangeLog-1999 | 9296 ---------- gdb/ChangeLog-2000 | 8204 --------- gdb/ChangeLog-2001 | 9895 ---------- gdb/ChangeLog-3.x | 4838 ----- gdb/MAINTAINERS | 457 - gdb/Makefile.in | 2581 --- gdb/NEWS | 2174 --- gdb/PROBLEMS | 52 - gdb/README | 577 - gdb/TODO | 347 - gdb/a68v-nat.c | 122 - gdb/abug-rom.c | 178 - gdb/acconfig.h | 178 - gdb/acinclude.m4 | 978 - gdb/aclocal.m4 | 1020 -- gdb/ada-exp.y | 966 - gdb/ada-lang.c | 8317 --------- gdb/ada-lang.h | 388 - gdb/ada-lex.l | 928 - gdb/ada-tasks.c | 820 - gdb/ada-typeprint.c | 851 - gdb/ada-valprint.c | 988 - gdb/aix-thread.c | 1707 -- gdb/alpha-linux-tdep.c | 121 - gdb/alpha-nat.c | 278 - gdb/alpha-osf1-tdep.c | 77 - gdb/alpha-tdep.c | 1972 -- gdb/alpha-tdep.h | 109 - gdb/alphabsd-nat.c | 157 - gdb/alphabsd-tdep.c | 102 - gdb/alphabsd-tdep.h | 33 - gdb/alphafbsd-tdep.c | 83 - gdb/alphanbsd-tdep.c | 240 - gdb/annotate.c | 585 - gdb/annotate.h | 106 - gdb/arc-tdep.c | 738 - gdb/arch-utils.c | 933 - gdb/arch-utils.h | 184 - gdb/arm-linux-nat.c | 698 - gdb/arm-linux-tdep.c | 547 - gdb/arm-tdep.c | 3136 ---- gdb/arm-tdep.h | 156 - gdb/armnbsd-nat.c | 464 - gdb/armnbsd-tdep.c | 104 - gdb/avr-tdep.c | 1381 -- gdb/ax-gdb.c | 1860 -- gdb/ax-gdb.h | 112 - gdb/ax-general.c | 542 - gdb/ax.h | 292 - gdb/bcache.c | 350 - gdb/bcache.h | 90 - gdb/blockframe.c | 1607 -- gdb/breakpoint.c | 7809 -------- gdb/breakpoint.h | 709 - gdb/buildsym.c | 1168 -- gdb/buildsym.h | 305 - gdb/builtin-regs.c | 77 - gdb/builtin-regs.h | 35 - gdb/c-exp.y | 1805 -- gdb/c-lang.c | 673 - gdb/c-lang.h | 92 - gdb/c-typeprint.c | 1187 -- gdb/c-valprint.c | 599 - gdb/call-cmds.h | 35 - gdb/ch-exp.c | 2233 --- gdb/ch-lang.c | 663 - gdb/ch-lang.h | 41 - gdb/ch-typeprint.c | 340 - gdb/ch-valprint.c | 605 - gdb/cli-out.c | 373 - gdb/cli-out.h | 27 - gdb/cli/cli-cmds.c | 839 - gdb/cli/cli-cmds.h | 125 - gdb/cli/cli-decode.c | 1528 -- gdb/cli/cli-decode.h | 321 - gdb/cli/cli-dump.c | 821 - gdb/cli/cli-dump.h | 40 - gdb/cli/cli-script.c | 1310 -- gdb/cli/cli-script.h | 50 - gdb/cli/cli-setshow.c | 379 - gdb/cli/cli-setshow.h | 36 - gdb/cli/cli-utils.c | 21 - gdb/cli/cli-utils.h | 22 - gdb/coff-solib.c | 134 - gdb/coff-solib.h | 186 - gdb/coffread.c | 2166 --- gdb/command.h | 289 - gdb/complaints.c | 168 - gdb/complaints.h | 53 - gdb/completer.c | 715 - gdb/completer.h | 44 - gdb/config.in | 516 - gdb/config/alpha/alpha-linux.mh | 10 - gdb/config/alpha/alpha-linux.mt | 3 - gdb/config/alpha/alpha-osf1.mh | 5 - gdb/config/alpha/alpha-osf1.mt | 3 - gdb/config/alpha/alpha-osf2.mh | 6 - gdb/config/alpha/alpha-osf3.mh | 6 - gdb/config/alpha/alpha.mt | 2 - gdb/config/alpha/fbsd.mh | 5 - gdb/config/alpha/fbsd.mt | 3 - gdb/config/alpha/nbsd.mh | 4 - gdb/config/alpha/nbsd.mt | 4 - gdb/config/alpha/nm-fbsd.h | 45 - gdb/config/alpha/nm-linux.h | 48 - gdb/config/alpha/nm-nbsd.h | 31 - gdb/config/alpha/nm-osf.h | 43 - gdb/config/alpha/nm-osf2.h | 55 - gdb/config/alpha/nm-osf3.h | 27 - gdb/config/alpha/tm-alpha.h | 86 - gdb/config/alpha/tm-alphalinux.h | 45 - gdb/config/alpha/tm-fbsd.h | 32 - gdb/config/alpha/tm-nbsd.h | 33 - gdb/config/alpha/xm-alphalinux.h | 26 - gdb/config/alpha/xm-alphaosf.h | 24 - gdb/config/arc/arc.mt | 3 - gdb/config/arc/tm-arc.h | 336 - gdb/config/arm/embed.mt | 7 - gdb/config/arm/linux.mh | 11 - gdb/config/arm/linux.mt | 5 - gdb/config/arm/nbsd.mt | 2 - gdb/config/arm/nbsdaout.mh | 5 - gdb/config/arm/nbsdelf.mh | 4 - gdb/config/arm/nm-linux.h | 42 - gdb/config/arm/nm-nbsd.h | 27 - gdb/config/arm/nm-nbsdaout.h | 29 - gdb/config/arm/tm-arm.h | 34 - gdb/config/arm/tm-embed.h | 52 - gdb/config/arm/tm-linux.h | 94 - gdb/config/arm/tm-wince.h | 34 - gdb/config/arm/wince.mt | 5 - gdb/config/arm/xm-linux.h | 28 - gdb/config/arm/xm-nbsd.h | 22 - gdb/config/avr/avr.mt | 12 - gdb/config/cris/cris.mt | 2 - gdb/config/cris/tm-cris.h | 2 - gdb/config/d10v/d10v.mt | 4 - gdb/config/d30v/d30v.mt | 5 - gdb/config/d30v/tm-d30v.h | 323 - gdb/config/djgpp/README | 189 - gdb/config/djgpp/config.sed | 34 - gdb/config/djgpp/djcheck.sh | 33 - gdb/config/djgpp/djconfig.sh | 163 - gdb/config/djgpp/fnchange.lst | 467 - gdb/config/fr30/fr30.mt | 5 - gdb/config/fr30/tm-fr30.h | 233 - gdb/config/frv/frv.mt | 5 - gdb/config/frv/tm-frv.h | 62 - gdb/config/h8300/h8300.mt | 6 - gdb/config/h8300/tm-h8300.h | 314 - gdb/config/h8500/h8500.mt | 6 - gdb/config/h8500/tm-h8500.h | 288 - gdb/config/i386/cygwin.mh | 5 - gdb/config/i386/cygwin.mt | 6 - gdb/config/i386/embed.mt | 3 - gdb/config/i386/fbsd.mh | 7 - gdb/config/i386/fbsd.mt | 3 - gdb/config/i386/gdbserve.mt | 3 - gdb/config/i386/go32.mh | 17 - gdb/config/i386/go32.mt | 3 - gdb/config/i386/i386aix.mh | 9 - gdb/config/i386/i386aix.mt | 7 - gdb/config/i386/i386aout.mt | 3 - gdb/config/i386/i386bsd.mh | 6 - gdb/config/i386/i386bsd.mt | 3 - gdb/config/i386/i386dgux.mh | 10 - gdb/config/i386/i386gnu.mh | 33 - gdb/config/i386/i386gnu.mt | 3 - gdb/config/i386/i386lynx.mh | 6 - gdb/config/i386/i386lynx.mt | 3 - gdb/config/i386/i386m3.mh | 6 - gdb/config/i386/i386m3.mt | 3 - gdb/config/i386/i386mach.mh | 9 - gdb/config/i386/i386mk.mh | 4 - gdb/config/i386/i386mk.mt | 6 - gdb/config/i386/i386nw.mt | 3 - gdb/config/i386/i386os9k.mt | 3 - gdb/config/i386/i386sco.mh | 12 - gdb/config/i386/i386sco4.mh | 11 - gdb/config/i386/i386sco5.mh | 16 - gdb/config/i386/i386sco5.mt | 3 - gdb/config/i386/i386sol2.mh | 9 - gdb/config/i386/i386sol2.mt | 3 - gdb/config/i386/i386v.mh | 7 - gdb/config/i386/i386v.mt | 3 - gdb/config/i386/i386v32.mh | 8 - gdb/config/i386/i386v4.mh | 10 - gdb/config/i386/i386v4.mt | 3 - gdb/config/i386/i386v42mp.mh | 20 - gdb/config/i386/i386v42mp.mt | 3 - gdb/config/i386/linux.mh | 12 - gdb/config/i386/linux.mt | 6 - gdb/config/i386/nbsd.mt | 4 - gdb/config/i386/nbsdaout.mh | 5 - gdb/config/i386/nbsdelf.mh | 4 - gdb/config/i386/ncr3000.mh | 16 - gdb/config/i386/ncr3000.mt | 3 - gdb/config/i386/nm-cygwin.h | 36 - gdb/config/i386/nm-fbsd.h | 159 - gdb/config/i386/nm-go32.h | 36 - gdb/config/i386/nm-i386.h | 124 - gdb/config/i386/nm-i386aix.h | 43 - gdb/config/i386/nm-i386bsd.h | 38 - gdb/config/i386/nm-i386gnu.h | 38 - gdb/config/i386/nm-i386lynx.h | 26 - gdb/config/i386/nm-i386mach.h | 30 - gdb/config/i386/nm-i386sco.h | 31 - gdb/config/i386/nm-i386sco4.h | 33 - gdb/config/i386/nm-i386sco5.h | 78 - gdb/config/i386/nm-i386sol2.h | 60 - gdb/config/i386/nm-i386v.h | 44 - gdb/config/i386/nm-i386v4.h | 26 - gdb/config/i386/nm-i386v42mp.h | 23 - gdb/config/i386/nm-linux.h | 88 - gdb/config/i386/nm-m3.h | 23 - gdb/config/i386/nm-nbsd.h | 28 - gdb/config/i386/nm-nbsdaout.h | 30 - gdb/config/i386/nm-obsd.h | 110 - gdb/config/i386/nm-ptx4.h | 66 - gdb/config/i386/nm-symmetry.h | 50 - gdb/config/i386/nm-x86-64linux.h | 90 - gdb/config/i386/obsd.mh | 11 - gdb/config/i386/ptx.mh | 7 - gdb/config/i386/ptx.mt | 3 - gdb/config/i386/ptx4.mh | 8 - gdb/config/i386/ptx4.mt | 3 - gdb/config/i386/symmetry.mh | 4 - gdb/config/i386/symmetry.mt | 3 - gdb/config/i386/tm-cygwin.h | 42 - gdb/config/i386/tm-fbsd.h | 42 - gdb/config/i386/tm-go32.h | 28 - gdb/config/i386/tm-i386.h | 31 - gdb/config/i386/tm-i386aix.h | 48 - gdb/config/i386/tm-i386bsd.h | 45 - gdb/config/i386/tm-i386lynx.h | 29 - gdb/config/i386/tm-i386m3.h | 56 - gdb/config/i386/tm-i386mk.h | 38 - gdb/config/i386/tm-i386os9k.h | 65 - gdb/config/i386/tm-i386sol2.h | 36 - gdb/config/i386/tm-i386v4.h | 39 - gdb/config/i386/tm-i386v42mp.h | 93 - gdb/config/i386/tm-linux.h | 46 - gdb/config/i386/tm-nbsd.h | 27 - gdb/config/i386/tm-ptx.h | 207 - gdb/config/i386/tm-ptx4.h | 26 - gdb/config/i386/tm-symmetry.h | 298 - gdb/config/i386/tm-vxworks.h | 28 - gdb/config/i386/tm-x86-64linux.h | 36 - gdb/config/i386/vxworks.mt | 3 - gdb/config/i386/x86-64linux.mh | 11 - gdb/config/i386/x86-64linux.mt | 7 - gdb/config/i386/xm-cygwin.h | 24 - gdb/config/i386/xm-go32.h | 26 - gdb/config/i386/xm-i386.h | 30 - gdb/config/i386/xm-i386aix.h | 29 - gdb/config/i386/xm-i386bsd.h | 22 - gdb/config/i386/xm-i386m3.h | 33 - gdb/config/i386/xm-i386mach.h | 28 - gdb/config/i386/xm-i386mk.h | 26 - gdb/config/i386/xm-i386sco.h | 40 - gdb/config/i386/xm-i386v.h | 43 - gdb/config/i386/xm-i386v32.h | 25 - gdb/config/i386/xm-i386v4.h | 28 - gdb/config/i386/xm-nbsd.h | 24 - gdb/config/i386/xm-ptx.h | 38 - gdb/config/i386/xm-ptx4.h | 27 - gdb/config/i386/xm-symmetry.h | 28 - gdb/config/i960/mon960.mt | 5 - gdb/config/i960/nindy960.mt | 3 - gdb/config/i960/tm-i960.h | 345 - gdb/config/i960/tm-mon960.h | 69 - gdb/config/i960/tm-nindy960.h | 106 - gdb/config/i960/tm-vx960.h | 52 - gdb/config/i960/vxworks960.mt | 6 - gdb/config/ia64/aix.mh | 8 - gdb/config/ia64/aix.mt | 4 - gdb/config/ia64/ia64.mt | 2 - gdb/config/ia64/linux.mh | 10 - gdb/config/ia64/linux.mt | 6 - gdb/config/ia64/nm-aix.h | 37 - gdb/config/ia64/nm-linux.h | 79 - gdb/config/ia64/tm-aix.h | 32 - gdb/config/ia64/tm-ia64.h | 252 - gdb/config/ia64/tm-linux.h | 34 - gdb/config/ia64/xm-aix.h | 28 - gdb/config/ia64/xm-linux.h | 28 - gdb/config/m32r/m32r.mt | 5 - gdb/config/m32r/tm-m32r.h | 234 - gdb/config/m68hc11/m68hc11.mt | 6 - gdb/config/m68k/3b1.mh | 12 - gdb/config/m68k/3b1.mt | 3 - gdb/config/m68k/apollo68b.mh | 5 - gdb/config/m68k/apollo68b.mt | 3 - gdb/config/m68k/apollo68v.mh | 10 - gdb/config/m68k/cisco.mt | 3 - gdb/config/m68k/delta68.mh | 5 - gdb/config/m68k/delta68.mt | 3 - gdb/config/m68k/dpx2.mh | 6 - gdb/config/m68k/dpx2.mt | 3 - gdb/config/m68k/es1800.mt | 9 - gdb/config/m68k/hp300bsd.mh | 6 - gdb/config/m68k/hp300bsd.mt | 3 - gdb/config/m68k/hp300hpux.mh | 8 - gdb/config/m68k/hp300hpux.mt | 8 - gdb/config/m68k/linux.mh | 14 - gdb/config/m68k/linux.mt | 3 - gdb/config/m68k/m68klynx.mh | 6 - gdb/config/m68k/m68klynx.mt | 4 - gdb/config/m68k/m68kv4.mh | 7 - gdb/config/m68k/m68kv4.mt | 3 - gdb/config/m68k/monitor.mt | 3 - gdb/config/m68k/nbsdaout.mh | 5 - gdb/config/m68k/nbsdaout.mt | 3 - gdb/config/m68k/nm-apollo68b.h | 42 - gdb/config/m68k/nm-apollo68v.h | 21 - gdb/config/m68k/nm-delta68.h | 22 - gdb/config/m68k/nm-dpx2.h | 29 - gdb/config/m68k/nm-hp300bsd.h | 90 - gdb/config/m68k/nm-hp300hpux.h | 55 - gdb/config/m68k/nm-linux.h | 41 - gdb/config/m68k/nm-m68klynx.h | 26 - gdb/config/m68k/nm-nbsd.h | 27 - gdb/config/m68k/nm-nbsdaout.h | 29 - gdb/config/m68k/nm-sun2.h | 34 - gdb/config/m68k/nm-sun3.h | 34 - gdb/config/m68k/nm-sysv4.h | 23 - gdb/config/m68k/os68k.mt | 3 - gdb/config/m68k/st2000.mt | 3 - gdb/config/m68k/sun2os3.mh | 4 - gdb/config/m68k/sun2os3.mt | 7 - gdb/config/m68k/sun2os4.mh | 4 - gdb/config/m68k/sun2os4.mt | 3 - gdb/config/m68k/sun3os3.mh | 4 - gdb/config/m68k/sun3os3.mt | 8 - gdb/config/m68k/sun3os4.mh | 4 - gdb/config/m68k/sun3os4.mt | 3 - gdb/config/m68k/tm-3b1.h | 33 - gdb/config/m68k/tm-apollo68b.h | 61 - gdb/config/m68k/tm-cisco.h | 55 - gdb/config/m68k/tm-delta68.h | 107 - gdb/config/m68k/tm-dpx2.h | 35 - gdb/config/m68k/tm-es1800.h | 60 - gdb/config/m68k/tm-hp300bsd.h | 64 - gdb/config/m68k/tm-hp300hpux.h | 33 - gdb/config/m68k/tm-linux.h | 107 - gdb/config/m68k/tm-m68k.h | 33 - gdb/config/m68k/tm-m68klynx.h | 39 - gdb/config/m68k/tm-m68kv4.h | 71 - gdb/config/m68k/tm-mac.h | 21 - gdb/config/m68k/tm-monitor.h | 46 - gdb/config/m68k/tm-nbsd.h | 49 - gdb/config/m68k/tm-os68k.h | 47 - gdb/config/m68k/tm-st2000.h | 21 - gdb/config/m68k/tm-sun2.h | 24 - gdb/config/m68k/tm-sun2os4.h | 21 - gdb/config/m68k/tm-sun3.h | 108 - gdb/config/m68k/tm-sun3os4.h | 22 - gdb/config/m68k/tm-vx68.h | 89 - gdb/config/m68k/vxworks68.mt | 3 - gdb/config/m68k/xm-3b1.h | 82 - gdb/config/m68k/xm-apollo68b.h | 21 - gdb/config/m68k/xm-apollo68v.h | 42 - gdb/config/m68k/xm-delta68.h | 35 - gdb/config/m68k/xm-dpx2.h | 22 - gdb/config/m68k/xm-hp300bsd.h | 83 - gdb/config/m68k/xm-hp300hpux.h | 150 - gdb/config/m68k/xm-linux.h | 34 - gdb/config/m68k/xm-m68k.h | 21 - gdb/config/m68k/xm-m68kv4.h | 29 - gdb/config/m68k/xm-nbsd.h | 22 - gdb/config/m68k/xm-sun2.h | 77 - gdb/config/m68k/xm-sun3.h | 71 - gdb/config/m68k/xm-sun3os4.h | 22 - gdb/config/m88k/delta88.mh | 6 - gdb/config/m88k/delta88.mt | 3 - gdb/config/m88k/delta88v4.mh | 8 - gdb/config/m88k/delta88v4.mt | 3 - gdb/config/m88k/m88k.mh | 4 - gdb/config/m88k/m88k.mt | 3 - gdb/config/m88k/nm-delta88v4.h | 23 - gdb/config/m88k/nm-m88k.h | 25 - gdb/config/m88k/tm-delta88.h | 28 - gdb/config/m88k/tm-delta88v4.h | 32 - gdb/config/m88k/tm-m88k.h | 587 - gdb/config/m88k/xm-delta88.h | 44 - gdb/config/m88k/xm-delta88v4.h | 22 - gdb/config/m88k/xm-dgux.h | 55 - gdb/config/mcore/mcore.mt | 4 - gdb/config/mips/bigmips.mt | 3 - gdb/config/mips/bigmips64.mt | 3 - gdb/config/mips/decstation.mh | 4 - gdb/config/mips/decstation.mt | 3 - gdb/config/mips/embed.mt | 5 - gdb/config/mips/embed64.mt | 5 - gdb/config/mips/embedl.mt | 5 - gdb/config/mips/embedl64.mt | 5 - gdb/config/mips/irix3.mh | 5 - gdb/config/mips/irix3.mt | 3 - gdb/config/mips/irix4.mh | 10 - gdb/config/mips/irix5.mh | 7 - gdb/config/mips/irix5.mt | 3 - gdb/config/mips/irix6.mh | 7 - gdb/config/mips/irix6.mt | 3 - gdb/config/mips/linux.mh | 7 - gdb/config/mips/linux.mt | 9 - gdb/config/mips/littlemips.mh | 3 - gdb/config/mips/littlemips.mt | 3 - gdb/config/mips/mipsm3.mh | 6 - gdb/config/mips/mipsm3.mt | 4 - gdb/config/mips/mipsv4.mh | 6 - gdb/config/mips/mipsv4.mt | 3 - gdb/config/mips/nbsd.mh | 4 - gdb/config/mips/nbsd.mt | 7 - gdb/config/mips/news-mips.mh | 3 - gdb/config/mips/nm-irix3.h | 38 - gdb/config/mips/nm-irix4.h | 67 - gdb/config/mips/nm-irix5.h | 49 - gdb/config/mips/nm-irix6.h | 22 - gdb/config/mips/nm-linux.h | 51 - gdb/config/mips/nm-mips.h | 34 - gdb/config/mips/nm-nbsd.h | 28 - gdb/config/mips/nm-news-mips.h | 43 - gdb/config/mips/nm-riscos.h | 60 - gdb/config/mips/riscos.mh | 16 - gdb/config/mips/tm-bigmips.h | 20 - gdb/config/mips/tm-bigmips64.h | 22 - gdb/config/mips/tm-embed.h | 46 - gdb/config/mips/tm-embed64.h | 20 - gdb/config/mips/tm-embedl.h | 20 - gdb/config/mips/tm-embedl64.h | 20 - gdb/config/mips/tm-irix3.h | 82 - gdb/config/mips/tm-irix5.h | 70 - gdb/config/mips/tm-irix6.h | 119 - gdb/config/mips/tm-linux.h | 72 - gdb/config/mips/tm-mips.h | 240 - gdb/config/mips/tm-mips64.h | 37 - gdb/config/mips/tm-mipsm3.h | 67 - gdb/config/mips/tm-mipsv4.h | 37 - gdb/config/mips/tm-nbsd.h | 40 - gdb/config/mips/tm-tx39.h | 36 - gdb/config/mips/tm-tx39l.h | 36 - gdb/config/mips/tm-vr4100.h | 20 - gdb/config/mips/tm-vr4300.h | 20 - gdb/config/mips/tm-vr4300el.h | 20 - gdb/config/mips/tm-vr4xxx.h | 20 - gdb/config/mips/tm-vr4xxxel.h | 20 - gdb/config/mips/tm-vr5000.h | 20 - gdb/config/mips/tm-vr5000el.h | 20 - gdb/config/mips/tm-vxmips.h | 29 - gdb/config/mips/tm-wince.h | 33 - gdb/config/mips/tx39.mt | 5 - gdb/config/mips/tx39l.mt | 5 - gdb/config/mips/vr4100.mt | 5 - gdb/config/mips/vr4300.mt | 5 - gdb/config/mips/vr4300el.mt | 5 - gdb/config/mips/vr4xxx.mt | 5 - gdb/config/mips/vr4xxxel.mt | 5 - gdb/config/mips/vr5000.mt | 5 - gdb/config/mips/vr5000el.mt | 5 - gdb/config/mips/vxmips.mt | 3 - gdb/config/mips/wince.mt | 5 - gdb/config/mips/xm-irix3.h | 30 - gdb/config/mips/xm-irix4.h | 34 - gdb/config/mips/xm-irix5.h | 34 - gdb/config/mips/xm-irix6.h | 22 - gdb/config/mips/xm-linux.h | 25 - gdb/config/mips/xm-mips.h | 59 - gdb/config/mips/xm-mipsm3.h | 29 - gdb/config/mips/xm-mipsv4.h | 22 - gdb/config/mips/xm-riscos.h | 25 - gdb/config/mn10200/mn10200.mt | 6 - gdb/config/mn10200/tm-mn10200.h | 219 - gdb/config/mn10300/mn10300.mt | 4 - gdb/config/nm-gnu.h | 43 - gdb/config/nm-linux.h | 74 - gdb/config/nm-lynx.h | 85 - gdb/config/nm-m3.h | 126 - gdb/config/nm-nbsd.h | 27 - gdb/config/nm-nbsdaout.h | 72 - gdb/config/nm-sysv4.h | 34 - gdb/config/none/nm-none.h | 19 - gdb/config/none/none.mh | 5 - gdb/config/none/none.mt | 4 - gdb/config/none/tm-none.h | 24 - gdb/config/none/xm-none.h | 19 - gdb/config/ns32k/nbsdaout.mh | 5 - gdb/config/ns32k/nbsdaout.mt | 3 - gdb/config/ns32k/nm-nbsd.h | 37 - gdb/config/ns32k/nm-nbsdaout.h | 30 - gdb/config/ns32k/tm-nbsd.h | 37 - gdb/config/ns32k/tm-ns32k.h | 39 - gdb/config/ns32k/xm-nbsd.h | 22 - gdb/config/pa/hppa.mt | 2 - gdb/config/pa/hppa64.mt | 4 - gdb/config/pa/hppabsd.mh | 4 - gdb/config/pa/hppabsd.mt | 3 - gdb/config/pa/hppahpux.mh | 8 - gdb/config/pa/hppahpux.mt | 3 - gdb/config/pa/hppaosf.mh | 5 - gdb/config/pa/hppaosf.mt | 3 - gdb/config/pa/hppapro.mt | 3 - gdb/config/pa/hpux1020.mh | 14 - gdb/config/pa/hpux1020.mt | 3 - gdb/config/pa/hpux11.mh | 14 - gdb/config/pa/hpux11.mt | 3 - gdb/config/pa/hpux11w.mh | 14 - gdb/config/pa/hpux11w.mt | 3 - gdb/config/pa/nm-hppab.h | 137 - gdb/config/pa/nm-hppah.h | 287 - gdb/config/pa/nm-hppah11.h | 23 - gdb/config/pa/nm-hppao.h | 57 - gdb/config/pa/tm-hppa.h | 766 - gdb/config/pa/tm-hppa64.h | 333 - gdb/config/pa/tm-hppab.h | 47 - gdb/config/pa/tm-hppah.h | 90 - gdb/config/pa/tm-hppao.h | 98 - gdb/config/pa/tm-pro.h | 14 - gdb/config/pa/xm-hppab.h | 24 - gdb/config/pa/xm-hppah.h | 29 - gdb/config/pa/xm-pa.h | 5 - gdb/config/powerpc/aix.mh | 16 - gdb/config/powerpc/aix.mt | 3 - gdb/config/powerpc/aix432.mh | 19 - gdb/config/powerpc/gdbserve.mt | 3 - gdb/config/powerpc/linux.mh | 13 - gdb/config/powerpc/linux.mt | 7 - gdb/config/powerpc/nbsd.mh | 3 - gdb/config/powerpc/nbsd.mt | 7 - gdb/config/powerpc/nm-aix.h | 23 - gdb/config/powerpc/nm-linux.h | 33 - gdb/config/powerpc/nm-nbsd.h | 27 - gdb/config/powerpc/ppc-eabi.mt | 3 - gdb/config/powerpc/ppc-sim.mt | 6 - gdb/config/powerpc/ppcle-eabi.mt | 3 - gdb/config/powerpc/ppcle-sim.mt | 6 - gdb/config/powerpc/tm-linux.h | 70 - gdb/config/powerpc/tm-nbsd.h | 26 - gdb/config/powerpc/tm-ppc-aix.h | 27 - gdb/config/powerpc/tm-ppc-eabi.h | 43 - gdb/config/powerpc/tm-ppc-sim.h | 26 - gdb/config/powerpc/tm-ppcle-eabi.h | 28 - gdb/config/powerpc/tm-ppcle-sim.h | 26 - gdb/config/powerpc/tm-vxworks.h | 28 - gdb/config/powerpc/vxworks.mt | 3 - gdb/config/powerpc/xm-aix.h | 31 - gdb/config/powerpc/xm-linux.h | 38 - gdb/config/rs6000/aix4.mh | 11 - gdb/config/rs6000/aix4.mt | 3 - gdb/config/rs6000/nm-rs6000.h | 66 - gdb/config/rs6000/nm-rs6000ly.h | 26 - gdb/config/rs6000/rs6000.mh | 11 - gdb/config/rs6000/rs6000.mt | 3 - gdb/config/rs6000/rs6000lynx.mh | 6 - gdb/config/rs6000/rs6000lynx.mt | 3 - gdb/config/rs6000/tm-rs6000-aix4.h | 27 - gdb/config/rs6000/tm-rs6000.h | 120 - gdb/config/rs6000/tm-rs6000ly.h | 31 - gdb/config/rs6000/xm-aix4.h | 27 - gdb/config/rs6000/xm-rs6000.h | 94 - gdb/config/s390/nm-linux.h | 84 - gdb/config/s390/s390.mh | 13 - gdb/config/s390/s390.mt | 6 - gdb/config/s390/s390x.mt | 9 - gdb/config/s390/tm-linux.h | 44 - gdb/config/s390/tm-s390.h | 115 - gdb/config/s390/xm-linux.h | 30 - gdb/config/sh/embed.mt | 6 - gdb/config/sh/linux.mt | 8 - gdb/config/sh/nbsd.mh | 4 - gdb/config/sh/nbsd.mt | 6 - gdb/config/sh/nm-nbsd.h | 28 - gdb/config/sh/tm-linux.h | 32 - gdb/config/sh/tm-nbsd.h | 28 - gdb/config/sh/tm-sh.h | 33 - gdb/config/sh/tm-wince.h | 32 - gdb/config/sh/wince.mt | 5 - gdb/config/sparc/fbsd.mh | 25 - gdb/config/sparc/fbsd.mt | 23 - gdb/config/sparc/linux.mh | 14 - gdb/config/sparc/linux.mt | 3 - gdb/config/sparc/nbsd.mt | 4 - gdb/config/sparc/nbsd64.mh | 3 - gdb/config/sparc/nbsd64.mt | 4 - gdb/config/sparc/nbsdaout.mh | 4 - gdb/config/sparc/nbsdelf.mh | 4 - gdb/config/sparc/nm-fbsd.h | 67 - gdb/config/sparc/nm-linux.h | 32 - gdb/config/sparc/nm-nbsd.h | 35 - gdb/config/sparc/nm-nbsdaout.h | 30 - gdb/config/sparc/nm-sparclynx.h | 26 - gdb/config/sparc/nm-sun4os4.h | 42 - gdb/config/sparc/nm-sun4sol2.h | 69 - gdb/config/sparc/sp64.mt | 9 - gdb/config/sparc/sp64linux.mt | 3 - gdb/config/sparc/sp64sim.mt | 13 - gdb/config/sparc/sp64sol2.mt | 3 - gdb/config/sparc/sparc-em.mt | 3 - gdb/config/sparc/sparclet.mt | 3 - gdb/config/sparc/sparclite.mt | 5 - gdb/config/sparc/sparclynx.mh | 6 - gdb/config/sparc/sparclynx.mt | 3 - gdb/config/sparc/sun4os4.mh | 9 - gdb/config/sparc/sun4os4.mt | 3 - gdb/config/sparc/sun4sol2.mh | 22 - gdb/config/sparc/sun4sol2.mt | 3 - gdb/config/sparc/tm-fbsd.h | 34 - gdb/config/sparc/tm-linux.h | 34 - gdb/config/sparc/tm-nbsd.h | 29 - gdb/config/sparc/tm-nbsd64.h | 27 - gdb/config/sparc/tm-sp64.h | 467 - gdb/config/sparc/tm-sp64linux.h | 36 - gdb/config/sparc/tm-sp64sim.h | 50 - gdb/config/sparc/tm-sparc.h | 766 - gdb/config/sparc/tm-sparclet.h | 156 - gdb/config/sparc/tm-sparclite.h | 126 - gdb/config/sparc/tm-sparclynx.h | 37 - gdb/config/sparc/tm-spc-em.h | 46 - gdb/config/sparc/tm-sun4os4.h | 59 - gdb/config/sparc/tm-sun4sol2.h | 82 - gdb/config/sparc/tm-vxsparc.h | 33 - gdb/config/sparc/vxsparc.mt | 3 - gdb/config/sparc/xm-linux.h | 42 - gdb/config/sparc/xm-sun4sol2.h | 37 - gdb/config/tm-linux.h | 42 - gdb/config/tm-lynx.h | 35 - gdb/config/tm-sunos.h | 32 - gdb/config/tm-sysv4.h | 47 - gdb/config/tm-vxworks.h | 23 - gdb/config/v850/v850.mt | 5 - gdb/config/vax/nm-vax.h | 29 - gdb/config/vax/tm-vax.h | 31 - gdb/config/vax/tm-vaxbsd.h | 41 - gdb/config/vax/vax.mt | 3 - gdb/config/vax/vaxbsd.mh | 13 - gdb/config/vax/vaxult.mh | 6 - gdb/config/vax/vaxult2.mh | 6 - gdb/config/vax/xm-vax.h | 80 - gdb/config/vax/xm-vaxbsd.h | 7 - gdb/config/vax/xm-vaxult.h | 10 - gdb/config/vax/xm-vaxult2.h | 9 - gdb/config/xm-aix4.h | 91 - gdb/config/xm-nbsd.h | 26 - gdb/config/xm-sysv4.h | 29 - gdb/config/xstormy16/xstormy16.mt | 5 - gdb/config/z8k/tm-z8k.h | 287 - gdb/config/z8k/z8k.mt | 7 - gdb/configure | 9487 ---------- gdb/configure.host | 171 - gdb/configure.in | 1399 -- gdb/configure.tgt | 312 - gdb/copying.awk | 77 - gdb/copying.c | 323 - gdb/core-aout.c | 146 - gdb/core-regset.c | 134 - gdb/core-sol2.c | 194 - gdb/corefile.c | 472 - gdb/corelow.c | 545 - gdb/cp-abi.c | 110 - gdb/cp-abi.h | 173 - gdb/cp-valprint.c | 853 - gdb/cpu32bug-rom.c | 176 - gdb/cris-tdep.c | 4347 ----- gdb/cxux-nat.c | 537 - gdb/d10v-tdep.c | 1688 -- gdb/d30v-tdep.c | 1365 -- gdb/dbug-rom.c | 174 - gdb/dbxread.c | 3624 ---- gdb/dcache.c | 603 - gdb/dcache.h | 43 - gdb/defs.h | 1210 -- gdb/delta68-nat.c | 90 - gdb/demangle.c | 208 - gdb/dink32-rom.c | 192 - gdb/doc/ChangeLog | 2885 --- gdb/doc/LRS | 197 - gdb/doc/Makefile.in | 434 - gdb/doc/a4rc.sed | 11 - gdb/doc/agentexpr.texi | 839 - gdb/doc/all-cfg.texi | 45 - gdb/doc/annotate.texi | 741 - gdb/doc/configure | 888 - gdb/doc/configure.in | 5 - gdb/doc/fdl.texi | 368 - gdb/doc/gdb.texinfo | 15264 ---------------- gdb/doc/gdbint.texinfo | 6557 ------- gdb/doc/gpl.texi | 409 - gdb/doc/lpsrc.sed | 13 - gdb/doc/psrc.sed | 13 - gdb/doc/refcard.tex | 647 - gdb/doc/stabs.texinfo | 4039 ---- gdb/doublest.c | 789 - gdb/doublest.h | 83 - gdb/dpx2-nat.c | 83 - gdb/dsrec.c | 311 - gdb/dst.h | 1671 -- gdb/dstread.c | 1598 -- gdb/dve3900-rom.c | 1063 -- gdb/dwarf2cfi.c | 1954 -- gdb/dwarf2cfi.h | 66 - gdb/dwarf2read.c | 6938 ------- gdb/dwarfread.c | 3788 ---- gdb/elfread.c | 780 - gdb/environ.c | 185 - gdb/environ.h | 51 - gdb/eval.c | 1977 -- gdb/event-loop.c | 1152 -- gdb/event-loop.h | 95 - gdb/event-top.c | 1168 -- gdb/event-top.h | 111 - gdb/exc_request.defs | 51 - gdb/exec.c | 775 - gdb/expprint.c | 989 - gdb/expression.h | 386 - gdb/f-exp.y | 1184 -- gdb/f-lang.c | 957 - gdb/f-lang.h | 98 - gdb/f-typeprint.c | 400 - gdb/f-valprint.c | 739 - gdb/fbsd-proc.c | 174 - gdb/findvar.c | 903 - gdb/fork-child.c | 573 - gdb/fr30-tdep.c | 601 - gdb/frame.c | 245 - gdb/frame.h | 359 - gdb/frv-tdep.c | 1173 -- gdb/gcore.c | 466 - gdb/gdb-events.c | 413 - gdb/gdb-events.h | 125 - gdb/gdb-events.sh | 619 - gdb/gdb-stabs.h | 87 - gdb/gdb.1 | 375 - gdb/gdb.gdb | 35 - gdb/gdb.h | 60 - gdb/gdb_assert.h | 55 - gdb/gdb_dirent.h | 40 - gdb/gdb_indent.sh | 66 - gdb/gdb_locale.h | 46 - gdb/gdb_obstack.h | 32 - gdb/gdb_proc_service.h | 86 - gdb/gdb_regex.h | 30 - gdb/gdb_stat.h | 74 - gdb/gdb_string.h | 67 - gdb/gdb_thread_db.h | 450 - gdb/gdb_vfork.h | 28 - gdb/gdb_wait.h | 121 - gdb/gdbarch.c | 5465 ------ gdb/gdbarch.h | 2740 --- gdb/gdbarch.sh | 2330 --- gdb/gdbcmd.h | 122 - gdb/gdbcore.h | 201 - gdb/gdbinit.in | 18 - gdb/gdbserver/ChangeLog | 427 - gdb/gdbserver/Makefile.in | 306 - gdb/gdbserver/README | 138 - gdb/gdbserver/acconfig.h | 24 - gdb/gdbserver/acinclude.m4 | 41 - gdb/gdbserver/aclocal.m4 | 54 - gdb/gdbserver/config.in | 63 - gdb/gdbserver/configure | 1929 -- gdb/gdbserver/configure.in | 133 - gdb/gdbserver/configure.srv | 70 - gdb/gdbserver/gdbreplay.c | 328 - gdb/gdbserver/gdbserver.1 | 116 - gdb/gdbserver/i387-fp.c | 290 - gdb/gdbserver/i387-fp.h | 33 - gdb/gdbserver/inferiors.c | 199 - gdb/gdbserver/linux-arm-low.c | 93 - gdb/gdbserver/linux-i386-low.c | 176 - gdb/gdbserver/linux-ia64-low.c | 303 - gdb/gdbserver/linux-low.c | 1265 -- gdb/gdbserver/linux-low.h | 114 - gdb/gdbserver/linux-m68k-low.c | 72 - gdb/gdbserver/linux-mips-low.c | 155 - gdb/gdbserver/linux-ppc-low.c | 116 - gdb/gdbserver/linux-s390-low.c | 88 - gdb/gdbserver/linux-sh-low.c | 105 - gdb/gdbserver/linux-x86-64-low.c | 87 - gdb/gdbserver/low-hppabsd.c | 355 - gdb/gdbserver/low-lynx.c | 745 - gdb/gdbserver/low-nbsd.c | 599 - gdb/gdbserver/low-sim.c | 269 - gdb/gdbserver/low-sparc.c | 314 - gdb/gdbserver/low-sun3.c | 291 - gdb/gdbserver/mem-break.c | 280 - gdb/gdbserver/mem-break.h | 71 - gdb/gdbserver/proc-service.c | 256 - gdb/gdbserver/regcache.c | 236 - gdb/gdbserver/regcache.h | 72 - gdb/gdbserver/remote-utils.c | 713 - gdb/gdbserver/server.c | 420 - gdb/gdbserver/server.h | 173 - gdb/gdbserver/target.c | 110 - gdb/gdbserver/target.h | 142 - gdb/gdbserver/terminal.h | 51 - gdb/gdbserver/thread-db.c | 342 - gdb/gdbserver/utils.c | 99 - gdb/gdbthread.h | 155 - gdb/gdbtypes.c | 3575 ---- gdb/gdbtypes.h | 1253 -- gdb/gnu-nat.c | 3440 ---- gdb/gnu-nat.h | 101 - gdb/gnu-v2-abi.c | 408 - gdb/gnu-v3-abi.c | 454 - gdb/go32-nat.c | 1963 -- gdb/gregset.h | 69 - gdb/h8300-tdep.c | 891 - gdb/h8500-tdep.c | 627 - gdb/hp300ux-nat.c | 226 - gdb/hpacc-abi.c | 328 - gdb/hppa-tdep.c | 4773 ----- gdb/hppab-nat.c | 214 - gdb/hppah-nat.c | 1140 -- gdb/hppam3-nat.c | 141 - gdb/hpread.c | 6310 ------- gdb/hpux-thread.c | 586 - gdb/i386-linux-nat.c | 963 - gdb/i386-linux-tdep.c | 465 - gdb/i386-linux-tdep.h | 36 - gdb/i386-nat.c | 643 - gdb/i386-sol2-tdep.c | 80 - gdb/i386-stub.c | 952 - gdb/i386-tdep.c | 1646 -- gdb/i386-tdep.h | 180 - gdb/i386aix-nat.c | 377 - gdb/i386b-nat.c | 72 - gdb/i386bsd-nat.c | 441 - gdb/i386bsd-tdep.c | 198 - gdb/i386fbsd-nat.c | 105 - gdb/i386gnu-nat.c | 293 - gdb/i386gnu-tdep.c | 43 - gdb/i386ly-tdep.c | 80 - gdb/i386m3-nat.c | 426 - gdb/i386mach-nat.c | 172 - gdb/i386nbsd-tdep.c | 302 - gdb/i386obsd-nat.c | 60 - gdb/i386v-nat.c | 275 - gdb/i386v4-nat.c | 160 - gdb/i387-tdep.c | 710 - gdb/i387-tdep.h | 63 - gdb/i960-tdep.c | 1056 -- gdb/ia64-aix-nat.c | 161 - gdb/ia64-aix-tdep.c | 107 - gdb/ia64-linux-nat.c | 644 - gdb/ia64-linux-tdep.c | 87 - gdb/ia64-tdep.c | 2258 --- gdb/inf-loop.c | 132 - gdb/inf-loop.h | 29 - gdb/infcmd.c | 2152 --- gdb/inferior.h | 555 - gdb/inflow.c | 788 - gdb/infptrace.c | 654 - gdb/infrun.c | 4317 ----- gdb/inftarg.c | 857 - gdb/infttrace.c | 5754 ------ gdb/irix4-nat.c | 207 - gdb/irix5-nat.c | 272 - gdb/jv-exp.y | 1486 -- gdb/jv-lang.c | 1098 -- gdb/jv-lang.h | 73 - gdb/jv-typeprint.c | 343 - gdb/jv-valprint.c | 527 - gdb/kod-cisco.c | 317 - gdb/kod.c | 239 - gdb/kod.h | 61 - gdb/language.c | 1571 -- gdb/language.h | 466 - gdb/lin-lwp.c | 1550 -- gdb/linespec.c | 1270 -- gdb/linespec.h | 27 - gdb/linux-proc.c | 579 - gdb/lynx-nat.c | 829 - gdb/m2-exp.y | 1103 -- gdb/m2-lang.c | 468 - gdb/m2-lang.h | 31 - gdb/m2-typeprint.c | 41 - gdb/m2-valprint.c | 39 - gdb/m3-nat.c | 4566 ----- gdb/m32r-rom.c | 626 - gdb/m32r-stub.c | 1711 -- gdb/m32r-tdep.c | 704 - gdb/m68hc11-tdep.c | 1405 -- gdb/m68k-stub.c | 1098 -- gdb/m68k-tdep.c | 1081 -- gdb/m68klinux-nat.c | 710 - gdb/m68knbsd-nat.c | 103 - gdb/m68knbsd-tdep.c | 33 - gdb/m88k-nat.c | 290 - gdb/m88k-tdep.c | 661 - gdb/macrocmd.c | 287 - gdb/macroexp.c | 1169 -- gdb/macroexp.h | 90 - gdb/macroscope.c | 107 - gdb/macroscope.h | 63 - gdb/macrotab.c | 905 - gdb/macrotab.h | 295 - gdb/main.c | 820 - gdb/maint.c | 797 - gdb/mcore-rom.c | 208 - gdb/mcore-tdep.c | 1180 -- gdb/mdebugread.c | 5042 ----- gdb/mem-break.c | 135 - gdb/memattr.c | 547 - gdb/memattr.h | 91 - gdb/mi/ChangeLog | 1828 -- gdb/mi/gdbmi.texinfo | 3812 ---- gdb/mi/mi-cmd-break.c | 240 - gdb/mi/mi-cmd-disas.c | 500 - gdb/mi/mi-cmd-stack.c | 309 - gdb/mi/mi-cmd-var.c | 499 - gdb/mi/mi-cmds.c | 261 - gdb/mi/mi-cmds.h | 125 - gdb/mi/mi-console.c | 115 - gdb/mi/mi-console.h | 27 - gdb/mi/mi-getopt.c | 76 - gdb/mi/mi-getopt.h | 60 - gdb/mi/mi-main.c | 1559 -- gdb/mi/mi-out.c | 452 - gdb/mi/mi-out.h | 33 - gdb/mi/mi-parse.c | 238 - gdb/mi/mi-parse.h | 55 - gdb/minimon.h | 601 - gdb/minsyms.c | 987 - gdb/mips-irix-tdep.c | 95 - gdb/mips-linux-nat.c | 58 - gdb/mips-linux-tdep.c | 349 - gdb/mips-nat.c | 246 - gdb/mips-tdep.c | 6569 ------- gdb/mipsm3-nat.c | 386 - gdb/mipsnbsd-nat.c | 101 - gdb/mipsnbsd-tdep.c | 369 - gdb/mipsnbsd-tdep.h | 33 - gdb/mipsread.c | 445 - gdb/mipsv4-nat.c | 160 - gdb/mn10200-tdep.c | 891 - gdb/mn10300-tdep.c | 1222 -- gdb/mon960-rom.c | 261 - gdb/monitor.c | 2393 --- gdb/monitor.h | 257 - gdb/msg.defs | 1 - gdb/msg_reply.defs | 1 - gdb/nbsd-tdep.c | 109 - gdb/nbsd-tdep.h | 30 - gdb/nindy-share/Makefile | 117 - gdb/nindy-share/Onindy.c | 743 - gdb/nindy-share/README | 3 - gdb/nindy-share/VERSION | 1 - gdb/nindy-share/b.out.h | 158 - gdb/nindy-share/block_io.h | 68 - gdb/nindy-share/coff.h | 336 - gdb/nindy-share/env.h | 12 - gdb/nindy-share/nindy.c | 1154 -- gdb/nindy-share/stop.h | 86 - gdb/nindy-share/ttyflush.c | 48 - gdb/nindy-tdep.c | 78 - gdb/nlm/Makefile.in | 176 - gdb/nlm/configure | 1074 -- gdb/nlm/configure.in | 55 - gdb/nlm/gdbserve.c | 1033 -- gdb/nlm/gdbserve.def | 42 - gdb/nlm/i386.c | 100 - gdb/nlm/i386.h | 13 - gdb/nlm/ppc.c | 244 - gdb/nlm/ppc.h | 165 - gdb/nlm/prelude.c | 67 - gdb/nlmread.c | 248 - gdb/notify.defs | 1 - gdb/ns32k-tdep.c | 626 - gdb/ns32k-tdep.h | 66 - gdb/ns32knbsd-nat.c | 364 - gdb/ns32knbsd-tdep.c | 70 - gdb/objfiles.c | 1011 - gdb/objfiles.h | 616 - gdb/ocd.c | 1388 -- gdb/ocd.h | 139 - gdb/op50-rom.c | 142 - gdb/os9kread.c | 1621 -- gdb/osabi.c | 433 - gdb/osabi.h | 82 - gdb/osf-share/AT386/cma_thread_io.h | 457 - gdb/osf-share/HP800/cma_thread_io.h | 432 - gdb/osf-share/README | 8 - gdb/osf-share/RIOS/cma_thread_io.h | 434 - gdb/osf-share/cma_attr.h | 341 - gdb/osf-share/cma_deb_core.h | 164 - gdb/osf-share/cma_debug_client.h | 195 - gdb/osf-share/cma_errors.h | 55 - gdb/osf-share/cma_handle.h | 182 - gdb/osf-share/cma_init.h | 114 - gdb/osf-share/cma_list.h | 84 - gdb/osf-share/cma_mutex.h | 230 - gdb/osf-share/cma_sched.h | 279 - gdb/osf-share/cma_semaphore_defs.h | 46 - gdb/osf-share/cma_sequence.h | 56 - gdb/osf-share/cma_stack.h | 83 - gdb/osf-share/cma_stack_int.h | 136 - gdb/osf-share/cma_tcb_defs.h | 269 - gdb/osf-share/cma_util.h | 125 - gdb/osfsolib.c | 938 - gdb/p-exp.y | 1614 -- gdb/p-lang.c | 479 - gdb/p-lang.h | 76 - gdb/p-typeprint.c | 817 - gdb/p-valprint.c | 1117 -- gdb/pa64solib.c | 1244 -- gdb/pa64solib.h | 149 - gdb/parse.c | 1412 -- gdb/parser-defs.h | 224 - gdb/ppc-bdm.c | 388 - gdb/ppc-linux-nat.c | 534 - gdb/ppc-linux-tdep.c | 725 - gdb/ppc-sysv-tdep.c | 312 - gdb/ppc-tdep.h | 81 - gdb/ppcbug-rom.c | 223 - gdb/ppcnbsd-nat.c | 121 - gdb/ppcnbsd-tdep.c | 227 - gdb/ppcnbsd-tdep.h | 30 - gdb/printcmd.c | 2572 --- gdb/proc-api.c | 805 - gdb/proc-events.c | 1777 -- gdb/proc-flags.c | 291 - gdb/proc-service.c | 312 - gdb/proc-utils.h | 102 - gdb/proc-why.c | 175 - gdb/process_reply.defs | 1 - gdb/procfs.c | 5891 ------ gdb/ptx4-nat.c | 211 - gdb/rdi-share/Makefile.am | 19 - gdb/rdi-share/Makefile.in | 296 - gdb/rdi-share/README.CYGNUS | 6 - gdb/rdi-share/aclocal.m4 | 202 - gdb/rdi-share/adp.h | 2528 --- gdb/rdi-share/adperr.h | 74 - gdb/rdi-share/angel.h | 177 - gdb/rdi-share/angel_bytesex.c | 57 - gdb/rdi-share/angel_bytesex.h | 42 - gdb/rdi-share/angel_endian.h | 125 - gdb/rdi-share/ardi.c | 2693 --- gdb/rdi-share/ardi.h | 87 - gdb/rdi-share/armdbg.h | 1452 -- gdb/rdi-share/buffers.h | 111 - gdb/rdi-share/chandefs.h | 50 - gdb/rdi-share/channels.h | 384 - gdb/rdi-share/chanpriv.h | 57 - gdb/rdi-share/configure | 2115 --- gdb/rdi-share/configure.in | 36 - gdb/rdi-share/crc.c | 257 - gdb/rdi-share/crc.h | 90 - gdb/rdi-share/dbg_conf.h | 54 - gdb/rdi-share/dbg_cp.h | 62 - gdb/rdi-share/dbg_hif.h | 56 - gdb/rdi-share/dbg_rdi.h | 511 - gdb/rdi-share/devclnt.h | 260 - gdb/rdi-share/devices.h | 104 - gdb/rdi-share/devsw.c | 612 - gdb/rdi-share/devsw.h | 275 - gdb/rdi-share/drivers.c | 34 - gdb/rdi-share/drivers.h | 193 - gdb/rdi-share/etherdrv.c | 737 - gdb/rdi-share/ethernet.h | 99 - gdb/rdi-share/host.h | 217 - gdb/rdi-share/hostchan.c | 1067 -- gdb/rdi-share/hostchan.h | 314 - gdb/rdi-share/hsys.c | 917 - gdb/rdi-share/hsys.h | 101 - gdb/rdi-share/logging.c | 369 - gdb/rdi-share/logging.h | 121 - gdb/rdi-share/msgbuild.c | 282 - gdb/rdi-share/msgbuild.h | 75 - gdb/rdi-share/params.c | 325 - gdb/rdi-share/params.h | 181 - gdb/rdi-share/rx.c | 361 - gdb/rdi-share/rxtx.h | 263 - gdb/rdi-share/serdrv.c | 667 - gdb/rdi-share/serpardr.c | 730 - gdb/rdi-share/sys.h | 319 - gdb/rdi-share/tx.c | 176 - gdb/rdi-share/unixcomm.c | 563 - gdb/rdi-share/unixcomm.h | 212 - gdb/regcache.c | 1732 -- gdb/regcache.h | 207 - gdb/regformats/reg-arm.dat | 28 - gdb/regformats/reg-i386-linux.dat | 44 - gdb/regformats/reg-i386.dat | 43 - gdb/regformats/reg-ia64.dat | 603 - gdb/regformats/reg-m68k.dat | 35 - gdb/regformats/reg-mips.dat | 112 - gdb/regformats/reg-ppc.dat | 76 - gdb/regformats/reg-s390.dat | 69 - gdb/regformats/reg-s390x.dat | 69 - gdb/regformats/reg-sh.dat | 62 - gdb/regformats/reg-x86-64.dat | 57 - gdb/regformats/regdat.sh | 169 - gdb/regformats/regdef.h | 46 - gdb/remote-array.c | 1460 -- gdb/remote-bug.c | 1027 -- gdb/remote-e7000.c | 2227 --- gdb/remote-es.c | 2127 --- gdb/remote-est.c | 182 - gdb/remote-hms.c | 157 - gdb/remote-mips.c | 3599 ---- gdb/remote-nindy.c | 762 - gdb/remote-nrom.c | 351 - gdb/remote-os9k.c | 1234 -- gdb/remote-rdi.c | 1070 -- gdb/remote-rdp.c | 1449 -- gdb/remote-sds.c | 1145 -- gdb/remote-sim.c | 971 - gdb/remote-st.c | 839 - gdb/remote-utils.c | 609 - gdb/remote-utils.h | 133 - gdb/remote-vx.c | 1410 -- gdb/remote-vx68.c | 156 - gdb/remote-vx960.c | 160 - gdb/remote-vxmips.c | 199 - gdb/remote-vxsparc.c | 194 - gdb/remote.c | 6252 ------- gdb/remote.h | 57 - gdb/reply_mig_hack.awk | 123 - gdb/rom68k-rom.c | 260 - gdb/rs6000-nat.c | 1224 -- gdb/rs6000-tdep.c | 2985 --- gdb/s390-nat.c | 324 - gdb/s390-tdep.c | 1886 -- gdb/saber.suppress | 451 - gdb/scm-exp.c | 495 - gdb/scm-lang.c | 267 - gdb/scm-lang.h | 70 - gdb/scm-tags.h | 379 - gdb/scm-valprint.c | 395 - gdb/ser-e7kpc.c | 434 - gdb/ser-go32.c | 964 - gdb/ser-pipe.c | 161 - gdb/ser-tcp.c | 231 - gdb/ser-unix.c | 1363 -- gdb/ser-unix.h | 51 - gdb/serial.c | 712 - gdb/serial.h | 241 - gdb/sh-stub.c | 1583 -- gdb/sh-tdep.c | 4613 ----- gdb/sh-tdep.h | 111 - gdb/sh3-rom.c | 384 - gdb/shnbsd-nat.c | 76 - gdb/shnbsd-tdep.c | 192 - gdb/shnbsd-tdep.h | 28 - gdb/signals/signals.c | 861 - gdb/sim-regno.h | 45 - gdb/sol-thread.c | 1707 -- gdb/solib-aix5.c | 958 - gdb/solib-irix.c | 725 - gdb/solib-legacy.c | 151 - gdb/solib-osf.c | 623 - gdb/solib-sunos.c | 897 - gdb/solib-svr4.c | 1356 -- gdb/solib-svr4.h | 78 - gdb/solib.c | 884 - gdb/solib.h | 204 - gdb/solist.h | 126 - gdb/somread.c | 734 - gdb/somsolib.c | 1616 -- gdb/somsolib.h | 165 - gdb/source.c | 1694 -- gdb/source.h | 34 - gdb/sparc-linux-nat.c | 100 - gdb/sparc-nat.c | 349 - gdb/sparc-stub.c | 778 - gdb/sparc-tdep.c | 3323 ---- gdb/sparc64nbsd-nat.c | 207 - gdb/sparcl-stub.c | 946 - gdb/sparcl-tdep.c | 869 - gdb/sparclet-rom.c | 316 - gdb/sparclet-stub.c | 1167 -- gdb/sparcnbsd-nat.c | 154 - gdb/sparcnbsd-tdep.c | 533 - gdb/sparcnbsd-tdep.h | 34 - gdb/srec.h | 37 - gdb/stabsread.c | 5449 ------ gdb/stabsread.h | 226 - gdb/stack.c | 2022 -- gdb/standalone.c | 579 - gdb/std-regs.c | 151 - gdb/stop-gdb.c | 109 - gdb/sun3-nat.c | 165 - gdb/symfile.c | 3354 ---- gdb/symfile.h | 328 - gdb/symm-nat.c | 902 - gdb/symm-tdep.c | 102 - gdb/symmisc.c | 1087 -- gdb/symtab.c | 4054 ---- gdb/symtab.h | 1422 -- gdb/target.c | 2511 --- gdb/target.h | 1298 -- gdb/terminal.h | 91 - gdb/testsuite/.gdbinit | 1 - gdb/testsuite/ChangeLog | 9232 ---------- gdb/testsuite/Makefile.in | 188 - gdb/testsuite/TODO | 202 - gdb/testsuite/aclocal.m4 | 583 - gdb/testsuite/config/abug.exp | 20 - gdb/testsuite/config/arm-ice.exp | 1 - gdb/testsuite/config/cfdbug.exp | 20 - gdb/testsuite/config/cpu32bug.exp | 20 - gdb/testsuite/config/cygmon.exp | 1 - gdb/testsuite/config/d10v.exp | 20 - gdb/testsuite/config/dve.exp | 23 - gdb/testsuite/config/est.exp | 20 - gdb/testsuite/config/gdbserver.exp | 226 - gdb/testsuite/config/h8300.exp | 1 - gdb/testsuite/config/hmsirom.exp | 22 - gdb/testsuite/config/hppro.exp | 24 - gdb/testsuite/config/i386-bozo.exp | 1 - gdb/testsuite/config/i960.exp | 20 - gdb/testsuite/config/m32r-stub.exp | 1 - gdb/testsuite/config/m32r.exp | 23 - gdb/testsuite/config/m68k-emc.exp | 17 - gdb/testsuite/config/mips-idt.exp | 22 - gdb/testsuite/config/mips.exp | 22 - gdb/testsuite/config/mn10300-eval.exp | 23 - gdb/testsuite/config/monitor.exp | 271 - gdb/testsuite/config/netware.exp | 218 - gdb/testsuite/config/nind.exp | 49 - gdb/testsuite/config/proelf.exp | 20 - gdb/testsuite/config/rom68k.exp | 20 - gdb/testsuite/config/sh.exp | 20 - gdb/testsuite/config/sid.exp | 216 - gdb/testsuite/config/sim.exp | 85 - gdb/testsuite/config/slite.exp | 183 - gdb/testsuite/config/sparclet.exp | 391 - gdb/testsuite/config/udi.exp | 113 - gdb/testsuite/config/unix.exp | 29 - gdb/testsuite/config/unknown.exp | 21 - gdb/testsuite/config/vr4300.exp | 20 - gdb/testsuite/config/vr5000.exp | 20 - gdb/testsuite/config/vx.exp | 131 - gdb/testsuite/config/vxworks.exp | 20 - gdb/testsuite/config/vxworks29k.exp | 27 - gdb/testsuite/configure | 1202 -- gdb/testsuite/configure.in | 116 - gdb/testsuite/gdb.arch/Makefile.in | 31 - gdb/testsuite/gdb.arch/altivec-abi.c | 141 - gdb/testsuite/gdb.arch/altivec-abi.exp | 113 - gdb/testsuite/gdb.arch/altivec-regs.c | 41 - gdb/testsuite/gdb.arch/altivec-regs.exp | 220 - gdb/testsuite/gdb.arch/configure | 913 - gdb/testsuite/gdb.arch/configure.in | 15 - gdb/testsuite/gdb.asm/Makefile.in | 36 - gdb/testsuite/gdb.asm/arm.inc | 34 - gdb/testsuite/gdb.asm/asm-source.exp | 292 - gdb/testsuite/gdb.asm/asmsrc1.s | 63 - gdb/testsuite/gdb.asm/asmsrc2.s | 17 - gdb/testsuite/gdb.asm/common.inc | 28 - gdb/testsuite/gdb.asm/configure | 913 - gdb/testsuite/gdb.asm/configure.in | 15 - gdb/testsuite/gdb.asm/d10v.inc | 55 - gdb/testsuite/gdb.asm/i386.inc | 39 - gdb/testsuite/gdb.asm/m32r.inc | 35 - gdb/testsuite/gdb.asm/powerpc.inc | 46 - gdb/testsuite/gdb.asm/s390.inc | 75 - gdb/testsuite/gdb.asm/sparc.inc | 34 - gdb/testsuite/gdb.asm/sparc64.inc | 34 - gdb/testsuite/gdb.asm/v850.inc | 41 - gdb/testsuite/gdb.asm/x86_64.inc | 39 - gdb/testsuite/gdb.asm/xstormy16.inc | 34 - gdb/testsuite/gdb.base/Makefile.in | 43 - gdb/testsuite/gdb.base/a2-run.exp | 257 - gdb/testsuite/gdb.base/all-bin.exp | 471 - gdb/testsuite/gdb.base/all-types.c | 62 - gdb/testsuite/gdb.base/annota1.c | 51 - gdb/testsuite/gdb.base/annota1.exp | 463 - gdb/testsuite/gdb.base/arithmet.exp | 117 - gdb/testsuite/gdb.base/assign.exp | 446 - gdb/testsuite/gdb.base/async.c | 48 - gdb/testsuite/gdb.base/async.exp | 153 - gdb/testsuite/gdb.base/attach.c | 20 - gdb/testsuite/gdb.base/attach.exp | 446 - gdb/testsuite/gdb.base/attach2.c | 24 - gdb/testsuite/gdb.base/average.c | 46 - gdb/testsuite/gdb.base/bar.c | 9 - gdb/testsuite/gdb.base/baz.c | 9 - gdb/testsuite/gdb.base/bitfields.c | 194 - gdb/testsuite/gdb.base/bitfields.exp | 268 - gdb/testsuite/gdb.base/bitops.exp | 365 - gdb/testsuite/gdb.base/branches.c | 113 - gdb/testsuite/gdb.base/break.c | 131 - gdb/testsuite/gdb.base/break.exp | 949 - gdb/testsuite/gdb.base/call-ar-st.c | 1339 -- gdb/testsuite/gdb.base/call-ar-st.exp | 705 - gdb/testsuite/gdb.base/call-rt-st.c | 633 - gdb/testsuite/gdb.base/call-rt-st.exp | 213 - gdb/testsuite/gdb.base/call-strs.c | 78 - gdb/testsuite/gdb.base/call-strs.exp | 268 - gdb/testsuite/gdb.base/callfuncs.c | 371 - gdb/testsuite/gdb.base/callfuncs.exp | 441 - gdb/testsuite/gdb.base/code-expr.exp | 395 - gdb/testsuite/gdb.base/commands.exp | 571 - gdb/testsuite/gdb.base/completion.exp | 749 - gdb/testsuite/gdb.base/cond-expr.exp | 122 - gdb/testsuite/gdb.base/condbreak.exp | 207 - gdb/testsuite/gdb.base/configure | 902 - gdb/testsuite/gdb.base/configure.in | 15 - gdb/testsuite/gdb.base/consecutive.c | 20 - gdb/testsuite/gdb.base/consecutive.exp | 111 - gdb/testsuite/gdb.base/constvars.c | 183 - gdb/testsuite/gdb.base/constvars.exp | 283 - gdb/testsuite/gdb.base/corefile.exp | 232 - gdb/testsuite/gdb.base/coremaker.c | 122 - gdb/testsuite/gdb.base/coremaker2.c | 58 - gdb/testsuite/gdb.base/cvexpr.c | 434 - gdb/testsuite/gdb.base/cvexpr.exp | 510 - gdb/testsuite/gdb.base/d10v.ld | 193 - gdb/testsuite/gdb.base/d10vovly.c | 225 - gdb/testsuite/gdb.base/dbx.exp | 340 - gdb/testsuite/gdb.base/default.exp | 818 - gdb/testsuite/gdb.base/define.exp | 304 - gdb/testsuite/gdb.base/display.c | 52 - gdb/testsuite/gdb.base/display.exp | 215 - gdb/testsuite/gdb.base/dump.c | 44 - gdb/testsuite/gdb.base/dump.exp | 442 - gdb/testsuite/gdb.base/echo.exp | 44 - gdb/testsuite/gdb.base/ena-dis-br.exp | 493 - gdb/testsuite/gdb.base/ending-run.c | 33 - gdb/testsuite/gdb.base/ending-run.exp | 294 - gdb/testsuite/gdb.base/environ.exp | 329 - gdb/testsuite/gdb.base/eval-skip.exp | 352 - gdb/testsuite/gdb.base/execd-prog.c | 34 - gdb/testsuite/gdb.base/exprs.c | 254 - gdb/testsuite/gdb.base/exprs.exp | 259 - gdb/testsuite/gdb.base/finish.exp | 125 - gdb/testsuite/gdb.base/foll-exec.c | 43 - gdb/testsuite/gdb.base/foll-exec.exp | 400 - gdb/testsuite/gdb.base/foll-fork.c | 34 - gdb/testsuite/gdb.base/foll-fork.exp | 367 - gdb/testsuite/gdb.base/foll-vfork.c | 20 - gdb/testsuite/gdb.base/foll-vfork.exp | 369 - gdb/testsuite/gdb.base/foo.c | 9 - gdb/testsuite/gdb.base/funcargs.c | 792 - gdb/testsuite/gdb.base/funcargs.exp | 1262 -- gdb/testsuite/gdb.base/gcore.c | 52 - gdb/testsuite/gdb.base/gcore.exp | 220 - gdb/testsuite/gdb.base/gdbvars.exp | 117 - gdb/testsuite/gdb.base/grbx.c | 10 - gdb/testsuite/gdb.base/help.exp | 597 - gdb/testsuite/gdb.base/huge.c | 17 - gdb/testsuite/gdb.base/huge.exp | 57 - gdb/testsuite/gdb.base/info-proc.exp | 75 - gdb/testsuite/gdb.base/int-type.c | 25 - gdb/testsuite/gdb.base/interrupt.c | 40 - gdb/testsuite/gdb.base/interrupt.exp | 183 - gdb/testsuite/gdb.base/jump.c | 24 - gdb/testsuite/gdb.base/jump.exp | 187 - gdb/testsuite/gdb.base/langs.exp | 149 - gdb/testsuite/gdb.base/langs0.c | 34 - gdb/testsuite/gdb.base/langs1.c | 41 - gdb/testsuite/gdb.base/langs1.f | 7 - gdb/testsuite/gdb.base/langs2.c | 32 - gdb/testsuite/gdb.base/langs2.cxx | 13 - gdb/testsuite/gdb.base/list.exp | 559 - gdb/testsuite/gdb.base/list0.c | 43 - gdb/testsuite/gdb.base/list0.h | 37 - gdb/testsuite/gdb.base/list1.c | 39 - gdb/testsuite/gdb.base/logical.exp | 577 - gdb/testsuite/gdb.base/long_long.c | 61 - gdb/testsuite/gdb.base/long_long.exp | 311 - gdb/testsuite/gdb.base/m32r.ld | 160 - gdb/testsuite/gdb.base/m32rovly.c | 225 - gdb/testsuite/gdb.base/macscp.exp | 403 - gdb/testsuite/gdb.base/macscp1.c | 80 - gdb/testsuite/gdb.base/macscp2.h | 25 - gdb/testsuite/gdb.base/macscp3.h | 25 - gdb/testsuite/gdb.base/macscp4.h | 44 - gdb/testsuite/gdb.base/maint.exp | 678 - gdb/testsuite/gdb.base/mips_pro.c | 57 - gdb/testsuite/gdb.base/mips_pro.exp | 67 - gdb/testsuite/gdb.base/miscexprs.c | 49 - gdb/testsuite/gdb.base/miscexprs.exp | 311 - gdb/testsuite/gdb.base/nodebug.c | 81 - gdb/testsuite/gdb.base/nodebug.exp | 181 - gdb/testsuite/gdb.base/opaque.exp | 267 - gdb/testsuite/gdb.base/opaque0.c | 23 - gdb/testsuite/gdb.base/opaque1.c | 18 - gdb/testsuite/gdb.base/overlays.c | 34 - gdb/testsuite/gdb.base/overlays.exp | 298 - gdb/testsuite/gdb.base/ovlymgr.c | 233 - gdb/testsuite/gdb.base/ovlymgr.h | 17 - gdb/testsuite/gdb.base/page.exp | 81 - gdb/testsuite/gdb.base/pointers.c | 216 - gdb/testsuite/gdb.base/pointers.exp | 596 - gdb/testsuite/gdb.base/printcmds.c | 107 - gdb/testsuite/gdb.base/printcmds.exp | 715 - gdb/testsuite/gdb.base/ptype.c | 346 - gdb/testsuite/gdb.base/ptype.exp | 609 - gdb/testsuite/gdb.base/radix.exp | 201 - gdb/testsuite/gdb.base/readline.exp | 190 - gdb/testsuite/gdb.base/recurse.c | 31 - gdb/testsuite/gdb.base/recurse.exp | 168 - gdb/testsuite/gdb.base/regs.exp | 86 - gdb/testsuite/gdb.base/relational.exp | 484 - gdb/testsuite/gdb.base/relocate.c | 17 - gdb/testsuite/gdb.base/relocate.exp | 108 - gdb/testsuite/gdb.base/remote.c | 6194 ------- gdb/testsuite/gdb.base/remote.exp | 195 - gdb/testsuite/gdb.base/reread.exp | 189 - gdb/testsuite/gdb.base/reread1.c | 26 - gdb/testsuite/gdb.base/reread2.c | 21 - gdb/testsuite/gdb.base/restore.c | 260 - gdb/testsuite/gdb.base/restore.exp | 113 - gdb/testsuite/gdb.base/return.c | 36 - gdb/testsuite/gdb.base/return.exp | 116 - gdb/testsuite/gdb.base/return2.c | 110 - gdb/testsuite/gdb.base/return2.exp | 129 - gdb/testsuite/gdb.base/run.c | 82 - gdb/testsuite/gdb.base/scope.exp | 608 - gdb/testsuite/gdb.base/scope0.c | 208 - gdb/testsuite/gdb.base/scope1.c | 54 - gdb/testsuite/gdb.base/sect-cmd.exp | 125 - gdb/testsuite/gdb.base/selftest.exp | 462 - gdb/testsuite/gdb.base/setshow.c | 27 - gdb/testsuite/gdb.base/setshow.exp | 243 - gdb/testsuite/gdb.base/setvar.c | 278 - gdb/testsuite/gdb.base/setvar.exp | 434 - gdb/testsuite/gdb.base/shlib-call.exp | 301 - gdb/testsuite/gdb.base/shmain.c | 56 - gdb/testsuite/gdb.base/shr1.c | 63 - gdb/testsuite/gdb.base/shr2.c | 17 - gdb/testsuite/gdb.base/sigall.c | 1810 -- gdb/testsuite/gdb.base/sigall.exp | 210 - gdb/testsuite/gdb.base/signals.c | 59 - gdb/testsuite/gdb.base/signals.exp | 639 - gdb/testsuite/gdb.base/sizeof.c | 122 - gdb/testsuite/gdb.base/sizeof.exp | 208 - gdb/testsuite/gdb.base/so-impl-ld.c | 23 - gdb/testsuite/gdb.base/so-impl-ld.exp | 172 - gdb/testsuite/gdb.base/so-indr-cl.c | 30 - gdb/testsuite/gdb.base/so-indr-cl.exp | 139 - gdb/testsuite/gdb.base/solib.c | 60 - gdb/testsuite/gdb.base/solib.exp | 360 - gdb/testsuite/gdb.base/solib1.c | 18 - gdb/testsuite/gdb.base/solib2.c | 19 - gdb/testsuite/gdb.base/ss.h | 4 - gdb/testsuite/gdb.base/step-line.c | 84 - gdb/testsuite/gdb.base/step-line.exp | 95 - gdb/testsuite/gdb.base/step-line.inp | 41 - gdb/testsuite/gdb.base/step-test.c | 61 - gdb/testsuite/gdb.base/step-test.exp | 241 - gdb/testsuite/gdb.base/structs.c | 263 - gdb/testsuite/gdb.base/structs.exp | 167 - gdb/testsuite/gdb.base/structs2.c | 38 - gdb/testsuite/gdb.base/structs2.exp | 79 - gdb/testsuite/gdb.base/sum.c | 15 - gdb/testsuite/gdb.base/term.exp | 76 - gdb/testsuite/gdb.base/twice.c | 21 - gdb/testsuite/gdb.base/twice.exp | 64 - gdb/testsuite/gdb.base/varargs.c | 111 - gdb/testsuite/gdb.base/varargs.exp | 148 - gdb/testsuite/gdb.base/vforked-prog.c | 11 - gdb/testsuite/gdb.base/volatile.exp | 268 - gdb/testsuite/gdb.base/watchpoint.c | 174 - gdb/testsuite/gdb.base/watchpoint.exp | 806 - gdb/testsuite/gdb.base/whatis-exp.exp | 217 - gdb/testsuite/gdb.base/whatis.c | 269 - gdb/testsuite/gdb.base/whatis.exp | 419 - gdb/testsuite/gdb.c++/Makefile.in | 27 - gdb/testsuite/gdb.c++/ambiguous.cc | 110 - gdb/testsuite/gdb.c++/ambiguous.exp | 237 - gdb/testsuite/gdb.c++/annota2.cc | 28 - gdb/testsuite/gdb.c++/annota2.exp | 231 - gdb/testsuite/gdb.c++/anon-union.cc | 55 - gdb/testsuite/gdb.c++/anon-union.exp | 347 - gdb/testsuite/gdb.c++/classes.exp | 929 - gdb/testsuite/gdb.c++/configure | 899 - gdb/testsuite/gdb.c++/configure.in | 15 - gdb/testsuite/gdb.c++/cplusfuncs.cc | 196 - gdb/testsuite/gdb.c++/cplusfuncs.exp | 542 - gdb/testsuite/gdb.c++/ctti.exp | 269 - gdb/testsuite/gdb.c++/cttiadd.cc | 29 - gdb/testsuite/gdb.c++/cttiadd1.cc | 16 - gdb/testsuite/gdb.c++/cttiadd2.cc | 22 - gdb/testsuite/gdb.c++/cttiadd3.cc | 33 - gdb/testsuite/gdb.c++/demangle.exp | 1579 -- gdb/testsuite/gdb.c++/derivation.cc | 240 - gdb/testsuite/gdb.c++/derivation.exp | 319 - gdb/testsuite/gdb.c++/hang.H | 12 - gdb/testsuite/gdb.c++/hang.exp | 128 - gdb/testsuite/gdb.c++/hang1.C | 3 - gdb/testsuite/gdb.c++/hang2.C | 8 - gdb/testsuite/gdb.c++/hang3.C | 4 - gdb/testsuite/gdb.c++/inherit.exp | 1062 -- gdb/testsuite/gdb.c++/local.cc | 61 - gdb/testsuite/gdb.c++/local.exp | 199 - gdb/testsuite/gdb.c++/m-data.cc | 53 - gdb/testsuite/gdb.c++/m-data.exp | 112 - gdb/testsuite/gdb.c++/m-static.cc | 72 - gdb/testsuite/gdb.c++/m-static.exp | 112 - gdb/testsuite/gdb.c++/member-ptr.cc | 106 - gdb/testsuite/gdb.c++/member-ptr.exp | 549 - gdb/testsuite/gdb.c++/method.cc | 80 - gdb/testsuite/gdb.c++/method.exp | 194 - gdb/testsuite/gdb.c++/misc.cc | 587 - gdb/testsuite/gdb.c++/misc.exp | 159 - gdb/testsuite/gdb.c++/namespace.cc | 103 - gdb/testsuite/gdb.c++/namespace.exp | 188 - gdb/testsuite/gdb.c++/overload.cc | 161 - gdb/testsuite/gdb.c++/overload.exp | 393 - gdb/testsuite/gdb.c++/ovldbreak.cc | 177 - gdb/testsuite/gdb.c++/ovldbreak.exp | 349 - gdb/testsuite/gdb.c++/ref-types.cc | 79 - gdb/testsuite/gdb.c++/ref-types.exp | 663 - gdb/testsuite/gdb.c++/templates.cc | 785 - gdb/testsuite/gdb.c++/templates.exp | 455 - gdb/testsuite/gdb.c++/try_catch.cc | 126 - gdb/testsuite/gdb.c++/try_catch.exp | 84 - gdb/testsuite/gdb.c++/userdef.cc | 341 - gdb/testsuite/gdb.c++/userdef.exp | 131 - gdb/testsuite/gdb.c++/virtfunc.cc | 201 - gdb/testsuite/gdb.c++/virtfunc.exp | 967 - gdb/testsuite/gdb.chill/ChangeLog | 345 - gdb/testsuite/gdb.chill/Makefile.in | 26 - gdb/testsuite/gdb.chill/builtins.ch | 83 - gdb/testsuite/gdb.chill/builtins.exp | 441 - gdb/testsuite/gdb.chill/callch.ch | 50 - gdb/testsuite/gdb.chill/callch.exp | 69 - gdb/testsuite/gdb.chill/chexp.exp | 450 - gdb/testsuite/gdb.chill/chillvars.ch | 204 - gdb/testsuite/gdb.chill/chillvars.exp | 316 - gdb/testsuite/gdb.chill/configure | 899 - gdb/testsuite/gdb.chill/configure.in | 11 - gdb/testsuite/gdb.chill/enum.ch | 9 - gdb/testsuite/gdb.chill/enum.exp | 85 - gdb/testsuite/gdb.chill/func1.ch | 9 - gdb/testsuite/gdb.chill/gch1041.ch | 17 - gdb/testsuite/gdb.chill/gch1041.exp | 76 - gdb/testsuite/gdb.chill/gch1272.ch | 21 - gdb/testsuite/gdb.chill/gch1272.exp | 86 - gdb/testsuite/gdb.chill/gch1280.ch | 13 - gdb/testsuite/gdb.chill/gch1280.exp | 76 - gdb/testsuite/gdb.chill/gch922.ch | 23 - gdb/testsuite/gdb.chill/gch922.exp | 183 - gdb/testsuite/gdb.chill/gch981.ch | 60 - gdb/testsuite/gdb.chill/gch981.exp | 249 - gdb/testsuite/gdb.chill/misc.ch | 12 - gdb/testsuite/gdb.chill/misc.exp | 100 - gdb/testsuite/gdb.chill/powerset.ch | 33 - gdb/testsuite/gdb.chill/powerset.exp | 187 - gdb/testsuite/gdb.chill/pr-4975-grt.ch | 13 - gdb/testsuite/gdb.chill/pr-4975.ch | 43 - gdb/testsuite/gdb.chill/pr-4975.exp | 67 - gdb/testsuite/gdb.chill/pr-5016.ch | 24 - gdb/testsuite/gdb.chill/pr-5016.exp | 63 - gdb/testsuite/gdb.chill/pr-5020.ch | 19 - gdb/testsuite/gdb.chill/pr-5020.exp | 85 - gdb/testsuite/gdb.chill/pr-5022.ch | 12 - gdb/testsuite/gdb.chill/pr-5022.exp | 70 - gdb/testsuite/gdb.chill/pr-5646-grt.ch | 5 - gdb/testsuite/gdb.chill/pr-5646.ch | 15 - gdb/testsuite/gdb.chill/pr-5646.exp | 64 - gdb/testsuite/gdb.chill/pr-5984.ch | 8 - gdb/testsuite/gdb.chill/pr-5984.exp | 57 - gdb/testsuite/gdb.chill/pr-6292.ch | 17 - gdb/testsuite/gdb.chill/pr-6292.exp | 58 - gdb/testsuite/gdb.chill/pr-6632-grt.ch | 34 - gdb/testsuite/gdb.chill/pr-6632.ch | 31 - gdb/testsuite/gdb.chill/pr-6632.exp | 66 - gdb/testsuite/gdb.chill/pr-8134.exp | 65 - gdb/testsuite/gdb.chill/pr-8136.ch | 34 - gdb/testsuite/gdb.chill/pr-8136.exp | 63 - gdb/testsuite/gdb.chill/pr-8405.ch | 19 - gdb/testsuite/gdb.chill/pr-8405.exp | 61 - gdb/testsuite/gdb.chill/pr-8742.ch | 32 - gdb/testsuite/gdb.chill/pr-8742.exp | 64 - gdb/testsuite/gdb.chill/pr-8894-grt.ch | 6 - gdb/testsuite/gdb.chill/pr-8894.ch | 12 - gdb/testsuite/gdb.chill/pr-8894.exp | 61 - gdb/testsuite/gdb.chill/pr-9095.ch | 13 - gdb/testsuite/gdb.chill/pr-9095.exp | 62 - gdb/testsuite/gdb.chill/pr-9946.ch | 10 - gdb/testsuite/gdb.chill/pr-9946.exp | 79 - gdb/testsuite/gdb.chill/result.ch | 29 - gdb/testsuite/gdb.chill/result.exp | 77 - gdb/testsuite/gdb.chill/string.ch | 24 - gdb/testsuite/gdb.chill/string.exp | 73 - gdb/testsuite/gdb.chill/tests1.ch | 240 - gdb/testsuite/gdb.chill/tests1.exp | 822 - gdb/testsuite/gdb.chill/tests2.ch | 193 - gdb/testsuite/gdb.chill/tests2.exp | 271 - gdb/testsuite/gdb.chill/tuples.ch | 86 - gdb/testsuite/gdb.chill/tuples.exp | 161 - gdb/testsuite/gdb.chill/xstruct-grt.ch | 12 - gdb/testsuite/gdb.chill/xstruct.ch | 16 - gdb/testsuite/gdb.chill/xstruct.exp | 66 - gdb/testsuite/gdb.disasm/Makefile.in | 18 - gdb/testsuite/gdb.disasm/am33.exp | 838 - gdb/testsuite/gdb.disasm/am33.s | 524 - gdb/testsuite/gdb.disasm/configure | 899 - gdb/testsuite/gdb.disasm/configure.in | 15 - gdb/testsuite/gdb.disasm/h8300s.exp | 698 - gdb/testsuite/gdb.disasm/h8300s.s | 356 - gdb/testsuite/gdb.disasm/hppa.exp | 1404 -- gdb/testsuite/gdb.disasm/hppa.s | 1738 -- gdb/testsuite/gdb.disasm/mn10200.exp | 478 - gdb/testsuite/gdb.disasm/mn10200.s | 217 - gdb/testsuite/gdb.disasm/mn10300.exp | 569 - gdb/testsuite/gdb.disasm/mn10300.s | 300 - gdb/testsuite/gdb.disasm/sh3.exp | 123 - gdb/testsuite/gdb.disasm/sh3.s | 54 - gdb/testsuite/gdb.fortran/exprs.exp | 273 - gdb/testsuite/gdb.fortran/types.exp | 114 - gdb/testsuite/gdb.gdb/xfullpath.exp | 198 - gdb/testsuite/gdb.hp/Makefile.in | 44 - gdb/testsuite/gdb.hp/configure | 1010 - gdb/testsuite/gdb.hp/configure.in | 17 - gdb/testsuite/gdb.hp/gdb.aCC/Makefile.in | 27 - gdb/testsuite/gdb.hp/gdb.aCC/configure | 899 - gdb/testsuite/gdb.hp/gdb.aCC/configure.in | 15 - gdb/testsuite/gdb.hp/gdb.aCC/exception.cc | 48 - gdb/testsuite/gdb.hp/gdb.aCC/exception.exp | 439 - gdb/testsuite/gdb.hp/gdb.aCC/optimize.c | 76 - gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp | 149 - gdb/testsuite/gdb.hp/gdb.aCC/run.c | 72 - gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp | 157 - gdb/testsuite/gdb.hp/gdb.base-hp/Makefile.in | 32 - gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.c | 362 - .../gdb.hp/gdb.base-hp/callfwmall.exp | 346 - gdb/testsuite/gdb.hp/gdb.base-hp/configure | 899 - gdb/testsuite/gdb.hp/gdb.base-hp/configure.in | 15 - gdb/testsuite/gdb.hp/gdb.base-hp/dollar.c | 10 - gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp | 155 - .../gdb.hp/gdb.base-hp/genso-thresh.c | 229 - gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.c | 9 - .../gdb.hp/gdb.base-hp/hwwatchbus.exp | 83 - gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.c | 37 - gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp | 128 - gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp | 189 - gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.s | 104 - gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp | 192 - gdb/testsuite/gdb.hp/gdb.base-hp/reg.s | 96 - gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.c | 43 - .../gdb.hp/gdb.base-hp/sized-enum.exp | 165 - .../gdb.hp/gdb.base-hp/so-thresh.exp | 341 - gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.mk | 74 - gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.sh | 34 - gdb/testsuite/gdb.hp/gdb.compat/Makefile.in | 27 - gdb/testsuite/gdb.hp/gdb.compat/average.c | 46 - gdb/testsuite/gdb.hp/gdb.compat/configure | 899 - gdb/testsuite/gdb.hp/gdb.compat/configure.in | 15 - gdb/testsuite/gdb.hp/gdb.compat/sum.c | 15 - gdb/testsuite/gdb.hp/gdb.compat/xdb.c | 20 - gdb/testsuite/gdb.hp/gdb.compat/xdb0.c | 42 - gdb/testsuite/gdb.hp/gdb.compat/xdb0.h | 36 - gdb/testsuite/gdb.hp/gdb.compat/xdb1.c | 33 - gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp | 78 - gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp | 105 - gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp | 321 - gdb/testsuite/gdb.hp/gdb.defects/Makefile.in | 27 - gdb/testsuite/gdb.hp/gdb.defects/bs14602.c | 9 - gdb/testsuite/gdb.hp/gdb.defects/bs14602.exp | 117 - gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc | 52 - gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp | 88 - gdb/testsuite/gdb.hp/gdb.defects/configure | 899 - gdb/testsuite/gdb.hp/gdb.defects/configure.in | 15 - gdb/testsuite/gdb.hp/gdb.defects/solib-d.c | 6 - gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp | 278 - gdb/testsuite/gdb.hp/gdb.defects/solib-d1.c | 12 - gdb/testsuite/gdb.hp/gdb.defects/solib-d2.c | 11 - gdb/testsuite/gdb.hp/gdb.objdbg/Makefile.in | 28 - gdb/testsuite/gdb.hp/gdb.objdbg/configure | 992 - gdb/testsuite/gdb.hp/gdb.objdbg/configure.in | 16 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01.exp | 222 - .../gdb.hp/gdb.objdbg/objdbg01/x1.cc | 25 - .../gdb.hp/gdb.objdbg/objdbg01/x2.cc | 14 - .../gdb.hp/gdb.objdbg/objdbg01/x3.cc | 7 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.h | 22 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02.exp | 85 - .../gdb.hp/gdb.objdbg/objdbg02/x1.cc | 16 - .../gdb.hp/gdb.objdbg/objdbg02/x2.cc | 17 - .../gdb.hp/gdb.objdbg/objdbg02/x3.cc | 6 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03.exp | 164 - .../gdb.hp/gdb.objdbg/objdbg03/x1.cc | 15 - .../gdb.hp/gdb.objdbg/objdbg03/x2.cc | 7 - .../gdb.hp/gdb.objdbg/objdbg03/x3.cc | 21 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04.exp | 65 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x.h | 30 - .../gdb.hp/gdb.objdbg/objdbg04/x1.cc | 15 - .../gdb.hp/gdb.objdbg/objdbg04/x2.cc | 3 - gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr | 8 - .../gdb.hp/gdb.objdbg/tools/symaddr.pa64 | 8 - .../gdb.hp/gdb.objdbg/tools/test-objdbg.cc | 4 - gdb/testsuite/gdb.hp/tools/odump | 7 - gdb/testsuite/gdb.java/Makefile.in | 26 - gdb/testsuite/gdb.java/configure | 913 - gdb/testsuite/gdb.java/configure.in | 11 - gdb/testsuite/gdb.java/jmisc.exp | 91 - gdb/testsuite/gdb.java/jmisc.java | 7 - gdb/testsuite/gdb.java/jmisc1.exp | 91 - gdb/testsuite/gdb.java/jmisc2.exp | 91 - gdb/testsuite/gdb.java/jv-exp.exp | 66 - gdb/testsuite/gdb.java/jv-print.exp | 141 - gdb/testsuite/gdb.mi/ChangeLog | 629 - gdb/testsuite/gdb.mi/Makefile.in | 24 - gdb/testsuite/gdb.mi/basics.c | 45 - gdb/testsuite/gdb.mi/configure | 902 - gdb/testsuite/gdb.mi/configure.in | 15 - gdb/testsuite/gdb.mi/gdb680.exp | 56 - gdb/testsuite/gdb.mi/mi-basics.exp | 174 - gdb/testsuite/gdb.mi/mi-break.exp | 138 - gdb/testsuite/gdb.mi/mi-console.c | 20 - gdb/testsuite/gdb.mi/mi-console.exp | 112 - gdb/testsuite/gdb.mi/mi-disassemble.exp | 224 - gdb/testsuite/gdb.mi/mi-eval.exp | 101 - gdb/testsuite/gdb.mi/mi-hack-cli.exp | 40 - gdb/testsuite/gdb.mi/mi-read-memory.c | 20 - gdb/testsuite/gdb.mi/mi-read-memory.exp | 100 - gdb/testsuite/gdb.mi/mi-regs.exp | 175 - gdb/testsuite/gdb.mi/mi-return.exp | 94 - gdb/testsuite/gdb.mi/mi-simplerun.exp | 199 - gdb/testsuite/gdb.mi/mi-stack.exp | 218 - gdb/testsuite/gdb.mi/mi-stepi.exp | 109 - gdb/testsuite/gdb.mi/mi-until.exp | 127 - gdb/testsuite/gdb.mi/mi-var-block.exp | 228 - gdb/testsuite/gdb.mi/mi-var-child.exp | 1333 -- gdb/testsuite/gdb.mi/mi-var-cmd.exp | 523 - gdb/testsuite/gdb.mi/mi-var-display.exp | 627 - gdb/testsuite/gdb.mi/mi-watch.exp | 191 - gdb/testsuite/gdb.mi/mi0-basics.exp | 174 - gdb/testsuite/gdb.mi/mi0-break.exp | 138 - gdb/testsuite/gdb.mi/mi0-console.exp | 112 - gdb/testsuite/gdb.mi/mi0-disassemble.exp | 224 - gdb/testsuite/gdb.mi/mi0-eval.exp | 101 - gdb/testsuite/gdb.mi/mi0-hack-cli.exp | 40 - gdb/testsuite/gdb.mi/mi0-read-memory.exp | 100 - gdb/testsuite/gdb.mi/mi0-regs.exp | 177 - gdb/testsuite/gdb.mi/mi0-return.exp | 94 - gdb/testsuite/gdb.mi/mi0-simplerun.exp | 201 - gdb/testsuite/gdb.mi/mi0-stack.exp | 218 - gdb/testsuite/gdb.mi/mi0-stepi.exp | 109 - gdb/testsuite/gdb.mi/mi0-until.exp | 127 - gdb/testsuite/gdb.mi/mi0-var-block.exp | 228 - gdb/testsuite/gdb.mi/mi0-var-child.exp | 1333 -- gdb/testsuite/gdb.mi/mi0-var-cmd.exp | 523 - gdb/testsuite/gdb.mi/mi0-var-display.exp | 627 - gdb/testsuite/gdb.mi/mi0-watch.exp | 191 - gdb/testsuite/gdb.mi/testcmds | 25 - gdb/testsuite/gdb.mi/until.c | 26 - gdb/testsuite/gdb.mi/var-cmd.c | 296 - gdb/testsuite/gdb.stabs/Makefile.in | 16 - gdb/testsuite/gdb.stabs/aout.sed | 16 - gdb/testsuite/gdb.stabs/configure | 899 - gdb/testsuite/gdb.stabs/configure.in | 15 - gdb/testsuite/gdb.stabs/ecoff.sed | 17 - gdb/testsuite/gdb.stabs/hppa.sed | 20 - gdb/testsuite/gdb.stabs/weird.def | 882 - gdb/testsuite/gdb.stabs/weird.exp | 328 - gdb/testsuite/gdb.stabs/xcoff.sed | 17 - gdb/testsuite/gdb.threads/Makefile.in | 31 - gdb/testsuite/gdb.threads/config.in | 4 - gdb/testsuite/gdb.threads/configure | 1098 -- gdb/testsuite/gdb.threads/configure.in | 18 - gdb/testsuite/gdb.threads/gcore-thread.exp | 186 - gdb/testsuite/gdb.threads/killed.c | 24 - gdb/testsuite/gdb.threads/killed.exp | 97 - gdb/testsuite/gdb.threads/linux-dp.c | 207 - gdb/testsuite/gdb.threads/linux-dp.exp | 229 - gdb/testsuite/gdb.threads/print-threads.c | 58 - gdb/testsuite/gdb.threads/print-threads.exp | 156 - gdb/testsuite/gdb.threads/pthreads.c | 171 - gdb/testsuite/gdb.threads/pthreads.exp | 332 - gdb/testsuite/gdb.threads/schedlock.c | 44 - gdb/testsuite/gdb.threads/schedlock.exp | 353 - gdb/testsuite/gdb.threads/step.c | 221 - gdb/testsuite/gdb.threads/step.exp | 200 - gdb/testsuite/gdb.threads/step2.exp | 150 - gdb/testsuite/gdb.trace/Makefile.in | 21 - gdb/testsuite/gdb.trace/actions.c | 134 - gdb/testsuite/gdb.trace/actions.exp | 207 - gdb/testsuite/gdb.trace/backtrace.exp | 376 - gdb/testsuite/gdb.trace/circ.c | 90 - gdb/testsuite/gdb.trace/circ.exp | 215 - gdb/testsuite/gdb.trace/collection.c | 280 - gdb/testsuite/gdb.trace/collection.exp | 623 - gdb/testsuite/gdb.trace/configure | 899 - gdb/testsuite/gdb.trace/configure.in | 15 - gdb/testsuite/gdb.trace/deltrace.exp | 269 - gdb/testsuite/gdb.trace/gdb_c_test.c | 3792 ---- gdb/testsuite/gdb.trace/infotrace.exp | 99 - gdb/testsuite/gdb.trace/limits.c | 51 - gdb/testsuite/gdb.trace/limits.exp | 316 - gdb/testsuite/gdb.trace/packetlen.exp | 100 - gdb/testsuite/gdb.trace/passc-dyn.exp | 181 - gdb/testsuite/gdb.trace/passcount.exp | 178 - gdb/testsuite/gdb.trace/report.exp | 421 - gdb/testsuite/gdb.trace/save-trace.exp | 171 - gdb/testsuite/gdb.trace/tfind.exp | 405 - gdb/testsuite/gdb.trace/tracecmd.exp | 269 - gdb/testsuite/gdb.trace/while-dyn.exp | 124 - gdb/testsuite/gdb.trace/while-stepping.exp | 116 - gdb/testsuite/lib/compiler.c | 31 - gdb/testsuite/lib/compiler.cc | 34 - gdb/testsuite/lib/emc-support.exp | 223 - gdb/testsuite/lib/gdb.exp | 1722 -- gdb/testsuite/lib/insight-support.exp | 310 - gdb/testsuite/lib/java.exp | 105 - gdb/testsuite/lib/mi-support.exp | 788 - gdb/testsuite/lib/trace-support.exp | 307 - gdb/thread-db.c | 1044 -- gdb/thread.c | 755 - gdb/top.c | 2141 --- gdb/top.h | 74 - gdb/tracepoint.c | 2810 --- gdb/tracepoint.h | 134 - gdb/tui/ChangeLog | 991 - gdb/tui/tui-file.c | 238 - gdb/tui/tui-file.h | 29 - gdb/tui/tui-hooks.c | 363 - gdb/tui/tui-out.c | 410 - gdb/tui/tui.c | 581 - gdb/tui/tui.h | 141 - gdb/tui/tuiCommand.c | 147 - gdb/tui/tuiCommand.h | 42 - gdb/tui/tuiData.c | 1064 -- gdb/tui/tuiData.h | 384 - gdb/tui/tuiDataWin.c | 358 - gdb/tui/tuiDataWin.h | 47 - gdb/tui/tuiDisassem.c | 433 - gdb/tui/tuiDisassem.h | 41 - gdb/tui/tuiGeneralWin.c | 294 - gdb/tui/tuiGeneralWin.h | 49 - gdb/tui/tuiIO.c | 689 - gdb/tui/tuiIO.h | 67 - gdb/tui/tuiLayout.c | 1155 -- gdb/tui/tuiLayout.h | 30 - gdb/tui/tuiRegs.c | 1056 -- gdb/tui/tuiRegs.h | 47 - gdb/tui/tuiSource.c | 365 - gdb/tui/tuiSource.h | 33 - gdb/tui/tuiSourceWin.c | 720 - gdb/tui/tuiSourceWin.h | 68 - gdb/tui/tuiStack.c | 444 - gdb/tui/tuiStack.h | 33 - gdb/tui/tuiWin.c | 1597 -- gdb/tui/tuiWin.h | 59 - gdb/typeprint.c | 379 - gdb/typeprint.h | 29 - gdb/ui-file.c | 579 - gdb/ui-file.h | 100 - gdb/ui-out.c | 1149 -- gdb/ui-out.h | 275 - gdb/utils.c | 2609 --- gdb/uw-thread.c | 1067 -- gdb/v850-tdep.c | 1309 -- gdb/v850ice.c | 956 - gdb/valarith.c | 1428 -- gdb/valops.c | 3469 ---- gdb/valprint.c | 1424 -- gdb/valprint.h | 60 - gdb/value.h | 569 - gdb/values.c | 1357 -- gdb/varobj.c | 2482 --- gdb/varobj.h | 100 - gdb/vax-tdep.c | 702 - gdb/vax-tdep.h | 63 - gdb/version.h | 33 - gdb/version.in | 1 - gdb/vx-share/README | 7 - gdb/vx-share/dbgRpcLib.h | 32 - gdb/vx-share/ptrace.h | 44 - gdb/vx-share/regPacket.h | 160 - gdb/vx-share/vxTypes.h | 72 - gdb/vx-share/vxWorks.h | 172 - gdb/vx-share/wait.h | 46 - gdb/vx-share/xdr_ld.c | 85 - gdb/vx-share/xdr_ld.h | 45 - gdb/vx-share/xdr_ptrace.c | 119 - gdb/vx-share/xdr_ptrace.h | 72 - gdb/vx-share/xdr_rdb.c | 212 - gdb/vx-share/xdr_rdb.h | 137 - gdb/w89k-rom.c | 311 - gdb/win32-nat.c | 2195 --- gdb/wince-stub.c | 592 - gdb/wince-stub.h | 48 - gdb/wince.c | 2048 --- gdb/wrapper.c | 333 - gdb/wrapper.h | 49 - gdb/x86-64-linux-nat.c | 492 - gdb/x86-64-linux-tdep.c | 137 - gdb/x86-64-tdep.c | 1159 -- gdb/x86-64-tdep.h | 38 - gdb/xcoffread.c | 3049 --- gdb/xcoffsolib.c | 196 - gdb/xcoffsolib.h | 66 - gdb/xmodem.c | 275 - gdb/xmodem.h | 30 - gdb/xstormy16-tdep.c | 1144 -- gdb/z8k-tdep.c | 430 - include/ChangeLog | 4 + include/dis-asm.h | 1 + libiberty/ChangeLog | 4 + libiberty/regex.c | 2 +- mmalloc/COPYING.LIB | 481 - mmalloc/ChangeLog | 472 - mmalloc/MAINTAINERS | 5 - mmalloc/Makefile.in | 213 - mmalloc/TODO | 17 - mmalloc/acinclude.m4 | 1 - mmalloc/aclocal.m4 | 14 - mmalloc/attach.c | 221 - mmalloc/configure | 1747 -- mmalloc/configure.in | 35 - mmalloc/detach.c | 71 - mmalloc/keys.c | 66 - mmalloc/mcalloc.c | 54 - mmalloc/mfree.c | 247 - mmalloc/mm.c | 40 - mmalloc/mmalloc.c | 337 - mmalloc/mmalloc.h | 62 - mmalloc/mmalloc.texi | 258 - mmalloc/mmap-sup.c | 220 - mmalloc/mmcheck.c | 223 - mmalloc/mmemalign.c | 62 - mmalloc/mmprivate.h | 343 - mmalloc/mmstats.c | 46 - mmalloc/mmtrace.awk | 36 - mmalloc/mmtrace.c | 171 - mmalloc/mrealloc.c | 163 - mmalloc/mvalloc.c | 50 - mmalloc/sbrk-sup.c | 102 - opcodes/ChangeLog | 15 + opcodes/disassemble.c | 3 + opcodes/ppc-dis.c | 15 + opcodes/ppc-opc.c | 10 +- readline/CHANGELOG | 339 - readline/CHANGES | 301 - readline/COPYING | 339 - readline/ChangeLog.gdb | 1128 -- readline/INSTALL | 176 - readline/MANIFEST | 113 - readline/Makefile.in | 457 - readline/README | 163 - readline/USAGE | 37 - readline/acconfig.h | 56 - readline/aclocal.m4 | 1427 -- readline/ansi_stdlib.h | 41 - readline/bind.c | 2101 --- readline/callback.c | 141 - readline/chardefs.h | 140 - readline/complete.c | 1776 -- readline/config.h.bot | 22 - readline/config.h.in | 155 - readline/configure | 2995 --- readline/configure.in | 195 - readline/cross-build/cygwin.cache | 45 - readline/display.c | 1720 -- readline/doc/ChangeLog.gdb | 71 - readline/doc/Makefile.in | 181 - readline/doc/hist.texinfo | 110 - readline/doc/hstech.texinfo | 522 - readline/doc/hsuser.texinfo | 437 - readline/doc/inc-hist.texinfo | 438 - readline/doc/manvers.texinfo | 6 - readline/doc/readline.3 | 1205 -- readline/doc/rlman.texinfo | 108 - readline/doc/rltech.texinfo | 1750 -- readline/doc/rluser.texinfo | 1630 -- readline/doc/rluserman.texinfo | 94 - readline/doc/texi2dvi | 362 - readline/doc/texi2html | 2081 --- readline/emacs_keymap.c | 873 - readline/examples/ChangeLog.gdb | 10 - readline/examples/Inputrc | 65 - readline/examples/Makefile.in | 85 - readline/examples/excallback.c | 188 - readline/examples/fileman.c | 458 - readline/examples/histexamp.c | 82 - readline/examples/manexamp.c | 94 - readline/examples/rl.c | 131 - readline/examples/rlfe.c | 685 - readline/examples/rltest.c | 67 - readline/examples/rlversion.c | 23 - readline/funmap.c | 260 - readline/histexpand.c | 1357 -- readline/histfile.c | 384 - readline/histlib.h | 88 - readline/history.c | 388 - readline/history.h | 248 - readline/histsearch.c | 197 - readline/input.c | 409 - readline/isearch.c | 442 - readline/keymaps.c | 150 - readline/keymaps.h | 108 - readline/kill.c | 628 - readline/macro.c | 268 - readline/nls.c | 225 - readline/parens.c | 161 - readline/posixdir.h | 49 - readline/posixjmp.h | 40 - readline/posixstat.h | 142 - readline/readline.c | 2089 --- readline/readline.h | 636 - readline/rlconf.h | 57 - readline/rldefs.h | 136 - readline/rlprivate.h | 271 - readline/rlshell.h | 34 - readline/rlstdc.h | 39 - readline/rltty.c | 871 - readline/rltty.h | 82 - readline/rlwinsize.h | 57 - readline/savestring.c | 33 - readline/search.c | 423 - readline/shell.c | 176 - readline/shlib/Makefile.in | 367 - readline/signals.c | 394 - readline/support/config.guess | 1360 -- readline/support/config.sub | 1470 -- readline/support/install.sh | 235 - readline/support/mkdirs | 32 - readline/support/mkdist | 100 - readline/support/shlib-install | 148 - readline/support/shobj-conf | 377 - readline/tcap.h | 60 - readline/terminal.c | 606 - readline/tilde.c | 459 - readline/tilde.h | 85 - readline/undo.c | 262 - readline/util.c | 351 - readline/vi_keymap.c | 877 - readline/vi_mode.c | 1368 -- readline/xmalloc.c | 88 - readline/xmalloc.h | 46 - sim/ChangeLog | 565 - sim/MAINTAINERS | 19 - sim/Makefile.in | 262 - sim/README-HACKING | 259 - sim/arm/COPYING | 340 - sim/arm/ChangeLog | 995 - sim/arm/Makefile.in | 56 - sim/arm/README.Cygnus | 27 - sim/arm/acconfig.h | 15 - sim/arm/armcopro.c | 1425 -- sim/arm/armdefs.h | 416 - sim/arm/armemu.c | 4872 ----- sim/arm/armemu.h | 532 - sim/arm/armfpe.h | 1352 -- sim/arm/arminit.c | 321 - sim/arm/armopts.h | 23 - sim/arm/armos.c | 829 - sim/arm/armos.h | 94 - sim/arm/armrdi.c | 1247 -- sim/arm/armsupp.c | 821 - sim/arm/armvirt.c | 522 - sim/arm/bag.c | 166 - sim/arm/bag.h | 43 - sim/arm/communicate.c | 255 - sim/arm/communicate.h | 36 - sim/arm/config.in | 158 - sim/arm/configure | 4028 ---- sim/arm/configure.in | 13 - sim/arm/dbg_conf.h | 50 - sim/arm/dbg_cp.h | 70 - sim/arm/dbg_hif.h | 48 - sim/arm/dbg_rdi.h | 338 - sim/arm/gdbhost.c | 113 - sim/arm/gdbhost.h | 23 - sim/arm/kid.c | 540 - sim/arm/main.c | 194 - sim/arm/parent.c | 481 - sim/arm/tconfig.in | 17 - sim/arm/thumbemu.c | 558 - sim/arm/wrapper.c | 745 - sim/common/ChangeLog | 4806 ----- sim/common/Make-common.in | 708 - sim/common/Makefile.in | 136 - sim/common/acconfig.h | 15 - sim/common/aclocal.m4 | 1259 -- sim/common/callback.c | 810 - sim/common/cgen-accfp.c | 706 - sim/common/cgen-cpu.h | 106 - sim/common/cgen-defs.h | 183 - sim/common/cgen-engine.h | 431 - sim/common/cgen-fpu.c | 32 - sim/common/cgen-fpu.h | 212 - sim/common/cgen-mem.h | 229 - sim/common/cgen-ops.h | 654 - sim/common/cgen-par.c | 490 - sim/common/cgen-par.h | 211 - sim/common/cgen-run.c | 237 - sim/common/cgen-scache.c | 476 - sim/common/cgen-scache.h | 162 - sim/common/cgen-sim.h | 36 - sim/common/cgen-trace.c | 436 - sim/common/cgen-trace.h | 91 - sim/common/cgen-types.h | 112 - sim/common/cgen-utils.c | 438 - sim/common/cgen.sh | 222 - sim/common/config.in | 182 - sim/common/configure | 4049 ---- sim/common/configure.in | 41 - sim/common/dv-core.c | 116 - sim/common/dv-glue.c | 373 - sim/common/dv-pal.c | 605 - sim/common/dv-sockser.c | 388 - sim/common/dv-sockser.h | 32 - sim/common/gdbinit.in | 10 - sim/common/genmloop.sh | 1334 -- sim/common/gennltvals.sh | 66 - sim/common/gentmap.c | 125 - sim/common/gentvals.sh | 74 - sim/common/hw-alloc.c | 97 - sim/common/hw-alloc.h | 49 - sim/common/hw-base.c | 576 - sim/common/hw-base.h | 108 - sim/common/hw-device.c | 66 - sim/common/hw-device.h | 535 - sim/common/hw-events.c | 274 - sim/common/hw-events.h | 65 - sim/common/hw-handles.c | 237 - sim/common/hw-handles.h | 63 - sim/common/hw-instances.c | 286 - sim/common/hw-instances.h | 157 - sim/common/hw-main.h | 73 - sim/common/hw-ports.c | 339 - sim/common/hw-ports.h | 129 - sim/common/hw-properties.c | 906 - sim/common/hw-properties.h | 244 - sim/common/hw-tree.c | 1345 -- sim/common/hw-tree.h | 119 - sim/common/nltvals.def | 394 - sim/common/nrun.c | 212 - sim/common/run-sim.h | 94 - sim/common/run.1 | 463 - sim/common/run.c | 351 - sim/common/sim-abort.c | 60 - sim/common/sim-alu.h | 1047 -- sim/common/sim-arange.c | 305 - sim/common/sim-arange.h | 83 - sim/common/sim-assert.h | 90 - sim/common/sim-base.h | 256 - sim/common/sim-basics.h | 154 - sim/common/sim-bits.c | 270 - sim/common/sim-bits.h | 608 - sim/common/sim-break.c | 278 - sim/common/sim-break.h | 38 - sim/common/sim-config.c | 377 - sim/common/sim-config.h | 594 - sim/common/sim-core.c | 836 - sim/common/sim-core.h | 352 - sim/common/sim-cpu.c | 80 - sim/common/sim-cpu.h | 152 - sim/common/sim-endian.c | 128 - sim/common/sim-endian.h | 414 - sim/common/sim-engine.c | 210 - sim/common/sim-engine.h | 161 - sim/common/sim-events.c | 1202 -- sim/common/sim-events.h | 277 - sim/common/sim-fpu.c | 2571 --- sim/common/sim-fpu.h | 424 - sim/common/sim-hload.c | 63 - sim/common/sim-hrw.c | 41 - sim/common/sim-hw.c | 519 - sim/common/sim-hw.h | 98 - sim/common/sim-info.c | 32 - sim/common/sim-inline.c | 96 - sim/common/sim-inline.h | 810 - sim/common/sim-io.c | 389 - sim/common/sim-io.h | 84 - sim/common/sim-load.c | 241 - sim/common/sim-memopt.c | 582 - sim/common/sim-memopt.h | 47 - sim/common/sim-model.c | 215 - sim/common/sim-model.h | 141 - sim/common/sim-module.c | 399 - sim/common/sim-module.h | 125 - sim/common/sim-n-bits.h | 218 - sim/common/sim-n-core.h | 417 - sim/common/sim-n-endian.h | 169 - sim/common/sim-options.c | 986 - sim/common/sim-options.h | 149 - sim/common/sim-profile.c | 1274 -- sim/common/sim-profile.h | 297 - sim/common/sim-reason.c | 57 - sim/common/sim-reg.c | 52 - sim/common/sim-resume.c | 95 - sim/common/sim-run.c | 51 - sim/common/sim-signal.c | 96 - sim/common/sim-signal.h | 49 - sim/common/sim-stop.c | 43 - sim/common/sim-trace.c | 1354 -- sim/common/sim-trace.h | 567 - sim/common/sim-types.h | 209 - sim/common/sim-utils.c | 413 - sim/common/sim-utils.h | 90 - sim/common/sim-watch.c | 458 - sim/common/sim-watch.h | 78 - sim/common/syscall.c | 482 - sim/common/tconfig.in | 19 - sim/configure | 1925 -- sim/configure.in | 186 - sim/d10v/ChangeLog | 1244 -- sim/d10v/Makefile.in | 54 - sim/d10v/acconfig.h | 15 - sim/d10v/config.in | 158 - sim/d10v/configure | 4111 ----- sim/d10v/configure.in | 13 - sim/d10v/d10v_sim.h | 487 - sim/d10v/endian.c | 137 - sim/d10v/gencode.c | 155 - sim/d10v/interp.c | 1506 -- sim/d10v/simops.c | 3628 ---- sim/d30v/ChangeLog | 1390 -- sim/d30v/Makefile.in | 217 - sim/d30v/acconfig.h | 15 - sim/d30v/alu.h | 106 - sim/d30v/config.in | 162 - sim/d30v/configure | 4459 ----- sim/d30v/configure.in | 40 - sim/d30v/cpu.c | 172 - sim/d30v/cpu.h | 249 - sim/d30v/d30v-insns | 2421 --- sim/d30v/dc-short | 22 - sim/d30v/engine.c | 496 - sim/d30v/ic-d30v | 80 - sim/d30v/sim-calls.c | 364 - sim/d30v/sim-main.h | 82 - sim/d30v/tconfig.in | 8 - sim/erc32/ChangeLog | 612 - sim/erc32/Makefile.in | 75 - sim/erc32/NEWS | 108 - sim/erc32/README.erc32 | 130 - sim/erc32/README.gdb | 67 - sim/erc32/README.sis | 356 - sim/erc32/acconfig.h | 15 - sim/erc32/config.in | 158 - sim/erc32/configure | 4096 ----- sim/erc32/configure.in | 24 - sim/erc32/end.c | 26 - sim/erc32/erc32.c | 1888 -- sim/erc32/exec.c | 2041 --- sim/erc32/float.c | 212 - sim/erc32/func.c | 1162 -- sim/erc32/help.c | 40 - sim/erc32/interf.c | 526 - sim/erc32/sis.c | 310 - sim/erc32/sis.h | 217 - sim/erc32/startsim | 4 - sim/fr30/ChangeLog | 440 - sim/fr30/Makefile.in | 107 - sim/fr30/README | 14 - sim/fr30/TODO | 14 - sim/fr30/arch.c | 34 - sim/fr30/arch.h | 45 - sim/fr30/config.in | 162 - sim/fr30/configure | 0 sim/fr30/configure.in | 16 - sim/fr30/cpu.c | 357 - sim/fr30/cpu.h | 890 - sim/fr30/cpuall.h | 66 - sim/fr30/decode.c | 3453 ---- sim/fr30/decode.h | 127 - sim/fr30/devices.c | 98 - sim/fr30/fr30-sim.h | 96 - sim/fr30/fr30.c | 423 - sim/fr30/mloop.in | 236 - sim/fr30/model.c | 4003 ---- sim/fr30/sem-switch.c | 5409 ------ sim/fr30/sem.c | 5729 ------ sim/fr30/sim-if.c | 208 - sim/fr30/sim-main.h | 70 - sim/fr30/tconfig.in | 42 - sim/fr30/traps.c | 218 - sim/h8300/ChangeLog | 685 - sim/h8300/Makefile.in | 27 - sim/h8300/acconfig.h | 15 - sim/h8300/compile.c | 2295 --- sim/h8300/config.in | 158 - sim/h8300/configure | 4024 ---- sim/h8300/configure.in | 10 - sim/h8300/inst.h | 96 - sim/h8300/tconfig.in | 17 - sim/h8300/writecode.c | 1033 -- sim/h8500/ChangeLog | 433 - sim/h8500/Makefile.in | 28 - sim/h8500/acconfig.h | 15 - sim/h8500/compile.c | 2519 --- sim/h8500/config.in | 158 - sim/h8500/configure | 4024 ---- sim/h8500/configure.in | 10 - sim/h8500/inst.h | 101 - sim/h8500/tconfig.in | 13 - sim/i960/ChangeLog | 202 - sim/i960/Makefile.in | 125 - sim/i960/README | 23 - sim/i960/TODO | 64 - sim/i960/acconfig.h | 15 - sim/i960/arch.c | 38 - sim/i960/arch.h | 44 - sim/i960/config.in | 162 - sim/i960/configure | 4294 ----- sim/i960/configure.in | 16 - sim/i960/cpu.c | 85 - sim/i960/cpu.h | 601 - sim/i960/cpuall.h | 67 - sim/i960/decode.c | 5569 ------ sim/i960/decode.h | 160 - sim/i960/devices.c | 107 - sim/i960/i960-desc.c | 2106 --- sim/i960/i960-desc.h | 317 - sim/i960/i960-opc.h | 170 - sim/i960/i960-sim.h | 54 - sim/i960/i960.c | 205 - sim/i960/mloop.in | 301 - sim/i960/model.c | 10065 ---------- sim/i960/sem-switch.c | 7345 -------- sim/i960/sem.c | 7918 -------- sim/i960/sim-if.c | 311 - sim/i960/sim-main.h | 69 - sim/i960/tconfig.in | 49 - sim/i960/traps.c | 214 - sim/igen/ChangeLog | 1064 -- sim/igen/Makefile.in | 184 - sim/igen/acconfig.h | 15 - sim/igen/compare_igen_models | 113 - sim/igen/config.in | 31 - sim/igen/configure | 1887 -- sim/igen/configure.in | 52 - sim/igen/filter.c | 355 - sim/igen/filter.h | 86 - sim/igen/filter_host.c | 37 - sim/igen/filter_host.h | 27 - sim/igen/gen-engine.c | 807 - sim/igen/gen-engine.h | 37 - sim/igen/gen-icache.c | 861 - sim/igen/gen-icache.h | 81 - sim/igen/gen-idecode.c | 1391 -- sim/igen/gen-idecode.h | 50 - sim/igen/gen-itable.c | 317 - sim/igen/gen-itable.h | 30 - sim/igen/gen-model.c | 416 - sim/igen/gen-model.h | 29 - sim/igen/gen-semantics.c | 390 - sim/igen/gen-semantics.h | 104 - sim/igen/gen-support.c | 229 - sim/igen/gen-support.h | 29 - sim/igen/gen.c | 1788 -- sim/igen/gen.h | 227 - sim/igen/igen.c | 1634 -- sim/igen/igen.h | 234 - sim/igen/ld-cache.c | 114 - sim/igen/ld-cache.h | 66 - sim/igen/ld-decode.c | 404 - sim/igen/ld-decode.h | 235 - sim/igen/ld-insn.c | 1829 -- sim/igen/ld-insn.h | 703 - sim/igen/lf.c | 418 - sim/igen/lf.h | 143 - sim/igen/misc.c | 284 - sim/igen/misc.h | 149 - sim/igen/table.c | 632 - sim/igen/table.h | 155 - sim/m32r/ChangeLog | 1387 -- sim/m32r/Makefile.in | 145 - sim/m32r/README | 14 - sim/m32r/TODO | 9 - sim/m32r/acconfig.h | 15 - sim/m32r/arch.c | 38 - sim/m32r/arch.h | 47 - sim/m32r/config.in | 162 - sim/m32r/configure | 4341 ----- sim/m32r/configure.in | 17 - sim/m32r/cpu.c | 181 - sim/m32r/cpu.h | 638 - sim/m32r/cpuall.h | 74 - sim/m32r/cpux.c | 197 - sim/m32r/cpux.h | 970 - sim/m32r/decode.c | 2008 -- sim/m32r/decode.h | 99 - sim/m32r/decodex.c | 2392 --- sim/m32r/decodex.h | 144 - sim/m32r/devices.c | 107 - sim/m32r/m32r-sim.h | 231 - sim/m32r/m32r.c | 521 - sim/m32r/m32rx.c | 311 - sim/m32r/mloop.in | 319 - sim/m32r/mloopx.in | 484 - sim/m32r/model.c | 4168 ----- sim/m32r/modelx.c | 2899 --- sim/m32r/sem-switch.c | 2515 --- sim/m32r/sem.c | 2704 --- sim/m32r/semx-switch.c | 6274 ------- sim/m32r/sim-if.c | 292 - sim/m32r/sim-main.h | 88 - sim/m32r/tconfig.in | 47 - sim/m32r/traps.c | 182 - sim/m68hc11/ChangeLog | 513 - sim/m68hc11/Makefile.in | 63 - sim/m68hc11/config.in | 174 - sim/m68hc11/configure | 4402 ----- sim/m68hc11/configure.in | 35 - sim/m68hc11/dv-m68hc11.c | 1129 -- sim/m68hc11/dv-m68hc11eepr.c | 628 - sim/m68hc11/dv-m68hc11sio.c | 661 - sim/m68hc11/dv-m68hc11spi.c | 536 - sim/m68hc11/dv-m68hc11tim.c | 733 - sim/m68hc11/dv-nvram.c | 351 - sim/m68hc11/emulos.c | 161 - sim/m68hc11/gencode.c | 2152 --- sim/m68hc11/interp.c | 726 - sim/m68hc11/interrupts.c | 613 - sim/m68hc11/interrupts.h | 174 - sim/m68hc11/m68hc11_sim.c | 1049 -- sim/m68hc11/sim-main.h | 587 - sim/mcore/ChangeLog | 82 - sim/mcore/Makefile.in | 29 - sim/mcore/config.in | 34 - sim/mcore/configure | 4024 ---- sim/mcore/configure.in | 10 - sim/mcore/interp.c | 2214 --- sim/mcore/sysdep.h | 95 - sim/mips/ChangeLog | 2796 --- sim/mips/Makefile.in | 300 - sim/mips/acconfig.h | 15 - sim/mips/config.in | 174 - sim/mips/configure | 5057 ----- sim/mips/configure.in | 191 - sim/mips/cp1.c | 1583 -- sim/mips/cp1.h | 82 - sim/mips/dv-tx3904cpu.c | 246 - sim/mips/dv-tx3904irc.c | 413 - sim/mips/dv-tx3904sio.c | 622 - sim/mips/dv-tx3904tmr.c | 698 - sim/mips/interp.c | 2404 --- sim/mips/m16.dc | 25 - sim/mips/m16.igen | 1236 -- sim/mips/m16run.c | 74 - sim/mips/mdmx.c | 1476 -- sim/mips/mdmx.igen | 592 - sim/mips/mips.dc | 16 - sim/mips/mips.igen | 5218 ------ sim/mips/mips3d.igen | 176 - sim/mips/sb1.igen | 191 - sim/mips/sim-main.c | 564 - sim/mips/sim-main.h | 958 - sim/mips/tconfig.in | 33 - sim/mips/tx.igen | 46 - sim/mips/vr.igen | 78 - sim/mn10200/ChangeLog | 464 - sim/mn10200/Makefile.in | 52 - sim/mn10200/acconfig.h | 15 - sim/mn10200/config.in | 158 - sim/mn10200/configure | 4024 ---- sim/mn10200/configure.in | 10 - sim/mn10200/gencode.c | 154 - sim/mn10200/interp.c | 820 - sim/mn10200/mn10200_sim.h | 297 - sim/mn10200/simops.c | 2449 --- sim/mn10300/ChangeLog | 988 - sim/mn10300/Makefile.in | 159 - sim/mn10300/acconfig.h | 15 - sim/mn10300/am33.igen | 8676 --------- sim/mn10300/config.in | 183 - sim/mn10300/configure | 4591 ----- sim/mn10300/configure.in | 37 - sim/mn10300/dv-mn103cpu.c | 431 - sim/mn10300/dv-mn103int.c | 831 - sim/mn10300/dv-mn103iop.c | 555 - sim/mn10300/dv-mn103ser.c | 712 - sim/mn10300/dv-mn103tim.c | 1032 -- sim/mn10300/gencode.c | 163 - sim/mn10300/interp.c | 1422 -- sim/mn10300/mn10300.dc | 4 - sim/mn10300/mn10300.igen | 4352 ----- sim/mn10300/mn10300_sim.h | 390 - sim/mn10300/op_utils.c | 227 - sim/mn10300/sim-main.c | 4 - sim/mn10300/sim-main.h | 107 - sim/mn10300/simops.c | 3239 ---- sim/mn10300/tconfig.in | 26 - sim/ppc/.gdbinit | 2 - sim/ppc/BUGS | 123 - sim/ppc/COPYING | 340 - sim/ppc/COPYING.LIB | 481 - sim/ppc/ChangeLog | 3436 ---- sim/ppc/ChangeLog.00 | 2168 --- sim/ppc/INSTALL | 812 - sim/ppc/Makefile.in | 675 - sim/ppc/README | 353 - sim/ppc/RUN | 949 - sim/ppc/acconfig.h | 15 - sim/ppc/aclocal.m4 | 0 sim/ppc/basics.h | 139 - sim/ppc/bits.c | 134 - sim/ppc/bits.h | 288 - sim/ppc/cap.c | 134 - sim/ppc/cap.h | 60 - sim/ppc/config.in | 362 - sim/ppc/configure | 5306 ------ sim/ppc/configure.in | 758 - sim/ppc/corefile-n.h | 97 - sim/ppc/corefile.c | 415 - sim/ppc/corefile.h | 227 - sim/ppc/cpu.c | 404 - sim/ppc/cpu.h | 254 - sim/ppc/dc-complex | 58 - sim/ppc/dc-simple | 25 - sim/ppc/dc-stupid | 58 - sim/ppc/dc-test.01 | 24 - sim/ppc/dc-test.02 | 24 - sim/ppc/debug.c | 153 - sim/ppc/debug.h | 172 - sim/ppc/device.c | 1998 -- sim/ppc/device.h | 797 - sim/ppc/device_table.c | 310 - sim/ppc/device_table.h | 323 - sim/ppc/dgen.c | 336 - sim/ppc/double.c | 42 - sim/ppc/dp-bit.c | 1307 -- sim/ppc/emul_bugapi.c | 581 - sim/ppc/emul_bugapi.h | 27 - sim/ppc/emul_chirp.c | 2022 -- sim/ppc/emul_chirp.h | 75 - sim/ppc/emul_generic.c | 343 - sim/ppc/emul_generic.h | 178 - sim/ppc/emul_netbsd.c | 1469 -- sim/ppc/emul_netbsd.h | 27 - sim/ppc/emul_unix.c | 2812 --- sim/ppc/emul_unix.h | 28 - sim/ppc/events.c | 408 - sim/ppc/events.h | 79 - sim/ppc/filter.c | 150 - sim/ppc/filter.h | 43 - sim/ppc/filter_filename.c | 38 - sim/ppc/filter_filename.h | 27 - sim/ppc/gen-icache.c | 675 - sim/ppc/gen-icache.h | 68 - sim/ppc/gen-idecode.c | 1545 -- sim/ppc/gen-idecode.h | 40 - sim/ppc/gen-itable.c | 122 - sim/ppc/gen-itable.h | 28 - sim/ppc/gen-model.c | 393 - sim/ppc/gen-model.h | 30 - sim/ppc/gen-semantics.c | 250 - sim/ppc/gen-semantics.h | 81 - sim/ppc/gen-support.c | 132 - sim/ppc/gen-support.h | 29 - sim/ppc/hw_com.c | 559 - sim/ppc/hw_core.c | 143 - sim/ppc/hw_cpu.c | 167 - sim/ppc/hw_cpu.h | 34 - sim/ppc/hw_disk.c | 560 - sim/ppc/hw_eeprom.c | 839 - sim/ppc/hw_glue.c | 371 - sim/ppc/hw_htab.c | 685 - sim/ppc/hw_ide.c | 869 - sim/ppc/hw_init.c | 721 - sim/ppc/hw_iobus.c | 100 - sim/ppc/hw_memory.c | 538 - sim/ppc/hw_nvram.c | 264 - sim/ppc/hw_opic.c | 1827 -- sim/ppc/hw_pal.c | 366 - sim/ppc/hw_phb.c | 1068 -- sim/ppc/hw_phb.h | 40 - sim/ppc/hw_register.c | 131 - sim/ppc/hw_trace.c | 103 - sim/ppc/hw_vm.c | 275 - sim/ppc/idecode_branch.h | 62 - sim/ppc/idecode_expression.h | 410 - sim/ppc/idecode_fields.h | 105 - sim/ppc/igen.c | 560 - sim/ppc/igen.h | 199 - sim/ppc/inline.c | 98 - sim/ppc/inline.h | 498 - sim/ppc/interrupts.c | 541 - sim/ppc/interrupts.h | 170 - sim/ppc/ld-cache.c | 115 - sim/ppc/ld-cache.h | 81 - sim/ppc/ld-decode.c | 155 - sim/ppc/ld-decode.h | 143 - sim/ppc/ld-insn.c | 948 - sim/ppc/ld-insn.h | 287 - sim/ppc/lf.c | 440 - sim/ppc/lf.h | 129 - sim/ppc/main.c | 338 - sim/ppc/misc.c | 215 - sim/ppc/misc.h | 95 - sim/ppc/mon.c | 445 - sim/ppc/mon.h | 108 - sim/ppc/options.c | 247 - sim/ppc/options.h | 30 - sim/ppc/os_emul.c | 146 - sim/ppc/os_emul.h | 60 - sim/ppc/pk_disklabel.c | 401 - sim/ppc/ppc-cache-rules | 65 - sim/ppc/ppc-instructions | 4927 ----- sim/ppc/ppc-spr-table | 89 - sim/ppc/ppc.mt | 3 - sim/ppc/psim.c | 1112 -- sim/ppc/psim.h | 181 - sim/ppc/psim.texinfo | 1105 -- sim/ppc/registers.c | 169 - sim/ppc/registers.h | 324 - sim/ppc/sim-endian-n.h | 134 - sim/ppc/sim-endian.c | 74 - sim/ppc/sim-endian.h | 409 - sim/ppc/sim-main.h | 10 - sim/ppc/sim_callbacks.h | 115 - sim/ppc/sim_calls.c | 477 - sim/ppc/std-config.h | 672 - sim/ppc/table.c | 345 - sim/ppc/table.h | 77 - sim/ppc/tree.c | 1261 -- sim/ppc/tree.h | 139 - sim/ppc/vm.c | 1198 -- sim/ppc/vm.h | 155 - sim/ppc/vm_n.h | 134 - sim/ppc/words.h | 116 - sim/sh/ChangeLog | 998 - sim/sh/Makefile.in | 44 - sim/sh/acconfig.h | 15 - sim/sh/config.in | 158 - sim/sh/configure | 4024 ---- sim/sh/configure.in | 10 - sim/sh/gencode.c | 2617 --- sim/sh/interp.c | 2284 --- sim/sh/syscall.h | 34 - sim/sh/tconfig.in | 17 - sim/testsuite/ChangeLog | 385 - sim/testsuite/Makefile.in | 182 - sim/testsuite/common/Make-common.in | 90 - sim/testsuite/common/Makefile.in | 53 - sim/testsuite/common/alu-n-tst.h | 260 - sim/testsuite/common/alu-tst.c | 104 - sim/testsuite/common/bits-gen.c | 319 - sim/testsuite/common/bits-tst.c | 408 - sim/testsuite/common/fpu-tst.c | 538 - sim/testsuite/config/default.exp | 42 - sim/testsuite/configure | 1034 -- sim/testsuite/configure.in | 40 - sim/testsuite/d10v-elf/ChangeLog | 121 - sim/testsuite/d10v-elf/Makefile.in | 181 - sim/testsuite/d10v-elf/configure | 900 - sim/testsuite/d10v-elf/configure.in | 19 - sim/testsuite/d10v-elf/exit47.s | 4 - sim/testsuite/d10v-elf/hello.s | 5 - sim/testsuite/d10v-elf/loop.s | 6 - sim/testsuite/d10v-elf/t-ae-ld-d.s | 13 - sim/testsuite/d10v-elf/t-ae-ld-i.s | 16 - sim/testsuite/d10v-elf/t-ae-ld-id.s | 15 - sim/testsuite/d10v-elf/t-ae-ld-im.s | 16 - sim/testsuite/d10v-elf/t-ae-ld-ip.s | 16 - sim/testsuite/d10v-elf/t-ae-ld2w-d.s | 13 - sim/testsuite/d10v-elf/t-ae-ld2w-i.s | 16 - sim/testsuite/d10v-elf/t-ae-ld2w-id.s | 14 - sim/testsuite/d10v-elf/t-ae-ld2w-im.s | 16 - sim/testsuite/d10v-elf/t-ae-ld2w-ip.s | 16 - sim/testsuite/d10v-elf/t-ae-st-d.s | 13 - sim/testsuite/d10v-elf/t-ae-st-i.s | 16 - sim/testsuite/d10v-elf/t-ae-st-id.s | 14 - sim/testsuite/d10v-elf/t-ae-st-im.s | 16 - sim/testsuite/d10v-elf/t-ae-st-ip.s | 16 - sim/testsuite/d10v-elf/t-ae-st-is.s | 16 - sim/testsuite/d10v-elf/t-ae-st2w-d.s | 13 - sim/testsuite/d10v-elf/t-ae-st2w-i.s | 16 - sim/testsuite/d10v-elf/t-ae-st2w-id.s | 14 - sim/testsuite/d10v-elf/t-ae-st2w-im.s | 16 - sim/testsuite/d10v-elf/t-ae-st2w-ip.s | 16 - sim/testsuite/d10v-elf/t-ae-st2w-is.s | 16 - sim/testsuite/d10v-elf/t-dbt.s | 33 - sim/testsuite/d10v-elf/t-ld-st.s | 32 - sim/testsuite/d10v-elf/t-mac.s | 71 - sim/testsuite/d10v-elf/t-macros.i | 233 - sim/testsuite/d10v-elf/t-mod-ld-pre.s | 126 - sim/testsuite/d10v-elf/t-msbu.s | 28 - sim/testsuite/d10v-elf/t-mulxu.s | 28 - sim/testsuite/d10v-elf/t-mvtac.s | 19 - sim/testsuite/d10v-elf/t-mvtc.s | 129 - sim/testsuite/d10v-elf/t-rac.s | 16 - sim/testsuite/d10v-elf/t-rachi.s | 28 - sim/testsuite/d10v-elf/t-rdt.s | 18 - sim/testsuite/d10v-elf/t-rep.s | 45 - sim/testsuite/d10v-elf/t-rie-xx.s | 12 - sim/testsuite/d10v-elf/t-rte.s | 18 - sim/testsuite/d10v-elf/t-sac.s | 23 - sim/testsuite/d10v-elf/t-sachi.s | 22 - sim/testsuite/d10v-elf/t-sadd.s | 38 - sim/testsuite/d10v-elf/t-slae.s | 39 - sim/testsuite/d10v-elf/t-sp.s | 17 - sim/testsuite/d10v-elf/t-sub.s | 42 - sim/testsuite/d10v-elf/t-sub2w.s | 57 - sim/testsuite/d10v-elf/t-subi.s | 39 - sim/testsuite/d10v-elf/t-trap.s | 5 - sim/testsuite/d30v-elf/ChangeLog | 68 - sim/testsuite/d30v-elf/Makefile.in | 217 - sim/testsuite/d30v-elf/br-bra.S | 12 - sim/testsuite/d30v-elf/br-bratnz.S | 12 - sim/testsuite/d30v-elf/br-bratzr.S | 12 - sim/testsuite/d30v-elf/br-bsr.S | 12 - sim/testsuite/d30v-elf/br-dbra.S | 83 - sim/testsuite/d30v-elf/br-djmp.S | 83 - sim/testsuite/d30v-elf/br-djsr.S | 79 - sim/testsuite/d30v-elf/configure | 905 - sim/testsuite/d30v-elf/configure.in | 19 - sim/testsuite/d30v-elf/do-2wordops.S | 80 - sim/testsuite/d30v-elf/do-flags.S | 255 - sim/testsuite/d30v-elf/do-shifts.S | 182 - sim/testsuite/d30v-elf/em-e0.S | 4 - sim/testsuite/d30v-elf/em-e47.S | 4 - sim/testsuite/d30v-elf/em-pchr.S | 28 - sim/testsuite/d30v-elf/em-pstr.S | 8 - sim/testsuite/d30v-elf/exit47.s | 4 - sim/testsuite/d30v-elf/hello.s | 9 - sim/testsuite/d30v-elf/loop.s | 1 - sim/testsuite/d30v-elf/ls-ld2h.S | 11 - sim/testsuite/d30v-elf/ls-ld2w.S | 12 - sim/testsuite/d30v-elf/ls-ld4bh.S | 12 - sim/testsuite/d30v-elf/ls-ld4bhu.S | 11 - sim/testsuite/d30v-elf/ls-ldb.S | 11 - sim/testsuite/d30v-elf/ls-ldbu.S | 11 - sim/testsuite/d30v-elf/ls-ldh.S | 11 - sim/testsuite/d30v-elf/ls-ldhh.S | 11 - sim/testsuite/d30v-elf/ls-ldhu.S | 11 - sim/testsuite/d30v-elf/ls-ldw.S | 11 - sim/testsuite/d30v-elf/ls-modaddr.S | 56 - sim/testsuite/d30v-elf/ls-moddec.S | 3 - sim/testsuite/d30v-elf/ls-modinc.S | 3 - sim/testsuite/d30v-elf/ls-st2h.S | 13 - sim/testsuite/d30v-elf/ls-st2w.S | 13 - sim/testsuite/d30v-elf/ls-st4hb.S | 13 - sim/testsuite/d30v-elf/ls-stb.S | 12 - sim/testsuite/d30v-elf/ls-sth.S | 12 - sim/testsuite/d30v-elf/ls-sthh.S | 12 - sim/testsuite/d30v-elf/ls-stw.S | 12 - sim/testsuite/d30v-elf/os-dbt.S | 38 - sim/testsuite/d30v-elf/tick.s | 51 - sim/testsuite/d30v-elf/trap.S | 35 - sim/testsuite/fr30-elf/ChangeLog | 8 - sim/testsuite/fr30-elf/Makefile.in | 157 - sim/testsuite/fr30-elf/configure | 902 - sim/testsuite/fr30-elf/configure.in | 19 - sim/testsuite/fr30-elf/exit47.s | 7 - sim/testsuite/fr30-elf/hello.s | 15 - sim/testsuite/fr30-elf/loop.s | 2 - sim/testsuite/lib/sim-defs.exp | 351 - sim/testsuite/m32r-elf/ChangeLog | 4 - sim/testsuite/m32r-elf/Makefile.in | 157 - sim/testsuite/m32r-elf/configure | 902 - sim/testsuite/m32r-elf/configure.in | 19 - sim/testsuite/m32r-elf/exit47.s | 7 - sim/testsuite/m32r-elf/hello.s | 17 - sim/testsuite/m32r-elf/loop.s | 2 - sim/testsuite/mips64el-elf/ChangeLog | 5 - sim/testsuite/mips64el-elf/Makefile.in | 171 - sim/testsuite/mips64el-elf/configure | 904 - sim/testsuite/mips64el-elf/configure.in | 19 - sim/testsuite/sim/fr30/add.cgs | 55 - sim/testsuite/sim/fr30/add.ms | 13 - sim/testsuite/sim/fr30/add2.cgs | 43 - sim/testsuite/sim/fr30/addc.cgs | 50 - sim/testsuite/sim/fr30/addn.cgs | 55 - sim/testsuite/sim/fr30/addn2.cgs | 43 - sim/testsuite/sim/fr30/addsp.cgs | 31 - sim/testsuite/sim/fr30/allinsn.exp | 19 - sim/testsuite/sim/fr30/and.cgs | 57 - sim/testsuite/sim/fr30/andb.cgs | 31 - sim/testsuite/sim/fr30/andccr.cgs | 51 - sim/testsuite/sim/fr30/andh.cgs | 31 - sim/testsuite/sim/fr30/asr.cgs | 65 - sim/testsuite/sim/fr30/asr2.cgs | 36 - sim/testsuite/sim/fr30/bandh.cgs | 30 - sim/testsuite/sim/fr30/bandl.cgs | 30 - sim/testsuite/sim/fr30/bc.cgs | 109 - sim/testsuite/sim/fr30/beorh.cgs | 36 - sim/testsuite/sim/fr30/beorl.cgs | 36 - sim/testsuite/sim/fr30/beq.cgs | 109 - sim/testsuite/sim/fr30/bge.cgs | 109 - sim/testsuite/sim/fr30/bgt.cgs | 109 - sim/testsuite/sim/fr30/bhi.cgs | 109 - sim/testsuite/sim/fr30/ble.cgs | 109 - sim/testsuite/sim/fr30/bls.cgs | 109 - sim/testsuite/sim/fr30/blt.cgs | 109 - sim/testsuite/sim/fr30/bn.cgs | 109 - sim/testsuite/sim/fr30/bnc.cgs | 109 - sim/testsuite/sim/fr30/bne.cgs | 109 - sim/testsuite/sim/fr30/bno.cgs | 109 - sim/testsuite/sim/fr30/bnv.cgs | 109 - sim/testsuite/sim/fr30/borh.cgs | 30 - sim/testsuite/sim/fr30/borl.cgs | 30 - sim/testsuite/sim/fr30/bp.cgs | 109 - sim/testsuite/sim/fr30/bra.cgs | 109 - sim/testsuite/sim/fr30/btsth.cgs | 30 - sim/testsuite/sim/fr30/btstl.cgs | 30 - sim/testsuite/sim/fr30/bv.cgs | 109 - sim/testsuite/sim/fr30/call.cgs | 69 - sim/testsuite/sim/fr30/cmp.cgs | 53 - sim/testsuite/sim/fr30/cmp2.cgs | 27 - sim/testsuite/sim/fr30/copld.cgs | 21 - sim/testsuite/sim/fr30/copop.cgs | 21 - sim/testsuite/sim/fr30/copst.cgs | 21 - sim/testsuite/sim/fr30/copsv.cgs | 21 - sim/testsuite/sim/fr30/div.ms | 176 - sim/testsuite/sim/fr30/div0s.cgs | 64 - sim/testsuite/sim/fr30/div0u.cgs | 25 - sim/testsuite/sim/fr30/div1.cgs | 113 - sim/testsuite/sim/fr30/div2.cgs | 120 - sim/testsuite/sim/fr30/div3.cgs | 34 - sim/testsuite/sim/fr30/div4s.cgs | 34 - sim/testsuite/sim/fr30/dmov.cgs | 73 - sim/testsuite/sim/fr30/dmovb.cgs | 46 - sim/testsuite/sim/fr30/dmovh.cgs | 46 - sim/testsuite/sim/fr30/enter.cgs | 34 - sim/testsuite/sim/fr30/eor.cgs | 69 - sim/testsuite/sim/fr30/eorb.cgs | 40 - sim/testsuite/sim/fr30/eorh.cgs | 40 - sim/testsuite/sim/fr30/extsb.cgs | 36 - sim/testsuite/sim/fr30/extsh.cgs | 48 - sim/testsuite/sim/fr30/extub.cgs | 42 - sim/testsuite/sim/fr30/extuh.cgs | 54 - sim/testsuite/sim/fr30/hello.ms | 19 - sim/testsuite/sim/fr30/int.cgs | 35 - sim/testsuite/sim/fr30/inte.cgs | 36 - sim/testsuite/sim/fr30/jmp.cgs | 29 - sim/testsuite/sim/fr30/ld.cgs | 219 - sim/testsuite/sim/fr30/ldi20.cgs | 37 - sim/testsuite/sim/fr30/ldi32.cgs | 37 - sim/testsuite/sim/fr30/ldi8.cgs | 37 - sim/testsuite/sim/fr30/ldm0.cgs | 60 - sim/testsuite/sim/fr30/ldm1.cgs | 59 - sim/testsuite/sim/fr30/ldres.cgs | 25 - sim/testsuite/sim/fr30/ldub.cgs | 115 - sim/testsuite/sim/fr30/lduh.cgs | 115 - sim/testsuite/sim/fr30/leave.cgs | 23 - sim/testsuite/sim/fr30/lsl.cgs | 65 - sim/testsuite/sim/fr30/lsl2.cgs | 36 - sim/testsuite/sim/fr30/lsr.cgs | 65 - sim/testsuite/sim/fr30/lsr2.cgs | 36 - sim/testsuite/sim/fr30/misc.exp | 20 - sim/testsuite/sim/fr30/mov.cgs | 108 - sim/testsuite/sim/fr30/mul.cgs | 240 - sim/testsuite/sim/fr30/mulh.cgs | 211 - sim/testsuite/sim/fr30/mulu.cgs | 101 - sim/testsuite/sim/fr30/muluh.cgs | 90 - sim/testsuite/sim/fr30/nop.cgs | 16 - sim/testsuite/sim/fr30/or.cgs | 55 - sim/testsuite/sim/fr30/orb.cgs | 33 - sim/testsuite/sim/fr30/orccr.cgs | 38 - sim/testsuite/sim/fr30/orh.cgs | 33 - sim/testsuite/sim/fr30/ret.cgs | 75 - sim/testsuite/sim/fr30/reti.cgs | 57 - sim/testsuite/sim/fr30/st.cgs | 194 - sim/testsuite/sim/fr30/stb.cgs | 84 - sim/testsuite/sim/fr30/sth.cgs | 84 - sim/testsuite/sim/fr30/stilm.cgs | 41 - sim/testsuite/sim/fr30/stm0.cgs | 101 - sim/testsuite/sim/fr30/stm1.cgs | 97 - sim/testsuite/sim/fr30/stres.cgs | 25 - sim/testsuite/sim/fr30/sub.cgs | 36 - sim/testsuite/sim/fr30/subc.cgs | 62 - sim/testsuite/sim/fr30/subn.cgs | 36 - sim/testsuite/sim/fr30/testutils.inc | 306 - sim/testsuite/sim/fr30/xchb.cgs | 20 - sim/testsuite/sim/m32r/add.cgs | 16 - sim/testsuite/sim/m32r/add3.cgs | 15 - sim/testsuite/sim/m32r/addi.cgs | 16 - sim/testsuite/sim/m32r/addv.cgs | 21 - sim/testsuite/sim/m32r/addv3.cgs | 28 - sim/testsuite/sim/m32r/addx.cgs | 42 - sim/testsuite/sim/m32r/allinsn.exp | 21 - sim/testsuite/sim/m32r/and.cgs | 17 - sim/testsuite/sim/m32r/and3.cgs | 17 - sim/testsuite/sim/m32r/bc24.cgs | 24 - sim/testsuite/sim/m32r/bc8.cgs | 23 - sim/testsuite/sim/m32r/beq.cgs | 20 - sim/testsuite/sim/m32r/beqz.cgs | 18 - sim/testsuite/sim/m32r/bgez.cgs | 18 - sim/testsuite/sim/m32r/bgtz.cgs | 18 - sim/testsuite/sim/m32r/bl24.cgs | 18 - sim/testsuite/sim/m32r/bl8.cgs | 18 - sim/testsuite/sim/m32r/blez.cgs | 19 - sim/testsuite/sim/m32r/bltz.cgs | 19 - sim/testsuite/sim/m32r/bnc24.cgs | 20 - sim/testsuite/sim/m32r/bnc8.cgs | 20 - sim/testsuite/sim/m32r/bne.cgs | 20 - sim/testsuite/sim/m32r/bnez.cgs | 19 - sim/testsuite/sim/m32r/bra24.cgs | 15 - sim/testsuite/sim/m32r/bra8.cgs | 14 - sim/testsuite/sim/m32r/cmp.cgs | 23 - sim/testsuite/sim/m32r/cmpi.cgs | 24 - sim/testsuite/sim/m32r/cmpu.cgs | 23 - sim/testsuite/sim/m32r/cmpui.cgs | 22 - sim/testsuite/sim/m32r/div.cgs | 17 - sim/testsuite/sim/m32r/divu.cgs | 17 - sim/testsuite/sim/m32r/hello.ms | 19 - sim/testsuite/sim/m32r/hw-trap.ms | 31 - sim/testsuite/sim/m32r/jl.cgs | 18 - sim/testsuite/sim/m32r/jmp.cgs | 19 - sim/testsuite/sim/m32r/ld-d.cgs | 22 - sim/testsuite/sim/m32r/ld-plus.cgs | 28 - sim/testsuite/sim/m32r/ld.cgs | 21 - sim/testsuite/sim/m32r/ld24.cgs | 14 - sim/testsuite/sim/m32r/ldb-d.cgs | 20 - sim/testsuite/sim/m32r/ldb.cgs | 21 - sim/testsuite/sim/m32r/ldh-d.cgs | 21 - sim/testsuite/sim/m32r/ldh.cgs | 22 - sim/testsuite/sim/m32r/ldi16.cgs | 14 - sim/testsuite/sim/m32r/ldi8.cgs | 14 - sim/testsuite/sim/m32r/ldub-d.cgs | 21 - sim/testsuite/sim/m32r/ldub.cgs | 21 - sim/testsuite/sim/m32r/lduh-d.cgs | 20 - sim/testsuite/sim/m32r/lduh.cgs | 22 - sim/testsuite/sim/m32r/lock.cgs | 25 - sim/testsuite/sim/m32r/machi.cgs | 17 - sim/testsuite/sim/m32r/maclo.cgs | 17 - sim/testsuite/sim/m32r/macwhi.cgs | 18 - sim/testsuite/sim/m32r/macwlo.cgs | 18 - sim/testsuite/sim/m32r/misc.exp | 21 - sim/testsuite/sim/m32r/mul.cgs | 17 - sim/testsuite/sim/m32r/mulhi.cgs | 16 - sim/testsuite/sim/m32r/mullo.cgs | 16 - sim/testsuite/sim/m32r/mulwhi.cgs | 18 - sim/testsuite/sim/m32r/mulwlo.cgs | 18 - sim/testsuite/sim/m32r/mv.cgs | 17 - sim/testsuite/sim/m32r/mvfachi.cgs | 22 - sim/testsuite/sim/m32r/mvfaclo.cgs | 17 - sim/testsuite/sim/m32r/mvfacmi.cgs | 15 - sim/testsuite/sim/m32r/mvfc.cgs | 23 - sim/testsuite/sim/m32r/mvtachi.cgs | 20 - sim/testsuite/sim/m32r/mvtaclo.cgs | 17 - sim/testsuite/sim/m32r/mvtc.cgs | 18 - sim/testsuite/sim/m32r/neg.cgs | 17 - sim/testsuite/sim/m32r/nop.cgs | 11 - sim/testsuite/sim/m32r/not.cgs | 17 - sim/testsuite/sim/m32r/or.cgs | 17 - sim/testsuite/sim/m32r/or3.cgs | 17 - sim/testsuite/sim/m32r/rac.cgs | 23 - sim/testsuite/sim/m32r/rach.cgs | 22 - sim/testsuite/sim/m32r/rem.cgs | 17 - sim/testsuite/sim/m32r/remu.cgs | 23 - sim/testsuite/sim/m32r/rte.cgs | 87 - sim/testsuite/sim/m32r/seth.cgs | 20 - sim/testsuite/sim/m32r/sll.cgs | 15 - sim/testsuite/sim/m32r/sll3.cgs | 15 - sim/testsuite/sim/m32r/slli.cgs | 14 - sim/testsuite/sim/m32r/sra.cgs | 16 - sim/testsuite/sim/m32r/sra3.cgs | 16 - sim/testsuite/sim/m32r/srai.cgs | 14 - sim/testsuite/sim/m32r/srl.cgs | 15 - sim/testsuite/sim/m32r/srl3.cgs | 15 - sim/testsuite/sim/m32r/srli.cgs | 15 - sim/testsuite/sim/m32r/st-d.cgs | 26 - sim/testsuite/sim/m32r/st-minus.cgs | 29 - sim/testsuite/sim/m32r/st-plus.cgs | 28 - sim/testsuite/sim/m32r/st.cgs | 21 - sim/testsuite/sim/m32r/stb-d.cgs | 25 - sim/testsuite/sim/m32r/stb.cgs | 21 - sim/testsuite/sim/m32r/sth-d.cgs | 25 - sim/testsuite/sim/m32r/sth.cgs | 21 - sim/testsuite/sim/m32r/sub.cgs | 18 - sim/testsuite/sim/m32r/subv.cgs | 20 - sim/testsuite/sim/m32r/subx.cgs | 26 - sim/testsuite/sim/m32r/testutils.inc | 95 - sim/testsuite/sim/m32r/trap.cgs | 109 - sim/testsuite/sim/m32r/unlock.cgs | 30 - sim/testsuite/sim/m32r/uread16.ms | 18 - sim/testsuite/sim/m32r/uread32.ms | 18 - sim/testsuite/sim/m32r/uwrite16.ms | 18 - sim/testsuite/sim/m32r/uwrite32.ms | 18 - sim/testsuite/sim/m32r/xor.cgs | 16 - sim/testsuite/sim/m32r/xor3.cgs | 16 - sim/v850/ChangeLog | 1119 -- sim/v850/Makefile.in | 127 - sim/v850/acconfig.h | 15 - sim/v850/config.in | 183 - sim/v850/configure | 4461 ----- sim/v850/configure.in | 18 - sim/v850/interp.c | 360 - sim/v850/sim-main.h | 390 - sim/v850/simops.c | 2734 --- sim/v850/simops.h | 79 - sim/v850/v850-dc | 30 - sim/v850/v850.igen | 1418 -- sim/v850/v850_sim.h | 8 - sim/z8k/ChangeLog | 510 - sim/z8k/Makefile.in | 63 - sim/z8k/acconfig.h | 15 - sim/z8k/comped1.c | 31 - sim/z8k/comped2.c | 25 - sim/z8k/comped3.c | 28 - sim/z8k/compedb3.c | 29 - sim/z8k/config.in | 161 - sim/z8k/configure | 4024 ---- sim/z8k/configure.in | 10 - sim/z8k/iface.c | 263 - sim/z8k/inlines.h | 486 - sim/z8k/mem.c | 126 - sim/z8k/mem.h | 8 - sim/z8k/quick.c | 783 - sim/z8k/sim.h | 9 - sim/z8k/support.c | 784 - sim/z8k/syscall.h | 43 - sim/z8k/tconfig.in | 13 - sim/z8k/tm.h | 192 - sim/z8k/writecode.c | 1948 -- texinfo/texinfo.tex | 6341 ------- 3013 files changed, 56 insertions(+), 1270658 deletions(-) delete mode 100755 djunpack.bat delete mode 100644 gdb/CONTRIBUTE delete mode 100644 gdb/COPYING delete mode 100644 gdb/ChangeLog delete mode 100644 gdb/ChangeLog-1990 delete mode 100644 gdb/ChangeLog-1991 delete mode 100644 gdb/ChangeLog-1992 delete mode 100644 gdb/ChangeLog-1993 delete mode 100644 gdb/ChangeLog-1994 delete mode 100644 gdb/ChangeLog-1995 delete mode 100644 gdb/ChangeLog-1996 delete mode 100644 gdb/ChangeLog-1997 delete mode 100644 gdb/ChangeLog-1998 delete mode 100644 gdb/ChangeLog-1999 delete mode 100644 gdb/ChangeLog-2000 delete mode 100644 gdb/ChangeLog-2001 delete mode 100644 gdb/ChangeLog-3.x delete mode 100644 gdb/MAINTAINERS delete mode 100644 gdb/Makefile.in delete mode 100644 gdb/NEWS delete mode 100644 gdb/PROBLEMS delete mode 100644 gdb/README delete mode 100644 gdb/TODO delete mode 100644 gdb/a68v-nat.c delete mode 100644 gdb/abug-rom.c delete mode 100644 gdb/acconfig.h delete mode 100644 gdb/acinclude.m4 delete mode 100644 gdb/aclocal.m4 delete mode 100644 gdb/ada-exp.y delete mode 100644 gdb/ada-lang.c delete mode 100644 gdb/ada-lang.h delete mode 100644 gdb/ada-lex.l delete mode 100644 gdb/ada-tasks.c delete mode 100644 gdb/ada-typeprint.c delete mode 100644 gdb/ada-valprint.c delete mode 100644 gdb/aix-thread.c delete mode 100644 gdb/alpha-linux-tdep.c delete mode 100644 gdb/alpha-nat.c delete mode 100644 gdb/alpha-osf1-tdep.c delete mode 100644 gdb/alpha-tdep.c delete mode 100644 gdb/alpha-tdep.h delete mode 100644 gdb/alphabsd-nat.c delete mode 100644 gdb/alphabsd-tdep.c delete mode 100644 gdb/alphabsd-tdep.h delete mode 100644 gdb/alphafbsd-tdep.c delete mode 100644 gdb/alphanbsd-tdep.c delete mode 100644 gdb/annotate.c delete mode 100644 gdb/annotate.h delete mode 100644 gdb/arc-tdep.c delete mode 100644 gdb/arch-utils.c delete mode 100644 gdb/arch-utils.h delete mode 100644 gdb/arm-linux-nat.c delete mode 100644 gdb/arm-linux-tdep.c delete mode 100644 gdb/arm-tdep.c delete mode 100644 gdb/arm-tdep.h delete mode 100644 gdb/armnbsd-nat.c delete mode 100644 gdb/armnbsd-tdep.c delete mode 100644 gdb/avr-tdep.c delete mode 100644 gdb/ax-gdb.c delete mode 100644 gdb/ax-gdb.h delete mode 100644 gdb/ax-general.c delete mode 100644 gdb/ax.h delete mode 100644 gdb/bcache.c delete mode 100644 gdb/bcache.h delete mode 100644 gdb/blockframe.c delete mode 100644 gdb/breakpoint.c delete mode 100644 gdb/breakpoint.h delete mode 100644 gdb/buildsym.c delete mode 100644 gdb/buildsym.h delete mode 100644 gdb/builtin-regs.c delete mode 100644 gdb/builtin-regs.h delete mode 100644 gdb/c-exp.y delete mode 100644 gdb/c-lang.c delete mode 100644 gdb/c-lang.h delete mode 100644 gdb/c-typeprint.c delete mode 100644 gdb/c-valprint.c delete mode 100644 gdb/call-cmds.h delete mode 100644 gdb/ch-exp.c delete mode 100644 gdb/ch-lang.c delete mode 100644 gdb/ch-lang.h delete mode 100644 gdb/ch-typeprint.c delete mode 100644 gdb/ch-valprint.c delete mode 100644 gdb/cli-out.c delete mode 100644 gdb/cli-out.h delete mode 100644 gdb/cli/cli-cmds.c delete mode 100644 gdb/cli/cli-cmds.h delete mode 100644 gdb/cli/cli-decode.c delete mode 100644 gdb/cli/cli-decode.h delete mode 100644 gdb/cli/cli-dump.c delete mode 100644 gdb/cli/cli-dump.h delete mode 100644 gdb/cli/cli-script.c delete mode 100644 gdb/cli/cli-script.h delete mode 100644 gdb/cli/cli-setshow.c delete mode 100644 gdb/cli/cli-setshow.h delete mode 100644 gdb/cli/cli-utils.c delete mode 100644 gdb/cli/cli-utils.h delete mode 100644 gdb/coff-solib.c delete mode 100644 gdb/coff-solib.h delete mode 100644 gdb/coffread.c delete mode 100644 gdb/command.h delete mode 100644 gdb/complaints.c delete mode 100644 gdb/complaints.h delete mode 100644 gdb/completer.c delete mode 100644 gdb/completer.h delete mode 100644 gdb/config.in delete mode 100644 gdb/config/alpha/alpha-linux.mh delete mode 100644 gdb/config/alpha/alpha-linux.mt delete mode 100644 gdb/config/alpha/alpha-osf1.mh delete mode 100644 gdb/config/alpha/alpha-osf1.mt delete mode 100644 gdb/config/alpha/alpha-osf2.mh delete mode 100644 gdb/config/alpha/alpha-osf3.mh delete mode 100644 gdb/config/alpha/alpha.mt delete mode 100644 gdb/config/alpha/fbsd.mh delete mode 100644 gdb/config/alpha/fbsd.mt delete mode 100644 gdb/config/alpha/nbsd.mh delete mode 100644 gdb/config/alpha/nbsd.mt delete mode 100644 gdb/config/alpha/nm-fbsd.h delete mode 100644 gdb/config/alpha/nm-linux.h delete mode 100644 gdb/config/alpha/nm-nbsd.h delete mode 100644 gdb/config/alpha/nm-osf.h delete mode 100644 gdb/config/alpha/nm-osf2.h delete mode 100644 gdb/config/alpha/nm-osf3.h delete mode 100644 gdb/config/alpha/tm-alpha.h delete mode 100644 gdb/config/alpha/tm-alphalinux.h delete mode 100644 gdb/config/alpha/tm-fbsd.h delete mode 100644 gdb/config/alpha/tm-nbsd.h delete mode 100644 gdb/config/alpha/xm-alphalinux.h delete mode 100644 gdb/config/alpha/xm-alphaosf.h delete mode 100644 gdb/config/arc/arc.mt delete mode 100644 gdb/config/arc/tm-arc.h delete mode 100644 gdb/config/arm/embed.mt delete mode 100644 gdb/config/arm/linux.mh delete mode 100644 gdb/config/arm/linux.mt delete mode 100644 gdb/config/arm/nbsd.mt delete mode 100644 gdb/config/arm/nbsdaout.mh delete mode 100644 gdb/config/arm/nbsdelf.mh delete mode 100644 gdb/config/arm/nm-linux.h delete mode 100644 gdb/config/arm/nm-nbsd.h delete mode 100644 gdb/config/arm/nm-nbsdaout.h delete mode 100644 gdb/config/arm/tm-arm.h delete mode 100644 gdb/config/arm/tm-embed.h delete mode 100644 gdb/config/arm/tm-linux.h delete mode 100644 gdb/config/arm/tm-wince.h delete mode 100644 gdb/config/arm/wince.mt delete mode 100644 gdb/config/arm/xm-linux.h delete mode 100644 gdb/config/arm/xm-nbsd.h delete mode 100644 gdb/config/avr/avr.mt delete mode 100644 gdb/config/cris/cris.mt delete mode 100644 gdb/config/cris/tm-cris.h delete mode 100644 gdb/config/d10v/d10v.mt delete mode 100644 gdb/config/d30v/d30v.mt delete mode 100644 gdb/config/d30v/tm-d30v.h delete mode 100644 gdb/config/djgpp/README delete mode 100644 gdb/config/djgpp/config.sed delete mode 100644 gdb/config/djgpp/djcheck.sh delete mode 100644 gdb/config/djgpp/djconfig.sh delete mode 100644 gdb/config/djgpp/fnchange.lst delete mode 100644 gdb/config/fr30/fr30.mt delete mode 100644 gdb/config/fr30/tm-fr30.h delete mode 100644 gdb/config/frv/frv.mt delete mode 100644 gdb/config/frv/tm-frv.h delete mode 100644 gdb/config/h8300/h8300.mt delete mode 100644 gdb/config/h8300/tm-h8300.h delete mode 100644 gdb/config/h8500/h8500.mt delete mode 100644 gdb/config/h8500/tm-h8500.h delete mode 100644 gdb/config/i386/cygwin.mh delete mode 100644 gdb/config/i386/cygwin.mt delete mode 100644 gdb/config/i386/embed.mt delete mode 100644 gdb/config/i386/fbsd.mh delete mode 100644 gdb/config/i386/fbsd.mt delete mode 100644 gdb/config/i386/gdbserve.mt delete mode 100644 gdb/config/i386/go32.mh delete mode 100644 gdb/config/i386/go32.mt delete mode 100644 gdb/config/i386/i386aix.mh delete mode 100644 gdb/config/i386/i386aix.mt delete mode 100644 gdb/config/i386/i386aout.mt delete mode 100644 gdb/config/i386/i386bsd.mh delete mode 100644 gdb/config/i386/i386bsd.mt delete mode 100644 gdb/config/i386/i386dgux.mh delete mode 100644 gdb/config/i386/i386gnu.mh delete mode 100644 gdb/config/i386/i386gnu.mt delete mode 100644 gdb/config/i386/i386lynx.mh delete mode 100644 gdb/config/i386/i386lynx.mt delete mode 100644 gdb/config/i386/i386m3.mh delete mode 100644 gdb/config/i386/i386m3.mt delete mode 100644 gdb/config/i386/i386mach.mh delete mode 100644 gdb/config/i386/i386mk.mh delete mode 100644 gdb/config/i386/i386mk.mt delete mode 100644 gdb/config/i386/i386nw.mt delete mode 100644 gdb/config/i386/i386os9k.mt delete mode 100644 gdb/config/i386/i386sco.mh delete mode 100644 gdb/config/i386/i386sco4.mh delete mode 100644 gdb/config/i386/i386sco5.mh delete mode 100644 gdb/config/i386/i386sco5.mt delete mode 100644 gdb/config/i386/i386sol2.mh delete mode 100644 gdb/config/i386/i386sol2.mt delete mode 100644 gdb/config/i386/i386v.mh delete mode 100644 gdb/config/i386/i386v.mt delete mode 100644 gdb/config/i386/i386v32.mh delete mode 100644 gdb/config/i386/i386v4.mh delete mode 100644 gdb/config/i386/i386v4.mt delete mode 100644 gdb/config/i386/i386v42mp.mh delete mode 100644 gdb/config/i386/i386v42mp.mt delete mode 100644 gdb/config/i386/linux.mh delete mode 100644 gdb/config/i386/linux.mt delete mode 100644 gdb/config/i386/nbsd.mt delete mode 100644 gdb/config/i386/nbsdaout.mh delete mode 100644 gdb/config/i386/nbsdelf.mh delete mode 100644 gdb/config/i386/ncr3000.mh delete mode 100644 gdb/config/i386/ncr3000.mt delete mode 100644 gdb/config/i386/nm-cygwin.h delete mode 100644 gdb/config/i386/nm-fbsd.h delete mode 100644 gdb/config/i386/nm-go32.h delete mode 100644 gdb/config/i386/nm-i386.h delete mode 100644 gdb/config/i386/nm-i386aix.h delete mode 100644 gdb/config/i386/nm-i386bsd.h delete mode 100644 gdb/config/i386/nm-i386gnu.h delete mode 100644 gdb/config/i386/nm-i386lynx.h delete mode 100644 gdb/config/i386/nm-i386mach.h delete mode 100644 gdb/config/i386/nm-i386sco.h delete mode 100644 gdb/config/i386/nm-i386sco4.h delete mode 100644 gdb/config/i386/nm-i386sco5.h delete mode 100644 gdb/config/i386/nm-i386sol2.h delete mode 100644 gdb/config/i386/nm-i386v.h delete mode 100644 gdb/config/i386/nm-i386v4.h delete mode 100644 gdb/config/i386/nm-i386v42mp.h delete mode 100644 gdb/config/i386/nm-linux.h delete mode 100644 gdb/config/i386/nm-m3.h delete mode 100644 gdb/config/i386/nm-nbsd.h delete mode 100644 gdb/config/i386/nm-nbsdaout.h delete mode 100644 gdb/config/i386/nm-obsd.h delete mode 100644 gdb/config/i386/nm-ptx4.h delete mode 100644 gdb/config/i386/nm-symmetry.h delete mode 100644 gdb/config/i386/nm-x86-64linux.h delete mode 100644 gdb/config/i386/obsd.mh delete mode 100644 gdb/config/i386/ptx.mh delete mode 100644 gdb/config/i386/ptx.mt delete mode 100644 gdb/config/i386/ptx4.mh delete mode 100644 gdb/config/i386/ptx4.mt delete mode 100644 gdb/config/i386/symmetry.mh delete mode 100644 gdb/config/i386/symmetry.mt delete mode 100644 gdb/config/i386/tm-cygwin.h delete mode 100644 gdb/config/i386/tm-fbsd.h delete mode 100644 gdb/config/i386/tm-go32.h delete mode 100644 gdb/config/i386/tm-i386.h delete mode 100644 gdb/config/i386/tm-i386aix.h delete mode 100644 gdb/config/i386/tm-i386bsd.h delete mode 100644 gdb/config/i386/tm-i386lynx.h delete mode 100644 gdb/config/i386/tm-i386m3.h delete mode 100644 gdb/config/i386/tm-i386mk.h delete mode 100644 gdb/config/i386/tm-i386os9k.h delete mode 100644 gdb/config/i386/tm-i386sol2.h delete mode 100644 gdb/config/i386/tm-i386v4.h delete mode 100644 gdb/config/i386/tm-i386v42mp.h delete mode 100644 gdb/config/i386/tm-linux.h delete mode 100644 gdb/config/i386/tm-nbsd.h delete mode 100644 gdb/config/i386/tm-ptx.h delete mode 100644 gdb/config/i386/tm-ptx4.h delete mode 100644 gdb/config/i386/tm-symmetry.h delete mode 100644 gdb/config/i386/tm-vxworks.h delete mode 100644 gdb/config/i386/tm-x86-64linux.h delete mode 100644 gdb/config/i386/vxworks.mt delete mode 100644 gdb/config/i386/x86-64linux.mh delete mode 100644 gdb/config/i386/x86-64linux.mt delete mode 100644 gdb/config/i386/xm-cygwin.h delete mode 100644 gdb/config/i386/xm-go32.h delete mode 100644 gdb/config/i386/xm-i386.h delete mode 100644 gdb/config/i386/xm-i386aix.h delete mode 100644 gdb/config/i386/xm-i386bsd.h delete mode 100644 gdb/config/i386/xm-i386m3.h delete mode 100644 gdb/config/i386/xm-i386mach.h delete mode 100644 gdb/config/i386/xm-i386mk.h delete mode 100644 gdb/config/i386/xm-i386sco.h delete mode 100644 gdb/config/i386/xm-i386v.h delete mode 100644 gdb/config/i386/xm-i386v32.h delete mode 100644 gdb/config/i386/xm-i386v4.h delete mode 100644 gdb/config/i386/xm-nbsd.h delete mode 100644 gdb/config/i386/xm-ptx.h delete mode 100644 gdb/config/i386/xm-ptx4.h delete mode 100644 gdb/config/i386/xm-symmetry.h delete mode 100644 gdb/config/i960/mon960.mt delete mode 100644 gdb/config/i960/nindy960.mt delete mode 100644 gdb/config/i960/tm-i960.h delete mode 100644 gdb/config/i960/tm-mon960.h delete mode 100644 gdb/config/i960/tm-nindy960.h delete mode 100644 gdb/config/i960/tm-vx960.h delete mode 100644 gdb/config/i960/vxworks960.mt delete mode 100644 gdb/config/ia64/aix.mh delete mode 100644 gdb/config/ia64/aix.mt delete mode 100644 gdb/config/ia64/ia64.mt delete mode 100644 gdb/config/ia64/linux.mh delete mode 100644 gdb/config/ia64/linux.mt delete mode 100644 gdb/config/ia64/nm-aix.h delete mode 100644 gdb/config/ia64/nm-linux.h delete mode 100644 gdb/config/ia64/tm-aix.h delete mode 100644 gdb/config/ia64/tm-ia64.h delete mode 100644 gdb/config/ia64/tm-linux.h delete mode 100644 gdb/config/ia64/xm-aix.h delete mode 100644 gdb/config/ia64/xm-linux.h delete mode 100644 gdb/config/m32r/m32r.mt delete mode 100644 gdb/config/m32r/tm-m32r.h delete mode 100644 gdb/config/m68hc11/m68hc11.mt delete mode 100644 gdb/config/m68k/3b1.mh delete mode 100644 gdb/config/m68k/3b1.mt delete mode 100644 gdb/config/m68k/apollo68b.mh delete mode 100644 gdb/config/m68k/apollo68b.mt delete mode 100644 gdb/config/m68k/apollo68v.mh delete mode 100644 gdb/config/m68k/cisco.mt delete mode 100644 gdb/config/m68k/delta68.mh delete mode 100644 gdb/config/m68k/delta68.mt delete mode 100644 gdb/config/m68k/dpx2.mh delete mode 100644 gdb/config/m68k/dpx2.mt delete mode 100644 gdb/config/m68k/es1800.mt delete mode 100644 gdb/config/m68k/hp300bsd.mh delete mode 100644 gdb/config/m68k/hp300bsd.mt delete mode 100644 gdb/config/m68k/hp300hpux.mh delete mode 100644 gdb/config/m68k/hp300hpux.mt delete mode 100644 gdb/config/m68k/linux.mh delete mode 100644 gdb/config/m68k/linux.mt delete mode 100644 gdb/config/m68k/m68klynx.mh delete mode 100644 gdb/config/m68k/m68klynx.mt delete mode 100644 gdb/config/m68k/m68kv4.mh delete mode 100644 gdb/config/m68k/m68kv4.mt delete mode 100644 gdb/config/m68k/monitor.mt delete mode 100644 gdb/config/m68k/nbsdaout.mh delete mode 100644 gdb/config/m68k/nbsdaout.mt delete mode 100644 gdb/config/m68k/nm-apollo68b.h delete mode 100644 gdb/config/m68k/nm-apollo68v.h delete mode 100644 gdb/config/m68k/nm-delta68.h delete mode 100644 gdb/config/m68k/nm-dpx2.h delete mode 100644 gdb/config/m68k/nm-hp300bsd.h delete mode 100644 gdb/config/m68k/nm-hp300hpux.h delete mode 100644 gdb/config/m68k/nm-linux.h delete mode 100644 gdb/config/m68k/nm-m68klynx.h delete mode 100644 gdb/config/m68k/nm-nbsd.h delete mode 100644 gdb/config/m68k/nm-nbsdaout.h delete mode 100644 gdb/config/m68k/nm-sun2.h delete mode 100644 gdb/config/m68k/nm-sun3.h delete mode 100644 gdb/config/m68k/nm-sysv4.h delete mode 100644 gdb/config/m68k/os68k.mt delete mode 100644 gdb/config/m68k/st2000.mt delete mode 100644 gdb/config/m68k/sun2os3.mh delete mode 100644 gdb/config/m68k/sun2os3.mt delete mode 100644 gdb/config/m68k/sun2os4.mh delete mode 100644 gdb/config/m68k/sun2os4.mt delete mode 100644 gdb/config/m68k/sun3os3.mh delete mode 100644 gdb/config/m68k/sun3os3.mt delete mode 100644 gdb/config/m68k/sun3os4.mh delete mode 100644 gdb/config/m68k/sun3os4.mt delete mode 100644 gdb/config/m68k/tm-3b1.h delete mode 100644 gdb/config/m68k/tm-apollo68b.h delete mode 100644 gdb/config/m68k/tm-cisco.h delete mode 100644 gdb/config/m68k/tm-delta68.h delete mode 100644 gdb/config/m68k/tm-dpx2.h delete mode 100644 gdb/config/m68k/tm-es1800.h delete mode 100644 gdb/config/m68k/tm-hp300bsd.h delete mode 100644 gdb/config/m68k/tm-hp300hpux.h delete mode 100644 gdb/config/m68k/tm-linux.h delete mode 100644 gdb/config/m68k/tm-m68k.h delete mode 100644 gdb/config/m68k/tm-m68klynx.h delete mode 100644 gdb/config/m68k/tm-m68kv4.h delete mode 100644 gdb/config/m68k/tm-mac.h delete mode 100644 gdb/config/m68k/tm-monitor.h delete mode 100644 gdb/config/m68k/tm-nbsd.h delete mode 100644 gdb/config/m68k/tm-os68k.h delete mode 100644 gdb/config/m68k/tm-st2000.h delete mode 100644 gdb/config/m68k/tm-sun2.h delete mode 100644 gdb/config/m68k/tm-sun2os4.h delete mode 100644 gdb/config/m68k/tm-sun3.h delete mode 100644 gdb/config/m68k/tm-sun3os4.h delete mode 100644 gdb/config/m68k/tm-vx68.h delete mode 100644 gdb/config/m68k/vxworks68.mt delete mode 100644 gdb/config/m68k/xm-3b1.h delete mode 100644 gdb/config/m68k/xm-apollo68b.h delete mode 100644 gdb/config/m68k/xm-apollo68v.h delete mode 100644 gdb/config/m68k/xm-delta68.h delete mode 100644 gdb/config/m68k/xm-dpx2.h delete mode 100644 gdb/config/m68k/xm-hp300bsd.h delete mode 100644 gdb/config/m68k/xm-hp300hpux.h delete mode 100644 gdb/config/m68k/xm-linux.h delete mode 100644 gdb/config/m68k/xm-m68k.h delete mode 100644 gdb/config/m68k/xm-m68kv4.h delete mode 100644 gdb/config/m68k/xm-nbsd.h delete mode 100644 gdb/config/m68k/xm-sun2.h delete mode 100644 gdb/config/m68k/xm-sun3.h delete mode 100644 gdb/config/m68k/xm-sun3os4.h delete mode 100644 gdb/config/m88k/delta88.mh delete mode 100644 gdb/config/m88k/delta88.mt delete mode 100644 gdb/config/m88k/delta88v4.mh delete mode 100644 gdb/config/m88k/delta88v4.mt delete mode 100644 gdb/config/m88k/m88k.mh delete mode 100644 gdb/config/m88k/m88k.mt delete mode 100644 gdb/config/m88k/nm-delta88v4.h delete mode 100644 gdb/config/m88k/nm-m88k.h delete mode 100644 gdb/config/m88k/tm-delta88.h delete mode 100644 gdb/config/m88k/tm-delta88v4.h delete mode 100644 gdb/config/m88k/tm-m88k.h delete mode 100644 gdb/config/m88k/xm-delta88.h delete mode 100644 gdb/config/m88k/xm-delta88v4.h delete mode 100644 gdb/config/m88k/xm-dgux.h delete mode 100644 gdb/config/mcore/mcore.mt delete mode 100644 gdb/config/mips/bigmips.mt delete mode 100644 gdb/config/mips/bigmips64.mt delete mode 100644 gdb/config/mips/decstation.mh delete mode 100644 gdb/config/mips/decstation.mt delete mode 100644 gdb/config/mips/embed.mt delete mode 100644 gdb/config/mips/embed64.mt delete mode 100644 gdb/config/mips/embedl.mt delete mode 100644 gdb/config/mips/embedl64.mt delete mode 100644 gdb/config/mips/irix3.mh delete mode 100644 gdb/config/mips/irix3.mt delete mode 100644 gdb/config/mips/irix4.mh delete mode 100644 gdb/config/mips/irix5.mh delete mode 100644 gdb/config/mips/irix5.mt delete mode 100644 gdb/config/mips/irix6.mh delete mode 100644 gdb/config/mips/irix6.mt delete mode 100644 gdb/config/mips/linux.mh delete mode 100644 gdb/config/mips/linux.mt delete mode 100644 gdb/config/mips/littlemips.mh delete mode 100644 gdb/config/mips/littlemips.mt delete mode 100644 gdb/config/mips/mipsm3.mh delete mode 100644 gdb/config/mips/mipsm3.mt delete mode 100644 gdb/config/mips/mipsv4.mh delete mode 100644 gdb/config/mips/mipsv4.mt delete mode 100644 gdb/config/mips/nbsd.mh delete mode 100644 gdb/config/mips/nbsd.mt delete mode 100644 gdb/config/mips/news-mips.mh delete mode 100644 gdb/config/mips/nm-irix3.h delete mode 100644 gdb/config/mips/nm-irix4.h delete mode 100644 gdb/config/mips/nm-irix5.h delete mode 100644 gdb/config/mips/nm-irix6.h delete mode 100644 gdb/config/mips/nm-linux.h delete mode 100644 gdb/config/mips/nm-mips.h delete mode 100644 gdb/config/mips/nm-nbsd.h delete mode 100644 gdb/config/mips/nm-news-mips.h delete mode 100644 gdb/config/mips/nm-riscos.h delete mode 100644 gdb/config/mips/riscos.mh delete mode 100644 gdb/config/mips/tm-bigmips.h delete mode 100644 gdb/config/mips/tm-bigmips64.h delete mode 100644 gdb/config/mips/tm-embed.h delete mode 100644 gdb/config/mips/tm-embed64.h delete mode 100644 gdb/config/mips/tm-embedl.h delete mode 100644 gdb/config/mips/tm-embedl64.h delete mode 100644 gdb/config/mips/tm-irix3.h delete mode 100644 gdb/config/mips/tm-irix5.h delete mode 100644 gdb/config/mips/tm-irix6.h delete mode 100644 gdb/config/mips/tm-linux.h delete mode 100644 gdb/config/mips/tm-mips.h delete mode 100644 gdb/config/mips/tm-mips64.h delete mode 100644 gdb/config/mips/tm-mipsm3.h delete mode 100644 gdb/config/mips/tm-mipsv4.h delete mode 100644 gdb/config/mips/tm-nbsd.h delete mode 100644 gdb/config/mips/tm-tx39.h delete mode 100644 gdb/config/mips/tm-tx39l.h delete mode 100644 gdb/config/mips/tm-vr4100.h delete mode 100644 gdb/config/mips/tm-vr4300.h delete mode 100644 gdb/config/mips/tm-vr4300el.h delete mode 100644 gdb/config/mips/tm-vr4xxx.h delete mode 100644 gdb/config/mips/tm-vr4xxxel.h delete mode 100644 gdb/config/mips/tm-vr5000.h delete mode 100644 gdb/config/mips/tm-vr5000el.h delete mode 100644 gdb/config/mips/tm-vxmips.h delete mode 100644 gdb/config/mips/tm-wince.h delete mode 100644 gdb/config/mips/tx39.mt delete mode 100644 gdb/config/mips/tx39l.mt delete mode 100644 gdb/config/mips/vr4100.mt delete mode 100644 gdb/config/mips/vr4300.mt delete mode 100644 gdb/config/mips/vr4300el.mt delete mode 100644 gdb/config/mips/vr4xxx.mt delete mode 100644 gdb/config/mips/vr4xxxel.mt delete mode 100644 gdb/config/mips/vr5000.mt delete mode 100644 gdb/config/mips/vr5000el.mt delete mode 100644 gdb/config/mips/vxmips.mt delete mode 100644 gdb/config/mips/wince.mt delete mode 100644 gdb/config/mips/xm-irix3.h delete mode 100644 gdb/config/mips/xm-irix4.h delete mode 100644 gdb/config/mips/xm-irix5.h delete mode 100644 gdb/config/mips/xm-irix6.h delete mode 100644 gdb/config/mips/xm-linux.h delete mode 100644 gdb/config/mips/xm-mips.h delete mode 100644 gdb/config/mips/xm-mipsm3.h delete mode 100644 gdb/config/mips/xm-mipsv4.h delete mode 100644 gdb/config/mips/xm-riscos.h delete mode 100644 gdb/config/mn10200/mn10200.mt delete mode 100644 gdb/config/mn10200/tm-mn10200.h delete mode 100644 gdb/config/mn10300/mn10300.mt delete mode 100644 gdb/config/nm-gnu.h delete mode 100644 gdb/config/nm-linux.h delete mode 100644 gdb/config/nm-lynx.h delete mode 100644 gdb/config/nm-m3.h delete mode 100644 gdb/config/nm-nbsd.h delete mode 100644 gdb/config/nm-nbsdaout.h delete mode 100644 gdb/config/nm-sysv4.h delete mode 100644 gdb/config/none/nm-none.h delete mode 100644 gdb/config/none/none.mh delete mode 100644 gdb/config/none/none.mt delete mode 100644 gdb/config/none/tm-none.h delete mode 100644 gdb/config/none/xm-none.h delete mode 100644 gdb/config/ns32k/nbsdaout.mh delete mode 100644 gdb/config/ns32k/nbsdaout.mt delete mode 100644 gdb/config/ns32k/nm-nbsd.h delete mode 100644 gdb/config/ns32k/nm-nbsdaout.h delete mode 100644 gdb/config/ns32k/tm-nbsd.h delete mode 100644 gdb/config/ns32k/tm-ns32k.h delete mode 100644 gdb/config/ns32k/xm-nbsd.h delete mode 100644 gdb/config/pa/hppa.mt delete mode 100644 gdb/config/pa/hppa64.mt delete mode 100644 gdb/config/pa/hppabsd.mh delete mode 100644 gdb/config/pa/hppabsd.mt delete mode 100644 gdb/config/pa/hppahpux.mh delete mode 100644 gdb/config/pa/hppahpux.mt delete mode 100644 gdb/config/pa/hppaosf.mh delete mode 100644 gdb/config/pa/hppaosf.mt delete mode 100644 gdb/config/pa/hppapro.mt delete mode 100644 gdb/config/pa/hpux1020.mh delete mode 100644 gdb/config/pa/hpux1020.mt delete mode 100644 gdb/config/pa/hpux11.mh delete mode 100644 gdb/config/pa/hpux11.mt delete mode 100644 gdb/config/pa/hpux11w.mh delete mode 100644 gdb/config/pa/hpux11w.mt delete mode 100644 gdb/config/pa/nm-hppab.h delete mode 100644 gdb/config/pa/nm-hppah.h delete mode 100644 gdb/config/pa/nm-hppah11.h delete mode 100644 gdb/config/pa/nm-hppao.h delete mode 100644 gdb/config/pa/tm-hppa.h delete mode 100644 gdb/config/pa/tm-hppa64.h delete mode 100644 gdb/config/pa/tm-hppab.h delete mode 100644 gdb/config/pa/tm-hppah.h delete mode 100644 gdb/config/pa/tm-hppao.h delete mode 100644 gdb/config/pa/tm-pro.h delete mode 100644 gdb/config/pa/xm-hppab.h delete mode 100644 gdb/config/pa/xm-hppah.h delete mode 100644 gdb/config/pa/xm-pa.h delete mode 100644 gdb/config/powerpc/aix.mh delete mode 100644 gdb/config/powerpc/aix.mt delete mode 100644 gdb/config/powerpc/aix432.mh delete mode 100644 gdb/config/powerpc/gdbserve.mt delete mode 100644 gdb/config/powerpc/linux.mh delete mode 100644 gdb/config/powerpc/linux.mt delete mode 100644 gdb/config/powerpc/nbsd.mh delete mode 100644 gdb/config/powerpc/nbsd.mt delete mode 100644 gdb/config/powerpc/nm-aix.h delete mode 100644 gdb/config/powerpc/nm-linux.h delete mode 100644 gdb/config/powerpc/nm-nbsd.h delete mode 100644 gdb/config/powerpc/ppc-eabi.mt delete mode 100644 gdb/config/powerpc/ppc-sim.mt delete mode 100644 gdb/config/powerpc/ppcle-eabi.mt delete mode 100644 gdb/config/powerpc/ppcle-sim.mt delete mode 100644 gdb/config/powerpc/tm-linux.h delete mode 100644 gdb/config/powerpc/tm-nbsd.h delete mode 100644 gdb/config/powerpc/tm-ppc-aix.h delete mode 100644 gdb/config/powerpc/tm-ppc-eabi.h delete mode 100644 gdb/config/powerpc/tm-ppc-sim.h delete mode 100644 gdb/config/powerpc/tm-ppcle-eabi.h delete mode 100644 gdb/config/powerpc/tm-ppcle-sim.h delete mode 100644 gdb/config/powerpc/tm-vxworks.h delete mode 100644 gdb/config/powerpc/vxworks.mt delete mode 100644 gdb/config/powerpc/xm-aix.h delete mode 100644 gdb/config/powerpc/xm-linux.h delete mode 100644 gdb/config/rs6000/aix4.mh delete mode 100644 gdb/config/rs6000/aix4.mt delete mode 100644 gdb/config/rs6000/nm-rs6000.h delete mode 100644 gdb/config/rs6000/nm-rs6000ly.h delete mode 100644 gdb/config/rs6000/rs6000.mh delete mode 100644 gdb/config/rs6000/rs6000.mt delete mode 100644 gdb/config/rs6000/rs6000lynx.mh delete mode 100644 gdb/config/rs6000/rs6000lynx.mt delete mode 100644 gdb/config/rs6000/tm-rs6000-aix4.h delete mode 100644 gdb/config/rs6000/tm-rs6000.h delete mode 100644 gdb/config/rs6000/tm-rs6000ly.h delete mode 100644 gdb/config/rs6000/xm-aix4.h delete mode 100644 gdb/config/rs6000/xm-rs6000.h delete mode 100644 gdb/config/s390/nm-linux.h delete mode 100644 gdb/config/s390/s390.mh delete mode 100644 gdb/config/s390/s390.mt delete mode 100644 gdb/config/s390/s390x.mt delete mode 100644 gdb/config/s390/tm-linux.h delete mode 100644 gdb/config/s390/tm-s390.h delete mode 100644 gdb/config/s390/xm-linux.h delete mode 100644 gdb/config/sh/embed.mt delete mode 100644 gdb/config/sh/linux.mt delete mode 100644 gdb/config/sh/nbsd.mh delete mode 100644 gdb/config/sh/nbsd.mt delete mode 100644 gdb/config/sh/nm-nbsd.h delete mode 100644 gdb/config/sh/tm-linux.h delete mode 100644 gdb/config/sh/tm-nbsd.h delete mode 100644 gdb/config/sh/tm-sh.h delete mode 100644 gdb/config/sh/tm-wince.h delete mode 100644 gdb/config/sh/wince.mt delete mode 100644 gdb/config/sparc/fbsd.mh delete mode 100644 gdb/config/sparc/fbsd.mt delete mode 100644 gdb/config/sparc/linux.mh delete mode 100644 gdb/config/sparc/linux.mt delete mode 100644 gdb/config/sparc/nbsd.mt delete mode 100644 gdb/config/sparc/nbsd64.mh delete mode 100644 gdb/config/sparc/nbsd64.mt delete mode 100644 gdb/config/sparc/nbsdaout.mh delete mode 100644 gdb/config/sparc/nbsdelf.mh delete mode 100644 gdb/config/sparc/nm-fbsd.h delete mode 100644 gdb/config/sparc/nm-linux.h delete mode 100644 gdb/config/sparc/nm-nbsd.h delete mode 100644 gdb/config/sparc/nm-nbsdaout.h delete mode 100644 gdb/config/sparc/nm-sparclynx.h delete mode 100644 gdb/config/sparc/nm-sun4os4.h delete mode 100644 gdb/config/sparc/nm-sun4sol2.h delete mode 100644 gdb/config/sparc/sp64.mt delete mode 100644 gdb/config/sparc/sp64linux.mt delete mode 100644 gdb/config/sparc/sp64sim.mt delete mode 100644 gdb/config/sparc/sp64sol2.mt delete mode 100644 gdb/config/sparc/sparc-em.mt delete mode 100644 gdb/config/sparc/sparclet.mt delete mode 100644 gdb/config/sparc/sparclite.mt delete mode 100644 gdb/config/sparc/sparclynx.mh delete mode 100644 gdb/config/sparc/sparclynx.mt delete mode 100644 gdb/config/sparc/sun4os4.mh delete mode 100644 gdb/config/sparc/sun4os4.mt delete mode 100644 gdb/config/sparc/sun4sol2.mh delete mode 100644 gdb/config/sparc/sun4sol2.mt delete mode 100644 gdb/config/sparc/tm-fbsd.h delete mode 100644 gdb/config/sparc/tm-linux.h delete mode 100644 gdb/config/sparc/tm-nbsd.h delete mode 100644 gdb/config/sparc/tm-nbsd64.h delete mode 100644 gdb/config/sparc/tm-sp64.h delete mode 100644 gdb/config/sparc/tm-sp64linux.h delete mode 100644 gdb/config/sparc/tm-sp64sim.h delete mode 100644 gdb/config/sparc/tm-sparc.h delete mode 100644 gdb/config/sparc/tm-sparclet.h delete mode 100644 gdb/config/sparc/tm-sparclite.h delete mode 100644 gdb/config/sparc/tm-sparclynx.h delete mode 100644 gdb/config/sparc/tm-spc-em.h delete mode 100644 gdb/config/sparc/tm-sun4os4.h delete mode 100644 gdb/config/sparc/tm-sun4sol2.h delete mode 100644 gdb/config/sparc/tm-vxsparc.h delete mode 100644 gdb/config/sparc/vxsparc.mt delete mode 100644 gdb/config/sparc/xm-linux.h delete mode 100644 gdb/config/sparc/xm-sun4sol2.h delete mode 100644 gdb/config/tm-linux.h delete mode 100644 gdb/config/tm-lynx.h delete mode 100644 gdb/config/tm-sunos.h delete mode 100644 gdb/config/tm-sysv4.h delete mode 100644 gdb/config/tm-vxworks.h delete mode 100644 gdb/config/v850/v850.mt delete mode 100644 gdb/config/vax/nm-vax.h delete mode 100644 gdb/config/vax/tm-vax.h delete mode 100644 gdb/config/vax/tm-vaxbsd.h delete mode 100644 gdb/config/vax/vax.mt delete mode 100644 gdb/config/vax/vaxbsd.mh delete mode 100644 gdb/config/vax/vaxult.mh delete mode 100644 gdb/config/vax/vaxult2.mh delete mode 100644 gdb/config/vax/xm-vax.h delete mode 100644 gdb/config/vax/xm-vaxbsd.h delete mode 100644 gdb/config/vax/xm-vaxult.h delete mode 100644 gdb/config/vax/xm-vaxult2.h delete mode 100644 gdb/config/xm-aix4.h delete mode 100644 gdb/config/xm-nbsd.h delete mode 100644 gdb/config/xm-sysv4.h delete mode 100644 gdb/config/xstormy16/xstormy16.mt delete mode 100644 gdb/config/z8k/tm-z8k.h delete mode 100644 gdb/config/z8k/z8k.mt delete mode 100755 gdb/configure delete mode 100644 gdb/configure.host delete mode 100644 gdb/configure.in delete mode 100644 gdb/configure.tgt delete mode 100644 gdb/copying.awk delete mode 100644 gdb/copying.c delete mode 100644 gdb/core-aout.c delete mode 100644 gdb/core-regset.c delete mode 100644 gdb/core-sol2.c delete mode 100644 gdb/corefile.c delete mode 100644 gdb/corelow.c delete mode 100644 gdb/cp-abi.c delete mode 100644 gdb/cp-abi.h delete mode 100644 gdb/cp-valprint.c delete mode 100644 gdb/cpu32bug-rom.c delete mode 100644 gdb/cris-tdep.c delete mode 100644 gdb/cxux-nat.c delete mode 100644 gdb/d10v-tdep.c delete mode 100644 gdb/d30v-tdep.c delete mode 100644 gdb/dbug-rom.c delete mode 100644 gdb/dbxread.c delete mode 100644 gdb/dcache.c delete mode 100644 gdb/dcache.h delete mode 100644 gdb/defs.h delete mode 100644 gdb/delta68-nat.c delete mode 100644 gdb/demangle.c delete mode 100644 gdb/dink32-rom.c delete mode 100644 gdb/doc/ChangeLog delete mode 100644 gdb/doc/LRS delete mode 100644 gdb/doc/Makefile.in delete mode 100644 gdb/doc/a4rc.sed delete mode 100644 gdb/doc/agentexpr.texi delete mode 100644 gdb/doc/all-cfg.texi delete mode 100644 gdb/doc/annotate.texi delete mode 100755 gdb/doc/configure delete mode 100644 gdb/doc/configure.in delete mode 100644 gdb/doc/fdl.texi delete mode 100644 gdb/doc/gdb.texinfo delete mode 100644 gdb/doc/gdbint.texinfo delete mode 100644 gdb/doc/gpl.texi delete mode 100644 gdb/doc/lpsrc.sed delete mode 100644 gdb/doc/psrc.sed delete mode 100644 gdb/doc/refcard.tex delete mode 100644 gdb/doc/stabs.texinfo delete mode 100644 gdb/doublest.c delete mode 100644 gdb/doublest.h delete mode 100644 gdb/dpx2-nat.c delete mode 100644 gdb/dsrec.c delete mode 100644 gdb/dst.h delete mode 100644 gdb/dstread.c delete mode 100644 gdb/dve3900-rom.c delete mode 100644 gdb/dwarf2cfi.c delete mode 100644 gdb/dwarf2cfi.h delete mode 100644 gdb/dwarf2read.c delete mode 100644 gdb/dwarfread.c delete mode 100644 gdb/elfread.c delete mode 100644 gdb/environ.c delete mode 100644 gdb/environ.h delete mode 100644 gdb/eval.c delete mode 100644 gdb/event-loop.c delete mode 100644 gdb/event-loop.h delete mode 100644 gdb/event-top.c delete mode 100644 gdb/event-top.h delete mode 100644 gdb/exc_request.defs delete mode 100644 gdb/exec.c delete mode 100644 gdb/expprint.c delete mode 100644 gdb/expression.h delete mode 100644 gdb/f-exp.y delete mode 100644 gdb/f-lang.c delete mode 100644 gdb/f-lang.h delete mode 100644 gdb/f-typeprint.c delete mode 100644 gdb/f-valprint.c delete mode 100644 gdb/fbsd-proc.c delete mode 100644 gdb/findvar.c delete mode 100644 gdb/fork-child.c delete mode 100644 gdb/fr30-tdep.c delete mode 100644 gdb/frame.c delete mode 100644 gdb/frame.h delete mode 100644 gdb/frv-tdep.c delete mode 100644 gdb/gcore.c delete mode 100644 gdb/gdb-events.c delete mode 100644 gdb/gdb-events.h delete mode 100755 gdb/gdb-events.sh delete mode 100644 gdb/gdb-stabs.h delete mode 100644 gdb/gdb.1 delete mode 100644 gdb/gdb.gdb delete mode 100644 gdb/gdb.h delete mode 100644 gdb/gdb_assert.h delete mode 100644 gdb/gdb_dirent.h delete mode 100755 gdb/gdb_indent.sh delete mode 100644 gdb/gdb_locale.h delete mode 100644 gdb/gdb_obstack.h delete mode 100644 gdb/gdb_proc_service.h delete mode 100644 gdb/gdb_regex.h delete mode 100644 gdb/gdb_stat.h delete mode 100644 gdb/gdb_string.h delete mode 100644 gdb/gdb_thread_db.h delete mode 100644 gdb/gdb_vfork.h delete mode 100644 gdb/gdb_wait.h delete mode 100644 gdb/gdbarch.c delete mode 100644 gdb/gdbarch.h delete mode 100755 gdb/gdbarch.sh delete mode 100644 gdb/gdbcmd.h delete mode 100644 gdb/gdbcore.h delete mode 100644 gdb/gdbinit.in delete mode 100644 gdb/gdbserver/ChangeLog delete mode 100644 gdb/gdbserver/Makefile.in delete mode 100644 gdb/gdbserver/README delete mode 100644 gdb/gdbserver/acconfig.h delete mode 100644 gdb/gdbserver/acinclude.m4 delete mode 100644 gdb/gdbserver/aclocal.m4 delete mode 100644 gdb/gdbserver/config.in delete mode 100755 gdb/gdbserver/configure delete mode 100644 gdb/gdbserver/configure.in delete mode 100644 gdb/gdbserver/configure.srv delete mode 100644 gdb/gdbserver/gdbreplay.c delete mode 100644 gdb/gdbserver/gdbserver.1 delete mode 100644 gdb/gdbserver/i387-fp.c delete mode 100644 gdb/gdbserver/i387-fp.h delete mode 100644 gdb/gdbserver/inferiors.c delete mode 100644 gdb/gdbserver/linux-arm-low.c delete mode 100644 gdb/gdbserver/linux-i386-low.c delete mode 100644 gdb/gdbserver/linux-ia64-low.c delete mode 100644 gdb/gdbserver/linux-low.c delete mode 100644 gdb/gdbserver/linux-low.h delete mode 100644 gdb/gdbserver/linux-m68k-low.c delete mode 100644 gdb/gdbserver/linux-mips-low.c delete mode 100644 gdb/gdbserver/linux-ppc-low.c delete mode 100644 gdb/gdbserver/linux-s390-low.c delete mode 100644 gdb/gdbserver/linux-sh-low.c delete mode 100644 gdb/gdbserver/linux-x86-64-low.c delete mode 100644 gdb/gdbserver/low-hppabsd.c delete mode 100644 gdb/gdbserver/low-lynx.c delete mode 100644 gdb/gdbserver/low-nbsd.c delete mode 100644 gdb/gdbserver/low-sim.c delete mode 100644 gdb/gdbserver/low-sparc.c delete mode 100644 gdb/gdbserver/low-sun3.c delete mode 100644 gdb/gdbserver/mem-break.c delete mode 100644 gdb/gdbserver/mem-break.h delete mode 100644 gdb/gdbserver/proc-service.c delete mode 100644 gdb/gdbserver/regcache.c delete mode 100644 gdb/gdbserver/regcache.h delete mode 100644 gdb/gdbserver/remote-utils.c delete mode 100644 gdb/gdbserver/server.c delete mode 100644 gdb/gdbserver/server.h delete mode 100644 gdb/gdbserver/target.c delete mode 100644 gdb/gdbserver/target.h delete mode 100644 gdb/gdbserver/terminal.h delete mode 100644 gdb/gdbserver/thread-db.c delete mode 100644 gdb/gdbserver/utils.c delete mode 100644 gdb/gdbthread.h delete mode 100644 gdb/gdbtypes.c delete mode 100644 gdb/gdbtypes.h delete mode 100644 gdb/gnu-nat.c delete mode 100644 gdb/gnu-nat.h delete mode 100644 gdb/gnu-v2-abi.c delete mode 100644 gdb/gnu-v3-abi.c delete mode 100644 gdb/go32-nat.c delete mode 100644 gdb/gregset.h delete mode 100644 gdb/h8300-tdep.c delete mode 100644 gdb/h8500-tdep.c delete mode 100644 gdb/hp300ux-nat.c delete mode 100644 gdb/hpacc-abi.c delete mode 100644 gdb/hppa-tdep.c delete mode 100644 gdb/hppab-nat.c delete mode 100644 gdb/hppah-nat.c delete mode 100644 gdb/hppam3-nat.c delete mode 100644 gdb/hpread.c delete mode 100644 gdb/hpux-thread.c delete mode 100644 gdb/i386-linux-nat.c delete mode 100644 gdb/i386-linux-tdep.c delete mode 100644 gdb/i386-linux-tdep.h delete mode 100644 gdb/i386-nat.c delete mode 100644 gdb/i386-sol2-tdep.c delete mode 100644 gdb/i386-stub.c delete mode 100644 gdb/i386-tdep.c delete mode 100644 gdb/i386-tdep.h delete mode 100644 gdb/i386aix-nat.c delete mode 100644 gdb/i386b-nat.c delete mode 100644 gdb/i386bsd-nat.c delete mode 100644 gdb/i386bsd-tdep.c delete mode 100644 gdb/i386fbsd-nat.c delete mode 100644 gdb/i386gnu-nat.c delete mode 100644 gdb/i386gnu-tdep.c delete mode 100644 gdb/i386ly-tdep.c delete mode 100644 gdb/i386m3-nat.c delete mode 100644 gdb/i386mach-nat.c delete mode 100644 gdb/i386nbsd-tdep.c delete mode 100644 gdb/i386obsd-nat.c delete mode 100644 gdb/i386v-nat.c delete mode 100644 gdb/i386v4-nat.c delete mode 100644 gdb/i387-tdep.c delete mode 100644 gdb/i387-tdep.h delete mode 100644 gdb/i960-tdep.c delete mode 100644 gdb/ia64-aix-nat.c delete mode 100644 gdb/ia64-aix-tdep.c delete mode 100644 gdb/ia64-linux-nat.c delete mode 100644 gdb/ia64-linux-tdep.c delete mode 100644 gdb/ia64-tdep.c delete mode 100644 gdb/inf-loop.c delete mode 100644 gdb/inf-loop.h delete mode 100644 gdb/infcmd.c delete mode 100644 gdb/inferior.h delete mode 100644 gdb/inflow.c delete mode 100644 gdb/infptrace.c delete mode 100644 gdb/infrun.c delete mode 100644 gdb/inftarg.c delete mode 100644 gdb/infttrace.c delete mode 100644 gdb/irix4-nat.c delete mode 100644 gdb/irix5-nat.c delete mode 100644 gdb/jv-exp.y delete mode 100644 gdb/jv-lang.c delete mode 100644 gdb/jv-lang.h delete mode 100644 gdb/jv-typeprint.c delete mode 100644 gdb/jv-valprint.c delete mode 100644 gdb/kod-cisco.c delete mode 100644 gdb/kod.c delete mode 100644 gdb/kod.h delete mode 100644 gdb/language.c delete mode 100644 gdb/language.h delete mode 100644 gdb/lin-lwp.c delete mode 100644 gdb/linespec.c delete mode 100644 gdb/linespec.h delete mode 100644 gdb/linux-proc.c delete mode 100644 gdb/lynx-nat.c delete mode 100644 gdb/m2-exp.y delete mode 100644 gdb/m2-lang.c delete mode 100644 gdb/m2-lang.h delete mode 100644 gdb/m2-typeprint.c delete mode 100644 gdb/m2-valprint.c delete mode 100644 gdb/m3-nat.c delete mode 100644 gdb/m32r-rom.c delete mode 100644 gdb/m32r-stub.c delete mode 100644 gdb/m32r-tdep.c delete mode 100644 gdb/m68hc11-tdep.c delete mode 100644 gdb/m68k-stub.c delete mode 100644 gdb/m68k-tdep.c delete mode 100644 gdb/m68klinux-nat.c delete mode 100644 gdb/m68knbsd-nat.c delete mode 100644 gdb/m68knbsd-tdep.c delete mode 100644 gdb/m88k-nat.c delete mode 100644 gdb/m88k-tdep.c delete mode 100644 gdb/macrocmd.c delete mode 100644 gdb/macroexp.c delete mode 100644 gdb/macroexp.h delete mode 100644 gdb/macroscope.c delete mode 100644 gdb/macroscope.h delete mode 100644 gdb/macrotab.c delete mode 100644 gdb/macrotab.h delete mode 100644 gdb/main.c delete mode 100644 gdb/maint.c delete mode 100644 gdb/mcore-rom.c delete mode 100644 gdb/mcore-tdep.c delete mode 100644 gdb/mdebugread.c delete mode 100644 gdb/mem-break.c delete mode 100644 gdb/memattr.c delete mode 100644 gdb/memattr.h delete mode 100644 gdb/mi/ChangeLog delete mode 100644 gdb/mi/gdbmi.texinfo delete mode 100644 gdb/mi/mi-cmd-break.c delete mode 100644 gdb/mi/mi-cmd-disas.c delete mode 100644 gdb/mi/mi-cmd-stack.c delete mode 100644 gdb/mi/mi-cmd-var.c delete mode 100644 gdb/mi/mi-cmds.c delete mode 100644 gdb/mi/mi-cmds.h delete mode 100644 gdb/mi/mi-console.c delete mode 100644 gdb/mi/mi-console.h delete mode 100644 gdb/mi/mi-getopt.c delete mode 100644 gdb/mi/mi-getopt.h delete mode 100644 gdb/mi/mi-main.c delete mode 100644 gdb/mi/mi-out.c delete mode 100644 gdb/mi/mi-out.h delete mode 100644 gdb/mi/mi-parse.c delete mode 100644 gdb/mi/mi-parse.h delete mode 100644 gdb/minimon.h delete mode 100644 gdb/minsyms.c delete mode 100644 gdb/mips-irix-tdep.c delete mode 100644 gdb/mips-linux-nat.c delete mode 100644 gdb/mips-linux-tdep.c delete mode 100644 gdb/mips-nat.c delete mode 100644 gdb/mips-tdep.c delete mode 100644 gdb/mipsm3-nat.c delete mode 100644 gdb/mipsnbsd-nat.c delete mode 100644 gdb/mipsnbsd-tdep.c delete mode 100644 gdb/mipsnbsd-tdep.h delete mode 100644 gdb/mipsread.c delete mode 100644 gdb/mipsv4-nat.c delete mode 100644 gdb/mn10200-tdep.c delete mode 100644 gdb/mn10300-tdep.c delete mode 100644 gdb/mon960-rom.c delete mode 100644 gdb/monitor.c delete mode 100644 gdb/monitor.h delete mode 100644 gdb/msg.defs delete mode 100644 gdb/msg_reply.defs delete mode 100644 gdb/nbsd-tdep.c delete mode 100644 gdb/nbsd-tdep.h delete mode 100644 gdb/nindy-share/Makefile delete mode 100644 gdb/nindy-share/Onindy.c delete mode 100644 gdb/nindy-share/README delete mode 100644 gdb/nindy-share/VERSION delete mode 100644 gdb/nindy-share/b.out.h delete mode 100644 gdb/nindy-share/block_io.h delete mode 100644 gdb/nindy-share/coff.h delete mode 100644 gdb/nindy-share/env.h delete mode 100644 gdb/nindy-share/nindy.c delete mode 100644 gdb/nindy-share/stop.h delete mode 100644 gdb/nindy-share/ttyflush.c delete mode 100644 gdb/nindy-tdep.c delete mode 100644 gdb/nlm/Makefile.in delete mode 100755 gdb/nlm/configure delete mode 100644 gdb/nlm/configure.in delete mode 100644 gdb/nlm/gdbserve.c delete mode 100644 gdb/nlm/gdbserve.def delete mode 100644 gdb/nlm/i386.c delete mode 100644 gdb/nlm/i386.h delete mode 100644 gdb/nlm/ppc.c delete mode 100644 gdb/nlm/ppc.h delete mode 100644 gdb/nlm/prelude.c delete mode 100644 gdb/nlmread.c delete mode 100644 gdb/notify.defs delete mode 100644 gdb/ns32k-tdep.c delete mode 100644 gdb/ns32k-tdep.h delete mode 100644 gdb/ns32knbsd-nat.c delete mode 100644 gdb/ns32knbsd-tdep.c delete mode 100644 gdb/objfiles.c delete mode 100644 gdb/objfiles.h delete mode 100644 gdb/ocd.c delete mode 100644 gdb/ocd.h delete mode 100644 gdb/op50-rom.c delete mode 100644 gdb/os9kread.c delete mode 100644 gdb/osabi.c delete mode 100644 gdb/osabi.h delete mode 100644 gdb/osf-share/AT386/cma_thread_io.h delete mode 100644 gdb/osf-share/HP800/cma_thread_io.h delete mode 100644 gdb/osf-share/README delete mode 100644 gdb/osf-share/RIOS/cma_thread_io.h delete mode 100644 gdb/osf-share/cma_attr.h delete mode 100644 gdb/osf-share/cma_deb_core.h delete mode 100644 gdb/osf-share/cma_debug_client.h delete mode 100644 gdb/osf-share/cma_errors.h delete mode 100644 gdb/osf-share/cma_handle.h delete mode 100644 gdb/osf-share/cma_init.h delete mode 100644 gdb/osf-share/cma_list.h delete mode 100644 gdb/osf-share/cma_mutex.h delete mode 100644 gdb/osf-share/cma_sched.h delete mode 100644 gdb/osf-share/cma_semaphore_defs.h delete mode 100644 gdb/osf-share/cma_sequence.h delete mode 100644 gdb/osf-share/cma_stack.h delete mode 100644 gdb/osf-share/cma_stack_int.h delete mode 100644 gdb/osf-share/cma_tcb_defs.h delete mode 100644 gdb/osf-share/cma_util.h delete mode 100644 gdb/osfsolib.c delete mode 100644 gdb/p-exp.y delete mode 100644 gdb/p-lang.c delete mode 100644 gdb/p-lang.h delete mode 100644 gdb/p-typeprint.c delete mode 100644 gdb/p-valprint.c delete mode 100644 gdb/pa64solib.c delete mode 100644 gdb/pa64solib.h delete mode 100644 gdb/parse.c delete mode 100644 gdb/parser-defs.h delete mode 100644 gdb/ppc-bdm.c delete mode 100644 gdb/ppc-linux-nat.c delete mode 100644 gdb/ppc-linux-tdep.c delete mode 100644 gdb/ppc-sysv-tdep.c delete mode 100644 gdb/ppc-tdep.h delete mode 100644 gdb/ppcbug-rom.c delete mode 100644 gdb/ppcnbsd-nat.c delete mode 100644 gdb/ppcnbsd-tdep.c delete mode 100644 gdb/ppcnbsd-tdep.h delete mode 100644 gdb/printcmd.c delete mode 100644 gdb/proc-api.c delete mode 100644 gdb/proc-events.c delete mode 100644 gdb/proc-flags.c delete mode 100644 gdb/proc-service.c delete mode 100644 gdb/proc-utils.h delete mode 100644 gdb/proc-why.c delete mode 100644 gdb/process_reply.defs delete mode 100644 gdb/procfs.c delete mode 100644 gdb/ptx4-nat.c delete mode 100644 gdb/rdi-share/Makefile.am delete mode 100644 gdb/rdi-share/Makefile.in delete mode 100644 gdb/rdi-share/README.CYGNUS delete mode 100644 gdb/rdi-share/aclocal.m4 delete mode 100644 gdb/rdi-share/adp.h delete mode 100644 gdb/rdi-share/adperr.h delete mode 100644 gdb/rdi-share/angel.h delete mode 100644 gdb/rdi-share/angel_bytesex.c delete mode 100644 gdb/rdi-share/angel_bytesex.h delete mode 100644 gdb/rdi-share/angel_endian.h delete mode 100644 gdb/rdi-share/ardi.c delete mode 100644 gdb/rdi-share/ardi.h delete mode 100644 gdb/rdi-share/armdbg.h delete mode 100644 gdb/rdi-share/buffers.h delete mode 100644 gdb/rdi-share/chandefs.h delete mode 100644 gdb/rdi-share/channels.h delete mode 100644 gdb/rdi-share/chanpriv.h delete mode 100755 gdb/rdi-share/configure delete mode 100644 gdb/rdi-share/configure.in delete mode 100644 gdb/rdi-share/crc.c delete mode 100644 gdb/rdi-share/crc.h delete mode 100644 gdb/rdi-share/dbg_conf.h delete mode 100644 gdb/rdi-share/dbg_cp.h delete mode 100644 gdb/rdi-share/dbg_hif.h delete mode 100644 gdb/rdi-share/dbg_rdi.h delete mode 100644 gdb/rdi-share/devclnt.h delete mode 100644 gdb/rdi-share/devices.h delete mode 100644 gdb/rdi-share/devsw.c delete mode 100644 gdb/rdi-share/devsw.h delete mode 100644 gdb/rdi-share/drivers.c delete mode 100644 gdb/rdi-share/drivers.h delete mode 100644 gdb/rdi-share/etherdrv.c delete mode 100644 gdb/rdi-share/ethernet.h delete mode 100644 gdb/rdi-share/host.h delete mode 100644 gdb/rdi-share/hostchan.c delete mode 100644 gdb/rdi-share/hostchan.h delete mode 100644 gdb/rdi-share/hsys.c delete mode 100644 gdb/rdi-share/hsys.h delete mode 100644 gdb/rdi-share/logging.c delete mode 100644 gdb/rdi-share/logging.h delete mode 100644 gdb/rdi-share/msgbuild.c delete mode 100644 gdb/rdi-share/msgbuild.h delete mode 100644 gdb/rdi-share/params.c delete mode 100644 gdb/rdi-share/params.h delete mode 100644 gdb/rdi-share/rx.c delete mode 100644 gdb/rdi-share/rxtx.h delete mode 100644 gdb/rdi-share/serdrv.c delete mode 100644 gdb/rdi-share/serpardr.c delete mode 100644 gdb/rdi-share/sys.h delete mode 100644 gdb/rdi-share/tx.c delete mode 100644 gdb/rdi-share/unixcomm.c delete mode 100644 gdb/rdi-share/unixcomm.h delete mode 100644 gdb/regcache.c delete mode 100644 gdb/regcache.h delete mode 100644 gdb/regformats/reg-arm.dat delete mode 100644 gdb/regformats/reg-i386-linux.dat delete mode 100644 gdb/regformats/reg-i386.dat delete mode 100644 gdb/regformats/reg-ia64.dat delete mode 100644 gdb/regformats/reg-m68k.dat delete mode 100644 gdb/regformats/reg-mips.dat delete mode 100644 gdb/regformats/reg-ppc.dat delete mode 100644 gdb/regformats/reg-s390.dat delete mode 100644 gdb/regformats/reg-s390x.dat delete mode 100644 gdb/regformats/reg-sh.dat delete mode 100644 gdb/regformats/reg-x86-64.dat delete mode 100755 gdb/regformats/regdat.sh delete mode 100644 gdb/regformats/regdef.h delete mode 100644 gdb/remote-array.c delete mode 100644 gdb/remote-bug.c delete mode 100644 gdb/remote-e7000.c delete mode 100644 gdb/remote-es.c delete mode 100644 gdb/remote-est.c delete mode 100644 gdb/remote-hms.c delete mode 100644 gdb/remote-mips.c delete mode 100644 gdb/remote-nindy.c delete mode 100644 gdb/remote-nrom.c delete mode 100644 gdb/remote-os9k.c delete mode 100644 gdb/remote-rdi.c delete mode 100644 gdb/remote-rdp.c delete mode 100644 gdb/remote-sds.c delete mode 100644 gdb/remote-sim.c delete mode 100644 gdb/remote-st.c delete mode 100644 gdb/remote-utils.c delete mode 100644 gdb/remote-utils.h delete mode 100644 gdb/remote-vx.c delete mode 100644 gdb/remote-vx68.c delete mode 100644 gdb/remote-vx960.c delete mode 100644 gdb/remote-vxmips.c delete mode 100644 gdb/remote-vxsparc.c delete mode 100644 gdb/remote.c delete mode 100644 gdb/remote.h delete mode 100644 gdb/reply_mig_hack.awk delete mode 100644 gdb/rom68k-rom.c delete mode 100644 gdb/rs6000-nat.c delete mode 100644 gdb/rs6000-tdep.c delete mode 100644 gdb/s390-nat.c delete mode 100644 gdb/s390-tdep.c delete mode 100644 gdb/saber.suppress delete mode 100644 gdb/scm-exp.c delete mode 100644 gdb/scm-lang.c delete mode 100644 gdb/scm-lang.h delete mode 100644 gdb/scm-tags.h delete mode 100644 gdb/scm-valprint.c delete mode 100644 gdb/ser-e7kpc.c delete mode 100644 gdb/ser-go32.c delete mode 100644 gdb/ser-pipe.c delete mode 100644 gdb/ser-tcp.c delete mode 100644 gdb/ser-unix.c delete mode 100644 gdb/ser-unix.h delete mode 100644 gdb/serial.c delete mode 100644 gdb/serial.h delete mode 100644 gdb/sh-stub.c delete mode 100644 gdb/sh-tdep.c delete mode 100644 gdb/sh-tdep.h delete mode 100644 gdb/sh3-rom.c delete mode 100644 gdb/shnbsd-nat.c delete mode 100644 gdb/shnbsd-tdep.c delete mode 100644 gdb/shnbsd-tdep.h delete mode 100644 gdb/signals/signals.c delete mode 100644 gdb/sim-regno.h delete mode 100644 gdb/sol-thread.c delete mode 100644 gdb/solib-aix5.c delete mode 100644 gdb/solib-irix.c delete mode 100644 gdb/solib-legacy.c delete mode 100644 gdb/solib-osf.c delete mode 100644 gdb/solib-sunos.c delete mode 100644 gdb/solib-svr4.c delete mode 100644 gdb/solib-svr4.h delete mode 100644 gdb/solib.c delete mode 100644 gdb/solib.h delete mode 100644 gdb/solist.h delete mode 100644 gdb/somread.c delete mode 100644 gdb/somsolib.c delete mode 100644 gdb/somsolib.h delete mode 100644 gdb/source.c delete mode 100644 gdb/source.h delete mode 100644 gdb/sparc-linux-nat.c delete mode 100644 gdb/sparc-nat.c delete mode 100644 gdb/sparc-stub.c delete mode 100644 gdb/sparc-tdep.c delete mode 100644 gdb/sparc64nbsd-nat.c delete mode 100644 gdb/sparcl-stub.c delete mode 100644 gdb/sparcl-tdep.c delete mode 100644 gdb/sparclet-rom.c delete mode 100644 gdb/sparclet-stub.c delete mode 100644 gdb/sparcnbsd-nat.c delete mode 100644 gdb/sparcnbsd-tdep.c delete mode 100644 gdb/sparcnbsd-tdep.h delete mode 100644 gdb/srec.h delete mode 100644 gdb/stabsread.c delete mode 100644 gdb/stabsread.h delete mode 100644 gdb/stack.c delete mode 100644 gdb/standalone.c delete mode 100644 gdb/std-regs.c delete mode 100644 gdb/stop-gdb.c delete mode 100644 gdb/sun3-nat.c delete mode 100644 gdb/symfile.c delete mode 100644 gdb/symfile.h delete mode 100644 gdb/symm-nat.c delete mode 100644 gdb/symm-tdep.c delete mode 100644 gdb/symmisc.c delete mode 100644 gdb/symtab.c delete mode 100644 gdb/symtab.h delete mode 100644 gdb/target.c delete mode 100644 gdb/target.h delete mode 100644 gdb/terminal.h delete mode 100644 gdb/testsuite/.gdbinit delete mode 100644 gdb/testsuite/ChangeLog delete mode 100644 gdb/testsuite/Makefile.in delete mode 100644 gdb/testsuite/TODO delete mode 100644 gdb/testsuite/aclocal.m4 delete mode 100644 gdb/testsuite/config/abug.exp delete mode 100644 gdb/testsuite/config/arm-ice.exp delete mode 100644 gdb/testsuite/config/cfdbug.exp delete mode 100644 gdb/testsuite/config/cpu32bug.exp delete mode 100644 gdb/testsuite/config/cygmon.exp delete mode 100644 gdb/testsuite/config/d10v.exp delete mode 100644 gdb/testsuite/config/dve.exp delete mode 100644 gdb/testsuite/config/est.exp delete mode 100644 gdb/testsuite/config/gdbserver.exp delete mode 100644 gdb/testsuite/config/h8300.exp delete mode 100644 gdb/testsuite/config/hmsirom.exp delete mode 100644 gdb/testsuite/config/hppro.exp delete mode 100644 gdb/testsuite/config/i386-bozo.exp delete mode 100644 gdb/testsuite/config/i960.exp delete mode 100644 gdb/testsuite/config/m32r-stub.exp delete mode 100644 gdb/testsuite/config/m32r.exp delete mode 100644 gdb/testsuite/config/m68k-emc.exp delete mode 100644 gdb/testsuite/config/mips-idt.exp delete mode 100644 gdb/testsuite/config/mips.exp delete mode 100644 gdb/testsuite/config/mn10300-eval.exp delete mode 100644 gdb/testsuite/config/monitor.exp delete mode 100644 gdb/testsuite/config/netware.exp delete mode 100644 gdb/testsuite/config/nind.exp delete mode 100644 gdb/testsuite/config/proelf.exp delete mode 100644 gdb/testsuite/config/rom68k.exp delete mode 100644 gdb/testsuite/config/sh.exp delete mode 100644 gdb/testsuite/config/sid.exp delete mode 100644 gdb/testsuite/config/sim.exp delete mode 100644 gdb/testsuite/config/slite.exp delete mode 100644 gdb/testsuite/config/sparclet.exp delete mode 100644 gdb/testsuite/config/udi.exp delete mode 100644 gdb/testsuite/config/unix.exp delete mode 100644 gdb/testsuite/config/unknown.exp delete mode 100644 gdb/testsuite/config/vr4300.exp delete mode 100644 gdb/testsuite/config/vr5000.exp delete mode 100644 gdb/testsuite/config/vx.exp delete mode 100644 gdb/testsuite/config/vxworks.exp delete mode 100644 gdb/testsuite/config/vxworks29k.exp delete mode 100755 gdb/testsuite/configure delete mode 100644 gdb/testsuite/configure.in delete mode 100644 gdb/testsuite/gdb.arch/Makefile.in delete mode 100644 gdb/testsuite/gdb.arch/altivec-abi.c delete mode 100644 gdb/testsuite/gdb.arch/altivec-abi.exp delete mode 100644 gdb/testsuite/gdb.arch/altivec-regs.c delete mode 100644 gdb/testsuite/gdb.arch/altivec-regs.exp delete mode 100755 gdb/testsuite/gdb.arch/configure delete mode 100644 gdb/testsuite/gdb.arch/configure.in delete mode 100644 gdb/testsuite/gdb.asm/Makefile.in delete mode 100644 gdb/testsuite/gdb.asm/arm.inc delete mode 100644 gdb/testsuite/gdb.asm/asm-source.exp delete mode 100644 gdb/testsuite/gdb.asm/asmsrc1.s delete mode 100644 gdb/testsuite/gdb.asm/asmsrc2.s delete mode 100644 gdb/testsuite/gdb.asm/common.inc delete mode 100755 gdb/testsuite/gdb.asm/configure delete mode 100644 gdb/testsuite/gdb.asm/configure.in delete mode 100644 gdb/testsuite/gdb.asm/d10v.inc delete mode 100644 gdb/testsuite/gdb.asm/i386.inc delete mode 100644 gdb/testsuite/gdb.asm/m32r.inc delete mode 100644 gdb/testsuite/gdb.asm/powerpc.inc delete mode 100644 gdb/testsuite/gdb.asm/s390.inc delete mode 100644 gdb/testsuite/gdb.asm/sparc.inc delete mode 100644 gdb/testsuite/gdb.asm/sparc64.inc delete mode 100644 gdb/testsuite/gdb.asm/v850.inc delete mode 100644 gdb/testsuite/gdb.asm/x86_64.inc delete mode 100644 gdb/testsuite/gdb.asm/xstormy16.inc delete mode 100644 gdb/testsuite/gdb.base/Makefile.in delete mode 100644 gdb/testsuite/gdb.base/a2-run.exp delete mode 100644 gdb/testsuite/gdb.base/all-bin.exp delete mode 100644 gdb/testsuite/gdb.base/all-types.c delete mode 100644 gdb/testsuite/gdb.base/annota1.c delete mode 100644 gdb/testsuite/gdb.base/annota1.exp delete mode 100644 gdb/testsuite/gdb.base/arithmet.exp delete mode 100644 gdb/testsuite/gdb.base/assign.exp delete mode 100644 gdb/testsuite/gdb.base/async.c delete mode 100644 gdb/testsuite/gdb.base/async.exp delete mode 100644 gdb/testsuite/gdb.base/attach.c delete mode 100644 gdb/testsuite/gdb.base/attach.exp delete mode 100644 gdb/testsuite/gdb.base/attach2.c delete mode 100644 gdb/testsuite/gdb.base/average.c delete mode 100644 gdb/testsuite/gdb.base/bar.c delete mode 100644 gdb/testsuite/gdb.base/baz.c delete mode 100644 gdb/testsuite/gdb.base/bitfields.c delete mode 100644 gdb/testsuite/gdb.base/bitfields.exp delete mode 100644 gdb/testsuite/gdb.base/bitops.exp delete mode 100644 gdb/testsuite/gdb.base/branches.c delete mode 100644 gdb/testsuite/gdb.base/break.c delete mode 100644 gdb/testsuite/gdb.base/break.exp delete mode 100644 gdb/testsuite/gdb.base/call-ar-st.c delete mode 100644 gdb/testsuite/gdb.base/call-ar-st.exp delete mode 100644 gdb/testsuite/gdb.base/call-rt-st.c delete mode 100644 gdb/testsuite/gdb.base/call-rt-st.exp delete mode 100644 gdb/testsuite/gdb.base/call-strs.c delete mode 100644 gdb/testsuite/gdb.base/call-strs.exp delete mode 100644 gdb/testsuite/gdb.base/callfuncs.c delete mode 100644 gdb/testsuite/gdb.base/callfuncs.exp delete mode 100644 gdb/testsuite/gdb.base/code-expr.exp delete mode 100644 gdb/testsuite/gdb.base/commands.exp delete mode 100644 gdb/testsuite/gdb.base/completion.exp delete mode 100644 gdb/testsuite/gdb.base/cond-expr.exp delete mode 100644 gdb/testsuite/gdb.base/condbreak.exp delete mode 100644 gdb/testsuite/gdb.base/configure delete mode 100644 gdb/testsuite/gdb.base/configure.in delete mode 100644 gdb/testsuite/gdb.base/consecutive.c delete mode 100644 gdb/testsuite/gdb.base/consecutive.exp delete mode 100644 gdb/testsuite/gdb.base/constvars.c delete mode 100644 gdb/testsuite/gdb.base/constvars.exp delete mode 100644 gdb/testsuite/gdb.base/corefile.exp delete mode 100644 gdb/testsuite/gdb.base/coremaker.c delete mode 100644 gdb/testsuite/gdb.base/coremaker2.c delete mode 100644 gdb/testsuite/gdb.base/cvexpr.c delete mode 100644 gdb/testsuite/gdb.base/cvexpr.exp delete mode 100644 gdb/testsuite/gdb.base/d10v.ld delete mode 100644 gdb/testsuite/gdb.base/d10vovly.c delete mode 100644 gdb/testsuite/gdb.base/dbx.exp delete mode 100644 gdb/testsuite/gdb.base/default.exp delete mode 100644 gdb/testsuite/gdb.base/define.exp delete mode 100644 gdb/testsuite/gdb.base/display.c delete mode 100644 gdb/testsuite/gdb.base/display.exp delete mode 100644 gdb/testsuite/gdb.base/dump.c delete mode 100644 gdb/testsuite/gdb.base/dump.exp delete mode 100644 gdb/testsuite/gdb.base/echo.exp delete mode 100644 gdb/testsuite/gdb.base/ena-dis-br.exp delete mode 100644 gdb/testsuite/gdb.base/ending-run.c delete mode 100644 gdb/testsuite/gdb.base/ending-run.exp delete mode 100644 gdb/testsuite/gdb.base/environ.exp delete mode 100644 gdb/testsuite/gdb.base/eval-skip.exp delete mode 100644 gdb/testsuite/gdb.base/execd-prog.c delete mode 100644 gdb/testsuite/gdb.base/exprs.c delete mode 100644 gdb/testsuite/gdb.base/exprs.exp delete mode 100644 gdb/testsuite/gdb.base/finish.exp delete mode 100644 gdb/testsuite/gdb.base/foll-exec.c delete mode 100644 gdb/testsuite/gdb.base/foll-exec.exp delete mode 100644 gdb/testsuite/gdb.base/foll-fork.c delete mode 100644 gdb/testsuite/gdb.base/foll-fork.exp delete mode 100644 gdb/testsuite/gdb.base/foll-vfork.c delete mode 100644 gdb/testsuite/gdb.base/foll-vfork.exp delete mode 100644 gdb/testsuite/gdb.base/foo.c delete mode 100644 gdb/testsuite/gdb.base/funcargs.c delete mode 100644 gdb/testsuite/gdb.base/funcargs.exp delete mode 100644 gdb/testsuite/gdb.base/gcore.c delete mode 100644 gdb/testsuite/gdb.base/gcore.exp delete mode 100644 gdb/testsuite/gdb.base/gdbvars.exp delete mode 100644 gdb/testsuite/gdb.base/grbx.c delete mode 100644 gdb/testsuite/gdb.base/help.exp delete mode 100644 gdb/testsuite/gdb.base/huge.c delete mode 100644 gdb/testsuite/gdb.base/huge.exp delete mode 100644 gdb/testsuite/gdb.base/info-proc.exp delete mode 100644 gdb/testsuite/gdb.base/int-type.c delete mode 100644 gdb/testsuite/gdb.base/interrupt.c delete mode 100644 gdb/testsuite/gdb.base/interrupt.exp delete mode 100644 gdb/testsuite/gdb.base/jump.c delete mode 100644 gdb/testsuite/gdb.base/jump.exp delete mode 100644 gdb/testsuite/gdb.base/langs.exp delete mode 100644 gdb/testsuite/gdb.base/langs0.c delete mode 100644 gdb/testsuite/gdb.base/langs1.c delete mode 100644 gdb/testsuite/gdb.base/langs1.f delete mode 100644 gdb/testsuite/gdb.base/langs2.c delete mode 100644 gdb/testsuite/gdb.base/langs2.cxx delete mode 100644 gdb/testsuite/gdb.base/list.exp delete mode 100644 gdb/testsuite/gdb.base/list0.c delete mode 100644 gdb/testsuite/gdb.base/list0.h delete mode 100644 gdb/testsuite/gdb.base/list1.c delete mode 100644 gdb/testsuite/gdb.base/logical.exp delete mode 100644 gdb/testsuite/gdb.base/long_long.c delete mode 100644 gdb/testsuite/gdb.base/long_long.exp delete mode 100644 gdb/testsuite/gdb.base/m32r.ld delete mode 100644 gdb/testsuite/gdb.base/m32rovly.c delete mode 100644 gdb/testsuite/gdb.base/macscp.exp delete mode 100644 gdb/testsuite/gdb.base/macscp1.c delete mode 100644 gdb/testsuite/gdb.base/macscp2.h delete mode 100644 gdb/testsuite/gdb.base/macscp3.h delete mode 100644 gdb/testsuite/gdb.base/macscp4.h delete mode 100644 gdb/testsuite/gdb.base/maint.exp delete mode 100644 gdb/testsuite/gdb.base/mips_pro.c delete mode 100644 gdb/testsuite/gdb.base/mips_pro.exp delete mode 100644 gdb/testsuite/gdb.base/miscexprs.c delete mode 100644 gdb/testsuite/gdb.base/miscexprs.exp delete mode 100644 gdb/testsuite/gdb.base/nodebug.c delete mode 100644 gdb/testsuite/gdb.base/nodebug.exp delete mode 100644 gdb/testsuite/gdb.base/opaque.exp delete mode 100644 gdb/testsuite/gdb.base/opaque0.c delete mode 100644 gdb/testsuite/gdb.base/opaque1.c delete mode 100644 gdb/testsuite/gdb.base/overlays.c delete mode 100644 gdb/testsuite/gdb.base/overlays.exp delete mode 100644 gdb/testsuite/gdb.base/ovlymgr.c delete mode 100644 gdb/testsuite/gdb.base/ovlymgr.h delete mode 100644 gdb/testsuite/gdb.base/page.exp delete mode 100644 gdb/testsuite/gdb.base/pointers.c delete mode 100644 gdb/testsuite/gdb.base/pointers.exp delete mode 100644 gdb/testsuite/gdb.base/printcmds.c delete mode 100644 gdb/testsuite/gdb.base/printcmds.exp delete mode 100644 gdb/testsuite/gdb.base/ptype.c delete mode 100644 gdb/testsuite/gdb.base/ptype.exp delete mode 100644 gdb/testsuite/gdb.base/radix.exp delete mode 100644 gdb/testsuite/gdb.base/readline.exp delete mode 100644 gdb/testsuite/gdb.base/recurse.c delete mode 100644 gdb/testsuite/gdb.base/recurse.exp delete mode 100644 gdb/testsuite/gdb.base/regs.exp delete mode 100644 gdb/testsuite/gdb.base/relational.exp delete mode 100644 gdb/testsuite/gdb.base/relocate.c delete mode 100644 gdb/testsuite/gdb.base/relocate.exp delete mode 100644 gdb/testsuite/gdb.base/remote.c delete mode 100644 gdb/testsuite/gdb.base/remote.exp delete mode 100644 gdb/testsuite/gdb.base/reread.exp delete mode 100644 gdb/testsuite/gdb.base/reread1.c delete mode 100644 gdb/testsuite/gdb.base/reread2.c delete mode 100644 gdb/testsuite/gdb.base/restore.c delete mode 100644 gdb/testsuite/gdb.base/restore.exp delete mode 100644 gdb/testsuite/gdb.base/return.c delete mode 100644 gdb/testsuite/gdb.base/return.exp delete mode 100644 gdb/testsuite/gdb.base/return2.c delete mode 100644 gdb/testsuite/gdb.base/return2.exp delete mode 100644 gdb/testsuite/gdb.base/run.c delete mode 100644 gdb/testsuite/gdb.base/scope.exp delete mode 100644 gdb/testsuite/gdb.base/scope0.c delete mode 100644 gdb/testsuite/gdb.base/scope1.c delete mode 100644 gdb/testsuite/gdb.base/sect-cmd.exp delete mode 100644 gdb/testsuite/gdb.base/selftest.exp delete mode 100644 gdb/testsuite/gdb.base/setshow.c delete mode 100644 gdb/testsuite/gdb.base/setshow.exp delete mode 100644 gdb/testsuite/gdb.base/setvar.c delete mode 100644 gdb/testsuite/gdb.base/setvar.exp delete mode 100644 gdb/testsuite/gdb.base/shlib-call.exp delete mode 100644 gdb/testsuite/gdb.base/shmain.c delete mode 100644 gdb/testsuite/gdb.base/shr1.c delete mode 100644 gdb/testsuite/gdb.base/shr2.c delete mode 100644 gdb/testsuite/gdb.base/sigall.c delete mode 100644 gdb/testsuite/gdb.base/sigall.exp delete mode 100644 gdb/testsuite/gdb.base/signals.c delete mode 100644 gdb/testsuite/gdb.base/signals.exp delete mode 100644 gdb/testsuite/gdb.base/sizeof.c delete mode 100644 gdb/testsuite/gdb.base/sizeof.exp delete mode 100644 gdb/testsuite/gdb.base/so-impl-ld.c delete mode 100644 gdb/testsuite/gdb.base/so-impl-ld.exp delete mode 100644 gdb/testsuite/gdb.base/so-indr-cl.c delete mode 100644 gdb/testsuite/gdb.base/so-indr-cl.exp delete mode 100644 gdb/testsuite/gdb.base/solib.c delete mode 100644 gdb/testsuite/gdb.base/solib.exp delete mode 100644 gdb/testsuite/gdb.base/solib1.c delete mode 100644 gdb/testsuite/gdb.base/solib2.c delete mode 100644 gdb/testsuite/gdb.base/ss.h delete mode 100644 gdb/testsuite/gdb.base/step-line.c delete mode 100644 gdb/testsuite/gdb.base/step-line.exp delete mode 100644 gdb/testsuite/gdb.base/step-line.inp delete mode 100644 gdb/testsuite/gdb.base/step-test.c delete mode 100644 gdb/testsuite/gdb.base/step-test.exp delete mode 100644 gdb/testsuite/gdb.base/structs.c delete mode 100644 gdb/testsuite/gdb.base/structs.exp delete mode 100644 gdb/testsuite/gdb.base/structs2.c delete mode 100644 gdb/testsuite/gdb.base/structs2.exp delete mode 100644 gdb/testsuite/gdb.base/sum.c delete mode 100644 gdb/testsuite/gdb.base/term.exp delete mode 100644 gdb/testsuite/gdb.base/twice.c delete mode 100644 gdb/testsuite/gdb.base/twice.exp delete mode 100644 gdb/testsuite/gdb.base/varargs.c delete mode 100644 gdb/testsuite/gdb.base/varargs.exp delete mode 100644 gdb/testsuite/gdb.base/vforked-prog.c delete mode 100644 gdb/testsuite/gdb.base/volatile.exp delete mode 100644 gdb/testsuite/gdb.base/watchpoint.c delete mode 100644 gdb/testsuite/gdb.base/watchpoint.exp delete mode 100644 gdb/testsuite/gdb.base/whatis-exp.exp delete mode 100644 gdb/testsuite/gdb.base/whatis.c delete mode 100644 gdb/testsuite/gdb.base/whatis.exp delete mode 100644 gdb/testsuite/gdb.c++/Makefile.in delete mode 100644 gdb/testsuite/gdb.c++/ambiguous.cc delete mode 100644 gdb/testsuite/gdb.c++/ambiguous.exp delete mode 100644 gdb/testsuite/gdb.c++/annota2.cc delete mode 100644 gdb/testsuite/gdb.c++/annota2.exp delete mode 100644 gdb/testsuite/gdb.c++/anon-union.cc delete mode 100644 gdb/testsuite/gdb.c++/anon-union.exp delete mode 100644 gdb/testsuite/gdb.c++/classes.exp delete mode 100644 gdb/testsuite/gdb.c++/configure delete mode 100644 gdb/testsuite/gdb.c++/configure.in delete mode 100644 gdb/testsuite/gdb.c++/cplusfuncs.cc delete mode 100644 gdb/testsuite/gdb.c++/cplusfuncs.exp delete mode 100644 gdb/testsuite/gdb.c++/ctti.exp delete mode 100644 gdb/testsuite/gdb.c++/cttiadd.cc delete mode 100644 gdb/testsuite/gdb.c++/cttiadd1.cc delete mode 100644 gdb/testsuite/gdb.c++/cttiadd2.cc delete mode 100644 gdb/testsuite/gdb.c++/cttiadd3.cc delete mode 100644 gdb/testsuite/gdb.c++/demangle.exp delete mode 100644 gdb/testsuite/gdb.c++/derivation.cc delete mode 100644 gdb/testsuite/gdb.c++/derivation.exp delete mode 100644 gdb/testsuite/gdb.c++/hang.H delete mode 100644 gdb/testsuite/gdb.c++/hang.exp delete mode 100644 gdb/testsuite/gdb.c++/hang1.C delete mode 100644 gdb/testsuite/gdb.c++/hang2.C delete mode 100644 gdb/testsuite/gdb.c++/hang3.C delete mode 100644 gdb/testsuite/gdb.c++/inherit.exp delete mode 100644 gdb/testsuite/gdb.c++/local.cc delete mode 100644 gdb/testsuite/gdb.c++/local.exp delete mode 100644 gdb/testsuite/gdb.c++/m-data.cc delete mode 100644 gdb/testsuite/gdb.c++/m-data.exp delete mode 100644 gdb/testsuite/gdb.c++/m-static.cc delete mode 100644 gdb/testsuite/gdb.c++/m-static.exp delete mode 100644 gdb/testsuite/gdb.c++/member-ptr.cc delete mode 100644 gdb/testsuite/gdb.c++/member-ptr.exp delete mode 100644 gdb/testsuite/gdb.c++/method.cc delete mode 100644 gdb/testsuite/gdb.c++/method.exp delete mode 100644 gdb/testsuite/gdb.c++/misc.cc delete mode 100644 gdb/testsuite/gdb.c++/misc.exp delete mode 100644 gdb/testsuite/gdb.c++/namespace.cc delete mode 100644 gdb/testsuite/gdb.c++/namespace.exp delete mode 100644 gdb/testsuite/gdb.c++/overload.cc delete mode 100644 gdb/testsuite/gdb.c++/overload.exp delete mode 100644 gdb/testsuite/gdb.c++/ovldbreak.cc delete mode 100644 gdb/testsuite/gdb.c++/ovldbreak.exp delete mode 100644 gdb/testsuite/gdb.c++/ref-types.cc delete mode 100644 gdb/testsuite/gdb.c++/ref-types.exp delete mode 100644 gdb/testsuite/gdb.c++/templates.cc delete mode 100644 gdb/testsuite/gdb.c++/templates.exp delete mode 100644 gdb/testsuite/gdb.c++/try_catch.cc delete mode 100644 gdb/testsuite/gdb.c++/try_catch.exp delete mode 100644 gdb/testsuite/gdb.c++/userdef.cc delete mode 100644 gdb/testsuite/gdb.c++/userdef.exp delete mode 100644 gdb/testsuite/gdb.c++/virtfunc.cc delete mode 100644 gdb/testsuite/gdb.c++/virtfunc.exp delete mode 100644 gdb/testsuite/gdb.chill/ChangeLog delete mode 100644 gdb/testsuite/gdb.chill/Makefile.in delete mode 100644 gdb/testsuite/gdb.chill/builtins.ch delete mode 100644 gdb/testsuite/gdb.chill/builtins.exp delete mode 100644 gdb/testsuite/gdb.chill/callch.ch delete mode 100644 gdb/testsuite/gdb.chill/callch.exp delete mode 100644 gdb/testsuite/gdb.chill/chexp.exp delete mode 100644 gdb/testsuite/gdb.chill/chillvars.ch delete mode 100644 gdb/testsuite/gdb.chill/chillvars.exp delete mode 100755 gdb/testsuite/gdb.chill/configure delete mode 100644 gdb/testsuite/gdb.chill/configure.in delete mode 100644 gdb/testsuite/gdb.chill/enum.ch delete mode 100644 gdb/testsuite/gdb.chill/enum.exp delete mode 100644 gdb/testsuite/gdb.chill/func1.ch delete mode 100644 gdb/testsuite/gdb.chill/gch1041.ch delete mode 100644 gdb/testsuite/gdb.chill/gch1041.exp delete mode 100644 gdb/testsuite/gdb.chill/gch1272.ch delete mode 100644 gdb/testsuite/gdb.chill/gch1272.exp delete mode 100644 gdb/testsuite/gdb.chill/gch1280.ch delete mode 100644 gdb/testsuite/gdb.chill/gch1280.exp delete mode 100644 gdb/testsuite/gdb.chill/gch922.ch delete mode 100644 gdb/testsuite/gdb.chill/gch922.exp delete mode 100644 gdb/testsuite/gdb.chill/gch981.ch delete mode 100644 gdb/testsuite/gdb.chill/gch981.exp delete mode 100644 gdb/testsuite/gdb.chill/misc.ch delete mode 100644 gdb/testsuite/gdb.chill/misc.exp delete mode 100644 gdb/testsuite/gdb.chill/powerset.ch delete mode 100644 gdb/testsuite/gdb.chill/powerset.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-4975-grt.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-4975.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-4975.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-5016.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-5016.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-5020.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-5020.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-5022.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-5022.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-5646-grt.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-5646.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-5646.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-5984.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-5984.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-6292.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-6292.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-6632-grt.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-6632.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-6632.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-8134.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-8136.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-8136.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-8405.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-8405.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-8742.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-8742.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-8894-grt.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-8894.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-8894.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-9095.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-9095.exp delete mode 100644 gdb/testsuite/gdb.chill/pr-9946.ch delete mode 100644 gdb/testsuite/gdb.chill/pr-9946.exp delete mode 100644 gdb/testsuite/gdb.chill/result.ch delete mode 100644 gdb/testsuite/gdb.chill/result.exp delete mode 100644 gdb/testsuite/gdb.chill/string.ch delete mode 100644 gdb/testsuite/gdb.chill/string.exp delete mode 100644 gdb/testsuite/gdb.chill/tests1.ch delete mode 100644 gdb/testsuite/gdb.chill/tests1.exp delete mode 100644 gdb/testsuite/gdb.chill/tests2.ch delete mode 100644 gdb/testsuite/gdb.chill/tests2.exp delete mode 100644 gdb/testsuite/gdb.chill/tuples.ch delete mode 100644 gdb/testsuite/gdb.chill/tuples.exp delete mode 100644 gdb/testsuite/gdb.chill/xstruct-grt.ch delete mode 100644 gdb/testsuite/gdb.chill/xstruct.ch delete mode 100644 gdb/testsuite/gdb.chill/xstruct.exp delete mode 100644 gdb/testsuite/gdb.disasm/Makefile.in delete mode 100644 gdb/testsuite/gdb.disasm/am33.exp delete mode 100644 gdb/testsuite/gdb.disasm/am33.s delete mode 100644 gdb/testsuite/gdb.disasm/configure delete mode 100644 gdb/testsuite/gdb.disasm/configure.in delete mode 100644 gdb/testsuite/gdb.disasm/h8300s.exp delete mode 100644 gdb/testsuite/gdb.disasm/h8300s.s delete mode 100644 gdb/testsuite/gdb.disasm/hppa.exp delete mode 100644 gdb/testsuite/gdb.disasm/hppa.s delete mode 100644 gdb/testsuite/gdb.disasm/mn10200.exp delete mode 100644 gdb/testsuite/gdb.disasm/mn10200.s delete mode 100644 gdb/testsuite/gdb.disasm/mn10300.exp delete mode 100644 gdb/testsuite/gdb.disasm/mn10300.s delete mode 100644 gdb/testsuite/gdb.disasm/sh3.exp delete mode 100644 gdb/testsuite/gdb.disasm/sh3.s delete mode 100644 gdb/testsuite/gdb.fortran/exprs.exp delete mode 100644 gdb/testsuite/gdb.fortran/types.exp delete mode 100644 gdb/testsuite/gdb.gdb/xfullpath.exp delete mode 100644 gdb/testsuite/gdb.hp/Makefile.in delete mode 100755 gdb/testsuite/gdb.hp/configure delete mode 100644 gdb/testsuite/gdb.hp/configure.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/Makefile.in delete mode 100755 gdb/testsuite/gdb.hp/gdb.aCC/configure delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/configure.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/exception.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/exception.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/optimize.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/run.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp delete mode 100755 gdb/testsuite/gdb.hp/gdb.base-hp/configure delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/configure.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/dollar.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/genso-thresh.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.s delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/reg.s delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.mk delete mode 100755 gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.sh delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/average.c delete mode 100755 gdb/testsuite/gdb.hp/gdb.compat/configure delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/configure.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/sum.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb0.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb0.h delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb1.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/bs14602.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/bs14602.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp delete mode 100755 gdb/testsuite/gdb.hp/gdb.defects/configure delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/configure.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/solib-d.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/solib-d1.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/solib-d2.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/Makefile.in delete mode 100755 gdb/testsuite/gdb.hp/gdb.objdbg/configure delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/configure.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x1.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x2.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.h delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x1.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x2.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x3.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x1.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x2.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x3.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x.h delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x1.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x2.cc delete mode 100755 gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr delete mode 100755 gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr.pa64 delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/tools/test-objdbg.cc delete mode 100755 gdb/testsuite/gdb.hp/tools/odump delete mode 100644 gdb/testsuite/gdb.java/Makefile.in delete mode 100755 gdb/testsuite/gdb.java/configure delete mode 100644 gdb/testsuite/gdb.java/configure.in delete mode 100644 gdb/testsuite/gdb.java/jmisc.exp delete mode 100644 gdb/testsuite/gdb.java/jmisc.java delete mode 100644 gdb/testsuite/gdb.java/jmisc1.exp delete mode 100644 gdb/testsuite/gdb.java/jmisc2.exp delete mode 100644 gdb/testsuite/gdb.java/jv-exp.exp delete mode 100644 gdb/testsuite/gdb.java/jv-print.exp delete mode 100644 gdb/testsuite/gdb.mi/ChangeLog delete mode 100644 gdb/testsuite/gdb.mi/Makefile.in delete mode 100644 gdb/testsuite/gdb.mi/basics.c delete mode 100755 gdb/testsuite/gdb.mi/configure delete mode 100644 gdb/testsuite/gdb.mi/configure.in delete mode 100644 gdb/testsuite/gdb.mi/gdb680.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-basics.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-break.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-console.c delete mode 100644 gdb/testsuite/gdb.mi/mi-console.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-disassemble.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-eval.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-hack-cli.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-read-memory.c delete mode 100644 gdb/testsuite/gdb.mi/mi-read-memory.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-regs.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-return.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-simplerun.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-stack.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-stepi.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-until.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-var-block.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-var-child.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-var-cmd.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-var-display.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-watch.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-basics.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-break.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-console.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-disassemble.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-eval.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-hack-cli.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-read-memory.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-regs.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-return.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-simplerun.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-stack.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-stepi.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-until.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-var-block.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-var-child.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-var-cmd.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-var-display.exp delete mode 100644 gdb/testsuite/gdb.mi/mi0-watch.exp delete mode 100644 gdb/testsuite/gdb.mi/testcmds delete mode 100644 gdb/testsuite/gdb.mi/until.c delete mode 100644 gdb/testsuite/gdb.mi/var-cmd.c delete mode 100644 gdb/testsuite/gdb.stabs/Makefile.in delete mode 100644 gdb/testsuite/gdb.stabs/aout.sed delete mode 100755 gdb/testsuite/gdb.stabs/configure delete mode 100644 gdb/testsuite/gdb.stabs/configure.in delete mode 100644 gdb/testsuite/gdb.stabs/ecoff.sed delete mode 100644 gdb/testsuite/gdb.stabs/hppa.sed delete mode 100644 gdb/testsuite/gdb.stabs/weird.def delete mode 100644 gdb/testsuite/gdb.stabs/weird.exp delete mode 100644 gdb/testsuite/gdb.stabs/xcoff.sed delete mode 100644 gdb/testsuite/gdb.threads/Makefile.in delete mode 100644 gdb/testsuite/gdb.threads/config.in delete mode 100755 gdb/testsuite/gdb.threads/configure delete mode 100644 gdb/testsuite/gdb.threads/configure.in delete mode 100644 gdb/testsuite/gdb.threads/gcore-thread.exp delete mode 100644 gdb/testsuite/gdb.threads/killed.c delete mode 100644 gdb/testsuite/gdb.threads/killed.exp delete mode 100644 gdb/testsuite/gdb.threads/linux-dp.c delete mode 100644 gdb/testsuite/gdb.threads/linux-dp.exp delete mode 100644 gdb/testsuite/gdb.threads/print-threads.c delete mode 100644 gdb/testsuite/gdb.threads/print-threads.exp delete mode 100644 gdb/testsuite/gdb.threads/pthreads.c delete mode 100644 gdb/testsuite/gdb.threads/pthreads.exp delete mode 100644 gdb/testsuite/gdb.threads/schedlock.c delete mode 100644 gdb/testsuite/gdb.threads/schedlock.exp delete mode 100644 gdb/testsuite/gdb.threads/step.c delete mode 100644 gdb/testsuite/gdb.threads/step.exp delete mode 100644 gdb/testsuite/gdb.threads/step2.exp delete mode 100644 gdb/testsuite/gdb.trace/Makefile.in delete mode 100644 gdb/testsuite/gdb.trace/actions.c delete mode 100644 gdb/testsuite/gdb.trace/actions.exp delete mode 100644 gdb/testsuite/gdb.trace/backtrace.exp delete mode 100644 gdb/testsuite/gdb.trace/circ.c delete mode 100644 gdb/testsuite/gdb.trace/circ.exp delete mode 100644 gdb/testsuite/gdb.trace/collection.c delete mode 100644 gdb/testsuite/gdb.trace/collection.exp delete mode 100755 gdb/testsuite/gdb.trace/configure delete mode 100644 gdb/testsuite/gdb.trace/configure.in delete mode 100644 gdb/testsuite/gdb.trace/deltrace.exp delete mode 100644 gdb/testsuite/gdb.trace/gdb_c_test.c delete mode 100644 gdb/testsuite/gdb.trace/infotrace.exp delete mode 100644 gdb/testsuite/gdb.trace/limits.c delete mode 100644 gdb/testsuite/gdb.trace/limits.exp delete mode 100644 gdb/testsuite/gdb.trace/packetlen.exp delete mode 100644 gdb/testsuite/gdb.trace/passc-dyn.exp delete mode 100644 gdb/testsuite/gdb.trace/passcount.exp delete mode 100644 gdb/testsuite/gdb.trace/report.exp delete mode 100644 gdb/testsuite/gdb.trace/save-trace.exp delete mode 100644 gdb/testsuite/gdb.trace/tfind.exp delete mode 100644 gdb/testsuite/gdb.trace/tracecmd.exp delete mode 100644 gdb/testsuite/gdb.trace/while-dyn.exp delete mode 100644 gdb/testsuite/gdb.trace/while-stepping.exp delete mode 100644 gdb/testsuite/lib/compiler.c delete mode 100644 gdb/testsuite/lib/compiler.cc delete mode 100644 gdb/testsuite/lib/emc-support.exp delete mode 100644 gdb/testsuite/lib/gdb.exp delete mode 100644 gdb/testsuite/lib/insight-support.exp delete mode 100644 gdb/testsuite/lib/java.exp delete mode 100644 gdb/testsuite/lib/mi-support.exp delete mode 100644 gdb/testsuite/lib/trace-support.exp delete mode 100644 gdb/thread-db.c delete mode 100644 gdb/thread.c delete mode 100644 gdb/top.c delete mode 100644 gdb/top.h delete mode 100644 gdb/tracepoint.c delete mode 100644 gdb/tracepoint.h delete mode 100644 gdb/tui/ChangeLog delete mode 100644 gdb/tui/tui-file.c delete mode 100644 gdb/tui/tui-file.h delete mode 100644 gdb/tui/tui-hooks.c delete mode 100644 gdb/tui/tui-out.c delete mode 100644 gdb/tui/tui.c delete mode 100644 gdb/tui/tui.h delete mode 100644 gdb/tui/tuiCommand.c delete mode 100644 gdb/tui/tuiCommand.h delete mode 100644 gdb/tui/tuiData.c delete mode 100644 gdb/tui/tuiData.h delete mode 100644 gdb/tui/tuiDataWin.c delete mode 100644 gdb/tui/tuiDataWin.h delete mode 100644 gdb/tui/tuiDisassem.c delete mode 100644 gdb/tui/tuiDisassem.h delete mode 100644 gdb/tui/tuiGeneralWin.c delete mode 100644 gdb/tui/tuiGeneralWin.h delete mode 100644 gdb/tui/tuiIO.c delete mode 100644 gdb/tui/tuiIO.h delete mode 100644 gdb/tui/tuiLayout.c delete mode 100644 gdb/tui/tuiLayout.h delete mode 100644 gdb/tui/tuiRegs.c delete mode 100644 gdb/tui/tuiRegs.h delete mode 100644 gdb/tui/tuiSource.c delete mode 100644 gdb/tui/tuiSource.h delete mode 100644 gdb/tui/tuiSourceWin.c delete mode 100644 gdb/tui/tuiSourceWin.h delete mode 100644 gdb/tui/tuiStack.c delete mode 100644 gdb/tui/tuiStack.h delete mode 100644 gdb/tui/tuiWin.c delete mode 100644 gdb/tui/tuiWin.h delete mode 100644 gdb/typeprint.c delete mode 100644 gdb/typeprint.h delete mode 100644 gdb/ui-file.c delete mode 100644 gdb/ui-file.h delete mode 100644 gdb/ui-out.c delete mode 100644 gdb/ui-out.h delete mode 100644 gdb/utils.c delete mode 100644 gdb/uw-thread.c delete mode 100644 gdb/v850-tdep.c delete mode 100644 gdb/v850ice.c delete mode 100644 gdb/valarith.c delete mode 100644 gdb/valops.c delete mode 100644 gdb/valprint.c delete mode 100644 gdb/valprint.h delete mode 100644 gdb/value.h delete mode 100644 gdb/values.c delete mode 100644 gdb/varobj.c delete mode 100644 gdb/varobj.h delete mode 100644 gdb/vax-tdep.c delete mode 100644 gdb/vax-tdep.h delete mode 100644 gdb/version.h delete mode 100644 gdb/version.in delete mode 100644 gdb/vx-share/README delete mode 100644 gdb/vx-share/dbgRpcLib.h delete mode 100644 gdb/vx-share/ptrace.h delete mode 100644 gdb/vx-share/regPacket.h delete mode 100644 gdb/vx-share/vxTypes.h delete mode 100644 gdb/vx-share/vxWorks.h delete mode 100644 gdb/vx-share/wait.h delete mode 100644 gdb/vx-share/xdr_ld.c delete mode 100644 gdb/vx-share/xdr_ld.h delete mode 100644 gdb/vx-share/xdr_ptrace.c delete mode 100644 gdb/vx-share/xdr_ptrace.h delete mode 100644 gdb/vx-share/xdr_rdb.c delete mode 100644 gdb/vx-share/xdr_rdb.h delete mode 100644 gdb/w89k-rom.c delete mode 100644 gdb/win32-nat.c delete mode 100644 gdb/wince-stub.c delete mode 100644 gdb/wince-stub.h delete mode 100644 gdb/wince.c delete mode 100644 gdb/wrapper.c delete mode 100644 gdb/wrapper.h delete mode 100644 gdb/x86-64-linux-nat.c delete mode 100644 gdb/x86-64-linux-tdep.c delete mode 100644 gdb/x86-64-tdep.c delete mode 100644 gdb/x86-64-tdep.h delete mode 100644 gdb/xcoffread.c delete mode 100644 gdb/xcoffsolib.c delete mode 100644 gdb/xcoffsolib.h delete mode 100644 gdb/xmodem.c delete mode 100644 gdb/xmodem.h delete mode 100644 gdb/xstormy16-tdep.c delete mode 100644 gdb/z8k-tdep.c delete mode 100644 mmalloc/COPYING.LIB delete mode 100644 mmalloc/ChangeLog delete mode 100644 mmalloc/MAINTAINERS delete mode 100644 mmalloc/Makefile.in delete mode 100644 mmalloc/TODO delete mode 100644 mmalloc/acinclude.m4 delete mode 100644 mmalloc/aclocal.m4 delete mode 100644 mmalloc/attach.c delete mode 100755 mmalloc/configure delete mode 100644 mmalloc/configure.in delete mode 100644 mmalloc/detach.c delete mode 100644 mmalloc/keys.c delete mode 100644 mmalloc/mcalloc.c delete mode 100644 mmalloc/mfree.c delete mode 100644 mmalloc/mm.c delete mode 100644 mmalloc/mmalloc.c delete mode 100644 mmalloc/mmalloc.h delete mode 100644 mmalloc/mmalloc.texi delete mode 100644 mmalloc/mmap-sup.c delete mode 100644 mmalloc/mmcheck.c delete mode 100644 mmalloc/mmemalign.c delete mode 100644 mmalloc/mmprivate.h delete mode 100644 mmalloc/mmstats.c delete mode 100644 mmalloc/mmtrace.awk delete mode 100644 mmalloc/mmtrace.c delete mode 100644 mmalloc/mrealloc.c delete mode 100644 mmalloc/mvalloc.c delete mode 100644 mmalloc/sbrk-sup.c delete mode 100644 readline/CHANGELOG delete mode 100644 readline/CHANGES delete mode 100644 readline/COPYING delete mode 100644 readline/ChangeLog.gdb delete mode 100644 readline/INSTALL delete mode 100644 readline/MANIFEST delete mode 100644 readline/Makefile.in delete mode 100644 readline/README delete mode 100644 readline/USAGE delete mode 100644 readline/acconfig.h delete mode 100644 readline/aclocal.m4 delete mode 100644 readline/ansi_stdlib.h delete mode 100644 readline/bind.c delete mode 100644 readline/callback.c delete mode 100644 readline/chardefs.h delete mode 100644 readline/complete.c delete mode 100644 readline/config.h.bot delete mode 100644 readline/config.h.in delete mode 100755 readline/configure delete mode 100644 readline/configure.in delete mode 100644 readline/cross-build/cygwin.cache delete mode 100644 readline/display.c delete mode 100644 readline/doc/ChangeLog.gdb delete mode 100644 readline/doc/Makefile.in delete mode 100644 readline/doc/hist.texinfo delete mode 100644 readline/doc/hstech.texinfo delete mode 100644 readline/doc/hsuser.texinfo delete mode 100644 readline/doc/inc-hist.texinfo delete mode 100644 readline/doc/manvers.texinfo delete mode 100644 readline/doc/readline.3 delete mode 100644 readline/doc/rlman.texinfo delete mode 100644 readline/doc/rltech.texinfo delete mode 100644 readline/doc/rluser.texinfo delete mode 100644 readline/doc/rluserman.texinfo delete mode 100755 readline/doc/texi2dvi delete mode 100755 readline/doc/texi2html delete mode 100644 readline/emacs_keymap.c delete mode 100644 readline/examples/ChangeLog.gdb delete mode 100644 readline/examples/Inputrc delete mode 100644 readline/examples/Makefile.in delete mode 100644 readline/examples/excallback.c delete mode 100644 readline/examples/fileman.c delete mode 100644 readline/examples/histexamp.c delete mode 100644 readline/examples/manexamp.c delete mode 100644 readline/examples/rl.c delete mode 100644 readline/examples/rlfe.c delete mode 100644 readline/examples/rltest.c delete mode 100644 readline/examples/rlversion.c delete mode 100644 readline/funmap.c delete mode 100644 readline/histexpand.c delete mode 100644 readline/histfile.c delete mode 100644 readline/histlib.h delete mode 100644 readline/history.c delete mode 100644 readline/history.h delete mode 100644 readline/histsearch.c delete mode 100644 readline/input.c delete mode 100644 readline/isearch.c delete mode 100644 readline/keymaps.c delete mode 100644 readline/keymaps.h delete mode 100644 readline/kill.c delete mode 100644 readline/macro.c delete mode 100644 readline/nls.c delete mode 100644 readline/parens.c delete mode 100644 readline/posixdir.h delete mode 100644 readline/posixjmp.h delete mode 100644 readline/posixstat.h delete mode 100644 readline/readline.c delete mode 100644 readline/readline.h delete mode 100644 readline/rlconf.h delete mode 100644 readline/rldefs.h delete mode 100644 readline/rlprivate.h delete mode 100644 readline/rlshell.h delete mode 100644 readline/rlstdc.h delete mode 100644 readline/rltty.c delete mode 100644 readline/rltty.h delete mode 100644 readline/rlwinsize.h delete mode 100644 readline/savestring.c delete mode 100644 readline/search.c delete mode 100644 readline/shell.c delete mode 100644 readline/shlib/Makefile.in delete mode 100644 readline/signals.c delete mode 100755 readline/support/config.guess delete mode 100755 readline/support/config.sub delete mode 100755 readline/support/install.sh delete mode 100755 readline/support/mkdirs delete mode 100755 readline/support/mkdist delete mode 100755 readline/support/shlib-install delete mode 100755 readline/support/shobj-conf delete mode 100644 readline/tcap.h delete mode 100644 readline/terminal.c delete mode 100644 readline/tilde.c delete mode 100644 readline/tilde.h delete mode 100644 readline/undo.c delete mode 100644 readline/util.c delete mode 100644 readline/vi_keymap.c delete mode 100644 readline/vi_mode.c delete mode 100644 readline/xmalloc.c delete mode 100644 readline/xmalloc.h delete mode 100644 sim/ChangeLog delete mode 100644 sim/MAINTAINERS delete mode 100644 sim/Makefile.in delete mode 100644 sim/README-HACKING delete mode 100644 sim/arm/COPYING delete mode 100644 sim/arm/ChangeLog delete mode 100644 sim/arm/Makefile.in delete mode 100644 sim/arm/README.Cygnus delete mode 100644 sim/arm/acconfig.h delete mode 100644 sim/arm/armcopro.c delete mode 100644 sim/arm/armdefs.h delete mode 100644 sim/arm/armemu.c delete mode 100644 sim/arm/armemu.h delete mode 100644 sim/arm/armfpe.h delete mode 100644 sim/arm/arminit.c delete mode 100644 sim/arm/armopts.h delete mode 100644 sim/arm/armos.c delete mode 100644 sim/arm/armos.h delete mode 100644 sim/arm/armrdi.c delete mode 100644 sim/arm/armsupp.c delete mode 100644 sim/arm/armvirt.c delete mode 100644 sim/arm/bag.c delete mode 100644 sim/arm/bag.h delete mode 100644 sim/arm/communicate.c delete mode 100644 sim/arm/communicate.h delete mode 100644 sim/arm/config.in delete mode 100755 sim/arm/configure delete mode 100644 sim/arm/configure.in delete mode 100644 sim/arm/dbg_conf.h delete mode 100644 sim/arm/dbg_cp.h delete mode 100644 sim/arm/dbg_hif.h delete mode 100644 sim/arm/dbg_rdi.h delete mode 100644 sim/arm/gdbhost.c delete mode 100644 sim/arm/gdbhost.h delete mode 100644 sim/arm/kid.c delete mode 100644 sim/arm/main.c delete mode 100644 sim/arm/parent.c delete mode 100644 sim/arm/tconfig.in delete mode 100644 sim/arm/thumbemu.c delete mode 100644 sim/arm/wrapper.c delete mode 100644 sim/common/ChangeLog delete mode 100644 sim/common/Make-common.in delete mode 100644 sim/common/Makefile.in delete mode 100644 sim/common/acconfig.h delete mode 100644 sim/common/aclocal.m4 delete mode 100644 sim/common/callback.c delete mode 100644 sim/common/cgen-accfp.c delete mode 100644 sim/common/cgen-cpu.h delete mode 100644 sim/common/cgen-defs.h delete mode 100644 sim/common/cgen-engine.h delete mode 100644 sim/common/cgen-fpu.c delete mode 100644 sim/common/cgen-fpu.h delete mode 100644 sim/common/cgen-mem.h delete mode 100644 sim/common/cgen-ops.h delete mode 100644 sim/common/cgen-par.c delete mode 100644 sim/common/cgen-par.h delete mode 100644 sim/common/cgen-run.c delete mode 100644 sim/common/cgen-scache.c delete mode 100644 sim/common/cgen-scache.h delete mode 100644 sim/common/cgen-sim.h delete mode 100644 sim/common/cgen-trace.c delete mode 100644 sim/common/cgen-trace.h delete mode 100644 sim/common/cgen-types.h delete mode 100644 sim/common/cgen-utils.c delete mode 100644 sim/common/cgen.sh delete mode 100644 sim/common/config.in delete mode 100755 sim/common/configure delete mode 100644 sim/common/configure.in delete mode 100644 sim/common/dv-core.c delete mode 100644 sim/common/dv-glue.c delete mode 100644 sim/common/dv-pal.c delete mode 100644 sim/common/dv-sockser.c delete mode 100644 sim/common/dv-sockser.h delete mode 100644 sim/common/gdbinit.in delete mode 100644 sim/common/genmloop.sh delete mode 100644 sim/common/gennltvals.sh delete mode 100644 sim/common/gentmap.c delete mode 100644 sim/common/gentvals.sh delete mode 100644 sim/common/hw-alloc.c delete mode 100644 sim/common/hw-alloc.h delete mode 100644 sim/common/hw-base.c delete mode 100644 sim/common/hw-base.h delete mode 100644 sim/common/hw-device.c delete mode 100644 sim/common/hw-device.h delete mode 100644 sim/common/hw-events.c delete mode 100644 sim/common/hw-events.h delete mode 100644 sim/common/hw-handles.c delete mode 100644 sim/common/hw-handles.h delete mode 100644 sim/common/hw-instances.c delete mode 100644 sim/common/hw-instances.h delete mode 100644 sim/common/hw-main.h delete mode 100644 sim/common/hw-ports.c delete mode 100644 sim/common/hw-ports.h delete mode 100644 sim/common/hw-properties.c delete mode 100644 sim/common/hw-properties.h delete mode 100644 sim/common/hw-tree.c delete mode 100644 sim/common/hw-tree.h delete mode 100644 sim/common/nltvals.def delete mode 100644 sim/common/nrun.c delete mode 100644 sim/common/run-sim.h delete mode 100644 sim/common/run.1 delete mode 100644 sim/common/run.c delete mode 100644 sim/common/sim-abort.c delete mode 100644 sim/common/sim-alu.h delete mode 100644 sim/common/sim-arange.c delete mode 100644 sim/common/sim-arange.h delete mode 100644 sim/common/sim-assert.h delete mode 100644 sim/common/sim-base.h delete mode 100644 sim/common/sim-basics.h delete mode 100644 sim/common/sim-bits.c delete mode 100644 sim/common/sim-bits.h delete mode 100644 sim/common/sim-break.c delete mode 100644 sim/common/sim-break.h delete mode 100644 sim/common/sim-config.c delete mode 100644 sim/common/sim-config.h delete mode 100644 sim/common/sim-core.c delete mode 100644 sim/common/sim-core.h delete mode 100644 sim/common/sim-cpu.c delete mode 100644 sim/common/sim-cpu.h delete mode 100644 sim/common/sim-endian.c delete mode 100644 sim/common/sim-endian.h delete mode 100644 sim/common/sim-engine.c delete mode 100644 sim/common/sim-engine.h delete mode 100644 sim/common/sim-events.c delete mode 100644 sim/common/sim-events.h delete mode 100644 sim/common/sim-fpu.c delete mode 100644 sim/common/sim-fpu.h delete mode 100644 sim/common/sim-hload.c delete mode 100644 sim/common/sim-hrw.c delete mode 100644 sim/common/sim-hw.c delete mode 100644 sim/common/sim-hw.h delete mode 100644 sim/common/sim-info.c delete mode 100644 sim/common/sim-inline.c delete mode 100644 sim/common/sim-inline.h delete mode 100644 sim/common/sim-io.c delete mode 100644 sim/common/sim-io.h delete mode 100644 sim/common/sim-load.c delete mode 100644 sim/common/sim-memopt.c delete mode 100644 sim/common/sim-memopt.h delete mode 100644 sim/common/sim-model.c delete mode 100644 sim/common/sim-model.h delete mode 100644 sim/common/sim-module.c delete mode 100644 sim/common/sim-module.h delete mode 100644 sim/common/sim-n-bits.h delete mode 100644 sim/common/sim-n-core.h delete mode 100644 sim/common/sim-n-endian.h delete mode 100644 sim/common/sim-options.c delete mode 100644 sim/common/sim-options.h delete mode 100644 sim/common/sim-profile.c delete mode 100644 sim/common/sim-profile.h delete mode 100644 sim/common/sim-reason.c delete mode 100644 sim/common/sim-reg.c delete mode 100644 sim/common/sim-resume.c delete mode 100644 sim/common/sim-run.c delete mode 100644 sim/common/sim-signal.c delete mode 100644 sim/common/sim-signal.h delete mode 100644 sim/common/sim-stop.c delete mode 100644 sim/common/sim-trace.c delete mode 100644 sim/common/sim-trace.h delete mode 100644 sim/common/sim-types.h delete mode 100644 sim/common/sim-utils.c delete mode 100644 sim/common/sim-utils.h delete mode 100644 sim/common/sim-watch.c delete mode 100644 sim/common/sim-watch.h delete mode 100644 sim/common/syscall.c delete mode 100644 sim/common/tconfig.in delete mode 100755 sim/configure delete mode 100644 sim/configure.in delete mode 100644 sim/d10v/ChangeLog delete mode 100644 sim/d10v/Makefile.in delete mode 100644 sim/d10v/acconfig.h delete mode 100644 sim/d10v/config.in delete mode 100755 sim/d10v/configure delete mode 100644 sim/d10v/configure.in delete mode 100644 sim/d10v/d10v_sim.h delete mode 100644 sim/d10v/endian.c delete mode 100644 sim/d10v/gencode.c delete mode 100644 sim/d10v/interp.c delete mode 100644 sim/d10v/simops.c delete mode 100644 sim/d30v/ChangeLog delete mode 100644 sim/d30v/Makefile.in delete mode 100644 sim/d30v/acconfig.h delete mode 100644 sim/d30v/alu.h delete mode 100644 sim/d30v/config.in delete mode 100755 sim/d30v/configure delete mode 100644 sim/d30v/configure.in delete mode 100644 sim/d30v/cpu.c delete mode 100644 sim/d30v/cpu.h delete mode 100644 sim/d30v/d30v-insns delete mode 100644 sim/d30v/dc-short delete mode 100644 sim/d30v/engine.c delete mode 100644 sim/d30v/ic-d30v delete mode 100644 sim/d30v/sim-calls.c delete mode 100644 sim/d30v/sim-main.h delete mode 100644 sim/d30v/tconfig.in delete mode 100644 sim/erc32/ChangeLog delete mode 100644 sim/erc32/Makefile.in delete mode 100644 sim/erc32/NEWS delete mode 100644 sim/erc32/README.erc32 delete mode 100644 sim/erc32/README.gdb delete mode 100644 sim/erc32/README.sis delete mode 100644 sim/erc32/acconfig.h delete mode 100644 sim/erc32/config.in delete mode 100755 sim/erc32/configure delete mode 100644 sim/erc32/configure.in delete mode 100644 sim/erc32/end.c delete mode 100644 sim/erc32/erc32.c delete mode 100644 sim/erc32/exec.c delete mode 100644 sim/erc32/float.c delete mode 100644 sim/erc32/func.c delete mode 100644 sim/erc32/help.c delete mode 100644 sim/erc32/interf.c delete mode 100644 sim/erc32/sis.c delete mode 100644 sim/erc32/sis.h delete mode 100644 sim/erc32/startsim delete mode 100644 sim/fr30/ChangeLog delete mode 100644 sim/fr30/Makefile.in delete mode 100644 sim/fr30/README delete mode 100644 sim/fr30/TODO delete mode 100644 sim/fr30/arch.c delete mode 100644 sim/fr30/arch.h delete mode 100644 sim/fr30/config.in delete mode 100644 sim/fr30/configure delete mode 100644 sim/fr30/configure.in delete mode 100644 sim/fr30/cpu.c delete mode 100644 sim/fr30/cpu.h delete mode 100644 sim/fr30/cpuall.h delete mode 100644 sim/fr30/decode.c delete mode 100644 sim/fr30/decode.h delete mode 100644 sim/fr30/devices.c delete mode 100644 sim/fr30/fr30-sim.h delete mode 100644 sim/fr30/fr30.c delete mode 100644 sim/fr30/mloop.in delete mode 100644 sim/fr30/model.c delete mode 100644 sim/fr30/sem-switch.c delete mode 100644 sim/fr30/sem.c delete mode 100644 sim/fr30/sim-if.c delete mode 100644 sim/fr30/sim-main.h delete mode 100644 sim/fr30/tconfig.in delete mode 100644 sim/fr30/traps.c delete mode 100644 sim/h8300/ChangeLog delete mode 100644 sim/h8300/Makefile.in delete mode 100644 sim/h8300/acconfig.h delete mode 100644 sim/h8300/compile.c delete mode 100644 sim/h8300/config.in delete mode 100755 sim/h8300/configure delete mode 100644 sim/h8300/configure.in delete mode 100644 sim/h8300/inst.h delete mode 100644 sim/h8300/tconfig.in delete mode 100644 sim/h8300/writecode.c delete mode 100644 sim/h8500/ChangeLog delete mode 100644 sim/h8500/Makefile.in delete mode 100644 sim/h8500/acconfig.h delete mode 100644 sim/h8500/compile.c delete mode 100644 sim/h8500/config.in delete mode 100755 sim/h8500/configure delete mode 100644 sim/h8500/configure.in delete mode 100644 sim/h8500/inst.h delete mode 100644 sim/h8500/tconfig.in delete mode 100644 sim/i960/ChangeLog delete mode 100644 sim/i960/Makefile.in delete mode 100644 sim/i960/README delete mode 100644 sim/i960/TODO delete mode 100644 sim/i960/acconfig.h delete mode 100644 sim/i960/arch.c delete mode 100644 sim/i960/arch.h delete mode 100644 sim/i960/config.in delete mode 100755 sim/i960/configure delete mode 100644 sim/i960/configure.in delete mode 100644 sim/i960/cpu.c delete mode 100644 sim/i960/cpu.h delete mode 100644 sim/i960/cpuall.h delete mode 100644 sim/i960/decode.c delete mode 100644 sim/i960/decode.h delete mode 100644 sim/i960/devices.c delete mode 100644 sim/i960/i960-desc.c delete mode 100644 sim/i960/i960-desc.h delete mode 100644 sim/i960/i960-opc.h delete mode 100644 sim/i960/i960-sim.h delete mode 100644 sim/i960/i960.c delete mode 100644 sim/i960/mloop.in delete mode 100644 sim/i960/model.c delete mode 100644 sim/i960/sem-switch.c delete mode 100644 sim/i960/sem.c delete mode 100644 sim/i960/sim-if.c delete mode 100644 sim/i960/sim-main.h delete mode 100644 sim/i960/tconfig.in delete mode 100644 sim/i960/traps.c delete mode 100644 sim/igen/ChangeLog delete mode 100644 sim/igen/Makefile.in delete mode 100644 sim/igen/acconfig.h delete mode 100755 sim/igen/compare_igen_models delete mode 100644 sim/igen/config.in delete mode 100755 sim/igen/configure delete mode 100644 sim/igen/configure.in delete mode 100644 sim/igen/filter.c delete mode 100644 sim/igen/filter.h delete mode 100644 sim/igen/filter_host.c delete mode 100644 sim/igen/filter_host.h delete mode 100644 sim/igen/gen-engine.c delete mode 100644 sim/igen/gen-engine.h delete mode 100644 sim/igen/gen-icache.c delete mode 100644 sim/igen/gen-icache.h delete mode 100644 sim/igen/gen-idecode.c delete mode 100644 sim/igen/gen-idecode.h delete mode 100644 sim/igen/gen-itable.c delete mode 100644 sim/igen/gen-itable.h delete mode 100644 sim/igen/gen-model.c delete mode 100644 sim/igen/gen-model.h delete mode 100644 sim/igen/gen-semantics.c delete mode 100644 sim/igen/gen-semantics.h delete mode 100644 sim/igen/gen-support.c delete mode 100644 sim/igen/gen-support.h delete mode 100644 sim/igen/gen.c delete mode 100644 sim/igen/gen.h delete mode 100644 sim/igen/igen.c delete mode 100644 sim/igen/igen.h delete mode 100644 sim/igen/ld-cache.c delete mode 100644 sim/igen/ld-cache.h delete mode 100644 sim/igen/ld-decode.c delete mode 100644 sim/igen/ld-decode.h delete mode 100644 sim/igen/ld-insn.c delete mode 100644 sim/igen/ld-insn.h delete mode 100644 sim/igen/lf.c delete mode 100644 sim/igen/lf.h delete mode 100644 sim/igen/misc.c delete mode 100644 sim/igen/misc.h delete mode 100644 sim/igen/table.c delete mode 100644 sim/igen/table.h delete mode 100644 sim/m32r/ChangeLog delete mode 100644 sim/m32r/Makefile.in delete mode 100644 sim/m32r/README delete mode 100644 sim/m32r/TODO delete mode 100644 sim/m32r/acconfig.h delete mode 100644 sim/m32r/arch.c delete mode 100644 sim/m32r/arch.h delete mode 100644 sim/m32r/config.in delete mode 100755 sim/m32r/configure delete mode 100644 sim/m32r/configure.in delete mode 100644 sim/m32r/cpu.c delete mode 100644 sim/m32r/cpu.h delete mode 100644 sim/m32r/cpuall.h delete mode 100644 sim/m32r/cpux.c delete mode 100644 sim/m32r/cpux.h delete mode 100644 sim/m32r/decode.c delete mode 100644 sim/m32r/decode.h delete mode 100644 sim/m32r/decodex.c delete mode 100644 sim/m32r/decodex.h delete mode 100644 sim/m32r/devices.c delete mode 100644 sim/m32r/m32r-sim.h delete mode 100644 sim/m32r/m32r.c delete mode 100644 sim/m32r/m32rx.c delete mode 100644 sim/m32r/mloop.in delete mode 100644 sim/m32r/mloopx.in delete mode 100644 sim/m32r/model.c delete mode 100644 sim/m32r/modelx.c delete mode 100644 sim/m32r/sem-switch.c delete mode 100644 sim/m32r/sem.c delete mode 100644 sim/m32r/semx-switch.c delete mode 100644 sim/m32r/sim-if.c delete mode 100644 sim/m32r/sim-main.h delete mode 100644 sim/m32r/tconfig.in delete mode 100644 sim/m32r/traps.c delete mode 100644 sim/m68hc11/ChangeLog delete mode 100644 sim/m68hc11/Makefile.in delete mode 100644 sim/m68hc11/config.in delete mode 100755 sim/m68hc11/configure delete mode 100644 sim/m68hc11/configure.in delete mode 100644 sim/m68hc11/dv-m68hc11.c delete mode 100644 sim/m68hc11/dv-m68hc11eepr.c delete mode 100644 sim/m68hc11/dv-m68hc11sio.c delete mode 100644 sim/m68hc11/dv-m68hc11spi.c delete mode 100644 sim/m68hc11/dv-m68hc11tim.c delete mode 100644 sim/m68hc11/dv-nvram.c delete mode 100644 sim/m68hc11/emulos.c delete mode 100644 sim/m68hc11/gencode.c delete mode 100644 sim/m68hc11/interp.c delete mode 100644 sim/m68hc11/interrupts.c delete mode 100644 sim/m68hc11/interrupts.h delete mode 100644 sim/m68hc11/m68hc11_sim.c delete mode 100644 sim/m68hc11/sim-main.h delete mode 100644 sim/mcore/ChangeLog delete mode 100644 sim/mcore/Makefile.in delete mode 100644 sim/mcore/config.in delete mode 100755 sim/mcore/configure delete mode 100644 sim/mcore/configure.in delete mode 100644 sim/mcore/interp.c delete mode 100644 sim/mcore/sysdep.h delete mode 100644 sim/mips/ChangeLog delete mode 100644 sim/mips/Makefile.in delete mode 100644 sim/mips/acconfig.h delete mode 100644 sim/mips/config.in delete mode 100755 sim/mips/configure delete mode 100644 sim/mips/configure.in delete mode 100644 sim/mips/cp1.c delete mode 100644 sim/mips/cp1.h delete mode 100644 sim/mips/dv-tx3904cpu.c delete mode 100644 sim/mips/dv-tx3904irc.c delete mode 100644 sim/mips/dv-tx3904sio.c delete mode 100644 sim/mips/dv-tx3904tmr.c delete mode 100644 sim/mips/interp.c delete mode 100644 sim/mips/m16.dc delete mode 100644 sim/mips/m16.igen delete mode 100644 sim/mips/m16run.c delete mode 100644 sim/mips/mdmx.c delete mode 100644 sim/mips/mdmx.igen delete mode 100644 sim/mips/mips.dc delete mode 100644 sim/mips/mips.igen delete mode 100644 sim/mips/mips3d.igen delete mode 100644 sim/mips/sb1.igen delete mode 100644 sim/mips/sim-main.c delete mode 100644 sim/mips/sim-main.h delete mode 100644 sim/mips/tconfig.in delete mode 100644 sim/mips/tx.igen delete mode 100644 sim/mips/vr.igen delete mode 100644 sim/mn10200/ChangeLog delete mode 100644 sim/mn10200/Makefile.in delete mode 100644 sim/mn10200/acconfig.h delete mode 100644 sim/mn10200/config.in delete mode 100755 sim/mn10200/configure delete mode 100644 sim/mn10200/configure.in delete mode 100644 sim/mn10200/gencode.c delete mode 100644 sim/mn10200/interp.c delete mode 100644 sim/mn10200/mn10200_sim.h delete mode 100644 sim/mn10200/simops.c delete mode 100644 sim/mn10300/ChangeLog delete mode 100644 sim/mn10300/Makefile.in delete mode 100644 sim/mn10300/acconfig.h delete mode 100644 sim/mn10300/am33.igen delete mode 100644 sim/mn10300/config.in delete mode 100755 sim/mn10300/configure delete mode 100644 sim/mn10300/configure.in delete mode 100644 sim/mn10300/dv-mn103cpu.c delete mode 100644 sim/mn10300/dv-mn103int.c delete mode 100644 sim/mn10300/dv-mn103iop.c delete mode 100644 sim/mn10300/dv-mn103ser.c delete mode 100644 sim/mn10300/dv-mn103tim.c delete mode 100644 sim/mn10300/gencode.c delete mode 100644 sim/mn10300/interp.c delete mode 100644 sim/mn10300/mn10300.dc delete mode 100644 sim/mn10300/mn10300.igen delete mode 100644 sim/mn10300/mn10300_sim.h delete mode 100644 sim/mn10300/op_utils.c delete mode 100644 sim/mn10300/sim-main.c delete mode 100644 sim/mn10300/sim-main.h delete mode 100644 sim/mn10300/simops.c delete mode 100644 sim/mn10300/tconfig.in delete mode 100644 sim/ppc/.gdbinit delete mode 100644 sim/ppc/BUGS delete mode 100644 sim/ppc/COPYING delete mode 100644 sim/ppc/COPYING.LIB delete mode 100644 sim/ppc/ChangeLog delete mode 100644 sim/ppc/ChangeLog.00 delete mode 100644 sim/ppc/INSTALL delete mode 100644 sim/ppc/Makefile.in delete mode 100644 sim/ppc/README delete mode 100644 sim/ppc/RUN delete mode 100644 sim/ppc/acconfig.h delete mode 100644 sim/ppc/aclocal.m4 delete mode 100644 sim/ppc/basics.h delete mode 100644 sim/ppc/bits.c delete mode 100644 sim/ppc/bits.h delete mode 100644 sim/ppc/cap.c delete mode 100644 sim/ppc/cap.h delete mode 100644 sim/ppc/config.in delete mode 100755 sim/ppc/configure delete mode 100644 sim/ppc/configure.in delete mode 100644 sim/ppc/corefile-n.h delete mode 100644 sim/ppc/corefile.c delete mode 100644 sim/ppc/corefile.h delete mode 100644 sim/ppc/cpu.c delete mode 100644 sim/ppc/cpu.h delete mode 100644 sim/ppc/dc-complex delete mode 100644 sim/ppc/dc-simple delete mode 100644 sim/ppc/dc-stupid delete mode 100644 sim/ppc/dc-test.01 delete mode 100644 sim/ppc/dc-test.02 delete mode 100644 sim/ppc/debug.c delete mode 100644 sim/ppc/debug.h delete mode 100644 sim/ppc/device.c delete mode 100644 sim/ppc/device.h delete mode 100644 sim/ppc/device_table.c delete mode 100644 sim/ppc/device_table.h delete mode 100644 sim/ppc/dgen.c delete mode 100644 sim/ppc/double.c delete mode 100644 sim/ppc/dp-bit.c delete mode 100644 sim/ppc/emul_bugapi.c delete mode 100644 sim/ppc/emul_bugapi.h delete mode 100644 sim/ppc/emul_chirp.c delete mode 100644 sim/ppc/emul_chirp.h delete mode 100644 sim/ppc/emul_generic.c delete mode 100644 sim/ppc/emul_generic.h delete mode 100644 sim/ppc/emul_netbsd.c delete mode 100644 sim/ppc/emul_netbsd.h delete mode 100644 sim/ppc/emul_unix.c delete mode 100644 sim/ppc/emul_unix.h delete mode 100644 sim/ppc/events.c delete mode 100644 sim/ppc/events.h delete mode 100644 sim/ppc/filter.c delete mode 100644 sim/ppc/filter.h delete mode 100644 sim/ppc/filter_filename.c delete mode 100644 sim/ppc/filter_filename.h delete mode 100644 sim/ppc/gen-icache.c delete mode 100644 sim/ppc/gen-icache.h delete mode 100644 sim/ppc/gen-idecode.c delete mode 100644 sim/ppc/gen-idecode.h delete mode 100644 sim/ppc/gen-itable.c delete mode 100644 sim/ppc/gen-itable.h delete mode 100644 sim/ppc/gen-model.c delete mode 100644 sim/ppc/gen-model.h delete mode 100644 sim/ppc/gen-semantics.c delete mode 100644 sim/ppc/gen-semantics.h delete mode 100644 sim/ppc/gen-support.c delete mode 100644 sim/ppc/gen-support.h delete mode 100644 sim/ppc/hw_com.c delete mode 100644 sim/ppc/hw_core.c delete mode 100644 sim/ppc/hw_cpu.c delete mode 100644 sim/ppc/hw_cpu.h delete mode 100644 sim/ppc/hw_disk.c delete mode 100644 sim/ppc/hw_eeprom.c delete mode 100644 sim/ppc/hw_glue.c delete mode 100644 sim/ppc/hw_htab.c delete mode 100644 sim/ppc/hw_ide.c delete mode 100644 sim/ppc/hw_init.c delete mode 100644 sim/ppc/hw_iobus.c delete mode 100644 sim/ppc/hw_memory.c delete mode 100644 sim/ppc/hw_nvram.c delete mode 100644 sim/ppc/hw_opic.c delete mode 100644 sim/ppc/hw_pal.c delete mode 100644 sim/ppc/hw_phb.c delete mode 100644 sim/ppc/hw_phb.h delete mode 100644 sim/ppc/hw_register.c delete mode 100644 sim/ppc/hw_trace.c delete mode 100644 sim/ppc/hw_vm.c delete mode 100644 sim/ppc/idecode_branch.h delete mode 100644 sim/ppc/idecode_expression.h delete mode 100644 sim/ppc/idecode_fields.h delete mode 100644 sim/ppc/igen.c delete mode 100644 sim/ppc/igen.h delete mode 100644 sim/ppc/inline.c delete mode 100644 sim/ppc/inline.h delete mode 100644 sim/ppc/interrupts.c delete mode 100644 sim/ppc/interrupts.h delete mode 100644 sim/ppc/ld-cache.c delete mode 100644 sim/ppc/ld-cache.h delete mode 100644 sim/ppc/ld-decode.c delete mode 100644 sim/ppc/ld-decode.h delete mode 100644 sim/ppc/ld-insn.c delete mode 100644 sim/ppc/ld-insn.h delete mode 100644 sim/ppc/lf.c delete mode 100644 sim/ppc/lf.h delete mode 100644 sim/ppc/main.c delete mode 100644 sim/ppc/misc.c delete mode 100644 sim/ppc/misc.h delete mode 100644 sim/ppc/mon.c delete mode 100644 sim/ppc/mon.h delete mode 100644 sim/ppc/options.c delete mode 100644 sim/ppc/options.h delete mode 100644 sim/ppc/os_emul.c delete mode 100644 sim/ppc/os_emul.h delete mode 100644 sim/ppc/pk_disklabel.c delete mode 100644 sim/ppc/ppc-cache-rules delete mode 100644 sim/ppc/ppc-instructions delete mode 100644 sim/ppc/ppc-spr-table delete mode 100644 sim/ppc/ppc.mt delete mode 100644 sim/ppc/psim.c delete mode 100644 sim/ppc/psim.h delete mode 100644 sim/ppc/psim.texinfo delete mode 100644 sim/ppc/registers.c delete mode 100644 sim/ppc/registers.h delete mode 100644 sim/ppc/sim-endian-n.h delete mode 100644 sim/ppc/sim-endian.c delete mode 100644 sim/ppc/sim-endian.h delete mode 100644 sim/ppc/sim-main.h delete mode 100644 sim/ppc/sim_callbacks.h delete mode 100644 sim/ppc/sim_calls.c delete mode 100644 sim/ppc/std-config.h delete mode 100644 sim/ppc/table.c delete mode 100644 sim/ppc/table.h delete mode 100644 sim/ppc/tree.c delete mode 100644 sim/ppc/tree.h delete mode 100644 sim/ppc/vm.c delete mode 100644 sim/ppc/vm.h delete mode 100644 sim/ppc/vm_n.h delete mode 100644 sim/ppc/words.h delete mode 100644 sim/sh/ChangeLog delete mode 100644 sim/sh/Makefile.in delete mode 100644 sim/sh/acconfig.h delete mode 100644 sim/sh/config.in delete mode 100755 sim/sh/configure delete mode 100644 sim/sh/configure.in delete mode 100644 sim/sh/gencode.c delete mode 100644 sim/sh/interp.c delete mode 100644 sim/sh/syscall.h delete mode 100644 sim/sh/tconfig.in delete mode 100644 sim/testsuite/ChangeLog delete mode 100644 sim/testsuite/Makefile.in delete mode 100644 sim/testsuite/common/Make-common.in delete mode 100644 sim/testsuite/common/Makefile.in delete mode 100644 sim/testsuite/common/alu-n-tst.h delete mode 100644 sim/testsuite/common/alu-tst.c delete mode 100644 sim/testsuite/common/bits-gen.c delete mode 100644 sim/testsuite/common/bits-tst.c delete mode 100644 sim/testsuite/common/fpu-tst.c delete mode 100644 sim/testsuite/config/default.exp delete mode 100755 sim/testsuite/configure delete mode 100644 sim/testsuite/configure.in delete mode 100644 sim/testsuite/d10v-elf/ChangeLog delete mode 100644 sim/testsuite/d10v-elf/Makefile.in delete mode 100755 sim/testsuite/d10v-elf/configure delete mode 100644 sim/testsuite/d10v-elf/configure.in delete mode 100644 sim/testsuite/d10v-elf/exit47.s delete mode 100644 sim/testsuite/d10v-elf/hello.s delete mode 100644 sim/testsuite/d10v-elf/loop.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld-d.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld-i.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld-id.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld-im.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld-ip.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld2w-d.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld2w-i.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld2w-id.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld2w-im.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-ld2w-ip.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st-d.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st-i.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st-id.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st-im.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st-ip.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st-is.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st2w-d.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st2w-i.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st2w-id.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st2w-im.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st2w-ip.s delete mode 100644 sim/testsuite/d10v-elf/t-ae-st2w-is.s delete mode 100644 sim/testsuite/d10v-elf/t-dbt.s delete mode 100644 sim/testsuite/d10v-elf/t-ld-st.s delete mode 100644 sim/testsuite/d10v-elf/t-mac.s delete mode 100644 sim/testsuite/d10v-elf/t-macros.i delete mode 100644 sim/testsuite/d10v-elf/t-mod-ld-pre.s delete mode 100644 sim/testsuite/d10v-elf/t-msbu.s delete mode 100644 sim/testsuite/d10v-elf/t-mulxu.s delete mode 100644 sim/testsuite/d10v-elf/t-mvtac.s delete mode 100644 sim/testsuite/d10v-elf/t-mvtc.s delete mode 100644 sim/testsuite/d10v-elf/t-rac.s delete mode 100644 sim/testsuite/d10v-elf/t-rachi.s delete mode 100644 sim/testsuite/d10v-elf/t-rdt.s delete mode 100644 sim/testsuite/d10v-elf/t-rep.s delete mode 100644 sim/testsuite/d10v-elf/t-rie-xx.s delete mode 100644 sim/testsuite/d10v-elf/t-rte.s delete mode 100644 sim/testsuite/d10v-elf/t-sac.s delete mode 100644 sim/testsuite/d10v-elf/t-sachi.s delete mode 100644 sim/testsuite/d10v-elf/t-sadd.s delete mode 100644 sim/testsuite/d10v-elf/t-slae.s delete mode 100644 sim/testsuite/d10v-elf/t-sp.s delete mode 100644 sim/testsuite/d10v-elf/t-sub.s delete mode 100644 sim/testsuite/d10v-elf/t-sub2w.s delete mode 100644 sim/testsuite/d10v-elf/t-subi.s delete mode 100644 sim/testsuite/d10v-elf/t-trap.s delete mode 100644 sim/testsuite/d30v-elf/ChangeLog delete mode 100644 sim/testsuite/d30v-elf/Makefile.in delete mode 100644 sim/testsuite/d30v-elf/br-bra.S delete mode 100644 sim/testsuite/d30v-elf/br-bratnz.S delete mode 100644 sim/testsuite/d30v-elf/br-bratzr.S delete mode 100644 sim/testsuite/d30v-elf/br-bsr.S delete mode 100644 sim/testsuite/d30v-elf/br-dbra.S delete mode 100644 sim/testsuite/d30v-elf/br-djmp.S delete mode 100644 sim/testsuite/d30v-elf/br-djsr.S delete mode 100755 sim/testsuite/d30v-elf/configure delete mode 100644 sim/testsuite/d30v-elf/configure.in delete mode 100644 sim/testsuite/d30v-elf/do-2wordops.S delete mode 100644 sim/testsuite/d30v-elf/do-flags.S delete mode 100644 sim/testsuite/d30v-elf/do-shifts.S delete mode 100644 sim/testsuite/d30v-elf/em-e0.S delete mode 100644 sim/testsuite/d30v-elf/em-e47.S delete mode 100644 sim/testsuite/d30v-elf/em-pchr.S delete mode 100644 sim/testsuite/d30v-elf/em-pstr.S delete mode 100644 sim/testsuite/d30v-elf/exit47.s delete mode 100644 sim/testsuite/d30v-elf/hello.s delete mode 100644 sim/testsuite/d30v-elf/loop.s delete mode 100644 sim/testsuite/d30v-elf/ls-ld2h.S delete mode 100644 sim/testsuite/d30v-elf/ls-ld2w.S delete mode 100644 sim/testsuite/d30v-elf/ls-ld4bh.S delete mode 100644 sim/testsuite/d30v-elf/ls-ld4bhu.S delete mode 100644 sim/testsuite/d30v-elf/ls-ldb.S delete mode 100644 sim/testsuite/d30v-elf/ls-ldbu.S delete mode 100644 sim/testsuite/d30v-elf/ls-ldh.S delete mode 100644 sim/testsuite/d30v-elf/ls-ldhh.S delete mode 100644 sim/testsuite/d30v-elf/ls-ldhu.S delete mode 100644 sim/testsuite/d30v-elf/ls-ldw.S delete mode 100644 sim/testsuite/d30v-elf/ls-modaddr.S delete mode 100644 sim/testsuite/d30v-elf/ls-moddec.S delete mode 100644 sim/testsuite/d30v-elf/ls-modinc.S delete mode 100644 sim/testsuite/d30v-elf/ls-st2h.S delete mode 100644 sim/testsuite/d30v-elf/ls-st2w.S delete mode 100644 sim/testsuite/d30v-elf/ls-st4hb.S delete mode 100644 sim/testsuite/d30v-elf/ls-stb.S delete mode 100644 sim/testsuite/d30v-elf/ls-sth.S delete mode 100644 sim/testsuite/d30v-elf/ls-sthh.S delete mode 100644 sim/testsuite/d30v-elf/ls-stw.S delete mode 100644 sim/testsuite/d30v-elf/os-dbt.S delete mode 100644 sim/testsuite/d30v-elf/tick.s delete mode 100644 sim/testsuite/d30v-elf/trap.S delete mode 100644 sim/testsuite/fr30-elf/ChangeLog delete mode 100644 sim/testsuite/fr30-elf/Makefile.in delete mode 100755 sim/testsuite/fr30-elf/configure delete mode 100644 sim/testsuite/fr30-elf/configure.in delete mode 100644 sim/testsuite/fr30-elf/exit47.s delete mode 100644 sim/testsuite/fr30-elf/hello.s delete mode 100644 sim/testsuite/fr30-elf/loop.s delete mode 100644 sim/testsuite/lib/sim-defs.exp delete mode 100644 sim/testsuite/m32r-elf/ChangeLog delete mode 100644 sim/testsuite/m32r-elf/Makefile.in delete mode 100755 sim/testsuite/m32r-elf/configure delete mode 100644 sim/testsuite/m32r-elf/configure.in delete mode 100644 sim/testsuite/m32r-elf/exit47.s delete mode 100644 sim/testsuite/m32r-elf/hello.s delete mode 100644 sim/testsuite/m32r-elf/loop.s delete mode 100644 sim/testsuite/mips64el-elf/ChangeLog delete mode 100644 sim/testsuite/mips64el-elf/Makefile.in delete mode 100755 sim/testsuite/mips64el-elf/configure delete mode 100644 sim/testsuite/mips64el-elf/configure.in delete mode 100644 sim/testsuite/sim/fr30/add.cgs delete mode 100644 sim/testsuite/sim/fr30/add.ms delete mode 100644 sim/testsuite/sim/fr30/add2.cgs delete mode 100644 sim/testsuite/sim/fr30/addc.cgs delete mode 100644 sim/testsuite/sim/fr30/addn.cgs delete mode 100644 sim/testsuite/sim/fr30/addn2.cgs delete mode 100644 sim/testsuite/sim/fr30/addsp.cgs delete mode 100644 sim/testsuite/sim/fr30/allinsn.exp delete mode 100644 sim/testsuite/sim/fr30/and.cgs delete mode 100644 sim/testsuite/sim/fr30/andb.cgs delete mode 100644 sim/testsuite/sim/fr30/andccr.cgs delete mode 100644 sim/testsuite/sim/fr30/andh.cgs delete mode 100644 sim/testsuite/sim/fr30/asr.cgs delete mode 100644 sim/testsuite/sim/fr30/asr2.cgs delete mode 100644 sim/testsuite/sim/fr30/bandh.cgs delete mode 100644 sim/testsuite/sim/fr30/bandl.cgs delete mode 100644 sim/testsuite/sim/fr30/bc.cgs delete mode 100644 sim/testsuite/sim/fr30/beorh.cgs delete mode 100644 sim/testsuite/sim/fr30/beorl.cgs delete mode 100644 sim/testsuite/sim/fr30/beq.cgs delete mode 100644 sim/testsuite/sim/fr30/bge.cgs delete mode 100644 sim/testsuite/sim/fr30/bgt.cgs delete mode 100644 sim/testsuite/sim/fr30/bhi.cgs delete mode 100644 sim/testsuite/sim/fr30/ble.cgs delete mode 100644 sim/testsuite/sim/fr30/bls.cgs delete mode 100644 sim/testsuite/sim/fr30/blt.cgs delete mode 100644 sim/testsuite/sim/fr30/bn.cgs delete mode 100644 sim/testsuite/sim/fr30/bnc.cgs delete mode 100644 sim/testsuite/sim/fr30/bne.cgs delete mode 100644 sim/testsuite/sim/fr30/bno.cgs delete mode 100644 sim/testsuite/sim/fr30/bnv.cgs delete mode 100644 sim/testsuite/sim/fr30/borh.cgs delete mode 100644 sim/testsuite/sim/fr30/borl.cgs delete mode 100644 sim/testsuite/sim/fr30/bp.cgs delete mode 100644 sim/testsuite/sim/fr30/bra.cgs delete mode 100644 sim/testsuite/sim/fr30/btsth.cgs delete mode 100644 sim/testsuite/sim/fr30/btstl.cgs delete mode 100644 sim/testsuite/sim/fr30/bv.cgs delete mode 100644 sim/testsuite/sim/fr30/call.cgs delete mode 100644 sim/testsuite/sim/fr30/cmp.cgs delete mode 100644 sim/testsuite/sim/fr30/cmp2.cgs delete mode 100644 sim/testsuite/sim/fr30/copld.cgs delete mode 100644 sim/testsuite/sim/fr30/copop.cgs delete mode 100644 sim/testsuite/sim/fr30/copst.cgs delete mode 100644 sim/testsuite/sim/fr30/copsv.cgs delete mode 100644 sim/testsuite/sim/fr30/div.ms delete mode 100644 sim/testsuite/sim/fr30/div0s.cgs delete mode 100644 sim/testsuite/sim/fr30/div0u.cgs delete mode 100644 sim/testsuite/sim/fr30/div1.cgs delete mode 100644 sim/testsuite/sim/fr30/div2.cgs delete mode 100644 sim/testsuite/sim/fr30/div3.cgs delete mode 100644 sim/testsuite/sim/fr30/div4s.cgs delete mode 100644 sim/testsuite/sim/fr30/dmov.cgs delete mode 100644 sim/testsuite/sim/fr30/dmovb.cgs delete mode 100644 sim/testsuite/sim/fr30/dmovh.cgs delete mode 100644 sim/testsuite/sim/fr30/enter.cgs delete mode 100644 sim/testsuite/sim/fr30/eor.cgs delete mode 100644 sim/testsuite/sim/fr30/eorb.cgs delete mode 100644 sim/testsuite/sim/fr30/eorh.cgs delete mode 100644 sim/testsuite/sim/fr30/extsb.cgs delete mode 100644 sim/testsuite/sim/fr30/extsh.cgs delete mode 100644 sim/testsuite/sim/fr30/extub.cgs delete mode 100644 sim/testsuite/sim/fr30/extuh.cgs delete mode 100644 sim/testsuite/sim/fr30/hello.ms delete mode 100644 sim/testsuite/sim/fr30/int.cgs delete mode 100644 sim/testsuite/sim/fr30/inte.cgs delete mode 100644 sim/testsuite/sim/fr30/jmp.cgs delete mode 100644 sim/testsuite/sim/fr30/ld.cgs delete mode 100644 sim/testsuite/sim/fr30/ldi20.cgs delete mode 100644 sim/testsuite/sim/fr30/ldi32.cgs delete mode 100644 sim/testsuite/sim/fr30/ldi8.cgs delete mode 100644 sim/testsuite/sim/fr30/ldm0.cgs delete mode 100644 sim/testsuite/sim/fr30/ldm1.cgs delete mode 100644 sim/testsuite/sim/fr30/ldres.cgs delete mode 100644 sim/testsuite/sim/fr30/ldub.cgs delete mode 100644 sim/testsuite/sim/fr30/lduh.cgs delete mode 100644 sim/testsuite/sim/fr30/leave.cgs delete mode 100644 sim/testsuite/sim/fr30/lsl.cgs delete mode 100644 sim/testsuite/sim/fr30/lsl2.cgs delete mode 100644 sim/testsuite/sim/fr30/lsr.cgs delete mode 100644 sim/testsuite/sim/fr30/lsr2.cgs delete mode 100644 sim/testsuite/sim/fr30/misc.exp delete mode 100644 sim/testsuite/sim/fr30/mov.cgs delete mode 100644 sim/testsuite/sim/fr30/mul.cgs delete mode 100644 sim/testsuite/sim/fr30/mulh.cgs delete mode 100644 sim/testsuite/sim/fr30/mulu.cgs delete mode 100644 sim/testsuite/sim/fr30/muluh.cgs delete mode 100644 sim/testsuite/sim/fr30/nop.cgs delete mode 100644 sim/testsuite/sim/fr30/or.cgs delete mode 100644 sim/testsuite/sim/fr30/orb.cgs delete mode 100644 sim/testsuite/sim/fr30/orccr.cgs delete mode 100644 sim/testsuite/sim/fr30/orh.cgs delete mode 100644 sim/testsuite/sim/fr30/ret.cgs delete mode 100644 sim/testsuite/sim/fr30/reti.cgs delete mode 100644 sim/testsuite/sim/fr30/st.cgs delete mode 100644 sim/testsuite/sim/fr30/stb.cgs delete mode 100644 sim/testsuite/sim/fr30/sth.cgs delete mode 100644 sim/testsuite/sim/fr30/stilm.cgs delete mode 100644 sim/testsuite/sim/fr30/stm0.cgs delete mode 100644 sim/testsuite/sim/fr30/stm1.cgs delete mode 100644 sim/testsuite/sim/fr30/stres.cgs delete mode 100644 sim/testsuite/sim/fr30/sub.cgs delete mode 100644 sim/testsuite/sim/fr30/subc.cgs delete mode 100644 sim/testsuite/sim/fr30/subn.cgs delete mode 100644 sim/testsuite/sim/fr30/testutils.inc delete mode 100644 sim/testsuite/sim/fr30/xchb.cgs delete mode 100644 sim/testsuite/sim/m32r/add.cgs delete mode 100644 sim/testsuite/sim/m32r/add3.cgs delete mode 100644 sim/testsuite/sim/m32r/addi.cgs delete mode 100644 sim/testsuite/sim/m32r/addv.cgs delete mode 100644 sim/testsuite/sim/m32r/addv3.cgs delete mode 100644 sim/testsuite/sim/m32r/addx.cgs delete mode 100644 sim/testsuite/sim/m32r/allinsn.exp delete mode 100644 sim/testsuite/sim/m32r/and.cgs delete mode 100644 sim/testsuite/sim/m32r/and3.cgs delete mode 100644 sim/testsuite/sim/m32r/bc24.cgs delete mode 100644 sim/testsuite/sim/m32r/bc8.cgs delete mode 100644 sim/testsuite/sim/m32r/beq.cgs delete mode 100644 sim/testsuite/sim/m32r/beqz.cgs delete mode 100644 sim/testsuite/sim/m32r/bgez.cgs delete mode 100644 sim/testsuite/sim/m32r/bgtz.cgs delete mode 100644 sim/testsuite/sim/m32r/bl24.cgs delete mode 100644 sim/testsuite/sim/m32r/bl8.cgs delete mode 100644 sim/testsuite/sim/m32r/blez.cgs delete mode 100644 sim/testsuite/sim/m32r/bltz.cgs delete mode 100644 sim/testsuite/sim/m32r/bnc24.cgs delete mode 100644 sim/testsuite/sim/m32r/bnc8.cgs delete mode 100644 sim/testsuite/sim/m32r/bne.cgs delete mode 100644 sim/testsuite/sim/m32r/bnez.cgs delete mode 100644 sim/testsuite/sim/m32r/bra24.cgs delete mode 100644 sim/testsuite/sim/m32r/bra8.cgs delete mode 100644 sim/testsuite/sim/m32r/cmp.cgs delete mode 100644 sim/testsuite/sim/m32r/cmpi.cgs delete mode 100644 sim/testsuite/sim/m32r/cmpu.cgs delete mode 100644 sim/testsuite/sim/m32r/cmpui.cgs delete mode 100644 sim/testsuite/sim/m32r/div.cgs delete mode 100644 sim/testsuite/sim/m32r/divu.cgs delete mode 100644 sim/testsuite/sim/m32r/hello.ms delete mode 100644 sim/testsuite/sim/m32r/hw-trap.ms delete mode 100644 sim/testsuite/sim/m32r/jl.cgs delete mode 100644 sim/testsuite/sim/m32r/jmp.cgs delete mode 100644 sim/testsuite/sim/m32r/ld-d.cgs delete mode 100644 sim/testsuite/sim/m32r/ld-plus.cgs delete mode 100644 sim/testsuite/sim/m32r/ld.cgs delete mode 100644 sim/testsuite/sim/m32r/ld24.cgs delete mode 100644 sim/testsuite/sim/m32r/ldb-d.cgs delete mode 100644 sim/testsuite/sim/m32r/ldb.cgs delete mode 100644 sim/testsuite/sim/m32r/ldh-d.cgs delete mode 100644 sim/testsuite/sim/m32r/ldh.cgs delete mode 100644 sim/testsuite/sim/m32r/ldi16.cgs delete mode 100644 sim/testsuite/sim/m32r/ldi8.cgs delete mode 100644 sim/testsuite/sim/m32r/ldub-d.cgs delete mode 100644 sim/testsuite/sim/m32r/ldub.cgs delete mode 100644 sim/testsuite/sim/m32r/lduh-d.cgs delete mode 100644 sim/testsuite/sim/m32r/lduh.cgs delete mode 100644 sim/testsuite/sim/m32r/lock.cgs delete mode 100644 sim/testsuite/sim/m32r/machi.cgs delete mode 100644 sim/testsuite/sim/m32r/maclo.cgs delete mode 100644 sim/testsuite/sim/m32r/macwhi.cgs delete mode 100644 sim/testsuite/sim/m32r/macwlo.cgs delete mode 100644 sim/testsuite/sim/m32r/misc.exp delete mode 100644 sim/testsuite/sim/m32r/mul.cgs delete mode 100644 sim/testsuite/sim/m32r/mulhi.cgs delete mode 100644 sim/testsuite/sim/m32r/mullo.cgs delete mode 100644 sim/testsuite/sim/m32r/mulwhi.cgs delete mode 100644 sim/testsuite/sim/m32r/mulwlo.cgs delete mode 100644 sim/testsuite/sim/m32r/mv.cgs delete mode 100644 sim/testsuite/sim/m32r/mvfachi.cgs delete mode 100644 sim/testsuite/sim/m32r/mvfaclo.cgs delete mode 100644 sim/testsuite/sim/m32r/mvfacmi.cgs delete mode 100644 sim/testsuite/sim/m32r/mvfc.cgs delete mode 100644 sim/testsuite/sim/m32r/mvtachi.cgs delete mode 100644 sim/testsuite/sim/m32r/mvtaclo.cgs delete mode 100644 sim/testsuite/sim/m32r/mvtc.cgs delete mode 100644 sim/testsuite/sim/m32r/neg.cgs delete mode 100644 sim/testsuite/sim/m32r/nop.cgs delete mode 100644 sim/testsuite/sim/m32r/not.cgs delete mode 100644 sim/testsuite/sim/m32r/or.cgs delete mode 100644 sim/testsuite/sim/m32r/or3.cgs delete mode 100644 sim/testsuite/sim/m32r/rac.cgs delete mode 100644 sim/testsuite/sim/m32r/rach.cgs delete mode 100644 sim/testsuite/sim/m32r/rem.cgs delete mode 100644 sim/testsuite/sim/m32r/remu.cgs delete mode 100644 sim/testsuite/sim/m32r/rte.cgs delete mode 100644 sim/testsuite/sim/m32r/seth.cgs delete mode 100644 sim/testsuite/sim/m32r/sll.cgs delete mode 100644 sim/testsuite/sim/m32r/sll3.cgs delete mode 100644 sim/testsuite/sim/m32r/slli.cgs delete mode 100644 sim/testsuite/sim/m32r/sra.cgs delete mode 100644 sim/testsuite/sim/m32r/sra3.cgs delete mode 100644 sim/testsuite/sim/m32r/srai.cgs delete mode 100644 sim/testsuite/sim/m32r/srl.cgs delete mode 100644 sim/testsuite/sim/m32r/srl3.cgs delete mode 100644 sim/testsuite/sim/m32r/srli.cgs delete mode 100644 sim/testsuite/sim/m32r/st-d.cgs delete mode 100644 sim/testsuite/sim/m32r/st-minus.cgs delete mode 100644 sim/testsuite/sim/m32r/st-plus.cgs delete mode 100644 sim/testsuite/sim/m32r/st.cgs delete mode 100644 sim/testsuite/sim/m32r/stb-d.cgs delete mode 100644 sim/testsuite/sim/m32r/stb.cgs delete mode 100644 sim/testsuite/sim/m32r/sth-d.cgs delete mode 100644 sim/testsuite/sim/m32r/sth.cgs delete mode 100644 sim/testsuite/sim/m32r/sub.cgs delete mode 100644 sim/testsuite/sim/m32r/subv.cgs delete mode 100644 sim/testsuite/sim/m32r/subx.cgs delete mode 100644 sim/testsuite/sim/m32r/testutils.inc delete mode 100644 sim/testsuite/sim/m32r/trap.cgs delete mode 100644 sim/testsuite/sim/m32r/unlock.cgs delete mode 100644 sim/testsuite/sim/m32r/uread16.ms delete mode 100644 sim/testsuite/sim/m32r/uread32.ms delete mode 100644 sim/testsuite/sim/m32r/uwrite16.ms delete mode 100644 sim/testsuite/sim/m32r/uwrite32.ms delete mode 100644 sim/testsuite/sim/m32r/xor.cgs delete mode 100644 sim/testsuite/sim/m32r/xor3.cgs delete mode 100644 sim/v850/ChangeLog delete mode 100644 sim/v850/Makefile.in delete mode 100644 sim/v850/acconfig.h delete mode 100644 sim/v850/config.in delete mode 100755 sim/v850/configure delete mode 100644 sim/v850/configure.in delete mode 100644 sim/v850/interp.c delete mode 100644 sim/v850/sim-main.h delete mode 100644 sim/v850/simops.c delete mode 100644 sim/v850/simops.h delete mode 100644 sim/v850/v850-dc delete mode 100644 sim/v850/v850.igen delete mode 100644 sim/v850/v850_sim.h delete mode 100644 sim/z8k/ChangeLog delete mode 100644 sim/z8k/Makefile.in delete mode 100644 sim/z8k/acconfig.h delete mode 100644 sim/z8k/comped1.c delete mode 100644 sim/z8k/comped2.c delete mode 100644 sim/z8k/comped3.c delete mode 100644 sim/z8k/compedb3.c delete mode 100644 sim/z8k/config.in delete mode 100755 sim/z8k/configure delete mode 100644 sim/z8k/configure.in delete mode 100644 sim/z8k/iface.c delete mode 100644 sim/z8k/inlines.h delete mode 100644 sim/z8k/mem.c delete mode 100644 sim/z8k/mem.h delete mode 100644 sim/z8k/quick.c delete mode 100644 sim/z8k/sim.h delete mode 100644 sim/z8k/support.c delete mode 100644 sim/z8k/syscall.h delete mode 100644 sim/z8k/tconfig.in delete mode 100644 sim/z8k/tm.h delete mode 100644 sim/z8k/writecode.c delete mode 100644 texinfo/texinfo.tex diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d597c4a8db8..a6465a18b41 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-09-04 Kevin Buettner + + * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default + vector. + 2002-09-02 Nick Clifton * elf32-v850.c (v850_elf_final_link_relocate): Use helpful diff --git a/bfd/config.bfd b/bfd/config.bfd index 55e2afcf86e..39b09ff482f 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -701,8 +701,8 @@ case "${targ}" in ;; #ifdef BFD64 mips*-*-irix6*) - targ_defvec=bfd_elf32_bigmips_vec - targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" + targ_defvec=bfd_elf32_nbigmips_vec + targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" ;; #endif mips*-*-irix5*) diff --git a/bfd/version.h b/bfd/version.h index 8ea30835cd0..e0bd74e5f51 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1 +1 @@ -#define BFD_VERSION_DATE 20020903 +#define BFD_VERSION_DATE 20020907 diff --git a/djunpack.bat b/djunpack.bat deleted file mode 100755 index f09f5ed3251..00000000000 --- a/djunpack.bat +++ /dev/null @@ -1,52 +0,0 @@ -@echo off -Rem -Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line -Rem format, or else stock DOS/Windows shells will refuse to run it. -Rem -Rem This batch file unpacks the GDB distribution while simultaneously -Rem renaming some of the files whose names are invalid on DOS or conflict -Rem with other file names after truncation to DOS 8+3 namespace. -Rem -Rem Invoke like this: -Rem -Rem djunpack gdb-XYZ.tar -Rem -Rem where XYZ is the version number. If the argument includes leading -Rem directories, it MUST use backslashes, not forward slashes. -Rem -Rem The following 2 lines need to be changed with each new GDB release, to -Rem be identical to the name of the top-level directory where the GDB -Rem distribution unpacks itself. -set GDBVER=gdb-5.0 -if "%GDBVER%"=="gdb-5.0" GoTo EnvOk -Rem If their environment space is too small, re-exec with a larger one -command.com /e:4096 /c %0 %1 -GoTo End -:EnvOk -if not exist %1 GoTo NoArchive -djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp -Rem The following uses a feature of COPY whereby it does not copy -Rem empty files. We need that because the previous line will create -Rem an empty fnchange.tmp even if the command failed for some reason. -copy fnchange.tmp junk.tmp > nul -if not exist junk.tmp GoTo NoDjTar -del junk.tmp -sed -e 's,@V@,%GDBVER%,g' < fnchange.tmp > fnchange.lst -Rem See the comment above about the reason for using COPY. -copy fnchange.lst junk.tmp > nul -if not exist junk.tmp GoTo NoSed -del junk.tmp -djtar -x -n fnchange.lst %1 -GoTo End -:NoSed -echo FAIL: Sed is not available. -GoTo End -:NoDjTar -echo FAIL: DJTAR is not available or no fnchange.lst file in %1. -GoTo End -:NoArchive -echo FAIL: the file %1 does not seem to exist. -echo Remember that %1 cannot use forward slashes, only backslashes. -GoTo End -:End -set GDBVER= diff --git a/gdb/CONTRIBUTE b/gdb/CONTRIBUTE deleted file mode 100644 index 96c943cff94..00000000000 --- a/gdb/CONTRIBUTE +++ /dev/null @@ -1,143 +0,0 @@ - - Contributing to GDB - -GDB is a collaborative project and one which wants to encourage new -development. You may wish to fix GDB bugs, improve testing, port GDB -to a new platform, update documentation, add new GDB features, and the -like. To help with this, there is a lot of documentation -available.. In addition to the user guide and internals manual -included in the GDB distribution, the GDB web pages also contain much -information. - -You may also want to submit your change so that can be considered for -conclusion in a future version of GDB (see below). Regardless, we -encourage you to distribute the change yourself. - -If you don't feel up to hacking GDB, there are still plenty of ways to -help! You can answer questions on the mailing lists, write -documentation, find bugs, create a GDB related website (contribute to -the official GDB web site), or create a GDB related software -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://www.gnu.org/software/gdb/ - -Finally, there are certain legal requirements and style issues which -all contributors need to be aware of. - -o Coding Standards - - All contributions must conform to the GNU Coding Standard. - Submissions which do not conform to the standards will be - returned with a request to reformat the changes. - - GDB has certain additional coding requirements. Those - requirements are explained in the GDB internals documentation - in the gdb/doc directory. - - Ref: http://www.gnu.org/prep/standards_toc.html - - -o Copyright Assignment - - Before we can accept code contributions from you, we need a - 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 - - Every patch must have several pieces of information before we - can properly evaluate it. - - A description of the bug and how your patch fixes this - bug. A reference to a testsuite failure is very helpful. For - new features a description of the feature and your - implementation. - - A ChangeLog entry as plaintext (separate from the patch); see - the various ChangeLog files for format and content. Note that, - 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 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@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 - Read-write CVS access page. - --- - -Supplemental information for GDB: - -o Please try to run the relevant testsuite before and after - committing a patch - - If the contributor doesn't do it then the maintainer will. A - contributor might include before/after test results in their - contribution. - - -o For bug fixes, please try to include a way of - demonstrating that the patch actually fixes something. - - The best way of doing this is to ensure that the - testsuite contains one or more test cases that - fail without the fix but pass with the fix. - - People are encouraged to submit patches that extend - the testsuite. - - -o Please read your patch before submitting it. - - A patch containing several unrelated changes or - arbitrary reformats will be returned with a request - to re-formatting / split it. - - -o If ``gdb/configure.in'' is modified then you don't - need to include patches to the regenerated file - ``configure''. - - 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/gdb/COPYING b/gdb/COPYING deleted file mode 100644 index 60549be514a..00000000000 --- a/gdb/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - 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 - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/gdb/ChangeLog b/gdb/ChangeLog deleted file mode 100644 index f37986001f9..00000000000 --- a/gdb/ChangeLog +++ /dev/null @@ -1,10807 +0,0 @@ -2002-09-03 Theodore A. Roth - - * gdb/avr-tdep.c (avr_gdbarch_init): Use - generic_unwind_get_saved_register. - -2002-09-03 David Carlton - - * dwarf2read.c (dwarf2_add_member_fn): Add the 'type' - argument (PR gdb/653). Update call to smash_to_method_type. - (read_structure_scope): Update call to dwarf2_add_member_fn. - -2002-09-03 Michal Ludvig - - * x86-64-linux-tdep.c: Include gdb_string.h - * x86-64-linux-nat.c: Ditto. - -2002-09-02 Jason Thorpe - - * ada-exp.y (yyname, yyrule): Remap global variables that appear - when YYDEBUG is set to 1. - * c-exp.y: Likewise. - * f-exp.y: Likewise. - * jv-exp.y: Likewise. - * m2-exp.y: Likewise. - * p-exp.y: Likewise. - -2002-09-02 Jason Thorpe - - * Makefile.in (i386nbsd-tdep.o): Add $(solib_svr4_h) to - dependency list. - * i386nbsd-tdep.c (i386nbsdelf_init_abi): Set - solib_svr4_fetch_link_map_offsets to - nbsd_ilp32_solib_svr4_fetch_link_map_offsets. - * config/i386/nbsd.mt (TDEPFILES): Add solib.o and solib-svr4.o. - * config/i386/nbsdaout.mh (NATDEPFILES): Remove solib.o. - * config/i386/nbsdelf.mh (NATDEPFILES): Remove solib.o, - solib-svr4.o, and solib-legacy.o. - * config/i386/tm-nbsd.h: Include solib.h. - -2002-09-02 Jason Thorpe - - * configure.tgt (i[3456]86-*-netbsdelf*): Merge with... - (i[3456]86-*-netbsd*): ...this. Set gdb_target to nbsd. - (i[3456]86-*-openbsd*): Make this a separate entry. Add a - comment noting that this needs its own target configuration. - * config/i386/nbsd.mt: New file. - * config/i386/nbsdaout.mt: Remove. - * config/i386/nbsdelf.mt: Ditto. - * config/i386/tm-nbsdaout.h: Ditto. - -2002-09-02 Jason Thorpe - - * i386nbsd-tdep.c (i386nbsd_sigtramp_offset): New function. - (i386nbsd_pc_in_sigtramp): Rewrite to use i386nbsd_sigtramp_offset. - (i386nbsd_init_abi): Don't initialize tdep->sigtramp_start or - tdep->sigtramp_end. - (i386nbsd_sigtramp_start, i386nbsd_sigtramp_end): Remove. - * config/i386/tm-nbsd.h (SIGTRAMP_START, SIGTRAMP_END) - (i386bsd_sigtramp_start, i386bsd_sigtramp_end): Remove. - -2002-09-02 Jason Thorpe - - * Makefile.in (i386nbsd-tdep.o): Add $(arch_utils_h), - $(i386_tdep_h), and $(nbsd_tdep_h) to dependency list. - * i386-tdep.h (i386bsd_init_abi): New prototype. - * i386bsd-tdep.c (i386bsd_init_abi): Remove "static" from - function declaration. - (_initialize_i386bsd_tdep): Don't register OS ABI handlers - for NetBSD-a.out or NetBSD-ELF. - (i386nbsd_sigtramp_start, i386nbsd_sigtramp_end) - (i386nbsd_sc_pc_offset, i386nbsd_sc_sp_offset) - (i386nbsd_init_abi, i386nbsdelf_init_abi): Move to... - * i386nbsd-tdep.c: ...here. Include arch-utils.h, i386-tdep.h, - and nbsd-tdep.h. - (i386nbsd_pc_in_sigtramp): New function. - (i386nbsd_init_abi): Set gdbarch_pc_in_sigtramp to - i386nbsd_pc_in_sigtramp. - (_initialize_i386nbsd_tdep): Register i386nbsd_init_abi - and i386nbsdelf_init_abi OS ABI handlers. - * config/i386/nbsdaout.mt (TDEPFILES): Add nbsd-tdep.o. - * config/i386/nbsdelf.mt (TDEPFILES): Likewise. - -2002-09-02 Mark Kettenis - - * i386-linux-nat.c (dummy_sse_values): Only try to fill in the SSE - registers if the target really has them. - -2002-08-31 Jason Thorpe - - * Makefile.in (mipsnbsd-tdep.o): Use $(nbsd_tdep_h) rather - than nbsd-tdep.h. - -2002-08-31 Jason Thorpe - - * Makefile.in (alphanbsd-tdep.o): Add $(frame_h) to dependency - list. - * alphanbsd-tdep.c (alphanbsd_sigcontext_addr) - (alphanbsd_skip_sigtramp_frame): New functions. - (alphanbsd_init_abi): Set tdep->skip_sigtramp_frame to - alphanbsd_skip_sigtramp_frame. Set tdep->sigcontext_addr - to alphanbsd_sigcontext_addr. - -2002-08-31 Jason Thorpe - - * Makefile.in (mipsnbsd-tdep.o): Add nbsd-tdep.h to dependency - list. - (nbsd-tdep.o): Add $(gdb_string_h) to dependency list. - * alphanbsd-tdep.c (alphanbsd_pc_in_sigtramp): Use - nbsd_pc_in_sigtramp. - * mipsnbsd-tdep.c: Include nbsd-tdep.h. - (mipsnbsd_pc_in_sigtramp): Use nbsd_pc_in_sigtramp. - * nbsd-tdep.c: Include gdb_string.h. - (nbsd_pc_in_sigtramp): New function. - * nbsd-tdep.h (nbsd_pc_in_sigtramp): New prototype. - * ppcnbsd-tdep.c (ppcnbsd_pc_in_sigtramp): New function. - (ppcnbsd_init_abi): Set gdbarch_pc_in_sigtramp to - ppcnbsd_pc_in_sigtramp. - * shnbsd-tdep.c (shnbsd_pc_in_sigtramp): New function. - (shnbsd_init_abi): Set gdbarch_pc_in_sigtramp to - shnbsd_pc_in_sigtramp. - * sparcnbsd-tdep.c (sparcnbsd_init_abi_elf): Set - gdbarch_pc_in_sigtramp to nbsd_pc_in_sigtramp. - * config/mips/nbsd.mt (TDEPFILES): Add nbsd-tdep.o. - -2002-08-30 Pierre Muller - - * breakpoint.c (breakpoint_init_inferior): Reset the val field of - watchpoints to NULL. - (insert_breakpoints): set val field of watchpoints if NULL. - - -2002-08-29 Jim Blandy - - * symtab.c (lookup_symbol_aux): In the cases where we find a - minimal symbol of an appropriate name and use its address to - select a symtab to read and search, use `name' (as passed to us) - as the demangled name when searching the symtab's global and - static blocks, not the minsym's name. - -2002-08-29 Keith Seitz - - * stack.c (print_frame_info_base): Always set current_source_symtab - and current_source_line. - -2002-08-29 Donn Terry - - * proc-api.c (rw_table): Fix typo in #ifdef PCSHOLD (missing S). - -2002-08-28 Keith Seitz - - * stack.c (select_frame): Add FIXME concerning selected-frame - events. - (select_frame_command): Send selected-frame-level-changed - event notification, but only if the level actually changed. - (up_silently_base): Add selected-frame-level-changed event - notification. - (down_silently_base): Likewise. - -2002-08-28 Andrew Cagney - - * Makefile.in: Update dependencies for all gdb/*.c files. - -2002-08-27 Tom Tromey - - * Makefile.in (osabi.o, i387-tdep.o, i386-linux-nat.o, lin-lwp.o, - ax-gdb.o, signals.o, jv-valprint.o, c-valprint.o, cp-abi.o): - Update dependencies. - * i387-tdep.c: Include gdb_string.h. - * osabi.c: Likewise. - * i386-linux-nat.c: Likewise. - * lin-lwp.c: Likewise. - * ax-gdb.c: Likewise. - * signals/signals.c: Likewise. - * jv-valprint.c: Likewise. - * p-lang.c: Likewise. - * c-valprint.c: Likewise. - * cp-abi.c: Likewise. - -2002-08-27 Elena Zannoni - - * cli/cli-script.h (copy_command_lines): Export. - * breakpoint.c: Include cli/cli-script.h. - * Makefile.in (breakpoint.o): Update dependencies. - -2002-08-26 Joel Brobecker - - * cli/cli-script.c (copy_command_lines): New function. - * defs.h (copy_command_lines): Export. - * testsuite/gdb.base/commands.exp: New tests for commands - attached to a temporary breakpoint, and for commands that - delete the breakpoint they are attached to. - -2002-08-26 Michael Snyder - - * breakpoint.c (bpstat_stop_status): Instead of copying the - pointer to the breakpoint commands struct, make a new copy - of the struct and point to that. - (bpstat_clear): Free the commands struct. - (bpstat_clear_actions): Free the commands struct. - (bpstat_do_actions): Free the command actions. Also execute - the local cleanups, instead of deleting them. - (delete_breakpoint): Leave the commands field of the bpstat - chain alone -- it will be freed later. - -2002-08-26 Kevin Buettner - - * rs6000-tdep.c (altivec_register_p): Restore function inadvertently - deleted in 2002-08-20 commit. This function is still used by - ppc-linux-nat.c. - -2002-08-26 Keith Seitz - - * gdb-events.sh: Add selected-frame-level-changed event. - * gdb-events.c: Regenerated. - * gdb-events.h: Regenerated. - -2002-08-26 Stephane Carrez - - Fix PR gdb/393: - * inflow.c (terminal_save_ours): New function to save terminal - settings. - * inferior.h (terminal_save_ours): Declare. - * target.c (debug_to_terminal_save_ours): New function. - (cleanup_target): Defaults to_terminal_save_ours. - (update_current_target): Inherit to_terminal_save_ours. - (setup_target_debug): Set to_terminal_save_ours. - * target.h (target_terminal_save_ours): New to save terminal settings. - (target_ops): New member to_terminal_save_ours. - * gnu-nat.c (init_gnu_ops): Set to_terminal_save_ours. - * hpux-thread.c (init_hpux_thread_ops): Likewise. - * inftarg.c (init_child_ops): Likewise. - * m3-nat.c (init_m3_ops): Likewise. - * procfs.c (init_procfs_ops): Likewise. - * wince.c (init_child_ops): Likewise. - * win32-nat.c (init_child_ops): Likewise. - * sol-thread.c (init_sol_thread_ops): Likewise. - -2002-08-26 Mark Kettenis - - * i386-tdep.c (i386_store_return_value): Undeprecate. Convert to - use regcache_* functions. - (i386_gdbarch_init): Set store_return_value instead of - deprecated_store_return_value. - - * regcache.c (regcache_raw_write_signed, - regcache_raw_write_unsigned): New functions. - * regcache.h (regcache_raw_write_signed, - regcache_raw_write_unsigned): New prototypes. - -2002-08-25 Andrew Cagney - - * Makefile.in (c-exp.tab.o, jv-exp.tab.o, f-exp.tab.o) - (m2-exp.tab.o, p-exp.tab.o, ada-exp.tab.o): Move to before the - source file dependencies. Cleanup corresponding generator rules. - -2002-08-25 Andrew Cagney - - * regcache.h (register_offset_hack): Declare. - (regcache_cooked_read_using_offset_hack): Declare. - (regcache_cooked_write_using_offset_hack): Declare. - - * regcache.c (register_offset_hack): New function. - (regcache_cooked_read_using_offset_hack): New function. - (regcache_cooked_write_using_offset_hack): New function. - (regcache_dump): Check that the registers, according to their - offset, are packed hard against each other. - (cooked_xfer_using_offset_hack): New function. - -2002-08-25 Andrew Cagney - - * regcache.c (struct regcache_descr): Add field register_type. - (init_legacy_regcache_descr): Pass a pre-allocated regcache_descr - in as a parameter - (init_regcache_descr): Initialize register_type. Pass the descr - to init_legacy_regcache_descr. Use register_type instead of - REGISTER_VIRTUAL_TYPE. - (register_type): New function. - (regcache_dump): Replace REGISTER_VIRTUAL_TYPE with register_type. - * regcache.h (register_type): Declare. - -2002-08-25 Andrew Cagney - - * rs6000-tdep.c (rs6000_gdbarch_init): Set store_struct_return - instead of deprecated_store_return_value. Fix fallout from - 2002-08-23 Andrew Cagney . - -2002-08-25 Andrew Cagney - - * regcache.c (max_register_size): New function. - (init_legacy_regcache_descr): Ensure that max_register_size is - large enough for REGISTER_VIRTUAL_SIZE. - * regcache.h (max_register_size): Declare. - -2002-08-24 Andrew Cagney - - * rs6000-tdep.c (rs6000_gdbarch_init): Use deprecated version of - store_return_value. - (e500_extract_return_value): Change type of valbuf pointer to - void. - -2002-08-24 Mark Kettenis - - * PROBLEMS: Clarify problems with FreeBSD's compiler and suggest - workaround. - - * valprint.c (print_longest) [CC_HAS_LONG_LONG && - PRINTF_HAS_LONG_LONG]: Cast val_long to (long long) or (unsigned - long long) to prevent compiler warning on 64-bit systems. - -2002-08-23 Andrew Cagney - - * gdbarch.sh (STORE_RETURN_VALUE): Add regcache parameter. - (DEPRECATED_STORE_RETURN_VALUE): New method. - (EXTRACT_RETURN_VALUE): Make buffer parameter a void pointer. - * gdbarch.h, gdbarch.c: Re-generate. - - * values.c (set_return_value): Pass current_regcache to - STORE_RETURN_VALUE. - * arch-utils.h (legacy_store_return_value): Declare. - * arch-utils.c (legacy_store_return_value): New function. - (legacy_extract_return_value): Update parameters. - - * config/pa/tm-hppa.h (DEPRECATED_STORE_RETURN_VALUE): Rename - STORE_RETURN_VALUE. - * config/pa/tm-hppa64.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/sparc/tm-sparc.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/z8k/tm-z8k.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/sparc/tm-sparclet.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/mn10200/tm-mn10200.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/m68k/tm-linux.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/m68k/tm-delta68.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/m32r/tm-m32r.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/h8500/tm-h8500.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - * config/h8300/tm-h8300.h (DEPRECATED_STORE_RETURN_VALUE): Ditto. - - * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. - * i386-tdep.c (i386_extract_return_value): Update. - * arch-utils.c (legacy_extract_return_value): Update. - * frv-tdep.c (frv_gdbarch_init): Update. - * cris-tdep.c (cris_gdbarch_init): Update. - * d10v-tdep.c (d10v_gdbarch_init): Update. - * rs6000-tdep.c (rs6000_gdbarch_init): Update. - * m68k-tdep.c (m68k_gdbarch_init): Update. - * mcore-tdep.c (mcore_gdbarch_init): Update. - * mn10300-tdep.c (mn10300_gdbarch_init): Update. - * s390-tdep.c (s390_gdbarch_init): Update. - * sparc-tdep.c (sparc_gdbarch_init): Update. - * sh-tdep.c (sh_gdbarch_init): Update. - * x86-64-tdep.c (x86_64_gdbarch_init): Update. - * v850-tdep.c (v850_gdbarch_init): Update. - * avr-tdep.c (avr_gdbarch_init): Update. - * ia64-tdep.c (ia64_gdbarch_init): Update. - * ns32k-tdep.c (ns32k_gdbarch_init): Update. - * vax-tdep.c (vax_gdbarch_init): Update. - * alpha-tdep.c (alpha_gdbarch_init): Update. - * arm-tdep.c (arm_gdbarch_init): Update. - * mips-tdep.c (mips_gdbarch_init): Update. - * i386-tdep.c (i386_gdbarch_init): Update. - -2002-08-23 Andrew Cagney - - * config/djgpp/fnchange.lst: Add entries for bfd/elf32-ppcqnx.c, - bfd/elf32-ppc.c, bfd/elf32-sh.c and bfd/elf32-shqnx.c. - -2002-08-24 Mark Kettenis - - * PROBLEMS: Refer to GDB 5.3 instead of 5.2. Mention FreeBSD - problems. - -2002-08-23 Joel Brobecker - - * infrun.c (handle_inferior_event): Move a comment outside of a - function call, in order to avoid indent reformatting this part - of the code in an unreadable way. - -2002-08-23 Grace Sainsbury - - * infrun.c (normal_stop, proceed): Remove call to print_sys_errmsg - when breakpoints fail. Move general breakpoint error messages to - insert_breakpoints. - * breakpoint.c (insert_breakpoints): Change warnings when - breakpoints are nto inserted to specify the type. Remove call to - memory_error when hardware breakpoints can't be inserted. Remove - multiple calls to warning so all messages are sent to the user at - once. - (delete_breakpoints): Make insert error messsages more explicit. - -2002-08-23 Daniel Jacobowitz - - * ChangeLog: Move gdbserver entries after GDB 5.2 to - gdbserver/ChangeLog. - -2002-08-23 Mark Kettenis - - * i386-tdep.c: Include "objfiles.h". - (i386_svr4_init_abi): Set in_solib_call_trampoline and - skip_trampoline_code. - * config/i386/tm-i386v4.h: Don't include "config/tm-sysv4.h". - (CPLUS_MARKER): Define to '.'. - - * linux-proc.c (struct linux_corefile_thread_data): Add num_notes - member. - (linux_corefile_thread_callback): Increase args->num_notes. - (linux_make_note_section): Initialize thread_args.num_notes, and - use it to determine whether notes for any threads were created. - -2002-08-23 Donn Terry - - * proc-api.c (rw_table): Do not include a row for PCDSTOP if the - corresponding macro is not defined. Likewise for PCNICE, PCSHOLD - and PCUNKILL. - (write_with_trace): Conditionalize out the switch branch handling - PCSHOLD if the corresponding macro is not defined. Likewise for - PRSABORT and PRSTOP. - This change will be needed by the Interix port. - -2002-08-22 Elena Zannoni - - * ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): use - write_register wherever possible instead of manipulating the - register bytes directly. - Assign VALUE_CONTENTS to a variable and use that. - The GPR numbers are now dependent on the architecture. - -2002-08-22 Elena Zannoni - - * rs6000-tdep.c (struct rs6000_framedata): Add saved_ev and - ev_offset fields. - (skip_prologue): Add support for BookE/e500 instructions. - (e500_extract_return_value): New function. - (frame_get_saved_regs): Add support for saving ev registers and - pseudo gpr's. - (e500_store_return_value): New function. - (rs6000_gdbarch_init): Move up default intializations of - deprecated_extract_return_value and store_return_value. Overwrite - init of store_return_value with e500 specific version. - Set extract_return_value for e500. - -2002-08-22 Elena Zannoni - - * blockframe.c (generic_call_dummy_register_unwind): Use - regcache_cooked_read to catch cases in which the variable is - stored in a pseudo register. - -2002-08-22 Andrew Cagney - - * NEWS: Mention that the i960 has been made obsolete. - * Makefile.in (SFILES): Delete remote-nrom.c, remote-nindy.c and - i960-tdep.c - (remote-nrom.o): Obsolete target. - (remote-nindy.o, i960-tdep.o): Ditto. - * remote-nrom.c: Make file obsolete. - * remote-nindy.c, remote-vx960.c: Ditto. - * config/i960/vxworks960.mt, config/i960/nindy960.mt: Ditto. - * config/i960/mon960.mt, config/i960/tm-i960.h: Ditto. - * config/i960/tm-vx960.h, config/i960/tm-nindy960.h: Ditto. - * config/i960/tm-mon960.h, i960-tdep.c: Ditto. - * configure.tgt: Make i960-*-bout*, i960-nindy-coff*, - i960-*-coff*, i960-nindy-elf*, i960-*-elf*, i960-*-nindy* and - i960-*-vxworks* obsolete. - * MAINTAINERS: Note that the i960 is obsolete. - -2002-08-21 Corinna Vinschen - - * MAINTAINERS: Change the s390 target to s390-linux-gnu (second - attempt). - -2002-08-22 Jim Blandy - - * coffread.c (coff_symfile_read): Don't try to read the line - number table from disk if the image file doesn't have a symbol - table; we'll never actually look at the info anyway, and Windows - ships DLL's with bogus file offsets for the line number data. - -2002-08-21 Elena Zannoni - - * rs6000-tdep.c (rs6000_gdbarch_init): Figure out whether we have - an e500 executable. - -2002-08-21 Michael Snyder - - * mips-tdep.c (MSYMBOL_IS_SPECIAL): Replace macro with function. - (MSYMBOL_SIZE): Replace macro with function. - (DEFAULT_MIPS_TYPE): Delete unused macro. - * config/mips/tm-mips.h (DEFAULT_MIPS_TYPE): Delete unused macro. - * config/mips/tm-embed.h (DEFAULT_MIPS_TYPE): Delete unused macro. - -2002-08-21 Jim Blandy - - * valops.c (value_cast): Simplify and correct logic for doing a - static cast from a pointer to a base class to a pointer to a - derived class. - -2002-08-21 Andrew Cagney - - * infcmd.c (default_print_registers_info): Replace - do_registers_info. - (registers_info): Use gdbarch_print_registers_info instead of - DO_REGISTERS_INFO. - * inferior.h (default_print_registers_info): Replace - do_registers_info. - * gdbarch.sh (PRINT_REGISTERS_INFO): New method. - (DO_REGISTERS_INFO): Change to a predicate function. - * gdbarch.h, gdbarch.c: Regenerate. - -2002-08-21 Keith Seitz - - * gdb-events.sh: Add target-changed event. - * gdb-events.c: Regenerated. - * gdb-events.c: Regenerated. - * valops.c (value_assign): Add target-changed event notification - to inlval_register, lval_memory, and lval_reg_frame_relative. - -2002-08-21 Joel Brobecker - - * NEWS: Add an entry regarding the improvement of the next/step - operation on Alpha Tru64 multi-processor machines. - -2002-08-21 Andrew Cagney - - * Makefile.in: Update dependencies for mi/ cli/ and tui/ - directores. - * Makefile.in: Update all _h macro definitions. - * Makefile.in (install-gdbtk): Move to install section. - (rdi-share/libangsd.a): Move to end of file. - -2002-08-19 Andrew Cagney - - * frame.c (frame_register_unwind): When a register, set addrp to - the register's byte. - -2002-08-20 Michael Snyder - - * mips-tdep.c (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): These are only - used locally, so move them from the target machine header to here. - (mips_set_processor_type, mips_register_name, mips32_next_pc, - mips16_next_pc, cached_proc_desc, mips_set_processor_type): - Make static. - * config/mips/tm-mips.h (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Delete. - -2002-08-20 Andrew Cagney - - * NEWS: Mention that the Apollo line was made obsolete. - * configure.tgt: Make m68*-apollo*-bsd*, m68*-hp-bsd*, and - m68*-hp-hpux* obsolete. - * configure.host: Make m68*-apollo*-sysv*, m68*-apollo*-bsd*, - m68*-hp-bsd* and m68*-hp-hpux* obsolete. - * buildsym.c (make_blockvector): Make static. - * buildsym.h (make_blockvector): Make extern declaration obsolete. - * Makefile.in (HFILES_NO_SRCDIR): Remove dst.h - (ALLDEPFILES): Remove dstread.c. - (dstread.o): Obsolete make rule. - * dstread.c: Makefile obsolete. - * dst.h: Ditto. - * config/m68k/hp300hpux.mt: Ditto. - * config/m68k/hp300hpux.mh: Ditto. - * config/m68k/hp300bsd.mt: Ditto. - * config/m68k/hp300bsd.mh: Ditto. - * config/m68k/apollo68b.mt: Ditto. - * config/m68k/apollo68v.mh: Ditto. - * config/m68k/apollo68b.mh: Ditto. - -2002-08-20 Michael Snyder - - * mips-tdep.c (mips_in_return_stub): Make static. - (mips_gdbarch_init): Set in_solib_return_trampoline. - * config/mips/tm-mips.h (IN_SOLIB_RETURN_TRAMPOLINE): Delete. - -2002-08-20 Michael Snyder - - * gdbarch.sh (IN_SOLIB_RETURN_TRAMPOLINE): Add. - * gdbarch.c, gdbarch.h: Regenerate. - * arch-utils.c, arch-utils.h (generic_in_solib_return_trampoline): - Add. - * infrun.c (IN_SOLIB_RETURN_TRAMPOLINE): Delete default definition. - -2002-08-20 Michael Snyder - - * mips-tdep.c (mips_skip_stub, mips_in_call_stub): Make static. - (mips_gdbarch_init): Set skip_trampoline_code, - in_solib_call_trampoline. - * config/mips/tm-mips.h (REGISTER_NAME): Delete. - (IN_SOLIB_CALL_TRAMPOLINE, SKIP_TRAMPOLINE_CODE): Delete. - -2002-08-20 Elena Zannoni - - * ppc-tdep.h (struct gdbarch_tdep): Add ev registers. - - * rs6000-tdep.c (rs6000_register_virtual_type): Return 64 bit - vector type for ev registers. - (e500_pseudo_register_read): New function. - (e500_pseudo_register_write): New function. - (e500_dwarf2_reg_to_regnum): New function. - (PPC_UISA_NOFP_SPRS): New macro. - (PPC_EV_REGS): New macro. - (PPC_GPRS_PSEUDO_REGS): New macro. - (registers_e500): New register set for e500. - (variants): Add e500 variant. - (rs6000_gdbarch_init): Move setting of pc, sp, fp regnums to - before setting architectural dependent variations. Initialize ev - registers numbers. Add case for e500 architecture. Set the - number of pseudo registers. - -2002-08-20 Elena Zannoni - - * rs6000-tdep.c: Clean up comments. - -2002-08-20 Andrew Cagney - - * h8300-tdep.c: Re-indent file. - -2002-08-20 Jim Blandy - - * Makefile.in (LDFLAGS): Allow the configure script to establish a - default for this. - -2002-08-20 Keith Seitz - - * breakpoints.c (watch_command_1): Use internal breakpoint - when setting a watchpoint_scope breakpoint. - -2002-08-20 Elena Zannoni - - * gdbtypes.c (build_builtin_type_vec64): Add name to type. - (build_builtin_type_vec64i): Ditto. - (build_builtin_type_vec128): Ditto. - (build_builtin_type_vec128i): Ditto. - -2002-08-19 Michael Snyder - - * config/mips/tm-mips.h (ELF_MAKE_MSYMBOL_SPECIAL): Delete. - (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Change into functions. - (FIX_CALL_DUMMY, PUSH_RETURN_ADDRESS, PUSH_DUMMY_FRAME, - POP_FRAME, INIT_EXTRA_FRAME_INFO): Delete. - (CALL_DUMMY_START_OFFSET, CALL_DUMMY_BREAKPOINT_OFFSET, - CALL_DUMMY_ADDRESS): Delete. - * mips-tdep.c (mips_elf_make_msymbol_special, mips_msymbol_size, - mips_msymbol_is_special, mips_fix_call_dummy): New functions. - (mips_gdbarch_init): Set elf_make_msymbol_special, pop_frame, - push_dummy_frame, fix_call_dummy, init_extra_frame_info, - push_return_address. - (mips_register_raw_size, mips_eabi_use_struct_convention, - mips_n32n64_use_struct_convention, mips_o32_use_struct_convention, - mips_o32_reg_struct_has_addr, mips_frame_saved_pc, mips_frame_chain, - mips_init_extra_frame_info, mips_eabi_push_arguments, - mips_n32n64_push_arguments, mips_push_return_address, - mips_push_dummy_frame, mips_pop_frame, mips_skip_prologue, - mips_breakpoint_from_pc, mips_call_dummy_address): Make static. - -2002-08-19 Michael Snyder - - * mips-tdep.c (mips_frame_num_args): New function. - (mips_gdbarch_init): Set frame_chain, frameless_function_invocation, - frame_saved_pc, frame_args_address, frame_locals_address, - frame_num_args, and frame_args_skip. - * config/mips/tm-mips.h (FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, - FRAME_SAVED_PC, FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, - FRAME_NUM_ARGS, FRAME_ARGS_SKIP): Delete. - * config/mips/tm-mipsv4.h (FRAME_CHAIN_VALID): Delete. - -2002-08-20 Michael Snyder - - * config/mips/tm-mips.h (STORE_STRUCT_RETURN): Delete. - (EXTRACT_STRUCT_VALUE_ADDRESS): Delete. - * mips-tdep.c (mips_store_struct_return): New function. - (mips_extract_struct_value_address): New function. - (mips_gdbarch_init): Set store_struct_return and - extract_struct_value_address. - -2002-08-20 David Carlton - - * dwarf2read.c (dwarf2_build_psymtabs): Check that - dwarf_line_offset is nonzero before creating dwarf_line_buffer. - (read_file_scope): Check that line_header is nonzero before - decoding macro information. - -2002-08-20 Mark Kettenis - - * i386-tdep.h (FP_REGNUM_P): Change such that we don't incorrectly - flag the general-purpose registers as floating-point on targets - that don't support the floating-point registers. - -2002-08-20 Elena Zannoni - - * rs6000-tdep.c (altivec_register_p): Delete. - (rs6000_do_altivec_registers): Delete. - (rs6000_altivec_registers_info): Delete. - (rs6000_do_registers_info): Delete. - (_initialize_rs6000_tdep): Remove command 'info powerpc altivec'. - (rs6000_gdbarch_init): Remove setting of do_registers_info. - -2002-08-20 Elena Zannoni - - * infcmd.c (do_registers_info): Print vector registers in hex - format only. - (print_vector_info): Check that printing registers - makes sense. - (print_float_info): Ditto. - -2002-08-20 Andrew Cagney - - * mips-tdep.c (mips_gdbarch_init): Update. - (mips_o32_extract_return_value): Rewrite. - (mips_o32_store_return_value): Rewrite. - (mips_o32_xfer_return_value): New function. - (mips_xfer_register): Tweak debug print message. Allow for - buf_offset when dumping the value transfered. - -2002-08-20 Andrew Cagney - - * config/mips/tm-nbsd.h (MIPS_DEFAULT_ABI): Delete. - * config/mips/tm-linux.h (MIPS_DEFAULT_ABI): Delete. - * config/mips/tm-irix5.h (MIPS_DEFAULT_ABI): Delete. - * config/mips/tm-irix6.h (MIPS_DEFAULT_ABI): Delete. - * mips-tdep.c (mips_gdbarch_init) [MIPS_DEFAULT_ABI]: Delete code. - -2002-08-14 Michael Snyder - - * mips-tdep.c (mips_frame_chain): Check for call-dummy frames. - -2002-08-19 Elena Zannoni - - * rs6000-tdep.c (struct reg): Add field to indicate a pseudo - register. - (P): New macro to define a register as a pseudo register. - (R, R4, R8, R16, FR32, R64, R0): Updated. - (struct variant): Add new fields for number of pseudo registers - and number of total registers. - (tot_num_registers): New macro replacing.... - (num_registers): ...deleted macro. - (num_registers): New function. - (num_pseudo_registers): New function. - (variants): Update all variants to intialize new fields correctly. - Postpone initialization of number of pseudo regs and real regs. - (init_variants): New function. - (rs6000_gdbarch_init): Initialize variants. Update calculation of - registers offsets. - -2002-08-19 David Carlton - - * valops.c (search_struct_field): Change error message to treat - return value of 0 from value_static_field as meaning that field is - optimized out. - (value_struct_elt_for_reference): Ditto. - * values.c (value_static_field): Treat an unresolved location the - same as a nonexistent symbol. Fix PR gdb/635. - * gnu-v2-abi.c (gnuv2_value_rtti_type): Eliminate test for being - enclosed. Fix PR gdb/574. - * MAINTAINERS: Add self to Write After Approval list. - -2002-08-19 Andrew Cagney - - * mips-tdep.c (mips_xfer_register): New function. - (mips_n32n64_extract_return_value): Rewrite. - (mips_gdbarch_init): For N32 and N64, set extract_return_value - instead of deprecated_extract_return_value. - -2002-08-19 Elena Zannoni - - * rs6000-tdep.c (TDEP): Delete macro. - (branch_dest): Replace use of TDEP macro with its body. - (rs6000_pop_frame): Ditto. - (rs6000_push_arguments): Ditto. - (rs6000_skip_trampoline_code): Ditto. - (rs6000_frame_saved_pc): Ditto. - (rs6000_frame_chain): Ditto. - (rs6000_register_name): Ditto. - (rs6000_register_byte): Ditto. - (rs6000_register_raw_size): Ditto. - (rs6000_register_virtual_type): Ditto. - (rs6000_register_convertible): Ditto. - (rs6000_convert_from_func_ptr_addr): Ditto. - -2002-08-19 Daniel Jacobowitz - - * config/mips/tm-linux.h (REALTIME_LO, REALTIME_HI): Define - conditionally. - (JB_PC, JB_ELEMENT_SIZE): Rename to MIPS_LINUX_JB_PC and - MIPS_LINUX_JB_ELEMENT_SIZE. - * mips-linux-tdep.c (supply_gregset, fill_gregset): Use alloca - for MAX_REGISTER_RAW_SIZE arrays. - (mips_linux_get_longjmp_target): Use MIPS_LINUX_JB_PC and - MIPS_LINUX_JB_ELEMENT_SIZE. - -2002-08-19 Pierre Muller - - * i387-tdep.c (i387_print_float_info): Fix typo in comment. - -2002-08-19 Aidan Skinner - - * Makefile.in (SFILES): Add ada-exp.y ada-lang.c ada-typeprint.c - ada-valprint.c ada-tasks.c. - (YYFILES): Add ada-exp.y. - (ada-exp.tab.c ada-lex.c ada-lang.o): New target. - (ada-tasks.o ada-typeprint.o ada-valprint.o): New target. - (ada-exp.tab.o): New target. - -2002-08-18 Andrew Cagney - - * regcache.c (regcache_xfer_part): New function. - (regcache_raw_read_part): New function. - (regcache_raw_write_part): New function. - (regcache_cooked_read_part): New function. - (regcache_cooked_write_part): New function. - * regcache.h (regcache_raw_read_part): Declare. - (regcache_raw_write_part): Declare. - (regcache_cooked_read_part): Declare. - (regcache_cooked_write_part): Declare. - -2002-08-18 Daniel Jacobowitz - - * remote.c (remote_open_1): Add async_p. - (remote_async_open_1): Delete. - (open_remote_target): Delete. - (remote_open, extended_remote_open): Update calls to remote_open_1. - (remote_async_open, extended_remote_async_open): Call - remote_open_1 instead of remote_async_open_1. - -2002-08-19 Mark Kettenis - - * blockframe.c: Fix a few coding standard violations. - -2002-08-19 Mark Kettenis - - * config/i386/nm-i386sco5.h (START_INFERIOR_TRAPS_EXPECTED): Moved - here from ... - * config/i386/tm-i386sco5.h: ... here. File removed. - * config/i386/i386sco5.mt (TM_FILE): Set to tm-i386v4.h. - - * config/i386/nm-i386v.h (START_INFERIOR_TRAPS_EXPECTED): New define. - * config/i386/i386aout.mt (TDEPFILES): Add i387-tdep.o - (TM_FILE): Set to tm-i386.h. - * config/i386/i386v.mt (TM_FILE): Set to tm-i386.h. - * config/i386/tm-i386v.h: Remove file. - * config/i386/tm-ptx.h [!SEQUENT_PTX4]: Include "i386/tm-i386.h" - instead of "i386/tm-i386v.h". - (START_INFERIOR_TRAPS_EXPECTED): Remove define. - * config/i386/tm-symmetry: Include "i386/tm-i386.h" instead of - "i386/tm-i386v.h". - (START_INFERIOR_TRAPS_EXPECTED): Remove define. - * config/i386/tm-vxworks.h: Include "i386/tm-i386.h" instead of - "i386/tm-i386.h". - -2002-08-18 Mark Kettenis - - * config/i386/nm-i386v.h: Add protection against - multiple-inclusion. - (i386_register_u_addr): Remove prototype. - (register_u_addr): New prototype. - (REGISTER_U_ADDR): Redefine accordingly. - * i386v-nat.c: Improve several comments. - (i386_register_u_addr): Change signature and rename to - register_u_addr. Use FP_REGNUM_P. Rewrite slightly to get rid of - ubase variable. - -2002-08-18 Andrew Cagney - - * config/mips/tm-mips.h (STORE_RETURN_VALUE): Delete macro. - (DEPRECATED_EXTRACT_RETURN_VALUE): Delete macro. - * mips-tdep.c (mips_gdbarch_init): Set store_return_value and - deprecated_extract_return_value. - (mips_o32_push_arguments, mips_o64_push_arguments): Clone and - rename mips_o32o64_push_arguments. - (mips_gdbarch_init): Update. - (mips_extract_return_value): Delete. - (mips_o32_extract_return_value): Clone mips_extract_return_value. - (mips_o64_extract_return_value): Clone mips_extract_return_value. - (mips_eabi_extract_return_value): Clone mips_extract_return_value. - (mips_n32n64_extract_return_value): Clone - mips_extract_return_value. - (mips_store_return_value): Delete. - (mips_o32_store_return_value): Clone mips_store_return_value. - (mips_o64_store_return_value): Clone mips_store_return_value. - (mips_eabi_store_return_value): Clone mips_store_return_value. - (mips_n32n64_store_return_value): Clone mips_store_return_value. - -2002-08-18 Aidan Skinner - - * ada-lang.c: Use gdb_string.h instead of . - * ada-typeprint.c: Use gdb_string.h instead of . - -2002-08-18 Aidan Skinner - - * ada-lang.c: Run through gdb_indent.sh. - * ada-lang.h: Run through gdb_indent.sh. - * ada-tasks.c: Run through gdb_indent.sh. - * ada-typeprint.c: Run through gdb_indent.sh. - * ada-valprint.c: Run through gdb_indent.sh. - -2002-08-18 Andrew Cagney - - * osabi.c (gdbarch_init_osabi): Don't complain about an unknown - ABI. - -2002-08-18 Mark Kettenis - - * i386b-nat.c [FETCH_INFERIOR_REGISTERS]: Remove dead code. - - * config/i386/nm-i386bsd.h (FLOAT_INFO): Remove redundant #undef. - * i386b-nat.c [FLOAT_INFO]: Remove dead code. - - * i386-tdep.c (i386_do_pop_frame, i386_store_return_value): Call - write_register_gen instead of write_register_bytes. - - * NEWS: Mention that the i[3456]-*mach3*, i[3456]-*-mach* and - i[3456]-*-osf1mk* configurations have been made obsolete. - * configure.host: Make i[3456]86-*-mach3*, i[3456]86-*mach* and - i[3456]86-*-osf1mk* hosts obsolete. - * confighure.tgt: Make i[3456]86-*-mach3*, i[3456]86-*-osf1mk* - targets obsolete. - * config/i386/i386mach.mh, config/i386/nm-i386mach.h, - config/i386/xm-i386mach.h, config/i386/i386m3.mh, - config/i386/i386m3.mt, config/i386/nm-m3.h, - config/i386/tm-i386m3.h, config/i386/xm-i386m3.h, - config/i386/i386mk.mh, config/i386/i386mk.mt, - config/i386/tm-i386mk.h, config/i386/xm-i386mk.h: Make files - obsolete. - * i386mach-nat.c, i386m3-nat.c: Make files obsolete. - * Makefile.in (ALLDEPFILES): Remove i386mach.c i386m3-nat.c - (i386mach-nat.o, i386m3-nat.o):Make targets obsolete. - -2002-08-18 Andrew Cagney - - * config/pa/tm-hppa.h (hppa_store_return_value): Declare. - (hppa_value_returned_from_stack): Declare. - (hppa_extract_return_value): Declare. - * config/pa/hppa.mt: New file. - * configure.tgt: Recognize hppa*-*-*. - * MAINTAINERS: Change HPPA target to hppa-elf. Still broken. - -2002-08-18 Mark Kettenis - - * i386-sol2-tdep.c (_initialize_i386_sol2_tdep): Fix typo in - comment. - -2002-08-17 Mark Kettenis - - * top.c (gdb_rl_operate_and_get_next): Make sure - operate-and-get-next functions correctly even when the history - list is completely filled. - -2002-08-18 Andrew Cagney - - * MAINTAINERS (Target Instruction Set Architectures): Rename - Target/Architectures. Replace vax-dec-vms5.5 with vax-netbsd. - Replace s390-linux with s390-linux-gnu. Remove i386-aout, - mcore-pe, mips64-elf, sparc64-elf. Remove i586-pc-msdosdjgpp, - already listed under Host/Native. - - * configure.tgt: Combine i[3456]86-*-coff*, i[3456]86-*-elf*, - i[3456]86-*-pe*, and i[3456]86-*-aout* into i[3456]86-*-*. Add - mips*-*-*. - -2002-08-17 Andrew Cagney - - * config/ia64/ia64.mt: New file. - * config/alpha/alpha.mt: New file. - * MAINTAINERS: Change the alpha target to alpha-elf and IA-64 to - ia64-linux-gnu. Mention that ia64-elf is broken. - * configure.tgt: Add alpha*-*-* and ia64*-*-* patterns. - -2002-08-17 Mark Kettenis - - * i386-tdep.c (i386_svr4_init_abi, i386_nw_init_abi): Use - generic_func_frame_valid instead of func_frame_valid. - -2002-08-16 Joel Brobecker - - * alpha-osf1-tdep.c (alpha_osf1_init_abi): Unfortunately, - procfs appears to be broken when debugging on multi-processor - machines. So enable software single stepping in order to avoid - using the procfs interface to do next/step operations, using - internal breakpoints instead. - - * infrun.c (handle_inferior_event): Readjust the stop_pc by - DECR_PC_AFTER_BREAK when hitting a single step breakpoint, to - make this pc address equal to the value it would have if the - system stepping capability was used. Also set a new flag used - to ensure that we don't readjust the PC one more time later. - - * breakpoint.c (bpstat_stop_status): Do not adjust the PC - address by DECR_PC_AFTER_BREAK when software single step is - in use for this architecture, as this has already been taken - care of in handle_inferior_event(). - -2002-08-16 Joel Brobecker - - * infrun.c (handle_inferior_event): Minor reformatting, to make - a rather long condition expression easier to read. - -2002-08-16 Andrew Cagney - - * Makefile.in (gdbtk.o): Move to end of file. - (gdbtk-bp.o, gdbtk-cmds.o): Ditto. - (gdbtk-hooks.o, gdbtk-register.o): Ditto. - (gdbtk-stack.o, gdbtk-varobj.o): Ditto. - (gdbtk-wrapper.o, gdbres.o): Ditto. - -2002-08-16 Andrew Cagney - - * Makefile.in (copying.o): Separate out compile rule. - (hpux-thread.o, procfs.o, signals.o): Ditto. - (v850ice.o, z8k-tdep.o): Ditto. - (tui-file.o): Move to TUI section. - (xdr_ptrace.o, xdr_rdb.o, xdr_ld.o): Move to separate section. - (nindy.o, Onindy.o, ttyflush.o): Move to separate section. - -2002-08-16 Joel Brobecker - - * i386-tdep.c (i386_pe_skip_trampoline_code): renamed from - skip_trampoline_code, for better namespace-proofing. - - * i386-tdep.h (i386_pe_skip_trampoline_code): Add declaration. - -2002-08-16 Joel Brobecker - - * config/i386/tm-cygwin.h: Remove some "#if 0"'ed macros. - -2002-08-16 Joel Brobecker - - * infrun.c (handle_inferior_event): When receiving a SIGTRAP - signal, check whether we hit a breakpoint before checking for a - single step breakpoint. Otherwise, GDB fails to notice that a - breakpoint has been hit when stepping onto a breakpoint. - -2002-08-16 Keith Seitz - - * gdb-events.sh (clear_gdb_event_hooks): New function. - * gdb-events.c: Regenerate. - * gdb-events.h: Regenerate. - -2002-08-16 Andrew Cagney - - * breakpoint.c (bpstat_stop_status): Rename not_a_breakpoint to - not_a_sw_breakpoint. - * breakpoint.h (bpstat_stop_status): Add parameter names. - -2002-08-16 Grace Sainsbury - - * remote.c (remote_insert_hw_breakpoint) - (remote_remove_hw_breakpoint): Fix calculation of length field - for Z-packet. - -2002-08-15 Michael Snyder - - * irix5-nat.c (supply_gregset): Allocate plenty-big buffer - (32 bytes) instead of using MAX_REGISTER_RAW_SIZE. - (supply_fpregset): Ditto. - - * config/mips/tm-mips.h (REGISTER_CONVERT_TO_VIRTUAL, - REGISTER_CONVERT_TO_RAW, REGISTER_CONVERTIBLE, - MAX_REGISTER_RAW_SIZE, MAX_REGISTER_VIRTUAL_SIZE): Delete. - (TARGET_READ_SP): Delete. - (DO_REGISTERS_INFO): Delete. - (FUNCTION_START_OFFSET, IN_SIGTRAMP, REGISTER_VIRTUAL_SIZE): - Delete. - (REGISTER_CONVERT_FROM_TYPE, REGISTER_CONVERT_TO_TYPE): Convert - from macros to functions. - - * mips-tdep.c (mips_gdbarch_init): Set the above in the gdbarch. - (mips_register_convertible, mips_register_convert_to_virtual, - mips_register_convert_to_raw): Make static. - (mips_read_sp): New function. - (mips_gdbarch_init): Set gdbarch read_sp to mips_read_sp. - (mips_do_registers_info): Make static. - (mips_gdbarch_init): Insert mips_do_registers_info into gdbarch. - (in_sigtramp): Make static, rename to mips_pc_in_sigtramp. - (mips_register_convert_from_type, mips_register_convert_to_type): - New functions. - (mips_gdbarch_init): Set up function_start_offset, - register_virtual_size, pc_in_sigtramp. - -2002-08-15 Andrew Cagney - - * infcmd.c (vector_info): New function. - (_initialize_infcmd): Add command "info vector". - (print_vector_info): New function. - - * gdbarch.sh (PRINT_VECTOR_INFO): New method - * gdbarch.h, gdbarch.c: Regenerate. - -2002-08-15 Andrew Cagney - - * infcmd.c (do_registers_info): Rename parameter ``fpregs'' to - ``print_all''. Only print vector registers when ``print_all''. - -2002-08-15 Andrew Cagney - - * i387-tdep.h (i387_print_float_info): Add `args' parameter. - * i387-tdep.c (i387_print_float_info): Add `args' parameter. - - * gdbarch.sh (PRINT_FLOAT_INFO): Change to a predicate method. - Add `args' parameter. - * gdbarch.h, gdbarch.c: Regenerate. - - * arm-tdep.c (arm_print_float_info): Add the parameter `args'. - - * infcmd.c (float_info): Call print_float_info. - (print_float_info): New function. By default, print the - floating-point registers. - - * arch-utils.h (default_print_float_info): Delete declaration. - * arch-utils.c (default_print_float_info): Delete function. - -2002-08-16 Mark Kettenis - - * config/i386/nm-i386v.h (FLOAT_INFO): Remove already commented - out define. - - * i387-tdep.c (i387_print_float_info): Add comment about ignoring - FRAME. - - * NEWS: Mention that the i[3456]-*-aix target has been made obsolete. - * configure.host: Make i[3456]86-*-aix host obsolete. - * configure.tgt: Make i[3456]86-*-aix target obsolete. - * config/i386/i386aix.mh, config/i386/i386aix.mt, - config/i386/nm-i386aix.h, condig/i386/tm-i386aix.h, - config/i386/xm-i386aix.h: Make files obsolete. - * i386aix-nat.c: Make file obsolete. - * Makefile.in (ALLDEPFILES): Remove i386aix-nat.c. - (i386aix-nat.o): Make target obsolete. - - * config/i386/nm-gnu.h: Removed. - * config/i386/nm-i386gnu.h: New file. - (THREAD_STATE_FLAVOR, THREAD_STATE_SIZE, - THREAD_STATE_SET_TRACED, THREAD_STATE_CLEAR_STATE, ATTACH_DETACH): - Moved here from ... - * config/i386/tm-i386gnu.h: ... here. Removed. - * config/i386/xm-i386gnu.h: Removed. - * config/i386/i386gnu.mh (XM_FILE): Set to xm-i386.h. - (NAT_FILE): Set to nm-i386gnu.h. - * config/i386/i386gnu.mt (TDEPFILES): Add i386gnu-tdep.o. - * i386-tdep.c: New file. - * Makefile.in (ALLDEPFILES): Add i386gnu-nat.c and i386gnu-tdep.c. - (i386gnu-tdep.o): Specify dependencies. - -2002-08-15 Mark Kettenis - - * config/i386/tm-i386sco5.h: Include "i386/tm-i386v4.h" instead of - "i386/tm-i386.h", "i386/tm-i386v.h" and "config/tm-sysv.h". - Adjust a few comments to reflect reality a bit closer. - (KERNEL_U_SIZE, TARGET_HAS_HARDWARE_WATCHPOINTS, - TARGET_CAN_USE_HARDWARE_WATCHPOINT, HAVE_CONTINUEABLE_WATCHPOINT, - HAVE_STEPPABLE_WATCHPOINT, STOPPED_BY_WATCHPOINT, - target_insert_watchpoint, target_remove_watchpoint): - Move defines to ... - * config/i386/nm-i386sco5.h: ... here. - (kernel_u_size): Add prototype. Improve a few comments and add - protection against multiple inclusion. - - * config/i386/nm-i386sco.h (FLOAT_INFO): Remove already commented - out define. - - * uw-thread.c (SP_ARG0): Define if not already defined. - * config/i386/tm-i386.h (SO_ARG0): Remove define. - - * config/i386/tm-i386v4.h (HAVE_I387_REGS): Remove define. - - * config/i386/tm-i386.h: Don't include "regcache.h". - - * i387-tdep.h (i387_print_float_info): New prototype. - * i387-tdep.c (print_i387_value, print_i387_ext, - print_i387_status_word, print_i387_control_word): Add `struct - ui_file *' argument and use it for output. - (i387_print_float_info): Renamed from i387_float_info. Add - `struct gdbarch *' and `struct ui_file *' arguments and use the - latter for output. - * i386-tdep.c: Include "i387-tdep.h". - (i386_gdbarch_init): Set print_float_info. - * config/i386/tm-i386.h (i387_float_info): Remove prototype. - (FLOAT_INFO): Remove define. - -2002-08-13 Michael Snyder - - * mips-tdep.c (mips_push_arguments): Rename to - mips_eabi_push_arguments, and tune for EABI. - (MIPS_REGS_HAVE_HOME_P): Delete. - (struct gdbarch_tdep): Remove mips_regs_have_home_p field. - (mips_gdbarch_init): Set gdbarch push_arguments for eabi. - Delete references to mips_regs_have_home_p. - -2002-08-14 Keith Seitz - - * Makefile.in (install-gdbtk): Create insight plugin directory. - Install plugins.tcl file. - -2002-08-14 Keith Seitz - - * configure.in: Move SUBDIRS to near top of the file so that - --enable options may add things to it. - If gdbtk is enabled, add gdbtk directory to SUBDIRS and configdirs. - * configure: Regenerate. - -2002-08-13 Michael Snyder - - * mips-tdep.c (mips_o32o64_push_arguments): New function, - cloned from mips_push_arguments, tuned for o32/o64 ABI. - (mips_gdbarch_init): Set gdbarch_push_arguments to new func. - -2002-08-13 Andrew Cagney - - * vax-tdep.c (vax_get_saved_register): Delete function. - (vax_gdbarch_init): Update. - * ns32k-tdep.c (ns32k_get_saved_register): Delete function. - (ns32k_gdbarch_init): Update. - * alpha-tdep.c (alpha_get_saved_register): Delete function. - (alpha_gdbarch_init): Update. - -2002-08-13 Andrew Cagney - - * regcache.c (init_regcache_descr): Overallocate the - raw_register_valid_p array including space for NUM_PSEUDO_REGS. - (registers_changed): Replace NUM_REGS+NUM_PSEUDO_REGS with - nr_raw_registers. - (set_register_cached): Add range checking assertions. Use - current_regcache. - -2002-08-13 Mark Kettenis - - * i386-tdep.c (i386_stab_reg_to_regnum): Return correct register - numbers for MMX registers. - -2002-08-13 Andrew Cagney - - * i386-tdep.c (i386_gdbarch_init): Use - generic_unwind_get_saved_register. - -2002-08-13 Kevin Buettner - - * procfs.c (procfs_can_use_hw_breakpoint): New function. - (init_procfs_ops): Define ``to_can_use_hw_breakpoint'' for procfs - target vector. - * config/mips/nm-irix5.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT): - Delete. Add comment regarding this now-deleted target method. - -2002-08-13 Stephane Carrez - - * m68hc11-tdep.c (M68HC12_NUM_PSEUDO_REGS): New define. - (M68HC12_HARD_PC_REGNUM): Define specific PC for 68HC12 (pseudo reg). - (m68hc11_pseudo_register_read): Compute the 68HC12 PC using the - real PC and the page number (if it's within the memory bank window). - (m68hc11_pseudo_register_write): Likewise when saving. - (m68hc11_register_name): Name the virtual pc 'pc' and the real one ppc. - (m68hc11_register_virtual_type): Return uint32 for virtual pc. - (m68hc11_register_raw_size): And use 32-bit for it. - (m68hc11_gdbarch_init): Use 32-bit address for 68HC12 if the - 16K memory bank is used by the prog; also use the virtual pc. - -2002-08-13 Stephane Carrez - - * m68hc11-tdep.c (m68hc11_elf_make_msymbol_special): New function. - (m68hc11_gdbarch_init): Install it in gdbarch. - (MSYMBOL_SET_RTC, MSYMBOL_SET_RTI): New to set symbol specific flags. - (MSYMBOL_IS_RTC, MSYMBOL_IS_RTI): New to test these flags. - (MSYMBOL_SIZE): New for documentation. - (insn_return_kind): Enum to specify how a function returns. - (frame_extra_info): Cleanup and record the return mode. - (gdbarch_tdep, USE_PAGE_REGISTER): New to control the use of page - register in address computation. - (m68hc11_get_return_insn): New to obtain the return instruction used - by the function. - (m68hc11_frame_init_saved_regs): Take into account the return - instruction used by the function for far and interrupt functions. - (m68hc11_init_extra_frame_info): Take into account page register. - (m68hc11_frame_args_address): Adjust according to the return mode. - (show_regs): Print page register only when it's used. - -2002-08-13 Stephane Carrez - - * m68hc11-tdep.c (HARD_PAGE_REGNUM): Define for 68HC12 page register. - (M68HC11_LAST_HARD_REG, m68hc11_register_names): Update. - (m68hc11_register_virtual_type): Return a 8-bit type for 8-bit - registers. - (m68hc11_register_raw_size): Likewise. - -2002-08-13 Andrew Cagney - - * i386-tdep.c (i386_register_name): Handle mmx registers. - (mmx_regnum_p): New function. - (i386_mmx_names): New array. - (mmx_num_regs): New variable. - (i386_pseudo_register_read): New function. - (i386_pseudo_register_write): New function. - (mmx_regnum_to_fp_regnum): New function. Code from Fernando Nasser. - - * regcache.c (regcache_raw_read_unsigned): New function. - (regcache_raw_read_signed): New function. - * regcache.h (regcache_raw_read_unsigned): Declare. - (regcache_raw_read_signed): Declare. - -2002-08-13 Andrew Cagney - - * regcache.c (regcache_raw_read_as_address): Delete function. - (regcache_cooked_read_signed): New function. - (regcache_cooked_read_unsigned): New function. - * regcache.h (regcache_cooked_read_signed): Declare. - (regcache_cooked_read_unsigned): Declare. - (regcache_raw_read_as_address): Delete declaration. - - * blockframe.c (generic_read_register_dummy): Use - regcache_cooked_read_unsigned. - * i386-tdep.c (i386_extract_struct_value_address): Use - regcache_cooked_read_unsigned. - -2002-08-13 Stephane Carrez - - * m68hc11-tdep.c (m68hc11_gdbarch_init): Set int, double and long - double sizes according to ELF ABI flags. - (gdbarch_tdep): Record elf_flags. - -2002-08-13 Stephane Carrez - - * m68hc11-tdep.c (M6812_OP_PSHX, M6812_OP_PSHY): New defines. - (m6812_prolog): They can appear in 68HC12 function prologue. - (m68hc11_frame_chain): Cleanup. - -2002-08-12 Andrew Cagney - - * i386-tdep.h (i386_register_byte, i386_register_raw_size): Delete - declarations. - * i386-linux-tdep.c (i386_linux_register_byte): Delete function. - (i386_linux_register_raw_size): Delete function. - (i386_linux_init_abi): Update. - * i386-tdep.c (i386_register_raw_size): Delete function. - (i386_register_byte): Delete function. - (i386_gdbarch_init): Update. - (i386_register_size): Delete array. - (i386_register_offset): Delete array. - - * config/i386/tm-symmetry.h (REGISTER_BYTE): Delete macro. - (REGISTER_RAW_SIZE): Delete macro. - * config/i386/tm-ptx.h (REGISTER_RAW_SIZE): Delete macro. - (REGISTER_BYTE): Delete macro. - -2002-08-11 Aidan Skinner - - * ada-lang.c (ada_lookup_partial_symbol) - (to_fixed_variant_branch_type) (find_line_in_linetable): Fix - prototype names so that grep ^func works properly. - - * ada-lang.c (ada_array_element_type) - (ada_lookup_partial_symbol): Fix typos in parameter list. - - * ada-valprint.c (val_print_packed_array_elements) (ada_val_print_1): - Fix prototype names so that grep ^func works properly. - -2002-08-10 Andrew Cagney - Elena Zannoni - Martin M. Hunt - - * gdbtypes.c (build_builtin_type_vec128): Set the vector bit. - (build_builtin_type_vec128i): Set the vector bit. - * gdbtypes.h (builtin_type_vec64, builtin_type_vec64i): Declare. - * gdbtypes.c (builtin_type_vec64, builtin_type_vec64i): Define. - (build_builtin_type_vec64): New function. - (build_builtin_type_vec64i): New function. - (build_gdbtypes): Initialize builtin_type_vec64 and - builtin_type_vec64i. - -2002-08-09 Andrew Cagney - - * regcache.c (regcache_dump): Compare the register offset - with REGISTER_BYTE. - * arch-utils.c (generic_register_byte): New function. - * arch-utils.h (generic_register_byte): Declare. - * gdbarch.sh (REGISTER_BYTE): Default to generic_register_byte. - * gdbarch.h, gdbarch.c: Regenerate. - -2002-08-09 Andrew Cagney - - * regcache.c: Include "gdbcmd.h" - (_initialize_regcache): Add commands "maintenance print - registers", "maintenance print raw-registers" and "maintenance - print cooked-registers". - (enum regcache_dump_what): Define. - (dump_endian_bytes): New function. - (regcache_dump): New function. - (regcache_print): New function. - (maintenance_print_registers): New function. - (maintenance_print_raw_registers): New function. - (maintenance_print_cooked_registers): New function. - * Makefile.in (regcache.o): Update dependencies. - -2002-08-09 Michael Snyder - - * mips-tdep.c (ROUND_DOWN, ROUND_UP): Move to global scope. - (mips_push_arguments): Correct some comments. Use paddr_nz - for printing addresses in debug output. Replace static - allocation using MAX_REGISTER_RAW_SIZE with alloca. - (mips_n32n64_push_arguments): New function, cloned from - mips_push_arguments and tuned for the n32/n64 ABI. - (mips_push_register): Buffer needs dynamic allocation. - (mips_print_register): Ditto. - (do_gp_register_row): Ditto. - (mips_store_return_value): Ditto. - (mips_gdbarch_init): Set gdbarch_push_arguments per ABI. - -2002-08-09 Don Howard - - * memattr.c (mem_info_command): Print special case of upper bound - as max CORE_ADDR + 1. - -2002-08-08 Michael Snyder - - * mips-tdep.c (mips_n32n64_use_struct_convention): N32 only - returns structs by ref if they're too big to fit in two registers. - -2002-08-09 Kevin Buettner - - * mips-tdep.c (mips_init_extra_frame_info): Initialize SP_REGNUM's - saved regs value. - (read_next_frame_reg): Call FRAME_INIT_SAVED_REGS instead of - mips_find_saved_regs(). - (mips_pop_frame): Likewise. - -2002-08-09 Kevin Buettner - - * blockframe.c (frame_saved_regs_register_unwind): Revise - PC_IN_CALL_DUMMY assertion to only apply when generic dummy - frames are in use. - -2002-08-09 Grace Sainsbury - - * remote.c: (remote_wait, remote_async_wait): Add check for awatch - T-packets; the 'a' is not taken as a register number. - (remote_check_watch_resources, remote_stopped_by_watchpoint) - (remote_stopped_data_address): New functions; add to target - vector. - (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Change - prototypes to match other implementations of this - function. replace integer argument with pointer -- the length - field in the Z-packet is the length of what is pointed to or 1 if - pointer is null. Add to target vector. - (remote_insert_watchpoint, remote_remove_watchpoint): Add to - target vector. - - From Mark Salter: - * remote.c (remote_wait): Add support to extract optional - watchpoint information from T-packet. Ignore unrecognized - optional info in T-packet. - (remote_async_wait): Ditto. - -2002-08-09 Corinna Vinschen - - * cli/cli-dump.c: Change fopen modes to use binary open modes - as defined in include/fopen-bin.h throughout. - -2002-08-08 Michael Snyder - - * mips-tdep.c: Minor whitespace and indentation clean-ups. - -2002-08-08 Kevin Buettner - - * doublest.c (store_floating): Avoid floatformat_from_doublest() - assertion failure by returning early after a warning. - -2002-08-08 Kevin Buettner - - * mips-tdep.c (mips_find_saved_regs): Make static. - (mips_frame_init_saved_regs): New function. - (mips_gdbarch_init): Setup FRAME_INIT_SAVED_REGS method. - * config/mips/tm-mips.h (FRAME_INIT_SAVED_REGS): Delete macro. - (mips_find_saved_regs): Delete declaration. - -2002-08-08 Grace Sainsbury - - * remote.c (remote_wait, remote_async_wait): Change - thread_num from int to ULONGEST. - (unpack_varlen_hex): Change result parameter from - int * to ULONGEST *. - -2002-08-08 Andrew Cagney - - * configure.tgt: Replace powerpc-*-sysv*, powerpc-*-elf*, - powerpcle-*-eabi*, powerpcle-*-sysv* and powerpcle-*-elf* with - powerpc*-*-*. - * MAINTAINERS: Remove redundant rs6000-ibm-aix4.1 target. - -2002-08-08 Andrew Cagney - - * gcore.c (override_derive_stack_segment): Delete variable. - (preempt_derive_stack_segment): Delete function. - (derive_stack_segment): Delete function. - (default_derive_stack_segment): Renamed to derive_stack_segment. - (override_derive_heap_segment): Delete variable. - (preempt_derive_heap_segment): Delete function. - (derive_heap_segment): Delete function. - (default_derive_heap_segment): Rename to derive_heap_segment. - -2002-08-06 Michael Snyder - - * config/mips/tm-mips.h: Remove #define USE_STRUCT_CONVENTION. - * mips-tdep.c (mips_EABI_use_struct_convention, - mips_OABI_use_struct_convention, mips_NABI_use_struct_convention): - New functions. (mips_use_struct_convention): Delete. - (mips_gdbarch_init): set use_gdbarch_convention. - -2002-08-06 Michael Snyder - - * mips-tdep.c: gdbarch-ify reg_struct_has_addr. - (mips_eabi_reg_struct_has_addr, mips_n32n64_reg_struct_has_addr, - mips_o32_reg_struct_has_addr): New functions. - (mips_gdbarch_init): Set gdbarch reg_struct_has_addr. - -2002-08-07 Andrew Cagney - - * regcache.c (pseudo_register): Delete function. - (fetch_register): Delete function. - (store_register): Delete function. - (regcache_raw_read, legacy_read_register_gen): Use - target_fetch_registers instead of fetch_register. - (legacy_write_register_gen, regcache_raw_write): Use - target_store_register instead of store_register. - (write_register_bytes): Ditto. - - * gdbarch.sh (FETCH_PSEUDO_REGISTER): Delete. - (STORE_PSEUDO_REGISTER): Delete. - * gdbarch.h, gdbarch.c: Regenerate. - -2002-08-06 Corinna Vinschen - - * cli/cli-dump.c (add_dump_command): Explicitely use "b" flag to - write dump file binary. - -2002-08-05 Michael Snyder - - * mips-tdep.c (mips_find_saved_regs): Adjust stack according - to MIPS_SAVED_REGSIZE, not GDB_TARGET_IS_MIPS64. Enhance comment. - (mips_gdbarch_init): Set N32 target to be mips64. - -2002-08-06 Kevin Buettner - - * frame.c (find_saved_register): Break out of loop once saved - register address is found. Don't mention sparc in loop comment - anymore. - -2002-08-06 Kevin Buettner - - * mips-tdep.c (mips_gdbarch_init): For the N32 ABI, set - mips_default_saved_regsize to 8. - -2002-08-06 Andrew Cagney - - * gcore.c: Do not include . - * Makefile.in (gcore.o): Update dependencies. - -2002-08-06 Andrew Cagney - - * configure.tgt: Make arc-*-* obsolete. - * NEWS: Mention that arc-*-* has been identifed as obsolete. - * MAINTAINERS: Make arc-elf obsolete. - * arc-tdep.c: Make file obsolete. - * config/arc/arc.mt: Ditto. - * config/arc/tm-arc.h: Ditto. - -2002-08-05 Theodore A. Roth - - * avr-tdep.c (avr_skip_prologue): Fix to return the correct pc. - -2002-08-05 Andrew Cagney - - * mcore-tdep.c (mcore_gdbarch_init): Use - generic_unwind_get_saved_register instead of - generic_get_saved_register. - * v850-tdep.c (v850_gdbarch_init): Ditto. - * frv-tdep.c (frv_gdbarch_init): Ditto. - * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. - * s390-tdep.c (s390_gdbarch_init): Ditto. - * d10v-tdep.c (d10v_gdbarch_init): Ditto. - * config/mn10200/tm-mn10200.h (GET_SAVED_REGISTER): Ditto. - * config/h8300/tm-h8300.h (GET_SAVED_REGISTER): Ditto. - -2002-08-05 Joel Brobecker - - * objfiles.h: Add missing #include "symfile.h" - - * Makefile.in (objfiles_h): Add dependency on symfile.h and dependents. - -2002-08-04 Andrew Cagney - - From 2002-08-01 david carlton : - * hpread.c (hpread_read_struct_type): Deleted superfluous setting - of FIELD_BITSIZE. - -2002-08-04 Daniel Jacobowitz - - * NEWS: Cleanup and nitpick. - -2002-08-03 Andrew Cagney - - * NEWS: Cleanup. Use *-linux*-gnu*. Only use `*' for headings. - -2002-08-03 Andrew Cagney - - * Makefile.in (gdbtk-bp.o): Update dependencies. - (gdbtk-register.o): Ditto. - (gdbtk-varobj.o): Ditto. - -2002-08-03 Andrew Cagney - - * m68hc11-tdep.c (m68hc11_pseudo_register_read): Replace - m68hc11_fetch_pseudo_register. - (m68hc11_pseudo_register_write): Replace - m68hc11_store_pseudo_register. - (m68hc11_gdbarch_init): Update. - -Fri Aug 2 15:53:50 2002 Andrew Cagney - - * gdbarch.sh: Include "gdb_string.h". - * gdbarch.c: Regenerate. - - * regcache.c: Include "gdb_string.h". - * ax-general.c: Ditto. - * varobj.c: Ditto. - * std-regs.c: Ditto. - * fbsd-proc.c: Ditto. - * thread.c: Ditto. - - * Makefile.in (regcache.o): Update dependencies. - (thread.o, gdbarch.o): Ditto. - (ax-general.o, gdbarch.o): Ditto. - (varobj.o, std-regs.o): Ditto. - (fbsd-proc.o): Specify dependencies. - -2002-08-02 Andrew Cagney - - * regcache.c (regcache_cooked_read): Rename rawnum parameter to - regnum. - (regcache_cooked_write): Ditto. - -2002-08-02 Andrew Cagney - - * regcache.c (regcache_cooked_read): New function. - (regcache_cooked_write): New function. - (read_register_gen): Rewrite using regcache_cooked_read. - (write_register_gen): Rewrite using regcache_cooked_write. - - * regcache.h (regcache_cooked_read, regcache_cooked_write): - Declare. - -2002-08-02 Andrew Cagney - - * gdbarch.sh (pseudo_register_read, pseudo_register_write): - Replace the architecture methods register_read and register_write. - * gdbarch.h, gdbarch.c: Regenerate. - * regcache.c (init_regcache_descr): Update. - (read_register_gen): Update. - (write_register_gen): Update. - (supply_register): Update comment. - - * sh-tdep.c (sh_gdbarch_init): Update. - (sh_pseudo_register_read, sh64_pseudo_register_read): Add - `regcache' and `gdbarch' parameters. Make `buffer' a void - pointer. Update code. - (sh_pseudo_register_write, sh64_pseudo_register_write): Add - `regcache' and `gdbarch' parameters. Make `buffer' a constant - void pointer. Update code. - (sh64_register_write): Delete. - (sh4_register_read): Delete. - (sh64_register_read): Delete. - (sh4_register_write): Delete. - (sh_sh4_register_convert_to_raw): Make `from' parameter a constant - void pointer, `to' parameter a void pointer. - (sh_sh64_register_convert_to_raw): Ditto. - -2002-08-01 Kevin Buettner - - * mips-tdep.c (mips_register_virtual_type): Use architecture - invariant return values. - -2002-08-01 Andrew Cagney - - * linux-proc.c: Include "gdb_string.h". - * Makefile.in (linux-proc.o): Update dependency list. - -2002-08-01 Kevin Buettner - - * mips-tdep.c (mips_gdbarch_init): Add comments. Fix typo in - comment. - -2002-08-01 Grace Sainsbury - - * target.h: Add to_insert_hw_breakpoint, to_remove_hw_breakpoint, - to_insert_watchpoint, to_remove_watchpoint, - to_stopped_by_watchpoint, to_stopped_data_address, - to_region_size_ok_for_hw_watchpoint, to_can_use_hw_breakpoint to - target vecctor. Define their corresponding macros so they call - them. - - * target.c: Add default and debug versions of for - to_insert_hw_breakpoint, to_remove_hw_breakpoint, - to_insert_watchpoint, to_remove_watchpoint, - to_stopped_by_watchpoint, to_stopped_data_address, - to_region_size_ok_for_hw_watchpoint, to_can_use_hw_breakpoint. - -2002-08-01 Kevin Buettner - - * mips-tdep.c (mips_register_virtual_type): New function. - (mips_gdbarch_init): Register mips_register_virtual_type() - with gdbarch machinery. - * config/mips/tm-irix6.h (mips/tm-bigmips64.h): Include - this file instead of tm-bigmips.h. - (MIPS_REGSIZE): Delete this macro. - (REGISTER_VIRTUAL_TYPE): Delete macro. Undef macro so that - multiarch version in mips-tdep.c will be found. - -2002-08-01 Andrew Cagney - - * NEWS: Menion that CHILL has been made obsolete. - - * gdbtypes.c (chill_varying_type): Make chill references obsolete. - * stabsread.c (read_range_type): Ditto. - * gdbtypes.h: Ditto. - * language.c (binop_type_check): Ditto. - (binop_result_type): Ditto. - (integral_type): Ditto. - (character_type): Ditto. - (string_type): Ditto. - (boolean_type): Ditto. - (structured_type): Ditto. - (lang_bool_type): Ditto. - (binop_type_check): Ditto. - * language.h (_LANG_chill): Ditto. - * dwarfread.c (set_cu_language): Ditto. - * dwarfread.c (CHILL_PRODUCER): Ditto. - * dwarfread.c (handle_producer): Ditto. - * expression.h (enum exp_opcode): Ditto. - * eval.c: Ditto for comments. - * typeprint.c (typedef_print) [_LANG_chill]: Ditto. - * expprint.c (print_subexp): Ditto. - (print_subexp): Ditto. - * valops.c (value_cast): Ditto. - (search_struct_field): Ditto. - * value.h (COERCE_VARYING_ARRAY): Ditto. - * symfile.c (init_filename_language_table): Ditto. - (add_psymbol_with_dem_name_to_list): Ditto. - * valarith.c (value_binop): Ditto. - (value_neg): Ditto. - * valops.c (value_slice): Ditto. - * symtab.h (union language_specific): Ditto. - (SYMBOL_INIT_LANGUAGE_SPECIFIC): Ditto. - (SYMBOL_DEMANGLED_NAME): Ditto. - (SYMBOL_CHILL_DEMANGLED_NAME): Ditto. - * defs.h (enum language): Ditto. - * symtab.c (got_symtab): Ditto. - * utils.c (fprintf_symbol_filtered): Ditto. - - * ch-typeprint.c: Make file obsolete. - * ch-valprint.c: Make file obsolete. - * ch-lang.h: Make file obsolete. - * ch-exp.c: Make file obsolete. - * ch-lang.c: Make file obsolete. - - * Makefile.in (FLAGS_TO_PASS): Do not pass CHILL or CHILLFLAGS or - CHILL_LIB. - (TARGET_FLAGS_TO_PASS): Ditto. - (CHILLFLAGS): Obsolete. - (CHILL): Obsolete. - (CHILL_FOR_TARGET): Obsolete. - (CHILL_LIB): Obsolete. - (SFILES): Remove ch-exp.c, ch-lang.c, ch-typeprint.c and - ch-valprint.c. - (HFILES_NO_SRCDIR): Remove ch-lang.h. - (COMMON_OBS): Remove ch-valprint.o, ch-typeprint.o, ch-exp.o and - ch-lang.o. - (ch-exp.o, ch-lang.o, ch-typeprint.o, ch-valprint.o): Delete - targets. - -2002-07-31 Joel Brobecker - - * dwarf2read.c (set_cu_language): Add handler for LANG_Ada95. - This does not change anything at the moment, but will be helpful - later when full Ada support is integrated. - -2002-07-31 Kevin Buettner - - * mips-tdep.c (_initialize_mips_tdep): Add "n64" to "set mips abi" - help message. - -2002-07-31 Kevin Buettner - - * mips-tdep.c (mips_push_arguments): Fetch gdbarch_tdep struct - and save it in a local variable. Use variable in later test. - -2002-07-31 Kevin Buettner - - * mips-tdep.c (mips_find_abi_section): Add N64 ABI recognition - test. (Thanks to Daniel Jacobowitz.) - -2002-07-31 Kevin Buettner - - * mips-tdep.c (enum mips_abi): Add MIPS_ABI_N64. - (mips_abi_strings): Add "n64". - (mips_gdbarch_init): Add test for n64 abi. Add MIPS_ABI_N64 case. - -2002-07-31 Kevin Buettner - - * config/mips/tm-irix6.h (MIPS_REGSIZE): Define to be 8. - (REGISTER_VIRTUAL_TYPE): Some registers are now 64 bits wide. - -2002-07-31 Kevin Buettner - - * utils.c (host_pointer_to_address, address_to_host_pointer): - Use gdb_assert() instead of explicit call to internal_error(). - -2002-07-30 Kevin Buettner - - * Makefile.in (rs6000-nat.o): Update dependencies. - - From Nicholas Duffek: - * Makefile.in (ALLDEPFILES): Add aix-thread.c. - (aix-thread.o): New rule. - * configure.host (gdb_host): Set to aix432 on AIX 4.3.2+. - * config/powerpc/aix432.mh: New file. - -2002-07-30 Daniel Jacobowitz - - * ppc-linux-tdep.c (ELF_NGREG, ELF_NFPREG, ELF_NVRREG) - (ELF_FPREGSET_SIZE, ELF_GREGSET_SIZE): New enums. - (fetch_core_registers, ppc_linux_supply_gregset) - (ppc_linux_supply_fpregset): New functions. - (ppc_linux_regset_core_fns): New. - (_initialize_ppc_linux_tdep): Call add_core_fns. - * ppc-tdep.h: Add prototypes for ppc_linux_supply_fpregset - and ppc_linux_supply_gregset. - * ppc-linux-nat.c (supply_gregset): Call ppc_linux_supply_gregset. - (supply_fpregset): Call ppc_linux_supply_fpregset. - * config/powerpc/linux.mh (NATDEPFILES): Remove core-regset.o and - corelow.o. - * config/powerpc/linux.mt (TDEPFILES): Add corelow.o. - -2002-07-30 Daniel Jacobowitz - - * symtab.c (lookup_symbol): Demangle before lowercasing. - -2002-07-30 Andrew Cagney - - * symtab.h: Replace #include "gdb_obstack.h" with opaque - declaration. - * cli/cli-cmds.c, cli/cli-script.c: Include "gdb_string.h". - * gnu-v3-abi.c, arc-tdep.c, cli/cli-decode.c: Ditto. - * avr-tdep.c, mon960-rom.c, i960-tdep.c: Ditto. - * arch-utils.c, cli/cli-setshow.c: Unconditionally include - "gdb_string.h". - * Makefile.in (cli-script.o, cli-cmds.o): Update dependencies. - (gnu-v3-abi.o, cli-setshow.o, i960-tdep.o): Ditto. - (cli-decode.o, mi-cmd-var.o, mi-cmd-disas.o): Ditto. - (avr-tdep.o, mon960-rom.o): Ditto. - (aout_stabs_gnu_h): Define. - (symtab_h): Remove $(gdb_obstack_h). - -2002-07-30 Jim Blandy - - Patch from David Carlton : - * gdbinit.in: Move the `dir' commands that add GDB's own source - directory to the search path to the end, so that the `gdb' source - directory will be searched first. - -2002-07-29 Andrew Cagney - - * gdb_obstack.h: New file. - * symtab.h: Include "gdb_obstack.h" instead of "obstack.h". - (obstack_chunk_alloc, obstack_chunk_free): Delete macros. - * objfiles.h: Include "gdb_obstack.h". - * Makefile.in (gdb_obstack_h): Define. - (symtab_h): Add $(gdb_obstack_h). - (objfiles_h): Add $(gdb_obstack_h). - - * objfiles.c: Include "gdb_obstack.h" instead of "obstack.h". - * macrotab.c, cp-valprint.c, dbxread.c: Ditto. - * ch-typeprint.c, ch-valprint.c, dstread.c: Ditto. - * macroexp.c, p-typeprint.c, stabsread.c: Ditto. - * symtab.c, f-typeprint.c, mdebugread.c: Ditto. - * p-valprint.c, symmisc.c, typeprint.c: Ditto. - * symfile.c, coffread.c, c-typeprint.c: Ditto. - * buildsym.c, bcache.c, ada-typeprint.c: Ditto. - - * Makefile.in (bcache.o): Update dependencies. - (buildsym.o, c-typeprint.o, ch-typeprint.o): Ditto. - (ch-valprint.o, coffread.o, cp-valprint.o): Ditto. - (dbxread.o, dstread.o, f-typeprint.o): Ditto. - (objfiles.o, p-typeprint.o, p-valprint.o): Ditto. - (stabsread.o, symfile.o, symmisc.o): Ditto. - (symtab.o, typeprint.o, macroexp.o): Ditto. - (macrotab.o, mdebugread.o): Ditto. - (f_lang_h, coff_sym_h, coff_symconst_h): Define. - (coff_ecoff_h, aout_aout64_h): Define. - (aout_stabs_gnu_h, libaout_h): Define. - -2002-07-29 Andrew Cagney - - * regcache.c (struct regcache_descr): Rename nr_registers to - nr_cooked_registers. Revise comments describing the structure - member fields. - (init_regcache_descr): Update. - (init_legacy_regcache_descr): Update. - (read_register_gen, write_register_gen): When a cooked register in - the raw register range, directly access the value from the raw - register cache. - -2002-07-29 Andrew Cagney - - * z8k-tdep.c: Do not include "obstack.h". - * h8300-tdep.c, h8500-tdep.c: Ditto. - * m68hc11-tdep.c, sh-tdep.c: Ditto. - * valprint.c, v850-tdep.c: Ditto. - * d10v-tdep.c, mn10300-tdep.c: Ditto. - * mn10200-tdep.c: Ditto. - - * Makefile.in (z8k-tdep.o): Update dependencies. - (m68hc11-tdep.o, valprint.o): Ditto. - (v850-tdep.o, d10v-tdep.o): Ditto. - (mn10300-tdep.o, sparc-tdep.o): Ditto. - (sh-tdep.o, h8500-tdep.o, h8300-tdep.o): Ditto. - (m32r-tdep.o, mn10200-tdep.o): Specify dependencies. - (sh_opc_h, gdb_sim_sh_h): Define. - (elf_sh_h, elf_bfd_h): Define. - (opcode_m68hc11_h): Define. - (OPCODES_SRC, OPCODES_DIR): define. - (OPCODES): Use $(OPCODES_DIR). - (gdb_sim_d10v_h): Rename sim_d10v_h. - (gdb_sim_arm_h): Rename sim_arm_h. - -2002-07-26 Kevin Buettner - - * utils.c (host_pointer_to_address, address_to_host_pointer): - Change internal_error() message to indicate function responsible - for the error. - -2002-07-26 Kevin Buettner - - * ui-out.c (ui_out_field_core_addr): Remove unnecessary cast in - calls to local_hex_string_custom(). - -2002-07-26 Kevin Buettner - - * irix5-nat.c: Move IRIX shared library support from here... - * solib-irix.c: ...to here. Revised substantially to work with - generic solib framework. - - * osabi.h (gdb_osabi): Add new enum constant GDB_OSABI_IRIX. - * osabi.c (gdb_osabi_names): Add corresponding string for Irix. - * mips-irix-tdep.c: New file. - - * Makefile.in (ALLDEPFILES): Add mips-irix-tdep.c and solib-irix.c. - (mips-irix-tdep.o, solib-irix.o): New rules. - * config/mips/irix5.mt (TDEPFILES): Add mips-irix-tdep.o, solib.o, - solib-irix.o. - * config/mips/irix6.mt (TDEPFILES): Likewise. - * config/mips/irix6.mh (NATDEPFILES): Remove solib.o. - -2002-07-26 Kevin Buettner - - * aix-thread.c (coff/internal.h, bfd/libcoff.h, pthread.h): Remove - disabled (via ``#if 0'') includes. - -2002-07-26 Kevin Buettner - - * aix-thread.c (special_register_p, supply_sprs64, supply_sprs32) - (fetch_regs_user_thread, fetch_regs_kernel_thread, fill_sprs64) - (fill_sprs32, store_regs_user_thread, store_regs_kernel_thread): - Add support for the fpscr register. - * rs6000-nat.c (regmap, fetch_inferior_registers) - (store_inferior_registers, fetch_core_registers): Likewise. - -2002-07-26 Kevin Buettner - - * rs6000-nat.c (language.h): Include. - (special_regs): Delete this array. - (regmap): New function. - (fetch_register, store_register): Use regmap() to map gdb - register numbers to ptrace register numbers. Also, use - outputs from regmap() to make decisions regarding type of - ptrace() call to make. In particular, don't compare against - FIRST_UISA_SP_REGNUM or LAST_UISA_SP_REGNUM. - (fetch_inferior_registers, store_inferior_registers): Where - possible, obtain register numbers from tdep struct. Don't - refer to FIRST_UISA_SP_REGNUM or LAST_UISA_SP_REGNUM. - * config/rs6000/tm-rs6000.h (FIRST_UISA_SP_REGNUM) - (LAST_UISA_SP_REGNUM): Delete. - -2002-07-25 Kevin Buettner - - * rs6000-nat.c (ppc-tdep.h): Include. - (fetch_registers, store_register, fetch_core_registers): Don't - access registers[] directly. Instead, use supply_register() or - regcache_collect() as appropriate. - (find_toc_address): Format hex address with local_hex_string(). - -2002-07-25 Andrew Cagney - - * config/djgpp/fnchange.lst: Rename bfd/elf32-fr30.c and - bfd/elf32-frv.c. - -2002-07-24 Tom Tromey - - * jv-exp.y: Marked all strings with _(). - (ClassInstanceCreationExpression, ArrayCreationExpression): Use - internal_error. - (MethodInvocation, CastExpression, parse_number, yyerror, - java_type_from_name, push_expression_name, yylex): Typo fixes. - -2002-07-24 Daniel Jacobowitz - - * ui-file.c (struct tee_file, tee_file_new, tee_file_delete) - (tee_file_flush, tee_file_write, tee_file_fputs) - (tee_file_isatty): New. - * ui-file.h (tee_file_new): Add prototype. - -2002-07-24 Aidan Skinner - - * ada-lang.c: Change k&r style function definitions to prototyped - form. - * ada-typeprint.c: Change k&r style function definitions to prototyped - form. - * ada-valprint.c: Change k&r style function definitions to prototyped - form. - -2002-07-24 Andrew Cagney - - * README: Remove reference to remote-bug. - * Makefile.in (ALLDEPFILES): Remove m88k-nat.c, m88k-tdep.c and - remote-bug.c. - (m88k-nat.o): Delete rule. - (m88k-tdep.o): Delete rule. - (remote-bug.o): Delete rule. - * MAINTAINERS: Mark as obsolete. - * elfread.c (elf_symtab_read): Mention that m88k is obsolete. - * m88k-tdep.c: Make file obsolete. - * config/m88k/m88k.mh: Ditto. - * config/m88k/delta88v4.mh: Ditto. - * config/m88k/delta88v4.mt: Ditto. - * config/m88k/delta88.mt: Ditto. - * config/m88k/delta88.mh: Ditto. - * remote-bug.c: Ditto. - * config/m88k/tm-delta88.h: Ditto. - * config/m88k/nm-delta88v4.h: Ditto. - * config/m88k/xm-delta88.h: Ditto. - * config/m88k/xm-dgux.h: Ditto. - * config/m88k/tm-m88k.h: Ditto. - * config/m88k/nm-m88k.h: Ditto. - * config/m88k/tm-delta88v4.h: Ditto. - * m88k-nat.c: Ditto. - * cxux-nat.c: Ditto. - * configure.host: Make m88*-motorola-sysv4*, m88*-motorola-sysv* - and m88*-*-* obsolete. - * configure.tgt: Make m88*-motorola-sysv4*, m88*-motorola-* and - m88*-*-* obsolete. - -2002-07-24 Andrew Cagney - - * findvar.c (extract_unsigned_integer): Make `addr' parameter - constant. Same for local pointer variables. - (extract_signed_integer): Ditto. - * defs.h (extract_unsigned_integer): Update. - (extract_signed_integer): Update. - -2002-07-24 Andrew Cagney - - * regcache.c (regcache_raw_write): Change buf parameter to a - constant void pointer. - (regcache_raw_read): Change buf parameter to a void pointer. - (legacy_write_register_gen): Change myaddr parameter a constant - void pointer. - (supply_register): Change val parameter to a const void pointer. - * regcache.h (regcache_raw_write): Update declaration. - (regcache_raw_read): Update declaration. - (supply_register): Update declaration. - -2002-07-24 Tom Tromey - - * defs.h (gdb_readline_wrapper): Declare. - * utils.c (prompt_for_continue): Use gdb_readline_wrapper. - * tracepoint.c (read_actions): Use gdb_readline_wrapper. - * top.c (gdb_readline_wrapper): New function. - (command_line_input): Use it. - -2002-07-24 Andrew Cagney - - * regcache.h (regcache_raw_read, regcache_raw_write): Replace - regcache_read and regcache_write. - (regcache_raw_read_as_address): Replace regcache_read_as_address. - * regcache.c: Update. - * sh-tdep.c (sh64_push_arguments): Update comment. - (sh_pseudo_register_read): Update. - (sh_pseudo_register_write): Update. - (sh4_register_read): Update. - (sh4_register_write): Update. - (sh64_pseudo_register_read): Update. - (sh64_pseudo_register_write): Update. - (sh64_register_read): Update. - (sh64_register_write): Update. - * i386-tdep.c (i386_extract_return_value): Update. - (i386_extract_struct_value_address): Update. - (i386_extract_return_value): Update. - * blockframe.c (generic_read_register_dummy): Update. - (generic_call_dummy_register_unwind): Update - * infrun.c (write_inferior_status_register): Update. - -2002-07-23 Jim Blandy - - * parser-defs.h (expression_context_pc): Make this extern. - (Thanks to Michael Snyder.) - -2002-07-23 Andrew Cagney - - GDB 5.2.1 released from 5.2 branch. - * NEWS: Mention changes in 5.2.1 including addition of AVR target. - * README: Update to mention 5.2.1. - -2002-07-23 Mark Salter - - * remote.c (remote_read_bytes): Fix check for error. - -2002-07-22 Kevin Buettner - - * aix-thread.c (language.h): Include. - (ptrace_check, pdc_symbol_addrs, pdc_read_regs, pdc_write_regs) - (pdc_read_data, pdc_write_data, pdc_alloc, pdc_realloc, pdc_dealloc): - Print newlines at end of debug messages. - (pdc_symbol_addrs, pdc_read_regs, pdc_write_regs, pdc_read_data) - (pdc_write_data): Use local_hex_string() instead of %llx formats. - -2002-07-22 Kevin Buettner - - * aix-thread.c (ppc-tdep.h): Include. - (special_register_p): New function. - (supply_sprs64, supply_sprs32, fill_sprs64, fill_sprs32) - (store_regs_user_thread): Use register number information from - gdbarch_tdep struct instead of hardcoded offsets relative to - FIRST_UISA_SP_REGNUM. - (fetch_regs_kernel_thread, store_regs_kernel_thread): Call - special_register_p() instead of using FPLAST_REGNUM and - LAST_UISA_SP_REGNUM as lower and upper bounds on the special - register numbers. Also, don't assume that LAST_UISA_SP_REGNUM - will be MQ's register number. - -2002-07-22 Michael Snyder - - * aix-thread.c (ops): Rename to aix_thread_ops. - (base_ops): Rename to base_target. - (ops_attach): Rename to aix_thread_attach. - (ops_detach): Rename to aix_thread_detach. - (ops_resume): Rename to aix_thread_detach. - (ops_wait): Rename to aix_thread_wait. - (ops_kill): Rename to aix_thread_kill. - (init_ops): Rename to init_aix_thread_ops. - (ops_fetch_register): Rename to aix_thread_fetch_register. - (ops_store_register): Rename to aix_thread_store_register. - (ops_mourn_inferior): Rename to aix_thread_mourn_inferior. - (ops_thread_alive): Rename to aix_thread_thread_alive. - (ops_extra_thread_info: Rename to aix_thread_extra_thread_info. - (ops_pid_to_str): Rename to aix_thread_pid_to_str. - (ops_xfer_memory): Rename to aix_thread_xfer_memory. - (fetch_regs_lib): Rename to fetch_regs_user_thread. - (fetch_regs_kern): Rename to fetch_regs_kernel_thread. - (store_regs_lib): Rename to store_regs_user_thread. - (store_regs_kern): Rename to store_regs_kernel_thread. - -2002-07-22 Michael Snyder - - * aix-thread.c (ops_prepare_to_store): Eliminate. - (init_ops): Don't initialize ops.prepare_to_store. - (store_regs_kern): Pre-fetch register buffers from child, - because some registers may not be in the cache. Copy - regs from register cache only if they are cached. - (store_regs_lib): Copy regs from register cache only - if they are cached. - (fill_sprs32, (fill_sprs64, fill_fprs, fill_gprs32, - fill_gprs64): Ditto. - -2002-07-22 Kevin Buettner - - * aix-thread.c (gdb_assert.h): Include. - (fill_sprs64, fill_sprs32): Add selected asserts to make sure that - register sizes (from register cache) match size of buffer holding - register data. - (fill_sprs32): Change parameter types to match those in the ptrace() - buffer. - (store_regs_lib): Likewise, but for 32-bit temporary variables. - (ops_prepare_to_store): Rename loop variable ``i'' to ``regno''. - -2002-07-22 Michael Snyder - - * aix-thread.c (supply_sprs64): Cosmetic change. - (supply_sprs32): Cosmetic change. - (fill_gprs64, fill_gprs32, fill_fprs, fill_sprs32): New funcs. - (fill_sprs64): Use regcache_collect instead of read_register. - (store_regs_lib): Use regcache_collect instead of - read_register. Use fill_sprs32 instead of fill_sprs64, - if debugging a 32-bit architecture. - (store_regs_kern): Use fill_gprs64 etc. to pull the values - out of the register cache, instead of passing a pointer into - the register cache directly to ptrace. Use regcache_collect - insteaad of read_register. - (ops_prepare_to_store): Use target_read_registers instead - of read_register_bytes. - -2002-07-20 Aidan Skinner - - * MAINTAINERS: Add self under write after approval. - -2002-07-20 Aidan Skinner - - * ada-tasks.c: Change k&r style function definitions to prototyped - form. - -2002-07-19 Andrew Cagney - - * Makefile.in (x86-64-tdep.o): Add $(objfiles_h). - * x86-64-tdep.c: Include "objfiles.h". - (x86_64_gdbarch_init): Set in_solib_call_trampoline to - in_plt_section. From 2002-07-18 Michal Ludvig . - -2002-07-17 Michal Ludvig - - * dwarf2cfi.c (execute_stack_op): Complain on unknown DW_OP_ value. - (update_context): Initialise cfa variable. - -2002-07-17 Michael Snyder - - * aix-thread.c: Shorten some long lines. - Bring comments into line with code spec. - -2002-07-18 Joel Brobecker - - * infrun.c: Re-indent using gdb_indent.sh. - -2002-07-18 Joel Brobecker - - * infrun.c (handle_inferior_event): Remove unneeded extra brace. - Leave the indentation temporarily untouched, to minimize the diffs. - -2002-07-18 Elena Zannoni - - * stabsread.c: Make os9k sections of the code obsolete, - for real this time. - * stabsread.h: Make os9k sections of the code obsolete. - -2002-07-18 Michal Ludvig - - * linux-low.c (regsets_store_inferior_registers): Add free() - at the end of a loop to prevent memory leak. - * linux-x86-64-low.c (x86_64_regmap): Add CS, SS registers. - (X86_64_NUM_GREGS): Count it from the size of x86_64_regmap. - * config/sparc/tm-sp64linux.h: Make the rest of #endif - line a comment. - * Makefile.in (x86-64-linux-nat.o): Remove dependency on i387-tdep.h - -2002-07-17 Jim Blandy - - * macrocmd.c (info_macro_command): Remove newline from error - message. - -2002-07-17 J"orn Rennecke - - * sh-tdep.c (sh_dsp_register_sim_regno): New function. - (sh_gdbarch_init): Use it for sh-dsp. - -2002-07-16 Kevin Buettner - - * dwarf2read.c (read_initial_length): Handle older, non-standard, - 64-bit DWARF2 format. - -2002-07-16 Joel Brobecker - - * proc-api.c: use HAVE_SYS_PROC_H macro to avoid including - when not available. - -2002-07-16 Andrew Cagney - - * NEWS: Mention that the i[34]86-*-os9k has been made obsolete. - * stabsread.c: Make os9k sections of the code obsolete. - * configure.tgt: Make i[3456]86-*-os9k target obsolete. - * config/i386/i386os9k.mt: Make file obsolete. - * Makefile.in (ALLDEPFILES): Remove remote-os9k.c. - (COMMON_OBS): Remove os9kread.o - (SFILES): Remove os9kread.c. - (os9kread.o, remote-os9k.o): Make target obsolete. - * remote-os9k.c: Make file obsolete. - * os9kread.c: Make file obsolete. - * Makefile.in - -2002-07-16 Andrew Cagney - - * NEWS: Mention that the FR30 has been made obsolete. - * fr30-tdep.c: Make file obsolete. - * config/fr30/tm-fr30.h: Ditto. - * config/fr30/fr30.mt: Ditto. - * configure.tgt: Make fr30-*-elf obsolete. - * MAINTAINERS: Make fr30-elf obsolete. - -2002-07-16 Pierre Muller - - * blockframe.c (get_pc_function_start): return 0 if the minimal symbol - found is not inside a section. - -2002-07-15 Kevin Buettner - - * aix-thread.c (ptrace_check): Use safe_strerror() instead of - strerror(). - (pdc_realloc): Use xrealloc() instead of realloc(). - -2002-07-15 Kevin Buettner - - * aix-thread.c (PD_ERROR, CALL_BASE): Delete. - (ops_resume, ops_wait, fetch_regs_lib, store_regs_lib) - (ops_xfer_memory, ops_kill): Don't use PD_ERROR or CALL_BASE - macros. - -2002-07-15 Kevin Buettner - - * aix-thread.c (ptrace_check): Eliminate goto. - (sync_threadlists): Eliminate gotos. Also, fix array overrun - problem. - -2002-07-15 Kevin Buettner - - * aix-thread.c (gdbcmd.h): Include. - (DEBUG, DBG, DBG2, dbg): Eliminate. - (debug_aix_thread): New static global. - (ptrace_check, pdc_symbol_addrs, pdc_read_regs, pdc_write_regs) - (pdc_read_data, pdc_write_data, pdc_alloc, pdc_realloc, pdc_dealloc) - (fetch_regs_lib, store_regs_lib, store_regs_kern): Rewrite - invocations to DBG and DBG2 macros to test against - ``debug_aix_thread'' and call fprintf_unfiltered(). - (_initialize_aix_thread): Add new command "set debug aix-thread". - -2002-07-15 Andrew Cagney - - From Gerhard Tonn : - * s390-nat.c (fill_fpregset, fill_gregset): Use regcache_collect - instead of supply_register. - -2002-07-15 Andrew Cagney - - * dwarf2cfi.c: Include "gdb_assert.h". - (frame_state_for): Use gdb_assert to check that fde->cie_ptr is - non-NULL. - (update_context): Do not use __func__. Add missing ``break''. - (update_context): Do not use __func__. - -2002-07-15 Elena Zannoni - - * rs6000-tdep.c (rs6000_gdbarch_init): Remove variable print_insn - and its setting. Set gdbarch instruction printing functions - directly. For non-rs6000 case use new function - gdb_print_insn_powerpc. - (gdb_print_insn_powerpc): New function. - -2002-07-13 Andrew Cagney - - * NEWS: Mention that the d30v has been marked obsolete. - * MAINTAINERS: Note that d30v / d30v-elf has been made obsolete. - * configure.tgt: Mark d30v-*-* as obsolete. - * d30v-tdep.c: Mark file as obsolete. - * config/d30v/d30v.mt: Ditto. - * config/d30v/tm-d30v.h: Ditto. - -2002-07-13 Aidan Skinner - - * ada-tasks.c (add_task_entry): replace calls to - malloc() with xmalloc - * ada-tasks.c (init_task_list): replace calls to free with xfree() - - * ada-lang.c (replace_operator_with_call, fill_in_ada_prototype, - ada_finish_decode_line_1, all_sals_for_line - ada_breakpoint_rewrite): replace calls to free() with xfree() - -2002-07-12 Kevin Buettner - - From Nicholas Duffek (with minor changes by Martin Hunt, - Louis Hamilton, and Kevin Buettner): - * aix-thread.c: New file. - -2002-07-12 Petr Sorfa - - * dwarf2read.c (dwarf2_invalid_attrib_class): New - complaint for invalid attribute class or form. - (read_func_scope): DW_AT_frame_base - better handling of DW_AT_block*. - (dwarf2_add_member_fn): DW_AT_vtable_elem_location - better handling of DW_AT_block*. - (read_common_block): DW_AT_location - better handling of DW_AT_block*. - (read_partial_die): DW_AT_location better handling - of DW_AT_block*. - (new_symbol): DW_AT_external better handling of - DW_AT_block*. Proper initialization of variable - "addr". - (attr_form_is_block): New function that returns true - if the attribute's form is of DW_FORM_block*. - -2002-07-12 Peter Schauer - - * valops.c (find_method_list): Remove comment about - removed STATIC_MEMFUNCP argument. - (value_find_oload_method_list): Likewise. - -2002-07-12 Kevin Buettner - - From Nicholas Duffek: - * rs6000-nat.c (vmap_ldinfo, xcoff_relocate_core): Call - target_new_objfile_hook. - -2002-07-12 Kevin Buettner - - From Nicholas Duffek: - * xcoffread.c (scan_xcoff_symtab): Recognize XMC_TD as a data storage - csect. - -2002-07-12 Andrew Cagney - - * MAINTAINERS: Mention --enable-sim-build-warnings. - (m68hc11-elf): Disable sim build warnings. - (m32r-elf): Mark as broken obsolete candidate. - (x86_64-linux-gnu): Mark as buildable with -Werror. - (arm-elf): Change -w to ``,'' which enables warnings but not - -Werror. - -2002-07-12 Andrew Cagney - - * bcache.h: Update copyright. - (struct bstring, struct bcache): Move definition to "bcache.c". - Replaced by opaque declaration. - (bcache_xfree): Replace free_bcache. - (bcache_xmalloc, bcache_memory_used): Declare. - - * bcache.c: Update copyright. - (struct bstring, struct bcache): Moved to here from "bcache.h". - Update comments. - (bcache_xmalloc, bcache_memory_used): New functions. - (bcache_xfree): Replace function free_bcache. - - * Makefile.in (objfiles.o): Add $(bcache_h). - (objfiles_h): Remove $(bcache_h). - (symfile.o): Add $(bcache_h). - - * symmisc.c: Update copyright. - (print_symbol_bcache_statistics): Pass psymbol_cache by value. - (print_objfile_statistics): Use bcache_memory_used. - - * symfile.c: Include "bcache.h". - (reread_symbols): Use bcache_xfree. - (reread_symbols): Use bcache_xmalloc and bcache_xfree. - (add_psymbol_to_list): Pass psymbol_cache by value. - (add_psymbol_with_dem_name_to_list): Ditto. - - * objfiles.h: Update copyright. - (struct bcache): Declare opaque. Do not include "bcache.h". - (struct objfile): Change psymbol_cache and macro_cache to ``struct - bcache'' pointers. - * dwarf2read.c (macro_start_file): Pass macro_cache by value. - - * objfiles.c: Include "bcache.h". Update copyright. - (allocate_objfile): Use bcache_xmalloc to create psymbol_cache and - macro_cache. - (free_objfile): Use bcache_xfree. - -2002-07-11 Grace Sainsbury - - * monitor.c (monitor_fetch_register): Make name a constant. - (monitor_store_register): Same. - -2002-07-11 Daniel Jacobowitz - - Based on patch from Daniel Berlin . - * buildsym.c: Include "demangle.h" for SYMBOL_INIT_DEMANGLED_NAME. - (finish_block) For non-function blocks, hash the symbol table. For - function blocks, mark the symbol table as unhashed. - * minsyms.c (msymbol_hash): Return hash value without taking modulus. - (msymbol_hash_iw): Likewise. - (add_minsym_to_hash_table): Take modulus of msymbol_hash's return - value. - (add_minsym_to_demangled_hash_table): Likewise for msymbol_hash_iw. - (lookup_minimal_symbol): Likewise for both. - * symtab.h (struct block): Add `hashtable' flag. Comment the - hashtable. - (BLOCK_HASHTABLE, BLOCK_BUCKETS, BLOCK_BUCKET): New macro. - (ALL_BLOCK_SYMBOLS): Update. - (BLOCK_SHOULD_SORT): Do not sort hashed blocks. - (struct symbol): Add `hash_next' pointer. - * symtab.c (lookup_block_symbol): Search using the hash table when - possible. - (find_pc_sect_symtab): Use ALL_BLOCK_SYMBOLS. - (search_symbols, find_addr_symbol): Likewise. - - * dstread.c (process_dst_block): Clear hashtable bit for new block. - (read_dst_symtab): Likewise. - * jv-lang.c (get_java_class_symtab): Likewise. - * mdebugread.c: Include "gdb_assert.h". - (shrink_block): Assert that the block being modified is not hashed. - * coffread.c (patch_opaque_types): Use ALL_BLOCK_SYMBOLS. - * symmisc.c (free_symtab_block): Walk the hash table when freeing - symbols. - (dump_symtab): Recognize hashed blocks. - * printcmd.c (print_frame_args): Assert that function blocks do not - have hashed symbol tables. - * ada-lang.c (symtab_for_sym): Use ALL_BLOCK_SYMBOLS. - (fill_in_ada_prototype, debug_print_block): Likewise. - (ada_add_block_symbols): Use ALL_BLOCK_SYMBOLS. Handle hash tables. - -2002-07-11 Corinna Vinschen - - * stack.c (print_frame): Use result of frame_address_in_block() - instead of fi->pc when evaluating symbols. - (backtrace_command_1): Ditto. - -2002-07-11 Andrew Cagney - - * cris-tdep.c (cris_saved_pc_after_call): Fix parameter type. - Make static. - - * arm-tdep.c (arm_register_name): Make return type constant. - -2002-07-10 Andrew Cagney - - * win32-nat.c (has_detach_ability): Convert to strict ISO C - prototype. - * top.c (gdb_rl_operate_and_get_next_completion): Ditto. - * s390-tdep.c (s390_fp_regnum): Ditto. - (s390_read_fp): Ditto. - (s390_pop_frame): Ditto. - (_initialize_s390_tdep): Ditto. - * remote.c (get_remote_state): Ditto. - * procfs.c (mappingflags): Ditto. - * memattr.c (_initialize_mem): Ditto. - * mcore-tdep.c (mcore_pop_frame): Ditto. - * m68klinux-nat.c (_initialize_m68k_linux_nat): Ditto. - * m68k-tdep.c (m68k_register_bytes_ok): Ditto. - * language.c (set_case_str): Ditto. - * gnu-v3-abi.c (vtable_address_point_offset): Ditto. - * frv-tdep.c (new_variant): Ditto. - (frv_stopped_data_address): Ditto. - * dwarf2cfi.c (fde_chunks_need_space): Ditto. - (context_alloc): Ditto. - (frame_state_alloc): Ditto. - (unwind_tmp_obstack_init): Ditto. - (unwind_tmp_obstack_free): Ditto. - (cfi_read_fp): Ditto. - * cris-tdep.c (cris_saved_pc_after_call): Ditto. - (cris_pop_frame): Ditto. - * c-lang.c (scanning_macro_expansion): Ditto. - (finished_macro_expansion): Ditto. - (c_preprocess_and_parse): Ditto. - * gdbarch.sh: Ditto. - * gdbarch.h, gdbarch.c: Regenerate. - * config/mn10200/tm-mn10200.h: Adjust indentation. - * target.c: Adjust indentation. - * symtab.h: Adjust indentation. - * stabsread.h: Adjust indentation. - * remote-es.c: Adjust indentation. - * os9kread.c: Adjust indentation. - -2002-07-10 Andrew Cagney - - * wince.c (_initialize_wince): Rename _initialize_inftarg. - * win32-nat.c (_initialize_win32_nat): Rename _initialize_inftarg. - -2002-07-10 Grace Sainsbury - - * NEWS: Mention m68k, mcore multi-arching. - * MAINTAINERS: Change status of m68k, mcore to reflect - multi-arching. - -2002-07-10 Daniel Jacobowitz - - * valops.c (find_overload_match): Free oload_syms. - -2002-07-09 Joel Brobecker - - Define HAVE_SYS_PROC_H if sys/proc.h exists - * configure.in: Add check for sys/proc.h - * config.in: Regenerate. - * configure: Regenerate. - -2002-07-09 Grace Sainsbury - - * config/m68k/tm-m68k.h: Remove macros wrapped in - #if !GDB_MULTI_ARCH. - -2002-07-08 Andrew Cagney - - * config.in, configure: Regenerate. - -2002-07-08 Mark Kettenis - - * dwarf2cfi.c: Include "gcore.h". - (execute_stack_op): Fix implementation of the - DW_OP_deref and DW_OP_deref_size operators by letting do their - lookup in the target. - -2002-07-07 Mark Kettenis - - From Peter Schauer : - * i386-sol2-tdep.c (i386_sol2_init_abi): Correct value for - tdep->sc_sp_offset. - -2002-07-05 Daniel Jacobowitz - - Fix PR gdb/595, gdb/602 - * gnu-v3-abi.c (gnuv3_baseclass_offset): Remove unused variables. - Don't call value_cast, just read the vtable pointer; update comments - to match. - -2002-07-05 Grace Sainsbury - - * config/mcore/tm-mcore.h: Remove file. - * config/mcore/mcore.mt: Remove definition of TM_FILE - * configure.tgt: Set gdb_multi_arch to yes for the mcore target. - -2002-07-05 Mark Kettenis - - * i386bsd-tdep.c: Include "gdb_string.h". - -2002-07-04 Grace Sainsbury - - * config/mcore/tm-mcore.h (GDB_MULTI_ARCH): Set to 2. - (PR_REGNUM, FIRST_ARGREG, LAST_ARGREG,RETVAL_REGNUM): Move to - mcore-tdep. - (REG_STRUCT_HAS_ADDR, USE_STRUCT_CONVENTION, GET_SAVED_REGISTER) - (TARGET_VIRTUAL_FRAME_POINTER, BELIEVE_PCC_PROMOTION): Remove. - * mcore-tdep.c (PR_REGNUM, FIRST_ARGREG, LAST_ARGREG) - (RETVAL_REGNUM): Move macros from tm-mcore.h - (mcore_reg_struct_has_addr): New function. - (mcore_gdbarch_init): Added initializations for the macros removed - from tm-mcore.h. - -2002-07-04 Mark Kettenis - - * osabi.c (generic_elf_osabi_sniffer): Add check for FreeBSD 3.x's - traditonal string branding within the ELF header. - -2002-07-04 Daniel Jacobowitz - - * symtab.c (remove_params): New function. - (make_symbol_overload_list): Use it instead of cplus_demangle. - (overload_list_add_symbol): Likewise. Reorder. Fix memory leak. - -2002-07-04 Mark Kettenis - - * i386obsd-nat.c (_initialize_i386obsd_nat): Fix typo in prototype. - - * i386bsd-tdep.c (i386nbsd_sigtramp_start, i386nbsd_sigtramp_end): - New variables. - (i386nbsd_init_abi): Use these to initialize tdep->sigtramp_start - and tdep->sigtramp_end. - * i386obsd-nat.c: New file. - * config/i386/obsd.mh (NATDEPFILES): Add i386obsd-nat.o. - - * dwarf2cfi.c (cfi_pop_frame): Use alloca() for regbuf. - Don't call get_current_frame(). - -2002-07-04 Pierre Muller - - * i386-nat.c (child_post_startup_inferior): New function - calling i386_cleanup_dregs if - I386_USE_GENERIC_WATCHPOINTS is defined. - * config/i386/nm-i386.h: define CHILD_POST_STARTUP_INFERIOR - conditional to acknowledge that i386-nat.c has its - own child_post_startup_inferior function. - -2002-07-04 Mark Kettenis - - * i386-tdep.h (I386_MAX_REGISTER_SIZE): New define. - * i386-tdep.c (i386_do_pop_frame): Use I386_MAX_REGISTER_SIZE - instead of MAX_REGISTER_RAW_SIZE. - (i386_extract_return_value, i386_extract_struct_value_address): - Convert to use regcache. - (i386_gdbarch_init): Set max_register_raw_size and - max_register_virtual_size to I386_MAX_REGISTER_SIZE. - Set extract_return_value and extract_struct_value_address instead - of their deprecated variants. - - Convert i386 target to generic dummy frames. - * i386-tdep.c: Include "symfile.h". - (i386_frameless_signal_p): Consider a function to be frameless if - the pc points at the first instruction of the function. - (i386_frame_chain): Handle (generic) call dummies. - (i386_frame_saved_pc): Likewise. - (i386_frame_init_saved_regs): Remove code dealing with call - dummies on the stack. - (i386_push_dummy_frame): Removed. - (i386_call_dummy_words): Removed. - (i386_fix_call_dummy): Removed. - (i386_push_return_address): New function. - (i386_do_pop_frame): Renamed from i386_pop_frame. Add FRAME - parameter, and don't call get_current_frame. - (i386_pop_frame): New function. - (i386_gdbarch_init): Set use_generic_dummy_frames to 1, set - call_dummy_location to AT_ENTRY_POINT, set call_dummy_address to - entry_point_address, set call_dummy_breakpoint_offset to 0, set - call_dummy_length to 0, set call_dummy_words to NULL, set - sizeof_call_dummy_words to 0, set fix_call_dummy to - generic_fix_call_dummy, set pc_in_call_dummy to - pc_in_call_dummy_at_entry_point, set push_dummy_frame to - generic_push_dummy_frame, set push_return_address to - i386_push_return_address and set frame_chain_valid to - generic_file_frame_chain_valid. - -2002-07-03 Andrew Cagney - - * gdbarch.sh (struct regcache): Add opaque declaration. - (EXTRACT_RETURN_VALUE): New architecture method. - (EXTRACT_STRUCT_VALUE_ADDRESS): Ditto. - * gdbarch.h, gdbarch.c: Regenerate. - * arch-utils.c (legacy_extract_return_value): New function. - * arch-utils.h (legacy_extract_return_value): Declare. - * values.c (value_being_returned): Re-enable code handling - EXTRACT_STRUCT_VALUE_ADDRESS. Move - deprecated_grub_regcache_for_registers call to block handling - DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS. - (EXTRACT_RETURN_VALUE): Do not define. - -2002-07-03 Grace Sainsbury - - * config/mcore/tm-mcore.h (REGISTER_BYTES, NUM_REGS, PC_REGNUM) - (SP_REGNUM, FP_REGNUM, FUNCTION_START_OFFSET, DECR_PC_AFTER_BREAK) - (BREAKPOINT_FROM_PC, INNER_THAN, SAVED_PC_AFTER_CALL) - (INIT_EXTRA_FRAME_INFO, FRAME_INIT_SAVED_REGS, INIT_FRAME_PC) - (FRAME_CHAIN, FRAME_CHAIN_VALID, FRAME_SAVED_PC) - (STORE_RETURN_VALUE, DEPRECATED_EXTRACT_RETURN_VALUE) - (STORE_STRUCT_RETURN, DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS) - (SKIP_PROLOGUE, FRAME_ARGS_SKIP, FRAME_ARGS_ADDRESS) - (FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS, POP_FRAME) - (PUSH_RETURN_ADDRESS, PUSH_DUMMY_FRAME, PUSH_ARGUMENTS): Remove. - * mcore-tdep.c (mcore_init_extra_frame_info): Add fromleaf - argument so the function fits the prototype in the architecture - vector. - (mcore_pop_frame): Remove argument so the function fits the - prototype. Use get_current_frame instead of the argument. - (mcore_push_arguments): Change type of struct_return so the - function can be used in the architecture vector. - (mcore_store_struct_return): Add. - (mcore_frame_init_saved_regs): Add. - (mcore_gdbarch_init): Add function calls to replace the macros - removed from tm-mcore.h - -2002-07-03 Andrew Cagney - - * infcmd.c (print_return_value): Remove compatibility code calling - deprecated_grub_regcache_for_registers. - - * values.c: Include "regcache.h". - (value_being_returned): Update. Use - deprecated_grub_regcache_for_registers to extract the register - buffer address. - * value.h (value_being_returned): Change ``retbuf'' parameter to a - ``struct regcache''. - * Makefile.in (values.o): Add dependency on $(regcache_h). - - * inferior.h (run_stack_dummy): Change type of second parameter to - a ``struct regcache''. - * valops.c (hand_function_call): Change type of retbuf to ``struct - regcache''. Allocate using regcache_xmalloc, clean using - make_cleanup_regcache_xfree. - * infcmd.c (run_stack_dummy): Update. Use - regcache_cpu_no_passthrough instead of memcpy to copy the buffer. - - * regcache.c (do_regcache_xfree): New function. - (make_cleanup_regcache_xfree): New function. - * regcache.h (make_cleanup_regcache_xfree): Declare. - -2002-07-03 Martin M. Hunt - - * event-top.c (command_line_handler): Don't read past - beginning of buffer. - -2002-07-03 Martin M. Hunt - - * varobj.c (struct varobj_root): Change frame from CORE_ADDR to - struct frame_id. - (varobj_create): Store frame_id for root. - (varobj_gen_name): Use xasprintf. - (varobj_update): Save and restore frame using get_frame_id() and - frame_find_by_id(). - (create_child): Use xasprintf. - (new_root_variable): Initialize frame_id. - (c_name_of_child): Use xasprintf. Call find_frame_by_id(). - (c_value_of_variable): Use xasprintf. Move mem_fileopen call - to prevent memory leak. - -2002-07-03 Andrew Cagney - - * valops.c (hand_function_call): Move declaration of retbuf to - start of function, allocate using malloc, add a cleanup but before - the inf_status cleanup, cleanup the buffer. Rename local variable - old_chain to inf_status_cleanup. - -2002-07-03 Martin M. Hunt - - * top.c (execute_command): Use cmd_func() and cmd_func_p(). - - * cli/cli-decode.c (cmd_func_p): New function. - (cmd_func): New function. - - * command.h: Add cmd_func() and cmd_func_p(). - -2002-07-03 Grace Sainsbury - - * config/mcore/tm-mcore.h (GDB_MULTI_ARCH): Add macro. Set to 0. - (REGISTER_SIZE): Remove. - (MAX_REGISTER_RAW_SIZE): Remove. - (REGISTER_VIRTUAL_TYPE): Remove. - (MAX_REGISTER_VIRTUAL_SIZE): Remove. - (REGISTER_NAME): Remove. - (USE_GENERIC_DUMMY_FRAMES): Remove. - (CALL_DUMMY): Remove. - (CALL_DUMMY_START_OFFSET): Remove. - (CALL_DUMMY_BREAKPOINT_OFFSET): Remove. - (CALL_DUMMY_LOCATION): Remove. - (FIX_CALL_DUMMY): Remove. - (CALL_DUMMY_ADDRESS): Remove. - (SIZEOF_CALL_DUMMY_WORDS): Remove. - (SAVE_DUMMY_FRAME_TOS): Remove. - * mcore-tdep.c (MCORE_REG_SIZE, MCORE_NUM_REGS): Add macros. - (mcore_register_virtual_type): New function. - (mcore_register_byte): New function. - (mcore_register_size): New function. - (mcore_register_name): New function. - (mcore_gdbarch_init): New function. Add set_gdbarch calls for - macros removed from tm-mcore.h. - (mcore_dump_tdep): Add. - (_initialize_mcore_tdep): Add gdbarch_register call. - -2002-07-03 Mark Kettenis - - * i386-tdep.c (i386_frameless_signal_p): Provide an argument in to - frameless_look_for_prologue, such that we actually call this - function. - -2002-07-02 Joel Brobecker - - * frame.h (frame_address_in_block): New function. - - * blockframe.c (frame_address_in_block): New function extracted - from get_frame_block(). - (get_frame_block): Use frame_address_in_block(). - (block_innermost_frame): Use frame_address_in_block() to match - the frame pc address against the block boundaries rather than - the frame pc directly. This prevents a failure when a frame pc - is actually a return-address pointing immediately after the end - of the given block. - -2002-07-02 Grace Sainsbury - - * MAINTAINERS: Add self under write after approval. - -2002-07-02 Grace Sainsbury - - * m68k-tdep.c (m68k_remote_breakpoint_from_pc): Add. Currently not - used in architecture vector. The default is - m68k_local_breakpoint_from_pc. - (m68k_local_breakpoint_from_pc): Add. - (enum): Add register numbers from tm-m68k.h. - (m68k_gdbarch_init): Add breakpoint_from_pc to architecture - vector. - * config/m68k/tm-m68k.h (GDB_MULTI_ARCH): Set to - GDB_MULTI_ARCH_PARTIAL. - (BPT_VECTOR, REGISTER_BYTES_FP, REGISTER_BYTES_NOFP) - (NUM_FREGS, SIG_PC_FP_OFFSET, SP_ARG0, REMOTE_BPT_VECTOR): Move to - m68k-tdep.c. - (BREAKPOINT, REMOTE_BREAKPOINT): Remove. - (A1_REGNUM, FP0_REGNUM, FPC_REGNUM, FPS_REGNUM, FPI_REGNUM): Move - to enum in m68k-tdep.c - -2002-07-02 Joel Brobecker - - * solib-osf.c (open_map): Compute the list of shared libraries - loaded by the inferior, rather than the list of libraries loaded - by GDB itself. Otherwise, GDB ends up reading the symbols from - the wrong shared libraries... - -2002-07-02 Mark Kettenis - - * i386-linux-tdep.c (i386_linux_sigcontext_addr): Make static. - (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONEXT_SP_OFFSET): Remove - macros. - (i386_linux_sigtramp_saved_pc, i386_linux_sigtramp_saved_sp): - Remove functions. - (FRAMELESS_SIGNAL): Remove function. - (i386_linux_frame_chain, i386_linux_frame_saved_pc, - i386_linux_saved_pc_after_call): Removed. - (i386_linux_init_abi): Initialize tdep->sigcontext_addr, - tdep->sc_pc_offset and tdep->sc_sp_offset. Don't override - frame_chain, frame_saved_pc and saved_pc_after_call any longer. - - * i386-tdep.c (i386_frameless_signal_p): New function. - (i386_frame_chain): Deal with frameless signals. - (i386_sigtramp_saved_sp): New function. - (i386_frame_saved_pc): Deal with frameless signals. - (i386_saved_pc_after_call): Make sure the correct value is - returned just after entry into a sigtramp. - * i386bsd-tdep.c (i386bsd_sc_sp_offset, i386nbsd_sc_sp_offset, - i386fbsd4_sc_sp_offset): New variables. - (i386bsd_init_abi, i386nbsd_init_abi, i386fbsd4_init_abi): Use - these variables to initialize tdep->sc_sp_offset. * i386bsd-nat.c - (_initialize_i386bsd_nat): Add sanity check for sc_sp_offset - similiar to what we already did for sc_pc_offset. - * i386-sol2-tdep.c (i386_sol2_init_abi): Initialize - tdep->sc_sp_offset. - - * i386nbsd-tdep.c (fetch_elfcore_registers): Wrap long line. - -2002-07-02 Michal Ludvig - - * config/i386/tm-x86-64linux.h: New. - * config/i386/x86-64linux.mt: Add GDB_MULTI_ARCH and TM_FILE - definitions. - * config/i386/nm-x86-64.h: Rename to ... - * config/i386/nm-x86-64linux.h: ... this one. - * config/i386/x86-64linux.mh: Reflect the above change. - -2002-07-01 Mark Kettenis - - * i386-tdep.h (struct gdbarch_tdep): Replace sigtramp_saved_pc - with sigcontext_addr. Add sc_sp_offset. - (i386bsd_sigtramp_saved_pc): Remove prototype. - (i386bsd_sicontext_addr): Add prototype. - * i386-tdep.c (i386_sigtramp_saved_pc): New function. - (i386_frame_saved_pc): Rewrite to call i386_sigtramp_saved_pc. - (i386_svr4_sigtramp_saved_pc): Removed. - (i386_svr4_sigcontext_addr): New function. - (i386_svr4_init_abi): Don't initialize tdep->sigtramp_saved_pc. - Initialize tdep->sigcontext_addr instead. Initialize - tdep->sc_pc_offset and tdep->sc_sp_offset. - (i386_gdbarch_init): Likewise. - * i386bsd-tdep.c (i386bsd_sigcontext_addr): Don't make it static - any more. - (i386bsd_sigtramp_saved_pc): Remove function. - (i386bsd_init_abi): Don't initialize tdep->sigtramp_saved_pc. - Initialize tdep->sigcontext_addr instead. Initialize - tdep->sc_pc_offset. - * i386-linux-tdep.c (i386_linux_init_abi): Remove initialization - of tdep->sigtramp_saved_pc. - * i386-sol2-tdep.c (i386_sol2_init_abi): Don't initialize - tdep->sigtramp_saved_pc. Initialize tdep->sigcontext_addr - instead. - - * i386-tdep.c (i386_frameless_function_invocation, - i386_frame_num_args, i386_frame_init_saved_regs, - i386_skip_prologue, i386_push_dummy_frame, i386_fix_call_dummy, - i386_pop_frame, i386_push_arguments, i386_store_struct_return, - i386_extract_return_value, i386_store_return_value, - i386_extract_struct_value_address, i386_register_virtual_type, - i386_register_convertible, i386_register_convert_to_virtual, - i386_register_convert_to_raw, i386_svr4_sigtramp_saved_pc, - i386_go32_init_abi, i386_nw_init_abi, i386_gdbarch_init): Make - static. - -2002-07-01 Mark Kettenis - - * i386bsd-tdep.c (i386bsd_frame_saved_pc): Removed. - - * config/i386/tm-i386sol2.h (COERCE_FLOAT_TO_DOUBLE): Removed. - * i386-sol2-tdep.c (i386_sol2_init_abi): Adjust for the removal of - this macro. Include "value.h". - -2002-06-30 Aidan Skinner - - * ada-exp.tab.c: remove as it's a generated file - * ada-lex.c: remove as it's a generated file - -2002-06-30 Mark Kettenis - - * config/i386/tm-i386.h (struct frame_info, struct - frame_saved_regs, struct value, struct type): Remove forward - declarations. - - * config/i386/tm-linux.h [HAVE_PTRACE_GETFPXREGS] - (FILL_FPXREGSET, HAVE_SSE_REGS): Remove define. - * config/i386/nm-linux.h [HAVE_PTRACE_GETFPXREGS] - (FILL_FPXREGSET): Define. - - * config/i386/tm-nbsd.h (HAVE_SSE_REGS): Remove define. - - * configure.tgt (i[3456]86-*-openbsd*): Fold into - i[3456]86-*-netbsd* case. - * config/i386/tm-obsd.h: Removed. - * config/i386/obsd.mt: Removed. - * config/i386/obsd.mh (NATDEPFILES): Remove corelow.o and - core-aout.o. - (MH_CFLAGS): Add -DYYDEBUG=0. - - * i386bsd-nat.c (_initialize_i386bsd_nat): Define SC_PC_OFFSET to - i386nbsd_sc_pc_offset on OpenBSD too. - - * config/i386/tm-fbsd.h [!SVR4_SHARED_LIBS] - (IN_SOLIB_CALL_TRAMPOLINE): Remove define. - * config/i386/tm-nbsdaout.h (IN_SOLIB_CALL_TRAMPOLINE): Remove - define. - * i386bsd-tdep.c: Include "arch-utils.h". - (i386bsd_aout_in_solib_call_trampoline): New function. - (i386bsd_init_abi): Set in_solib_call_trampoline to - i386bsd_aout_in_solib_call_trampoline. - (i386nbsdelf_init_abi, i386fbsd_init_abi): Set - in_solib_call_trampoline to generic_in_solib_call_trampoline. - -2002-06-28 Andrew Cagney - - * macrotab.h: Do not include "obstack.h" or "bcache.h". - (struct obstack, struct bcache): Add opaque declarations. - * Makefile.in (macrotab_h): Update - -2002-06-28 Andrew Cagney - - * blockframe.c (generic_find_dummy_frame): Change return type to - ``struct regcache''. - (struct dummy_frame): Replace field ``registers'' with regcache, a - struct regcache object. - (generic_find_dummy_frame): Update. - (generic_push_dummy_frame): Update. Use regcache_xfree, - regcache_xmalloc and regcache_cpy. - (generic_pop_dummy_frame): Update. Use regcache_cpy and - regcache_xfree. - (deprecated_generic_find_dummy_frame): Update. - (generic_read_register_dummy): Update. Use - regcache_read_as_address. - (generic_call_dummy_register_unwind): Update. Use regcache_read. - (generic_get_saved_register): Update. Use regcache_read. - -2002-06-28 Andrew Cagney - - * Makefile.in (objfiles_h): Add $(bcache_h). - * objfiles.h: Include "bcache.h". - - * Makefile.in (symtab_h): Remove $(bcache_h). - * symtab.h: Do not include "bcache.h". - -2002-06-28 Andrew Cagney - - * ppcnbsd-tdep.c (ppcnbsd_init_abi): Set frame_chain_valid to - generic_func_frame_chain_valid. - -2002-06-28 David O'Brien - - * config/i386/nm-fbsd.h: Include . - * config/i386/tm-fbsd.h: Likewise. - -2002-06-28 Andrew Cagney - - * rs6000-tdep.c (rs6000_gdbarch_init): Use - generic_unwind_get_saved_register. - -2002-06-27 Andrew Cagney - - From 2002-06-27 John David Anglin : - * regcache.c (supply_register): Add missing argument to - register_buffer call. - -2002-06-27 Andrew Cagney - - * Makefile.in (init.c): Drop -e option to grep. Not necessary and - Solaris /bin/grep does not not like it. From Peter Schauer. - -2002-06-26 Tom Tromey - - * command.h (add_setshow_cmd): Declare. - (add_setshow_cmd_full): Declare. - * cli/cli-decode.c (add_setshow_cmd): No longer static. Now - returns void. Use add_setshow_cmd_full. - (add_setshow_cmd_full): New function. - (add_setshow_auto_boolean_cmd): Use add_setshow_cmd_full. - (add_setshow_boolean_cmd): Likewise. - -2002-06-26 Jason Thorpe - - * config/vax/tm-vax.h: Protect from multiple inclusion. - (TARGET_UPAGES, TARGET_NBPG, STACK_END_ADDR) - (SIGTRAMP_START, SIGTRAMP_END, SIGCONTEXT_PC_OFFSET): Move to... - * config/vax/tm-vaxbsd.h: ...here. New file. - * config/vax/vax.mt (TM_FILE): Set to tm-vaxbsd.h. - -2002-06-26 Jason Thorpe - - * config/vax/tm-vax.h (BREAKPOINT): Remove. - (BELIEVE_PCC_PROMOTION): Remove. - (AP_REGNUM): Move to... - * config/vax/nm-vax.h: ...here. - * vax-tdep.c: Use VAX_AP_REGNUM instead of AP_REGNUM. - (vax_breakpoint_from_pc): New function. - (vax_gdbarch_init): Initialize gdbarch_breakpoint_from_pc - and gdbarch_believe_pcc_promotion. - -2002-06-26 Jason Thorpe - - * Makefile.in (vax_tdep_h): Define. - (vax-tdep.o): Use $(vax_tdep_h). - * vax-tdep.c (vax_gdbarch_init): Use generic OS ABI framework. - (vax_dump_tdep): New function. - (_initialize_vax_tdep): Register vax_dump_tdep. - * vax-tdep.h: Include osabi.h. - (struct gdbarch_tdep): New. - -2002-06-26 Andrew Cagney - - * frame.h (deprecated_generic_find_dummy_frame): Rename - generic_find_dummy_frame. - * blockframe.c (generic_find_dummy_frame): Make static. - (deprecated_generic_find_dummy_frame): New function. - * sh-tdep.c (sh_nofp_frame_init_saved_regs): Replace - generic_find_dummy_frame with deprecated_find_dummy_frame. - (sh64_nofp_frame_init_saved_regs): Ditto. - (sh_fp_frame_init_saved_regs): Ditto. - * s390-tdep.c (s390_frame_saved_pc_nofix): Ditto. - (s390_frame_chain): Ditto. - * cris-tdep.c (cris_frame_init_saved_regs): Ditto. - -2002-06-26 Grace Sainsbury - - * config/m68k/tm-m68k.h: Rearrange code so macros not in the - gdbarch vector are at the top. - (NUM_REGS): Remove. - (FP_REGNUM, SP_REGNUM, PS_REGNUM, PC_REGNUM, FP0_REGNUM): Remove. - (FRAME_ARGS_ADDRESS): Remove. - (FRAME_LOCALS_ADDRESS): Remove. - (FRAME_NUM_ARGS): Remove. - (FRAME_ARGS_SKIP): Remove. - * m68k-tdep.c (enum): Add eumeration of special register numbers. - (m68k_gdbarch_init): Add gdbarch initializations for macros - undefined in tm-m68k.h - -2002-06-26 Grace Sainsbury - - * monitor.h: Add the function regname to monitor_ops - structure. This way NUM_REGS does not have to be a constant. - * monitor.c (monitor_fetch_register): Added support for regname - function. The function is called if the array regnames is NULL. - (monitor_store_register): Same. - * cpu32bug-rom.c (cpu32bug_regname): Add function. Replaces - regnames array. - (init_cpu32bug_cmds): set cpu32bug_cmds.regnames to NULL, - cpu32bug_cmds.regname to point to new function. - * abug-rom.c (abug_regname): Same as above. - (init_abug_cmds): Same. - * dbug-rom.c (dbug_regname): Same as above. - (init_dbug_cmds): Same. - * remote-est.c (est_regname): Same. - (init_est_cmds): Same. - * rom68k-rom.c (rom68k_regname): Same. - (init_rom68k_cmds): Same. - -2002-06-25 Tom Tromey - - * breakpoint.c (delete_command): Don't repeat `delete' commands. - -2002-06-25 Andrew Cagney - - * infrun.c (stop_registers): Change variable's type to ``struct - regcache'''. - (xmalloc_inferior_status): Delete function. - (free_inferior_status): Delete function. - (normal_stop): Use regcache_cpy. - (struct inferior_status): Change type of fields ``stop_registers'' - and ``registers'' to ``struct regcache''. - (write_inferior_status_register): Use regcache_write. - (save_inferior_status): Instead of calling - xmalloc_inferior_status, allocate the inf_status buffer directly. - Use regcache_dup_no_passthrough and regcache_dup to save the - buffers. - (restore_inferior_status): Use regcache_xfree and regcache_cpy. - Replace the stop_registers regcache instead of overriding it. Use - regcache_xfree. Instead of calling free_inferior_status, xfree - the buffer directly. - (discard_inferior_status): Use regcache_xfree. Instead of calling - free_inferior_status, xfree the buffer directly. - (build_infrun): Use regcache_xmalloc. - (_initialize_infrun): Delete redundant call to build_infrun. - - * Makefile.in (infcmd.o): Add $(regcache_h). - - * infcmd.c: Include "regcache.h". - (run_stack_dummy): Use deprecated_grub_regcache_for_registers to - obtain the address of `stop_registers' register buffer. - (print_return_value): Ditto. - - * inferior.h (struct regcache): Add opaque declaration. - (stop_registers): Change variable's declared type to ``struct - regcache''. - -2002-06-24 Tom Tromey - - * cli/cli-decode.c (add_show_from_set): Fixed typo in comment. - * target.c (initialize_targets): Fixed typo in - trust-readonly-sections `show' documentation. - - * main.c: Marked all strings with _(). - -2002-06-24 Don Howard - - * memattr.c (create_mem_region): Treat hi == 0 as a special case - that means max CORE_ADDR+1. - (lookup_mem_region): Ditto. - (mem_info_command): Ditto. - -2002-06-24 Grace Sainsbury - - * config/m68k/tm-m68k.h (DECR_PC_AFTER_BREAK): Remove. - (REGISTER_BYTES_OK): Remove. - (REGISTER_BYTES): Remove. - (STORE_STRUCT_RETURN): Remove. - (DEPRECATED_EXTRACT_RETURN_VALUE): Remove. - (STORE_RETURN_VALUE): Remove. - (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Remove. - (FRAME_CHAIN): Remove. - (FRAMELESS_FUNCTION_INVOCATION): Remove. - (FRAME_SAVED_PC): Remove. - * m68k-tdep.c (m68k_register_bytes_ok):Add. - (m68k_store_struct_return): Add. - (m68k_deprecated_extract_return_value): Add. - (m68k_deprecated_extract_struct_value_address): Add. - (m68k_store_return_value): Add. - (m68k_frame_chain): Add. - (m68k_frameless_function_invocation): Add. - (m68k_frame_saved_pc): Add. - (m68k_gdbarch_init): added set_gdbarch calls for new - functions and deleted macros. - -2002-06-23 Tom Tromey - - * Makefile.in (HFILES_NO_SRCDIR): Remove old files. - (ALLDEPFILES): Likewise. - (udiheaders): Removed. - (udip2soc.o): Likewise. - (udi2go32.o): Likewise. - (udr.o): Likewise. - (HFILES_WITH_SRCDIR): Don't mention udiheaders. - -2002-06-22 Andrew Cagney - - * infrun.c (_initialize_infrun): Delete unnecessary call to - build_infrun. - - * regcache.h: Update comments describing the regcache_cpy family - of functions. - (regcache_save, regcache_restore): Delete declaration. - (regcache_save_no_passthrough): Delete declaration. - (regcache_restore_no_passthrough): Delete declaration. - * regcache.c (regcache_save): Delete function. - (regcache_save_no_passthrough): Delete function. - (regcache_restore): Delete function. - (regcache_restore_no_passthrough): Delete function. - -2002-06-21 Andrew Cagney - - * config/m68k/tm-m68k.h: Fix typo. - (FRAME_INIT_SAVED_REGS): Define when non-multi-arch. - (m68k_frame_init_saved_regs): Declare. - -2002-06-21 Jim Blandy - - Remove some vestiges of Harris 88k support. - * dwarf2read.c (decode_locdesc): Remove `#if' block for Harris 88k - register numbering quirk. - * elfread.c (elf_symtab_read): Remove `#if' block for skipping - odd symbols occurring in Harris 88k ELF targets. - -2002-06-21 Tom Tromey - - * gdb_locale.h: New file. - * Makefile.in (GDB_CFLAGS): Define LOCALEDIR. - (defs_h): Added gdb_locale.h. - * configure, config.in: Rebuilt. - * configure.in (PACKAGE): Define. - * defs.h: Include gdb_locale.h. - * main.c (captured_main): Call setlocale, bindtextdomain, - textdomain. - -2002-06-21 Dave Brolley - - From Stan Shebs, Jim Blandy, Mark Salter, Kevin Buettner: - * config/frv/frv.mt: New file. - * config/frv/tm-frv.h: New file. - * configure.tgt: Support frv-*-*. - * Makefile.in (frv-tdep.o): New target. - * frv-tdep.c: New file. - * NEWS: Mention frv. - -2002-06-21 Dave Brolley - - * MAINTAINERS: Add self to "Write After Approval" list. - -2002-06-21 Grace Sainsbury - - * config/m68k/tm-m68k.h (REGISTER_BYTE, REGISTER_RAW_SIZE) - (REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE) - (REGISTER_VIRTUAL_TYPE, REGISTER_NAMES, TARGET_LONG_DOUBLE_FORMAT) - (FUNCTION_START_OFFSET, SKIP_PROLOGUE, SAVED_PC_AFTER_CALL) - (INNER_THAN, STACK_ALIGN, REGISTER_SIZE): Remove macros. - - * m68k-tdep.c: Include arch-utils.h - (m68k_register_raw_size): Add. - (m68k_register_virtual_size): Add. - (m68k_register_virtual_type): Add. - (m68k_register_name): Add. - (m68k_stack_align): Add. - (m68k_register_byte): Add. - (m68k_gdbarch_init): Add set_gdbarch calls for macros removed in - tm-m68k.h. - -2002-06-21 Grace Sainsbury - - * m68k-tdep.c (m68k_frame_init_saved_regs): Replace - m68k_find_saved_regs. - (m68k_pop_frame): Removed saved_regs structure, and replaced - references to it with frame->saved_regs. - (m68k_gdbarch_init): Added function calls to initialize the - gdbarch structure. - (m68k_fix_call_dummy): Add. - * config/m68k/tm-m68k.h: (FRAME_FIND_SAVED_REGS): Remove. - (CALL_DUMMY): Remove. - (CALL_DUMMY_LENGTH): Remove. - (CALL_DUMMY_START_OFFSET): Remove. - (CALL_DUMMY_BREAKPOINT_OFFSET): Remove. - (FIX_CALL_DUMMY): Remove. - (PUSH_DUMMY_FRAME): Remove. - (POP_FRAME): Remove. - -2002-06-19 Pierre Muller - - * parse.c (parse_fprintf): New function used to avoid calls to - fprintf in bison parser generated debug code. - * parser-defs.h: Declaration of new parse_fprintf function. - * ada-exp.y, c-exp.y, f-exp.y, jv-exp.y, m2-exp.y, p-exp.y: - Set YYDEBUG to 1 by default. - Set YYFPRINTF as parse_fprintf. - -2002-06-21 Michal Ludvig - - * dwarf2cfi.c (read_encoded_pointer): Don't handle pointer - encoding anymore. - (pointer_encoding, enum ptr_encoding): New. - (execute_cfa_program): Take care about pointer encoding. - (dwarf2_build_frame_info): Only call parse_frame_info for - .debug_frame and .eh_frame. - (parse_frame_info): New, derived from former dwarf2_build_frame_info. - fixed augmentation handling, added relative addressing, - ignore duplicate FDEs. Added comments. - * dwarf2cfi.c: Reindented. - -2002-06-20 Elena Zannoni - - * 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. - -2002-06-20 Michal Ludvig - - * x86-64-tdep.c (x86_64_register_nr2name): Rename to - x86_64_register_name. Return type changed to 'const char *'. - (x86_64_register_name2nr): Rename to x86_64_register_number. - (x86_64_gdbarch_init): Update to reflect the change. - * x86-64-tdep.h: Ditto. - * x86-64-linux-nat.c (x86_64_fxsave_offset) - (supply_fpregset): Ditto. - -2002-06-19 Andrew Cagney - - * regcache.h: Update copyright. - (struct regcache, struct gdbarch): Add opaque declarations. - (current_regcache): Declare global variable. - (regcache_read, regcache_write): Add gdbarch parameter. - (regcache_save, regcache_save_no_passthrough) - (regcache_restore, regcache_restore_no_passthrough) - (regcache_dup, regcache_dup_no_passthrough) - (regcache_cpy, regcache_cpy_no_passthrough) - (deprecated_grub_regcache_for_registers) - (deprecated_grub_regcache_for_register_valid) - (regcache_valid_p): Add function declarations. - - * regcache.c: Update copyright. - (regcache_descr_handle): New global variable. - (struct regcache_descr): Define. - (init_legacy_regcache_descr, init_regcache_descr): New functions. - (regcache_descr, xfree_regcache_descr): New functions. - (struct regcache): Define. - (regcache_xmalloc, regcache_xfree): New functions. - (regcache_cpy, regcache_cpy_no_passthrough): New functions. - (regcache_dup, regcache_dup_no_passthrough): New functions. - (regcache_valid_p, regcache_read_as_address): New functions. - (deprecated_grub_regcache_for_registers): New function. - (deprecated_grub_regcache_for_register_valid): New function. - (current_regcache): New global variable. - (register_buffer): Add regcache parameter. Update calls. - (regcache_read, regcache_write): Add regcache parameter. Rewrite. - (read_register_gen, write_register_gen): Update register_buffer - call. Test for legacy_p instead of gdbarch_register_read_p or - gdbarch_register_write_p. - (regcache_collect): Update register_buffer call. - (build_regcache): Rewrite. Use deprecated grub functions. - (regcache_save, regcache_save_no_passthrough): New functions. - (regcache_restore, regcache_restore_no_passthrough): New - functions. - (_initialize_regcache): Create the regcache_data_handle. Swap - current_regcache global variable. - - * sh-tdep.c (sh_pseudo_register_read): Add current_regcache - parameter to regcache_read and regcache_write calls. - (sh4_register_read): Ditto. - (sh64_pseudo_register_read): Ditto. - (sh64_register_read): Ditto. - (sh_pseudo_register_write): Ditto. - (sh4_register_write): Ditto. - (sh64_pseudo_register_write): Ditto. - (sh64_register_write): Ditto. - - * defs.h (XCALLOC): Define. - -2002-06-19 Grace Sainsbury - - * config/m68k/tm-m68k.h (GDB_MULTI_ARCH): Added (set to 0). - * m68k-tdep.c (m68k_gdbarch_init): Added. - (m68k_dump_tdep): Added. - -2002-06-19 Daniel Jacobowitz - - * ada-lang.c (fill_in_ada_prototype): Update comment. - -2002-06-19 Daniel Jacobowitz - - * mips-tdep.c (enum mips_abi): Explicitly start at 0. Add - MIPS_ABI_LAST. - (mips_abi_string, mips_abi_strings): New. - (struct gdbarch_tdep): Remove mips_abi_string, add found_abi. - (mips_gdbarch_init): Set tdep->found_abi. Don't set - tdep->mips_abi_string. Honor mips_abi_string. Default to - O32 if no ABI is found. - (mips_dump_tdep): Use mips_abi_strings. - (mips_abi_update): New function. - (_initialize_mips_tdep): Initialize mips_abi_string. Add - ``set mips abi'' and ``show mips abi''. Check the size of - mips_abi_strings. - -2002-06-19 Andrew Cagney - - * i386-linux-tdep.c (i386_linux_register_name): Make return type - constant. - -2002-06-18 Joel Brobecker - - * alpha-tdep.c (heuristic_proc_desc): Compute the size of the - current frame using only the first stack size adjustment. All - subsequent size adjustments are not considered to be part of - the "static" part of the current frame. - Compute the address of the saved registers relative to the - Frame Pointer ($fp) instead of the Stack Pointer if $fp is - in use in this frame. - -2002-06-18 Don Howard - - * valops.c (value_ind): Use value_at_lazy() when dereferencing - type int expressions. Thanks to Jim Blandy for - suggesting this solution. - -2002-06-18 Andrew Cagney - - * config/romp/xm-rtbsd.h: Delete file. - * config/romp/rtbsd.mh: Delete file. - -2002-06-18 Keith Seitz - - * breakpoint.c (condition_command): Post breakpoint_modify - when a condition is added to an existing breakpoint. - (commands_command): Likewise for commands. - (set_ignore_count): Likewise for ignore counts. - If no tty, do not simply return, still need to send event - notification. - (ignore_command): Only print a newline if the command came - from a tty. - Don't call breakpoints_changed, since this is now properly - handled by set_ignore_count. - -2002-06-18 Andrew Cagney - - * MAINTAINERS: Note that cris-elf target can be compiled with - -Werror. - * cris-tdep.c (cris_register_name): Make return type constant. - (cris_breakpoint_from_pc): Ditto. - -2002-06-18 Michal Ludvig - - * frame.h (struct frame_info): Change type of context to - 'struct context'. - -2002-06-17 Andrew Cagney - - * gdbarch.sh (REGISTER_NAME): Change return type a constant string - pointer. - * gdbarch.h, gdbarch.c: Regenerate. - * config/mips/tm-mips.h (mips_register_name): Update. - * i386-tdep.h (i386_register_name): Update. - * mips-tdep.c (mips_register_name): Update - * alpha-tdep.c (alpha_register_name): Update. - * arch-utils.c (legacy_register_name): Update. - * arch-utils.h (legacy_register_name): Update. - * avr-tdep.c (avr_register_name): Update. - * ia64-tdep.c (ia64_register_name): Update. - * i386-tdep.c (i386_register_name): Update. - * sparc-tdep.c (sparc32_register_name): Update. - (sparc64_register_name): Update. - (sparclite_register_name): Update. - (sparclet_register_name): Update. - * sh-tdep.c (sh_generic_register_name): Update. - (sh_sh_register_name): Update. - (sh_sh3_register_name): Update. - (sh_sh3e_register_name): Update. - (sh_sh_dsp_register_name): Update. - (sh_sh3_dsp_register_name): Update. - (sh_sh4_register_name): Update. - (sh_sh64_register_name): Update. - * s390-tdep.c (s390_register_name): Update. - * rs6000-tdep.c (rs6000_register_name): Update. - * ns32k-tdep.c (ns32k_register_name_32082): Update. - (ns32k_register_name_32382): Update. - * d10v-tdep.c (d10v_ts2_register_name): Update. - (d10v_ts3_register_name): Update. - * xstormy16-tdep.c (xstormy16_register_name): Update. - * vax-tdep.c (vax_register_name): Update. - * v850-tdep.c (v850_register_name): Update. - * m68hc11-tdep.c (m68hc11_register_name): Update. - * mn10300-tdep.c (mn10300_generic_register_name): Update. - (am33_register_name): Update. - -2002-06-17 Grace Sainsbury - - * m68k-tdep.c: Reindented. - -2002-06-17 Andrew Cagney - - * gdb_indent.sh: Add prgregset_t, fpregset_t, and gregset_t to the - list of predefined types. - -2002-06-16 Mark Kettenis - - * config/i386/tm-i386.h (REGISTER_VIRTUAL_TYPE, - REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, - REGISTER_CONVERT_TO_RAW): Remove defines. - (i386_register_virtual_type, i386_register_convertible, - i386_register_convert_to_virtual, i386_register_convert_to_raw): - Remove prototypes. - * i386-tdep.c (i386_gdbarch_init): Adjust for removal of the - macros mentioned above. - - * config/i386/tm-i386lynx.h (SAVED_PC_AFTER_CALL): Remove define. - (i386lynx_saved_pc_after_call): Remove prototype. - * i386ly-tdep.c: Include "i386-tdep.h". - (i386lynx_saved_pc_after_call): Make static. Use - read_memory_nobpt instead of read_memory. Use - read_memory_unsigned_integer instead of read_memory_integer. - (i386lynx_init_abi): New function. - (i386lynx_coff_osabi_sniffer): New function. - (_initialize_i386bsd_tdep): New function. - - * config/i386/tm-i386.h (PARM_BOUNDARY, CALL_DUMMY, - CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET, - CALL_DUMMY_BREAKPOINT_OFFSET, FIX_CALL_DUMMY): Remove defines. - (i386_fix_call_dummy): Remove prototype. - * i386-tdep.c (i386_call_dummy_words): New variable. - (i386_gdbarch_init): Adjust for removal of the - macros mentioned above. - -2002-06-15 Andrew Cagney - - * command.h (add_setshow_auto_boolean_cmd): Replace - add_set_auto_boolean_cmd. - * cli/cli-decode.c (add_setshow_auto_boolean_cmd): Replace - add_set_auto_boolean_cmd. - * cli/cli-decode.h (add_set_auto_boolean_cmd): Delete declaration. - * mips-tdep.c (_initialize_mips_tdep): Update ``set mips - mask-address'' command. - (show_mask_address): Add cmd parameter. - * remote.c (add_packet_config_cmd): Update. Change type of - set_func and show_func to cmd_sfunc_ftype. - (_initialize_remote): Update `set remote Z-packet' - (show_remote_protocol_qSymbol_packet_cmd): Add cmd parameter. - (show_remote_protocol_e_packet_cmd): Ditto. - (show_remote_protocol_E_packet_cmd): Ditto. - (show_remote_protocol_P_packet_cmd): Ditto. - (show_remote_protocol_Z_software_bp_packet_cmd): Ditto. - (show_remote_protocol_Z_hardware_bp_packet_cmd): Ditto. - (show_remote_protocol_Z_write_wp_packet_cmd): Ditto. - (show_remote_protocol_Z_read_wp_packet_cmd): Ditto. - (show_remote_protocol_Z_access_wp_packet_cmd): Ditto. - (show_remote_protocol_Z_packet_cmd): Ditto. - (show_remote_protocol_binary_download_cmd): Ditto. - (show_remote_cmd): Pass NULL to all of above. - -2002-06-15 Mark Kettenis - - * config/i386/tm-i386.h (PUSH_ARGUMENTS, STORE_STRUCT_RETURN, - DEPRECATED_EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE, - DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS, PUSH_DUMMY_FRAME, - POP_FRAME): Remove defines. - (i386_push_arguments, i386_store_struct_return, - i386_extract_return_value, i386_store_return_value, - i386_extract_struct_value_address, i386_push_dummy_frame, - i386_pop_frame): Renove prototypes. - * i386-tdep.c (i386_gdbarch_init): Adjust for removal of the - macros mentioned above. - -2002-06-15 Andrew Cagney - - * cli/cli-decode.c (add_setshow_boolean_cmd): Replace - add_set_boolean_cmd. - (add_setshow_cmd): New function. - * command.h (add_setshow_boolean_cmd): Replace - add_set_boolean_cmd. - * remote-rdi.c (_initialize_remote_rdi): Update ``set rdiheartbeat'' - and ``set rdiromatzero''. - * maint.c (_initialize_maint_cmds): Update commented out code. - * cli/cli-decode.h (add_set_boolean_cmd): Delete declaration. - * target.c (initialize_targets): Update `set - trust-readonly-sections'. - * remote.c (_initialize_remote): Update `set remotebreak'. - -2002-06-15 Mark Kettenis - - * config/i386/tm-i386.h (FUNCTION_START_OFFSET, INNER_THAN, - BREAKPOINT, DECR_PC_AFTER_BREAK): Removed. - * i386-tdep.c (i386_skip_prologue): Adjust function signature to - fit into multi-arch framework. - (i386_breakpoint_from_pc): New function. - (i386_gdbarch_init): Adjust for removal of the macros mentioned - above. - - * config/i386/tm-i386.h (FRAMELESS_FUNCTION_INVOCATION, - FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS, - FRAME_ARGS_SKIP, FRAME_INIT_SAVED_REGS): Remove defines. - (i386_frameless_function_invocation, i386_frame_num_args, - i386_frame_init_saved_regs): Remove prototypes. - * i386-tdep.c (i386_gdbarch_init): Adjust for removal of the - macros mentioned above. - -2002-06-15 Andrew Cagney - - * cli/cli-decode.c (set_cmd_cfunc): Update. - (set_cmd_sfunc): Update. - * command.h (cmd_cfunc_ftype, cmd_sfunc_ftype): Declare. - (set_cmd_sfunc, set_cmd_cfunc): Update. - * cli/cli-decode.h: Update. - -2002-06-15 Mark Kettenis - - * i386-sol2-tdep.c (i386_sol2_osabi_sniffer): New function. - (_initialize_i386_sol2_tdep): Register i386_sol2_osabi_sniffer. - -2002-06-15 Andrew Cagney - - * defs.h (auto_boolean): Declare enum. - * command.h (cmd_auto_boolean): Delete enum. - * mips-tdep.c (mask_address_var): Update. - (mips_mask_address_p): Update. - (show_mask_address): Update. - * remote.c (struct packet_config): Update. - (update_packet_config): Update. - (show_packet_config_cmd): Update. - (packet_ok): Update. - (add_packet_config_cmd): Update. - (_initialize_remote): - * command.h: Update. - * cli/cli-setshow.c (parse_auto_binary_operation): Update. - (do_setshow_command): Update. - * cli/cli-decode.c (add_set_auto_boolean_cmd): Update. - * cli/cli-decode.h: Update. - -2002-06-15 Mark Kettenis - - * config/i386/tm-cygwin.h, config/i386/tm-fbsd.h, - config/i386/tm-go32.h, config/i386/tm-i386gnu.h, - config/i386/tm-i386sol2.h, config/i386/tm-i386v4.h, - config/i386/tm-linux.h, config/i386/tm-nbsd.h, - config/i386/tm-obsd.h (HAVE_I387_REGS): Remove define. - * config/i386/tm-i386.h: Unconditionally define FLOAT_INFO. - - * i386-tdep.c (i386_coff_osabi_sniffer): Add "coff-go32" to the - list of DJGPP COFF targets. - - * config/i386/tm-i386.h (REGISTER_SIZE): Remove define. - (NUM_GREGS, NUM_FREGS, NUM_SSE_REGS): Remove defines. - (FP_REGNUM, SP_REGNUM, PC_REGNUM, PS_REGNUM): Remove defines. - (FP0_REGNUM): Remove define. - (MAX_REGISTER_RAW_SIZE, MAX_REGISTER_VIRTUAL_SIZE, - MAX_REGISTER_VIRTUAL_SIZE): Remove define. - (i386_register_virtual_size): Remove protoype. - * i386-tdep.c (i386_register_virtual_size): Removed. - (i386_extract_return_value, i386_store_return_value): Use - FP0_REGNUM instead of NUM_FREGS to determine whether the - floating-point registers are available. - (i386_gdbarch_init): Tweak FIXME about FPU registers. - Adjust for removal of macros mentioned above. - -2002-06-15 Mark Kettenis - - * i386v4-nat.c: Include "i386-tdep.h". Reformat and tweak various - comments. - (fill_gregset, supply_gregset, supply_fpregset, fill_fpregset): - Remove prototypes. - (supply_gregset, fill_gregset): Remove use of register keyword and - remove declaration for regmap. Use I386_NUM_GREGS instead of - NUM_REGS and NUM_FREGS. - (FPREGSET_FSAVE_OFFSET): Remove. - (supply_fpregset, fill_fpregset): Use FPO_REGNUM instead of - NUM_FREGS to determine whether the floating-point registers are - available. - - * i386gnu-nat.c (supply_gregset, gnu_fetch_registers, - gnu_store_registers): Replace usage of NUM_GREGS with - I386_NUM_GREGS. - - * i386-linux-nat.c (OLD_CANNOT_FETCH_REGISTER, - OLD_CANNOT_STORE_REGISTER, supply_gregset, fill_gregset): Replace - usage of NUM_GREGS with I386_NUM_GREGS. - - * i386-linux-nat.c (fill_gregset): Remove redundant parentheses. - - * i386bsd-nat.c: Include "i386-tdep.h". - (supply_gregset, fill_gregset): Replace usage of NUM_GREGS with - I386_NUM_GREGS. - - * i386v-nat.c: Remove copnditional inclusion of , - and associated comment. They no longer make any sense, since we - don't use this file anymore on Linux. - - * config/i386/tm-i386.h (MAX_NUM_REGS): Removed. - * i386-tdep.c (i386_register_offset, i386_register_size): Use - I386_SSE_NUM_REGS instead of MAX_NUM_REGS for the number of - elements in these arrays. - (_initialize_i386_tdep): Use I386_SSE_NUM_REGS instead of - MAX_NUM_REGS. - -2002-06-15 Mark Kettenis - - * osabi.h (gdb_osabi): Add GDB_OSABI_LYNXOS. - * osabi.c (gdb_osabi_names): Add entry for "LynxOS". - -2002-06-14 Andrew Cagney - - * gdbarch.sh (DEPRECATED_EXTRACT_RETURN_VALUE): Rename - EXTRACT_RETURN_VALUE. - (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Rename - EXTRACT_STRUCT_VALUE_ADDRESS. - * gdbarch.h, gdbarch.c: Regenerate. - - * values.c (value_being_returned): Handle - DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS. - (EXTRACT_RETURN_VALUE): Define as DEPRECATED_EXTRACT_RETURN_VALUE. - - * arm-linux-tdep.c (arm_linux_init_abi): Update. - * arm-tdep.c (arm_gdbarch_init): Update. - * avr-tdep.c (avr_gdbarch_init): Update. - * cris-tdep.c (cris_gdbarch_init): Update. - * d10v-tdep.c (d10v_gdbarch_init): Update. - * ia64-tdep.c (ia64_gdbarch_init): Update. - * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. - * rs6000-tdep.c (rs6000_gdbarch_init): Update. - * s390-tdep.c (s390_gdbarch_init): Update. - * sh-tdep.c (sh_gdbarch_init): Update. - * s390-tdep.c (s390_gdbarch_init): Update. - * sparc-tdep.c (sparc_gdbarch_init): Update. - * ns32k-tdep.c (ns32k_gdbarch_init): Update. - * v850-tdep.c (v850_gdbarch_init): Update. - * vax-tdep.c (vax_gdbarch_init): Update. - * x86-64-tdep.c (x86_64_gdbarch_init): Update. - * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. - - * config/arc/tm-arc.h: Update. - * config/d30v/tm-d30v.h: Update. - * config/fr30/tm-fr30.h: Update. - * config/h8300/tm-h8300.h: Update. - * config/h8500/tm-h8500.h: Update. - * config/i386/tm-i386.h: Update. - * config/i386/tm-ptx.h: Update. - * config/i386/tm-symmetry.h: Update. - * config/i960/tm-i960.h: Update. - * config/m32r/tm-m32r.h: Update. - * config/m68k/tm-delta68.h: Update. - * config/m68k/tm-linux.h: Update. - * config/m68k/tm-m68k.h: Update. - * config/m88k/tm-m88k.h: Update. - * config/mcore/tm-mcore.h: Update. - * config/mips/tm-mips.h: Update. - * config/mn10200/tm-mn10200.h: Update. - * config/pa/tm-hppa.h: Update. - * config/pa/tm-hppa64.h: Update. - * config/sparc/tm-sp64.h: Update. - * config/sparc/tm-sparc.h: Update. - * config/sparc/tm-sparclet.h: Update. - * config/z8k/tm-z8k.h: Update. - -2002-06-14 Andrew Cagney - - * Makefile.in (i386_linux_tdep_h): Define. - (i386_tdep_h, i387_tdep_h): Define. - (i386-linux-nat.o): Add $(i386_linux_tdep_h), - $(i386_tdep_h) and $(i387_tdep_h). - * i386-linux-nat.c: Include "i386-linux-tdep.h". - -2002-06-14 Mark Kettenis - - * config/i386/tm-i386.h (START_INFERIOR_TRAPS_EXPECTED): Removed. - Already covered by the default. - - * config/i386/tm-i386.h (TARGET_LONG_DOUBLE_FORMAT, - TARGET_LONG_DOUBLE_BIT): Remove. * i386-tdep.c - (i386_gdbarch_init): Initialize long_double_format and long_double - bit. - - * config/i386/i386sol2.mt (TDEPFILES): Add i386-sol2-tdep.o and - i386bsd-tdep.o. Remove solib.o, solib-svr4.o and solib-legacy.o. - Move these to ... - * config/i386/i386sol2.mh: ... here. - * config/i386/tm-i386sol2.h (STAB_REG_TO_REGNUM): Remove define. - (sigtramp_saved_pc, I386V4_SIGTRAMP_SAVED_PC): Don't #undef. - (SIGCONTEXT_PC_OFFSET): Remove define. - (IN_SIGTRAMP): Remove define. - * i386-sol2-tdep.c: New file. - - * config/i386/i386nw.mt (TM_FILE): Change to tm-i386.h. - * config/i386/tm-i386nw.h: Removed. - - * config/i386/tm-fbsd.h (STAB_REG_TO_REGNUM, - USE_STRUCT_CONVENTION): Remove defines. - (JB_ELEMENT_SIZE, JB_PC, GET_LONGJMP_TARGET): Remove defines. - (get_longjmp_target): Remove prototype. - (IN_SIGTRAMP): Remove define. - (i386bsd_in_sigtramp): Remove prototype. - (i386bsd_sigtramp_start, i386bsd_sigtramp_end): Turn into a - function. Update comment accordingly - (SIGTRAMP_START, SIGTRAMP): Adjust definition accordingly. - (FRAME_SAVED_PC): Remove define. - (i386bsd_frame_saved_pc): Remove prototype. - * config/i386/tm-nbsd.h (JB_ELEMENT_SIZE, JB_PC, - GET_LONGJMP_TARGET): Remove defines. - (get_longjmp_target): Remove prototype. - (IN_SIGTRAMP): Remove define. - (i386bsd_in_sigtramp): Remove prototype. - (i386bsd_sigtramp_start, i386bsd_sigtramp_end): Turn into a - function. Update comment accordingly - (SIGTRAMP_START, SIGTRAMP): Adjust definition accordingly. - (FRAME_SAVED_PC): Remove define. - (i386bsd_frame_saved_pc): Remove prototype. - * config/i386/tm-nbsdaout.h (i386nbsd_aout_use_struct_convention): - Remove prototype. - (USE_STRUCT_CONVENTION): Remove prototype. - * i386bsd-nat.c (i386bsd_sigcontext_pc_offset): Remove - declaration. - (_initialize_i386bsd_nat): Revise logic to determine some - constants at compile time when compiling a native GDB. Warn if - things don't match up with what we expect. - * i386bsd-tdep.c (i386bsd_sigtramp_start, i386bsd_sigtramp_end): - Remove variables. - (i386bsd_in_sigtramp): Rename tp i386bsd_pc_in_sigtramp. Rewrite - to use date stored in `struct gdbarch_tdep'. - (i386bsd_sigcontext_offset): Remove varaible. - (i386bsd_sigtramp_saved_pc): Make public. Rewrite to use data - stored in `struct gdbarch_tdep'. - (i386bsd_frame_saved_pc): Make static. - (i386bsd_sigtramp_start, i386bsd_sigtramp_end): New functions. - (i386bsd_sc_pc_offset, i386nbsd_sc_pc_offset, - i386fbsd_sigtramp_start, i386fbsd_sigtramp_end, - i386fbsd4_sc_pc_offset): New variables. - (i386bsd_init_abi, i386nbsd_init_abi, i386nbsdelf_init_abi, - i386fbsdaout_init_abi, i386fbsd_init_abi, i386fbsd4_init_abi): New - functions. - (i386bsd_aout_osabi_sniffer, _initialize_i386bsd_tdep): New - functions. - * i386fbsd-nat.c (_initialize_i386fbsd_nat): Fix type in comment. - Modify the value of i386fbsd_sigtramp_start and - i386fbsd_sigtramp_end instead of i386bsd_sigtramp_start and - i386fbsd_sigtramp_end. - * i386nbsd-tdep.c: (i386nbsd_aout_use_struct_convention): Remove - function. - - * config/i386/tm-linux.h (I386_LINUX_ORIG_EAX_REGNUM): Move - define to i386-linux-tdep.h. - (NUM_REGS, MAX_NUM_REGS, REGISTER_BYTES, REGISTER_NAME, - REGISTER_BYTE, REGISTER_RAW_SIZE, STAB_REG_TO_REGNUM): Remove - defines. - (i386_linux_register_name, i386_linux_register_byte, - i386_linux_register_raw_size): Remove prototypes. - (i386_linux_svr4_fetch_link_map_offsets): Remove prototype. - (SVR4_FETCH_LINK_MAP_OFFSETS): Remove define. - (IN_SIGTRAMP, FRAME_CHAIN, FRAME_SAVED_PC, SAVED_PC_AFTER_CALL, - TARGET_WRITE_PC): Remove defines. - (i386_linux_in_sigtramp, i386_linux_frame_chain, - i386_linux_frame_saved_pc, i386_linux_saved_pc_after_call, - i386_linux_write_pc): Remove prototypes. - (JB_ELEMENT_SIZE, JB_PC, GET_LONGJMP_TARGET): Remove defines. - (get_longjmp_target): Remove prototype. - * i386-linux-tdep.h: New file. - * i386-linux-nat.c: Include "i386-linux-tdep.h". - * i386-linux-tdep.c: Include "i386-tdep.h" and - "i386-linux-tdep.h". - (i386_linux_register_name, i386_linux_register_byte, - i386_linux_register_raw_size, i386_linux_in_sigtramp, - i386_linux_write_pc, i386_linux_svr4_fetch_link_map_offsets): - Make static. - (i386_linux_init_abi): New function. - (_initialize_i386_linux_tdep): New function. - - * config/i386/tm-i386.h (SAVED_PC_AFTER_CALL): Remove define. - (i386_saved_pc_after_call): Remove prototype. - (MAX_NUM_REGS): Increase to deal with Linux's orig_eax "register". - (REGISTER_NAME, STAB_REG_TO_REGNUM, SDB_REG_TO_REGNUM, - DWARF_REG_TO_REGNUM, DWARF2_REG_TO_REGNUM): Remove defines. - (i386_register_name, i386_stab_reg_to_regnum, - i386_dwarf_reg_to_regnum): Remove prototypes. - (SIZEOF_GREGS, SIZEOF_FPU_REGS, SIZEOF_FPU_CTL_REGS, - SIZEOF_SSE_REGS): Remove defines. - (REGISTER_BYTES): Remove define. - (REGISTER_BYTE, REGISTER_RAW_SIZE): Remove defines. - (i386_register_byte, i386_register_raw_size): Remove prototypes. - (FRAME_CHAIN, FRAME_SAVED_PC): Remove defines. - (i386_frame_chain, i386_frame_saved_pc): Remove prototypes. - * config/i386/tm-i386v4.h (FRAME_CHAIN_VALID): Remove define. - (JB_ELEMENT_SIZE, JB_PC, JB_EBX, JB_ESI, JB_EDI, JB_EBP, JB_ESP, - JB_EDX, GET_LONGJMP_TARGET): Remove defines. - (get_longjmp_target): Remove prototype. - (I386V4_SIGTRAMP_SAVED_PC, IN_SIGTRAMP): Remove defines. - (sigtramp_saved_pc): Remove define. - (i386v4_sigtramp_saved_pc): Remove prototype. - * config/i386/tm-go32.h (FRAME_CHAIN, - FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC): Remove defines. - (i386go32_frame_saved_pc): Remove prototype. - (JB_ELEMENT_SIZE, JB_PC, GET_LONGJMP_TARGET): Remove defines. - (get_longjmp_target): Remove prototype. - * i386-tdep.h: Include "osabi.h". - (enum i386_abi): Removed. - (enum struct_return): New enum. - (struct gdbarch_tdep): Remove abi member, add osabi, jb_pc_offset, - struct_return, sigtramp_saved_pc, sigtramp_start, sigtramp_end and - sc_pc_offset members. - (i386_gdbarch_register_os_abi): Remove prototype. - (I386_NUM_GREGS, I386_NUM_FREGS, I386_NUM_XREGS, - I386_SSE_NUM_REGS): New defines. - (I386_SIZEOF_GREGS, I386_SIZEOF_FREGS, I386_SIZEOF_XREGS, - I386_SSE_SIZEOF_REGS): New defines. - (i386_register_name, i386_register_byte, i386_register_raw_size): - New prototypes. - (i386_elf_init_abi, i386_svr4_init_abi): New prototypes. - (i386bsd_sigtramp_saved_pc): New prototype. - * i386-tdep.c: Don't include "elf-bfd.h". - (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum, - i386_frame_chain, i386_saved_pc_after_call): Make static. - (i386_frame_saved_pc): Rewrite to call architecture dependent - function to deal with signal handlers. Make static. - (i386go32_frame_saved_pc): Removed. - [GET_LONGJMP_TARGET] (JB_PC, JB_ELEMENT_SIZE, get_longjmp_target): - Removed. - (i386_get_longjmp_target): New function. - (default_struct_convention, pcc_struct_convention, - reg_struct_convention, valid_conventions, struct_convention): New - variables. - (i386_use_struct_convention): New function. - (i386v4_sigtramp_saved_pc): Renamed to - i386_svr4_sigtramp_saved_pc. Made static. Moved. - (i386_pc_in_sigtramp): New function. - (i386_abi_names): Removed. - (ABI_TAG_OS_GNU_LINUX, ABI_TAG_OS_GNU_HURD, - ABI_TAG_OS_GNU_SOLARIS, ABI_TAG_OS_FREEBSD, ABI_TAG_OS_NETBSD): - Removed. - (process_note_sections, i386_elf_abi_from_note, i386_elf_abi, - i386_gdbarch_register_os_abi): Removed. - (struct i386_abi_handler): Removed. - (i386_abi_handler_list): Removed. - (i386_svr4_pc_in_sigtramp, i386_go32_pc_in_sigtramp): New - functions. - (i386_elf_init_abi, i386_svr4_init_abi, i386_go32_init_abi, - i386_nw_init_abi): New functions. - (i386_gdbarch_init): Rewritten to use generic OS ABI framework. - Use set_gdbarch_xxx() calls instead of relying on macros for a - number of calls. - (i386_coff_osabi_sniffer, i386_nlm_osabi_sniffer): New functions. - (_initialize_i386_tdep): Add new 'struct-convcention' command. - Register the various architecture variants defined in this file. - -2002-06-14 Daniel Jacobowitz - - * gdbtypes.h (TYPE_FLAG_VARARGS): Update comment. - (struct main_type): Remove arg_types member. Update comments for - struct field. - (TYPE_ARG_TYPES): Remove. - (TYPE_FN_FIELD_ARGS): Update. - (smash_to_method_type): Update prototype. - - * c-typeprint.c (cp_type_print_method_args): Take method type - instead of argument list. Use new argument layout. Simplify. - (c_type_print_args): Use new argument layout. Simplify. - (c_type_print_base): Update call to cp_type_print_method_args. - * dwarf2read.c (dwarf2_add_member_fn): Remove unneeded type - argument; use die->type instead. Update call to - smash_to_method_type. - (read_structure_scope): Update call to dwarf2_add_member_fn. - * gdbtypes.c (allocate_stub_method): Update comment. - (smash_to_method_type): Take new NARGS and VARARGS arguments. - Use new argument layout. - (check_stub_method): Use new argument layout. Don't count - void as an argument. - (print_arg_types): Update comments. Use new argument layout. - (recursive_dump_type): Don't print arg_types member. - * hpread.c (hpread_read_struct_type): Use new argument layout. - (fixup_class_method_type): Likewise. - (hpread_type_lookup): Likewise. - * stabsread.c (read_type): Update calls to read_args and - smash_to_method_type. - (read_args): Use new argument layout. Simplify. - * valops.c (typecmp): Use new argument layout. Update parameters - and comments. Simplify. - (hand_function_call): Use new argument layout. - (search_struct_method): Update call to typecmp. - (find_overload_match): Use new argument layout. - -2002-06-13 Daniel Jacobowitz - - * NEWS: Mention multithreaded debug support for gdbserver. - -2002-06-13 Daniel Jacobowitz - - * MAINTAINERS: Mention NEWS. - -2002-06-13 Daniel Jacobowitz - - * mips-tdep.c (PROC_SYMBOL): Add warning comment. - (struct mips_objfile_private, compare_pdr_entries): New. - (non_heuristic_proc_desc): Read the ".pdr" section if it - is present. - -2002-06-12 Andrew Cagney - - * arm-tdep.c (arm_push_arguments): Rewrite using a two-pass loop. - (arm_debug): New static variable. - (_initialize_arm_tdep): Add ``set debug arm'' command. - -2002-06-12 Andrew Cagney - - * Makefile.in (sim_arm_h): Define. - (arm-tdep.o): Add $(sim_arm_h) and $(gdb_assert_h). - * arm-tdep.c: Include "gdb/sim-arm.h" and "gdb_assert.h". - (arm_register_sim_regno): New function, map an internal REGNUM - onto a simulator register number. - (arm_gdbarch_init): Set register_sim_regno. - -2002-06-09 Aldy Hernandez - - * MAINTAINERS: Add self. - -2002-06-11 Jim Blandy - - * source.c (source_info): Mention whether the symtab has - information about preprocessor macros. - - Call the command `info macro', not `show macro'. - * macrocmd.c (info_macro_command): Renamed from `show_macro_command'. - Fix error message. - (_initialize_macrocmd): Register `info_macro_command' in - `infolist', not `showlist'. - -2002-06-11 Daniel Jacobowitz - - * mips-tdep.c (MIPS_FPU_TYPE, FP_REGISTER_DOUBLE, MIPS_EABI) - (MIPS_LAST_FP_ARG_REGNUM, MIPS_LAST_ARG_REGNUM) - (MIPS_DEFAULT_SAVED_REGSIZE, MIPS_REGS_HAVE_HOME_P) - (MIPS_DEFAULT_STACK_ARGSIZE, GDB_TARGET_IS_MIPS64) - (MIPS_DEFAULT_MASK_ADDRESS_P): Remove obsolete definitions. Define - unconditionally. - (set_mipsfpu_single_command, set_mipsfpu_double_command) - (set_mipsfpu_none_command): Remove if (GDB_MULTI_ARCH). - (_initialize_mips_tdep): Remove dead code. - * config/mips/tm-irix5.h (MIPS_LAST_ARG_REGNUM) - (MIPS_DEFAULT_STACK_ARGSIZE, MIPS_REGS_HAVE_HOME_P): Remove. - * config/mips/tm-irix6.h (MIPS_LAST_ARG_REGNUM) - (MIPS_DEFAULT_STACK_ARGSIZE, MIPS_REGS_HAVE_HOME_P): Remove. - * config/mips/tm-mips.h (MIPS_EABI, MIPS_LAST_ARG_REGNUM, - MIPS_LAST_FP_ARG_REGNUM): Remove. - -2002-06-11 Michal Ludvig - - * dwarf2cfi.c (unwind_tmp_obstack_init): New. - (unwind_tmp_obstack_free, parse_frame_info) - (update_context, cfi_read_fp, cfi_write_fp) - (cfi_frame_chain, cfi_init_extra_frame_info) - (cfi_virtual_frame_pointer): Use the above function. - * dwarf2cfi.c: Reindented (using 'indent dwarf2cfi.c'). - -2002-06-11 Corinna Vinschen - - * v850-tdep.c (v850_type_is_scalar): New function. - (v850_use_struct_convention): Match current gcc implementation - as close as possible. - (v850_push_arguments): Fix stack_offset handling. Don't write - struct_addr into register. This is done by v850_store_struct_return. - (v850_extract_return_value): Care for structs. - (v850_store_return_value): Ditto. - (v850_store_struct_return): Actually write address. - -2002-06-11 Michal Ludvig - - * x86-64-tdep.c (x86_64_skip_prologue): Fix to work on functions - without debug information too. - -2002-06-10 Andrew Cagney - - * gdbarch.sh (PRINT_FLOAT_INFO): Add frame and ui_file parameters. - Make multi-arch pure. - * gdbarch.h, gdbarch.c: Re-generate. - * arm-tdep.c (arm_print_float_info): Update. - * arch-utils.h (default_print_float_info): Update. - * arch-utils.c (default_print_float_info): Update. - * infcmd.c (float_info): Update call. - -2002-06-10 Andrew Cagney - - * Makefile.in (init.c): Move the call to _initialize_gdbtypes to - the front of the initialize list. - -2002-06-10 Andrew Cagney - - * infrun.c (struct inferior_status): Replace fields - selected_frame_address and selected_level with field - selected_frame_id. - (save_inferior_status): Update. Use get_frame_id. - (struct restore_selected_frame_args): Delete. - (restore_selected_frame): Update. Use frame_find_by_id. - (restore_inferior_status): Update. - - * breakpoint.h (struct breakpoint): Change type of - watchpoint_frame to frame_id. - * breakpoint.c (insert_breakpoints): Use frame_find_by_id. Remove - call to get_current_frame. - (do_enable_breakpoint): Use frame_find_by_id. Remove call to - get_current_frame. - (watchpoint_check): Use frame_find_by_id. - - * frame.h (record_selected_frame): Delete declaration. - * stack.c (record_selected_frame): Delete function. - - * frame.h (struct frame_id): Define. - (get_frame_id): Declare. - (frame_find_by_id): Declare. - * frame.c (frame_find_by_id): New function. - (get_frame_id): New function. - -2002-06-10 Andrey Volkov - - * ser-e7kpc.c: Fix duplicated define and call of - _initialize_ser_e7000pc - -2002-06-09 Daniel Jacobowitz - - * signals/signals.c (target_signal_from_host): Fix #ifdef - SIGRTMIN case. - (do_target_signal_to_host): Likewise. - -2002-06-09 Daniel Jacobowitz - - * mips-tdep.c (mips_find_abi_section): New function. - (mips_gdbarch_init): Call it. - -2002-06-09 Mark Kettenis - - * solib-svr4.c (init_fetch_link_map_offsets): Simply return - legacy_fetch_link_map_offsets. Adjust comment to reflect reality - after Andrew's 2002-06-08 gdbarch change. - -2002-06-09 Mark Kettenis - - * i386-linux-nat.c (suppy_gregset): Don't supply - I386_LINUX_ORIG_EAX_REGNUM if there isn't room for it in GDB's - register cache. - (fill_gregset): Don't fetch it under the same circumstances. - -2002-06-09 Andrew Cagney - - * Makefile.in (callback_h): Define. - (remote_sim_h): Update path to remote-sim.h. - (remote-rdp.o): Add $(callback_h). - (remote-sim.o): Use $(callback_h). - * remote-sim.c: Include "gdb/callback.h" and "gdb/remote-sim.h". - * remote-rdp.c: Include "gdb/callback.h". - -2002-06-09 Mark Kettenis - - * osabi.h (gdb_osabi): Add GDB_OSABI_GO32 and GDB_OSABI_NETWARE. - * osabi.c (gdb_osabi_names): Add "DJGPP" and "NetWare". - -2002-06-08 Andrew Cagney - - * sparcl-tdep.c: Use __CYGWIN__ instead of __CYGWIN32__. - * rdi-share/serpardr.c: Ditto. - * rdi-share/unixcomm.c: Ditto. - * rdi-share/serdrv.c: Ditto. - * rdi-share/hostchan.h: Ditto. - * rdi-share/hostchan.c: Ditto. - * rdi-share/host.h: Ditto. - * rdi-share/devsw.c: Ditto. - - * objfiles.h: Change type of obj_private to void pointer. - * pa64solib.c: Update copyright. Don't include "assert.h", use - strcmp instead of STREQ, use LONGEST, do not use PTR - * somsolib.c: Ditto. - - * config/djgpp/fnchange.lst: Fix problems with bfd/elf32-i386.c, - bfd/elf32-i386qnx.c, bfd/elf32-sh.c, bfd/elf32-sh64-nbsd.c, - bfd/elf64-sh64-nbsd.c bfd/elf64-sh64.c. - -2002-06-08 Andrew Cagney - - * frame.c (GET_SAVED_REGISTER): Delete macro definition. - (default_get_saved_register): Delete function. - * gdbarch.sh (GET_SAVED_REGISTER): Set default to - generic_unwind_get_saved_register. - * gdbarch.h, gdbarch.c: Re-generate. - -2002-06-08 Andrew Cagney - - * gdbarch.sh (FRAME_CHAIN_VALID): Set default to - generic_func_frame_chain_valid. - * gdbarch.h, gdbarch.c: Re-generate. - * blockframe.c (generic_func_frame_chain_valid): Only check - PC_IN_CALL_DUMMY when generic dummy frames. Don't worry about - passing FP to PC_IN_CALL_DUMMY. - Fix PR gdb/360. - -2002-06-08 Andrew Cagney - - * gdbarch.sh (struct gdbarch_data): Add field init_p. - (register_gdbarch_data): Initialize init_p. - (gdbarch_data): Initialize data pointer using the init function. - (init_gdbarch_data): Delete function. - (gdbarch_update_p): Update. - (initialize_non_multiarch): Update. - (struct gdbarch): Add field initialized_p. - * gdbarch.h, gdbarch.c: Re-generate. - -2002-06-07 Michal Ludvig - - * x86-64-linux-nat.c (x86_64_fxsave_offset): New. - (supply_fpregset, fill_fpregset): Don't call i387_*_fxsave, - better do the things actually here. - * x86-64-tdep.c (x86_64_register_name2nr): New. - (x86_64_register_name): Renamed to x86_64_register_nr2name. - (x86_64_gdbarch_init): Respect the above change. - * x86-64-tdep.h (x86_64_register_name2nr) - (x86_64_register_nr2name): Add prototypes. - * config/i386/x86-64linux.mt (TDEPFILES): Remove i387-tdep.o. - -2002-06-06 Michael Snyder - - * d10v-tdep.c (d10v_push_arguments): Handle struct_return. - Delete extra braces and re-indent. - (d10v_store_return_value): Char return values - must be shifted over by one byte in R0. - (d10v_extract_return_value): Delete extra braces, re-indent. - -2002-06-06 Elena Zannoni - - * d10v-tdep.c (d10v_read_sp, d10v_read_fp): Add prototype. - (d10v_register_virtual_type): Make $fp and $sp be pointer to data. - (d10v_integer_to_address): Rewrite. - (d10v_frame_init_saved_regs): When reading fp and sp registers use - the d10v specific functions which take care of converting to the - correct space. - -2002-06-06 Elena Zannoni - - * config/djgpp/fnchange.lst: Add testsuite files altivec-abi.c, - altivec-abi.exp, altivec-regs.c, altivec-regs.exp. - -2002-06-02 Andrew Cagney - - * config/alpha/nm-linux.h: Add "config/" prefix to tm, nm and xm - includes. - * config/tm-linux.h: Ditto. - * config/alpha/tm-alphalinux.h: Ditto. - * config/arm/nm-linux.h, config/arm/tm-linux.h: Ditto. - * config/arm/xm-nbsd.h, config/i386/nm-gnu.h: Ditto. - * config/i386/nm-i386lynx.h, config/i386/nm-i386sol2.h: Ditto. - * config/i386/nm-i386v4.h, config/i386/nm-i386v42mp.h: Ditto. - * config/i386/nm-linux.h, config/i386/nm-m3.h: Ditto. - * config/i386/nm-ptx4.h, config/i386/nm-x86-64.h: Ditto. - * config/i386/tm-i386gnu.h, config/i386/tm-i386lynx.h: Ditto. - * config/i386/tm-i386m3.h, config/i386/tm-i386sco5.h: Ditto. - * config/i386/tm-i386v4.h, config/i386/tm-linux.h: Ditto. - * config/i386/tm-ptx4.h, config/i386/tm-vxworks.h: Ditto. - * config/i386/xm-i386v4.h, config/i386/xm-nbsd.h: Ditto. - * config/i386/xm-ptx.h, config/i386/xm-ptx4.h: Ditto. - * config/i960/tm-vx960.h, config/ia64/nm-aix.h: Ditto. - * config/ia64/nm-linux.h, config/ia64/tm-aix.h: Ditto. - * config/ia64/tm-linux.h, config/ia64/xm-aix.h: Ditto. - * config/m68k/nm-linux.h, config/m68k/nm-m68klynx.h: Ditto. - * config/m68k/nm-sysv4.h, config/m68k/tm-linux.h: Ditto. - * config/m68k/tm-m68klynx.h, config/m68k/tm-m68kv4.h: Ditto. - * config/m68k/tm-sun2os4.h, config/m68k/tm-sun3os4.h: Ditto. - * config/m68k/tm-vx68.h, config/m68k/xm-m68kv4.h: Ditto. - * config/m68k/xm-nbsd.h, config/m88k/nm-delta88v4.h: Ditto. - * config/m88k/tm-delta88v4.h, config/m88k/xm-delta88v4.h: Ditto. - * config/mips/nm-irix5.h, config/mips/nm-linux.h: Ditto. - * config/mips/tm-linux.h, config/mips/tm-mips64.h: Ditto. - * config/mips/tm-mipsm3.h, config/mips/tm-mipsv4.h: Ditto. - * config/mips/tm-vxmips.h, config/mips/xm-irix5.h: Ditto. - * config/mips/xm-mipsv4.h, config/ns32k/xm-nbsd.h: Ditto. - * config/pa/nm-hppao.h, config/powerpc/nm-linux.h: Ditto. - * config/powerpc/tm-linux.h, config/powerpc/tm-vxworks.h: Ditto. - * config/powerpc/xm-aix.h, config/rs6000/nm-rs6000ly.h: Ditto. - * config/rs6000/tm-rs6000ly.h, config/rs6000/xm-aix4.h: Ditto. - * config/sh/tm-linux.h, config/sparc/nm-linux.h: Ditto. - * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4sol2.h: Ditto. - * config/sparc/tm-linux.h, config/sparc/tm-sp64linux.h: Ditto. - * config/sparc/tm-sp64sim.h, config/sparc/tm-sparclynx.h: Ditto. - * config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h: Ditto. - * config/sparc/tm-vxsparc.h, config/sparc/xm-sun4sol2.h: Ditto. - -2002-05-04 Aidan Skinner - - * ada-exp.tab.c: New file - * ada-exp.y: New file - * ada-lang.c: New file - * ada-lang.h: New file - * ada-lex.c: New file - * ada-lex.l: New file - * ada-tasks.c: New file - * ada-typeprint.c: New file - * ada-valprint.c: New file - -2002-06-02 Jason Thorpe - - * ppcnbsd-tdep.c (ppcnbsd_init_abi): Don't set - use_struct_convention to ppc_sysv_abi_broken_use_struct_convention. - -2002-06-02 Jason Thorpe - - * config/rs6000/aix4.mt (TDEPFILES): Use ppc-sysv-tdep.o - insetead of ppc-linux-tdep.o. - * config/rs6000/rs6000.mt (TDEPFILES): Likewise. - * config/rs6000/rs6000lynx.mt (TDEPFILES): Likewise. - -2002-06-02 Andrew Cagney - - 2002-05-07 Christian Groessler - * z8k-tdep.c (z8k_print_register_hook): Fix display of 32 and 64 - bit register contents for little endian hosts. - -2002-06-01 Andrew Cagney - - * MAINTAINERS: Mention that any `HP/UX reader' can be changed by - any maintainer. - -2002-06-01 Andrew Cagney - - * gdbarch.h: Regenerate. - -2002-06-01 Andrew Cagney - - * MAINTAINERS: Add everyone to write-after-approval list. - -2002-06-01 Andrew Cagney - - * stack.c (frame_info): Use frame_register_unwind instead of - saved_regs. Mention when the SP is on the stack or in a register. - - * frame.h (frame_register_unwind_ftype): Define. Document. - (struct frame_info): Add field register_unwind and - register_unwind_cache. - (frame_register_unwind): Declare. - (generic_unwind_get_saved_register): Declare. - - * frame.c (frame_register_unwind): New function. - (generic_unwind_get_saved_register): New function. - - * blockframe.c (generic_call_dummy_register_unwind): New function. - (frame_saved_regs_register_unwind): New function. - (set_unwind_by_pc): New function. - (create_new_frame): New function. - (get_prev_frame): New function. - -2002-05-30 Andrew Cagney - - * a29k-share/: Delete directory. - * remote-vx29k.c: Delete file. - -2002-05-30 Jason Thorpe - - * config/djgpp/fnchange.lst: Add ns32knbsd-nat.c, ns32knbsd-tdep.c, - ppcnbsd-nat.c, ppcnbsd-tdep.c, sparcnbsd-nat.c, and sparcnbsd-tdep.c. - -2002-05-30 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add sparc64nbsd-nat.c, - sparcnbsd-nat.c, and sparcnbsd-tdep.c. - (sparc64nbsd-nat.o) - (sparcnbsd-nat.o) - (sparcnbsd-tdep.o): New dependency lists. - * NEWS: Note new UltraSPARC NetBSD native configuration. - * configure.host (sparc64-*-netbsd*): New host. - * configure.tgt (sparc-*-netbsdelf*) - (sparc-*-netbsd*): Set gdb_target to nbsd. - (sparc64-*-netbsd*): New target. - * sparc64nbsd-nat.c: New file. - * sparcnbsd-nat.c: New file. - * sparcnbsd-tdep.c: New file. - * sparcnbsd-tdep.h: New file. - * config/sparc/nbsd.mt: New file. - * config/sparc/nbsd64.mh: New file. - * config/sparc/nbsd64.mt: New file. - * config/sparc/nbsdaout.mh (NATDEPFILES): Remove corelow.o, - sparc-nat.o, and solib.o. Add sparcnbsd-nat.o. - (HOST_IPC): Remove. - * config/sparc/nbsdaout.mt: Remove. - * config/sparc/nbsdelf.mh (NATDEPFILES): Remove corelow.o, - sparc-nat.o, and solib.o. Add sparcnbsd-nat.o. - (HOST_IPC): Remove. - * config/sparc/nbsdelf.mt: Remove. - * config/sparc/nm-nbsd.h: Update copyright years. Remove all - sparc-nat.c compatiblity defines. - * config/sparc/tm-nbsd.h: Update copyright years. Include solib.h. - (GDB_MULTI_ARCH): Set to GDB_MULTI_ARCH_PARTIAL. - * config/sparc/tm-nbsd64.h: New file. - * config/sparc/tm-nbsdaout.h: Remove. - * config/sparc/xm-nbsd.h: Remove. - -2002-05-30 Jason Thorpe - - * Makefile.in (sparc-tdep.o): Add osabi.h to dependency list. - * sparc-tdep.c: Include osabi.h. - (gdbarch_tdep): Add osabi member. - (_initialize_sparc_tdep): Use gdbarch_register. - (sparc_gdbarch_init): Use generic OS ABI framework. - (sparc_dump_tdep): New function. - -2002-05-30 Kevin Buettner - - * corefile.c (do_captured_read_memory_integer): Return non-zero - result. - (safe_read_memory_integer): Copy result of memory read when - status is non-zero. Also, add comments. - -2002-05-20 Jason Thorpe - - * Makefile.in (ppc_tdep_h): Define. - (ppc-linux-nat.o) - (ppc-linux-tdep.o) - (rs6000-tdep.o): Use $(ppc_tdep_h). - (ppc-sysv-tdep.o) - (ppcnbsd-nat.o) - (ppcnbsd-tdep.o): New dependency lists. - * ppc-tdep.h: Use generic OS ABI framework. - * ppc-linux-tdep.c (_initialize_ppc_linux_tdep) - (ppc_linux_init_abi): New functions. - (ppc_sysv_abi_broken_use_struct_convention) - (ppc_sysv_abi_use_struct_convention) - (ppc_sysv_abi_push_arguments): Move to... - * ppc-sysv-tdep.c: ...here. - * ppcnbsd-nat.c: Don't include gdbcore.h and regcache.h. - * rs6000-tdep.c (process_note_abi_tag_sections) - (get_elfosabi): Remove. - (rs6000_gdbarch_init): Use generic OS ABI framework. - (rs6000_dump_tdep): New function. - (_initialize_rs6000_tdep): Use gdbarch_register. - * config/powerpc/linux.mt (TDEPFILES): Add ppc-sysv-tdep.o. - * config/powerpc/nbsd.mh (NATDEPFILES): Remove solib-legacy.o. - * config/powerpc/aix.mt (TDEPFILES): Use ppc-sysv-tdep.o instead - of ppc-linux-tdep.o. - * 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. - -2002-05-29 Jim Blandy - - * macroscope.c (default_macro_scope): Put `void' in empty argument - list. - -2002-05-29 Andrew Cagney - - * Makefile.in (arch-utils.o): Add $(sim_regno_h). - * arch-utils.c: Include "sim-regno.h". - * gdbarch.sh: Don't include "sim-regno.h". - * gdbarch.h, gdbarch.c: Regenerate. - * sim-regno.h (legacy_register_sim_regno): Move declaration from - here. - * arch-utils.h (legacy_register_sim_regno): To here. - * remote-sim.c (legacy_register_sim_regno): Move function from - here. - * arch-utils.c (legacy_register_sim_regno): To here. - -2002-05-28 Andrew Cagney - - * sim-regno.h: New file. - * Makefile.in (sim_regno_h): Define. - (d10v-tdep.o, remote-sim.o): Add dependency on $(sim_regno_h). - * remote-sim.c: Include "sim-regno.h" and "gdb_assert.h". - (legacy_register_sim_regno): New function. - (one2one_register_sim_regno): New function. - (gdbsim_fetch_register): Rewrite. - (gdbsim_store_register): Only store a register when - REGISTER_SIM_REGNO is valid. - * d10v-tdep.c: Include "sim-regno.h". - (d10v_ts2_register_sim_regno): Add legacy_regiter_sim_regno check. - (d10v_ts3_register_sim_regno): Ditto. - * gdbarch.sh: Include "sim-regno.h". - (REGISTER_SIM_REGNO): Set default to legacy_register_sim_regno. - * gdbarch.h, gdbarch.c: Regenerate. - * arch-utils.h (default_register_sim_regno): Delete declaration. - * arch-utils.c (default_register_sim_regno): Delete function. - -2002-05-28 Jason Thorpe - - * ppcnbsd-nat.c: Rewrite. - * ppcnbsd-tdep.c: New file. - * ppcnbsd-tdep.h: New file. - * config/powerpc/nbsd.mh (NATDEPFILES): Remove corelow.o, - solib.o, and solib-svr4.o. - * config/powerpc/nbsd.mt (TDEPFILES): Add ppcnbsd-tdep.o, - nbsd-tdep.o, and corelow.o. - -2002-05-28 Andrew Cagney - - * MAINTAINERS (--enable-gdb-build-warnings): Rewrite script to use - `tr' and `sed'. Mention that `broken' targets are not expected to - build. - -2002-05-27 Michal Ludvig - - * x86-64-tdep.c (x86_64_skip_prologue): Remove obsolete note. - Let PC point right after the prologue before looking up symbols. - -2002-05-27 Martin M. Hunt - - * i386-tdep.c (i386_register_virtual_type): Return - builtin_type_vec128i for SSE registers. - - * gdbtypes.h (builtin_type_vec128i): Declare. - - * gdbtypes.c (build_builtin_type_vec128i): New function. - (builtin_type_v2_double, builtin_type_v4_int64): New types. - (builtin_type_vec128i): New type for SSE2 128-bit registers. - (build_gdbtypes): Initialize new builtin vector types. - (_initialize_gdbtypes): Register new vector types with gdbarch. - -2002-05-26 Jason Thorpe - - * MAINTAINERS: ns32k is not longer an obsolete candidate, - since it has been multi-arch'd. - * NEWS: Note that ns32k-*-* is now partial multi-arch. - Move Alpha and VAX multi-arch news entries to same section - as other multi-arch news. - -2002-05-26 Jason Thorpe - - * ns32k-tdep.c: include gdbtypes.h, inferior.h, regcache.h, - target.s, arch-utils.h, ns32k-tdep.h. Make many functions - static. Rename some register numbers to put them in ns32k-tdep - private namespace. - (ns32k_get_saved_register, ns32k_gdbarch_init_32082, - ns32k_gdbarch_init_32382, ns32k_gdbarch_init, ns32k_dump_tdep): New - functions. - (_initialize_ns32k_tdep): Use gdbarch_register. - * ns32k-tdep.h: New file. - * ns32knbsd-tdep.c: New file. - * config/ns32k/nbsdaout.mt (TDEPFILES): Add ns32knbsd-tdep.o. - * config/ns32k/tm-nbsd.h: Include "ns32k/tm-ns32k.h". - (IN_SOLIB_CALL_TRAMPOLINE, REGISTER_NAME, NUM_REGS, - REGISTER_BYTES, REGISTER_BYTE): Remove. - * config/ns32k/tm-ns32k.h: New file. - * config/ns32k/tm-umax.h: Remove. - -2002-05-26 Jason Thorpe - - * ns32k-tdep.c (ns32k_saved_pc_after_call, - ns32k_store_struct_return, ns32k_extract_return_value, - ns32k_store_return_value, ns32k_extract_struct_value_address): New - functions. - * config/ns32k/tm-umax.h (SAVED_PC_AFTER_CALL): Define as - ns32k_saved_pc_after_call. - (STORE_STRUCT_RETURN): Define as ns32k_store_struct_return. - (EXTRACT_RETURN_VALUE): Define as ns32k_extract_return_value. - (STORE_RETURN_VALUE): Define as ns32k_store_return_value. - (EXTRACT_STRUCT_VALUE_ADDRESS): Define as - ns32k_extract_struct_value_address. - -2002-05-26 Jason Thorpe - - * ns32k-tdep.c (ns32k_call_dummy_words, sizeof_ns32k_call_dummy_words, - ns32k_fix_call_dummy): New. - * config/ns32k/tm-umax.h (CALL_DUMMY_WORDS): Define as - ns32k_call_dummy_words. - (SIZEOF_CALL_DUMMY_WORDS): Define as sizeof_ns32k_call_dummy_words. - (CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_ADDR, - CALL_DUMMY_NARGS): Remove. - (FIX_CALL_DUMMY): Define as ns32k_fix_call_dummy. - -2002-05-26 Jason Thorpe - - * ns32k-tdep.c (ns32k_breakpoint_from_pc, ns32k_frame_chain, - ns32k_frame_saved_pc, ns32k_frame_args_address, - ns32k_frame_locals_address, ns32k_frame_init_saved_regs, - ns32k_push_dummy_frame, ns32k_pop_frame): New functions. - * config/ns32k/tm-nbsd.h (FRAME_SAVED_PC): Remove. - * config/ns32k/tm-umax.h (INNER_THAN): Define as core_addr_lessthan. - (BREAKPOINT_FROM_PC): Define as ns32k_breakpoint_from_pc. - (BREAKPOINT): Remove.. - (FRAME_CHAIN): Define as ns32k_frame_chain. - (FRAME_SAVED_PC): Define as ns32k_frame_saved_pc. - (FRAME_ARGS_ADDRESS): Define as ns32k_frame_args_address. - (FRAME_LOCALS_ADDRESS): Define as ns32k_frame_locals_address. - (FRAME_FIND_SAVED_REGS): Remove. - (FRAME_INIT_SAVED_REGS): Define as ns32k_frame_init_saved_regs. - (PUSH_DUMMY_FRAME): Define as ns32k_push_dummy_frame. - (POP_FRAME): Define as ns32k_pop_frame. - -2002-05-26 Jason Thorpe - - * ns32k-tdep.c (ns32k_register_byte_32082, - ns32k_register_byte_32382, ns32k_register_raw_size, - ns32k_register_virtual_size, ns32k_register_virtual_type): New - functions. - * config/ns32k/tm-nbsd.h (REGISTER_BYTE): Define as - ns32k_register_byte_32382. - * config/ns32k/tm-umax.h: Update copyright years. - (REGISTER_BYTE): Define as ns32k_register_byte_32082. - (REGISTER_RAW_SIZE): Define as ns32k_register_raw_size. - (REGISTER_VIRTUAL_SIZE): Define as ns32k_register_virtual_size. - (REGISTER_VIRTUAL_TYPE): Define as ns32k_register_virtual_type. - (ns32k_get_enter_addr): Fix prototype. - -2002-05-26 Jason Thorpe - - * ns32k-tdep.c: Update copyright years. - (ns32k_register_name_32082): New function. - (ns32k_register_name_32382): Ditto. - * config/ns32k/tm-nbsd.h (REGISTER_NAMES): Remove. - (REGISTER_NAME): Define as ns32k_register_name_32382. - * config/ns32k/tm-umax.h (REGISTER_NAMES): Remove. - (REGISTER_NAME): Define as ns32k_register_name_32082. - -2002-05-24 Jim Blandy - - * dwarf2read.c (free_line_header): Use xfree, not free. - -2002-05-24 Jason Thorpe - - * config/djgpp/fnchange.lst: Add alphabsd-nat.c, - alphabsd-tdep.c, mipsnbsd-nat.c, and mipsnbsd-tdep.c - -2002-05-23 Andrew Cagney - - * PROBLEMS: Mention s390 and FreeBSD 4.4 build problems. - -2002-05-23 Andrew Cagney - - From Ross Alexander at NEC Europe: - * config/pa/hpux11w.mh (NATDEPFILES): Add solib.o. - -2002-05-23 Michael Snyder - - * cli/cli-dump.c (restore_command): Use parse_and_eval_long - for input, rather than parse_and_eval_address. - -2002-05-23 Andrew Cagney - - * d10v-tdep.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h". - * Makefile.in (sim_d10v_h): Update definition. - -2002-05-24 Andrew Cagney - - * d10v-tdep.c (d10v_gdbarch_init): Revert old code included in - change `2002-05-22 Michael Snyder' below. - (d10v_push_arguments): Ditto. - (d10v_extract_return_value): Ditto. - -2002-05-23 Jim Blandy - - * macrotab.c (check_for_redefinition): Don't complain if the new - definition is the same as the previous one. Take more arguments - to allow the comparison. - (macro_define_object, macro_define_function): Pass more arguments - to check_for_redefinition. - -2002-05-22 Michael Snyder - - * d10v-tdep.c: Change a few macros to enums for ease of debugging. - (d10v_frame_chain_valid): Add PC_IN_CALL_DUMMY clause. - (d10v_frame_saved_pc): Add PC_IN_CALL_DUMMY clause. - (d10v_frame_chain): Bail immediately if PC_IN_CALL_DUMMY. - Don't bail if return_pc is PC_IN_CALL_DUMMY. - Add a temp variable to save a call (and a memory read). - (d10v_init_extra_frame_info): Get fi->pc from callee's return_pc - if possible (so that PC_IN_CALL_DUMMY will work). - -2002-05-22 Corinna Vinschen - - * MAINTAINERS: Remove status `OBSOLETE' from v850. - -2002-05-22 Michal Ludvig - - * 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. - -2002-05-22 Jason Thorpe - - * config/alpha/tm-nbsd.h: Include solib.h. - -2002-05-22 Jason Thorpe - - * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Don't make - assumptions about the host's byte order. - -2002-05-22 Jason Thorpe - - * Makefile.in (alphanbsd-tdep.o, shnbsd-tdep.o): Add solib-svr4.h - to dependency list. - * alphanbsd-tdep.c: Include solib-svr4.h. - * shnbsd-tdep.c: Ditto. - -2002-05-22 Jason Thorpe - - * Makefile.in (armnbsd-tdep.o): Add solib-svr4.h and - nbsd-tdep.h to dependency list. - * configure.host (arm*-*-netbsdelf*, arm*-*-netbsd*, - i[3456]86-*-netbsdaout*, i[3456]86-*-netbsd*, m68*-*-netbsd*, - ns32k-*-netbsd*, sparc-*-netbsdaout*, sparc-*-netbsd*): Use - nbsdaout.mh and nbsdelf.mh consistently. - * configure.tgt (i[3456]86-*-netbsd*, m68*-*-netbsd*, - ns32k-*-netbsd*, sparc-*-netbsdelf*, sparc-*-netbsd*) Use - nbsdaout.mt and nbsdelf.mh consistently. - * armnbsd-tdep.c: Include nbsd-tdep.h and solib-svr4.h. - (arm_netbsd_elf_init_abi): Use set_solib_svr4_fetch_link_map_offsets - to set nbsd_ilp32_solib_svr4_fetch_link_map_offsets. - * config/nm-nbsd.h: Garbage-collect SVR4_SHARED_LIBS. Move - a.out shared library stuff from here... - * config/nm-nbsdaout.h: ...to here. - * config/tm-nbsd.h: Remove. - * config/alpha/nm-nbsd.h (SVR4_SHARED_LIBS): Remove. - * config/arm/nbsd.mh: Remove. - * config/arm/nbsd.mt (TDEPFILES): Remove solib-sunos.o, add - nbsd-tdep.o. - * config/arm/nbsdaout.mh: New file. - * config/arm/nbsdelf.mh: New file. - * config/arm/nm-nbsdaout.h: New file. - * config/i386/nbsd.mh: Remove. - * config/i386/nbsd.mt: Remove. - * config/i386/nbsdaout.mh: New file. - * config/i386/nbsdaout.mt: New file. - * config/i386/nbsdelf.mh (NAT_FILE): Use nm-nbsd.h. - * config/i386/nbsdelf.mt (TM_FILE): Use tm-nbsd.h. - * config/i386/nm-nbsd.h (REGISTER_U_ADDR, - i386_register_u_addr): Remove. - * config/i386/nm-nbsdaout.h: New file. - * config/i386/nm-nbsdelf.h: Remove. - * config/i386/tm-nbsd.h: Don't include config/tm-nbsd.h. - (USE_STRUCT_CONVENTION): Remove. - * config/i386/tm-nbsdaout.h: New file. - * config/i386/tm-nbsdelf.h: Remove. - * config/m68k/nbsd.mh: Remove. - * config/m68k/nbsd.mt: Remove. - * config/m68k/nbsdaout.mh: New file. - * config/m68k/nbsdaout.mt: New file. - * config/m68k/nm-nbsd.h: Use config/nm-nbsd.h. - * config/m68k/nm-nbsdaout.h: New file. - * config/m68k/tm-nbsd.h: Don't include config/tm-nbsd.h. - (IN_SOLIB_CALL_TRAMPOLINE): Define. - * config/ns32k/nbsd.mh: Remove. - * config/ns32k/nbsd.mt: Remove. - * config/ns32k/nbsdaout.mh: New file. - * config/ns32k/nbsdaout.mt: New file. - * config/ns32k/nm-nbsd.h: Include config/nm-nbsd.h. - * config/ns32k/nm-nbsdaout.h: New file. - * config/ns32k/tm-nbsd.h: Don't include config/tm-nbsd.h. - (IN_SOLIB_CALL_TRAMPOLINE): Define. - * config/powerpc/nm-nbsd.h: Include config/nm-nbsd.h. - (SVR4_SHARED_LIBS): Remove. - * config/powerpc/tm-nbsd.h: Dont' include config/tm-nbsd.h. - * config/sparc/nbsd.mh: Remove. - * config/sparc/nbsd.mt: Remove. - * config/sparc/nbsdaout.mh: New file. - * config/sparc/nbsdaout.mt: New file. - * config/sparc/nbsdelf.mh (NAT_FILE): Use nm-nbsd.h. - * config/sparc/nbsdelf.mt: New file. - * config/sparc/nm-nbsdaout.h: New file. - * config/sparc/nm-nbsdelf.h: Remove. - * config/sparc/tm-nbsd.h: Don't include config/tm-nbsd.h. - * config/sparc/tm-nbsdaout.h: New file. - -2002-05-21 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add mipsnbsd-nat.c and - mipsnbsd-tdep.c - (mipsnbsd-nat.o, mipsnbsd-tdep.o): New dependency lists. - -2002-05-21 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add shnbsd-tdep.c and - shnbsd-nat.c. - (shnbsd-tdep.o, shnbsd-nat.o): New dependency lists. - -2002-05-21 Jason Thorpe - - * NEWS: Note new MIPS NetBSD native configuration. - * configure.host (mips*-*-netbsd*): New host. - * configure.tgt (mips*-*-netbsd*): New target. - * mipsnbsd-nat.c: New file. - * mipsnbsd-tdep.c: New file. - * mipsnbsd-tdep.h: New file. - * config/mips/nbsd.mh: New file. - * config/mips/nbsd.mt: New file. - * config/mips/nm-nbsd.h: New file. - * config/mips/tm-nbsd.h: New file. - -2002-05-21 Jason Thorpe - - * Makefile.in (SFILES): Add osabi.c. - (COMMON_OBS): Add osabi.o. - (osabi.o): New dependency list. - * osabi.c: New file. - * osabi.h: New file. - * doc/gdbint.texinfo: Document new generic OS ABI framework. - - * Makefile.in (alpha_tdep_h): Define and use instead of - alpha-tdep.h. - * alpha-tdep.c (alpha_abi_names, process_note_abi_tag_sections, - get_elfosabi, alpha_abi_handler_list, alpha_gdbarch_register_os_abi): - Remove. - (alpha_gdbarch_init, alpha_dump_tdep): Use generic OS ABI framework. - * alpha-tdep.h: Include osabi.h. - (alpha_abi): Remove. - (gdbarch_tdep): Use generic OS ABI framework. - * alpha-linux-tdep.c (_initialize_alpha_linux_tdep): Use - gdbarch_register_osabi. - * alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Likewise. - * alphafbsd-tdep.c (_initialize_alphafbsd_tdep): Likewise. - * alphanbsd-tdep.c (_initialize_alphanbsd_tdep): Likewise. - - * Makefile.in (sh_tdep_h): Add osabi.h. - * sh-tdep.h (sh_osabi): Remove. - (gdbarch_tdep): Use generic OS ABI framework. - * sh-tdep.c (sh_osabi_names, process_note_abi_tag_sections, - sh_osabi_handler_list, sh_gdbarch_register_os_abi): Remove. - (sh_gdbarch_init, sh_dump_tdep): Use generic OS ABI framework. - * shnbsd-tdep.c (_initialize_shnbsd_tdep): Use gdbarch_register_osabi. - - * Makefile.in (arm_tdep_h): Define and use instead of arm-tdep.h. - * arm-linux-tdep.c (_initialize_arm_linux_tdep): Use - gdbarch_register_osabi. - * arm-tdep.c (arm_abi_names, process_note_abi_tag_sections, - arm_abi_handler_list, arm_gdbarch_register_os_abi): Remove. - (get_elfosabi): Rename to... - (arm_elf_osabi_sniffer): ...this. Adjust to use generic OS - ABI framework support routines. - (arm_gdbarch_init): Use generic OS ABI framework. - (arm_dump_tdep): Likewise. - (_initialize_arm_tdep): Likewise. - * arm-tdep.h: Include osabi.h. - (arm_abi): Remove. - (gdbarch_tdep): Remove arm_abi and abi_name members. Add - osabi member. - (arm_gdbarch_register_os_abi): Remove prototype. - * armnbsd-tdep.c (arm_netbsd_aout_osabi_sniffer): New function. - (_initialize_arm_netbsd_tdep): Use gdbarch_register_osabi. - - * Makefile.in (mips-tdep.o): Add osabi.h to dependency list. - * mips-tdep.c: Include osabi.h. - (gdbarch_tdep, mips_gdbarch_init, mips_dump_tdep): Use generic - OS ABI framework. - -2002-05-20 Kazu Hirata - - * h8300-tdep.c: Fix formatting. - -2002-05-20 Elena Zannoni - - * rs6000-tdep.c (rs6000_do_registers_info): Simplify code for - printing vector registers. - -2002-05-19 Andrew Cagney - - From Fernando Nasser: - * remote.c (remote_async_open_1): Re-throw the exception when the - connection fails. - (remote_cisco_open): Ditto. - (remote_open_1): Ditto. - -2002-05-19 Andrew Cagney - - * remote.c (remote_start_remote_dummy): Add uiout parameter. - (remote_start_remote): Add uiout parameter. Pass through to - remote_start_remote_dummy. - (remote_open_1): Use catch_exception instead of catch_errors. - (remote_async_open_1): Ditto. - (remote_cisco_open): Ditto. - -2002-05-19 Andrew Cagney - - * remote.c (remote_start_remote): Replace PTR with void pointer. - (sigint_remote_twice_token, sigint_remote_token): Ditto. Make - static. - -2002-05-18 Andrew Cagney - - * gdb_indent.sh: Allow the script to be run in the sim directory. - -2002-05-18 Mark Kettenis - - * config/i386/nm-cygwin.h (NO_PTRACE_H): Remove define. - * config/i386/nm-go32.h (NO_PTRACE_H): Remove define. - - * corelow.c (core_open): Only call set_gdbarch_from_file if - exec_bfd is NULL. - -2002-05-17 Andrey Volkov - - * h8300-tdep.c: Add support of EXR register - * config/h8300/tm-h8300.h: Ditto. - -2002-05-17 Andrey Volkov - - * h8300-tdep.c: Add additional CCR flags (I,UI,H,U) - -2002-05-17 Andrey Volkov - - * h8300-tdep.c: Change literal regnums to REGNO. - -2002-05-17 Jim Blandy - - * NEWS: Note addition of macro support. - - Expand preprocessor macros in C expressions. - * c-lang.h: #include "macroexp.h", for macro_lookup_ftype. - (scan_macro_expansion, scanning_macro_expansion, - finished_macro_expansion): New function declarations. - (expression_macro_lookup_func, expression_macro_lookup_baton): New - variable declarations. - * parser-defs.h (expression_context_pc): New declaration. - * parse.c (expression_context_pc): New variable. - (parse_exp_1): Set expression_context_pc, as well as - expression_context_block. - * c-exp.y (yylex): If we're not already reading the result of a - macro expansion, try to macro-expand the next token. When we're - done scanning a macro expansion, switch back to the mainline text. - Commas and `if's in a macro's expansion don't terminate the input. - * c-lang.c: #include "macroscope.h" and "gdb_assert.h". - (macro_original_text, macro_expanded_text, - expression_macro_lookup_func, expression_macro_lookup_baton): New - variables. - (scan_macro_expansion, scanning_macro_expansion, - finished_macro_expansion, scan_macro_cleanup, null_macro_lookup, - c_preprocess_and_parse): New functions. - (c_language_defn, cplus_language_defn, asm_language_defn): Call - c_preprocess_and_parse, instead of c_parse. - * Makefile.in (c_lang_h): Note that this #includes macroexp.h. - (c-lang.o): Note dependency on macroscope.h and gdb_assert.h. - -Fri May 17 14:26:19 2002 J"orn Rennecke - - * sh-tdep.c (gdb_print_insn_sh64): Delete. - (gdb_print_insn_sh): Just set info->endian and use print_insn_sh. - (sh_gdbarch_init): Always use gdb_print_insn_sh. - -2002-05-17 Corinna Vinschen - - * NEWS: Add section for multi-arched targets. Add v850 to that section. - -2002-05-17 Jason Thorpe - - * Makefile.in (sh_tdep_h): Define and use. - * config/sh/tm-sh.h (sh_osabi, sh_abi, gdbarch_tdep, - register enum): Move to... - * * sh-tdep.h: ...here. - * sh-tdep.c: Include sh-tdep.h. - * sh3-rom.c: Likewise. - * shnbsd-tdep.c: Likewise. - -2002-05-16 Michael Snyder - - * arm-tdep.c: Spelling fix in comment. - -2002-05-16 Jim Blandy - - Add commands for manually expanding macros and showing their - definitions. - * macrocmd.c, macroscope.c, macroscope.h: New files. - * Makefile.in (SFILES): Add macrocmd.c, macroscope.c. - (macroscope_h): New variable. - (HFILES_NO_SRCDIR): Add macroscope.h. - (COMMON_OBS): Add macrocmd.o, macroscope.o. - (macroscope.o, macrocmd.o): New rules. - - Teach the Dwarf 2 reader to read macro information. - * dwarf2read.c: #include "macrotab.h". - (dwarf_macinfo_buffer): New variable. - (struct dwarf2_pinfo): New members: dwarf_macinfo_buffer, and - dwarf_macinfo_size. - (DWARF_MACINFO_BUFFER, DWARF_MACINFO_SIZE): New macros. - (dwarf2_missing_macinfo_section, dwarf2_macros_too_long, - dwarf2_macros_not_terminated, dwarf2_macro_outside_file, - dwarf2_macro_unmatched_end_file, dwarf2_macro_malformed_definition, - dwarf2_macro_spaces_in_definition): New complaints. - (dwarf2_has_info): Initialize dwarf_macinfo_offset. - (dwarf2_build_psymtabs): Read the .dwarf_macinfo section. - (dwarf2_build_psymtabs_hard): Record the buffer and its size in - the partial symbol table. - (psymtab_to_symtab_1): Set the macinfo buffer and size globals - from what's recorded in the partial symbol table. - (read_file_scope): If the compilation unit has a - `DW_AT_macro_info' attribute, read its macro information. - * Makefile.in (dwarf2read.o): Depend on macrotab.h. - -2002-05-16 Daniel Jacobowitz - - Fix PR gdb/546 - * ser-tcp.c: Don't include . - -2002-05-16 Stephane Carrez - - * MAINTAINERS: Update my email address. - -2002-05-16 Richard Earnshaw - - * config/arm/nm-nbsd.h: Use "config/nm-nbsd.h" to include generic - include file of the same name. - -2002-05-16 Corinna Vinschen - - * configure.tgt: Mark v850 as multi-arched. - * config/v850/tm-v850.h: Remove file. - * config/v850/v850.mt: Eliminate TM_FILE. - -2002-05-16 Corinna Vinschen - - * v850-tdep.c: Full multi-arch. - * config/v850/tm-v850.h: Eliminate or move to v850-tdep.c everything. - Define GDB_MULTI_ARCH to 2. - -2002-05-16 Pierre Muller - - * p-exp.y (current_type): New static variable. - Carries the type of the expression at the position that is parsed. - (push_current_type, pop_current_type): Two new functions. Used - to store/restore current_type in expression on specific tokens. - (search_field): New static variable. Set to one after parsing a point - as at that point only a FIELDNAME token should be searched. - (FIELDNAME): New token. After a point only a token belonging to - current_type type definition is allowed. - (all over token rules): reset and change current_type according - to rules. - (exp '[' rule): insert implicit array index field if - exp is a pascal string type. - -2002-05-16 Corinna Vinschen - - * v850-tdep.c: Fix comment for v850_scan_prologue. Remove extra - frame info. Use frame_info's saved_regs instead of matching member - in extra_frame_info throughout. - (v850_frame_init_saved_regs): New function. - (v850_init_extra_frame_info): Move most functionality into - v850_frame_init_saved_regs(). - * config/v850/tm-v850.h (EXTRA_FRAME_INFO): Remove definition. - (v850_frame_find_saved_regs): Remove declaration. - (FRAME_FIND_SAVED_REGS): Remove definition. - (v850_frame_init_saved_regs): Add declaration. - (FRAME_INIT_SAVED_REGS): Add definition. - -2002-05-16 Corinna Vinschen - - * v850-tdep.c: Begin multi-arch'ing v850. - (v850_target_architecture_hook): Remove function. - (v850_gdbarch_init): New function. Add code previously in - v850_target_architecture_hook(). - (_initialize_v850_tdep): Don't set target_architecture_hook. - Call register_gdbarch_init() instead. - -2002-05-16 Daniel Jacobowitz - - * gdbtypes.h (struct cplus_struct_type): Remove args field. - * hpread.c (hpread_read_struct_type): Remove assignments to args. - (fixup_class_method_type): Likewise. - -2002-05-15 Jim Blandy - - Add macro structures to GDB's symbol tables. Nobody puts anything - in them yet. - * symtab.h (struct symtab): New member: `macro_table'. - * buildsym.h (pending_macros): New global variable. - * buildsym.c: #include "macrotab.h". - (buildsym_init): Initialize `pending_macros'. - (end_symtab): If we found macro information while reading a CU's - debugging info, do build a symtab structure for it. Make the - symtab point to the macro information, and clear the - `pending_macros' pointer which held it while we were reading the - debug info. - (really_free_pendings): Free any pending macro table. - * objfiles.h (struct objfile): New member: `macro_cache'. - * objfiles.c (allocate_objfile): Set allocate and free functions - for the macro cache's objstack. - (free_objfile): Empty the macro cache's obstack. - * symfile.c (reread_symbols): Empty the macro cache's obstack, and - set new allocate and free functions for it. - * solib-sunos.c (allocate_rt_common_objfile): Set allocate and - free functions for the macro cache's objstack. (Why is this - function building its own objfile?) - * symmisc.c (print_objfile_statistics): Print statistics on the - macro bcache. - * Makefile.in: Note that buildsym.o depends on macrotab.h. - -2002-05-15 Richard Earnshaw - - * config/arm/nm-nbsd.h: Use <> for include of config/nm-nbsd.h. - (REGISTER_U_ADDR): Delete definition. - (arm_register_u_addr): Delete declaration. - -2002-05-15 Richard Earnshaw - - * arm-linux-tdep.c (ARM_LINUX_JB_PC): Renamed from JB_PC. - (ARM_LINUX_JB_ELEMENT_SIZE): Likewise. - -2002-05-14 Andrew Cagney - - * regcache.c (register_valid): Revise comments refering to "Not - available" and "unavailable". - * frame.c (frame_register_read): Ditto. - * findvar.c (value_of_register): Ditto. - -2002-05-15 Andrew Cagney - - * Makefile.in (remote_sim_h): Replace remote-sim_h. - (remote-sim.o): Update dependencies. - (d10v-tdep.o): Specify dependencies. - (sim_d10v_h): Define. - -2002-05-14 Jim Blandy - - * macroexp.c (init_buffer, gather_arguments, expand): Use NULL, not 0. - * macrotab.c (macro_lookup_inclusion, find_definition, - new_macro_table): Same. - - * macroexp.c (currently_rescanning, expand): Use `strcmp () == 0', - not `! strcmp ()'. This is a dubious improvement. - * macrotab.c (macro_lookup_inclusion, find_definition): Same. - - * macrotab.c (macro_lookup_inclusion): Initialize `best_depth', - although it's not necessary, to avoid a warning. - -2002-05-14 Daniel Jacobowitz - - * gdbtypes.h: Update accessor macros to use TYPE_MAIN_TYPE. - (TYPE_CONST, TYPE_VOLATILE, TYPE_CODE_SPACE, TYPE_DATA_SPACE): Use - TYPE_INSTANCE_FLAGS. - (struct main_type): New. - (struct type): Move most members to struct main_type. Change - cv_type and as_type to new type_chain member. Add instance_flags. - (TYPE_MAIN_TYPE, TYPE_CHAIN, TYPE_INSTANCE_FLAGS): New macros. - (TYPE_CV_TYPE, TYPE_AS_TYPE): Remove. - (finish_cv_type): Remove prototype. - * gdbtypes.c (alloc_type): Update comment. Allocate TYPE_MAIN_TYPE. - Set TYPE_CHAIN. - (alloc_type_instance): New function. - (smash_type): New function. - (make_pointer_type, make_reference_type, make_function_type) - (smash_to_member_type, smash_to_method_type): Call smash_type. - (make_qualified_type): New function. - (make_type_with_address_space): Call make_qualified_type. - (make_cv_type): Likewise. - (finish_cv_type): Remove unnecessary function. - (replace_type): Update comment. Copy TYPE_MAIN_TYPE. - (recursive_dump_type): Dump TYPE_CHAIN and TYPE_INSTANCE_FLAGS; - remove TYPE_CV_TYPE and TYPE_AS_TYPE. - * c-typeprint.c (c_type_print_modifier): Use TYPE_INSTANCE_FLAGS. - * dwarf2read.c (read_structure_scope): Don't call finish_cv_type. - * hpread.c (hpread_read_struct_type): Likewise. - * stabsread.c (read_struct_type): Likewise. - -2002-05-14 Elena Zannoni - - * configure.tgt: Add a catch all sh* target, for cases like - sh[2,3,4]-elf and sh-hms. - -2002-05-14 Keith Seitz - - * event-loop.c (create_file_handler): Don't do anything but - update data when we are given a fd which we are already - monitoring. - -2002-05-14 Michal Ludvig - - * dwarf2cfi.c (context_cpy): Copy registers correctly. - (update_context): Use __func__ in warnings. - -2002-05-14 Daniel Jacobowitz - - * ser-tcp.c: Include . Rename tcp_open - and tcp_close to net_open and net_close. - (net_open): Accept "udp:" and "tcp:" specifications. Connect - using UDP if requested. Don't try to disable Nagle on UDP - sockets. - * remote.c (remote_serial_open): New function. Warn about UDP. - (remote_open_1, remote_async_open_1, remote_cisco_open): Call it. - -2002-05-13 Elena Zannoni - - * MAINTAINERS: List sh-elf as buildable with ,-Werror. - -2002-05-13 Elena Zannoni - - * configure.tgt: Remove sh-hms target. - * MAINTAINERS: Don't list sh-hms as a separate target. - -2002-05-13 Jim Blandy - - Add first preprocessor macro-expansion files. - * macroexp.c, macroexp.h, macrotab.c, macrotab.h: New files. - * Makefile.in (SFILES): Add macrotab.c, macroexp.c. - (splay_tree_h, macroexp_h, macrotab_h): New variable. - (HFILES_NO_SRCDIR): Add macrotab.h, macroexp.h. - (COMMON_OBS): Add macrotab.o, macroexp.o. - (macroexp.o, macrotab.o): New rules. - -2002-05-13 Andrew Cagney - - * config/m88k/tm-m88k.h: Update copyright. - (m88k_target_write_pc): Declare - (TARGET_WRITE_PC): Redefine using m88k_target_write_pc. - (M88K_NNPC_REGNUM): Rename NNPC_REGNUM. - (SHIFT_INST_REGS): Update definition. - * m88k-tdep.c (m88k_target_write_pc): New function. Implement - using old definition of TARGET_WRITE_PC. - * regcache.c (generic_target_write_pc): Delete code handling - NNPC_REGNUM. - * gdbarch.sh (NNPC_REGNUM): Delete. - * gdbarch.h, gdbarch.c: Regenerate. - -2002-05-13 Richard Earnshaw - - * builtin-regs.c (value_of_builtin_reg): Correctly calculate the - builtin reg number. - -2002-05-13 Daniel Jacobowitz - - * ax-gdb.c (gen_sign_extend, gen_fetch, gen_usual_unary) - (gen_cast, gen_scale, gen_add, gen_sub, gen_binop, gen_deref) - (gen_address_of, gen_struct_ref, gen_repeat): Use type - access macros. - * c-typeprint.c (cp_type_print_method_args): Likewise. - (c_type_print_args): Likewise. - * d10v-tdep.c (d10v_push_arguments): Likewise. - (d10v_extract_return_value): Likewise. - * expprint.c (print_subexp): Likewise. - * gdbtypes.c (lookup_primitive_typename): Likewise. - (lookup_template_type, add_mangled_type, print_arg_types): Likewise. - * gdbtypes.h (TYPE_UNSIGNED, TYPE_NOSIGN, TYPE_STUB) - (TYPE_TARGET_STUB, TYPE_STATIC, TYPE_CONST, TYPE_VOLATILE) - (TYPE_PROTOTYPED, TYPE_INCOMPLETE, TYPE_CODE_SPACE, TYPE_VARARGS) - (TYPE_VECTOR): Likewise. - * hpread.c (hpread_read_struct_type) - (fix_static_member_physnames, fixup_class_method_type) - (hpread_type_lookup): Likewise. - * mdebugread.c (parse_symbol, parse_type): Likewise. - * p-lang.c (is_pascal_string_type): Likewise. - * valops.c (hand_function_call): Likewise. - * x86-64-tdep.c (classify_argument): Likewise. - - * hpread.c (hpread_read_function_type) - (hpread_read_doc_function_type): Call replace_type. - * dstread.c (create_new_type): Delete. - (decode_dst_structure, process_dst_function): Call alloc_type. - Use type access macros. - -2002-05-12 Mark Kettenis - - * i387-tdep.c (i387_supply_fxsave): Skip the SSE registers if - the're not supported by the current architecture. - (i387_fill_fxsave): Likewise. - -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. - -2002-05-12 Mark Kettenis - - * configure.tgt (sparc-*openbsd): Remove entry accidentially - checked in with last change. - -2002-05-12 Mark Kettenis - - * configure.tgt (i[3456]86-*-unixware*, i[3456]86-*-unixware2*): - Remove targets. These are canonicalized to i386-*-sysv4.2uw by - config.sub. - -2002-05-12 Daniel Jacobowitz - - * Makefile.in: Update dependencies. - -2002-05-11 Andrew Cagney - - * language.c (local_hex_string_custom): Simplify. Do not depend - on PRINTF_HAS_LONG_LONG or CC_HAS_LONG_LONG. - - * memattr.c (mem_info_command): Replace calls to - longest_local_hex_string and longest_local_hex_string_custom. - * buildsym.c (make_blockvector): Ditto. - * solib.c (info_sharedlibrary_command): Ditto. - * tracepoint.c (tracepoints_info): Ditto. - * symtab.c (print_msymbol_info): Ditto. - - * language.c (local_hex_string): Delete. - (local_hex_string_custom): Delete. - (longest_local_hex_string): Rename to local_hex_string. - (longest_local_hex_string_custom): Rename to - local_hex_string_custom. - * language.h (local_hex_string): Change parameter type to LONGEST. - (local_hex_string_custom): Ditto. - (longest_local_hex_string): Delete declaration. - (longest_local_hex_string_custom): Ditto. - - * solib.c: Update copyright. - * memattr.c: Update copyright. - -2002-05-11 Andrew Cagney - - * arch-utils.h (legacy_register_to_value): Declare. - (legacy_value_to_register): Declare. - (legacy_convert_register_p): Declare. - * arch-utils.c (legacy_register_to_value): New function. - (legacy_value_to_register): New function. - (legacy_convert_register_p): New function. - - * gdbarch.sh (REGISTER_TO_VALUE): Define. - (VALUE_TO_REGISTER): Define. - (CONVERT_REGISTER_P): Define. - * gdbarch.h, gdbarch.c: Regenerate. - - * valops.c (value_assign): Use CONVERT_REGISTER_P and - VALUE_TO_REGISTER. - * findvar.c (value_from_register): Use REGISTER_TO_VALUE and - CONVERT_REGISTER_P. - -2005-05-11 Daniel Jacobowitz - Peter Schauer - - * Makefile.in: Update dependencies for valops.c. - * valops.c: Include "gdb_assert.h". - (typecmp): Skip THIS parameter to methods. - (find_method_list): Remove static_memfuncp argument, - update callers. Check for stub methods. - (find_value_oload_method_list): Don't set *static_memfuncp. - (find_overload_match): Don't check for stub methods. Assert - that methods are not stubbed. Handle static methods. - (value_find_oload_method_list): Remove static_memfuncp argument. - * gdbtypes.c (check_stub_method): Do not add THIS pointer - to the argument list for static stub methods. - * value.h (value_find_oload_method_list): Update prototype. - -2002-05-11 Andrew Cagney - - * arch-utils.h (generic_register_size): Declare. - (generic_register_raw_size, generic_register_virtual_size): Delete - declarations. - * arch-utils.c (generic_register_raw_size): Delete. - (generic_register_size): New function. - (generic_register_virtual_size): Delete. - - * gdbarch.sh (REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Make - default generic_register_size. - * gdbarch.h, gdbarch.c: Re-generate. - - * d10v-tdep.c (d10v_gdbarch_init): Use generic_register_size for - register_virtual_size. - * x86-64-tdep.c (x86_64_gdbarch_init): Ditto. - * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. - -2002-05-11 Andrew Cagney - - * gdbarch.sh (gdbarch_data): Add gdbarch parameter. - * gdbarch.h, gdbarch.c: Regenerate. - * gnu-v3-abi.c: Update copyright. - (vtable_address_point_offset): Update. - (gnuv3_rtti_type): Update. - (gnuv3_baseclass_offset): Update. - * solib-svr4.c (svr4_fetch_link_map_offsets): Update. - (init_fetch_link_map_offsets): Update. - * remote.c (get_remote_state): Update. - -2002-05-11 Daniel Jacobowitz - - * TODO: Remove value_headof/value_from_vtable_info comment. - * printcmd.c (print_command_1): Don't call value_from_vtable_info. - * values.c (value_headof, value_from_vtable_info): Delete. - * value.h (value_from_vtable_info): Delete prototype. - -2002-05-11 Andrew Cagney - - * Makefile.in: Replace gdb_assert.h with $(gdb_assert_h), - gdb_string.h with $(gdb_string_h) and gdb_regex.h with - $(gdb_regex_h). - (gdb_assert_h): Define. - (gdb_wait_h): Define. - (gdb_regex_h): Define. - -2002-05-11 Daniel Jacobowitz - - From Peter Schauer : - * linespec.c (find_methods): Handle GCC 3.x template constructors. - -2002-05-11 Jason Thorpe - - * nbsd-tdep.c: Fix comment. - -2002-05-11 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add nbsd-tdep.c. - (alphanbsd-tdep.o): Add nbsd-tdep.h to dependency list. - (nbsd-tdep.o): New dependency list. - * alphanbsd-tdep.c: Don't include solib-svr4.h. Include - nbsd-tdep.h. - (alphanbsd_solib_svr4_fetch_link_map_offsets): Remove. - (alphanbsd_init_abi): Use nbsd_lp64_solib_svr4_fetch_link_map_offsets. - * nbsd-tdep.c: New file. - * nbsd-tdep.h: New file. - * shnbsd-tdep.c: Don't include solib-svr4.h. Include - nbsd-tdep.h. - (shnbsd_solib_svr4_fetch_link_map_offsets): Remove. - (shnbsd_init_abi): Use nbsd_ilp32_solib_svr4_fetch_link_map_offsets. - * config/alpha/nbsd.mt (TDEPFILES): Add nbsd-tdep.o. - * config/sh/nbsd.mt (TDEPFILES): Ditto. - -2002-05-11 Jason Thorpe - - * config/alpha/nbsd.mh (NATDEPFILES): Remove corelow.o. - * config/alpha/nbsd.mt (TDEPFILES): Add corelow.o. - * config/i386/nbsd.mh (NATDEPFILES): Remove corelow.o. - * config/i386/nbsd.mt (TDEPFILES): Add corelow.o. - * config/i386/nbsdelf.mh (NATDEPFILES): Remove corelow.o. - * config/i386/nbsdelf.mt (TDEPFILES): Add corelow.o. - -2002-05-11 Jason Thorpe - - * config/i386/nbsd.mh (NATDEPFILES): Use line continuations. - * config/i386/nbsdelf.mh (NATDEPFILES): Likewise. - * config/m68k/nbsd.mh (NATDEPFILES): Likewise. - * config/ns32k/nbsd.mh (NATDEPFILES): Likewise. - * config/powerpc/nbsd.mh (NATDEPFILES): Likewise. - * config/sparc/nbsd.mh (NATDEPFILES): Likewise. - * config/sparc/nbsdelf.mh (NATDEPFILES): Likewise. - -2002-05-11 Jason Thorpe - - * i386nbsd-nat.c: Delete file. Move fetch_core_registers and - fetch_elfcore_registers to... - * i386nbsd-tdep.c: ...here. - (i386nbsd_use_struct_convention): Rename to... - (i386nbsd_aout_use_struct_convention): ...this. - (i386nbsd_supply_reg): New function. - (i386nbsd_fill_reg): New function. - (fetch_core_registers): Use i386nbsd_supply_reg. - (fetch_elfcore_registers): Likewise. - (_initialize_i386nbsd_tdep): New function. - * config/i386/nbsd.mh (NATDEPFILES): Remove i386nbsd-nat.o. - * config/i386/nbsdelf.mh (NATDEPFILES): Likewise. - * config/i386/nbsdelf.mt (TDEPFILES): Add i386nbsd-tdep.o. - * config/i386/tm-nbsd.h (i386nbsd_use_struct_convention): Rename to... - (i386nbsd_aout_use_struct_convention): ...this. - -2002-05-11 Jason Thorpe - - * shnbsd-nat.c (fetch_inferior_registers): Use shnbsd_supply_reg. - (store_inferior_registers): Use shnbsd_fill_reg. - * shnbsd-tdep.c (sh_nbsd_supply_registers, - sh_nbsd_supply_register): Collapse into... - (shnbsd_supply_reg): ...this. - (sh_nbsd_fill_registers, sh_nbsd_fill_register): Collapse into... - (shnbsd_fill_reg): ...this. - (sh_nbsd_solib_svr4_fetch_link_map_offsets): Rename to... - (shnbsd_solib_svr4_fetch_link_map_offsets): ...this. - (fetch_core_registers): Use shnbsd_supply_reg. - (fetch_elfcore_registers): Use shnbsd_supply_reg. - (sh_nbsd_core_fns): Rename to... - (shnbsd_core_fns): ...this. - (sh_nbsd_elfcore_fns): Rename to... - (shnbsd_elfcore_fns): ...this. - (sh_nbsd_init_abi): Rename to... - (shnbsd_init_abi): ...this. - (_initialize_sh_nbsd_tdep): Rename to... - (_initialize_shnbsd_tdep): ...this. - * shnbsd-tdep.h (sh_nbsd_supply_registers, - sh_nbsd_supply_register, sh_nbsd_fill_registers, - sh_nbsd_fill_register): Remove prototypes. - (shnbsd_supply_reg, shnbsd_fill_reg): Add prototypes. - -2002-05-11 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Remove i387-nat.c. - (i387-nat.o): Delete dependency list. - (go32-nat.o): Change i387-nat.h to i387-tdep.h. - (x86-64-linux-nat.o): Likewise. - * i387-nat.c: Delete file, moving contents to... - * i387-tdep.c: ...here. - * i387-nat.h: Rename... - * i387-tdep.h: ...to this. - * go32-nat.c: Include i387-tdep.h instead of i387-nat.h. - * i386-linux-nat.c: Likewise. - * i386bsd-nat.c: Likewise. - * i386gnu-nat.c: Likewise. - * i386nbsd-nat.c: Likewise. - * i386v4-nat.c: Likewise. - * x86-64-linux-nat.c: Likewise. - * config/i386/fbsd.mh (NATDEPFILES): Remove i387-nat.o. - * config/i386/go32.mh (NATDEPFILES): Likewise. - * config/i386/i386gnu.mh (NATDEPFILES): Likewise. - * config/i386/i386sol2.mh (NATDEPFILES): Likewise. - * config/i386/i386v42mp.mh (NATDEPFILES): Likewise. - * config/i386/linux.mh (NATDEPFILES): Likewise. - * config/i386/nbsd.mh (NATDEPFILES): Likewise. - * config/i386/nbsdelf.mh (NATDEPFILES): Likewise. - * config/i386/obsd.mh (NATDEPFILES): Likewise. - * config/i386/x86-64linux.mh (NATDEPFILES): Likewise. - -2002-05-11 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Remove alphanbsd-nat.c. - (alphanbsd-nat.o): Remove dependency list. - (alphanbsd-tdep.o): Add $(regcache_h) to dependency list. - * alphanbsd-nat.c: Delete. Contents moved to... - * alphanbsd-tdep.c: ...here. - (_initialize_alphanbsd_tdep): Register core functions. - * config/alpha/nbsd.mh (NATDEPFILES): Remove alphanbsd-nat.o. - -2002-05-11 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add alphabsd-tdep.c. - (alphabsd-nat.o): Depend on alphabsd-tdep.h. - (alphanbsd-nat.o): Likewise. - (alphabsd-tdep.o): New dependency list. - * alphabsd-nat.c (supply_gregset): Use alphabsd_supply_reg. - (fill_gregset): Use alphabsd_fill_reg. - (supply_fpregset): Use alphabsd_supply_fpreg. - (fill_fpregset): Use alphabsd_fill_fpreg. - (fetch_inferior_registers): Use struct reg and struct fpreg - rather than gregset_t and fpregset_t. Use alphabsd_supply_reg - and alphabsd_supply_fpreg. - (store_inferior_registers): Use struct reg and struct fpreg - rather than gregset_t and fpregset_t. Use alphabsd_fill_reg - and alphabsd_fill_fpreg. - * alphabsd-tdep.c: New file. - * alphabsd-tdep.h: New file. - * alphanbsd-nat.c (fetch_core_registers): Use alphabsd_supply_fpreg. - (fetch_elfcore_registers): Use alphabsd_supply_reg and - alphabsd_supply_fpreg. - * config/alpha/fbsd.mt (TDEPFILES): Add alphabsd-tdep.o. - * config/alpha/nbsd.mt (TDEPFILES): Likewise. - -2002-05-11 Eric Christopher - - * mips-tdep.c (mips_double_register_type): Fix thinko. - (mips_single_register_type): Ditto. - * MAINTAINERS: Add self. - -2002-05-11 Mark Kettenis - - * i387-nat.c (i387_supply_register, i387_fill_fsave, - i387_supply_fxsave, i387_fill_fxsave): Rewrite in order to do the - right thing on architectures with different endianness and/or - integer sizes. - -2002-05-10 Jason Thorpe - - From Christian Limpach - * configure.in: Change sed expression which comments out - NATDEPFILES to also comment out continuation lines. - * configure: Regenerate. - -2002-05-10 Elena Zannoni - - * sh-tdep.c: Clean up code erroneously reintroduced by previous - big patch. - -2002-05-10 Elena Zannoni - - * sh-tdep.c: Include correct file. - -2002-05-10 Elena Zannoni - - New support for sh64-elf (sh5) target. - - * configure.tgt: For sh64-elf target, default to sh-elf. - - * config/sh/tm-sh.h (enum sh-abi): Possible ABI's. - (struct gdbarch_tdep): Add new fields for new registers and ABI - info. - - * sh-tdep.c: Include elf-bfd.h, elf/sh.h, gdb/sim-sh.h. - (NUM_PSEUDO_REGS_SH_MEDIA, NUM_PSEUDO_REGS_SH_COMPACT, - MSYMBOL_IS_SPECIAL, IS_ISA32_ADDR, MAKE_ISA32_ADDR, - UNMAKE_ISA32_ADDR, IS_PTABSL_R18, IS_STS_R0, IS_STS_PR, - IS_MOV_TO_R15, IS_MOV_R14, IS_STQ_R18_R14, IS_STQ_R18_R15, - IS_STL_R18_R15, IS_STQ_R14_R15, IS_STL_R14_R15, IS_ADDIL_SP_MEDIA, - IS_ADDI_SP_MEDIA, IS_ADDL_SP_FP_MEDIA, IS_ADD_SP_FP_MEDIA, - IS_MOV_SP_FP_MEDIA, IS_MOV_R0, IS_MOVL_R0, IS_ADD_SP_R0, - IS_MOV_R14_R0, IS_MEDIA_IND_ARG_MOV, IS_MEDIA_ARG_MOV, - IS_MEDIA_MOV_TO_R14, IS_COMPACT_IND_ARG_MOV, IS_COMPACT_ARG_MOV, - IS_COMPACT_MOV_TO_R14, IS_JSR_R0, IS_NOP): New macros. - (sh_sh64_register_name, sh64_elf_make_msymbol_special, - pc_is_isa32, sh_sh64_breakpoint_from_pc, look_for_args_moves, - sh64_skip_prologue_hard_way, sh64_use_struct_convention, - gdb_print_insn_sh64, translate_insn_rn, sh64_frame_chain, - sh64_get_saved_pr, fpp_reg_base_num, is_media_pseudo, - sh64_get_gdb_regnum, sh64_media_reg_base_num, - sh64_compact_reg_base_num, translate_rn_to_arch_reg_num, - sign_extend, sh64_nofp_frame_init_saved_regs, - sh64_init_extra_frame_info, sh64_get_saved_register, - sh64_extract_struct_value_address, sh64_pop_frame, - sh64_push_arguments, sh64_extract_return_value, - sh64_store_return_value, sh64_show_media_regs, - sh64_show_compact_regs, sh64_show_regs, sh_sh64_register_byte, - sh_sh64_register_raw_size, sh_sh64_register_virtual_size, - sh_sh64_register_virtual_type, - sh_sh64_register_convert_to_virtual, - sh_sh64_register_convert_to_raw, sh64_pseudo_register_read, - sh64_register_read, sh64_pseudo_register_write, - sh64_register_write, do_fv_c_register_info, do_dr_c_register_info, - do_r_c_register_info, do_fpp_register_info, do_cr_c_register_info, - sh64_do_pseudo_register, sh_compact_do_registers_info, - sh64_do_registers_info, sh_gdbarch_init): New functions. - -2002-05-10 Elena Zannoni - - * sh-tdep.c (sh_breakpoint_from_pc): Add 'const' to return type. - -2002-05-10 Daniel Jacobowitz - - * linespec.c (decode_line_1): Check for a double quote after - a filename correctly. - -2002-05-10 Jim Blandy - - Properly track the size of the current objfile's .debug_line section. - * dwarf2read.c (struct dwarf2_pinfo): New member: dwarf_line_size. - (DWARF_LINE_SIZE): New macro. - (dwarf2_build_psymtabs_hard): Record the line section's size in - the partial symbol table. - (psymtab_to_symtab_1): Restore dwarf_line_size from the partial - symbol table. - -2002-05-10 Petr Sorfa - - * ia64-tdep.c: Handle breakpoints on L instruction type - in MLX instruction bundle by moving the breakpoint to - the third slot (X instruction type) as L holds only data. - -2002-05-10 Kevin Buettner - - * dbxread.c (discarding_local_symbols_complaint): New complaint. - (process_one_symbol): Complain about discarding local symbols - due to a misplaced N_LBRAC entry. - -2002-05-09 Elena Zannoni - - From Daniel Berlin - * linespec.c (find_toplevel_char): '<' and '>' also increase and - decrease the depth we are at, in the case of templates. - -2002-05-09 Daniel Jacobowitz - - * mips-tdep.c (mips_float_register_type): New function. - (mips_double_register_type): New function. - (mips_print_register): Use them. - (do_fp_register_row): Likewise. - -2002-05-09 Daniel Jacobowitz - - * signals/signals.c (signals): Remove conditional compilation around - Mach-specific signals. Move them to after TARGET_SIGNAL_DEFAULT. - (target_signal_from_name): Loop until TARGET_SIGNAL_LAST. - -2002-05-09 Michael Snyder - - * remote-rdp.c (remote_rdp_can_run): Remove. - -2002-05-09 Tom Tromey - - * jv-valprint.c (java_val_print): Handle `char' as a special case - of TYPE_CODE_INT. - -2002-05-09 Michael Snyder - - * arm-tdep.c (arm_scan_prologue): Accept strb r(0123),[r11,#-nn], - strh r(0123),[r11,#-nn], str r(0123),[r11,#-nn], as well as - strb r(0123),[sp,#nn], strh r(0123),[sp,#nn] and - str r(0123),[sp,#nn]. - (arm_skip_prologue): Ditto. Also make disassembly - order-independent by placing it in a loop. - -2002-05-06 Michael Snyder - - * stabsread.c (read_type): Add recognition for new attribute: - "@V;" means that an array type is actually a vector. - This is analogous to the vector flag that's been added to dwarf2. - -2002-05-09 Mark Kettenis - - * i386-tdep.h (i386_abi): New enum. - (struct gdbarch_tdep): Replace os_ident member with abi. - (i386_gdbarch_register_os_abi): New prototype. - * i386-tdep.c (i386_abi_names): New array. - (process_note_abi_tag_sections): Removed. - (process_note_sections): New function. - (i386_elf_abi_from_note, i386_elf_abi): New functions. - (struct i386_abi_handler): New struct. - (i386_abi_handler_list): New variable. - (i386_gdbarch_register_os_abi): New function. - (i386_gdbarch_init): Adapt for the changes given above. - -2002-05-08 Daniel Jacobowitz - - * gregset.h: Say "GNU/Linux". - -2002-05-08 Elena Zannoni - - * gdbtypes.c : Add new builtin type for 64 bit vectors. - (build_gdbtypes): Build builtin_type_v2_float. - (_initialize_gdbtypes): Register new builtin type. - -2002-05-08 Andrew Cagney - - * gdbarch.sh (init_gdbarch_swap): Do not clear the swap section. - (clear_gdbarch_swap): New function. - (initialize_non_multiarch): Call. - (gdbarch_update_p): Before calling init(), swap out and clear the - existing architecture. - * gdbarch.c: Regenerate. - -2002-05-08 Jason Thorpe - - * config/djgpp/fnchange.lst: Add alphanbsd-nat.c and - alphanbsd-tdep.c. - -2002-05-08 Jason Thorpe - - * sh-nbsd-nat.c: Rename to... - * shnbsd-nat.c: ...this. - * sh-nbsd-tdep.c: Rename to... - * shnbsd-tdep.c: ...this. - * sh-nbsd-tdep.h: Rename to... - * shnbsd-tdep.h: ...this. - * config/sh/nbsd.mh: Use shnbsd-nat.o. - * config/sh/nbsd.mt: Use shnbsd-tdep.o. - -2002-05-08 Richard Earnshaw - - * remote-rdi.c (_initializie_remote_rdi): Use ANSI-style string - concatenation for command help messages. - -2002-05-08 Jason Thorpe - - * NEWS: Note new sh*-*-netbsdelf* configuration. - * configure.host: Set gdb_host_cpu to sh for all sh*. - (sh*-*-netbsdelf*): New host. - * configure.tgt: Set gdb_target_cpu to sh for all sh*. - (sh*-*-netbsdelf*): New target. - * sh-nbsd-nat.c: New file. - * sh-nbsd-tdep.c: New file. - * sh-nbsd-tdep.h: New file. - * config/sh/nbsd.mh: New file. - * config/sh/nbsd.mt: New file. - * config/sh/nm-nbsd.h: New file. - * config/sh/tm-nbsd.h: New file. - -2002-05-08 Jason Thorpe - - * sh-tdep.c (sh_osabi_names): Declare. - (process_note_abi_tag_sections): New function. - (get_elfosabi): Ditto. - (sh_gdbarch_register_os_abi): Ditto. - (sh_dump_tdep): Ditto. - _initialize_sh_tdep): Use gdbarch_register to register - sh_gdbarch_init and sh_dump_tdep. - * config/sh/tm-sh.h (sh_osabi): Declare. - (gdbarch_tdep): Add sh_osabi and osabi_name members. - -2002-05-07 Andrew Cagney - - * arm-tdep.c (arm_skip_prologue): Handle generic dummy frames. - (thumb_scan_prologue): Ditto. - (arm_find_callers_reg): Ditto. - (arm_frame_chain): Ditto. - (arm_init_extra_frame_info): Ditto. - (arm_frame_saved_pc): Ditto. - (arm_pop_frame): Ditto. - (arm_push_return_address): New function. - (arm_gdbarch_init): Initialize use_generic_dummy_frames, - call_dummy_location, call_dummy_breakpoint_offset_p, - call_dummy_breakpoint_offset, call_dummy_p, - call_dummy_stack_adjust_p, call_dummy_words, - sizeof_call_dummy_words, call_dummy_start_offset, - call_dummy_length, fix_call_dummy, pc_in_call_dummy, - call_dummy_address, push_return_address and push_dummy_frame for - generic dummy frames. - -2002-05-07 Jason Thorpe - - * sh-tdep.c (sh_nofp_frame_init_saved_regs): Fix error in - size computation for alloca. - (sh_fp_frame_init_saved_regs): Likewise. - -2002-05-07 Richard Earnshaw - - * arm-tdep.h (ARM_MAX_REGISTER_RAW_SIZE): Define. - (ARM_MAX_REGISTER_VIRTUAL_SIZE): Define. - * arm-tdep.c (arm_store_return_value): Use them. - Use FP_REGISTER_RAW_SIZE when setting the FPA return value. - * remote-rdp.c (remote_rdp_fetch_register): Use - ARM_MAX_REGISTER_RAW_SIZE. - (remote_rdp_store_register): Likewise. - -2002-05-07 Michal Ludvig - - * dwarf2cfi.c: Code cleanup, removed unused variables, - added default labels to switch {} statements. - * x86-64-tdep.c: Ditto. - * x86-64-linux-nat.c: Ditto. - -2002-05-07 Jason Thorpe - - * solib.h: Protect against multiple inclusion. - -2002-05-06 Jim Blandy - - Add first preprocessor macro-expansion files. - * macroexp.c, macroexp.h, macrotab.c, macrotab.h: New files. - * Makefile.in (SFILES): Add macrotab.c, macroexp.c. - (splay_tree_h, macroexp_h, macrotab_h): New variable. - (HFILES_NO_SRCDIR): Add macrotab.h, macroexp.h. - (COMMON_OBS): Add macrotab.o, macroexp.o. - (macroexp.o, macrotab.o): New rules. - - Separate the job of reading the line number info statement program - header (...expialidocious) out into its own function. - * dwarf2read.c (struct line_head, struct filenames, struct - directories): Replace with... - (struct line_header): New structure, containing the full - contents of the statement program header, including the - include directory and file name tables. - (read_file_scope): If we have line number info, instead of just - calling dwarf_decode_lines to do all the work, call - dwarf_decode_line_header first to get a `struct line_header' - containing the data in the statement program header, and then - pass that to dwarf_decode_lines, which will pick up where that - left off. Be sure to clean up the `struct line_header' object. - (dwarf_decode_line_header, free_line_header, add_include_dir, - add_file_name): New functions. - (dwarf_decode_lines): Move all the code to read the statement - program header into dwarf_decode_line_header. Take the line - header it built as the first argument, instead of the offset to - the compilation unit's line number info. Use the new `struct - line_header' type instead of the old structures. No need to do - cleanups here now, since we don't allocate anything. - (dwarf2_statement_list_fits_in_line_number_section, - dwarf2_line_header_too_long): New complaints. - -2002-05-06 Elena Zannoni - - * gdbtypes.c (init_vector_type): New function. - (build_builtin_type_vec128): Simplify the representation of SIMD - registers. - (build_gdbtypes): Initialize new builtin vector types. - (_initialize_gdbtypes): Register new vector types with gdbarch. - (builtin_type_v4_float, builtin_type_v4_int32, - builtin_type_v8_int16, builtin_type_v16_int8, - builtin_type_v2_int32, builtin_type_v4_int16, - builtin_type_v8_int8): New (renamed) SIMD types. - -2002-05-06 Mark Kettenis - - * i387-nat.c (i387_fill_fsave): Use regcache_collect. - (i387_fill_fxsave): Likewise. - -2002-05-05 Alexandre Oliva - - * alpha-tdep.c (alpha_extract_return_value): Don't use - non-constant array size in prototype. - -2002-05-04 Andrew Cagney - - From Brian Taylor : - * ui-out.c (ui_out_field_core_addr): Use the function - longest_local_hex_string_custom'to format addresses > 32 bits - wide. - - * ui-out.c (ui_out_field_core_addr): Update comment. - -2002-05-04 Andrew Cagney - - * stack.c (select_and_print_frame): Make static. Delete the - parameter `level'. - (func_command): Update call. - (select_frame_command): Delete code computing the frame level. - * frame.h (select_and_print_frame): Delete declaration. - -2002-05-04 Andrew Cagney - - * sparc-tdep.c (sparc_get_saved_register): Comment why - get_prev_frame call is safe. - -2002-05-04 Andrew Cagney - - * frame.h (select_frame): Delete level parameter. - * stack.c (select_frame): Update. Use frame_relative_level to - obtain the frame's level. - (select_and_print_frame): Update call. - (select_frame_command): Ditto. - (up_silently_base): Ditto. - (down_silently_base): Ditto. - * ocd.c (ocd_start_remote): Ditto. - * remote-rdp.c (remote_rdp_open): Ditto. - * remote-mips.c (mips_initialize): Ditto. - (common_open): Ditto. - * remote-e7000.c (e7000_start_remote): Ditto. - * m3-nat.c (select_thread): Ditto. - * hppa-tdep.c (child_get_current_exception_event): Ditto. - (child_get_current_exception_event): Ditto. - * varobj.c (varobj_create): Ditto. - (varobj_update): Ditto. - (c_value_of_root): Ditto. - * tracepoint.c (finish_tfind_command): Ditto. - * corelow.c (core_open): Ditto. - * arch-utils.c (generic_prepare_to_proceed): Ditto. - * thread.c (info_threads_command): Ditto. - (switch_to_thread): Ditto. - * infrun.c (normal_stop): Ditto. - (restore_selected_frame): Ditto. - (restore_inferior_status): Ditto. - * breakpoint.c (insert_breakpoints): Ditto. - (watchpoint_check): Ditto. - (bpstat_stop_status): Ditto. - (do_enable_breakpoint): Ditto. - * blockframe.c (flush_cached_frames): Ditto. - (reinit_frame_cache): Ditto. - -2002-05-04 Andrew Cagney - - * MAINTAINERS (Host/Native): Add Jason Thorpe as NetBSD - maintainer. - -2002-05-04 Jim Blandy - - * gdbtypes.c (replace_type): Doc fix. - -2002-05-04 Andrew Cagney - - * valprint.c (strcat_longest): Delete commented out function. - Update copyright. - -2002-05-04 Andrew Cagney - - * MAINTAINERS: Mark a29k as deleted. - * NEWS: Mention that a29k was removed. Add OBSOLETE section. - Move new configurations to the top. - * configure.tgt: Remove a29k. - * config/a29k/tm-vx29k.h: Delete. - * config/a29k/vx29k.mt: Delete. - * config/a29k/tm-a29k.h: Delete. - * config/a29k/a29k-udi.mt: Delete. - * config/a29k/a29k.mt: Delete. - * a29k-tdep.c: Delete. - * remote-udi.c: Delete. - * remote-mm.c: Delete. - * remote-eb.c: Delete. - * remote-adapt.c: Delete. - * Makefile.in: Remove obsolete code. - * config/s390/s390x.mt: Ditto. - * config/s390/s390.mt: Ditto. - * config/sparc/sparclynx.mh: Ditto. - * config/sparc/linux.mh: Ditto. - * config/pa/hppaosf.mh: Ditto. - * config/pa/hppabsd.mh: Ditto. - * config/ns32k/nbsd.mt: Ditto. - * config/mips/vr5000.mt: Ditto. - * config/m68k/sun3os4.mh: Ditto. - * config/m68k/nbsd.mt: Ditto. - * config/m68k/m68klynx.mh: Ditto. - * config/m32r/m32r.mt: Ditto. - * config/i386/x86-64linux.mt: Ditto. - * config/i386/nbsdelf.mt: Ditto. - * config/i386/nbsd.mt: Ditto. - * config/i386/i386lynx.mh: Ditto. - -2002-05-04 Andrew Cagney - - * target.c (debug_print_register): New function. Handle oversize - registers. - (debug_to_fetch_registers): Call. - (debug_to_store_registers): Call. - -2002-05-03 Jim Blandy - - * stabsread.c (cleanup_undefined_types): Use replace_type, not memcpy. - (read_type): Doc fix. - * gdbtypes.c (replace_type): Doc fix. - - * stabsread.c (multiply_defined_struct): New complaint. - (read_struct_type): If the type we were passed isn't empty, or - incomplete, don't read the new struct type into it; complain, - and return the original type unchanged. Take a new `type_code' - argument, which is the type code for the new type. - (read_type): Rather than storing the type's type code here, pass - it as an argument to read_struct_type, and let that take care of - storing it. That way, we don't overwrite the original type code, - so read_struct_type can use it to decide whether we're overwriting - something we shouldn't. - (complain_about_struct_wipeout): New function. - -2002-05-03 Andrew Cagney - - * gdbarch.sh: Assert that gdbarch is non-NULL. - * gdbarch.c: Regenerate. - -2002-05-03 Jason Merrill - - * gnu-v3-abi.c (gnuv3_rtti_type): If we get confused, just warn - and return NULL. - -2002-05-03 Michal Ludvig - - * x86-64-tdep.c (x86_64_dwarf2gdb_regno_map), - (x86_64_dwarf2gdb_regno_map_length), - (x86_64_dwarf2_reg_to_regnum): Added. - (x86_64_gdbarch_init): Added registration of x86_64_dwarf2_reg_to_regnum. - (x86_64_gdbarch_init): Renamed from i386_gdbarch_init. - (_initialize_x86_64_tdep): Synced with the change above. - (x86_64_skip_prologue): Reformulated message. - -2002-05-03 Pierre Muller - - * f-exp.y: Also use new prev_lexptr variable - to improve error reporting. Based on Michael Snyder - 2002-04-24 dated patch to c-exp.y. - * jv-exp.y: Likewise. - * m2-exp.y: Likewise. - -2002-05-02 Elena Zannoni - - * valops.c (value_arg_coerce): Don't coerce arrays to pointers if - we are dealing with vectors. - -2002-05-02 Pierre Muller - - * config/m68k/tm-nbsd.h: Obvious fix, - correct machine name. - -2002-05-02 Pierre Muller - - * p-typeprint.c (pascal_type_print_base): Add support - for TYPE_CODE_STRING and TYPE_CODE_BITSTRING. - -2002-05-02 Pierre Muller - - * p-lang.c (pascal_create_fundamental_type): Use TYPE_CODE_CHAR - for fondamental pascal 'char' type. - -2002-05-02 Pierre Muller - - * p-lang.h (is_pascal_string_type): Declaration changed, - new sixth argument of type char ** added. - * p-lang.c (is_pascal_string_type): Implementation - changed. Args length_pos, length_size, string_pos, char_size - can now be NULL. New argument arrayname set to the field - name of the char array. Return value set to char array - field index plus one. - * p-valprint.c (pascal_val_print): Adapt to new declaration of - is_pascal_string_type function. - -2002-05-02 Andrew Cagney - - * gdbarch.sh (gdbarch_update_p): Revert 2002-05-02 Andrew Cagney - change. - * gdbarch.c: Regenerate. - -2002-05-02 Andrew Cagney - - * gdbarch.sh (gdbarch_update_p): Swap out the old architecture - before probing for a new one. Detect errorenous gdbarch_init - functions. - * gdbarch.c: Regenerate. - -2002-05-01 Andrew Cagney - - * config/mn10200/tm-mn10200.h: Include "symfile.h" and "symtab.h". - * config/mcore/tm-mcore.h: Ditto. Update copyright. - * config/v850/tm-v850.h: Ditto. Update copyright. - -2002-04-30 Andrew Cagney - - * cris-tdep.c (cris_gdbarch_init): Use arches instead of - current_gdbarch. - -2002-04-30 Michael Snyder - - * arm-tdep.c: Whitespace clean-ups. - (arm_skip_prologue): Fix thinko; two lines - should have been removed as part of 4/24 change. - -2002-04-30 Kevin Buettner - - * rs6000-tdep.c: Added comment describing how fpscr register - numbers were chosen. - -2002-04-30 Michael Snyder - - * gnu-nat.c (gnu_find_memory_regions): Fix merge botch. - -2002-04-29 Elena Zannoni - - * hpread.c (DNTT_TYPE_VECTOR): Rename from TYPE_VECTOR. - (DNTT_TYPE_VECTOR_LENGTH): Rename from TYPE_VECTOR_LENGTH. - (hpread_symfile_init, hpread_lookup_type): Substitute throughout. - -2002-04-29 Kevin Buettner - - From Louis Hamilton : - * rs6000-tdep.c (coff/xcoff.h, libxcoff.h): Include. - * xcoffread.c (coff/xcoff.h, libxcoff.h): Likewise. - * rs6000-tdep.c (rs6000_gdbarch_init): Use bfd_xcoff_is_xcoff64(), - not bfd-private xcoff data, to determine wordsize. - * xcoffread.c (read_xcoff_xymtab, read_symbol_lineno): Likewise. - -2002-04-29 Andrew Cagney - - GDB 5.2 released from 5.2 branch. - -2002-04-29 Michal Ludvig - - * x86-64-linux-nat.c (fill_gregset): Explicit cast to avoid warning. - * x86-64-tdep.c (i386_gdbarch_init): Ditto. - (x86_64_register_info_table): Added comments with register numbers. - -2002-04-29 Elena Zannoni - - * rs6000-tdep.c (rs6000_extract_return_value, - rs6000_store_return_value): Handle returning vectors. - (rs6000_gdbarch_init): Use - ppc_sysv_abi_broken_use_struct_convention for native sysv cases. - * ppc-linux-tdep.c (ppc_sysv_abi_broken_use_struct_convention): - New function. - (ppc_sysv_abi_use_struct_convention): Deal with functions returning - vectors. - (ppc_sysv_abi_push_arguments): Handle vector parameters. - * ppc-tdep.h (ppc_sysv_abi_broken_use_struct_convention): Export. - -2002-04-24 Pierre Muller - - * hpread.c (hpread_psymtab_to_symtab_1, - hpread_psymtab_to_symtab): Replace fprintf tab_to_s...) - with fprintf_unfiltered (gdb_stderr,...). - -2002-04-24 Pierre Muller - - * remote-array.c (printf_monitor, write_monitor, - array_insert_breakpoint, array_remove_breakpoint ): - Replace fprintf (stderr,... - with fprintf_unfiltered (gdb_stderr,.... - * remote-es.c: Likewise. - * remote-os9k.c: Likewise. - * remote-st.c: Likewise. - -2002-04-28 Andreas Schwab - - * config/s390/s390.mh (NATDEPFILES): Remove solib.o, add - linux-proc.o and gcore.o. - -2002-04-26 Michal Ludvig - - * x86-64-tdep.c (x86_64_skip_prologue): Print note when debugging - code without frame pointers. - -2002-04-26 Andrew Cagney - - * sparc-tdep.c (sparc_gdbarch_init): Add comment explaining why - ON_STACK is needed. - -2002-04-26 Ben Elliston - - * target.c (do_xfer_memory): Correct reference to the new option - "trust-readonly-sections". - -2002-04-26 Elena Zannoni - - * gdbtypes.h (TYPE_FLAG_VECTOR, TYPE_VECTOR): Define. - * gdbtypes.c (recursive_dump_type): Output the vector flag. - * dwarf2read.c (dwarf_attr_name): Handle new attribute for - vectors. - (read_array_type): Record the fact that this array type is really a - vector (i.e. are passed in by value). - -2002-04-26 Jason Thorpe - - * alpha-tdep.h (gdbarch_tdep): Add sigcontext_addr member. - * alpha-tdep.c (alpha_sigcontext_addr): New function. - (alpha_find_saved_regs): Use alpha_sigcontext_addr. - (alpha_gdbarch_init): Initialize tdep->sigcontext_addr. - * alpha-linux-tdep.c: Include frame.h. - (alpha_linux_sigcontext_addr): New function. - (alpha_linux_init_abi): Set tdep->sigcontext_addr to - alpha_linux_sigcontext_addr. - * alpha-osf1-tdep.c: Include gdbcore.h. - (alpha_osf1_sigcontext_addr): New function. - (alpha_osf1_init_abi): Set tdep->sigcontext_addr to - alpha_osf1_sigcontext_addr. - * config/alpha/tm-alpha.h (SIGCONTEXT_ADDR): Remove. - * config/alpha/tm-alphalinux.h (SIGCONTEXT_ADDR): Remove. - -2002-04-26 Andrew Cagney - - * stack.c (selected_frame_level): - (select_frame): Do not set selected_frame_level. - * frame.h (selected_frame_level): Delete declaration. - -2002-04-26 Andrew Cagney - - * rs6000-tdep.c (rs6000_gdbarch_init): Only set - convert_from_func_ptr-addr when AIX / PowerOpen. - -2002-04-25 Andrew Cagney - - * valops.c (hand_function_call): Call - generic_save_call_dummy_addr. - * frame.h (generic_save_call_dummy_addr): Declare. - * blockframe.c (struct dummy_frame): Add fields call_lo and - call_hi. - (generic_find_dummy_frame): Check for PC in range call_lo to - call_hi instead of entry_point_address. - (generic_pc_in_call_dummy): Search the dummy frames for a PC in - the call_lo to call_hi range. Allow for DECR_PC_AFTER_BREAK. - (generic_save_call_dummy_addr): New function. - -2002-04-24 David S. Miller - - * sparc-tdep.c (sparc_gdbarch_skip_prologue): Kill, duplicates - sparc_skip_prologue. - (sparc_skip_prologue): Kill frameless_p arg, and use line number - information to find prologue when possible. - (sparc_prologue_frameless_p): Call examine_prologue directly. - (sparc_gdbarch_init): Update set_gdbarch_skip_prologue call. - * config/sparc/tm-sparc.h (sparc_skip_prologue): Update for killed - second argument. - (SKIP_PROLOGUE): Likewise. - -2002-04-25 Jason Thorpe - - * alpha-tdep.c (alpha_skip_prologue_internal): Remove - GDB_TARGET_HAS_SHARED_LIBS #ifdef and update comment to - indicate that the condition it was testing is always true. - * config/alpha/nm-linux.h (GDB_TARGET_HAS_SHARED_LIBS): Remove. - * config/alpha/nm-nbsd.h (GDB_TARGET_HAS_SHARED_LIBS): Ditto. - * config/alpha/nm-osf.h (GDB_TARGET_HAS_SHARED_LIBS): Ditto. - -2002-04-25 Jason Thorpe - - * alpha-tdep.h (gdbarch_tdep): Add jb_pc and jb_elt_size members. - * alpha-linux-tdep.c (alpha_linux_init_abi): Initialize - tdep->jb_pc and tdep->jb_elt_size. - * alpha-osf1-tdep.c (alpha_osf1_init_abi): Likewise. - * alphafbsd-tdep.c (alphafbsd_init_abi): Likewise. - * alphanbsd-tdep.c (alphanbsd_init_abi): Likewise. - * alpha-nat.c (get_longjmp_target): Remove. - (JB_ELEMENT_SIZE): Ditto. - (JB_PC): Ditto. - * alpha-tdep.c (alpha_get_longjmp_target): New function. - (alpha_gdbarch_init): Default tdep->jb_pc to -1. If the - OS ABI sets jb_pc to a valid value, set gdbarch_get_longjmp_target - to alpha_get_longjmp_target. - (alpha_dump_tdep): Report tdep->jb_pc and tdep->jb_elt_size. - * config/alpha/nm-linux.h (GET_LONGJMP_TARGET): Remove. - * config/alpha/nm-osf.h (GET_LONGJMP_TARGET): Remove. - -2002-04-25 Andrew Cagney - - * README: Update to GDB 5.2. - -2002-04-25 Andrew Cagney - - * gdbarch.sh (LC_ALL): Set to `c'. - -2002-04-25 Theodore A. Roth - - * avr-tdep.c: Ran through gdb_indent.sh. - -2002-04-25 Theodore A. Roth - - * MAINTAINERS: Add myself as AVR maintainer. - * NEWS: Note new target avr. - -2002-04-25 Theodore A. Roth - - * 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. - -2002-04-25 Theodore A. Roth - - * MAINTAINERS: Add myself to write-after-approval. - -2002-04-24 Pierre Muller - - * f-lang.c (get_bf_for_fcn): Replace fprintf (stderr,... - with fprintf_unfiltered (gdb_stderr,.... - -2002-04-25 Pierre Muller - - Fix PR gdb/508. - * symfile.c (add_filename_language): Fix wrong xrealloc size argument. - -2002-04-25 Pierre Muller - - * p-exp.y: Also use new prev_lexptr variable - to improve error reporting. Based on Michael Snyder - 2002-04-24 dated patch to c-exp.y. - -2002-04-25 Jason Thorpe - - * alpha-tdep.c (alpha_breakpoint_from_pc): New function. - (alpha_gdbarch_init): Set gdbarch_breakpoint_from_pc to - alpha_breakpoint_from_pc. Set gdbarch_function_start_offset - to 0. - * config/alpha/tm-alpha.h: Remove forward decls of struct type - and struct value. - (FUNCTION_START_OFFSET): Remove. - (BREAKPOINT): Ditto. - -2002-04-25 Jason Thorpe - - * MAINTAINERS: Reflect that multi-arch is enabled for VAX. - * NEWS: Ditto. - -2002-04-24 Jason Thorpe - - * alpha-linux-tdep.c (alpha_linux_pc_in_sigtramp): New function. - (alpha_linux_init_abi): Set gdbarch_pc_in_sigtramp to - alpha_linux_pc_in_sigtramp. - * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): New function. - (alpha_osf1_init_abi): Set gdbarch_pc_in_sigtramp to - alpha_osf1_pc_in_sigtramp. - * alpha-tdep.c (alpha_osf_in_sigtramp): Remove. - * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): New function. - (alphafbsd_init_abi): Set gdbarch_pc_in_sigtramp to - alphafbsd_pc_in_sigtramp. - * alphanbsd-tdep.c (alphanbsd_pc_in_sigtramp): New function. - (alphanbsd_init_abi): Set gdbarch_pc_in_sigtramp to - alphanbsd_pc_in_sigtramp. - * config/alpha/tm-alpha.h (IN_SIGTRAMP): Remove. - * config/alpha/tm-alphalinux.h (IN_SIGTRAMP): Remove. - -2002-04-24 Jason Thorpe - - * config/alpha/nbsd.mh (NATDEPFILES): Remove solib-legacy.o. - -2002-04-24 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add alphanbsd-nat.c and - alphanbsd-tdep.c. - (alphanbsd-nat.o): New dependency list. - (alphanbsd-tdep.o): Ditto. - * NEWS: Note new native NetBSD/alpha configuration. - * alphanbsd-nat.c: New file. - * alphanbsd-tdep.c: Ditto. - * configure.host (alpha*-*-netbsd*): New host. - * configure.tgt (alpha*-*-netbsd*): New target. - * config/alpha/nbsd.mh: New file. - * config/alpha/nbsd.mt: Ditto. - * config/alpha/nm-nbsd.h: Ditto. - * config/alpha/tm-nbsd.h: Ditto. - -2002-04-24 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add alpha-osf1-tdep.c. - (alpha-osf1-tdep.o): New dependency list. - * alpha-tdep.h (gdbarch_tdep): Add dynamic_sigtramp_offset - and skip_sigtramp_frame members. - * alpha-linux-tdep.c: Include gdbcore.h. - (alpha_linux_sigtramp_offset): Change return type to LONGEST. - (alpha_linux_init_abi): Initialize tdep->dynamic_sigtramp_offset. - * alpha-osf1-tdep.c: New file. - * alpha-tdep.c (alpha_osf_skip_sigtramp_frame): Moved to - alpha-osf1-dep.c. - (alpha_frame_past_sigtramp_frame): New function. - (alpha_dynamic_sigtramp_offset): Ditto. - (alpha_proc_desc_is_dyn_sigtramp): Ditto. - (alpha_set_proc_desc_is_dyn_sigtramp): Ditto. - (ALPHA_PROC_SIGTRAMP_MAGIC): Define. - (push_sigtramp_desc): Use alpha_set_proc_desc_is_dyn_sigtramp. - (after_prologue): Use alpha_proc_desc_is_dyn_sigtramp. - (find_proc_desc): Use alpha_dynamic_sigtramp_offset. - (alpha_frame_chain): Use alpha_frame_past_sigtramp_frame. - (alpha_init_extra_frame_info): Use alpha_proc_desc_is_dyn_sigtramp. - (alpha_pop_frame): Use alpha_proc_desc_is_dyn_sigtramp. - (alpha_gdbarch_init): Initialize tdep->dynamic_sigtramp_offset - and tdep->skip_sigtramp_frame. Set gdbarch_skip_trampoline_code - to find_solib_trampoline_target. - * config/alpha/alpha-osf1.mt (TDEPFILES): Add alpha-osf1-tdep.o. - * config/alpha/tm-alpha.h: Remove inclusion of regcache.h. - (SKIP_TRAMPOLINE_CODE): Remove. - (PROC_DESC_IS_DYN_SIGTRAMP): Ditto. - (SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto. - (DYNAMIC_SIGTRAMP_OFFSET): Ditto. - (FRAME_PAST_SIGTRAMP_FRAME): Ditto. - * config/alpha/tm-alphalinux.h (PROC_DESC_IS_DYN_SIGTRAMP): Remove. - (PROC_SIGTRAMP_MAGIC): Ditto. - (PROC_DESC_IS_DYN_SIGTRAMP): Ditto. - (SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto. - (SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto. - (DYNAMIC_SIGTRAMP_OFFSET): Ditto. - (FRAME_PAST_SIGTRAMP_FRAME): Ditto. - -2002-04-24 Jason Thorpe - - * NEWS: Note that Alpha targets are now multi-arch. - -2002-04-24 Michael Snyder - - * parser-defs.h (prev_lexptr): New external variable. - * parse.c (parse_exp_1): Set prev_lexptr to null before - calling the language-specific parser. - * c-exp.y (yylex): Set prev_lexptr to start of current token. - (yyerror): Use prev_lexptr in error reporting. - -2002-04-24 Daniel Jacobowitz - - * config/i386/tm-linux.h: Define FILL_FPXREGSET. - * gregset.h: If FILL_FPXREGSET is defined, provide - gdb_fpxregset_t, supply_fpxregset, and fill_fpxregset. - * linux-proc.c (linux_do_thread_registers): If FILL_FPXREGSET - is defined, call fill_fpxregset. - -2002-04-24 Roland McGrath - - * config/i386/i386gnu.mh (NATDEPFILES): Add core-regset.o here. - * i386gnu-nat.c [HAVE_SYS_PROCFS_H] - (supply_gregset, supply_fpregset): New functions. - - * gnu-nat.c (gnu_find_memory_regions): New function. - (init_gnu_ops): Set `to_find_memory_regions' hook to that. - (gnu_xfer_memory): Add a cast. - -2002-04-24 Michael Snyder - - * arm-tdep.c (arm_scan_prologue): Move "mov ip, sp" into the - loop. Add handling for "str lr, [sp, #-4]!" and for saves - of argument regs ("str r(0123), [r11, #-nn"]). - (arm_skip_prologue): Better handling for frameless functions. - Treat "mov ip, sp" as optional. Recognize "str lr, [sp, #-4]". - (arm_skip_prologue): Recognize str r(0123), [r11, #-nn]. - -Wed Apr 24 14:22:21 2002 Andrew Cagney - - * arm-tdep.c (arm_gdbarch_init): Add comment that NUM_REGS nor - NUM_PSEUDO_REGS can be used. - -2002-04-24 Andrew Cagney - - * arch-utils.h: Update copyright. - - * gdbarch.sh (PC_IN_SIGTRAMP): Add. - * gdbarch.h, gdbarch.c: Re-generate. - - * inferior.h (IN_SIGTRAMP): Delete definition. - * arch-utils.c (legacy_pc_in_sigtramp): New function. - * arch-utils.h (legacy_pc_in_sigtramp): Declare. - - * mips-tdep.c (mips_init_extra_frame_info): Use PC_IN_SIGTRAMP. - (mips_dump_tdep): Do not print value of IN_SIGTRAMP. - * hppa-tdep.c (pc_in_interrupt_handler): Use PC_IN_SIGTRAMP. - (find_proc_framesize): Ditto. - * alpha-tdep.c (alpha_osf_skip_sigtramp_frame): Ditto. - (alpha_init_extra_frame_info): Ditto. - * infrun.c (handle_inferior_event): Ditto. - (handle_inferior_event): Ditto. - (check_sigtramp2): Ditto. - * blockframe.c (create_new_frame): Ditto. - (get_prev_frame): Ditto. - * ppc-linux-tdep.c: Update comments. - * i386-linux-tdep.c: Update comments. - * breakpoint.c (bpstat_what): Update comment. - -2002-04-24 David S. Miller - - * i960-tdep.c (register_in_window_p): New function. - (i960_find_saved_register): Use it instead of - REGISTER_IN_WINDOW_P. - * config/i960/tm-i960.h (REGISTER_IN_WINDOW): Delete. - - * symtab.h (find_stab_function_addr): Kill extern. - * minsyms.c (find_stab_function_addr): Remove from here... - * dbxread.c: ... to here, and mark it static. - -2002-04-20 David S. Miller - - * sparc-tdep.c (sparc_pop_frame): Only need to allocate - SPARC_INTREG_SIZE * 16 bytes for reg_temp. - -2002-04-21 David S. Miller - - * remote-vxsparc.c (vx_read_register): Fix typo, we want - REGISTER_RAW_SIZE of SP_REGNUM not CORE_ADDR. - (vx_write_register): Likewise. - -2002-04-23 J. Brobecker - - * source.c (is_regular_file): New function. - (openp): Check wether file to open is a regular file - to avoid opening directories. - -2002-04-22 Jason Thorpe - - * findvar.c (extract_signed_integer): Cast printf argument - to suppress format warning. - (extract_unsigned_integer): Likewise. - * infcmd.c (registers_info): Likewise. - * top.c (get_prompt_1): Likewise. - * valops.c (value_assign): Likewise. - * valprint.c (print_decimal): Likewise. - -2002-04-22 H.J. Lu (hjl@gnu.org) - - * c-exp.y (typebase): Support - - [long|long long|short] [signed|unsigned] [int|] - - and - - signed [long|long long|short] int - -2002-04-22 Jason Thorpe - - * Makefile.in (vax-tdep.o): Add $(arch_utils_h), $(inferior_h), - and vax-tdep.h. - * vax-tdep.h: New file. - * vax-tdep.c: Include inferior.h, arch-utils.h, and vax-tdep.h. - Make several routines static. - (vax_get_saved_register): New function. - (vax_gdbarch_init): New function. - (_initialize_vax_tdep): Register vax_gdbarch_init. - * config/vax/tm-vax.h: Set GDB_MULTI_ARCH to GDB_MULTI_ARCH_PARTIAL. - Remove macros now under the control of gdbarch. - -2002-04-22 Michael Snyder - - * arm-tdep.c (arm_skip_prologue): Recognize "sub sp, sp, #nn". - Some whitespace and coding standards tweaks. - -2002-04-22 Jason Thorpe - - * vax-tdep.c: Include regcache.h. - (vax_call_dummy_words): New. - (sizeof_vax_call_dummy_words): New. - (vax_fix_call_dummy): New function. - (vax_saved_pc_after_call): Ditto. - * config/vax/tm-vax.h: Don't include regcache.h. - (SAVED_PC_AFTER_CALL): Use vax_saved_pc_after_call. - (CALL_DUMMY): Remove. - (CALL_DUMMY_WORDS): Define. - (SIZEOF_CALL_DUMMY_WORDS): Define. - (FIX_CALL_DUMMY): Use vax_fix_call_dummy. - -2002-04-18 Michael Snyder - - * arm-tdep.h: Change regnum defines to enums for ease of debugging. - -2002-04-22 Jason Thorpe - - * vax-tdep.c (vax_frame_chain): New function. - (vax_push_dummy_frame): Ditto. - (vax_pop_frame): Ditto. - * config/vax/tm-vax.h (FRAME_CHAIN): vax_frame_chain. - (FRAMELESS_FUNCTION_INVOCATION): Use - generic_frameless_function_invocation_not. - (PUSH_DUMMY_FRAME): Use vax_push_dummy_frame. - (POP_FRAME): Use vax_pop_frame. - -2002-04-22 Jason Thorpe - - * vax-tdep.c (vax_store_struct_return): New function. - (vax_extract_return_value): Ditto. - (vax_store_return_value): Ditto. - (vax_extract_struct_value_address): Ditto. - * config/vax/tm-vax.h (STORE_STRUCT_RETURN): Use - vax_store_struct_return. - (EXTRACT_RETURN_VALUE): Use vax_extract_return_value. - (STORE_RETURN_VALUE): Use vax_store_return_value. - (EXTRACT_STRUCT_VALUE_ADDRESS): Use vax_extract_struct_value_address. - -2002-04-22 Jason Thorpe - - * vax-tdep.c (vax_frame_saved_pc): New function. - (vax_frame_args_address_correct): Ditto. - (vax_frame_args_address): Ditto. - (vax_frame_locals_address): Ditto. - (vax_frame_num_args): Move code to be in proximity to - other frame-related functions. - * config/vax/tm-vax.h (INNER_THAN): Use core_addr_lessthan. - (FRAME_SAVED_PC): Use vax_frame_saved_pc. - (FRAME_ARGS_ADDRESS_CORRECT): Use vax_frame_args_address_correct. - (FRAME_ARGS_ADDRESS): Use vax_frame_args_address. - (FRAME_LOCALS_ADDRESS): Use vax_frame_locals_address. - -2002-04-22 H.J. Lu (hjl@gnu.org) - - * Makefile.in (FLAGS_TO_PASS): Add libdir, mandir, datadir and - includedir. - -2002-04-22 Jason Thorpe - - * vax-tdep.c (vax_frame_init_saved_regs): New function. - * config/vax/tm-vax.h (FRAME_FIND_SAVED_REGS): Remove. - (FRAME_INIT_SAVED_REGS): New macro. - -2002-04-22 Jason Thorpe - - * MAINTAINERS: Reflect that the Alpha target has been multi-arch'd. - -2002-04-22 Jason Thorpe - - * alpha-nat.c (get_longjmp_target): Use ALPHA_* constants - where needed. - (fetch_osf_core_registers): Likewise. - (supply_gregset): Likewise. - -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. - -2002-04-22 Jason Thorpe - - * vax-tdep.c: Update copyright years. - (vax_register_name): New function. - (vax_register_byte): Ditto. - (vax_register_raw_size): Ditto. - (vax_register_virtual_size): Ditto. - (vax_register_virtual_type): Ditto. - * config/vax/tm-vax.h: Update copyright years. - (REGISTER_NAMES): Remove. - (REGISTER_NAME): Define. - (REGISTER_BYTE): Use vax_register_byte. - (REGISTER_RAW_SIZE): Use vax_register_raw_size. - (REGISTER_VIRTUAL_SIZE): Use vax_register_virtual_size. - (REGISTER_VIRTUAL_TYPE): Use vax_register_virtual_type. - -2002-04-21 Andrew Cagney - - * config/sparc/tm-sparc.h (sparc_skip_prologue): Restore - declaration - * arc-tdep.c (arc_prologue_frameless_p): Fix syntax error. - -2002-04-21 David S. Miller - - * arch-utils.c (generic_prologue_frameless_p): Kill - SKIP_PROLOGUE_FRAMELESS_P code. - * config/arc/tm-arc.h (SKIP_PROLOGUE_FRAMELESS_P): Delete - references. - (PROLOGUE_FRAMELESS_P, arc_prologue_frameless_p): New. - * arc-tdep.c (arc_prologue_frameless_p): Implement. - * config/arc/tm-sparc.h (SKIP_PROLOGUE_FRAMELESS_P): Delete - references. - (PROLOGUE_FRAMELESS_P, sparc_prologue_frameless_p): New. - * sparc-tdep.c (sparc_prologue_frameless_p): Implement. - (sparc_gdbarch_init): Pass it to - set_gdbarch_prologue_frameless_p. - -2002-04-21 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add alphabsd-nat.c. - (alphabsd-nat.o): New dependency list. - -2002-04-21 Jason Thorpe - - * Makefile.in (ALLDEPFILES): Add alpha-linux-tdep.c and - alphafbsd-tdep.c. - (alpha-linux-tdep.o): New dependency list. - (alphafbsd-tdep.o): Likewise. - -2002-04-21 Jason Thorpe - - * alpha-linux-tdep.c: New file. Move alpha_linux_sigtramp_offset - to here... - * alpha-tdep.c: ...from here. - * config/alpha/alpha-linux.mt (TDEPFILES): Add alpha-linux-tdep.o. - -2002-04-21 Jason Thorpe - - * config/alpha/tm-alpha.h: Move alpha_software_single_step - prototype from here... - * alpha-tdep.h: ...to here. - -2002-04-21 Andrew Cagney - - * frame.h (selected_frame_level): Document as deprecated. - (frame_relative_level): Declare. - * stack.c (frame_relative_level): New function. - (selected_frame_level): Document as deprecated. - (select_frame): Do not set the selected_frame_level. - - * stack.c (frame_info, record_selected_frame): Update. - (frame_command, current_frame_command): Update. - (up_silently_base, up_command, down_silently_base): Update. - (down_command): Update. - * inflow.c (kill_command): Update. - * tracepoint.c (finish_tfind_command): Update. - * corelow.c (core_open): Update. - * thread.c (info_threads_command): Update. - (do_captured_thread_select): Update. - * infcmd.c (finish_command): Update. - * breakpoint.c (insert_breakpoints, do_enable_breakpoint): Update. - -2002-04-21 Jason Thorpe - - * config/alpha/tm-fbsd.h (FRAME_CHAIN_VALID): Remove. - -2002-04-21 Andrew Cagney - - * arm-tdep.c (arm_breakpoint_from_pc): Make static. Make return - type const. - -2002-04-21 Jason Thorpe - - * alphafbsd-tdep.c: Update copyright years. Include - alpha-tdep.h. - (alphafbsd_use_struct_convention): Make static. - (alphafbsd_init_abi): New function. - (_initialize_alphafbsd_tdep): New function. - * config/alpha/tm-fbsd.h: Update copyright years. - (USE_STRUCT_CONVENTION): Remove. - -2002-04-21 Jason Thorpe - - * alpha-tdep.c (alpha_abi_handler): New structure to describe - an Alpha ABI variant. - (alpha_abi_handler_list): Declare. - (alpha_gdbarch_register_os_abi): New function. - (alpha_gdbarch_init): Give registered ABI variant handlers a - chance to tweak the gdbarch once we have set up defaults. - * alpha-tdep.h: Prototype alpha_gdbarch_register_os_abi. - -2002-04-21 Jason Thorpe - - * alpha-tdep.c (alpha_gdbarch_init): Set coerce_float_to_double - to standard_coerce_float_to_double. - * config/alpha/tm-alpha.h (COERCE_FLOAT_TO_DOUBLE): Remove. - -2002-04-21 Jason Thorpe - - * alpha-tdep.h (gdbarch_tdep): Add vm_min_address member. - * alpha-tdep.c (heuristic_proc_start): Use vm_min_address - from gdbarch_tdep rather than a constant. - (alpha_gdbarch_init): Initialize tdep->vm_min_address to - the default text address for all Alpha Unix ABIs. - (alpha_dump_tdep): Report the value of tdep->vm_min_address. - * config/alpha/tm-alpha.h (VM_MIN_ADDRESS): Delete. - -2002-04-21 Jason Thorpe - - * alpha-tdep.h: New file. Includes several Alpha target constants - taken from... - * config/alpha/tm-alpha.h: ...here. Remove macros that we now - let gdbarch deal with. - (GDB_MULTI_ARCH): Define as GDB_MULTI_ARCH_PARTIAL. - * Makefile.in (alpha-nat.o): Add alpha-tdep.h and $(BFD_SRC)/elf-bfd - to dependency list. - * alpha-nat.c: Include alpha-tdep.h. Update for adjusted - Alpha target register names. - * alphabsd-nat.c: Likewise. - * alpha-tdep.c: Include alpha-tdep.h. Update for adjusted - Alpha target register names. Make serveral routines static. - (alpha_get_saved_register): New function. - (alpha_abi_names): New. - (process_note_abi_tag_sections): New function. - (get_elfosabi): New function. - (alpha_gdbarch_init): New function. - (alpha_dump_tdep): New function. - (_initialize_alpha_tdep): Register alpha_gdbarch_init. - -2002-04-21 Andrew Cagney - - * frame.c (find_saved_register): Delete #ifdef - HAVE_REGISTER_WINDOWS code. - * config/sparc/tm-sparc.h: Update comments. - * config/i960/tm-i960.h (HAVE_REGISTER_WINDOWS): Delete macro. - -2002-04-21 Andrew Cagney - - * i960-tdep.c (i960_find_saved_register): New function. - (i960_get_saved_register): New function. - * config/i960/tm-i960.h (GET_SAVED_REGISTER): Define. - (i960_get_saved_register): Declare. - * config/i960/tm-i960.h, i960-tdep.c: Update copyright. - -2002-04-20 David S. Miller - - * sparc-nat.c (store-inferior_registers): Fix ambiguous else. - -2002-04-20 Andrew Cagney - - * arm-tdep.c (arm_gdbarch_init): Use gdbarch_num_pseudo_regs - instead of NUM_PSEUDO_REGS. - -2002-04-20 David S. Miller - - * config/sparc/tm-linux.h (GDB_MULTI_ARCH): Define to - GDB_MULTI_ARCH_PARTIAL - * config/sparc/tm-sp64linux.h (GDB_MULTI_ARCH): Do not - define, let tm-sp64.h do it. - -2002-04-20 Jason Thorpe - - * frame.c (find_saved_register): Avoid a NULL pointer - dereference and actually walk the frame list. - -2002-04-20 Andrew Cagney - - * gdbarch.sh (gdbarch_update_p): Keep the list of architectures - sorted in most most-recent-used order. Document. - * gdbarch.h, gdbarch.c: Regenerate. - -2002-04-19 Andrew Cagney - - * sparc-tdep.c (sparc_get_saved_register): Use get_prev_frame - instead of ->prev. - * z8k-tdep.c (z8k_frame_chain): Do not use ->prev. - * s390-tdep.c (s390_frame_chain): Do not use ->prev. - * rs6000-tdep.c (frame_get_saved_regs): Use rs6000_frame_chain() - instead of ->prev. - -2002-04-19 Elena Zannoni - - Fix PR gdb/471. - * gdbtypes.c (init_simd_type): Rewrite using new functions. - (build_builtin_type_vec128): Ditto. - (append_composite_type_field): Fix calculation of type length in - union case. - -2002-04-19 Eli Zaretskii - - * config/djgpp/README: Update. - - * go32-nat.c (store_register): Cast &a_tss to `char *' to avoid a - compiler warnings. - -2002-04-19 Jason Thorpe - - * alpha-tdep.c (setup_arbitrary_frame): Rename... - (alpha_setup_arbitrary_frame): ...to this. - * config/alpha/tm-alpha.h (SETUP_ARBITRARY_FRAME): Update - for alpha_setup_arbitrary_frame. - -2002-04-18 Andrew Cagney - - * gdbarch.sh (BREAKPOINT_FROM_PC): Return a const buffer. - * gdbarch.h, gdbarch.c: Regenerate. - - * defs.h (breakpoint_from_pc_fn): Delete type definition. - * target.h (memory_breakpoint_from_pc): Update declaration. - * config/mcore/tm-mcore.h (mcore_breakpoint_from_p): Ditto. - - * arch-utils.c (legacy_breakpoint_from_pc): Update return type. - * mcore-tdep.c (mcore_breakpoint_from_pc): Ditto. - * mem-break.c (memory_breakpoint_from_pc): Ditto. - * rs6000-tdep.c (rs6000_breakpoint_from_pc): Ditto. - * s390-tdep.c (s390_breakpoint_from_pc): Ditto - * xstormy16-tdep.c (xstormy16_breakpoint_from_pc): Ditto. - * mn10300-tdep.c (mn10300_breakpoint_from_pc): Ditto. - * mips-tdep.c (mips_breakpoint_from_pc): Ditto. - * m68hc11-tdep.c (m68hc11_breakpoint_from_pc): Ditto. - * ia64-tdep.c (ia64_breakpoint_from_pc): Ditto. - * d10v-tdep.c (d10v_breakpoint_from_pc): Ditto. - * arch-utils.c (legacy_breakpoint_from_pc): Ditto.. - - * mem-break.c (default_memory_insert_breakpoint): Make `bp' a - const pointer. - * monitor.c (monitor_insert_breakpoint): Ditto. - * rs6000-tdep.c (rs6000_software_single_step): Ditto for `breakp'. - - * config/mcore/tm-mcore.h: Update copyright. - * mem-break.c: Ditto. - * xstormy16-tdep.c: Ditto. - -2002-04-18 Pierre Muller - - * p-exp.y: Add precedence rule for '^' token. - This removes the shift/reduce conflicts. - Remove the comment concerning these shift/reduce conflicts. - -2002-04-18 Elena Zannoni - - * rs6000-tdep.c (COMMON_UISA_NOFP_REGS): New macro. - (registers_powerpc_nofp): New register set for processors - without floating point unit. - -2002-04-18 David S. Miller - - * MAINTAINERS: Add myself to write-after-approval. - -2002-04-17 Michael Snyder - - * MAINTAINERS: Add myself as co-maintainer of testsuite/gdb.asm. - -2002-04-17 Andrew Cagney - - * rs6000-tdep.c (frame_initial_stack_address): Use - frame_register_read to read the alloca_reg. - -2002-04-17 Andrew Cagney - - * frame.c (find_saved_register): Find saved registers in the next - not prev frame. - Fix PR gdb/365. - -2002-04-17 Andrew Cagney - - * gdbarch.sh (LANG): Set to ``c''. - -2002-04-15 Andrew Cagney - - * PROBLEMS: Mention hppa2.0-hp-hpux10.20 compile problems. - -2002-04-15 Andrew Cagney - - * bcache.c: Include and after "defs.h". - Update copyright. - - * hpread.c (hpread_get_lntt): Add declaration. - Also fix PR gdb/391. - -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. - -2002-04-14 Elena Zannoni - - * mi/mi-cmd-disas.c (dump_insns): Use TARGET_PRINT_INSN - instead of tm_print_insn. - -2002-04-14 Elena Zannoni - - * ppc-bdm.c (bdm_ppc_fetch_registers): Fix typo. - -2002-04-14 Andrew Cagney - - * config/pa/tm-hppa.h (FRAME_CHAIN_COMBINE): Delete macro. - * blockframe.c (FRAME_CHAIN_COMBINE): Delete macro. - (get_prev_frame): Do not call FRAME_CHAIN_COMBINE. - -2002-04-12 Don Howard - - * cli/cli-cmds.c (init_cli_cmds): Add new user settable value: - max_user_call_depth. - (init_cmd_lists): Initialize the new value; - * cli/cli-script.c (execute_user_command): Limit the call depth of - user defined commands. This avoids a core-dump when user commands - are infinitly recursive. - -2002-04-12 Kevin Buettner - - * ppc-tdep.h (struct gdbarch_tdep): Add new member ``lr_frame_offset''. - * rs6000-tdep.c (rs6000_frame_saved_pc): Use ``lr_frame_offset'' - from tdep struct instead of DEFAULT_LR_SAVE. - (rs6000_gdbarch_init): Initialize ``lr_frame_offset''. - * config/powerpc/tm-ppc-eabi.h (DEFAULT_LR_SAVE): Delete. - * config/rs6000/tm-rs6000.h (DEFAULT_LR_SAVE): Delete. - -2002-04-12 Michael Snyder - - * Remote.c: Spelling fix. - * gcore.c (default_derive_heap_segment): Use bfd_section_name. - If no symbol found for "sbrk", try "_sbrk". - (make_output_phdrs): Use bfd_section_name. - (gcore_copy_callback): Use bfd_section_name. - * eval.c: Indentation fix-ups. - * d10v-tdep.c (d10v_make_iaddr): Make it idempotent, - in case it gets applied to an address that is already - in the instruction space. - * cli/cli-decode.c (help_list): Allow long lines to wrap. - * symfile.c: Fix indentation, long lines. - * source.c: White space fix-up. - -2002-04-12 Andrew Cagney - - * defs.h (read_relative_register_raw_bytes): Delete declaration. - * frame.c (frame_register_read): New function. Return non-zero on - success. - (read_relative_register_raw_bytes_for_frame): Delete. - (read_relative_register_raw_bytes): Delete. - * frame.h (frame_register_read): Declare. - * d30v-tdep.c: Update Copyright. Use frame_register_read. - * sh-tdep.c: Ditto. - * infcmd.c (do_registers_info): Ditto. - * hppa-tdep.c: Ditto. - * rs6000-tdep.c: Ditto. - * h8500-tdep.c: Ditto. - * mips-tdep.c: Ditto. - * h8300-tdep.c: Ditto. - * z8k-tdep.c: Ditto. - -2002-04-12 Kevin Buettner - - From Jimi X : - * rs6000-tdep.c (rs6000_gdbarch_init): Use rs6000_* methods for - 64-bit SysV ABI. - -2002-04-12 Kevin Buettner - - From Jimi X : - * rs6000-tdep.c (rs6000_gdbarch_init): Compute ``wordsize'' from - bfd info. - -2002-04-12 Kevin Buettner - - From Jimi X : - * rs6000-tdep.c (powerpc64, 630, rs64ii, rs64iii): Define - register sets for these processor variants. - -2002-04-11 Daniel Jacobowitz - - * regformats/reg-ppc.dat: Support FPSCR. - -2002-04-11 Kevin Buettner - - * ppc-tdep.h (struct gdbarch_tdep): Add new field ``ppc_fpscr_regnum''. - * ppc-bdm.c (bdm_ppc_fetch_registers, bdm_ppc_store_registers): - Add fpscr as an invalid/unfetchable register. - * ppc-linux-nat.c (ppc_register_u_addr, store_register) - (fetch_ppc_registers, store_ppc_registers, supply_fpregset) - (fill_fpregset): Add support for register fpscr. - (fetch_ppc_registers, store_ppc_registers, supply_gregset) - (fill_gregset): Account for the fact that register ``mq'' might - not exist. - * rs6000-tdep.c (PPC_UISA_SPRS): Use (unused) slot 70 for fpscr. - (registers_power): Add fpscr to register set at slot 71. - (rs6000_gdbarch_init): Account for the fact that ``mq'' doesn't - exist on most PPC architectures. Initialize ppc_fpscr_regnum. - -2002-04-11 Michael Snyder - - * configure.in: Autoconfiscate _SYSCALL32 define for solaris. - * configure: Regenerate. - * config.in: Regenerate. - * acconfig.h: Add define for _SYSCALL32. - * core-sol2.c: Remove #define _SYSCALL32. - * solib-legacy.c: Remove #define _SYSCALL32. - -2002-04-10 Andrew Cagney - - * stack.c (select_frame): Cleanup internal error message, do not - use %p. - -2002-04-10 Andrew Cagney - - * stack.c (select_frame): Check that selected_frame and the - specified level are as expected. - * blockframe.c (get_prev_frame): Set the `level' from next_frame. - Update copyright. - * frame.h (struct frame_info): Add field `level'. Update - copyright. - Work-in-progress PR gdb/464. - -2002-04-10 Andrew Cagney - - * maint.c (maint_print_section_info): Rename print_section_info. - (print_bfd_section_info, print_objfile_section_info): Update. - * inferior.h (struct gdbarch): Add opaque declaration. - * gdbarch.sh: Add include of "inferior.h" to gdbarch.sh. - * gdbarch.h: Regenerate. - -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-04 Jim Ingham - - * valarith.c (find_size_for_pointer_math): New function, either returns - the size for a pointer's target, returns 1 for void *, or errors for - incomplete types. - (value_add, value_sub): use find_size_for_pointer_math. - -2002-04-09 Daniel Jacobowitz - - * linux-low.c (linux_look_up_symbols): New hook. - (linux_target_ops): Add linux_look_up_symbols. - * remote-utils.c (decode_address): New function. - (look_up_one_symbol): New function. - * server.c (handle_query): Call target look_up_symbols hook. - * server.h (look_up_one_symbol): Add prototype. - * target.h (struct target_ops): Add look_up_symbols hook. - -2002-04-09 Andrew Cagney - - * frame.c (read_relative_register_raw_bytes_for_frame): Do not - override FP_REGNUM with frame->fp. Update copyright. - * parse.c (num_std_regs, std_regs): Delete. - (target_map_name_to_register): Do not search std_regs. Update - function description. - * parser-defs.h (num_std_regs, std_regs, struct std_regs): Delete - declarations. Update copyright. - Fix PR gdb/251. - -2002-04-09 Daniel Jacobowitz - - * symtab.h (ALL_BLOCK_SYMBOLS): Don't dereference the pointer - after the last symbol in a block. - -2002-04-09 Pierre Muller - - * p-exp.y (yylex): Handle also the fact that is_a_field_of_this - is non zero as a found symbol. - -2002-04-08 Andrew Cagney - - * findvar.c: Include "builtin-regs.h". - (value_of_register): Call value_of_builtin_reg when applicable. - * parse.c: Include "builtin-regs.h" and "gdb_assert.h". - (target_map_name_to_register): Call - builtin_reg_map_name_to_regnum. - * Makefile.in (SFILES): Add builtin-regs.c and std-regs.c. - (COMMON_OBS): Add builtin-regs.o and std-regs.o. - (builtin_regs_h): Define. - (builtin-regs.o): New target. - (findvar.o): Add $(builtin_regs_h). - * builtin-regs.c, builtin-regs.h: New files. - * std-regs.c: New file. - Partial fix for PR gdb/251. - -2002-04-08 Kevin Buettner - - * rs6000-tdep.c (rs6000_gdbarch_init): Don't set tm_print_insn; - it's no longer required. - -2002-04-08 Andrew Cagney - - * Makefile.in (gdbtk-wrapper.o): Add missing dependencies. - -2002-04-08 Kevin Buettner - - From Jimi X : - * rs6000-tdep.c (rs6000_software_single_step): Use - rs6000_breakpoint_from_pc() to fetch breakpoint instruction - and size. Use target_insert_breakpoint() and - target_remove_breakpoint() to insert and remove breakpoints - instead of explicit memory reads and writes. - -2002-04-08 Kevin Buettner - - * config/powerpc/tm-ppc-eabi.h (ELF_OBJECT_FORMAT): Delete. - * rs6000-tdep.c (rs6000_push_arguments): Eliminate - ELF_OBJECT_FORMAT ifdef. - -2002-04-08 Kevin Buettner - - From Jimi X : - * rs6000-tdep.c (rs6000_gdbarch_init): Use set_gdbarch_print_insn(). - -2002-04-08 Kevin Buettner - - From Jimi X : - * rs6000-tdep.c (rs6000_fix_call_dummy): Delete unused macro - definitions for TOC_ADDR_OFFSET and TARGET_ADDR_OFFSET. - -2002-04-07 Mark Kettenis - - * fbsd-proc.c (child_pid_to_exec_file, fbsd_find_memory_regions): - s/asprintf/xasprintf/. - (fbsd_make_corefile_notes): s/strdup/xstrdup/. - -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 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-07 Elena Zannoni - - * sh-tdep.c (sh_fp_frame_init_saved_regs, - sh_nofp_frame_init_saved_regs): Use alloca() for 'where' - information. - -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-06 Andrew Cagney - - * gdbarch.sh (FP_REGNUM, PC_REGNUM, SP_REGNUM): Allow default of - -1. Update comment. - * gdbarch.h, gdbarch.c: Re-generate. - -2002-04-07 Andreas Schwab - - * m68klinux-nat.c (fill_fpregset): Properly pass address of - buffer to regcache_collect. - -2002-04-06 Andrew Cagney - - * gdbarch.sh (PS_REGNUM): Add. Document. Default to -1. - * gdbarch.c, gdbarch.h: Re-generate. - -2002-04-06 Andrew Cagney - - * symtab.c (lookup_symtab): Remove ``const'' from ``rp'' - declaration. Fix -Werror. - -2002-04-05 Daniel Jacobowitz - - * gdbarch.sh (initialize_non_multiarch): Call init_gdbarch_swap. - * gdbarch.c: Regenerate. - -2002-04-05 Michael Snyder - - * breakpoint.c (clear_command): Rewrite middle section to - combine two loops with identical control conditions. - Add a cleanup to eliminate a memory leak. - * cli/cli-dump.c (restore_section_callback): Use paddr_nz. - -2002-04-05 H.J. Lu (hjl@gnu.org) - - * solib-svr4.c (bkpt_names): Add "__start". - -2002-04-04 Andrew Cagney - - * sparc-tdep.c (sparc_push_dummy_frame): Use GDB_TARGET_IS_SPARC64 - as test for 64 bit target. - -2002-04-05 Andrew Cagney - - * h8500-tdep.c (h8500_write_fp): Delete function. - * dwarf2cfi.c (cfi_write_fp): Document as not used. - * mips-tdep.c (mips_gdbarch_init): Do not set write_fp. - * ia64-tdep.c (ia64_gdbarch_init): Do not set write_fp. - * m68hc11-tdep.c (m68hc11_gdbarch_init): Do not set write_fp. - * rs6000-tdep.c (rs6000_gdbarch_init): Do not set write_fp. - * s390-tdep.c (s390_gdbarch_init): Do not set write_fp. - (s390_write_fp): - * sh-tdep.c (sh_gdbarch_init): Do not set write_fp. - * x86-64-tdep.c (i386_gdbarch_init): Do not set write_fp. - * d10v-tdep.c (d10v_gdbarch_init): Do not set write_fp. - (d10v_write_fp): Delete function. - * inferior.h (write_fp, generic_target_write_fp): Delete - declarations. - * regcache.c (generic_target_write_fp): Delete function. - (write_fp): Delete function. - * gdbarch.sh (TARGET_WRITE_FP): Delete. - * gdbarch.h, gdbarch.c: Regenerate. - * config/v850/tm-v850.h (TARGET_WRITE_FP): Delete macro. - * config/sparc/tm-sp64.h (TARGET_WRITE_FP): Delete macro. - (sparc64_write_fp): Delete declaration. - * config/h8500/tm-h8500.h (TARGET_WRITE_FP): Delete macro. - (h8500_write_fp): Delete declaration. - -2002-04-04 Andrew Cagney - - * sparc-tdep.c (sparc64_write_fp): Delete. - (sparc_push_dummy_frame): Replace write_fp call with code to store - the FP directly. - (sparc_gdbarch_init): Do not initialize write_fp. - -2002-04-05 Kevin Buettner - - * rs6000-tdep.c (skip_prologue): Eliminate unused/unreachable - clause. - -2002-03-29 Jim Blandy - - * stack.c (get_selected_block): Add new argument `addr_in_block', - used to return the exact code address we used to select the block, - not just the block. - * blockframe.c (get_frame_block, get_current_block): Same. - * frame.h (get_frame_block, get_current_block, - get_selected_block): Update declarations. - * linespec.c, stack.c, blockframe.c, breakpoint.c, findvar.c, - linespec.c, varobj.c, printcmd.c, symtab.c: Callers changed. - -2002-04-05 Michael Snyder - - * breakpoint.c (insert_breakpoints): Change 'hw' to 'hardware in - warning message. - -2002-04-05 J. Brobecker - - * utils.c (xfullpath): New function. - * defs.h (xfullpath): Add declaration. - * source.c (openp): Use xfullpath in place of gdb_realpath to - avoid resolving the basename part of filenames when the - associated file is a symbolic link. This fixes a potential - inconsistency between the filenames known to GDB and the - filenames it prints in the annotations. - * symtab.c (lookup_symtab): Use the new xfullpath function, in order - to be able to match a filename with either the real filename, or - the name of any symbolic link to this file. - (lookup_partial_symtab): Ditto. - -2002-04-04 Michael Snyder - - * breakpoint.c: Add support for hardware breakpoints in overlays. - (overlay_events_enabled): New state variable. - (insert_breakpoints): Use overlay_events_enabled to decide - whether to attempt to set a breakpoint at the overlay load addr. - Handle bp_hardware_breakpoint as well as bp_breakpoint. - (remove_breakpoint): Use overlay_events_enabled to decide - whether breakpoints need to be removed from overlay load addr. - Handle bp_hardware_breakpoint as well as bp_breakpoint. - (bpstat_stop_status): Handle bp_hardware_breakpoint in overlays. - (create_overlay_event_breakpoint, enable_overlay_breakpoints, - disable_overlay_breakpoints): Update overlay_events_enabled. - -2002-04-04 Daniel Jacobowitz - - * dwarf2read.c (struct function_range): New. - (cu_first_fn, cu_last_fn, cu_cached_fn): New. - (check_cu_functions): New. - (read_file_scope): Initialize global function lists. - Call dwarf_decode_line after processing children. - (read_func_scope): Add to global function list. - (dwarf_decode_lines): Call check_cu_functions everywhere - record_line is called. Call record_line with a linenumber - of 0 to mark sequence ends. - -2002-04-04 Michal Ludvig - - * x86-64-linux-nat.c (child_xfer_memory): x86-64 ptrace() ABI - change sync with glibc. - -2002-04-03 Jim Blandy - - * configure.in: Call AC_C_INLINE. - * configure: Regenerated. - -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-31 Mark Kettenis - - * NEWS: Mention gcore support on FreeBSD/i386. - - * fbsd-proc.c: New file. - * config/i386/nm-fbsd.h (CHILD_PID_TO_EXEC_FILE): Define. - * config/i386/fbsd.mh (NATDEPFILES): Add gcore.o and fbsd-proc.o. - - * lin-lwp.c (child_wait): Check SAVE_ERRNO instead of ERRNO in - while statement. - -2002-03-29 Jim Blandy - - * cli/cli-dump.c (_initialize_cli_dump): Older GCC's tolerate - unescaped newlines in string literals, but newer ones don't. So - escape them. - -2002-03-26 Michael Snyder - Andrew Cagney - - * cli/cli-dump.c: New file. Dump memory to file, - restore file to memory. - * cli/cli-dump.h: New file. - * Makefile.in: Add rules, dependencies for cli-dump.o. - * NEWS: Mention new commands. - -2002-03-28 Michael Snyder - - * symfile.c (symbol_file_add): Move test for null symbols to later. - -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. - -2002-03-27 Michael Snyder - - * breakpoint.c (_initialize_breakpoint): Clean up help string. - * infcmd.c (_initialize_infcmd): Ditto. - * language.c (_initialize_language): Ditto. - * symfile.c (_initialize_symfile): Ditto. - * top.c (_init_main): Ditto. - * cli/cli-cmds.c (init_cli_cmds): Ditto. - -2002-03-27 Elena Zannoni - - * rs6000-tdep.c (struct rs6000_framedata): Add fields for AltiVec - vector registers handling. - (skip_prologue): Handle new AltiVec instructions. Fill in new - fields of frame data. - (frame_get_saved_regs): Fill in information for AltiVec registers. - -2002-03-27 Jim Blandy - - * symtab.h (SYMBOL_INIT_MANGLED_NAME): Turn this macro's body into - a function; leave this macro here to invoke that function. - (symbol_init_mangled_name): Declaration for that function. - * symtab.c (symbol_init_mangled_name): New function. - -2002-03-27 Andrew Cagney - - * valarith.c: Replace strerror with safe_strerror. - * tracepoint.c: Ditto. - * lin-lwp.c: Ditto. - * go32-nat.c: Ditto. - * inflow.c: Ditto. - * gnu-nat.c: Ditto. - -2002-03-27 Andreas Schwab - - * event-top.c (command_line_handler): Remove useless if. - -2002-03-27 Andreas Jaeger - - * dwarf2cfi.c: Give credit to Daniel Berlin, reformat copyright - comment. - -2002-03-27 Michal Ludvig - - * 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. - -2002-03-27 Daniel Jacobowitz - - * 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}. - -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-27 Daniel Jacobowitz - - * signals.c: Moved to... - * signals/signals.c: Here. - * Makefile (signals.o): Update. - -2002-03-26 Jeff Law (law@redhat.com) - - * somread.c (som_symtab_read): Remove some commented out code and - updated related comments. Do not set the minimal symbol table to - mst_solib_trampoline for ST_ENTRY symbols with SS_LOCAL scope - in a dynamic executable. - * hppa-tdep.c (find_proc_framesize): Sanely handle the case - where we are unable to find the minimal symbol for the given - PC value. - -2002-03-25 Jeff Law (law@redhat.com) - - * linux-proc.c (read_mapping): Scan up to end of line for filename. - -2002-03-25 Michal Ludvig - - * x86-64-tdep.c (x86_64_skip_prologue): Rewritten from scratch. - -2002-03-23 Andrew Cagney - - * command.h: Update copyright. - (struct cmd_list_element): Replace definition with opaque - declaration. - (enum cmd_types): Document that it will eventually be moved to - cli/cli-decode.h - (CMD_DEPRECATED, DEPRECATED_WARN_USER): Delete macros. - (MALLOCED_REPLACEMENT): Delete macro. - * Makefile.in (cli_decode_h): Add $(command_h). - (top.o, completer.o, maint.o): Add dependency on $(cli_decode_h). - * top.c: Include "cli/cli-decode.h". - * completer.c: Include "cli/cli-decode.h". - * maint.c: Include "cli/cli-decode.h". - * cli/cli-decode.h: Include "command.h". - (enum command_class): Delete. - (enum cmd_types): Comment out. - (enum cmd_auto_boolean): Delete. - (enum var_types): Delete. - -2002-03-23 Andrew Cagney - - * cli/cli-decode.c: Include "gdb_assert.h". - (add_set_or_show_cmd): New static function. - (add_set_cmd): Rewrite. Use add_set_or_show_cmd. - (add_show_from_set): Rewrite. Use add_set_or_show_cmd. Don't copy - all fields, such as func, from the set command. - -2002-03-23 Andrew Cagney - - * MAINTAINERS (sh-elf): Change warning flag to -w. - -2002-03-23 Andrew Cagney - - * defs.h (error): Add printf format attribute. - * thread-db.c (thread_from_lwp): Fix error format string. - * stack.c (parse_frame_specification): Ditto. - * cli/cli-decode.c (undef_cmd_error): Ditto. - * scm-lang.c (scm_lookup_name): Ditto. - * tracepoint.c (trace_error): Ditto. - * remote-utils.c (usage): Ditto. - * remote.c (compare_sections_command): Ditto. - Fix PR gdb/328. - -2002-03-22 Andrew Cagney - - * gdbtypes.c (append_composite_type_field): New function. - (init_composite_type): New function. - * gdbtypes.h (append_composite_type_field): Declare. - (init_composite_type): Ditto. - -2002-03-22 Elena Zannoni - - * ppc-linux-tdep.c (ppc_sysv_abi_use_struct_convention): New - function. - * ppc-tdep.h (ppc_sysv_abi_use_struct_convention): Export. - * rs6000-tdep.c (rs6000_gdbarch_init): Use different - structure returning convention for SYSV ABI case, but not - for GNU/Linux, FreeBSD, or NetBSD. - -2002-03-22 Daniel Jacobowitz - - * symtab.h (lookup_block_symbol): Add mangled_name argument - to prototype. - - * symmisc.c (maintenance_check_symtabs): Call lookup_block_symbol - with new mangled_name argument. - * linespec.c (decode_line_1): Likewise. - * valops (value_of_this): Likewise. - * symtab.c (lookup_transparent_type): Likewise. - (lookup_symbol_aux): Likewise. Accept new mangled_name argument. - (lookup_symbol): If we are given a mangled name, pass it down - to lookup_symbol_aux. - (lookup_block_symbol): If we are given a mangled name to check - against, only return symbols which match it. - -2002-03-22 Christopher Faylor - - * 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-03-21 Elena Zannoni - - * rs6000-tdep.c (rs6000_gdbarch_init): Use correct max size value - for gdbarch_max_register_raw_size and max_register_virtual_size. - Adjust copyright year. - -2002-03-21 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-03-21 Tom Rix - - * rs6000-nat.c (rs6000_ptrace32): Renamed from ptrace32. - (rs6000_ptrace64): Renamed from ptrace64. - -2002-03-20 Martin M. Hunt - - * 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. - -2002-03-20 Martin M. Hunt - - * regcache.c (_initialize_regcache): No need to call - build_regcache() at this time; it gets called whenever - the gdbarch changes. - -2002-03-20 David O'Brien - - * sparc-nat.c: Include sys/param.h where possible. - -2002-03-20 Daniel Jacobowitz - - Fix PR gdb/422. - * c-lang.c (c_create_fundamental_type): Handle FT_COMPLEX, - FT_DBL_PREC_COMPLEX, and FT_EXT_PREC_COMPLEX. - * dwarf2read.c (read_base_type): Set TYPE_TARGET_TYPE for - complex types. - * stabsread.c (rs6000_builtin_type): Likewise. - (read_sun_floating_type): Likewise. - -2002-03-19 Peter Schauer - - * stabsread.c (read_member_functions): Remove skip code for duplicate - constructor/destructor methods. Use standard parsing for these - methods and just do not chain them to the list of methods after - parsing. - -2002-03-19 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-18 Andrew Cagney - - * defs.h (XMALLOC): Define. - * gdb-events.sh (XMALLOC): Delete macro. - * gdb-events.c, gdb-events.h: Regenerate. - * gdbarch.sh (XMALLOC): Delete macro. - * gdbarch.c: Regenerate. - * serial.c (XMALLOC): Delete macro. - * ui-file.c (XMALLOC): Ditto. - * ser-unix.h (XMALLOC): Ditto. - * sh-tdep.c (XMALLOC): Ditto. - * ui-out.c (XMALLOC): Ditto. - * utils.c (XMALLOC): Ditto. - * i386-tdep.c (XMALLOC): Ditto. - * gdb-events.c (XMALLOC): Ditto. - * d10v-tdep.c (XMALLOC): Ditto. - * cli-out.c (XMALLOC): Ditto. - - * cli-out.c, d10v-tdep.c, gdb-events.c: Update copyright. - * gdb-events.sh, i386-tdep.c, ser-unix.h, serial.c: Ditto. - * ui-file.c, ui-out.c: Ditto. - -2002-03-18 Andrew Cagney - - * command.h (struct cmd_list_element): Add field context. - (set_cmd_context, get_cmd_context): Declare. - * cli/cli-decode.h: Ditto. - * cli/cli-decode.c (get_cmd_context): New function. - (set_cmd_context): New function. - (add_cmd): Initialize context. - Part of fixing PR gdb/145 and PR gdb/146. - -2002-03-17 Andrew Cagney - - * cli/cli-decode.c (cmd_type): New function. - * command.h (cmd_type): Declare. - * infrun.c (set_schedlock_func): Call function cmd_type. - * kod.c (kod_set_os): Call cmd_type. - * cris-tdep.c (cris_version_update): Use function cmd_type. - (cris_mode_update, cris_abi_update): Ditto. - - * command.h: (execute_cmd_post_hook): Declare. - (execute_cmd_pre_hook): Declare. - * cli/cli-script.c (clear_hook_in_cleanup): New function. - (execute_cmd_post_hook, execute_cmd_pre_hook): New - functions. Execute pre/post hook while ensuring that afterwords - hook_in is cleared. - * top.c (execute_command): Use execute_cmd_post_hook, and - execute_cmd_pre_hook to execute pre/post commands. - * infrun.c (normal_stop): Pass stop_command and not pre_hook to - hook_stop_stub. - (hook_stop_stub): Call execute_cmd_pre_hook. - -2002-03-17 Andrew Cagney - - * kod.c (kod_set_os): Revert previous change. Is called by ``info - set'' and this leads to a core dump. Move xstrdup of - operating_system to after check that it is not NULL. - -2002-03-17 Andrew Cagney - - * kod.c (kod_set_os): Remove unnecessary check that - ``command->type'' is set_cmd. - - * valprint.c (set_input_radix): Use input_radix. - (set_output_radix): Use output_radix. - (set_input_radix_1, set_output_radix_1): Add FIXME - bad radix - isn't reverted. - -2002-03-16 Andrew Cagney - - * value.h (struct value): Delete field ``substring_addr''. Change - aligner fields to force_doublest_align, force_longest_align, - force_core_addr_align and force_pointer_aligh. - - * value.h (struct value): Fix typo in above change. - -2002-03-16 Peter Schauer - - * ia64-tdep.c (ia64_gdbarch_init): Call set_gdbarch_frame_args_skip, - to fix internal_error from ``maintenance print architecture''. - -2002-03-16 Peter Schauer - - * cp-valprint.c (cp_is_vtbl_ptr_type): Handle vtbl field type - for gcc versions after gcc-2.8.1. - -2002-03-16 Peter Schauer - - * eval.c (evaluate_subexp_standard): Fix setup of ``this'' pointer - for method resolution. Restore adjustment of ``this'' pointer after - calling value_struct_elt, which was accidentally removed during the - HP merge. - -2002-03-15 Andrew Cagney - - * eval.c (evaluate_subexp_standard): Pass ``selected_frame'' to - value_of_register. - * findvar.c (value_of_register): Add ``frame'' parameter. Pass to - get_saved_register. - * value.h (value_of_register): Update. - -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-14 Richard Henderson - - * dwarf2read.c (read_array_type): Accept DW_FORM_data8 as - a constant array bound. - - * MAINTAINERS: Add myself to write-after-approval. - -2002-03-14 Michael Snyder - - * symfile.c (syms_from_objfile): Return immediately if no syms. - (symbol_file_add): Return immediately if no syms. - (find_sym_fns): Return immediately if no syms. - -2002-03-13 Michal Ludvig - - * gdbserver/remote-util.c (remote_open): Print remote-side's - IP address when remote debugging over the network. - -2002-03-12 David O'Brien - - * config/sparc/fbsd.mh: Fix copyright. - * config/sparc/fbsd.mt: Likewise. - -2002-03-11 Richard Earnshaw - - * MAINTAINERS: Fix typo in name of gdb warnings option. - (x86-64): Fix formating so that this can be parsed by awk. - -2002-03-10 Daniel Jacobowitz - - * Makefile.in (defs_h): Add $(INCLUDE_DIR)/gdb/signals.h. - * defs.h: Include "gdb/signals.h". - (enum target_signal): Move to $(INCLUDE_DIR)/gdb/signals.h. - -2002-03-10 Michal Ludvig - - * x86-64-tdep.h (sys/reg.h, x86_64_regmap): Moved to x86-64-linux-nat.c - * x86-64-linux-nat.c (sys/reg.h, x86_64_regmap): Moved here - from x86-64-tdep.h - -2002-03-10 Daniel Jacobowitz - Don Howard - - * mips-tdep.c (ST0_FR): Define. - (mips2_fp_compat): New function, temporarily disabled. - (mips_read_fp_register_single): New function. - (mips_read_fp_register_double): New function. - (mips_print_register): Use them. - (do_fp_register_row): Likewise. - -2002-03-09 Andrew Cagney - - * MAINTAINERS: Add Jim Ingham and Klee Dienes to ``write after - approval''. - -2002-03-08 Peter Schauer - - * stabsread.c (read_member_functions): Fix is_stub test for - static member functions, improve comment. - -2002-03-07 Richard Earnshaw - - * remote-rdi.c (myprint): Replace 'PTR' with 'void *'. - (mywrite, mywritec, mypause, myreadc, mygets): Likewise. - (_initialize_remote_rdi): Use add_set_boolean_cmd to register - commands that set boolean values. - (arm_rdi_remove_breakpoint): Rewrite to avoid uninitialized warning. - (arm_rdi_resume): Always initialize PC. - (arm_rdi_open): Don't use rslt as a boolean. - (arm_rdi_create_inferior, arm_rdi_close, arm_rdi_resume) - (arm_rdi_fetch_registers, arm_rdi_store_registers) - (arm_rdi_xfer_memory, arm_rdi_files_info, arm_rdi_kill) - (arm_rdi_insert_breakpoint, arm_rdi_remove_breakpoint): Likewise. - -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-06 Andrew Cagney - - * cli/cli-decode.c (set_cmd_completer): New function. - * command.h (set_cmd_completer): Declare. - * cli/cli-decode.h (set_cmd_completer): Ditto. - - * breakpoint.c (_initialize_breakpoint): Use set_cmd_completer. - * cli/cli-cmds.c (init_cli_cmds): Ditto. - * win32-nat.c (_initialize_inftarg): Ditto. - * remote-rdi.c (_initialize_remote_rdi): Ditto. - * proc-api.c (_initialize_proc_api): Ditto. - * hppa-tdep.c (_initialize_hppa_tdep): Ditto. - * source.c (_initialize_source): Ditto. - * exec.c (_initialize_exec): Ditto. - * solib.c (_initialize_solib): Ditto. - * top.c (init_main): Ditto. - * tracepoint.c (_initialize_tracepoint): Ditto. - * symfile.c (_initialize_symfile): Ditto. - * printcmd.c (_initialize_printcmd): Ditto. - * infcmd.c (_initialize_infcmd): Ditto. - * corefile.c (_initialize_core): Ditto. - -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-04 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-03 Michal Ludvig - - * MAINTAINERS (x86-64): Add myself. - * x86-64-tdep.c (x86_64_push_arguments): Fixed typo naregs->nregs, - changed value_ptr -> struct value * - -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. - -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. - * utils.c: (gdb_realpath) If HAVE_CANONICALIZE_FILE_NAME is - defined use canonicalize_file_name. - -2002-02-23 Michael Chastain - - * MAINTAINERS: Remove Michael Chastain from "paper trail" list. - -2002-02-23 Andrew Cagney - - * 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. - -2002-02-23 Andrew Cagney - - 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". - -2002-02-23 Andrew Cagney - - * cli/cli-decode.c (cmd_cfunc_eq): New function. - * command.h (cmd_cfunc_eq): Declare. - * cli/cli-decode.h (cmd_cfunc_eq): Ditto. - - * 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. - -2002-02-23 Andrew Cagney - - 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. - -2002-02-23 Richard Earnshaw - - * 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. - -2002-02-23 Peter Schauer - - * maint.c (print_section_info): Do not prepend `0x' to filepos - output, it will be handled by local_hex_string_custom. - -2002-02-23 Richard Earnshaw - - * 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. - -2002-02-22 Jim Blandy - - 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. - -2002-02-22 Pierre Muller - - * win32-nat.c (child_create_inferior): Fix create flags setting bug. - -2002-02-21 Christopher Faylor - - * win32-nat.c (register_loaded_dll): Just use raw name when we can't - find the complete path to a loaded DLL. - -2002-02-21 Fred Fish - - * 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. - -2002-02-21 Elena Zannoni - - * 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. - -2002-02-21 Jiri Smid - - * config/i386/x86-64linux.mh (NATDEPFILES): Remove x86-64-nat.o. - -2002-02-21 Richard Earnshaw - - * 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. - -2002-02-21 Richard Earnshaw - - * 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. - -2002-02-21 Christopher Faylor - - * win32-nat.c (register_loaded_dll): Correctly check for invalid handle - value. - -2002-02-20 Christopher Faylor - - * win32-nat.c (register_loaded_dll): Handle case where FindFirstFile - fails. - -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 - - * stabsread.c (error_type_complaint): Improve error message. - -2002-02-19 Daniel Jacobowitz - - * 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. - -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. - -2002-02-13 Michael Snyder - - * config/i386/i386v42mp.mh: Add gcore.o to NATDEPFILES. - - * 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. - - * 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. - - * 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. - - * m3-nat.c, ocd.c, sparclet-rom.c: Update copyright. - -2002-02-09 Andrew Cagney - - * 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. - -2002-02-09 Jim Blandy - - * stabsread.c (read_type): Add code to parse Sun's syntax for - prototyped function types. - -2002-02-09 Andrew Cagney - - * Makefile.in (SUBDIR_CLI_INITS): Set to SUBDIR_CLI_SRCS. - (SUBDIR_MI_INITS): Set to SUBDIR_MI_SRCS. - -2002-02-09 Peter Schauer - - * 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. - -2002-02-09 Mark Kettenis - - * doublest.c (store_typed_floating): Don't try to return a value. - Fixes PR gdb/290. - -2002-02-08 Jim Blandy - - * c-typeprint.c (c_type_print_varspec_suffix): If a function type - is prototyped and has no arguments, print its argument list as - `(void)'. - -2002-02-08 Chris Demetriou - - * MAINTAINERS (write-after-approval): Add myself. - (paper-trail): I've escaped! - -2002-02-08 Christopher Faylor - - * win32-nat.c (cygwin_pid_to_str): Revert 2002-02-08 change xasprintf - changes. - (_initialize_check_for_gdb_ini): Ditto. - -2002-02-08 Martin M. Hunt - - * win32-nat.c (cygwin_pid_to_str): Fix typo. - xaprintf -> xasprintf. - -2002-02-08 Pierre Muller - - * win32-nat.c: Remove use of printf and sprintf functions. - -2002-02-08 Richard Earnshaw - - * 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. - -2002-02-08 Andrew Cagney - Corinna Vinschen - - * gdbtypes.c (build_gdbtypes): Disable setting a specific float format - on builtin float types. - -2002-02-08 Daniel Jacobowitz - - * 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. - -2002-02-07 Elena Zannoni - - * 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. - -2002-02-07 Andrew Cagney - - * MAINTAINERS: Andreas Schwab is GNU/Linux m68k maintainer. - Add Richard Earnshaw to Arm maintainers. - -2002-02-07 Andrew Cagney - - * defs.h (warning_begin): Delete declaration. - - * config/powerpc/tm-ppcle-eabi.h (TARGET_BYTE_ORDER_DEFAULT): - Delete macro. - -2002-02-07 Michael Snyder - - * solib-legacy.c (legacy_svr4_fetch_link_map_offsets): - Logic bug, remove misplaced else. - -2002-02-07 Klee Dienes - - * 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". - -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 - - * win32-nat.c (_initialize_check_for_gdb_ini): - Add typecast to sprintf argument to suppress a warning. - -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. - -2002-02-05 Daniel Jacobowitz - - * c-valprint.c (c_val_print): Handle TYPE_CODE_COMPLEX. - -2002-02-05 Daniel Jacobowitz - - * gdbserver/linux-low.c: Remove unused include files. - -2002-02-05 Daniel Jacobowitz - - * gdbserver/linux-low.c: Define PTRACE_ARG3_TYPE. - (read_inferior_memory): Use it. - (write_inferior_memory): Likewise. - -2002-02-05 Daniel Jacobowitz - - * gdbserver/linux-low.c (create_inferior): Call strerror instead of - grubbing through sys_errlist. - -2002-02-05 Daniel Jacobowitz - - * gdbserver/linux-low.c: New file, copied exactly from low-linux.c. - -2002-02-04 Pierre Muller - * win32-nat.c (handle_exception): Handle Ctrl-Break exception. - -2002-02-04 Andrew Cagney - - * cli/cli-decode.c (do_cfunc, set_cmd_cfunc): New functions. - (do_sfunc, set_cmd_sfunc): New functions. - - * 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. - - * 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. - - * cli/cli-setshow.c (do_setshow_command): Call func instead of - function.sfunc. - - * infcmd.c (notice_args_read): Fix function signature. - - * 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. - - * 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. - -2002-02-04 Michael Snyder - - * memattr.c (_initialize_mem): Elaborate the help for 'mem' command. - -2002-02-04 Daniel Jacobowitz - - * gdbserver/Makefile.in: Add regformats directory to INCLUDE_CFLAGS. - Add rules for building the register data files. - -2002-02-04 Daniel Jacobowitz - - * regformats/regdat.sh: Add braces to the definition of - expedite_regs_${arch}. - -2002-02-04 Daniel Jacobowitz - - * regformats/regdef.h (struct reg): Add comment describing the - requirements for offset and size fields. - -2002-02-04 Andreas Schwab - - * config/ia64/linux.mh: Don't set NAT_CLIBS and REGEX. - * config/ia64/linux.mt: Don't set GDBSERVER_LIBS. - -2002-02-04 Richard Earnshaw - - * 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. - - * arm-tdep.c (arm_smash_text_address): New function. - * config/arm/tm-arm.h (SMASH_TEXT_ADDRESS): Define in terms of above. - -2002-02-04 Pierre Muller - - 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. - -2002-02-03 Andrew Cagney - - * valprint.c (print_floating): Allow non TYPE_CODE_FLT types. - Restore behavour broken by 2002-01-20 Andrew Cagney - IEEE_FLOAT removal. - -2002-02-03 Daniel Jacobowitz - - * 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. - -2002-02-03 Daniel Jacobowitz - - * gdbtypes.c (init_simd_type): Use TYPE_TAG_NAME instead of - accessing tag_name directly. - -2002-02-03 Daniel Jacobowitz - - * ax-gdb.c (find_field): Use TYPE_TAG_NAME instead - of accessing tag_name directly. - -2002-02-03 Daniel Jacobowitz - - PR gdb/280 - * gdbtypes.c (replace_type): New function. - * gdbtypes.h (replace_type): Add prototype. - * stabsread.c (read_type): Use replace_type. - -2002-02-03 Richard Earnshaw - - * Makefile.in (memattr.o): Add missing dependencies rule. - -2002-02-03 Peter Schauer - - * 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. - -2002-02-01 Andrew Cagney - - * 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. - -2002-02-01 Andrew Cagney - - * utils.c (error_begin): Make static. - * defs.h (error_begin): Delete declaration. - - * 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. - -2002-02-01 Andrew Cagney - - * 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. - -2002-02-01 Michael Snyder - - * breakpoint.c (breakpoint_re_set): Delete ancient #if 0 code. - (set_ignore_count): Move misplaced comment back where it belongs. - -2002-02-01 Andrew Cagney - - * 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. - -2002-02-01 Daniel Jacobowitz - - * gnu-v3-abi.c (gnuv3_virtual_fn_field): Update comments. - Update ``this'' pointer when calling virtual functions. - -2002-02-01 Michael Snyder - - * breakpoint.c (create_temp_exception_breakpoint): Delete. - * hppa-tdep.c: Deprecate xbreak, txbreak and bx commands. - -2002-02-01 Daniel Jacobowitz - - * 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. - -2002-02-01 Richard Earnshaw - - * 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. - -2002-01-31 Michael Snyder - - * 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. - - * printcmd.c (disassemble_command): Remove an ancient - artifact of an old merge. - - * 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. - - * 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 (target_xfer_memory): Add spaces, coding standard. - (do_xfer_memory): Add missing line to trust-readonly - code: check bfd SEC_READONLY flag for section. - -2002-01-31 Andrew Cagney - - * PROBLEMS: Fix typo, 5.1->5.1.1. - -2002-01-30 Daniel Jacobowitz - - * 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 - - * parse.c (target_map_name_to_register): Delete code wrapped in - #ifdef REGISTER_NAME_ALIAS_HOOK. - -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. - -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. - -2002-01-03 Michael Snyder - - 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. - - * procfs.c (proc_set_watchpoint): Add cast to suppress warning. - -2002-01-01 Mark Kettenis - - * 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. - - * maint.c (_initialize_maint_cmds): Add missing \ in - string-literal. - -For older changes see ChangeLog-2001 - -Local Variables: -mode: change-log -left-margin: 8 -fill-column: 74 -version-control: never -End: diff --git a/gdb/ChangeLog-1990 b/gdb/ChangeLog-1990 deleted file mode 100644 index 25cf860c0c0..00000000000 --- a/gdb/ChangeLog-1990 +++ /dev/null @@ -1,3155 +0,0 @@ -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/gdb/ChangeLog-1991 b/gdb/ChangeLog-1991 deleted file mode 100644 index 199b73f84b7..00000000000 --- a/gdb/ChangeLog-1991 +++ /dev/null @@ -1,5175 +0,0 @@ -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/gdb/ChangeLog-1992 b/gdb/ChangeLog-1992 deleted file mode 100644 index 8e89824af47..00000000000 --- a/gdb/ChangeLog-1992 +++ /dev/null @@ -1,6285 +0,0 @@ -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/gdb/ChangeLog-1993 b/gdb/ChangeLog-1993 deleted file mode 100644 index 4aba2d330f4..00000000000 --- a/gdb/ChangeLog-1993 +++ /dev/null @@ -1,7597 +0,0 @@ -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/gdb/ChangeLog-1994 b/gdb/ChangeLog-1994 deleted file mode 100644 index 68dbcb6fc36..00000000000 --- a/gdb/ChangeLog-1994 +++ /dev/null @@ -1,5705 +0,0 @@ -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/gdb/ChangeLog-1995 b/gdb/ChangeLog-1995 deleted file mode 100644 index 9d4149ebf6c..00000000000 --- a/gdb/ChangeLog-1995 +++ /dev/null @@ -1,4915 +0,0 @@ -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/gdb/ChangeLog-1996 b/gdb/ChangeLog-1996 deleted file mode 100644 index 442386fa764..00000000000 --- a/gdb/ChangeLog-1996 +++ /dev/null @@ -1,5116 +0,0 @@ -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/gdb/ChangeLog-1997 b/gdb/ChangeLog-1997 deleted file mode 100644 index 4f66a90cf42..00000000000 --- a/gdb/ChangeLog-1997 +++ /dev/null @@ -1,2909 +0,0 @@ -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/gdb/ChangeLog-1998 b/gdb/ChangeLog-1998 deleted file mode 100644 index a9038f81389..00000000000 --- a/gdb/ChangeLog-1998 +++ /dev/null @@ -1,7220 +0,0 @@ -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/gdb/ChangeLog-1999 b/gdb/ChangeLog-1999 deleted file mode 100644 index 8ed06120d2e..00000000000 --- a/gdb/ChangeLog-1999 +++ /dev/null @@ -1,9296 +0,0 @@ -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/gdb/ChangeLog-2000 b/gdb/ChangeLog-2000 deleted file mode 100644 index 25ced55f09c..00000000000 --- a/gdb/ChangeLog-2000 +++ /dev/null @@ -1,8204 +0,0 @@ -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/gdb/ChangeLog-2001 b/gdb/ChangeLog-2001 deleted file mode 100644 index ccd64de50a3..00000000000 --- a/gdb/ChangeLog-2001 +++ /dev/null @@ -1,9895 +0,0 @@ -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/gdb/ChangeLog-3.x b/gdb/ChangeLog-3.x deleted file mode 100644 index 672aa3daa1c..00000000000 --- a/gdb/ChangeLog-3.x +++ /dev/null @@ -1,4838 +0,0 @@ -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/gdb/MAINTAINERS b/gdb/MAINTAINERS deleted file mode 100644 index 212007e5b70..00000000000 --- a/gdb/MAINTAINERS +++ /dev/null @@ -1,457 +0,0 @@ - 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 Instruction Set Architectures: - -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 Deleted. - - alpha --target=alpha-elf -Werror - Maintenance only - - arc (--target=arc-elf OBSOLETE) - - arm --target=arm-elf , - 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 ,-Werror - Orjan Friberg orjanf@axis.com - - d10v --target=d10v-elf ,-Werror - Maintenance only - - d30v (--target=d30v-elf OBSOLETE) - - fr30 (--target=fr30-elf OBSOLETE) - - 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 ,-Werror - Mark Kettenis kettenis@gnu.org - - i960 (--target=i960-coff OBSOLETE) - - ia64 --target=ia64-linux-gnu ,-Werror - (--target=ia64-elf broken) - Kevin Buettner kevinb@redhat.com - - m32r (--target=m32r-elf broken) - Michael Snyder msnyder@redhat.com - OBSOLETE candidate, not multi-arch - - m68hc11 --target=m68hc11-elf ,-Werror , - Stephane Carrez stcarrez@nerim.fr - - m68k --target=m68k-elf ,-Werror - Maintenance only - - m88k (--target=m88k OBSOLETE) - - mcore --target=mcore-elf ,-Werror - Maintenance only - - mips --target=mips-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 - - pa (--target=hppa-elf broken) - Maintenance only - OBSOLETE candidate, not multi-arch - - powerpc --target=powerpc-eabi ,-Werror - Kevin Buettner kevinb@redhat.com - - s390 --target=s390-linux-gnu ,-Werror - (contact DJ Barrow djbarrow@de.ibm.com) - - sh --target=sh-elf ,-Werror - Elena Zannoni ezannoni@redhat.com - - sparc --target=sparc-elf ,-Werror - Maintenance only - - tic80 Deleted. - - v850 --target=v850-elf ,-Werror - Maintenance only - - vax --target=vax-netbsd ,-Werror - Maintenance only - - w65 Deleted. - - x86-64 --target=x86_64-linux-gnu ,-Werror - 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 Bourne shell script: - -cat MAINTAINERS | tr -s '[\t]' '[ ]' | sed -n ' -/^[ ]*[-a-z0-9\.]*[ ]*[(]*--target=.*/ !d -s/^.*--target=// -s/).*$// -h -:loop - g - /^[^ ]*,/ !b end - s/,[^ ]*// - p - g - s/^[^,]*,// - h -b loop -:end -p -' - -can be used to generate a list of buildable targets. The list -containing values for the configure options --target=, ---enable-gdb-build-warnings= and optionally ---enable-sim-build-warnings vis: - - arc-elf ,-Werror - ... - m68hc11-elf ,-Werror , - ... - hppa1.1-hp-proelf broken - ... - -While the ``broken'' targets are included in the listing, the are not -expected to build. - - -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 -NetBSD native & host Jason Thorpe thorpej@wasabisystems.com -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 - HP/UX readers Any [past] maintainer can modify this. - Please send tricky ones to the symtabs maintainers. - -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 - -NEWS ALL - -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 -Scott Bambrough scottb@netwinder.org -Jim Blandy jimb@redhat.com -Philip Blundell philb@gnu.org -Per Bothner per@bothner.com -Joel Brobecker brobecker@act-europe.fr -Dave Brolley brolley@redhat.com -Kevin Buettner kevinb@redhat.com -Andrew Cagney ac131313@redhat.com -David Carlton carlton@math.stanford.edu -Stephane Carrez stcarrez@nerim.fr -Michael Chastain mec@shout.net -Eric Christopher echristo@redhat.com -Nick Clifton nickc@redhat.com -Philippe De Muyter phdm@macqel.be -Chris G. Demetriou cgd@broadcom.com -Klee Dienes kdienes@apple.com -DJ Delorie dj@redhat.com -Richard Earnshaw rearnsha@arm.com -Frank Ch. Eigler fche@redhat.com -Ben Elliston bje@redhat.com -Anthony Green green@redhat.com -Matthew Green mrg@eterna.com.au -Chris Faylor cgf@redhat.com -Fred Fish fnf@ninemoons.com -Orjan Friberg orjanf@axis.com -Ben Harris bjh21@netbsd.org -Richard Henderson rth@redhat.com -Aldy Hernandez aldyh@redhat.com -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 -Mark Kettenis kettenis@gnu.org -Jim Kingdon jkingdon@engr.sgi.com ++ -Jeff Law law@redhat.com -Jonathan Larmour jlarmour@redhat.co.uk -Robert Lipe rjl@sco.com -H.J. Lu hjl@lucon.org -Michal Ludvig mludvig@suse.cz -Glen McCready gkm@redhat.com -Greg McGary greg@mcgary.org -Jason Merrill jason@redhat.com -David S. Miller davem@redhat.com -Jason Molenda jmolenda@apple.com -Pierre Muller muller@sources.redhat.com -Fernando Nasser fnasser@redhat.com -David O'Brien obrien@freebsd.org -Alexandre Oliva aoliva@redhat.com -Tom Rix trix@redhat.com -Theodore A. Roth troth@verinet.com -Ian Roxborough irox@redhat.com -Grace Sainsbury graces@redhat.com -Mark Salter msalter@redhat.com -Peter Schauer Peter.Schauer@regent -Andreas Schwab schwab@suse.de -Keith Seitz keiths@redhat.com -Aidan Skinner aidan@velvet.net -Jiri Smid smid@suse.cz -David Smith dsmith@redhat.com -Stephen P. Smith ischis2@home.com -Jackie Smith Cashion jsmith@redhat.com -Stan Shebs shebs@apple.com -Michael Snyder msnyder@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 -Elena Zannoni ezannoni@redhat.com -Eli Zaretskii eliz@gnu.org - - - - 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/gdb/Makefile.in b/gdb/Makefile.in deleted file mode 100644 index 45739e3ab2c..00000000000 --- a/gdb/Makefile.in +++ /dev/null @@ -1,2581 +0,0 @@ -# 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. - -# 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. - -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -host_alias = @host_alias@ -target_alias = @target_alias@ -program_transform_name = @program_transform_name@ -bindir = @bindir@ -libdir = @libdir@ -tooldir = $(libdir)/$(target_alias) - -datadir = @datadir@ -mandir = @mandir@ -man1dir = $(mandir)/man1 -man2dir = $(mandir)/man2 -man3dir = $(mandir)/man3 -man4dir = $(mandir)/man4 -man5dir = $(mandir)/man5 -man6dir = $(mandir)/man6 -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. -top_builddir = . - -SHELL = @SHELL@ -EXEEXT = @EXEEXT@ - -AWK = @AWK@ -LN_S = @LN_S@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ - -AR = @AR@ -AR_FLAGS = qv -RANLIB = @RANLIB@ -DLLTOOL = @DLLTOOL@ -WINDRES = @WINDRES@ -MIG = @MIG@ - -# Flags that describe where you can find the termcap library. -# This can be overridden in the host Makefile fragment file. -TERMCAP = @TERM_LIB@ - -# If you are compiling with GCC, make sure that either 1) You have the -# fixed include files where GCC can reach them, or 2) You use the -# -traditional flag. Otherwise the ioctl calls in inflow.c -# will be incorrectly compiled. The "fixincludes" script in the gcc -# distribution will fix your include files up. -CC=@CC@ - -# Directory containing source files. -srcdir = @srcdir@ -VPATH = @srcdir@ - -YACC=@YACC@ - -# This is used to rebuild ada-lex.c from ada-lex.l. If the program is -# not defined, but ada-lex.c is present, compilation will continue, -# possibly with a warning. -FLEX = flex - -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 -CC_LD=$(CC) - -# Where is our "include" directory? Typically $(srcdir)/../include. -# This is essentially the header file directory for the library -# routines in libiberty. -INCLUDE_DIR = $(srcdir)/../include -INCLUDE_CFLAGS = -I$(INCLUDE_DIR) - -# Where is the "-liberty" library? Typically in ../libiberty. -LIBIBERTY = ../libiberty/libiberty.a - -# Configured by the --with-mmalloc option to configure. -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 -BFD_SRC = $(srcdir)/$(BFD_DIR) -BFD_CFLAGS = -I$(BFD_DIR) -I$(BFD_SRC) - -# Where is the READLINE library? Typically in ../readline. -READLINE_DIR = ../readline -READLINE = $(READLINE_DIR)/libreadline.a -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 -INTL = @INTLLIBS@ -INTL_DEPS = @INTLDEPS@ -INTL_SRC = $(srcdir)/$(INTL_DIR) -INTL_CFLAGS = -I$(INTL_DIR) -I$(INTL_SRC) - -# -# CLI sub directory definitons -# -SUBDIR_CLI_OBS = \ - cli-dump.o \ - cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-utils.o -SUBDIR_CLI_SRCS = \ - cli/cli-dump.c \ - 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 -# in INCLUDE_DIR. -# Where is the "-lopcodes" library, with (some of) the opcode tables and -# disassemblers? -OPCODES_DIR = ../opcodes -OPCODES_SRC = $(srcdir)/$(OPCODES_DIR) -OPCODES = $(OPCODES_DIR)/libopcodes.a -# Where are the other opcode tables which only have header file -# versions? -OP_INCLUDE = $(INCLUDE_DIR)/opcode -OPCODES_CFLAGS = -I$(OP_INCLUDE) - -# The simulator is usually nonexistent; targets that include one -# 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. -# -I$(srcdir)/config for more generic config files. - -# It is also possible that you will need to add -I/usr/include/sys if -# your system doesn't have fcntl.h in /usr/include (which is where it -# should be according to Posix). -DEFS = @DEFS@ -GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/config -DLOCALEDIR="\"$(prefix)/share/locale\"" $(DEFS) - -# M{H,T}_CFLAGS, if defined, have host- and target-dependent CFLAGS -# from the config directory. -GLOBAL_CFLAGS = $(MT_CFLAGS) $(MH_CFLAGS) -#PROFILE_CFLAGS = -pg - -# CFLAGS is specifically reserved for setting from the command line -# when running make. I.E. "make CFLAGS=-Wmissing-prototypes". -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 -# so "make check" has the same result no matter where it is run. -CXXFLAGS = -g -O - -# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. -INTERNAL_WARN_CFLAGS = \ - $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \ - $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \ - $(BFD_CFLAGS) $(MMALLOC_CFLAGS) $(INCLUDE_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. -LDFLAGS = @LDFLAGS@ - -# 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) $(MH_LDFLAGS) $(LDFLAGS) $(CONFIG_LDFLAGS) @HLDFLAGS@ -HLDENV = @HLDENV@ - -# If your system is missing alloca(), or, more likely, it's there but -# it doesn't work, then refer to libiberty. - -# Libraries and corresponding dependencies for compiling gdb. -# {X,T}M_CLIBS, defined in *config files, have host- and target-dependent libs. -# TERMCAP comes after readline, since readline depends on it. -# MMALLOC comes after anything else that might want an allocation function. -# LIBIBERTY appears twice on purpose. -# If you have the Cygnus libraries installed, -# you can use 'CLIBS=$(INSTALLED_LIBS)' 'CDEPS=' -INSTALLED_LIBS=-lbfd -lreadline -lopcodes -liberty \ - $(TERMCAP) $(XM_CLIBS) $(TM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) @LIBS@ \ - -lmmalloc -lintl -liberty -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) - -ADD_FILES = $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES) -ADD_DEPS = $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES) - -DIST=gdb - -LINT=/usr/5bin/lint -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; \ - fi` - -RUNTESTFLAGS= - -# This is ser-unix.o for any system which supports a v7/BSD/SYSV/POSIX -# interface to the serial port. Hopefully if get ported to OS/2, VMS, -# etc., then there will be (as part of the C library or perhaps as -# 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_HARDWIRE@ - -# The `remote' debugging target is supported for most architectures, -# but not all (e.g. 960) -REMOTE_OBS = remote.o dcache.o remote-utils.o tracepoint.o ax-general.o ax-gdb.o - -# This is remote-sim.o if a simulator is to be linked in. -SIM_OBS = - -ANNOTATE_OBS = annotate.o - -# Host and target-dependent makefile fragments come in here. -@host_makefile_frag@ -@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)" \ - "libdir=$(libdir)" \ - "mandir=$(mandir)" \ - "datadir=$(datadir)" \ - "includedir=$(includedir)" \ - "against=$(against)" \ - "AR=$(AR)" \ - "AR_FLAGS=$(AR_FLAGS)" \ - "CC=$(CC)" \ - "CFLAGS=$(CFLAGS)" \ - "CXX=$(CXX)" \ - "CXXFLAGS=$(CXXFLAGS)" \ - "DLLTOOL=$(DLLTOOL)" \ - "RANLIB=$(RANLIB)" \ - "MAKEINFO=$(MAKEINFO)" \ - "MAKEHTML=$(MAKEHTML)" \ - "MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \ - "INSTALL=$(INSTALL)" \ - "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ - "INSTALL_DATA=$(INSTALL_DATA)" \ - "RUNTEST=$(RUNTEST)" \ - "RUNTESTFLAGS=$(RUNTESTFLAGS)" - -# Flags that we pass when building the testsuite. - -# empty for native, $(target_alias)/ for cross -target_subdir = @target_subdir@ - -CC_FOR_TARGET = ` \ - if [ -f $${rootme}/../gcc/xgcc ] ; then \ - if [ -f $${rootme}/../$(target_subdir)newlib/Makefile ] ; then \ - echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/ -idirafter $${rootme}/$(target_subdir)newlib/targ-include -idirafter $${rootsrc}/../$(target_subdir)newlib/libc/include -nostdinc -B$${rootme}/../$(target_subdir)newlib/; \ - else \ - echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/; \ - fi; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo $(CC); \ - else \ - t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ - fi; \ - fi` - -CXX = gcc -CXX_FOR_TARGET = ` \ - if [ -f $${rootme}/../gcc/xgcc ] ; then \ - if [ -f $${rootme}/../$(target_subdir)newlib/Makefile ] ; then \ - echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/ -idirafter $${rootme}/$(target_subdir)newlib/targ-include -idirafter $${rootsrc}/../$(target_subdir)newlib/libc/include -nostdinc -B$${rootme}/../$(target_subdir)newlib/; \ - else \ - echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/; \ - fi; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo $(CXX); \ - else \ - t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ - fi; \ - fi` - -# OBSOLETE CHILLFLAGS = $(CFLAGS) -# OBSOLETE CHILL = gcc -# OBSOLETE CHILL_FOR_TARGET = ` \ -# OBSOLETE if [ -f $${rootme}/../gcc/Makefile ] ; then \ -# OBSOLETE echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/ -L$${rootme}/../gcc/ch/runtime/; \ -# OBSOLETE else \ -# OBSOLETE if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ -# OBSOLETE echo $(CC); \ -# OBSOLETE else \ -# OBSOLETE t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ -# OBSOLETE fi; \ -# OBSOLETE fi` -# OBSOLETE CHILL_LIB = ` \ -# OBSOLETE if [ -f $${rootme}/../gcc/ch/runtime/libchill.a ] ; then \ -# OBSOLETE echo $${rootme}/../gcc/ch/runtime/chillrt0.o \ -# OBSOLETE $${rootme}/../gcc/ch/runtime/libchill.a; \ -# OBSOLETE else \ -# OBSOLETE echo -lchill; \ -# OBSOLETE fi` - -# The use of $$(x_FOR_TARGET) reduces the command line length by not -# duplicating the lengthy definition. -TARGET_FLAGS_TO_PASS = \ - "prefix=$(prefix)" \ - "exec_prefix=$(exec_prefix)" \ - "against=$(against)" \ - 'CC=$$(CC_FOR_TARGET)' \ - "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ - "CFLAGS=$(CFLAGS)" \ - 'CXX=$$(CXX_FOR_TARGET)' \ - "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \ - "CXXFLAGS=$(CXXFLAGS)" \ - "INSTALL=$(INSTALL)" \ - "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ - "INSTALL_DATA=$(INSTALL_DATA)" \ - "MAKEINFO=$(MAKEINFO)" \ - "MAKEHTML=$(MAKEHTML)" \ - "RUNTEST=$(RUNTEST)" \ - "RUNTESTFLAGS=$(RUNTESTFLAGS)" - -# All source files that go into linking GDB. -# Links made at configuration time should not be specified here, since -# SFILES is used in building the distribution archive. - -SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \ - 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 \ - coffread.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 regcache.c gdbarch.c arch-utils.c gdbtypes.c osabi.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 \ - 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 \ - macrotab.c macroexp.c macrocmd.c macroscope.c \ - printcmd.c remote.c scm-exp.c scm-lang.c \ - scm-valprint.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 \ - tui/tui.c tui/tui.h tui/tuiCommand.c tui/tuiCommand.h \ - tui/tuiData.c tui/tuiData.h tui/tuiDataWin.c 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.c tui/tuiSourceWin.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 \ - builtin-regs.c std-regs.c \ - gnu-v2-abi.c gnu-v3-abi.c hpacc-abi.c cp-abi.c - -LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c - -# "system" headers. Using these in dependencies is a rather personal -# choice. (-rich, summer 1993) -# (Why would we not want to depend on them? If one of these changes in a -# non-binary-compatible way, it is a real pain to remake the right stuff -# without these dependencies -kingdon, 13 Mar 1994) -aout_aout64_h = $(INCLUDE_DIR)/aout/aout64.h -aout_stabs_gnu_h = $(INCLUDE_DIR)/aout/stabs_gnu.h -getopt_h = $(INCLUDE_DIR)/getopt.h -floatformat_h = $(INCLUDE_DIR)/floatformat.h -bfd_h = $(BFD_DIR)/bfd.h -callback_h = $(INCLUDE_DIR)/gdb/callback.h -coff_sym_h = $(INCLUDE_DIR)/coff/sym.h -coff_symconst_h = $(INCLUDE_DIR)/coff/symconst.h -coff_ecoff_h = $(INCLUDE_DIR)/coff/ecoff.h -dis_asm_h = $(INCLUDE_DIR)/dis-asm.h -elf_sh_h = $(INCLUDE_DIR)/elf/sh.h -elf_bfd_h = $(BFD_SRC)/elf-bfd.h -libaout_h = $(BFD_SRC)/libaout.h -remote_sim_h = $(INCLUDE_DIR)/gdb/remote-sim.h -demangle_h = $(INCLUDE_DIR)/demangle.h -obstack_h = $(INCLUDE_DIR)/obstack.h -opcode_m68hc11_h = $(INCLUDE_DIR)/opcode/m68hc11.h -sh_opc_h = $(OPCODES_SRC)/sh-opc.h -gdb_sim_arm_h = $(INCLUDE_DIR)/gdb/sim-arm.h -gdb_sim_d10v_h = $(INCLUDE_DIR)/gdb/sim-d10v.h -gdb_sim_sh_h = $(INCLUDE_DIR)/gdb/sim-sh.h -splay_tree_h = $(INCLUDE_DIR)/splay-tree.h - -readline_headers = \ - $(READLINE_SRC)/chardefs.h \ - $(READLINE_SRC)/history.h \ - $(READLINE_SRC)/keymaps.h \ - $(READLINE_SRC)/readline.h - -xm_h = @xm_h@ -tm_h = @tm_h@ -nm_h = @nm_h@ - -# -# gdb/ header files -# - -acconfig_h = acconfig.h -ada_lang_h = ada-lang.h $(value_h) $(gdbtypes_h) -alpha_tdep_h = alpha-tdep.h $(osabi_h) -alphabsd_tdep_h = alphabsd-tdep.h -annotate_h = annotate.h $(symtab_h) $(gdbtypes_h) -arch_utils_h = arch-utils.h -arm_tdep_h = arm-tdep.h $(osabi_h) -ax_gdb_h = ax-gdb.h -ax_h = ax.h $(doublest_h) -bcache_h = bcache.h -breakpoint_h = breakpoint.h $(frame_h) $(value_h) $(gdb_events_h) -buildsym_h = buildsym.h -builtin_regs_h = builtin-regs.h -c_lang_h = c-lang.h $(value_h) $(macroexp_h) -call_cmds_h = call-cmds.h -ch_lang_h = ch-lang.h -cli_out_h = cli-out.h -coff_solib_h = coff-solib.h -command_h = command.h -complaints_h = complaints.h -completer_h = completer.h -cp_abi_h = cp-abi.h -dcache_h = dcache.h -defs_h = defs.h $(config_h) $(gdb_locale_h) $(gdb_signals_h) $(ansidecl_h) \ - $(libiberty_h) $(progress_h) $(bfd_h) $(tui_h) $(ui_file_h) $(xm_h) \ - $(nm_h) $(tm_h) $(fopen_same_h) $(gdbarch_h) $(arch_utils_h) -doublest_h = doublest.h $(floatformat_h) -dst_h = dst.h -dwarf2cfi_h = dwarf2cfi.h -environ_h = environ.h -event_loop_h = event-loop.h -event_top_h = event-top.h -expression_h = expression.h $(symtab_h) $(doublest_h) -f_lang_h = f-lang.h -frame_h = frame.h -gdb_events_h = gdb-events.h -gdb_stabs_h = gdb-stabs.h -gdb_h = gdb.h -gdb_assert_h = gdb_assert.h -gdb_dirent_h = gdb_dirent.h -gdb_locale_h = gdb_locale.h -gdb_obstack_h = gdb_obstack.h $(obstack_h) -gdb_proc_service_h = gdb_proc_service.h $(gregset_h) -gdb_regex_h = gdb_regex.h $(xregex_h) -gdb_stat_h = gdb_stat.h -gdb_string_h = gdb_string.h -gdb_thread_db_h = gdb_thread_db.h -gdb_vfork_h = gdb_vfork.h -gdb_wait_h = gdb_wait.h -gdbarch_h = gdbarch.h $(dis_asm_h) $(value_h) $(inferior_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 -gnu_nat_h = gnu-nat.h -gregset_h = gregset.h -i386_linux_tdep_h = i386-linux-tdep.h -i386_tdep_h = i386-tdep.h $(osabi_h) -i387_tdep_h = i387-tdep.h -inf_loop_h = inf-loop.h -inferior_h = inferior.h $(breakpoint_h) $(target_h) -jv_lang_h = jv-lang.h -kod_h = kod.h -language_h = language.h -linespec_h = linespec.h -m2_lang_h = m2-lang.h -macroexp_h = macroexp.h -macroscope_h = macroscope.h $(macrotab_h) $(symtab_h) -macrotab_h = macrotab.h -memattr_h = memattr.h -minimon_h = minimon.h -mipsnbsd_tdep_h = mipsnbsd-tdep.h -monitor_h = monitor.h -nbsd_tdep_h = nbsd-tdep.h -ns32k_tdep_h = ns32k-tdep.h $(osabi_h) -objfiles_h = objfiles.h $(gdb_obstack_h) $(symfile_h) -ocd_h = ocd.h -osabi_h = osabi.h -p_lang_h = p-lang.h -pa64solib_h = pa64solib.h -parser_defs_h = parser-defs.h $(doublest_h) -ppc_tdep_h = ppc-tdep.h $(osabi_h) -ppcnbsd_tdep_h = ppcnbsd-tdep.h -proc_utils_h = proc-utils.h -regcache_h = regcache.h -remote_utils_h = remote-utils.h $(target_h) -remote_h = remote.h -scm_lang_h = scm-lang.h $(scm_tags_h) -scm_tags_h = scm-tags.h -ser_unix_h = ser-unix.h -serial_h = serial.h -sh_tdep_h = sh-tdep.h $(osabi_h) -shnbsd_tdep_h = shnbsd-tdep.h -sim_regno_h = sim-regno.h -solib_svr4_h = solib-svr4.h -solib_h = solib.h -solist_h = solist.h -somsolib_h = somsolib.h -source_h = source.h -sparcnbsd_tdep_h = sparcnbsd-tdep.h -srec_h = srec.h -stabsread_h = stabsread.h -symfile_h = symfile.h -symtab_h = symtab.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 -typeprint_h = typeprint.h -ui_file_h = ui-file.h -ui_out_h = ui-out.h -valprint_h = valprint.h -value_h = value.h $(doublest_h) $(symtab_h) $(gdbtypes_h) $(expression_h) -varobj_h = varobj.h $(symtab_h) $(gdbtypes_h) -vax_tdep_h = vax-tdep.h $(osabi_h) -version_h = version.h -wince_stub_h = wince-stub.h -wrapper_h = wrapper.h $(gdb_h) -x86_64_tdep_h = x86-64-tdep.h $(i386_tdep_h) -xcoffsolib_h = xcoffsolib.h -xmodem_h = xmodem.h - -# -# gdb/cli/ headers -# - -cli_cmds_h = $(srcdir)/cli/cli-cmds.h -cli_decode_h = $(srcdir)/cli/cli-decode.h $(gdb_regex_h) $(command_h) -cli_dump_h = $(srcdir)/cli/cli-dump.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 - -# -# gdb/mi/ headers -# - -mi_cmds_h = $(srcdir)/mi/mi-cmds.h -mi_console_h = $(srcdir)/mi/mi-console.h -mi_getopt_h = $(srcdir)/mi/mi-getopt.h -mi_out_h = $(srcdir)/mi/mi-out.h -mi_parse_h = $(srcdir)/mi/mi-parse.h - -# -# gdb/tui/ headers -# - -tui_file_h = $(srcdir)/tui/tui-file.h -tui_h = $(srcdir)/tui/tui.h $(ansidecl_h) -tuiCommand_h = $(srcdir)/tui/tuiCommand.h -tuiData_h = $(srcdir)/tui/tuiData.h -tuiDataWin_h = $(srcdir)/tui/tuiDataWin.h -tuiDisassem_h = $(srcdir)/tui/tuiDisassem.h -tuiGeneralWin_h = $(srcdir)/tui/tuiGeneralWin.h -tuiIO_h = $(srcdir)/tui/tuiIO.h -tuiLayout_h = $(srcdir)/tui/tuiLayout.h -tuiRegs_h = $(srcdir)/tui/tuiRegs.h -tuiSource_h = $(srcdir)/tui/tuiSource.h $(defs_h) -tuiSourceWin_h = $(srcdir)/tui/tuiSourceWin.h -tuiStack_h = $(srcdir)/tui/tuiStack.h -tuiWin_h = $(srcdir)/tui/tuiWin.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 -# so that each .h file is listed exactly once (M-x tags-search works -# wrong if TAGS has files twice). Because this is tricky to get -# 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 \ - 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 \ - macrotab.h macroexp.h macroscope.h \ - c-lang.h f-lang.h \ - jv-lang.h \ - m2-lang.h p-lang.h \ - complaints.h valprint.h \ - nindy-share/b.out.h \ - nindy-share/block_io.h nindy-share/coff.h \ - nindy-share/env.h nindy-share/stop.h \ - vx-share/dbgRpcLib.h vx-share/ptrace.h vx-share/vxTypes.h \ - vx-share/vxWorks.h vx-share/wait.h vx-share/xdr_ld.h \ - vx-share/xdr_ptrace.h vx-share/xdr_rdb.h gdbthread.h \ - dcache.h remote-utils.h top.h somsolib.h - -# Header files that already have srcdir in them, or which are in objdir. - -HFILES_WITH_SRCDIR = ../bfd/bfd.h - - -# GDB "info" files, which should be included in their entirety -INFOFILES = gdb.info* - -REMOTE_EXAMPLES = m68k-stub.c i386-stub.c sparc-stub.c rem-multi.shar - -# {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) $(SER_HARDWIRE) $(NATDEPFILES) \ - $(REMOTE_OBS) $(SIM_OBS) $(CONFIG_LIB_OBS) - -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) \ - $(SUBDIR_CLI_SRCS) -TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR) - -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 linespec.o infcmd.o infrun.o \ - expprint.o environ.o stack.o thread.o \ - macrotab.o macrocmd.o macroexp.o macroscope.o \ - event-loop.o event-top.o inf-loop.o completer.o \ - gdbarch.o arch-utils.o gdbtypes.o osabi.o copying.o $(DEPFILES) \ - memattr.o mem-break.o target.o parse.o language.o $(YYOBJ) buildsym.o \ - builtin-regs.o std-regs.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 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 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 f-typeprint.o m2-typeprint.o \ - c-valprint.o cp-valprint.o f-valprint.o m2-valprint.o \ - nlmread.o serial.o mdebugread.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 - -OBS = $(COMMON_OBS) $(ANNOTATE_OBS) - -TSOBS = inflow.o - -SUBDIRS = @SUBDIRS@ - -# For now, shortcut the "configure GDB for fewer languages" stuff. -YYFILES = c-exp.tab.c \ - ada-exp.tab.c \ - jv-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 p-exp.tab.o - -# Things which need to be built when making a distribution. - -DISTSTUFF = $(YYFILES) - -# Prevent Sun make from putting in the machine type. Setting -# TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1. -.c.o: - $(CC) -c $(INTERNAL_CFLAGS) $< - -all: gdb$(EXEEXT) $(CONFIG_ALL) - @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do - -installcheck: - -# The check target can not use subdir_do, because subdir_do does not -# use TARGET_FLAGS_TO_PASS. -check: force - @if [ -f testsuite/Makefile ]; then \ - rootme=`pwd`; export rootme; \ - rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ - cd testsuite; \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check; \ - else true; fi - -info dvi install-info clean-info html install-html: force - @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do - -gdb.z:gdb.1 - nroff -man $(srcdir)/gdb.1 | col -b > gdb.t - pack gdb.t ; rm -f gdb.t - mv gdb.t.z gdb.z - -# Traditionally "install" depends on "all". But it may be useful -# not to; for example, if the user has made some trivial change to a -# source file and doesn't care about rebuilding or just wants to save the -# 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: $(CONFIG_INSTALL) - transformed_name=`t='$(program_transform_name)'; \ - echo gdb | sed -e $$t` ; \ - if test "x$$transformed_name" = x; then \ - transformed_name=gdb ; \ - 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 $(CONFIG_UNINSTALL) - transformed_name=`t='$(program_transform_name)'; \ - echo gdb | sed -e $$t` ; \ - if test "x$$transformed_name" = x; then \ - transformed_name=gdb ; \ - else \ - 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 - -install-gdbtk: - $(SHELL) $(srcdir)/../mkinstalldirs $(GDBTK_LIBRARY) ; \ - $(SHELL) $(srcdir)/../mkinstalldirs $(libdir)/insight$(GDBTK_VERSION) ; \ - $(INSTALL_DATA) $(srcdir)/gdbtk/plugins/plugins.tcl $(libdir)/insight$(GDBTK_VERSION)/plugins.tcl ; \ - $(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 ; - -# 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 (top.o -> _initialize_top, etc.). -# -# Formatting conventions: The name of the _initialize_* routines must start -# in column zero, and must not be inside #if. -# -# 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. - -# FIXME: cagney/2002-06-09: gdb/564: gdb/563: Force the order so that -# the first call is to _initialize_gdbtypes. This is a hack to ensure -# that all the architecture dependant global builtin_type_* variables -# are initialized before anything else (per-architecture code is -# called in the same order that it is registered). The ``correct -# fix'' is to have all the builtin types made part of the architecture -# and initialize them on-demand (using gdbarch_data) just like -# everything else. The catch is that other modules still take the -# address of these builtin types forcing them to be variables, sigh! - -INIT_FILES = $(OBS) $(TSOBS) $(CONFIG_OBS) $(CONFIG_INITS) -init.c: $(INIT_FILES) - @echo Making init.c - @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' \ - -e '/xdr_ptrace.o/d' \ - -e '/xdr_rdb.o/d' \ - -e '/udr.o/d' \ - -e '/udip2soc.o/d' \ - -e '/udi2go32.o/d' \ - -e '/version.o/d' \ - -e '/^[a-z0-9A-Z_]*_[SU].o/d' \ - -e '/[a-z0-9A-Z_]*-exp.tab.o/d' \ - -e 's/\.o/.c/' \ - -e 's,signals\.c,signals/signals\.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]*\).*/\1/' | \ - ( echo _initialize_gdbtypes ; grep -v '^_initialize_gdbtypes$$' ) > 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): main.o libgdb.a $(CONFIG_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) - rm -f gdb$(EXEEXT) - $(HLDENV) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) -o gdb$(EXEEXT) \ - 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 - -# 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 - #load ./init.c $(SFILES) - #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 - #load ../bfd/libbfd.a - #load ../readline/libreadline.a - #load ../mmalloc/libmmalloc.a - #load ../intl/libintl.a - #load -ltermcap - #load `echo " "$(DEPFILES) | sed -e 's/\.o/.c/g' -e 's, , ../,g'` - echo "Load .c corresponding to:" $(DEPFILES) - - -# A Mach 3.0 program to force gdb back to command level - -stop-gdb: stop-gdb.o - ${CC_LD} $(GLOBAL_CFLAGS) $(LDFLAGS) -o stop-gdb \ - stop-gdb.o $(CLIBS) $(LOADLIBES) - -# This is useful when debugging GDB, because some Unix's don't let you run GDB -# on itself without copying the executable. So "make gdb1" will make -# gdb and put a copy in gdb1, and you can run it with "gdb gdb1". -# Removing gdb1 before the copy is the right thing if gdb1 is open -# in another process. -gdb1$(EXEEXT): gdb$(EXEEXT) - rm -f gdb1$(EXEEXT) - cp gdb$(EXEEXT) gdb1$(EXEEXT) - -# FIXME. These are not generated by "make depend" because they only are there -# 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-sun3.h tm-hp300bsd.h tm-altos.h: tm-m68k.h -tm-hp300hpux.h tm-sun2.h tm-3b1.h: tm-m68k.h -xm-i386-sv32.h: xm-i386.h -tm-i386gas.h: tm-i386.h -tm-sun4os4.h: tm-sparc.h -xm-vaxult.h: xm-vax.h -xm-vaxbsd.h: xm-vax.h - -# 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). - -# TAGS depends on all the files that go into it so you can rebuild TAGS -# with `make TAGS' and not have to say `rm TAGS' first. - -TAGS: $(TAGFILES_NO_SRCDIR) $(TAGFILES_WITH_SRCDIR) - @echo Making TAGS - @etags $(srcdir)/$(TM_FILE) \ - $(srcdir)/$(XM_FILE) \ - $(srcdir)/$(NAT_FILE) \ - `(for i in $(DEPFILES) $(TAGFILES_NO_SRCDIR); do \ - echo $(srcdir)/$$i ; \ - done ; for i in $(TAGFILES_WITH_SRCDIR); do \ - echo $$i ; \ - done) | sed -e 's/\.o$$/\.c/'` \ - `find $(srcdir)/config -name '*.h' -print` - -tags: TAGS - -clean mostlyclean: $(CONFIG_CLEAN) - @$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(SUBDIRS)" subdir_do - 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 - 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 - rm -f Makefile - -maintainer-clean: local-maintainer-clean do-maintainer-clean distclean -realclean: maintainer-clean - -local-maintainer-clean: - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f c-exp.tab.c \ - ada-lex.c ada-exp.tab.c \ - jv-exp.tab \ - 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 - -do-maintainer-clean: - @$(MAKE) $(FLAGS_TO_PASS) DO=maintainer-clean "DODIRS=$(SUBDIRS)" \ - subdir_do - -diststuff: $(DISTSTUFF) - cd doc; $(MAKE) $(MFLAGS) diststuff - -subdir_do: force - @for i in $(DODIRS); do \ - if [ -f ./$$i/Makefile ] ; then \ - if (cd ./$$i; \ - $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \ - else exit 1 ; fi ; \ - else true ; fi ; \ - done - -Makefile: Makefile.in config.status @frags@ - $(SHELL) config.status - -config.h: stamp-h ; @true -stamp-h: config.in config.status - CONFIG_HEADERS=config.h:config.in $(SHELL) config.status - -config.status: configure - $(SHELL) config.status --recheck - -force: - -# Documentation! -# GDB QUICK REFERENCE (TeX dvi file, CM fonts) -doc/refcard.dvi: - cd doc; $(MAKE) refcard.dvi $(FLAGS_TO_PASS) - -# GDB QUICK REFERENCE (PostScript output, common PS fonts) -doc/refcard.ps: - cd doc; $(MAKE) refcard.ps $(FLAGS_TO_PASS) - -# GDB MANUAL: TeX dvi file -doc/gdb.dvi: - cd doc; $(MAKE) gdb.dvi $(FLAGS_TO_PASS) - -# GDB MANUAL: info file -doc/gdb.info: - cd doc; $(MAKE) gdb.info $(FLAGS_TO_PASS) - -# Make copying.c from COPYING -$(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) - - -# LANG-exp.tab.c is generated in objdir from LANG-exp.y if it doesn't -# exist in srcdir, then compiled in objdir to LANG-exp.tab.o. - -# If we said LANG-exp.tab.c rather than ./c-exp.tab.c some makes would -# sometimes re-write it into $(srcdir)/c-exp.tab.c. - -# 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. - -# See comments above ... -.PRECIOUS: c-exp.tab.c -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' \ - -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' \ - < c-exp.tmp > c-exp.new - -rm c-exp.tmp - mv c-exp.new ./c-exp.tab.c - -# See comments above ... -.PRECIOUS: jv-exp.tab.c -jv-exp.tab.o: jv-exp.tab.c -jv-exp.tab.c: jv-exp.y - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/jv-exp.y y.tab.c jv-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' \ - < jv-exp.tmp > jv-exp.new - -rm jv-exp.tmp - mv jv-exp.new ./jv-exp.tab.c - -# See comments above ... -.PRECIOUS: f-exp.tab.c -f-exp.tab.o: f-exp.tab.c -f-exp.tab.c: f-exp.y c-exp.tab.c - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/f-exp.y y.tab.c f-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' \ - < f-exp.tmp > f-exp.new - -rm f-exp.tmp - mv f-exp.new ./f-exp.tab.c - -# See comments above ... -.PRECIOUS: m2-exp.tab.c -m2-exp.tab.o: m2-exp.tab.c -m2-exp.tab.c: m2-exp.y - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/m2-exp.y y.tab.c m2-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' \ - < m2-exp.tmp > m2-exp.new - -rm m2-exp.tmp - mv m2-exp.new ./m2-exp.tab.c - -# See comments above ... -.PRECIOUS: ada-exp.tab.c -ada-exp.tab.o: ada-exp.tab.c -ada-exp.tab.c: ada-exp.y - $(YACC) $(YFLAGS) $(srcdir)/ada-exp.y - -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' \ - < y.tab.c > ada-exp.new - -rm y.tab.c - mv ada-exp.new ./ada-exp.tab.c - -# See comments above ... -.PRECIOUS: ada-lex.c -ada-lex.o: ada-lex.c -ada-lex.c: ada-lex.l - @if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \ - echo $(FLEX) -Isit $(srcdir)/ada-lex.l ">" ada-lex.c; \ - $(FLEX) -Isit $(srcdir)/ada-lex.l > ada-lex.c; \ - elif [ ! -f ada-lex.c -a ! -f $(srcdir)/ada-lex.c ]; then \ - echo "ada-lex.c missing and flex not available."; \ - false; \ - elif [ ! -f ada-lex.c ]; then \ - echo "Warning: ada-lex.c older than ada-lex.l and flex not available."; \ - fi - -# See comments above ... -.PRECIOUS: p-exp.tab.c -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 - -lint: $(LINTFILES) - $(LINT) $(INCLUDE_CFLAGS) $(LINTFLAGS) $(LINTFILES) \ - `echo $(DEPFILES) | sed 's/\.o /\.c /g'` - -gdb.cxref: $(SFILES) - cxref -I. $(SFILES) >gdb.cxref - -force_update: - -# GNU Make has an annoying habit of putting *all* the Makefile variables -# into the environment, unless you include this target as a circumvention. -# Rumor is that this will be fixed (and this target can be removed) -# in GNU Make 4.0. -.NOEXPORT: - -# GNU Make 3.63 has a different problem: it keeps tacking command line -# overrides onto the definition of $(MAKE). This variable setting -# will remove them. -MAKEOVERRIDES= - -## This is ugly, but I don't want GNU make to put these variables in -## the environment. Older makes will see this as a set of targets -## with no dependencies and no actions. -# OBSOLETE unexport CHILLFLAGS CHILL_LIB CHILL_FOR_TARGET : - -ALLDEPFILES = a68v-nat.c \ - aix-thread.c \ - alpha-nat.c alphabsd-nat.c \ - alpha-tdep.c alpha-linux-tdep.c alphabsd-tdep.c alphanbsd-tdep.c \ - alpha-osf1-tdep.c alphafbsd-tdep.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 exec.c fork-child.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 i386v-nat.c i386-linux-nat.c \ - i386v4-nat.c i386ly-tdep.c \ - i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c \ - i387-tdep.c \ - i386-linux-tdep.c i386-nat.c \ - i386gnu-nat.c i386gnu-tdep.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 \ - mcore-tdep.c \ - mips-linux-nat.c mips-linux-tdep.c \ - mips-nat.c \ - mips-irix-tdep.c \ - mips-tdep.c mipsm3-nat.c mipsv4-nat.c \ - mipsnbsd-nat.c mipsnbsd-tdep.c \ - nbsd-tdep.c \ - nindy-share/Onindy.c nindy-share/nindy.c \ - nindy-share/ttyflush.c nindy-tdep.c \ - ns32k-tdep.c solib-osf.c \ - somread.c somsolib.c $(HPREAD_SOURCE) \ - ppc-sysv-tdep.o ppc-linux-nat.c ppc-linux-tdep.c \ - ppcnbsd-nat.o ppcnbsd-tdep.o \ - procfs.c \ - remote-array.c remote-e7000.c \ - remote-es.c remote-hms.c remote-mips.c \ - remote-rdp.c remote-sim.c \ - remote-st.c remote-utils.c dcache.c \ - remote-vx.c \ - rs6000-nat.c rs6000-tdep.c \ - s390-tdep.c s390-nat.c \ - ser-go32.c ser-pipe.c ser-tcp.c \ - sh-tdep.c shnbsd-tdep.c shnbsd-nat.c \ - solib.c solib-irix.c solib-svr4.c solib-sunos.c sparc-linux-nat.c \ - sparc-nat.c \ - sparc64nbsd-nat.c sparcnbsd-nat.c sparcnbsd-tdep.c \ - sparc-tdep.c sparcl-tdep.c sun3-nat.c \ - symm-tdep.c symm-nat.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 \ - xstormy16-tdep.c \ - z8k-tdep.c - -# Some files need explict build rules (due to -Werror problems) or due -# to sub-directory fun 'n' games. - -# Provide explicit rule/dependency - works for more makes. -copying.o: $(srcdir)/copying.c - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/copying.c - -hpux-thread.o: $(srcdir)/hpux-thread.c - $(CC) -c $(INTERNAL_CFLAGS) -I$(srcdir)/osf-share \ - -I$(srcdir)/osf-share/HP800 -I/usr/include/dce \ - $(srcdir)/hpux-thread.c - -# FIXME: Procfs.o gets -Wformat errors because things like pid_t don't -# match output format strings. -procfs.o: $(srcdir)/procfs.c - $(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) $(srcdir)/procfs.c - -v850ice.o: $(srcdir)/v850ice.c - $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) \ - $(TIX_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ - $(GDBTK_CFLAGS) \ - $(srcdir)/v850ice.c - -# 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: $(srcdir)/z8k-tdep.c - $(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) \ - $(srcdir)/z8k-tdep.c - -# -# Generated YACC/LEX dependencies -# - -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) - -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) - -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) - -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) - -ada-exp.tab.o: ada-exp.tab.c ada-lex.c ada-lang.h \ - $(defs_h) $(expression_h) \ - $(gdbtypes_h) language.h parser-defs.h $(symtab_h) $(value_h) \ - $(bfd_h) objfiles.h symfile.h - -# -# The dependencies. In aphabetic order. -# - -a68v-nat.o: a68v-nat.c $(defs_h) $(inferior_h) $(regcache_h) -abug-rom.o: abug-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(regcache_h) -ada-lang.o: ada-lang.c $(gdb_string_h) $(demangle_h) $(defs_h) $(symtab_h) \ - $(gdbtypes_h) $(gdbcmd_h) $(expression_h) $(parser_defs_h) \ - $(language_h) $(c_lang_h) $(inferior_h) $(symfile_h) $(objfiles_h) \ - $(breakpoint_h) $(gdbcore_h) $(ada_lang_h) $(ui_out_h) -ada-tasks.o: ada-tasks.c $(defs_h) $(command_h) $(value_h) $(language_h) \ - $(inferior_h) $(symtab_h) $(target_h) $(gdbcore_h) $(gregset_h) \ - $(ada_lang_h) -ada-typeprint.o: ada-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) \ - $(symtab_h) $(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) \ - $(target_h) $(command_h) $(gdbcmd_h) $(language_h) $(demangle_h) \ - $(c_lang_h) $(typeprint_h) $(ada_lang_h) $(gdb_string_h) -ada-valprint.o: ada-valprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) \ - $(expression_h) $(value_h) $(demangle_h) $(valprint_h) $(language_h) \ - $(annotate_h) $(ada_lang_h) $(c_lang_h) -aix-thread.o: aix-thread.c $(defs_h) $(gdb_assert_h) $(gdbthread_h) \ - $(target_h) $(inferior_h) $(regcache_h) $(gdbcmd_h) $(language_h) \ - $(ppc_tdep_h) -alpha-linux-tdep.o: alpha-linux-tdep.c $(defs_h) $(frame_h) $(gdbcore_h) \ - $(value_h) $(alpha_tdep_h) -alpha-nat.o: alpha-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(target_h) \ - $(regcache_h) $(alpha_tdep_h) $(gregset_h) -alpha-osf1-tdep.o: alpha-osf1-tdep.c $(defs_h) $(frame_h) $(gdbcore_h) \ - $(value_h) $(alpha_tdep_h) -alpha-tdep.o: alpha-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \ - $(value_h) $(gdbcmd_h) $(gdbcore_h) $(dis_asm_h) $(symfile_h) \ - $(objfiles_h) $(gdb_string_h) $(linespec_h) $(regcache_h) \ - $(doublest_h) $(arch_utils_h) $(elf_bfd_h) $(alpha_tdep_h) -alphabsd-nat.o: alphabsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \ - $(alpha_tdep_h) $(alphabsd_tdep_h) $(gregset_h) -alphabsd-tdep.o: alphabsd-tdep.c $(defs_h) $(regcache_h) $(alpha_tdep_h) \ - $(alphabsd_tdep_h) -alphafbsd-tdep.o: alphafbsd-tdep.c $(defs_h) $(value_h) $(alpha_tdep_h) -alphanbsd-tdep.o: alphanbsd-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \ - $(regcache_h) $(value_h) $(solib_svr4_h) $(alpha_tdep_h) \ - $(alphabsd_tdep_h) $(nbsd_tdep_h) -annotate.o: annotate.c $(defs_h) $(annotate_h) $(value_h) $(target_h) \ - $(gdbtypes_h) $(breakpoint_h) -# OBSOLETE arc-tdep.o: arc-tdep.c -arch-utils.o: arch-utils.c $(defs_h) $(arch_utils_h) $(gdbcmd_h) \ - $(inferior_h) $(symtab_h) $(frame_h) $(inferior_h) $(breakpoint_h) \ - $(gdb_wait_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) $(annotate_h) \ - $(gdb_string_h) $(regcache_h) $(gdb_assert_h) $(sim_regno_h) \ - $(version_h) $(floatformat_h) -arm-linux-nat.o: arm-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \ - $(gdb_string_h) $(regcache_h) $(arm_tdep_h) $(gregset_h) -arm-linux-tdep.o: arm-linux-tdep.c $(defs_h) $(target_h) $(value_h) \ - $(gdbtypes_h) $(floatformat_h) $(gdbcore_h) $(frame_h) $(regcache_h) \ - $(doublest_h) $(arm_tdep_h) $(symtab_h) $(symfile_h) $(objfiles_h) -arm-tdep.o: arm-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(gdbcmd_h) \ - $(gdbcore_h) $(symfile_h) $(gdb_string_h) $(dis_asm_h) $(regcache_h) \ - $(doublest_h) $(value_h) $(arch_utils_h) $(solib_svr4_h) \ - $(arm_tdep_h) $(gdb_sim_arm_h) $(elf_bfd_h) $(coff_internal_h) \ - $(elf_arm_h) $(gdb_assert_h) $(bfd_in2_h) $(libcoff_h) -armnbsd-nat.o: armnbsd-nat.c $(defs_h) $(arm_tdep_h) $(inferior_h) \ - $(regcache_h) $(gdbcore_h) -armnbsd-tdep.o: armnbsd-tdep.c $(defs_h) $(arm_tdep_h) $(nbsd_tdep_h) \ - $(solib_svr4_h) -avr-tdep.o: avr-tdep.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) $(inferior_h) \ - $(symfile_h) $(arch_utils_h) $(regcache_h) $(gdb_string_h) -ax-gdb.o: ax-gdb.c $(defs_h) $(symtab_h) $(symfile_h) $(gdbtypes_h) \ - $(value_h) $(expression_h) $(command_h) $(gdbcmd_h) $(frame_h) \ - $(target_h) $(ax_h) $(ax_gdb_h) $(gdb_string_h) -ax-general.o: ax-general.c $(defs_h) $(ax_h) $(value_h) $(gdb_string_h) -bcache.o: bcache.c $(defs_h) $(gdb_obstack_h) $(bcache_h) $(gdb_string_h) -blockframe.o: blockframe.c $(defs_h) $(symtab_h) $(bfd_h) $(symfile_h) \ - $(objfiles_h) $(frame_h) $(gdbcore_h) $(value_h) $(target_h) \ - $(inferior_h) $(annotate_h) $(regcache_h) $(gdb_assert_h) -breakpoint.o: breakpoint.c $(defs_h) $(symtab_h) $(frame_h) $(breakpoint_h) \ - $(gdbtypes_h) $(expression_h) $(gdbcore_h) $(gdbcmd_h) $(value_h) \ - $(command_h) $(inferior_h) $(gdbthread_h) $(target_h) $(language_h) \ - $(gdb_string_h) $(demangle_h) $(annotate_h) $(symfile_h) \ - $(objfiles_h) $(linespec_h) $(completer_h) $(gdb_h) $(ui_out_h) \ - $(cli_script_h) $(gdb_events_h) -buildsym.o: buildsym.c $(defs_h) $(bfd_h) $(gdb_obstack_h) $(symtab_h) \ - $(symfile_h) $(objfiles_h) $(gdbtypes_h) $(complaints_h) \ - $(gdb_string_h) $(expression_h) $(language_h) $(bcache_h) \ - $(filenames_h) $(macrotab_h) $(demangle_h) $(buildsym_h) \ - $(stabsread_h) -builtin-regs.o: builtin-regs.c $(defs_h) $(builtin_regs_h) $(gdbtypes_h) \ - $(gdb_string_h) $(gdb_assert_h) -c-lang.o: c-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ - $(parser_defs_h) $(language_h) $(c_lang_h) $(valprint_h) \ - $(macroscope_h) $(gdb_assert_h) -c-typeprint.o: c-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(target_h) \ - $(language_h) $(demangle_h) $(c_lang_h) $(typeprint_h) $(cp_abi_h) \ - $(gdb_string_h) -c-valprint.o: c-valprint.c $(defs_h) $(gdb_string_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(value_h) $(valprint_h) $(language_h) \ - $(c_lang_h) $(cp_abi_h) -# OBSOLETE ch-exp.o: ch-exp.c -# OBSOLETE ch-lang.o: ch-lang.c -# OBSOLETE ch-typeprint.o: ch-typeprint.c -# OBSOLETE ch-valprint.o: ch-valprint.c -cli-out.o: cli-out.c $(defs_h) $(ui_out_h) $(cli_out_h) $(gdb_string_h) \ - $(gdb_assert_h) -coff-solib.o: coff-solib.c $(defs_h) $(frame_h) $(bfd_h) $(gdbcore_h) \ - $(symtab_h) $(symfile_h) $(objfiles_h) -coffread.o: coffread.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(demangle_h) \ - $(breakpoint_h) $(bfd_h) $(gdb_obstack_h) $(gdb_string_h) \ - $(coff_internal_h) $(libcoff_h) $(symfile_h) $(objfiles_h) \ - $(buildsym_h) $(gdb_stabs_h) $(stabsread_h) $(complaints_h) \ - $(target_h) $(gdb_assert_h) -complaints.o: complaints.c $(defs_h) $(complaints_h) $(gdbcmd_h) -completer.o: completer.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ - $(filenames_h) $(cli_decode_h) $(gdbcmd_h) $(completer_h) -copying.o: copying.c $(defs_h) $(command_h) $(gdbcmd_h) -core-aout.o: core-aout.c $(defs_h) $(gdbcore_h) $(value_h) $(regcache_h) \ - $(gdb_dirent_h) $(gdb_stat_h) -core-regset.o: core-regset.c $(defs_h) $(gdb_string_h) $(inferior_h) \ - $(target_h) $(command_h) $(gdbcore_h) $(gregset_h) -core-sol2.o: core-sol2.c $(defs_h) $(gdb_string_h) $(regcache_h) \ - $(inferior_h) $(target_h) $(command_h) $(gdbcore_h) $(gregset_h) -corefile.o: corefile.c $(defs_h) $(gdb_string_h) $(inferior_h) $(symtab_h) \ - $(command_h) $(gdbcmd_h) $(bfd_h) $(target_h) $(gdbcore_h) \ - $(dis_asm_h) $(gdb_stat_h) $(completer_h) -corelow.o: corelow.c $(defs_h) $(gdb_string_h) $(frame_h) $(inferior_h) \ - $(symtab_h) $(command_h) $(bfd_h) $(target_h) $(gdbcore_h) \ - $(gdbthread_h) $(regcache_h) $(symfile_h) -cp-abi.o: cp-abi.c $(defs_h) $(value_h) $(cp_abi_h) $(gdb_string_h) -cp-valprint.o: cp-valprint.c $(defs_h) $(gdb_obstack_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(value_h) $(command_h) $(gdbcmd_h) \ - $(demangle_h) $(annotate_h) $(gdb_string_h) $(c_lang_h) $(target_h) \ - $(cp_abi_h) -cpu32bug-rom.o: cpu32bug-rom.c $(defs_h) $(gdbcore_h) $(target_h) \ - $(monitor_h) $(serial_h) $(regcache_h) -cris-tdep.o: cris-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(inferior_h) \ - $(gdbtypes_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) $(value_h) \ - $(opcode_cris_h) $(arch_utils_h) $(regcache_h) $(symfile_h) \ - $(solib_h) $(solib_svr4_h) -# OBSOLETE cxux-nat.o: cxux-nat.c -d10v-tdep.o: d10v-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(gdbtypes_h) \ - $(gdbcmd_h) $(gdbcore_h) $(gdb_string_h) $(value_h) $(inferior_h) \ - $(dis_asm_h) $(symfile_h) $(objfiles_h) $(language_h) \ - $(arch_utils_h) $(regcache_h) $(floatformat_h) $(gdb_sim_d10v_h) \ - $(sim_regno_h) -# OBSOLETE d30v-tdep.o: d30v-tdep.c -dbug-rom.o: dbug-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(regcache_h) -dbxread.o: dbxread.c $(defs_h) $(gdb_string_h) $(gdb_obstack_h) \ - $(gdb_stat_h) $(symtab_h) $(breakpoint_h) $(target_h) $(gdbcore_h) \ - $(libaout_h) $(symfile_h) $(objfiles_h) $(buildsym_h) $(stabsread_h) \ - $(gdb_stabs_h) $(demangle_h) $(language_h) $(complaints_h) \ - $(cp_abi_h) $(aout_aout64_h) $(aout_stab_gnu_h) -dcache.o: dcache.c $(defs_h) $(dcache_h) $(gdbcmd_h) $(gdb_string_h) \ - $(gdbcore_h) $(target_h) -delta68-nat.o: delta68-nat.c $(defs_h) -demangle.o: demangle.c $(defs_h) $(command_h) $(gdbcmd_h) $(demangle_h) \ - $(gdb_string_h) -dink32-rom.o: dink32-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(symfile_h) $(inferior_h) $(regcache_h) -doublest.o: doublest.c $(defs_h) $(doublest_h) $(floatformat_h) \ - $(gdb_assert_h) $(gdb_string_h) $(gdbtypes_h) -dpx2-nat.o: dpx2-nat.c $(defs_h) $(gdbcore_h) $(gdb_string_h) -dsrec.o: dsrec.c $(defs_h) $(serial_h) $(srec_h) -# OBSOLETE dstread.o: dstread.c -dve3900-rom.o: dve3900-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(inferior_h) $(command_h) $(gdb_string_h) $(regcache_h) -dwarf2cfi.o: dwarf2cfi.c $(defs_h) $(gdbcore_h) $(symtab_h) $(symfile_h) \ - $(objfiles_h) $(target_h) $(elf_dwarf2_h) $(inferior_h) \ - $(regcache_h) $(dwarf2cfi_h) $(gdb_assert_h) -dwarf2read.o: dwarf2read.c $(defs_h) $(bfd_h) $(symtab_h) $(gdbtypes_h) \ - $(symfile_h) $(objfiles_h) $(elf_dwarf2_h) $(buildsym_h) \ - $(demangle_h) $(expression_h) $(filenames_h) $(macrotab_h) \ - $(language_h) $(complaints_h) $(bcache_h) $(gdb_string_h) \ - $(gdb_assert_h) -dwarfread.o: dwarfread.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(symfile_h) \ - $(objfiles_h) $(elf_dwarf_h) $(buildsym_h) $(demangle_h) \ - $(expression_h) $(language_h) $(complaints_h) $(gdb_string_h) -elfread.o: elfread.c $(defs_h) $(bfd_h) $(gdb_string_h) $(elf_bfd_h) \ - $(elf_mips_h) $(symtab_h) $(symfile_h) $(objfiles_h) $(buildsym_h) \ - $(stabsread_h) $(gdb_stabs_h) $(complaints_h) $(demangle_h) -environ.o: environ.c $(defs_h) $(environ_h) $(gdb_string_h) -eval.o: eval.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ - $(value_h) $(expression_h) $(target_h) $(frame_h) $(language_h) \ - $(f_lang_h) $(cp_abi_h) -event-loop.o: event-loop.c $(defs_h) $(event_loop_h) $(event_top_h) \ - $(gdb_string_h) -event-top.o: event-top.c $(defs_h) $(top_h) $(inferior_h) $(target_h) \ - $(terminal_h) $(event_loop_h) $(event_top_h) $(gdbcmd_h) -exec.o: exec.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) $(gdbcmd_h) \ - $(language_h) $(symfile_h) $(objfiles_h) $(completer_h) $(value_h) \ - $(gdb_string_h) $(gdbcore_h) $(gdb_stat_h) $(xcoffsolib_h) -expprint.o: expprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ - $(value_h) $(language_h) $(parser_defs_h) -f-lang.o: f-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ - $(expression_h) $(parser_defs_h) $(language_h) $(f_lang_h) \ - $(valprint_h) -f-typeprint.o: f-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(target_h) \ - $(f_lang_h) $(gdb_string_h) -f-valprint.o: f-valprint.c $(defs_h) $(gdb_string_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(value_h) $(valprint_h) $(language_h) \ - $(f_lang_h) $(frame_h) $(gdbcore_h) $(command_h) -fbsd-proc.o: fbsd-proc.c $(defs_h) $(gdbcore_h) $(inferior_h) \ - $(gdb_string_h) $(elf_bfd_h) $(gregset_h) -findvar.o: findvar.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(frame_h) \ - $(value_h) $(gdbcore_h) $(inferior_h) $(target_h) $(gdb_string_h) \ - $(gdb_assert_h) $(floatformat_h) $(symfile_h) $(regcache_h) \ - $(builtin_regs_h) -fork-child.o: fork-child.c $(defs_h) $(gdb_string_h) $(frame_h) \ - $(inferior_h) $(target_h) $(gdb_wait_h) $(gdb_vfork_h) $(gdbcore_h) \ - $(terminal_h) $(gdbthread_h) $(command_h) -# OBSOLETE fr30-tdep.o: fr30-tdep.c -frame.o: frame.c $(defs_h) $(frame_h) $(target_h) $(value_h) $(inferior_h) \ - $(regcache_h) $(gdb_assert_h) -frv-tdep.o: frv-tdep.c $(defs_h) $(inferior_h) $(symfile_h) $(gdbcore_h) \ - $(arch_utils_h) $(regcache_h) -gcore.o: gcore.c $(defs_h) $(cli_decode_h) $(inferior_h) $(gdbcore_h) \ - $(elf_bfd_h) $(symfile_h) $(objfiles_h) -gdb-events.o: gdb-events.c $(defs_h) $(gdb_events_h) $(gdbcmd_h) -gdbarch.o: gdbarch.c $(defs_h) $(arch_utils_h) $(gdbcmd_h) $(inferior_h) \ - $(gdb_string_h) $(symtab_h) $(frame_h) $(inferior_h) $(breakpoint_h) \ - $(gdb_wait_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) $(gdbthread_h) \ - $(annotate_h) $(symfile_h) $(value_h) $(symcat_h) $(floatformat_h) \ - $(gdb_assert_h) $(gdb_string_h) $(gdb_events_h) -gdbtypes.o: gdbtypes.c $(defs_h) $(gdb_string_h) $(bfd_h) $(symtab_h) \ - $(symfile_h) $(objfiles_h) $(gdbtypes_h) $(expression_h) \ - $(language_h) $(target_h) $(value_h) $(demangle_h) $(complaints_h) \ - $(gdbcmd_h) $(wrapper_h) $(cp_abi_h) $(gdb_assert_h) -gnu-nat.o: gnu-nat.c $(gdb_string_h) $(defs_h) $(inferior_h) $(symtab_h) \ - $(value_h) $(language_h) $(target_h) $(gdb_wait_h) $(gdbcmd_h) \ - $(gdbcore_h) $(gdbthread_h) $(gdb_assert_h) $(gnu_nat_h) \ - $(exc_request_S_h) $(notify_S_h) $(process_reply_S_h) \ - $(msg_reply_S_h) $(exc_request_U_h) $(msg_U_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) -gnu-v3-abi.o: gnu-v3-abi.c $(defs_h) $(value_h) $(cp_abi_h) $(demangle_h) \ - $(gdb_assert_h) $(gdb_string_h) -go32-nat.o: go32-nat.c $(defs_h) $(inferior_h) $(gdb_wait_h) $(gdbcore_h) \ - $(command_h) $(gdbcmd_h) $(floatformat_h) $(buildsym_h) \ - $(i387_tdep_h) $(i386_tdep_h) $(value_h) $(regcache_h) \ - $(gdb_string_h) -h8300-tdep.o: h8300-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(dis_asm_h) \ - $(gdbcmd_h) $(gdbtypes_h) $(gdbcore_h) $(gdb_string_h) $(value_h) \ - $(regcache_h) -h8500-tdep.o: h8500-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(gdbtypes_h) \ - $(gdbcmd_h) $(value_h) $(dis_asm_h) $(gdbcore_h) $(regcache_h) -hp300ux-nat.o: hp300ux-nat.c $(defs_h) $(frame_h) $(inferior_h) \ - $(regcache_h) -hpacc-abi.o: hpacc-abi.c $(defs_h) $(value_h) $(gdb_regex_h) $(gdb_string_h) \ - $(gdbtypes_h) $(gdbcore_h) $(cp_abi_h) -hppa-tdep.o: hppa-tdep.c $(defs_h) $(frame_h) $(bfd_h) $(inferior_h) \ - $(value_h) $(regcache_h) $(completer_h) $(symtab_h) $(a_out_encap_h) \ - $(gdb_stat_h) $(gdb_wait_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) \ - $(symfile_h) $(objfiles_h) -hppab-nat.o: hppab-nat.c $(defs_h) $(inferior_h) $(target_h) $(regcache_h) -hppah-nat.o: hppah-nat.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \ - $(gdb_wait_h) $(regcache_h) -hppam3-nat.o: hppam3-nat.c $(defs_h) $(inferior_h) $(floatformat_h) \ - $(regcache_h) -hpread.o: hpread.c $(defs_h) $(bfd_h) $(gdb_string_h) $(hp_symtab_h) \ - $(syms_h) $(symtab_h) $(symfile_h) $(objfiles_h) $(buildsym_h) \ - $(complaints_h) $(gdb_stabs_h) $(gdbtypes_h) $(demangle_h) \ - $(gdb_string_h) -hpux-thread.o: hpux-thread.c $(defs_h) $(gdbthread_h) $(target_h) \ - $(inferior_h) $(regcache_h) $(gdbcore_h) -i386-linux-nat.o: i386-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \ - $(regcache_h) $(gdb_assert_h) $(gdb_string_h) $(gregset_h) \ - $(i387_tdep_h) $(i386_tdep_h) $(i386_linux_tdep_h) -i386-linux-tdep.o: i386-linux-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \ - $(value_h) $(regcache_h) $(inferior_h) $(symtab_h) $(symfile_h) \ - $(objfiles_h) $(solib_svr4_h) $(i386_tdep_h) $(i386_linux_tdep_h) -i386-nat.o: i386-nat.c $(defs_h) $(breakpoint_h) $(command_h) $(gdbcmd_h) -i386-sol2-tdep.o: i386-sol2-tdep.c $(defs_h) $(value_h) $(i386_tdep_h) -i386-stub.o: i386-stub.c -i386-tdep.o: i386-tdep.c $(defs_h) $(gdb_string_h) $(frame_h) $(inferior_h) \ - $(gdbcore_h) $(objfiles_h) $(target_h) $(floatformat_h) $(symfile_h) \ - $(symtab_h) $(gdbcmd_h) $(command_h) $(arch_utils_h) $(regcache_h) \ - $(doublest_h) $(value_h) $(gdb_assert_h) $(i386_tdep_h) \ - $(i387_tdep_h) -# OBSOLETE i386aix-nat.o: i386aix-nat.c -i386b-nat.o: i386b-nat.c $(defs_h) -i386bsd-nat.o: i386bsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \ - $(gdb_assert_h) $(gregset_h) $(i386_tdep_h) $(i387_tdep_h) -i386bsd-tdep.o: i386bsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \ - $(gdbcore_h) $(regcache_h) $(gdb_string_h) $(i386_tdep_h) -i386fbsd-nat.o: i386fbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) -i386gnu-nat.o: i386gnu-nat.c $(defs_h) $(inferior_h) $(floatformat_h) \ - $(regcache_h) $(gdb_assert_h) $(i386_tdep_h) $(gnu_nat_h) \ - $(i387_tdep_h) -i386gnu-tdep.o: i386gnu-tdep.c $(defs_h) $(i386_tdep_h) -i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \ - $(regcache_h) $(target_h) $(i386_tdep_h) -# OBSOLETE i386m3-nat.o: i386m3-nat.c -# OBSOLETE i386mach-nat.o: i386mach-nat.c -i386nbsd-tdep.o: i386nbsd-tdep.c $(defs_h) $(gdbtypes_h) $(gdbcore_h) \ - $(regcache_h) $(arch_utils_h) $(i386_tdep_h) $(i387_tdep_h) \ - $(nbsd_tdep_h) $(solib_svr4_h) -i386obsd-nat.o: i386obsd-nat.c $(defs_h) -i386v-nat.o: i386v-nat.c $(defs_h) $(frame_h) $(inferior_h) $(language_h) \ - $(gdbcore_h) $(gdb_stat_h) $(floatformat_h) $(target_h) -i386v4-nat.o: i386v4-nat.c $(defs_h) $(value_h) $(inferior_h) $(regcache_h) \ - $(i386_tdep_h) $(i387_tdep_h) $(gregset_h) -i387-tdep.o: i387-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(language_h) \ - $(value_h) $(gdbcore_h) $(floatformat_h) $(regcache_h) \ - $(gdb_assert_h) $(gdb_string_h) $(doublest_h) $(i386_tdep_h) -# OBSOLETE i960-tdep.o: i960-tdep.c -ia64-aix-nat.o: ia64-aix-nat.c $(defs_h) $(inferior_h) $(target_h) \ - $(gdbcore_h) $(regcache_h) $(symtab_h) $(bfd_h) $(symfile_h) \ - $(objfiles_h) $(gdb_stat_h) -ia64-aix-tdep.o: ia64-aix-tdep.c $(defs_h) -ia64-linux-nat.o: ia64-linux-nat.c $(defs_h) $(inferior_h) $(target_h) \ - $(gdbcore_h) $(regcache_h) $(gregset_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) $(regcache_h) $(doublest_h) \ - $(value_h) $(objfiles_h) $(elf_common_h) $(elf_bfd_h) -inf-loop.o: inf-loop.c $(defs_h) $(inferior_h) $(target_h) $(event_loop_h) \ - $(event_top_h) $(inf_loop_h) $(remote_h) -infcmd.o: infcmd.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ - $(frame_h) $(inferior_h) $(environ_h) $(value_h) $(gdbcmd_h) \ - $(symfile_h) $(gdbcore_h) $(target_h) $(language_h) $(symfile_h) \ - $(objfiles_h) $(completer_h) $(ui_out_h) $(event_top_h) \ - $(parser_defs_h) $(regcache_h) -inflow.o: inflow.c $(defs_h) $(frame_h) $(inferior_h) $(command_h) \ - $(serial_h) $(terminal_h) $(target_h) $(gdbthread_h) $(gdb_string_h) -infptrace.o: infptrace.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \ - $(gdb_string_h) $(regcache_h) $(gdb_wait_h) $(command_h) \ - $(gdb_dirent_h) $(gdbcore_h) $(gdb_stat_h) -infrun.o: infrun.c $(defs_h) $(gdb_string_h) $(symtab_h) $(frame_h) \ - $(inferior_h) $(breakpoint_h) $(gdb_wait_h) $(gdbcore_h) $(gdbcmd_h) \ - $(cli_script_h) $(target_h) $(gdbthread_h) $(annotate_h) \ - $(symfile_h) $(top_h) $(inf_loop_h) $(regcache_h) $(value_h) -inftarg.o: inftarg.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \ - $(gdbcore_h) $(command_h) $(gdb_stat_h) $(gdb_wait_h) -infttrace.o: infttrace.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \ - $(gdb_string_h) $(gdb_wait_h) $(command_h) $(gdbcore_h) -irix4-nat.o: irix4-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(regcache_h) \ - $(gregset_h) -irix5-nat.o: irix5-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(target_h) \ - $(regcache_h) $(gdb_string_h) $(gregset_h) -jv-lang.o: jv-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ - $(parser_defs_h) $(language_h) $(gdbtypes_h) $(symtab_h) \ - $(symfile_h) $(objfiles_h) $(gdb_string_h) $(value_h) $(c_lang_h) \ - $(jv_lang_h) $(gdbcore_h) -jv-typeprint.o: jv-typeprint.c $(defs_h) $(symtab_h) $(gdbtypes_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 $(defs_h) $(symtab_h) $(gdbtypes_h) \ - $(gdbcore_h) $(expression_h) $(value_h) $(demangle_h) $(valprint_h) \ - $(language_h) $(jv_lang_h) $(c_lang_h) $(annotate_h) $(gdb_string_h) -kod-cisco.o: kod-cisco.c $(defs_h) $(gdb_string_h) $(kod_h) -kod.o: kod.c $(defs_h) $(command_h) $(gdbcmd_h) $(target_h) $(gdb_string_h) \ - $(kod_h) -language.o: language.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ - $(value_h) $(gdbcmd_h) $(expression_h) $(language_h) $(target_h) \ - $(parser_defs_h) $(jv_lang_h) -lin-lwp.o: lin-lwp.c $(defs_h) $(gdb_assert_h) $(gdb_string_h) $(gdb_wait_h) \ - $(gdbthread_h) $(inferior_h) $(target_h) $(regcache_h) $(gdbcmd_h) -linespec.o: linespec.c $(defs_h) $(symtab_h) $(frame_h) $(command_h) \ - $(symfile_h) $(objfiles_h) $(demangle_h) $(value_h) $(completer_h) \ - $(cp_abi_h) -linux-proc.o: linux-proc.c $(defs_h) $(inferior_h) $(regcache_h) \ - $(gregset_h) $(gdbcore_h) $(gdbthread_h) $(elf_bfd_h) \ - $(cli_decode_h) $(gdb_string_h) -lynx-nat.o: lynx-nat.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \ - $(gdbcore_h) $(regcache_h) -m2-lang.o: m2-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ - $(parser_defs_h) $(language_h) $(m2_lang_h) $(c_lang_h) \ - $(valprint_h) -m2-typeprint.o: m2-typeprint.c $(defs_h) $(bfd_h) $(symtab_h) $(gdbtypes_h) \ - $(expression_h) $(value_h) $(gdbcore_h) $(target_h) $(m2_lang_h) -m2-valprint.o: m2-valprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) \ - $(m2_lang_h) -m3-nat.o: m3-nat.c $(defs_h) $(inferior_h) $(symtab_h) $(value_h) \ - $(language_h) $(target_h) $(gdb_wait_h) $(gdbcmd_h) $(gdbcore_h) \ - $(regcache_h) -m32r-rom.o: m32r-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(symtab_h) $(command_h) $(gdbcmd_h) $(symfile_h) \ - $(gdb_string_h) $(objfiles_h) $(inferior_h) $(regcache_h) -m32r-stub.o: m32r-stub.c $(syscall_h) -m32r-tdep.o: m32r-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \ - $(value_h) $(bfd_h) $(gdb_string_h) $(gdbcore_h) $(symfile_h) \ - $(regcache_h) -m68hc11-tdep.o: m68hc11-tdep.c $(defs_h) $(frame_h) $(symtab_h) \ - $(gdbtypes_h) $(gdbcmd_h) $(gdbcore_h) $(gdb_string_h) $(value_h) \ - $(inferior_h) $(dis_asm_h) $(symfile_h) $(objfiles_h) \ - $(arch_utils_h) $(regcache_h) $(target_h) $(opcode_m68hc11_h) \ - $(elf_m68hc11_h) $(elf_bfd_h) -m68k-stub.o: m68k-stub.c -m68k-tdep.o: m68k-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(gdbcore_h) \ - $(value_h) $(gdb_string_h) $(inferior_h) $(regcache_h) \ - $(arch_utils_h) $(gregset_h) -m68klinux-nat.o: m68klinux-nat.c $(defs_h) $(frame_h) $(inferior_h) \ - $(language_h) $(gdbcore_h) $(regcache_h) $(gdb_stat_h) \ - $(floatformat_h) $(target_h) $(gregset_h) -m68knbsd-nat.o: m68knbsd-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \ - $(regcache_h) -m68knbsd-tdep.o: m68knbsd-tdep.c $(defs_h) $(gdbtypes_h) $(regcache_h) -# OBSOLETE m88k-nat.o: m88k-nat.c -# OBSOLETE m88k-tdep.o: m88k-tdep.c -macrocmd.o: macrocmd.c $(defs_h) $(macrotab_h) $(macroexp_h) $(macroscope_h) \ - $(command_h) $(gdbcmd_h) -macroexp.o: macroexp.c $(defs_h) $(gdb_obstack_h) $(bcache_h) $(macrotab_h) \ - $(macroexp_h) $(gdb_assert_h) -macroscope.o: macroscope.c $(defs_h) $(macroscope_h) $(symtab_h) $(target_h) \ - $(frame_h) $(inferior_h) -macrotab.o: macrotab.c $(defs_h) $(gdb_obstack_h) $(splay_tree_h) \ - $(symtab_h) $(symfile_h) $(objfiles_h) $(macrotab_h) $(gdb_assert_h) \ - $(bcache_h) $(complaints_h) -main.o: main.c $(defs_h) $(top_h) $(target_h) $(inferior_h) $(symfile_h) \ - $(gdbcore_h) $(getopt_h) $(gdb_stat_h) $(gdb_string_h) \ - $(event_loop_h) $(ui_out_h) -maint.o: maint.c $(defs_h) $(command_h) $(gdbcmd_h) $(symtab_h) \ - $(gdbtypes_h) $(demangle_h) $(gdbcore_h) $(expression_h) \ - $(language_h) $(symfile_h) $(objfiles_h) $(value_h) $(cli_decode_h) -mcore-rom.o: mcore-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(gdb_string_h) $(regcache_h) $(serial_h) -mcore-tdep.o: mcore-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(value_h) \ - $(gdbcmd_h) $(regcache_h) $(symfile_h) $(gdbcore_h) $(inferior_h) \ - $(arch_utils_h) -mdebugread.o: mdebugread.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \ - $(symfile_h) $(objfiles_h) $(gdb_obstack_h) $(buildsym_h) \ - $(stabsread_h) $(complaints_h) $(demangle_h) $(gdb_assert_h) \ - $(coff_sym_h) $(coff_symconst_h) $(gdb_stat_h) $(gdb_string_h) \ - $(bfd_h) $(coff_ecoff_h) $(libaout_h) $(aout_aout64_h) \ - $(aout_stab_gnu_h) $(expression_h) $(language_h) -mem-break.o: mem-break.c $(defs_h) $(symtab_h) $(breakpoint_h) $(inferior_h) \ - $(target_h) -memattr.o: memattr.c $(defs_h) $(command_h) $(gdbcmd_h) $(memattr_h) \ - $(target_h) $(value_h) $(language_h) $(gdb_string_h) -minsyms.o: minsyms.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) \ - $(symfile_h) $(objfiles_h) $(demangle_h) $(value_h) $(cp_abi_h) -mips-irix-tdep.o: mips-irix-tdep.c $(defs_h) $(osabi_h) $(elf_bfd_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) $(inferior_h) $(gdbcore_h) $(regcache_h) -mips-tdep.o: mips-tdep.c $(defs_h) $(gdb_string_h) $(frame_h) $(inferior_h) \ - $(symtab_h) $(value_h) $(gdbcmd_h) $(language_h) $(gdbcore_h) \ - $(symfile_h) $(objfiles_h) $(gdbtypes_h) $(target_h) $(arch_utils_h) \ - $(regcache_h) $(osabi_h) $(opcode_mips_h) $(elf_mips_h) $(elf_bfd_h) \ - $(symcat_h) -mipsm3-nat.o: mipsm3-nat.c $(defs_h) $(inferior_h) $(regcache_h) -mipsnbsd-nat.o: mipsnbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \ - $(mipsnbsd_tdep_h) -mipsnbsd-tdep.o: mipsnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) \ - $(target_h) $(value_h) $(osabi_h) $(mipsnbsd_tdep_h) $(solib_svr4_h) \ - $(nbsd_tdep_h) -mipsread.o: mipsread.c $(defs_h) $(gdb_string_h) $(bfd_h) $(symtab_h) \ - $(symfile_h) $(objfiles_h) $(buildsym_h) $(stabsread_h) \ - $(coff_sym_h) $(coff_internal_h) $(coff_ecoff_h) $(libcoff_h) \ - $(libecoff_h) $(elf_common_h) $(elf_mips_h) -mipsv4-nat.o: mipsv4-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(target_h) \ - $(regcache_h) $(gregset_h) -mn10200-tdep.o: mn10200-tdep.c $(defs_h) $(frame_h) $(inferior_h) \ - $(target_h) $(value_h) $(bfd_h) $(gdb_string_h) $(gdbcore_h) \ - $(symfile_h) $(regcache_h) -mn10300-tdep.o: mn10300-tdep.c $(defs_h) $(frame_h) $(inferior_h) \ - $(target_h) $(value_h) $(bfd_h) $(gdb_string_h) $(gdbcore_h) \ - $(symfile_h) $(regcache_h) $(arch_utils_h) -mon960-rom.o: mon960-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(srec_h) $(xmodem_h) $(symtab_h) $(symfile_h) \ - $(inferior_h) $(gdb_string_h) -monitor.o: monitor.c $(defs_h) $(gdbcore_h) $(target_h) $(gdb_string_h) \ - $(command_h) $(serial_h) $(monitor_h) $(gdbcmd_h) $(inferior_h) \ - $(gdb_regex_h) $(srec_h) $(regcache_h) -nbsd-tdep.o: nbsd-tdep.c $(defs_h) $(gdb_string_h) $(solib_svr4_h) -nindy-tdep.o: nindy-tdep.c $(defs_h) $(symtab_h) $(frame_h) $(gdbcore_h) -nlmread.o: nlmread.c $(defs_h) $(bfd_h) $(symtab_h) $(symfile_h) \ - $(objfiles_h) $(buildsym_h) $(stabsread_h) -ns32k-tdep.o: ns32k-tdep.c $(defs_h) $(frame_h) $(gdbtypes_h) $(gdbcore_h) \ - $(inferior_h) $(regcache_h) $(target_h) $(arch_utils_h) \ - $(ns32k_tdep_h) -ns32knbsd-nat.o: ns32knbsd-nat.c $(defs_h) $(inferior_h) $(target_h) \ - $(gdbcore_h) $(regcache_h) -ns32knbsd-tdep.o: ns32knbsd-tdep.c $(defs_h) $(ns32k_tdep_h) -objfiles.o: objfiles.c $(defs_h) $(bfd_h) $(symtab_h) $(symfile_h) \ - $(objfiles_h) $(gdb_stabs_h) $(target_h) $(bcache_h) $(gdb_stat_h) \ - $(gdb_obstack_h) $(gdb_string_h) $(breakpoint_h) $(mmalloc_h) -ocd.o: ocd.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) -op50-rom.o: op50-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) -# OBSOLETE os9kread.o: os9kread.c -osabi.o: osabi.c $(defs_h) $(gdb_string_h) $(osabi_h) $(elf_bfd_h) -osfsolib.o: osfsolib.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) \ - $(symfile_h) $(objfiles_h) $(gdbcore_h) $(command_h) $(target_h) \ - $(frame_h) $(gdb_regex_h) $(inferior_h) $(language_h) $(gdbcmd_h) -p-lang.o: p-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ - $(expression_h) $(parser_defs_h) $(language_h) $(p_lang_h) \ - $(valprint_h) -p-typeprint.o: p-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(target_h) \ - $(language_h) $(p_lang_h) $(typeprint_h) $(gdb_string_h) -p-valprint.o: p-valprint.c $(defs_h) $(gdb_obstack_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(value_h) $(command_h) $(gdbcmd_h) \ - $(gdbcore_h) $(demangle_h) $(valprint_h) $(typeprint_h) \ - $(language_h) $(target_h) $(annotate_h) $(p_lang_h) $(cp_abi_h) -pa64solib.o: pa64solib.c $(defs_h) $(frame_h) $(bfd_h) $(libhppa_h) \ - $(gdbcore_h) $(symtab_h) $(breakpoint_h) $(symfile_h) $(objfiles_h) \ - $(inferior_h) $(gdb_stabs_h) $(gdb_stat_h) $(gdbcmd_h) $(language_h) \ - $(regcache_h) -parse.o: parse.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ - $(frame_h) $(expression_h) $(value_h) $(command_h) $(language_h) \ - $(parser_defs_h) $(gdbcmd_h) $(symfile_h) $(inferior_h) \ - $(doublest_h) $(builtin_regs_h) $(gdb_assert_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) $(ppc_tdep_h) \ - $(regcache_h) -ppc-linux-nat.o: ppc-linux-nat.c $(defs_h) $(frame_h) $(inferior_h) \ - $(gdbcore_h) $(regcache_h) $(gregset_h) $(ppc_tdep_h) -ppc-linux-tdep.o: ppc-linux-tdep.c $(defs_h) $(frame_h) $(inferior_h) \ - $(symtab_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(symfile_h) \ - $(objfiles_h) $(regcache_h) $(value_h) $(solib_svr4_h) $(ppc_tdep_h) -ppc-sysv-tdep.o: ppc-sysv-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \ - $(regcache_h) $(value_h) $(ppc_tdep_h) -ppcbug-rom.o: ppcbug-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(regcache_h) -ppcnbsd-nat.o: ppcnbsd-nat.c $(defs_h) $(inferior_h) $(ppc_tdep_h) \ - $(ppcnbsd_tdep_h) -ppcnbsd-tdep.o: ppcnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) \ - $(target_h) $(breakpoint_h) $(value_h) $(ppc_tdep_h) \ - $(ppcnbsd_tdep_h) $(nbsd_tdep_h) $(solib_svr4_h) -printcmd.o: printcmd.c $(defs_h) $(gdb_string_h) $(frame_h) $(symtab_h) \ - $(gdbtypes_h) $(value_h) $(language_h) $(expression_h) $(gdbcore_h) \ - $(gdbcmd_h) $(target_h) $(breakpoint_h) $(demangle_h) $(valprint_h) \ - $(annotate_h) $(symfile_h) $(objfiles_h) $(completer_h) $(ui_out_h) \ - $(gdb_assert_h) -proc-api.o: proc-api.c $(defs_h) $(gdbcmd_h) $(completer_h) $(proc_utils_h) -proc-events.o: proc-events.c $(defs_h) -proc-flags.o: proc-flags.c $(defs_h) -proc-service.o: proc-service.c $(defs_h) $(gdb_proc_service_h) $(inferior_h) \ - $(symtab_h) $(target_h) $(gregset_h) -proc-why.o: proc-why.c $(defs_h) $(proc_utils_h) -procfs.o: procfs.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \ - $(elf_bfd_h) $(gdbcmd_h) $(gdbthread_h) $(gdb_dirent_h) $(X_OK) \ - $(gdb_stat_h) $(proc_utils_h) $(gregset_h) -ptx4-nat.o: ptx4-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(regcache_h) \ - $(gregset_h) -regcache.o: regcache.c $(defs_h) $(inferior_h) $(target_h) $(gdbarch_h) \ - $(gdbcmd_h) $(regcache_h) $(gdb_assert_h) $(gdb_string_h) \ - $(gdbcmd_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) $(inferior_h) $(version_h) $(regcache_h) -# OBSOLETE remote-bug.o: remote-bug.c -remote-e7000.o: remote-e7000.c $(defs_h) $(gdbcore_h) $(gdbarch_h) \ - $(inferior_h) $(target_h) $(value_h) $(command_h) $(gdb_string_h) \ - $(gdbcmd_h) $(serial_h) $(remote_utils_h) $(symfile_h) $(regcache_h) -remote-es.o: remote-es.c $(defs_h) $(gdb_string_h) $(frame_h) $(inferior_h) \ - $(target_h) $(command_h) $(symfile_h) $(remote_utils_h) $(gdbcore_h) \ - $(serial_h) $(regcache_h) $(value_h) -remote-est.o: remote-est.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(regcache_h) -remote-hms.o: remote-hms.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(regcache_h) -remote-mips.o: remote-mips.c $(defs_h) $(inferior_h) $(bfd_h) $(symfile_h) \ - $(gdbcmd_h) $(gdbcore_h) $(serial_h) $(target_h) $(remote_utils_h) \ - $(gdb_string_h) $(gdb_stat_h) $(regcache_h) -# OBSOLETE remote-nindy.o: remote-nindy.c -# OBSOLETE remote-nrom.o: remote-nrom.c -# OBSOLETE remote-os9k.o: remote-os9k.c -remote-rdi.o: remote-rdi.c $(defs_h) $(gdb_string_h) $(frame_h) \ - $(inferior_h) $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) \ - $(objfiles_h) $(gdb_stabs_h) $(gdbthread_h) $(gdbcore_h) \ - $(breakpoint_h) $(completer_h) $(regcache_h) $(arm_tdep_h) \ - $(rdi_share_ardi_h) $(rdi_share_adp_h) $(rdi_share_hsys_h) -remote-rdp.o: remote-rdp.c $(defs_h) $(inferior_h) $(value_h) \ - $(gdb_callback_h) $(command_h) $(symfile_h) $(remote_utils_h) \ - $(gdb_string_h) $(gdbcore_h) $(regcache_h) $(serial_h) $(arm_tdep_h) -remote-sds.o: remote-sds.c $(defs_h) $(gdb_string_h) $(frame_h) \ - $(inferior_h) $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) \ - $(objfiles_h) $(gdb_stabs_h) $(gdbthread_h) $(gdbcore_h) \ - $(regcache_h) $(serial_h) -remote-sim.o: remote-sim.c $(defs_h) $(inferior_h) $(value_h) \ - $(gdb_string_h) $(terminal_h) $(target_h) $(gdbcore_h) \ - $(gdb_callback_h) $(gdb_remote_sim_h) $(remote_utils_h) $(command_h) \ - $(regcache_h) $(gdb_assert_h) $(sim_regno_h) -remote-st.o: remote-st.c $(defs_h) $(gdbcore_h) $(target_h) $(gdb_string_h) \ - $(serial_h) $(regcache_h) -remote-utils.o: remote-utils.c $(defs_h) $(gdb_string_h) $(gdbcmd_h) \ - $(target_h) $(serial_h) $(gdbcore_h) $(inferior_h) $(remote_utils_h) \ - $(regcache_h) -remote-vx.o: remote-vx.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \ - $(gdbcore_h) $(command_h) $(symtab_h) $(complaints_h) $(gdbcmd_h) \ - $(bfd_h) $(symfile_h) $(objfiles_h) $(gdb_stabs_h) $(regcache_h) \ - $(gdb_string_h) $(vx_share_ptrace_h) $(vx_share_xdr_ptrace_h) \ - $(vx_share_xdr_ld_h) $(vx_share_xdr_rdb_h) $(vx_share_dbgRpcLib_h) -remote-vx68.o: remote-vx68.c $(defs_h) $(vx_share_regPacket_h) $(frame_h) \ - $(inferior_h) $(target_h) $(gdbcore_h) $(command_h) $(symtab_h) \ - $(symfile_h) $(regcache_h) $(gdb_string_h) $(vx_share_ptrace_h) \ - $(vx_share_xdr_ptrace_h) $(vx_share_xdr_ld_h) $(vx_share_xdr_rdb_h) \ - $(vx_share_dbgRpcLib_h) -# OBSOLETE remote-vx960.o: remote-vx960.c -remote-vxmips.o: remote-vxmips.c $(defs_h) $(vx_share_regPacket_h) \ - $(frame_h) $(inferior_h) $(target_h) $(gdbcore_h) $(command_h) \ - $(symtab_h) $(symfile_h) $(regcache_h) $(gdb_string_h) \ - $(vx_share_ptrace_h) $(vx_share_xdr_ptrace_h) $(vx_share_xdr_ld_h) \ - $(vx_share_xdr_rdb_h) $(vx_share_dbgRpcLib_h) -remote-vxsparc.o: remote-vxsparc.c $(defs_h) $(vx_share_regPacket_h) \ - $(frame_h) $(inferior_h) $(target_h) $(gdbcore_h) $(command_h) \ - $(symtab_h) $(symfile_h) $(regcache_h) $(gdb_string_h) \ - $(vx_share_ptrace_h) $(vx_share_xdr_ptrace_h) $(vx_share_xdr_ld_h) \ - $(vx_share_xdr_rdb_h) $(vx_share_dbgRpcLib_h) -remote.o: remote.c $(defs_h) $(gdb_string_h) $(inferior_h) $(bfd_h) \ - $(symfile_h) $(target_h) $(gdbcmd_h) $(objfiles_h) $(gdb_stabs_h) \ - $(gdbthread_h) $(remote_h) $(regcache_h) $(value_h) $(gdb_assert_h) \ - $(event_loop_h) $(event_top_h) $(inf_loop_h) $(serial_h) \ - $(gdbcore_h) -rom68k-rom.o: rom68k-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(regcache_h) $(value_h) -rs6000-nat.o: rs6000-nat.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \ - $(xcoffsolib_h) $(symfile_h) $(objfiles_h) $(libbfd_h) $(bfd_h) \ - $(gdb_stabs_h) $(regcache_h) $(arch_utils_h) $(language_h) \ - $(ppc_tdep_h) $(gdb_stat_h) -rs6000-tdep.o: rs6000-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \ - $(target_h) $(gdbcore_h) $(gdbcmd_h) $(symfile_h) $(objfiles_h) \ - $(arch_utils_h) $(regcache_h) $(doublest_h) $(value_h) \ - $(parser_defs_h) $(libbfd_h) $(coff_internal_h) $(libcoff_h) \ - $(coff_xcoff_h) $(libxcoff_h) $(elf_bfd_h) $(solib_svr4_h) \ - $(ppc_tdep_h) -s390-nat.o: s390-nat.c $(defs_h) $(tm_h) $(regcache_h) -s390-tdep.o: s390-tdep.c $(arch_utils_h) $(frame_h) $(inferior_h) \ - $(symtab_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(symfile_h) \ - $(objfiles_h) $(tm_h) $(__bfd_bfd_h) $(floatformat_h) $(regcache_h) \ - $(value_h) $(gdb_assert_h) -scm-exp.o: scm-exp.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ - $(parser_defs_h) $(language_h) $(value_h) $(c_lang_h) $(scm_lang_h) \ - $(scm_tags_h) -scm-lang.o: scm-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ - $(parser_defs_h) $(language_h) $(value_h) $(c_lang_h) $(scm_lang_h) \ - $(scm_tags_h) $(gdb_string_h) $(gdbcore_h) -scm-valprint.o: scm-valprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) \ - $(expression_h) $(parser_defs_h) $(language_h) $(value_h) \ - $(scm_lang_h) $(valprint_h) $(gdbcore_h) -ser-e7kpc.o: ser-e7kpc.c $(defs_h) $(serial_h) $(gdb_string_h) -ser-go32.o: ser-go32.c $(defs_h) $(gdbcmd_h) $(serial_h) $(gdb_string_h) -ser-pipe.o: ser-pipe.c $(defs_h) $(serial_h) $(ser_unix_h) $(gdb_vfork_h) \ - $(gdb_string_h) -ser-tcp.o: ser-tcp.c $(defs_h) $(serial_h) $(ser_unix_h) $(gdb_string_h) -ser-unix.o: ser-unix.c $(defs_h) $(serial_h) $(ser_unix_h) $(terminal_h) \ - $(gdb_string_h) $(event_loop_h) -serial.o: serial.c $(defs_h) $(serial_h) $(gdb_string_h) $(gdbcmd_h) -sh-stub.o: sh-stub.c -sh-tdep.o: sh-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(symfile_h) \ - $(gdbtypes_h) $(gdbcmd_h) $(gdbcore_h) $(value_h) $(dis_asm_h) \ - $(inferior_h) $(gdb_string_h) $(arch_utils_h) $(floatformat_h) \ - $(regcache_h) $(doublest_h) $(sh_tdep_h) $(elf_bfd_h) \ - $(solib_svr4_h) $(elf_sh_h) $(gdb_sim_sh_h) -sh3-rom.o: sh3-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(srec_h) $(arch_utils_h) $(regcache_h) $(sh_tdep_h) -shnbsd-nat.o: shnbsd-nat.c $(defs_h) $(inferior_h) $(shnbsd_tdep_h) -shnbsd-tdep.o: shnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) $(value_h) \ - $(solib_svr4_h) $(nbsd_tdep_h) $(sh_tdep_h) $(shnbsd_tdep_h) -sol-thread.o: sol-thread.c $(defs_h) $(gdbthread_h) $(target_h) \ - $(inferior_h) $(gdbcmd_h) $(gdbcore_h) $(regcache_h) $(symfile_h) \ - $(gregset_h) -solib-aix5.o: solib-aix5.c $(defs_h) $(gdb_string_h) $(elf_external_h) \ - $(symtab_h) $(bfd_h) $(symfile_h) $(objfiles_h) $(gdbcore_h) \ - $(command_h) $(target_h) $(frame_h) $(gdb_regex_h) $(inferior_h) \ - $(environ_h) $(language_h) $(gdbcmd_h) $(solist_h) -solib-irix.o: solib-irix.c $(defs_h) $(symtab_h) $(bfd_h) $(symfile_h) \ - $(objfiles_h) $(gdbcore_h) $(target_h) $(inferior_h) $(solist_h) -solib-legacy.o: solib-legacy.c $(defs_h) $(gdbcore_h) $(solib_svr4_h) -solib-osf.o: solib-osf.c $(defs_h) $(gdb_string_h) $(bfd_h) $(symtab_h) \ - $(symfile_h) $(objfiles_h) $(target_h) $(inferior_h) $(solist_h) -solib-sunos.o: solib-sunos.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) \ - $(symfile_h) $(objfiles_h) $(gdbcore_h) $(inferior_h) $(solist_h) -solib-svr4.o: solib-svr4.c $(defs_h) $(elf_external_h) $(elf_common_h) \ - $(elf_mips_h) $(symtab_h) $(bfd_h) $(symfile_h) $(objfiles_h) \ - $(gdbcore_h) $(target_h) $(inferior_h) $(solist_h) $(solib_svr4_h) -solib.o: solib.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) $(symfile_h) \ - $(objfiles_h) $(gdbcore_h) $(command_h) $(target_h) $(frame_h) \ - $(gdb_regex_h) $(inferior_h) $(environ_h) $(language_h) $(gdbcmd_h) \ - $(completer_h) $(filenames_h) $(solist_h) -somread.o: somread.c $(defs_h) $(bfd_h) $(symtab_h) $(symfile_h) \ - $(objfiles_h) $(buildsym_h) $(stabsread_h) $(gdb_stabs_h) \ - $(complaints_h) $(gdb_string_h) $(demangle_h) $(som_h) $(libhppa_h) -somsolib.o: somsolib.c $(defs_h) $(frame_h) $(bfd_h) $(som_h) $(libhppa_h) \ - $(gdbcore_h) $(symtab_h) $(breakpoint_h) $(symfile_h) $(objfiles_h) \ - $(inferior_h) $(gdb_stabs_h) $(gdb_stat_h) $(gdbcmd_h) $(language_h) \ - $(regcache_h) -source.o: source.c $(defs_h) $(symtab_h) $(expression_h) $(language_h) \ - $(command_h) $(source_h) $(gdbcmd_h) $(frame_h) $(value_h) \ - $(gdb_string_h) $(gdb_stat_h) $(gdbcore_h) $(gdb_regex_h) \ - $(symfile_h) $(objfiles_h) $(annotate_h) $(gdbtypes_h) $(linespec_h) \ - $(filenames_h) $(completer_h) $(ui_out_h) -sparc-linux-nat.o: sparc-linux-nat.c $(defs_h) $(regcache_h) $(gregset_h) -sparc-nat.o: sparc-nat.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \ - $(regcache_h) -sparc-stub.o: sparc-stub.c -sparc-tdep.o: sparc-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \ - $(inferior_h) $(target_h) $(value_h) $(bfd_h) $(gdb_string_h) \ - $(regcache_h) $(osabi_h) $(gregset_h) $(gdbcore_h) $(symfile_h) -sparc64nbsd-nat.o: sparc64nbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \ - $(sparcnbsd_tdep_h) -sparcl-stub.o: sparcl-stub.c -sparcl-tdep.o: sparcl-tdep.c $(defs_h) $(gdbcore_h) $(breakpoint_h) \ - $(target_h) $(serial_h) $(regcache_h) -sparclet-rom.o: sparclet-rom.c $(defs_h) $(gdbcore_h) $(target_h) \ - $(monitor_h) $(serial_h) $(srec_h) $(symtab_h) $(symfile_h) \ - $(regcache_h) -sparclet-stub.o: sparclet-stub.c -sparcnbsd-nat.o: sparcnbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \ - $(sparcnbsd_tdep_h) -sparcnbsd-tdep.o: sparcnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) \ - $(target_h) $(value_h) $(osabi_h) $(sparcnbsd_tdep_h) $(nbsd_tdep_h) \ - $(solib_svr4_h) -stabsread.o: stabsread.c $(defs_h) $(gdb_string_h) $(bfd_h) $(gdb_obstack_h) \ - $(symtab_h) $(gdbtypes_h) $(expression_h) $(symfile_h) $(objfiles_h) \ - $(aout_stab_gnu_h) $(libaout_h) $(aout_aout64_h) $(gdb_stabs_h) \ - $(buildsym_h) $(complaints_h) $(demangle_h) $(language_h) \ - $(doublest_h) $(stabsread_h) -stack.o: stack.c $(defs_h) $(gdb_string_h) $(value_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(language_h) $(frame_h) $(gdbcmd_h) \ - $(gdbcore_h) $(target_h) $(breakpoint_h) $(demangle_h) $(inferior_h) \ - $(annotate_h) $(ui_out_h) -standalone.o: standalone.c $(gdb_stat_h) $(defs_h) $(symtab_h) $(frame_h) \ - $(inferior_h) $(gdb_wait_h) -std-regs.o: std-regs.c $(defs_h) $(builtin_regs_h) $(frame_h) $(gdbtypes_h) \ - $(value_h) $(gdb_string_h) -stop-gdb.o: stop-gdb.c $(defs_h) -sun3-nat.o: sun3-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(regcache_h) -symfile.o: symfile.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \ - $(frame_h) $(target_h) $(value_h) $(symfile_h) $(objfiles_h) \ - $(gdbcmd_h) $(breakpoint_h) $(language_h) $(complaints_h) \ - $(demangle_h) $(inferior_h) $(gdb_stabs_h) $(gdb_obstack_h) \ - $(completer_h) $(bcache_h) $(gdb_string_h) $(gdb_stat_h) -symm-nat.o: symm-nat.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \ - $(target_h) $(regcache_h) $(gdb_stat_h) $(gdbcore_h) $(gdbcore_h) -symm-tdep.o: symm-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \ - $(gdb_stat_h) $(gdbcore_h) -symmisc.o: symmisc.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(bfd_h) \ - $(symfile_h) $(objfiles_h) $(breakpoint_h) $(command_h) \ - $(gdb_obstack_h) $(language_h) $(bcache_h) $(gdb_string_h) -symtab.o: symtab.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \ - $(frame_h) $(target_h) $(value_h) $(symfile_h) $(objfiles_h) \ - $(gdbcmd_h) $(call_cmds_h) $(gdb_regex_h) $(expression_h) \ - $(language_h) $(demangle_h) $(inferior_h) $(linespec_h) \ - $(filenames_h) $(gdb_obstack_h) $(gdb_string_h) $(gdb_stat_h) \ - $(cp_abi_h) -target.o: target.c $(defs_h) $(gdb_string_h) $(target_h) $(gdbcmd_h) \ - $(symtab_h) $(inferior_h) $(bfd_h) $(symfile_h) $(objfiles_h) \ - $(gdb_wait_h) $(dcache_h) $(regcache_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) -thread.o: thread.c $(defs_h) $(symtab_h) $(frame_h) $(inferior_h) \ - $(environ_h) $(value_h) $(target_h) $(gdbthread_h) $(command_h) \ - $(gdbcmd_h) $(regcache_h) $(gdb_h) $(gdb_string_h) $(ui_out_h) -top.o: top.c $(defs_h) $(gdbcmd_h) $(call_cmds_h) $(cli_cmds_h) \ - $(cli_script_h) $(cli_setshow_h) $(cli_decode_h) $(symtab_h) \ - $(inferior_h) $(target_h) $(breakpoint_h) $(gdbtypes_h) \ - $(expression_h) $(value_h) $(language_h) $(terminal_h) $(annotate_h) \ - $(completer_h) $(top_h) $(version_h) $(serial_h) $(doublest_h) \ - $(gdb_assert_h) $(event_top_h) $(gdb_string_h) $(gdb_stat_h) \ - $(ui_out_h) $(cli_out_h) -tracepoint.o: tracepoint.c $(defs_h) $(symtab_h) $(frame_h) $(gdbtypes_h) \ - $(expression_h) $(gdbcmd_h) $(value_h) $(target_h) $(language_h) \ - $(gdb_string_h) $(inferior_h) $(tracepoint_h) $(remote_h) \ - $(linespec_h) $(regcache_h) $(completer_h) $(gdb_events_h) $(ax_h) \ - $(ax_gdb_h) -typeprint.o: typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \ - $(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(command_h) \ - $(gdbcmd_h) $(target_h) $(language_h) $(cp_abi_h) $(gdb_string_h) -ui-file.o: ui-file.c $(defs_h) $(ui_file_h) $(gdb_string_h) -ui-out.o: ui-out.c $(defs_h) $(gdb_string_h) $(expression_h) $(language_h) \ - $(ui_out_h) $(gdb_assert_h) -utils.o: utils.c $(config_h) $(defs_h) $(gdb_assert_h) $(gdb_string_h) \ - $(event_top_h) $(gdbcmd_h) $(serial_h) $(bfd_h) $(target_h) \ - $(demangle_h) $(expression_h) $(language_h) $(annotate_h) \ - $(filenames_h) $(inferior_h) $(mmalloc_h) -uw-thread.o: uw-thread.c $(defs_h) $(gdbthread_h) $(target_h) $(inferior_h) \ - $(regcache_h) $(gregset_h) -v850-tdep.o: v850-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \ - $(value_h) $(bfd_h) $(gdb_string_h) $(gdbcore_h) $(symfile_h) \ - $(arch_utils_h) $(regcache_h) $(symtab_h) -v850ice.o: v850ice.c $(defs_h) $(gdb_string_h) $(frame_h) $(symtab_h) \ - $(inferior_h) $(breakpoint_h) $(symfile_h) $(target_h) $(objfiles_h) \ - $(gdbcore_h) $(value_h) $(command_h) $(regcache_h) -valarith.o: valarith.c $(defs_h) $(value_h) $(symtab_h) $(gdbtypes_h) \ - $(expression_h) $(target_h) $(language_h) $(gdb_string_h) \ - $(doublest_h) -valops.o: valops.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(value_h) $(frame_h) \ - $(inferior_h) $(gdbcore_h) $(target_h) $(demangle_h) $(language_h) \ - $(gdbcmd_h) $(regcache_h) $(cp_abi_h) $(gdb_string_h) \ - $(gdb_assert_h) -valprint.o: valprint.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ - $(value_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) $(language_h) \ - $(annotate_h) $(valprint_h) $(floatformat_h) $(doublest_h) -values.o: values.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ - $(value_h) $(gdbcore_h) $(command_h) $(gdbcmd_h) $(target_h) \ - $(language_h) $(scm_lang_h) $(demangle_h) $(doublest_h) \ - $(gdb_assert_h) $(regcache_h) -varobj.o: varobj.c $(defs_h) $(value_h) $(expression_h) $(frame_h) \ - $(language_h) $(wrapper_h) $(gdbcmd_h) $(gdb_string_h) $(varobj_h) -vax-tdep.o: vax-tdep.c $(defs_h) $(symtab_h) $(opcode_vax_h) $(gdbcore_h) \ - $(inferior_h) $(regcache_h) $(frame_h) $(value_h) $(arch_utils_h) \ - $(vax_tdep_h) -w89k-rom.o: w89k-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \ - $(serial_h) $(xmodem_h) $(regcache_h) -win32-nat.o: win32-nat.c $(defs_h) $(tm_h) $(frame_h) $(inferior_h) \ - $(target_h) $(gdbcore_h) $(command_h) $(completer_h) $(regcache_h) \ - $(top_h) $(i386_tdep_h) $(buildsym_h) $(symfile_h) $(objfiles_h) \ - $(gdb_string_h) $(gdbthread_h) $(gdbcmd_h) -wince-stub.o: wince-stub.c $(wince_stub_h) -wince.o: wince.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) $(gdbcore_h) \ - $(command_h) $(buildsym_h) $(symfile_h) $(objfiles_h) \ - $(gdb_string_h) $(gdbthread_h) $(gdbcmd_h) $(wince_stub_h) \ - $(regcache_h) -wrapper.o: wrapper.c $(defs_h) $(value_h) $(wrapper_h) -x86-64-linux-nat.o: x86-64-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \ - $(regcache_h) $(gdb_assert_h) $(x86_64_tdep_h) -x86-64-linux-tdep.o: x86-64-linux-tdep.c $(defs_h) $(inferior_h) \ - $(gdbcore_h) $(regcache_h) $(x86_64_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) $(objfiles_h) \ - $(x86_64_tdep_h) $(dwarf2cfi_h) $(gdb_assert_h) -xcoffread.o: xcoffread.c $(defs_h) $(bfd_h) $(gdb_string_h) $(gdb_stat_h) \ - $(coff_internal_h) $(libcoff_h) $(coff_xcoff_h) $(libxcoff_h) \ - $(coff_rs6000_h) $(symtab_h) $(gdbtypes_h) $(symfile_h) \ - $(objfiles_h) $(buildsym_h) $(stabsread_h) $(expression_h) \ - $(complaints_h) $(gdb_stabs_h) $(aout_stab_gnu_h) -xcoffsolib.o: xcoffsolib.c $(defs_h) $(bfd_h) $(xcoffsolib_h) $(inferior_h) \ - $(gdbcmd_h) $(symfile_h) $(frame_h) $(gdb_regex_h) -xmodem.o: xmodem.c $(defs_h) $(serial_h) $(target_h) $(xmodem_h) -xstormy16-tdep.o: xstormy16-tdep.c $(defs_h) $(value_h) $(inferior_h) \ - $(symfile_h) $(arch_utils_h) $(regcache_h) $(gdbcore_h) \ - $(objfiles_h) -z8k-tdep.o: z8k-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(gdbcmd_h) \ - $(gdbtypes_h) $(dis_asm_h) $(gdbcore_h) $(regcache_h) $(value_h) - -# -# gdb/cli/ dependencies -# -# Need to explicitly specify the compile rule as make will do nothing -# or try to compile the object file into the mi directory. - -cli-cmds.o: $(srcdir)/cli/cli-cmds.c $(defs_h) $(completer_h) $(target_h) \ - $(gdb_wait_h) $(gdb_regex_h) $(gdb_string_h) $(filenames_h) \ - $(ui_out_h) $(top_h) $(cli_decode_h) $(cli_script_h) \ - $(cli_setshow_h) $(cli_cmds_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-cmds.c -cli-decode.o: $(srcdir)/cli/cli-decode.c $(defs_h) $(symtab_h) \ - $(gdb_regex_h) $(gdb_string_h) $(ui_out_h) $(cli_cmds_h) \ - $(cli_decode_h) $(gdb_assert_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-decode.c -cli-dump.o: $(srcdir)/cli/cli-dump.c $(defs_h) $(gdb_string_h) \ - $(cli_decode_h) $(cli_cmds_h) $(value_h) $(completer_h) \ - $(cli_dump_h) $(gdb_assert_h) $(target_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-dump.c -cli-script.o: $(srcdir)/cli/cli-script.c $(defs_h) $(value_h) $(language_h) \ - $(ui_out_h) $(gdb_string_h) $(top_h) $(cli_cmds_h) $(cli_decode_h) \ - $(cli_script_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-script.c -cli-setshow.o: $(srcdir)/cli/cli-setshow.c $(defs_h) $(value_h) \ - $(gdb_string_h) $(ui_out_h) $(cli_decode_h) $(cli_cmds_h) \ - $(cli_setshow_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-setshow.c -cli-utils.o: $(srcdir)/cli/cli-utils.c $(defs_h) $(cli_utils_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-utils.c - -# -# GDBTK sub-directory -# -# Need to explicitly specify the compile rule as make will do nothing -# or try to compile the object file into the mi directory. - -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) $(gdb_string_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) $(gdb_string_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) $(gdb_string_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 \ - $(defs_h) $(frame_h) $(value_h) - $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(GDBTK_CFLAGS)\ - $(srcdir)/gdbtk/generic/gdbtk-wrapper.c - -# -# gdb/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-cmd-break.o: $(srcdir)/mi/mi-cmd-break.c $(defs_h) $(mi_cmds_h) \ - $(ui_out_h) $(mi_out_h) $(breakpoint_h) $(gdb_string_h) \ - $(mi_getopt_h) $(gdb_events_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) $(target_h) $(value_h) \ - $(mi_cmds_h) $(mi_getopt_h) $(ui_out_h) $(gdb_string_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-disas.c -mi-cmd-stack.o: $(srcdir)/mi/mi-cmd-stack.c $(defs_h) $(target_h) $(frame_h) \ - $(value_h) $(mi_cmds_h) $(ui_out_h) $(symtab_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-stack.c -mi-cmd-var.o: $(srcdir)/mi/mi-cmd-var.c $(defs_h) $(mi_cmds_h) $(ui_out_h) \ - $(mi_out_h) $(varobj_h) $(value_h) $(gdb_string_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-var.c -mi-cmds.o: $(srcdir)/mi/mi-cmds.c $(defs_h) $(top_h) $(mi_cmds_h) \ - $(gdb_string_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmds.c -mi-console.o: $(srcdir)/mi/mi-console.c $(defs_h) $(mi_console_h) \ - $(gdb_string_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-console.c -mi-getopt.o: $(srcdir)/mi/mi-getopt.c $(defs_h) $(mi_getopt_h) \ - $(gdb_string_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-getopt.c -mi-main.o: $(srcdir)/mi/mi-main.c $(defs_h) $(target_h) $(inferior_h) \ - $(gdb_string_h) $(top_h) $(gdbthread_h) $(mi_cmds_h) $(mi_parse_h) \ - $(mi_getopt_h) $(mi_console_h) $(ui_out_h) $(mi_out_h) \ - $(event_loop_h) $(event_top_h) $(gdbcore_h) $(value_h) $(regcache_h) \ - $(gdb_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-main.c -mi-out.o: $(srcdir)/mi/mi-out.c $(defs_h) $(ui_out_h) $(mi_out_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-out.c -mi-parse.o: $(srcdir)/mi/mi-parse.c $(defs_h) $(mi_cmds_h) $(mi_parse_h) \ - $(gdb_string_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-parse.c - -# -# nindy-share sub-directory -# -# Need to explicitly specify the compile rule as make will do nothing -# or try to compile the object file into the mi directory. - -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 $(gdb_wait_h) nindy-share/block_io.h \ - nindy-share/env.h - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/nindy-share/nindy.c - -ttyflush.o: nindy-share/ttyflush.c $(srcdir)/nindy-share/ttyflush.c - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/nindy-share/ttyflush.c - -# -# rdi-share sub-directory -# -# Need to explicitly specify the compile rule as make will do nothing -# or try to compile the object file into the mi directory. - -rdi-share/libangsd.a: force - @dir=rdi-share; \ - if [ -f ./$${dir}/Makefile ] ; then \ - r=`pwd`; export r; \ - srcroot=`cd $(srcdir); pwd`; export srcroot; \ - (cd $${dir}; $(MAKE) $(FLAGS_TO_PASS) all); \ - else \ - true; \ - fi - -# -# Signals sub-directory -# -# Need to explicitly specify the compile rule as make will do nothing -# or try to compile the object file into the mi directory. - -signals.o: $(srcdir)/signals/signals.c $(defs_h) $(target_h) $(gdb_string_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/signals/signals.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-file.o: $(srcdir)/tui/tui-file.c $(defs_h) $(ui_file_h) $(tui_file_h) \ - $(tui_tuiIO_h) $(tui_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-file.c -tui-hooks.o: $(srcdir)/tui/tui-hooks.c $(config_h) $(defs_h) $(symtab_h) \ - $(inferior_h) $(command_h) $(bfd_h) $(symfile_h) $(objfiles_h) \ - $(target_h) $(gdbcore_h) $(event_loop_h) $(frame_h) $(breakpoint_h) \ - $(gdb_events_h) $(tui_h) $(tuiData_h) $(tuiLayout_h) $(tuiIO_h) \ - $(tuiRegs_h) $(tuiWin_h) $(tuiStack_h) $(tuiDataWin_h) \ - $(tuiSourceWin_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-hooks.c -tui-out.o: $(srcdir)/tui/tui-out.c $(defs_h) $(ui_out_h) $(tui_h) \ - $(gdb_string_h) $(gdb_assert_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-out.c -tui.o: $(srcdir)/tui/tui.c $(config_h) $(defs_h) $(gdbcmd_h) $(tui_h) \ - $(tuiData_h) $(tuiLayout_h) $(tuiIO_h) $(tuiRegs_h) $(tuiStack_h) \ - $(tuiWin_h) $(tuiSourceWin_h) $(readline_h) $(target_h) $(frame_h) \ - $(breakpoint_h) $(inferior_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui.c -tuiCommand.o: $(srcdir)/tui/tuiCommand.c $(config_h) $(defs_h) $(tui_h) \ - $(tuiData_h) $(tuiWin_h) $(tuiIO_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiCommand.c -tuiData.o: $(srcdir)/tui/tuiData.c $(config_h) $(defs_h) $(tui_h) \ - $(tuiData_h) $(tuiGeneralWin_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiData.c -tuiDataWin.o: $(srcdir)/tui/tuiDataWin.c $(config_h) $(defs_h) $(tui_h) \ - $(tuiData_h) $(tuiGeneralWin_h) $(tuiRegs_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiDataWin.c -tuiDisassem.o: $(srcdir)/tui/tuiDisassem.c $(config_h) $(defs_h) $(symtab_h) \ - $(breakpoint_h) $(frame_h) $(value_h) $(tui_h) $(tuiData_h) \ - $(tuiWin_h) $(tuiLayout_h) $(tuiSourceWin_h) $(tuiStack_h) \ - $(tui_file_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiDisassem.c -tuiGeneralWin.o: $(srcdir)/tui/tuiGeneralWin.c $(config_h) $(defs_h) \ - $(tui_h) $(tuiData_h) $(tuiGeneralWin_h) $(tuiWin_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiGeneralWin.c -tuiIO.o: $(srcdir)/tui/tuiIO.c $(config_h) $(defs_h) $(terminal_h) \ - $(target_h) $(event_loop_h) $(command_h) $(top_h) $(readline_h) \ - $(tui_h) $(tuiData_h) $(tuiIO_h) $(tuiCommand_h) $(tuiWin_h) \ - $(tuiGeneralWin_h) $(tui_file_h) $(ui_out_h) $(cli_out_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiIO.c -tuiLayout.o: $(srcdir)/tui/tuiLayout.c $(config_h) $(defs_h) $(command_h) \ - $(symtab_h) $(frame_h) $(tui_h) $(tuiData_h) $(tuiDataWin_h) \ - $(tuiGeneralWin_h) $(tuiStack_h) $(tuiRegs_h) $(tuiWin_h) \ - $(tuiSourceWin_h) $(tuiDisassem_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiLayout.c -tuiRegs.o: $(srcdir)/tui/tuiRegs.c $(config_h) $(defs_h) $(tui_h) \ - $(tuiData_h) $(symtab_h) $(gdbtypes_h) $(gdbcmd_h) $(frame_h) \ - $(inferior_h) $(target_h) $(tuiLayout_h) $(tuiWin_h) $(tuiDataWin_h) \ - $(tuiGeneralWin_h) $(tui_file_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiRegs.c -tuiSource.o: $(srcdir)/tui/tuiSource.c $(config_h) $(defs_h) $(symtab_h) \ - $(frame_h) $(breakpoint_h) $(source_h) $(symtab_h) $(tui_h) \ - $(tuiData_h) $(tuiStack_h) $(tuiSourceWin_h) $(tuiSource_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiSource.c -tuiSourceWin.o: $(srcdir)/tui/tuiSourceWin.c $(config_h) $(defs_h) \ - $(symtab_h) $(frame_h) $(breakpoint_h) $(value_h) $(tui_h) \ - $(tuiData_h) $(tuiStack_h) $(tuiWin_h) $(tuiGeneralWin_h) \ - $(tuiSourceWin_h) $(tuiSource_h) $(tuiDisassem_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiSourceWin.c -tuiStack.o: $(srcdir)/tui/tuiStack.c $(config_h) $(defs_h) $(symtab_h) \ - $(breakpoint_h) $(frame_h) $(command_h) $(tui_h) $(tuiData_h) \ - $(tuiStack_h) $(tuiGeneralWin_h) $(tuiSource_h) $(tuiSourceWin_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiStack.c -tuiWin.o: $(srcdir)/tui/tuiWin.c $(config_h) $(defs_h) $(command_h) \ - $(symtab_h) $(breakpoint_h) $(frame_h) $(cli_cmds_h) $(tui_h) \ - $(tuiData_h) $(tuiGeneralWin_h) $(tuiStack_h) $(tuiRegs_h) \ - $(tuiDisassem_h) $(tuiSource_h) $(tuiSourceWin_h) $(tuiDataWin_h) - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tuiWin.c - -# -# vx-share sub-directory -# - -xdr_ld.o: vx-share/xdr_ld.c $(defs_h) vx-share/vxTypes.h \ - vx-share/vxWorks.h vx-share/xdr_ld.h - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/vx-share/xdr_ld.c - -xdr_ptrace.o: vx-share/xdr_ptrace.c $(defs_h) vx-share/vxTypes.h \ - vx-share/vxWorks.h vx-share/xdr_ptrace.h - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/vx-share/xdr_ptrace.c - -xdr_rdb.o: vx-share/xdr_rdb.c $(defs_h) vx-share/vxTypes.h \ - vx-share/vxWorks.h vx-share/xdr_rdb.h - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/vx-share/xdr_rdb.c - -### end of the gdb Makefile.in. diff --git a/gdb/NEWS b/gdb/NEWS deleted file mode 100644 index 8b09cf60b7f..00000000000 --- a/gdb/NEWS +++ /dev/null @@ -1,2174 +0,0 @@ - What has changed in GDB? - (Organized release by release) - -*** Changes since GDB 5.2: - -* ``gdbserver'' now supports multi-threaded applications on some targets - -Support for debugging multi-threaded applications which use -the GNU/Linux LinuxThreads package has been added for -arm*-*-linux*-gnu*, i[3456]86-*-linux*-gnu*, mips*-*-linux*-gnu*, -powerpc*-*-linux*-gnu*, and sh*-*-linux*-gnu*. - -* GDB now supports C/C++ preprocessor macros. - -GDB now expands preprocessor macro invocations in C/C++ expressions, -and provides various commands for showing macro definitions and how -they expand. - -The new command `macro expand EXPRESSION' expands any macro -invocations in expression, and shows the result. - -The new command `show macro MACRO-NAME' shows the definition of the -macro named MACRO-NAME, and where it was defined. - -Most compilers don't include information about macros in the debugging -information by default. In GCC 3.1, for example, you need to compile -your program with the options `-gdwarf-2 -g3'. If the macro -information is present in the executable, GDB will read it. - -* Multi-arched targets. - -DEC Alpha (partial) alpha*-*-* -DEC VAX (partial) vax-*-* -NEC V850 v850-*-* -National Semiconductor NS32000 (partial) ns32k-*-* -Motorola 68000 (partial) m68k-*-* -Motorola MCORE mcore-*-* - -* New targets. - -Fujitsu FRV architecture added by Red Hat frv*-*-* - - -* New native configurations - -Alpha NetBSD alpha*-*-netbsd* -SH NetBSD sh*-*-netbsdelf* -MIPS NetBSD mips*-*-netbsd* -UltraSPARC NetBSD sparc64-*-netbsd* - -* 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. - -Mitsubishi D30V d30v-*-* -OS/9000 i[34]86-*-os9k -IBM AIX PS/2 i[3456]86-*-aix -Fujitsu FR30 fr30-*-elf* -Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88 -Argonaut Risc Chip (ARC) arc-*-* -i386 running Mach 3.0 i[3456]86-*-mach3* -i386 running Mach i[3456]86-*-mach* -i386 running OSF/1 i[3456]86-*osf1mk* -HP/Apollo 68k Family m68*-apollo*-sysv*, - m68*-apollo*-bsd*, - m68*-hp-bsd*, m68*-hp-hpux* -I960 with MON960 i960-*-coff - -* OBSOLETE languages - -CHILL, a Pascal like language used by telecommunications companies. - -* REMOVED configurations and files - -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 - -* New command "set max-user-call-depth " - -This command allows the user to limit the call depth of user-defined -commands. The default is 1024. - -* Changes in FreeBSD/i386 native debugging. - -Support for the "generate-core-file" has been added. - -* New commands "dump", "append", and "restore". - -These commands allow data to be copied from target memory -to a bfd-format or binary file (dump and append), and back -from a file into memory (restore). - -* Improved "next/step" support on multi-processor Alpha Tru64. - -The previous single-step mechanism could cause unpredictable problems, -including the random appearance of SIGSEGV or SIGTRAP signals. The use -of a software single-step mechanism prevents this. - -*** Changes in GDB 5.2.1: - -* 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. - -Dwarf2 .debug_frame & .eh_frame handler improved in many ways. -Surprisingly enough, it works now. -By Michal Ludvig, imported from mainline. - -i386 hardware watchpoint support: -avoid misses on second run for some targets. -By Pierre Muller, 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 GNU/Linux m68*-*-linux* - -* New targets - -Fujitsu FR30 fr30-*-elf* -Intel StrongARM strongarm-*-* -Mitsubishi D30V d30v-*-* - -* OBSOLETE configurations - -Gould PowerNode, NP1 np1-*-*, pn-*-* - -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. - -* ANSI/ISO C - -As a compatibility experiment, GDB's source files buildsym.h and -buildsym.c have been converted to pure standard C, no longer -containing any K&R compatibility code. We believe that all systems in -use today either come with a standard C compiler, or have a GCC port -available. If this is not true, please report the affected -configuration to bug-gdb@gnu.org immediately. See the README file for -information about getting a standard C compiler if you don't have one -already. - -* Readline 2.2 - -GDB now uses readline 2.2. - -* set extension-language - -You can now control the mapping between filename extensions and source -languages by using the `set extension-language' command. For instance, -you can ask GDB to treat .c files as C++ by saying - set extension-language .c c++ -The command `info extensions' lists all of the recognized extensions -and their associated languages. - -* Setting processor type for PowerPC and RS/6000 - -When GDB is configured for a powerpc*-*-* or an rs6000*-*-* target, -you can use the `set processor' command to specify what variant of the -PowerPC family you are debugging. The command - - set processor NAME - -sets the PowerPC/RS6000 variant to NAME. GDB knows about the -following PowerPC and RS6000 variants: - - ppc-uisa PowerPC UISA - a PPC processor as viewed by user-level code - rs6000 IBM RS6000 ("POWER") architecture, user-level view - 403 IBM PowerPC 403 - 403GC IBM PowerPC 403GC - 505 Motorola PowerPC 505 - 860 Motorola PowerPC 860 or 850 - 601 Motorola PowerPC 601 - 602 Motorola PowerPC 602 - 603 Motorola/IBM PowerPC 603 or 603e - 604 Motorola PowerPC 604 or 604e - 750 Motorola/IBM PowerPC 750 or 750 - -At the moment, this command just tells GDB what to name the -special-purpose processor registers. Since almost all the affected -registers are inaccessible to user-level programs, this command is -only useful for remote debugging in its present form. - -* HP-UX support - -Thanks to a major code donation from Hewlett-Packard, GDB now has much -more extensive support for HP-UX. Added features include shared -library support, kernel threads and hardware watchpoints for 11.00, -support for HP's ANSI C and C++ compilers, and a compatibility mode -for xdb and dbx commands. - -* Catchpoints - -HP's donation includes the new concept of catchpoints, which is a -generalization of the old catch command. On HP-UX, it is now possible -to catch exec, fork, and vfork, as well as library loading. - -This means that the existing catch command has changed; its first -argument now specifies the type of catch to be set up. See the -output of "help catch" for a list of catchpoint types. - -* Debugging across forks - -On HP-UX, you can choose which process to debug when a fork() happens -in the inferior. - -* TUI - -HP has donated a curses-based terminal user interface (TUI). To get -it, build with --enable-tui. Although this can be enabled for any -configuration, at present it only works for native HP debugging. - -* GDB remote protocol additions - -A new protocol packet 'X' that writes binary data is now available. -Default behavior is to try 'X', then drop back to 'M' if the stub -fails to respond. The settable variable `remotebinarydownload' -allows explicit control over the use of 'X'. - -For 64-bit targets, the memory packets ('M' and 'm') can now contain a -full 64-bit address. The command - - set remoteaddresssize 32 - -can be used to revert to the old behaviour. For existing remote stubs -the change should not be noticed, as the additional address information -will be discarded. - -In order to assist in debugging stubs, you may use the maintenance -command `packet' to send any text string to the stub. For instance, - - maint packet heythere - -sends the packet "$heythere#". Note that it is very easy to -disrupt a debugging session by sending the wrong packet at the wrong -time. - -The compare-sections command allows you to compare section data on the -target to what is in the executable file without uploading or -downloading, by comparing CRC checksums. - -* Tracing can collect general expressions - -You may now collect general expressions at tracepoints. This requires -further additions to the target-side stub; see tracepoint.c and -doc/agentexpr.texi for further details. - -* mask-address variable for Mips - -For Mips targets, you may control the zeroing of the upper 32 bits of -a 64-bit address by entering `set mask-address on'. This is mainly -of interest to users of embedded R4xxx and R5xxx processors. - -* Higher serial baud rates - -GDB's serial code now allows you to specify baud rates 57600, 115200, -230400, and 460800 baud. (Note that your host system may not be able -to achieve all of these rates.) - -* i960 simulator - -The i960 configuration now includes an initial implementation of a -builtin simulator, contributed by Jim Wilson. - - -*** Changes in GDB-4.17: - -* New native configurations - -Alpha GNU/Linux alpha*-*-linux* -Unixware 2.x i[3456]86-unixware2* -Irix 6.x mips*-sgi-irix6* -PowerPC GNU/Linux powerpc-*-linux* -PowerPC Solaris powerpcle-*-solaris* -Sparc GNU/Linux sparc-*-linux* -Motorola sysV68 R3V7.1 m68k-motorola-sysv - -* New targets - -Argonaut Risc Chip (ARC) arc-*-* -Hitachi H8/300S h8300*-*-* -Matsushita MN10200 w/simulator mn10200-*-* -Matsushita MN10300 w/simulator mn10300-*-* -MIPS NEC VR4100 mips64*vr4100*{,el}-*-elf* -MIPS NEC VR5000 mips64*vr5000*{,el}-*-elf* -MIPS Toshiba TX39 mips64*tx39*{,el}-*-elf* -Mitsubishi D10V w/simulator d10v-*-* -Mitsubishi M32R/D w/simulator m32r-*-elf* -Tsqware Sparclet sparclet-*-* -NEC V850 w/simulator v850-*-* - -* New debugging protocols - -ARM with RDI protocol arm*-*-* -M68K with dBUG monitor m68*-*-{aout,coff,elf} -DDB and LSI variants of PMON protocol mips*-*-* -PowerPC with DINK32 monitor powerpc{,le}-*-eabi -PowerPC with SDS protocol powerpc{,le}-*-eabi -Macraigor OCD (Wiggler) devices powerpc{,le}-*-eabi - -* DWARF 2 - -All configurations can now understand and use the DWARF 2 debugging -format. The choice is automatic, if the symbol file contains DWARF 2 -information. - -* Java frontend - -GDB now includes basic Java language support. This support is -only useful with Java compilers that produce native machine code. - -* solib-absolute-prefix and solib-search-path - -For SunOS and SVR4 shared libraries, you may now set the prefix for -loading absolute shared library symbol files, and the search path for -locating non-absolute shared library symbol files. - -* Live range splitting - -GDB can now effectively debug code for which GCC has performed live -range splitting as part of its optimization. See gdb/doc/LRS for -more details on the expected format of the stabs information. - -* Hurd support - -GDB's support for the GNU Hurd, including thread debugging, has been -updated to work with current versions of the Hurd. - -* ARM Thumb support - -GDB's ARM target configuration now handles the ARM7T (Thumb) 16-bit -instruction set. ARM GDB automatically detects when Thumb -instructions are in use, and adjusts disassembly and backtracing -accordingly. - -* MIPS16 support - -GDB's MIPS target configurations now handle the MIP16 16-bit -instruction set. - -* Overlay support - -GDB now includes support for overlays; if an executable has been -linked such that multiple sections are based at the same address, GDB -will decide which section to use for symbolic info. You can choose to -control the decision manually, using overlay commands, or implement -additional target-side support and use "overlay load-target" to bring -in the overlay mapping. Do "help overlay" for more detail. - -* info symbol - -The command "info symbol
" displays information about -the symbol at the specified address. - -* Trace support - -The standard remote protocol now includes an extension that allows -asynchronous collection and display of trace data. This requires -extensive support in the target-side debugging stub. Tracing mode -includes a new interaction mode in GDB and new commands: see the -file tracepoint.c for more details. - -* MIPS simulator - -Configurations for embedded MIPS now include a simulator contributed -by Cygnus Solutions. The simulator supports the instruction sets -of most MIPS variants. - -* Sparc simulator - -Sparc configurations may now include the ERC32 simulator contributed -by the European Space Agency. The simulator is not built into -Sparc targets by default; configure with --enable-sim to include it. - -* set architecture - -For target configurations that may include multiple variants of a -basic architecture (such as MIPS and SH), you may now set the -architecture explicitly. "set arch" sets, "info arch" lists -the possible architectures. - -*** Changes in GDB-4.16: - -* New native configurations - -Windows 95, x86 Windows NT i[345]86-*-cygwin32 -M68K NetBSD m68k-*-netbsd* -PowerPC AIX 4.x powerpc-*-aix* -PowerPC MacOS powerpc-*-macos* -PowerPC Windows NT powerpcle-*-cygwin32 -RS/6000 AIX 4.x rs6000-*-aix4* - -* New targets - -ARM with RDP protocol arm-*-* -I960 with MON960 i960-*-coff -MIPS VxWorks mips*-*-vxworks* -MIPS VR4300 with PMON mips64*vr4300{,el}-*-elf* -PowerPC with PPCBUG monitor powerpc{,le}-*-eabi* -Hitachi SH3 sh-*-* -Matra Sparclet sparclet-*-* - -* PowerPC simulator - -The powerpc-eabi configuration now includes the PSIM simulator, -contributed by Andrew Cagney, with assistance from Mike Meissner. -PSIM is a very elaborate model of the PowerPC, including not only -basic instruction set execution, but also details of execution unit -performance and I/O hardware. See sim/ppc/README for more details. - -* Solaris 2.5 - -GDB now works with Solaris 2.5. - -* Windows 95/NT native - -GDB will now work as a native debugger on Windows 95 and Windows NT. -To build it from source, you must use the "gnu-win32" environment, -which uses a DLL to emulate enough of Unix to run the GNU tools. -Further information, binaries, and sources are available at -ftp.cygnus.com, under pub/gnu-win32. - -* dont-repeat command - -If a user-defined command includes the command `dont-repeat', then the -command will not be repeated if the user just types return. This is -useful if the command is time-consuming to run, so that accidental -extra keystrokes don't run the same command many times. - -* Send break instead of ^C - -The standard remote protocol now includes an option to send a break -rather than a ^C to the target in order to interrupt it. By default, -GDB will send ^C; to send a break, set the variable `remotebreak' to 1. - -* Remote protocol timeout - -The standard remote protocol includes a new variable `remotetimeout' -that allows you to set the number of seconds before GDB gives up trying -to read from the target. The default value is 2. - -* Automatic tracking of dynamic object loading (HPUX and Solaris only) - -By default GDB will automatically keep track of objects as they are -loaded and unloaded by the dynamic linker. By using the command `set -stop-on-solib-events 1' you can arrange for GDB to stop the inferior -when shared library events occur, thus allowing you to set breakpoints -in shared libraries which are explicitly loaded by the inferior. - -Note this feature does not work on hpux8. On hpux9 you must link -/usr/lib/end.o into your program. This feature should work -automatically on hpux10. - -* Irix 5.x hardware watchpoint support - -Irix 5 configurations now support the use of hardware watchpoints. - -* Mips protocol "SYN garbage limit" - -When debugging a Mips target using the `target mips' protocol, you -may set the number of characters that GDB will ignore by setting -the `syn-garbage-limit'. A value of -1 means that GDB will ignore -every character. The default value is 1050. - -* Recording and replaying remote debug sessions - -If you set `remotelogfile' to the name of a file, gdb will write to it -a recording of a remote debug session. This recording may then be -replayed back to gdb using "gdbreplay". See gdbserver/README for -details. This is useful when you have a problem with GDB while doing -remote debugging; you can make a recording of the session and send it -to someone else, who can then recreate the problem. - -* Speedups for remote debugging - -GDB includes speedups for downloading and stepping MIPS systems using -the IDT monitor, fast downloads to the Hitachi SH E7000 emulator, -and more efficient S-record downloading. - -* Memory use reductions and statistics collection - -GDB now uses less memory and reports statistics about memory usage. -Try the `maint print statistics' command, for example. - -*** Changes in GDB-4.15: - -* Psymtabs for XCOFF - -The symbol reader for AIX GDB now uses partial symbol tables. This -can greatly improve startup time, especially for large executables. - -* Remote targets use caching - -Remote targets now use a data cache to speed up communication with the -remote side. The data cache could lead to incorrect results because -it doesn't know about volatile variables, thus making it impossible to -debug targets which use memory mapped I/O devices. `set remotecache -off' turns the the data cache off. - -* Remote targets may have threads - -The standard remote protocol now includes support for multiple threads -in the target system, using new protocol commands 'H' and 'T'. See -gdb/remote.c for details. - -* NetROM support - -If GDB is configured with `--enable-netrom', then it will include -support for the NetROM ROM emulator from XLNT Designs. The NetROM -acts as though it is a bank of ROM on the target board, but you can -write into it over the network. GDB's support consists only of -support for fast loading into the emulated ROM; to debug, you must use -another protocol, such as standard remote protocol. The usual -sequence is something like - - target nrom - load - target remote :1235 - -* Macintosh host - -GDB now includes support for the Apple Macintosh, as a host only. It -may be run as either an MPW tool or as a standalone application, and -it can debug through the serial port. All the usual GDB commands are -available, but to the target command, you must supply "serial" as the -device type instead of "/dev/ttyXX". See mpw-README in the main -directory for more information on how to build. The MPW configuration -scripts */mpw-config.in support only a few targets, and only the -mips-idt-ecoff target has been tested. - -* Autoconf - -GDB configuration now uses autoconf. This is not user-visible, -but does simplify configuration and building. - -* hpux10 - -GDB now supports hpux10. - -*** Changes in GDB-4.14: - -* New native configurations - -x86 FreeBSD i[345]86-*-freebsd -x86 NetBSD i[345]86-*-netbsd -NS32k NetBSD ns32k-*-netbsd -Sparc NetBSD sparc-*-netbsd - -* New targets - -A29K VxWorks a29k-*-vxworks -HP PA PRO embedded (WinBond W89K & Oki OP50N) hppa*-*-pro* -CPU32 EST-300 emulator m68*-*-est* -PowerPC ELF powerpc-*-elf -WDC 65816 w65-*-* - -* Alpha OSF/1 support for procfs - -GDB now supports procfs under OSF/1-2.x and higher, which makes it -possible to attach to running processes. As the mounting of the /proc -filesystem is optional on the Alpha, GDB automatically determines -the availability of /proc during startup. This can lead to problems -if /proc is unmounted after GDB has been started. - -* Arguments to user-defined commands - -User commands may accept up to 10 arguments separated by whitespace. -Arguments are accessed within the user command via $arg0..$arg9. A -trivial example: -define adder - print $arg0 + $arg1 + $arg2 - -To execute the command use: -adder 1 2 3 - -Defines the command "adder" which prints the sum of its three arguments. -Note the arguments are text substitutions, so they may reference variables, -use complex expressions, or even perform inferior function calls. - -* New `if' and `while' commands - -This makes it possible to write more sophisticated user-defined -commands. Both commands take a single argument, which is the -expression to evaluate, and must be followed by the commands to -execute, one per line, if the expression is nonzero, the list being -terminated by the word `end'. The `if' command list may include an -`else' word, which causes the following commands to be executed only -if the expression is zero. - -* Fortran source language mode - -GDB now includes partial support for Fortran 77. It will recognize -Fortran programs and can evaluate a subset of Fortran expressions, but -variables and functions may not be handled correctly. GDB will work -with G77, but does not yet know much about symbols emitted by other -Fortran compilers. - -* Better HPUX support - -Most debugging facilities now work on dynamic executables for HPPAs -running hpux9 or later. You can attach to running dynamically linked -processes, but by default the dynamic libraries will be read-only, so -for instance you won't be able to put breakpoints in them. To change -that behavior do the following before running the program: - - adb -w a.out - __dld_flags?W 0x5 - control-d - -This will cause the libraries to be mapped private and read-write. -To revert to the normal behavior, do this: - - adb -w a.out - __dld_flags?W 0x4 - control-d - -You cannot set breakpoints or examine data in the library until after -the library is loaded if the function/data symbols do not have -external linkage. - -GDB can now also read debug symbols produced by the HP C compiler on -HPPAs (sorry, no C++, Fortran or 68k support). - -* Target byte order now dynamically selectable - -You can choose which byte order to use with a target system, via the -commands "set endian big" and "set endian little", and you can see the -current setting by using "show endian". You can also give the command -"set endian auto", in which case GDB will use the byte order -associated with the executable. Currently, only embedded MIPS -configurations support dynamic selection of target byte order. - -* New DOS host serial code - -This version uses DPMI interrupts to handle buffered I/O, so you -no longer need to run asynctsr when debugging boards connected to -a PC's serial port. - -*** Changes in GDB-4.13: - -* New "complete" command - -This lists all the possible completions for the rest of the line, if it -were to be given as a command itself. This is intended for use by emacs. - -* Trailing space optional in prompt - -"set prompt" no longer adds a space for you after the prompt you set. This -allows you to set a prompt which ends in a space or one that does not. - -* Breakpoint hit counts - -"info break" now displays a count of the number of times the breakpoint -has been hit. This is especially useful in conjunction with "ignore"; you -can ignore a large number of breakpoint hits, look at the breakpoint info -to see how many times the breakpoint was hit, then run again, ignoring one -less than that number, and this will get you quickly to the last hit of -that breakpoint. - -* Ability to stop printing at NULL character - -"set print null-stop" will cause GDB to stop printing the characters of -an array when the first NULL is encountered. This is useful when large -arrays actually contain only short strings. - -* Shared library breakpoints - -In SunOS 4.x, SVR4, and Alpha OSF/1 configurations, you can now set -breakpoints in shared libraries before the executable is run. - -* Hardware watchpoints - -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 GNU/Linux. - -* Annotations - -Annotations have been added. These are for use with graphical interfaces, -and are still experimental. Currently only gdba.el uses these. - -* Improved Irix 5 support - -GDB now works properly with Irix 5.2. - -* Improved HPPA support - -GDB now works properly with the latest GCC and GAS. - -* New native configurations - -Sequent PTX4 i[34]86-sequent-ptx4 -HPPA running OSF/1 hppa*-*-osf* -Atari TT running SVR4 m68*-*-sysv4* -RS/6000 LynxOS rs6000-*-lynxos* - -* New targets - -OS/9000 i[34]86-*-os9k -MIPS R4000 mips64*{,el}-*-{ecoff,elf} -Sparc64 sparc64-*-* - -* Hitachi SH7000 and E7000-PC ICE support - -There is now support for communicating with the Hitachi E7000-PC ICE. -This is available automatically when GDB is configured for the SH. - -* Fixes - -As usual, a variety of small fixes and improvements, both generic -and configuration-specific. See the ChangeLog for more detail. - -*** Changes in GDB-4.12: - -* Irix 5 is now supported - -* HPPA support - -GDB-4.12 on the HPPA has a number of changes which make it unable -to debug the output from the currently released versions of GCC and -GAS (GCC 2.5.8 and GAS-2.2 or PAGAS-1.36). Until the next major release -of GCC and GAS, versions of these tools designed to work with GDB-4.12 -can be retrieved via anonymous ftp from jaguar.cs.utah.edu:/dist. - - -*** Changes in GDB-4.11: - -* User visible changes: - -* Remote Debugging - -The "set remotedebug" option is now consistent between the mips remote -target, remote targets using the gdb-specific protocol, UDI (AMD's -debug protocol for the 29k) and the 88k bug monitor. It is now an -integer specifying a debug level (normally 0 or 1, but 2 means more -debugging info for the mips target). - -* DEC Alpha native support - -GDB now works on the DEC Alpha. GCC 2.4.5 does not produce usable -debug info, but GDB works fairly well with the DEC compiler and should -work with a future GCC release. See the README file for a few -Alpha-specific notes. - -* Preliminary thread implementation - -GDB now has preliminary thread support for both SGI/Irix and LynxOS. - -* LynxOS native and target support for 386 - -This release has been hosted on LynxOS 2.2, and also can be configured -to remotely debug programs running under LynxOS (see gdb/gdbserver/README -for details). - -* Improvements in C++ mangling/demangling. - -This release has much better g++ debugging, specifically in name -mangling/demangling, virtual function calls, print virtual table, -call methods, ...etc. - -*** Changes in GDB-4.10: - - * User visible changes: - -Remote debugging using the GDB-specific (`target remote') protocol now -supports the `load' command. This is only useful if you have some -other way of getting the stub to the target system, and you can put it -somewhere in memory where it won't get clobbered by the download. - -Filename completion now works. - -When run under emacs mode, the "info line" command now causes the -arrow to point to the line specified. Also, "info line" prints -addresses in symbolic form (as well as hex). - -All vxworks based targets now support a user settable option, called -vxworks-timeout. This option represents the number of seconds gdb -should wait for responses to rpc's. You might want to use this if -your vxworks target is, perhaps, a slow software simulator or happens -to be on the far side of a thin network line. - - * DEC alpha support - -This release contains support for using a DEC alpha as a GDB host for -cross debugging. Native alpha debugging is not supported yet. - - -*** Changes in GDB-4.9: - - * Testsuite - -This is the first GDB release which is accompanied by a matching testsuite. -The testsuite requires installation of dejagnu, which should be available -via ftp from most sites that carry GNU software. - - * C++ demangling - -'Cfront' style demangling has had its name changed to 'ARM' style, to -emphasize that it was written from the specifications in the C++ Annotated -Reference Manual, not necessarily to be compatible with AT&T cfront. Despite -disclaimers, it still generated too much confusion with users attempting to -use gdb with AT&T cfront. - - * Simulators - -GDB now uses a standard remote interface to a simulator library. -So far, the library contains simulators for the Zilog Z8001/2, the -Hitachi H8/300, H8/500 and Super-H. - - * New targets supported - -H8/300 simulator h8300-hitachi-hms or h8300hms -H8/500 simulator h8500-hitachi-hms or h8500hms -SH simulator sh-hitachi-hms or sh -Z8000 simulator z8k-zilog-none or z8ksim -IDT MIPS board over serial line mips-idt-ecoff - -Cross-debugging to GO32 targets is supported. It requires a custom -version of the i386-stub.c module which is integrated with the -GO32 memory extender. - - * New remote protocols - -MIPS remote debugging protocol. - - * New source languages supported - -This version includes preliminary support for Chill, a Pascal like language -used by telecommunications companies. Chill support is also being integrated -into the GNU compiler, but we don't know when it will be publically available. - - -*** Changes in GDB-4.8: - - * HP Precision Architecture supported - -GDB now supports HP PA-RISC machines running HPUX. A preliminary -version of this support was available as a set of patches from the -University of Utah. GDB does not support debugging of programs -compiled with the HP compiler, because HP will not document their file -format. Instead, you must use GCC (version 2.3.2 or later) and PA-GAS -(as available from jaguar.cs.utah.edu:/dist/pa-gas.u4.tar.Z). - -Many problems in the preliminary version have been fixed. - - * Faster and better demangling - -We have improved template demangling and fixed numerous bugs in the GNU style -demangler. It can now handle type modifiers such as `static' or `const'. Wide -character types (wchar_t) are now supported. Demangling of each symbol is now -only done once, and is cached when the symbol table for a file is read in. -This results in a small increase in memory usage for C programs, a moderate -increase in memory usage for C++ programs, and a fantastic speedup in -symbol lookups. - -`Cfront' style demangling still doesn't work with AT&T cfront. It was written -from the specifications in the Annotated Reference Manual, which AT&T's -compiler does not actually implement. - - * G++ multiple inheritance compiler problem - -In the 2.3.2 release of gcc/g++, how the compiler resolves multiple -inheritance lattices was reworked to properly discover ambiguities. We -recently found an example which causes this new algorithm to fail in a -very subtle way, producing bad debug information for those classes. -The file 'gcc.patch' (in this directory) can be applied to gcc to -circumvent the problem. A future GCC release will contain a complete -fix. - -The previous G++ debug info problem (mentioned below for the gdb-4.7 -release) is fixed in gcc version 2.3.2. - - * Improved configure script - -The `configure' script will now attempt to guess your system type if -you don't supply a host system type. The old scheme of supplying a -host system triplet is preferable over using this. All the magic is -done in the new `config.guess' script. Examine it for details. - -We have also brought our configure script much more in line with the FSF's -version. It now supports the --with-xxx options. In particular, -`--with-minimal-bfd' can be used to make the GDB binary image smaller. -The resulting GDB will not be able to read arbitrary object file formats -- -only the format ``expected'' to be used on the configured target system. -We hope to make this the default in a future release. - - * Documentation improvements - -There's new internal documentation on how to modify GDB, and how to -produce clean changes to the code. We implore people to read it -before submitting changes. - -The GDB manual uses new, sexy Texinfo conditionals, rather than arcane -M4 macros. The new texinfo.tex is provided in this release. Pre-built -`info' files are also provided. To build `info' files from scratch, -you will need the latest `makeinfo' release, which will be available in -a future texinfo-X.Y release. - -*NOTE* The new texinfo.tex can cause old versions of TeX to hang. -We're not sure exactly which versions have this problem, but it has -been seen in 3.0. We highly recommend upgrading to TeX version 3.141 -or better. If that isn't possible, there is a patch in -`texinfo/tex3patch' that will modify `texinfo/texinfo.tex' to work -around this problem. - - * New features - -GDB now supports array constants that can be used in expressions typed in by -the user. The syntax is `{element, element, ...}'. Ie: you can now type -`print {1, 2, 3}', and it will build up an array in memory malloc'd in -the target program. - -The new directory `gdb/sparclite' contains a program that demonstrates -how the sparc-stub.c remote stub runs on a Fujitsu SPARClite processor. - - * New native hosts supported - -HP/PA-RISC under HPUX using GNU tools hppa1.1-hp-hpux -386 CPUs running SCO Unix 3.2v4 i386-unknown-sco3.2v4 - - * New targets supported - -AMD 29k family via UDI a29k-amd-udi or udi29k - - * New file formats supported - -BFD now supports reading HP/PA-RISC executables (SOM file format?), -HPUX core files, and SCO 3.2v2 core files. - - * Major bug fixes - -Attaching to processes now works again; thanks for the many bug reports. - -We have also stomped on a bunch of core dumps caused by -printf_filtered("%s") problems. - -We eliminated a copyright problem on the rpc and ptrace header files -for VxWorks, which was discovered at the last minute during the 4.7 -release. You should now be able to build a VxWorks GDB. - -You can now interrupt gdb while an attached process is running. This -will cause the attached process to stop, and give control back to GDB. - -We fixed problems caused by using too many file descriptors -for reading symbols from object files and libraries. This was -especially a problem for programs that used many (~100) shared -libraries. - -The `step' command now only enters a subroutine if there is line number -information for the subroutine. Otherwise it acts like the `next' -command. Previously, `step' would enter subroutines if there was -any debugging information about the routine. This avoids problems -when using `cc -g1' on MIPS machines. - - * Internal improvements - -GDB's internal interfaces have been improved to make it easier to support -debugging of multiple languages in the future. - -GDB now uses a common structure for symbol information internally. -Minimal symbols (derived from linkage symbols in object files), partial -symbols (from a quick scan of debug information), and full symbols -contain a common subset of information, making it easier to write -shared code that handles any of them. - - * New command line options - -We now accept --silent as an alias for --quiet. - - * Mmalloc licensing - -The memory-mapped-malloc library is now licensed under the GNU Library -General Public License. - -*** Changes in GDB-4.7: - - * Host/native/target split - -GDB has had some major internal surgery to untangle the support for -hosts and remote targets. Now, when you configure GDB for a remote -target, it will no longer load in all of the support for debugging -local programs on the host. When fully completed and tested, this will -ensure that arbitrary host/target combinations are possible. - -The primary conceptual shift is to separate the non-portable code in -GDB into three categories. Host specific code is required any time GDB -is compiled on that host, regardless of the target. Target specific -code relates to the peculiarities of the target, but can be compiled on -any host. Native specific code is everything else: it can only be -built when the host and target are the same system. Child process -handling and core file support are two common `native' examples. - -GDB's use of /proc for controlling Unix child processes is now cleaner. -It has been split out into a single module under the `target_ops' vector, -plus two native-dependent functions for each system that uses /proc. - - * New hosts supported - -HP/Apollo 68k (under the BSD domain) m68k-apollo-bsd or apollo68bsd -386 CPUs running various BSD ports i386-unknown-bsd or 386bsd -386 CPUs running SCO Unix i386-unknown-scosysv322 or i386sco - - * New targets supported - -Fujitsu SPARClite sparclite-fujitsu-none or sparclite -68030 and CPU32 m68030-*-*, m68332-*-* - - * New native hosts supported - -386 CPUs running various BSD ports i386-unknown-bsd or 386bsd - (386bsd is not well tested yet) -386 CPUs running SCO Unix i386-unknown-scosysv322 or sco - - * New file formats supported - -BFD now supports COFF files for the Zilog Z8000 microprocessor. It -supports reading of `a.out.adobe' object files, which are an a.out -format extended with minimal information about multiple sections. - - * New commands - -`show copying' is the same as the old `info copying'. -`show warranty' is the same as `info warrantee'. -These were renamed for consistency. The old commands continue to work. - -`info handle' is a new alias for `info signals'. - -You can now define pre-command hooks, which attach arbitrary command -scripts to any command. The commands in the hook will be executed -prior to the user's command. You can also create a hook which will be -executed whenever the program stops. See gdb.texinfo. - - * C++ improvements - -We now deal with Cfront style name mangling, and can even extract type -info from mangled symbols. GDB can automatically figure out which -symbol mangling style your C++ compiler uses. - -Calling of methods and virtual functions has been improved as well. - - * Major bug fixes - -The crash that occured when debugging Sun Ansi-C compiled binaries is -fixed. This was due to mishandling of the extra N_SO stabs output -by the compiler. - -We also finally got Ultrix 4.2 running in house, and fixed core file -support, with help from a dozen people on the net. - -John M. Farrell discovered that the reason that single-stepping was so -slow on all of the Mips based platforms (primarily SGI and DEC) was -that we were trying to demangle and lookup a symbol used for internal -purposes on every instruction that was being stepped through. Changing -the name of that symbol so that it couldn't be mistaken for a C++ -mangled symbol sped things up a great deal. - -Rich Pixley sped up symbol lookups in general by getting much smarter -about when C++ symbol mangling is necessary. This should make symbol -completion (TAB on the command line) much faster. It's not as fast as -we'd like, but it's significantly faster than gdb-4.6. - - * AMD 29k support - -A new user controllable variable 'call_scratch_address' can -specify the location of a scratch area to be used when GDB -calls a function in the target. This is necessary because the -usual method of putting the scratch area on the stack does not work -in systems that have separate instruction and data spaces. - -We integrated changes to support the 29k UDI (Universal Debugger -Interface), but discovered at the last minute that we didn't have all -of the appropriate copyright paperwork. We are working with AMD to -resolve this, and hope to have it available soon. - - * Remote interfaces - -We have sped up the remote serial line protocol, especially for targets -with lots of registers. It now supports a new `expedited status' ('T') -message which can be used in place of the existing 'S' status message. -This allows the remote stub to send only the registers that GDB -needs to make a quick decision about single-stepping or conditional -breakpoints, eliminating the need to fetch the entire register set for -each instruction being stepped through. - -The GDB remote serial protocol now implements a write-through cache for -registers, only re-reading the registers if the target has run. - -There is also a new remote serial stub for SPARC processors. You can -find it in gdb-4.7/gdb/sparc-stub.c. This was written to support the -Fujitsu SPARClite processor, but will run on any stand-alone SPARC -processor with a serial port. - - * Configuration - -Configure.in files have become much easier to read and modify. A new -`table driven' format makes it more obvious what configurations are -supported, and what files each one uses. - - * Library changes - -There is a new opcodes library which will eventually contain all of the -disassembly routines and opcode tables. At present, it only contains -Sparc and Z8000 routines. This will allow the assembler, debugger, and -disassembler (binutils/objdump) to share these routines. - -The libiberty library is now copylefted under the GNU Library General -Public License. This allows more liberal use, and was done so libg++ -can use it. This makes no difference to GDB, since the Library License -grants all the rights from the General Public License. - - * Documentation - -The file gdb-4.7/gdb/doc/stabs.texinfo is a (relatively) complete -reference to the stabs symbol info used by the debugger. It is (as far -as we know) the only published document on this fascinating topic. We -encourage you to read it, compare it to the stabs information on your -system, and send improvements on the document in general (to -bug-gdb@prep.ai.mit.edu). - -And, of course, many bugs have been fixed. - - -*** Changes in GDB-4.6: - - * Better support for C++ function names - -GDB now accepts as input the "demangled form" of C++ overloaded function -names and member function names, and can do command completion on such names -(using TAB, TAB-TAB, and ESC-?). The names have to be quoted with a pair of -single quotes. Examples are 'func (int, long)' and 'obj::operator==(obj&)'. -Make use of command completion, it is your friend. - -GDB also now accepts a variety of C++ mangled symbol formats. They are -the GNU g++ style, the Cfront (ARM) style, and the Lucid (lcc) style. -You can tell GDB which format to use by doing a 'set demangle-style {gnu, -lucid, cfront, auto}'. 'gnu' is the default. Do a 'set demangle-style foo' -for the list of formats. - - * G++ symbol mangling problem - -Recent versions of gcc have a bug in how they emit debugging information for -C++ methods (when using dbx-style stabs). The file 'gcc.patch' (in this -directory) can be applied to gcc to fix the problem. Alternatively, if you -can't fix gcc, you can #define GCC_MANGLE_BUG when compling gdb/symtab.c. The -usual symptom is difficulty with setting breakpoints on methods. GDB complains -about the method being non-existent. (We believe that version 2.2.2 of GCC has -this problem.) - - * New 'maintenance' command - -All of the commands related to hacking GDB internals have been moved out of -the main command set, and now live behind the 'maintenance' command. This -can also be abbreviated as 'mt'. The following changes were made: - - dump-me -> maintenance dump-me - info all-breakpoints -> maintenance info breakpoints - printmsyms -> maintenance print msyms - printobjfiles -> maintenance print objfiles - printpsyms -> maintenance print psymbols - printsyms -> maintenance print symbols - -The following commands are new: - - maintenance demangle Call internal GDB demangler routine to - demangle a C++ link name and prints the result. - maintenance print type Print a type chain for a given symbol - - * Change to .gdbinit file processing - -We now 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. - - * New hosts supported - -Solaris-2.0 !!! sparc-sun-solaris2 or sun4sol2 - -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 -for this release. We are including it so that the more adventurous (or -masochistic) of you can play with it. We also had major problems with the -fact that the compiler that we got from HP doesn't support the -g option. -It costs extra. - - * New targets supported - -Hitachi H8/300 h8300-hitachi-hms or h8300hms - - * More smarts about finding #include files - -GDB now remembers the compilation directory for all include files, and for -all files from which C is generated (like yacc and lex sources). This -greatly improves GDB's ability to find yacc/lex sources, and include files, -especially if you are debugging your program from a directory different from -the one that contains your sources. - -We also fixed a bug which caused difficulty with listing and setting -breakpoints in include files which contain C code. (In the past, you had to -try twice in order to list an include file that you hadn't looked at before.) - - * Interesting infernals change - -GDB now deals with arbitrary numbers of sections, where the symbols for each -section must be relocated relative to that section's landing place in the -target's address space. This work was needed to support ELF with embedded -stabs used by Solaris-2.0. - - * Bug fixes (of course!) - -There have been loads of fixes for the following things: - mips, rs6000, 29k/udi, m68k, g++, type handling, elf/dwarf, m88k, - i960, stabs, DOS(GO32), procfs, etc... - -See the ChangeLog for details. - -*** Changes in GDB-4.5: - - * New machines supported (host and target) - -IBM RS6000 running AIX rs6000-ibm-aix or rs6000 - -SGI Irix-4.x mips-sgi-irix4 or iris4 - - * New malloc package - -GDB now uses a new memory manager called mmalloc, based on gmalloc. -Mmalloc is capable of handling mutiple heaps of memory. It is also -capable of saving a heap to a file, and then mapping it back in later. -This can be used to greatly speedup the startup of GDB by using a -pre-parsed symbol table which lives in a mmalloc managed heap. For -more details, please read mmalloc/mmalloc.texi. - - * info proc - -The 'info proc' command (SVR4 only) has been enhanced quite a bit. See -'help info proc' for details. - - * MIPS ecoff symbol table format - -The code that reads MIPS symbol table format is now supported on all hosts. -Thanks to MIPS for releasing the sym.h and symconst.h files to make this -possible. - - * File name changes for MS-DOS - -Many files in the config directories have been renamed to make it easier to -support GDB on MS-DOSe systems (which have very restrictive file name -conventions :-( ). MS-DOSe host support (under DJ Delorie's GO32 -environment) is close to working but has some remaining problems. Note -that debugging of DOS programs is not supported, due to limitations -in the ``operating system'', but it can be used to host cross-debugging. - - * Cross byte order fixes - -Many fixes have been made to support cross debugging of Sparc and MIPS -targets from hosts whose byte order differs. - - * New -mapped and -readnow options - -If memory-mapped files are available on your system through the 'mmap' -system call, you can use the -mapped option on the `file' or -`symbol-file' commands to cause GDB to write the symbols from your -program into a reusable file. If the program you are debugging is -called `/path/fred', the mapped symbol file will be `./fred.syms'. -Future GDB debugging sessions will notice the presence of this file, -and will quickly map in symbol information from it, rather than reading -the symbol table from the executable program. Using the '-mapped' -option in a GDB `file' or `symbol-file' command has the same effect as -starting GDB with the '-mapped' command-line option. - -You can cause GDB to read the entire symbol table immediately by using -the '-readnow' option with any of the commands that load symbol table -information (or on the GDB command line). This makes the command -slower, but makes future operations faster. - -The -mapped and -readnow options are typically combined in order to -build a `fred.syms' file that contains complete symbol information. -A simple GDB invocation to do nothing but build a `.syms' file for future -use is: - - gdb -batch -nx -mapped -readnow programname - -The `.syms' file is specific to the host machine on which GDB is run. -It holds an exact image of GDB's internal symbol table. It cannot be -shared across multiple host platforms. - - * longjmp() handling - -GDB is now capable of stepping and nexting over longjmp(), _longjmp(), and -siglongjmp() without losing control. This feature has not yet been ported to -all systems. It currently works on many 386 platforms, all MIPS-based -platforms (SGI, DECstation, etc), and Sun3/4. - - * Solaris 2.0 - -Preliminary work has been put in to support the new Solaris OS from Sun. At -this time, it can control and debug processes, but it is not capable of -reading symbols. - - * Bug fixes - -As always, many many bug fixes. The major areas were with g++, and mipsread. -People using the MIPS-based platforms should experience fewer mysterious -crashes and trashed symbol tables. - -*** Changes in GDB-4.4: - - * New machines supported (host and target) - -SCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco - (except core files) -BSD Reno on Vax vax-dec-bsd -Ultrix on Vax vax-dec-ultrix - - * New machines supported (target) - -AMD 29000 embedded, using EBMON a29k-none-none - - * C++ support - -GDB continues to improve its handling of C++. `References' work better. -The demangler has also been improved, and now deals with symbols mangled as -per the Annotated C++ Reference Guide. - -GDB also now handles `stabs' symbol information embedded in MIPS -`ecoff' symbol tables. Since the ecoff format was not easily -extensible to handle new languages such as C++, this appeared to be a -good way to put C++ debugging info into MIPS binaries. This option -will be supported in the GNU C compiler, version 2, when it is -released. - - * New features for SVR4 - -GDB now handles SVR4 shared libraries, in the same fashion as SunOS -shared libraries. Debugging dynamically linked programs should present -only minor differences from debugging statically linked programs. - -The `info proc' command will print out information about any process -on an SVR4 system (including the one you are debugging). At the moment, -it prints the address mappings of the process. - -If you bring up GDB on another SVR4 system, please send mail to -bug-gdb@prep.ai.mit.edu to let us know what changes were reqired (if any). - - * Better dynamic linking support in SunOS - -Reading symbols from shared libraries which contain debugging symbols -now works properly. However, there remain issues such as automatic -skipping of `transfer vector' code during function calls, which -make it harder to debug code in a shared library, than to debug the -same code linked statically. - - * New Getopt - -GDB is now using the latest `getopt' routines from the FSF. This -version accepts the -- prefix for options with long names. GDB will -continue to accept the old forms (-option and +option) as well. -Various single letter abbreviations for options have been explicity -added to the option table so that they won't get overshadowed in the -future by other options that begin with the same letter. - - * Bugs fixed - -The `cleanup_undefined_types' bug that many of you noticed has been squashed. -Many assorted bugs have been handled. Many more remain to be handled. -See the various ChangeLog files (primarily in gdb and bfd) for details. - - -*** Changes in GDB-4.3: - - * New machines supported (host and target) - -Amiga 3000 running Amix m68k-cbm-svr4 or amix -NCR 3000 386 running SVR4 i386-ncr-svr4 or ncr3000 -Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88 - - * Almost SCO Unix support - -We had hoped to support: -SCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco -(except for core file support), but we discovered very late in the release -that it has problems with process groups that render gdb unusable. Sorry -about that. I encourage people to fix it and post the fixes. - - * Preliminary ELF and DWARF support - -GDB can read ELF object files on System V Release 4, and can handle -debugging records for C, in DWARF format, in ELF files. This support -is preliminary. If you bring up GDB on another SVR4 system, please -send mail to bug-gdb@prep.ai.mit.edu to let us know what changes were -reqired (if any). - - * New Readline - -GDB now uses the latest `readline' library. One user-visible change -is that two tabs will list possible command completions, which previously -required typing M-? (meta-question mark, or ESC ?). - - * Bugs fixed - -The `stepi' bug that many of you noticed has been squashed. -Many bugs in C++ have been handled. Many more remain to be handled. -See the various ChangeLog files (primarily in gdb and bfd) for details. - - * State of the MIPS world (in case you wondered): - -GDB can understand the symbol tables emitted by the compilers -supplied by most vendors of MIPS-based machines, including DEC. These -symbol tables are in a format that essentially nobody else uses. - -Some versions of gcc come with an assembler post-processor called -mips-tfile. This program is required if you want to do source-level -debugging of gcc-compiled programs. I believe FSF does not ship -mips-tfile with gcc version 1, but it will eventually come with gcc -version 2. - -Debugging of g++ output remains a problem. g++ version 1.xx does not -really support it at all. (If you're lucky, you should be able to get -line numbers and stack traces to work, but no parameters or local -variables.) With some work it should be possible to improve the -situation somewhat. - -When gcc version 2 is released, you will have somewhat better luck. -However, even then you will get confusing results for inheritance and -methods. - -We will eventually provide full debugging of g++ output on -DECstations. This will probably involve some kind of stabs-in-ecoff -encapulation, but the details have not been worked out yet. - - -*** Changes in GDB-4.2: - - * Improved configuration - -Only one copy of `configure' exists now, and it is not self-modifying. -Porting BFD is simpler. - - * Stepping improved - -The `step' and `next' commands now only stop at the first instruction -of a source line. This prevents the multiple stops that used to occur -in switch statements, for-loops, etc. `Step' continues to stop if a -function that has debugging information is called within the line. - - * Bug fixing - -Lots of small bugs fixed. More remain. - - * New host supported (not target) - -Intel 386 PC clone running Mach i386-none-mach - - -*** Changes in GDB-4.1: - - * Multiple source language support - -GDB now has internal scaffolding to handle several source languages. -It determines the type of each source file from its filename extension, -and will switch expression parsing and number formatting to match the -language of the function in the currently selected stack frame. -You can also specifically set the language to be used, with -`set language c' or `set language modula-2'. - - * GDB and Modula-2 - -GDB now has preliminary support for the GNU Modula-2 compiler, -currently under development at the State University of New York at -Buffalo. Development of both GDB and the GNU Modula-2 compiler will -continue through the fall of 1991 and into 1992. - -Other Modula-2 compilers are currently not supported, and attempting to -debug programs compiled with them will likely result in an error as the -symbol table is read. Feel free to work on it, though! - -There are hooks in GDB for strict type checking and range checking, -in the `Modula-2 philosophy', but they do not currently work. - - * set write on/off - -GDB can now write to executable and core files (e.g. patch -a variable's value). You must turn this switch on, specify -the file ("exec foo" or "core foo"), *then* modify it, e.g. -by assigning a new value to a variable. Modifications take -effect immediately. - - * Automatic SunOS shared library reading - -When you run your program, GDB automatically determines where its -shared libraries (if any) have been loaded, and reads their symbols. -The `share' command is no longer needed. This also works when -examining core files. - - * set listsize - -You can specify the number of lines that the `list' command shows. -The default is 10. - - * New machines supported (host and target) - -SGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris -Sony NEWS (68K) running NEWSOS 3.x: m68k-sony-sysv or news -Ultracomputer (29K) running Sym1: a29k-nyu-sym1 or ultra3 - - * New hosts supported (not targets) - -IBM RT/PC: romp-ibm-aix or rtpc - - * New targets supported (not hosts) - -AMD 29000 embedded with COFF a29k-none-coff -AMD 29000 embedded with a.out a29k-none-aout -Ultracomputer remote kernel debug a29k-nyu-kern - - * New remote interfaces - -AMD 29000 Adapt -AMD 29000 Minimon - - -*** Changes in GDB-4.0: - - * New Facilities - -Wide output is wrapped at good places to make the output more readable. - -Gdb now supports cross-debugging from a host machine of one type to a -target machine of another type. Communication with the target system -is over serial lines. The ``target'' command handles connecting to the -remote system; the ``load'' command will download a program into the -remote system. Serial stubs for the m68k and i386 are provided. Gdb -also supports debugging of realtime processes running under VxWorks, -using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger -stub on the target system. - -New CPUs supported include the AMD 29000 and Intel 960. - -GDB now reads object files and symbol tables via a ``binary file'' -library, which allows a single copy of GDB to debug programs of multiple -object file types such as a.out and coff. - -There is now a GDB reference card in "doc/refcard.tex". (Make targets -refcard.dvi and refcard.ps are available to format it). - - - * Control-Variable user interface simplified - -All variables that control the operation of the debugger can be set -by the ``set'' command, and displayed by the ``show'' command. - -For example, ``set prompt new-gdb=>'' will change your prompt to new-gdb=>. -``Show prompt'' produces the response: -Gdb's prompt is new-gdb=>. - -What follows are the NEW set commands. The command ``help set'' will -print a complete list of old and new set commands. ``help set FOO'' -will give a longer description of the variable FOO. ``show'' will show -all of the variable descriptions and their current settings. - -confirm on/off: Enables warning questions for operations that are - hard to recover from, e.g. rerunning the program while - it is already running. Default is ON. - -editing on/off: Enables EMACS style command line editing - of input. Previous lines can be recalled with - control-P, the current line can be edited with control-B, - you can search for commands with control-R, etc. - Default is ON. - -history filename NAME: NAME is where the gdb command history - will be stored. The default is .gdb_history, - or the value of the environment variable - GDBHISTFILE. - -history size N: The size, in commands, of the command history. The - default is 256, or the value of the environment variable - HISTSIZE. - -history save on/off: If this value is set to ON, the history file will - be saved after exiting gdb. If set to OFF, the - file will not be saved. The default is OFF. - -history expansion on/off: If this value is set to ON, then csh-like - history expansion will be performed on - command line input. The default is OFF. - -radix N: Sets the default radix for input and output. It can be set - to 8, 10, or 16. Note that the argument to "radix" is interpreted - in the current radix, so "set radix 10" is always a no-op. - -height N: This integer value is the number of lines on a page. Default - is 24, the current `stty rows'' setting, or the ``li#'' - setting from the termcap entry matching the environment - variable TERM. - -width N: This integer value is the number of characters on a line. - Default is 80, the current `stty cols'' setting, or the ``co#'' - setting from the termcap entry matching the environment - variable TERM. - -Note: ``set screensize'' is obsolete. Use ``set height'' and -``set width'' instead. - -print address on/off: Print memory addresses in various command displays, - such as stack traces and structure values. Gdb looks - more ``symbolic'' if you turn this off; it looks more - ``machine level'' with it on. Default is ON. - -print array on/off: Prettyprint arrays. New convenient format! Default - is OFF. - -print demangle on/off: Print C++ symbols in "source" form if on, - "raw" form if off. - -print asm-demangle on/off: Same, for assembler level printouts - like instructions. - -print vtbl on/off: Prettyprint C++ virtual function tables. Default is OFF. - - - * Support for Epoch Environment. - -The epoch environment is a version of Emacs v18 with windowing. One -new command, ``inspect'', is identical to ``print'', except that if you -are running in the epoch environment, the value is printed in its own -window. - - - * Support for Shared Libraries - -GDB can now debug programs and core files that use SunOS shared libraries. -Symbols from a shared library cannot be referenced -before the shared library has been linked with the program (this -happens after you type ``run'' and before the function main() is entered). -At any time after this linking (including when examining core files -from dynamically linked programs), gdb reads the symbols from each -shared library when you type the ``sharedlibrary'' command. -It can be abbreviated ``share''. - -sharedlibrary REGEXP: Load shared object library symbols for files - matching a unix regular expression. No argument - indicates to load symbols for all shared libraries. - -info sharedlibrary: Status of loaded shared libraries. - - - * Watchpoints - -A watchpoint stops execution of a program whenever the value of an -expression changes. Checking for this slows down execution -tremendously whenever you are in the scope of the expression, but is -quite useful for catching tough ``bit-spreader'' or pointer misuse -problems. Some machines such as the 386 have hardware for doing this -more quickly, and future versions of gdb will use this hardware. - -watch EXP: Set a watchpoint (breakpoint) for an expression. - -info watchpoints: Information about your watchpoints. - -delete N: Deletes watchpoint number N (same as breakpoints). -disable N: Temporarily turns off watchpoint number N (same as breakpoints). -enable N: Re-enables watchpoint number N (same as breakpoints). - - - * C++ multiple inheritance - -When used with a GCC version 2 compiler, GDB supports multiple inheritance -for C++ programs. - - * C++ exception handling - -Gdb now supports limited C++ exception handling. Besides the existing -ability to breakpoint on an exception handler, gdb can breakpoint on -the raising of an exception (before the stack is peeled back to the -handler's context). - -catch FOO: If there is a FOO exception handler in the dynamic scope, - set a breakpoint to catch exceptions which may be raised there. - Multiple exceptions (``catch foo bar baz'') may be caught. - -info catch: Lists all exceptions which may be caught in the - current stack frame. - - - * Minor command changes - -The command ``call func (arg, arg, ...)'' now acts like the print -command, except it does not print or save a value if the function's result -is void. This is similar to dbx usage. - -The ``up'' and ``down'' commands now always print the frame they end up -at; ``up-silently'' and `down-silently'' can be used in scripts to change -frames without printing. - - * New directory command - -'dir' now adds directories to the FRONT of the source search path. -The path starts off empty. Source files that contain debug information -about the directory in which they were compiled can be found even -with an empty path; Sun CC and GCC include this information. If GDB can't -find your source file in the current directory, type "dir .". - - * Configuring GDB for compilation - -For normal use, type ``./configure host''. See README or gdb.texinfo -for more details. - -GDB now handles cross debugging. If you are remotely debugging between -two different machines, type ``./configure host -target=targ''. -Host is the machine where GDB will run; targ is the machine -where the program that you are debugging will run. diff --git a/gdb/PROBLEMS b/gdb/PROBLEMS deleted file mode 100644 index 4c460d6eb80..00000000000 --- a/gdb/PROBLEMS +++ /dev/null @@ -1,52 +0,0 @@ - - Known problems in GDB 5.3 - - See also: http://www.gnu.org/software/gdb/bugs/ - - -*-*-freebsd* ---------------- - -Due to a kernel bug (kern/35175), detaching from an attached process -will very likely cause the process to be stop or die with a Trace/BPT -trap. - - -i386-*-freebsd[34]* -------------------- - -There is a bug (bin/41671) in FreeBSD's gcc that causes it to emit bad -debug information when using the stabs format (which is the default). -As a result GDB tends to place breakpoints on functions before the -function prologue, and information about function parameters and local -variables is lost. In earlier versions of GDB the effects were rather -limited, but starting with GDB 5.3 the influence is much more -prominent. As a workaround, compile your code with -gdwarf-2. - - -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/gdb/README b/gdb/README deleted file mode 100644 index 64526ae2dfb..00000000000 --- a/gdb/README +++ /dev/null @@ -1,577 +0,0 @@ - README for gdb-5.2.1 release - Updated 19 July, 2002 by Andrew Cagney - -This is GDB, the GNU source-level debugger. - -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 -files, the BFD ("binary file description") library, the readline -library, and other libraries all have directories of their own -underneath the gdb-5.2.1 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 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-5.2.1.tar.gz file, you'll find a directory -called `gdb-5.2.1', 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.1 - ./configure - make - cp gdb/gdb /usr/local/bin/gdb (or wherever you want) - -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. - -You can build GDB in any empty build directory: - - mkdir build - cd build - /gdb-5.2.1/configure - make - cp gdb/gdb /usr/local/bin/gdb (or wherever you want) - -(Building GDB with DJGPP tools for MS-DOS/MS-Windows is slightly -different; see the file gdb-5.2.1/gdb/config/djgpp/README for details.) - - 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'. - - If you get compiler errors during this stage, see the `Reporting -Bugs' section below; there are a few known problems. - - 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-5.2.1/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-5.2.1', in the case of version 5.2.1), you can make -the Info file by typing: - - 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-5.2.1/texinfo'. - - TeX is a typesetting program; it does not print files directly, but -produces output files called DVI files. To print a typeset document, -you need a program to print DVI files. If your system has TeX -installed, chances are it has such a program. The precise command to -use depends on your system; `lpr -d' is common; another (for PostScript -devices) is `dvips'. The DVI print command may require a file name -without any extension or a `.dvi' extension. - - TeX also requires a macro definitions file called `texinfo.tex'. -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-5.2.1/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-5.2.1/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 - -For this to work, you will need the PDFTeX package to be installed. - - -Installing GDB -************** - - GDB comes with a `configure' script that automates the process of -preparing GDB for installation; you can then use `make' to build the -`gdb' program. - - The GDB distribution includes all the source code you need for GDB in -a single directory, whose name is usually composed by appending the -version number to `gdb'. - - For example, the GDB version 5.2.1 distribution is in the `gdb-5.2.1' -directory. That directory contains: - -`gdb-5.2.1/{COPYING,COPYING.LIB}' - Standard GNU license files. Please read them. - -`gdb-5.2.1/bfd' - source for the Binary File Descriptor library - -`gdb-5.2.1/config*' - script for configuring GDB, along with other support files - -`gdb-5.2.1/gdb' - the source specific to GDB itself - -`gdb-5.2.1/include' - GNU include files - -`gdb-5.2.1/libiberty' - source for the `-liberty' free software library - -`gdb-5.2.1/mmalloc' - source for the GNU memory-mapped malloc package - -`gdb-5.2.1/opcodes' - source for the library of opcode tables and disassemblers - -`gdb-5.2.1/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-5.2.1/sim' - source for some simulators (ARM, D10V, SPARC, M32R, MIPS, PPC, V850, etc) - -`gdb-5.2.1/intl' - source for the GNU gettext library, for internationalization. - This is slightly modified from the standalone gettext - distribution you can get from GNU. - -`gdb-5.2.1/texinfo' - The `texinfo.tex' file, which you need in order to make a printed - manual using TeX. - -`gdb-5.2.1/etc' - Coding standards, useful files for editing GDB, and other - miscellanea. - -`gdb-5.2.1/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-5.2.1' directory. - - First switch to the `gdb-VERSION-NUMBER' source directory if you are -not already in it; then run `configure'. - - For example: - - cd gdb-5.2.1 - ./configure - make - - Running `configure' followed by `make' builds the `bfd', -`readline', `mmalloc', and `libiberty' libraries, then `gdb' itself. -The configured source files, and the binaries, are left in the -corresponding source directories. - - `configure' is a Bourne-shell (`/bin/sh') script; if your system -does not recognize this automatically when you run a different shell, -you may need to run `sh' on it explicitly: - - sh configure - - If you run `configure' from a directory that contains source -directories for multiple libraries or programs, such as the `gdb-5.2.1' -source directory for version 5.2.1, `configure' creates configuration -files for every directory level underneath (unless you tell it not to, -with the `--norecursion' option). - - You can run the `configure' script from any of the subordinate -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 5.2.1, type the following to configure only -the `bfd' subdirectory: - - cd gdb-5.2.1/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' -environment variable) is publicly readable. Remember that GDB uses the -shell to start your program--some systems refuse to let GDB debug child -processes whose programs are not readable. - - -Compiling GDB in another directory -================================== - - If you want to run GDB versions for several host or target machines, -you need a different `gdb' compiled for each combination of host and -target. `configure' is designed to make this easy by allowing you to -generate each configuration in a separate subdirectory, rather than in -the source directory. If your `make' program handles the `VPATH' -feature correctly (GNU `make' and SunOS 'make' are two that should), -running `make' in each of these directories builds the `gdb' program -specified there. - - To build `gdb' in a separate directory, run `configure' with the -`--srcdir' option to specify where to find the source. (You also need -to specify a path to find `configure' itself from your working -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 5.2.1, you can build GDB in a separate -directory for a Sun 4 like this: - - cd gdb-5.2.1 - mkdir ../gdb-sun4 - cd ../gdb-sun4 - ../gdb-5.2.1/configure - make - - When `configure' builds a configuration using a remote source -directory, it creates a tree for the binaries with the same structure -(and using the same names) as the tree under the source directory. In -the example, you'd find the Sun 4 library `libiberty.a' in the -directory `gdb-sun4/libiberty', and GDB itself in `gdb-sun4/gdb'. - - One popular reason to build several GDB configurations in separate -directories is to configure GDB for cross-compiling (where GDB runs on -one machine--the host--while debugging programs that run on another -machine--the target). You specify a cross-debugging target by giving -the `--target=TARGET' option to `configure'. - - When you run `make' to build a program or library, you must run it -in a configured directory--whatever directory you were in when you -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-5.2.1' (or in a separate configured directory configured with -`--srcdir=PATH/gdb-5.2.1'), you will build all the required libraries, -and then build GDB. - - When you have multiple hosts or targets configured in separate -directories, you can run `make' on them in parallel (for example, if -they are NFS-mounted on each of the hosts); they will not interfere -with each other. - - -Specifying names for hosts and targets -====================================== - - The specifications used for hosts and targets in the `configure' -script are based on a three-part naming scheme, but some short -predefined aliases are also supported. The full naming scheme encodes -three pieces of information in the following pattern: - - ARCHITECTURE-VENDOR-OS - - For example, you can use the alias `sun4' as a HOST argument or in a -`--target=TARGET' option. The equivalent full name is -`sparc-sun-sunos4'. - - The `configure' script accompanying GDB does not provide any query -facility to list all supported host and target names or aliases. -`configure' calls the Bourne shell script `config.sub' to map -abbreviations to full names; you can read the script, if you wish, or -you can use it to test your guesses on abbreviations--for example: - - % sh config.sub sun4 - sparc-sun-sunos4.1.1 - % sh config.sub sun3 - m68k-sun-sunos4.1.1 - % sh config.sub decstation - mips-dec-ultrix4.2 - % sh config.sub hp300bsd - m68k-hp-bsd - % sh config.sub i386v - i386-pc-sysv - % sh config.sub i786v - Invalid configuration `i786v': machine `i786v' not recognized - -`config.sub' is also distributed in the GDB source directory -(`gdb-5.2.1', for version 5.2.1). - - -`configure' options -=================== - - Here is a summary of the `configure' options and arguments that are -most often useful for building GDB. `configure' also has several other -options not listed here. *note : (configure.info)What Configure Does, -for a full explanation of `configure'. - - configure [--help] - [--prefix=DIR] - [--srcdir=PATH] - [--norecursion] [--rm] - [--enable-build-warnings] - [--target=TARGET] - [--host=HOST] - [HOST] - -You may introduce options with a single `-' rather than `--' if you -prefer; but you may abbreviate option names if you use `--'. - -`--help' - Display a quick summary of how to invoke `configure'. - -`-prefix=DIR' - Configure the source to install programs and files under directory - `DIR'. - -`--srcdir=PATH' - *Warning: using this option requires GNU `make', or another `make' - that compatibly implements the `VPATH' feature.* - Use this option to make configurations in directories separate - from the GDB source directories. Among other things, you can use - this to build (or maintain) several configurations simultaneously, - in separate directories. `configure' writes configuration - specific files in the current directory, but arranges for them to - use the source in the directory PATH. `configure' will create - directories under the working directory in parallel to the source - directories below PATH. - -`--norecursion' - Configure only the directory level where `configure' is executed; - do not propagate configuration to subdirectories. - -`--rm' - Remove the configuration that the other arguments specify. - -`--enable-build-warnings' - When building the GDB sources, ask the compiler to warn about any - code which looks even vaguely suspicious. You should only using - this feature if you're compiling with GNU CC. It passes the - following flags: - -Wimplicit - -Wreturn-type - -Wcomment - -Wtrigraphs - -Wformat - -Wparentheses - -Wpointer-arith - -`--target=TARGET' - Configure GDB for cross-debugging programs running on the specified - TARGET. Without this option, GDB is configured to debug programs - that run on the same machine (HOST) as GDB itself. - - There is no convenient way to generate a list of all available - targets. - -`--host=HOST' - Configure GDB to run on the specified HOST. - - There is no convenient way to generate a list of all available - hosts. - -`HOST ...' - Same as `--host=HOST'. If you omit this, GDB will guess; it's - quite accurate. - -`configure' accepts other options, for compatibility with configuring -other GNU tools recursively; but these are the only options that affect -GDB or its supporting libraries. - - -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 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. - - 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-e7000.c Hitachi E7000 ICE - remote-eb.c AMD 29000 "EBMON" - remote-es.c Ericsson 1800 monitor - remote-est.c EST emulator - remote-hms.c Hitachi Micro Systems H8/300 monitor - remote-mips.c MIPS remote debugging protocol - remote-mm.c AMD 29000 "minimon" - remote-nindy.c Intel 960 "Nindy" - remote-nrom.c NetROM ROM emulator - remote-os9k.c PC running OS/9000 - remote-rdi.c ARM with Angel monitor - remote-rdp.c ARM with Demon monitor - remote-sds.c PowerPC SDS monitor - remote-sim.c Generalized simulator protocol - remote-st.c Tandem ST-2000 monitor - 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 in GDB -===================== - - 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". - - When submitting a bug, please include the GDB version number (e.g., -gdb-5.2.1), 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 -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 -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 -planning to work on something, or at least well ahead of when you -think you will be ready to submit the patches. - - -GDB Testsuite -============= - - 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: - - (1) cd gdb-5.2.1 - make check-gdb - -or - - (2) cd gdb-5.2.1/gdb - make check - -or - - (3) cd gdb-5.2.1/gdb/testsuite - make site.exp (builds the site specific file) - runtest -tool gdb GDB=../gdb (or GDB= as appropriate) - -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. - - -(this is for editing this file with GNU emacs) -Local Variables: -mode: text -End: diff --git a/gdb/TODO b/gdb/TODO deleted file mode 100644 index f743ae7999f..00000000000 --- a/gdb/TODO +++ /dev/null @@ -1,347 +0,0 @@ -If you find inaccuracies in this list, please send mail to -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. - - - GDB 5.1 - Fixes - =============== - -Below is a list of problems identified during the GDB 5.0 release -cycle. People hope to have these problems fixed in 5.1. - --- - -Wow, three bug reports for the same problem in one day! We should -probably make fixing this a real priority :-). - -Anyway, thanks for reporting. - -The following patch will fix the problems with setting breakpoints in -dynamically loaded objects: - - http://sources.redhat.com/ml/gdb-patches/2000-05/msg00230.html - -This patch isn't checked in yet (ping Michael/JimB), but I hope this -will be in the next GDB release. - -There should really be a test in the testsuite for this problem, since -it keeps coming up :-(. Any volunteers? - -Mark - --- - - GDB 5.1 - New features - ====================== - -The following new features should be included in 5.1. - --- - - GDB 5.1 - Cleanups - ================== - -The following code cleanups will hopefully be applied to GDB 5.1. - --- - - GDB 5.1 - Known Problems - ======================== - --- - -z8k - -The z8k has suffered bit rot and is known to not build. The problem -was occuring in the opcodes directory. - --- - -The BFD directory requires bug-fixed AUTOMAKE et.al. - -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 - --- - -Solaris 8 x86 CURSES_H problem -http://sources.redhat.com/ml/gdb/2000-07/msg00038.html - -The original problem was worked around with: - - 2000-06-06 Michael Snyder - - * configure.in: Enable autoconf to find curses.h on Solaris 2.8. - * configure: Regenerate. - -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. - --- - - GDB 5.2 - Fixes - =============== - --- - - GDB 5.2 - New features - ====================== - --- - -GCC 3.0 ABI support (but hopefully sooner...). - --- - -Objective C/C++ support (but hopefully sooner...). - --- - -Import of readline 4.2 - --- - - GDB 5.2 - Cleanups - ================== - -The following cleanups have been identified as part of GDB 5.2. - --- - -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. - --- - -Compiler warnings. - -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 - --- - -Deprecate, if not delete, the following: - - 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. - - STORE_PSEUDO_REGISTER - FETCH_PSEUDO_REGISTER - Now handed by the methods - gdbarch_{read,write}_register() - which sits between core GDB and - the register cache. - - 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. - - 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) - - DO_REGISTERS_INFO - Replace with - FRAME_REGISTER_INFO (frame, ...) - - REGISTER_SIM_REGNO() - If nothing else rename this so that - how it relates to rawreg and the - regnum is clear. - - REGISTER_BYTES - The size of the cache can be computed - on the fly. - - IS_TRAPPED_INTERNALVAR - The pseudo registers should eventually make - this redundant. - --- - -Obsolete the targets: - -arm*-wince-pe -mips*-*-pe -sh*-*-pe - --- - -Obsolete the protocols: - -RDB? - -``As of version 5.3, WindRiver has removed the RDB server (RDB -protocol support is built into gdb).'' -- Till. - --- - -Restructure gdb directory tree so that it avoids any 8.3 and 14 -filename problems. - --- - -Convert GDB build process to AUTOMAKE. - -See also sub-directory configure below. - -The current convention is (kind of) to use $(
_h) in all -dependency lists. It isn't done in a consistent way. - --- - - GDB 5.2 - Known Problems - ======================== - --- - - Code Cleanups: General - ====================== - -The following are more general cleanups and fixes. They are not tied -to any specific release. - - - New Features and Fixes - ====================== - -These are harder than cleanups but easier than work involving -fundamental architectural change. - --- - - Language Support - ================ - -New languages come onto the scene all the time. - --- - -Re: Various C++ things - -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. - -value_virtual_fn_field needs to be fixed so there are no failures for -virtual functions for C++ using g++. - -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. - --- - - - Symbol Support - ============== - --- - -Investiagate ways of reducing memory. - --- - -Investigate ways of improving load time. - --- - - Testsuite Support - ================= - -There are never to many testcases. - --- - -Better thread testsuite. - --- - -Better C++ testsuite. - --- - - Architectural Changes: General - ============================== - -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. - --- - - Architectural Change: Multi-arch et al. - ======================================= - -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. - -This is an ongoing effort. The first milestone is to enable -``multi-arch'' where by all architectural decisions are made at -runtime. - -It should be noted that ``gdbarch'' is really ``gdbabi'' and -``gdbisa''. Once things are multi-arched breaking that down correctly -will become much easier. - --- - - Architectural Change: MI, LIBGDB and scripting languages - ======================================================== - -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. - -The long term objective is it to be possible to integrate GDB into -scripting languages. - --- - - Architectural Change: Async - =========================== - -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. - -The closest a target comes to supporting full asynchronous mode are -the remote targets ``async'' and ``extended-async''. - --- - -# Local Variables: -# mode: text -# End: diff --git a/gdb/a68v-nat.c b/gdb/a68v-nat.c deleted file mode 100644 index 4cc25cedb54..00000000000 --- a/gdb/a68v-nat.c +++ /dev/null @@ -1,122 +0,0 @@ -/* Host-dependent code for Apollo-68ks for GDB, the GNU debugger. - Copyright 1986, 1987, 1989, 1991, 1992, 1993, 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" -#include "inferior.h" -#include "regcache.h" - -#ifndef _ISP__M68K -#define _ISP__M68K 1 -#endif - -#include - -extern int errno; - -void -fetch_inferior_registers (int ignored) -{ - struct ptrace_$data_regs_m68k inferior_registers; - struct ptrace_$floating_regs_m68k inferior_fp_registers; - struct ptrace_$control_regs_m68k inferior_control_registers; - - ptrace_$init_control (&inferior_control_registers); - inferior_fp_registers.size = sizeof (inferior_fp_registers); - - registers_fetched (); - - ptrace (PTRACE_GETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) & inferior_registers, - ptrace_$data_set, - (PTRACE_ARG3_TYPE) & inferior_registers, - ptrace_$data_set); - - ptrace (PTRACE_GETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) & inferior_fp_registers, - ptrace_$floating_set_m68k, - (PTRACE_ARG3_TYPE) & inferior_fp_registers, - ptrace_$floating_set_m68k); - - ptrace (PTRACE_GETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) & inferior_control_registers, - ptrace_$control_set_m68k, - (PTRACE_ARG3_TYPE) & inferior_control_registers, - ptrace_$control_set_m68k); - - bcopy (&inferior_registers, registers, 16 * 4); - bcopy (&inferior_fp_registers, ®isters[REGISTER_BYTE (FP0_REGNUM)], - sizeof inferior_fp_registers.regs); - *(int *) ®isters[REGISTER_BYTE (PS_REGNUM)] = inferior_control_registers.sr; - *(int *) ®isters[REGISTER_BYTE (PC_REGNUM)] = inferior_control_registers.pc; -} - -/* Store our register values back into the inferior. - If REGNO is -1, do this for all registers. - Otherwise, REGNO specifies which register (so we can save time). */ - -void -store_inferior_registers (int regno) -{ - struct ptrace_$data_regs_m68k inferior_registers; - struct ptrace_$floating_regs_m68k inferior_fp_registers; - struct ptrace_$control_regs_m68k inferior_control_registers; - - ptrace_$init_control (&inferior_control_registers); - inferior_fp_registers.size = sizeof (inferior_fp_registers); - - ptrace (PTRACE_GETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) & inferior_fp_registers, - ptrace_$floating_set_m68k, - (PTRACE_ARG3_TYPE) & inferior_fp_registers, - ptrace_$floating_set_m68k); - - ptrace (PTRACE_GETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) & inferior_control_registers, - ptrace_$control_set_m68k, - (PTRACE_ARG3_TYPE) & inferior_control_registers, - ptrace_$control_set_m68k); - - bcopy (registers, &inferior_registers, sizeof (inferior_registers)); - - bcopy (®isters[REGISTER_BYTE (FP0_REGNUM)], inferior_fp_registers.regs, - sizeof inferior_fp_registers.regs); - - inferior_control_registers.sr = *(int *) ®isters[REGISTER_BYTE (PS_REGNUM)]; - inferior_control_registers.pc = *(int *) ®isters[REGISTER_BYTE (PC_REGNUM)]; - - ptrace (PTRACE_SETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) & inferior_registers, - ptrace_$data_set_m68k, - (PTRACE_ARG3_TYPE) & inferior_registers, - ptrace_$data_set_m68k); - - ptrace (PTRACE_SETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) & inferior_fp_registers, - ptrace_$floating_set_m68k, - (PTRACE_ARG3_TYPE) & inferior_fp_registers, - ptrace_$floating_set_m68k); - - ptrace (PTRACE_SETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) & inferior_control_registers, - ptrace_$control_set_m68k, - (PTRACE_ARG3_TYPE) & inferior_control_registers, - ptrace_$control_set_m68k); -} diff --git a/gdb/abug-rom.c b/gdb/abug-rom.c deleted file mode 100644 index 8a9e8ff47c7..00000000000 --- a/gdb/abug-rom.c +++ /dev/null @@ -1,178 +0,0 @@ -/* Remote debugging interface for ABug Rom monitor for GDB, the GNU debugger. - Copyright 1995, 1996, 1998, 1999, 2000, 2001 - Free Software Foundation, Inc. - - Written by Rob Savoye of Cygnus Support - - 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 "gdbcore.h" -#include "target.h" -#include "monitor.h" -#include "serial.h" -#include "regcache.h" - -/* Prototypes for local functions. */ - -static void abug_open (char *args, int from_tty); - -static void -abug_supply_register (char *regname, int regnamelen, char *val, int vallen) -{ - int regno; - - if (regnamelen != 2) - return; - - switch (regname[0]) - { - case 'S': - if (regname[1] != 'R') - return; - regno = PS_REGNUM; - break; - case 'P': - if (regname[1] != 'C') - return; - regno = PC_REGNUM; - break; - case 'D': - if (regname[1] < '0' || regname[1] > '7') - return; - regno = regname[1] - '0' + D0_REGNUM; - break; - case 'A': - if (regname[1] < '0' || regname[1] > '7') - return; - regno = regname[1] - '0' + A0_REGNUM; - break; - default: - return; - } - - monitor_supply_register (regno, val); -} - -/* - * This array of registers needs to match the indexes used by GDB. The - * whole reason this exists is because the various ROM monitors use - * different names than GDB does, and don't support all the - * registers either. So, typing "info reg sp" becomes an "A7". - */ - -static const char * -abug_regname (int index) -{ - static char *regnames[] = - { - "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", - "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", - "PC", - }; - - if ((index >= (sizeof (regnames) / sizeof (regnames[0]))) - || (index < 0) || (index >= NUM_REGS)) - return NULL; - else - return regnames[index]; -} - -/* - * Define the monitor command strings. Since these are passed directly - * through to a printf style function, we need can include formatting - * strings. We also need a CR or LF on the end. - */ - -static struct target_ops abug_ops; - -static char *abug_inits[] = -{"\r", NULL}; - -static struct monitor_ops abug_cmds; - -static void -init_abug_cmds (void) -{ - abug_cmds.flags = MO_CLR_BREAK_USES_ADDR; - abug_cmds.init = abug_inits; /* Init strings */ - abug_cmds.cont = "g\r"; /* continue command */ - abug_cmds.step = "t\r"; /* single step */ - abug_cmds.stop = NULL; /* interrupt command */ - abug_cmds.set_break = "br %x\r"; /* set a breakpoint */ - abug_cmds.clr_break = "nobr %x\r"; /* clear a breakpoint */ - abug_cmds.clr_all_break = "nobr\r"; /* clear all breakpoints */ - abug_cmds.fill = "bf %x:%x %x;b\r"; /* fill (start count val) */ - abug_cmds.setmem.cmdb = "ms %x %02x\r"; /* setmem.cmdb (addr, value) */ - abug_cmds.setmem.cmdw = "ms %x %04x\r"; /* setmem.cmdw (addr, value) */ - abug_cmds.setmem.cmdl = "ms %x %08x\r"; /* setmem.cmdl (addr, value) */ - abug_cmds.setmem.cmdll = NULL; /* setmem.cmdll (addr, value) */ - abug_cmds.setmem.resp_delim = NULL; /* setreg.resp_delim */ - abug_cmds.setmem.term = NULL; /* setreg.term */ - abug_cmds.setmem.term_cmd = NULL; /* setreg.term_cmd */ - abug_cmds.getmem.cmdb = "md %x:%x;b\r"; /* getmem.cmdb (addr, len) */ - abug_cmds.getmem.cmdw = "md %x:%x;b\r"; /* getmem.cmdw (addr, len) */ - abug_cmds.getmem.cmdl = "md %x:%x;b\r"; /* getmem.cmdl (addr, len) */ - abug_cmds.getmem.cmdll = NULL; /* getmem.cmdll (addr, len) */ - abug_cmds.getmem.resp_delim = " "; /* getmem.resp_delim */ - abug_cmds.getmem.term = NULL; /* getmem.term */ - abug_cmds.getmem.term_cmd = NULL; /* getmem.term_cmd */ - abug_cmds.setreg.cmd = "rm %s %x\r"; /* setreg.cmd (name, value) */ - abug_cmds.setreg.resp_delim = "="; /* setreg.resp_delim */ - abug_cmds.setreg.term = "? "; /* setreg.term */ - abug_cmds.setreg.term_cmd = ".\r"; /* setreg.term_cmd */ - abug_cmds.getreg.cmd = "rm %s\r"; /* getreg.cmd (name) */ - abug_cmds.getreg.resp_delim = "="; /* getreg.resp_delim */ - abug_cmds.getreg.term = "? "; /* getreg.term */ - abug_cmds.getreg.term_cmd = ".\r"; /* getreg.term_cmd */ - abug_cmds.dump_registers = "rd\r"; /* dump_registers */ - abug_cmds.register_pattern = "\\(\\w+\\) +=\\([0-9a-fA-F]+\\b\\)"; /* register_pattern */ - abug_cmds.supply_register = abug_supply_register; /* supply_register */ - abug_cmds.load_routine = NULL; /* load_routine (defaults to SRECs) */ - abug_cmds.load = "lo 0\r"; /* download command */ - abug_cmds.loadresp = "\n"; /* load response */ - abug_cmds.prompt = "135Bug>"; /* monitor command prompt */ - abug_cmds.line_term = "\r"; /* end-of-line terminator */ - abug_cmds.cmd_end = NULL; /* optional command terminator */ - abug_cmds.target = &abug_ops; /* target operations */ - abug_cmds.stopbits = SERIAL_1_STOPBITS; /* number of stop bits */ - abug_cmds.regnames = NULL; /* registers names */ - abug_cmds.regname = abug_regname; - abug_cmds.magic = MONITOR_OPS_MAGIC; /* magic */ -}; - -static void -abug_open (char *args, int from_tty) -{ - monitor_open (args, &abug_cmds, from_tty); -} - -void -_initialize_abug_rom (void) -{ - init_abug_cmds (); - init_monitor_ops (&abug_ops); - - abug_ops.to_shortname = "abug"; - abug_ops.to_longname = "ABug monitor"; - abug_ops.to_doc = "Debug via the ABug monitor.\n\ -Specify the serial device it is connected to (e.g. /dev/ttya)."; - abug_ops.to_open = abug_open; - - add_target (&abug_ops); -} diff --git a/gdb/acconfig.h b/gdb/acconfig.h deleted file mode 100644 index 619b0ae97b4..00000000000 --- a/gdb/acconfig.h +++ /dev/null @@ -1,178 +0,0 @@ -/* 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 - -/* Define if prrun_t type is available */ -#undef HAVE_PRRUN_T - -/* Define if fpregset_t type is available. */ -#undef HAVE_FPREGSET_T - -/* Define if gregset_t type is available. */ -#undef HAVE_GREGSET_T - -/* Define if has prgregset_t. */ -#undef HAVE_PRGREGSET_T - -/* Define if has prfpregset_t. */ -#undef HAVE_PRFPREGSET_T - -/* Define if has lwpid_t. */ -#undef HAVE_LWPID_T - -/* 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 has link_map32 (solaris sparc-64 target) */ -#undef _SYSCALL32 - -/* Define if the prfpregset_t type is broken. */ -#undef PRFPREGSET_T_BROKEN - -/* Define if you want to use new multi-fd /proc interface - (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros). */ -#undef NEW_PROC_API - -/* Define if ioctl argument PIOCSET is available. */ -#undef HAVE_PROCFS_PIOCSET - -/* Define if the `long long' type works. */ -#undef CC_HAS_LONG_LONG - -/* Define if the "ll" format works to print long long ints. */ -#undef PRINTF_HAS_LONG_LONG - -/* Define if the "%Lg" format works to print long doubles. */ -#undef PRINTF_HAS_LONG_DOUBLE - -/* Define if the "%Lg" format works to scan long doubles. */ -#undef SCANF_HAS_LONG_DOUBLE - -/* Define if using Solaris thread debugging. */ -#undef HAVE_THREAD_DB_LIB - -/* Define on a GNU/Linux system to work around problems in sys/procfs.h. */ -#undef START_INFERIOR_TRAPS_EXPECTED -#undef sys_quotactl - -/* Define if you have HPUX threads */ -#undef HAVE_HPUX_THREAD_SUPPORT - -/* Define if you want to use the memory mapped malloc package (mmalloc). */ -#undef USE_MMALLOC - -/* Define if the runtime uses a routine from mmalloc before gdb has a chance - to initialize mmalloc, and we want to force checking to be used anyway. - This may cause spurious memory corruption messages if the runtime tries - to explicitly deallocate that memory when gdb calls exit. */ -#undef MMCHECK_FORCE - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define if you want to use the full-screen terminal user interface. */ -#undef TUI - -/* Define if on solaris uses int instead of - size_t, and assorted other type changes. */ -#undef PROC_SERVICE_IS_OLD - -/* If you want to specify a default CPU variant, define this to be its - name, as a C string. */ -#undef TARGET_CPU_DEFAULT - -/* Define if the simulator is being linked in. */ -#undef WITH_SIM - -/* Set to true if the save_state_t structure is present */ -#undef HAVE_STRUCT_SAVE_STATE_T - -/* Set to true if the save_state_t structure has the ss_wide member */ -#undef HAVE_STRUCT_MEMBER_SS_WIDE - -/* Define if defines the PTRACE_GETREGS request. */ -#undef HAVE_PTRACE_GETREGS - -/* 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/gdb/acinclude.m4 b/gdb/acinclude.m4 deleted file mode 100644 index 12f4c483a6b..00000000000 --- a/gdb/acinclude.m4 +++ /dev/null @@ -1,978 +0,0 @@ -dnl written by Rob Savoye for Cygnus Support -dnl major rewriting for Tcl 7.5 by Don Libes - -dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition. -sinclude(../bfd/acinclude.m4) - -dnl This gets the standard macros, like the TCL, TK, etc ones. -sinclude(../config/acinclude.m4) - -dnl CYGNUS LOCAL: This gets the right posix flag for gcc -AC_DEFUN(CY_AC_TCL_LYNX_POSIX, -[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP]) -AC_MSG_CHECKING([if running LynxOS]) -AC_CACHE_VAL(ac_cv_os_lynx, -[AC_EGREP_CPP(yes, -[/* - * The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__" - */ -#if defined(__Lynx__) || defined(Lynx) -yes -#endif -], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)]) -# -if test "$ac_cv_os_lynx" = "yes" ; then - AC_MSG_RESULT(yes) - AC_DEFINE(LYNX) - AC_MSG_CHECKING([whether -mposix or -X is available]) - AC_CACHE_VAL(ac_cv_c_posix_flag, - [AC_TRY_COMPILE(,[ - /* - * This flag varies depending on how old the compiler is. - * -X is for the old "cc" and "gcc" (based on 1.42). - * -mposix is for the new gcc (at least 2.5.8). - */ - #if defined(__GNUC__) && __GNUC__ >= 2 - choke me - #endif - ], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")]) - CC="$CC $ac_cv_c_posix_flag" - AC_MSG_RESULT($ac_cv_c_posix_flag) - else - AC_MSG_RESULT(no) -fi -]) - -# -# Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This -# makes configure think it's cross compiling. If --target wasn't used, then -# we can't configure, so something is wrong. We don't use the cache -# here cause if somebody fixes their compiler install, we want this to work. -AC_DEFUN(CY_AC_C_WORKS, -[# If we cannot compile and link a trivial program, we can't expect anything to work -AC_MSG_CHECKING(whether the compiler ($CC) actually works) -AC_TRY_COMPILE(, [/* don't need anything here */], - c_compiles=yes, c_compiles=no) - -AC_TRY_LINK(, [/* don't need anything here */], - c_links=yes, c_links=no) - -if test x"${c_compiles}" = x"no" ; then - AC_MSG_ERROR(the native compiler is broken and won't compile.) -fi - -if test x"${c_links}" = x"no" ; then - AC_MSG_ERROR(the native compiler is broken and won't link.) -fi -AC_MSG_RESULT(yes) -]) - -AC_DEFUN(CY_AC_PATH_TCLH, [ -# -# Ok, lets find the tcl source trees so we can use the headers -# Warning: transition of version 9 to 10 will break this algorithm -# because 10 sorts before 9. We also look for just tcl. We have to -# be careful that we don't match stuff like tclX by accident. -# the alternative search directory is involked by --with-tclinclude -# - -no_tcl=true -AC_MSG_CHECKING(for Tcl private headers. dir=${configdir}) -AC_ARG_WITH(tclinclude, [ --with-tclinclude=DIR Directory where tcl private headers are], with_tclinclude=${withval}) -AC_CACHE_VAL(ac_cv_c_tclh,[ -# first check to see if --with-tclinclude was specified -if test x"${with_tclinclude}" != x ; then - if test -f ${with_tclinclude}/tclInt.h ; then - ac_cv_c_tclh=`(cd ${with_tclinclude}; pwd)` - elif test -f ${with_tclinclude}/generic/tclInt.h ; then - ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; pwd)` - else - AC_MSG_ERROR([${with_tclinclude} directory doesn't contain private headers]) - fi -fi - -# next check if it came with Tcl configuration file -if test x"${ac_cv_c_tclconfig}" = x ; then - if test -f $ac_cv_c_tclconfig/../generic/tclInt.h ; then - ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/..; pwd)` - fi -fi - -# next check in private source directory -# -# since ls returns lowest version numbers first, reverse its output -if test x"${ac_cv_c_tclh}" = x ; then - for i in \ - ${srcdir}/../tcl \ - `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` \ - ${srcdir}/../../tcl \ - `ls -dr ${srcdir}/../../tcl[[7-9]]* 2>/dev/null` \ - ${srcdir}/../../../tcl \ - `ls -dr ${srcdir}/../../../tcl[[7-9]]* 2>/dev/null ` ; do - if test -f $i/generic/tclInt.h ; then - ac_cv_c_tclh=`(cd $i/generic; pwd)` - break - fi - done -fi -# finally check in a few common install locations -# -# since ls returns lowest version numbers first, reverse its output -if test x"${ac_cv_c_tclh}" = x ; then - for i in \ - `ls -dr /usr/local/src/tcl[[7-9]]* 2>/dev/null` \ - `ls -dr /usr/local/lib/tcl[[7-9]]* 2>/dev/null` \ - /usr/local/src/tcl \ - /usr/local/lib/tcl \ - ${prefix}/include ; do - if test -f $i/generic/tclInt.h ; then - ac_cv_c_tclh=`(cd $i/generic; pwd)` - break - fi - done -fi -# see if one is installed -if test x"${ac_cv_c_tclh}" = x ; then - AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="") -fi -]) -if test x"${ac_cv_c_tclh}" = x ; then - TCLHDIR="# no Tcl private headers found" - AC_MSG_ERROR([Can't find Tcl private headers]) -fi -if test x"${ac_cv_c_tclh}" != x ; then - no_tcl="" - if test x"${ac_cv_c_tclh}" = x"installed" ; then - AC_MSG_RESULT([is installed]) - TCLHDIR="" - else - AC_MSG_RESULT([found in ${ac_cv_c_tclh}]) - # this hack is cause the TCLHDIR won't print if there is a "-I" in it. - TCLHDIR="-I${ac_cv_c_tclh}" - fi -fi - -AC_SUBST(TCLHDIR) -]) - - -AC_DEFUN(CY_AC_PATH_TCLCONFIG, [ -# -# Ok, lets find the tcl configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-tclconfig -# - -if test x"${no_tcl}" = x ; then - # we reset no_tcl in case something fails here - no_tcl=true - AC_ARG_WITH(tclconfig, [ --with-tclconfig=DIR Directory containing tcl configuration (tclConfig.sh)], - with_tclconfig=${withval}) - AC_MSG_CHECKING([for Tcl configuration]) - AC_CACHE_VAL(ac_cv_c_tclconfig,[ - - # First check to see if --with-tclconfig was specified. - if test x"${with_tclconfig}" != x ; then - if test -f "${with_tclconfig}/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` - else - AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) - fi - fi - - # then check for a private Tcl installation - if test x"${ac_cv_c_tclconfig}" = x ; then - for i in \ - ../tcl \ - `ls -dr ../tcl[[7-9]]* 2>/dev/null` \ - ../../tcl \ - `ls -dr ../../tcl[[7-9]]* 2>/dev/null` \ - ../../../tcl \ - `ls -dr ../../../tcl[[7-9]]* 2>/dev/null` ; do - if test -f "$i/${configdir}/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_tclconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - if test -f "$i/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - if test x"${ac_cv_c_tclconfig}" = x ; then - for i in \ - ${srcdir}/../tcl \ - `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` ; do - if test -f "$i/${configdir}/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_tclconfig}" = x ; then - TCLCONFIG="# no Tcl configs found" - AC_MSG_WARN(Can't find Tcl configuration definitions) - else - no_tcl= - TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh - AC_MSG_RESULT(found $TCLCONFIG) - fi -fi -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_TCLCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_TCLCONFIG, [ - . $TCLCONFIG - - AC_SUBST(TCL_VERSION) - AC_SUBST(TCL_MAJOR_VERSION) - AC_SUBST(TCL_MINOR_VERSION) - AC_SUBST(TCL_CC) - AC_SUBST(TCL_DEFS) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_LIB_FILE) - -dnl don't export, not used outside of configure -dnl AC_SUBST(TCL_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_EXEC_PREFIX) - - AC_SUBST(TCL_SHLIB_CFLAGS) - AC_SUBST(TCL_SHLIB_LD) -dnl don't export, not used outside of configure - AC_SUBST(TCL_SHLIB_LD_LIBS) - AC_SUBST(TCL_SHLIB_SUFFIX) -dnl not used, don't export to save symbols - AC_SUBST(TCL_DL_LIBS) - AC_SUBST(TCL_LD_FLAGS) -dnl don't export, not used outside of configure - AC_SUBST(TCL_LD_SEARCH_FLAGS) - AC_SUBST(TCL_COMPAT_OBJS) - AC_SUBST(TCL_RANLIB) - AC_SUBST(TCL_BUILD_LIB_SPEC) - AC_SUBST(TCL_LIB_SPEC) - AC_SUBST(TCL_LIB_VERSIONS_OK) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_SHARED_LIB_SUFFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_UNSHARED_LIB_SUFFIX) -]) - -# Warning: Tk definitions are very similar to Tcl definitions but -# are not precisely the same. There are a couple of differences, -# so don't do changes to Tcl thinking you can cut and paste it do -# the Tk differences and later simply substitute "Tk" for "Tcl". -# Known differences: -# - Acceptable Tcl major version #s is 7-9 while Tk is 4-9 -# - Searching for Tcl includes looking for tclInt.h, Tk looks for tk.h -# - Computing major/minor versions is different because Tk depends on -# headers to Tcl, Tk, and X. -# - Symbols in tkConfig.sh are different than tclConfig.sh -# - Acceptable for Tk to be missing but not Tcl. - -AC_DEFUN(CY_AC_PATH_TKH, [ -# -# Ok, lets find the tk source trees so we can use the headers -# If the directory (presumably symlink) named "tk" exists, use that one -# in preference to any others. Same logic is used when choosing library -# and again with Tcl. The search order is the best place to look first, then in -# decreasing significance. The loop breaks if the trigger file is found. -# Note the gross little conversion here of srcdir by cd'ing to the found -# directory. This converts the path from a relative to an absolute, so -# recursive cache variables for the path will work right. We check all -# the possible paths in one loop rather than many seperate loops to speed -# things up. -# the alternative search directory is involked by --with-tkinclude -# -no_tk=true -AC_MSG_CHECKING(for Tk private headers) -AC_ARG_WITH(tkinclude, [ --with-tkinclude=DIR Directory where tk private headers are], with_tkinclude=${withval}) -AC_CACHE_VAL(ac_cv_c_tkh,[ -# first check to see if --with-tkinclude was specified -if test x"${with_tkinclude}" != x ; then - if test -f ${with_tkinclude}/tk.h ; then - ac_cv_c_tkh=`(cd ${with_tkinclude}; pwd)` - elif test -f ${with_tkinclude}/generic/tk.h ; then - ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; pwd)` - else - AC_MSG_ERROR([${with_tkinclude} directory doesn't contain private headers]) - fi -fi - -# next check if it came with Tk configuration file -if test x"${ac_cv_c_tkconfig}" = x ; then - if test -f $ac_cv_c_tkconfig/../generic/tk.h ; then - ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/..; pwd)` - fi -fi - -# next check in private source directory -# -# since ls returns lowest version numbers first, reverse its output -if test x"${ac_cv_c_tkh}" = x ; then - for i in \ - ${srcdir}/../tk \ - `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` \ - ${srcdir}/../../tk \ - `ls -dr ${srcdir}/../../tk[[4-9]]* 2>/dev/null` \ - ${srcdir}/../../../tk \ - `ls -dr ${srcdir}/../../../tk[[4-9]]* 2>/dev/null ` ; do - if test -f $i/generic/tk.h ; then - ac_cv_c_tkh=`(cd $i/generic; pwd)` - break - fi - done -fi -# finally check in a few common install locations -# -# since ls returns lowest version numbers first, reverse its output -if test x"${ac_cv_c_tkh}" = x ; then - for i in \ - `ls -dr /usr/local/src/tk[[4-9]]* 2>/dev/null` \ - `ls -dr /usr/local/lib/tk[[4-9]]* 2>/dev/null` \ - /usr/local/src/tk \ - /usr/local/lib/tk \ - ${prefix}/include ; do - if test -f $i/generic/tk.h ; then - ac_cv_c_tkh=`(cd $i/generic; pwd)` - break - fi - done -fi -# see if one is installed -if test x"${ac_cv_c_tkh}" = x ; then - AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="") -fi -]) -if test x"${ac_cv_c_tkh}" != x ; then - no_tk="" - if test x"${ac_cv_c_tkh}" = x"installed" ; then - AC_MSG_RESULT([is installed]) - TKHDIR="" - else - AC_MSG_RESULT([found in ${ac_cv_c_tkh}]) - # this hack is cause the TKHDIR won't print if there is a "-I" in it. - TKHDIR="-I${ac_cv_c_tkh}" - fi -else - TKHDIR="# no Tk directory found" - AC_MSG_WARN([Can't find Tk private headers]) - no_tk=true -fi - -AC_SUBST(TKHDIR) -]) - - -AC_DEFUN(CY_AC_PATH_TKCONFIG, [ -# -# Ok, lets find the tk configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-tkconfig -# - -if test x"${no_tk}" = x ; then - # we reset no_tk in case something fails here - no_tk=true - AC_ARG_WITH(tkconfig, [ --with-tkconfig=DIR Directory containing tk configuration (tkConfig.sh)], - with_tkconfig=${withval}) - AC_MSG_CHECKING([for Tk configuration]) - AC_CACHE_VAL(ac_cv_c_tkconfig,[ - - # First check to see if --with-tkconfig was specified. - if test x"${with_tkconfig}" != x ; then - if test -f "${with_tkconfig}/tkConfig.sh" ; then - ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)` - else - AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh]) - fi - fi - - # then check for a private Tk library - if test x"${ac_cv_c_tkconfig}" = x ; then - for i in \ - ../tk \ - `ls -dr ../tk[[4-9]]* 2>/dev/null` \ - ../../tk \ - `ls -dr ../../tk[[4-9]]* 2>/dev/null` \ - ../../../tk \ - `ls -dr ../../../tk[[4-9]]* 2>/dev/null` ; do - if test -f "$i/${configdir}/tkConfig.sh" ; then - ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_tkconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - if test -f "$i/tkConfig.sh" ; then - ac_cv_c_tkconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - if test x"${ac_cv_c_tkconfig}" = x ; then - for i in \ - ${srcdir}/../tk \ - `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` ; do - if test -f "$i/${configdir}/tkConfig.sh" ; then - ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_tkconfig}" = x ; then - TKCONFIG="# no Tk configs found" - AC_MSG_WARN(Can't find Tk configuration definitions) - else - no_tk= - TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh - AC_MSG_RESULT(found $TKCONFIG) - fi -fi - -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_TKCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_TKCONFIG, [ - if test -f "$TKCONFIG" ; then - . $TKCONFIG - fi - - AC_SUBST(TK_VERSION) -dnl not actually used, don't export to save symbols -dnl AC_SUBST(TK_MAJOR_VERSION) -dnl AC_SUBST(TK_MINOR_VERSION) - AC_SUBST(TK_DEFS) - -dnl not used, don't export to save symbols - dnl AC_SUBST(TK_LIB_FILE) - -dnl not used outside of configure -dnl AC_SUBST(TK_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(TK_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TK_EXEC_PREFIX) - - AC_SUBST(TK_BUILD_INCLUDES) - AC_SUBST(TK_XINCLUDES) - AC_SUBST(TK_XLIBSW) - AC_SUBST(TK_BUILD_LIB_SPEC) - AC_SUBST(TK_LIB_SPEC) -]) - -# check for Itcl headers. - -AC_DEFUN(CY_AC_PATH_ITCLCONFIG, [ -# -# Ok, lets find the itcl configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-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)], - with_itclconfig=${withval}) - AC_MSG_CHECKING([for Itcl configuration]) - AC_CACHE_VAL(ac_cv_c_itclconfig,[ - - # First check to see if --with-itclconfig was specified. - if test x"${with_itclconfig}" != x ; then - if test -f "${with_itclconfig}/itclConfig.sh" ; then - ac_cv_c_itclconfig=`(cd ${with_itclconfig}; pwd)` - else - AC_MSG_ERROR([${with_itclconfig} directory doesn't contain itclConfig.sh]) - fi - fi - - # then check for a private Itcl library - if test x"${ac_cv_c_itclconfig}" = x ; then - for i in \ - ../itcl/itcl \ - `ls -dr ../itcl[[4-9]]*/itcl 2>/dev/null` \ - ../../itcl \ - `ls -dr ../../itcl[[4-9]]*/itcl 2>/dev/null` \ - ../../../itcl \ - `ls -dr ../../../itcl[[4-9]]*/itcl 2>/dev/null` ; do - if test -f "$i/itclConfig.sh" ; then - ac_cv_c_itclconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_itclconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - if test -f "$i/itclConfig.sh" ; then - ac_cv_c_itclconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - if test x"${ac_cv_c_itclconfig}" = x ; then - for i in \ - ${srcdir}/../itcl/itcl \ - `ls -dr ${srcdir}/../itcl[[4-9]]*/itcl 2>/dev/null` ; do - if test -f "$i/itclConfig.sh" ; then - ac_cv_c_itclconfig=`(cd $i; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_itclconfig}" = x ; then - ITCLCONFIG="# no Itcl configs found" - AC_MSG_WARN(Can't find Itcl configuration definitions) - else - no_itcl= - ITCLCONFIG=${ac_cv_c_itclconfig}/itclConfig.sh - AC_MSG_RESULT(found $ITCLCONFIG) - fi -fi -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_ITCLCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_ITCLCONFIG, [ - if test -f "$ITCLCONFIG" ; then - . $ITCLCONFIG - fi - - AC_SUBST(ITCL_VERSION) -dnl not actually used, don't export to save symbols -dnl AC_SUBST(ITCL_MAJOR_VERSION) -dnl AC_SUBST(ITCL_MINOR_VERSION) - AC_SUBST(ITCL_DEFS) - -dnl not used, don't export to save symbols - dnl AC_SUBST(ITCL_LIB_FILE) - -dnl not used outside of configure -dnl AC_SUBST(ITCL_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(ITCL_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(ITCL_EXEC_PREFIX) - - AC_SUBST(ITCL_BUILD_INCLUDES) - AC_SUBST(ITCL_BUILD_LIB_SPEC) - AC_SUBST(ITCL_LIB_SPEC) -]) - -# check for Itcl headers. - -AC_DEFUN(CY_AC_PATH_ITCLH, [ -AC_MSG_CHECKING(for Itcl private headers. srcdir=${srcdir}) -if test x"${ac_cv_c_itclh}" = x ; then - for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itcl; do - if test -f $i/generic/itcl.h ; then - ac_cv_c_itclh=`(cd $i/generic; pwd)` - break - fi - done -fi -if test x"${ac_cv_c_itclh}" = x ; then - ITCLHDIR="# no Itcl private headers found" - AC_MSG_ERROR([Can't find Itcl private headers]) -fi -if test x"${ac_cv_c_itclh}" != x ; then - ITCLHDIR="-I${ac_cv_c_itclh}" -fi -# should always be here -# ITCLLIB="../itcl/itcl/unix/libitcl.a" -AC_SUBST(ITCLHDIR) -#AC_SUBST(ITCLLIB) -]) - - -AC_DEFUN(CY_AC_PATH_ITKCONFIG, [ -# -# Ok, lets find the itk configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-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)], - with_itkconfig=${withval}) - AC_MSG_CHECKING([for Itk configuration]) - AC_CACHE_VAL(ac_cv_c_itkconfig,[ - - # First check to see if --with-itkconfig was specified. - if test x"${with_itkconfig}" != x ; then - if test -f "${with_itkconfig}/itkConfig.sh" ; then - ac_cv_c_itkconfig=`(cd ${with_itkconfig}; pwd)` - else - AC_MSG_ERROR([${with_itkconfig} directory doesn't contain itkConfig.sh]) - fi - fi - - # then check for a private Itk library - if test x"${ac_cv_c_itkconfig}" = x ; then - for i in \ - ../itcl/itk \ - `ls -dr ../itcl[[4-9]]*/itk 2>/dev/null` \ - ../../itk \ - `ls -dr ../../itcl[[4-9]]*/itk 2>/dev/null` \ - ../../../itk \ - `ls -dr ../../../itcl[[4-9]]*/itk 2>/dev/null` ; do - if test -f "$i/itkConfig.sh" ; then - ac_cv_c_itkconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_itkconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - if test -f "$i/itkConfig.sh" ; then - ac_cv_c_itkconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - if test x"${ac_cv_c_itkconfig}" = x ; then - for i in \ - ${srcdir}/../itcl/itk \ - `ls -dr ${srcdir}/../itcl[[4-9]]*/itk 2>/dev/null` ; do - if test -f "$i/itkConfig.sh" ; then - ac_cv_c_itkconfig=`(cd $i; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_itkconfig}" = x ; then - ITKCONFIG="# no Itk configs found" - AC_MSG_WARN(Can't find Itk configuration definitions) - else - no_itk= - ITKCONFIG=${ac_cv_c_itkconfig}/itkConfig.sh - AC_MSG_RESULT(found $ITKCONFIG) - fi -fi - -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_ITKCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_ITKCONFIG, [ - if test -f "$ITKCONFIG" ; then - . $ITKCONFIG - fi - - AC_SUBST(ITK_VERSION) -dnl not actually used, don't export to save symbols -dnl AC_SUBST(ITK_MAJOR_VERSION) -dnl AC_SUBST(ITK_MINOR_VERSION) - AC_SUBST(ITK_DEFS) - -dnl not used, don't export to save symbols - dnl AC_SUBST(ITK_LIB_FILE) - -dnl not used outside of configure -dnl AC_SUBST(ITK_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(ITK_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(ITK_EXEC_PREFIX) - - AC_SUBST(ITK_BUILD_INCLUDES) - AC_SUBST(ITK_BUILD_LIB_SPEC) - AC_SUBST(ITK_LIB_SPEC) -]) - -AC_DEFUN(CY_AC_PATH_ITKH, [ -AC_MSG_CHECKING(for Itk private headers. srcdir=${srcdir}) -if test x"${ac_cv_c_itkh}" = x ; then - for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itk; do - if test -f $i/generic/itk.h ; then - ac_cv_c_itkh=`(cd $i/generic; pwd)` - break - fi - done -fi -if test x"${ac_cv_c_itkh}" = x ; then - ITKHDIR="# no Itk private headers found" - AC_MSG_ERROR([Can't find Itk private headers]) -fi -if test x"${ac_cv_c_itkh}" != x ; then - ITKHDIR="-I${ac_cv_c_itkh}" -fi -# should always be here -# ITKLIB="../itcl/itk/unix/libitk.a" -AC_SUBST(ITKHDIR) -#AC_SUBST(ITKLIB) -]) - -# check for Tix headers. - -AC_DEFUN(CY_AC_PATH_TIXH, [ -AC_MSG_CHECKING(for Tix private headers. srcdir=${srcdir}) -if test x"${ac_cv_c_tixh}" = x ; then - for i in ${srcdir}/../tix ${srcdir}/../../tix ${srcdir}/../../../tix ; do - if test -f $i/generic/tix.h ; then - ac_cv_c_tixh=`(cd $i/generic; pwd)` - break - fi - done -fi -if test x"${ac_cv_c_tixh}" = x ; then - TIXHDIR="# no Tix private headers found" - AC_MSG_ERROR([Can't find Tix private headers]) -fi -if test x"${ac_cv_c_tixh}" != x ; then - TIXHDIR="-I${ac_cv_c_tixh}" -fi -AC_SUBST(TIXHDIR) -]) - -AC_DEFUN(CY_AC_PATH_TIXCONFIG, [ -# -# Ok, lets find the tix configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-itkconfig -# - -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)], - with_tixconfig=${withval}) - AC_MSG_CHECKING([for Tix configuration]) - AC_CACHE_VAL(ac_cv_c_tixconfig,[ - - # First check to see if --with-tixconfig was specified. - if test x"${with_tixconfig}" != x ; then - if test -f "${with_tixconfig}/tixConfig.sh" ; then - ac_cv_c_tixconfig=`(cd ${with_tixconfig}; pwd)` - else - AC_MSG_ERROR([${with_tixconfig} directory doesn't contain tixConfig.sh]) - fi - fi - - # then check for a private Tix library - if test x"${ac_cv_c_tixconfig}" = x ; then - for i in \ - ../tix \ - `ls -dr ../tix 2>/dev/null` \ - ../../tix \ - `ls -dr ../../tix 2>/dev/null` \ - ../../../tix \ - `ls -dr ../../../tix 2>/dev/null` ; do - echo "**** Looking at $i - with ${configdir}" - if test -f "$i/tixConfig.sh" ; then - ac_cv_c_tixconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_tixconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - echo "**** Looking at $i" - if test -f "$i/tixConfig.sh" ; then - ac_cv_c_tixconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - echo "**** Other private locations" - if test x"${ac_cv_c_tixconfig}" = x ; then - for i in \ - ${srcdir}/../tix \ - `ls -dr ${srcdir}/../tix 2>/dev/null` ; do - echo "**** Looking at $i - with ${configdir}" - if test -f "$i/${configdir}/tixConfig.sh" ; then - ac_cv_c_tixconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_tixconfig}" = x ; then - TIXCONFIG="# no Tix configs found" - AC_MSG_WARN(Can't find Tix configuration definitions) - else - no_tix= - TIXCONFIG=${ac_cv_c_tixconfig}/tixConfig.sh - AC_MSG_RESULT(found $TIXCONFIG) - fi -fi - -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_TIXCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_TIXCONFIG, [ - if test -f "$TIXCONFIG" ; then - . $TIXCONFIG - fi - - AC_SUBST(TIX_VERSION) -dnl not actually used, don't export to save symbols -dnl AC_SUBST(TIX_MAJOR_VERSION) -dnl AC_SUBST(TIX_MINOR_VERSION) -dnl AC_SUBST(TIX_DEFS) - -dnl not used, don't export to save symbols -dnl dnl AC_SUBST(TIX_LIB_FILE) - -dnl not used outside of configure -dnl AC_SUBST(TIX_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(TIX_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TIX_EXEC_PREFIX) - -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/gdb/aclocal.m4 b/gdb/aclocal.m4 deleted file mode 100644 index 5b9d643f04d..00000000000 --- a/gdb/aclocal.m4 +++ /dev/null @@ -1,1020 +0,0 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4 - -dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. - -dnl written by Rob Savoye for Cygnus Support -dnl major rewriting for Tcl 7.5 by Don Libes - -dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition. -sinclude(../bfd/acinclude.m4) - -dnl This gets the standard macros, like the TCL, TK, etc ones. -sinclude(../config/acinclude.m4) - -dnl CYGNUS LOCAL: This gets the right posix flag for gcc -AC_DEFUN(CY_AC_TCL_LYNX_POSIX, -[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP]) -AC_MSG_CHECKING([if running LynxOS]) -AC_CACHE_VAL(ac_cv_os_lynx, -[AC_EGREP_CPP(yes, -[/* - * The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__" - */ -#if defined(__Lynx__) || defined(Lynx) -yes -#endif -], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)]) -# -if test "$ac_cv_os_lynx" = "yes" ; then - AC_MSG_RESULT(yes) - AC_DEFINE(LYNX) - AC_MSG_CHECKING([whether -mposix or -X is available]) - AC_CACHE_VAL(ac_cv_c_posix_flag, - [AC_TRY_COMPILE(,[ - /* - * This flag varies depending on how old the compiler is. - * -X is for the old "cc" and "gcc" (based on 1.42). - * -mposix is for the new gcc (at least 2.5.8). - */ - #if defined(__GNUC__) && __GNUC__ >= 2 - choke me - #endif - ], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")]) - CC="$CC $ac_cv_c_posix_flag" - AC_MSG_RESULT($ac_cv_c_posix_flag) - else - AC_MSG_RESULT(no) -fi -]) - -# -# Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This -# makes configure think it's cross compiling. If --target wasn't used, then -# we can't configure, so something is wrong. We don't use the cache -# here cause if somebody fixes their compiler install, we want this to work. -AC_DEFUN(CY_AC_C_WORKS, -[# If we cannot compile and link a trivial program, we can't expect anything to work -AC_MSG_CHECKING(whether the compiler ($CC) actually works) -AC_TRY_COMPILE(, [/* don't need anything here */], - c_compiles=yes, c_compiles=no) - -AC_TRY_LINK(, [/* don't need anything here */], - c_links=yes, c_links=no) - -if test x"${c_compiles}" = x"no" ; then - AC_MSG_ERROR(the native compiler is broken and won't compile.) -fi - -if test x"${c_links}" = x"no" ; then - AC_MSG_ERROR(the native compiler is broken and won't link.) -fi -AC_MSG_RESULT(yes) -]) - -AC_DEFUN(CY_AC_PATH_TCLH, [ -# -# Ok, lets find the tcl source trees so we can use the headers -# Warning: transition of version 9 to 10 will break this algorithm -# because 10 sorts before 9. We also look for just tcl. We have to -# be careful that we don't match stuff like tclX by accident. -# the alternative search directory is involked by --with-tclinclude -# - -no_tcl=true -AC_MSG_CHECKING(for Tcl private headers. dir=${configdir}) -AC_ARG_WITH(tclinclude, [ --with-tclinclude=DIR Directory where tcl private headers are], with_tclinclude=${withval}) -AC_CACHE_VAL(ac_cv_c_tclh,[ -# first check to see if --with-tclinclude was specified -if test x"${with_tclinclude}" != x ; then - if test -f ${with_tclinclude}/tclInt.h ; then - ac_cv_c_tclh=`(cd ${with_tclinclude}; pwd)` - elif test -f ${with_tclinclude}/generic/tclInt.h ; then - ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; pwd)` - else - AC_MSG_ERROR([${with_tclinclude} directory doesn't contain private headers]) - fi -fi - -# next check if it came with Tcl configuration file -if test x"${ac_cv_c_tclconfig}" = x ; then - if test -f $ac_cv_c_tclconfig/../generic/tclInt.h ; then - ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/..; pwd)` - fi -fi - -# next check in private source directory -# -# since ls returns lowest version numbers first, reverse its output -if test x"${ac_cv_c_tclh}" = x ; then - for i in \ - ${srcdir}/../tcl \ - `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` \ - ${srcdir}/../../tcl \ - `ls -dr ${srcdir}/../../tcl[[7-9]]* 2>/dev/null` \ - ${srcdir}/../../../tcl \ - `ls -dr ${srcdir}/../../../tcl[[7-9]]* 2>/dev/null ` ; do - if test -f $i/generic/tclInt.h ; then - ac_cv_c_tclh=`(cd $i/generic; pwd)` - break - fi - done -fi -# finally check in a few common install locations -# -# since ls returns lowest version numbers first, reverse its output -if test x"${ac_cv_c_tclh}" = x ; then - for i in \ - `ls -dr /usr/local/src/tcl[[7-9]]* 2>/dev/null` \ - `ls -dr /usr/local/lib/tcl[[7-9]]* 2>/dev/null` \ - /usr/local/src/tcl \ - /usr/local/lib/tcl \ - ${prefix}/include ; do - if test -f $i/generic/tclInt.h ; then - ac_cv_c_tclh=`(cd $i/generic; pwd)` - break - fi - done -fi -# see if one is installed -if test x"${ac_cv_c_tclh}" = x ; then - AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="") -fi -]) -if test x"${ac_cv_c_tclh}" = x ; then - TCLHDIR="# no Tcl private headers found" - AC_MSG_ERROR([Can't find Tcl private headers]) -fi -if test x"${ac_cv_c_tclh}" != x ; then - no_tcl="" - if test x"${ac_cv_c_tclh}" = x"installed" ; then - AC_MSG_RESULT([is installed]) - TCLHDIR="" - else - AC_MSG_RESULT([found in ${ac_cv_c_tclh}]) - # this hack is cause the TCLHDIR won't print if there is a "-I" in it. - TCLHDIR="-I${ac_cv_c_tclh}" - fi -fi - -AC_SUBST(TCLHDIR) -]) - - -AC_DEFUN(CY_AC_PATH_TCLCONFIG, [ -# -# Ok, lets find the tcl configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-tclconfig -# - -if test x"${no_tcl}" = x ; then - # we reset no_tcl in case something fails here - no_tcl=true - AC_ARG_WITH(tclconfig, [ --with-tclconfig=DIR Directory containing tcl configuration (tclConfig.sh)], - with_tclconfig=${withval}) - AC_MSG_CHECKING([for Tcl configuration]) - AC_CACHE_VAL(ac_cv_c_tclconfig,[ - - # First check to see if --with-tclconfig was specified. - if test x"${with_tclconfig}" != x ; then - if test -f "${with_tclconfig}/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` - else - AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) - fi - fi - - # then check for a private Tcl installation - if test x"${ac_cv_c_tclconfig}" = x ; then - for i in \ - ../tcl \ - `ls -dr ../tcl[[7-9]]* 2>/dev/null` \ - ../../tcl \ - `ls -dr ../../tcl[[7-9]]* 2>/dev/null` \ - ../../../tcl \ - `ls -dr ../../../tcl[[7-9]]* 2>/dev/null` ; do - if test -f "$i/${configdir}/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_tclconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - if test -f "$i/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - if test x"${ac_cv_c_tclconfig}" = x ; then - for i in \ - ${srcdir}/../tcl \ - `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` ; do - if test -f "$i/${configdir}/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_tclconfig}" = x ; then - TCLCONFIG="# no Tcl configs found" - AC_MSG_WARN(Can't find Tcl configuration definitions) - else - no_tcl= - TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh - AC_MSG_RESULT(found $TCLCONFIG) - fi -fi -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_TCLCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_TCLCONFIG, [ - . $TCLCONFIG - - AC_SUBST(TCL_VERSION) - AC_SUBST(TCL_MAJOR_VERSION) - AC_SUBST(TCL_MINOR_VERSION) - AC_SUBST(TCL_CC) - AC_SUBST(TCL_DEFS) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_LIB_FILE) - -dnl don't export, not used outside of configure -dnl AC_SUBST(TCL_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_EXEC_PREFIX) - - AC_SUBST(TCL_SHLIB_CFLAGS) - AC_SUBST(TCL_SHLIB_LD) -dnl don't export, not used outside of configure - AC_SUBST(TCL_SHLIB_LD_LIBS) - AC_SUBST(TCL_SHLIB_SUFFIX) -dnl not used, don't export to save symbols - AC_SUBST(TCL_DL_LIBS) - AC_SUBST(TCL_LD_FLAGS) -dnl don't export, not used outside of configure - AC_SUBST(TCL_LD_SEARCH_FLAGS) - AC_SUBST(TCL_COMPAT_OBJS) - AC_SUBST(TCL_RANLIB) - AC_SUBST(TCL_BUILD_LIB_SPEC) - AC_SUBST(TCL_LIB_SPEC) - AC_SUBST(TCL_LIB_VERSIONS_OK) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_SHARED_LIB_SUFFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TCL_UNSHARED_LIB_SUFFIX) -]) - -# Warning: Tk definitions are very similar to Tcl definitions but -# are not precisely the same. There are a couple of differences, -# so don't do changes to Tcl thinking you can cut and paste it do -# the Tk differences and later simply substitute "Tk" for "Tcl". -# Known differences: -# - Acceptable Tcl major version #s is 7-9 while Tk is 4-9 -# - Searching for Tcl includes looking for tclInt.h, Tk looks for tk.h -# - Computing major/minor versions is different because Tk depends on -# headers to Tcl, Tk, and X. -# - Symbols in tkConfig.sh are different than tclConfig.sh -# - Acceptable for Tk to be missing but not Tcl. - -AC_DEFUN(CY_AC_PATH_TKH, [ -# -# Ok, lets find the tk source trees so we can use the headers -# If the directory (presumably symlink) named "tk" exists, use that one -# in preference to any others. Same logic is used when choosing library -# and again with Tcl. The search order is the best place to look first, then in -# decreasing significance. The loop breaks if the trigger file is found. -# Note the gross little conversion here of srcdir by cd'ing to the found -# directory. This converts the path from a relative to an absolute, so -# recursive cache variables for the path will work right. We check all -# the possible paths in one loop rather than many seperate loops to speed -# things up. -# the alternative search directory is involked by --with-tkinclude -# -no_tk=true -AC_MSG_CHECKING(for Tk private headers) -AC_ARG_WITH(tkinclude, [ --with-tkinclude=DIR Directory where tk private headers are], with_tkinclude=${withval}) -AC_CACHE_VAL(ac_cv_c_tkh,[ -# first check to see if --with-tkinclude was specified -if test x"${with_tkinclude}" != x ; then - if test -f ${with_tkinclude}/tk.h ; then - ac_cv_c_tkh=`(cd ${with_tkinclude}; pwd)` - elif test -f ${with_tkinclude}/generic/tk.h ; then - ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; pwd)` - else - AC_MSG_ERROR([${with_tkinclude} directory doesn't contain private headers]) - fi -fi - -# next check if it came with Tk configuration file -if test x"${ac_cv_c_tkconfig}" = x ; then - if test -f $ac_cv_c_tkconfig/../generic/tk.h ; then - ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/..; pwd)` - fi -fi - -# next check in private source directory -# -# since ls returns lowest version numbers first, reverse its output -if test x"${ac_cv_c_tkh}" = x ; then - for i in \ - ${srcdir}/../tk \ - `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` \ - ${srcdir}/../../tk \ - `ls -dr ${srcdir}/../../tk[[4-9]]* 2>/dev/null` \ - ${srcdir}/../../../tk \ - `ls -dr ${srcdir}/../../../tk[[4-9]]* 2>/dev/null ` ; do - if test -f $i/generic/tk.h ; then - ac_cv_c_tkh=`(cd $i/generic; pwd)` - break - fi - done -fi -# finally check in a few common install locations -# -# since ls returns lowest version numbers first, reverse its output -if test x"${ac_cv_c_tkh}" = x ; then - for i in \ - `ls -dr /usr/local/src/tk[[4-9]]* 2>/dev/null` \ - `ls -dr /usr/local/lib/tk[[4-9]]* 2>/dev/null` \ - /usr/local/src/tk \ - /usr/local/lib/tk \ - ${prefix}/include ; do - if test -f $i/generic/tk.h ; then - ac_cv_c_tkh=`(cd $i/generic; pwd)` - break - fi - done -fi -# see if one is installed -if test x"${ac_cv_c_tkh}" = x ; then - AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="") -fi -]) -if test x"${ac_cv_c_tkh}" != x ; then - no_tk="" - if test x"${ac_cv_c_tkh}" = x"installed" ; then - AC_MSG_RESULT([is installed]) - TKHDIR="" - else - AC_MSG_RESULT([found in ${ac_cv_c_tkh}]) - # this hack is cause the TKHDIR won't print if there is a "-I" in it. - TKHDIR="-I${ac_cv_c_tkh}" - fi -else - TKHDIR="# no Tk directory found" - AC_MSG_WARN([Can't find Tk private headers]) - no_tk=true -fi - -AC_SUBST(TKHDIR) -]) - - -AC_DEFUN(CY_AC_PATH_TKCONFIG, [ -# -# Ok, lets find the tk configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-tkconfig -# - -if test x"${no_tk}" = x ; then - # we reset no_tk in case something fails here - no_tk=true - AC_ARG_WITH(tkconfig, [ --with-tkconfig=DIR Directory containing tk configuration (tkConfig.sh)], - with_tkconfig=${withval}) - AC_MSG_CHECKING([for Tk configuration]) - AC_CACHE_VAL(ac_cv_c_tkconfig,[ - - # First check to see if --with-tkconfig was specified. - if test x"${with_tkconfig}" != x ; then - if test -f "${with_tkconfig}/tkConfig.sh" ; then - ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)` - else - AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh]) - fi - fi - - # then check for a private Tk library - if test x"${ac_cv_c_tkconfig}" = x ; then - for i in \ - ../tk \ - `ls -dr ../tk[[4-9]]* 2>/dev/null` \ - ../../tk \ - `ls -dr ../../tk[[4-9]]* 2>/dev/null` \ - ../../../tk \ - `ls -dr ../../../tk[[4-9]]* 2>/dev/null` ; do - if test -f "$i/${configdir}/tkConfig.sh" ; then - ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_tkconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - if test -f "$i/tkConfig.sh" ; then - ac_cv_c_tkconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - if test x"${ac_cv_c_tkconfig}" = x ; then - for i in \ - ${srcdir}/../tk \ - `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` ; do - if test -f "$i/${configdir}/tkConfig.sh" ; then - ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_tkconfig}" = x ; then - TKCONFIG="# no Tk configs found" - AC_MSG_WARN(Can't find Tk configuration definitions) - else - no_tk= - TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh - AC_MSG_RESULT(found $TKCONFIG) - fi -fi - -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_TKCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_TKCONFIG, [ - if test -f "$TKCONFIG" ; then - . $TKCONFIG - fi - - AC_SUBST(TK_VERSION) -dnl not actually used, don't export to save symbols -dnl AC_SUBST(TK_MAJOR_VERSION) -dnl AC_SUBST(TK_MINOR_VERSION) - AC_SUBST(TK_DEFS) - -dnl not used, don't export to save symbols - dnl AC_SUBST(TK_LIB_FILE) - -dnl not used outside of configure -dnl AC_SUBST(TK_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(TK_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TK_EXEC_PREFIX) - - AC_SUBST(TK_BUILD_INCLUDES) - AC_SUBST(TK_XINCLUDES) - AC_SUBST(TK_XLIBSW) - AC_SUBST(TK_BUILD_LIB_SPEC) - AC_SUBST(TK_LIB_SPEC) -]) - -# check for Itcl headers. - -AC_DEFUN(CY_AC_PATH_ITCLCONFIG, [ -# -# Ok, lets find the itcl configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-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)], - with_itclconfig=${withval}) - AC_MSG_CHECKING([for Itcl configuration]) - AC_CACHE_VAL(ac_cv_c_itclconfig,[ - - # First check to see if --with-itclconfig was specified. - if test x"${with_itclconfig}" != x ; then - if test -f "${with_itclconfig}/itclConfig.sh" ; then - ac_cv_c_itclconfig=`(cd ${with_itclconfig}; pwd)` - else - AC_MSG_ERROR([${with_itclconfig} directory doesn't contain itclConfig.sh]) - fi - fi - - # then check for a private Itcl library - if test x"${ac_cv_c_itclconfig}" = x ; then - for i in \ - ../itcl/itcl \ - `ls -dr ../itcl[[4-9]]*/itcl 2>/dev/null` \ - ../../itcl \ - `ls -dr ../../itcl[[4-9]]*/itcl 2>/dev/null` \ - ../../../itcl \ - `ls -dr ../../../itcl[[4-9]]*/itcl 2>/dev/null` ; do - if test -f "$i/itclConfig.sh" ; then - ac_cv_c_itclconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_itclconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - if test -f "$i/itclConfig.sh" ; then - ac_cv_c_itclconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - if test x"${ac_cv_c_itclconfig}" = x ; then - for i in \ - ${srcdir}/../itcl/itcl \ - `ls -dr ${srcdir}/../itcl[[4-9]]*/itcl 2>/dev/null` ; do - if test -f "$i/itclConfig.sh" ; then - ac_cv_c_itclconfig=`(cd $i; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_itclconfig}" = x ; then - ITCLCONFIG="# no Itcl configs found" - AC_MSG_WARN(Can't find Itcl configuration definitions) - else - no_itcl= - ITCLCONFIG=${ac_cv_c_itclconfig}/itclConfig.sh - AC_MSG_RESULT(found $ITCLCONFIG) - fi -fi -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_ITCLCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_ITCLCONFIG, [ - if test -f "$ITCLCONFIG" ; then - . $ITCLCONFIG - fi - - AC_SUBST(ITCL_VERSION) -dnl not actually used, don't export to save symbols -dnl AC_SUBST(ITCL_MAJOR_VERSION) -dnl AC_SUBST(ITCL_MINOR_VERSION) - AC_SUBST(ITCL_DEFS) - -dnl not used, don't export to save symbols - dnl AC_SUBST(ITCL_LIB_FILE) - -dnl not used outside of configure -dnl AC_SUBST(ITCL_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(ITCL_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(ITCL_EXEC_PREFIX) - - AC_SUBST(ITCL_BUILD_INCLUDES) - AC_SUBST(ITCL_BUILD_LIB_SPEC) - AC_SUBST(ITCL_LIB_SPEC) -]) - -# check for Itcl headers. - -AC_DEFUN(CY_AC_PATH_ITCLH, [ -AC_MSG_CHECKING(for Itcl private headers. srcdir=${srcdir}) -if test x"${ac_cv_c_itclh}" = x ; then - for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itcl; do - if test -f $i/generic/itcl.h ; then - ac_cv_c_itclh=`(cd $i/generic; pwd)` - break - fi - done -fi -if test x"${ac_cv_c_itclh}" = x ; then - ITCLHDIR="# no Itcl private headers found" - AC_MSG_ERROR([Can't find Itcl private headers]) -fi -if test x"${ac_cv_c_itclh}" != x ; then - ITCLHDIR="-I${ac_cv_c_itclh}" -fi -# should always be here -# ITCLLIB="../itcl/itcl/unix/libitcl.a" -AC_SUBST(ITCLHDIR) -#AC_SUBST(ITCLLIB) -]) - - -AC_DEFUN(CY_AC_PATH_ITKCONFIG, [ -# -# Ok, lets find the itk configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-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)], - with_itkconfig=${withval}) - AC_MSG_CHECKING([for Itk configuration]) - AC_CACHE_VAL(ac_cv_c_itkconfig,[ - - # First check to see if --with-itkconfig was specified. - if test x"${with_itkconfig}" != x ; then - if test -f "${with_itkconfig}/itkConfig.sh" ; then - ac_cv_c_itkconfig=`(cd ${with_itkconfig}; pwd)` - else - AC_MSG_ERROR([${with_itkconfig} directory doesn't contain itkConfig.sh]) - fi - fi - - # then check for a private Itk library - if test x"${ac_cv_c_itkconfig}" = x ; then - for i in \ - ../itcl/itk \ - `ls -dr ../itcl[[4-9]]*/itk 2>/dev/null` \ - ../../itk \ - `ls -dr ../../itcl[[4-9]]*/itk 2>/dev/null` \ - ../../../itk \ - `ls -dr ../../../itcl[[4-9]]*/itk 2>/dev/null` ; do - if test -f "$i/itkConfig.sh" ; then - ac_cv_c_itkconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_itkconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - if test -f "$i/itkConfig.sh" ; then - ac_cv_c_itkconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - if test x"${ac_cv_c_itkconfig}" = x ; then - for i in \ - ${srcdir}/../itcl/itk \ - `ls -dr ${srcdir}/../itcl[[4-9]]*/itk 2>/dev/null` ; do - if test -f "$i/itkConfig.sh" ; then - ac_cv_c_itkconfig=`(cd $i; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_itkconfig}" = x ; then - ITKCONFIG="# no Itk configs found" - AC_MSG_WARN(Can't find Itk configuration definitions) - else - no_itk= - ITKCONFIG=${ac_cv_c_itkconfig}/itkConfig.sh - AC_MSG_RESULT(found $ITKCONFIG) - fi -fi - -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_ITKCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_ITKCONFIG, [ - if test -f "$ITKCONFIG" ; then - . $ITKCONFIG - fi - - AC_SUBST(ITK_VERSION) -dnl not actually used, don't export to save symbols -dnl AC_SUBST(ITK_MAJOR_VERSION) -dnl AC_SUBST(ITK_MINOR_VERSION) - AC_SUBST(ITK_DEFS) - -dnl not used, don't export to save symbols - dnl AC_SUBST(ITK_LIB_FILE) - -dnl not used outside of configure -dnl AC_SUBST(ITK_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(ITK_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(ITK_EXEC_PREFIX) - - AC_SUBST(ITK_BUILD_INCLUDES) - AC_SUBST(ITK_BUILD_LIB_SPEC) - AC_SUBST(ITK_LIB_SPEC) -]) - -AC_DEFUN(CY_AC_PATH_ITKH, [ -AC_MSG_CHECKING(for Itk private headers. srcdir=${srcdir}) -if test x"${ac_cv_c_itkh}" = x ; then - for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itk; do - if test -f $i/generic/itk.h ; then - ac_cv_c_itkh=`(cd $i/generic; pwd)` - break - fi - done -fi -if test x"${ac_cv_c_itkh}" = x ; then - ITKHDIR="# no Itk private headers found" - AC_MSG_ERROR([Can't find Itk private headers]) -fi -if test x"${ac_cv_c_itkh}" != x ; then - ITKHDIR="-I${ac_cv_c_itkh}" -fi -# should always be here -# ITKLIB="../itcl/itk/unix/libitk.a" -AC_SUBST(ITKHDIR) -#AC_SUBST(ITKLIB) -]) - -# check for Tix headers. - -AC_DEFUN(CY_AC_PATH_TIXH, [ -AC_MSG_CHECKING(for Tix private headers. srcdir=${srcdir}) -if test x"${ac_cv_c_tixh}" = x ; then - for i in ${srcdir}/../tix ${srcdir}/../../tix ${srcdir}/../../../tix ; do - if test -f $i/generic/tix.h ; then - ac_cv_c_tixh=`(cd $i/generic; pwd)` - break - fi - done -fi -if test x"${ac_cv_c_tixh}" = x ; then - TIXHDIR="# no Tix private headers found" - AC_MSG_ERROR([Can't find Tix private headers]) -fi -if test x"${ac_cv_c_tixh}" != x ; then - TIXHDIR="-I${ac_cv_c_tixh}" -fi -AC_SUBST(TIXHDIR) -]) - -AC_DEFUN(CY_AC_PATH_TIXCONFIG, [ -# -# Ok, lets find the tix configuration -# First, look for one uninstalled. -# the alternative search directory is invoked by --with-itkconfig -# - -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)], - with_tixconfig=${withval}) - AC_MSG_CHECKING([for Tix configuration]) - AC_CACHE_VAL(ac_cv_c_tixconfig,[ - - # First check to see if --with-tixconfig was specified. - if test x"${with_tixconfig}" != x ; then - if test -f "${with_tixconfig}/tixConfig.sh" ; then - ac_cv_c_tixconfig=`(cd ${with_tixconfig}; pwd)` - else - AC_MSG_ERROR([${with_tixconfig} directory doesn't contain tixConfig.sh]) - fi - fi - - # then check for a private Tix library - if test x"${ac_cv_c_tixconfig}" = x ; then - for i in \ - ../tix \ - `ls -dr ../tix 2>/dev/null` \ - ../../tix \ - `ls -dr ../../tix 2>/dev/null` \ - ../../../tix \ - `ls -dr ../../../tix 2>/dev/null` ; do - echo "**** Looking at $i - with ${configdir}" - if test -f "$i/tixConfig.sh" ; then - ac_cv_c_tixconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few common install locations - if test x"${ac_cv_c_tixconfig}" = x ; then - for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do - echo "**** Looking at $i" - if test -f "$i/tixConfig.sh" ; then - ac_cv_c_tixconfig=`(cd $i; pwd)` - break - fi - done - fi - # check in a few other private locations - echo "**** Other private locations" - if test x"${ac_cv_c_tixconfig}" = x ; then - for i in \ - ${srcdir}/../tix \ - `ls -dr ${srcdir}/../tix 2>/dev/null` ; do - echo "**** Looking at $i - with ${configdir}" - if test -f "$i/${configdir}/tixConfig.sh" ; then - ac_cv_c_tixconfig=`(cd $i/${configdir}; pwd)` - break - fi - done - fi - ]) - if test x"${ac_cv_c_tixconfig}" = x ; then - TIXCONFIG="# no Tix configs found" - AC_MSG_WARN(Can't find Tix configuration definitions) - else - no_tix= - TIXCONFIG=${ac_cv_c_tixconfig}/tixConfig.sh - AC_MSG_RESULT(found $TIXCONFIG) - fi -fi - -]) - -# Defined as a separate macro so we don't have to cache the values -# from PATH_TIXCONFIG (because this can also be cached). -AC_DEFUN(CY_AC_LOAD_TIXCONFIG, [ - if test -f "$TIXCONFIG" ; then - . $TIXCONFIG - fi - - AC_SUBST(TIX_VERSION) -dnl not actually used, don't export to save symbols -dnl AC_SUBST(TIX_MAJOR_VERSION) -dnl AC_SUBST(TIX_MINOR_VERSION) -dnl AC_SUBST(TIX_DEFS) - -dnl not used, don't export to save symbols -dnl dnl AC_SUBST(TIX_LIB_FILE) - -dnl not used outside of configure -dnl AC_SUBST(TIX_LIBS) -dnl not used, don't export to save symbols -dnl AC_SUBST(TIX_PREFIX) - -dnl not used, don't export to save symbols -dnl AC_SUBST(TIX_EXEC_PREFIX) - -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],) -]) - - -# 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 -]) - -# Add --enable-maintainer-mode option to configure. -# From Jim Meyering - -# serial 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 - $1_TRUE='#' - $1_FALSE= -fi]) - diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y deleted file mode 100644 index 2e34e019cd6..00000000000 --- a/gdb/ada-exp.y +++ /dev/null @@ -1,966 +0,0 @@ -/* YACC parser for Ada expressions, for GDB. - Copyright (C) 1986, 1989, 1990, 1991, 1993, 1994, 1997, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* Parse an Ada expression from text in a string, - and return the result as a struct expression pointer. - That structure contains arithmetic operations in reverse polish, - with constants represented by operations that are followed by special data. - See expression.h for the details of the format. - What is important here is that it can be built up sequentially - during the process of parsing; the lower levels of the tree always - come first in the result. - - malloc's and realloc's in this file are transformed to - xmalloc and xrealloc respectively by the same sed command in the - makefile that remaps any other malloc/realloc inserted by the parser - generator. Doing this with #defines and trying to control the interaction - with include files ( and for example) just became - too messy, particularly when such includes can be inserted at random - times by the parser generator. */ - -%{ - -#include "defs.h" -#include -#include -#include "expression.h" -#include "value.h" -#include "parser-defs.h" -#include "language.h" -#include "ada-lang.h" -#include "bfd.h" /* Required by objfiles.h. */ -#include "symfile.h" /* Required by objfiles.h. */ -#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */ -#include "frame.h" - -/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), - as well as gratuitiously global symbol names, so we can have multiple - yacc generated parsers in gdb. These are only the variables - produced by yacc. If other parser generators (bison, byacc, etc) produce - additional global names that conflict at link time, then those parser - generators need to be fixed instead of adding those names to this list. */ - -/* NOTE: This is clumsy, especially since BISON and FLEX provide --prefix - options. I presume we are maintaining it to accommodate systems - without BISON? (PNH) */ - -#define yymaxdepth ada_maxdepth -#define yyparse _ada_parse /* ada_parse calls this after initialization */ -#define yylex ada_lex -#define yyerror ada_error -#define yylval ada_lval -#define yychar ada_char -#define yydebug ada_debug -#define yypact ada_pact -#define yyr1 ada_r1 -#define yyr2 ada_r2 -#define yydef ada_def -#define yychk ada_chk -#define yypgo ada_pgo -#define yyact ada_act -#define yyexca ada_exca -#define yyerrflag ada_errflag -#define yynerrs ada_nerrs -#define yyps ada_ps -#define yypv ada_pv -#define yys ada_s -#define yy_yys ada_yys -#define yystate ada_state -#define yytmp ada_tmp -#define yyv ada_v -#define yy_yyv ada_yyv -#define yyval ada_val -#define yylloc ada_lloc -#define yyreds ada_reds /* With YYDEBUG defined */ -#define yytoks ada_toks /* With YYDEBUG defined */ -#define yyname ada_name /* With YYDEBUG defined */ -#define yyrule ada_rule /* With YYDEBUG defined */ - -#ifndef YYDEBUG -#define YYDEBUG 1 /* Default to yydebug support */ -#endif - -#define YYFPRINTF parser_fprintf - -struct name_info { - struct symbol* sym; - struct minimal_symbol* msym; - struct block* block; - struct stoken stoken; -}; - -/* If expression is in the context of TYPE'(...), then TYPE, else - * NULL. */ -static struct type* type_qualifier; - -int yyparse (void); - -static int yylex (void); - -void yyerror (char *); - -static struct stoken string_to_operator (struct stoken); - -static void write_attribute_call0 (enum ada_attribute); - -static void write_attribute_call1 (enum ada_attribute, LONGEST); - -static void write_attribute_calln (enum ada_attribute, int); - -static void write_object_renaming (struct block*, struct symbol*); - -static void write_var_from_name (struct block*, struct name_info); - -static LONGEST -convert_char_literal (struct type*, LONGEST); -%} - -%union - { - LONGEST lval; - struct { - LONGEST val; - struct type *type; - } typed_val; - struct { - DOUBLEST dval; - struct type *type; - } typed_val_float; - struct type *tval; - struct stoken sval; - struct name_info ssym; - int voidval; - struct block *bval; - struct internalvar *ivar; - - } - -%type exp exp1 simple_exp start variable -%type type - -%token INT NULL_PTR CHARLIT -%token FLOAT -%token TYPENAME -%token BLOCKNAME - -/* Both NAME and TYPENAME tokens represent symbols in the input, - and both convey their data as strings. - But a TYPENAME is a string that happens to be defined as a typedef - or builtin type name (such as int or char) - and a NAME is any other symbol. - Contexts where this distinction is not important can use the - nonterminal "name", which matches either NAME or TYPENAME. */ - -%token STRING -%token NAME DOT_ID OBJECT_RENAMING -%type block -%type arglist tick_arglist - -%type save_qualifier - -%token DOT_ALL - -/* Special type cases, put in to allow the parser to distinguish different - legal basetypes. */ -%token LAST REGNAME - -%token INTERNAL_VARIABLE - -%nonassoc ASSIGN -%left _AND_ OR XOR THEN ELSE -%left '=' NOTEQUAL '<' '>' LEQ GEQ IN DOTDOT -%left '@' -%left '+' '-' '&' -%left UNARY -%left '*' '/' MOD REM -%right STARSTAR ABS NOT - /* The following are right-associative only so that reductions at this - precedence have lower precedence than '.' and '('. The syntax still - forces a.b.c, e.g., to be LEFT-associated. */ -%right TICK_ACCESS TICK_ADDRESS TICK_FIRST TICK_LAST TICK_LENGTH -%right TICK_MAX TICK_MIN TICK_MODULUS -%right TICK_POS TICK_RANGE TICK_SIZE TICK_TAG TICK_VAL -%right '.' '(' '[' DOT_ID DOT_ALL - -%token ARROW NEW - - -%% - -start : exp1 - | type { write_exp_elt_opcode (OP_TYPE); - write_exp_elt_type ($1); - write_exp_elt_opcode (OP_TYPE); } - ; - -/* Expressions, including the sequencing operator. */ -exp1 : exp - | exp1 ';' exp - { write_exp_elt_opcode (BINOP_COMMA); } - ; - -/* Expressions, not including the sequencing operator. */ -simple_exp : simple_exp DOT_ALL - { write_exp_elt_opcode (UNOP_IND); } - ; - -simple_exp : simple_exp DOT_ID - { write_exp_elt_opcode (STRUCTOP_STRUCT); - write_exp_string ($2.stoken); - write_exp_elt_opcode (STRUCTOP_STRUCT); - } - ; - -simple_exp : simple_exp '(' arglist ')' - { - write_exp_elt_opcode (OP_FUNCALL); - write_exp_elt_longcst ($3); - write_exp_elt_opcode (OP_FUNCALL); - } - ; - -simple_exp : type '(' exp ')' - { - write_exp_elt_opcode (UNOP_CAST); - write_exp_elt_type ($1); - write_exp_elt_opcode (UNOP_CAST); - } - ; - -simple_exp : type '\'' save_qualifier { type_qualifier = $1; } '(' exp ')' - { - /* write_exp_elt_opcode (UNOP_QUAL); */ - /* FIXME: UNOP_QUAL should be defined in expression.h */ - write_exp_elt_type ($1); - /* write_exp_elt_opcode (UNOP_QUAL); */ - /* FIXME: UNOP_QUAL should be defined in expression.h */ - type_qualifier = $3; - } - ; - -save_qualifier : { $$ = type_qualifier; } - -simple_exp : - simple_exp '(' exp DOTDOT exp ')' - { write_exp_elt_opcode (TERNOP_SLICE); } - ; - -simple_exp : '(' exp1 ')' { } - ; - -simple_exp : variable - ; - -simple_exp: REGNAME /* GDB extension */ - { write_exp_elt_opcode (OP_REGISTER); - write_exp_elt_longcst ((LONGEST) $1); - write_exp_elt_opcode (OP_REGISTER); - } - ; - -simple_exp: INTERNAL_VARIABLE /* GDB extension */ - { write_exp_elt_opcode (OP_INTERNALVAR); - write_exp_elt_intern ($1); - write_exp_elt_opcode (OP_INTERNALVAR); - } - ; - - -exp : simple_exp - ; - -simple_exp: LAST - { write_exp_elt_opcode (OP_LAST); - write_exp_elt_longcst ((LONGEST) $1); - write_exp_elt_opcode (OP_LAST); - } - ; - -exp : exp ASSIGN exp /* Extension for convenience */ - { write_exp_elt_opcode (BINOP_ASSIGN); } - ; - -exp : '-' exp %prec UNARY - { write_exp_elt_opcode (UNOP_NEG); } - ; - -exp : '+' exp %prec UNARY - { write_exp_elt_opcode (UNOP_PLUS); } - ; - -exp : NOT exp %prec UNARY - { write_exp_elt_opcode (UNOP_LOGICAL_NOT); } - ; - -exp : ABS exp %prec UNARY - { write_exp_elt_opcode (UNOP_ABS); } - ; - -arglist : { $$ = 0; } - ; - -arglist : exp - { $$ = 1; } - | any_name ARROW exp - { $$ = 1; } - | arglist ',' exp - { $$ = $1 + 1; } - | arglist ',' any_name ARROW exp - { $$ = $1 + 1; } - ; - -exp : '{' type '}' exp %prec '.' - /* GDB extension */ - { write_exp_elt_opcode (UNOP_MEMVAL); - write_exp_elt_type ($2); - write_exp_elt_opcode (UNOP_MEMVAL); - } - ; - -/* Binary operators in order of decreasing precedence. */ - -exp : exp STARSTAR exp - { write_exp_elt_opcode (BINOP_EXP); } - ; - -exp : exp '*' exp - { write_exp_elt_opcode (BINOP_MUL); } - ; - -exp : exp '/' exp - { write_exp_elt_opcode (BINOP_DIV); } - ; - -exp : exp REM exp /* May need to be fixed to give correct Ada REM */ - { write_exp_elt_opcode (BINOP_REM); } - ; - -exp : exp MOD exp - { write_exp_elt_opcode (BINOP_MOD); } - ; - -exp : exp '@' exp /* GDB extension */ - { write_exp_elt_opcode (BINOP_REPEAT); } - ; - -exp : exp '+' exp - { write_exp_elt_opcode (BINOP_ADD); } - ; - -exp : exp '&' exp - { write_exp_elt_opcode (BINOP_CONCAT); } - ; - -exp : exp '-' exp - { write_exp_elt_opcode (BINOP_SUB); } - ; - -exp : exp '=' exp - { write_exp_elt_opcode (BINOP_EQUAL); } - ; - -exp : exp NOTEQUAL exp - { write_exp_elt_opcode (BINOP_NOTEQUAL); } - ; - -exp : exp LEQ exp - { write_exp_elt_opcode (BINOP_LEQ); } - ; - -exp : exp IN exp DOTDOT exp - { /*write_exp_elt_opcode (TERNOP_MBR); */ } - /* FIXME: TERNOP_MBR should be defined in - expression.h */ - | exp IN exp TICK_RANGE tick_arglist - { /*write_exp_elt_opcode (BINOP_MBR); */ - /* FIXME: BINOP_MBR should be defined in expression.h */ - write_exp_elt_longcst ((LONGEST) $5); - /*write_exp_elt_opcode (BINOP_MBR); */ - } - | exp IN TYPENAME %prec TICK_ACCESS - { /*write_exp_elt_opcode (UNOP_MBR); */ - /* FIXME: UNOP_QUAL should be defined in expression.h */ - write_exp_elt_type ($3); - /* write_exp_elt_opcode (UNOP_MBR); */ - /* FIXME: UNOP_MBR should be defined in expression.h */ - } - | exp NOT IN exp DOTDOT exp - { /*write_exp_elt_opcode (TERNOP_MBR); */ - /* FIXME: TERNOP_MBR should be defined in expression.h */ - write_exp_elt_opcode (UNOP_LOGICAL_NOT); - } - | exp NOT IN exp TICK_RANGE tick_arglist - { /* write_exp_elt_opcode (BINOP_MBR); */ - /* FIXME: BINOP_MBR should be defined in expression.h */ - write_exp_elt_longcst ((LONGEST) $6); - /*write_exp_elt_opcode (BINOP_MBR);*/ - /* FIXME: BINOP_MBR should be defined in expression.h */ - write_exp_elt_opcode (UNOP_LOGICAL_NOT); - } - | exp NOT IN TYPENAME %prec TICK_ACCESS - { /*write_exp_elt_opcode (UNOP_MBR);*/ - /* FIXME: UNOP_MBR should be defined in expression.h */ - write_exp_elt_type ($4); - /* write_exp_elt_opcode (UNOP_MBR);*/ - /* FIXME: UNOP_MBR should be defined in expression.h */ - write_exp_elt_opcode (UNOP_LOGICAL_NOT); - } - ; - -exp : exp GEQ exp - { write_exp_elt_opcode (BINOP_GEQ); } - ; - -exp : exp '<' exp - { write_exp_elt_opcode (BINOP_LESS); } - ; - -exp : exp '>' exp - { write_exp_elt_opcode (BINOP_GTR); } - ; - -exp : exp _AND_ exp /* Fix for Ada elementwise AND. */ - { write_exp_elt_opcode (BINOP_BITWISE_AND); } - ; - -exp : exp _AND_ THEN exp %prec _AND_ - { write_exp_elt_opcode (BINOP_LOGICAL_AND); } - ; - -exp : exp OR exp /* Fix for Ada elementwise OR */ - { write_exp_elt_opcode (BINOP_BITWISE_IOR); } - ; - -exp : exp OR ELSE exp - { write_exp_elt_opcode (BINOP_LOGICAL_OR); } - ; - -exp : exp XOR exp /* Fix for Ada elementwise XOR */ - { write_exp_elt_opcode (BINOP_BITWISE_XOR); } - ; - -simple_exp : simple_exp TICK_ACCESS - { write_exp_elt_opcode (UNOP_ADDR); } - | simple_exp TICK_ADDRESS - { write_exp_elt_opcode (UNOP_ADDR); - write_exp_elt_opcode (UNOP_CAST); - write_exp_elt_type (builtin_type_ada_system_address); - write_exp_elt_opcode (UNOP_CAST); - } - | simple_exp TICK_FIRST tick_arglist - { write_attribute_call1 (ATR_FIRST, $3); } - | simple_exp TICK_LAST tick_arglist - { write_attribute_call1 (ATR_LAST, $3); } - | simple_exp TICK_LENGTH tick_arglist - { write_attribute_call1 (ATR_LENGTH, $3); } - | simple_exp TICK_SIZE - { write_attribute_call0 (ATR_SIZE); } - | simple_exp TICK_TAG - { write_attribute_call0 (ATR_TAG); } - | opt_type_prefix TICK_MIN '(' exp ',' exp ')' - { write_attribute_calln (ATR_MIN, 2); } - | opt_type_prefix TICK_MAX '(' exp ',' exp ')' - { write_attribute_calln (ATR_MAX, 2); } - | opt_type_prefix TICK_POS '(' exp ')' - { write_attribute_calln (ATR_POS, 1); } - | type_prefix TICK_FIRST tick_arglist - { write_attribute_call1 (ATR_FIRST, $3); } - | type_prefix TICK_LAST tick_arglist - { write_attribute_call1 (ATR_LAST, $3); } - | type_prefix TICK_LENGTH tick_arglist - { write_attribute_call1 (ATR_LENGTH, $3); } - | type_prefix TICK_VAL '(' exp ')' - { write_attribute_calln (ATR_VAL, 1); } - | type_prefix TICK_MODULUS - { write_attribute_call0 (ATR_MODULUS); } - ; - -tick_arglist : %prec '(' - { $$ = 1; } - | '(' INT ')' - { $$ = $2.val; } - ; - -type_prefix : - TYPENAME - { write_exp_elt_opcode (OP_TYPE); - write_exp_elt_type ($1); - write_exp_elt_opcode (OP_TYPE); } - ; - -opt_type_prefix : - type_prefix - | /* EMPTY */ - { write_exp_elt_opcode (OP_TYPE); - write_exp_elt_type (builtin_type_void); - write_exp_elt_opcode (OP_TYPE); } - ; - - -exp : INT - { write_exp_elt_opcode (OP_LONG); - write_exp_elt_type ($1.type); - write_exp_elt_longcst ((LONGEST)($1.val)); - write_exp_elt_opcode (OP_LONG); - } - ; - -exp : CHARLIT - { write_exp_elt_opcode (OP_LONG); - if (type_qualifier == NULL) - write_exp_elt_type ($1.type); - else - write_exp_elt_type (type_qualifier); - write_exp_elt_longcst - (convert_char_literal (type_qualifier, $1.val)); - write_exp_elt_opcode (OP_LONG); - } - - -exp : FLOAT - { write_exp_elt_opcode (OP_DOUBLE); - write_exp_elt_type ($1.type); - write_exp_elt_dblcst ($1.dval); - write_exp_elt_opcode (OP_DOUBLE); - } - ; - -exp : NULL_PTR - { write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_int); - write_exp_elt_longcst ((LONGEST)(0)); - write_exp_elt_opcode (OP_LONG); - } - -exp : STRING - { /* Ada strings are converted into array constants - a lower bound of 1. Thus, the array upper bound - is the string length. */ - char *sp = $1.ptr; int count; - if ($1.length == 0) - { /* One dummy character for the type */ - write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_ada_char); - write_exp_elt_longcst ((LONGEST)(0)); - write_exp_elt_opcode (OP_LONG); - } - for (count = $1.length; count > 0; count -= 1) - { - write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_ada_char); - write_exp_elt_longcst ((LONGEST)(*sp)); - sp += 1; - write_exp_elt_opcode (OP_LONG); - } - write_exp_elt_opcode (OP_ARRAY); - write_exp_elt_longcst ((LONGEST) 1); - write_exp_elt_longcst ((LONGEST) ($1.length)); - write_exp_elt_opcode (OP_ARRAY); - } - ; - -exp : NEW TYPENAME - { error ("NEW not implemented."); } - ; - -variable: NAME { write_var_from_name (NULL, $1); } - | block NAME /* GDB extension */ - { write_var_from_name ($1, $2); } - | OBJECT_RENAMING { write_object_renaming (NULL, $1.sym); } - | block OBJECT_RENAMING - { write_object_renaming ($1, $2.sym); } - ; - -any_name : NAME { } - | TYPENAME { } - | OBJECT_RENAMING { } - ; - -block : BLOCKNAME /* GDB extension */ - { $$ = $1; } - | block BLOCKNAME /* GDB extension */ - { $$ = $2; } - ; - - -type : TYPENAME { $$ = $1; } - | block TYPENAME { $$ = $2; } - | TYPENAME TICK_ACCESS - { $$ = lookup_pointer_type ($1); } - | block TYPENAME TICK_ACCESS - { $$ = lookup_pointer_type ($2); } - ; - -/* Some extensions borrowed from C, for the benefit of those who find they - can't get used to Ada notation in GDB. */ - -exp : '*' exp %prec '.' - { write_exp_elt_opcode (UNOP_IND); } - | '&' exp %prec '.' - { write_exp_elt_opcode (UNOP_ADDR); } - | exp '[' exp ']' - { write_exp_elt_opcode (BINOP_SUBSCRIPT); } - ; - -%% - -/* yylex defined in ada-lex.c: Reads one token, getting characters */ -/* through lexptr. */ - -/* Remap normal flex interface names (yylex) as well as gratuitiously */ -/* global symbol names, so we can have multiple flex-generated parsers */ -/* in gdb. */ - -/* (See note above on previous definitions for YACC.) */ - -#define yy_create_buffer ada_yy_create_buffer -#define yy_delete_buffer ada_yy_delete_buffer -#define yy_init_buffer ada_yy_init_buffer -#define yy_load_buffer_state ada_yy_load_buffer_state -#define yy_switch_to_buffer ada_yy_switch_to_buffer -#define yyrestart ada_yyrestart -#define yytext ada_yytext -#define yywrap ada_yywrap - -/* The following kludge was found necessary to prevent conflicts between */ -/* defs.h and non-standard stdlib.h files. */ -#define qsort __qsort__dummy -#include "ada-lex.c" - -int -ada_parse () -{ - lexer_init (yyin); /* (Re-)initialize lexer. */ - left_block_context = NULL; - type_qualifier = NULL; - - return _ada_parse (); -} - -void -yyerror (msg) - char *msg; -{ - error ("A %s in expression, near `%s'.", (msg ? msg : "error"), lexptr); -} - -/* The operator name corresponding to operator symbol STRING (adds - quotes and maps to lower-case). Destroys the previous contents of - the array pointed to by STRING.ptr. Error if STRING does not match - a valid Ada operator. Assumes that STRING.ptr points to a - null-terminated string and that, if STRING is a valid operator - symbol, the array pointed to by STRING.ptr contains at least - STRING.length+3 characters. */ - -static struct stoken -string_to_operator (string) - struct stoken string; -{ - int i; - - for (i = 0; ada_opname_table[i].mangled != NULL; i += 1) - { - if (string.length == strlen (ada_opname_table[i].demangled)-2 - && strncasecmp (string.ptr, ada_opname_table[i].demangled+1, - string.length) == 0) - { - strncpy (string.ptr, ada_opname_table[i].demangled, - string.length+2); - string.length += 2; - return string; - } - } - error ("Invalid operator symbol `%s'", string.ptr); -} - -/* Emit expression to access an instance of SYM, in block BLOCK (if - * non-NULL), and with :: qualification ORIG_LEFT_CONTEXT. */ -static void -write_var_from_sym (orig_left_context, block, sym) - struct block* orig_left_context; - struct block* block; - struct symbol* sym; -{ - if (orig_left_context == NULL && symbol_read_needs_frame (sym)) - { - if (innermost_block == 0 || - contained_in (block, innermost_block)) - innermost_block = block; - } - - write_exp_elt_opcode (OP_VAR_VALUE); - /* We want to use the selected frame, not another more inner frame - which happens to be in the same block */ - write_exp_elt_block (NULL); - write_exp_elt_sym (sym); - write_exp_elt_opcode (OP_VAR_VALUE); -} - -/* Emit expression to access an instance of NAME. */ -static void -write_var_from_name (orig_left_context, name) - struct block* orig_left_context; - struct name_info name; -{ - if (name.msym != NULL) - { - write_exp_msymbol (name.msym, - lookup_function_type (builtin_type_int), - builtin_type_int); - } - else if (name.sym == NULL) - { - /* Multiple matches: record name and starting block for later - resolution by ada_resolve. */ - /* write_exp_elt_opcode (OP_UNRESOLVED_VALUE); */ - /* FIXME: OP_UNRESOLVED_VALUE should be defined in expression.h */ - write_exp_elt_block (name.block); - /* write_exp_elt_name (name.stoken.ptr); */ - /* FIXME: write_exp_elt_name should be defined in defs.h, located in parse.c */ - /* write_exp_elt_opcode (OP_UNRESOLVED_VALUE); */ - /* FIXME: OP_UNRESOLVED_VALUE should be defined in expression.h */ - } - else - write_var_from_sym (orig_left_context, name.block, name.sym); -} - -/* Write a call on parameterless attribute ATR. */ - -static void -write_attribute_call0 (atr) - enum ada_attribute atr; -{ - /* write_exp_elt_opcode (OP_ATTRIBUTE); */ - /* FIXME: OP_ATTRIBUTE should be defined in expression.h */ - write_exp_elt_longcst ((LONGEST) 0); - write_exp_elt_longcst ((LONGEST) atr); - /* write_exp_elt_opcode (OP_ATTRIBUTE); */ - /* FIXME: OP_ATTRIBUTE should be defined in expression.h */ -} - -/* Write a call on an attribute ATR with one constant integer - * parameter. */ - -static void -write_attribute_call1 (atr, arg) - enum ada_attribute atr; - LONGEST arg; -{ - write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_int); - write_exp_elt_longcst (arg); - write_exp_elt_opcode (OP_LONG); - /*write_exp_elt_opcode (OP_ATTRIBUTE);*/ - /* FIXME: OP_ATTRIBUTE should be defined in expression.h */ - write_exp_elt_longcst ((LONGEST) 1); - write_exp_elt_longcst ((LONGEST) atr); - /*write_exp_elt_opcode (OP_ATTRIBUTE);*/ - /* FIXME: OP_ATTRIBUTE should be defined in expression.h */ -} - -/* Write a call on an attribute ATR with N parameters, whose code must have - * been generated previously. */ - -static void -write_attribute_calln (atr, n) - enum ada_attribute atr; - int n; -{ - /*write_exp_elt_opcode (OP_ATTRIBUTE);*/ - /* FIXME: OP_ATTRIBUTE should be defined in expression.h */ - write_exp_elt_longcst ((LONGEST) n); - write_exp_elt_longcst ((LONGEST) atr); - /* write_exp_elt_opcode (OP_ATTRIBUTE);*/ - /* FIXME: OP_ATTRIBUTE should be defined in expression.h */ -} - -/* Emit expression corresponding to the renamed object designated by - * the type RENAMING, which must be the referent of an object renaming - * type, in the context of ORIG_LEFT_CONTEXT (?). */ -static void -write_object_renaming (orig_left_context, renaming) - struct block* orig_left_context; - struct symbol* renaming; -{ - const char* qualification = SYMBOL_NAME (renaming); - const char* simple_tail; - const char* expr = TYPE_FIELD_NAME (SYMBOL_TYPE (renaming), 0); - const char* suffix; - char* name; - struct symbol* sym; - enum { SIMPLE_INDEX, LOWER_BOUND, UPPER_BOUND } slice_state; - - /* if orig_left_context is null, then use the currently selected - block, otherwise we might fail our symbol lookup below */ - if (orig_left_context == NULL) - orig_left_context = get_selected_block (NULL); - - for (simple_tail = qualification + strlen (qualification); - simple_tail != qualification; simple_tail -= 1) - { - if (*simple_tail == '.') - { - simple_tail += 1; - break; - } - else if (STREQN (simple_tail, "__", 2)) - { - simple_tail += 2; - break; - } - } - - suffix = strstr (expr, "___XE"); - if (suffix == NULL) - goto BadEncoding; - - name = (char*) malloc (suffix - expr + 1); - /* add_name_string_cleanup (name); */ - /* FIXME: add_name_string_cleanup should be defined in - parser-defs.h, implemented in parse.c */ - strncpy (name, expr, suffix-expr); - name[suffix-expr] = '\000'; - sym = lookup_symbol (name, orig_left_context, VAR_NAMESPACE, 0, NULL); - /* if (sym == NULL) - error ("Could not find renamed variable: %s", ada_demangle (name)); - */ - /* FIXME: ada_demangle should be defined in defs.h, implemented in ada-lang.c */ - write_var_from_sym (orig_left_context, block_found, sym); - - suffix += 5; - slice_state = SIMPLE_INDEX; - while (*suffix == 'X') - { - suffix += 1; - - switch (*suffix) { - case 'L': - slice_state = LOWER_BOUND; - case 'S': - suffix += 1; - if (isdigit (*suffix)) - { - char* next; - long val = strtol (suffix, &next, 10); - if (next == suffix) - goto BadEncoding; - suffix = next; - write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_ada_int); - write_exp_elt_longcst ((LONGEST) val); - write_exp_elt_opcode (OP_LONG); - } - else - { - const char* end; - char* index_name; - int index_len; - struct symbol* index_sym; - - end = strchr (suffix, 'X'); - if (end == NULL) - end = suffix + strlen (suffix); - - index_len = simple_tail - qualification + 2 + (suffix - end) + 1; - index_name = (char*) malloc (index_len); - memset (index_name, '\000', index_len); - /* add_name_string_cleanup (index_name);*/ - /* FIXME: add_name_string_cleanup should be defined in - parser-defs.h, implemented in parse.c */ - strncpy (index_name, qualification, simple_tail - qualification); - index_name[simple_tail - qualification] = '\000'; - strncat (index_name, suffix, suffix-end); - suffix = end; - - index_sym = - lookup_symbol (index_name, NULL, VAR_NAMESPACE, 0, NULL); - if (index_sym == NULL) - error ("Could not find %s", index_name); - write_var_from_sym (NULL, block_found, sym); - } - if (slice_state == SIMPLE_INDEX) - { - write_exp_elt_opcode (OP_FUNCALL); - write_exp_elt_longcst ((LONGEST) 1); - write_exp_elt_opcode (OP_FUNCALL); - } - else if (slice_state == LOWER_BOUND) - slice_state = UPPER_BOUND; - else if (slice_state == UPPER_BOUND) - { - write_exp_elt_opcode (TERNOP_SLICE); - slice_state = SIMPLE_INDEX; - } - break; - - case 'R': - { - struct stoken field_name; - const char* end; - suffix += 1; - - if (slice_state != SIMPLE_INDEX) - goto BadEncoding; - end = strchr (suffix, 'X'); - if (end == NULL) - end = suffix + strlen (suffix); - field_name.length = end - suffix; - field_name.ptr = (char*) malloc (end - suffix + 1); - strncpy (field_name.ptr, suffix, end - suffix); - field_name.ptr[end - suffix] = '\000'; - suffix = end; - write_exp_elt_opcode (STRUCTOP_STRUCT); - write_exp_string (field_name); - write_exp_elt_opcode (STRUCTOP_STRUCT); - break; - } - - default: - goto BadEncoding; - } - } - if (slice_state == SIMPLE_INDEX) - return; - - BadEncoding: - error ("Internal error in encoding of renaming declaration: %s", - SYMBOL_NAME (renaming)); -} - -/* Convert the character literal whose ASCII value would be VAL to the - appropriate value of type TYPE, if there is a translation. - Otherwise return VAL. Hence, in an enumeration type ('A', 'B'), - the literal 'A' (VAL == 65), returns 0. */ -static LONGEST -convert_char_literal (struct type* type, LONGEST val) -{ - char name[7]; - int f; - - if (type == NULL || TYPE_CODE (type) != TYPE_CODE_ENUM) - return val; - sprintf (name, "QU%02x", (int) val); - for (f = 0; f < TYPE_NFIELDS (type); f += 1) - { - if (STREQ (name, TYPE_FIELD_NAME (type, f))) - return TYPE_FIELD_BITPOS (type, f); - } - return val; -} diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c deleted file mode 100644 index c58d46338ea..00000000000 --- a/gdb/ada-lang.c +++ /dev/null @@ -1,8317 +0,0 @@ -/* Ada language support routines for GDB, the GNU debugger. Copyright - 1992, 1993, 1994, 1997, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#include -#include "gdb_string.h" -#include -#include -#include "demangle.h" -#include "defs.h" -#include "symtab.h" -#include "gdbtypes.h" -#include "gdbcmd.h" -#include "expression.h" -#include "parser-defs.h" -#include "language.h" -#include "c-lang.h" -#include "inferior.h" -#include "symfile.h" -#include "objfiles.h" -#include "breakpoint.h" -#include "gdbcore.h" -#include "ada-lang.h" -#ifdef UI_OUT -#include "ui-out.h" -#endif - -struct cleanup *unresolved_names; - -void extract_string (CORE_ADDR addr, char *buf); - -static struct type *ada_create_fundamental_type (struct objfile *, int); - -static void modify_general_field (char *, LONGEST, int, int); - -static struct type *desc_base_type (struct type *); - -static struct type *desc_bounds_type (struct type *); - -static struct value *desc_bounds (struct value *); - -static int fat_pntr_bounds_bitpos (struct type *); - -static int fat_pntr_bounds_bitsize (struct type *); - -static struct type *desc_data_type (struct type *); - -static struct value *desc_data (struct value *); - -static int fat_pntr_data_bitpos (struct type *); - -static int fat_pntr_data_bitsize (struct type *); - -static struct value *desc_one_bound (struct value *, int, int); - -static int desc_bound_bitpos (struct type *, int, int); - -static int desc_bound_bitsize (struct type *, int, int); - -static struct type *desc_index_type (struct type *, int); - -static int desc_arity (struct type *); - -static int ada_type_match (struct type *, struct type *, int); - -static int ada_args_match (struct symbol *, struct value **, int); - -static struct value *place_on_stack (struct value *, CORE_ADDR *); - -static struct value *convert_actual (struct value *, struct type *, - CORE_ADDR *); - -static struct value *make_array_descriptor (struct type *, struct value *, - CORE_ADDR *); - -static void ada_add_block_symbols (struct block *, const char *, - namespace_enum, struct objfile *, int); - -static void fill_in_ada_prototype (struct symbol *); - -static int is_nonfunction (struct symbol **, int); - -static void add_defn_to_vec (struct symbol *, struct block *); - -static struct partial_symbol *ada_lookup_partial_symbol (struct partial_symtab - *, const char *, int, - namespace_enum, int); - -static struct symtab *symtab_for_sym (struct symbol *); - -static struct value *ada_resolve_subexp (struct expression **, int *, int, - struct type *); - -static void replace_operator_with_call (struct expression **, int, int, int, - struct symbol *, struct block *); - -static int possible_user_operator_p (enum exp_opcode, struct value **); - -static const char *ada_op_name (enum exp_opcode); - -static int numeric_type_p (struct type *); - -static int integer_type_p (struct type *); - -static int scalar_type_p (struct type *); - -static int discrete_type_p (struct type *); - -static char *extended_canonical_line_spec (struct symtab_and_line, - const char *); - -static struct value *evaluate_subexp (struct type *, struct expression *, - int *, enum noside); - -static struct value *evaluate_subexp_type (struct expression *, int *); - -static struct type *ada_create_fundamental_type (struct objfile *, int); - -static int is_dynamic_field (struct type *, int); - -static struct type *to_fixed_variant_branch_type (struct type *, char *, - CORE_ADDR, struct value *); - -static struct type *to_fixed_range_type (char *, struct value *, - struct objfile *); - -static struct type *to_static_fixed_type (struct type *); - -static struct value *unwrap_value (struct value *); - -static struct type *packed_array_type (struct type *, long *); - -static struct type *decode_packed_array_type (struct type *); - -static struct value *decode_packed_array (struct value *); - -static struct value *value_subscript_packed (struct value *, int, - struct value **); - -static struct value *coerce_unspec_val_to_type (struct value *, long, - struct type *); - -static struct value *get_var_value (char *, char *); - -static int lesseq_defined_than (struct symbol *, struct symbol *); - -static int equiv_types (struct type *, struct type *); - -static int is_name_suffix (const char *); - -static int wild_match (const char *, int, const char *); - -static struct symtabs_and_lines find_sal_from_funcs_and_line (const char *, - int, - struct symbol - **, int); - -static int find_line_in_linetable (struct linetable *, int, struct symbol **, - int, int *); - -static int find_next_line_in_linetable (struct linetable *, int, int, int); - -static struct symtabs_and_lines all_sals_for_line (const char *, int, - char ***); - -static void read_all_symtabs (const char *); - -static int is_plausible_func_for_line (struct symbol *, int); - -static struct value *ada_coerce_ref (struct value *); - -static struct value *value_pos_atr (struct value *); - -static struct value *value_val_atr (struct type *, struct value *); - -static struct symbol *standard_lookup (const char *, namespace_enum); - -extern void markTimeStart (int index); -extern void markTimeStop (int index); - - - -/* Maximum-sized dynamic type. */ -static unsigned int varsize_limit; - -static const char *ada_completer_word_break_characters = - " \t\n!@#$%^&*()+=|~`}{[]\";:?/,-"; - -/* The name of the symbol to use to get the name of the main subprogram */ -#define ADA_MAIN_PROGRAM_SYMBOL_NAME "__gnat_ada_main_program_name" - - /* Utilities */ - -/* extract_string - * - * read the string located at ADDR from the inferior and store the - * result into BUF - */ -void -extract_string (CORE_ADDR addr, char *buf) -{ - int char_index = 0; - - /* Loop, reading one byte at a time, until we reach the '\000' - end-of-string marker */ - do - { - target_read_memory (addr + char_index * sizeof (char), - buf + char_index * sizeof (char), sizeof (char)); - char_index++; - } - while (buf[char_index - 1] != '\000'); -} - -/* Assuming *OLD_VECT points to an array of *SIZE objects of size - ELEMENT_SIZE, grow it to contain at least MIN_SIZE objects, - updating *OLD_VECT and *SIZE as necessary. */ - -void -grow_vect (void **old_vect, size_t * size, size_t min_size, int element_size) -{ - if (*size < min_size) - { - *size *= 2; - if (*size < min_size) - *size = min_size; - *old_vect = xrealloc (*old_vect, *size * element_size); - } -} - -/* True (non-zero) iff TARGET matches FIELD_NAME up to any trailing - suffix of FIELD_NAME beginning "___" */ - -static int -field_name_match (const char *field_name, const char *target) -{ - int len = strlen (target); - return - STREQN (field_name, target, len) - && (field_name[len] == '\0' - || (STREQN (field_name + len, "___", 3) - && !STREQ (field_name + strlen (field_name) - 6, "___XVN"))); -} - - -/* The length of the prefix of NAME prior to any "___" suffix. */ - -int -ada_name_prefix_len (const char *name) -{ - if (name == NULL) - return 0; - else - { - const char *p = strstr (name, "___"); - if (p == NULL) - return strlen (name); - else - return p - name; - } -} - -/* SUFFIX is a suffix of STR. False if STR is null. */ -static int -is_suffix (const char *str, const char *suffix) -{ - int len1, len2; - if (str == NULL) - return 0; - len1 = strlen (str); - len2 = strlen (suffix); - return (len1 >= len2 && STREQ (str + len1 - len2, suffix)); -} - -/* Create a value of type TYPE whose contents come from VALADDR, if it - * is non-null, and whose memory address (in the inferior) is - * ADDRESS. */ -struct value * -value_from_contents_and_address (struct type *type, char *valaddr, - CORE_ADDR address) -{ - struct value *v = allocate_value (type); - if (valaddr == NULL) - VALUE_LAZY (v) = 1; - else - memcpy (VALUE_CONTENTS_RAW (v), valaddr, TYPE_LENGTH (type)); - VALUE_ADDRESS (v) = address; - if (address != 0) - VALUE_LVAL (v) = lval_memory; - return v; -} - -/* The contents of value VAL, beginning at offset OFFSET, treated as a - value of type TYPE. The result is an lval in memory if VAL is. */ - -static struct value * -coerce_unspec_val_to_type (struct value *val, long offset, struct type *type) -{ - CHECK_TYPEDEF (type); - if (VALUE_LVAL (val) == lval_memory) - return value_at_lazy (type, - VALUE_ADDRESS (val) + VALUE_OFFSET (val) + offset, - NULL); - else - { - struct value *result = allocate_value (type); - VALUE_LVAL (result) = not_lval; - if (VALUE_ADDRESS (val) == 0) - memcpy (VALUE_CONTENTS_RAW (result), VALUE_CONTENTS (val) + offset, - TYPE_LENGTH (type) > TYPE_LENGTH (VALUE_TYPE (val)) - ? TYPE_LENGTH (VALUE_TYPE (val)) : TYPE_LENGTH (type)); - else - { - VALUE_ADDRESS (result) = - VALUE_ADDRESS (val) + VALUE_OFFSET (val) + offset; - VALUE_LAZY (result) = 1; - } - return result; - } -} - -static char * -cond_offset_host (char *valaddr, long offset) -{ - if (valaddr == NULL) - return NULL; - else - return valaddr + offset; -} - -static CORE_ADDR -cond_offset_target (CORE_ADDR address, long offset) -{ - if (address == 0) - return 0; - else - return address + offset; -} - -/* Perform execute_command on the result of concatenating all - arguments up to NULL. */ -static void -do_command (const char *arg, ...) -{ - int len; - char *cmd; - const char *s; - va_list ap; - - va_start (ap, arg); - len = 0; - s = arg; - cmd = ""; - for (; s != NULL; s = va_arg (ap, const char *)) - { - char *cmd1; - len += strlen (s); - cmd1 = alloca (len + 1); - strcpy (cmd1, cmd); - strcat (cmd1, s); - cmd = cmd1; - } - va_end (ap); - execute_command (cmd, 0); -} - - - /* Language Selection */ - -/* If the main program is in Ada, return language_ada, otherwise return LANG - (the main program is in Ada iif the adainit symbol is found). - - MAIN_PST is not used. */ - -enum language -ada_update_initial_language (enum language lang, - struct partial_symtab *main_pst) -{ - if (lookup_minimal_symbol ("adainit", (const char *) NULL, - (struct objfile *) NULL) != NULL) - /* return language_ada; */ - /* FIXME: language_ada should be defined in defs.h */ - return language_unknown; - - return lang; -} - - - /* Symbols */ - -/* Table of Ada operators and their GNAT-mangled names. Last entry is pair - of NULLs. */ - -const struct ada_opname_map ada_opname_table[] = { - {"Oadd", "\"+\"", BINOP_ADD}, - {"Osubtract", "\"-\"", BINOP_SUB}, - {"Omultiply", "\"*\"", BINOP_MUL}, - {"Odivide", "\"/\"", BINOP_DIV}, - {"Omod", "\"mod\"", BINOP_MOD}, - {"Orem", "\"rem\"", BINOP_REM}, - {"Oexpon", "\"**\"", BINOP_EXP}, - {"Olt", "\"<\"", BINOP_LESS}, - {"Ole", "\"<=\"", BINOP_LEQ}, - {"Ogt", "\">\"", BINOP_GTR}, - {"Oge", "\">=\"", BINOP_GEQ}, - {"Oeq", "\"=\"", BINOP_EQUAL}, - {"One", "\"/=\"", BINOP_NOTEQUAL}, - {"Oand", "\"and\"", BINOP_BITWISE_AND}, - {"Oor", "\"or\"", BINOP_BITWISE_IOR}, - {"Oxor", "\"xor\"", BINOP_BITWISE_XOR}, - {"Oconcat", "\"&\"", BINOP_CONCAT}, - {"Oabs", "\"abs\"", UNOP_ABS}, - {"Onot", "\"not\"", UNOP_LOGICAL_NOT}, - {"Oadd", "\"+\"", UNOP_PLUS}, - {"Osubtract", "\"-\"", UNOP_NEG}, - {NULL, NULL} -}; - -/* True if STR should be suppressed in info listings. */ -static int -is_suppressed_name (const char *str) -{ - if (STREQN (str, "_ada_", 5)) - str += 5; - if (str[0] == '_' || str[0] == '\000') - return 1; - else - { - const char *p; - const char *suffix = strstr (str, "___"); - if (suffix != NULL && suffix[3] != 'X') - return 1; - if (suffix == NULL) - suffix = str + strlen (str); - for (p = suffix - 1; p != str; p -= 1) - if (isupper (*p)) - { - int i; - if (p[0] == 'X' && p[-1] != '_') - goto OK; - if (*p != 'O') - return 1; - for (i = 0; ada_opname_table[i].mangled != NULL; i += 1) - if (STREQN (ada_opname_table[i].mangled, p, - strlen (ada_opname_table[i].mangled))) - goto OK; - return 1; - OK:; - } - return 0; - } -} - -/* The "mangled" form of DEMANGLED, according to GNAT conventions. - * The result is valid until the next call to ada_mangle. */ -char * -ada_mangle (const char *demangled) -{ - static char *mangling_buffer = NULL; - static size_t mangling_buffer_size = 0; - const char *p; - int k; - - if (demangled == NULL) - return NULL; - - GROW_VECT (mangling_buffer, mangling_buffer_size, - 2 * strlen (demangled) + 10); - - k = 0; - for (p = demangled; *p != '\0'; p += 1) - { - if (*p == '.') - { - mangling_buffer[k] = mangling_buffer[k + 1] = '_'; - k += 2; - } - else if (*p == '"') - { - const struct ada_opname_map *mapping; - - for (mapping = ada_opname_table; - mapping->mangled != NULL && - !STREQN (mapping->demangled, p, strlen (mapping->demangled)); - p += 1) - ; - if (mapping->mangled == NULL) - error ("invalid Ada operator name: %s", p); - strcpy (mangling_buffer + k, mapping->mangled); - k += strlen (mapping->mangled); - break; - } - else - { - mangling_buffer[k] = *p; - k += 1; - } - } - - mangling_buffer[k] = '\0'; - return mangling_buffer; -} - -/* Return NAME folded to lower case, or, if surrounded by single - * quotes, unfolded, but with the quotes stripped away. Result good - * to next call. */ -char * -ada_fold_name (const char *name) -{ - static char *fold_buffer = NULL; - static size_t fold_buffer_size = 0; - - int len = strlen (name); - GROW_VECT (fold_buffer, fold_buffer_size, len + 1); - - if (name[0] == '\'') - { - strncpy (fold_buffer, name + 1, len - 2); - fold_buffer[len - 2] = '\000'; - } - else - { - int i; - for (i = 0; i <= len; i += 1) - fold_buffer[i] = tolower (name[i]); - } - - return fold_buffer; -} - -/* Demangle: - 1. Discard final __{DIGIT}+ or ${DIGIT}+ - 2. Convert other instances of embedded "__" to `.'. - 3. Discard leading _ada_. - 4. Convert operator names to the appropriate quoted symbols. - 5. Remove everything after first ___ if it is followed by - 'X'. - 6. Replace TK__ with __, and a trailing B or TKB with nothing. - 7. Put symbols that should be suppressed in <...> brackets. - 8. Remove trailing X[bn]* suffix (indicating names in package bodies). - The resulting string is valid until the next call of ada_demangle. - */ - -char * -ada_demangle (const char *mangled) -{ - int i, j; - int len0; - const char *p; - char *demangled; - int at_start_name; - static char *demangling_buffer = NULL; - static size_t demangling_buffer_size = 0; - - if (STREQN (mangled, "_ada_", 5)) - mangled += 5; - - if (mangled[0] == '_' || mangled[0] == '<') - goto Suppress; - - p = strstr (mangled, "___"); - if (p == NULL) - len0 = strlen (mangled); - else - { - if (p[3] == 'X') - len0 = p - mangled; - else - goto Suppress; - } - if (len0 > 3 && STREQ (mangled + len0 - 3, "TKB")) - len0 -= 3; - if (len0 > 1 && STREQ (mangled + len0 - 1, "B")) - len0 -= 1; - - /* Make demangled big enough for possible expansion by operator name. */ - GROW_VECT (demangling_buffer, demangling_buffer_size, 2 * len0 + 1); - demangled = demangling_buffer; - - if (isdigit (mangled[len0 - 1])) - { - for (i = len0 - 2; i >= 0 && isdigit (mangled[i]); i -= 1) - ; - if (i > 1 && mangled[i] == '_' && mangled[i - 1] == '_') - len0 = i - 1; - else if (mangled[i] == '$') - len0 = i; - } - - for (i = 0, j = 0; i < len0 && !isalpha (mangled[i]); i += 1, j += 1) - demangled[j] = mangled[i]; - - at_start_name = 1; - while (i < len0) - { - if (at_start_name && mangled[i] == 'O') - { - int k; - for (k = 0; ada_opname_table[k].mangled != NULL; k += 1) - { - int op_len = strlen (ada_opname_table[k].mangled); - if (STREQN - (ada_opname_table[k].mangled + 1, mangled + i + 1, - op_len - 1) && !isalnum (mangled[i + op_len])) - { - strcpy (demangled + j, ada_opname_table[k].demangled); - at_start_name = 0; - i += op_len; - j += strlen (ada_opname_table[k].demangled); - break; - } - } - if (ada_opname_table[k].mangled != NULL) - continue; - } - at_start_name = 0; - - if (i < len0 - 4 && STREQN (mangled + i, "TK__", 4)) - i += 2; - if (mangled[i] == 'X' && i != 0 && isalnum (mangled[i - 1])) - { - do - i += 1; - while (i < len0 && (mangled[i] == 'b' || mangled[i] == 'n')); - if (i < len0) - goto Suppress; - } - else if (i < len0 - 2 && mangled[i] == '_' && mangled[i + 1] == '_') - { - demangled[j] = '.'; - at_start_name = 1; - i += 2; - j += 1; - } - else - { - demangled[j] = mangled[i]; - i += 1; - j += 1; - } - } - demangled[j] = '\000'; - - for (i = 0; demangled[i] != '\0'; i += 1) - if (isupper (demangled[i]) || demangled[i] == ' ') - goto Suppress; - - return demangled; - -Suppress: - GROW_VECT (demangling_buffer, demangling_buffer_size, strlen (mangled) + 3); - demangled = demangling_buffer; - if (mangled[0] == '<') - strcpy (demangled, mangled); - else - sprintf (demangled, "<%s>", mangled); - return demangled; - -} - -/* Returns non-zero iff SYM_NAME matches NAME, ignoring any trailing - * suffixes that encode debugging information or leading _ada_ on - * SYM_NAME (see is_name_suffix commentary for the debugging - * information that is ignored). If WILD, then NAME need only match a - * suffix of SYM_NAME minus the same suffixes. Also returns 0 if - * either argument is NULL. */ - -int -ada_match_name (const char *sym_name, const char *name, int wild) -{ - if (sym_name == NULL || name == NULL) - return 0; - else if (wild) - return wild_match (name, strlen (name), sym_name); - else - { - int len_name = strlen (name); - return (STREQN (sym_name, name, len_name) - && is_name_suffix (sym_name + len_name)) - || (STREQN (sym_name, "_ada_", 5) - && STREQN (sym_name + 5, name, len_name) - && is_name_suffix (sym_name + len_name + 5)); - } -} - -/* True (non-zero) iff in Ada mode, the symbol SYM should be - suppressed in info listings. */ - -int -ada_suppress_symbol_printing (struct symbol *sym) -{ - if (SYMBOL_NAMESPACE (sym) == STRUCT_NAMESPACE) - return 1; - else - return is_suppressed_name (SYMBOL_NAME (sym)); -} - - - /* Arrays */ - -/* Names of MAX_ADA_DIMENS bounds in P_BOUNDS fields of - array descriptors. */ - -static char *bound_name[] = { - "LB0", "UB0", "LB1", "UB1", "LB2", "UB2", "LB3", "UB3", - "LB4", "UB4", "LB5", "UB5", "LB6", "UB6", "LB7", "UB7" -}; - -/* Maximum number of array dimensions we are prepared to handle. */ - -#define MAX_ADA_DIMENS (sizeof(bound_name) / (2*sizeof(char*))) - -/* Like modify_field, but allows bitpos > wordlength. */ - -static void -modify_general_field (char *addr, LONGEST fieldval, int bitpos, int bitsize) -{ - modify_field (addr + sizeof (LONGEST) * bitpos / (8 * sizeof (LONGEST)), - fieldval, bitpos % (8 * sizeof (LONGEST)), bitsize); -} - - -/* The desc_* routines return primitive portions of array descriptors - (fat pointers). */ - -/* The descriptor or array type, if any, indicated by TYPE; removes - level of indirection, if needed. */ -static struct type * -desc_base_type (struct type *type) -{ - if (type == NULL) - return NULL; - CHECK_TYPEDEF (type); - if (type != NULL && TYPE_CODE (type) == TYPE_CODE_PTR) - return check_typedef (TYPE_TARGET_TYPE (type)); - else - return type; -} - -/* True iff TYPE indicates a "thin" array pointer type. */ -static int -is_thin_pntr (struct type *type) -{ - return - is_suffix (ada_type_name (desc_base_type (type)), "___XUT") - || is_suffix (ada_type_name (desc_base_type (type)), "___XUT___XVE"); -} - -/* The descriptor type for thin pointer type TYPE. */ -static struct type * -thin_descriptor_type (struct type *type) -{ - struct type *base_type = desc_base_type (type); - if (base_type == NULL) - return NULL; - if (is_suffix (ada_type_name (base_type), "___XVE")) - return base_type; - else - { - struct type *alt_type = ada_find_parallel_type (base_type, "___XVE"); - if (alt_type == NULL) - return base_type; - else - return alt_type; - } -} - -/* A pointer to the array data for thin-pointer value VAL. */ -static struct value * -thin_data_pntr (struct value *val) -{ - struct type *type = VALUE_TYPE (val); - if (TYPE_CODE (type) == TYPE_CODE_PTR) - return value_cast (desc_data_type (thin_descriptor_type (type)), - value_copy (val)); - else - return value_from_longest (desc_data_type (thin_descriptor_type (type)), - VALUE_ADDRESS (val) + VALUE_OFFSET (val)); -} - -/* True iff TYPE indicates a "thick" array pointer type. */ -static int -is_thick_pntr (struct type *type) -{ - type = desc_base_type (type); - return (type != NULL && TYPE_CODE (type) == TYPE_CODE_STRUCT - && lookup_struct_elt_type (type, "P_BOUNDS", 1) != NULL); -} - -/* If TYPE is the type of an array descriptor (fat or thin pointer) or a - pointer to one, the type of its bounds data; otherwise, NULL. */ -static struct type * -desc_bounds_type (struct type *type) -{ - struct type *r; - - type = desc_base_type (type); - - if (type == NULL) - return NULL; - else if (is_thin_pntr (type)) - { - type = thin_descriptor_type (type); - if (type == NULL) - return NULL; - r = lookup_struct_elt_type (type, "BOUNDS", 1); - if (r != NULL) - return check_typedef (r); - } - else if (TYPE_CODE (type) == TYPE_CODE_STRUCT) - { - r = lookup_struct_elt_type (type, "P_BOUNDS", 1); - if (r != NULL) - return check_typedef (TYPE_TARGET_TYPE (check_typedef (r))); - } - return NULL; -} - -/* If ARR is an array descriptor (fat or thin pointer), or pointer to - one, a pointer to its bounds data. Otherwise NULL. */ -static struct value * -desc_bounds (struct value *arr) -{ - struct type *type = check_typedef (VALUE_TYPE (arr)); - if (is_thin_pntr (type)) - { - struct type *bounds_type = - desc_bounds_type (thin_descriptor_type (type)); - LONGEST addr; - - if (desc_bounds_type == NULL) - error ("Bad GNAT array descriptor"); - - /* NOTE: The following calculation is not really kosher, but - since desc_type is an XVE-encoded type (and shouldn't be), - the correct calculation is a real pain. FIXME (and fix GCC). */ - if (TYPE_CODE (type) == TYPE_CODE_PTR) - addr = value_as_long (arr); - else - addr = VALUE_ADDRESS (arr) + VALUE_OFFSET (arr); - - return - value_from_longest (lookup_pointer_type (bounds_type), - addr - TYPE_LENGTH (bounds_type)); - } - - else if (is_thick_pntr (type)) - return value_struct_elt (&arr, NULL, "P_BOUNDS", NULL, - "Bad GNAT array descriptor"); - else - return NULL; -} - -/* If TYPE is the type of an array-descriptor (fat pointer), the bit - position of the field containing the address of the bounds data. */ -static int -fat_pntr_bounds_bitpos (struct type *type) -{ - return TYPE_FIELD_BITPOS (desc_base_type (type), 1); -} - -/* If TYPE is the type of an array-descriptor (fat pointer), the bit - size of the field containing the address of the bounds data. */ -static int -fat_pntr_bounds_bitsize (struct type *type) -{ - type = desc_base_type (type); - - if (TYPE_FIELD_BITSIZE (type, 1) > 0) - return TYPE_FIELD_BITSIZE (type, 1); - else - return 8 * TYPE_LENGTH (check_typedef (TYPE_FIELD_TYPE (type, 1))); -} - -/* If TYPE is the type of an array descriptor (fat or thin pointer) or a - pointer to one, the type of its array data (a - pointer-to-array-with-no-bounds type); otherwise, NULL. Use - ada_type_of_array to get an array type with bounds data. */ -static struct type * -desc_data_type (struct type *type) -{ - type = desc_base_type (type); - - /* NOTE: The following is bogus; see comment in desc_bounds. */ - if (is_thin_pntr (type)) - return lookup_pointer_type - (desc_base_type (TYPE_FIELD_TYPE (thin_descriptor_type (type), 1))); - else if (is_thick_pntr (type)) - return lookup_struct_elt_type (type, "P_ARRAY", 1); - else - return NULL; -} - -/* If ARR is an array descriptor (fat or thin pointer), a pointer to - its array data. */ -static struct value * -desc_data (struct value *arr) -{ - struct type *type = VALUE_TYPE (arr); - if (is_thin_pntr (type)) - return thin_data_pntr (arr); - else if (is_thick_pntr (type)) - return value_struct_elt (&arr, NULL, "P_ARRAY", NULL, - "Bad GNAT array descriptor"); - else - return NULL; -} - - -/* If TYPE is the type of an array-descriptor (fat pointer), the bit - position of the field containing the address of the data. */ -static int -fat_pntr_data_bitpos (struct type *type) -{ - return TYPE_FIELD_BITPOS (desc_base_type (type), 0); -} - -/* If TYPE is the type of an array-descriptor (fat pointer), the bit - size of the field containing the address of the data. */ -static int -fat_pntr_data_bitsize (struct type *type) -{ - type = desc_base_type (type); - - if (TYPE_FIELD_BITSIZE (type, 0) > 0) - return TYPE_FIELD_BITSIZE (type, 0); - else - return TARGET_CHAR_BIT * TYPE_LENGTH (TYPE_FIELD_TYPE (type, 0)); -} - -/* If BOUNDS is an array-bounds structure (or pointer to one), return - the Ith lower bound stored in it, if WHICH is 0, and the Ith upper - bound, if WHICH is 1. The first bound is I=1. */ -static struct value * -desc_one_bound (struct value *bounds, int i, int which) -{ - return value_struct_elt (&bounds, NULL, bound_name[2 * i + which - 2], NULL, - "Bad GNAT array descriptor bounds"); -} - -/* If BOUNDS is an array-bounds structure type, return the bit position - of the Ith lower bound stored in it, if WHICH is 0, and the Ith upper - bound, if WHICH is 1. The first bound is I=1. */ -static int -desc_bound_bitpos (struct type *type, int i, int which) -{ - return TYPE_FIELD_BITPOS (desc_base_type (type), 2 * i + which - 2); -} - -/* If BOUNDS is an array-bounds structure type, return the bit field size - of the Ith lower bound stored in it, if WHICH is 0, and the Ith upper - bound, if WHICH is 1. The first bound is I=1. */ -static int -desc_bound_bitsize (struct type *type, int i, int which) -{ - type = desc_base_type (type); - - if (TYPE_FIELD_BITSIZE (type, 2 * i + which - 2) > 0) - return TYPE_FIELD_BITSIZE (type, 2 * i + which - 2); - else - return 8 * TYPE_LENGTH (TYPE_FIELD_TYPE (type, 2 * i + which - 2)); -} - -/* If TYPE is the type of an array-bounds structure, the type of its - Ith bound (numbering from 1). Otherwise, NULL. */ -static struct type * -desc_index_type (struct type *type, int i) -{ - type = desc_base_type (type); - - if (TYPE_CODE (type) == TYPE_CODE_STRUCT) - return lookup_struct_elt_type (type, bound_name[2 * i - 2], 1); - else - return NULL; -} - -/* The number of index positions in the array-bounds type TYPE. 0 - if TYPE is NULL. */ -static int -desc_arity (struct type *type) -{ - type = desc_base_type (type); - - if (type != NULL) - return TYPE_NFIELDS (type) / 2; - return 0; -} - - -/* Non-zero iff type is a simple array type (or pointer to one). */ -int -ada_is_simple_array (struct type *type) -{ - if (type == NULL) - return 0; - CHECK_TYPEDEF (type); - return (TYPE_CODE (type) == TYPE_CODE_ARRAY - || (TYPE_CODE (type) == TYPE_CODE_PTR - && TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY)); -} - -/* Non-zero iff type belongs to a GNAT array descriptor. */ -int -ada_is_array_descriptor (struct type *type) -{ - struct type *data_type = desc_data_type (type); - - if (type == NULL) - return 0; - CHECK_TYPEDEF (type); - return - data_type != NULL - && ((TYPE_CODE (data_type) == TYPE_CODE_PTR - && TYPE_TARGET_TYPE (data_type) != NULL - && TYPE_CODE (TYPE_TARGET_TYPE (data_type)) == TYPE_CODE_ARRAY) - || - TYPE_CODE (data_type) == TYPE_CODE_ARRAY) - && desc_arity (desc_bounds_type (type)) > 0; -} - -/* Non-zero iff type is a partially mal-formed GNAT array - descriptor. (FIXME: This is to compensate for some problems with - debugging output from GNAT. Re-examine periodically to see if it - is still needed. */ -int -ada_is_bogus_array_descriptor (struct type *type) -{ - return - type != NULL - && TYPE_CODE (type) == TYPE_CODE_STRUCT - && (lookup_struct_elt_type (type, "P_BOUNDS", 1) != NULL - || lookup_struct_elt_type (type, "P_ARRAY", 1) != NULL) - && !ada_is_array_descriptor (type); -} - - -/* If ARR has a record type in the form of a standard GNAT array descriptor, - (fat pointer) returns the type of the array data described---specifically, - a pointer-to-array type. If BOUNDS is non-zero, the bounds data are filled - in from the descriptor; otherwise, they are left unspecified. If - the ARR denotes a null array descriptor and BOUNDS is non-zero, - returns NULL. The result is simply the type of ARR if ARR is not - a descriptor. */ -struct type * -ada_type_of_array (struct value *arr, int bounds) -{ - if (ada_is_packed_array_type (VALUE_TYPE (arr))) - return decode_packed_array_type (VALUE_TYPE (arr)); - - if (!ada_is_array_descriptor (VALUE_TYPE (arr))) - return VALUE_TYPE (arr); - - if (!bounds) - return - check_typedef (TYPE_TARGET_TYPE (desc_data_type (VALUE_TYPE (arr)))); - else - { - struct type *elt_type; - int arity; - struct value *descriptor; - struct objfile *objf = TYPE_OBJFILE (VALUE_TYPE (arr)); - - elt_type = ada_array_element_type (VALUE_TYPE (arr), -1); - arity = ada_array_arity (VALUE_TYPE (arr)); - - if (elt_type == NULL || arity == 0) - return check_typedef (VALUE_TYPE (arr)); - - descriptor = desc_bounds (arr); - if (value_as_long (descriptor) == 0) - return NULL; - while (arity > 0) - { - struct type *range_type = alloc_type (objf); - struct type *array_type = alloc_type (objf); - struct value *low = desc_one_bound (descriptor, arity, 0); - struct value *high = desc_one_bound (descriptor, arity, 1); - arity -= 1; - - create_range_type (range_type, VALUE_TYPE (low), - (int) value_as_long (low), - (int) value_as_long (high)); - elt_type = create_array_type (array_type, elt_type, range_type); - } - - return lookup_pointer_type (elt_type); - } -} - -/* If ARR does not represent an array, returns ARR unchanged. - Otherwise, returns either a standard GDB array with bounds set - appropriately or, if ARR is a non-null fat pointer, a pointer to a standard - GDB array. Returns NULL if ARR is a null fat pointer. */ -struct value * -ada_coerce_to_simple_array_ptr (struct value *arr) -{ - if (ada_is_array_descriptor (VALUE_TYPE (arr))) - { - struct type *arrType = ada_type_of_array (arr, 1); - if (arrType == NULL) - return NULL; - return value_cast (arrType, value_copy (desc_data (arr))); - } - else if (ada_is_packed_array_type (VALUE_TYPE (arr))) - return decode_packed_array (arr); - else - return arr; -} - -/* If ARR does not represent an array, returns ARR unchanged. - Otherwise, returns a standard GDB array describing ARR (which may - be ARR itself if it already is in the proper form). */ -struct value * -ada_coerce_to_simple_array (struct value *arr) -{ - if (ada_is_array_descriptor (VALUE_TYPE (arr))) - { - struct value *arrVal = ada_coerce_to_simple_array_ptr (arr); - if (arrVal == NULL) - error ("Bounds unavailable for null array pointer."); - return value_ind (arrVal); - } - else if (ada_is_packed_array_type (VALUE_TYPE (arr))) - return decode_packed_array (arr); - else - return arr; -} - -/* If TYPE represents a GNAT array type, return it translated to an - ordinary GDB array type (possibly with BITSIZE fields indicating - packing). For other types, is the identity. */ -struct type * -ada_coerce_to_simple_array_type (struct type *type) -{ - struct value *mark = value_mark (); - struct value *dummy = value_from_longest (builtin_type_long, 0); - struct type *result; - VALUE_TYPE (dummy) = type; - result = ada_type_of_array (dummy, 0); - value_free_to_mark (dummy); - return result; -} - -/* Non-zero iff TYPE represents a standard GNAT packed-array type. */ -int -ada_is_packed_array_type (struct type *type) -{ - if (type == NULL) - return 0; - CHECK_TYPEDEF (type); - return - ada_type_name (type) != NULL - && strstr (ada_type_name (type), "___XP") != NULL; -} - -/* Given that TYPE is a standard GDB array type with all bounds filled - in, and that the element size of its ultimate scalar constituents - (that is, either its elements, or, if it is an array of arrays, its - elements' elements, etc.) is *ELT_BITS, return an identical type, - but with the bit sizes of its elements (and those of any - constituent arrays) recorded in the BITSIZE components of its - TYPE_FIELD_BITSIZE values, and with *ELT_BITS set to its total size - in bits. */ -static struct type * -packed_array_type (struct type *type, long *elt_bits) -{ - struct type *new_elt_type; - struct type *new_type; - LONGEST low_bound, high_bound; - - CHECK_TYPEDEF (type); - if (TYPE_CODE (type) != TYPE_CODE_ARRAY) - return type; - - new_type = alloc_type (TYPE_OBJFILE (type)); - new_elt_type = packed_array_type (check_typedef (TYPE_TARGET_TYPE (type)), - elt_bits); - create_array_type (new_type, new_elt_type, TYPE_FIELD_TYPE (type, 0)); - TYPE_FIELD_BITSIZE (new_type, 0) = *elt_bits; - TYPE_NAME (new_type) = ada_type_name (type); - - if (get_discrete_bounds (TYPE_FIELD_TYPE (type, 0), - &low_bound, &high_bound) < 0) - low_bound = high_bound = 0; - if (high_bound < low_bound) - *elt_bits = TYPE_LENGTH (new_type) = 0; - else - { - *elt_bits *= (high_bound - low_bound + 1); - TYPE_LENGTH (new_type) = - (*elt_bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT; - } - - /* TYPE_FLAGS (new_type) |= TYPE_FLAG_FIXED_INSTANCE; */ - /* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in gdbtypes.h */ - return new_type; -} - -/* The array type encoded by TYPE, where ada_is_packed_array_type (TYPE). - */ -static struct type * -decode_packed_array_type (struct type *type) -{ - struct symbol **syms; - struct block **blocks; - const char *raw_name = ada_type_name (check_typedef (type)); - char *name = (char *) alloca (strlen (raw_name) + 1); - char *tail = strstr (raw_name, "___XP"); - struct type *shadow_type; - long bits; - int i, n; - - memcpy (name, raw_name, tail - raw_name); - name[tail - raw_name] = '\000'; - - /* NOTE: Use ada_lookup_symbol_list because of bug in some versions - * of gcc (Solaris, e.g.). FIXME when compiler is fixed. */ - n = ada_lookup_symbol_list (name, get_selected_block (NULL), - VAR_NAMESPACE, &syms, &blocks); - for (i = 0; i < n; i += 1) - if (syms[i] != NULL && SYMBOL_CLASS (syms[i]) == LOC_TYPEDEF - && STREQ (name, ada_type_name (SYMBOL_TYPE (syms[i])))) - break; - if (i >= n) - { - warning ("could not find bounds information on packed array"); - return NULL; - } - shadow_type = SYMBOL_TYPE (syms[i]); - - if (TYPE_CODE (shadow_type) != TYPE_CODE_ARRAY) - { - warning ("could not understand bounds information on packed array"); - return NULL; - } - - if (sscanf (tail + sizeof ("___XP") - 1, "%ld", &bits) != 1) - { - warning ("could not understand bit size information on packed array"); - return NULL; - } - - return packed_array_type (shadow_type, &bits); -} - -/* Given that ARR is a struct value* indicating a GNAT packed array, - returns a simple array that denotes that array. Its type is a - standard GDB array type except that the BITSIZEs of the array - target types are set to the number of bits in each element, and the - type length is set appropriately. */ - -static struct value * -decode_packed_array (struct value *arr) -{ - struct type *type = decode_packed_array_type (VALUE_TYPE (arr)); - - if (type == NULL) - { - error ("can't unpack array"); - return NULL; - } - else - return coerce_unspec_val_to_type (arr, 0, type); -} - - -/* The value of the element of packed array ARR at the ARITY indices - given in IND. ARR must be a simple array. */ - -static struct value * -value_subscript_packed (struct value *arr, int arity, struct value **ind) -{ - int i; - int bits, elt_off, bit_off; - long elt_total_bit_offset; - struct type *elt_type; - struct value *v; - - bits = 0; - elt_total_bit_offset = 0; - elt_type = check_typedef (VALUE_TYPE (arr)); - for (i = 0; i < arity; i += 1) - { - if (TYPE_CODE (elt_type) != TYPE_CODE_ARRAY - || TYPE_FIELD_BITSIZE (elt_type, 0) == 0) - error - ("attempt to do packed indexing of something other than a packed array"); - else - { - struct type *range_type = TYPE_INDEX_TYPE (elt_type); - LONGEST lowerbound, upperbound; - LONGEST idx; - - if (get_discrete_bounds (range_type, &lowerbound, &upperbound) < 0) - { - warning ("don't know bounds of array"); - lowerbound = upperbound = 0; - } - - idx = value_as_long (value_pos_atr (ind[i])); - if (idx < lowerbound || idx > upperbound) - warning ("packed array index %ld out of bounds", (long) idx); - bits = TYPE_FIELD_BITSIZE (elt_type, 0); - elt_total_bit_offset += (idx - lowerbound) * bits; - elt_type = check_typedef (TYPE_TARGET_TYPE (elt_type)); - } - } - elt_off = elt_total_bit_offset / HOST_CHAR_BIT; - bit_off = elt_total_bit_offset % HOST_CHAR_BIT; - - v = ada_value_primitive_packed_val (arr, NULL, elt_off, bit_off, - bits, elt_type); - if (VALUE_LVAL (arr) == lval_internalvar) - VALUE_LVAL (v) = lval_internalvar_component; - else - VALUE_LVAL (v) = VALUE_LVAL (arr); - return v; -} - -/* Non-zero iff TYPE includes negative integer values. */ - -static int -has_negatives (struct type *type) -{ - switch (TYPE_CODE (type)) - { - default: - return 0; - case TYPE_CODE_INT: - return !TYPE_UNSIGNED (type); - case TYPE_CODE_RANGE: - return TYPE_LOW_BOUND (type) < 0; - } -} - - -/* Create a new value of type TYPE from the contents of OBJ starting - at byte OFFSET, and bit offset BIT_OFFSET within that byte, - proceeding for BIT_SIZE bits. If OBJ is an lval in memory, then - assigning through the result will set the field fetched from. OBJ - may also be NULL, in which case, VALADDR+OFFSET must address the - start of storage containing the packed value. The value returned - in this case is never an lval. - Assumes 0 <= BIT_OFFSET < HOST_CHAR_BIT. */ - -struct value * -ada_value_primitive_packed_val (struct value *obj, char *valaddr, long offset, - int bit_offset, int bit_size, - struct type *type) -{ - struct value *v; - int src, /* Index into the source area. */ - targ, /* Index into the target area. */ - i, srcBitsLeft, /* Number of source bits left to move. */ - nsrc, ntarg, /* Number of source and target bytes. */ - unusedLS, /* Number of bits in next significant - * byte of source that are unused. */ - accumSize; /* Number of meaningful bits in accum */ - unsigned char *bytes; /* First byte containing data to unpack. */ - unsigned char *unpacked; - unsigned long accum; /* Staging area for bits being transferred */ - unsigned char sign; - int len = (bit_size + bit_offset + HOST_CHAR_BIT - 1) / 8; - /* Transmit bytes from least to most significant; delta is the - * direction the indices move. */ - int delta = BITS_BIG_ENDIAN ? -1 : 1; - - CHECK_TYPEDEF (type); - - if (obj == NULL) - { - v = allocate_value (type); - bytes = (unsigned char *) (valaddr + offset); - } - else if (VALUE_LAZY (obj)) - { - v = value_at (type, - VALUE_ADDRESS (obj) + VALUE_OFFSET (obj) + offset, NULL); - bytes = (unsigned char *) alloca (len); - read_memory (VALUE_ADDRESS (v), bytes, len); - } - else - { - v = allocate_value (type); - bytes = (unsigned char *) VALUE_CONTENTS (obj) + offset; - } - - if (obj != NULL) - { - VALUE_LVAL (v) = VALUE_LVAL (obj); - if (VALUE_LVAL (obj) == lval_internalvar) - VALUE_LVAL (v) = lval_internalvar_component; - VALUE_ADDRESS (v) = VALUE_ADDRESS (obj) + VALUE_OFFSET (obj) + offset; - VALUE_BITPOS (v) = bit_offset + VALUE_BITPOS (obj); - VALUE_BITSIZE (v) = bit_size; - if (VALUE_BITPOS (v) >= HOST_CHAR_BIT) - { - VALUE_ADDRESS (v) += 1; - VALUE_BITPOS (v) -= HOST_CHAR_BIT; - } - } - else - VALUE_BITSIZE (v) = bit_size; - unpacked = (unsigned char *) VALUE_CONTENTS (v); - - srcBitsLeft = bit_size; - nsrc = len; - ntarg = TYPE_LENGTH (type); - sign = 0; - if (bit_size == 0) - { - memset (unpacked, 0, TYPE_LENGTH (type)); - return v; - } - else if (BITS_BIG_ENDIAN) - { - src = len - 1; - if (has_negatives (type) && - ((bytes[0] << bit_offset) & (1 << (HOST_CHAR_BIT - 1)))) - sign = ~0; - - unusedLS = - (HOST_CHAR_BIT - (bit_size + bit_offset) % HOST_CHAR_BIT) - % HOST_CHAR_BIT; - - switch (TYPE_CODE (type)) - { - case TYPE_CODE_ARRAY: - case TYPE_CODE_UNION: - case TYPE_CODE_STRUCT: - /* Non-scalar values must be aligned at a byte boundary. */ - accumSize = - (HOST_CHAR_BIT - bit_size % HOST_CHAR_BIT) % HOST_CHAR_BIT; - /* And are placed at the beginning (most-significant) bytes - * of the target. */ - targ = src; - break; - default: - accumSize = 0; - targ = TYPE_LENGTH (type) - 1; - break; - } - } - else - { - int sign_bit_offset = (bit_size + bit_offset - 1) % 8; - - src = targ = 0; - unusedLS = bit_offset; - accumSize = 0; - - if (has_negatives (type) && (bytes[len - 1] & (1 << sign_bit_offset))) - sign = ~0; - } - - accum = 0; - while (nsrc > 0) - { - /* Mask for removing bits of the next source byte that are not - * part of the value. */ - unsigned int unusedMSMask = - (1 << (srcBitsLeft >= HOST_CHAR_BIT ? HOST_CHAR_BIT : srcBitsLeft)) - - 1; - /* Sign-extend bits for this byte. */ - unsigned int signMask = sign & ~unusedMSMask; - accum |= - (((bytes[src] >> unusedLS) & unusedMSMask) | signMask) << accumSize; - accumSize += HOST_CHAR_BIT - unusedLS; - if (accumSize >= HOST_CHAR_BIT) - { - unpacked[targ] = accum & ~(~0L << HOST_CHAR_BIT); - accumSize -= HOST_CHAR_BIT; - accum >>= HOST_CHAR_BIT; - ntarg -= 1; - targ += delta; - } - srcBitsLeft -= HOST_CHAR_BIT - unusedLS; - unusedLS = 0; - nsrc -= 1; - src += delta; - } - while (ntarg > 0) - { - accum |= sign << accumSize; - unpacked[targ] = accum & ~(~0L << HOST_CHAR_BIT); - accumSize -= HOST_CHAR_BIT; - accum >>= HOST_CHAR_BIT; - ntarg -= 1; - targ += delta; - } - - return v; -} - -/* Move N bits from SOURCE, starting at bit offset SRC_OFFSET to - TARGET, starting at bit offset TARG_OFFSET. SOURCE and TARGET must - not overlap. */ -static void -move_bits (char *target, int targ_offset, char *source, int src_offset, int n) -{ - unsigned int accum, mask; - int accum_bits, chunk_size; - - target += targ_offset / HOST_CHAR_BIT; - targ_offset %= HOST_CHAR_BIT; - source += src_offset / HOST_CHAR_BIT; - src_offset %= HOST_CHAR_BIT; - if (BITS_BIG_ENDIAN) - { - accum = (unsigned char) *source; - source += 1; - accum_bits = HOST_CHAR_BIT - src_offset; - - while (n > 0) - { - int unused_right; - accum = (accum << HOST_CHAR_BIT) + (unsigned char) *source; - accum_bits += HOST_CHAR_BIT; - source += 1; - chunk_size = HOST_CHAR_BIT - targ_offset; - if (chunk_size > n) - chunk_size = n; - unused_right = HOST_CHAR_BIT - (chunk_size + targ_offset); - mask = ((1 << chunk_size) - 1) << unused_right; - *target = - (*target & ~mask) - | ((accum >> (accum_bits - chunk_size - unused_right)) & mask); - n -= chunk_size; - accum_bits -= chunk_size; - target += 1; - targ_offset = 0; - } - } - else - { - accum = (unsigned char) *source >> src_offset; - source += 1; - accum_bits = HOST_CHAR_BIT - src_offset; - - while (n > 0) - { - accum = accum + ((unsigned char) *source << accum_bits); - accum_bits += HOST_CHAR_BIT; - source += 1; - chunk_size = HOST_CHAR_BIT - targ_offset; - if (chunk_size > n) - chunk_size = n; - mask = ((1 << chunk_size) - 1) << targ_offset; - *target = (*target & ~mask) | ((accum << targ_offset) & mask); - n -= chunk_size; - accum_bits -= chunk_size; - accum >>= chunk_size; - target += 1; - targ_offset = 0; - } - } -} - - -/* Store the contents of FROMVAL into the location of TOVAL. - Return a new value with the location of TOVAL and contents of - FROMVAL. Handles assignment into packed fields that have - floating-point or non-scalar types. */ - -static struct value * -ada_value_assign (struct value *toval, struct value *fromval) -{ - struct type *type = VALUE_TYPE (toval); - int bits = VALUE_BITSIZE (toval); - - if (!toval->modifiable) - error ("Left operand of assignment is not a modifiable lvalue."); - - COERCE_REF (toval); - - if (VALUE_LVAL (toval) == lval_memory - && bits > 0 - && (TYPE_CODE (type) == TYPE_CODE_FLT - || TYPE_CODE (type) == TYPE_CODE_STRUCT)) - { - int len = - (VALUE_BITPOS (toval) + bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT; - char *buffer = (char *) alloca (len); - struct value *val; - - if (TYPE_CODE (type) == TYPE_CODE_FLT) - fromval = value_cast (type, fromval); - - read_memory (VALUE_ADDRESS (toval) + VALUE_OFFSET (toval), buffer, len); - if (BITS_BIG_ENDIAN) - move_bits (buffer, VALUE_BITPOS (toval), - VALUE_CONTENTS (fromval), - TYPE_LENGTH (VALUE_TYPE (fromval)) * TARGET_CHAR_BIT - - bits, bits); - else - move_bits (buffer, VALUE_BITPOS (toval), VALUE_CONTENTS (fromval), - 0, bits); - write_memory (VALUE_ADDRESS (toval) + VALUE_OFFSET (toval), buffer, - len); - - val = value_copy (toval); - memcpy (VALUE_CONTENTS_RAW (val), VALUE_CONTENTS (fromval), - TYPE_LENGTH (type)); - VALUE_TYPE (val) = type; - - return val; - } - - return value_assign (toval, fromval); -} - - -/* The value of the element of array ARR at the ARITY indices given in IND. - ARR may be either a simple array, GNAT array descriptor, or pointer - thereto. */ - -struct value * -ada_value_subscript (struct value *arr, int arity, struct value **ind) -{ - int k; - struct value *elt; - struct type *elt_type; - - elt = ada_coerce_to_simple_array (arr); - - elt_type = check_typedef (VALUE_TYPE (elt)); - if (TYPE_CODE (elt_type) == TYPE_CODE_ARRAY - && TYPE_FIELD_BITSIZE (elt_type, 0) > 0) - return value_subscript_packed (elt, arity, ind); - - for (k = 0; k < arity; k += 1) - { - if (TYPE_CODE (elt_type) != TYPE_CODE_ARRAY) - error ("too many subscripts (%d expected)", k); - elt = value_subscript (elt, value_pos_atr (ind[k])); - } - return elt; -} - -/* Assuming ARR is a pointer to a standard GDB array of type TYPE, the - value of the element of *ARR at the ARITY indices given in - IND. Does not read the entire array into memory. */ - -struct value * -ada_value_ptr_subscript (struct value *arr, struct type *type, int arity, - struct value **ind) -{ - int k; - - for (k = 0; k < arity; k += 1) - { - LONGEST lwb, upb; - struct value *idx; - - if (TYPE_CODE (type) != TYPE_CODE_ARRAY) - error ("too many subscripts (%d expected)", k); - arr = value_cast (lookup_pointer_type (TYPE_TARGET_TYPE (type)), - value_copy (arr)); - get_discrete_bounds (TYPE_INDEX_TYPE (type), &lwb, &upb); - if (lwb == 0) - idx = ind[k]; - else - idx = value_sub (ind[k], value_from_longest (builtin_type_int, lwb)); - arr = value_add (arr, idx); - type = TYPE_TARGET_TYPE (type); - } - - return value_ind (arr); -} - -/* If type is a record type in the form of a standard GNAT array - descriptor, returns the number of dimensions for type. If arr is a - simple array, returns the number of "array of"s that prefix its - type designation. Otherwise, returns 0. */ - -int -ada_array_arity (struct type *type) -{ - int arity; - - if (type == NULL) - return 0; - - type = desc_base_type (type); - - arity = 0; - if (TYPE_CODE (type) == TYPE_CODE_STRUCT) - return desc_arity (desc_bounds_type (type)); - else - while (TYPE_CODE (type) == TYPE_CODE_ARRAY) - { - arity += 1; - type = check_typedef (TYPE_TARGET_TYPE (type)); - } - - return arity; -} - -/* If TYPE is a record type in the form of a standard GNAT array - descriptor or a simple array type, returns the element type for - TYPE after indexing by NINDICES indices, or by all indices if - NINDICES is -1. Otherwise, returns NULL. */ - -struct type * -ada_array_element_type (struct type *type, int nindices) -{ - type = desc_base_type (type); - - if (TYPE_CODE (type) == TYPE_CODE_STRUCT) - { - int k; - struct type *p_array_type; - - p_array_type = desc_data_type (type); - - k = ada_array_arity (type); - if (k == 0) - return NULL; - - /* Initially p_array_type = elt_type(*)[]...(k times)...[] */ - if (nindices >= 0 && k > nindices) - k = nindices; - p_array_type = TYPE_TARGET_TYPE (p_array_type); - while (k > 0 && p_array_type != NULL) - { - p_array_type = check_typedef (TYPE_TARGET_TYPE (p_array_type)); - k -= 1; - } - return p_array_type; - } - else if (TYPE_CODE (type) == TYPE_CODE_ARRAY) - { - while (nindices != 0 && TYPE_CODE (type) == TYPE_CODE_ARRAY) - { - type = TYPE_TARGET_TYPE (type); - nindices -= 1; - } - return type; - } - - return NULL; -} - -/* The type of nth index in arrays of given type (n numbering from 1). Does - not examine memory. */ - -struct type * -ada_index_type (struct type *type, int n) -{ - type = desc_base_type (type); - - if (n > ada_array_arity (type)) - return NULL; - - if (ada_is_simple_array (type)) - { - int i; - - for (i = 1; i < n; i += 1) - type = TYPE_TARGET_TYPE (type); - - return TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (type, 0)); - } - else - return desc_index_type (desc_bounds_type (type), n); -} - -/* Given that arr is an array type, returns the lower bound of the - Nth index (numbering from 1) if WHICH is 0, and the upper bound if - WHICH is 1. This returns bounds 0 .. -1 if ARR_TYPE is an - array-descriptor type. If TYPEP is non-null, *TYPEP is set to the - bounds type. It works for other arrays with bounds supplied by - run-time quantities other than discriminants. */ - -LONGEST -ada_array_bound_from_type (struct type * arr_type, int n, int which, - struct type ** typep) -{ - struct type *type; - struct type *index_type_desc; - - if (ada_is_packed_array_type (arr_type)) - arr_type = decode_packed_array_type (arr_type); - - if (arr_type == NULL || !ada_is_simple_array (arr_type)) - { - if (typep != NULL) - *typep = builtin_type_int; - return (LONGEST) - which; - } - - if (TYPE_CODE (arr_type) == TYPE_CODE_PTR) - type = TYPE_TARGET_TYPE (arr_type); - else - type = arr_type; - - index_type_desc = ada_find_parallel_type (type, "___XA"); - if (index_type_desc == NULL) - { - struct type *range_type; - struct type *index_type; - - while (n > 1) - { - type = TYPE_TARGET_TYPE (type); - n -= 1; - } - - range_type = TYPE_INDEX_TYPE (type); - index_type = TYPE_TARGET_TYPE (range_type); - if (TYPE_CODE (index_type) == TYPE_CODE_UNDEF) - index_type = builtin_type_long; - if (typep != NULL) - *typep = index_type; - return - (LONGEST) (which == 0 - ? TYPE_LOW_BOUND (range_type) - : TYPE_HIGH_BOUND (range_type)); - } - else - { - struct type *index_type = - to_fixed_range_type (TYPE_FIELD_NAME (index_type_desc, n - 1), - NULL, TYPE_OBJFILE (arr_type)); - if (typep != NULL) - *typep = TYPE_TARGET_TYPE (index_type); - return - (LONGEST) (which == 0 - ? TYPE_LOW_BOUND (index_type) - : TYPE_HIGH_BOUND (index_type)); - } -} - -/* Given that arr is an array value, returns the lower bound of the - nth index (numbering from 1) if which is 0, and the upper bound if - which is 1. This routine will also work for arrays with bounds - supplied by run-time quantities other than discriminants. */ - -struct value * -ada_array_bound (arr, n, which) - struct value *arr; - int n; - int which; -{ - struct type *arr_type = VALUE_TYPE (arr); - - if (ada_is_packed_array_type (arr_type)) - return ada_array_bound (decode_packed_array (arr), n, which); - else if (ada_is_simple_array (arr_type)) - { - struct type *type; - LONGEST v = ada_array_bound_from_type (arr_type, n, which, &type); - return value_from_longest (type, v); - } - else - return desc_one_bound (desc_bounds (arr), n, which); -} - -/* Given that arr is an array value, returns the length of the - nth index. This routine will also work for arrays with bounds - supplied by run-time quantities other than discriminants. Does not - work for arrays indexed by enumeration types with representation - clauses at the moment. */ - -struct value * -ada_array_length (struct value *arr, int n) -{ - struct type *arr_type = check_typedef (VALUE_TYPE (arr)); - struct type *index_type_desc; - - if (ada_is_packed_array_type (arr_type)) - return ada_array_length (decode_packed_array (arr), n); - - if (ada_is_simple_array (arr_type)) - { - struct type *type; - LONGEST v = - ada_array_bound_from_type (arr_type, n, 1, &type) - - ada_array_bound_from_type (arr_type, n, 0, NULL) + 1; - return value_from_longest (type, v); - } - else - return - value_from_longest (builtin_type_ada_int, - value_as_long (desc_one_bound (desc_bounds (arr), - n, 1)) - - value_as_long (desc_one_bound (desc_bounds (arr), - n, 0)) + 1); -} - - - /* Name resolution */ - -/* The "demangled" name for the user-definable Ada operator corresponding - to op. */ - -static const char * -ada_op_name (enum exp_opcode op) -{ - int i; - - for (i = 0; ada_opname_table[i].mangled != NULL; i += 1) - { - if (ada_opname_table[i].op == op) - return ada_opname_table[i].demangled; - } - error ("Could not find operator name for opcode"); -} - - -/* Same as evaluate_type (*EXP), but resolves ambiguous symbol - references (OP_UNRESOLVED_VALUES) and converts operators that are - user-defined into appropriate function calls. If CONTEXT_TYPE is - non-null, it provides a preferred result type [at the moment, only - type void has any effect---causing procedures to be preferred over - functions in calls]. A null CONTEXT_TYPE indicates that a non-void - return type is preferred. The variable unresolved_names contains a list - of character strings referenced by expout that should be freed. - May change (expand) *EXP. */ - -void -ada_resolve (struct expression **expp, struct type *context_type) -{ - int pc; - pc = 0; - ada_resolve_subexp (expp, &pc, 1, context_type); -} - -/* Resolve the operator of the subexpression beginning at - position *POS of *EXPP. "Resolving" consists of replacing - OP_UNRESOLVED_VALUE with an appropriate OP_VAR_VALUE, replacing - built-in operators with function calls to user-defined operators, - where appropriate, and (when DEPROCEDURE_P is non-zero), converting - function-valued variables into parameterless calls. May expand - EXP. The CONTEXT_TYPE functions as in ada_resolve, above. */ - -static struct value * -ada_resolve_subexp (struct expression **expp, int *pos, int deprocedure_p, - struct type *context_type) -{ - int pc = *pos; - int i; - struct expression *exp; /* Convenience: == *expp */ - enum exp_opcode op = (*expp)->elts[pc].opcode; - struct value **argvec; /* Vector of operand types (alloca'ed). */ - int nargs; /* Number of operands */ - - argvec = NULL; - nargs = 0; - exp = *expp; - - /* Pass one: resolve operands, saving their types and updating *pos. */ - switch (op) - { - case OP_VAR_VALUE: - /* case OP_UNRESOLVED_VALUE: */ - /* FIXME: OP_UNRESOLVED_VALUE should be defined in expression.h */ - *pos += 4; - break; - - case OP_FUNCALL: - nargs = longest_to_int (exp->elts[pc + 1].longconst) + 1; - /* FIXME: OP_UNRESOLVED_VALUE should be defined in expression.h */ - /* if (exp->elts[pc+3].opcode == OP_UNRESOLVED_VALUE) - { - *pos += 7; - - argvec = (struct value* *) alloca (sizeof (struct value*) * (nargs + 1)); - for (i = 0; i < nargs-1; i += 1) - argvec[i] = ada_resolve_subexp (expp, pos, 1, NULL); - argvec[i] = NULL; - } - else - { - *pos += 3; - ada_resolve_subexp (expp, pos, 0, NULL); - for (i = 1; i < nargs; i += 1) - ada_resolve_subexp (expp, pos, 1, NULL); - } - */ - exp = *expp; - break; - - /* FIXME: UNOP_QUAL should be defined in expression.h */ - /* case UNOP_QUAL: - nargs = 1; - *pos += 3; - ada_resolve_subexp (expp, pos, 1, exp->elts[pc + 1].type); - exp = *expp; - break; - */ - /* FIXME: OP_ATTRIBUTE should be defined in expression.h */ - /* case OP_ATTRIBUTE: - nargs = longest_to_int (exp->elts[pc + 1].longconst) + 1; - *pos += 4; - for (i = 0; i < nargs; i += 1) - ada_resolve_subexp (expp, pos, 1, NULL); - exp = *expp; - break; - */ - case UNOP_ADDR: - nargs = 1; - *pos += 1; - ada_resolve_subexp (expp, pos, 0, NULL); - exp = *expp; - break; - - case BINOP_ASSIGN: - { - struct value *arg1; - nargs = 2; - *pos += 1; - arg1 = ada_resolve_subexp (expp, pos, 0, NULL); - if (arg1 == NULL) - ada_resolve_subexp (expp, pos, 1, NULL); - else - ada_resolve_subexp (expp, pos, 1, VALUE_TYPE (arg1)); - break; - } - - default: - switch (op) - { - default: - error ("Unexpected operator during name resolution"); - case UNOP_CAST: - /* case UNOP_MBR: - nargs = 1; - *pos += 3; - break; - */ - case BINOP_ADD: - case BINOP_SUB: - case BINOP_MUL: - case BINOP_DIV: - case BINOP_REM: - case BINOP_MOD: - case BINOP_EXP: - case BINOP_CONCAT: - case BINOP_LOGICAL_AND: - case BINOP_LOGICAL_OR: - case BINOP_BITWISE_AND: - case BINOP_BITWISE_IOR: - case BINOP_BITWISE_XOR: - - case BINOP_EQUAL: - case BINOP_NOTEQUAL: - case BINOP_LESS: - case BINOP_GTR: - case BINOP_LEQ: - case BINOP_GEQ: - - case BINOP_REPEAT: - case BINOP_SUBSCRIPT: - case BINOP_COMMA: - nargs = 2; - *pos += 1; - break; - - case UNOP_NEG: - case UNOP_PLUS: - case UNOP_LOGICAL_NOT: - case UNOP_ABS: - case UNOP_IND: - nargs = 1; - *pos += 1; - break; - - case OP_LONG: - case OP_DOUBLE: - case OP_VAR_VALUE: - *pos += 4; - break; - - case OP_TYPE: - case OP_BOOL: - case OP_LAST: - case OP_REGISTER: - case OP_INTERNALVAR: - *pos += 3; - break; - - case UNOP_MEMVAL: - *pos += 3; - nargs = 1; - break; - - case STRUCTOP_STRUCT: - case STRUCTOP_PTR: - nargs = 1; - *pos += 4 + BYTES_TO_EXP_ELEM (exp->elts[pc + 1].longconst + 1); - break; - - case OP_ARRAY: - *pos += 4; - nargs = longest_to_int (exp->elts[pc + 2].longconst) + 1; - nargs -= longest_to_int (exp->elts[pc + 1].longconst); - /* A null array contains one dummy element to give the type. */ - /* if (nargs == 0) - nargs = 1; - break; */ - - case TERNOP_SLICE: - /* FIXME: TERNOP_MBR should be defined in expression.h */ - /* case TERNOP_MBR: - *pos += 1; - nargs = 3; - break; - */ - /* FIXME: BINOP_MBR should be defined in expression.h */ - /* case BINOP_MBR: - *pos += 3; - nargs = 2; - break; */ - } - - argvec = - (struct value * *) alloca (sizeof (struct value *) * (nargs + 1)); - for (i = 0; i < nargs; i += 1) - argvec[i] = ada_resolve_subexp (expp, pos, 1, NULL); - argvec[i] = NULL; - exp = *expp; - break; - } - - /* Pass two: perform any resolution on principal operator. */ - switch (op) - { - default: - break; - - /* FIXME: OP_UNRESOLVED_VALUE should be defined in expression.h */ - /* case OP_UNRESOLVED_VALUE: - { - struct symbol** candidate_syms; - struct block** candidate_blocks; - int n_candidates; - - n_candidates = ada_lookup_symbol_list (exp->elts[pc + 2].name, - exp->elts[pc + 1].block, - VAR_NAMESPACE, - &candidate_syms, - &candidate_blocks); - - if (n_candidates > 1) - { */ - /* Types tend to get re-introduced locally, so if there - are any local symbols that are not types, first filter - out all types. *//* - int j; - for (j = 0; j < n_candidates; j += 1) - switch (SYMBOL_CLASS (candidate_syms[j])) - { - case LOC_REGISTER: - case LOC_ARG: - case LOC_REF_ARG: - case LOC_REGPARM: - case LOC_REGPARM_ADDR: - case LOC_LOCAL: - case LOC_LOCAL_ARG: - case LOC_BASEREG: - case LOC_BASEREG_ARG: - goto FoundNonType; - default: - break; - } - FoundNonType: - if (j < n_candidates) - { - j = 0; - while (j < n_candidates) - { - if (SYMBOL_CLASS (candidate_syms[j]) == LOC_TYPEDEF) - { - candidate_syms[j] = candidate_syms[n_candidates-1]; - candidate_blocks[j] = candidate_blocks[n_candidates-1]; - n_candidates -= 1; - } - else - j += 1; - } - } - } - - if (n_candidates == 0) - error ("No definition found for %s", - ada_demangle (exp->elts[pc + 2].name)); - else if (n_candidates == 1) - i = 0; - else if (deprocedure_p - && ! is_nonfunction (candidate_syms, n_candidates)) - { - i = ada_resolve_function (candidate_syms, candidate_blocks, - n_candidates, NULL, 0, - exp->elts[pc + 2].name, context_type); - if (i < 0) - error ("Could not find a match for %s", - ada_demangle (exp->elts[pc + 2].name)); - } - else - { - printf_filtered ("Multiple matches for %s\n", - ada_demangle (exp->elts[pc+2].name)); - user_select_syms (candidate_syms, candidate_blocks, - n_candidates, 1); - i = 0; - } - - exp->elts[pc].opcode = exp->elts[pc + 3].opcode = OP_VAR_VALUE; - exp->elts[pc + 1].block = candidate_blocks[i]; - exp->elts[pc + 2].symbol = candidate_syms[i]; - if (innermost_block == NULL || - contained_in (candidate_blocks[i], innermost_block)) - innermost_block = candidate_blocks[i]; - } */ - /* FALL THROUGH */ - - case OP_VAR_VALUE: - if (deprocedure_p && - TYPE_CODE (SYMBOL_TYPE (exp->elts[pc + 2].symbol)) == - TYPE_CODE_FUNC) - { - replace_operator_with_call (expp, pc, 0, 0, - exp->elts[pc + 2].symbol, - exp->elts[pc + 1].block); - exp = *expp; - } - break; - - case OP_FUNCALL: - { - /* FIXME: OP_UNRESOLVED_VALUE should be defined in expression.h */ - /* if (exp->elts[pc+3].opcode == OP_UNRESOLVED_VALUE) - { - struct symbol** candidate_syms; - struct block** candidate_blocks; - int n_candidates; - - n_candidates = ada_lookup_symbol_list (exp->elts[pc + 5].name, - exp->elts[pc + 4].block, - VAR_NAMESPACE, - &candidate_syms, - &candidate_blocks); - if (n_candidates == 1) - i = 0; - else - { - i = ada_resolve_function (candidate_syms, candidate_blocks, - n_candidates, argvec, nargs-1, - exp->elts[pc + 5].name, context_type); - if (i < 0) - error ("Could not find a match for %s", - ada_demangle (exp->elts[pc + 5].name)); - } - - exp->elts[pc + 3].opcode = exp->elts[pc + 6].opcode = OP_VAR_VALUE; - exp->elts[pc + 4].block = candidate_blocks[i]; - exp->elts[pc + 5].symbol = candidate_syms[i]; - if (innermost_block == NULL || - contained_in (candidate_blocks[i], innermost_block)) - innermost_block = candidate_blocks[i]; - } */ - - } - break; - case BINOP_ADD: - case BINOP_SUB: - case BINOP_MUL: - case BINOP_DIV: - case BINOP_REM: - case BINOP_MOD: - case BINOP_CONCAT: - case BINOP_BITWISE_AND: - case BINOP_BITWISE_IOR: - case BINOP_BITWISE_XOR: - case BINOP_EQUAL: - case BINOP_NOTEQUAL: - case BINOP_LESS: - case BINOP_GTR: - case BINOP_LEQ: - case BINOP_GEQ: - case BINOP_EXP: - case UNOP_NEG: - case UNOP_PLUS: - case UNOP_LOGICAL_NOT: - case UNOP_ABS: - if (possible_user_operator_p (op, argvec)) - { - struct symbol **candidate_syms; - struct block **candidate_blocks; - int n_candidates; - - n_candidates = - ada_lookup_symbol_list (ada_mangle (ada_op_name (op)), - (struct block *) NULL, VAR_NAMESPACE, - &candidate_syms, &candidate_blocks); - i = - ada_resolve_function (candidate_syms, candidate_blocks, - n_candidates, argvec, nargs, - ada_op_name (op), NULL); - if (i < 0) - break; - - replace_operator_with_call (expp, pc, nargs, 1, - candidate_syms[i], candidate_blocks[i]); - exp = *expp; - } - break; - } - - *pos = pc; - return evaluate_subexp_type (exp, pos); -} - -/* Return non-zero if formal type FTYPE matches actual type ATYPE. If - MAY_DEREF is non-zero, the formal may be a pointer and the actual - a non-pointer. */ -/* The term "match" here is rather loose. The match is heuristic and - liberal. FIXME: TOO liberal, in fact. */ - -static int -ada_type_match (ftype, atype, may_deref) - struct type *ftype; - struct type *atype; - int may_deref; -{ - CHECK_TYPEDEF (ftype); - CHECK_TYPEDEF (atype); - - if (TYPE_CODE (ftype) == TYPE_CODE_REF) - ftype = TYPE_TARGET_TYPE (ftype); - if (TYPE_CODE (atype) == TYPE_CODE_REF) - atype = TYPE_TARGET_TYPE (atype); - - if (TYPE_CODE (ftype) == TYPE_CODE_VOID - || TYPE_CODE (atype) == TYPE_CODE_VOID) - return 1; - - switch (TYPE_CODE (ftype)) - { - default: - return 1; - case TYPE_CODE_PTR: - if (TYPE_CODE (atype) == TYPE_CODE_PTR) - return ada_type_match (TYPE_TARGET_TYPE (ftype), - TYPE_TARGET_TYPE (atype), 0); - else - return (may_deref && - ada_type_match (TYPE_TARGET_TYPE (ftype), atype, 0)); - case TYPE_CODE_INT: - case TYPE_CODE_ENUM: - case TYPE_CODE_RANGE: - switch (TYPE_CODE (atype)) - { - case TYPE_CODE_INT: - case TYPE_CODE_ENUM: - case TYPE_CODE_RANGE: - return 1; - default: - return 0; - } - - case TYPE_CODE_ARRAY: - return (TYPE_CODE (atype) == TYPE_CODE_ARRAY - || ada_is_array_descriptor (atype)); - - case TYPE_CODE_STRUCT: - if (ada_is_array_descriptor (ftype)) - return (TYPE_CODE (atype) == TYPE_CODE_ARRAY - || ada_is_array_descriptor (atype)); - else - return (TYPE_CODE (atype) == TYPE_CODE_STRUCT - && !ada_is_array_descriptor (atype)); - - case TYPE_CODE_UNION: - case TYPE_CODE_FLT: - return (TYPE_CODE (atype) == TYPE_CODE (ftype)); - } -} - -/* Return non-zero if the formals of FUNC "sufficiently match" the - vector of actual argument types ACTUALS of size N_ACTUALS. FUNC - may also be an enumeral, in which case it is treated as a 0- - argument function. */ - -static int -ada_args_match (struct symbol *func, struct value **actuals, int n_actuals) -{ - int i; - struct type *func_type = SYMBOL_TYPE (func); - - if (SYMBOL_CLASS (func) == LOC_CONST && - TYPE_CODE (func_type) == TYPE_CODE_ENUM) - return (n_actuals == 0); - else if (func_type == NULL || TYPE_CODE (func_type) != TYPE_CODE_FUNC) - return 0; - - if (TYPE_NFIELDS (func_type) != n_actuals) - return 0; - - for (i = 0; i < n_actuals; i += 1) - { - struct type *ftype = check_typedef (TYPE_FIELD_TYPE (func_type, i)); - struct type *atype = check_typedef (VALUE_TYPE (actuals[i])); - - if (!ada_type_match (TYPE_FIELD_TYPE (func_type, i), - VALUE_TYPE (actuals[i]), 1)) - return 0; - } - return 1; -} - -/* False iff function type FUNC_TYPE definitely does not produce a value - compatible with type CONTEXT_TYPE. Conservatively returns 1 if - FUNC_TYPE is not a valid function type with a non-null return type - or an enumerated type. A null CONTEXT_TYPE indicates any non-void type. */ - -static int -return_match (struct type *func_type, struct type *context_type) -{ - struct type *return_type; - - if (func_type == NULL) - return 1; - - /* FIXME: base_type should be declared in gdbtypes.h, implemented in valarith.c */ - /* if (TYPE_CODE (func_type) == TYPE_CODE_FUNC) - return_type = base_type (TYPE_TARGET_TYPE (func_type)); - else - return_type = base_type (func_type); */ - if (return_type == NULL) - return 1; - - /* FIXME: base_type should be declared in gdbtypes.h, implemented in valarith.c */ - /* context_type = base_type (context_type); */ - - if (TYPE_CODE (return_type) == TYPE_CODE_ENUM) - return context_type == NULL || return_type == context_type; - else if (context_type == NULL) - return TYPE_CODE (return_type) != TYPE_CODE_VOID; - else - return TYPE_CODE (return_type) == TYPE_CODE (context_type); -} - - -/* Return the index in SYMS[0..NSYMS-1] of symbol for the - function (if any) that matches the types of the NARGS arguments in - ARGS. If CONTEXT_TYPE is non-null, and there is at least one match - that returns type CONTEXT_TYPE, then eliminate other matches. If - CONTEXT_TYPE is null, prefer a non-void-returning function. - Asks the user if there is more than one match remaining. Returns -1 - if there is no such symbol or none is selected. NAME is used - solely for messages. May re-arrange and modify SYMS in - the process; the index returned is for the modified vector. BLOCKS - is modified in parallel to SYMS. */ - -int -ada_resolve_function (struct symbol *syms[], struct block *blocks[], - int nsyms, struct value **args, int nargs, - const char *name, struct type *context_type) -{ - int k; - int m; /* Number of hits */ - struct type *fallback; - struct type *return_type; - - return_type = context_type; - if (context_type == NULL) - fallback = builtin_type_void; - else - fallback = NULL; - - m = 0; - while (1) - { - for (k = 0; k < nsyms; k += 1) - { - struct type *type = check_typedef (SYMBOL_TYPE (syms[k])); - - if (ada_args_match (syms[k], args, nargs) - && return_match (SYMBOL_TYPE (syms[k]), return_type)) - { - syms[m] = syms[k]; - if (blocks != NULL) - blocks[m] = blocks[k]; - m += 1; - } - } - if (m > 0 || return_type == fallback) - break; - else - return_type = fallback; - } - - if (m == 0) - return -1; - else if (m > 1) - { - printf_filtered ("Multiple matches for %s\n", name); - user_select_syms (syms, blocks, m, 1); - return 0; - } - return 0; -} - -/* Returns true (non-zero) iff demangled name N0 should appear before N1 */ -/* in a listing of choices during disambiguation (see sort_choices, below). */ -/* The idea is that overloadings of a subprogram name from the */ -/* same package should sort in their source order. We settle for ordering */ -/* such symbols by their trailing number (__N or $N). */ -static int -mangled_ordered_before (char *N0, char *N1) -{ - if (N1 == NULL) - return 0; - else if (N0 == NULL) - return 1; - else - { - int k0, k1; - for (k0 = strlen (N0) - 1; k0 > 0 && isdigit (N0[k0]); k0 -= 1) - ; - for (k1 = strlen (N1) - 1; k1 > 0 && isdigit (N1[k1]); k1 -= 1) - ; - if ((N0[k0] == '_' || N0[k0] == '$') && N0[k0 + 1] != '\000' - && (N1[k1] == '_' || N1[k1] == '$') && N1[k1 + 1] != '\000') - { - int n0, n1; - n0 = k0; - while (N0[n0] == '_' && n0 > 0 && N0[n0 - 1] == '_') - n0 -= 1; - n1 = k1; - while (N1[n1] == '_' && n1 > 0 && N1[n1 - 1] == '_') - n1 -= 1; - if (n0 == n1 && STREQN (N0, N1, n0)) - return (atoi (N0 + k0 + 1) < atoi (N1 + k1 + 1)); - } - return (strcmp (N0, N1) < 0); - } -} - -/* Sort SYMS[0..NSYMS-1] to put the choices in a canonical order by their */ -/* mangled names, rearranging BLOCKS[0..NSYMS-1] according to the same */ -/* permutation. */ -static void -sort_choices (struct symbol *syms[], struct block *blocks[], int nsyms) -{ - int i, j; - for (i = 1; i < nsyms; i += 1) - { - struct symbol *sym = syms[i]; - struct block *block = blocks[i]; - int j; - - for (j = i - 1; j >= 0; j -= 1) - { - if (mangled_ordered_before (SYMBOL_NAME (syms[j]), - SYMBOL_NAME (sym))) - break; - syms[j + 1] = syms[j]; - blocks[j + 1] = blocks[j]; - } - syms[j + 1] = sym; - blocks[j + 1] = block; - } -} - -/* Given a list of NSYMS symbols in SYMS and corresponding blocks in */ -/* BLOCKS, select up to MAX_RESULTS>0 by asking the user (if */ -/* necessary), returning the number selected, and setting the first */ -/* elements of SYMS and BLOCKS to the selected symbols and */ -/* corresponding blocks. Error if no symbols selected. BLOCKS may */ -/* be NULL, in which case it is ignored. */ - -/* NOTE: Adapted from decode_line_2 in symtab.c, with which it ought - to be re-integrated one of these days. */ - -int -user_select_syms (struct symbol *syms[], struct block *blocks[], int nsyms, - int max_results) -{ - int i; - int *chosen = (int *) alloca (sizeof (int) * nsyms); - int n_chosen; - int first_choice = (max_results == 1) ? 1 : 2; - - if (max_results < 1) - error ("Request to select 0 symbols!"); - if (nsyms <= 1) - return nsyms; - - printf_unfiltered ("[0] cancel\n"); - if (max_results > 1) - printf_unfiltered ("[1] all\n"); - - sort_choices (syms, blocks, nsyms); - - for (i = 0; i < nsyms; i += 1) - { - if (syms[i] == NULL) - continue; - - if (SYMBOL_CLASS (syms[i]) == LOC_BLOCK) - { - struct symtab_and_line sal = find_function_start_sal (syms[i], 1); - printf_unfiltered ("[%d] %s at %s:%d\n", - i + first_choice, - SYMBOL_SOURCE_NAME (syms[i]), - sal.symtab == NULL - ? "" - : sal.symtab->filename, sal.line); - continue; - } - else - { - int is_enumeral = - (SYMBOL_CLASS (syms[i]) == LOC_CONST - && SYMBOL_TYPE (syms[i]) != NULL - && TYPE_CODE (SYMBOL_TYPE (syms[i])) == TYPE_CODE_ENUM); - struct symtab *symtab = symtab_for_sym (syms[i]); - - if (SYMBOL_LINE (syms[i]) != 0 && symtab != NULL) - printf_unfiltered ("[%d] %s at %s:%d\n", - i + first_choice, - SYMBOL_SOURCE_NAME (syms[i]), - symtab->filename, SYMBOL_LINE (syms[i])); - else if (is_enumeral && TYPE_NAME (SYMBOL_TYPE (syms[i])) != NULL) - { - printf_unfiltered ("[%d] ", i + first_choice); - ada_print_type (SYMBOL_TYPE (syms[i]), NULL, gdb_stdout, -1, 0); - printf_unfiltered ("'(%s) (enumeral)\n", - SYMBOL_SOURCE_NAME (syms[i])); - } - else if (symtab != NULL) - printf_unfiltered (is_enumeral - ? "[%d] %s in %s (enumeral)\n" - : "[%d] %s at %s:?\n", - i + first_choice, - SYMBOL_SOURCE_NAME (syms[i]), - symtab->filename); - else - printf_unfiltered (is_enumeral - ? "[%d] %s (enumeral)\n" - : "[%d] %s at ?\n", - i + first_choice, - SYMBOL_SOURCE_NAME (syms[i])); - } - } - - n_chosen = get_selections (chosen, nsyms, max_results, max_results > 1, - "overload-choice"); - - for (i = 0; i < n_chosen; i += 1) - { - syms[i] = syms[chosen[i]]; - if (blocks != NULL) - blocks[i] = blocks[chosen[i]]; - } - - return n_chosen; -} - -/* Read and validate a set of numeric choices from the user in the - range 0 .. N_CHOICES-1. Place the results in increasing - order in CHOICES[0 .. N-1], and return N. - - The user types choices as a sequence of numbers on one line - separated by blanks, encoding them as follows: - - + A choice of 0 means to cancel the selection, throwing an error. - + If IS_ALL_CHOICE, a choice of 1 selects the entire set 0 .. N_CHOICES-1. - + The user chooses k by typing k+IS_ALL_CHOICE+1. - - The user is not allowed to choose more than MAX_RESULTS values. - - ANNOTATION_SUFFIX, if present, is used to annotate the input - prompts (for use with the -f switch). */ - -int -get_selections (int *choices, int n_choices, int max_results, - int is_all_choice, char *annotation_suffix) -{ - int i; - char *args; - const char *prompt; - int n_chosen; - int first_choice = is_all_choice ? 2 : 1; - - prompt = getenv ("PS2"); - if (prompt == NULL) - prompt = ">"; - - printf_unfiltered ("%s ", prompt); - gdb_flush (gdb_stdout); - - args = command_line_input ((char *) NULL, 0, annotation_suffix); - - if (args == NULL) - error_no_arg ("one or more choice numbers"); - - n_chosen = 0; - - /* Set choices[0 .. n_chosen-1] to the users' choices in ascending - order, as given in args. Choices are validated. */ - while (1) - { - char *args2; - int choice, j; - - while (isspace (*args)) - args += 1; - if (*args == '\0' && n_chosen == 0) - error_no_arg ("one or more choice numbers"); - else if (*args == '\0') - break; - - choice = strtol (args, &args2, 10); - if (args == args2 || choice < 0 - || choice > n_choices + first_choice - 1) - error ("Argument must be choice number"); - args = args2; - - if (choice == 0) - error ("cancelled"); - - if (choice < first_choice) - { - n_chosen = n_choices; - for (j = 0; j < n_choices; j += 1) - choices[j] = j; - break; - } - choice -= first_choice; - - for (j = n_chosen - 1; j >= 0 && choice < choices[j]; j -= 1) - { - } - - if (j < 0 || choice != choices[j]) - { - int k; - for (k = n_chosen - 1; k > j; k -= 1) - choices[k + 1] = choices[k]; - choices[j + 1] = choice; - n_chosen += 1; - } - } - - if (n_chosen > max_results) - error ("Select no more than %d of the above", max_results); - - return n_chosen; -} - -/* Replace the operator of length OPLEN at position PC in *EXPP with a call */ -/* on the function identified by SYM and BLOCK, and taking NARGS */ -/* arguments. Update *EXPP as needed to hold more space. */ - -static void -replace_operator_with_call (struct expression **expp, int pc, int nargs, - int oplen, struct symbol *sym, - struct block *block) -{ - /* A new expression, with 6 more elements (3 for funcall, 4 for function - symbol, -oplen for operator being replaced). */ - struct expression *newexp = (struct expression *) - xmalloc (sizeof (struct expression) - + EXP_ELEM_TO_BYTES ((*expp)->nelts + 7 - oplen)); - struct expression *exp = *expp; - - newexp->nelts = exp->nelts + 7 - oplen; - newexp->language_defn = exp->language_defn; - memcpy (newexp->elts, exp->elts, EXP_ELEM_TO_BYTES (pc)); - memcpy (newexp->elts + pc + 7, exp->elts + pc + oplen, - EXP_ELEM_TO_BYTES (exp->nelts - pc - oplen)); - - newexp->elts[pc].opcode = newexp->elts[pc + 2].opcode = OP_FUNCALL; - newexp->elts[pc + 1].longconst = (LONGEST) nargs; - - newexp->elts[pc + 3].opcode = newexp->elts[pc + 6].opcode = OP_VAR_VALUE; - newexp->elts[pc + 4].block = block; - newexp->elts[pc + 5].symbol = sym; - - *expp = newexp; - xfree (exp); -} - -/* Type-class predicates */ - -/* True iff TYPE is numeric (i.e., an INT, RANGE (of numeric type), or */ -/* FLOAT.) */ - -static int -numeric_type_p (struct type *type) -{ - if (type == NULL) - return 0; - else - { - switch (TYPE_CODE (type)) - { - case TYPE_CODE_INT: - case TYPE_CODE_FLT: - return 1; - case TYPE_CODE_RANGE: - return (type == TYPE_TARGET_TYPE (type) - || numeric_type_p (TYPE_TARGET_TYPE (type))); - default: - return 0; - } - } -} - -/* True iff TYPE is integral (an INT or RANGE of INTs). */ - -static int -integer_type_p (struct type *type) -{ - if (type == NULL) - return 0; - else - { - switch (TYPE_CODE (type)) - { - case TYPE_CODE_INT: - return 1; - case TYPE_CODE_RANGE: - return (type == TYPE_TARGET_TYPE (type) - || integer_type_p (TYPE_TARGET_TYPE (type))); - default: - return 0; - } - } -} - -/* True iff TYPE is scalar (INT, RANGE, FLOAT, ENUM). */ - -static int -scalar_type_p (struct type *type) -{ - if (type == NULL) - return 0; - else - { - switch (TYPE_CODE (type)) - { - case TYPE_CODE_INT: - case TYPE_CODE_RANGE: - case TYPE_CODE_ENUM: - case TYPE_CODE_FLT: - return 1; - default: - return 0; - } - } -} - -/* True iff TYPE is discrete (INT, RANGE, ENUM). */ - -static int -discrete_type_p (struct type *type) -{ - if (type == NULL) - return 0; - else - { - switch (TYPE_CODE (type)) - { - case TYPE_CODE_INT: - case TYPE_CODE_RANGE: - case TYPE_CODE_ENUM: - return 1; - default: - return 0; - } - } -} - -/* Returns non-zero if OP with operatands in the vector ARGS could be - a user-defined function. Errs on the side of pre-defined operators - (i.e., result 0). */ - -static int -possible_user_operator_p (enum exp_opcode op, struct value *args[]) -{ - struct type *type0 = check_typedef (VALUE_TYPE (args[0])); - struct type *type1 = - (args[1] == NULL) ? NULL : check_typedef (VALUE_TYPE (args[1])); - - switch (op) - { - default: - return 0; - - case BINOP_ADD: - case BINOP_SUB: - case BINOP_MUL: - case BINOP_DIV: - return (!(numeric_type_p (type0) && numeric_type_p (type1))); - - case BINOP_REM: - case BINOP_MOD: - case BINOP_BITWISE_AND: - case BINOP_BITWISE_IOR: - case BINOP_BITWISE_XOR: - return (!(integer_type_p (type0) && integer_type_p (type1))); - - case BINOP_EQUAL: - case BINOP_NOTEQUAL: - case BINOP_LESS: - case BINOP_GTR: - case BINOP_LEQ: - case BINOP_GEQ: - return (!(scalar_type_p (type0) && scalar_type_p (type1))); - - case BINOP_CONCAT: - return ((TYPE_CODE (type0) != TYPE_CODE_ARRAY && - (TYPE_CODE (type0) != TYPE_CODE_PTR || - TYPE_CODE (TYPE_TARGET_TYPE (type0)) - != TYPE_CODE_ARRAY)) - || (TYPE_CODE (type1) != TYPE_CODE_ARRAY && - (TYPE_CODE (type1) != TYPE_CODE_PTR || - TYPE_CODE (TYPE_TARGET_TYPE (type1)) != TYPE_CODE_ARRAY))); - - case BINOP_EXP: - return (!(numeric_type_p (type0) && integer_type_p (type1))); - - case UNOP_NEG: - case UNOP_PLUS: - case UNOP_LOGICAL_NOT: - case UNOP_ABS: - return (!numeric_type_p (type0)); - - } -} - - /* Renaming */ - -/** NOTE: In the following, we assume that a renaming type's name may - * have an ___XD suffix. It would be nice if this went away at some - * point. */ - -/* If TYPE encodes a renaming, returns the renaming suffix, which - * is XR for an object renaming, XRP for a procedure renaming, XRE for - * an exception renaming, and XRS for a subprogram renaming. Returns - * NULL if NAME encodes none of these. */ -const char * -ada_renaming_type (struct type *type) -{ - if (type != NULL && TYPE_CODE (type) == TYPE_CODE_ENUM) - { - const char *name = type_name_no_tag (type); - const char *suffix = (name == NULL) ? NULL : strstr (name, "___XR"); - if (suffix == NULL - || (suffix[5] != '\000' && strchr ("PES_", suffix[5]) == NULL)) - return NULL; - else - return suffix + 3; - } - else - return NULL; -} - -/* Return non-zero iff SYM encodes an object renaming. */ -int -ada_is_object_renaming (struct symbol *sym) -{ - const char *renaming_type = ada_renaming_type (SYMBOL_TYPE (sym)); - return renaming_type != NULL - && (renaming_type[2] == '\0' || renaming_type[2] == '_'); -} - -/* Assuming that SYM encodes a non-object renaming, returns the original - * name of the renamed entity. The name is good until the end of - * parsing. */ -const char * -ada_simple_renamed_entity (struct symbol *sym) -{ - struct type *type; - const char *raw_name; - int len; - char *result; - - type = SYMBOL_TYPE (sym); - if (type == NULL || TYPE_NFIELDS (type) < 1) - error ("Improperly encoded renaming."); - - raw_name = TYPE_FIELD_NAME (type, 0); - len = (raw_name == NULL ? 0 : strlen (raw_name)) - 5; - if (len <= 0) - error ("Improperly encoded renaming."); - - result = xmalloc (len + 1); - /* FIXME: add_name_string_cleanup should be defined in parse.c */ - /* add_name_string_cleanup (result); */ - strncpy (result, raw_name, len); - result[len] = '\000'; - return result; -} - - - /* Evaluation: Function Calls */ - -/* Copy VAL onto the stack, using and updating *SP as the stack - pointer. Return VAL as an lvalue. */ - -static struct value * -place_on_stack (struct value *val, CORE_ADDR *sp) -{ - CORE_ADDR old_sp = *sp; - -#ifdef STACK_ALIGN - *sp = push_bytes (*sp, VALUE_CONTENTS_RAW (val), - STACK_ALIGN (TYPE_LENGTH - (check_typedef (VALUE_TYPE (val))))); -#else - *sp = push_bytes (*sp, VALUE_CONTENTS_RAW (val), - TYPE_LENGTH (check_typedef (VALUE_TYPE (val)))); -#endif - - VALUE_LVAL (val) = lval_memory; - if (INNER_THAN (1, 2)) - VALUE_ADDRESS (val) = *sp; - else - VALUE_ADDRESS (val) = old_sp; - - return val; -} - -/* Return the value ACTUAL, converted to be an appropriate value for a - formal of type FORMAL_TYPE. Use *SP as a stack pointer for - allocating any necessary descriptors (fat pointers), or copies of - values not residing in memory, updating it as needed. */ - -static struct value * -convert_actual (struct value *actual, struct type *formal_type0, - CORE_ADDR *sp) -{ - struct type *actual_type = check_typedef (VALUE_TYPE (actual)); - struct type *formal_type = check_typedef (formal_type0); - struct type *formal_target = - TYPE_CODE (formal_type) == TYPE_CODE_PTR - ? check_typedef (TYPE_TARGET_TYPE (formal_type)) : formal_type; - struct type *actual_target = - TYPE_CODE (actual_type) == TYPE_CODE_PTR - ? check_typedef (TYPE_TARGET_TYPE (actual_type)) : actual_type; - - if (ada_is_array_descriptor (formal_target) - && TYPE_CODE (actual_target) == TYPE_CODE_ARRAY) - return make_array_descriptor (formal_type, actual, sp); - else if (TYPE_CODE (formal_type) == TYPE_CODE_PTR) - { - if (TYPE_CODE (formal_target) == TYPE_CODE_ARRAY - && ada_is_array_descriptor (actual_target)) - return desc_data (actual); - else if (TYPE_CODE (actual_type) != TYPE_CODE_PTR) - { - if (VALUE_LVAL (actual) != lval_memory) - { - struct value *val; - actual_type = check_typedef (VALUE_TYPE (actual)); - val = allocate_value (actual_type); - memcpy ((char *) VALUE_CONTENTS_RAW (val), - (char *) VALUE_CONTENTS (actual), - TYPE_LENGTH (actual_type)); - actual = place_on_stack (val, sp); - } - return value_addr (actual); - } - } - else if (TYPE_CODE (actual_type) == TYPE_CODE_PTR) - return ada_value_ind (actual); - - return actual; -} - - -/* Push a descriptor of type TYPE for array value ARR on the stack at - *SP, updating *SP to reflect the new descriptor. Return either - an lvalue representing the new descriptor, or (if TYPE is a pointer- - to-descriptor type rather than a descriptor type), a struct value* - representing a pointer to this descriptor. */ - -static struct value * -make_array_descriptor (struct type *type, struct value *arr, CORE_ADDR *sp) -{ - struct type *bounds_type = desc_bounds_type (type); - struct type *desc_type = desc_base_type (type); - struct value *descriptor = allocate_value (desc_type); - struct value *bounds = allocate_value (bounds_type); - CORE_ADDR bounds_addr; - int i; - - for (i = ada_array_arity (check_typedef (VALUE_TYPE (arr))); i > 0; i -= 1) - { - modify_general_field (VALUE_CONTENTS (bounds), - value_as_long (ada_array_bound (arr, i, 0)), - desc_bound_bitpos (bounds_type, i, 0), - desc_bound_bitsize (bounds_type, i, 0)); - modify_general_field (VALUE_CONTENTS (bounds), - value_as_long (ada_array_bound (arr, i, 1)), - desc_bound_bitpos (bounds_type, i, 1), - desc_bound_bitsize (bounds_type, i, 1)); - } - - bounds = place_on_stack (bounds, sp); - - modify_general_field (VALUE_CONTENTS (descriptor), - arr, - fat_pntr_data_bitpos (desc_type), - fat_pntr_data_bitsize (desc_type)); - modify_general_field (VALUE_CONTENTS (descriptor), - VALUE_ADDRESS (bounds), - fat_pntr_bounds_bitpos (desc_type), - fat_pntr_bounds_bitsize (desc_type)); - - descriptor = place_on_stack (descriptor, sp); - - if (TYPE_CODE (type) == TYPE_CODE_PTR) - return value_addr (descriptor); - else - return descriptor; -} - - -/* Assuming a dummy frame has been established on the target, perform any - conversions needed for calling function FUNC on the NARGS actual - parameters in ARGS, other than standard C conversions. Does - nothing if FUNC does not have Ada-style prototype data, or if NARGS - does not match the number of arguments expected. Use *SP as a - stack pointer for additional data that must be pushed, updating its - value as needed. */ - -void -ada_convert_actuals (struct value *func, int nargs, struct value *args[], - CORE_ADDR *sp) -{ - int i; - - if (TYPE_NFIELDS (VALUE_TYPE (func)) == 0 - || nargs != TYPE_NFIELDS (VALUE_TYPE (func))) - return; - - for (i = 0; i < nargs; i += 1) - args[i] = - convert_actual (args[i], TYPE_FIELD_TYPE (VALUE_TYPE (func), i), sp); -} - - - /* Symbol Lookup */ - - -/* The vectors of symbols and blocks ultimately returned from */ -/* ada_lookup_symbol_list. */ - -/* Current size of defn_symbols and defn_blocks */ -static size_t defn_vector_size = 0; - -/* Current number of symbols found. */ -static int ndefns = 0; - -static struct symbol **defn_symbols = NULL; -static struct block **defn_blocks = NULL; - -/* Return the result of a standard (literal, C-like) lookup of NAME in - * given NAMESPACE. */ - -static struct symbol * -standard_lookup (const char *name, namespace_enum namespace) -{ - struct symbol *sym; - struct symtab *symtab; - sym = lookup_symbol (name, (struct block *) NULL, namespace, 0, &symtab); - return sym; -} - - -/* Non-zero iff there is at least one non-function/non-enumeral symbol */ -/* in SYMS[0..N-1]. We treat enumerals as functions, since they */ -/* contend in overloading in the same way. */ -static int -is_nonfunction (struct symbol *syms[], int n) -{ - int i; - - for (i = 0; i < n; i += 1) - if (TYPE_CODE (SYMBOL_TYPE (syms[i])) != TYPE_CODE_FUNC - && TYPE_CODE (SYMBOL_TYPE (syms[i])) != TYPE_CODE_ENUM) - return 1; - - return 0; -} - -/* If true (non-zero), then TYPE0 and TYPE1 represent equivalent - struct types. Otherwise, they may not. */ - -static int -equiv_types (struct type *type0, struct type *type1) -{ - if (type0 == type1) - return 1; - if (type0 == NULL || type1 == NULL - || TYPE_CODE (type0) != TYPE_CODE (type1)) - return 0; - if ((TYPE_CODE (type0) == TYPE_CODE_STRUCT - || TYPE_CODE (type0) == TYPE_CODE_ENUM) - && ada_type_name (type0) != NULL && ada_type_name (type1) != NULL - && STREQ (ada_type_name (type0), ada_type_name (type1))) - return 1; - - return 0; -} - -/* True iff SYM0 represents the same entity as SYM1, or one that is - no more defined than that of SYM1. */ - -static int -lesseq_defined_than (struct symbol *sym0, struct symbol *sym1) -{ - if (sym0 == sym1) - return 1; - if (SYMBOL_NAMESPACE (sym0) != SYMBOL_NAMESPACE (sym1) - || SYMBOL_CLASS (sym0) != SYMBOL_CLASS (sym1)) - return 0; - - switch (SYMBOL_CLASS (sym0)) - { - case LOC_UNDEF: - return 1; - case LOC_TYPEDEF: - { - struct type *type0 = SYMBOL_TYPE (sym0); - struct type *type1 = SYMBOL_TYPE (sym1); - char *name0 = SYMBOL_NAME (sym0); - char *name1 = SYMBOL_NAME (sym1); - int len0 = strlen (name0); - return - TYPE_CODE (type0) == TYPE_CODE (type1) - && (equiv_types (type0, type1) - || (len0 < strlen (name1) && STREQN (name0, name1, len0) - && STREQN (name1 + len0, "___XV", 5))); - } - case LOC_CONST: - return SYMBOL_VALUE (sym0) == SYMBOL_VALUE (sym1) - && equiv_types (SYMBOL_TYPE (sym0), SYMBOL_TYPE (sym1)); - default: - return 0; - } -} - -/* Append SYM to the end of defn_symbols, and BLOCK to the end of - defn_blocks, updating ndefns, and expanding defn_symbols and - defn_blocks as needed. Do not include SYM if it is a duplicate. */ - -static void -add_defn_to_vec (struct symbol *sym, struct block *block) -{ - int i; - size_t tmp; - - if (SYMBOL_TYPE (sym) != NULL) - CHECK_TYPEDEF (SYMBOL_TYPE (sym)); - for (i = 0; i < ndefns; i += 1) - { - if (lesseq_defined_than (sym, defn_symbols[i])) - return; - else if (lesseq_defined_than (defn_symbols[i], sym)) - { - defn_symbols[i] = sym; - defn_blocks[i] = block; - return; - } - } - - tmp = defn_vector_size; - GROW_VECT (defn_symbols, tmp, ndefns + 2); - GROW_VECT (defn_blocks, defn_vector_size, ndefns + 2); - - defn_symbols[ndefns] = sym; - defn_blocks[ndefns] = block; - ndefns += 1; -} - -/* Look, in partial_symtab PST, for symbol NAME in given namespace. - Check the global symbols if GLOBAL, the static symbols if not. Do - wild-card match if WILD. */ - -static struct partial_symbol * -ada_lookup_partial_symbol (struct partial_symtab *pst, const char *name, - int global, namespace_enum namespace, int wild) -{ - struct partial_symbol **start; - int name_len = strlen (name); - int length = (global ? pst->n_global_syms : pst->n_static_syms); - int i; - - if (length == 0) - { - return (NULL); - } - - start = (global ? - pst->objfile->global_psymbols.list + pst->globals_offset : - pst->objfile->static_psymbols.list + pst->statics_offset); - - if (wild) - { - for (i = 0; i < length; i += 1) - { - struct partial_symbol *psym = start[i]; - - if (SYMBOL_NAMESPACE (psym) == namespace && - wild_match (name, name_len, SYMBOL_NAME (psym))) - return psym; - } - return NULL; - } - else - { - if (global) - { - int U; - i = 0; - U = length - 1; - while (U - i > 4) - { - int M = (U + i) >> 1; - struct partial_symbol *psym = start[M]; - if (SYMBOL_NAME (psym)[0] < name[0]) - i = M + 1; - else if (SYMBOL_NAME (psym)[0] > name[0]) - U = M - 1; - else if (strcmp (SYMBOL_NAME (psym), name) < 0) - i = M + 1; - else - U = M; - } - } - else - i = 0; - - while (i < length) - { - struct partial_symbol *psym = start[i]; - - if (SYMBOL_NAMESPACE (psym) == namespace) - { - int cmp = strncmp (name, SYMBOL_NAME (psym), name_len); - - if (cmp < 0) - { - if (global) - break; - } - else if (cmp == 0 - && is_name_suffix (SYMBOL_NAME (psym) + name_len)) - return psym; - } - i += 1; - } - - if (global) - { - int U; - i = 0; - U = length - 1; - while (U - i > 4) - { - int M = (U + i) >> 1; - struct partial_symbol *psym = start[M]; - if (SYMBOL_NAME (psym)[0] < '_') - i = M + 1; - else if (SYMBOL_NAME (psym)[0] > '_') - U = M - 1; - else if (strcmp (SYMBOL_NAME (psym), "_ada_") < 0) - i = M + 1; - else - U = M; - } - } - else - i = 0; - - while (i < length) - { - struct partial_symbol *psym = start[i]; - - if (SYMBOL_NAMESPACE (psym) == namespace) - { - int cmp; - - cmp = (int) '_' - (int) SYMBOL_NAME (psym)[0]; - if (cmp == 0) - { - cmp = strncmp ("_ada_", SYMBOL_NAME (psym), 5); - if (cmp == 0) - cmp = strncmp (name, SYMBOL_NAME (psym) + 5, name_len); - } - - if (cmp < 0) - { - if (global) - break; - } - else if (cmp == 0 - && is_name_suffix (SYMBOL_NAME (psym) + name_len + 5)) - return psym; - } - i += 1; - } - - } - return NULL; -} - - -/* Find a symbol table containing symbol SYM or NULL if none. */ -static struct symtab * -symtab_for_sym (struct symbol *sym) -{ - struct symtab *s; - struct objfile *objfile; - struct block *b; - struct symbol *tmp_sym; - int i, j; - - ALL_SYMTABS (objfile, s) - { - switch (SYMBOL_CLASS (sym)) - { - case LOC_CONST: - case LOC_STATIC: - case LOC_TYPEDEF: - case LOC_REGISTER: - case LOC_LABEL: - case LOC_BLOCK: - case LOC_CONST_BYTES: - b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK); - ALL_BLOCK_SYMBOLS (b, i, tmp_sym) if (sym == tmp_sym) - return s; - b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK); - ALL_BLOCK_SYMBOLS (b, i, tmp_sym) if (sym == tmp_sym) - return s; - break; - default: - break; - } - switch (SYMBOL_CLASS (sym)) - { - case LOC_REGISTER: - case LOC_ARG: - case LOC_REF_ARG: - case LOC_REGPARM: - case LOC_REGPARM_ADDR: - case LOC_LOCAL: - case LOC_TYPEDEF: - case LOC_LOCAL_ARG: - case LOC_BASEREG: - case LOC_BASEREG_ARG: - for (j = FIRST_LOCAL_BLOCK; - j < BLOCKVECTOR_NBLOCKS (BLOCKVECTOR (s)); j += 1) - { - b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), j); - ALL_BLOCK_SYMBOLS (b, i, tmp_sym) if (sym == tmp_sym) - return s; - } - break; - default: - break; - } - } - return NULL; -} - -/* Return a minimal symbol matching NAME according to Ada demangling - rules. Returns NULL if there is no such minimal symbol. */ - -struct minimal_symbol * -ada_lookup_minimal_symbol (const char *name) -{ - struct objfile *objfile; - struct minimal_symbol *msymbol; - int wild_match = (strstr (name, "__") == NULL); - - ALL_MSYMBOLS (objfile, msymbol) - { - if (ada_match_name (SYMBOL_NAME (msymbol), name, wild_match) - && MSYMBOL_TYPE (msymbol) != mst_solib_trampoline) - return msymbol; - } - - return NULL; -} - -/* For all subprograms that statically enclose the subprogram of the - * selected frame, add symbols matching identifier NAME in NAMESPACE - * and their blocks to vectors *defn_symbols and *defn_blocks, as for - * ada_add_block_symbols (q.v.). If WILD, treat as NAME with a - * wildcard prefix. At the moment, this function uses a heuristic to - * find the frames of enclosing subprograms: it treats the - * pointer-sized value at location 0 from the local-variable base of a - * frame as a static link, and then searches up the call stack for a - * frame with that same local-variable base. */ -static void -add_symbols_from_enclosing_procs (const char *name, namespace_enum namespace, - int wild_match) -{ -#ifdef i386 - static struct symbol static_link_sym; - static struct symbol *static_link; - - struct cleanup *old_chain = make_cleanup (null_cleanup, NULL); - struct frame_info *frame; - struct frame_info *target_frame; - - if (static_link == NULL) - { - /* Initialize the local variable symbol that stands for the - * static link (when it exists). */ - static_link = &static_link_sym; - SYMBOL_NAME (static_link) = ""; - SYMBOL_LANGUAGE (static_link) = language_unknown; - SYMBOL_CLASS (static_link) = LOC_LOCAL; - SYMBOL_NAMESPACE (static_link) = VAR_NAMESPACE; - SYMBOL_TYPE (static_link) = lookup_pointer_type (builtin_type_void); - SYMBOL_VALUE (static_link) = - -(long) TYPE_LENGTH (SYMBOL_TYPE (static_link)); - } - - frame = selected_frame; - while (frame != NULL && ndefns == 0) - { - struct block *block; - struct value *target_link_val = read_var_value (static_link, frame); - CORE_ADDR target_link; - - if (target_link_val == NULL) - break; - QUIT; - - target_link = target_link_val; - do - { - QUIT; - frame = get_prev_frame (frame); - } - while (frame != NULL && FRAME_LOCALS_ADDRESS (frame) != target_link); - - if (frame == NULL) - break; - - block = get_frame_block (frame, 0); - while (block != NULL && block_function (block) != NULL && ndefns == 0) - { - ada_add_block_symbols (block, name, namespace, NULL, wild_match); - - block = BLOCK_SUPERBLOCK (block); - } - } - - do_cleanups (old_chain); -#endif -} - -/* True if TYPE is definitely an artificial type supplied to a symbol - * for which no debugging information was given in the symbol file. */ -static int -is_nondebugging_type (struct type *type) -{ - char *name = ada_type_name (type); - return (name != NULL && STREQ (name, "")); -} - -/* Remove any non-debugging symbols in SYMS[0 .. NSYMS-1] that definitely - * duplicate other symbols in the list. (The only case I know of where - * this happens is when object files containing stabs-in-ecoff are - * linked with files containing ordinary ecoff debugging symbols (or no - * debugging symbols)). Modifies SYMS to squeeze out deleted symbols, - * and applies the same modification to BLOCKS to maintain the - * correspondence between SYMS[i] and BLOCKS[i]. Returns the number - * of symbols in the modified list. */ -static int -remove_extra_symbols (struct symbol **syms, struct block **blocks, int nsyms) -{ - int i, j; - - i = 0; - while (i < nsyms) - { - if (SYMBOL_NAME (syms[i]) != NULL - && SYMBOL_CLASS (syms[i]) == LOC_STATIC - && is_nondebugging_type (SYMBOL_TYPE (syms[i]))) - { - for (j = 0; j < nsyms; j += 1) - { - if (i != j - && SYMBOL_NAME (syms[j]) != NULL - && STREQ (SYMBOL_NAME (syms[i]), SYMBOL_NAME (syms[j])) - && SYMBOL_CLASS (syms[i]) == SYMBOL_CLASS (syms[j]) - && SYMBOL_VALUE_ADDRESS (syms[i]) - == SYMBOL_VALUE_ADDRESS (syms[j])) - { - int k; - for (k = i + 1; k < nsyms; k += 1) - { - syms[k - 1] = syms[k]; - blocks[k - 1] = blocks[k]; - } - nsyms -= 1; - goto NextSymbol; - } - } - } - i += 1; - NextSymbol: - ; - } - return nsyms; -} - -/* Find symbols in NAMESPACE matching NAME, in BLOCK0 and enclosing - scope and in global scopes, returning the number of matches. Sets - *SYMS to point to a vector of matching symbols, with *BLOCKS - pointing to the vector of corresponding blocks in which those - symbols reside. These two vectors are transient---good only to the - next call of ada_lookup_symbol_list. Any non-function/non-enumeral symbol - match within the nest of blocks whose innermost member is BLOCK0, - is the outermost match returned (no other matches in that or - enclosing blocks is returned). If there are any matches in or - surrounding BLOCK0, then these alone are returned. */ - -int -ada_lookup_symbol_list (const char *name, struct block *block0, - namespace_enum namespace, struct symbol ***syms, - struct block ***blocks) -{ - struct symbol *sym; - struct symtab *s; - struct partial_symtab *ps; - struct blockvector *bv; - struct objfile *objfile; - struct block *b; - struct block *block; - struct minimal_symbol *msymbol; - int wild_match = (strstr (name, "__") == NULL); - int cacheIfUnique; - -#ifdef TIMING - markTimeStart (0); -#endif - - ndefns = 0; - cacheIfUnique = 0; - - /* Search specified block and its superiors. */ - - block = block0; - while (block != NULL) - { - ada_add_block_symbols (block, name, namespace, NULL, wild_match); - - /* If we found a non-function match, assume that's the one. */ - if (is_nonfunction (defn_symbols, ndefns)) - goto done; - - block = BLOCK_SUPERBLOCK (block); - } - - /* If we found ANY matches in the specified BLOCK, we're done. */ - - if (ndefns > 0) - goto done; - - cacheIfUnique = 1; - - /* Now add symbols from all global blocks: symbol tables, minimal symbol - tables, and psymtab's */ - - ALL_SYMTABS (objfile, s) - { - QUIT; - if (!s->primary) - continue; - bv = BLOCKVECTOR (s); - block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK); - ada_add_block_symbols (block, name, namespace, objfile, wild_match); - } - - if (namespace == VAR_NAMESPACE) - { - ALL_MSYMBOLS (objfile, msymbol) - { - if (ada_match_name (SYMBOL_NAME (msymbol), name, wild_match)) - { - switch (MSYMBOL_TYPE (msymbol)) - { - case mst_solib_trampoline: - break; - default: - s = find_pc_symtab (SYMBOL_VALUE_ADDRESS (msymbol)); - if (s != NULL) - { - int old_ndefns = ndefns; - QUIT; - bv = BLOCKVECTOR (s); - block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK); - ada_add_block_symbols (block, - SYMBOL_NAME (msymbol), - namespace, objfile, wild_match); - if (ndefns == old_ndefns) - { - block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK); - ada_add_block_symbols (block, - SYMBOL_NAME (msymbol), - namespace, objfile, - wild_match); - } - } - } - } - } - } - - ALL_PSYMTABS (objfile, ps) - { - QUIT; - if (!ps->readin - && ada_lookup_partial_symbol (ps, name, 1, namespace, wild_match)) - { - s = PSYMTAB_TO_SYMTAB (ps); - if (!s->primary) - continue; - bv = BLOCKVECTOR (s); - block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK); - ada_add_block_symbols (block, name, namespace, objfile, wild_match); - } - } - - /* Now add symbols from all per-file blocks if we've gotten no hits. - (Not strictly correct, but perhaps better than an error). - Do the symtabs first, then check the psymtabs */ - - if (ndefns == 0) - { - - ALL_SYMTABS (objfile, s) - { - QUIT; - if (!s->primary) - continue; - bv = BLOCKVECTOR (s); - block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK); - ada_add_block_symbols (block, name, namespace, objfile, wild_match); - } - - ALL_PSYMTABS (objfile, ps) - { - QUIT; - if (!ps->readin - && ada_lookup_partial_symbol (ps, name, 0, namespace, wild_match)) - { - s = PSYMTAB_TO_SYMTAB (ps); - bv = BLOCKVECTOR (s); - if (!s->primary) - continue; - block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK); - ada_add_block_symbols (block, name, namespace, - objfile, wild_match); - } - } - } - - /* Finally, we try to find NAME as a local symbol in some lexically - enclosing block. We do this last, expecting this case to be - rare. */ - if (ndefns == 0) - { - add_symbols_from_enclosing_procs (name, namespace, wild_match); - if (ndefns > 0) - goto done; - } - -done: - ndefns = remove_extra_symbols (defn_symbols, defn_blocks, ndefns); - - - *syms = defn_symbols; - *blocks = defn_blocks; -#ifdef TIMING - markTimeStop (0); -#endif - return ndefns; -} - -/* Return a symbol in NAMESPACE matching NAME, in BLOCK0 and enclosing - * scope and in global scopes, or NULL if none. NAME is folded to - * lower case first, unless it is surrounded in single quotes. - * Otherwise, the result is as for ada_lookup_symbol_list, but is - * disambiguated by user query if needed. */ - -struct symbol * -ada_lookup_symbol (const char *name, struct block *block0, - namespace_enum namespace) -{ - struct symbol **candidate_syms; - struct block **candidate_blocks; - int n_candidates; - - n_candidates = ada_lookup_symbol_list (name, - block0, namespace, - &candidate_syms, &candidate_blocks); - - if (n_candidates == 0) - return NULL; - else if (n_candidates != 1) - user_select_syms (candidate_syms, candidate_blocks, n_candidates, 1); - - return candidate_syms[0]; -} - - -/* True iff STR is a possible encoded suffix of a normal Ada name - * that is to be ignored for matching purposes. Suffixes of parallel - * names (e.g., XVE) are not included here. Currently, the possible suffixes - * are given by the regular expression: - * (X[nb]*)?(__[0-9]+|\$[0-9]+|___(LJM|X([FDBUP].*|R[^T]?)))?$ - * - */ -static int -is_name_suffix (const char *str) -{ - int k; - if (str[0] == 'X') - { - str += 1; - while (str[0] != '_' && str[0] != '\0') - { - if (str[0] != 'n' && str[0] != 'b') - return 0; - str += 1; - } - } - if (str[0] == '\000') - return 1; - if (str[0] == '_') - { - if (str[1] != '_' || str[2] == '\000') - return 0; - if (str[2] == '_') - { - if (STREQ (str + 3, "LJM")) - return 1; - if (str[3] != 'X') - return 0; - if (str[4] == 'F' || str[4] == 'D' || str[4] == 'B' || - str[4] == 'U' || str[4] == 'P') - return 1; - if (str[4] == 'R' && str[5] != 'T') - return 1; - return 0; - } - for (k = 2; str[k] != '\0'; k += 1) - if (!isdigit (str[k])) - return 0; - return 1; - } - if (str[0] == '$' && str[1] != '\000') - { - for (k = 1; str[k] != '\0'; k += 1) - if (!isdigit (str[k])) - return 0; - return 1; - } - return 0; -} - -/* True if NAME represents a name of the form A1.A2....An, n>=1 and - * PATN[0..PATN_LEN-1] = Ak.Ak+1.....An for some k >= 1. Ignores - * informational suffixes of NAME (i.e., for which is_name_suffix is - * true). */ -static int -wild_match (const char *patn, int patn_len, const char *name) -{ - int name_len; - int s, e; - - name_len = strlen (name); - if (name_len >= patn_len + 5 && STREQN (name, "_ada_", 5) - && STREQN (patn, name + 5, patn_len) - && is_name_suffix (name + patn_len + 5)) - return 1; - - while (name_len >= patn_len) - { - if (STREQN (patn, name, patn_len) && is_name_suffix (name + patn_len)) - return 1; - do - { - name += 1; - name_len -= 1; - } - while (name_len > 0 - && name[0] != '.' && (name[0] != '_' || name[1] != '_')); - if (name_len <= 0) - return 0; - if (name[0] == '_') - { - if (!islower (name[2])) - return 0; - name += 2; - name_len -= 2; - } - else - { - if (!islower (name[1])) - return 0; - name += 1; - name_len -= 1; - } - } - - return 0; -} - - -/* Add symbols from BLOCK matching identifier NAME in NAMESPACE to - vector *defn_symbols, updating *defn_symbols (if necessary), *SZ (the size of - the vector *defn_symbols), and *ndefns (the number of symbols - currently stored in *defn_symbols). If WILD, treat as NAME with a - wildcard prefix. OBJFILE is the section containing BLOCK. */ - -static void -ada_add_block_symbols (struct block *block, const char *name, - namespace_enum namespace, struct objfile *objfile, - int wild) -{ - int i; - int name_len = strlen (name); - /* A matching argument symbol, if any. */ - struct symbol *arg_sym; - /* Set true when we find a matching non-argument symbol */ - int found_sym; - int is_sorted = BLOCK_SHOULD_SORT (block); - struct symbol *sym; - - arg_sym = NULL; - found_sym = 0; - if (wild) - { - struct symbol *sym; - ALL_BLOCK_SYMBOLS (block, i, sym) - { - if (SYMBOL_NAMESPACE (sym) == namespace && - wild_match (name, name_len, SYMBOL_NAME (sym))) - { - switch (SYMBOL_CLASS (sym)) - { - case LOC_ARG: - case LOC_LOCAL_ARG: - case LOC_REF_ARG: - case LOC_REGPARM: - case LOC_REGPARM_ADDR: - case LOC_BASEREG_ARG: - arg_sym = sym; - break; - case LOC_UNRESOLVED: - continue; - default: - found_sym = 1; - fill_in_ada_prototype (sym); - add_defn_to_vec (fixup_symbol_section (sym, objfile), block); - break; - } - } - } - } - else - { - if (is_sorted) - { - int U; - i = 0; - U = BLOCK_NSYMS (block) - 1; - while (U - i > 4) - { - int M = (U + i) >> 1; - struct symbol *sym = BLOCK_SYM (block, M); - if (SYMBOL_NAME (sym)[0] < name[0]) - i = M + 1; - else if (SYMBOL_NAME (sym)[0] > name[0]) - U = M - 1; - else if (strcmp (SYMBOL_NAME (sym), name) < 0) - i = M + 1; - else - U = M; - } - } - else - i = 0; - - for (; i < BLOCK_BUCKETS (block); i += 1) - for (sym = BLOCK_BUCKET (block, i); sym != NULL; sym = sym->hash_next) - { - if (SYMBOL_NAMESPACE (sym) == namespace) - { - int cmp = strncmp (name, SYMBOL_NAME (sym), name_len); - - if (cmp < 0) - { - if (is_sorted) - { - i = BLOCK_BUCKETS (block); - break; - } - } - else if (cmp == 0 - && is_name_suffix (SYMBOL_NAME (sym) + name_len)) - { - switch (SYMBOL_CLASS (sym)) - { - case LOC_ARG: - case LOC_LOCAL_ARG: - case LOC_REF_ARG: - case LOC_REGPARM: - case LOC_REGPARM_ADDR: - case LOC_BASEREG_ARG: - arg_sym = sym; - break; - case LOC_UNRESOLVED: - break; - default: - found_sym = 1; - fill_in_ada_prototype (sym); - add_defn_to_vec (fixup_symbol_section (sym, objfile), - block); - break; - } - } - } - } - } - - if (!found_sym && arg_sym != NULL) - { - fill_in_ada_prototype (arg_sym); - add_defn_to_vec (fixup_symbol_section (arg_sym, objfile), block); - } - - if (!wild) - { - arg_sym = NULL; - found_sym = 0; - if (is_sorted) - { - int U; - i = 0; - U = BLOCK_NSYMS (block) - 1; - while (U - i > 4) - { - int M = (U + i) >> 1; - struct symbol *sym = BLOCK_SYM (block, M); - if (SYMBOL_NAME (sym)[0] < '_') - i = M + 1; - else if (SYMBOL_NAME (sym)[0] > '_') - U = M - 1; - else if (strcmp (SYMBOL_NAME (sym), "_ada_") < 0) - i = M + 1; - else - U = M; - } - } - else - i = 0; - - for (; i < BLOCK_BUCKETS (block); i += 1) - for (sym = BLOCK_BUCKET (block, i); sym != NULL; sym = sym->hash_next) - { - struct symbol *sym = BLOCK_SYM (block, i); - - if (SYMBOL_NAMESPACE (sym) == namespace) - { - int cmp; - - cmp = (int) '_' - (int) SYMBOL_NAME (sym)[0]; - if (cmp == 0) - { - cmp = strncmp ("_ada_", SYMBOL_NAME (sym), 5); - if (cmp == 0) - cmp = strncmp (name, SYMBOL_NAME (sym) + 5, name_len); - } - - if (cmp < 0) - { - if (is_sorted) - { - i = BLOCK_BUCKETS (block); - break; - } - } - else if (cmp == 0 - && is_name_suffix (SYMBOL_NAME (sym) + name_len + 5)) - { - switch (SYMBOL_CLASS (sym)) - { - case LOC_ARG: - case LOC_LOCAL_ARG: - case LOC_REF_ARG: - case LOC_REGPARM: - case LOC_REGPARM_ADDR: - case LOC_BASEREG_ARG: - arg_sym = sym; - break; - case LOC_UNRESOLVED: - break; - default: - found_sym = 1; - fill_in_ada_prototype (sym); - add_defn_to_vec (fixup_symbol_section (sym, objfile), - block); - break; - } - } - } - } - - /* NOTE: This really shouldn't be needed for _ada_ symbols. - They aren't parameters, right? */ - if (!found_sym && arg_sym != NULL) - { - fill_in_ada_prototype (arg_sym); - add_defn_to_vec (fixup_symbol_section (arg_sym, objfile), block); - } - } -} - - - /* Function Types */ - -/* Assuming that SYM is the symbol for a function, fill in its type - with prototype information, if it is not already there. */ - -static void -fill_in_ada_prototype (struct symbol *func) -{ - struct block *b; - int nargs, nsyms; - int i; - struct type *ftype; - struct type *rtype; - size_t max_fields; - struct symbol *sym; - - if (func == NULL - || TYPE_CODE (SYMBOL_TYPE (func)) != TYPE_CODE_FUNC - || TYPE_FIELDS (SYMBOL_TYPE (func)) != NULL) - return; - - /* We make each function type unique, so that each may have its own */ - /* parameter types. This particular way of doing so wastes space: */ - /* it would be nicer to build the argument types while the original */ - /* function type is being built (FIXME). */ - rtype = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (func))); - ftype = alloc_type (TYPE_OBJFILE (SYMBOL_TYPE (func))); - make_function_type (rtype, &ftype); - SYMBOL_TYPE (func) = ftype; - - b = SYMBOL_BLOCK_VALUE (func); - - nargs = 0; - max_fields = 8; - TYPE_FIELDS (ftype) = - (struct field *) xmalloc (sizeof (struct field) * max_fields); - ALL_BLOCK_SYMBOLS (b, i, sym) - { - GROW_VECT (TYPE_FIELDS (ftype), max_fields, nargs + 1); - - switch (SYMBOL_CLASS (sym)) - { - case LOC_REF_ARG: - case LOC_REGPARM_ADDR: - TYPE_FIELD_BITPOS (ftype, nargs) = nargs; - TYPE_FIELD_BITSIZE (ftype, nargs) = 0; - TYPE_FIELD_TYPE (ftype, nargs) = - lookup_pointer_type (check_typedef (SYMBOL_TYPE (sym))); - TYPE_FIELD_NAME (ftype, nargs) = SYMBOL_NAME (sym); - nargs += 1; - - break; - - case LOC_ARG: - case LOC_REGPARM: - case LOC_LOCAL_ARG: - case LOC_BASEREG_ARG: - TYPE_FIELD_BITPOS (ftype, nargs) = nargs; - TYPE_FIELD_BITSIZE (ftype, nargs) = 0; - TYPE_FIELD_TYPE (ftype, nargs) = check_typedef (SYMBOL_TYPE (sym)); - TYPE_FIELD_NAME (ftype, nargs) = SYMBOL_NAME (sym); - nargs += 1; - - break; - - default: - break; - } - } - - /* Re-allocate fields vector; if there are no fields, make the */ - /* fields pointer non-null anyway, to mark that this function type */ - /* has been filled in. */ - - TYPE_NFIELDS (ftype) = nargs; - if (nargs == 0) - { - static struct field dummy_field = { 0, 0, 0, 0 }; - xfree (TYPE_FIELDS (ftype)); - TYPE_FIELDS (ftype) = &dummy_field; - } - else - { - struct field *fields = - (struct field *) TYPE_ALLOC (ftype, nargs * sizeof (struct field)); - memcpy ((char *) fields, - (char *) TYPE_FIELDS (ftype), nargs * sizeof (struct field)); - xfree (TYPE_FIELDS (ftype)); - TYPE_FIELDS (ftype) = fields; - } -} - - - /* Breakpoint-related */ - -char no_symtab_msg[] = - "No symbol table is loaded. Use the \"file\" command."; - -/* Assuming that LINE is pointing at the beginning of an argument to - 'break', return a pointer to the delimiter for the initial segment - of that name. This is the first ':', ' ', or end of LINE. -*/ -char * -ada_start_decode_line_1 (char *line) -{ - /* [NOTE: strpbrk would be more elegant, but I am reluctant to be - the first to use such a library function in GDB code.] */ - char *p; - for (p = line; *p != '\000' && *p != ' ' && *p != ':'; p += 1) - ; - return p; -} - -/* *SPEC points to a function and line number spec (as in a break - command), following any initial file name specification. - - Return all symbol table/line specfications (sals) consistent with the - information in *SPEC and FILE_TABLE in the - following sense: - + FILE_TABLE is null, or the sal refers to a line in the file - named by FILE_TABLE. - + If *SPEC points to an argument with a trailing ':LINENUM', - then the sal refers to that line (or one following it as closely as - possible). - + If *SPEC does not start with '*', the sal is in a function with - that name. - - Returns with 0 elements if no matching non-minimal symbols found. - - If *SPEC begins with a function name of the form , then NAME - is taken as a literal name; otherwise the function name is subject - to the usual mangling. - - *SPEC is updated to point after the function/line number specification. - - FUNFIRSTLINE is non-zero if we desire the first line of real code - in each function (this is ignored in the presence of a LINENUM spec.). - - If CANONICAL is non-NULL, and if any of the sals require a - 'canonical line spec', then *CANONICAL is set to point to an array - of strings, corresponding to and equal in length to the returned - list of sals, such that (*CANONICAL)[i] is non-null and contains a - canonical line spec for the ith returned sal, if needed. If no - canonical line specs are required and CANONICAL is non-null, - *CANONICAL is set to NULL. - - A 'canonical line spec' is simply a name (in the format of the - breakpoint command) that uniquely identifies a breakpoint position, - with no further contextual information or user selection. It is - needed whenever the file name, function name, and line number - information supplied is insufficient for this unique - identification. Currently overloaded functions, the name '*', - or static functions without a filename yield a canonical line spec. - The array and the line spec strings are allocated on the heap; it - is the caller's responsibility to free them. */ - -struct symtabs_and_lines -ada_finish_decode_line_1 (char **spec, struct symtab *file_table, - int funfirstline, char ***canonical) -{ - struct symbol **symbols; - struct block **blocks; - struct block *block; - int n_matches, i, line_num; - struct symtabs_and_lines selected; - struct cleanup *old_chain = make_cleanup (null_cleanup, NULL); - char *name; - - int len; - char *lower_name; - char *unquoted_name; - - if (file_table == NULL) - block = get_selected_block (NULL); - else - block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (file_table), STATIC_BLOCK); - - if (canonical != NULL) - *canonical = (char **) NULL; - - name = *spec; - if (**spec == '*') - *spec += 1; - else - { - while (**spec != '\000' && - !strchr (ada_completer_word_break_characters, **spec)) - *spec += 1; - } - len = *spec - name; - - line_num = -1; - if (file_table != NULL && (*spec)[0] == ':' && isdigit ((*spec)[1])) - { - line_num = strtol (*spec + 1, spec, 10); - while (**spec == ' ' || **spec == '\t') - *spec += 1; - } - - if (name[0] == '*') - { - if (line_num == -1) - error ("Wild-card function with no line number or file name."); - - return all_sals_for_line (file_table->filename, line_num, canonical); - } - - if (name[0] == '\'') - { - name += 1; - len -= 2; - } - - if (name[0] == '<') - { - unquoted_name = (char *) alloca (len - 1); - memcpy (unquoted_name, name + 1, len - 2); - unquoted_name[len - 2] = '\000'; - lower_name = NULL; - } - else - { - unquoted_name = (char *) alloca (len + 1); - memcpy (unquoted_name, name, len); - unquoted_name[len] = '\000'; - lower_name = (char *) alloca (len + 1); - for (i = 0; i < len; i += 1) - lower_name[i] = tolower (name[i]); - lower_name[len] = '\000'; - } - - n_matches = 0; - if (lower_name != NULL) - n_matches = ada_lookup_symbol_list (ada_mangle (lower_name), block, - VAR_NAMESPACE, &symbols, &blocks); - if (n_matches == 0) - n_matches = ada_lookup_symbol_list (unquoted_name, block, - VAR_NAMESPACE, &symbols, &blocks); - if (n_matches == 0 && line_num >= 0) - error ("No line number information found for %s.", unquoted_name); - else if (n_matches == 0) - { -#ifdef HPPA_COMPILER_BUG - /* FIXME: See comment in symtab.c::decode_line_1 */ -#undef volatile - volatile struct symtab_and_line val; -#define volatile /*nothing */ -#else - struct symtab_and_line val; -#endif - struct minimal_symbol *msymbol; - - INIT_SAL (&val); - - msymbol = NULL; - if (lower_name != NULL) - msymbol = ada_lookup_minimal_symbol (ada_mangle (lower_name)); - if (msymbol == NULL) - msymbol = ada_lookup_minimal_symbol (unquoted_name); - if (msymbol != NULL) - { - val.pc = SYMBOL_VALUE_ADDRESS (msymbol); - val.section = SYMBOL_BFD_SECTION (msymbol); - if (funfirstline) - { - val.pc += FUNCTION_START_OFFSET; - SKIP_PROLOGUE (val.pc); - } - selected.sals = (struct symtab_and_line *) - xmalloc (sizeof (struct symtab_and_line)); - selected.sals[0] = val; - selected.nelts = 1; - return selected; - } - - if (!have_full_symbols () && - !have_partial_symbols () && !have_minimal_symbols ()) - error (no_symtab_msg); - - error ("Function \"%s\" not defined.", unquoted_name); - return selected; /* for lint */ - } - - if (line_num >= 0) - { - return - find_sal_from_funcs_and_line (file_table->filename, line_num, - symbols, n_matches); - } - else - { - selected.nelts = - user_select_syms (symbols, blocks, n_matches, n_matches); - } - - selected.sals = (struct symtab_and_line *) - xmalloc (sizeof (struct symtab_and_line) * selected.nelts); - memset (selected.sals, 0, selected.nelts * sizeof (selected.sals[i])); - make_cleanup (xfree, selected.sals); - - i = 0; - while (i < selected.nelts) - { - if (SYMBOL_CLASS (symbols[i]) == LOC_BLOCK) - selected.sals[i] = find_function_start_sal (symbols[i], funfirstline); - else if (SYMBOL_LINE (symbols[i]) != 0) - { - selected.sals[i].symtab = symtab_for_sym (symbols[i]); - selected.sals[i].line = SYMBOL_LINE (symbols[i]); - } - else if (line_num >= 0) - { - /* Ignore this choice */ - symbols[i] = symbols[selected.nelts - 1]; - blocks[i] = blocks[selected.nelts - 1]; - selected.nelts -= 1; - continue; - } - else - error ("Line number not known for symbol \"%s\"", unquoted_name); - i += 1; - } - - if (canonical != NULL && (line_num >= 0 || n_matches > 1)) - { - *canonical = (char **) xmalloc (sizeof (char *) * selected.nelts); - for (i = 0; i < selected.nelts; i += 1) - (*canonical)[i] = - extended_canonical_line_spec (selected.sals[i], - SYMBOL_SOURCE_NAME (symbols[i])); - } - - discard_cleanups (old_chain); - return selected; -} - -/* The (single) sal corresponding to line LINE_NUM in a symbol table - with file name FILENAME that occurs in one of the functions listed - in SYMBOLS[0 .. NSYMS-1]. */ -static struct symtabs_and_lines -find_sal_from_funcs_and_line (const char *filename, int line_num, - struct symbol **symbols, int nsyms) -{ - struct symtabs_and_lines sals; - int best_index, best; - struct linetable *best_linetable; - struct objfile *objfile; - struct symtab *s; - struct symtab *best_symtab; - - read_all_symtabs (filename); - - best_index = 0; - best_linetable = NULL; - best_symtab = NULL; - best = 0; - ALL_SYMTABS (objfile, s) - { - struct linetable *l; - int ind, exact; - - QUIT; - - if (!STREQ (filename, s->filename)) - continue; - l = LINETABLE (s); - ind = find_line_in_linetable (l, line_num, symbols, nsyms, &exact); - if (ind >= 0) - { - if (exact) - { - best_index = ind; - best_linetable = l; - best_symtab = s; - goto done; - } - if (best == 0 || l->item[ind].line < best) - { - best = l->item[ind].line; - best_index = ind; - best_linetable = l; - best_symtab = s; - } - } - } - - if (best == 0) - error ("Line number not found in designated function."); - -done: - - sals.nelts = 1; - sals.sals = (struct symtab_and_line *) xmalloc (sizeof (sals.sals[0])); - - INIT_SAL (&sals.sals[0]); - - sals.sals[0].line = best_linetable->item[best_index].line; - sals.sals[0].pc = best_linetable->item[best_index].pc; - sals.sals[0].symtab = best_symtab; - - return sals; -} - -/* Return the index in LINETABLE of the best match for LINE_NUM whose - pc falls within one of the functions denoted by SYMBOLS[0..NSYMS-1]. - Set *EXACTP to the 1 if the match is exact, and 0 otherwise. */ -static int -find_line_in_linetable (struct linetable *linetable, int line_num, - struct symbol **symbols, int nsyms, int *exactp) -{ - int i, len, best_index, best; - - if (line_num <= 0 || linetable == NULL) - return -1; - - len = linetable->nitems; - for (i = 0, best_index = -1, best = 0; i < len; i += 1) - { - int k; - struct linetable_entry *item = &(linetable->item[i]); - - for (k = 0; k < nsyms; k += 1) - { - if (symbols[k] != NULL && SYMBOL_CLASS (symbols[k]) == LOC_BLOCK - && item->pc >= BLOCK_START (SYMBOL_BLOCK_VALUE (symbols[k])) - && item->pc < BLOCK_END (SYMBOL_BLOCK_VALUE (symbols[k]))) - goto candidate; - } - continue; - - candidate: - - if (item->line == line_num) - { - *exactp = 1; - return i; - } - - if (item->line > line_num && (best == 0 || item->line < best)) - { - best = item->line; - best_index = i; - } - } - - *exactp = 0; - return best_index; -} - -/* Find the smallest k >= LINE_NUM such that k is a line number in - LINETABLE, and k falls strictly within a named function that begins at - or before LINE_NUM. Return -1 if there is no such k. */ -static int -nearest_line_number_in_linetable (struct linetable *linetable, int line_num) -{ - int i, len, best; - - if (line_num <= 0 || linetable == NULL || linetable->nitems == 0) - return -1; - len = linetable->nitems; - - i = 0; - best = INT_MAX; - while (i < len) - { - int k; - struct linetable_entry *item = &(linetable->item[i]); - - if (item->line >= line_num && item->line < best) - { - char *func_name; - CORE_ADDR start, end; - - func_name = NULL; - find_pc_partial_function (item->pc, &func_name, &start, &end); - - if (func_name != NULL && item->pc < end) - { - if (item->line == line_num) - return line_num; - else - { - struct symbol *sym = - standard_lookup (func_name, VAR_NAMESPACE); - if (is_plausible_func_for_line (sym, line_num)) - best = item->line; - else - { - do - i += 1; - while (i < len && linetable->item[i].pc < end); - continue; - } - } - } - } - - i += 1; - } - - return (best == INT_MAX) ? -1 : best; -} - - -/* Return the next higher index, k, into LINETABLE such that k > IND, - entry k in LINETABLE has a line number equal to LINE_NUM, k - corresponds to a PC that is in a function different from that - corresponding to IND, and falls strictly within a named function - that begins at a line at or preceding STARTING_LINE. - Return -1 if there is no such k. - IND == -1 corresponds to no function. */ - -static int -find_next_line_in_linetable (struct linetable *linetable, int line_num, - int starting_line, int ind) -{ - int i, len; - - if (line_num <= 0 || linetable == NULL || ind >= linetable->nitems) - return -1; - len = linetable->nitems; - - if (ind >= 0) - { - CORE_ADDR start, end; - - if (find_pc_partial_function (linetable->item[ind].pc, - (char **) NULL, &start, &end)) - { - while (ind < len && linetable->item[ind].pc < end) - ind += 1; - } - else - ind += 1; - } - else - ind = 0; - - i = ind; - while (i < len) - { - int k; - struct linetable_entry *item = &(linetable->item[i]); - - if (item->line >= line_num) - { - char *func_name; - CORE_ADDR start, end; - - func_name = NULL; - find_pc_partial_function (item->pc, &func_name, &start, &end); - - if (func_name != NULL && item->pc < end) - { - if (item->line == line_num) - { - struct symbol *sym = - standard_lookup (func_name, VAR_NAMESPACE); - if (is_plausible_func_for_line (sym, starting_line)) - return i; - else - { - while ((i + 1) < len && linetable->item[i + 1].pc < end) - i += 1; - } - } - } - } - i += 1; - } - - return -1; -} - -/* True iff function symbol SYM starts somewhere at or before line # - LINE_NUM. */ -static int -is_plausible_func_for_line (struct symbol *sym, int line_num) -{ - struct symtab_and_line start_sal; - - if (sym == NULL) - return 0; - - start_sal = find_function_start_sal (sym, 0); - - return (start_sal.line != 0 && line_num >= start_sal.line); -} - -static void -debug_print_lines (struct linetable *lt) -{ - int i; - - if (lt == NULL) - return; - - fprintf (stderr, "\t"); - for (i = 0; i < lt->nitems; i += 1) - fprintf (stderr, "(%d->%p) ", lt->item[i].line, (void *) lt->item[i].pc); - fprintf (stderr, "\n"); -} - -static void -debug_print_block (struct block *b) -{ - int i; - struct symbol *i; - - fprintf (stderr, "Block: %p; [0x%lx, 0x%lx]", - b, BLOCK_START (b), BLOCK_END (b)); - if (BLOCK_FUNCTION (b) != NULL) - fprintf (stderr, " Function: %s", SYMBOL_NAME (BLOCK_FUNCTION (b))); - fprintf (stderr, "\n"); - fprintf (stderr, "\t Superblock: %p\n", BLOCK_SUPERBLOCK (b)); - fprintf (stderr, "\t Symbols:"); - ALL_BLOCK_SYMBOLS (b, i, sym) - { - if (i > 0 && i % 4 == 0) - fprintf (stderr, "\n\t\t "); - fprintf (stderr, " %s", SYMBOL_NAME (sym)); - } - fprintf (stderr, "\n"); -} - -static void -debug_print_blocks (struct blockvector *bv) -{ - int i; - - if (bv == NULL) - return; - for (i = 0; i < BLOCKVECTOR_NBLOCKS (bv); i += 1) - { - fprintf (stderr, "%6d. ", i); - debug_print_block (BLOCKVECTOR_BLOCK (bv, i)); - } -} - -static void -debug_print_symtab (struct symtab *s) -{ - fprintf (stderr, "Symtab %p\n File: %s; Dir: %s\n", s, - s->filename, s->dirname); - fprintf (stderr, " Blockvector: %p, Primary: %d\n", - BLOCKVECTOR (s), s->primary); - debug_print_blocks (BLOCKVECTOR (s)); - fprintf (stderr, " Line table: %p\n", LINETABLE (s)); - debug_print_lines (LINETABLE (s)); -} - -/* Read in all symbol tables corresponding to partial symbol tables - with file name FILENAME. */ -static void -read_all_symtabs (const char *filename) -{ - struct partial_symtab *ps; - struct objfile *objfile; - - ALL_PSYMTABS (objfile, ps) - { - QUIT; - - if (STREQ (filename, ps->filename)) - PSYMTAB_TO_SYMTAB (ps); - } -} - -/* All sals corresponding to line LINE_NUM in a symbol table from file - FILENAME, as filtered by the user. If CANONICAL is not null, set - it to a corresponding array of canonical line specs. */ -static struct symtabs_and_lines -all_sals_for_line (const char *filename, int line_num, char ***canonical) -{ - struct symtabs_and_lines result; - struct objfile *objfile; - struct symtab *s; - struct cleanup *old_chain = make_cleanup (null_cleanup, NULL); - size_t len; - - read_all_symtabs (filename); - - result.sals = - (struct symtab_and_line *) xmalloc (4 * sizeof (result.sals[0])); - result.nelts = 0; - len = 4; - make_cleanup (free_current_contents, &result.sals); - - ALL_SYMTABS (objfile, s) - { - int ind, target_line_num; - - QUIT; - - if (!STREQ (s->filename, filename)) - continue; - - target_line_num = - nearest_line_number_in_linetable (LINETABLE (s), line_num); - if (target_line_num == -1) - continue; - - ind = -1; - while (1) - { - ind = - find_next_line_in_linetable (LINETABLE (s), - target_line_num, line_num, ind); - - if (ind < 0) - break; - - GROW_VECT (result.sals, len, result.nelts + 1); - INIT_SAL (&result.sals[result.nelts]); - result.sals[result.nelts].line = LINETABLE (s)->item[ind].line; - result.sals[result.nelts].pc = LINETABLE (s)->item[ind].pc; - result.sals[result.nelts].symtab = s; - result.nelts += 1; - } - } - - if (canonical != NULL || result.nelts > 1) - { - int k; - char **func_names = (char **) alloca (result.nelts * sizeof (char *)); - int first_choice = (result.nelts > 1) ? 2 : 1; - int n; - int *choices = (int *) alloca (result.nelts * sizeof (int)); - - for (k = 0; k < result.nelts; k += 1) - { - find_pc_partial_function (result.sals[k].pc, &func_names[k], - (CORE_ADDR *) NULL, (CORE_ADDR *) NULL); - if (func_names[k] == NULL) - error ("Could not find function for one or more breakpoints."); - } - - if (result.nelts > 1) - { - printf_unfiltered ("[0] cancel\n"); - if (result.nelts > 1) - printf_unfiltered ("[1] all\n"); - for (k = 0; k < result.nelts; k += 1) - printf_unfiltered ("[%d] %s\n", k + first_choice, - ada_demangle (func_names[k])); - - n = get_selections (choices, result.nelts, result.nelts, - result.nelts > 1, "instance-choice"); - - for (k = 0; k < n; k += 1) - { - result.sals[k] = result.sals[choices[k]]; - func_names[k] = func_names[choices[k]]; - } - result.nelts = n; - } - - if (canonical != NULL) - { - *canonical = (char **) xmalloc (result.nelts * sizeof (char **)); - make_cleanup (xfree, *canonical); - for (k = 0; k < result.nelts; k += 1) - { - (*canonical)[k] = - extended_canonical_line_spec (result.sals[k], func_names[k]); - if ((*canonical)[k] == NULL) - error ("Could not locate one or more breakpoints."); - make_cleanup (xfree, (*canonical)[k]); - } - } - } - - discard_cleanups (old_chain); - return result; -} - - -/* A canonical line specification of the form FILE:NAME:LINENUM for - symbol table and line data SAL. NULL if insufficient - information. The caller is responsible for releasing any space - allocated. */ - -static char * -extended_canonical_line_spec (struct symtab_and_line sal, const char *name) -{ - char *r; - - if (sal.symtab == NULL || sal.symtab->filename == NULL || sal.line <= 0) - return NULL; - - r = (char *) xmalloc (strlen (name) + strlen (sal.symtab->filename) - + sizeof (sal.line) * 3 + 3); - sprintf (r, "%s:'%s':%d", sal.symtab->filename, name, sal.line); - return r; -} - -#if 0 -int begin_bnum = -1; -#endif -int begin_annotate_level = 0; - -static void -begin_cleanup (void *dummy) -{ - begin_annotate_level = 0; -} - -static void -begin_command (char *args, int from_tty) -{ - struct minimal_symbol *msym; - CORE_ADDR main_program_name_addr; - char main_program_name[1024]; - struct cleanup *old_chain = make_cleanup (begin_cleanup, NULL); - begin_annotate_level = 2; - - /* Check that there is a program to debug */ - if (!have_full_symbols () && !have_partial_symbols ()) - error ("No symbol table is loaded. Use the \"file\" command."); - - /* Check that we are debugging an Ada program */ - /* if (ada_update_initial_language (language_unknown, NULL) != language_ada) - error ("Cannot find the Ada initialization procedure. Is this an Ada main program?"); - */ - /* FIXME: language_ada should be defined in defs.h */ - - /* Get the address of the name of the main procedure */ - msym = lookup_minimal_symbol (ADA_MAIN_PROGRAM_SYMBOL_NAME, NULL, NULL); - - if (msym != NULL) - { - main_program_name_addr = SYMBOL_VALUE_ADDRESS (msym); - if (main_program_name_addr == 0) - error ("Invalid address for Ada main program name."); - - /* Read the name of the main procedure */ - extract_string (main_program_name_addr, main_program_name); - - /* Put a temporary breakpoint in the Ada main program and run */ - do_command ("tbreak ", main_program_name, 0); - do_command ("run ", args, 0); - } - else - { - /* If we could not find the symbol containing the name of the - main program, that means that the compiler that was used to build - was not recent enough. In that case, we fallback to the previous - mechanism, which is a little bit less reliable, but has proved to work - in most cases. The only cases where it will fail is when the user - has set some breakpoints which will be hit before the end of the - begin command processing (eg in the initialization code). - - The begining of the main Ada subprogram is located by breaking - on the adainit procedure. Since we know that the binder generates - the call to this procedure exactly 2 calls before the call to the - Ada main subprogram, it is then easy to put a breakpoint on this - Ada main subprogram once we hit adainit. - */ - do_command ("tbreak adainit", 0); - do_command ("run ", args, 0); - do_command ("up", 0); - do_command ("tbreak +2", 0); - do_command ("continue", 0); - do_command ("step", 0); - } - - do_cleanups (old_chain); -} - -int -is_ada_runtime_file (char *filename) -{ - return (STREQN (filename, "s-", 2) || - STREQN (filename, "a-", 2) || - STREQN (filename, "g-", 2) || STREQN (filename, "i-", 2)); -} - -/* find the first frame that contains debugging information and that is not - part of the Ada run-time, starting from fi and moving upward. */ - -int -find_printable_frame (struct frame_info *fi, int level) -{ - struct symtab_and_line sal; - - for (; fi != NULL; level += 1, fi = get_prev_frame (fi)) - { - /* If fi is not the innermost frame, that normally means that fi->pc - points to *after* the call instruction, and we want to get the line - containing the call, never the next line. But if the next frame is - a signal_handler_caller or a dummy frame, then the next frame was - not entered as the result of a call, and we want to get the line - containing fi->pc. */ - sal = - find_pc_line (fi->pc, - fi->next != NULL - && !fi->next->signal_handler_caller - && !frame_in_dummy (fi->next)); - if (sal.symtab && !is_ada_runtime_file (sal.symtab->filename)) - { -#if defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET) - /* libpthread.so contains some debugging information that prevents us - from finding the right frame */ - - if (sal.symtab->objfile && - STREQ (sal.symtab->objfile->name, "/usr/shlib/libpthread.so")) - continue; -#endif - selected_frame = fi; - break; - } - } - - return level; -} - -void -ada_report_exception_break (struct breakpoint *b) -{ -#ifdef UI_OUT - /* FIXME: break_on_exception should be defined in breakpoint.h */ - /* if (b->break_on_exception == 1) - { - /* Assume that cond has 16 elements, the 15th - being the exception *//* - if (b->cond && b->cond->nelts == 16) - { - ui_out_text (uiout, "on "); - ui_out_field_string (uiout, "exception", - SYMBOL_NAME (b->cond->elts[14].symbol)); - } - else - ui_out_text (uiout, "on all exceptions"); - } - else if (b->break_on_exception == 2) - ui_out_text (uiout, "on unhandled exception"); - else if (b->break_on_exception == 3) - ui_out_text (uiout, "on assert failure"); - #else - if (b->break_on_exception == 1) - { */ - /* Assume that cond has 16 elements, the 15th - being the exception *//* - if (b->cond && b->cond->nelts == 16) - { - fputs_filtered ("on ", gdb_stdout); - fputs_filtered (SYMBOL_NAME - (b->cond->elts[14].symbol), gdb_stdout); - } - else - fputs_filtered ("on all exceptions", gdb_stdout); - } - else if (b->break_on_exception == 2) - fputs_filtered ("on unhandled exception", gdb_stdout); - else if (b->break_on_exception == 3) - fputs_filtered ("on assert failure", gdb_stdout); - */ -#endif -} - -int -ada_is_exception_sym (struct symbol *sym) -{ - char *type_name = type_name_no_tag (SYMBOL_TYPE (sym)); - - return (SYMBOL_CLASS (sym) != LOC_TYPEDEF - && SYMBOL_CLASS (sym) != LOC_BLOCK - && SYMBOL_CLASS (sym) != LOC_CONST - && type_name != NULL && STREQ (type_name, "exception")); -} - -int -ada_maybe_exception_partial_symbol (struct partial_symbol *sym) -{ - return (SYMBOL_CLASS (sym) != LOC_TYPEDEF - && SYMBOL_CLASS (sym) != LOC_BLOCK - && SYMBOL_CLASS (sym) != LOC_CONST); -} - -/* If ARG points to an Ada exception or assert breakpoint, rewrite - into equivalent form. Return resulting argument string. Set - *BREAK_ON_EXCEPTIONP to 1 for ordinary break on exception, 2 for - break on unhandled, 3 for assert, 0 otherwise. */ -char * -ada_breakpoint_rewrite (char *arg, int *break_on_exceptionp) -{ - if (arg == NULL) - return arg; - *break_on_exceptionp = 0; - /* FIXME: language_ada should be defined in defs.h */ - /* if (current_language->la_language == language_ada - && STREQN (arg, "exception", 9) && - (arg[9] == ' ' || arg[9] == '\t' || arg[9] == '\0')) - { - char *tok, *end_tok; - int toklen; - - *break_on_exceptionp = 1; - - tok = arg+9; - while (*tok == ' ' || *tok == '\t') - tok += 1; - - end_tok = tok; - - while (*end_tok != ' ' && *end_tok != '\t' && *end_tok != '\000') - end_tok += 1; - - toklen = end_tok - tok; - - arg = (char*) xmalloc (sizeof ("__gnat_raise_nodefer_with_msg if " - "long_integer(e) = long_integer(&)") - + toklen + 1); - make_cleanup (xfree, arg); - if (toklen == 0) - strcpy (arg, "__gnat_raise_nodefer_with_msg"); - else if (STREQN (tok, "unhandled", toklen)) - { - *break_on_exceptionp = 2; - strcpy (arg, "__gnat_unhandled_exception"); - } - else - { - sprintf (arg, "__gnat_raise_nodefer_with_msg if " - "long_integer(e) = long_integer(&%.*s)", - toklen, tok); - } - } - else if (current_language->la_language == language_ada - && STREQN (arg, "assert", 6) && - (arg[6] == ' ' || arg[6] == '\t' || arg[6] == '\0')) - { - char *tok = arg + 6; - - *break_on_exceptionp = 3; - - arg = (char*) - xmalloc (sizeof ("system__assertions__raise_assert_failure") - + strlen (tok) + 1); - make_cleanup (xfree, arg); - sprintf (arg, "system__assertions__raise_assert_failure%s", tok); - } - */ - return arg; -} - - - /* Field Access */ - -/* True if field number FIELD_NUM in struct or union type TYPE is supposed - to be invisible to users. */ - -int -ada_is_ignored_field (struct type *type, int field_num) -{ - if (field_num < 0 || field_num > TYPE_NFIELDS (type)) - return 1; - else - { - const char *name = TYPE_FIELD_NAME (type, field_num); - return (name == NULL - || (name[0] == '_' && !STREQN (name, "_parent", 7))); - } -} - -/* True iff structure type TYPE has a tag field. */ - -int -ada_is_tagged_type (struct type *type) -{ - if (type == NULL || TYPE_CODE (type) != TYPE_CODE_STRUCT) - return 0; - - return (ada_lookup_struct_elt_type (type, "_tag", 1, NULL) != NULL); -} - -/* The type of the tag on VAL. */ - -struct type * -ada_tag_type (struct value *val) -{ - return ada_lookup_struct_elt_type (VALUE_TYPE (val), "_tag", 0, NULL); -} - -/* The value of the tag on VAL. */ - -struct value * -ada_value_tag (struct value *val) -{ - return ada_value_struct_elt (val, "_tag", "record"); -} - -/* The parent type of TYPE, or NULL if none. */ - -struct type * -ada_parent_type (struct type *type) -{ - int i; - - CHECK_TYPEDEF (type); - - if (type == NULL || TYPE_CODE (type) != TYPE_CODE_STRUCT) - return NULL; - - for (i = 0; i < TYPE_NFIELDS (type); i += 1) - if (ada_is_parent_field (type, i)) - return check_typedef (TYPE_FIELD_TYPE (type, i)); - - return NULL; -} - -/* True iff field number FIELD_NUM of structure type TYPE contains the - parent-type (inherited) fields of a derived type. Assumes TYPE is - a structure type with at least FIELD_NUM+1 fields. */ - -int -ada_is_parent_field (struct type *type, int field_num) -{ - const char *name = TYPE_FIELD_NAME (check_typedef (type), field_num); - return (name != NULL && - (STREQN (name, "PARENT", 6) || STREQN (name, "_parent", 7))); -} - -/* True iff field number FIELD_NUM of structure type TYPE is a - transparent wrapper field (which should be silently traversed when doing - field selection and flattened when printing). Assumes TYPE is a - structure type with at least FIELD_NUM+1 fields. Such fields are always - structures. */ - -int -ada_is_wrapper_field (struct type *type, int field_num) -{ - const char *name = TYPE_FIELD_NAME (type, field_num); - return (name != NULL - && (STREQN (name, "PARENT", 6) || STREQ (name, "REP") - || STREQN (name, "_parent", 7) - || name[0] == 'S' || name[0] == 'R' || name[0] == 'O')); -} - -/* True iff field number FIELD_NUM of structure or union type TYPE - is a variant wrapper. Assumes TYPE is a structure type with at least - FIELD_NUM+1 fields. */ - -int -ada_is_variant_part (struct type *type, int field_num) -{ - struct type *field_type = TYPE_FIELD_TYPE (type, field_num); - return (TYPE_CODE (field_type) == TYPE_CODE_UNION - || (is_dynamic_field (type, field_num) - && TYPE_CODE (TYPE_TARGET_TYPE (field_type)) == - TYPE_CODE_UNION)); -} - -/* Assuming that VAR_TYPE is a variant wrapper (type of the variant part) - whose discriminants are contained in the record type OUTER_TYPE, - returns the type of the controlling discriminant for the variant. */ - -struct type * -ada_variant_discrim_type (struct type *var_type, struct type *outer_type) -{ - char *name = ada_variant_discrim_name (var_type); - struct type *type = ada_lookup_struct_elt_type (outer_type, name, 1, NULL); - if (type == NULL) - return builtin_type_int; - else - return type; -} - -/* Assuming that TYPE is the type of a variant wrapper, and FIELD_NUM is a - valid field number within it, returns 1 iff field FIELD_NUM of TYPE - represents a 'when others' clause; otherwise 0. */ - -int -ada_is_others_clause (struct type *type, int field_num) -{ - const char *name = TYPE_FIELD_NAME (type, field_num); - return (name != NULL && name[0] == 'O'); -} - -/* Assuming that TYPE0 is the type of the variant part of a record, - returns the name of the discriminant controlling the variant. The - value is valid until the next call to ada_variant_discrim_name. */ - -char * -ada_variant_discrim_name (struct type *type0) -{ - static char *result = NULL; - static size_t result_len = 0; - struct type *type; - const char *name; - const char *discrim_end; - const char *discrim_start; - - if (TYPE_CODE (type0) == TYPE_CODE_PTR) - type = TYPE_TARGET_TYPE (type0); - else - type = type0; - - name = ada_type_name (type); - - if (name == NULL || name[0] == '\000') - return ""; - - for (discrim_end = name + strlen (name) - 6; discrim_end != name; - discrim_end -= 1) - { - if (STREQN (discrim_end, "___XVN", 6)) - break; - } - if (discrim_end == name) - return ""; - - for (discrim_start = discrim_end; discrim_start != name + 3; - discrim_start -= 1) - { - if (discrim_start == name + 1) - return ""; - if ((discrim_start > name + 3 && STREQN (discrim_start - 3, "___", 3)) - || discrim_start[-1] == '.') - break; - } - - GROW_VECT (result, result_len, discrim_end - discrim_start + 1); - strncpy (result, discrim_start, discrim_end - discrim_start); - result[discrim_end - discrim_start] = '\0'; - return result; -} - -/* Scan STR for a subtype-encoded number, beginning at position K. Put the - position of the character just past the number scanned in *NEW_K, - if NEW_K!=NULL. Put the scanned number in *R, if R!=NULL. Return 1 - if there was a valid number at the given position, and 0 otherwise. A - "subtype-encoded" number consists of the absolute value in decimal, - followed by the letter 'm' to indicate a negative number. Assumes 0m - does not occur. */ - -int -ada_scan_number (const char str[], int k, LONGEST * R, int *new_k) -{ - ULONGEST RU; - - if (!isdigit (str[k])) - return 0; - - /* Do it the hard way so as not to make any assumption about - the relationship of unsigned long (%lu scan format code) and - LONGEST. */ - RU = 0; - while (isdigit (str[k])) - { - RU = RU * 10 + (str[k] - '0'); - k += 1; - } - - if (str[k] == 'm') - { - if (R != NULL) - *R = (-(LONGEST) (RU - 1)) - 1; - k += 1; - } - else if (R != NULL) - *R = (LONGEST) RU; - - /* NOTE on the above: Technically, C does not say what the results of - - (LONGEST) RU or (LONGEST) -RU are for RU == largest positive - number representable as a LONGEST (although either would probably work - in most implementations). When RU>0, the locution in the then branch - above is always equivalent to the negative of RU. */ - - if (new_k != NULL) - *new_k = k; - return 1; -} - -/* Assuming that TYPE is a variant part wrapper type (a VARIANTS field), - and FIELD_NUM is a valid field number within it, returns 1 iff VAL is - in the range encoded by field FIELD_NUM of TYPE; otherwise 0. */ - -int -ada_in_variant (LONGEST val, struct type *type, int field_num) -{ - const char *name = TYPE_FIELD_NAME (type, field_num); - int p; - - p = 0; - while (1) - { - switch (name[p]) - { - case '\0': - return 0; - case 'S': - { - LONGEST W; - if (!ada_scan_number (name, p + 1, &W, &p)) - return 0; - if (val == W) - return 1; - break; - } - case 'R': - { - LONGEST L, U; - if (!ada_scan_number (name, p + 1, &L, &p) - || name[p] != 'T' || !ada_scan_number (name, p + 1, &U, &p)) - return 0; - if (val >= L && val <= U) - return 1; - break; - } - case 'O': - return 1; - default: - return 0; - } - } -} - -/* Given a value ARG1 (offset by OFFSET bytes) - of a struct or union type ARG_TYPE, - extract and return the value of one of its (non-static) fields. - FIELDNO says which field. Differs from value_primitive_field only - in that it can handle packed values of arbitrary type. */ - -struct value * -ada_value_primitive_field (struct value *arg1, int offset, int fieldno, - struct type *arg_type) -{ - struct value *v; - struct type *type; - - CHECK_TYPEDEF (arg_type); - type = TYPE_FIELD_TYPE (arg_type, fieldno); - - /* Handle packed fields */ - - if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0) - { - int bit_pos = TYPE_FIELD_BITPOS (arg_type, fieldno); - int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno); - - return ada_value_primitive_packed_val (arg1, VALUE_CONTENTS (arg1), - offset + bit_pos / 8, - bit_pos % 8, bit_size, type); - } - else - return value_primitive_field (arg1, offset, fieldno, arg_type); -} - - -/* Look for a field NAME in ARG. Adjust the address of ARG by OFFSET bytes, - and search in it assuming it has (class) type TYPE. - If found, return value, else return NULL. - - Searches recursively through wrapper fields (e.g., '_parent'). */ - -struct value * -ada_search_struct_field (char *name, struct value *arg, int offset, - struct type *type) -{ - int i; - CHECK_TYPEDEF (type); - - for (i = TYPE_NFIELDS (type) - 1; i >= 0; i -= 1) - { - char *t_field_name = TYPE_FIELD_NAME (type, i); - - if (t_field_name == NULL) - continue; - - else if (field_name_match (t_field_name, name)) - return ada_value_primitive_field (arg, offset, i, type); - - else if (ada_is_wrapper_field (type, i)) - { - struct value *v = ada_search_struct_field (name, arg, - offset + - TYPE_FIELD_BITPOS (type, - i) / - 8, - TYPE_FIELD_TYPE (type, - i)); - if (v != NULL) - return v; - } - - else if (ada_is_variant_part (type, i)) - { - int j; - struct type *field_type = check_typedef (TYPE_FIELD_TYPE (type, i)); - int var_offset = offset + TYPE_FIELD_BITPOS (type, i) / 8; - - for (j = TYPE_NFIELDS (field_type) - 1; j >= 0; j -= 1) - { - struct value *v = ada_search_struct_field (name, arg, - var_offset - + - TYPE_FIELD_BITPOS - (field_type, j) / 8, - TYPE_FIELD_TYPE - (field_type, j)); - if (v != NULL) - return v; - } - } - } - return NULL; -} - -/* Given ARG, a value of type (pointer to a)* structure/union, - extract the component named NAME from the ultimate target structure/union - and return it as a value with its appropriate type. - - The routine searches for NAME among all members of the structure itself - and (recursively) among all members of any wrapper members - (e.g., '_parent'). - - ERR is a name (for use in error messages) that identifies the class - of entity that ARG is supposed to be. */ - -struct value * -ada_value_struct_elt (struct value *arg, char *name, char *err) -{ - struct type *t; - struct value *v; - - arg = ada_coerce_ref (arg); - t = check_typedef (VALUE_TYPE (arg)); - - /* Follow pointers until we get to a non-pointer. */ - - while (TYPE_CODE (t) == TYPE_CODE_PTR || TYPE_CODE (t) == TYPE_CODE_REF) - { - arg = ada_value_ind (arg); - t = check_typedef (VALUE_TYPE (arg)); - } - - if (TYPE_CODE (t) != TYPE_CODE_STRUCT && TYPE_CODE (t) != TYPE_CODE_UNION) - error ("Attempt to extract a component of a value that is not a %s.", - err); - - v = ada_search_struct_field (name, arg, 0, t); - if (v == NULL) - error ("There is no member named %s.", name); - - return v; -} - -/* Given a type TYPE, look up the type of the component of type named NAME. - If DISPP is non-null, add its byte displacement from the beginning of a - structure (pointed to by a value) of type TYPE to *DISPP (does not - work for packed fields). - - Matches any field whose name has NAME as a prefix, possibly - followed by "___". - - TYPE can be either a struct or union, or a pointer or reference to - a struct or union. If it is a pointer or reference, its target - type is automatically used. - - Looks recursively into variant clauses and parent types. - - If NOERR is nonzero, return NULL if NAME is not suitably defined. */ - -struct type * -ada_lookup_struct_elt_type (struct type *type, char *name, int noerr, - int *dispp) -{ - int i; - - if (name == NULL) - goto BadName; - - while (1) - { - CHECK_TYPEDEF (type); - if (TYPE_CODE (type) != TYPE_CODE_PTR - && TYPE_CODE (type) != TYPE_CODE_REF) - break; - type = TYPE_TARGET_TYPE (type); - } - - if (TYPE_CODE (type) != TYPE_CODE_STRUCT && - TYPE_CODE (type) != TYPE_CODE_UNION) - { - target_terminal_ours (); - gdb_flush (gdb_stdout); - fprintf_unfiltered (gdb_stderr, "Type "); - type_print (type, "", gdb_stderr, -1); - error (" is not a structure or union type"); - } - - type = to_static_fixed_type (type); - - for (i = 0; i < TYPE_NFIELDS (type); i += 1) - { - char *t_field_name = TYPE_FIELD_NAME (type, i); - struct type *t; - int disp; - - if (t_field_name == NULL) - continue; - - else if (field_name_match (t_field_name, name)) - { - if (dispp != NULL) - *dispp += TYPE_FIELD_BITPOS (type, i) / 8; - return check_typedef (TYPE_FIELD_TYPE (type, i)); - } - - else if (ada_is_wrapper_field (type, i)) - { - disp = 0; - t = ada_lookup_struct_elt_type (TYPE_FIELD_TYPE (type, i), name, - 1, &disp); - if (t != NULL) - { - if (dispp != NULL) - *dispp += disp + TYPE_FIELD_BITPOS (type, i) / 8; - return t; - } - } - - else if (ada_is_variant_part (type, i)) - { - int j; - struct type *field_type = check_typedef (TYPE_FIELD_TYPE (type, i)); - - for (j = TYPE_NFIELDS (field_type) - 1; j >= 0; j -= 1) - { - disp = 0; - t = ada_lookup_struct_elt_type (TYPE_FIELD_TYPE (field_type, j), - name, 1, &disp); - if (t != NULL) - { - if (dispp != NULL) - *dispp += disp + TYPE_FIELD_BITPOS (type, i) / 8; - return t; - } - } - } - - } - -BadName: - if (!noerr) - { - target_terminal_ours (); - gdb_flush (gdb_stdout); - fprintf_unfiltered (gdb_stderr, "Type "); - type_print (type, "", gdb_stderr, -1); - fprintf_unfiltered (gdb_stderr, " has no component named "); - error ("%s", name == NULL ? "" : name); - } - - return NULL; -} - -/* Assuming that VAR_TYPE is the type of a variant part of a record (a union), - within a value of type OUTER_TYPE that is stored in GDB at - OUTER_VALADDR, determine which variant clause (field number in VAR_TYPE, - numbering from 0) is applicable. Returns -1 if none are. */ - -int -ada_which_variant_applies (struct type *var_type, struct type *outer_type, - char *outer_valaddr) -{ - int others_clause; - int i; - int disp; - struct type *discrim_type; - char *discrim_name = ada_variant_discrim_name (var_type); - LONGEST discrim_val; - - disp = 0; - discrim_type = - ada_lookup_struct_elt_type (outer_type, discrim_name, 1, &disp); - if (discrim_type == NULL) - return -1; - discrim_val = unpack_long (discrim_type, outer_valaddr + disp); - - others_clause = -1; - for (i = 0; i < TYPE_NFIELDS (var_type); i += 1) - { - if (ada_is_others_clause (var_type, i)) - others_clause = i; - else if (ada_in_variant (discrim_val, var_type, i)) - return i; - } - - return others_clause; -} - - - - /* Dynamic-Sized Records */ - -/* Strategy: The type ostensibly attached to a value with dynamic size - (i.e., a size that is not statically recorded in the debugging - data) does not accurately reflect the size or layout of the value. - Our strategy is to convert these values to values with accurate, - conventional types that are constructed on the fly. */ - -/* There is a subtle and tricky problem here. In general, we cannot - determine the size of dynamic records without its data. However, - the 'struct value' data structure, which GDB uses to represent - quantities in the inferior process (the target), requires the size - of the type at the time of its allocation in order to reserve space - for GDB's internal copy of the data. That's why the - 'to_fixed_xxx_type' routines take (target) addresses as parameters, - rather than struct value*s. - - However, GDB's internal history variables ($1, $2, etc.) are - struct value*s containing internal copies of the data that are not, in - general, the same as the data at their corresponding addresses in - the target. Fortunately, the types we give to these values are all - conventional, fixed-size types (as per the strategy described - above), so that we don't usually have to perform the - 'to_fixed_xxx_type' conversions to look at their values. - Unfortunately, there is one exception: if one of the internal - history variables is an array whose elements are unconstrained - records, then we will need to create distinct fixed types for each - element selected. */ - -/* The upshot of all of this is that many routines take a (type, host - address, target address) triple as arguments to represent a value. - The host address, if non-null, is supposed to contain an internal - copy of the relevant data; otherwise, the program is to consult the - target at the target address. */ - -/* Assuming that VAL0 represents a pointer value, the result of - dereferencing it. Differs from value_ind in its treatment of - dynamic-sized types. */ - -struct value * -ada_value_ind (struct value *val0) -{ - struct value *val = unwrap_value (value_ind (val0)); - return ada_to_fixed_value (VALUE_TYPE (val), 0, - VALUE_ADDRESS (val) + VALUE_OFFSET (val), val); -} - -/* The value resulting from dereferencing any "reference to" - * qualifiers on VAL0. */ -static struct value * -ada_coerce_ref (struct value *val0) -{ - if (TYPE_CODE (VALUE_TYPE (val0)) == TYPE_CODE_REF) - { - struct value *val = val0; - COERCE_REF (val); - val = unwrap_value (val); - return ada_to_fixed_value (VALUE_TYPE (val), 0, - VALUE_ADDRESS (val) + VALUE_OFFSET (val), - val); - } - else - return val0; -} - -/* Return OFF rounded upward if necessary to a multiple of - ALIGNMENT (a power of 2). */ - -static unsigned int -align_value (unsigned int off, unsigned int alignment) -{ - return (off + alignment - 1) & ~(alignment - 1); -} - -/* Return the additional bit offset required by field F of template - type TYPE. */ - -static unsigned int -field_offset (struct type *type, int f) -{ - int n = TYPE_FIELD_BITPOS (type, f); - /* Kludge (temporary?) to fix problem with dwarf output. */ - if (n < 0) - return (unsigned int) n & 0xffff; - else - return n; -} - - -/* Return the bit alignment required for field #F of template type TYPE. */ - -static unsigned int -field_alignment (struct type *type, int f) -{ - const char *name = TYPE_FIELD_NAME (type, f); - int len = (name == NULL) ? 0 : strlen (name); - int align_offset; - - if (len < 8 || !isdigit (name[len - 1])) - return TARGET_CHAR_BIT; - - if (isdigit (name[len - 2])) - align_offset = len - 2; - else - align_offset = len - 1; - - if (align_offset < 7 || !STREQN ("___XV", name + align_offset - 6, 5)) - return TARGET_CHAR_BIT; - - return atoi (name + align_offset) * TARGET_CHAR_BIT; -} - -/* Find a type named NAME. Ignores ambiguity. */ -struct type * -ada_find_any_type (const char *name) -{ - struct symbol *sym; - - sym = standard_lookup (name, VAR_NAMESPACE); - if (sym != NULL && SYMBOL_CLASS (sym) == LOC_TYPEDEF) - return SYMBOL_TYPE (sym); - - sym = standard_lookup (name, STRUCT_NAMESPACE); - if (sym != NULL) - return SYMBOL_TYPE (sym); - - return NULL; -} - -/* Because of GNAT encoding conventions, several GDB symbols may match a - given type name. If the type denoted by TYPE0 is to be preferred to - that of TYPE1 for purposes of type printing, return non-zero; - otherwise return 0. */ -int -ada_prefer_type (struct type *type0, struct type *type1) -{ - if (type1 == NULL) - return 1; - else if (type0 == NULL) - return 0; - else if (TYPE_CODE (type1) == TYPE_CODE_VOID) - return 1; - else if (TYPE_CODE (type0) == TYPE_CODE_VOID) - return 0; - else if (ada_is_packed_array_type (type0)) - return 1; - else if (ada_is_array_descriptor (type0) - && !ada_is_array_descriptor (type1)) - return 1; - else if (ada_renaming_type (type0) != NULL - && ada_renaming_type (type1) == NULL) - return 1; - return 0; -} - -/* The name of TYPE, which is either its TYPE_NAME, or, if that is - null, its TYPE_TAG_NAME. Null if TYPE is null. */ -char * -ada_type_name (struct type *type) -{ - if (type == NULL) - return NULL; - else if (TYPE_NAME (type) != NULL) - return TYPE_NAME (type); - else - return TYPE_TAG_NAME (type); -} - -/* Find a parallel type to TYPE whose name is formed by appending - SUFFIX to the name of TYPE. */ - -struct type * -ada_find_parallel_type (struct type *type, const char *suffix) -{ - static char *name; - static size_t name_len = 0; - struct symbol **syms; - struct block **blocks; - int nsyms; - int len; - char *typename = ada_type_name (type); - - if (typename == NULL) - return NULL; - - len = strlen (typename); - - GROW_VECT (name, name_len, len + strlen (suffix) + 1); - - strcpy (name, typename); - strcpy (name + len, suffix); - - return ada_find_any_type (name); -} - - -/* If TYPE is a variable-size record type, return the corresponding template - type describing its fields. Otherwise, return NULL. */ - -static struct type * -dynamic_template_type (struct type *type) -{ - CHECK_TYPEDEF (type); - - if (type == NULL || TYPE_CODE (type) != TYPE_CODE_STRUCT - || ada_type_name (type) == NULL) - return NULL; - else - { - int len = strlen (ada_type_name (type)); - if (len > 6 && STREQ (ada_type_name (type) + len - 6, "___XVE")) - return type; - else - return ada_find_parallel_type (type, "___XVE"); - } -} - -/* Assuming that TEMPL_TYPE is a union or struct type, returns - non-zero iff field FIELD_NUM of TEMPL_TYPE has dynamic size. */ - -static int -is_dynamic_field (struct type *templ_type, int field_num) -{ - const char *name = TYPE_FIELD_NAME (templ_type, field_num); - return name != NULL - && TYPE_CODE (TYPE_FIELD_TYPE (templ_type, field_num)) == TYPE_CODE_PTR - && strstr (name, "___XVL") != NULL; -} - -/* Assuming that TYPE is a struct type, returns non-zero iff TYPE - contains a variant part. */ - -static int -contains_variant_part (struct type *type) -{ - int f; - - if (type == NULL || TYPE_CODE (type) != TYPE_CODE_STRUCT - || TYPE_NFIELDS (type) <= 0) - return 0; - return ada_is_variant_part (type, TYPE_NFIELDS (type) - 1); -} - -/* A record type with no fields, . */ -static struct type * -empty_record (struct objfile *objfile) -{ - struct type *type = alloc_type (objfile); - TYPE_CODE (type) = TYPE_CODE_STRUCT; - TYPE_NFIELDS (type) = 0; - TYPE_FIELDS (type) = NULL; - TYPE_NAME (type) = ""; - TYPE_TAG_NAME (type) = NULL; - TYPE_FLAGS (type) = 0; - TYPE_LENGTH (type) = 0; - return type; -} - -/* An ordinary record type (with fixed-length fields) that describes - the value of type TYPE at VALADDR or ADDRESS (see comments at - the beginning of this section) VAL according to GNAT conventions. - DVAL0 should describe the (portion of a) record that contains any - necessary discriminants. It should be NULL if VALUE_TYPE (VAL) is - an outer-level type (i.e., as opposed to a branch of a variant.) A - variant field (unless unchecked) is replaced by a particular branch - of the variant. */ -/* NOTE: Limitations: For now, we assume that dynamic fields and - * variants occupy whole numbers of bytes. However, they need not be - * byte-aligned. */ - -static struct type * -template_to_fixed_record_type (struct type *type, char *valaddr, - CORE_ADDR address, struct value *dval0) -{ - struct value *mark = value_mark (); - struct value *dval; - struct type *rtype; - int nfields, bit_len; - long off; - int f; - - nfields = TYPE_NFIELDS (type); - rtype = alloc_type (TYPE_OBJFILE (type)); - TYPE_CODE (rtype) = TYPE_CODE_STRUCT; - INIT_CPLUS_SPECIFIC (rtype); - TYPE_NFIELDS (rtype) = nfields; - TYPE_FIELDS (rtype) = (struct field *) - TYPE_ALLOC (rtype, nfields * sizeof (struct field)); - memset (TYPE_FIELDS (rtype), 0, sizeof (struct field) * nfields); - TYPE_NAME (rtype) = ada_type_name (type); - TYPE_TAG_NAME (rtype) = NULL; - /* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in - gdbtypes.h */ - /* TYPE_FLAGS (rtype) |= TYPE_FLAG_FIXED_INSTANCE; */ - - off = 0; - bit_len = 0; - for (f = 0; f < nfields; f += 1) - { - int fld_bit_len, bit_incr; - off = - align_value (off, - field_alignment (type, f)) + TYPE_FIELD_BITPOS (type, f); - /* NOTE: used to use field_offset above, but that causes - * problems with really negative bit positions. So, let's - * rediscover why we needed field_offset and fix it properly. */ - TYPE_FIELD_BITPOS (rtype, f) = off; - TYPE_FIELD_BITSIZE (rtype, f) = 0; - - if (ada_is_variant_part (type, f)) - { - struct type *branch_type; - - if (dval0 == NULL) - dval = value_from_contents_and_address (rtype, valaddr, address); - else - dval = dval0; - - branch_type = - to_fixed_variant_branch_type - (TYPE_FIELD_TYPE (type, f), - cond_offset_host (valaddr, off / TARGET_CHAR_BIT), - cond_offset_target (address, off / TARGET_CHAR_BIT), dval); - if (branch_type == NULL) - TYPE_NFIELDS (rtype) -= 1; - else - { - TYPE_FIELD_TYPE (rtype, f) = branch_type; - TYPE_FIELD_NAME (rtype, f) = "S"; - } - bit_incr = 0; - fld_bit_len = - TYPE_LENGTH (TYPE_FIELD_TYPE (rtype, f)) * TARGET_CHAR_BIT; - } - else if (is_dynamic_field (type, f)) - { - if (dval0 == NULL) - dval = value_from_contents_and_address (rtype, valaddr, address); - else - dval = dval0; - - TYPE_FIELD_TYPE (rtype, f) = - ada_to_fixed_type - (ada_get_base_type - (TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (type, f))), - cond_offset_host (valaddr, off / TARGET_CHAR_BIT), - cond_offset_target (address, off / TARGET_CHAR_BIT), dval); - TYPE_FIELD_NAME (rtype, f) = TYPE_FIELD_NAME (type, f); - bit_incr = fld_bit_len = - TYPE_LENGTH (TYPE_FIELD_TYPE (rtype, f)) * TARGET_CHAR_BIT; - } - else - { - TYPE_FIELD_TYPE (rtype, f) = TYPE_FIELD_TYPE (type, f); - TYPE_FIELD_NAME (rtype, f) = TYPE_FIELD_NAME (type, f); - if (TYPE_FIELD_BITSIZE (type, f) > 0) - bit_incr = fld_bit_len = - TYPE_FIELD_BITSIZE (rtype, f) = TYPE_FIELD_BITSIZE (type, f); - else - bit_incr = fld_bit_len = - TYPE_LENGTH (TYPE_FIELD_TYPE (type, f)) * TARGET_CHAR_BIT; - } - if (off + fld_bit_len > bit_len) - bit_len = off + fld_bit_len; - off += bit_incr; - TYPE_LENGTH (rtype) = bit_len / TARGET_CHAR_BIT; - } - TYPE_LENGTH (rtype) = align_value (TYPE_LENGTH (rtype), TYPE_LENGTH (type)); - - value_free_to_mark (mark); - if (TYPE_LENGTH (rtype) > varsize_limit) - error ("record type with dynamic size is larger than varsize-limit"); - return rtype; -} - -/* As for template_to_fixed_record_type, but uses no run-time values. - As a result, this type can only be approximate, but that's OK, - since it is used only for type determinations. Works on both - structs and unions. - Representation note: to save space, we memoize the result of this - function in the TYPE_TARGET_TYPE of the template type. */ - -static struct type * -template_to_static_fixed_type (struct type *templ_type) -{ - struct type *type; - int nfields; - int f; - - if (TYPE_TARGET_TYPE (templ_type) != NULL) - return TYPE_TARGET_TYPE (templ_type); - - nfields = TYPE_NFIELDS (templ_type); - TYPE_TARGET_TYPE (templ_type) = type = - alloc_type (TYPE_OBJFILE (templ_type)); - TYPE_CODE (type) = TYPE_CODE (templ_type); - INIT_CPLUS_SPECIFIC (type); - TYPE_NFIELDS (type) = nfields; - TYPE_FIELDS (type) = (struct field *) - TYPE_ALLOC (type, nfields * sizeof (struct field)); - memset (TYPE_FIELDS (type), 0, sizeof (struct field) * nfields); - TYPE_NAME (type) = ada_type_name (templ_type); - TYPE_TAG_NAME (type) = NULL; - /* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in gdbtypes.h */ - /* TYPE_FLAGS (type) |= TYPE_FLAG_FIXED_INSTANCE; */ - TYPE_LENGTH (type) = 0; - - for (f = 0; f < nfields; f += 1) - { - TYPE_FIELD_BITPOS (type, f) = 0; - TYPE_FIELD_BITSIZE (type, f) = 0; - - if (is_dynamic_field (templ_type, f)) - { - TYPE_FIELD_TYPE (type, f) = - to_static_fixed_type (TYPE_TARGET_TYPE - (TYPE_FIELD_TYPE (templ_type, f))); - TYPE_FIELD_NAME (type, f) = TYPE_FIELD_NAME (templ_type, f); - } - else - { - TYPE_FIELD_TYPE (type, f) = - check_typedef (TYPE_FIELD_TYPE (templ_type, f)); - TYPE_FIELD_NAME (type, f) = TYPE_FIELD_NAME (templ_type, f); - } - } - - return type; -} - -/* A revision of TYPE0 -- a non-dynamic-sized record with a variant - part -- in which the variant part is replaced with the appropriate - branch. */ -static struct type * -to_record_with_fixed_variant_part (struct type *type, char *valaddr, - CORE_ADDR address, struct value *dval) -{ - struct value *mark = value_mark (); - struct type *rtype; - struct type *branch_type; - int nfields = TYPE_NFIELDS (type); - - if (dval == NULL) - return type; - - rtype = alloc_type (TYPE_OBJFILE (type)); - TYPE_CODE (rtype) = TYPE_CODE_STRUCT; - INIT_CPLUS_SPECIFIC (type); - TYPE_NFIELDS (rtype) = TYPE_NFIELDS (type); - TYPE_FIELDS (rtype) = - (struct field *) TYPE_ALLOC (rtype, nfields * sizeof (struct field)); - memcpy (TYPE_FIELDS (rtype), TYPE_FIELDS (type), - sizeof (struct field) * nfields); - TYPE_NAME (rtype) = ada_type_name (type); - TYPE_TAG_NAME (rtype) = NULL; - /* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in gdbtypes.h */ - /* TYPE_FLAGS (rtype) |= TYPE_FLAG_FIXED_INSTANCE; */ - TYPE_LENGTH (rtype) = TYPE_LENGTH (type); - - branch_type = - to_fixed_variant_branch_type - (TYPE_FIELD_TYPE (type, nfields - 1), - cond_offset_host (valaddr, - TYPE_FIELD_BITPOS (type, - nfields - 1) / TARGET_CHAR_BIT), - cond_offset_target (address, - TYPE_FIELD_BITPOS (type, - nfields - 1) / TARGET_CHAR_BIT), - dval); - if (branch_type == NULL) - { - TYPE_NFIELDS (rtype) -= 1; - TYPE_LENGTH (rtype) -= - TYPE_LENGTH (TYPE_FIELD_TYPE (type, nfields - 1)); - } - else - { - TYPE_FIELD_TYPE (rtype, nfields - 1) = branch_type; - TYPE_FIELD_NAME (rtype, nfields - 1) = "S"; - TYPE_FIELD_BITSIZE (rtype, nfields - 1) = 0; - TYPE_LENGTH (rtype) += TYPE_LENGTH (branch_type); - -TYPE_LENGTH (TYPE_FIELD_TYPE (type, nfields - 1)); - } - - return rtype; -} - -/* An ordinary record type (with fixed-length fields) that describes - the value at (TYPE0, VALADDR, ADDRESS) [see explanation at - beginning of this section]. Any necessary discriminants' values - should be in DVAL, a record value; it should be NULL if the object - at ADDR itself contains any necessary discriminant values. A - variant field (unless unchecked) is replaced by a particular branch - of the variant. */ - -static struct type * -to_fixed_record_type (struct type *type0, char *valaddr, CORE_ADDR address, - struct value *dval) -{ - struct type *templ_type; - - /* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in gdbtypes.h */ - /* if (TYPE_FLAGS (type0) & TYPE_FLAG_FIXED_INSTANCE) - return type0; - */ - templ_type = dynamic_template_type (type0); - - if (templ_type != NULL) - return template_to_fixed_record_type (templ_type, valaddr, address, dval); - else if (contains_variant_part (type0)) - return to_record_with_fixed_variant_part (type0, valaddr, address, dval); - else - { - /* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in gdbtypes.h */ - /* TYPE_FLAGS (type0) |= TYPE_FLAG_FIXED_INSTANCE; */ - return type0; - } - -} - -/* An ordinary record type (with fixed-length fields) that describes - the value at (VAR_TYPE0, VALADDR, ADDRESS), where VAR_TYPE0 is a - union type. Any necessary discriminants' values should be in DVAL, - a record value. That is, this routine selects the appropriate - branch of the union at ADDR according to the discriminant value - indicated in the union's type name. */ - -static struct type * -to_fixed_variant_branch_type (struct type *var_type0, char *valaddr, - CORE_ADDR address, struct value *dval) -{ - int which; - struct type *templ_type; - struct type *var_type; - - if (TYPE_CODE (var_type0) == TYPE_CODE_PTR) - var_type = TYPE_TARGET_TYPE (var_type0); - else - var_type = var_type0; - - templ_type = ada_find_parallel_type (var_type, "___XVU"); - - if (templ_type != NULL) - var_type = templ_type; - - which = - ada_which_variant_applies (var_type, - VALUE_TYPE (dval), VALUE_CONTENTS (dval)); - - if (which < 0) - return empty_record (TYPE_OBJFILE (var_type)); - else if (is_dynamic_field (var_type, which)) - return - to_fixed_record_type - (TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (var_type, which)), - valaddr, address, dval); - else if (contains_variant_part (TYPE_FIELD_TYPE (var_type, which))) - return - to_fixed_record_type - (TYPE_FIELD_TYPE (var_type, which), valaddr, address, dval); - else - return TYPE_FIELD_TYPE (var_type, which); -} - -/* Assuming that TYPE0 is an array type describing the type of a value - at ADDR, and that DVAL describes a record containing any - discriminants used in TYPE0, returns a type for the value that - contains no dynamic components (that is, no components whose sizes - are determined by run-time quantities). Unless IGNORE_TOO_BIG is - true, gives an error message if the resulting type's size is over - varsize_limit. -*/ - -static struct type * -to_fixed_array_type (struct type *type0, struct value *dval, - int ignore_too_big) -{ - struct type *index_type_desc; - struct type *result; - - /* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in gdbtypes.h */ -/* if (ada_is_packed_array_type (type0) /* revisit? *//* - || (TYPE_FLAGS (type0) & TYPE_FLAG_FIXED_INSTANCE)) - return type0; */ - - index_type_desc = ada_find_parallel_type (type0, "___XA"); - if (index_type_desc == NULL) - { - struct type *elt_type0 = check_typedef (TYPE_TARGET_TYPE (type0)); - /* NOTE: elt_type---the fixed version of elt_type0---should never - * depend on the contents of the array in properly constructed - * debugging data. */ - struct type *elt_type = ada_to_fixed_type (elt_type0, 0, 0, dval); - - if (elt_type0 == elt_type) - result = type0; - else - result = create_array_type (alloc_type (TYPE_OBJFILE (type0)), - elt_type, TYPE_INDEX_TYPE (type0)); - } - else - { - int i; - struct type *elt_type0; - - elt_type0 = type0; - for (i = TYPE_NFIELDS (index_type_desc); i > 0; i -= 1) - elt_type0 = TYPE_TARGET_TYPE (elt_type0); - - /* NOTE: result---the fixed version of elt_type0---should never - * depend on the contents of the array in properly constructed - * debugging data. */ - result = ada_to_fixed_type (check_typedef (elt_type0), 0, 0, dval); - for (i = TYPE_NFIELDS (index_type_desc) - 1; i >= 0; i -= 1) - { - struct type *range_type = - to_fixed_range_type (TYPE_FIELD_NAME (index_type_desc, i), - dval, TYPE_OBJFILE (type0)); - result = create_array_type (alloc_type (TYPE_OBJFILE (type0)), - result, range_type); - } - if (!ignore_too_big && TYPE_LENGTH (result) > varsize_limit) - error ("array type with dynamic size is larger than varsize-limit"); - } - -/* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in gdbtypes.h */ -/* TYPE_FLAGS (result) |= TYPE_FLAG_FIXED_INSTANCE; */ - return result; -} - - -/* A standard type (containing no dynamically sized components) - corresponding to TYPE for the value (TYPE, VALADDR, ADDRESS) - DVAL describes a record containing any discriminants used in TYPE0, - and may be NULL if there are none. */ - -struct type * -ada_to_fixed_type (struct type *type, char *valaddr, CORE_ADDR address, - struct value *dval) -{ - CHECK_TYPEDEF (type); - switch (TYPE_CODE (type)) - { - default: - return type; - case TYPE_CODE_STRUCT: - return to_fixed_record_type (type, valaddr, address, NULL); - case TYPE_CODE_ARRAY: - return to_fixed_array_type (type, dval, 0); - case TYPE_CODE_UNION: - if (dval == NULL) - return type; - else - return to_fixed_variant_branch_type (type, valaddr, address, dval); - } -} - -/* A standard (static-sized) type corresponding as well as possible to - TYPE0, but based on no runtime data. */ - -static struct type * -to_static_fixed_type (struct type *type0) -{ - struct type *type; - - if (type0 == NULL) - return NULL; - - /* FIXME: TYPE_FLAG_FIXED_INSTANCE should be defined in gdbtypes.h */ - /* if (TYPE_FLAGS (type0) & TYPE_FLAG_FIXED_INSTANCE) - return type0; - */ - CHECK_TYPEDEF (type0); - - switch (TYPE_CODE (type0)) - { - default: - return type0; - case TYPE_CODE_STRUCT: - type = dynamic_template_type (type0); - if (type != NULL) - return template_to_static_fixed_type (type); - return type0; - case TYPE_CODE_UNION: - type = ada_find_parallel_type (type0, "___XVU"); - if (type != NULL) - return template_to_static_fixed_type (type); - return type0; - } -} - -/* A static approximation of TYPE with all type wrappers removed. */ -static struct type * -static_unwrap_type (struct type *type) -{ - if (ada_is_aligner_type (type)) - { - struct type *type1 = TYPE_FIELD_TYPE (check_typedef (type), 0); - if (ada_type_name (type1) == NULL) - TYPE_NAME (type1) = ada_type_name (type); - - return static_unwrap_type (type1); - } - else - { - struct type *raw_real_type = ada_get_base_type (type); - if (raw_real_type == type) - return type; - else - return to_static_fixed_type (raw_real_type); - } -} - -/* In some cases, incomplete and private types require - cross-references that are not resolved as records (for example, - type Foo; - type FooP is access Foo; - V: FooP; - type Foo is array ...; - ). In these cases, since there is no mechanism for producing - cross-references to such types, we instead substitute for FooP a - stub enumeration type that is nowhere resolved, and whose tag is - the name of the actual type. Call these types "non-record stubs". */ - -/* A type equivalent to TYPE that is not a non-record stub, if one - exists, otherwise TYPE. */ -struct type * -ada_completed_type (struct type *type) -{ - CHECK_TYPEDEF (type); - if (type == NULL || TYPE_CODE (type) != TYPE_CODE_ENUM - || (TYPE_FLAGS (type) & TYPE_FLAG_STUB) == 0 - || TYPE_TAG_NAME (type) == NULL) - return type; - else - { - char *name = TYPE_TAG_NAME (type); - struct type *type1 = ada_find_any_type (name); - return (type1 == NULL) ? type : type1; - } -} - -/* A value representing the data at VALADDR/ADDRESS as described by - type TYPE0, but with a standard (static-sized) type that correctly - describes it. If VAL0 is not NULL and TYPE0 already is a standard - type, then return VAL0 [this feature is simply to avoid redundant - creation of struct values]. */ - -struct value * -ada_to_fixed_value (struct type *type0, char *valaddr, CORE_ADDR address, - struct value *val0) -{ - struct type *type = ada_to_fixed_type (type0, valaddr, address, NULL); - if (type == type0 && val0 != NULL) - return val0; - else - return value_from_contents_and_address (type, valaddr, address); -} - -/* A value representing VAL, but with a standard (static-sized) type - chosen to approximate the real type of VAL as well as possible, but - without consulting any runtime values. For Ada dynamic-sized - types, therefore, the type of the result is likely to be inaccurate. */ - -struct value * -ada_to_static_fixed_value (struct value *val) -{ - struct type *type = - to_static_fixed_type (static_unwrap_type (VALUE_TYPE (val))); - if (type == VALUE_TYPE (val)) - return val; - else - return coerce_unspec_val_to_type (val, 0, type); -} - - - - - -/* Attributes */ - -/* Table mapping attribute numbers to names */ -/* NOTE: Keep up to date with enum ada_attribute definition in ada-lang.h */ - -static const char *attribute_names[] = { - "", - - "first", - "last", - "length", - "image", - "img", - "max", - "min", - "pos" "tag", - "val", - - 0 -}; - -const char * -ada_attribute_name (int n) -{ - if (n > 0 && n < (int) ATR_END) - return attribute_names[n]; - else - return attribute_names[0]; -} - -/* Evaluate the 'POS attribute applied to ARG. */ - -static struct value * -value_pos_atr (struct value *arg) -{ - struct type *type = VALUE_TYPE (arg); - - if (!discrete_type_p (type)) - error ("'POS only defined on discrete types"); - - if (TYPE_CODE (type) == TYPE_CODE_ENUM) - { - int i; - LONGEST v = value_as_long (arg); - - for (i = 0; i < TYPE_NFIELDS (type); i += 1) - { - if (v == TYPE_FIELD_BITPOS (type, i)) - return value_from_longest (builtin_type_ada_int, i); - } - error ("enumeration value is invalid: can't find 'POS"); - } - else - return value_from_longest (builtin_type_ada_int, value_as_long (arg)); -} - -/* Evaluate the TYPE'VAL attribute applied to ARG. */ - -static struct value * -value_val_atr (struct type *type, struct value *arg) -{ - if (!discrete_type_p (type)) - error ("'VAL only defined on discrete types"); - if (!integer_type_p (VALUE_TYPE (arg))) - error ("'VAL requires integral argument"); - - if (TYPE_CODE (type) == TYPE_CODE_ENUM) - { - long pos = value_as_long (arg); - if (pos < 0 || pos >= TYPE_NFIELDS (type)) - error ("argument to 'VAL out of range"); - return value_from_longest (type, TYPE_FIELD_BITPOS (type, pos)); - } - else - return value_from_longest (type, value_as_long (arg)); -} - - - /* Evaluation */ - -/* True if TYPE appears to be an Ada character type. - * [At the moment, this is true only for Character and Wide_Character; - * It is a heuristic test that could stand improvement]. */ - -int -ada_is_character_type (struct type *type) -{ - const char *name = ada_type_name (type); - return - name != NULL - && (TYPE_CODE (type) == TYPE_CODE_CHAR - || TYPE_CODE (type) == TYPE_CODE_INT - || TYPE_CODE (type) == TYPE_CODE_RANGE) - && (STREQ (name, "character") || STREQ (name, "wide_character") - || STREQ (name, "unsigned char")); -} - -/* True if TYPE appears to be an Ada string type. */ - -int -ada_is_string_type (struct type *type) -{ - CHECK_TYPEDEF (type); - if (type != NULL - && TYPE_CODE (type) != TYPE_CODE_PTR - && (ada_is_simple_array (type) || ada_is_array_descriptor (type)) - && ada_array_arity (type) == 1) - { - struct type *elttype = ada_array_element_type (type, 1); - - return ada_is_character_type (elttype); - } - else - return 0; -} - - -/* True if TYPE is a struct type introduced by the compiler to force the - alignment of a value. Such types have a single field with a - distinctive name. */ - -int -ada_is_aligner_type (struct type *type) -{ - CHECK_TYPEDEF (type); - return (TYPE_CODE (type) == TYPE_CODE_STRUCT - && TYPE_NFIELDS (type) == 1 - && STREQ (TYPE_FIELD_NAME (type, 0), "F")); -} - -/* If there is an ___XVS-convention type parallel to SUBTYPE, return - the parallel type. */ - -struct type * -ada_get_base_type (struct type *raw_type) -{ - struct type *real_type_namer; - struct type *raw_real_type; - struct type *real_type; - - if (raw_type == NULL || TYPE_CODE (raw_type) != TYPE_CODE_STRUCT) - return raw_type; - - real_type_namer = ada_find_parallel_type (raw_type, "___XVS"); - if (real_type_namer == NULL - || TYPE_CODE (real_type_namer) != TYPE_CODE_STRUCT - || TYPE_NFIELDS (real_type_namer) != 1) - return raw_type; - - raw_real_type = ada_find_any_type (TYPE_FIELD_NAME (real_type_namer, 0)); - if (raw_real_type == NULL) - return raw_type; - else - return raw_real_type; -} - -/* The type of value designated by TYPE, with all aligners removed. */ - -struct type * -ada_aligned_type (struct type *type) -{ - if (ada_is_aligner_type (type)) - return ada_aligned_type (TYPE_FIELD_TYPE (type, 0)); - else - return ada_get_base_type (type); -} - - -/* The address of the aligned value in an object at address VALADDR - having type TYPE. Assumes ada_is_aligner_type (TYPE). */ - -char * -ada_aligned_value_addr (struct type *type, char *valaddr) -{ - if (ada_is_aligner_type (type)) - return ada_aligned_value_addr (TYPE_FIELD_TYPE (type, 0), - valaddr + - TYPE_FIELD_BITPOS (type, - 0) / TARGET_CHAR_BIT); - else - return valaddr; -} - -/* The printed representation of an enumeration literal with encoded - name NAME. The value is good to the next call of ada_enum_name. */ -const char * -ada_enum_name (const char *name) -{ - char *tmp; - - while (1) - { - if ((tmp = strstr (name, "__")) != NULL) - name = tmp + 2; - else if ((tmp = strchr (name, '.')) != NULL) - name = tmp + 1; - else - break; - } - - if (name[0] == 'Q') - { - static char result[16]; - int v; - if (name[1] == 'U' || name[1] == 'W') - { - if (sscanf (name + 2, "%x", &v) != 1) - return name; - } - else - return name; - - if (isascii (v) && isprint (v)) - sprintf (result, "'%c'", v); - else if (name[1] == 'U') - sprintf (result, "[\"%02x\"]", v); - else - sprintf (result, "[\"%04x\"]", v); - - return result; - } - else - return name; -} - -static struct value * -evaluate_subexp (struct type *expect_type, struct expression *exp, int *pos, - enum noside noside) -{ - return (*exp->language_defn->evaluate_exp) (expect_type, exp, pos, noside); -} - -/* Evaluate the subexpression of EXP starting at *POS as for - evaluate_type, updating *POS to point just past the evaluated - expression. */ - -static struct value * -evaluate_subexp_type (struct expression *exp, int *pos) -{ - return (*exp->language_defn->evaluate_exp) - (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS); -} - -/* If VAL is wrapped in an aligner or subtype wrapper, return the - value it wraps. */ - -static struct value * -unwrap_value (struct value *val) -{ - struct type *type = check_typedef (VALUE_TYPE (val)); - if (ada_is_aligner_type (type)) - { - struct value *v = value_struct_elt (&val, NULL, "F", - NULL, "internal structure"); - struct type *val_type = check_typedef (VALUE_TYPE (v)); - if (ada_type_name (val_type) == NULL) - TYPE_NAME (val_type) = ada_type_name (type); - - return unwrap_value (v); - } - else - { - struct type *raw_real_type = - ada_completed_type (ada_get_base_type (type)); - - if (type == raw_real_type) - return val; - - return - coerce_unspec_val_to_type - (val, 0, ada_to_fixed_type (raw_real_type, 0, - VALUE_ADDRESS (val) + VALUE_OFFSET (val), - NULL)); - } -} - -static struct value * -cast_to_fixed (struct type *type, struct value *arg) -{ - LONGEST val; - - if (type == VALUE_TYPE (arg)) - return arg; - else if (ada_is_fixed_point_type (VALUE_TYPE (arg))) - val = ada_float_to_fixed (type, - ada_fixed_to_float (VALUE_TYPE (arg), - value_as_long (arg))); - else - { - DOUBLEST argd = - value_as_double (value_cast (builtin_type_double, value_copy (arg))); - val = ada_float_to_fixed (type, argd); - } - - return value_from_longest (type, val); -} - -static struct value * -cast_from_fixed_to_double (struct value *arg) -{ - DOUBLEST val = ada_fixed_to_float (VALUE_TYPE (arg), - value_as_long (arg)); - return value_from_double (builtin_type_double, val); -} - -/* Coerce VAL as necessary for assignment to an lval of type TYPE, and - * return the converted value. */ -static struct value * -coerce_for_assign (struct type *type, struct value *val) -{ - struct type *type2 = VALUE_TYPE (val); - if (type == type2) - return val; - - CHECK_TYPEDEF (type2); - CHECK_TYPEDEF (type); - - if (TYPE_CODE (type2) == TYPE_CODE_PTR - && TYPE_CODE (type) == TYPE_CODE_ARRAY) - { - val = ada_value_ind (val); - type2 = VALUE_TYPE (val); - } - - if (TYPE_CODE (type2) == TYPE_CODE_ARRAY - && TYPE_CODE (type) == TYPE_CODE_ARRAY) - { - if (TYPE_LENGTH (type2) != TYPE_LENGTH (type) - || TYPE_LENGTH (TYPE_TARGET_TYPE (type2)) - != TYPE_LENGTH (TYPE_TARGET_TYPE (type2))) - error ("Incompatible types in assignment"); - VALUE_TYPE (val) = type; - } - return val; -} - -struct value * -ada_evaluate_subexp (struct type *expect_type, struct expression *exp, - int *pos, enum noside noside) -{ - enum exp_opcode op; - enum ada_attribute atr; - int tem, tem2, tem3; - int pc; - struct value *arg1 = NULL, *arg2 = NULL, *arg3; - struct type *type; - int nargs; - struct value **argvec; - - pc = *pos; - *pos += 1; - op = exp->elts[pc].opcode; - - switch (op) - { - default: - *pos -= 1; - return - unwrap_value (evaluate_subexp_standard - (expect_type, exp, pos, noside)); - - case UNOP_CAST: - (*pos) += 2; - type = exp->elts[pc + 1].type; - arg1 = evaluate_subexp (type, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (type != check_typedef (VALUE_TYPE (arg1))) - { - if (ada_is_fixed_point_type (type)) - arg1 = cast_to_fixed (type, arg1); - else if (ada_is_fixed_point_type (VALUE_TYPE (arg1))) - arg1 = value_cast (type, cast_from_fixed_to_double (arg1)); - else if (VALUE_LVAL (arg1) == lval_memory) - { - /* This is in case of the really obscure (and undocumented, - but apparently expected) case of (Foo) Bar.all, where Bar - is an integer constant and Foo is a dynamic-sized type. - If we don't do this, ARG1 will simply be relabeled with - TYPE. */ - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (to_static_fixed_type (type), not_lval); - arg1 = - ada_to_fixed_value - (type, 0, VALUE_ADDRESS (arg1) + VALUE_OFFSET (arg1), 0); - } - else - arg1 = value_cast (type, arg1); - } - return arg1; - - /* FIXME: UNOP_QUAL should be defined in expression.h */ - /* case UNOP_QUAL: - (*pos) += 2; - type = exp->elts[pc + 1].type; - return ada_evaluate_subexp (type, exp, pos, noside); - */ - case BINOP_ASSIGN: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - arg2 = evaluate_subexp (VALUE_TYPE (arg1), exp, pos, noside); - if (noside == EVAL_SKIP || noside == EVAL_AVOID_SIDE_EFFECTS) - return arg1; - if (binop_user_defined_p (op, arg1, arg2)) - return value_x_binop (arg1, arg2, op, OP_NULL, EVAL_NORMAL); - else - { - if (ada_is_fixed_point_type (VALUE_TYPE (arg1))) - arg2 = cast_to_fixed (VALUE_TYPE (arg1), arg2); - else if (ada_is_fixed_point_type (VALUE_TYPE (arg2))) - error - ("Fixed-point values must be assigned to fixed-point variables"); - else - arg2 = coerce_for_assign (VALUE_TYPE (arg1), arg2); - return ada_value_assign (arg1, arg2); - } - - case BINOP_ADD: - arg1 = evaluate_subexp_with_coercion (exp, pos, noside); - arg2 = evaluate_subexp_with_coercion (exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (binop_user_defined_p (op, arg1, arg2)) - return value_x_binop (arg1, arg2, op, OP_NULL, EVAL_NORMAL); - else - { - if ((ada_is_fixed_point_type (VALUE_TYPE (arg1)) - || ada_is_fixed_point_type (VALUE_TYPE (arg2))) - && VALUE_TYPE (arg1) != VALUE_TYPE (arg2)) - error - ("Operands of fixed-point addition must have the same type"); - return value_cast (VALUE_TYPE (arg1), value_add (arg1, arg2)); - } - - case BINOP_SUB: - arg1 = evaluate_subexp_with_coercion (exp, pos, noside); - arg2 = evaluate_subexp_with_coercion (exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (binop_user_defined_p (op, arg1, arg2)) - return value_x_binop (arg1, arg2, op, OP_NULL, EVAL_NORMAL); - else - { - if ((ada_is_fixed_point_type (VALUE_TYPE (arg1)) - || ada_is_fixed_point_type (VALUE_TYPE (arg2))) - && VALUE_TYPE (arg1) != VALUE_TYPE (arg2)) - error - ("Operands of fixed-point subtraction must have the same type"); - return value_cast (VALUE_TYPE (arg1), value_sub (arg1, arg2)); - } - - case BINOP_MUL: - case BINOP_DIV: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - arg2 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (binop_user_defined_p (op, arg1, arg2)) - return value_x_binop (arg1, arg2, op, OP_NULL, EVAL_NORMAL); - else - if (noside == EVAL_AVOID_SIDE_EFFECTS - && (op == BINOP_DIV || op == BINOP_REM || op == BINOP_MOD)) - return value_zero (VALUE_TYPE (arg1), not_lval); - else - { - if (ada_is_fixed_point_type (VALUE_TYPE (arg1))) - arg1 = cast_from_fixed_to_double (arg1); - if (ada_is_fixed_point_type (VALUE_TYPE (arg2))) - arg2 = cast_from_fixed_to_double (arg2); - return value_binop (arg1, arg2, op); - } - - case UNOP_NEG: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (unop_user_defined_p (op, arg1)) - return value_x_unop (arg1, op, EVAL_NORMAL); - else if (ada_is_fixed_point_type (VALUE_TYPE (arg1))) - return value_cast (VALUE_TYPE (arg1), value_neg (arg1)); - else - return value_neg (arg1); - - /* FIXME: OP_UNRESOLVED_VALUE should be defined in expression.h */ - /* case OP_UNRESOLVED_VALUE: - /* Only encountered when an unresolved symbol occurs in a - context other than a function call, in which case, it is - illegal. *//* - (*pos) += 3; - if (noside == EVAL_SKIP) - goto nosideret; - else - error ("Unexpected unresolved symbol, %s, during evaluation", - ada_demangle (exp->elts[pc + 2].name)); - */ - case OP_VAR_VALUE: - *pos -= 1; - if (noside == EVAL_SKIP) - { - *pos += 4; - goto nosideret; - } - else if (noside == EVAL_AVOID_SIDE_EFFECTS) - { - *pos += 4; - return value_zero - (to_static_fixed_type - (static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol))), - not_lval); - } - else - { - arg1 = - unwrap_value (evaluate_subexp_standard - (expect_type, exp, pos, noside)); - return ada_to_fixed_value (VALUE_TYPE (arg1), 0, - VALUE_ADDRESS (arg1) + - VALUE_OFFSET (arg1), arg1); - } - - case OP_ARRAY: - (*pos) += 3; - tem2 = longest_to_int (exp->elts[pc + 1].longconst); - tem3 = longest_to_int (exp->elts[pc + 2].longconst); - nargs = tem3 - tem2 + 1; - type = expect_type ? check_typedef (expect_type) : NULL_TYPE; - - argvec = - (struct value * *) alloca (sizeof (struct value *) * (nargs + 1)); - for (tem = 0; tem == 0 || tem < nargs; tem += 1) - /* At least one element gets inserted for the type */ - { - /* Ensure that array expressions are coerced into pointer objects. */ - argvec[tem] = evaluate_subexp_with_coercion (exp, pos, noside); - } - if (noside == EVAL_SKIP) - goto nosideret; - return value_array (tem2, tem3, argvec); - - case OP_FUNCALL: - (*pos) += 2; - - /* Allocate arg vector, including space for the function to be - called in argvec[0] and a terminating NULL */ - nargs = longest_to_int (exp->elts[pc + 1].longconst); - argvec = - (struct value * *) alloca (sizeof (struct value *) * (nargs + 2)); - - /* FIXME: OP_UNRESOLVED_VALUE should be defined in expression.h */ - /* FIXME: name should be defined in expresion.h */ - /* if (exp->elts[*pos].opcode == OP_UNRESOLVED_VALUE) - error ("Unexpected unresolved symbol, %s, during evaluation", - ada_demangle (exp->elts[pc + 5].name)); - */ - if (0) - { - error ("unexpected code path, FIXME"); - } - else - { - for (tem = 0; tem <= nargs; tem += 1) - argvec[tem] = evaluate_subexp (NULL_TYPE, exp, pos, noside); - argvec[tem] = 0; - - if (noside == EVAL_SKIP) - goto nosideret; - } - - if (TYPE_CODE (VALUE_TYPE (argvec[0])) == TYPE_CODE_REF) - argvec[0] = value_addr (argvec[0]); - - if (ada_is_packed_array_type (VALUE_TYPE (argvec[0]))) - argvec[0] = ada_coerce_to_simple_array (argvec[0]); - - type = check_typedef (VALUE_TYPE (argvec[0])); - if (TYPE_CODE (type) == TYPE_CODE_PTR) - { - switch (TYPE_CODE (check_typedef (TYPE_TARGET_TYPE (type)))) - { - case TYPE_CODE_FUNC: - type = check_typedef (TYPE_TARGET_TYPE (type)); - break; - case TYPE_CODE_ARRAY: - break; - case TYPE_CODE_STRUCT: - if (noside != EVAL_AVOID_SIDE_EFFECTS) - argvec[0] = ada_value_ind (argvec[0]); - type = check_typedef (TYPE_TARGET_TYPE (type)); - break; - default: - error ("cannot subscript or call something of type `%s'", - ada_type_name (VALUE_TYPE (argvec[0]))); - break; - } - } - - switch (TYPE_CODE (type)) - { - case TYPE_CODE_FUNC: - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return allocate_value (TYPE_TARGET_TYPE (type)); - return call_function_by_hand (argvec[0], nargs, argvec + 1); - case TYPE_CODE_STRUCT: - { - int arity = ada_array_arity (type); - type = ada_array_element_type (type, nargs); - if (type == NULL) - error ("cannot subscript or call a record"); - if (arity != nargs) - error ("wrong number of subscripts; expecting %d", arity); - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return allocate_value (ada_aligned_type (type)); - return - unwrap_value (ada_value_subscript - (argvec[0], nargs, argvec + 1)); - } - case TYPE_CODE_ARRAY: - if (noside == EVAL_AVOID_SIDE_EFFECTS) - { - type = ada_array_element_type (type, nargs); - if (type == NULL) - error ("element type of array unknown"); - else - return allocate_value (ada_aligned_type (type)); - } - return - unwrap_value (ada_value_subscript - (ada_coerce_to_simple_array (argvec[0]), - nargs, argvec + 1)); - case TYPE_CODE_PTR: /* Pointer to array */ - type = to_fixed_array_type (TYPE_TARGET_TYPE (type), NULL, 1); - if (noside == EVAL_AVOID_SIDE_EFFECTS) - { - type = ada_array_element_type (type, nargs); - if (type == NULL) - error ("element type of array unknown"); - else - return allocate_value (ada_aligned_type (type)); - } - return - unwrap_value (ada_value_ptr_subscript (argvec[0], type, - nargs, argvec + 1)); - - default: - error ("Internal error in evaluate_subexp"); - } - - case TERNOP_SLICE: - { - struct value *array = evaluate_subexp (NULL_TYPE, exp, pos, noside); - int lowbound - = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside)); - int upper - = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside)); - if (noside == EVAL_SKIP) - goto nosideret; - - /* If this is a reference to an array, then dereference it */ - if (TYPE_CODE (VALUE_TYPE (array)) == TYPE_CODE_REF - && TYPE_TARGET_TYPE (VALUE_TYPE (array)) != NULL - && TYPE_CODE (TYPE_TARGET_TYPE (VALUE_TYPE (array))) == - TYPE_CODE_ARRAY - && !ada_is_array_descriptor (check_typedef (VALUE_TYPE (array)))) - { - array = ada_coerce_ref (array); - } - - if (noside == EVAL_AVOID_SIDE_EFFECTS && - ada_is_array_descriptor (check_typedef (VALUE_TYPE (array)))) - { - /* Try to dereference the array, in case it is an access to array */ - struct type *arrType = ada_type_of_array (array, 0); - if (arrType != NULL) - array = value_at_lazy (arrType, 0, NULL); - } - if (ada_is_array_descriptor (VALUE_TYPE (array))) - array = ada_coerce_to_simple_array (array); - - /* If at this point we have a pointer to an array, it means that - it is a pointer to a simple (non-ada) array. We just then - dereference it */ - if (TYPE_CODE (VALUE_TYPE (array)) == TYPE_CODE_PTR - && TYPE_TARGET_TYPE (VALUE_TYPE (array)) != NULL - && TYPE_CODE (TYPE_TARGET_TYPE (VALUE_TYPE (array))) == - TYPE_CODE_ARRAY) - { - array = ada_value_ind (array); - } - - if (noside == EVAL_AVOID_SIDE_EFFECTS) - /* The following will get the bounds wrong, but only in contexts - where the value is not being requested (FIXME?). */ - return array; - else - return value_slice (array, lowbound, upper - lowbound + 1); - } - - /* FIXME: UNOP_MBR should be defined in expression.h */ - /* case UNOP_MBR: - (*pos) += 2; - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - type = exp->elts[pc + 1].type; - - if (noside == EVAL_SKIP) - goto nosideret; - - switch (TYPE_CODE (type)) - { - default: - warning ("Membership test incompletely implemented; always returns true"); - return value_from_longest (builtin_type_int, (LONGEST) 1); - - case TYPE_CODE_RANGE: - arg2 = value_from_longest (builtin_type_int, - (LONGEST) TYPE_LOW_BOUND (type)); - arg3 = value_from_longest (builtin_type_int, - (LONGEST) TYPE_HIGH_BOUND (type)); - return - value_from_longest (builtin_type_int, - (value_less (arg1,arg3) - || value_equal (arg1,arg3)) - && (value_less (arg2,arg1) - || value_equal (arg2,arg1))); - } - */ - /* FIXME: BINOP_MBR should be defined in expression.h */ - /* case BINOP_MBR: - (*pos) += 2; - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - arg2 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - - if (noside == EVAL_SKIP) - goto nosideret; - - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (builtin_type_int, not_lval); - - tem = longest_to_int (exp->elts[pc + 1].longconst); - - if (tem < 1 || tem > ada_array_arity (VALUE_TYPE (arg2))) - error ("invalid dimension number to '%s", "range"); - - arg3 = ada_array_bound (arg2, tem, 1); - arg2 = ada_array_bound (arg2, tem, 0); - - return - value_from_longest (builtin_type_int, - (value_less (arg1,arg3) - || value_equal (arg1,arg3)) - && (value_less (arg2,arg1) - || value_equal (arg2,arg1))); - */ - /* FIXME: TERNOP_MBR should be defined in expression.h */ - /* case TERNOP_MBR: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - arg2 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - arg3 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - - if (noside == EVAL_SKIP) - goto nosideret; - - return - value_from_longest (builtin_type_int, - (value_less (arg1,arg3) - || value_equal (arg1,arg3)) - && (value_less (arg2,arg1) - || value_equal (arg2,arg1))); - */ - /* FIXME: OP_ATTRIBUTE should be defined in expression.h */ - /* case OP_ATTRIBUTE: - *pos += 3; - atr = (enum ada_attribute) longest_to_int (exp->elts[pc + 2].longconst); - switch (atr) - { - default: - error ("unexpected attribute encountered"); - - case ATR_FIRST: - case ATR_LAST: - case ATR_LENGTH: - { - struct type* type_arg; - if (exp->elts[*pos].opcode == OP_TYPE) - { - evaluate_subexp (NULL_TYPE, exp, pos, EVAL_SKIP); - arg1 = NULL; - type_arg = exp->elts[pc + 5].type; - } - else - { - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - type_arg = NULL; - } - - if (exp->elts[*pos].opcode != OP_LONG) - error ("illegal operand to '%s", ada_attribute_name (atr)); - tem = longest_to_int (exp->elts[*pos+2].longconst); - *pos += 4; - - if (noside == EVAL_SKIP) - goto nosideret; - - if (type_arg == NULL) - { - arg1 = ada_coerce_ref (arg1); - - if (ada_is_packed_array_type (VALUE_TYPE (arg1))) - arg1 = ada_coerce_to_simple_array (arg1); - - if (tem < 1 || tem > ada_array_arity (VALUE_TYPE (arg1))) - error ("invalid dimension number to '%s", - ada_attribute_name (atr)); - - if (noside == EVAL_AVOID_SIDE_EFFECTS) - { - type = ada_index_type (VALUE_TYPE (arg1), tem); - if (type == NULL) - error ("attempt to take bound of something that is not an array"); - return allocate_value (type); - } - - switch (atr) - { - default: - error ("unexpected attribute encountered"); - case ATR_FIRST: - return ada_array_bound (arg1, tem, 0); - case ATR_LAST: - return ada_array_bound (arg1, tem, 1); - case ATR_LENGTH: - return ada_array_length (arg1, tem); - } - } - else if (TYPE_CODE (type_arg) == TYPE_CODE_RANGE - || TYPE_CODE (type_arg) == TYPE_CODE_INT) - { - struct type* range_type; - char* name = ada_type_name (type_arg); - if (name == NULL) - { - if (TYPE_CODE (type_arg) == TYPE_CODE_RANGE) - range_type = type_arg; - else - error ("unimplemented type attribute"); - } - else - range_type = - to_fixed_range_type (name, NULL, TYPE_OBJFILE (type_arg)); - switch (atr) - { - default: - error ("unexpected attribute encountered"); - case ATR_FIRST: - return value_from_longest (TYPE_TARGET_TYPE (range_type), - TYPE_LOW_BOUND (range_type)); - case ATR_LAST: - return value_from_longest (TYPE_TARGET_TYPE (range_type), - TYPE_HIGH_BOUND (range_type)); - } - } - else if (TYPE_CODE (type_arg) == TYPE_CODE_ENUM) - { - switch (atr) - { - default: - error ("unexpected attribute encountered"); - case ATR_FIRST: - return value_from_longest - (type_arg, TYPE_FIELD_BITPOS (type_arg, 0)); - case ATR_LAST: - return value_from_longest - (type_arg, - TYPE_FIELD_BITPOS (type_arg, - TYPE_NFIELDS (type_arg) - 1)); - } - } - else if (TYPE_CODE (type_arg) == TYPE_CODE_FLT) - error ("unimplemented type attribute"); - else - { - LONGEST low, high; - - if (ada_is_packed_array_type (type_arg)) - type_arg = decode_packed_array_type (type_arg); - - if (tem < 1 || tem > ada_array_arity (type_arg)) - error ("invalid dimension number to '%s", - ada_attribute_name (atr)); - - if (noside == EVAL_AVOID_SIDE_EFFECTS) - { - type = ada_index_type (type_arg, tem); - if (type == NULL) - error ("attempt to take bound of something that is not an array"); - return allocate_value (type); - } - - switch (atr) - { - default: - error ("unexpected attribute encountered"); - case ATR_FIRST: - low = ada_array_bound_from_type (type_arg, tem, 0, &type); - return value_from_longest (type, low); - case ATR_LAST: - high = ada_array_bound_from_type (type_arg, tem, 1, &type); - return value_from_longest (type, high); - case ATR_LENGTH: - low = ada_array_bound_from_type (type_arg, tem, 0, &type); - high = ada_array_bound_from_type (type_arg, tem, 1, NULL); - return value_from_longest (type, high-low+1); - } - } - } - - case ATR_TAG: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return - value_zero (ada_tag_type (arg1), not_lval); - - return ada_value_tag (arg1); - - case ATR_MIN: - case ATR_MAX: - evaluate_subexp (NULL_TYPE, exp, pos, EVAL_SKIP); - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - arg2 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - else if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (VALUE_TYPE (arg1), not_lval); - else - return value_binop (arg1, arg2, - atr == ATR_MIN ? BINOP_MIN : BINOP_MAX); - - case ATR_MODULUS: - { - struct type* type_arg = exp->elts[pc + 5].type; - evaluate_subexp (NULL_TYPE, exp, pos, EVAL_SKIP); - *pos += 4; - - if (noside == EVAL_SKIP) - goto nosideret; - - if (! ada_is_modular_type (type_arg)) - error ("'modulus must be applied to modular type"); - - return value_from_longest (TYPE_TARGET_TYPE (type_arg), - ada_modulus (type_arg)); - } - - - case ATR_POS: - evaluate_subexp (NULL_TYPE, exp, pos, EVAL_SKIP); - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - else if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (builtin_type_ada_int, not_lval); - else - return value_pos_atr (arg1); - - case ATR_SIZE: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - else if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (builtin_type_ada_int, not_lval); - else - return value_from_longest (builtin_type_ada_int, - TARGET_CHAR_BIT - * TYPE_LENGTH (VALUE_TYPE (arg1))); - - case ATR_VAL: - evaluate_subexp (NULL_TYPE, exp, pos, EVAL_SKIP); - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - type = exp->elts[pc + 5].type; - if (noside == EVAL_SKIP) - goto nosideret; - else if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (type, not_lval); - else - return value_val_atr (type, arg1); - } */ - case BINOP_EXP: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - arg2 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (binop_user_defined_p (op, arg1, arg2)) - return unwrap_value (value_x_binop (arg1, arg2, op, OP_NULL, - EVAL_NORMAL)); - else if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (VALUE_TYPE (arg1), not_lval); - else - return value_binop (arg1, arg2, op); - - case UNOP_PLUS: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (unop_user_defined_p (op, arg1)) - return unwrap_value (value_x_unop (arg1, op, EVAL_NORMAL)); - else - return arg1; - - case UNOP_ABS: - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (value_less (arg1, value_zero (VALUE_TYPE (arg1), not_lval))) - return value_neg (arg1); - else - return arg1; - - case UNOP_IND: - if (expect_type && TYPE_CODE (expect_type) == TYPE_CODE_PTR) - expect_type = TYPE_TARGET_TYPE (check_typedef (expect_type)); - arg1 = evaluate_subexp (expect_type, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - type = check_typedef (VALUE_TYPE (arg1)); - if (noside == EVAL_AVOID_SIDE_EFFECTS) - { - if (ada_is_array_descriptor (type)) - /* GDB allows dereferencing GNAT array descriptors. */ - { - struct type *arrType = ada_type_of_array (arg1, 0); - if (arrType == NULL) - error ("Attempt to dereference null array pointer."); - return value_at_lazy (arrType, 0, NULL); - } - else if (TYPE_CODE (type) == TYPE_CODE_PTR - || TYPE_CODE (type) == TYPE_CODE_REF - /* In C you can dereference an array to get the 1st elt. */ - || TYPE_CODE (type) == TYPE_CODE_ARRAY) - return - value_zero - (to_static_fixed_type - (ada_aligned_type (check_typedef (TYPE_TARGET_TYPE (type)))), - lval_memory); - else if (TYPE_CODE (type) == TYPE_CODE_INT) - /* GDB allows dereferencing an int. */ - return value_zero (builtin_type_int, lval_memory); - else - error ("Attempt to take contents of a non-pointer value."); - } - arg1 = ada_coerce_ref (arg1); - type = check_typedef (VALUE_TYPE (arg1)); - - if (ada_is_array_descriptor (type)) - /* GDB allows dereferencing GNAT array descriptors. */ - return ada_coerce_to_simple_array (arg1); - else - return ada_value_ind (arg1); - - case STRUCTOP_STRUCT: - tem = longest_to_int (exp->elts[pc + 1].longconst); - (*pos) += 3 + BYTES_TO_EXP_ELEM (tem + 1); - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (ada_aligned_type - (ada_lookup_struct_elt_type (VALUE_TYPE (arg1), - &exp->elts[pc + - 2].string, - 0, NULL)), - lval_memory); - else - return unwrap_value (ada_value_struct_elt (arg1, - &exp->elts[pc + 2].string, - "record")); - case OP_TYPE: - /* The value is not supposed to be used. This is here to make it - easier to accommodate expressions that contain types. */ - (*pos) += 2; - if (noside == EVAL_SKIP) - goto nosideret; - else if (noside == EVAL_AVOID_SIDE_EFFECTS) - return allocate_value (builtin_type_void); - else - error ("Attempt to use a type name as an expression"); - - case STRUCTOP_PTR: - tem = longest_to_int (exp->elts[pc + 1].longconst); - (*pos) += 3 + BYTES_TO_EXP_ELEM (tem + 1); - arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); - if (noside == EVAL_SKIP) - goto nosideret; - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (ada_aligned_type - (ada_lookup_struct_elt_type (VALUE_TYPE (arg1), - &exp->elts[pc + - 2].string, - 0, NULL)), - lval_memory); - else - return unwrap_value (ada_value_struct_elt (arg1, - &exp->elts[pc + 2].string, - "record access")); - } - -nosideret: - return value_from_longest (builtin_type_long, (LONGEST) 1); -} - - - /* Fixed point */ - -/* If TYPE encodes an Ada fixed-point type, return the suffix of the - type name that encodes the 'small and 'delta information. - Otherwise, return NULL. */ - -static const char * -fixed_type_info (struct type *type) -{ - const char *name = ada_type_name (type); - enum type_code code = (type == NULL) ? TYPE_CODE_UNDEF : TYPE_CODE (type); - - if ((code == TYPE_CODE_INT || code == TYPE_CODE_RANGE) && name != NULL) - { - const char *tail = strstr (name, "___XF_"); - if (tail == NULL) - return NULL; - else - return tail + 5; - } - else if (code == TYPE_CODE_RANGE && TYPE_TARGET_TYPE (type) != type) - return fixed_type_info (TYPE_TARGET_TYPE (type)); - else - return NULL; -} - -/* Returns non-zero iff TYPE represents an Ada fixed-point type. */ - -int -ada_is_fixed_point_type (struct type *type) -{ - return fixed_type_info (type) != NULL; -} - -/* Assuming that TYPE is the representation of an Ada fixed-point - type, return its delta, or -1 if the type is malformed and the - delta cannot be determined. */ - -DOUBLEST -ada_delta (struct type *type) -{ - const char *encoding = fixed_type_info (type); - long num, den; - - if (sscanf (encoding, "_%ld_%ld", &num, &den) < 2) - return -1.0; - else - return (DOUBLEST) num / (DOUBLEST) den; -} - -/* Assuming that ada_is_fixed_point_type (TYPE), return the scaling - factor ('SMALL value) associated with the type. */ - -static DOUBLEST -scaling_factor (struct type *type) -{ - const char *encoding = fixed_type_info (type); - unsigned long num0, den0, num1, den1; - int n; - - n = sscanf (encoding, "_%lu_%lu_%lu_%lu", &num0, &den0, &num1, &den1); - - if (n < 2) - return 1.0; - else if (n == 4) - return (DOUBLEST) num1 / (DOUBLEST) den1; - else - return (DOUBLEST) num0 / (DOUBLEST) den0; -} - - -/* Assuming that X is the representation of a value of fixed-point - type TYPE, return its floating-point equivalent. */ - -DOUBLEST -ada_fixed_to_float (struct type *type, LONGEST x) -{ - return (DOUBLEST) x *scaling_factor (type); -} - -/* The representation of a fixed-point value of type TYPE - corresponding to the value X. */ - -LONGEST -ada_float_to_fixed (struct type *type, DOUBLEST x) -{ - return (LONGEST) (x / scaling_factor (type) + 0.5); -} - - - /* VAX floating formats */ - -/* Non-zero iff TYPE represents one of the special VAX floating-point - types. */ -int -ada_is_vax_floating_type (struct type *type) -{ - int name_len = - (ada_type_name (type) == NULL) ? 0 : strlen (ada_type_name (type)); - return - name_len > 6 - && (TYPE_CODE (type) == TYPE_CODE_INT - || TYPE_CODE (type) == TYPE_CODE_RANGE) - && STREQN (ada_type_name (type) + name_len - 6, "___XF", 5); -} - -/* The type of special VAX floating-point type this is, assuming - ada_is_vax_floating_point */ -int -ada_vax_float_type_suffix (struct type *type) -{ - return ada_type_name (type)[strlen (ada_type_name (type)) - 1]; -} - -/* A value representing the special debugging function that outputs - VAX floating-point values of the type represented by TYPE. Assumes - ada_is_vax_floating_type (TYPE). */ -struct value * -ada_vax_float_print_function (struct type *type) -{ - switch (ada_vax_float_type_suffix (type)) - { - case 'F': - return get_var_value ("DEBUG_STRING_F", 0); - case 'D': - return get_var_value ("DEBUG_STRING_D", 0); - case 'G': - return get_var_value ("DEBUG_STRING_G", 0); - default: - error ("invalid VAX floating-point type"); - } -} - - - /* Range types */ - -/* Scan STR beginning at position K for a discriminant name, and - return the value of that discriminant field of DVAL in *PX. If - PNEW_K is not null, put the position of the character beyond the - name scanned in *PNEW_K. Return 1 if successful; return 0 and do - not alter *PX and *PNEW_K if unsuccessful. */ - -static int -scan_discrim_bound (char *, int k, struct value *dval, LONGEST * px, - int *pnew_k) -{ - static char *bound_buffer = NULL; - static size_t bound_buffer_len = 0; - char *bound; - char *pend; - struct value *bound_val; - - if (dval == NULL || str == NULL || str[k] == '\0') - return 0; - - pend = strstr (str + k, "__"); - if (pend == NULL) - { - bound = str + k; - k += strlen (bound); - } - else - { - GROW_VECT (bound_buffer, bound_buffer_len, pend - (str + k) + 1); - bound = bound_buffer; - strncpy (bound_buffer, str + k, pend - (str + k)); - bound[pend - (str + k)] = '\0'; - k = pend - str; - } - - bound_val = ada_search_struct_field (bound, dval, 0, VALUE_TYPE (dval)); - if (bound_val == NULL) - return 0; - - *px = value_as_long (bound_val); - if (pnew_k != NULL) - *pnew_k = k; - return 1; -} - -/* Value of variable named NAME in the current environment. If - no such variable found, then if ERR_MSG is null, returns 0, and - otherwise causes an error with message ERR_MSG. */ -static struct value * -get_var_value (char *name, char *err_msg) -{ - struct symbol **syms; - struct block **blocks; - int nsyms; - - nsyms = - ada_lookup_symbol_list (name, get_selected_block (NULL), VAR_NAMESPACE, - &syms, &blocks); - - if (nsyms != 1) - { - if (err_msg == NULL) - return 0; - else - error ("%s", err_msg); - } - - return value_of_variable (syms[0], blocks[0]); -} - -/* Value of integer variable named NAME in the current environment. If - no such variable found, then if ERR_MSG is null, returns 0, and sets - *FLAG to 0. If successful, sets *FLAG to 1. */ -LONGEST -get_int_var_value (char *name, char *err_msg, int *flag) -{ - struct value *var_val = get_var_value (name, err_msg); - - if (var_val == 0) - { - if (flag != NULL) - *flag = 0; - return 0; - } - else - { - if (flag != NULL) - *flag = 1; - return value_as_long (var_val); - } -} - - -/* Return a range type whose base type is that of the range type named - NAME in the current environment, and whose bounds are calculated - from NAME according to the GNAT range encoding conventions. - Extract discriminant values, if needed, from DVAL. If a new type - must be created, allocate in OBJFILE's space. The bounds - information, in general, is encoded in NAME, the base type given in - the named range type. */ - -static struct type * -to_fixed_range_type (char *name, struct value *dval, struct objfile *objfile) -{ - struct type *raw_type = ada_find_any_type (name); - struct type *base_type; - LONGEST low, high; - char *subtype_info; - - if (raw_type == NULL) - base_type = builtin_type_int; - else if (TYPE_CODE (raw_type) == TYPE_CODE_RANGE) - base_type = TYPE_TARGET_TYPE (raw_type); - else - base_type = raw_type; - - subtype_info = strstr (name, "___XD"); - if (subtype_info == NULL) - return raw_type; - else - { - static char *name_buf = NULL; - static size_t name_len = 0; - int prefix_len = subtype_info - name; - LONGEST L, U; - struct type *type; - char *bounds_str; - int n; - - GROW_VECT (name_buf, name_len, prefix_len + 5); - strncpy (name_buf, name, prefix_len); - name_buf[prefix_len] = '\0'; - - subtype_info += 5; - bounds_str = strchr (subtype_info, '_'); - n = 1; - - if (*subtype_info == 'L') - { - if (!ada_scan_number (bounds_str, n, &L, &n) - && !scan_discrim_bound (bounds_str, n, dval, &L, &n)) - return raw_type; - if (bounds_str[n] == '_') - n += 2; - else if (bounds_str[n] == '.') /* FIXME? SGI Workshop kludge. */ - n += 1; - subtype_info += 1; - } - else - { - strcpy (name_buf + prefix_len, "___L"); - L = get_int_var_value (name_buf, "Index bound unknown.", NULL); - } - - if (*subtype_info == 'U') - { - if (!ada_scan_number (bounds_str, n, &U, &n) - && !scan_discrim_bound (bounds_str, n, dval, &U, &n)) - return raw_type; - } - else - { - strcpy (name_buf + prefix_len, "___U"); - U = get_int_var_value (name_buf, "Index bound unknown.", NULL); - } - - if (objfile == NULL) - objfile = TYPE_OBJFILE (base_type); - type = create_range_type (alloc_type (objfile), base_type, L, U); - TYPE_NAME (type) = name; - return type; - } -} - -/* True iff NAME is the name of a range type. */ -int -ada_is_range_type_name (const char *name) -{ - return (name != NULL && strstr (name, "___XD")); -} - - - /* Modular types */ - -/* True iff TYPE is an Ada modular type. */ -int -ada_is_modular_type (struct type *type) -{ - /* FIXME: base_type should be declared in gdbtypes.h, implemented in - valarith.c */ - struct type *subranged_type; /* = base_type (type); */ - - return (subranged_type != NULL && TYPE_CODE (type) == TYPE_CODE_RANGE - && TYPE_CODE (subranged_type) != TYPE_CODE_ENUM - && TYPE_UNSIGNED (subranged_type)); -} - -/* Assuming ada_is_modular_type (TYPE), the modulus of TYPE. */ -LONGEST -ada_modulus (struct type * type) -{ - return TYPE_HIGH_BOUND (type) + 1; -} - - - - /* Operators */ - -/* Table mapping opcodes into strings for printing operators - and precedences of the operators. */ - -static const struct op_print ada_op_print_tab[] = { - {":=", BINOP_ASSIGN, PREC_ASSIGN, 1}, - {"or else", BINOP_LOGICAL_OR, PREC_LOGICAL_OR, 0}, - {"and then", BINOP_LOGICAL_AND, PREC_LOGICAL_AND, 0}, - {"or", BINOP_BITWISE_IOR, PREC_BITWISE_IOR, 0}, - {"xor", BINOP_BITWISE_XOR, PREC_BITWISE_XOR, 0}, - {"and", BINOP_BITWISE_AND, PREC_BITWISE_AND, 0}, - {"=", BINOP_EQUAL, PREC_EQUAL, 0}, - {"/=", BINOP_NOTEQUAL, PREC_EQUAL, 0}, - {"<=", BINOP_LEQ, PREC_ORDER, 0}, - {">=", BINOP_GEQ, PREC_ORDER, 0}, - {">", BINOP_GTR, PREC_ORDER, 0}, - {"<", BINOP_LESS, PREC_ORDER, 0}, - {">>", BINOP_RSH, PREC_SHIFT, 0}, - {"<<", BINOP_LSH, PREC_SHIFT, 0}, - {"+", BINOP_ADD, PREC_ADD, 0}, - {"-", BINOP_SUB, PREC_ADD, 0}, - {"&", BINOP_CONCAT, PREC_ADD, 0}, - {"*", BINOP_MUL, PREC_MUL, 0}, - {"/", BINOP_DIV, PREC_MUL, 0}, - {"rem", BINOP_REM, PREC_MUL, 0}, - {"mod", BINOP_MOD, PREC_MUL, 0}, - {"**", BINOP_EXP, PREC_REPEAT, 0}, - {"@", BINOP_REPEAT, PREC_REPEAT, 0}, - {"-", UNOP_NEG, PREC_PREFIX, 0}, - {"+", UNOP_PLUS, PREC_PREFIX, 0}, - {"not ", UNOP_LOGICAL_NOT, PREC_PREFIX, 0}, - {"not ", UNOP_COMPLEMENT, PREC_PREFIX, 0}, - {"abs ", UNOP_ABS, PREC_PREFIX, 0}, - {".all", UNOP_IND, PREC_SUFFIX, 1}, /* FIXME: postfix .ALL */ - {"'access", UNOP_ADDR, PREC_SUFFIX, 1}, /* FIXME: postfix 'ACCESS */ - {NULL, 0, 0, 0} -}; - - /* Assorted Types and Interfaces */ - -struct type *builtin_type_ada_int; -struct type *builtin_type_ada_short; -struct type *builtin_type_ada_long; -struct type *builtin_type_ada_long_long; -struct type *builtin_type_ada_char; -struct type *builtin_type_ada_float; -struct type *builtin_type_ada_double; -struct type *builtin_type_ada_long_double; -struct type *builtin_type_ada_natural; -struct type *builtin_type_ada_positive; -struct type *builtin_type_ada_system_address; - -struct type **const (ada_builtin_types[]) = -{ - - &builtin_type_ada_int, - &builtin_type_ada_long, - &builtin_type_ada_short, - &builtin_type_ada_char, - &builtin_type_ada_float, - &builtin_type_ada_double, - &builtin_type_ada_long_long, - &builtin_type_ada_long_double, - &builtin_type_ada_natural, &builtin_type_ada_positive, - /* The following types are carried over from C for convenience. */ -&builtin_type_int, - &builtin_type_long, - &builtin_type_short, - &builtin_type_char, - &builtin_type_float, - &builtin_type_double, - &builtin_type_long_long, - &builtin_type_void, - &builtin_type_signed_char, - &builtin_type_unsigned_char, - &builtin_type_unsigned_short, - &builtin_type_unsigned_int, - &builtin_type_unsigned_long, - &builtin_type_unsigned_long_long, - &builtin_type_long_double, - &builtin_type_complex, &builtin_type_double_complex, 0}; - -/* Not really used, but needed in the ada_language_defn. */ -static void -emit_char (int c, struct ui_file *stream, int quoter) -{ - ada_emit_char (c, stream, quoter, 1); -} - -const struct language_defn ada_language_defn = { - "ada", /* Language name */ - /* language_ada, */ - language_unknown, - /* FIXME: language_ada should be defined in defs.h */ - ada_builtin_types, - range_check_off, - type_check_off, - case_sensitive_on, /* Yes, Ada is case-insensitive, but - * that's not quite what this means. */ - ada_parse, - ada_error, - ada_evaluate_subexp, - ada_printchar, /* Print a character constant */ - ada_printstr, /* Function to print string constant */ - emit_char, /* Function to print single char (not used) */ - ada_create_fundamental_type, /* Create fundamental type in this language */ - ada_print_type, /* Print a type using appropriate syntax */ - ada_val_print, /* Print a value using appropriate syntax */ - ada_value_print, /* Print a top-level value */ - {"", "", "", ""}, /* Binary format info */ -#if 0 - {"8#%lo#", "8#", "o", "#"}, /* Octal format info */ - {"%ld", "", "d", ""}, /* Decimal format info */ - {"16#%lx#", "16#", "x", "#"}, /* Hex format info */ -#else - /* Copied from c-lang.c. */ - {"0%lo", "0", "o", ""}, /* Octal format info */ - {"%ld", "", "d", ""}, /* Decimal format info */ - {"0x%lx", "0x", "x", ""}, /* Hex format info */ -#endif - ada_op_print_tab, /* expression operators for printing */ - 1, /* c-style arrays (FIXME?) */ - 0, /* String lower bound (FIXME?) */ - &builtin_type_ada_char, - LANG_MAGIC -}; - -void -_initialize_ada_language () -{ - builtin_type_ada_int = - init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "integer", (struct objfile *) NULL); - builtin_type_ada_long = - init_type (TYPE_CODE_INT, TARGET_LONG_BIT / TARGET_CHAR_BIT, - 0, "long_integer", (struct objfile *) NULL); - builtin_type_ada_short = - init_type (TYPE_CODE_INT, TARGET_SHORT_BIT / TARGET_CHAR_BIT, - 0, "short_integer", (struct objfile *) NULL); - builtin_type_ada_char = - init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT, - 0, "character", (struct objfile *) NULL); - builtin_type_ada_float = - init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT, - 0, "float", (struct objfile *) NULL); - builtin_type_ada_double = - init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "long_float", (struct objfile *) NULL); - builtin_type_ada_long_long = - init_type (TYPE_CODE_INT, TARGET_LONG_LONG_BIT / TARGET_CHAR_BIT, - 0, "long_long_integer", (struct objfile *) NULL); - builtin_type_ada_long_double = - init_type (TYPE_CODE_FLT, TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "long_long_float", (struct objfile *) NULL); - builtin_type_ada_natural = - init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "natural", (struct objfile *) NULL); - builtin_type_ada_positive = - init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "positive", (struct objfile *) NULL); - - - builtin_type_ada_system_address = - lookup_pointer_type (init_type (TYPE_CODE_VOID, 1, 0, "void", - (struct objfile *) NULL)); - TYPE_NAME (builtin_type_ada_system_address) = "system__address"; - - add_language (&ada_language_defn); - - add_show_from_set - (add_set_cmd ("varsize-limit", class_support, var_uinteger, - (char *) &varsize_limit, - "Set maximum bytes in dynamic-sized object.", - &setlist), &showlist); - varsize_limit = 65536; - - add_com ("begin", class_breakpoint, begin_command, - "Start the debugged program, stopping at the beginning of the\n\ -main program. You may specify command-line arguments to give it, as for\n\ -the \"run\" command (q.v.)."); -} - - -/* Create a fundamental Ada type using default reasonable for the current - target machine. - - Some object/debugging file formats (DWARF version 1, COFF, etc) do not - define fundamental types such as "int" or "double". Others (stabs or - DWARF version 2, etc) do define fundamental types. For the formats which - don't provide fundamental types, gdb can create such types using this - function. - - FIXME: Some compilers distinguish explicitly signed integral types - (signed short, signed int, signed long) from "regular" integral types - (short, int, long) in the debugging information. There is some dis- - agreement as to how useful this feature is. In particular, gcc does - not support this. Also, only some debugging formats allow the - distinction to be passed on to a debugger. For now, we always just - use "short", "int", or "long" as the type name, for both the implicit - and explicitly signed types. This also makes life easier for the - gdb test suite since we don't have to account for the differences - in output depending upon what the compiler and debugging format - support. We will probably have to re-examine the issue when gdb - starts taking it's fundamental type information directly from the - debugging information supplied by the compiler. fnf@cygnus.com */ - -static struct type * -ada_create_fundamental_type (struct objfile *objfile, int typeid) -{ - 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 Ada 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_CHAR: - type = init_type (TYPE_CODE_INT, - TARGET_CHAR_BIT / TARGET_CHAR_BIT, - 0, "character", objfile); - 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_integer", objfile); - break; - case FT_SIGNED_SHORT: - type = init_type (TYPE_CODE_INT, - TARGET_SHORT_BIT / TARGET_CHAR_BIT, - 0, "short_integer", objfile); - 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, "integer", objfile); - break; - case FT_SIGNED_INTEGER: - type = init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, 0, "integer", 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_integer", objfile); - break; - case FT_SIGNED_LONG: - type = init_type (TYPE_CODE_INT, - TARGET_LONG_BIT / TARGET_CHAR_BIT, - 0, "long_integer", objfile); - 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_integer", objfile); - break; - case FT_SIGNED_LONG_LONG: - type = init_type (TYPE_CODE_INT, - TARGET_LONG_LONG_BIT / TARGET_CHAR_BIT, - 0, "long_long_integer", 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, "long_float", objfile); - break; - case FT_EXT_PREC_FLOAT: - type = init_type (TYPE_CODE_FLT, - TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "long_long_float", objfile); - break; - } - return (type); -} - -void -ada_dump_symtab (struct symtab *s) -{ - int i; - fprintf (stderr, "New symtab: [\n"); - fprintf (stderr, " Name: %s/%s;\n", - s->dirname ? s->dirname : "?", s->filename ? s->filename : "?"); - fprintf (stderr, " Format: %s;\n", s->debugformat); - if (s->linetable != NULL) - { - fprintf (stderr, " Line table (section %d):\n", s->block_line_section); - for (i = 0; i < s->linetable->nitems; i += 1) - { - struct linetable_entry *e = s->linetable->item + i; - fprintf (stderr, " %4ld: %8lx\n", (long) e->line, (long) e->pc); - } - } - fprintf (stderr, "]\n"); -} diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h deleted file mode 100644 index d2b426c8ceb..00000000000 --- a/gdb/ada-lang.h +++ /dev/null @@ -1,388 +0,0 @@ -/* Ada language support definitions for GDB, the GNU debugger. - Copyright 1992, 1997 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#if !defined (ADA_LANG_H) -#define ADA_LANG_H 1 - -#include "value.h" -#include "gdbtypes.h" - -/* A macro to reorder the bytes of an address depending on the endiannes - of the target */ -#define EXTRACT_ADDRESS(x) ((void *) extract_address (&(x), sizeof (x))) -/* A macro to reorder the bytes of an int depending on the endiannes - of the target */ -#define EXTRACT_INT(x) ((int) extract_signed_integer (&(x), sizeof (x))) - -/* Chain of cleanups for arguments of OP_UNRESOLVED_VALUE names. Created in - yyparse and freed in ada_resolve. */ -extern struct cleanup *unresolved_names; - -/* Corresponding mangled/demangled names and opcodes for Ada user-definable - operators. */ -struct ada_opname_map -{ - const char *mangled; - const char *demangled; - enum exp_opcode op; -}; - -/* Table of Ada operators in mangled and demangled forms. */ -/* Defined in ada-lang.c */ -extern const struct ada_opname_map ada_opname_table[]; - -/* The maximum number of tasks known to the Ada runtime */ -extern const int MAX_NUMBER_OF_KNOWN_TASKS; - -/* Identifiers for Ada attributes that need special processing. Be sure - to update the table attribute_names in ada-lang.c whenever you change this. - */ - -enum ada_attribute -{ - /* Invalid attribute for error checking. */ - ATR_INVALID, - - ATR_FIRST, - ATR_LAST, - ATR_LENGTH, - ATR_IMAGE, - ATR_IMG, - ATR_MAX, - ATR_MIN, - ATR_MODULUS, - ATR_POS, - ATR_SIZE, - ATR_TAG, - ATR_VAL, - - /* Dummy last attribute. */ - ATR_END -}; - -enum task_states -{ - Unactivated, - Runnable, - Terminated, - Activator_Sleep, - Acceptor_Sleep, - Entry_Caller_Sleep, - Async_Select_Sleep, - Delay_Sleep, - Master_Completion_Sleep, - Master_Phase_2_Sleep -}; - -extern char *ada_task_states[]; - -typedef struct -{ - char *P_ARRAY; - int *P_BOUNDS; -} -fat_string; - -typedef struct entry_call -{ - void *self; -} - *entry_call_link; - -struct task_fields -{ - int entry_num; -#if (defined (VXWORKS_TARGET) || !defined (i386)) \ - && !(defined (VXWORKS_TARGET) && defined (M68K_TARGET)) - int pad1; -#endif - char state; -#if (defined (VXWORKS_TARGET) && defined (M68K_TARGET)) - char pad_8bits; -#endif - void *parent; - int priority; - int current_priority; - fat_string image; - entry_call_link call; -#if (defined (sun) && defined (__SVR4)) && !defined (VXWORKS_TARGET) - int pad2; - unsigned thread; - unsigned lwp; -#else - void *thread; - void *lwp; -#endif -} -#if (defined (VXWORKS_TARGET) && defined (M68K_TARGET)) -__attribute__ ((packed)) -#endif - ; - -struct task_entry -{ - void *task_id; - int task_num; - int known_tasks_index; - struct task_entry *next_task; - void *thread; - void *lwp; - int stack_per; -}; - -extern struct type *builtin_type_ada_int; -extern struct type *builtin_type_ada_short; -extern struct type *builtin_type_ada_long; -extern struct type *builtin_type_ada_long_long; -extern struct type *builtin_type_ada_char; -extern struct type *builtin_type_ada_float; -extern struct type *builtin_type_ada_double; -extern struct type *builtin_type_ada_long_double; -extern struct type *builtin_type_ada_natural; -extern struct type *builtin_type_ada_positive; -extern struct type *builtin_type_ada_system_address; - -/* Assuming V points to an array of S objects, make sure that it contains at - least M objects, updating V and S as necessary. */ - -#define GROW_VECT(v, s, m) \ - if ((s) < (m)) grow_vect ((void**) &(v), &(s), (m), sizeof(*(v))); - -extern void grow_vect (void **, size_t *, size_t, int); - -extern int ada_parse (void); /* Defined in ada-exp.y */ - -extern void ada_error (char *); /* Defined in ada-exp.y */ - - /* Defined in ada-typeprint.c */ -extern void ada_print_type (struct type *, char *, struct ui_file *, int, - int); - -extern int ada_val_print (struct type *, char *, int, CORE_ADDR, - struct ui_file *, int, int, int, - enum val_prettyprint); - -extern int ada_value_print (struct value *, struct ui_file *, int, - enum val_prettyprint); - - /* Defined in ada-lang.c */ - -extern struct value *value_from_contents_and_address (struct type *, char *, - CORE_ADDR); - -extern void ada_emit_char (int, struct ui_file *, int, int); - -extern void ada_printchar (int, struct ui_file *); - -extern void ada_printstr (struct ui_file *, char *, unsigned int, int, int); - -extern void ada_convert_actuals (struct value *, int, struct value **, - CORE_ADDR *); - -extern struct value *ada_value_subscript (struct value *, int, - struct value **); - -extern struct type *ada_array_element_type (struct type *, int); - -extern int ada_array_arity (struct type *); - -struct type *ada_type_of_array (struct value *, int); - -extern struct value *ada_coerce_to_simple_array (struct value *); - -extern struct value *ada_coerce_to_simple_array_ptr (struct value *); - -extern int ada_is_simple_array (struct type *); - -extern int ada_is_array_descriptor (struct type *); - -extern int ada_is_bogus_array_descriptor (struct type *); - -extern struct type *ada_index_type (struct type *, int); - -extern struct value *ada_array_bound (struct value *, int, int); - -extern int ada_lookup_symbol_list (const char *, struct block *, - namespace_enum, struct symbol ***, - struct block ***); - -extern char *ada_fold_name (const char *); - -extern struct symbol *ada_lookup_symbol (const char *, struct block *, - namespace_enum); - -extern struct minimal_symbol *ada_lookup_minimal_symbol (const char *); - -extern void ada_resolve (struct expression **, struct type *); - -extern int ada_resolve_function (struct symbol **, struct block **, int, - struct value **, int, const char *, - struct type *); - -extern void ada_fill_in_ada_prototype (struct symbol *); - -extern int user_select_syms (struct symbol **, struct block **, int, int); - -extern int get_selections (int *, int, int, int, char *); - -extern char *ada_start_decode_line_1 (char *); - -extern struct symtabs_and_lines ada_finish_decode_line_1 (char **, - struct symtab *, - int, char ***); - -extern int ada_scan_number (const char *, int, LONGEST *, int *); - -extern struct type *ada_parent_type (struct type *); - -extern int ada_is_ignored_field (struct type *, int); - -extern int ada_is_packed_array_type (struct type *); - -extern struct value *ada_value_primitive_packed_val (struct value *, char *, - long, int, int, - struct type *); - -extern struct type *ada_coerce_to_simple_array_type (struct type *); - -extern int ada_is_character_type (struct type *); - -extern int ada_is_string_type (struct type *); - -extern int ada_is_tagged_type (struct type *); - -extern struct type *ada_tag_type (struct value *); - -extern struct value *ada_value_tag (struct value *); - -extern int ada_is_parent_field (struct type *, int); - -extern int ada_is_wrapper_field (struct type *, int); - -extern int ada_is_variant_part (struct type *, int); - -extern struct type *ada_variant_discrim_type (struct type *, struct type *); - -extern int ada_is_others_clause (struct type *, int); - -extern int ada_in_variant (LONGEST, struct type *, int); - -extern char *ada_variant_discrim_name (struct type *); - -extern struct type *ada_lookup_struct_elt_type (struct type *, char *, int, - int *); - -extern struct value *ada_value_struct_elt (struct value *, char *, char *); - -extern struct value *ada_search_struct_field (char *, struct value *, int, - struct type *); - -extern int ada_is_aligner_type (struct type *); - -extern struct type *ada_aligned_type (struct type *); - -extern char *ada_aligned_value_addr (struct type *, char *); - -extern const char *ada_attribute_name (int); - -extern int ada_is_fixed_point_type (struct type *); - -extern DOUBLEST ada_delta (struct type *); - -extern DOUBLEST ada_fixed_to_float (struct type *, LONGEST); - -extern LONGEST ada_float_to_fixed (struct type *, DOUBLEST); - -extern int ada_is_vax_floating_type (struct type *); - -extern int ada_vax_float_type_suffix (struct type *); - -extern struct value *ada_vax_float_print_function (struct type *); - -extern struct type *ada_system_address_type (void); - -extern int ada_which_variant_applies (struct type *, struct type *, char *); - -extern struct value *ada_to_fixed_value (struct type *, char *, CORE_ADDR, - struct value *); - -extern struct type *ada_to_fixed_type (struct type *, char *, CORE_ADDR, - struct value *); - -extern int ada_name_prefix_len (const char *); - -extern char *ada_type_name (struct type *); - -extern struct type *ada_find_parallel_type (struct type *, - const char *suffix); - -extern LONGEST get_int_var_value (char *, char *, int *); - -extern struct type *ada_find_any_type (const char *name); - -extern int ada_prefer_type (struct type *, struct type *); - -extern struct type *ada_get_base_type (struct type *); - -extern struct type *ada_completed_type (struct type *); - -extern char *ada_mangle (const char *); - -extern const char *ada_enum_name (const char *); - -extern int ada_is_modular_type (struct type *); - -extern LONGEST ada_modulus (struct type *); - -extern struct value *ada_value_ind (struct value *); - -extern void ada_print_scalar (struct type *, LONGEST, struct ui_file *); - -extern int ada_is_range_type_name (const char *); - -extern const char *ada_renaming_type (struct type *); - -extern int ada_is_object_renaming (struct symbol *); - -extern const char *ada_simple_renamed_entity (struct symbol *); - -extern char *ada_breakpoint_rewrite (char *, int *); - -/* Tasking-related: ada-tasks.c */ - -extern int valid_task_id (int); - -extern int get_current_task (void); - -extern void init_task_list (void); - -extern void *get_self_id (void); - -extern int get_current_task (void); - -extern int get_entry_number (void *); - -extern void ada_report_exception_break (struct breakpoint *); - -extern int ada_maybe_exception_partial_symbol (struct partial_symbol *sym); - -extern int ada_is_exception_sym (struct symbol *sym); - - -#endif diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l deleted file mode 100644 index 2252d526a52..00000000000 --- a/gdb/ada-lex.l +++ /dev/null @@ -1,928 +0,0 @@ -/* FLEX lexer for Ada expressions, for GDB. - Copyright (C) 1994, 1997, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/*----------------------------------------------------------------------*/ - -/* The converted version of this file is to be included in ada-exp.y, */ -/* the Ada parser for gdb. The function yylex obtains characters from */ -/* the global pointer lexptr. It returns a syntactic category for */ -/* each successive token and places a semantic value into yylval */ -/* (ada-lval), defined by the parser. */ - -/* Run flex with (at least) the -i option (case-insensitive), and the -I */ -/* option (interactive---no unnecessary lookahead). */ - -DIG [0-9] -NUM10 ({DIG}({DIG}|_)*) -HEXDIG [0-9a-f] -NUM16 ({HEXDIG}({HEXDIG}|_)*) -OCTDIG [0-7] -LETTER [a-z_] -ID ({LETTER}({LETTER}|{DIG})*|"<"{LETTER}({LETTER}|{DIG})*">") -WHITE [ \t\n] -TICK ("'"{WHITE}*) -GRAPHIC [a-z0-9 #&'()*+,-./:;<>=_|!$%?@\[\]\\^`{}~] -OPER ([-+*/=<>&]|"<="|">="|"**"|"/="|"and"|"or"|"xor"|"not"|"mod"|"rem"|"abs") - -EXP (e[+-]{NUM10}) -POSEXP (e"+"?{NUM10}) - -%{ -#define NUMERAL_WIDTH 256 -#define LONGEST_SIGN ((ULONGEST) 1 << (sizeof(LONGEST) * HOST_CHAR_BIT - 1)) - -/* Temporary staging for numeric literals. */ -static char numbuf[NUMERAL_WIDTH]; - static void canonicalizeNumeral (char* s1, const char*); -static int processInt (const char*, const char*, const char*); -static int processReal (const char*); -static int processId (const char*, int); -static int processAttribute (const char*); -static int find_dot_all (const char*); - -#undef YY_DECL -#define YY_DECL static int yylex ( void ) - -#undef YY_INPUT -#define YY_INPUT(BUF, RESULT, MAX_SIZE) \ - if ( *lexptr == '\000' ) \ - (RESULT) = YY_NULL; \ - else \ - { \ - *(BUF) = *lexptr; \ - (RESULT) = 1; \ - lexptr += 1; \ - } - -static char *tempbuf = NULL; -static int tempbufsize = 0; -static int tempbuf_len; -static struct block* left_block_context; - -static void resize_tempbuf (unsigned int); - -static void block_lookup (char*, char*); - -static int name_lookup (char*, char*, int*); - -static int find_dot_all (const char*); - -%} - -%s IN_STRING BEFORE_QUAL_QUOTE - -%% - -{WHITE} { } - -"--".* { yyterminate(); } - -{NUM10}{POSEXP} { - canonicalizeNumeral (numbuf, yytext); - return processInt (NULL, numbuf, strrchr(numbuf, 'e')+1); - } - -{NUM10} { - canonicalizeNumeral (numbuf, yytext); - return processInt (NULL, numbuf, NULL); - } - -{NUM10}"#"{HEXDIG}({HEXDIG}|_)*"#"{POSEXP} { - canonicalizeNumeral (numbuf, yytext); - return processInt (numbuf, - strchr (numbuf, '#') + 1, - strrchr(numbuf, '#') + 1); - } - -{NUM10}"#"{HEXDIG}({HEXDIG}|_)*"#" { - canonicalizeNumeral (numbuf, yytext); - return processInt (numbuf, strchr (numbuf, '#') + 1, NULL); - } - -"0x"{HEXDIG}+ { - canonicalizeNumeral (numbuf, yytext+2); - return processInt ("16#", numbuf, NULL); - } - - -{NUM10}"."{NUM10}{EXP} { - canonicalizeNumeral (numbuf, yytext); - return processReal (numbuf); - } - -{NUM10}"."{NUM10} { - canonicalizeNumeral (numbuf, yytext); - return processReal (numbuf); - } - -{NUM10}"#"{NUM16}"."{NUM16}"#"{EXP} { - error ("Based real literals not implemented yet."); - } - -{NUM10}"#"{NUM16}"."{NUM16}"#" { - error ("Based real literals not implemented yet."); - } - -"'"({GRAPHIC}|\")"'" { - yylval.typed_val.type = builtin_type_ada_char; - yylval.typed_val.val = yytext[1]; - return CHARLIT; - } - -"'[\""{HEXDIG}{2}"\"]'" { - int v; - yylval.typed_val.type = builtin_type_ada_char; - sscanf (yytext+3, "%2x", &v); - yylval.typed_val.val = v; - return CHARLIT; - } - -\"{OPER}\"/{WHITE}*"(" { return processId (yytext, yyleng); } - -\" { - tempbuf_len = 0; - BEGIN IN_STRING; - } - -{GRAPHIC}*\" { - resize_tempbuf (yyleng+tempbuf_len); - strncpy (tempbuf+tempbuf_len, yytext, yyleng-1); - tempbuf_len += yyleng-1; - yylval.sval.ptr = tempbuf; - yylval.sval.length = tempbuf_len; - BEGIN INITIAL; - return STRING; - } - -{GRAPHIC}*"[\""{HEXDIG}{2}"\"]" { - int n; - resize_tempbuf (yyleng-5+tempbuf_len+1); - strncpy (tempbuf+tempbuf_len, yytext, yyleng-6); - sscanf(yytext+yyleng-4, "%2x", &n); - tempbuf[yyleng-6+tempbuf_len] = (char) n; - tempbuf_len += yyleng-5; - } - -{GRAPHIC}*"[\"\"\"]" { - int n; - resize_tempbuf (yyleng-4+tempbuf_len+1); - strncpy (tempbuf+tempbuf_len, yytext, yyleng-6); - tempbuf[yyleng-5+tempbuf_len] = '"'; - tempbuf_len += yyleng-4; - } - -if { - while (*lexptr != 'i' && *lexptr != 'I') - lexptr -= 1; - yyrestart(NULL); - return 0; - } - - /* ADA KEYWORDS */ - -abs { return ABS; } -and { return _AND_; } -else { return ELSE; } -in { return IN; } -mod { return MOD; } -new { return NEW; } -not { return NOT; } -null { return NULL_PTR; } -or { return OR; } -rem { return REM; } -then { return THEN; } -xor { return XOR; } - - /* ATTRIBUTES */ - -{TICK}[a-zA-Z][a-zA-Z]+ { return processAttribute (yytext+1); } - - /* PUNCTUATION */ - -"=>" { return ARROW; } -".." { return DOTDOT; } -"**" { return STARSTAR; } -":=" { return ASSIGN; } -"/=" { return NOTEQUAL; } -"<=" { return LEQ; } -">=" { return GEQ; } - -"'" { BEGIN INITIAL; return '\''; } - -[-&*+./:<>=|;\[\]] { return yytext[0]; } - -"," { if (paren_depth == 0 && comma_terminates) - { - lexptr -= 1; - yyrestart(NULL); - return 0; - } - else - return ','; - } - -"(" { paren_depth += 1; return '('; } -")" { if (paren_depth == 0) - { - lexptr -= 1; - yyrestart(NULL); - return 0; - } - else - { - paren_depth -= 1; - return ')'; - } - } - -"."{WHITE}*all { return DOT_ALL; } - -"."{WHITE}*{ID} { - processId (yytext+1, yyleng-1); - return DOT_ID; - } - -{ID}({WHITE}*"."{WHITE}*({ID}|\"{OPER}\"))*(" "*"'")? { - int all_posn = find_dot_all (yytext); - int token_type, segments, k; - int quote_follows; - - if (all_posn == -1 && yytext[yyleng-1] == '\'') - { - quote_follows = 1; - do { - yyless (yyleng-1); - } while (yytext[yyleng-1] == ' '); - } - else - quote_follows = 0; - - if (all_posn >= 0) - yyless (all_posn); - processId(yytext, yyleng); - segments = name_lookup (ada_mangle (yylval.ssym.stoken.ptr), - yylval.ssym.stoken.ptr, &token_type); - left_block_context = NULL; - for (k = yyleng; segments > 0 && k > 0; k -= 1) - { - if (yytext[k-1] == '.') - segments -= 1; - quote_follows = 0; - } - if (k <= 0) - error ("confused by name %s", yytext); - yyless (k); - if (quote_follows) - BEGIN BEFORE_QUAL_QUOTE; - return token_type; - } - - /* GDB EXPRESSION CONSTRUCTS */ - - -"'"[^']+"'"{WHITE}*:: { - processId(yytext, yyleng-2); - block_lookup (yylval.ssym.stoken.ptr, yylval.ssym.stoken.ptr); - return BLOCKNAME; - } - -{ID}({WHITE}*"."{WHITE}*({ID}|\"{OPER}\"))*{WHITE}*:: { - processId(yytext, yyleng-2); - block_lookup (ada_mangle (yylval.ssym.stoken.ptr), - yylval.ssym.stoken.ptr); - return BLOCKNAME; - } - -[{}@] { return yytext[0]; } - -"$$" { yylval.lval = -1; return LAST; } -"$$"{DIG}+ { yylval.lval = -atoi(yytext+2); return LAST; } -"$" { yylval.lval = 0; return LAST; } -"$"{DIG}+ { yylval.lval = atoi(yytext+1); return LAST; } - - - /* REGISTERS AND GDB CONVENIENCE VARIABLES */ - -"$"({LETTER}|{DIG}|"$")+ { - int c; - for (c = 0; c < NUM_REGS; c++) - if (REGISTER_NAME (c) && - strcmp (yytext + 1, REGISTER_NAME (c)) == 0) - { - yylval.lval = c; - return REGNAME; - } - yylval.sval.ptr = yytext; - yylval.sval.length = yyleng; - yylval.ivar = - lookup_internalvar (copy_name (yylval.sval) + 1); - return INTERNAL_VARIABLE; - } - - /* CATCH-ALL ERROR CASE */ - -. { error ("Invalid character '%s' in expression.", yytext); } -%% - -#include -#include - -/* Initialize the lexer for processing new expression */ -void -lexer_init (FILE* inp) -{ - BEGIN INITIAL; - yyrestart (inp); -} - - -/* Make sure that tempbuf points at an array at least N characters long. */ - -static void -resize_tempbuf (n) - unsigned int n; -{ - if (tempbufsize < n) - { - tempbufsize = (n+63) & ~63; - tempbuf = (char*) xrealloc (tempbuf, tempbufsize); - } -} - -/* Copy S2 to S1, removing all underscores, and downcasing all letters. */ - -static void -canonicalizeNumeral (s1,s2) - char* s1; - const char* s2; -{ - for (; *s2 != '\000'; s2 += 1) - { - if (*s2 != '_') - { - *s1 = tolower(*s2); - s1 += 1; - } - } - s1[0] = '\000'; -} - -#define HIGH_BYTE_POSN ((sizeof (ULONGEST) - 1) * HOST_CHAR_BIT) - -/* True (non-zero) iff DIGIT is a valid digit in radix BASE, - where 2 <= BASE <= 16. */ - -static int -is_digit_in_base (digit, base) - unsigned char digit; - int base; -{ - if (!isxdigit (digit)) - return 0; - if (base <= 10) - return (isdigit (digit) && digit < base + '0'); - else - return (isdigit (digit) || tolower (digit) < base - 10 + 'a'); -} - -static int -digit_to_int (c) - unsigned char c; -{ - if (isdigit (c)) - return c - '0'; - else - return tolower (c) - 'a' + 10; -} - -/* As for strtoul, but for ULONGEST results. */ -ULONGEST -strtoulst (num, trailer, base) - const char *num; - const char **trailer; - int base; -{ - unsigned int high_part; - ULONGEST result; - int i; - unsigned char lim; - - if (base < 2 || base > 16) - { - errno = EINVAL; - return 0; - } - lim = base - 1 + '0'; - - result = high_part = 0; - for (i = 0; is_digit_in_base (num[i], base); i += 1) - { - result = result*base + digit_to_int (num[i]); - high_part = high_part*base + (unsigned int) (result >> HIGH_BYTE_POSN); - result &= ((ULONGEST) 1 << HIGH_BYTE_POSN) - 1; - if (high_part > 0xff) - { - errno = ERANGE; - result = high_part = 0; - break; - } - } - - if (trailer != NULL) - *trailer = &num[i]; - - return result + ((ULONGEST) high_part << HIGH_BYTE_POSN); -} - - - -/* Interprets the prefix of NUM that consists of digits of the given BASE - as an integer of that BASE, with the string EXP as an exponent. - Puts value in yylval, and returns INT, if the string is valid. Causes - an error if the number is improperly formated. BASE, if NULL, defaults - to "10", and EXP to "1". The EXP does not contain a leading 'e' or 'E'. */ - -static int -processInt (base0, num0, exp0) - const char* num0; - const char* base0; - const char* exp0; -{ - ULONGEST result; - long exp; - int base; - - char* trailer; - - if (base0 == NULL) - base = 10; - else - { - base = strtol (base0, (char**) NULL, 10); - if (base < 2 || base > 16) - error ("Invalid base: %d.", base); - } - - if (exp0 == NULL) - exp = 0; - else - exp = strtol(exp0, (char**) NULL, 10); - - errno = 0; - result = strtoulst (num0, &trailer, base); - if (errno == ERANGE) - error ("Integer literal out of range"); - if (isxdigit(*trailer)) - error ("Invalid digit `%c' in based literal", *trailer); - - while (exp > 0) - { - if (result > (ULONG_MAX / base)) - error ("Integer literal out of range"); - result *= base; - exp -= 1; - } - - if ((result >> (TARGET_INT_BIT-1)) == 0) - yylval.typed_val.type = builtin_type_ada_int; - else if ((result >> (TARGET_LONG_BIT-1)) == 0) - yylval.typed_val.type = builtin_type_ada_long; - else if (((result >> (TARGET_LONG_BIT-1)) >> 1) == 0) - { - /* We have a number representable as an unsigned integer quantity. - For consistency with the C treatment, we will treat it as an - anonymous modular (unsigned) quantity. Alas, the types are such - that we need to store .val as a signed quantity. Sorry - for the mess, but C doesn't officially guarantee that a simple - assignment does the trick (no, it doesn't; read the reference manual). - */ - yylval.typed_val.type = builtin_type_unsigned_long; - if (result & LONGEST_SIGN) - yylval.typed_val.val = - (LONGEST) (result & ~LONGEST_SIGN) - - (LONGEST_SIGN>>1) - (LONGEST_SIGN>>1); - else - yylval.typed_val.val = (LONGEST) result; - return INT; - } - else - yylval.typed_val.type = builtin_type_ada_long_long; - - yylval.typed_val.val = (LONGEST) result; - return INT; -} - -static int -processReal (num0) - const char* num0; -{ - if (sizeof (DOUBLEST) <= sizeof (float)) - sscanf (num0, "%g", &yylval.typed_val_float.dval); - else if (sizeof (DOUBLEST) <= sizeof (double)) - sscanf (num0, "%lg", &yylval.typed_val_float.dval); - else - { -#ifdef PRINTF_HAS_LONG_DOUBLE - sscanf (num0, "%Lg", &yylval.typed_val_float.dval); -#else - /* Scan it into a double, then convert and assign it to the - long double. This at least wins with values representable - in the range of doubles. */ - double temp; - sscanf (num0, "%lg", &temp); - yylval.typed_val_float.dval = temp; -#endif - } - - yylval.typed_val_float.type = builtin_type_ada_float; - if (sizeof(DOUBLEST) >= TARGET_DOUBLE_BIT / TARGET_CHAR_BIT) - yylval.typed_val_float.type = builtin_type_ada_double; - if (sizeof(DOUBLEST) >= TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT) - yylval.typed_val_float.type = builtin_type_ada_long_double; - - return FLOAT; -} - -static int -processId (name0, len) - const char *name0; - int len; -{ - char* name = xmalloc (len + 11); - int i0, i; - -/* add_name_string_cleanup (name); */ -/* FIXME: add_name_string_cleanup should be defined in parse.c */ - while (len > 0 && isspace (name0[len-1])) - len -= 1; - i = i0 = 0; - while (i0 < len) - { - if (isalnum (name0[i0])) - { - name[i] = tolower (name0[i0]); - i += 1; i0 += 1; - } - else switch (name0[i0]) - { - default: - name[i] = name0[i0]; - i += 1; i0 += 1; - break; - case ' ': case '\t': - i0 += 1; - break; - case '\'': - i0 += 1; - while (i0 < len && name0[i0] != '\'') - { - name[i] = name0[i0]; - i += 1; i0 += 1; - } - i0 += 1; - break; - case '<': - i0 += 1; - while (i0 < len && name0[i0] != '>') - { - name[i] = name0[i0]; - i += 1; i0 += 1; - } - i0 += 1; - break; - } - } - name[i] = '\000'; - - yylval.ssym.sym = NULL; - yylval.ssym.stoken.ptr = name; - yylval.ssym.stoken.length = i; - return NAME; -} - -static void -block_lookup (name, err_name) - char* name; - char* err_name; -{ - struct symbol** syms; - struct block** blocks; - int nsyms; - struct symtab *symtab; - nsyms = ada_lookup_symbol_list (name, left_block_context, - VAR_NAMESPACE, &syms, &blocks); - if (left_block_context == NULL && - (nsyms == 0 || SYMBOL_CLASS (syms[0]) != LOC_BLOCK)) - symtab = lookup_symtab (name); - else - symtab = NULL; - - if (symtab != NULL) - left_block_context = yylval.bval = - BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), STATIC_BLOCK); - else if (nsyms == 0 || SYMBOL_CLASS (syms[0]) != LOC_BLOCK) - { - if (left_block_context == NULL) - error ("No file or function \"%s\".", err_name); - else - error ("No function \"%s\" in specified context.", err_name); - } - else - { - left_block_context = yylval.bval = SYMBOL_BLOCK_VALUE (syms[0]); - if (nsyms > 1) - warning ("Function name \"%s\" ambiguous here", err_name); - } -} - -/* Look up NAME0 (assumed to be mangled) as a name in VAR_NAMESPACE, - setting *TOKEN_TYPE to NAME or TYPENAME, depending on what is - found. Try first the entire name, then the name without the last - segment (i.e., after the last .id), etc., and return the number of - segments that had to be removed to get a match. Calls error if no - matches are found, using ERR_NAME in any error message. When - exactly one symbol match is found, it is placed in yylval. */ - -static int -name_lookup (name0, err_name, token_type) - char* name0; - char* err_name; - int* token_type; -{ - struct symbol** syms; - struct block** blocks; - struct type* type; - int len0 = strlen (name0); - char* name = savestring (name0, len0); - int nsyms; - int segments; - -/* add_name_string_cleanup (name);*/ -/* FIXME: add_name_string_cleanup should be defined in parse.c */ - yylval.ssym.stoken.ptr = name; - yylval.ssym.stoken.length = strlen (name); - for (segments = 0; ; segments += 1) - { - struct type* preferred_type; - int i, preferred_index; - - if (left_block_context == NULL) - nsyms = ada_lookup_symbol_list (name, expression_context_block, - VAR_NAMESPACE, &syms, &blocks); - else - nsyms = ada_lookup_symbol_list (name, left_block_context, - VAR_NAMESPACE, &syms, &blocks); - - /* Check for a type definition. */ - - /* Look for a symbol that doesn't denote void. This is (I think) a */ - /* temporary kludge to get around problems in GNAT output. */ - preferred_index = -1; preferred_type = NULL; - for (i = 0; i < nsyms; i += 1) - switch (SYMBOL_CLASS (syms[i])) - { - case LOC_TYPEDEF: - if (ada_prefer_type (SYMBOL_TYPE (syms[i]), preferred_type)) - { - preferred_index = i; - preferred_type = SYMBOL_TYPE (syms[i]); - } - break; - case LOC_REGISTER: - case LOC_ARG: - case LOC_REF_ARG: - case LOC_REGPARM: - case LOC_REGPARM_ADDR: - case LOC_LOCAL: - case LOC_LOCAL_ARG: - case LOC_BASEREG: - case LOC_BASEREG_ARG: - goto NotType; - default: - break; - } - if (preferred_type != NULL) - { -/* if (TYPE_CODE (preferred_type) == TYPE_CODE_VOID) - error ("`%s' matches only void type name(s)", - ada_demangle (name)); -*/ -/* FIXME: ada_demangle should be defined in defs.h, and is located in ada-lang.c */ -/* else*/ if (ada_is_object_renaming (syms[preferred_index])) - { - yylval.ssym.sym = syms[preferred_index]; - *token_type = OBJECT_RENAMING; - return segments; - } - else if (ada_renaming_type (SYMBOL_TYPE (syms[preferred_index])) - != NULL) - { - int result; - const char* renaming = - ada_simple_renamed_entity (syms[preferred_index]); - char* new_name = xmalloc (strlen (renaming) + len0 - - yylval.ssym.stoken.length + 1); -/* add_name_string_cleanup (new_name);*/ -/* FIXME: add_name_string_cleanup should be defined in parse.c */ - strcpy (new_name, renaming); - strcat (new_name, name0 + yylval.ssym.stoken.length); - result = name_lookup (new_name, err_name, token_type); - if (result > segments) - error ("Confused by renamed symbol."); - return result; - } - else if (segments == 0) - { - yylval.tval = preferred_type; - *token_type = TYPENAME; - return 0; - } - } - - if (segments == 0) - { - type = lookup_primitive_typename (name); - if (type == NULL && STREQ ("system__address", name)) - type = builtin_type_ada_system_address; - if (type != NULL) - { - yylval.tval = type; - *token_type = TYPENAME; - return 0; - } - } - - NotType: - if (nsyms == 1) - { - *token_type = NAME; - yylval.ssym.sym = syms[0]; - yylval.ssym.msym = NULL; - yylval.ssym.block = blocks[0]; - return segments; - } - else if (nsyms == 0) { - int i; - yylval.ssym.msym = ada_lookup_minimal_symbol (name); - if (yylval.ssym.msym != NULL) - { - yylval.ssym.sym = NULL; - yylval.ssym.block = NULL; - *token_type = NAME; - return segments; - } - - for (i = yylval.ssym.stoken.length - 1; i > 0; i -= 1) - { - if (name[i] == '.') - { - name[i] = '\0'; - yylval.ssym.stoken.length = i; - break; - } - else if (name[i] == '_' && name[i-1] == '_') - { - i -= 1; - name[i] = '\0'; - yylval.ssym.stoken.length = i; - break; - } - } - if (i <= 0) - { - if (!have_full_symbols () && !have_partial_symbols () - && left_block_context == NULL) - error ("No symbol table is loaded. Use the \"file\" command."); - if (left_block_context == NULL) - error ("No definition of \"%s\" in current context.", - err_name); - else - error ("No definition of \"%s\" in specified context.", - err_name); - } - } - else - { - *token_type = NAME; - yylval.ssym.sym = NULL; - yylval.ssym.msym = NULL; - if (left_block_context == NULL) - yylval.ssym.block = expression_context_block; - else - yylval.ssym.block = left_block_context; - return segments; - } - } -} - -/* Returns the position within STR of the '.' in a - '.{WHITE}*all' component of a dotted name, or -1 if there is none. */ -static int -find_dot_all (str) - const char* str; -{ - int i; - for (i = 0; str[i] != '\000'; i += 1) - { - if (str[i] == '.') - { - int i0 = i; - do - i += 1; - while (isspace (str[i])); - if (strcmp (str+i, "all") == 0 - && ! isalnum (str[i+3]) && str[i+3] != '_') - return i0; - } - } - return -1; -} - -/* Returns non-zero iff string SUBSEQ matches a subsequence of STR, ignoring - case. */ - -static int -subseqMatch (subseq, str) - const char* subseq; - const char* str; -{ - if (subseq[0] == '\0') - return 1; - else if (str[0] == '\0') - return 0; - else if (tolower (subseq[0]) == tolower (str[0])) - return subseqMatch (subseq+1, str+1) || subseqMatch (subseq, str+1); - else - return subseqMatch (subseq, str+1); -} - - -static struct { const char* name; int code; } -attributes[] = { - { "address", TICK_ADDRESS }, - { "unchecked_access", TICK_ACCESS }, - { "unrestricted_access", TICK_ACCESS }, - { "access", TICK_ACCESS }, - { "first", TICK_FIRST }, - { "last", TICK_LAST }, - { "length", TICK_LENGTH }, - { "max", TICK_MAX }, - { "min", TICK_MIN }, - { "modulus", TICK_MODULUS }, - { "pos", TICK_POS }, - { "range", TICK_RANGE }, - { "size", TICK_SIZE }, - { "tag", TICK_TAG }, - { "val", TICK_VAL }, - { NULL, -1 } -}; - -/* Return the syntactic code corresponding to the attribute name or - abbreviation STR. */ - -static int -processAttribute (str) - const char* str; -{ - int i, k; - - for (i = 0; attributes[i].code != -1; i += 1) - if (strcasecmp (str, attributes[i].name) == 0) - return attributes[i].code; - - for (i = 0, k = -1; attributes[i].code != -1; i += 1) - if (subseqMatch (str, attributes[i].name)) - { - if (k == -1) - k = i; - else - error ("ambiguous attribute name: `%s'", str); - } - if (k == -1) - error ("unrecognized attribute: `%s'", str); - - return attributes[k].code; -} - -int -yywrap() -{ - return 1; -} diff --git a/gdb/ada-tasks.c b/gdb/ada-tasks.c deleted file mode 100644 index eccd5a1c214..00000000000 --- a/gdb/ada-tasks.c +++ /dev/null @@ -1,820 +0,0 @@ -/* file ada-tasks.c: Ada tasking control for GDB - Copyright 1997 Free Software Foundation, Inc. - Contributed by Ada Core Technologies, Inc -. - This file is part of GDB. - - [$Id$] - Authors: Roch-Alexandre Nomine Beguin, Arnaud Charlet - - 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. - -*/ - -#include -#include "defs.h" -#include "command.h" -#include "value.h" -#include "language.h" -#include "inferior.h" -#include "symtab.h" -#include "target.h" -#include "gdbcore.h" - -#if (defined(__alpha__) && defined(__osf__) && !defined(__alpha_vxworks)) -#include -#endif - -#if (defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET)) -#include "gregset.h" -#endif - -#include "ada-lang.h" - -/* FIXME: move all this conditional compilation in description - files or in configure.in */ - -#if defined (VXWORKS_TARGET) -#define THREAD_TO_PID(tid,lwpid) (tid) - -#elif defined (linux) -#define THREAD_TO_PID(tid,lwpid) (0) - -#elif (defined (sun) && defined (__SVR4)) -#define THREAD_TO_PID thread_to_pid - -#elif defined (sgi) || defined (__WIN32__) || defined (hpux) -#define THREAD_TO_PID(tid,lwpid) ((int)lwpid) - -#else -#define THREAD_TO_PID(tid,lwpid) (0) -#endif - -#if defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET) -#define THREAD_FETCH_REGISTERS dec_thread_fetch_registers -#define GET_CURRENT_THREAD dec_thread_get_current_thread -extern int dec_thread_get_registers (gdb_gregset_t *, gdb_fpregset_t *); -#endif - -#if defined (_AIX) -#define THREAD_FETCH_REGISTERS aix_thread_fetch_registers -#define GET_CURRENT_THREAD aix_thread_get_current_thread -#endif - -#if defined(VXWORKS_TARGET) -#define GET_CURRENT_THREAD() ((void*)inferior_pid) -#define THREAD_FETCH_REGISTERS() (-1) - -#elif defined (sun) && defined (__SVR4) -#define GET_CURRENT_THREAD solaris_thread_get_current_thread -#define THREAD_FETCH_REGISTERS() (-1) -extern void *GET_CURRENT_THREAD (); - -#elif defined (_AIX) || (defined(__alpha__) && defined(__osf__)) -extern void *GET_CURRENT_THREAD (); - -#elif defined (__WIN32__) || defined (hpux) -#define GET_CURRENT_THREAD() (inferior_pid) -#define THREAD_FETCH_REGISTERS() (-1) - -#else -#define GET_CURRENT_THREAD() (NULL) -#define THREAD_FETCH_REGISTERS() (-1) -#endif - -#define KNOWN_TASKS_NAME "system__tasking__debug__known_tasks" - -#define READ_MEMORY(addr, var) read_memory (addr, (char*) &var, sizeof (var)) -/* external declarations */ - -extern struct value *find_function_in_inferior (char *); - -/* Global visible variables */ - -struct task_entry *task_list = NULL; -int ada__tasks_check_symbol_table = 1; -void *pthread_kern_addr = NULL; - -#if (defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET)) -gdb_gregset_t gregset_saved; -gdb_fpregset_t fpregset_saved; -#endif - -/* The maximum number of tasks known to the Ada runtime */ -const int MAX_NUMBER_OF_KNOWN_TASKS = 1000; - -/* the current task */ -int current_task = -1, current_task_id = -1, current_task_index; -void *current_thread, *current_lwp; - -char *ada_task_states[] = { - "Unactivated", - "Runnable", - "Terminated", - "Child Activation Wait", - "Accept Statement", - "Waiting on entry call", - "Async Select Wait", - "Delay Sleep", - "Child Termination Wait", - "Wait Child in Term Alt", - "", - "", - "", - "", - "Asynchronous Hold" -}; - -/* Global internal types */ - -static char *ada_long_task_states[] = { - "Unactivated", - "Runnable", - "Terminated", - "Waiting for child activation", - "Blocked in accept statement", - "Waiting on entry call", - "Asynchronous Selective Wait", - "Delay Sleep", - "Waiting for children termination", - "Waiting for children in terminate alternative", - "", - "", - "", - "", - "Asynchronous Hold" -}; - -/* Global internal variables */ - -static int highest_task_num = 0; -int thread_support = 0; /* 1 if the thread library in use is supported */ -static int gdbtk_task_initialization = 0; - -static int -add_task_entry (void *p_task_id, int index) -{ - struct task_entry *new_task_entry = NULL; - struct task_entry *pt; - - highest_task_num++; - new_task_entry = xmalloc (sizeof (struct task_entry)); - new_task_entry->task_num = highest_task_num; - new_task_entry->task_id = p_task_id; - new_task_entry->known_tasks_index = index; - new_task_entry->next_task = NULL; - pt = task_list; - if (pt) - { - while (pt->next_task) - pt = pt->next_task; - pt->next_task = new_task_entry; - pt->stack_per = 0; - } - else - task_list = new_task_entry; - return new_task_entry->task_num; -} - -int -get_entry_number (void *p_task_id) -{ - struct task_entry *pt; - - pt = task_list; - while (pt != NULL) - { - if (pt->task_id == p_task_id) - return pt->task_num; - pt = pt->next_task; - } - return 0; -} - -static struct task_entry * -get_thread_entry_vptr (void *thread) -{ - struct task_entry *pt; - - pt = task_list; - while (pt != NULL) - { - if (pt->thread == thread) - return pt; - pt = pt->next_task; - } - return 0; -} - -static struct task_entry * -get_entry_vptr (int p_task_num) -{ - struct task_entry *pt; - - pt = task_list; - while (pt) - { - if (pt->task_num == p_task_num) - return pt; - pt = pt->next_task; - } - return NULL; -} - -void -init_task_list (void) -{ - struct task_entry *pt, *old_pt; - - pt = task_list; - while (pt) - { - old_pt = pt; - pt = pt->next_task; - xfree (old_pt); - }; - task_list = NULL; - highest_task_num = 0; -} - -int -valid_task_id (int task) -{ - return get_entry_vptr (task) != NULL; -} - -void * -get_self_id (void) -{ - struct value *val; - void *self_id; - int result; - struct task_entry *ent; - extern int do_not_insert_breakpoints; - -#if !((defined(sun) && defined(__SVR4)) || defined(VXWORKS_TARGET) || defined(__WIN32__)) - if (thread_support) -#endif - { - ent = get_thread_entry_vptr (GET_CURRENT_THREAD ()); - return ent ? ent->task_id : 0; - } - - /* FIXME: calling a function in the inferior with a multithreaded application - is not reliable, so return NULL if there is no safe way to get the current - task */ - return NULL; -} - -int -get_current_task () -{ - int result; - - /* FIXME: language_ada should be defined in defs.h */ - /* if (current_language->la_language != language_ada) return -1; */ - - result = get_entry_number (get_self_id ()); - - /* return -1 if not found */ - return result == 0 ? -1 : result; -} - -/* Print detailed information about specified task */ - -static void -info_task (char *arg, int from_tty) -{ - void *temp_task; - struct task_entry *pt, *pt2; - void *self_id, *caller; - struct task_fields atcb, atcb2; - struct entry_call call; - int bounds[2]; - char image[256]; - int num; - - /* FIXME: language_ada should be defined in defs.h */ - /* if (current_language->la_language != language_ada) - { - printf_filtered ("The current language does not support tasks.\n"); - return; - } - */ - pt = get_entry_vptr (atoi (arg)); - if (pt == NULL) - { - printf_filtered ("Task %s not found.\n", arg); - return; - } - - temp_task = pt->task_id; - - /* read the atcb in the inferior */ - READ_MEMORY ((CORE_ADDR) temp_task, atcb); - - /* print the Ada task id */ - printf_filtered ("Ada Task: %p\n", temp_task); - - /* print the name of the task */ - if (atcb.image.P_ARRAY != NULL) - { - READ_MEMORY ((CORE_ADDR) EXTRACT_ADDRESS (atcb.image.P_BOUNDS), bounds); - bounds[1] = EXTRACT_INT (bounds[1]); - read_memory ((CORE_ADDR) EXTRACT_ADDRESS (atcb.image.P_ARRAY), - (char *) &image, bounds[1]); - printf_filtered ("Name: %.*s\n", bounds[1], image); - } - else - printf_filtered ("\n"); - - /* print the thread id */ - - if ((long) pt->thread < 65536) - printf_filtered ("Thread: %ld\n", (long int) pt->thread); - else - printf_filtered ("Thread: %p\n", pt->thread); - - if ((long) pt->lwp != 0) - { - if ((long) pt->lwp < 65536) - printf_filtered ("LWP: %ld\n", (long int) pt->lwp); - else - printf_filtered ("LWP: %p\n", pt->lwp); - } - - /* print the parent gdb task id */ - num = get_entry_number (EXTRACT_ADDRESS (atcb.parent)); - if (num != 0) - { - printf_filtered ("Parent: %d", num); - pt2 = get_entry_vptr (num); - READ_MEMORY ((CORE_ADDR) pt2->task_id, atcb2); - - /* print the name of the task */ - if (atcb2.image.P_ARRAY != NULL) - { - READ_MEMORY ((CORE_ADDR) EXTRACT_ADDRESS (atcb2.image.P_BOUNDS), - bounds); - bounds[1] = EXTRACT_INT (bounds[1]); - read_memory ((CORE_ADDR) EXTRACT_ADDRESS (atcb2.image.P_ARRAY), - (char *) &image, bounds[1]); - printf_filtered (" (%.*s)\n", bounds[1], image); - } - else - printf_filtered ("\n"); - } - else - printf_filtered ("No parent\n"); - - /* print the base priority of the task */ - printf_filtered ("Base Priority: %d\n", EXTRACT_INT (atcb.priority)); - - /* print the current state of the task */ - - /* check if this task is accepting a rendezvous */ - if (atcb.call == NULL) - caller = NULL; - else - { - READ_MEMORY ((CORE_ADDR) EXTRACT_ADDRESS (atcb.call), call); - caller = EXTRACT_ADDRESS (call.self); - } - - if (caller != NULL) - { - num = get_entry_number (caller); - printf_filtered ("Accepting rendezvous with %d", num); - - if (num != 0) - { - pt2 = get_entry_vptr (num); - READ_MEMORY ((CORE_ADDR) pt2->task_id, atcb2); - - /* print the name of the task */ - if (atcb2.image.P_ARRAY != NULL) - { - READ_MEMORY ((CORE_ADDR) EXTRACT_ADDRESS (atcb2.image.P_BOUNDS), - bounds); - bounds[1] = EXTRACT_INT (bounds[1]); - read_memory ((CORE_ADDR) EXTRACT_ADDRESS (atcb2.image.P_ARRAY), - (char *) &image, bounds[1]); - printf_filtered (" (%.*s)\n", bounds[1], image); - } - else - printf_filtered ("\n"); - } - else - printf_filtered ("\n"); - } - else - printf_filtered ("State: %s\n", ada_long_task_states[atcb.state]); -} - -#if 0 - -/* A useful function that shows the alignment of all the fields in the - tasks_fields structure - */ - -print_align (void) -{ - struct task_fields tf; - void *tf_base = &(tf); - void *tf_state = &(tf.state); - void *tf_entry_num = &(tf.entry_num); - void *tf_parent = &(tf.parent); - void *tf_priority = &(tf.priority); - void *tf_current_priority = &(tf.current_priority); - void *tf_image = &(tf.image); - void *tf_call = &(tf.call); - void *tf_thread = &(tf.thread); - void *tf_lwp = &(tf.lwp); - printf_filtered ("\n"); - printf_filtered ("(tf_base = 0x%x)\n", tf_base); - printf_filtered ("task_fields.entry_num at %3d (0x%x)\n", - tf_entry_num - tf_base, tf_entry_num); - printf_filtered ("task_fields.state at %3d (0x%x)\n", - tf_state - tf_base, tf_state); - printf_filtered ("task_fields.parent at %3d (0x%x)\n", - tf_parent - tf_base, tf_parent); - printf_filtered ("task_fields.priority at %3d (0x%x)\n", - tf_priority - tf_base, tf_priority); - printf_filtered ("task_fields.current_priority at %3d (0x%x)\n", - tf_current_priority - tf_base, tf_current_priority); - printf_filtered ("task_fields.image at %3d (0x%x)\n", - tf_image - tf_base, tf_image); - printf_filtered ("task_fields.call at %3d (0x%x)\n", - tf_call - tf_base, tf_call); - printf_filtered ("task_fields.thread at %3d (0x%x)\n", - tf_thread - tf_base, tf_thread); - printf_filtered ("task_fields.lwp at %3d (0x%x)\n", - tf_lwp - tf_base, tf_lwp); - printf_filtered ("\n"); -} -#endif - -/* Print information about currently known tasks */ - -static void -info_tasks (char *arg, int from_tty) -{ - struct value *val; - int i, task_number, state; - void *temp_task, *temp_tasks[MAX_NUMBER_OF_KNOWN_TASKS]; - struct task_entry *pt; - void *self_id, *caller, *thread_id = NULL; - struct task_fields atcb; - struct entry_call call; - int bounds[2]; - char image[256]; - int size; - char car; - -#if defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET) - pthreadTeb_t thr; - gdb_gregset_t regs; -#endif - - static struct symbol *sym; - static struct minimal_symbol *msym; - static void *known_tasks_addr = NULL; - - int init_only = gdbtk_task_initialization; - gdbtk_task_initialization = 0; - - task_number = 0; - - if (PIDGET (inferior_ptid) == 0) - { - printf_filtered ("The program is not being run under gdb. "); - printf_filtered ("Use 'run' or 'attach' first.\n"); - return; - } - - if (ada__tasks_check_symbol_table) - { - thread_support = 0; -#if (defined(__alpha__) && defined(__osf__) & !defined(VXWORKS_TARGET)) || \ - defined (_AIX) - thread_support = 1; -#endif - - msym = lookup_minimal_symbol (KNOWN_TASKS_NAME, NULL, NULL); - if (msym != NULL) - known_tasks_addr = (void *) SYMBOL_VALUE_ADDRESS (msym); - else -#ifndef VXWORKS_TARGET - return; -#else - { - if (target_lookup_symbol (KNOWN_TASKS_NAME, &known_tasks_addr) != 0) - return; - } -#endif - - ada__tasks_check_symbol_table = 0; - } - - if (known_tasks_addr == NULL) - return; - -#if !((defined(sun) && defined(__SVR4)) || defined(VXWORKS_TARGET) || defined(__WIN32__) || defined (hpux)) - if (thread_support) -#endif - thread_id = GET_CURRENT_THREAD (); - - /* then we get a list of tasks created */ - - init_task_list (); - - READ_MEMORY ((CORE_ADDR) known_tasks_addr, temp_tasks); - - for (i = 0; i < MAX_NUMBER_OF_KNOWN_TASKS; i++) - { - temp_task = EXTRACT_ADDRESS (temp_tasks[i]); - - if (temp_task != NULL) - { - task_number = get_entry_number (temp_task); - if (task_number == 0) - task_number = add_task_entry (temp_task, i); - } - } - - /* Return without printing anything if this function was called in - order to init GDBTK tasking. */ - - if (init_only) - return; - - /* print the header */ - -#if defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET) - printf_filtered - (" ID TID P-ID Pri Stack %% State Name\n"); -#else - printf_filtered (" ID TID P-ID Pri State Name\n"); -#endif - - /* Now that we have a list of task id's, we can print them */ - pt = task_list; - while (pt) - { - temp_task = pt->task_id; - - /* read the atcb in the inferior */ - READ_MEMORY ((CORE_ADDR) temp_task, atcb); - - /* store the thread id for future use */ - pt->thread = EXTRACT_ADDRESS (atcb.thread); - -#if defined (linux) - pt->lwp = (void *) THREAD_TO_PID (atcb.thread, 0); -#else - pt->lwp = EXTRACT_ADDRESS (atcb.lwp); -#endif - - /* print a star if this task is the current one */ - if (thread_id) -#if defined (__WIN32__) || defined (SGI) || defined (hpux) - printf_filtered (pt->lwp == thread_id ? "*" : " "); -#else - printf_filtered (pt->thread == thread_id ? "*" : " "); -#endif - - /* print the gdb task id */ - printf_filtered ("%3d", pt->task_num); - - /* print the Ada task id */ -#ifndef VXWORKS_TARGET - printf_filtered (" %9lx", (long) temp_task); -#else -#ifdef TARGET_64 - printf_filtered (" %#9lx", (unsigned long) pt->thread & 0x3ffffffffff); -#else - printf_filtered (" %#9lx", (long) pt->thread); -#endif -#endif - - /* print the parent gdb task id */ - printf_filtered - (" %4d", get_entry_number (EXTRACT_ADDRESS (atcb.parent))); - - /* print the base priority of the task */ - printf_filtered (" %3d", EXTRACT_INT (atcb.priority)); - -#if defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET) - if (pt->task_num == 1 || atcb.state == Terminated) - { - printf_filtered (" Unknown"); - goto next; - } - - read_memory ((CORE_ADDR) atcb.thread, &thr, sizeof (thr)); - current_thread = atcb.thread; - regs.regs[SP_REGNUM] = 0; - if (dec_thread_get_registers (®s, NULL) == 0) - { - pt->stack_per = (100 * ((long) thr.__stack_base - - regs.regs[SP_REGNUM])) / thr.__stack_size; - /* if the thread is terminated but still there, the - stack_base/size values are erroneous. Try to patch it */ - if (pt->stack_per < 0 || pt->stack_per > 100) - pt->stack_per = 0; - } - - /* print information about stack space used in the thread */ - if (thr.__stack_size < 1024 * 1024) - { - size = thr.__stack_size / 1024; - car = 'K'; - } - else if (thr.__stack_size < 1024 * 1024 * 1024) - { - size = thr.__stack_size / 1024 / 1024; - car = 'M'; - } - else /* Who knows... */ - { - size = thr.__stack_size / 1024 / 1024 / 1024; - car = 'G'; - } - printf_filtered (" %4d%c %2d", size, car, pt->stack_per); - next: -#endif - - /* print the current state of the task */ - - /* check if this task is accepting a rendezvous */ - if (atcb.call == NULL) - caller = NULL; - else - { - READ_MEMORY ((CORE_ADDR) EXTRACT_ADDRESS (atcb.call), call); - caller = EXTRACT_ADDRESS (call.self); - } - - if (caller != NULL) - printf_filtered (" Accepting RV with %-4d", - get_entry_number (caller)); - else - { - state = atcb.state; -#if defined (__WIN32__) || defined (SGI) || defined (hpux) - if (state == Runnable && (thread_id && pt->lwp == thread_id)) -#else - if (state == Runnable && (thread_id && pt->thread == thread_id)) -#endif - /* Replace "Runnable" by "Running" if this is the current task */ - printf_filtered (" %-22s", "Running"); - else - printf_filtered (" %-22s", ada_task_states[state]); - } - - /* finally, print the name of the task */ - if (atcb.image.P_ARRAY != NULL) - { - READ_MEMORY ((CORE_ADDR) EXTRACT_ADDRESS (atcb.image.P_BOUNDS), - bounds); - bounds[1] = EXTRACT_INT (bounds[1]); - read_memory ((CORE_ADDR) EXTRACT_ADDRESS (atcb.image.P_ARRAY), - (char *) &image, bounds[1]); - printf_filtered (" %.*s\n", bounds[1], image); - } - else - printf_filtered (" \n"); - - pt = pt->next_task; - } -} - -/* Task list initialization for GDB-Tk. We basically use info_tasks() - to initialize our variables, but abort that function before we - actually print anything. */ - -int -gdbtk_tcl_tasks_initialize (void) -{ - gdbtk_task_initialization = 1; - info_tasks ("", gdb_stdout); - - return (task_list != NULL); -} - -static void -info_tasks_command (char *arg, int from_tty) -{ - if (arg == NULL || *arg == '\000') - info_tasks (arg, from_tty); - else - info_task (arg, from_tty); -} - -/* Switch from one thread to another. */ - -static void -switch_to_thread (ptid_t ptid) -{ - if (ptid_equal (ptid, inferior_ptid)) - return; - - inferior_ptid = ptid; - flush_cached_frames (); - registers_changed (); - stop_pc = read_pc (); - select_frame (get_current_frame ()); -} - -/* Switch to a specified task. */ - -static int -task_switch (void *tid, void *lwpid) -{ - int res = 0, pid; - - if (thread_support) - { - flush_cached_frames (); - - if (current_task != current_task_id) - { - res = THREAD_FETCH_REGISTERS (); - } - else - { -#if (defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET)) - supply_gregset (&gregset_saved); - supply_fpregset (&fpregset_saved); -#endif - } - - if (res == 0) - stop_pc = read_pc (); - select_frame (get_current_frame ()); - return res; - } - - return -1; -} - -static void -task_command (char *tidstr, int from_tty) -{ - int num; - struct task_entry *e; - - if (!tidstr) - error ("Please specify a task ID. Use the \"info tasks\" command to\n" - "see the IDs of currently known tasks."); - - num = atoi (tidstr); - e = get_entry_vptr (num); - - if (e == NULL) - error ("Task ID %d not known. Use the \"info tasks\" command to\n" - "see the IDs of currently known tasks.", num); - - if (current_task_id == -1) - { -#if (defined(__alpha__) && defined(__osf__) && !defined(VXWORKS_TARGET)) - fill_gregset (&gregset_saved, -1); - fill_fpregset (&fpregset_saved, -1); -#endif - current_task_id = get_current_task (); - } - - current_task = num; - current_task_index = e->known_tasks_index; - current_thread = e->thread; - current_lwp = e->lwp; - if (task_switch (e->thread, e->lwp) == 0) - { - /* FIXME: find_printable_frame should be defined in frame.h, and - implemented in ada-lang.c */ - /* find_printable_frame (selected_frame, frame_relative_level (selected_frame)); */ - printf_filtered ("[Switching to task %d]\n", num); - print_stack_frame (selected_frame, - frame_relative_level (selected_frame), 1); - } - else - printf_filtered ("Unable to switch to task %d\n", num); -} - -void -_initialize_tasks (void) -{ - static struct cmd_list_element *task_cmd_list = NULL; - extern struct cmd_list_element *cmdlist; - - add_info ("tasks", info_tasks_command, - "Without argument: list all known Ada tasks, with status information.\n" - "info tasks n: print detailed information of task n.\n"); - - add_prefix_cmd ("task", class_run, task_command, - "Use this command to switch between tasks.\n\ - The new task ID must be currently known.", &task_cmd_list, "task ", 1, &cmdlist); -} diff --git a/gdb/ada-typeprint.c b/gdb/ada-typeprint.c deleted file mode 100644 index c18aa85b397..00000000000 --- a/gdb/ada-typeprint.c +++ /dev/null @@ -1,851 +0,0 @@ -/* Support for printing Ada types for GDB, the GNU debugger. - Copyright 1986, 1988, 1989, 1991, 1997 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#include "defs.h" -#include "gdb_obstack.h" -#include "bfd.h" /* Binary File Description */ -#include "symtab.h" -#include "gdbtypes.h" -#include "expression.h" -#include "value.h" -#include "gdbcore.h" -#include "target.h" -#include "command.h" -#include "gdbcmd.h" -#include "language.h" -#include "demangle.h" -#include "c-lang.h" -#include "typeprint.h" -#include "ada-lang.h" - -#include -#include "gdb_string.h" -#include - -static int print_record_field_types (struct type *, struct type *, - struct ui_file *, int, int); - -static void print_array_type (struct type *, struct ui_file *, int, int); - -static void print_choices (struct type *, int, struct ui_file *, - struct type *); - -static void print_range (struct type *, struct ui_file *); - -static void print_range_bound (struct type *, char *, int *, - struct ui_file *); - -static void -print_dynamic_range_bound (struct type *, const char *, int, - const char *, struct ui_file *); - -static void print_range_type_named (char *, struct ui_file *); - - - -static char *name_buffer; -static int name_buffer_len; - -/* The (demangled) Ada name of TYPE. This value persists until the - next call. */ - -static char * -demangled_type_name (struct type *type) -{ - if (ada_type_name (type) == NULL) - return NULL; - else - { - char *raw_name = ada_type_name (type); - char *s, *q; - - if (name_buffer == NULL || name_buffer_len <= strlen (raw_name)) - { - name_buffer_len = 16 + 2 * strlen (raw_name); - name_buffer = xrealloc (name_buffer, name_buffer_len); - } - strcpy (name_buffer, raw_name); - - s = (char *) strstr (name_buffer, "___"); - if (s != NULL) - *s = '\0'; - - s = name_buffer + strlen (name_buffer) - 1; - while (s > name_buffer && (s[0] != '_' || s[-1] != '_')) - s -= 1; - - if (s == name_buffer) - return name_buffer; - - if (!islower (s[1])) - return NULL; - - for (s = q = name_buffer; *s != '\0'; q += 1) - { - if (s[0] == '_' && s[1] == '_') - { - *q = '.'; - s += 2; - } - else - { - *q = *s; - s += 1; - } - } - *q = '\0'; - return name_buffer; - } -} - - -/* Print a description of a type in the format of a - typedef for the current language. - NEW is the new name for a type TYPE. */ - -void -ada_typedef_print (struct type *type, struct symbol *new, - struct ui_file *stream) -{ - fprintf_filtered (stream, "type %.*s is ", - ada_name_prefix_len (SYMBOL_SOURCE_NAME (new)), - SYMBOL_SOURCE_NAME (new)); - type_print (type, "", stream, 1); -} - -/* Print range type TYPE on STREAM. */ - -static void -print_range (struct type *type, struct ui_file *stream) -{ - struct type *target_type; - target_type = TYPE_TARGET_TYPE (type); - if (target_type == NULL) - target_type = type; - - switch (TYPE_CODE (target_type)) - { - case TYPE_CODE_RANGE: - case TYPE_CODE_INT: - case TYPE_CODE_BOOL: - case TYPE_CODE_CHAR: - case TYPE_CODE_ENUM: - break; - default: - target_type = builtin_type_ada_int; - break; - } - - if (TYPE_NFIELDS (type) < 2) - { - /* A range needs at least 2 bounds to be printed. If there are less - than 2, just print the type name instead of the range itself. - This check handles cases such as characters, for example. - - Note that if the name is not defined, then we don't print anything. - */ - fprintf_filtered (stream, "%.*s", - ada_name_prefix_len (TYPE_NAME (type)), - TYPE_NAME (type)); - } - else - { - /* We extract the range type bounds respectively from the first element - and the last element of the type->fields array */ - const LONGEST lower_bound = (LONGEST) TYPE_LOW_BOUND (type); - const LONGEST upper_bound = - (LONGEST) TYPE_FIELD_BITPOS (type, TYPE_NFIELDS (type) - 1); - - ada_print_scalar (target_type, lower_bound, stream); - fprintf_filtered (stream, " .. "); - ada_print_scalar (target_type, upper_bound, stream); - } -} - -/* Print the number or discriminant bound at BOUNDS+*N on STREAM, and - set *N past the bound and its delimiter, if any. */ - -static void -print_range_bound (struct type *type, char *bounds, int *n, - struct ui_file *stream) -{ - LONGEST B; - if (ada_scan_number (bounds, *n, &B, n)) - { - ada_print_scalar (type, B, stream); - if (bounds[*n] == '_') - *n += 2; - } - else - { - int bound_len; - char *bound = bounds + *n; - char *pend; - - pend = strstr (bound, "__"); - if (pend == NULL) - *n += bound_len = strlen (bound); - else - { - bound_len = pend - bound; - *n += bound_len + 2; - } - fprintf_filtered (stream, "%.*s", bound_len, bound); - } -} - -/* Assuming NAME[0 .. NAME_LEN-1] is the name of a range type, print - the value (if found) of the bound indicated by SUFFIX ("___L" or - "___U") according to the ___XD conventions. */ - -static void -print_dynamic_range_bound (struct type *type, const char *name, int name_len, - const char *suffix, struct ui_file *stream) -{ - static char *name_buf = NULL; - static size_t name_buf_len = 0; - LONGEST B; - int OK; - - GROW_VECT (name_buf, name_buf_len, name_len + strlen (suffix) + 1); - strncpy (name_buf, name, name_len); - strcpy (name_buf + name_len, suffix); - - B = get_int_var_value (name_buf, 0, &OK); - if (OK) - ada_print_scalar (type, B, stream); - else - fprintf_filtered (stream, "?"); -} - -/* Print the range type named NAME. */ - -static void -print_range_type_named (char *name, struct ui_file *stream) -{ - struct type *raw_type = ada_find_any_type (name); - struct type *base_type; - LONGEST low, high; - char *subtype_info; - - if (raw_type == NULL) - base_type = builtin_type_int; - else if (TYPE_CODE (raw_type) == TYPE_CODE_RANGE) - base_type = TYPE_TARGET_TYPE (raw_type); - else - base_type = raw_type; - - subtype_info = strstr (name, "___XD"); - if (subtype_info == NULL && raw_type == NULL) - fprintf_filtered (stream, "? .. ?"); - else if (subtype_info == NULL) - print_range (raw_type, stream); - else - { - int prefix_len = subtype_info - name; - char *bounds_str; - int n; - - subtype_info += 5; - bounds_str = strchr (subtype_info, '_'); - n = 1; - - if (*subtype_info == 'L') - { - print_range_bound (raw_type, bounds_str, &n, stream); - subtype_info += 1; - } - else - print_dynamic_range_bound (raw_type, name, prefix_len, "___L", - stream); - - fprintf_filtered (stream, " .. "); - - if (*subtype_info == 'U') - print_range_bound (raw_type, bounds_str, &n, stream); - else - print_dynamic_range_bound (raw_type, name, prefix_len, "___U", - stream); - } -} - -/* Print enumerated type TYPE on STREAM. */ - -static void -print_enum_type (struct type *type, struct ui_file *stream) -{ - int len = TYPE_NFIELDS (type); - int i, lastval; - - fprintf_filtered (stream, "("); - wrap_here (" "); - - lastval = 0; - for (i = 0; i < len; i++) - { - QUIT; - if (i) - fprintf_filtered (stream, ", "); - wrap_here (" "); - fputs_filtered (ada_enum_name (TYPE_FIELD_NAME (type, i)), stream); - if (lastval != TYPE_FIELD_BITPOS (type, i)) - { - fprintf_filtered (stream, " => %d", TYPE_FIELD_BITPOS (type, i)); - lastval = TYPE_FIELD_BITPOS (type, i); - } - lastval += 1; - } - fprintf_filtered (stream, ")"); -} - -/* Print representation of Ada fixed-point type TYPE on STREAM. */ - -static void -print_fixed_point_type (struct type *type, struct ui_file *stream) -{ - DOUBLEST delta = ada_delta (type); - DOUBLEST small = ada_fixed_to_float (type, 1.0); - - if (delta < 0.0) - fprintf_filtered (stream, "delta ??"); - else - { - fprintf_filtered (stream, "delta %g", (double) delta); - if (delta != small) - fprintf_filtered (stream, " <'small = %g>", (double) small); - } -} - -/* Print representation of special VAX floating-point type TYPE on STREAM. */ - -static void -print_vax_floating_point_type (struct type *type, struct ui_file *stream) -{ - fprintf_filtered (stream, "", - ada_vax_float_type_suffix (type)); -} - -/* Print simple (constrained) array type TYPE on STREAM. LEVEL is the - recursion (indentation) level, in case the element type itself has - nested structure, and SHOW is the number of levels of internal - structure to show (see ada_print_type). */ - -static void -print_array_type (struct type *type, struct ui_file *stream, int show, - int level) -{ - int bitsize; - int n_indices; - - bitsize = 0; - fprintf_filtered (stream, "array ("); - - n_indices = -1; - if (show < 0) - fprintf_filtered (stream, "..."); - else - { - if (ada_is_packed_array_type (type)) - type = ada_coerce_to_simple_array_type (type); - if (ada_is_simple_array (type)) - { - struct type *range_desc_type = - ada_find_parallel_type (type, "___XA"); - struct type *arr_type; - - bitsize = 0; - if (range_desc_type == NULL) - { - for (arr_type = type; TYPE_CODE (arr_type) == TYPE_CODE_ARRAY; - arr_type = TYPE_TARGET_TYPE (arr_type)) - { - if (arr_type != type) - fprintf_filtered (stream, ", "); - print_range (TYPE_INDEX_TYPE (arr_type), stream); - if (TYPE_FIELD_BITSIZE (arr_type, 0) > 0) - bitsize = TYPE_FIELD_BITSIZE (arr_type, 0); - } - } - else - { - int k; - n_indices = TYPE_NFIELDS (range_desc_type); - for (k = 0, arr_type = type; - k < n_indices; - k += 1, arr_type = TYPE_TARGET_TYPE (arr_type)) - { - if (k > 0) - fprintf_filtered (stream, ", "); - print_range_type_named (TYPE_FIELD_NAME - (range_desc_type, k), stream); - if (TYPE_FIELD_BITSIZE (arr_type, 0) > 0) - bitsize = TYPE_FIELD_BITSIZE (arr_type, 0); - } - } - } - else - { - int i, i0; - for (i = i0 = ada_array_arity (type); i > 0; i -= 1) - fprintf_filtered (stream, "%s<>", i == i0 ? "" : ", "); - } - } - - fprintf_filtered (stream, ") of "); - wrap_here (""); - ada_print_type (ada_array_element_type (type, n_indices), "", stream, - show == 0 ? 0 : show - 1, level + 1); - if (bitsize > 0) - fprintf_filtered (stream, " ", bitsize); -} - -/* Print the choices encoded by field FIELD_NUM of variant-part TYPE on - STREAM, assuming the VAL_TYPE is the type of the values. */ - -static void -print_choices (struct type *type, int field_num, struct ui_file *stream, - struct type *val_type) -{ - int have_output; - int p; - const char *name = TYPE_FIELD_NAME (type, field_num); - - have_output = 0; - - /* Skip over leading 'V': NOTE soon to be obsolete. */ - if (name[0] == 'V') - { - if (!ada_scan_number (name, 1, NULL, &p)) - goto Huh; - } - else - p = 0; - - while (1) - { - switch (name[p]) - { - default: - return; - case 'S': - case 'R': - case 'O': - if (have_output) - fprintf_filtered (stream, " | "); - have_output = 1; - break; - } - - switch (name[p]) - { - case 'S': - { - LONGEST W; - if (!ada_scan_number (name, p + 1, &W, &p)) - goto Huh; - ada_print_scalar (val_type, W, stream); - break; - } - case 'R': - { - LONGEST L, U; - if (!ada_scan_number (name, p + 1, &L, &p) - || name[p] != 'T' || !ada_scan_number (name, p + 1, &U, &p)) - goto Huh; - ada_print_scalar (val_type, L, stream); - fprintf_filtered (stream, " .. "); - ada_print_scalar (val_type, U, stream); - break; - } - case 'O': - fprintf_filtered (stream, "others"); - p += 1; - break; - } - } - -Huh: - fprintf_filtered (stream, "??"); - -} - -/* Assuming that field FIELD_NUM of TYPE is a VARIANTS field whose - discriminant is contained in OUTER_TYPE, print its variants on STREAM. - LEVEL is the recursion - (indentation) level, in case any of the fields themselves have - nested structure, and SHOW is the number of levels of internal structure - to show (see ada_print_type). For this purpose, fields nested in a - variant part are taken to be at the same level as the fields - immediately outside the variant part. */ - -static void -print_variant_clauses (struct type *type, int field_num, - struct type *outer_type, struct ui_file *stream, - int show, int level) -{ - int i; - struct type *var_type; - struct type *discr_type; - - var_type = TYPE_FIELD_TYPE (type, field_num); - discr_type = ada_variant_discrim_type (var_type, outer_type); - - if (TYPE_CODE (var_type) == TYPE_CODE_PTR) - { - var_type = TYPE_TARGET_TYPE (var_type); - if (TYPE_FLAGS (var_type) & TYPE_FLAG_STUB) - { - var_type = ada_find_parallel_type (var_type, "___XVU"); - if (var_type == NULL) - return; - } - } - - for (i = 0; i < TYPE_NFIELDS (var_type); i += 1) - { - fprintf_filtered (stream, "\n%*swhen ", level + 4, ""); - print_choices (var_type, i, stream, discr_type); - fprintf_filtered (stream, " =>"); - if (print_record_field_types (TYPE_FIELD_TYPE (var_type, i), - outer_type, stream, show, level + 4) <= 0) - fprintf_filtered (stream, " null;"); - } -} - -/* Assuming that field FIELD_NUM of TYPE is a variant part whose - discriminants are contained in OUTER_TYPE, print a description of it - on STREAM. LEVEL is the recursion (indentation) level, in case any of - the fields themselves have nested structure, and SHOW is the number of - levels of internal structure to show (see ada_print_type). For this - purpose, fields nested in a variant part are taken to be at the same - level as the fields immediately outside the variant part. */ - -static void -print_variant_part (struct type *type, int field_num, struct type *outer_type, - struct ui_file *stream, int show, int level) -{ - fprintf_filtered (stream, "\n%*scase %s is", level + 4, "", - ada_variant_discrim_name - (TYPE_FIELD_TYPE (type, field_num))); - print_variant_clauses (type, field_num, outer_type, stream, show, - level + 4); - fprintf_filtered (stream, "\n%*send case;", level + 4, ""); -} - -/* Print a description on STREAM of the fields in record type TYPE, whose - discriminants are in OUTER_TYPE. LEVEL is the recursion (indentation) - level, in case any of the fields themselves have nested structure, - and SHOW is the number of levels of internal structure to show - (see ada_print_type). Does not print parent type information of TYPE. - Returns 0 if no fields printed, -1 for an incomplete type, else > 0. - Prints each field beginning on a new line, but does not put a new line at - end. */ - -static int -print_record_field_types (struct type *type, struct type *outer_type, - struct ui_file *stream, int show, int level) -{ - int len, i, flds; - - flds = 0; - len = TYPE_NFIELDS (type); - - if (len == 0 && (TYPE_FLAGS (type) & TYPE_FLAG_STUB) != 0) - return -1; - - for (i = 0; i < len; i += 1) - { - QUIT; - - if (ada_is_parent_field (type, i) || ada_is_ignored_field (type, i)) - ; - else if (ada_is_wrapper_field (type, i)) - flds += print_record_field_types (TYPE_FIELD_TYPE (type, i), type, - stream, show, level); - else if (ada_is_variant_part (type, i)) - { - print_variant_part (type, i, outer_type, stream, show, level); - flds = 1; - } - else - { - flds += 1; - fprintf_filtered (stream, "\n%*s", level + 4, ""); - ada_print_type (TYPE_FIELD_TYPE (type, i), - TYPE_FIELD_NAME (type, i), - stream, show - 1, level + 4); - fprintf_filtered (stream, ";"); - } - } - - return flds; -} - -/* Print record type TYPE on STREAM. LEVEL is the recursion (indentation) - level, in case the element type itself has nested structure, and SHOW is - the number of levels of internal structure to show (see ada_print_type). */ - -static void -print_record_type (struct type *type0, struct ui_file *stream, int show, - int level) -{ - struct type *parent_type; - struct type *type; - - type = type0; - if (TYPE_FLAGS (type) & TYPE_FLAG_STUB) - { - struct type *type1 = ada_find_parallel_type (type, "___XVE"); - if (type1 != NULL) - type = type1; - } - - parent_type = ada_parent_type (type); - if (ada_type_name (parent_type) != NULL) - fprintf_filtered (stream, "new %s with ", - demangled_type_name (parent_type)); - else if (parent_type == NULL && ada_is_tagged_type (type)) - fprintf_filtered (stream, "tagged "); - - fprintf_filtered (stream, "record"); - - if (show < 0) - fprintf_filtered (stream, " ... end record"); - else - { - int flds; - - flds = 0; - if (parent_type != NULL && ada_type_name (parent_type) == NULL) - flds += print_record_field_types (parent_type, parent_type, - stream, show, level); - flds += print_record_field_types (type, type, stream, show, level); - - if (flds > 0) - fprintf_filtered (stream, "\n%*send record", level, ""); - else if (flds < 0) - fprintf_filtered (stream, " end record"); - else - fprintf_filtered (stream, " null; end record"); - } -} - -/* Print the unchecked union type TYPE in something resembling Ada - format on STREAM. LEVEL is the recursion (indentation) level - in case the element type itself has nested structure, and SHOW is the - number of levels of internal structure to show (see ada_print_type). */ -static void -print_unchecked_union_type (struct type *type, struct ui_file *stream, - int show, int level) -{ - fprintf_filtered (stream, "record (?) is"); - - if (show < 0) - fprintf_filtered (stream, " ... end record"); - else if (TYPE_NFIELDS (type) == 0) - fprintf_filtered (stream, " null; end record"); - else - { - int i; - - fprintf_filtered (stream, "\n%*scase ? is", level + 4, ""); - - for (i = 0; i < TYPE_NFIELDS (type); i += 1) - { - fprintf_filtered (stream, "\n%*swhen ? =>\n%*s", level + 8, "", - level + 12, ""); - ada_print_type (TYPE_FIELD_TYPE (type, i), - TYPE_FIELD_NAME (type, i), - stream, show - 1, level + 12); - fprintf_filtered (stream, ";"); - } - - fprintf_filtered (stream, "\n%*send case;\n%*send record", - level + 4, "", level, ""); - } -} - - - -/* Print function or procedure type TYPE on STREAM. Make it a header - for function or procedure NAME if NAME is not null. */ - -static void -print_func_type (struct type *type, struct ui_file *stream, char *name) -{ - int i, len = TYPE_NFIELDS (type); - - if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_VOID) - fprintf_filtered (stream, "procedure"); - else - fprintf_filtered (stream, "function"); - - if (name != NULL && name[0] != '\0') - fprintf_filtered (stream, " %s", name); - - if (len > 0) - { - fprintf_filtered (stream, " ("); - for (i = 0; i < len; i += 1) - { - if (i > 0) - { - fputs_filtered ("; ", stream); - wrap_here (" "); - } - fprintf_filtered (stream, "a%d: ", i + 1); - ada_print_type (TYPE_FIELD_TYPE (type, i), "", stream, -1, 0); - } - fprintf_filtered (stream, ")"); - } - - if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_VOID) - { - fprintf_filtered (stream, " return "); - ada_print_type (TYPE_TARGET_TYPE (type), "", stream, 0, 0); - } -} - - -/* Print a description of a type TYPE0. - Output goes to STREAM (via stdio). - If VARSTRING is a non-empty string, print as an Ada variable/field - declaration. - SHOW+1 is the maximum number of levels of internal type structure - to show (this applies to record types, enumerated types, and - array types). - SHOW is the number of levels of internal type structure to show - when there is a type name for the SHOWth deepest level (0th is - outer level). - When SHOW<0, no inner structure is shown. - LEVEL indicates level of recursion (for nested definitions). */ - -void -ada_print_type (struct type *type0, char *varstring, struct ui_file *stream, - int show, int level) -{ - enum type_code code; - int demangled_args; - struct type *type = ada_completed_type (ada_get_base_type (type0)); - char *type_name = demangled_type_name (type); - int is_var_decl = (varstring != NULL && varstring[0] != '\0'); - - if (type == NULL) - { - if (is_var_decl) - fprintf_filtered (stream, "%.*s: ", - ada_name_prefix_len (varstring), varstring); - fprintf_filtered (stream, ""); - return; - } - - if (show > 0) - CHECK_TYPEDEF (type); - - if (is_var_decl && TYPE_CODE (type) != TYPE_CODE_FUNC) - fprintf_filtered (stream, "%.*s: ", - ada_name_prefix_len (varstring), varstring); - - if (type_name != NULL && show <= 0) - { - fprintf_filtered (stream, "%.*s", - ada_name_prefix_len (type_name), type_name); - return; - } - - if (ada_is_aligner_type (type)) - ada_print_type (ada_aligned_type (type), "", stream, show, level); - else if (ada_is_packed_array_type (type)) - print_array_type (type, stream, show, level); - else - switch (TYPE_CODE (type)) - { - default: - fprintf_filtered (stream, "<"); - c_print_type (type, "", stream, show, level); - fprintf_filtered (stream, ">"); - break; - case TYPE_CODE_PTR: - fprintf_filtered (stream, "access "); - ada_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level); - break; - case TYPE_CODE_REF: - fprintf_filtered (stream, " "); - ada_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level); - break; - case TYPE_CODE_ARRAY: - print_array_type (type, stream, show, level); - break; - case TYPE_CODE_INT: - if (ada_is_fixed_point_type (type)) - print_fixed_point_type (type, stream); - else if (ada_is_vax_floating_type (type)) - print_vax_floating_point_type (type, stream); - else - { - char *name = ada_type_name (type); - if (!ada_is_range_type_name (name)) - fprintf_filtered (stream, "<%d-byte integer>", - TYPE_LENGTH (type)); - else - { - fprintf_filtered (stream, "range "); - print_range_type_named (name, stream); - } - } - break; - case TYPE_CODE_RANGE: - if (ada_is_fixed_point_type (type)) - print_fixed_point_type (type, stream); - else if (ada_is_vax_floating_type (type)) - print_vax_floating_point_type (type, stream); - else if (ada_is_modular_type (type)) - fprintf_filtered (stream, "mod %ld", (long) ada_modulus (type)); - else - { - fprintf_filtered (stream, "range "); - print_range (type, stream); - } - break; - case TYPE_CODE_FLT: - fprintf_filtered (stream, "<%d-byte float>", TYPE_LENGTH (type)); - break; - case TYPE_CODE_ENUM: - if (show < 0) - fprintf_filtered (stream, "(...)"); - else - print_enum_type (type, stream); - break; - case TYPE_CODE_STRUCT: - if (ada_is_array_descriptor (type)) - print_array_type (type, stream, show, level); - else if (ada_is_bogus_array_descriptor (type)) - fprintf_filtered (stream, - "array (?) of ? ()"); - else - print_record_type (type, stream, show, level); - break; - case TYPE_CODE_UNION: - print_unchecked_union_type (type, stream, show, level); - break; - case TYPE_CODE_FUNC: - print_func_type (type, stream, varstring); - break; - } -} diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c deleted file mode 100644 index fc2db703035..00000000000 --- a/gdb/ada-valprint.c +++ /dev/null @@ -1,988 +0,0 @@ -/* Support for printing Ada values for GDB, the GNU debugger. - Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1997, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#include -#include "defs.h" -#include "symtab.h" -#include "gdbtypes.h" -#include "expression.h" -#include "value.h" -#include "demangle.h" -#include "valprint.h" -#include "language.h" -#include "annotate.h" -#include "ada-lang.h" -#include "c-lang.h" - -/* Encapsulates arguments to ada_val_print. */ -struct ada_val_print_args -{ - struct type *type; - char *valaddr0; - int embedded_offset; - CORE_ADDR address; - struct ui_file *stream; - int format; - int deref_ref; - int recurse; - enum val_prettyprint pretty; -}; - -extern int inspect_it; -extern unsigned int repeat_count_threshold; - -static void print_record (struct type *, char *, struct ui_file *, int, - int, enum val_prettyprint); - -static int print_field_values (struct type *, char *, struct ui_file *, - int, int, enum val_prettyprint, - int, struct type *, char *); - -static int print_variant_part (struct type *, int, char *, - struct ui_file *, int, int, - enum val_prettyprint, int, struct type *, - char *); - -static void val_print_packed_array_elements (struct type *, char *valaddr, - int, struct ui_file *, int, int, - enum val_prettyprint); - -static void adjust_type_signedness (struct type *); - -static int ada_val_print_stub (PTR args0); - -static int ada_val_print_1 (struct type *, char *, int, CORE_ADDR, - struct ui_file *, int, int, int, - enum val_prettyprint); - - -/* Make TYPE unsigned if its range of values includes no negatives. */ -static void -adjust_type_signedness (type) - struct type *type; -{ - if (type != NULL && TYPE_CODE (type) == TYPE_CODE_RANGE - && TYPE_LOW_BOUND (type) >= 0) - TYPE_FLAGS (type) |= TYPE_FLAG_UNSIGNED; -} - -/* Assuming TYPE is a simple array type, prints its lower bound on STREAM, - if non-standard (i.e., other than 1 for numbers, other than lower bound - of index type for enumerated type). Returns 1 if something printed, - otherwise 0. */ - -static int -print_optional_low_bound (struct ui_file *stream, struct type *type) -{ - struct type *index_type; - long low_bound; - - index_type = TYPE_INDEX_TYPE (type); - low_bound = 0; - - if (index_type == NULL) - return 0; - if (TYPE_CODE (index_type) == TYPE_CODE_RANGE) - { - low_bound = TYPE_LOW_BOUND (index_type); - index_type = TYPE_TARGET_TYPE (index_type); - } - else - return 0; - - switch (TYPE_CODE (index_type)) - { - case TYPE_CODE_ENUM: - if (low_bound == TYPE_FIELD_BITPOS (index_type, 0)) - return 0; - break; - case TYPE_CODE_UNDEF: - index_type = builtin_type_long; - /* FALL THROUGH */ - default: - if (low_bound == 1) - return 0; - break; - } - - ada_print_scalar (index_type, (LONGEST) low_bound, stream); - fprintf_filtered (stream, " => "); - return 1; -} - -/* Version of val_print_array_elements for GNAT-style packed arrays. - Prints elements of packed array of type TYPE at bit offset - BITOFFSET from VALADDR on STREAM. Formats according to FORMAT and - separates with commas. RECURSE is the recursion (nesting) level. - If PRETTY, uses "prettier" format. TYPE must have been decoded (as - by ada_coerce_to_simple_array). */ - -static void -val_print_packed_array_elements (struct type *type, char *valaddr, - int bitoffset, struct ui_file *stream, - int format, int recurse, - enum val_prettyprint pretty) -{ - unsigned int i; - unsigned int things_printed = 0; - unsigned len; - struct type *elttype; - unsigned eltlen; - /* Position of the array element we are examining to see - whether it is repeated. */ - unsigned int rep1; - /* Number of repetitions we have detected so far. */ - unsigned int reps; - unsigned long bitsize = TYPE_FIELD_BITSIZE (type, 0); - struct value *mark = value_mark (); - - elttype = TYPE_TARGET_TYPE (type); - eltlen = TYPE_LENGTH (check_typedef (elttype)); - - { - LONGEST low, high; - if (get_discrete_bounds (TYPE_FIELD_TYPE (type, 0), &low, &high) < 0) - len = 1; - else - len = high - low + 1; - } - - i = 0; - annotate_array_section_begin (i, elttype); - - while (i < len && things_printed < print_max) - { - struct value *v0, *v1; - int i0; - - if (i != 0) - { - if (prettyprint_arrays) - { - fprintf_filtered (stream, ",\n"); - print_spaces_filtered (2 + 2 * recurse, stream); - } - else - { - fprintf_filtered (stream, ", "); - } - } - wrap_here (n_spaces (2 + 2 * recurse)); - - i0 = i; - v0 = ada_value_primitive_packed_val (NULL, valaddr, - (i0 * bitsize) / HOST_CHAR_BIT, - (i0 * bitsize) % HOST_CHAR_BIT, - bitsize, elttype); - while (1) - { - i += 1; - if (i >= len) - break; - v1 = ada_value_primitive_packed_val (NULL, valaddr, - (i * bitsize) / HOST_CHAR_BIT, - (i * bitsize) % HOST_CHAR_BIT, - bitsize, elttype); - if (memcmp (VALUE_CONTENTS (v0), VALUE_CONTENTS (v1), eltlen) != 0) - break; - } - - if (i - i0 > repeat_count_threshold) - { - val_print (elttype, VALUE_CONTENTS (v0), 0, 0, stream, format, - 0, recurse + 1, pretty); - annotate_elt_rep (i - i0); - fprintf_filtered (stream, " ", i - i0); - annotate_elt_rep_end (); - - } - else - { - int j; - for (j = i0; j < i; j += 1) - { - if (j > i0) - { - if (prettyprint_arrays) - { - fprintf_filtered (stream, ",\n"); - print_spaces_filtered (2 + 2 * recurse, stream); - } - else - { - fprintf_filtered (stream, ", "); - } - wrap_here (n_spaces (2 + 2 * recurse)); - } - val_print (elttype, VALUE_CONTENTS (v0), 0, 0, stream, format, - 0, recurse + 1, pretty); - annotate_elt (); - } - } - things_printed += i - i0; - } - annotate_array_section_end (); - if (i < len) - { - fprintf_filtered (stream, "..."); - } - - value_free_to_mark (mark); -} - -static struct type * -printable_val_type (struct type *type, char *valaddr) -{ - return ada_to_fixed_type (ada_aligned_type (type), valaddr, 0, NULL); -} - -/* Print the character C on STREAM as part of the contents of a literal - string whose delimiter is QUOTER. TYPE_LEN is the length in bytes - (1 or 2) of the character. */ - -void -ada_emit_char (int c, struct ui_file *stream, int quoter, int type_len) -{ - if (type_len != 2) - type_len = 1; - - c &= (1 << (type_len * TARGET_CHAR_BIT)) - 1; - - if (isascii (c) && isprint (c)) - { - if (c == quoter && c == '"') - fprintf_filtered (stream, "[\"%c\"]", quoter); - else - fprintf_filtered (stream, "%c", c); - } - else - fprintf_filtered (stream, "[\"%0*x\"]", type_len * 2, c); -} - -/* Character #I of STRING, given that TYPE_LEN is the size in bytes (1 - or 2) of a character. */ - -static int -char_at (char *string, int i, int type_len) -{ - if (type_len == 1) - return string[i]; - else - return (int) extract_unsigned_integer (string + 2 * i, 2); -} - -void -ada_printchar (int c, struct ui_file *stream) -{ - fputs_filtered ("'", stream); - ada_emit_char (c, stream, '\'', 1); - fputs_filtered ("'", stream); -} - -/* [From print_type_scalar in typeprint.c]. Print VAL on STREAM in a - form appropriate for TYPE. */ - -void -ada_print_scalar (struct type *type, LONGEST val, struct ui_file *stream) -{ - unsigned int i; - unsigned len; - - CHECK_TYPEDEF (type); - - switch (TYPE_CODE (type)) - { - - case TYPE_CODE_ENUM: - len = TYPE_NFIELDS (type); - for (i = 0; i < len; i++) - { - if (TYPE_FIELD_BITPOS (type, i) == val) - { - break; - } - } - if (i < len) - { - fputs_filtered (ada_enum_name (TYPE_FIELD_NAME (type, i)), stream); - } - else - { - print_longest (stream, 'd', 0, val); - } - break; - - case TYPE_CODE_INT: - print_longest (stream, TYPE_UNSIGNED (type) ? 'u' : 'd', 0, val); - break; - - case TYPE_CODE_CHAR: - LA_PRINT_CHAR ((unsigned char) val, stream); - break; - - case TYPE_CODE_BOOL: - fprintf_filtered (stream, val ? "true" : "false"); - break; - - case TYPE_CODE_RANGE: - ada_print_scalar (TYPE_TARGET_TYPE (type), val, stream); - return; - - case TYPE_CODE_UNDEF: - case TYPE_CODE_PTR: - case TYPE_CODE_ARRAY: - case TYPE_CODE_STRUCT: - case TYPE_CODE_UNION: - case TYPE_CODE_FUNC: - case TYPE_CODE_FLT: - case TYPE_CODE_VOID: - case TYPE_CODE_SET: - case TYPE_CODE_STRING: - case TYPE_CODE_ERROR: - case TYPE_CODE_MEMBER: - case TYPE_CODE_METHOD: - case TYPE_CODE_REF: - warning ("internal error: unhandled type in ada_print_scalar"); - break; - - default: - error ("Invalid type code in symbol table."); - } - gdb_flush (stream); -} - -/* Print the character string STRING, printing at most LENGTH characters. - Printing stops early if the number hits print_max; repeat counts - are printed as appropriate. Print ellipses at the end if we - had to stop before printing LENGTH characters, or if - FORCE_ELLIPSES. TYPE_LEN is the length (1 or 2) of the character type. - */ - -static void -printstr (struct ui_file *stream, char *string, unsigned int length, - int force_ellipses, int type_len) -{ - unsigned int i; - unsigned int things_printed = 0; - int in_quotes = 0; - int need_comma = 0; - - if (length == 0) - { - fputs_filtered ("\"\"", stream); - return; - } - - for (i = 0; i < length && things_printed < print_max; i += 1) - { - /* Position of the character we are examining - to see whether it is repeated. */ - unsigned int rep1; - /* Number of repetitions we have detected so far. */ - unsigned int reps; - - QUIT; - - if (need_comma) - { - fputs_filtered (", ", stream); - need_comma = 0; - } - - rep1 = i + 1; - reps = 1; - while (rep1 < length && - char_at (string, rep1, type_len) == char_at (string, i, - type_len)) - { - rep1 += 1; - reps += 1; - } - - if (reps > repeat_count_threshold) - { - if (in_quotes) - { - if (inspect_it) - fputs_filtered ("\\\", ", stream); - else - fputs_filtered ("\", ", stream); - in_quotes = 0; - } - fputs_filtered ("'", stream); - ada_emit_char (char_at (string, i, type_len), stream, '\'', - type_len); - fputs_filtered ("'", stream); - fprintf_filtered (stream, " ", reps); - i = rep1 - 1; - things_printed += repeat_count_threshold; - need_comma = 1; - } - else - { - if (!in_quotes) - { - if (inspect_it) - fputs_filtered ("\\\"", stream); - else - fputs_filtered ("\"", stream); - in_quotes = 1; - } - ada_emit_char (char_at (string, i, type_len), stream, '"', - type_len); - things_printed += 1; - } - } - - /* Terminate the quotes if necessary. */ - if (in_quotes) - { - if (inspect_it) - fputs_filtered ("\\\"", stream); - else - fputs_filtered ("\"", stream); - } - - if (force_ellipses || i < length) - fputs_filtered ("...", stream); -} - -void -ada_printstr (struct ui_file *stream, char *string, unsigned int length, - int force_ellipses, int width) -{ - printstr (stream, string, length, force_ellipses, width); -} - - -/* Print data of type TYPE located at VALADDR (within GDB), which came from - the inferior at address ADDRESS, onto stdio stream STREAM according to - FORMAT (a letter as for the printf % codes or 0 for natural format). - The data at VALADDR is in target byte order. - - If the data is printed as a string, returns the number of string characters - printed. - - If DEREF_REF is nonzero, then dereference references, otherwise just print - them like pointers. - - RECURSE indicates the amount of indentation to supply before - continuation lines; this amount is roughly twice the value of RECURSE. - - When PRETTY is non-zero, prints record fields on separate lines. - (For some reason, the current version of gdb instead uses a global - variable---prettyprint_arrays--- to causes a similar effect on - arrays.) */ - -int -ada_val_print (struct type *type, char *valaddr0, int embedded_offset, - CORE_ADDR address, struct ui_file *stream, int format, - int deref_ref, int recurse, enum val_prettyprint pretty) -{ - struct ada_val_print_args args; - args.type = type; - args.valaddr0 = valaddr0; - args.embedded_offset = embedded_offset; - args.address = address; - args.stream = stream; - args.format = format; - args.deref_ref = deref_ref; - args.recurse = recurse; - args.pretty = pretty; - - return catch_errors (ada_val_print_stub, &args, NULL, RETURN_MASK_ALL); -} - -/* Helper for ada_val_print; used as argument to catch_errors to - unmarshal the arguments to ada_val_print_1, which does the work. */ -static int -ada_val_print_stub (PTR args0) -{ - struct ada_val_print_args *argsp = (struct ada_val_print_args *) args0; - return ada_val_print_1 (argsp->type, argsp->valaddr0, - argsp->embedded_offset, argsp->address, - argsp->stream, argsp->format, argsp->deref_ref, - argsp->recurse, argsp->pretty); -} - -/* See the comment on ada_val_print. This function differs in that it - * does not catch evaluation errors (leaving that to ada_val_print). */ - -static int -ada_val_print_1 (struct type *type, char *valaddr0, int embedded_offset, - CORE_ADDR address, struct ui_file *stream, int format, - int deref_ref, int recurse, enum val_prettyprint pretty) -{ - unsigned int len; - int i; - struct type *elttype; - unsigned int eltlen; - LONGEST val; - CORE_ADDR addr; - char *valaddr = valaddr0 + embedded_offset; - - CHECK_TYPEDEF (type); - - if (ada_is_array_descriptor (type) || ada_is_packed_array_type (type)) - { - int retn; - struct value *mark = value_mark (); - struct value *val; - val = value_from_contents_and_address (type, valaddr, address); - val = ada_coerce_to_simple_array_ptr (val); - if (val == NULL) - { - fprintf_filtered (stream, "(null)"); - retn = 0; - } - else - retn = ada_val_print_1 (VALUE_TYPE (val), VALUE_CONTENTS (val), 0, - VALUE_ADDRESS (val), stream, format, - deref_ref, recurse, pretty); - value_free_to_mark (mark); - return retn; - } - - valaddr = ada_aligned_value_addr (type, valaddr); - embedded_offset -= valaddr - valaddr0 - embedded_offset; - type = printable_val_type (type, valaddr); - - switch (TYPE_CODE (type)) - { - default: - return c_val_print (type, valaddr0, embedded_offset, address, stream, - format, deref_ref, recurse, pretty); - - case TYPE_CODE_INT: - case TYPE_CODE_RANGE: - if (ada_is_fixed_point_type (type)) - { - LONGEST v = unpack_long (type, valaddr); - int len = TYPE_LENGTH (type); - - fprintf_filtered (stream, len < 4 ? "%.11g" : "%.17g", - (double) ada_fixed_to_float (type, v)); - return 0; - } - else if (ada_is_vax_floating_type (type)) - { - struct value *val = - value_from_contents_and_address (type, valaddr, address); - struct value *func = ada_vax_float_print_function (type); - if (func != 0) - { - static struct type *parray_of_char = NULL; - struct value *printable_val; - - if (parray_of_char == NULL) - parray_of_char = - make_pointer_type - (create_array_type - (NULL, builtin_type_char, - create_range_type (NULL, builtin_type_int, 0, 32)), NULL); - - printable_val = - value_ind (value_cast (parray_of_char, - call_function_by_hand (func, 1, - &val))); - - fprintf_filtered (stream, "%s", VALUE_CONTENTS (printable_val)); - return 0; - } - /* No special printing function. Do as best we can. */ - } - else if (TYPE_CODE (type) == TYPE_CODE_RANGE) - { - struct type *target_type = TYPE_TARGET_TYPE (type); - if (TYPE_LENGTH (type) != TYPE_LENGTH (target_type)) - { - /* Obscure case of range type that has different length from - its base type. Perform a conversion, or we will get a - nonsense value. Actually, we could use the same - code regardless of lengths; I'm just avoiding a cast. */ - struct value *v = value_cast (target_type, - value_from_contents_and_address - (type, valaddr, 0)); - return ada_val_print_1 (target_type, VALUE_CONTENTS (v), 0, 0, - stream, format, 0, recurse + 1, pretty); - } - else - return ada_val_print_1 (TYPE_TARGET_TYPE (type), - valaddr0, embedded_offset, - address, stream, format, deref_ref, - recurse, pretty); - } - else - { - format = format ? format : output_format; - if (format) - { - print_scalar_formatted (valaddr, type, format, 0, stream); - } - else - { - val_print_type_code_int (type, valaddr, stream); - if (ada_is_character_type (type)) - { - fputs_filtered (" ", stream); - ada_printchar ((unsigned char) unpack_long (type, valaddr), - stream); - } - } - return 0; - } - - case TYPE_CODE_ENUM: - if (format) - { - print_scalar_formatted (valaddr, type, format, 0, stream); - break; - } - len = TYPE_NFIELDS (type); - val = unpack_long (type, valaddr); - for (i = 0; i < len; i++) - { - QUIT; - if (val == TYPE_FIELD_BITPOS (type, i)) - { - break; - } - } - if (i < len) - { - const char *name = ada_enum_name (TYPE_FIELD_NAME (type, i)); - if (name[0] == '\'') - fprintf_filtered (stream, "%ld %s", (long) val, name); - else - fputs_filtered (name, stream); - } - else - { - print_longest (stream, 'd', 0, val); - } - break; - - case TYPE_CODE_UNION: - case TYPE_CODE_STRUCT: - if (ada_is_bogus_array_descriptor (type)) - { - fprintf_filtered (stream, "(...?)"); - return 0; - } - else - { - print_record (type, valaddr, stream, format, recurse, pretty); - return 0; - } - - case TYPE_CODE_ARRAY: - if (TYPE_LENGTH (type) > 0 && TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0) - { - elttype = TYPE_TARGET_TYPE (type); - eltlen = TYPE_LENGTH (elttype); - len = TYPE_LENGTH (type) / eltlen; - - /* For an array of chars, print with string syntax. */ - if (ada_is_string_type (type) && (format == 0 || format == 's')) - { - if (prettyprint_arrays) - { - print_spaces_filtered (2 + 2 * recurse, stream); - } - /* If requested, look for the first null char and only print - elements up to it. */ - if (stop_print_at_null) - { - int temp_len; - - /* Look for a NULL char. */ - for (temp_len = 0; - temp_len < len && temp_len < print_max - && char_at (valaddr, temp_len, eltlen) != 0; - temp_len += 1); - len = temp_len; - } - - printstr (stream, valaddr, len, 0, eltlen); - } - else - { - len = 0; - fprintf_filtered (stream, "("); - print_optional_low_bound (stream, type); - if (TYPE_FIELD_BITSIZE (type, 0) > 0) - val_print_packed_array_elements (type, valaddr, 0, stream, - format, recurse, pretty); - else - val_print_array_elements (type, valaddr, address, stream, - format, deref_ref, recurse, - pretty, 0); - fprintf_filtered (stream, ")"); - } - gdb_flush (stream); - return len; - } - - case TYPE_CODE_REF: - elttype = check_typedef (TYPE_TARGET_TYPE (type)); - if (addressprint) - { - fprintf_filtered (stream, "@"); - print_address_numeric - (extract_address (valaddr, - TARGET_PTR_BIT / HOST_CHAR_BIT), 1, stream); - if (deref_ref) - fputs_filtered (": ", stream); - } - /* De-reference the reference */ - if (deref_ref) - { - if (TYPE_CODE (elttype) != TYPE_CODE_UNDEF) - { - LONGEST deref_val_int = (LONGEST) - unpack_pointer (lookup_pointer_type (builtin_type_void), - valaddr); - if (deref_val_int != 0) - { - struct value *deref_val = - ada_value_ind (value_from_longest - (lookup_pointer_type (elttype), - deref_val_int)); - val_print (VALUE_TYPE (deref_val), - VALUE_CONTENTS (deref_val), 0, - VALUE_ADDRESS (deref_val), stream, format, - deref_ref, recurse + 1, pretty); - } - else - fputs_filtered ("(null)", stream); - } - else - fputs_filtered ("???", stream); - } - break; - } - return 0; -} - -static int -print_variant_part (struct type *type, int field_num, char *valaddr, - struct ui_file *stream, int format, int recurse, - enum val_prettyprint pretty, int comma_needed, - struct type *outer_type, char *outer_valaddr) -{ - struct type *var_type = TYPE_FIELD_TYPE (type, field_num); - int which = ada_which_variant_applies (var_type, outer_type, outer_valaddr); - - if (which < 0) - return 0; - else - return print_field_values - (TYPE_FIELD_TYPE (var_type, which), - valaddr + TYPE_FIELD_BITPOS (type, field_num) / HOST_CHAR_BIT - + TYPE_FIELD_BITPOS (var_type, which) / HOST_CHAR_BIT, - stream, format, recurse, pretty, - comma_needed, outer_type, outer_valaddr); -} - -int -ada_value_print (struct value *val0, struct ui_file *stream, int format, - enum val_prettyprint pretty) -{ - char *valaddr = VALUE_CONTENTS (val0); - CORE_ADDR address = VALUE_ADDRESS (val0) + VALUE_OFFSET (val0); - struct type *type = - ada_to_fixed_type (VALUE_TYPE (val0), valaddr, address, NULL); - struct value *val = - value_from_contents_and_address (type, valaddr, address); - - /* If it is a pointer, indicate what it points to. */ - if (TYPE_CODE (type) == TYPE_CODE_PTR || TYPE_CODE (type) == TYPE_CODE_REF) - { - /* Hack: remove (char *) for char strings. Their - type is indicated by the quoted string anyway. */ - if (TYPE_CODE (type) == TYPE_CODE_PTR && - TYPE_LENGTH (TYPE_TARGET_TYPE (type)) == sizeof (char) && - TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_INT && - !TYPE_UNSIGNED (TYPE_TARGET_TYPE (type))) - { - /* Print nothing */ - } - else - { - fprintf_filtered (stream, "("); - type_print (type, "", stream, -1); - fprintf_filtered (stream, ") "); - } - } - else if (ada_is_array_descriptor (type)) - { - fprintf_filtered (stream, "("); - type_print (type, "", stream, -1); - fprintf_filtered (stream, ") "); - } - else if (ada_is_bogus_array_descriptor (type)) - { - fprintf_filtered (stream, "("); - type_print (type, "", stream, -1); - fprintf_filtered (stream, ") (...?)"); - return 0; - } - return (val_print (type, VALUE_CONTENTS (val), 0, address, - stream, format, 1, 0, pretty)); -} - -static void -print_record (struct type *type, char *valaddr, struct ui_file *stream, - int format, int recurse, enum val_prettyprint pretty) -{ - CHECK_TYPEDEF (type); - - fprintf_filtered (stream, "("); - - if (print_field_values (type, valaddr, stream, format, recurse, pretty, - 0, type, valaddr) != 0 && pretty) - { - fprintf_filtered (stream, "\n"); - print_spaces_filtered (2 * recurse, stream); - } - - fprintf_filtered (stream, ")"); -} - -/* Print out fields of value at VALADDR having structure type TYPE. - - TYPE, VALADDR, STREAM, FORMAT, RECURSE, and PRETTY have the - same meanings as in ada_print_value and ada_val_print. - - OUTER_TYPE and OUTER_VALADDR give type and address of enclosing record - (used to get discriminant values when printing variant parts). - - COMMA_NEEDED is 1 if fields have been printed at the current recursion - level, so that a comma is needed before any field printed by this - call. - - Returns 1 if COMMA_NEEDED or any fields were printed. */ - -static int -print_field_values (struct type *type, char *valaddr, struct ui_file *stream, - int format, int recurse, enum val_prettyprint pretty, - int comma_needed, struct type *outer_type, - char *outer_valaddr) -{ - int i, len; - - len = TYPE_NFIELDS (type); - - for (i = 0; i < len; i += 1) - { - if (ada_is_ignored_field (type, i)) - continue; - - if (ada_is_wrapper_field (type, i)) - { - comma_needed = - print_field_values (TYPE_FIELD_TYPE (type, i), - valaddr - + TYPE_FIELD_BITPOS (type, i) / HOST_CHAR_BIT, - stream, format, recurse, pretty, - comma_needed, type, valaddr); - continue; - } - else if (ada_is_variant_part (type, i)) - { - comma_needed = - print_variant_part (type, i, valaddr, - stream, format, recurse, pretty, comma_needed, - outer_type, outer_valaddr); - continue; - } - - if (comma_needed) - fprintf_filtered (stream, ", "); - comma_needed = 1; - - if (pretty) - { - fprintf_filtered (stream, "\n"); - print_spaces_filtered (2 + 2 * recurse, stream); - } - else - { - wrap_here (n_spaces (2 + 2 * recurse)); - } - if (inspect_it) - { - if (TYPE_CODE (TYPE_FIELD_TYPE (type, i)) == TYPE_CODE_PTR) - fputs_filtered ("\"( ptr \"", stream); - else - fputs_filtered ("\"( nodef \"", stream); - fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i), - language_cplus, DMGL_NO_OPTS); - fputs_filtered ("\" \"", stream); - fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i), - language_cplus, DMGL_NO_OPTS); - fputs_filtered ("\") \"", stream); - } - else - { - annotate_field_begin (TYPE_FIELD_TYPE (type, i)); - fprintf_filtered (stream, "%.*s", - ada_name_prefix_len (TYPE_FIELD_NAME (type, i)), - TYPE_FIELD_NAME (type, i)); - annotate_field_name_end (); - fputs_filtered (" => ", stream); - annotate_field_value (); - } - - if (TYPE_FIELD_PACKED (type, i)) - { - struct value *v; - - /* Bitfields require special handling, especially due to byte - order problems. */ - if (TYPE_CPLUS_SPECIFIC (type) != NULL - && TYPE_FIELD_IGNORE (type, i)) - { - fputs_filtered ("", stream); - } - else - { - int bit_pos = TYPE_FIELD_BITPOS (type, i); - int bit_size = TYPE_FIELD_BITSIZE (type, i); - - adjust_type_signedness (TYPE_FIELD_TYPE (type, i)); - v = ada_value_primitive_packed_val (NULL, valaddr, - bit_pos / HOST_CHAR_BIT, - bit_pos % HOST_CHAR_BIT, - bit_size, - TYPE_FIELD_TYPE (type, i)); - val_print (TYPE_FIELD_TYPE (type, i), VALUE_CONTENTS (v), 0, 0, - stream, format, 0, recurse + 1, pretty); - } - } - else - ada_val_print (TYPE_FIELD_TYPE (type, i), - valaddr + TYPE_FIELD_BITPOS (type, i) / HOST_CHAR_BIT, - 0, 0, stream, format, 0, recurse + 1, pretty); - annotate_field_end (); - } - - return comma_needed; -} diff --git a/gdb/aix-thread.c b/gdb/aix-thread.c deleted file mode 100644 index da75f21dbd1..00000000000 --- a/gdb/aix-thread.c +++ /dev/null @@ -1,1707 +0,0 @@ -/* Low level interface for debugging AIX 4.3+ pthreads. - - Copyright 1999, 2000, 2002 Free Software Foundation, Inc. - Written by Nick Duffek . - - 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. */ - - -/* This module uses the libpthdebug.a library provided by AIX 4.3+ for - debugging pthread applications. - - Some name prefix conventions: - pthdb_ provided by libpthdebug.a - pdc_ callbacks that this module provides to libpthdebug.a - pd_ variables or functions interfacing with libpthdebug.a - - libpthdebug peculiarities: - - - pthdb_ptid_pthread() is prototyped in , but - it's not documented, and after several calls it stops working - and causes other libpthdebug functions to fail. - - - pthdb_tid_pthread() doesn't always work after - pthdb_session_update(), but it does work after cycling through - all threads using pthdb_pthread(). - - */ - -#include "defs.h" -#include "gdb_assert.h" -#include "gdbthread.h" -#include "target.h" -#include "inferior.h" -#include "regcache.h" -#include "gdbcmd.h" -#include "language.h" /* for local_hex_string() */ -#include "ppc-tdep.h" - -#include -#include -#include -#include -#include -#include - -/* Whether to emit debugging output. */ -static int debug_aix_thread; - -/* In AIX 5.1, functions use pthdb_tid_t instead of tid_t. */ -#ifndef PTHDB_VERSION_3 -#define pthdb_tid_t tid_t -#endif - -/* Return whether to treat PID as a debuggable thread id. */ - -#define PD_TID(ptid) (pd_active && ptid_get_tid (ptid) != 0) - -/* Build a thread ptid. */ -#define BUILD_THREAD(TID, PID) ptid_build (PID, 0, TID) - -/* Build and lwp ptid. */ -#define BUILD_LWP(LWP, PID) MERGEPID (PID, LWP) - -/* pthdb_user_t value that we pass to pthdb functions. 0 causes - PTHDB_BAD_USER errors, so use 1. */ - -#define PD_USER 1 - -/* Success and failure values returned by pthdb callbacks. */ - -#define PDC_SUCCESS PTHDB_SUCCESS -#define PDC_FAILURE PTHDB_CALLBACK - -/* Private data attached to each element in GDB's thread list. */ - -struct private_thread_info { - pthdb_pthread_t pdtid; /* thread's libpthdebug id */ - pthdb_tid_t tid; /* kernel thread id */ -}; - -/* Information about a thread of which libpthdebug is aware. */ - -struct pd_thread { - pthdb_pthread_t pdtid; - pthread_t pthid; - pthdb_tid_t tid; -}; - -/* This module's target-specific operations, active while pd_able is true. */ - -static struct target_ops aix_thread_ops; - -/* Copy of the target over which ops is pushed. - This is more convenient than a pointer to child_ops or core_ops, - because they lack current_target's default callbacks. */ - -static struct target_ops base_target; - -/* Address of the function that libpthread will call when libpthdebug - is ready to be initialized. */ - -static CORE_ADDR pd_brk_addr; - -/* Whether the current application is debuggable by pthdb. */ - -static int pd_able = 0; - -/* Whether a threaded application is being debugged. */ - -static int pd_active = 0; - -/* Whether the current architecture is 64-bit. - Only valid when pd_able is true. */ - -static int arch64; - -/* Saved pointer to previous owner of target_new_objfile_hook. */ - -static void (*target_new_objfile_chain)(struct objfile *); - -/* Forward declarations for pthdb callbacks. */ - -static int pdc_symbol_addrs (pthdb_user_t, pthdb_symbol_t *, int); -static int pdc_read_data (pthdb_user_t, void *, pthdb_addr_t, size_t); -static int pdc_write_data (pthdb_user_t, void *, pthdb_addr_t, size_t); -static int pdc_read_regs (pthdb_user_t user, pthdb_tid_t tid, - unsigned long long flags, - pthdb_context_t *context); -static int pdc_write_regs (pthdb_user_t user, pthdb_tid_t tid, - unsigned long long flags, - pthdb_context_t *context); -static int pdc_alloc (pthdb_user_t, size_t, void **); -static int pdc_realloc (pthdb_user_t, void *, size_t, void **); -static int pdc_dealloc (pthdb_user_t, void *); - -/* pthdb callbacks. */ - -static pthdb_callbacks_t pd_callbacks = { - pdc_symbol_addrs, - pdc_read_data, - pdc_write_data, - pdc_read_regs, - pdc_write_regs, - pdc_alloc, - pdc_realloc, - pdc_dealloc, - NULL -}; - -/* Current pthdb session. */ - -static pthdb_session_t pd_session; - -/* Return a printable representation of pthdebug function return - STATUS. */ - -static char * -pd_status2str (int status) -{ - switch (status) - { - case PTHDB_SUCCESS: return "SUCCESS"; - case PTHDB_NOSYS: return "NOSYS"; - case PTHDB_NOTSUP: return "NOTSUP"; - case PTHDB_BAD_VERSION: return "BAD_VERSION"; - case PTHDB_BAD_USER: return "BAD_USER"; - case PTHDB_BAD_SESSION: return "BAD_SESSION"; - case PTHDB_BAD_MODE: return "BAD_MODE"; - case PTHDB_BAD_FLAGS: return "BAD_FLAGS"; - case PTHDB_BAD_CALLBACK: return "BAD_CALLBACK"; - case PTHDB_BAD_POINTER: return "BAD_POINTER"; - case PTHDB_BAD_CMD: return "BAD_CMD"; - case PTHDB_BAD_PTHREAD: return "BAD_PTHREAD"; - case PTHDB_BAD_ATTR: return "BAD_ATTR"; - case PTHDB_BAD_MUTEX: return "BAD_MUTEX"; - case PTHDB_BAD_MUTEXATTR: return "BAD_MUTEXATTR"; - case PTHDB_BAD_COND: return "BAD_COND"; - case PTHDB_BAD_CONDATTR: return "BAD_CONDATTR"; - case PTHDB_BAD_RWLOCK: return "BAD_RWLOCK"; - case PTHDB_BAD_RWLOCKATTR: return "BAD_RWLOCKATTR"; - case PTHDB_BAD_KEY: return "BAD_KEY"; - case PTHDB_BAD_PTID: return "BAD_PTID"; - case PTHDB_BAD_TID: return "BAD_TID"; - case PTHDB_CALLBACK: return "CALLBACK"; - case PTHDB_CONTEXT: return "CONTEXT"; - case PTHDB_HELD: return "HELD"; - case PTHDB_NOT_HELD: return "NOT_HELD"; - case PTHDB_MEMORY: return "MEMORY"; - case PTHDB_NOT_PTHREADED: return "NOT_PTHREADED"; - case PTHDB_SYMBOL: return "SYMBOL"; - case PTHDB_NOT_AVAIL: return "NOT_AVAIL"; - case PTHDB_INTERNAL: return "INTERNAL"; - default: return "UNKNOWN"; - } -} - -/* A call to ptrace(REQ, ID, ...) just returned RET. Check for - exceptional conditions and either return nonlocally or else return - 1 for success and 0 for failure. */ - -static int -ptrace_check (int req, int id, int ret) -{ - if (ret == 0 && !errno) - return 1; - - /* According to ptrace(2), ptrace may fail with EPERM if "the - Identifier parameter corresponds to a kernel thread which is - stopped in kernel mode and whose computational state cannot be - read or written." This happens quite often with register reads. */ - - switch (req) - { - case PTT_READ_GPRS: - case PTT_READ_FPRS: - case PTT_READ_SPRS: - if (ret == -1 && errno == EPERM) - { - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "ptrace (%d, %d) = %d (errno = %d)\n", - req, id, ret, errno); - return ret == -1 ? 0 : 1; - } - break; - } - error ("aix-thread: ptrace (%d, %d) returned %d (errno = %d %s)", - req, id, ret, errno, safe_strerror (errno)); - return 0; /* Not reached. */ -} - -/* Call ptracex (REQ, ID, ADDR, DATA, BUF). Return success. */ - -static int -ptrace64aix (int req, int id, long long addr, int data, int *buf) -{ - errno = 0; - return ptrace_check (req, id, ptracex (req, id, addr, data, buf)); -} - -/* Call ptrace (REQ, ID, ADDR, DATA, BUF). Return success. */ - -static int -ptrace32 (int req, int id, int *addr, int data, int *buf) -{ - errno = 0; - return ptrace_check (req, id, - ptrace (req, id, (int *) addr, data, buf)); -} - -/* If *PIDP is a composite process/thread id, convert it to a - process id. */ - -static void -pid_to_prc (ptid_t *ptidp) -{ - ptid_t ptid; - - ptid = *ptidp; - if (PD_TID (ptid)) - *ptidp = pid_to_ptid (PIDGET (ptid)); -} - -/* pthdb callback: for from 0 to COUNT, set SYMBOLS[].addr to - the address of SYMBOLS[].name. */ - -static int -pdc_symbol_addrs (pthdb_user_t user, pthdb_symbol_t *symbols, int count) -{ - struct minimal_symbol *ms; - int i; - char *name; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "pdc_symbol_addrs (user = %ld, symbols = 0x%lx, count = %d)\n", - user, (long) symbols, count); - - for (i = 0; i < count; i++) - { - name = symbols[i].name; - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - " symbols[%d].name = \"%s\"\n", i, name); - - if (!*name) - symbols[i].addr = 0; - else - { - if (!(ms = lookup_minimal_symbol (name, NULL, NULL))) - { - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, " returning PDC_FAILURE\n"); - return PDC_FAILURE; - } - symbols[i].addr = SYMBOL_VALUE_ADDRESS (ms); - } - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, " symbols[%d].addr = %s\n", - i, local_hex_string (symbols[i].addr)); - } - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, " returning PDC_SUCCESS\n"); - return PDC_SUCCESS; -} - -/* Read registers call back function should be able to read the - context information of a debuggee kernel thread from an active - process or from a core file. The information should be formatted - in context64 form for both 32-bit and 64-bit process. - If successful return 0, else non-zero is returned. */ - -static int -pdc_read_regs (pthdb_user_t user, - pthdb_tid_t tid, - unsigned long long flags, - pthdb_context_t *context) -{ - /* This function doesn't appear to be used, so we could probably - just return 0 here. HOWEVER, if it is not defined, the OS will - complain and several thread debug functions will fail. In case - this is needed, I have implemented what I think it should do, - however this code is untested. */ - - uint64_t gprs64[32]; - uint32_t gprs32[32]; - double fprs[32]; - struct ptxsprs sprs64; - struct ptsprs sprs32; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, "pdc_read_regs tid=%d flags=%s\n", - (int) tid, local_hex_string (flags)); - - /* General-purpose registers. */ - if (flags & PTHDB_FLAG_GPRS) - { - if (arch64) - { - if (!ptrace64aix (PTT_READ_GPRS, tid, - (unsigned long) gprs64, 0, NULL)) - memset (gprs64, 0, sizeof (gprs64)); - memcpy (context->gpr, gprs64, sizeof(gprs64)); - } - else - { - if (!ptrace32 (PTT_READ_GPRS, tid, gprs32, 0, NULL)) - memset (gprs32, 0, sizeof (gprs32)); - memcpy (context->gpr, gprs32, sizeof(gprs32)); - } - } - - /* Floating-point registers. */ - if (flags & PTHDB_FLAG_FPRS) - { - if (!ptrace32 (PTT_READ_FPRS, tid, (int *) fprs, 0, NULL)) - memset (fprs, 0, sizeof (fprs)); - memcpy (context->fpr, fprs, sizeof(fprs)); - } - - /* Special-purpose registers. */ - if (flags & PTHDB_FLAG_SPRS) - { - if (arch64) - { - if (!ptrace64aix (PTT_READ_SPRS, tid, - (unsigned long) &sprs64, 0, NULL)) - memset (&sprs64, 0, sizeof (sprs64)); - memcpy (&context->msr, &sprs64, sizeof(sprs64)); - } - else - { - if (!ptrace32 (PTT_READ_SPRS, tid, (int *) &sprs32, 0, NULL)) - memset (&sprs32, 0, sizeof (sprs32)); - memcpy (&context->msr, &sprs32, sizeof(sprs32)); - } - } - return 0; -} - -/* Write register function should be able to write requested context - information to specified debuggee's kernel thread id. - If successful return 0, else non-zero is returned. */ - -static int -pdc_write_regs (pthdb_user_t user, - pthdb_tid_t tid, - unsigned long long flags, - pthdb_context_t *context) -{ - /* This function doesn't appear to be used, so we could probably - just return 0 here. HOWEVER, if it is not defined, the OS will - complain and several thread debug functions will fail. In case - this is needed, I have implemented what I think it should do, - however this code is untested. */ - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, "pdc_write_regs tid=%d flags=%s\n", - (int) tid, local_hex_string (flags)); - - /* General-purpose registers. */ - if (flags & PTHDB_FLAG_GPRS) - { - if (arch64) - ptrace64aix (PTT_WRITE_GPRS, tid, - (unsigned long) context->gpr, 0, NULL); - else - ptrace32 (PTT_WRITE_GPRS, tid, (int *) context->gpr, 0, NULL); - } - - /* Floating-point registers. */ - if (flags & PTHDB_FLAG_FPRS) - { - ptrace32 (PTT_WRITE_FPRS, tid, (int *) context->fpr, 0, NULL); - } - - /* Special-purpose registers. */ - if (flags & PTHDB_FLAG_SPRS) - { - if (arch64) - { - ptrace64aix (PTT_WRITE_SPRS, tid, - (unsigned long) &context->msr, 0, NULL); - } - else - { - ptrace32 (PTT_WRITE_SPRS, tid, (int *) &context->msr, 0, NULL); - } - } - return 0; -} - -/* pthdb callback: read LEN bytes from process ADDR into BUF. */ - -static int -pdc_read_data (pthdb_user_t user, void *buf, - pthdb_addr_t addr, size_t len) -{ - int status, ret; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "pdc_read_data (user = %ld, buf = 0x%lx, addr = %s, len = %ld)\n", - user, (long) buf, local_hex_string (addr), len); - - status = target_read_memory (addr, buf, len); - ret = status == 0 ? PDC_SUCCESS : PDC_FAILURE; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, " status=%d, returning %s\n", - status, pd_status2str (ret)); - return ret; -} - -/* pthdb callback: write LEN bytes from BUF to process ADDR. */ - -static int -pdc_write_data (pthdb_user_t user, void *buf, - pthdb_addr_t addr, size_t len) -{ - int status, ret; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "pdc_write_data (user = %ld, buf = 0x%lx, addr = %s, len = %ld)\n", - user, (long) buf, local_hex_string (addr), len); - - status = target_write_memory (addr, buf, len); - ret = status == 0 ? PDC_SUCCESS : PDC_FAILURE; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, " status=%d, returning %s\n", status, - pd_status2str (ret)); - return ret; -} - -/* pthdb callback: allocate a LEN-byte buffer and store a pointer to it - in BUFP. */ - -static int -pdc_alloc (pthdb_user_t user, size_t len, void **bufp) -{ - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "pdc_alloc (user = %ld, len = %ld, bufp = 0x%lx)\n", - user, len, (long) bufp); - *bufp = xmalloc (len); - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - " malloc returned 0x%lx\n", (long) *bufp); - - /* Note: xmalloc() can't return 0; therefore PDC_FAILURE will never - be returned. */ - - return *bufp ? PDC_SUCCESS : PDC_FAILURE; -} - -/* pthdb callback: reallocate BUF, which was allocated by the alloc or - realloc callback, so that it contains LEN bytes, and store a - pointer to the result in BUFP. */ - -static int -pdc_realloc (pthdb_user_t user, void *buf, size_t len, void **bufp) -{ - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "pdc_realloc (user = %ld, buf = 0x%lx, len = %ld, bufp = 0x%lx)\n", - user, (long) buf, len, (long) bufp); - *bufp = xrealloc (buf, len); - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - " realloc returned 0x%lx\n", (long) *bufp); - return *bufp ? PDC_SUCCESS : PDC_FAILURE; -} - -/* pthdb callback: free BUF, which was allocated by the alloc or - realloc callback. */ - -static int -pdc_dealloc (pthdb_user_t user, void *buf) -{ - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "pdc_free (user = %ld, buf = 0x%lx)\n", user, - (long) buf); - xfree (buf); - return PDC_SUCCESS; -} - -/* Return a printable representation of pthread STATE. */ - -static char * -state2str (pthdb_state_t state) -{ - switch (state) - { - case PST_IDLE: return "idle"; /* being created */ - case PST_RUN: return "running"; /* running */ - case PST_SLEEP: return "sleeping"; /* awaiting an event */ - case PST_READY: return "ready"; /* runnable */ - case PST_TERM: return "finished"; /* awaiting a join/detach */ - default: return "unknown"; - } -} - -/* qsort() comparison function for sorting pd_thread structs by pthid. */ - -static int -pcmp (const void *p1v, const void *p2v) -{ - struct pd_thread *p1 = (struct pd_thread *) p1v; - struct pd_thread *p2 = (struct pd_thread *) p2v; - return p1->pthid < p2->pthid ? -1 : p1->pthid > p2->pthid; -} - -/* iterate_over_threads() callback for counting GDB threads. */ - -static int -giter_count (struct thread_info *thread, void *countp) -{ - (*(int *) countp)++; - return 0; -} - -/* iterate_over_threads() callback for accumulating GDB thread pids. */ - -static int -giter_accum (struct thread_info *thread, void *bufp) -{ - **(struct thread_info ***) bufp = thread; - (*(struct thread_info ***) bufp)++; - return 0; -} - -/* ptid comparison function */ - -static int -ptid_cmp (ptid_t ptid1, ptid_t ptid2) -{ - int pid1, pid2; - - if (ptid_get_pid (ptid1) < ptid_get_pid (ptid2)) - return -1; - else if (ptid_get_pid (ptid1) > ptid_get_pid (ptid2)) - return 1; - else if (ptid_get_tid (ptid1) < ptid_get_tid (ptid2)) - return -1; - else if (ptid_get_tid (ptid1) > ptid_get_tid (ptid2)) - return 1; - else if (ptid_get_lwp (ptid1) < ptid_get_lwp (ptid2)) - return -1; - else if (ptid_get_lwp (ptid1) > ptid_get_lwp (ptid2)) - return 1; - else - return 0; -} - -/* qsort() comparison function for sorting thread_info structs by pid. */ - -static int -gcmp (const void *t1v, const void *t2v) -{ - struct thread_info *t1 = *(struct thread_info **) t1v; - struct thread_info *t2 = *(struct thread_info **) t2v; - return ptid_cmp (t1->ptid, t2->ptid); -} - -/* Synchronize GDB's thread list with libpthdebug's. - - There are some benefits of doing this every time the inferior stops: - - - allows users to run thread-specific commands without needing to - run "info threads" first - - - helps pthdb_tid_pthread() work properly (see "libpthdebug - peculiarities" at the top of this module) - - - simplifies the demands placed on libpthdebug, which seems to - have difficulty with certain call patterns */ - -static void -sync_threadlists (void) -{ - int cmd, status, infpid; - int pcount, psize, pi, gcount, gi; - struct pd_thread *pbuf; - struct thread_info **gbuf, **g, *thread; - pthdb_pthread_t pdtid; - pthread_t pthid; - pthdb_tid_t tid; - - /* Accumulate an array of libpthdebug threads sorted by pthread id. */ - - pcount = 0; - psize = 1; - pbuf = (struct pd_thread *) xmalloc (psize * sizeof *pbuf); - - for (cmd = PTHDB_LIST_FIRST;; cmd = PTHDB_LIST_NEXT) - { - status = pthdb_pthread (pd_session, &pdtid, cmd); - if (status != PTHDB_SUCCESS || pdtid == PTHDB_INVALID_PTHREAD) - break; - - status = pthdb_pthread_ptid (pd_session, pdtid, &pthid); - if (status != PTHDB_SUCCESS || pthid == PTHDB_INVALID_PTID) - continue; - - if (pcount == psize) - { - psize *= 2; - pbuf = (struct pd_thread *) xrealloc (pbuf, - psize * sizeof *pbuf); - } - pbuf[pcount].pdtid = pdtid; - pbuf[pcount].pthid = pthid; - pcount++; - } - - for (pi = 0; pi < pcount; pi++) - { - status = pthdb_pthread_tid (pd_session, pbuf[pi].pdtid, &tid); - if (status != PTHDB_SUCCESS) - tid = PTHDB_INVALID_TID; - pbuf[pi].tid = tid; - } - - qsort (pbuf, pcount, sizeof *pbuf, pcmp); - - /* Accumulate an array of GDB threads sorted by pid. */ - - gcount = 0; - iterate_over_threads (giter_count, &gcount); - g = gbuf = (struct thread_info **) xmalloc (gcount * sizeof *gbuf); - iterate_over_threads (giter_accum, &g); - qsort (gbuf, gcount, sizeof *gbuf, gcmp); - - /* Apply differences between the two arrays to GDB's thread list. */ - - infpid = PIDGET (inferior_ptid); - for (pi = gi = 0; pi < pcount || gi < gcount;) - { - if (pi == pcount) - { - delete_thread (gbuf[gi]->ptid); - gi++; - } - else if (gi == gcount) - { - thread = add_thread (BUILD_THREAD (pbuf[pi].pthid, infpid)); - thread->private = xmalloc (sizeof (struct private_thread_info)); - thread->private->pdtid = pbuf[pi].pdtid; - thread->private->tid = pbuf[pi].tid; - pi++; - } - else - { - ptid_t pptid, gptid; - int cmp_result; - - pptid = BUILD_THREAD (pbuf[pi].pthid, infpid); - gptid = gbuf[gi]->ptid; - pdtid = pbuf[pi].pdtid; - tid = pbuf[pi].tid; - - cmp_result = ptid_cmp (pptid, gptid); - - if (cmp_result == 0) - { - gbuf[gi]->private->pdtid = pdtid; - gbuf[gi]->private->tid = tid; - pi++; - gi++; - } - else if (cmp_result > 0) - { - delete_thread (gptid); - gi++; - } - else - { - thread = add_thread (pptid); - thread->private = xmalloc (sizeof (struct private_thread_info)); - thread->private->pdtid = pdtid; - thread->private->tid = tid; - pi++; - } - } - } - - xfree (pbuf); - xfree (gbuf); -} - -/* Iterate_over_threads() callback for locating a thread whose kernel - thread just received a trap signal. */ - -static int -iter_trap (struct thread_info *thread, void *unused) -{ - struct thrdsinfo64 thrinf; - pthdb_tid_t tid; - - /* getthrds(3) isn't prototyped in any AIX 4.3.3 #include file. */ - extern int getthrds (pid_t, struct thrdsinfo64 *, - int, pthdb_tid_t *, int); - - tid = thread->private->tid; - if (tid == PTHDB_INVALID_TID) - return 0; - - if (getthrds (PIDGET (inferior_ptid), &thrinf, - sizeof (thrinf), &tid, 1) != 1) - return 0; - - return thrinf.ti_cursig == SIGTRAP; -} - -/* Synchronize libpthdebug's state with the inferior and with GDB, - generate a composite process/thread for the current thread, - set inferior_ptid to if SET_INFPID, and return . */ - -static ptid_t -pd_update (int set_infpid) -{ - int status; - ptid_t ptid; - struct thread_info *thread; - - if (!pd_active) - return inferior_ptid; - - status = pthdb_session_update (pd_session); - if (status != PTHDB_SUCCESS) - return inferior_ptid; - - sync_threadlists (); - - /* Define "current thread" as one that just received a trap signal. */ - - thread = iterate_over_threads (iter_trap, NULL); - if (!thread) - ptid = inferior_ptid; - else - { - ptid = thread->ptid; - if (set_infpid) - inferior_ptid = ptid; - } - return ptid; -} - -/* Try to start debugging threads in the current process. - If successful and SET_INFPID, set inferior_ptid to reflect the - current thread. */ - -static ptid_t -pd_activate (int set_infpid) -{ - int status; - - status = pthdb_session_init (PD_USER, arch64 ? PEM_64BIT : PEM_32BIT, - PTHDB_FLAG_REGS, &pd_callbacks, - &pd_session); - if (status != PTHDB_SUCCESS) - { - return inferior_ptid; - } - pd_active = 1; - return pd_update (set_infpid); -} - -/* Undo the effects of pd_activate(). */ - -static void -pd_deactivate (void) -{ - if (!pd_active) - return; - pthdb_session_destroy (pd_session); - - pid_to_prc (&inferior_ptid); - pd_active = 0; -} - -/* An object file has just been loaded. Check whether the current - application is pthreaded, and if so, prepare for thread debugging. */ - -static void -pd_enable (void) -{ - int status; - char *stub_name; - struct minimal_symbol *ms; - - /* Don't initialize twice. */ - if (pd_able) - return; - - /* Check application word size. */ - arch64 = REGISTER_RAW_SIZE (0) == 8; - - /* Check whether the application is pthreaded. */ - stub_name = NULL; - status = pthdb_session_pthreaded (PD_USER, PTHDB_FLAG_REGS, - &pd_callbacks, &stub_name); - if ((status != PTHDB_SUCCESS && - status != PTHDB_NOT_PTHREADED) || !stub_name) - return; - - /* Set a breakpoint on the returned stub function. */ - if (!(ms = lookup_minimal_symbol (stub_name, NULL, NULL))) - return; - pd_brk_addr = SYMBOL_VALUE_ADDRESS (ms); - if (!create_thread_event_breakpoint (pd_brk_addr)) - return; - - /* Prepare for thread debugging. */ - base_target = current_target; - push_target (&aix_thread_ops); - pd_able = 1; - - /* If we're debugging a core file or an attached inferior, the - pthread library may already have been initialized, so try to - activate thread debugging. */ - pd_activate (1); -} - -/* Undo the effects of pd_enable(). */ - -static void -pd_disable (void) -{ - if (!pd_able) - return; - if (pd_active) - pd_deactivate (); - pd_able = 0; - unpush_target (&aix_thread_ops); -} - -/* target_new_objfile_hook callback. - - If OBJFILE is non-null, check whether a threaded application is - being debugged, and if so, prepare for thread debugging. - - If OBJFILE is null, stop debugging threads. */ - -static void -new_objfile (struct objfile *objfile) -{ - if (objfile) - pd_enable (); - else - pd_disable (); - - if (target_new_objfile_chain) - target_new_objfile_chain (objfile); -} - -/* Attach to process specified by ARGS. */ - -static void -aix_thread_attach (char *args, int from_tty) -{ - base_target.to_attach (args, from_tty); - pd_activate (1); -} - -/* Detach from the process attached to by aix_thread_attach(). */ - -static void -aix_thread_detach (char *args, int from_tty) -{ - pd_disable (); - base_target.to_detach (args, from_tty); -} - -/* Tell the inferior process to continue running thread PID if != -1 - and all threads otherwise. */ - -static void -aix_thread_resume (ptid_t ptid, int step, enum target_signal sig) -{ - struct thread_info *thread; - pthdb_tid_t tid[2]; - - if (!PD_TID (ptid)) - { - struct cleanup *cleanup = save_inferior_ptid (); - inferior_ptid = pid_to_ptid (PIDGET (inferior_ptid)); - base_target.to_resume (ptid, step, sig); - do_cleanups (cleanup); - } - else - { - thread = find_thread_pid (ptid); - if (!thread) - error ("aix-thread resume: unknown pthread %ld", - TIDGET (ptid)); - - tid[0] = thread->private->tid; - if (tid[0] == PTHDB_INVALID_TID) - error ("aix-thread resume: no tid for pthread %ld", - TIDGET (ptid)); - tid[1] = 0; - - if (arch64) - ptrace64aix (PTT_CONTINUE, tid[0], 1, - target_signal_to_host (sig), (int *) tid); - else - ptrace32 (PTT_CONTINUE, tid[0], (int *) 1, - target_signal_to_host (sig), (int *) tid); - } -} - -/* Wait for thread/process ID if != -1 or for any thread otherwise. - If an error occurs, return -1, else return the pid of the stopped - thread. */ - -static ptid_t -aix_thread_wait (ptid_t ptid, struct target_waitstatus *status) -{ - struct cleanup *cleanup = save_inferior_ptid (); - - pid_to_prc (&ptid); - - inferior_ptid = pid_to_ptid (PIDGET (inferior_ptid)); - ptid = base_target.to_wait (ptid, status); - do_cleanups (cleanup); - - if (PIDGET (ptid) == -1) - return pid_to_ptid (-1); - - /* Check whether libpthdebug might be ready to be initialized. */ - if (!pd_active && status->kind == TARGET_WAITKIND_STOPPED && - status->value.sig == TARGET_SIGNAL_TRAP && - read_pc_pid (ptid) - DECR_PC_AFTER_BREAK == pd_brk_addr) - return pd_activate (0); - - return pd_update (0); -} - -/* Record that the 64-bit general-purpose registers contain VALS. */ - -static void -supply_gprs64 (uint64_t *vals) -{ - int regno; - - for (regno = 0; regno < 32; regno++) - supply_register (regno, (char *) (vals + regno)); -} - -/* Record that 32-bit register REGNO contains VAL. */ - -static void -supply_reg32 (int regno, uint32_t val) -{ - supply_register (regno, (char *) &val); -} - -/* Record that the floating-point registers contain VALS. */ - -static void -supply_fprs (double *vals) -{ - int regno; - - for (regno = 0; regno < 32; regno++) - supply_register (regno + FP0_REGNUM, (char *) (vals + regno)); -} - -/* Predicate to test whether given register number is a "special" register. */ -static int -special_register_p (int regno) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - return regno == PC_REGNUM - || regno == tdep->ppc_ps_regnum - || regno == tdep->ppc_cr_regnum - || regno == tdep->ppc_lr_regnum - || regno == tdep->ppc_ctr_regnum - || regno == tdep->ppc_xer_regnum - || regno == tdep->ppc_fpscr_regnum - || (tdep->ppc_mq_regnum >= 0 && regno == tdep->ppc_mq_regnum); -} - - -/* Record that the special registers contain the specified 64-bit and - 32-bit values. */ - -static void -supply_sprs64 (uint64_t iar, uint64_t msr, uint32_t cr, - uint64_t lr, uint64_t ctr, uint32_t xer, - uint32_t fpscr) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - supply_register (PC_REGNUM, (char *) &iar); - supply_register (tdep->ppc_ps_regnum, (char *) &msr); - supply_register (tdep->ppc_cr_regnum, (char *) &cr); - supply_register (tdep->ppc_lr_regnum, (char *) &lr); - supply_register (tdep->ppc_ctr_regnum, (char *) &ctr); - supply_register (tdep->ppc_xer_regnum, (char *) &xer); - supply_register (tdep->ppc_fpscr_regnum, (char *) &fpscr); -} - -/* Record that the special registers contain the specified 32-bit - values. */ - -static void -supply_sprs32 (uint32_t iar, uint32_t msr, uint32_t cr, - uint32_t lr, uint32_t ctr, uint32_t xer, - uint32_t fpscr) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - supply_register (PC_REGNUM, (char *) &iar); - supply_register (tdep->ppc_ps_regnum, (char *) &msr); - supply_register (tdep->ppc_cr_regnum, (char *) &cr); - supply_register (tdep->ppc_lr_regnum, (char *) &lr); - supply_register (tdep->ppc_ctr_regnum, (char *) &ctr); - supply_register (tdep->ppc_xer_regnum, (char *) &xer); - supply_register (tdep->ppc_fpscr_regnum, (char *) &fpscr); -} - -/* Fetch all registers from pthread PDTID, which doesn't have a kernel - thread. - - There's no way to query a single register from a non-kernel - pthread, so there's no need for a single-register version of this - function. */ - -static void -fetch_regs_user_thread (pthdb_pthread_t pdtid) -{ - int status, i; - pthdb_context_t ctx; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "fetch_regs_user_thread %lx\n", (long) pdtid); - status = pthdb_pthread_context (pd_session, pdtid, &ctx); - if (status != PTHDB_SUCCESS) - error ("aix-thread: fetch_registers: pthdb_pthread_context returned %s", - pd_status2str (status)); - - /* General-purpose registers. */ - - if (arch64) - supply_gprs64 (ctx.gpr); - else - for (i = 0; i < 32; i++) - supply_reg32 (i, ctx.gpr[i]); - - /* Floating-point registers. */ - - supply_fprs (ctx.fpr); - - /* Special registers. */ - - if (arch64) - supply_sprs64 (ctx.iar, ctx.msr, ctx.cr, ctx.lr, ctx.ctr, ctx.xer, - ctx.fpscr); - else - supply_sprs32 (ctx.iar, ctx.msr, ctx.cr, ctx.lr, ctx.ctr, ctx.xer, - ctx.fpscr); -} - -/* Fetch register REGNO if != -1 or all registers otherwise from - kernel thread TID. - - AIX provides a way to query all of a kernel thread's GPRs, FPRs, or - SPRs, but there's no way to query individual registers within those - groups. Therefore, if REGNO != -1, this function fetches an entire - group. - - Unfortunately, kernel thread register queries often fail with - EPERM, indicating that the thread is in kernel space. This breaks - backtraces of threads other than the current one. To make that - breakage obvious without throwing an error to top level (which is - bad e.g. during "info threads" output), zero registers that can't - be retrieved. */ - -static void -fetch_regs_kernel_thread (int regno, pthdb_tid_t tid) -{ - uint64_t gprs64[32]; - uint32_t gprs32[32]; - double fprs[32]; - struct ptxsprs sprs64; - struct ptsprs sprs32; - int i; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "fetch_regs_kernel_thread tid=%lx regno=%d arch64=%d\n", - (long) tid, regno, arch64); - - /* General-purpose registers. */ - if (regno == -1 || regno < FP0_REGNUM) - { - if (arch64) - { - if (!ptrace64aix (PTT_READ_GPRS, tid, - (unsigned long) gprs64, 0, NULL)) - memset (gprs64, 0, sizeof (gprs64)); - supply_gprs64 (gprs64); - } - else - { - if (!ptrace32 (PTT_READ_GPRS, tid, gprs32, 0, NULL)) - memset (gprs32, 0, sizeof (gprs32)); - for (i = 0; i < 32; i++) - supply_reg32 (i, gprs32[i]); - } - } - - /* Floating-point registers. */ - - if (regno == -1 || (regno >= FP0_REGNUM && regno <= FPLAST_REGNUM)) - { - if (!ptrace32 (PTT_READ_FPRS, tid, (int *) fprs, 0, NULL)) - memset (fprs, 0, sizeof (fprs)); - supply_fprs (fprs); - } - - /* Special-purpose registers. */ - - if (regno == -1 || special_register_p (regno)) - { - if (arch64) - { - if (!ptrace64aix (PTT_READ_SPRS, tid, - (unsigned long) &sprs64, 0, NULL)) - memset (&sprs64, 0, sizeof (sprs64)); - supply_sprs64 (sprs64.pt_iar, sprs64.pt_msr, sprs64.pt_cr, - sprs64.pt_lr, sprs64.pt_ctr, sprs64.pt_xer, - sprs64.pt_fpscr); - } - else - { - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - if (!ptrace32 (PTT_READ_SPRS, tid, (int *) &sprs32, 0, NULL)) - memset (&sprs32, 0, sizeof (sprs32)); - supply_sprs32 (sprs32.pt_iar, sprs32.pt_msr, sprs32.pt_cr, - sprs32.pt_lr, sprs32.pt_ctr, sprs32.pt_xer, - sprs32.pt_fpscr); - - if (tdep->ppc_mq_regnum >= 0) - supply_register (tdep->ppc_mq_regnum, (char *) &sprs32.pt_mq); - } - } -} - -/* Fetch register REGNO if != -1 or all registers otherwise in the - thread/process specified by inferior_ptid. */ - -static void -aix_thread_fetch_registers (int regno) -{ - struct thread_info *thread; - pthdb_tid_t tid; - - if (!PD_TID (inferior_ptid)) - base_target.to_fetch_registers (regno); - else - { - thread = find_thread_pid (inferior_ptid); - tid = thread->private->tid; - - if (tid == PTHDB_INVALID_TID) - fetch_regs_user_thread (thread->private->pdtid); - else - fetch_regs_kernel_thread (regno, tid); - } -} - -/* Store the gp registers into an array of uint32_t or uint64_t. */ - -static void -fill_gprs64 (uint64_t *vals) -{ - int regno; - - for (regno = 0; regno < FP0_REGNUM; regno++) - if (register_cached (regno)) - regcache_collect (regno, vals + regno); -} - -static void -fill_gprs32 (uint32_t *vals) -{ - int regno; - - for (regno = 0; regno < FP0_REGNUM; regno++) - if (register_cached (regno)) - regcache_collect (regno, vals + regno); -} - -/* Store the floating point registers into a double array. */ -static void -fill_fprs (double *vals) -{ - int regno; - - for (regno = FP0_REGNUM; regno < FPLAST_REGNUM; regno++) - if (register_cached (regno)) - regcache_collect (regno, vals + regno); -} - -/* Store the special registers into the specified 64-bit and 32-bit - locations. */ - -static void -fill_sprs64 (uint64_t *iar, uint64_t *msr, uint32_t *cr, - uint64_t *lr, uint64_t *ctr, uint32_t *xer, - uint32_t *fpscr) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - /* Verify that the size of the size of the IAR buffer is the - same as the raw size of the PC (in the register cache). If - they're not, then either GDB has been built incorrectly, or - there's some other kind of internal error. To be really safe, - we should check all of the sizes. */ - gdb_assert (sizeof (*iar) == REGISTER_RAW_SIZE (PC_REGNUM)); - - if (register_cached (PC_REGNUM)) - regcache_collect (PC_REGNUM, iar); - if (register_cached (tdep->ppc_ps_regnum)) - regcache_collect (tdep->ppc_ps_regnum, msr); - if (register_cached (tdep->ppc_cr_regnum)) - regcache_collect (tdep->ppc_cr_regnum, cr); - if (register_cached (tdep->ppc_lr_regnum)) - regcache_collect (tdep->ppc_lr_regnum, lr); - if (register_cached (tdep->ppc_ctr_regnum)) - regcache_collect (tdep->ppc_ctr_regnum, ctr); - if (register_cached (tdep->ppc_xer_regnum)) - regcache_collect (tdep->ppc_xer_regnum, xer); - if (register_cached (tdep->ppc_fpscr_regnum)) - regcache_collect (tdep->ppc_fpscr_regnum, fpscr); -} - -static void -fill_sprs32 (unsigned long *iar, unsigned long *msr, unsigned long *cr, - unsigned long *lr, unsigned long *ctr, unsigned long *xer, - unsigned long *fpscr) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - /* Verify that the size of the size of the IAR buffer is the - same as the raw size of the PC (in the register cache). If - they're not, then either GDB has been built incorrectly, or - there's some other kind of internal error. To be really safe, - we should check all of the sizes. - - If this assert() fails, the most likely reason is that GDB was - built incorrectly. In order to make use of many of the header - files in /usr/include/sys, GDB needs to be configured so that - sizeof (long) == 4). */ - gdb_assert (sizeof (*iar) == REGISTER_RAW_SIZE (PC_REGNUM)); - - if (register_cached (PC_REGNUM)) - regcache_collect (PC_REGNUM, iar); - if (register_cached (tdep->ppc_ps_regnum)) - regcache_collect (tdep->ppc_ps_regnum, msr); - if (register_cached (tdep->ppc_cr_regnum)) - regcache_collect (tdep->ppc_cr_regnum, cr); - if (register_cached (tdep->ppc_lr_regnum)) - regcache_collect (tdep->ppc_lr_regnum, lr); - if (register_cached (tdep->ppc_ctr_regnum)) - regcache_collect (tdep->ppc_ctr_regnum, ctr); - if (register_cached (tdep->ppc_xer_regnum)) - regcache_collect (tdep->ppc_xer_regnum, xer); - if (register_cached (tdep->ppc_fpscr_regnum)) - regcache_collect (tdep->ppc_fpscr_regnum, fpscr); -} - -/* Store all registers into pthread PDTID, which doesn't have a kernel - thread. - - It's possible to store a single register into a non-kernel pthread, - but I doubt it's worth the effort. */ - -static void -store_regs_user_thread (pthdb_pthread_t pdtid) -{ - int status, i; - pthdb_context_t ctx; - uint32_t int32; - uint64_t int64; - double dbl; - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "store_regs_user_thread %lx\n", (long) pdtid); - - /* Retrieve the thread's current context for its non-register - values. */ - status = pthdb_pthread_context (pd_session, pdtid, &ctx); - if (status != PTHDB_SUCCESS) - error ("aix-thread: store_registers: pthdb_pthread_context returned %s", - pd_status2str (status)); - - /* Collect general-purpose register values from the regcache. */ - - for (i = 0; i < 32; i++) - if (register_cached (i)) - { - if (arch64) - { - regcache_collect (i, (void *) &int64); - ctx.gpr[i] = int64; - } - else - { - regcache_collect (i, (void *) &int32); - ctx.gpr[i] = int32; - } - } - - /* Collect floating-point register values from the regcache. */ - fill_fprs (ctx.fpr); - - /* Special registers (always kept in ctx as 64 bits). */ - if (arch64) - { - fill_sprs64 (&ctx.iar, &ctx.msr, &ctx.cr, &ctx.lr, &ctx.ctr, &ctx.xer, - &ctx.fpscr); - } - else - { - /* Problem: ctx.iar etc. are 64 bits, but raw_registers are 32. - Solution: use 32-bit temp variables. (The assert() in fill_sprs32() - will fail if the size of an unsigned long is incorrect. If this - happens, GDB needs to be reconfigured so that longs are 32-bits.) */ - unsigned long tmp_iar, tmp_msr, tmp_cr, tmp_lr, tmp_ctr, tmp_xer, - tmp_fpscr; - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - fill_sprs32 (&tmp_iar, &tmp_msr, &tmp_cr, &tmp_lr, &tmp_ctr, &tmp_xer, - &tmp_fpscr); - if (register_cached (PC_REGNUM)) - ctx.iar = tmp_iar; - if (register_cached (tdep->ppc_ps_regnum)) - ctx.msr = tmp_msr; - if (register_cached (tdep->ppc_cr_regnum)) - ctx.cr = tmp_cr; - if (register_cached (tdep->ppc_lr_regnum)) - ctx.lr = tmp_lr; - if (register_cached (tdep->ppc_ctr_regnum)) - ctx.ctr = tmp_ctr; - if (register_cached (tdep->ppc_xer_regnum)) - ctx.xer = tmp_xer; - if (register_cached (tdep->ppc_xer_regnum)) - ctx.fpscr = tmp_fpscr; - } - - status = pthdb_pthread_setcontext (pd_session, pdtid, &ctx); - if (status != PTHDB_SUCCESS) - error ("aix-thread: store_registers: pthdb_pthread_setcontext returned %s", - pd_status2str (status)); -} - -/* Store register REGNO if != -1 or all registers otherwise into - kernel thread TID. - - AIX provides a way to set all of a kernel thread's GPRs, FPRs, or - SPRs, but there's no way to set individual registers within those - groups. Therefore, if REGNO != -1, this function stores an entire - group. */ - -static void -store_regs_kernel_thread (int regno, pthdb_tid_t tid) -{ - uint64_t gprs64[32]; - uint32_t gprs32[32]; - double fprs[32]; - struct ptxsprs sprs64; - struct ptsprs sprs32; - int i; - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - if (debug_aix_thread) - fprintf_unfiltered (gdb_stdlog, - "store_regs_kernel_thread tid=%lx regno=%d\n", - (long) tid, regno); - - /* General-purpose registers. */ - if (regno == -1 || regno < FP0_REGNUM) - { - if (arch64) - { - /* Pre-fetch: some regs may not be in the cache. */ - ptrace64aix (PTT_READ_GPRS, tid, (unsigned long) gprs64, 0, NULL); - fill_gprs64 (gprs64); - ptrace64aix (PTT_WRITE_GPRS, tid, (unsigned long) gprs64, 0, NULL); - } - else - { - /* Pre-fetch: some regs may not be in the cache. */ - ptrace32 (PTT_READ_GPRS, tid, gprs32, 0, NULL); - fill_gprs32 (gprs32); - ptrace32 (PTT_WRITE_GPRS, tid, gprs32, 0, NULL); - } - } - - /* Floating-point registers. */ - - if (regno == -1 || (regno >= FP0_REGNUM && regno <= FPLAST_REGNUM)) - { - /* Pre-fetch: some regs may not be in the cache. */ - ptrace32 (PTT_READ_FPRS, tid, (int *) fprs, 0, NULL); - fill_fprs (fprs); - ptrace32 (PTT_WRITE_FPRS, tid, (int *) fprs, 0, NULL); - } - - /* Special-purpose registers. */ - - if (regno == -1 || special_register_p (regno)) - { - if (arch64) - { - /* Pre-fetch: some registers won't be in the cache. */ - ptrace64aix (PTT_READ_SPRS, tid, - (unsigned long) &sprs64, 0, NULL); - fill_sprs64 (&sprs64.pt_iar, &sprs64.pt_msr, &sprs64.pt_cr, - &sprs64.pt_lr, &sprs64.pt_ctr, &sprs64.pt_xer, - &sprs64.pt_fpscr); - ptrace64aix (PTT_WRITE_SPRS, tid, - (unsigned long) &sprs64, 0, NULL); - } - else - { - /* Pre-fetch: some registers won't be in the cache. */ - ptrace32 (PTT_READ_SPRS, tid, (int *) &sprs32, 0, NULL); - - fill_sprs32 (&sprs32.pt_iar, &sprs32.pt_msr, &sprs32.pt_cr, - &sprs32.pt_lr, &sprs32.pt_ctr, &sprs32.pt_xer, - &sprs32.pt_fpscr); - - if (tdep->ppc_mq_regnum >= 0) - if (register_cached (tdep->ppc_mq_regnum)) - regcache_collect (tdep->ppc_mq_regnum, &sprs32.pt_mq); - - ptrace32 (PTT_WRITE_SPRS, tid, (int *) &sprs32, 0, NULL); - } - } -} - -/* Store gdb's current view of the register set into the - thread/process specified by inferior_ptid. */ - -static void -aix_thread_store_registers (int regno) -{ - struct thread_info *thread; - pthdb_tid_t tid; - - if (!PD_TID (inferior_ptid)) - base_target.to_store_registers (regno); - else - { - thread = find_thread_pid (inferior_ptid); - tid = thread->private->tid; - - if (tid == PTHDB_INVALID_TID) - store_regs_user_thread (thread->private->pdtid); - else - store_regs_kernel_thread (regno, tid); - } -} - -/* Transfer LEN bytes of memory from GDB address MYADDR to target - address MEMADDR if WRITE and vice versa otherwise. */ - -static int -aix_thread_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write, - struct mem_attrib *attrib, - struct target_ops *target) -{ - int n; - struct cleanup *cleanup = save_inferior_ptid (); - - inferior_ptid = pid_to_ptid (PIDGET (inferior_ptid)); - n = base_target.to_xfer_memory (memaddr, myaddr, len, - write, attrib, &base_target); - do_cleanups (cleanup); - - return n; -} - -/* Kill and forget about the inferior process. */ - -static void -aix_thread_kill (void) -{ - struct cleanup *cleanup = save_inferior_ptid (); - - inferior_ptid = pid_to_ptid (PIDGET (inferior_ptid)); - base_target.to_kill (); - do_cleanups (cleanup); -} - -/* Clean up after the inferior exits. */ - -static void -aix_thread_mourn_inferior (void) -{ - pd_deactivate (); - base_target.to_mourn_inferior (); -} - -/* Return whether thread PID is still valid. */ - -static int -aix_thread_thread_alive (ptid_t ptid) -{ - if (!PD_TID (ptid)) - return base_target.to_thread_alive (ptid); - - /* We update the thread list every time the child stops, so all - valid threads should be in the thread list. */ - return in_thread_list (ptid); -} - -/* Return a printable representation of composite PID for use in - "info threads" output. */ - -static char * -aix_thread_pid_to_str (ptid_t ptid) -{ - static char *ret = NULL; - - if (!PD_TID (ptid)) - return base_target.to_pid_to_str (ptid); - - /* Free previous return value; a new one will be allocated by - xasprintf(). */ - xfree (ret); - - xasprintf (&ret, "Thread %ld", ptid_get_tid (ptid)); - return ret; -} - -/* Return a printable representation of extra information about - THREAD, for use in "info threads" output. */ - -static char * -aix_thread_extra_thread_info (struct thread_info *thread) -{ - struct ui_file *buf; - int status; - pthdb_pthread_t pdtid; - pthdb_tid_t tid; - pthdb_state_t state; - pthdb_suspendstate_t suspendstate; - pthdb_detachstate_t detachstate; - int cancelpend; - long length; - static char *ret = NULL; - - if (!PD_TID (thread->ptid)) - return NULL; - - buf = mem_fileopen (); - - pdtid = thread->private->pdtid; - tid = thread->private->tid; - - if (tid != PTHDB_INVALID_TID) - fprintf_unfiltered (buf, "tid %d", tid); - - status = pthdb_pthread_state (pd_session, pdtid, &state); - if (status != PTHDB_SUCCESS) - state = PST_NOTSUP; - fprintf_unfiltered (buf, ", %s", state2str (state)); - - status = pthdb_pthread_suspendstate (pd_session, pdtid, - &suspendstate); - if (status == PTHDB_SUCCESS && suspendstate == PSS_SUSPENDED) - fprintf_unfiltered (buf, ", suspended"); - - status = pthdb_pthread_detachstate (pd_session, pdtid, - &detachstate); - if (status == PTHDB_SUCCESS && detachstate == PDS_DETACHED) - fprintf_unfiltered (buf, ", detached"); - - pthdb_pthread_cancelpend (pd_session, pdtid, &cancelpend); - if (status == PTHDB_SUCCESS && cancelpend) - fprintf_unfiltered (buf, ", cancel pending"); - - ui_file_write (buf, "", 1); - - xfree (ret); /* Free old buffer. */ - - ret = ui_file_xstrdup (buf, &length); - ui_file_delete (buf); - - return ret; -} - -/* Initialize target aix_thread_ops. */ - -static void -init_aix_thread_ops (void) -{ - aix_thread_ops.to_shortname = "aix-threads"; - aix_thread_ops.to_longname = "AIX pthread support"; - aix_thread_ops.to_doc = "AIX pthread support"; - - aix_thread_ops.to_attach = aix_thread_attach; - aix_thread_ops.to_detach = aix_thread_detach; - aix_thread_ops.to_resume = aix_thread_resume; - aix_thread_ops.to_wait = aix_thread_wait; - aix_thread_ops.to_fetch_registers = aix_thread_fetch_registers; - aix_thread_ops.to_store_registers = aix_thread_store_registers; - aix_thread_ops.to_xfer_memory = aix_thread_xfer_memory; - /* No need for aix_thread_ops.to_create_inferior, because we activate thread - debugging when the inferior reaches pd_brk_addr. */ - aix_thread_ops.to_kill = aix_thread_kill; - aix_thread_ops.to_mourn_inferior = aix_thread_mourn_inferior; - aix_thread_ops.to_thread_alive = aix_thread_thread_alive; - aix_thread_ops.to_pid_to_str = aix_thread_pid_to_str; - aix_thread_ops.to_extra_thread_info = aix_thread_extra_thread_info; - aix_thread_ops.to_stratum = thread_stratum; - aix_thread_ops.to_magic = OPS_MAGIC; -} - -/* Module startup initialization function, automagically called by - init.c. */ - -void -_initialize_aix_thread (void) -{ - init_aix_thread_ops (); - add_target (&aix_thread_ops); - - /* Notice when object files get loaded and unloaded. */ - target_new_objfile_chain = target_new_objfile_hook; - target_new_objfile_hook = new_objfile; - - add_show_from_set (add_set_cmd ("aix-thread", no_class, var_zinteger, - (char *) &debug_aix_thread, - "Set debugging of AIX thread module.\n" - "Enables printf debugging output.\n", - &setdebuglist), - &showdebuglist); -} diff --git a/gdb/alpha-linux-tdep.c b/gdb/alpha-linux-tdep.c deleted file mode 100644 index 4596d37e327..00000000000 --- a/gdb/alpha-linux-tdep.c +++ /dev/null @@ -1,121 +0,0 @@ -/* Target-dependent code for GNU/Linux on Alpha. - 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 "frame.h" -#include "gdbcore.h" -#include "value.h" - -#include "alpha-tdep.h" - -/* 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 - - Each instruction has a unique encoding, so we simply attempt to - match the instruction the pc is pointing to with any of the above - instructions. If there is a hit, we know the offset to the start - of the designated sequence and can then check whether we really are - executing in a designated sequence. If not, -1 is returned, - otherwise the offset from the start of the desingated sequence is - returned. - - There is a slight chance of false hits: code could jump into the - 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. */ -LONGEST -alpha_linux_sigtramp_offset (CORE_ADDR pc) -{ - unsigned int i[3], w; - long off; - - 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; - } - pc -= off; - if (pc & 0x7) - { - /* designated sequence is not quadword aligned */ - return -1; - } - if (read_memory_nobpt (pc, (char *) i, sizeof (i)) != 0) - return -1; - - if (i[0] == 0x47de0410 && i[1] == 0x43ecf400 && i[2] == 0x00000083) - return off; - - return -1; -} - -static int -alpha_linux_pc_in_sigtramp (CORE_ADDR pc, char *func_name) -{ - return (alpha_linux_sigtramp_offset (pc) >= 0); -} - -static CORE_ADDR -alpha_linux_sigcontext_addr (struct frame_info *frame) -{ - return (frame->frame - 0x298); /* sizeof(struct sigcontext) */ -} - -static void -alpha_linux_init_abi (struct gdbarch_info info, - struct gdbarch *gdbarch) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - - set_gdbarch_pc_in_sigtramp (gdbarch, alpha_linux_pc_in_sigtramp); - - tdep->dynamic_sigtramp_offset = alpha_linux_sigtramp_offset; - tdep->sigcontext_addr = alpha_linux_sigcontext_addr; - - tdep->jb_pc = 2; - tdep->jb_elt_size = 8; -} - -void -_initialize_alpha_linux_tdep (void) -{ - gdbarch_register_osabi (bfd_arch_alpha, GDB_OSABI_LINUX, - alpha_linux_init_abi); -} diff --git a/gdb/alpha-nat.c b/gdb/alpha-nat.c deleted file mode 100644 index 580dcc0e809..00000000000 --- a/gdb/alpha-nat.c +++ /dev/null @@ -1,278 +0,0 @@ -/* Low level Alpha interface, for GDB when running native. - Copyright 1993, 1995, 1996, 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" -#include "inferior.h" -#include "gdbcore.h" -#include "target.h" -#include "regcache.h" - -#include "alpha-tdep.h" - -#include -#ifdef __linux__ -#include -#include -#else -#include -#endif -#include - -/* Prototypes for local functions. */ - -static void fetch_osf_core_registers (char *, unsigned, int, CORE_ADDR); -static void fetch_elf_core_registers (char *, unsigned, int, CORE_ADDR); - -/* Extract the register values out of the core file and store - them where `read_register' will find them. - - CORE_REG_SECT points to the register values themselves, read into memory. - CORE_REG_SIZE is the size of that area. - WHICH says which set of registers we are handling (0 = int, 2 = float - on machines where they are discontiguous). - REG_ADDR is the offset from u.u_ar0 to the register values relative to - core_reg_sect. This is used with old-fashioned core files to - locate the registers in a large upage-plus-stack ".reg" section. - Original upage address X is at location core_reg_sect+x+reg_addr. - */ - -static void -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. 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[ALPHA_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, - EF_A0, EF_A1, EF_A2, EF_A3, EF_A4, EF_A5, EF_T8, EF_T9, - EF_T10, EF_T11, EF_RA, EF_T12, EF_AT, EF_GP, EF_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, - EF_PC, -1 -#endif - }; - static char zerobuf[ALPHA_MAX_REGISTER_RAW_SIZE] = - {0}; - - for (regno = 0; regno < NUM_REGS; regno++) - { - if (CANNOT_FETCH_REGISTER (regno)) - { - supply_register (regno, zerobuf); - continue; - } - addr = 8 * core_reg_mapping[regno]; - if (addr < 0 || addr >= core_reg_size) - { - if (bad_reg < 0) - bad_reg = regno; - } - else - { - supply_register (regno, core_reg_sect + addr); - } - } - if (bad_reg >= 0) - { - error ("Register %s not found in core file.", REGISTER_NAME (bad_reg)); - } -} - -static void -fetch_elf_core_registers (char *core_reg_sect, unsigned core_reg_size, - int which, CORE_ADDR reg_addr) -{ - if (core_reg_size < 32 * 8) - { - error ("Core file register section too small (%u bytes).", core_reg_size); - return; - } - - if (which == 2) - { - /* The FPU Registers. */ - memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)], core_reg_sect, 31 * 8); - memset (®isters[REGISTER_BYTE (FP0_REGNUM + 31)], 0, 8); - memset (®ister_valid[FP0_REGNUM], 1, 32); - } - else - { - /* The General Registers. */ - memcpy (®isters[REGISTER_BYTE (ALPHA_V0_REGNUM)], core_reg_sect, - 31 * 8); - memcpy (®isters[REGISTER_BYTE (PC_REGNUM)], core_reg_sect + 31 * 8, 8); - memset (®isters[REGISTER_BYTE (ALPHA_ZERO_REGNUM)], 0, 8); - memset (®ister_valid[ALPHA_V0_REGNUM], 1, 32); - register_valid[PC_REGNUM] = 1; - } -} - - -/* Map gdb internal register number to a ptrace ``address''. - These ``addresses'' are defined in */ - -#define REGISTER_PTRACE_ADDR(regno) \ - (regno < FP0_REGNUM ? GPR_BASE + (regno) \ - : regno == PC_REGNUM ? PC \ - : regno >= FP0_REGNUM ? FPR_BASE + ((regno) - FP0_REGNUM) \ - : 0) - -/* Return the ptrace ``address'' of register REGNO. */ - -CORE_ADDR -register_addr (int regno, CORE_ADDR blockend) -{ - return REGISTER_PTRACE_ADDR (regno); -} - -int -kernel_u_size (void) -{ - return (sizeof (struct user)); -} - -#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 (gdb_gregset_t *gregsetp) -{ - register int regi; - register long *regp = ALPHA_REGSET_BASE (gregsetp); - static char zerobuf[ALPHA_MAX_REGISTER_RAW_SIZE] = - {0}; - - for (regi = 0; regi < 31; regi++) - supply_register (regi, (char *) (regp + regi)); - - supply_register (PC_REGNUM, (char *) (regp + 31)); - - /* Fill inaccessible registers with zero. */ - supply_register (ALPHA_ZERO_REGNUM, zerobuf); - supply_register (FP_REGNUM, zerobuf); -} - -void -fill_gregset (gdb_gregset_t *gregsetp, int regno) -{ - int regi; - register long *regp = ALPHA_REGSET_BASE (gregsetp); - - for (regi = 0; regi < 31; regi++) - if ((regno == -1) || (regno == regi)) - *(regp + regi) = *(long *) ®isters[REGISTER_BYTE (regi)]; - - if ((regno == -1) || (regno == PC_REGNUM)) - *(regp + 31) = *(long *) ®isters[REGISTER_BYTE (PC_REGNUM)]; -} - -/* - * Now we do the same thing for floating-point registers. - * Again, see the comments in m68k-tdep.c. - */ - -void -supply_fpregset (gdb_fpregset_t *fpregsetp) -{ - register int regi; - register long *regp = ALPHA_REGSET_BASE (fpregsetp); - - for (regi = 0; regi < 32; regi++) - supply_register (regi + FP0_REGNUM, (char *) (regp + regi)); -} - -void -fill_fpregset (gdb_fpregset_t *fpregsetp, int regno) -{ - int regi; - register long *regp = ALPHA_REGSET_BASE (fpregsetp); - - for (regi = FP0_REGNUM; regi < FP0_REGNUM + 32; regi++) - { - if ((regno == -1) || (regno == regi)) - { - *(regp + regi - FP0_REGNUM) = - *(long *) ®isters[REGISTER_BYTE (regi)]; - } - } -} -#endif - - -/* Register that we are able to handle alpha core file formats. */ - -static struct core_fns alpha_osf_core_fns = -{ - /* This really is bfd_target_unknown_flavour. */ - - bfd_target_unknown_flavour, /* core_flavour */ - default_check_format, /* check_format */ - default_core_sniffer, /* core_sniffer */ - fetch_osf_core_registers, /* core_read_registers */ - NULL /* next */ -}; - -static struct core_fns alpha_elf_core_fns = -{ - bfd_target_elf_flavour, /* core_flavour */ - default_check_format, /* check_format */ - default_core_sniffer, /* core_sniffer */ - fetch_elf_core_registers, /* core_read_registers */ - NULL /* next */ -}; - -void -_initialize_core_alpha (void) -{ - add_core_fns (&alpha_osf_core_fns); - add_core_fns (&alpha_elf_core_fns); -} diff --git a/gdb/alpha-osf1-tdep.c b/gdb/alpha-osf1-tdep.c deleted file mode 100644 index ece5e2694f2..00000000000 --- a/gdb/alpha-osf1-tdep.c +++ /dev/null @@ -1,77 +0,0 @@ -/* Target-dependent code for OSF/1 on Alpha. - 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 "frame.h" -#include "gdbcore.h" -#include "value.h" - -#include "alpha-tdep.h" - -/* Under OSF/1, the __sigtramp routine is frameless and has a frame - size of zero, but we are able to backtrace through it. */ -static CORE_ADDR -alpha_osf1_skip_sigtramp_frame (struct frame_info *frame, CORE_ADDR pc) -{ - char *name; - - find_pc_partial_function (pc, &name, (CORE_ADDR *) NULL, (CORE_ADDR *) NULL); - if (PC_IN_SIGTRAMP (pc, name)) - return frame->frame; - return 0; -} - -static int -alpha_osf1_pc_in_sigtramp (CORE_ADDR pc, char *func_name) -{ - return (func_name != NULL && STREQ ("__sigtramp", func_name)); -} - -static CORE_ADDR -alpha_osf1_sigcontext_addr (struct frame_info *frame) -{ - return (read_memory_integer (frame->next ? frame->next->frame - : frame->frame, 8)); -} - -static void -alpha_osf1_init_abi (struct gdbarch_info info, - struct gdbarch *gdbarch) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - - set_gdbarch_pc_in_sigtramp (gdbarch, alpha_osf1_pc_in_sigtramp); - /* The next/step support via procfs on OSF1 is broken when running - on multi-processor machines. We need to use software single stepping - instead. */ - set_gdbarch_software_single_step (gdbarch, alpha_software_single_step); - - tdep->skip_sigtramp_frame = alpha_osf1_skip_sigtramp_frame; - tdep->sigcontext_addr = alpha_osf1_sigcontext_addr; - - tdep->jb_pc = 2; - tdep->jb_elt_size = 8; -} - -void -_initialize_alpha_osf1_tdep (void) -{ - gdbarch_register_osabi (bfd_arch_alpha, GDB_OSABI_OSF1, alpha_osf1_init_abi); -} diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c deleted file mode 100644 index 7018d39773e..00000000000 --- a/gdb/alpha-tdep.c +++ /dev/null @@ -1,1972 +0,0 @@ -/* Target-dependent code for the ALPHA architecture, for GDB, the GNU Debugger. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 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 "frame.h" -#include "inferior.h" -#include "symtab.h" -#include "value.h" -#include "gdbcmd.h" -#include "gdbcore.h" -#include "dis-asm.h" -#include "symfile.h" -#include "objfiles.h" -#include "gdb_string.h" -#include "linespec.h" -#include "regcache.h" -#include "doublest.h" -#include "arch-utils.h" - -#include "elf-bfd.h" - -#include "alpha-tdep.h" - -static gdbarch_init_ftype alpha_gdbarch_init; - -static gdbarch_register_name_ftype alpha_register_name; -static gdbarch_register_raw_size_ftype alpha_register_raw_size; -static gdbarch_register_virtual_size_ftype alpha_register_virtual_size; -static gdbarch_register_virtual_type_ftype alpha_register_virtual_type; -static gdbarch_register_byte_ftype alpha_register_byte; -static gdbarch_cannot_fetch_register_ftype alpha_cannot_fetch_register; -static gdbarch_cannot_store_register_ftype alpha_cannot_store_register; -static gdbarch_register_convertible_ftype alpha_register_convertible; -static gdbarch_register_convert_to_virtual_ftype - alpha_register_convert_to_virtual; -static gdbarch_register_convert_to_raw_ftype alpha_register_convert_to_raw; -static gdbarch_store_struct_return_ftype alpha_store_struct_return; -static gdbarch_deprecated_extract_return_value_ftype alpha_extract_return_value; -static gdbarch_deprecated_extract_struct_value_address_ftype - alpha_extract_struct_value_address; -static gdbarch_use_struct_convention_ftype alpha_use_struct_convention; - -static gdbarch_breakpoint_from_pc_ftype alpha_breakpoint_from_pc; - -static gdbarch_frame_args_address_ftype alpha_frame_args_address; -static gdbarch_frame_locals_address_ftype alpha_frame_locals_address; - -static gdbarch_skip_prologue_ftype alpha_skip_prologue; -static gdbarch_saved_pc_after_call_ftype alpha_saved_pc_after_call; -static gdbarch_frame_chain_ftype alpha_frame_chain; -static gdbarch_frame_saved_pc_ftype alpha_frame_saved_pc; -static gdbarch_frame_init_saved_regs_ftype alpha_frame_init_saved_regs; - -static gdbarch_push_arguments_ftype alpha_push_arguments; -static gdbarch_push_dummy_frame_ftype alpha_push_dummy_frame; -static gdbarch_pop_frame_ftype alpha_pop_frame; -static gdbarch_fix_call_dummy_ftype alpha_fix_call_dummy; -static gdbarch_init_frame_pc_first_ftype alpha_init_frame_pc_first; -static gdbarch_init_extra_frame_info_ftype alpha_init_extra_frame_info; - -static gdbarch_get_longjmp_target_ftype alpha_get_longjmp_target; - -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 void alpha_find_saved_regs (struct frame_info *); - -static alpha_extra_func_info_t push_sigtramp_desc (CORE_ADDR low_addr); - -static CORE_ADDR read_next_frame_reg (struct frame_info *, int); - -static CORE_ADDR heuristic_proc_start (CORE_ADDR); - -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 (CORE_ADDR, CORE_ADDR); -#endif - -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 int alpha_in_prologue (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: - - | | - pdr members: | 7th ... nth arg, | - | `pushed' by caller. | - | | -----------------|-------------------------------|<-- old_sp == vfp - ^ ^ ^ ^ | | - | | | | | | - | |localoff | Copies of 1st .. 6th | - | | | | | argument if necessary. | - | | | v | | - | | | --- |-------------------------------|<-- FRAME_LOCALS_ADDRESS - | | | | | - | | | | Locals and temporaries. | - | | | | | - | | | |-------------------------------| - | | | | | - |-fregoffset | Saved float registers. | - | | | | F9 | - | | | | . | - | | | | . | - | | | | F2 | - | | v | | - | | -------|-------------------------------| - | | | | - | | | Saved registers. | - | | | S6 | - |-regoffset | . | - | | | . | - | | | S0 | - | | | pdr.pcreg | - | v | | - | ----------|-------------------------------| - | | | - frameoffset | Argument build area, gets | - | | 7th ... nth arg for any | - | | called procedure. | - v | | - -------------|-------------------------------|<-- sp - | | -*/ -/* *INDENT-ON* */ - -#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) -#define PROC_FREG_MASK(proc) ((proc)->pdr.fregmask) -#define PROC_REG_OFFSET(proc) ((proc)->pdr.regoffset) -#define PROC_FREG_OFFSET(proc) ((proc)->pdr.fregoffset) -#define PROC_PC_REG(proc) ((proc)->pdr.pcreg) -#define PROC_LOCALOFF(proc) ((proc)->pdr.localoff) -#define PROC_SYMBOL(proc) (*(struct symbol**)&(proc)->pdr.isym) -#define _PROC_MAGIC_ 0x0F0F0F0F -#define PROC_DESC_IS_DUMMY(proc) ((proc)->pdr.isym == _PROC_MAGIC_) -#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; - -static CORE_ADDR -alpha_frame_past_sigtramp_frame (struct frame_info *frame, CORE_ADDR pc) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - if (tdep->skip_sigtramp_frame != NULL) - return (tdep->skip_sigtramp_frame (frame, pc)); - - return (0); -} - -static LONGEST -alpha_dynamic_sigtramp_offset (CORE_ADDR pc) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - /* Must be provided by OS/ABI variant code if supported. */ - if (tdep->dynamic_sigtramp_offset != NULL) - return (tdep->dynamic_sigtramp_offset (pc)); - - return (-1); -} - -#define ALPHA_PROC_SIGTRAMP_MAGIC 0x0e0f0f0f - -/* Return TRUE if the procedure descriptor PROC is a procedure - descriptor that refers to a dynamically generated signal - trampoline routine. */ -static int -alpha_proc_desc_is_dyn_sigtramp (struct alpha_extra_func_info *proc) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - if (tdep->dynamic_sigtramp_offset != NULL) - return (proc->pdr.isym == ALPHA_PROC_SIGTRAMP_MAGIC); - - return (0); -} - -static void -alpha_set_proc_desc_is_dyn_sigtramp (struct alpha_extra_func_info *proc) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - if (tdep->dynamic_sigtramp_offset != NULL) - proc->pdr.isym = ALPHA_PROC_SIGTRAMP_MAGIC; -} - -/* 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 (CORE_ADDR low_addr) -{ - struct linked_proc_info *link; - alpha_extra_func_info_t proc_desc; - - 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; - - 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; - alpha_set_proc_desc_is_dyn_sigtramp (proc_desc); - return (proc_desc); -} - - -static const 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]); -} - -static int -alpha_cannot_fetch_register (int regno) -{ - return (regno == FP_REGNUM || regno == ALPHA_ZERO_REGNUM); -} - -static int -alpha_cannot_store_register (int regno) -{ - return (regno == FP_REGNUM || regno == ALPHA_ZERO_REGNUM); -} - -static int -alpha_register_convertible (int regno) -{ - return (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 31); -} - -static struct type * -alpha_register_virtual_type (int regno) -{ - return ((regno >= FP0_REGNUM && regno < (FP0_REGNUM+31)) - ? builtin_type_double : builtin_type_long); -} - -static int -alpha_register_byte (int regno) -{ - return (regno * 8); -} - -static int -alpha_register_raw_size (int regno) -{ - return 8; -} - -static int -alpha_register_virtual_size (int regno) -{ - return 8; -} - - -static CORE_ADDR -alpha_sigcontext_addr (struct frame_info *fi) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - if (tdep->sigcontext_addr) - return (tdep->sigcontext_addr (fi)); - - return (0); -} - -/* Guaranteed to set frame->saved_regs to some values (it never leaves it - NULL). */ - -static void -alpha_find_saved_regs (struct frame_info *frame) -{ - int ireg; - CORE_ADDR reg_position; - unsigned long mask; - alpha_extra_func_info_t proc_desc; - int returnreg; - - frame_saved_regs_zalloc (frame); - - /* If it is the frame for __sigtramp, the saved registers are located - in a sigcontext structure somewhere on the stack. __sigtramp - passes a pointer to the sigcontext structure on the stack. - If the stack layout for __sigtramp changes, or if sigcontext offsets - change, we might have to update this code. */ -#ifndef SIGFRAME_PC_OFF -#define SIGFRAME_PC_OFF (2 * 8) -#define SIGFRAME_REGSAVE_OFF (4 * 8) -#define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_REGSAVE_OFF + 32 * 8 + 8) -#endif - if (frame->signal_handler_caller) - { - CORE_ADDR sigcontext_addr; - - sigcontext_addr = alpha_sigcontext_addr (frame); - if (sigcontext_addr == 0) - { - /* Don't know where the sigcontext is; just bail. */ - return; - } - for (ireg = 0; ireg < 32; ireg++) - { - 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; - } - frame->saved_regs[PC_REGNUM] = sigcontext_addr + SIGFRAME_PC_OFF; - return; - } - - 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 - and set the saved_regs right away. */ - return; - - /* Fill in the offsets for the registers which gen_mask says - were saved. */ - - reg_position = frame->frame + PROC_REG_OFFSET (proc_desc); - mask = PROC_REG_MASK (proc_desc); - - returnreg = PROC_PC_REG (proc_desc); - - /* Note that RA is always saved first, regardless of its actual - register number. */ - if (mask & (1 << returnreg)) - { - frame->saved_regs[returnreg] = reg_position; - reg_position += 8; - mask &= ~(1 << returnreg); /* Clear bit for RA so we - don't save again later. */ - } - - for (ireg = 0; ireg <= 31; ++ireg) - if (mask & (1 << ireg)) - { - frame->saved_regs[ireg] = reg_position; - reg_position += 8; - } - - /* Fill in the offsets for the registers which float_mask says - were saved. */ - - reg_position = frame->frame + PROC_FREG_OFFSET (proc_desc); - mask = PROC_FREG_MASK (proc_desc); - - for (ireg = 0; ireg <= 31; ++ireg) - if (mask & (1 << ireg)) - { - frame->saved_regs[FP0_REGNUM + ireg] = reg_position; - reg_position += 8; - } - - frame->saved_regs[PC_REGNUM] = frame->saved_regs[returnreg]; -} - -static 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; -} - -static 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 (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 (regno == SP_REGNUM && !fi->signal_handler_caller) - return fi->frame; - else - { - 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_register (regno); -} - -static CORE_ADDR -alpha_frame_saved_pc (struct frame_info *frame) -{ - 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->extra_info->pc_reg; - - if (proc_desc && PROC_DESC_IS_DUMMY (proc_desc)) - return read_memory_integer (frame->frame - 8, 8); - - return read_next_frame_reg (frame, pcreg); -} - -static CORE_ADDR -alpha_saved_pc_after_call (struct frame_info *frame) -{ - CORE_ADDR pc = frame->pc; - CORE_ADDR tmp; - alpha_extra_func_info_t proc_desc; - int pcreg; - - /* Skip over shared library trampoline if necessary. */ - tmp = SKIP_TRAMPOLINE_CODE (pc); - if (tmp != 0) - pc = tmp; - - proc_desc = find_proc_desc (pc, frame->next); - pcreg = proc_desc ? PROC_PC_REG (proc_desc) : ALPHA_RA_REGNUM; - - if (frame->signal_handler_caller) - return alpha_frame_saved_pc (frame); - else - return read_register (pcreg); -} - - -static struct alpha_extra_func_info temp_proc_desc; -static CORE_ADDR temp_saved_regs[ALPHA_NUM_REGS]; - -/* Nonzero if instruction at PC is a return instruction. "ret - $zero,($ra),1" on alpha. */ - -static int -alpha_about_to_return (CORE_ADDR pc) -{ - return read_memory_integer (pc, 4) == 0x6bfa8001; -} - - - -/* This fencepost looks highly suspicious to me. Removing it also - seems suspicious as it could affect remote debugging across serial - lines. */ - -static CORE_ADDR -heuristic_proc_start (CORE_ADDR pc) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - CORE_ADDR start_pc = pc; - CORE_ADDR fence = start_pc - heuristic_fence_post; - - if (start_pc == 0) - return 0; - - if (heuristic_fence_post == UINT_MAX - || fence < tdep->vm_min_address) - fence = tdep->vm_min_address; - - /* 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) - { - static int blurb_printed = 0; - - if (fence == tdep->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) - { - 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; - } - } - - 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 (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 vfp = sp; - CORE_ADDR cur_pc; - int frame_size; - int has_frame_reg = 0; - unsigned long reg_mask = 0; - int pcreg = -1; - int regno; - - 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); - - if ((word & 0xffff0000) == 0x23de0000) /* lda $sp,n($sp) */ - { - if (word & 0x8000) - { - /* Consider only the first stack allocation instruction - to contain the static size of the frame. */ - if (frame_size == 0) - 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; - - /* Do not compute the address where the register was saved yet, - because we don't know yet if the offset will need to be - relative to $sp or $fp (we can not compute the address relative - to $sp if $sp is updated during the execution of the current - subroutine, for instance when doing some alloca). So just store - the offset for the moment, and compute the address later - when we know whether this frame has a frame pointer or not. - */ - temp_saved_regs[reg] = (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 == ALPHA_T7_REGNUM || reg == ALPHA_T9_REGNUM - || reg == ALPHA_RA_REGNUM)) - pcreg = reg; - } - else if ((word & 0xffe0ffff) == 0x6be08001) /* ret zero,reg,1 */ - pcreg = (word >> 16) & 0x1f; - else if (word == 0x47de040f || word == 0x47fe040f) /* bis sp,sp fp */ - { - /* ??? I am not sure what instruction is 0x47fe040f, and I - am suspecting that there was a typo and should have been - 0x47fe040f. I'm keeping it in the test above until further - investigation */ - has_frame_reg = 1; - vfp = read_next_frame_reg (next_frame, ALPHA_GCC_FP_REGNUM); - } - } - 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 ((word & 0xfc1f0000) == 0xb41e0000 /* stq reg,n($sp) */ - && (word & 0xffff0000) != 0xb7fe0000) /* reg != $zero */ - { - int reg = (word & 0x03e00000) >> 21; - if (reg == ALPHA_T7_REGNUM || reg == ALPHA_T9_REGNUM - || reg == ALPHA_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) = ALPHA_GCC_FP_REGNUM; - else - PROC_FRAME_REG (&temp_proc_desc) = SP_REGNUM; - - /* At this point, we know which of the Stack Pointer or the Frame Pointer - to use as the reference address to compute the saved registers address. - But in both cases, the processing above has set vfp to this reference - address, so just need to increment the offset of each saved register - by this address. */ - for (regno = 0; regno < NUM_REGS; regno++) - { - if (reg_mask & 1 << regno) - temp_saved_regs[regno] += vfp; - } - - PROC_FRAME_OFFSET (&temp_proc_desc) = frame_size; - PROC_REG_MASK (&temp_proc_desc) = reg_mask; - PROC_PC_REG (&temp_proc_desc) = (pcreg == -1) ? ALPHA_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 (CORE_ADDR pc, alpha_extra_func_info_t proc_desc) -{ - struct symtab_and_line sal; - CORE_ADDR func_addr, func_end; - - if (!proc_desc) - proc_desc = find_proc_desc (pc, NULL); - - if (proc_desc) - { - if (alpha_proc_desc_is_dyn_sigtramp (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... */ - if (PROC_FRAME_REG (proc_desc) == SP_REGNUM - && PROC_FRAME_OFFSET (proc_desc) == 0) - return 0; - } - - if (!find_pc_partial_function (pc, NULL, &func_addr, &func_end)) - return 0; /* Unknown */ - - sal = find_pc_line (func_addr, 0); - - if (sal.end < func_end) - return sal.end; - - /* The line after the prologue is after the end of the function. In this - case, tell the caller to find the prologue the hard way. */ - - return 0; -} - -/* Return non-zero if we *might* be in a function prologue. Return zero if we - are definitively *not* in a function prologue. */ - -static int -alpha_in_prologue (CORE_ADDR pc, alpha_extra_func_info_t proc_desc) -{ - CORE_ADDR after_prologue_pc; - - after_prologue_pc = after_prologue (pc, proc_desc); - - if (after_prologue_pc == 0 - || pc < after_prologue_pc) - return 1; - else - return 0; -} - -static alpha_extra_func_info_t -find_proc_desc (CORE_ADDR pc, struct frame_info *next_frame) -{ - alpha_extra_func_info_t proc_desc; - struct block *b; - struct symbol *sym; - CORE_ADDR startaddr; - - /* Try to get the proc_desc from the linked call dummy proc_descs - if the pc is in the call dummy. - This is hairy. In the case of nested dummy calls we have to find the - right proc_desc, but we might not yet know the frame for the dummy - as it will be contained in the proc_desc we are searching for. - So we have to find the proc_desc whose frame is closest to the current - stack pointer. */ - - if (PC_IN_CALL_DUMMY (pc, 0, 0)) - { - struct linked_proc_info *link; - CORE_ADDR sp = read_next_frame_reg (next_frame, SP_REGNUM); - alpha_extra_func_info_t found_proc_desc = NULL; - long min_distance = LONG_MAX; - - for (link = linked_proc_desc_table; link; link = link->next) - { - long distance = (CORE_ADDR) PROC_DUMMY_FRAME (&link->info) - sp; - if (distance > 0 && distance < min_distance) - { - min_distance = distance; - found_proc_desc = &link->info; - } - } - if (found_proc_desc != NULL) - return found_proc_desc; - } - - b = block_for_pc (pc); - - find_pc_partial_function (pc, NULL, &startaddr, NULL); - if (b == NULL) - sym = NULL; - else - { - if (startaddr > BLOCK_START (b)) - /* This is the "pathological" case referred to in a comment in - print_frame_info. It might be better to move this check into - symbol reading. */ - sym = NULL; - else - sym = lookup_symbol (MIPS_EFI_SYMBOL_NAME, b, LABEL_NAMESPACE, - 0, NULL); - } - - /* If we never found a PDR for this function in symbol reading, then - examine prologues to find the information. */ - if (sym && ((mips_extra_func_info_t) SYMBOL_VALUE (sym))->pdr.framereg == -1) - sym = NULL; - - 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; - } - } - } - } - 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! */ - - 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 PC is inside a dynamically generated sigtramp handler, - create and push a procedure descriptor for that code: */ - offset = alpha_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. */ - if (startaddr == 0 || heuristic_fence_post != 0) - startaddr = heuristic_proc_start (pc); - - proc_desc = - heuristic_proc_desc (startaddr, pc, next_frame); - } - return proc_desc; -} - -alpha_extra_func_info_t cached_proc_desc; - -static CORE_ADDR -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 alpha_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 -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)); -} - -static 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->extra_info = (struct frame_extra_info *) - frame_obstack_alloc (sizeof (struct frame_extra_info)); - - frame->saved_regs = NULL; - frame->extra_info->localoff = 0; - frame->extra_info->pc_reg = ALPHA_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->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); - - /* 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. */ - else if (frame->pc == PROC_LOW_ADDR (proc_desc) - && !alpha_proc_desc_is_dyn_sigtramp (proc_desc)) - frame->frame = read_next_frame_reg (frame->next, SP_REGNUM); - else - frame->frame = read_next_frame_reg (frame->next, PROC_FRAME_REG (proc_desc)) - + PROC_FRAME_OFFSET (proc_desc); - - if (proc_desc == &temp_proc_desc) - { - char *name; - - /* Do not set the saved registers for a sigtramp 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); - if (!PC_IN_SIGTRAMP (frame->pc, name)) - { - frame->saved_regs = (CORE_ADDR *) - frame_obstack_alloc (SIZEOF_FRAME_SAVED_REGS); - memcpy (frame->saved_regs, temp_saved_regs, - SIZEOF_FRAME_SAVED_REGS); - frame->saved_regs[PC_REGNUM] - = frame->saved_regs[ALPHA_RA_REGNUM]; - } - } - } -} - -static CORE_ADDR -alpha_frame_locals_address (struct frame_info *fi) -{ - return (fi->frame - fi->extra_info->localoff); -} - -static 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 - the base of the frame pointer, and what offset from that register - the frame itself is at. - - This presents a problem when trying to examine a stack in memory - (that isn't executing at the moment), using the "frame" command. We - don't have a PC, nor do we have any registers except SP. - - This routine takes two arguments, SP and PC, and tries to make the - cached frames look as if these two arguments defined a frame on the - cache. This allows the rest of info frame to extract the important - arguments without difficulty. */ - -struct frame_info * -alpha_setup_arbitrary_frame (int argc, CORE_ADDR *argv) -{ - if (argc != 2) - error ("ALPHA frame specifications require two arguments: sp and pc"); - - return create_new_frame (argv[0], argv[1]); -} - -/* The alpha passes the first six arguments in the registers, the rest on - the stack. The register arguments are eventually transferred to the - argument transfer area immediately below the stack by the called function - anyway. So we `push' at least six arguments on the stack, `reload' the - argument registers and then adjust the stack pointer to point past the - sixth argument. This algorithm simplifies the passing of a large struct - which extends from the registers to the stack. - If the called function is returning a structure, the address of the - structure to be returned is passed as a hidden first argument. */ - -static CORE_ADDR -alpha_push_arguments (int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) -{ - 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 *alpha_args = - (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++) - { - 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)) - { - case TYPE_CODE_INT: - case TYPE_CODE_BOOL: - case TYPE_CODE_CHAR: - case TYPE_CODE_RANGE: - case TYPE_CODE_ENUM: - if (TYPE_LENGTH (arg_type) < TYPE_LENGTH (builtin_type_long)) - { - arg_type = builtin_type_long; - arg = value_cast (arg_type, arg); - } - break; - default: - break; - } - 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); - } - - /* Determine required argument register loads, loading an argument register - is expensive as it uses three ptrace calls. */ - required_arg_regs = accumulate_size / 8; - if (required_arg_regs > ALPHA_NUM_ARG_REGS) - required_arg_regs = ALPHA_NUM_ARG_REGS; - - /* Make room for the arguments on the stack. */ - if (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); - if (struct_return) - { - store_address (raw_buffer, sizeof (CORE_ADDR), struct_addr); - write_memory (sp, raw_buffer, sizeof (CORE_ADDR)); - } - - /* Load the argument registers. */ - for (i = 0; i < required_arg_regs; i++) - { - LONGEST val; - - val = read_memory_integer (sp + i * 8, 8); - write_register (ALPHA_A0_REGNUM + i, val); - write_register (ALPHA_FPA0_REGNUM + i, val); - } - - return sp + arg_regs_size; -} - -static void -alpha_push_dummy_frame (void) -{ - int ireg; - struct linked_proc_info *link; - alpha_extra_func_info_t proc_desc; - CORE_ADDR sp = read_register (SP_REGNUM); - CORE_ADDR save_address; - char raw_buffer[ALPHA_MAX_REGISTER_RAW_SIZE]; - unsigned long mask; - - 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; - - /* - * The registers we must save are all those not preserved across - * procedure calls. - * In addition, we must save the PC and RA. - * - * Dummy frame layout: - * (high memory) - * Saved PC - * Saved F30 - * ... - * Saved F0 - * Saved R29 - * ... - * Saved R0 - * Saved R26 (RA) - * Parameter build area - * (low memory) - */ - -/* MASK(i,j) == (1<>= 1) - if (mask & 1) - { - if (ireg == ALPHA_RA_REGNUM) - continue; - store_address (raw_buffer, 8, read_register (ireg)); - write_memory (save_address, raw_buffer, 8); - save_address += 8; - } - - store_address (raw_buffer, 8, read_register (PC_REGNUM)); - 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; - for (ireg = 0; mask; ireg++, mask >>= 1) - if (mask & 1) - { - store_address (raw_buffer, 8, read_register (ireg + FP0_REGNUM)); - write_memory (save_address, raw_buffer, 8); - save_address += 8; - } - - /* Set and save the frame address for the dummy. - This is tricky. The only registers that are suitable for a frame save - are those that are preserved across procedure calls (s0-s6). But if - a read system call is interrupted and then a dummy call is made - (see testsuite/gdb.t17/interrupt.exp) the dummy call hangs till the read - is satisfied. Then it returns with the s0-s6 registers set to the values - on entry to the read system call and our dummy frame pointer would be - destroyed. So we save the dummy frame in the proc_desc and handle the - retrieval of the frame pointer of a dummy specifically. The frame register - 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); - write_register (SP_REGNUM, sp); - - 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) = ALPHA_RA_REGNUM; -} - -static void -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->extra_info->proc_desc; - - /* 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)) - write_register (regnum, - read_memory_integer (frame->saved_regs[regnum], - 8)); - 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)); - } - write_register (SP_REGNUM, new_sp); - flush_cached_frames (); - - if (proc_desc && (PROC_DESC_IS_DUMMY (proc_desc) - || alpha_proc_desc_is_dyn_sigtramp (proc_desc))) - { - struct linked_proc_info *pi_ptr, *prev_ptr; - - for (pi_ptr = linked_proc_desc_table, prev_ptr = NULL; - pi_ptr != NULL; - prev_ptr = pi_ptr, pi_ptr = pi_ptr->next) - { - if (&pi_ptr->info == proc_desc) - break; - } - - if (pi_ptr == NULL) - error ("Can't locate dummy extra frame info\n"); - - if (prev_ptr != NULL) - prev_ptr->next = pi_ptr->next; - else - linked_proc_desc_table = pi_ptr->next; - - xfree (pi_ptr); - } -} - -/* To skip prologues, I use this predicate. Returns either PC itself - if the code at PC does not look like a function prologue; otherwise - returns an address that (if we're lucky) follows the prologue. If - 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 need the - lenient stuff some day. */ - -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]; - - /* 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 (which all - Alpha targets do). */ - if (target_read_memory (pc, buf, 4)) - return 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. */ - - post_prologue_pc = after_prologue (pc, NULL); - - if (post_prologue_pc != 0) - return max (pc, post_prologue_pc); - - /* Can't determine prologue from the symbol table, need to examine - instructions. */ - - /* 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; -} - -static CORE_ADDR -alpha_skip_prologue (CORE_ADDR addr) -{ - return (alpha_skip_prologue_internal (addr, 0)); -} - -#if 0 -/* Is address PC in the prologue (loosely defined) for function at - STARTADDR? */ - -static int -alpha_in_lenient_prologue (CORE_ADDR startaddr, CORE_ADDR pc) -{ - 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 - or - memory format is an integer with 4 bytes or less, as the representation - of integers in floating point registers is different. */ -static void -alpha_register_convert_to_virtual (int regnum, struct type *valtype, - char *raw_buffer, char *virtual_buffer) -{ - if (TYPE_LENGTH (valtype) >= REGISTER_RAW_SIZE (regnum)) - { - memcpy (virtual_buffer, raw_buffer, REGISTER_VIRTUAL_SIZE (regnum)); - return; - } - - if (TYPE_CODE (valtype) == TYPE_CODE_FLT) - { - double d = extract_floating (raw_buffer, REGISTER_RAW_SIZE (regnum)); - store_floating (virtual_buffer, TYPE_LENGTH (valtype), d); - } - else if (TYPE_CODE (valtype) == TYPE_CODE_INT && TYPE_LENGTH (valtype) <= 4) - { - ULONGEST l; - l = extract_unsigned_integer (raw_buffer, REGISTER_RAW_SIZE (regnum)); - l = ((l >> 32) & 0xc0000000) | ((l >> 29) & 0x3fffffff); - store_unsigned_integer (virtual_buffer, TYPE_LENGTH (valtype), l); - } - else - error ("Cannot retrieve value from floating point register"); -} - -static void -alpha_register_convert_to_raw (struct type *valtype, int regnum, - char *virtual_buffer, char *raw_buffer) -{ - if (TYPE_LENGTH (valtype) >= REGISTER_RAW_SIZE (regnum)) - { - memcpy (raw_buffer, virtual_buffer, REGISTER_RAW_SIZE (regnum)); - return; - } - - if (TYPE_CODE (valtype) == TYPE_CODE_FLT) - { - double d = extract_floating (virtual_buffer, TYPE_LENGTH (valtype)); - store_floating (raw_buffer, REGISTER_RAW_SIZE (regnum), d); - } - else if (TYPE_CODE (valtype) == TYPE_CODE_INT && TYPE_LENGTH (valtype) <= 4) - { - ULONGEST l; - if (TYPE_UNSIGNED (valtype)) - l = extract_unsigned_integer (virtual_buffer, TYPE_LENGTH (valtype)); - else - l = extract_signed_integer (virtual_buffer, TYPE_LENGTH (valtype)); - l = ((l & 0xc0000000) << 32) | ((l & 0x3fffffff) << 29); - store_unsigned_integer (raw_buffer, REGISTER_RAW_SIZE (regnum), l); - } - else - error ("Cannot store value in floating point register"); -} - -static const unsigned char * -alpha_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr) -{ - static const unsigned char alpha_breakpoint[] = - { 0x80, 0, 0, 0 }; /* call_pal bpt */ - - *lenptr = sizeof(alpha_breakpoint); - return (alpha_breakpoint); -} - -/* Given a return value in `regbuf' with a type `valtype', - extract and copy its value into `valbuf'. */ - -static void -alpha_extract_return_value (struct type *valtype, - char regbuf[ALPHA_REGISTER_BYTES], char *valbuf) -{ - if (TYPE_CODE (valtype) == TYPE_CODE_FLT) - alpha_register_convert_to_virtual (FP0_REGNUM, valtype, - regbuf + REGISTER_BYTE (FP0_REGNUM), - valbuf); - else - memcpy (valbuf, regbuf + REGISTER_BYTE (ALPHA_V0_REGNUM), - TYPE_LENGTH (valtype)); -} - -/* Given a return value in `regbuf' with a type `valtype', - write its value into the appropriate register. */ - -static void -alpha_store_return_value (struct type *valtype, char *valbuf) -{ - char raw_buffer[ALPHA_MAX_REGISTER_RAW_SIZE]; - int regnum = ALPHA_V0_REGNUM; - int length = TYPE_LENGTH (valtype); - - if (TYPE_CODE (valtype) == TYPE_CODE_FLT) - { - regnum = FP0_REGNUM; - length = REGISTER_RAW_SIZE (regnum); - alpha_register_convert_to_raw (valtype, regnum, valbuf, raw_buffer); - } - else - memcpy (raw_buffer, valbuf, length); - - write_register_bytes (REGISTER_BYTE (regnum), raw_buffer, length); -} - -/* Just like reinit_frame_cache, but with the right arguments to be - callable as an sfunc. */ - -static void -reinit_frame_cache_sfunc (char *args, int from_tty, struct cmd_list_element *c) -{ - reinit_frame_cache (); -} - -/* This is the definition of CALL_DUMMY_ADDRESS. It's a heuristic that is used - to find a convenient place in the text segment to stick a breakpoint to - detect the completion of a target function call (ala call_function_by_hand). - */ - -CORE_ADDR -alpha_call_dummy_address (void) -{ - CORE_ADDR entry; - struct minimal_symbol *sym; - - entry = entry_point_address (); - - if (entry != 0) - return entry; - - sym = lookup_minimal_symbol ("_Prelude", NULL, symfile_objfile); - - if (!sym || MSYMBOL_TYPE (sym) != mst_text) - return 0; - else - return SYMBOL_VALUE_ADDRESS (sym) + 4; -} - -static void -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 (ALPHA_RA_REGNUM, bp_address); - write_register (ALPHA_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 }; - -static int -alpha_use_struct_convention (int gcc_p, struct type *type) -{ - /* Structures are returned by ref in extra arg0. */ - return 1; -} - -static 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. */ -} - -static CORE_ADDR -alpha_extract_struct_value_address (char *regbuf) -{ - return (extract_address (regbuf + REGISTER_BYTE (ALPHA_V0_REGNUM), - REGISTER_RAW_SIZE (ALPHA_V0_REGNUM))); -} - -/* Figure out where the longjmp will land. - 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 the "pc". This routine returns true on success. */ - -static int -alpha_get_longjmp_target (CORE_ADDR *pc) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - CORE_ADDR jb_addr; - char raw_buffer[ALPHA_MAX_REGISTER_RAW_SIZE]; - - jb_addr = read_register (ALPHA_A0_REGNUM); - - if (target_read_memory (jb_addr + (tdep->jb_pc * tdep->jb_elt_size), - raw_buffer, tdep->jb_elt_size)) - return 0; - - *pc = extract_address (raw_buffer, tdep->jb_elt_size); - return 1; -} - -/* 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); - } -} - - - -/* 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 * -alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) -{ - struct gdbarch_tdep *tdep; - struct gdbarch *gdbarch; - enum gdb_osabi osabi = GDB_OSABI_UNKNOWN; - - /* Try to determine the ABI of the object we are loading. */ - - if (info.abfd != NULL) - { - osabi = gdbarch_lookup_osabi (info.abfd); - if (osabi == GDB_OSABI_UNKNOWN) - { - /* If it's an ECOFF file, assume it's OSF/1. */ - if (bfd_get_flavour (info.abfd) == bfd_target_ecoff_flavour) - osabi = GDB_OSABI_OSF1; - } - } - - /* 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->osabi == osabi) - return arches->gdbarch; - } - - tdep = xmalloc (sizeof (struct gdbarch_tdep)); - gdbarch = gdbarch_alloc (&info, tdep); - - tdep->osabi = osabi; - - /* Lowest text address. This is used by heuristic_proc_start() to - decide when to stop looking. */ - tdep->vm_min_address = (CORE_ADDR) 0x120000000; - - tdep->dynamic_sigtramp_offset = NULL; - tdep->skip_sigtramp_frame = NULL; - tdep->sigcontext_addr = NULL; - - tdep->jb_pc = -1; /* longjmp support not enabled by default */ - - /* Type sizes */ - set_gdbarch_short_bit (gdbarch, 16); - set_gdbarch_int_bit (gdbarch, 32); - set_gdbarch_long_bit (gdbarch, 64); - set_gdbarch_long_long_bit (gdbarch, 64); - set_gdbarch_float_bit (gdbarch, 32); - set_gdbarch_double_bit (gdbarch, 64); - set_gdbarch_long_double_bit (gdbarch, 64); - set_gdbarch_ptr_bit (gdbarch, 64); - - /* Register info */ - set_gdbarch_num_regs (gdbarch, ALPHA_NUM_REGS); - set_gdbarch_sp_regnum (gdbarch, ALPHA_SP_REGNUM); - set_gdbarch_fp_regnum (gdbarch, ALPHA_FP_REGNUM); - set_gdbarch_pc_regnum (gdbarch, ALPHA_PC_REGNUM); - set_gdbarch_fp0_regnum (gdbarch, ALPHA_FP0_REGNUM); - - set_gdbarch_register_name (gdbarch, alpha_register_name); - set_gdbarch_register_size (gdbarch, ALPHA_REGISTER_SIZE); - set_gdbarch_register_bytes (gdbarch, ALPHA_REGISTER_BYTES); - set_gdbarch_register_byte (gdbarch, alpha_register_byte); - set_gdbarch_register_raw_size (gdbarch, alpha_register_raw_size); - set_gdbarch_max_register_raw_size (gdbarch, ALPHA_MAX_REGISTER_RAW_SIZE); - set_gdbarch_register_virtual_size (gdbarch, alpha_register_virtual_size); - set_gdbarch_max_register_virtual_size (gdbarch, - ALPHA_MAX_REGISTER_VIRTUAL_SIZE); - set_gdbarch_register_virtual_type (gdbarch, alpha_register_virtual_type); - - set_gdbarch_cannot_fetch_register (gdbarch, alpha_cannot_fetch_register); - set_gdbarch_cannot_store_register (gdbarch, alpha_cannot_store_register); - - set_gdbarch_register_convertible (gdbarch, alpha_register_convertible); - set_gdbarch_register_convert_to_virtual (gdbarch, - alpha_register_convert_to_virtual); - set_gdbarch_register_convert_to_raw (gdbarch, alpha_register_convert_to_raw); - - set_gdbarch_skip_prologue (gdbarch, alpha_skip_prologue); - - set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); - set_gdbarch_frameless_function_invocation (gdbarch, - generic_frameless_function_invocation_not); - - set_gdbarch_saved_pc_after_call (gdbarch, alpha_saved_pc_after_call); - - set_gdbarch_frame_chain (gdbarch, alpha_frame_chain); - set_gdbarch_frame_chain_valid (gdbarch, func_frame_chain_valid); - set_gdbarch_frame_saved_pc (gdbarch, alpha_frame_saved_pc); - - set_gdbarch_frame_init_saved_regs (gdbarch, alpha_frame_init_saved_regs); - - set_gdbarch_use_struct_convention (gdbarch, alpha_use_struct_convention); - set_gdbarch_deprecated_extract_return_value (gdbarch, alpha_extract_return_value); - - set_gdbarch_store_struct_return (gdbarch, alpha_store_struct_return); - set_gdbarch_deprecated_store_return_value (gdbarch, alpha_store_return_value); - set_gdbarch_deprecated_extract_struct_value_address (gdbarch, - alpha_extract_struct_value_address); - - /* Settings for calling functions in the inferior. */ - set_gdbarch_use_generic_dummy_frames (gdbarch, 0); - set_gdbarch_call_dummy_length (gdbarch, 0); - set_gdbarch_push_arguments (gdbarch, alpha_push_arguments); - set_gdbarch_pop_frame (gdbarch, alpha_pop_frame); - - /* On the Alpha, the call dummy code is never copied to user space, - stopping the user call is achieved via a bp_call_dummy breakpoint. - But we need a fake CALL_DUMMY definition to enable the proper - call_function_by_hand and to avoid zero length array warnings. */ - set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_words (gdbarch, alpha_call_dummy_words); - set_gdbarch_sizeof_call_dummy_words (gdbarch, 0); - set_gdbarch_frame_args_address (gdbarch, alpha_frame_args_address); - set_gdbarch_frame_locals_address (gdbarch, alpha_frame_locals_address); - set_gdbarch_init_extra_frame_info (gdbarch, alpha_init_extra_frame_info); - - /* Alpha OSF/1 inhibits execution of code on the stack. But there is - no need for a dummy on the Alpha. PUSH_ARGUMENTS takes care of all - argument handling and bp_call_dummy takes care of stopping the dummy. */ - set_gdbarch_call_dummy_location (gdbarch, AT_ENTRY_POINT); - set_gdbarch_call_dummy_address (gdbarch, alpha_call_dummy_address); - set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1); - set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); - set_gdbarch_call_dummy_start_offset (gdbarch, 0); - set_gdbarch_pc_in_call_dummy (gdbarch, pc_in_call_dummy_at_entry_point); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); - set_gdbarch_push_dummy_frame (gdbarch, alpha_push_dummy_frame); - set_gdbarch_fix_call_dummy (gdbarch, alpha_fix_call_dummy); - set_gdbarch_init_frame_pc (gdbarch, init_frame_pc_noop); - set_gdbarch_init_frame_pc_first (gdbarch, alpha_init_frame_pc_first); - - set_gdbarch_inner_than (gdbarch, core_addr_lessthan); - set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); - - /* Floats are always passed as doubles. */ - set_gdbarch_coerce_float_to_double (gdbarch, - standard_coerce_float_to_double); - - set_gdbarch_breakpoint_from_pc (gdbarch, alpha_breakpoint_from_pc); - set_gdbarch_decr_pc_after_break (gdbarch, 4); - - set_gdbarch_function_start_offset (gdbarch, 0); - set_gdbarch_frame_args_skip (gdbarch, 0); - - /* Hook in ABI-specific overrides, if they have been registered. */ - gdbarch_init_osabi (info, gdbarch, osabi); - - /* Now that 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, alpha_get_longjmp_target); - - return gdbarch; -} - -static void -alpha_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - if (tdep == NULL) - return; - - fprintf_unfiltered (file, "alpha_dump_tdep: OS ABI = %s\n", - gdbarch_osabi_name (tdep->osabi)); - - fprintf_unfiltered (file, - "alpha_dump_tdep: vm_min_address = 0x%lx\n", - (long) tdep->vm_min_address); - - fprintf_unfiltered (file, - "alpha_dump_tdep: jb_pc = %d\n", - tdep->jb_pc); - fprintf_unfiltered (file, - "alpha_dump_tdep: jb_elt_size = %ld\n", - (long) tdep->jb_elt_size); -} - -void -_initialize_alpha_tdep (void) -{ - struct cmd_list_element *c; - - gdbarch_register (bfd_arch_alpha, alpha_gdbarch_init, alpha_dump_tdep); - - tm_print_insn = print_insn_alpha; - - /* Let the user set the fence post for heuristic_proc_start. */ - - /* We really would like to have both "0" and "unlimited" work, but - command.c doesn't deal with that. So make it a var_zinteger - because the user can always use "999999" or some such for unlimited. */ - c = add_set_cmd ("heuristic-fence-post", class_support, var_zinteger, - (char *) &heuristic_fence_post, - "\ -Set the distance searched for the start of a function.\n\ -If you are debugging a stripped executable, GDB needs to search through the\n\ -program for the start of a function. This command sets the distance of the\n\ -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. */ - set_cmd_sfunc (c, reinit_frame_cache_sfunc); - add_show_from_set (c, &showlist); -} diff --git a/gdb/alpha-tdep.h b/gdb/alpha-tdep.h deleted file mode 100644 index cea232b502c..00000000000 --- a/gdb/alpha-tdep.h +++ /dev/null @@ -1,109 +0,0 @@ -/* Common target dependent code for GDB on Alpha systems. - Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 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. */ - -#ifndef ALPHA_TDEP_H -#define ALPHA_TDEP_H - -#include "osabi.h" - -/* Say how long (ordinary) registers are. This is a piece of bogosity - used in push_word and a few other places; REGISTER_RAW_SIZE is the - real way to know how big a register is. */ -#define ALPHA_REGISTER_SIZE 8 - -/* Number of machine registers. */ -#define ALPHA_NUM_REGS 66 - -/* Total amount of space needed to store our copies of the machine's - register state. */ -#define ALPHA_REGISTER_BYTES (ALPHA_NUM_REGS * 8) - -/* Largest value REGISTER_RAW_SIZE can have. */ -#define ALPHA_MAX_REGISTER_RAW_SIZE 8 - -/* Largest value REGISTER_VIRTUAL_SIZE can have. */ -#define ALPHA_MAX_REGISTER_VIRTUAL_SIZE 8 - -/* Register numbers of various important registers. - Note that most of these values are "real" register numbers, - and correspond to the general registers of the machine, - and FP_REGNUM is a "phony" register number which is too large - to be an actual register number as far as the user is concerned - but serves to get the desired value when passed to read_register. */ - -#define ALPHA_V0_REGNUM 0 /* Function integer return value */ -#define ALPHA_T7_REGNUM 8 /* Return address register for OSF/1 __add* */ -#define ALPHA_GCC_FP_REGNUM 15 /* Used by gcc as frame register */ -#define ALPHA_A0_REGNUM 16 /* Loc of first arg during a subr call */ -#define ALPHA_T9_REGNUM 23 /* Return address register for OSF/1 __div* */ -#define ALPHA_T12_REGNUM 27 /* Contains start addr of current proc */ -#define ALPHA_SP_REGNUM 30 /* Contains address of top of stack */ -#define ALPHA_RA_REGNUM 26 /* Contains return address value */ -#define ALPHA_ZERO_REGNUM 31 /* Read-only register, always 0 */ -#define ALPHA_FP0_REGNUM 32 /* Floating point register 0 */ -#define ALPHA_FPA0_REGNUM 48 /* First float arg during a subr call */ -#define ALPHA_FPCR_REGNUM 63 /* Floating point control register */ -#define ALPHA_PC_REGNUM 64 /* Contains program counter */ -#define ALPHA_FP_REGNUM 65 /* Virtual frame pointer */ - -/* The alpha has two different virtual pointers for arguments and locals. - - The virtual argument pointer is pointing to the bottom of the argument - transfer area, which is located immediately below the virtual frame - pointer. Its size is fixed for the native compiler, it is either zero - (for the no arguments case) or large enough to hold all argument registers. - gcc uses a variable sized argument transfer area. As it has - to stay compatible with the native debugging tools it has to use the same - virtual argument pointer and adjust the argument offsets accordingly. - - The virtual local pointer is localoff bytes below the virtual frame - pointer, the value of localoff is obtained from the PDR. */ -#define ALPHA_NUM_ARG_REGS 6 - -/* Target-dependent structure in gdbarch. */ -struct gdbarch_tdep -{ - enum gdb_osabi osabi; /* OS/ABI of inferior. */ - - CORE_ADDR vm_min_address; /* used by heuristic_proc_start */ - - /* If PC is inside a dynamically-generated signal trampoline function - (i.e. one copied onto the user stack at run-time), return how many - bytes PC is beyond the start of that function. Otherwise, return -1. */ - LONGEST (*dynamic_sigtramp_offset) (CORE_ADDR); - - /* If FRAME refers to a sigtramp frame, return the address of the next - frame. */ - CORE_ADDR (*skip_sigtramp_frame) (struct frame_info *, CORE_ADDR); - - /* Translate a signal handler frame into the address of the sigcontext - structure for that signal handler. */ - CORE_ADDR (*sigcontext_addr) (struct frame_info *); - - int jb_pc; /* Offset to PC value in jump buffer. - If htis is negative, longjmp support - will be disabled. */ - size_t jb_elt_size; /* And the size of each entry in the buf. */ -}; - -void alpha_software_single_step (enum target_signal, int); - -#endif /* ALPHA_TDEP_H */ diff --git a/gdb/alphabsd-nat.c b/gdb/alphabsd-nat.c deleted file mode 100644 index b26d3ea7c48..00000000000 --- a/gdb/alphabsd-nat.c +++ /dev/null @@ -1,157 +0,0 @@ -/* 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 "alpha-tdep.h" -#include "alphabsd-tdep.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" - -/* Provide *regset() wrappers around the generic Alpha BSD register - supply/fill routines. */ - -void -supply_gregset (gregset_t *gregsetp) -{ - alphabsd_supply_reg ((char *) gregsetp, -1); -} - -void -fill_gregset (gregset_t *gregsetp, int regno) -{ - alphabsd_fill_reg ((char *) gregsetp, regno); -} - -void -supply_fpregset (fpregset_t *fpregsetp) -{ - alphabsd_supply_fpreg ((char *) fpregsetp, -1); -} - -void -fill_fpregset (fpregset_t *fpregsetp, int regno) -{ - alphabsd_fill_fpreg ((char *) fpregsetp, regno); -} - -/* Determine if PT_GETREGS fetches this register. */ - -static int -getregs_supplies (int regno) -{ - - return ((regno >= ALPHA_V0_REGNUM && regno <= ALPHA_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)) - { - struct reg gregs; - - if (ptrace (PT_GETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) &gregs, 0) == -1) - perror_with_name ("Couldn't get registers"); - - alphabsd_supply_reg ((char *) &gregs, regno); - if (regno != -1) - return; - } - - if (regno == -1 || regno >= FP0_REGNUM) - { - struct fpreg fpregs; - - if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) &fpregs, 0) == -1) - perror_with_name ("Couldn't get floating point status"); - - alphabsd_supply_fpreg ((char *) &fpregs, regno); - } - - /* 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)) - { - struct reg gregs; - if (ptrace (PT_GETREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) &gregs, 0) == -1) - perror_with_name ("Couldn't get registers"); - - alphabsd_fill_reg ((char *) &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) - { - struct fpreg fpregs; - - if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) &fpregs, 0) == -1) - perror_with_name ("Couldn't get floating point status"); - - alphabsd_fill_fpreg ((char *) &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/gdb/alphabsd-tdep.c b/gdb/alphabsd-tdep.c deleted file mode 100644 index 39a9b1ae77e..00000000000 --- a/gdb/alphabsd-tdep.c +++ /dev/null @@ -1,102 +0,0 @@ -/* Common target dependent code for GDB on Alpha systems running BSD. - 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 "regcache.h" - -#include "alpha-tdep.h" -#include "alphabsd-tdep.h" - -/* Number of general-purpose registers. */ -#define NUM_GREGS 32 - -/* Number of floating-point registers. */ -#define NUM_FPREGS 31 - -/* Conviently, GDB uses the same register numbering as the - ptrace register structure used by BSD on Alpha. */ - -void -alphabsd_supply_reg (char *regs, int regno) -{ - int i; - - for (i = 0; i < NUM_GREGS; i++) - { - if (i == regno || regno == -1) - { - if (CANNOT_FETCH_REGISTER (i)) - supply_register (i, NULL); - else - supply_register (i, regs + (i * 8)); - } - } - - /* The PC travels in the ZERO slot. */ - if (regno == PC_REGNUM || regno == -1) - supply_register (PC_REGNUM, regs + (31 * 8)); -} - -void -alphabsd_fill_reg (char *regs, int regno) -{ - int i; - - for (i = 0; i < NUM_GREGS; i++) - if ((regno == i || regno == -1) && ! CANNOT_STORE_REGISTER (i)) - regcache_collect (i, regs + (i * 8)); - - /* The PC travels in the ZERO slot. */ - if (regno == PC_REGNUM || regno == -1) - regcache_collect (PC_REGNUM, regs + (31 * 8)); -} - -void -alphabsd_supply_fpreg (char *fpregs, int regno) -{ - int i; - - for (i = FP0_REGNUM; i < FP0_REGNUM + NUM_FPREGS; i++) - { - if (i == regno || regno == -1) - { - if (CANNOT_FETCH_REGISTER (i)) - supply_register (i, NULL); - else - supply_register (i, fpregs + ((i - FP0_REGNUM) * 8)); - } - } - - if (regno == ALPHA_FPCR_REGNUM || regno == -1) - supply_register (ALPHA_FPCR_REGNUM, fpregs + (32 * 8)); -} - -void -alphabsd_fill_fpreg (char *fpregs, int regno) -{ - int i; - - for (i = FP0_REGNUM; i < FP0_REGNUM + NUM_FPREGS; i++) - if ((regno == i || regno == -1) && ! CANNOT_STORE_REGISTER (i)) - regcache_collect (i, fpregs + ((i - FP0_REGNUM) * 8)); - - if (regno == ALPHA_FPCR_REGNUM || regno == -1) - regcache_collect (ALPHA_FPCR_REGNUM, fpregs + (32 * 8)); -} diff --git a/gdb/alphabsd-tdep.h b/gdb/alphabsd-tdep.h deleted file mode 100644 index 48d87988ff6..00000000000 --- a/gdb/alphabsd-tdep.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Common target dependent code for GDB on Alpha systems running BSD. - 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. */ - -#ifndef ALPHABSD_TDEP_H -#define ALPHABSD_TDEP_H - -void alphabsd_supply_reg (char *, int); -void alphabsd_fill_reg (char *, int); - -void alphabsd_supply_fpreg (char *, int); -void alphabsd_fill_fpreg (char *, int); - -#define SIZEOF_STRUCT_REG (32 * 8) -#define SIZEOF_STRUCT_FPREG (33 * 8) - -#endif /* ALPHABSD_TDEP_H */ diff --git a/gdb/alphafbsd-tdep.c b/gdb/alphafbsd-tdep.c deleted file mode 100644 index f8f515d3cc8..00000000000 --- a/gdb/alphafbsd-tdep.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Target-dependent code for FreeBSD/Alpha. - Copyright 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 "value.h" - -#include "alpha-tdep.h" - -static 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; -} - -static int -alphafbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name) -{ - /* FIXME */ - return 0; -} - -static void -alphafbsd_init_abi (struct gdbarch_info info, - struct gdbarch *gdbarch) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - - set_gdbarch_pc_in_sigtramp (gdbarch, alphafbsd_pc_in_sigtramp); - - set_gdbarch_use_struct_convention (gdbarch, alphafbsd_use_struct_convention); - - tdep->jb_pc = 2; - tdep->jb_elt_size = 8; -} - -void -_initialize_alphafbsd_tdep (void) -{ - gdbarch_register_osabi (bfd_arch_alpha, GDB_OSABI_FREEBSD_ELF, - alphafbsd_init_abi); -} diff --git a/gdb/alphanbsd-tdep.c b/gdb/alphanbsd-tdep.c deleted file mode 100644 index bc7b1a410db..00000000000 --- a/gdb/alphanbsd-tdep.c +++ /dev/null @@ -1,240 +0,0 @@ -/* Target-dependent code for NetBSD/Alpha. - Copyright 2002 Free Software Foundation, Inc. - Contributed by Wasabi Systems, 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 "gdbcore.h" -#include "frame.h" -#include "regcache.h" -#include "value.h" - -#include "solib-svr4.h" - -#include "alpha-tdep.h" -#include "alphabsd-tdep.h" -#include "nbsd-tdep.h" - -static void -fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which, - CORE_ADDR ignore) -{ - char *regs, *fpregs; - int regno; - - /* Table to map a gdb register number to a trapframe register index. */ - static const int regmap[] = - { - 0, 1, 2, 3, - 4, 5, 6, 7, - 8, 9, 10, 11, - 12, 13, 14, 15, - 30, 31, 32, 16, - 17, 18, 19, 20, - 21, 22, 23, 24, - 25, 29, 26 - }; -#define SIZEOF_TRAPFRAME (33 * 8) - - /* We get everything from one section. */ - if (which != 0) - return; - - regs = core_reg_sect; - fpregs = core_reg_sect + SIZEOF_TRAPFRAME; - - if (core_reg_size < (SIZEOF_TRAPFRAME + SIZEOF_STRUCT_FPREG)) - { - warning ("Wrong size register set in core file."); - return; - } - - /* Integer registers. */ - for (regno = 0; regno < ALPHA_ZERO_REGNUM; regno++) - supply_register (regno, regs + (regmap[regno] * 8)); - supply_register (ALPHA_ZERO_REGNUM, NULL); - supply_register (FP_REGNUM, NULL); - supply_register (PC_REGNUM, regs + (28 * 8)); - - /* Floating point registers. */ - alphabsd_supply_fpreg (fpregs, -1); -} - -static void -fetch_elfcore_registers (char *core_reg_sect, unsigned core_reg_size, int which, - CORE_ADDR ignore) -{ - switch (which) - { - case 0: /* Integer registers. */ - if (core_reg_size != SIZEOF_STRUCT_REG) - warning ("Wrong size register set in core file."); - else - alphabsd_supply_reg (core_reg_sect, -1); - break; - - case 2: /* Floating point registers. */ - if (core_reg_size != SIZEOF_STRUCT_FPREG) - warning ("Wrong size FP register set in core file."); - else - alphabsd_supply_fpreg (core_reg_sect, -1); - break; - - default: - /* Don't know what kind of register request this is; just ignore it. */ - break; - } -} - -static struct core_fns alphanbsd_core_fns = -{ - bfd_target_unknown_flavour, /* core_flavour */ - default_check_format, /* check_format */ - default_core_sniffer, /* core_sniffer */ - fetch_core_registers, /* core_read_registers */ - NULL /* next */ -}; - -static struct core_fns alphanbsd_elfcore_fns = -{ - bfd_target_elf_flavour, /* core_flavour */ - default_check_format, /* check_format */ - default_core_sniffer, /* core_sniffer */ - fetch_elfcore_registers, /* core_read_registers */ - NULL /* next */ -}; - -/* Under NetBSD/alpha, 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 code sequence: - - ldq a0, 0(sp) - lda sp, 16(sp) - lda v0, 295(zero) # __sigreturn14 - 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 instructions. - If there is a hit, we know the offset to the start of the designated - sequence and can then check whether we really are executing in the - signal trampoline. If not, -1 is returned, otherwise the offset from the - start of the return sequence is returned. */ -static const unsigned char sigtramp_retcode[] = -{ - 0x00, 0x00, 0x1e, 0xa6, /* ldq a0, 0(sp) */ - 0x10, 0x00, 0xde, 0x23, /* lda sp, 16(sp) */ - 0x27, 0x01, 0x1f, 0x20, /* lda v0, 295(zero) */ - 0x83, 0x00, 0x00, 0x00, /* call_pal callsys */ -}; -#define RETCODE_NWORDS 4 -#define RETCODE_SIZE (RETCODE_NWORDS * 4) - -LONGEST -alphanbsd_sigtramp_offset (CORE_ADDR pc) -{ - unsigned char ret[RETCODE_SIZE], w[4]; - LONGEST off; - int i; - - if (read_memory_nobpt (pc, (char *) w, 4) != 0) - return -1; - - for (i = 0; i < RETCODE_NWORDS; i++) - { - if (memcmp (w, sigtramp_retcode + (i * 4), 4) == 0) - break; - } - if (i == RETCODE_NWORDS) - return (-1); - - off = i * 4; - pc -= off; - - if (read_memory_nobpt (pc, (char *) ret, sizeof (ret)) != 0) - return -1; - - if (memcmp (ret, sigtramp_retcode, RETCODE_SIZE) == 0) - return off; - - return -1; -} - -static int -alphanbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name) -{ - return (nbsd_pc_in_sigtramp (pc, func_name) - || alphanbsd_sigtramp_offset (pc) >= 0); -} - -static CORE_ADDR -alphanbsd_sigcontext_addr (struct frame_info *frame) -{ - /* FIXME: This is not correct for all versions of NetBSD/alpha. - We will probably need to disassemble the trampoline to figure - out which trampoline frame type we have. */ - return frame->frame; -} - -static CORE_ADDR -alphanbsd_skip_sigtramp_frame (struct frame_info *frame, CORE_ADDR pc) -{ - char *name; - - /* FIXME: This is not correct for all versions of NetBSD/alpha. - We will probably need to disassemble the trampoline to figure - out which trampoline frame type we have. */ - find_pc_partial_function (pc, &name, (CORE_ADDR *) NULL, (CORE_ADDR *) NULL); - if (PC_IN_SIGTRAMP (pc, name)) - return frame->frame; - return 0; -} - -static void -alphanbsd_init_abi (struct gdbarch_info info, - struct gdbarch *gdbarch) -{ - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - - set_gdbarch_pc_in_sigtramp (gdbarch, alphanbsd_pc_in_sigtramp); - - /* NetBSD/alpha does not provide single step support via ptrace(2); we - must use software single-stepping. */ - set_gdbarch_software_single_step (gdbarch, alpha_software_single_step); - - set_solib_svr4_fetch_link_map_offsets (gdbarch, - nbsd_lp64_solib_svr4_fetch_link_map_offsets); - - tdep->skip_sigtramp_frame = alphanbsd_skip_sigtramp_frame; - tdep->dynamic_sigtramp_offset = alphanbsd_sigtramp_offset; - tdep->sigcontext_addr = alphanbsd_sigcontext_addr; - - tdep->jb_pc = 2; - tdep->jb_elt_size = 8; -} - -void -_initialize_alphanbsd_tdep (void) -{ - gdbarch_register_osabi (bfd_arch_alpha, GDB_OSABI_NETBSD_ELF, - alphanbsd_init_abi); - - add_core_fns (&alphanbsd_core_fns); - add_core_fns (&alphanbsd_elfcore_fns); -} diff --git a/gdb/annotate.c b/gdb/annotate.c deleted file mode 100644 index 66211e91f36..00000000000 --- a/gdb/annotate.c +++ /dev/null @@ -1,585 +0,0 @@ -/* Annotation routines for GDB. - Copyright 1986, 1989, 1990, 1991, 1992, 1994, 1995, 1996, 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. */ - -#include "defs.h" -#include "annotate.h" -#include "value.h" -#include "target.h" -#include "gdbtypes.h" -#include "breakpoint.h" - - -/* Prototypes for local functions. */ - -extern void _initialize_annotate (void); - -static void print_value_flags (struct type *); - -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 (struct type *t) -{ - if (can_dereference (t)) - printf_filtered ("*"); - else - printf_filtered ("-"); -} - -void -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_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 (int num) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032catchpoint %d\n", num); -} - -void -annotate_watchpoint (int num) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032watchpoint %d\n", num); -} - -void -annotate_starting (void) -{ - - if (annotate_starting_hook) - annotate_starting_hook (); - else - { - if (annotation_level > 1) - { - printf_filtered ("\n\032\032starting\n"); - } - } -} - -void -annotate_stopped (void) -{ - if (annotate_stopped_hook) - annotate_stopped_hook (); - else - { - if (annotation_level > 1) - printf_filtered ("\n\032\032stopped\n"); - } - if (annotation_level > 1 && ignore_count_changed) - { - ignore_count_changed = 0; - breakpoints_changed (); - } -} - -void -annotate_exited (int exitstatus) -{ - if (annotate_exited_hook) - annotate_exited_hook (); - else - { - if (annotation_level > 1) - printf_filtered ("\n\032\032exited %d\n", exitstatus); - } -} - -void -annotate_signalled (void) -{ - if (annotate_signalled_hook) - annotate_signalled_hook (); - - if (annotation_level > 1) - printf_filtered ("\n\032\032signalled\n"); -} - -void -annotate_signal_name (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032signal-name\n"); -} - -void -annotate_signal_name_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032signal-name-end\n"); -} - -void -annotate_signal_string (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032signal-string\n"); -} - -void -annotate_signal_string_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032signal-string-end\n"); -} - -void -annotate_signal (void) -{ - if (annotate_signal_hook) - annotate_signal_hook (); - - if (annotation_level > 1) - printf_filtered ("\n\032\032signal\n"); -} - -void -annotate_breakpoints_headers (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032breakpoints-headers\n"); -} - -void -annotate_field (int num) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032field %d\n", num); -} - -void -annotate_breakpoints_table (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032breakpoints-table\n"); -} - -void -annotate_record (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032record\n"); -} - -void -annotate_breakpoints_table_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032breakpoints-table-end\n"); -} - -void -annotate_frames_invalid (void) -{ - if (annotation_level > 1) - { - target_terminal_ours (); - printf_unfiltered ("\n\032\032frames-invalid\n"); - } -} - -void -annotate_field_begin (struct type *type) -{ - if (annotation_level > 1) - { - printf_filtered ("\n\032\032field-begin "); - print_value_flags (type); - printf_filtered ("\n"); - } -} - -void -annotate_field_name_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032field-name-end\n"); -} - -void -annotate_field_value (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032field-value\n"); -} - -void -annotate_field_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032field-end\n"); -} - -void -annotate_quit (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032quit\n"); -} - -void -annotate_error (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032error\n"); -} - -void -annotate_error_begin (void) -{ - if (annotation_level > 1) - fprintf_filtered (gdb_stderr, "\n\032\032error-begin\n"); -} - -void -annotate_value_history_begin (int histindex, struct type *type) -{ - if (annotation_level > 1) - { - printf_filtered ("\n\032\032value-history-begin %d ", histindex); - print_value_flags (type); - printf_filtered ("\n"); - } -} - -void -annotate_value_begin (struct type *type) -{ - if (annotation_level > 1) - { - printf_filtered ("\n\032\032value-begin "); - print_value_flags (type); - printf_filtered ("\n"); - } -} - -void -annotate_value_history_value (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032value-history-value\n"); -} - -void -annotate_value_history_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032value-history-end\n"); -} - -void -annotate_value_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032value-end\n"); -} - -void -annotate_display_begin (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032display-begin\n"); -} - -void -annotate_display_number_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032display-number-end\n"); -} - -void -annotate_display_format (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032display-format\n"); -} - -void -annotate_display_expression (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032display-expression\n"); -} - -void -annotate_display_expression_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032display-expression-end\n"); -} - -void -annotate_display_value (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032display-value\n"); -} - -void -annotate_display_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032display-end\n"); -} - -void -annotate_arg_begin (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032arg-begin\n"); -} - -void -annotate_arg_name_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032arg-name-end\n"); -} - -void -annotate_arg_value (struct type *type) -{ - if (annotation_level > 1) - { - printf_filtered ("\n\032\032arg-value "); - print_value_flags (type); - printf_filtered ("\n"); - } -} - -void -annotate_arg_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032arg-end\n"); -} - -void -annotate_source (char *filename, int line, int character, int mid, CORE_ADDR pc) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032source "); - else - printf_filtered ("\032\032"); - - printf_filtered ("%s:%d:%d:%s:0x", filename, - line, character, - mid ? "middle" : "beg"); - print_address_numeric (pc, 0, gdb_stdout); - printf_filtered ("\n"); -} - -void -annotate_frame_begin (int level, CORE_ADDR pc) -{ - if (annotation_level > 1) - { - printf_filtered ("\n\032\032frame-begin %d 0x", level); - print_address_numeric (pc, 0, gdb_stdout); - printf_filtered ("\n"); - } -} - -void -annotate_function_call (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032function-call\n"); -} - -void -annotate_signal_handler_caller (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032signal-handler-caller\n"); -} - -void -annotate_frame_address (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-address\n"); -} - -void -annotate_frame_address_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-address-end\n"); -} - -void -annotate_frame_function_name (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-function-name\n"); -} - -void -annotate_frame_args (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-args\n"); -} - -void -annotate_frame_source_begin (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-source-begin\n"); -} - -void -annotate_frame_source_file (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-source-file\n"); -} - -void -annotate_frame_source_file_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-source-file-end\n"); -} - -void -annotate_frame_source_line (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-source-line\n"); -} - -void -annotate_frame_source_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-source-end\n"); -} - -void -annotate_frame_where (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-where\n"); -} - -void -annotate_frame_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032frame-end\n"); -} - -void -annotate_array_section_begin (int index, struct type *elttype) -{ - if (annotation_level > 1) - { - printf_filtered ("\n\032\032array-section-begin %d ", index); - print_value_flags (elttype); - printf_filtered ("\n"); - } -} - -void -annotate_elt_rep (unsigned int repcount) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032elt-rep %u\n", repcount); -} - -void -annotate_elt_rep_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032elt-rep-end\n"); -} - -void -annotate_elt (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032elt\n"); -} - -void -annotate_array_section_end (void) -{ - if (annotation_level > 1) - printf_filtered ("\n\032\032array-section-end\n"); -} - -static void -breakpoint_changed (struct breakpoint *b) -{ - breakpoints_changed (); -} - -void -_initialize_annotate (void) -{ - if (annotation_level > 1) - { - delete_breakpoint_hook = breakpoint_changed; - modify_breakpoint_hook = breakpoint_changed; - } -} diff --git a/gdb/annotate.h b/gdb/annotate.h deleted file mode 100644 index ac3cec8f94f..00000000000 --- a/gdb/annotate.h +++ /dev/null @@ -1,106 +0,0 @@ -/* Annotation routines for GDB. - Copyright 1986, 1989, 1990, 1991, 1992, 1994, 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. */ - -#include "symtab.h" -#include "gdbtypes.h" - -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; - -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/gdb/arc-tdep.c b/gdb/arc-tdep.c deleted file mode 100644 index 5c44915237e..00000000000 --- a/gdb/arc-tdep.c +++ /dev/null @@ -1,738 +0,0 @@ -// OBSOLETE /* ARC target-dependent stuff. -// OBSOLETE Copyright 1995, 1996, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of GDB. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2 of the License, or -// OBSOLETE (at your option) any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License -// OBSOLETE along with this program; if not, write to the Free Software -// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330, -// OBSOLETE Boston, MA 02111-1307, USA. */ -// OBSOLETE -// OBSOLETE #include "defs.h" -// OBSOLETE #include "frame.h" -// OBSOLETE #include "inferior.h" -// OBSOLETE #include "gdbcore.h" -// OBSOLETE #include "target.h" -// OBSOLETE #include "floatformat.h" -// OBSOLETE #include "symtab.h" -// OBSOLETE #include "gdbcmd.h" -// OBSOLETE #include "regcache.h" -// OBSOLETE #include "gdb_string.h" -// OBSOLETE -// OBSOLETE /* Local functions */ -// OBSOLETE -// OBSOLETE static int arc_set_cpu_type (char *str); -// OBSOLETE -// OBSOLETE /* Current CPU, set with the "set cpu" command. */ -// OBSOLETE static int arc_bfd_mach_type; -// OBSOLETE char *arc_cpu_type; -// OBSOLETE char *tmp_arc_cpu_type; -// OBSOLETE -// OBSOLETE /* Table of cpu names. */ -// OBSOLETE struct -// OBSOLETE { -// OBSOLETE char *name; -// OBSOLETE int value; -// OBSOLETE } -// OBSOLETE arc_cpu_type_table[] = -// OBSOLETE { -// OBSOLETE { "arc5", bfd_mach_arc_5 }, -// OBSOLETE { "arc6", bfd_mach_arc_6 }, -// OBSOLETE { "arc7", bfd_mach_arc_7 }, -// OBSOLETE { "arc8", bfd_mach_arc_8 }, -// OBSOLETE { NULL, 0 } -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* Used by simulator. */ -// OBSOLETE int display_pipeline_p; -// OBSOLETE int cpu_timer; -// OBSOLETE /* This one must have the same type as used in the emulator. -// OBSOLETE It's currently an enum so this should be ok for now. */ -// OBSOLETE int debug_pipeline_p; -// OBSOLETE -// OBSOLETE #define ARC_CALL_SAVED_REG(r) ((r) >= 16 && (r) < 24) -// OBSOLETE -// OBSOLETE #define OPMASK 0xf8000000 -// OBSOLETE -// OBSOLETE /* Instruction field accessor macros. -// OBSOLETE See the Programmer's Reference Manual. */ -// OBSOLETE #define X_OP(i) (((i) >> 27) & 0x1f) -// OBSOLETE #define X_A(i) (((i) >> 21) & 0x3f) -// OBSOLETE #define X_B(i) (((i) >> 15) & 0x3f) -// OBSOLETE #define X_C(i) (((i) >> 9) & 0x3f) -// OBSOLETE #define X_D(i) ((((i) & 0x1ff) ^ 0x100) - 0x100) -// OBSOLETE #define X_L(i) (((((i) >> 5) & 0x3ffffc) ^ 0x200000) - 0x200000) -// OBSOLETE #define X_N(i) (((i) >> 5) & 3) -// OBSOLETE #define X_Q(i) ((i) & 0x1f) -// OBSOLETE -// OBSOLETE /* Return non-zero if X is a short immediate data indicator. */ -// OBSOLETE #define SHIMM_P(x) ((x) == 61 || (x) == 63) -// OBSOLETE -// OBSOLETE /* Return non-zero if X is a "long" (32 bit) immediate data indicator. */ -// OBSOLETE #define LIMM_P(x) ((x) == 62) -// OBSOLETE -// OBSOLETE /* Build a simple instruction. */ -// OBSOLETE #define BUILD_INSN(op, a, b, c, d) \ -// OBSOLETE ((((op) & 31) << 27) \ -// OBSOLETE | (((a) & 63) << 21) \ -// OBSOLETE | (((b) & 63) << 15) \ -// OBSOLETE | (((c) & 63) << 9) \ -// OBSOLETE | ((d) & 511)) -// OBSOLETE -// OBSOLETE /* Codestream stuff. */ -// OBSOLETE static void codestream_read (unsigned int *, int); -// OBSOLETE static void codestream_seek (CORE_ADDR); -// OBSOLETE static unsigned int codestream_fill (int); -// OBSOLETE -// OBSOLETE #define CODESTREAM_BUFSIZ 16 -// OBSOLETE static CORE_ADDR codestream_next_addr; -// OBSOLETE static CORE_ADDR codestream_addr; -// OBSOLETE /* FIXME assumes sizeof (int) == 32? */ -// OBSOLETE static unsigned int codestream_buf[CODESTREAM_BUFSIZ]; -// OBSOLETE static int codestream_off; -// OBSOLETE static int codestream_cnt; -// OBSOLETE -// OBSOLETE #define codestream_tell() \ -// OBSOLETE (codestream_addr + codestream_off * sizeof (codestream_buf[0])) -// OBSOLETE #define codestream_peek() \ -// OBSOLETE (codestream_cnt == 0 \ -// OBSOLETE ? codestream_fill (1) \ -// OBSOLETE : codestream_buf[codestream_off]) -// OBSOLETE #define codestream_get() \ -// OBSOLETE (codestream_cnt-- == 0 \ -// OBSOLETE ? codestream_fill (0) \ -// OBSOLETE : codestream_buf[codestream_off++]) -// OBSOLETE -// OBSOLETE static unsigned int -// OBSOLETE codestream_fill (int peek_flag) -// OBSOLETE { -// OBSOLETE codestream_addr = codestream_next_addr; -// OBSOLETE codestream_next_addr += CODESTREAM_BUFSIZ * sizeof (codestream_buf[0]); -// OBSOLETE codestream_off = 0; -// OBSOLETE codestream_cnt = CODESTREAM_BUFSIZ; -// OBSOLETE read_memory (codestream_addr, (char *) codestream_buf, -// OBSOLETE CODESTREAM_BUFSIZ * sizeof (codestream_buf[0])); -// OBSOLETE /* FIXME: check return code? */ -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Handle byte order differences -> convert to host byte ordering. */ -// OBSOLETE { -// OBSOLETE int i; -// OBSOLETE for (i = 0; i < CODESTREAM_BUFSIZ; i++) -// OBSOLETE codestream_buf[i] = -// OBSOLETE extract_unsigned_integer (&codestream_buf[i], -// OBSOLETE sizeof (codestream_buf[i])); -// OBSOLETE } -// OBSOLETE -// OBSOLETE if (peek_flag) -// OBSOLETE return codestream_peek (); -// OBSOLETE else -// OBSOLETE return codestream_get (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE static void -// OBSOLETE codestream_seek (CORE_ADDR place) -// OBSOLETE { -// OBSOLETE codestream_next_addr = place / CODESTREAM_BUFSIZ; -// OBSOLETE codestream_next_addr *= CODESTREAM_BUFSIZ; -// OBSOLETE codestream_cnt = 0; -// OBSOLETE codestream_fill (1); -// OBSOLETE while (codestream_tell () != place) -// OBSOLETE codestream_get (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* This function is currently unused but leave in for now. */ -// OBSOLETE -// OBSOLETE static void -// OBSOLETE codestream_read (unsigned int *buf, int count) -// OBSOLETE { -// OBSOLETE unsigned int *p; -// OBSOLETE int i; -// OBSOLETE p = buf; -// OBSOLETE for (i = 0; i < count; i++) -// OBSOLETE *p++ = codestream_get (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set up prologue scanning and return the first insn. */ -// OBSOLETE -// OBSOLETE static unsigned int -// OBSOLETE setup_prologue_scan (CORE_ADDR pc) -// OBSOLETE { -// OBSOLETE unsigned int insn; -// OBSOLETE -// OBSOLETE codestream_seek (pc); -// OBSOLETE insn = codestream_get (); -// OBSOLETE -// OBSOLETE return insn; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* -// OBSOLETE * Find & return amount a local space allocated, and advance codestream to -// OBSOLETE * first register push (if any). -// OBSOLETE * If entry sequence doesn't make sense, return -1, and leave -// OBSOLETE * codestream pointer random. -// OBSOLETE */ -// OBSOLETE -// OBSOLETE static long -// OBSOLETE arc_get_frame_setup (CORE_ADDR pc) -// OBSOLETE { -// OBSOLETE unsigned int insn; -// OBSOLETE /* Size of frame or -1 if unrecognizable prologue. */ -// OBSOLETE int frame_size = -1; -// OBSOLETE /* An initial "sub sp,sp,N" may or may not be for a stdarg fn. */ -// OBSOLETE int maybe_stdarg_decr = -1; -// OBSOLETE -// OBSOLETE insn = setup_prologue_scan (pc); -// OBSOLETE -// OBSOLETE /* The authority for what appears here is the home-grown ABI. -// OBSOLETE The most recent version is 1.2. */ -// OBSOLETE -// OBSOLETE /* First insn may be "sub sp,sp,N" if stdarg fn. */ -// OBSOLETE if ((insn & BUILD_INSN (-1, -1, -1, -1, 0)) -// OBSOLETE == BUILD_INSN (10, SP_REGNUM, SP_REGNUM, SHIMM_REGNUM, 0)) -// OBSOLETE { -// OBSOLETE maybe_stdarg_decr = X_D (insn); -// OBSOLETE insn = codestream_get (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE if ((insn & BUILD_INSN (-1, 0, -1, -1, -1)) /* st blink,[sp,4] */ -// OBSOLETE == BUILD_INSN (2, 0, SP_REGNUM, BLINK_REGNUM, 4)) -// OBSOLETE { -// OBSOLETE insn = codestream_get (); -// OBSOLETE /* Frame may not be necessary, even though blink is saved. -// OBSOLETE At least this is something we recognize. */ -// OBSOLETE frame_size = 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE if ((insn & BUILD_INSN (-1, 0, -1, -1, -1)) /* st fp,[sp] */ -// OBSOLETE == BUILD_INSN (2, 0, SP_REGNUM, FP_REGNUM, 0)) -// OBSOLETE { -// OBSOLETE insn = codestream_get (); -// OBSOLETE if ((insn & BUILD_INSN (-1, -1, -1, -1, 0)) -// OBSOLETE != BUILD_INSN (12, FP_REGNUM, SP_REGNUM, SP_REGNUM, 0)) -// OBSOLETE return -1; -// OBSOLETE -// OBSOLETE /* Check for stack adjustment sub sp,sp,N. */ -// OBSOLETE insn = codestream_peek (); -// OBSOLETE if ((insn & BUILD_INSN (-1, -1, -1, 0, 0)) -// OBSOLETE == BUILD_INSN (10, SP_REGNUM, SP_REGNUM, 0, 0)) -// OBSOLETE { -// OBSOLETE if (LIMM_P (X_C (insn))) -// OBSOLETE frame_size = codestream_get (); -// OBSOLETE else if (SHIMM_P (X_C (insn))) -// OBSOLETE frame_size = X_D (insn); -// OBSOLETE else -// OBSOLETE return -1; -// OBSOLETE if (frame_size < 0) -// OBSOLETE return -1; -// OBSOLETE -// OBSOLETE codestream_get (); -// OBSOLETE -// OBSOLETE /* This sequence is used to get the address of the return -// OBSOLETE buffer for a function that returns a structure. */ -// OBSOLETE insn = codestream_peek (); -// OBSOLETE if ((insn & OPMASK) == 0x60000000) -// OBSOLETE codestream_get (); -// OBSOLETE } -// OBSOLETE /* Frameless fn. */ -// OBSOLETE else -// OBSOLETE { -// OBSOLETE frame_size = 0; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* If we found a "sub sp,sp,N" and nothing else, it may or may not be a -// OBSOLETE stdarg fn. The stdarg decrement is not treated as part of the frame size, -// OBSOLETE so we have a dilemma: what do we return? For now, if we get a -// OBSOLETE "sub sp,sp,N" and nothing else assume this isn't a stdarg fn. One way -// OBSOLETE to fix this completely would be to add a bit to the function descriptor -// OBSOLETE that says the function is a stdarg function. */ -// OBSOLETE -// OBSOLETE if (frame_size < 0 && maybe_stdarg_decr > 0) -// OBSOLETE return maybe_stdarg_decr; -// OBSOLETE return frame_size; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Given a pc value, skip it forward past the function prologue by -// OBSOLETE disassembling instructions that appear to be a prologue. -// OBSOLETE -// OBSOLETE If FRAMELESS_P is set, we are only testing to see if the function -// OBSOLETE is frameless. If it is a frameless function, return PC unchanged. -// OBSOLETE This allows a quicker answer. */ -// OBSOLETE -// OBSOLETE CORE_ADDR -// OBSOLETE arc_skip_prologue (CORE_ADDR pc, int frameless_p) -// OBSOLETE { -// OBSOLETE unsigned int insn; -// OBSOLETE int i, frame_size; -// OBSOLETE -// OBSOLETE if ((frame_size = arc_get_frame_setup (pc)) < 0) -// OBSOLETE return (pc); -// OBSOLETE -// OBSOLETE if (frameless_p) -// OBSOLETE return frame_size == 0 ? pc : codestream_tell (); -// OBSOLETE -// OBSOLETE /* Skip over register saves. */ -// OBSOLETE for (i = 0; i < 8; i++) -// OBSOLETE { -// OBSOLETE insn = codestream_peek (); -// OBSOLETE if ((insn & BUILD_INSN (-1, 0, -1, 0, 0)) -// OBSOLETE != BUILD_INSN (2, 0, SP_REGNUM, 0, 0)) -// OBSOLETE break; /* not st insn */ -// OBSOLETE if (!ARC_CALL_SAVED_REG (X_C (insn))) -// OBSOLETE break; -// OBSOLETE codestream_get (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return codestream_tell (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Is the prologue at PC frameless? */ -// OBSOLETE -// OBSOLETE int -// OBSOLETE arc_prologue_frameless_p (CORE_ADDR pc) -// OBSOLETE { -// OBSOLETE return (pc == arc_skip_prologue (pc, 1)); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Return the return address for a frame. -// OBSOLETE This is used to implement FRAME_SAVED_PC. -// OBSOLETE This is taken from frameless_look_for_prologue. */ -// OBSOLETE -// OBSOLETE CORE_ADDR -// OBSOLETE arc_frame_saved_pc (struct frame_info *frame) -// OBSOLETE { -// OBSOLETE CORE_ADDR func_start; -// OBSOLETE unsigned int insn; -// OBSOLETE -// OBSOLETE func_start = get_pc_function_start (frame->pc) + FUNCTION_START_OFFSET; -// OBSOLETE if (func_start == 0) -// OBSOLETE { -// OBSOLETE /* Best guess. */ -// OBSOLETE return ARC_PC_TO_REAL_ADDRESS (read_memory_integer (FRAME_FP (frame) + 4, 4)); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* The authority for what appears here is the home-grown ABI. -// OBSOLETE The most recent version is 1.2. */ -// OBSOLETE -// OBSOLETE insn = setup_prologue_scan (func_start); -// OBSOLETE -// OBSOLETE /* First insn may be "sub sp,sp,N" if stdarg fn. */ -// OBSOLETE if ((insn & BUILD_INSN (-1, -1, -1, -1, 0)) -// OBSOLETE == BUILD_INSN (10, SP_REGNUM, SP_REGNUM, SHIMM_REGNUM, 0)) -// OBSOLETE insn = codestream_get (); -// OBSOLETE -// OBSOLETE /* If the next insn is "st blink,[sp,4]" we can get blink from there. -// OBSOLETE Otherwise this is a leaf function and we can use blink. Note that -// OBSOLETE this still allows for the case where a leaf function saves/clobbers/ -// OBSOLETE restores blink. */ -// OBSOLETE -// OBSOLETE if ((insn & BUILD_INSN (-1, 0, -1, -1, -1)) /* st blink,[sp,4] */ -// OBSOLETE != BUILD_INSN (2, 0, SP_REGNUM, BLINK_REGNUM, 4)) -// OBSOLETE return ARC_PC_TO_REAL_ADDRESS (read_register (BLINK_REGNUM)); -// OBSOLETE else -// OBSOLETE return ARC_PC_TO_REAL_ADDRESS (read_memory_integer (FRAME_FP (frame) + 4, 4)); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* -// OBSOLETE * Parse the first few instructions of the function to see -// OBSOLETE * what registers were stored. -// OBSOLETE * -// OBSOLETE * The startup sequence can be at the start of the function. -// OBSOLETE * 'st blink,[sp+4], st fp,[sp], mov fp,sp' -// OBSOLETE * -// OBSOLETE * Local space is allocated just below by sub sp,sp,nnn. -// OBSOLETE * Next, the registers used by this function are stored (as offsets from sp). -// OBSOLETE */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE frame_find_saved_regs (struct frame_info *fip, struct frame_saved_regs *fsrp) -// OBSOLETE { -// OBSOLETE long locals; -// OBSOLETE unsigned int insn; -// OBSOLETE CORE_ADDR dummy_bottom; -// OBSOLETE CORE_ADDR adr; -// OBSOLETE int i, regnum, offset; -// OBSOLETE -// OBSOLETE memset (fsrp, 0, sizeof *fsrp); -// OBSOLETE -// OBSOLETE /* If frame is the end of a dummy, compute where the beginning would be. */ -// OBSOLETE dummy_bottom = fip->frame - 4 - REGISTER_BYTES - CALL_DUMMY_LENGTH; -// OBSOLETE -// OBSOLETE /* Check if the PC is in the stack, in a dummy frame. */ -// OBSOLETE if (dummy_bottom <= fip->pc && fip->pc <= fip->frame) -// OBSOLETE { -// OBSOLETE /* all regs were saved by push_call_dummy () */ -// OBSOLETE adr = fip->frame; -// OBSOLETE for (i = 0; i < NUM_REGS; i++) -// OBSOLETE { -// OBSOLETE adr -= REGISTER_RAW_SIZE (i); -// OBSOLETE fsrp->regs[i] = adr; -// OBSOLETE } -// OBSOLETE return; -// OBSOLETE } -// OBSOLETE -// OBSOLETE locals = arc_get_frame_setup (get_pc_function_start (fip->pc)); -// OBSOLETE -// OBSOLETE if (locals >= 0) -// OBSOLETE { -// OBSOLETE /* Set `adr' to the value of `sp'. */ -// OBSOLETE adr = fip->frame - locals; -// OBSOLETE for (i = 0; i < 8; i++) -// OBSOLETE { -// OBSOLETE insn = codestream_get (); -// OBSOLETE if ((insn & BUILD_INSN (-1, 0, -1, 0, 0)) -// OBSOLETE != BUILD_INSN (2, 0, SP_REGNUM, 0, 0)) -// OBSOLETE break; -// OBSOLETE regnum = X_C (insn); -// OBSOLETE offset = X_D (insn); -// OBSOLETE fsrp->regs[regnum] = adr + offset; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE fsrp->regs[PC_REGNUM] = fip->frame + 4; -// OBSOLETE fsrp->regs[FP_REGNUM] = fip->frame; -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE arc_push_dummy_frame (void) -// OBSOLETE { -// OBSOLETE CORE_ADDR sp = read_register (SP_REGNUM); -// OBSOLETE int regnum; -// OBSOLETE char regbuf[MAX_REGISTER_RAW_SIZE]; -// OBSOLETE -// OBSOLETE read_register_gen (PC_REGNUM, regbuf); -// OBSOLETE write_memory (sp + 4, regbuf, REGISTER_SIZE); -// OBSOLETE read_register_gen (FP_REGNUM, regbuf); -// OBSOLETE write_memory (sp, regbuf, REGISTER_SIZE); -// OBSOLETE write_register (FP_REGNUM, sp); -// OBSOLETE for (regnum = 0; regnum < NUM_REGS; regnum++) -// OBSOLETE { -// OBSOLETE read_register_gen (regnum, regbuf); -// OBSOLETE sp = push_bytes (sp, regbuf, REGISTER_RAW_SIZE (regnum)); -// OBSOLETE } -// OBSOLETE sp += (2 * REGISTER_SIZE); -// OBSOLETE write_register (SP_REGNUM, sp); -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE arc_pop_frame (void) -// OBSOLETE { -// OBSOLETE struct frame_info *frame = get_current_frame (); -// OBSOLETE CORE_ADDR fp; -// OBSOLETE int regnum; -// OBSOLETE struct frame_saved_regs fsr; -// OBSOLETE char regbuf[MAX_REGISTER_RAW_SIZE]; -// OBSOLETE -// OBSOLETE fp = FRAME_FP (frame); -// OBSOLETE get_frame_saved_regs (frame, &fsr); -// OBSOLETE for (regnum = 0; regnum < NUM_REGS; regnum++) -// OBSOLETE { -// OBSOLETE CORE_ADDR adr; -// OBSOLETE adr = fsr.regs[regnum]; -// OBSOLETE if (adr) -// OBSOLETE { -// OBSOLETE read_memory (adr, regbuf, REGISTER_RAW_SIZE (regnum)); -// OBSOLETE write_register_bytes (REGISTER_BYTE (regnum), regbuf, -// OBSOLETE REGISTER_RAW_SIZE (regnum)); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE write_register (FP_REGNUM, read_memory_integer (fp, 4)); -// OBSOLETE write_register (PC_REGNUM, read_memory_integer (fp + 4, 4)); -// OBSOLETE write_register (SP_REGNUM, fp + 8); -// OBSOLETE flush_cached_frames (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Simulate single-step. */ -// OBSOLETE -// OBSOLETE typedef enum -// OBSOLETE { -// OBSOLETE NORMAL4, /* a normal 4 byte insn */ -// OBSOLETE NORMAL8, /* a normal 8 byte insn */ -// OBSOLETE BRANCH4, /* a 4 byte branch insn, including ones without delay slots */ -// OBSOLETE BRANCH8, /* an 8 byte branch insn, including ones with delay slots */ -// OBSOLETE } -// OBSOLETE insn_type; -// OBSOLETE -// OBSOLETE /* Return the type of INSN and store in TARGET the destination address of a -// OBSOLETE branch if this is one. */ -// OBSOLETE /* ??? Need to verify all cases are properly handled. */ -// OBSOLETE -// OBSOLETE static insn_type -// OBSOLETE get_insn_type (unsigned long insn, CORE_ADDR pc, CORE_ADDR *target) -// OBSOLETE { -// OBSOLETE unsigned long limm; -// OBSOLETE -// OBSOLETE switch (insn >> 27) -// OBSOLETE { -// OBSOLETE case 0: -// OBSOLETE case 1: -// OBSOLETE case 2: /* load/store insns */ -// OBSOLETE if (LIMM_P (X_A (insn)) -// OBSOLETE || LIMM_P (X_B (insn)) -// OBSOLETE || LIMM_P (X_C (insn))) -// OBSOLETE return NORMAL8; -// OBSOLETE return NORMAL4; -// OBSOLETE case 4: -// OBSOLETE case 5: -// OBSOLETE case 6: /* branch insns */ -// OBSOLETE *target = pc + 4 + X_L (insn); -// OBSOLETE /* ??? It isn't clear that this is always the right answer. -// OBSOLETE The problem occurs when the next insn is an 8 byte insn. If the -// OBSOLETE branch is conditional there's no worry as there shouldn't be an 8 -// OBSOLETE byte insn following. The programmer may be cheating if s/he knows -// OBSOLETE the branch will never be taken, but we don't deal with that. -// OBSOLETE Note that the programmer is also allowed to play games by putting -// OBSOLETE an insn with long immediate data in the delay slot and then duplicate -// OBSOLETE the long immediate data at the branch target. Ugh! */ -// OBSOLETE if (X_N (insn) == 0) -// OBSOLETE return BRANCH4; -// OBSOLETE return BRANCH8; -// OBSOLETE case 7: /* jump insns */ -// OBSOLETE if (LIMM_P (X_B (insn))) -// OBSOLETE { -// OBSOLETE limm = read_memory_integer (pc + 4, 4); -// OBSOLETE *target = ARC_PC_TO_REAL_ADDRESS (limm); -// OBSOLETE return BRANCH8; -// OBSOLETE } -// OBSOLETE if (SHIMM_P (X_B (insn))) -// OBSOLETE *target = ARC_PC_TO_REAL_ADDRESS (X_D (insn)); -// OBSOLETE else -// OBSOLETE *target = ARC_PC_TO_REAL_ADDRESS (read_register (X_B (insn))); -// OBSOLETE if (X_Q (insn) == 0 && X_N (insn) == 0) -// OBSOLETE return BRANCH4; -// OBSOLETE return BRANCH8; -// OBSOLETE default: /* arithmetic insns, etc. */ -// OBSOLETE if (LIMM_P (X_A (insn)) -// OBSOLETE || LIMM_P (X_B (insn)) -// OBSOLETE || LIMM_P (X_C (insn))) -// OBSOLETE return NORMAL8; -// OBSOLETE return NORMAL4; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* single_step() is called just before we want to resume the inferior, if we -// OBSOLETE want to single-step it but there is no hardware or kernel single-step -// OBSOLETE support. We find all the possible targets of the coming instruction and -// OBSOLETE breakpoint them. -// OBSOLETE -// OBSOLETE single_step is also called just after the inferior stops. If we had -// OBSOLETE set up a simulated single-step, we undo our damage. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE arc_software_single_step (enum target_signal ignore, /* sig but we don't need it */ -// OBSOLETE int insert_breakpoints_p) -// OBSOLETE { -// OBSOLETE static CORE_ADDR next_pc, target; -// OBSOLETE static int brktrg_p; -// OBSOLETE typedef char binsn_quantum[BREAKPOINT_MAX]; -// OBSOLETE static binsn_quantum break_mem[2]; -// OBSOLETE -// OBSOLETE if (insert_breakpoints_p) -// OBSOLETE { -// OBSOLETE insn_type type; -// OBSOLETE CORE_ADDR pc; -// OBSOLETE unsigned long insn; -// OBSOLETE -// OBSOLETE pc = read_register (PC_REGNUM); -// OBSOLETE insn = read_memory_integer (pc, 4); -// OBSOLETE type = get_insn_type (insn, pc, &target); -// OBSOLETE -// OBSOLETE /* Always set a breakpoint for the insn after the branch. */ -// OBSOLETE next_pc = pc + ((type == NORMAL8 || type == BRANCH8) ? 8 : 4); -// OBSOLETE target_insert_breakpoint (next_pc, break_mem[0]); -// OBSOLETE -// OBSOLETE brktrg_p = 0; -// OBSOLETE -// OBSOLETE if ((type == BRANCH4 || type == BRANCH8) -// OBSOLETE /* Watch out for branches to the following location. -// OBSOLETE We just stored a breakpoint there and another call to -// OBSOLETE target_insert_breakpoint will think the real insn is the -// OBSOLETE breakpoint we just stored there. */ -// OBSOLETE && target != next_pc) -// OBSOLETE { -// OBSOLETE brktrg_p = 1; -// OBSOLETE target_insert_breakpoint (target, break_mem[1]); -// OBSOLETE } -// OBSOLETE -// OBSOLETE } -// OBSOLETE else -// OBSOLETE { -// OBSOLETE /* Remove breakpoints. */ -// OBSOLETE target_remove_breakpoint (next_pc, break_mem[0]); -// OBSOLETE -// OBSOLETE if (brktrg_p) -// OBSOLETE target_remove_breakpoint (target, break_mem[1]); -// OBSOLETE -// OBSOLETE /* Fix the pc. */ -// OBSOLETE stop_pc -= DECR_PC_AFTER_BREAK; -// OBSOLETE write_pc (stop_pc); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Because of Multi-arch, GET_LONGJMP_TARGET is always defined. So test -// OBSOLETE for a definition of JB_PC. */ -// OBSOLETE #ifdef JB_PC -// OBSOLETE /* Figure out where the longjmp will land. Slurp the args out of the stack. -// OBSOLETE We expect the first arg to be a pointer to the jmp_buf structure from which -// OBSOLETE we extract the pc (JB_PC) that we will land at. The pc is copied into PC. -// OBSOLETE This routine returns true on success. */ -// OBSOLETE -// OBSOLETE int -// OBSOLETE get_longjmp_target (CORE_ADDR *pc) -// OBSOLETE { -// OBSOLETE char buf[TARGET_PTR_BIT / TARGET_CHAR_BIT]; -// OBSOLETE CORE_ADDR sp, jb_addr; -// OBSOLETE -// OBSOLETE sp = read_register (SP_REGNUM); -// OBSOLETE -// OBSOLETE if (target_read_memory (sp + SP_ARG0, /* Offset of first arg on stack */ -// OBSOLETE buf, -// OBSOLETE TARGET_PTR_BIT / TARGET_CHAR_BIT)) -// OBSOLETE return 0; -// OBSOLETE -// OBSOLETE jb_addr = extract_address (buf, TARGET_PTR_BIT / TARGET_CHAR_BIT); -// OBSOLETE -// OBSOLETE if (target_read_memory (jb_addr + JB_PC * JB_ELEMENT_SIZE, buf, -// OBSOLETE TARGET_PTR_BIT / TARGET_CHAR_BIT)) -// OBSOLETE return 0; -// OBSOLETE -// OBSOLETE *pc = extract_address (buf, TARGET_PTR_BIT / TARGET_CHAR_BIT); -// OBSOLETE -// OBSOLETE return 1; -// OBSOLETE } -// OBSOLETE #endif /* GET_LONGJMP_TARGET */ -// OBSOLETE -// OBSOLETE /* Disassemble one instruction. */ -// OBSOLETE -// OBSOLETE static int -// OBSOLETE arc_print_insn (bfd_vma vma, disassemble_info *info) -// OBSOLETE { -// OBSOLETE static int current_mach; -// OBSOLETE static int current_endian; -// OBSOLETE static disassembler_ftype current_disasm; -// OBSOLETE -// OBSOLETE if (current_disasm == NULL -// OBSOLETE || arc_bfd_mach_type != current_mach -// OBSOLETE || TARGET_BYTE_ORDER != current_endian) -// OBSOLETE { -// OBSOLETE current_mach = arc_bfd_mach_type; -// OBSOLETE current_endian = TARGET_BYTE_ORDER; -// OBSOLETE current_disasm = arc_get_disassembler (NULL); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return (*current_disasm) (vma, info); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Command to set cpu type. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE arc_set_cpu_type_command (char *args, int from_tty) -// OBSOLETE { -// OBSOLETE int i; -// OBSOLETE -// OBSOLETE if (tmp_arc_cpu_type == NULL || *tmp_arc_cpu_type == '\0') -// OBSOLETE { -// OBSOLETE printf_unfiltered ("The known ARC cpu types are as follows:\n"); -// OBSOLETE for (i = 0; arc_cpu_type_table[i].name != NULL; ++i) -// OBSOLETE printf_unfiltered ("%s\n", arc_cpu_type_table[i].name); -// OBSOLETE -// OBSOLETE /* Restore the value. */ -// OBSOLETE tmp_arc_cpu_type = xstrdup (arc_cpu_type); -// OBSOLETE -// OBSOLETE return; -// OBSOLETE } -// OBSOLETE -// OBSOLETE if (!arc_set_cpu_type (tmp_arc_cpu_type)) -// OBSOLETE { -// OBSOLETE error ("Unknown cpu type `%s'.", tmp_arc_cpu_type); -// OBSOLETE /* Restore its value. */ -// OBSOLETE tmp_arc_cpu_type = xstrdup (arc_cpu_type); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE static void -// OBSOLETE arc_show_cpu_type_command (char *args, int from_tty) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Modify the actual cpu type. -// OBSOLETE Result is a boolean indicating success. */ -// OBSOLETE -// OBSOLETE static int -// OBSOLETE arc_set_cpu_type (char *str) -// OBSOLETE { -// OBSOLETE int i, j; -// OBSOLETE -// OBSOLETE if (str == NULL) -// OBSOLETE return 0; -// OBSOLETE -// OBSOLETE for (i = 0; arc_cpu_type_table[i].name != NULL; ++i) -// OBSOLETE { -// OBSOLETE if (strcasecmp (str, arc_cpu_type_table[i].name) == 0) -// OBSOLETE { -// OBSOLETE arc_cpu_type = str; -// OBSOLETE arc_bfd_mach_type = arc_cpu_type_table[i].value; -// OBSOLETE return 1; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE _initialize_arc_tdep (void) -// OBSOLETE { -// OBSOLETE struct cmd_list_element *c; -// OBSOLETE -// OBSOLETE c = add_set_cmd ("cpu", class_support, var_string_noescape, -// OBSOLETE (char *) &tmp_arc_cpu_type, -// OBSOLETE "Set the type of ARC cpu in use.\n\ -// OBSOLETE This command has two purposes. In a multi-cpu system it lets one\n\ -// OBSOLETE change the cpu being debugged. It also gives one access to\n\ -// OBSOLETE cpu-type-specific registers and recognize cpu-type-specific instructions.\ -// OBSOLETE ", -// OBSOLETE &setlist); -// OBSOLETE set_cmd_cfunc (c, arc_set_cpu_type_command); -// OBSOLETE c = add_show_from_set (c, &showlist); -// OBSOLETE set_cmd_cfunc (c, arc_show_cpu_type_command); -// OBSOLETE -// OBSOLETE /* We have to use xstrdup() here because the `set' command frees it -// OBSOLETE before setting a new value. */ -// OBSOLETE tmp_arc_cpu_type = xstrdup (DEFAULT_ARC_CPU_TYPE); -// OBSOLETE arc_set_cpu_type (tmp_arc_cpu_type); -// OBSOLETE -// OBSOLETE c = add_set_cmd ("displaypipeline", class_support, var_zinteger, -// OBSOLETE (char *) &display_pipeline_p, -// OBSOLETE "Set pipeline display (simulator only).\n\ -// OBSOLETE When enabled, the state of the pipeline after each cycle is displayed.", -// OBSOLETE &setlist); -// OBSOLETE c = add_show_from_set (c, &showlist); -// OBSOLETE -// OBSOLETE c = add_set_cmd ("debugpipeline", class_support, var_zinteger, -// OBSOLETE (char *) &debug_pipeline_p, -// OBSOLETE "Set pipeline debug display (simulator only).\n\ -// OBSOLETE When enabled, debugging information about the pipeline is displayed.", -// OBSOLETE &setlist); -// OBSOLETE c = add_show_from_set (c, &showlist); -// OBSOLETE -// OBSOLETE c = add_set_cmd ("cputimer", class_support, var_zinteger, -// OBSOLETE (char *) &cpu_timer, -// OBSOLETE "Set maximum cycle count (simulator only).\n\ -// OBSOLETE Control will return to gdb if the timer expires.\n\ -// OBSOLETE A negative value disables the timer.", -// OBSOLETE &setlist); -// OBSOLETE c = add_show_from_set (c, &showlist); -// OBSOLETE -// OBSOLETE tm_print_insn = arc_print_insn; -// OBSOLETE } diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c deleted file mode 100644 index ecdecaf9a1a..00000000000 --- a/gdb/arch-utils.c +++ /dev/null @@ -1,933 +0,0 @@ -/* Dynamic architecture support for GDB, the GNU debugger. - - Copyright 1998, 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" - -#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 "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 "gdb_string.h" -#include "regcache.h" -#include "gdb_assert.h" -#include "sim-regno.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. */ - -const 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; -} - -/* Implementation of extract return value that grubs around in the - register cache. */ -void -legacy_extract_return_value (struct type *type, struct regcache *regcache, - void *valbuf) -{ - char *registers = deprecated_grub_regcache_for_registers (regcache); - bfd_byte *buf = valbuf; - DEPRECATED_EXTRACT_RETURN_VALUE (type, registers, buf); -} - -/* Implementation of store return value that grubs the register cache. - Takes a local copy of the buffer to avoid const problems. */ -void -legacy_store_return_value (struct type *type, struct regcache *regcache, - const void *buf) -{ - bfd_byte *b = alloca (TYPE_LENGTH (type)); - gdb_assert (regcache == current_regcache); - memcpy (b, buf, TYPE_LENGTH (type)); - DEPRECATED_STORE_RETURN_VALUE (type, b); -} - - -int -legacy_register_sim_regno (int regnum) -{ - /* Only makes sense to supply raw registers. */ - gdb_assert (regnum >= 0 && regnum < NUM_REGS); - /* NOTE: cagney/2002-05-13: The old code did it this way and it is - suspected that some GDB/SIM combinations may rely on this - behavour. The default should be one2one_register_sim_regno - (below). */ - if (REGISTER_NAME (regnum) != NULL - && REGISTER_NAME (regnum)[0] != '\0') - return regnum; - else - return LEGACY_SIM_REGNO_IGNORE; -} - -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_solib_return_trampoline (CORE_ADDR pc, char *name) -{ - return 0; -} - -int -generic_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc) -{ - return 0; -} - -const 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) -{ - return ip == SKIP_PROLOGUE (ip); -} - -/* 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"); - } -} - -/* 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; -} - -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 ()); - } - /* 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 sane, every register's virtual and real size - is identical. */ - -int -generic_register_size (int regnum) -{ - gdb_assert (regnum >= 0 && regnum < NUM_REGS + NUM_PSEUDO_REGS); - return TYPE_LENGTH (REGISTER_VIRTUAL_TYPE (regnum)); -} - -#if !defined (IN_SIGTRAMP) -#if defined (SIGTRAMP_START) -#define IN_SIGTRAMP(pc, name) \ - ((pc) >= SIGTRAMP_START(pc) \ - && (pc) < SIGTRAMP_END(pc) \ - ) -#else -#define IN_SIGTRAMP(pc, name) \ - (name && STREQ ("_sigtramp", name)) -#endif -#endif - -/* Assume all registers are adjacent. */ - -int -generic_register_byte (int regnum) -{ - int byte; - int i; - gdb_assert (regnum >= 0 && regnum < NUM_REGS + NUM_PSEUDO_REGS); - byte = 0; - for (i = 0; i < regnum; i++) - { - byte += TYPE_LENGTH (REGISTER_VIRTUAL_TYPE (i)); - } - return byte; -} - - -int -legacy_pc_in_sigtramp (CORE_ADDR pc, char *name) -{ - return IN_SIGTRAMP(pc, name); -} - -int -legacy_convert_register_p (int regnum) -{ - return REGISTER_CONVERTIBLE (regnum); -} - -void -legacy_register_to_value (int regnum, struct type *type, - char *from, char *to) -{ - REGISTER_CONVERT_TO_VIRTUAL (regnum, type, from, to); -} - -void -legacy_value_to_register (struct type *type, int regnum, - char *from, char *to) -{ - REGISTER_CONVERT_TO_RAW (type, regnum, from, to); -} - - -/* 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/gdb/arch-utils.h b/gdb/arch-utils.h deleted file mode 100644 index 91aa2f89f5c..00000000000 --- a/gdb/arch-utils.h +++ /dev/null @@ -1,184 +0,0 @@ -/* Dynamic architecture support for GDB, the GNU debugger. - - Copyright 1998, 1999, 2000, 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. */ - -#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; - -/* Implementation of extract return value that grubs around in the - register cache. */ -extern gdbarch_extract_return_value_ftype legacy_extract_return_value; - -/* Implementation of store return value that grubs the register cache. */ -extern gdbarch_store_return_value_ftype legacy_store_return_value; - -/* 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 const 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 *); - -/* 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_solib_return_trampoline (CORE_ADDR pc, char *name); - -extern int generic_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc); - -/* Assume that the world is sane, a registers raw and virtual size - both match its type. */ - -extern int generic_register_size (int regnum); - -/* Assume that the world is sane, the registers are all adjacent. */ -extern int generic_register_byte (int regnum); - -/* Prop up old targets that use various IN_SIGTRAMP() macros. */ -extern int legacy_pc_in_sigtramp (CORE_ADDR pc, char *name); - -/* The orginal register_convert*() functions were overloaded. They - were used to both: convert between virtual and raw register formats - (something that is discouraged); and to convert a register to the - type of a corresponding variable. These legacy functions preserve - that overloaded behavour in existing targets. */ -extern int legacy_convert_register_p (int regnum); -extern void legacy_register_to_value (int regnum, struct type *type, char *from, char *to); -extern void legacy_value_to_register (struct type *type, int regnum, char *from, char *to); - -/* For compatibility with older architectures, returns - (LEGACY_SIM_REGNO_IGNORE) when the register doesn't have a valid - name. */ - -extern int legacy_register_sim_regno (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/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c deleted file mode 100644 index 8d7ee9de277..00000000000 --- a/gdb/arm-linux-nat.c +++ /dev/null @@ -1,698 +0,0 @@ -/* 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/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c deleted file mode 100644 index cb930b64068..00000000000 --- a/gdb/arm-linux-tdep.c +++ /dev/null @@ -1,547 +0,0 @@ -/* 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 ARM_LINUX_JB_ELEMENT_SIZE INT_REGISTER_RAW_SIZE -#define ARM_LINUX_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 = ARM_LINUX_JB_PC; - tdep->jb_elt_size = ARM_LINUX_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_deprecated_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) -{ - gdbarch_register_osabi (bfd_arch_arm, GDB_OSABI_LINUX, arm_linux_init_abi); -} diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c deleted file mode 100644 index b896b688650..00000000000 --- a/gdb/arm-tdep.c +++ /dev/null @@ -1,3136 +0,0 @@ -/* Common target dependent code for GDB on ARM systems. - Copyright 1988, 1989, 1991, 1992, 1993, 1995, 1996, 1998, 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 /* XXX for isupper () */ - -#include "defs.h" -#include "frame.h" -#include "inferior.h" -#include "gdbcmd.h" -#include "gdbcore.h" -#include "symfile.h" -#include "gdb_string.h" -#include "dis-asm.h" /* For register flavors. */ -#include "regcache.h" -#include "doublest.h" -#include "value.h" -#include "arch-utils.h" -#include "solib-svr4.h" - -#include "arm-tdep.h" -#include "gdb/sim-arm.h" - -#include "elf-bfd.h" -#include "coff/internal.h" -#include "elf/arm.h" - -#include "gdb_assert.h" - -static int arm_debug; - -/* 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) - -/* Number of different reg name sets (options). */ -static int num_flavor_options; - -/* We have more registers than the disassembler as gdb can print the value - of special registers as well. - The general register names are overwritten by whatever is being used by - the disassembler at the moment. We also adjust the case of cpsr and fps. */ - -/* Initial value: Register names used in ARM's ISA documentation. */ -static char * arm_register_name_strings[] = -{"r0", "r1", "r2", "r3", /* 0 1 2 3 */ - "r4", "r5", "r6", "r7", /* 4 5 6 7 */ - "r8", "r9", "r10", "r11", /* 8 9 10 11 */ - "r12", "sp", "lr", "pc", /* 12 13 14 15 */ - "f0", "f1", "f2", "f3", /* 16 17 18 19 */ - "f4", "f5", "f6", "f7", /* 20 21 22 23 */ - "fps", "cpsr" }; /* 24 25 */ -static char **arm_register_names = arm_register_name_strings; - -/* Valid register name flavors. */ -static const char **valid_flavors; - -/* Disassembly flavor to use. Default to "std" register names. */ -static const char *disassembly_flavor; -/* Index to that option in the opcodes table. */ -static int current_option; - -/* This is used to keep the bfd arch_info in sync with the disassembly - flavor. */ -static void set_disassembly_flavor_sfunc(char *, int, - struct cmd_list_element *); -static void set_disassembly_flavor (void); - -static void convert_from_extended (void *ptr, void *dbl); - -/* Define other aspects of the stack frame. We keep the offsets of - all saved registers, 'cause we need 'em a lot! We also keep the - current size of the stack frame, and the offset of the frame - pointer from the stack pointer (for frameless functions, and when - we're still in the prologue of a function with a frame). */ - -struct frame_extra_info -{ - 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. */ -#define IS_THUMB_ADDR(addr) ((addr) & 1) -#define MAKE_THUMB_ADDR(addr) ((addr) | 1) -#define UNMAKE_THUMB_ADDR(addr) ((addr) & ~1) - -static int -arm_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe) -{ - return (chain != 0 && (FRAME_SAVED_PC (thisframe) >= LOWEST_PC)); -} - -/* Set to true if the 32-bit mode is in use. */ - -int arm_apcs_32 = 1; - -/* Flag set by arm_fix_call_dummy that tells whether the target - function is a Thumb function. This flag is checked by - arm_push_arguments. FIXME: Change the PUSH_ARGUMENTS macro (and - its use in valops.c) to pass the function address as an additional - parameter. */ - -static int target_is_thumb; - -/* Flag set by arm_fix_call_dummy that tells whether the calling - function is a Thumb function. This flag is checked by - arm_pc_is_thumb and arm_call_dummy_breakpoint_offset. */ - -static int caller_is_thumb; - -/* Determine if the program counter specified in MEMADDR is in a Thumb - function. */ - -int -arm_pc_is_thumb (CORE_ADDR memaddr) -{ - struct minimal_symbol *sym; - - /* If bit 0 of the address is set, assume this is a Thumb address. */ - if (IS_THUMB_ADDR (memaddr)) - return 1; - - /* Thumb functions have a "special" bit set in minimal symbols. */ - sym = lookup_minimal_symbol_by_pc (memaddr); - if (sym) - { - return (MSYMBOL_IS_SPECIAL (sym)); - } - else - { - return 0; - } -} - -/* Determine if the program counter specified in MEMADDR is in a call - dummy being called from a Thumb function. */ - -int -arm_pc_is_thumb_dummy (CORE_ADDR memaddr) -{ - CORE_ADDR sp = read_sp (); - - /* FIXME: Until we switch for the new call dummy macros, this heuristic - is the best we can do. We are trying to determine if the pc is on - the stack, which (hopefully) will only happen in a call dummy. - We hope the current stack pointer is not so far alway from the dummy - frame location (true if we have not pushed large data structures or - gone too many levels deep) and that our 1024 is not enough to consider - code regions as part of the stack (true for most practical purposes). */ - if (PC_IN_CALL_DUMMY (memaddr, sp, sp + 1024)) - return caller_is_thumb; - else - return 0; -} - -/* 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)) - return (val & (arm_apcs_32 ? 0xfffffffe : 0x03fffffe)); - else - return (val & (arm_apcs_32 ? 0xfffffffc : 0x03fffffc)); -} - -/* 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 (ARM_LR_REGNUM)); -} - -/* 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); - - /* There are some frameless functions whose first two instructions - follow the standard APCS form, in which case after_prologue will - be func_start + 8. */ - - frameless = (after_prologue < func_start + 12); - 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 - add r7, sp, #12 - Sometimes the latter instruction may be replaced by: - mov r7, sp - - or like this: - push {r7, lr} - mov r7, sp - sub sp, #12 - - or, on tpcs, like this: - sub sp,#16 - push {r7, lr} - (many instructions) - mov r7, sp - sub sp, #12 - - There is always one instruction of three classes: - 1 - push - 2 - setting of r7 - 3 - adjusting of sp - - When we have found at least one of each class we are done with the prolog. - Note that the "sub sp, #NN" before the push does not count. - */ - -static CORE_ADDR -thumb_skip_prologue (CORE_ADDR pc, CORE_ADDR func_end) -{ - CORE_ADDR current_pc; - /* findmask: - bit 0 - push { rlist } - bit 1 - mov r7, sp OR add r7, sp, #imm (setting of r7) - bit 2 - sub sp, #simm OR add sp, #simm (adjusting of sp) - */ - int findmask = 0; - - for (current_pc = pc; - current_pc + 2 < func_end && current_pc < pc + 40; - current_pc += 2) - { - unsigned short insn = read_memory_unsigned_integer (current_pc, 2); - - if ((insn & 0xfe00) == 0xb400) /* push { rlist } */ - { - findmask |= 1; /* push found */ - } - else if ((insn & 0xff00) == 0xb000) /* add sp, #simm OR - sub sp, #simm */ - { - if ((findmask & 1) == 0) /* before push ? */ - continue; - else - findmask |= 4; /* add/sub sp found */ - } - else if ((insn & 0xff00) == 0xaf00) /* add r7, sp, #imm */ - { - findmask |= 2; /* setting of r7 found */ - } - else if (insn == 0x466f) /* mov r7, sp */ - { - findmask |= 2; /* setting of r7 found */ - } - else if (findmask == (4+2+1)) - { - /* We have found one of each type of prologue instruction */ - break; - } - else - /* Something in the prolog that we don't care about or some - instruction from outside the prolog scheduled here for - optimization. */ - continue; - } - - return current_pc; -} - -/* 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 - [stmfd sp!, {a1,a2,a3,a4}] - stmfd sp!, {...,fp,ip,lr,pc} - [stfe f7, [sp, #-12]!] - [stfe f6, [sp, #-12]!] - [stfe f5, [sp, #-12]!] - [stfe f4, [sp, #-12]!] - sub fp, ip, #nn @@ nn == 20 or 4 depending on second insn */ - -static CORE_ADDR -arm_skip_prologue (CORE_ADDR pc) -{ - unsigned long inst; - CORE_ADDR skip_pc; - CORE_ADDR func_addr, func_end = 0; - char *func_name; - struct symtab_and_line sal; - - /* If we're in a dummy frame, don't even try to skip the prologue. */ - if (USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY (pc, 0, 0)) - return pc; - - /* See what the symbol table says. */ - - if (find_pc_partial_function (pc, &func_name, &func_addr, &func_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. */ - if (arm_pc_is_thumb (pc)) - return thumb_skip_prologue (pc, func_end); - - /* Can't find the prologue end in the symbol table, try it the hard way - by disassembling the instructions. */ - - /* Like arm_scan_prologue, stop no later than pc + 64. */ - if (func_end == 0 || func_end > pc + 64) - func_end = pc + 64; - - for (skip_pc = pc; skip_pc < func_end; skip_pc += 4) - { - inst = read_memory_integer (skip_pc, 4); - - /* "mov ip, sp" is no longer a required part of the prologue. */ - if (inst == 0xe1a0c00d) /* mov ip, sp */ - continue; - - /* Some prologues begin with "str lr, [sp, #-4]!". */ - if (inst == 0xe52de004) /* str lr, [sp, #-4]! */ - continue; - - if ((inst & 0xfffffff0) == 0xe92d0000) /* stmfd sp!,{a1,a2,a3,a4} */ - continue; - - if ((inst & 0xfffff800) == 0xe92dd800) /* stmfd sp!,{fp,ip,lr,pc} */ - continue; - - /* Any insns after this point may float into the code, if it makes - for better instruction scheduling, so we skip them only if we - find them, but still consider the function to be frame-ful. */ - - /* We may have either one sfmfd instruction here, or several stfe - insns, depending on the version of floating point code we - support. */ - if ((inst & 0xffbf0fff) == 0xec2d0200) /* sfmfd fn, , [sp]! */ - continue; - - if ((inst & 0xffff8fff) == 0xed6d0103) /* stfe fn, [sp, #-12]! */ - continue; - - if ((inst & 0xfffff000) == 0xe24cb000) /* sub fp, ip, #nn */ - continue; - - if ((inst & 0xfffff000) == 0xe24dd000) /* sub sp, sp, #nn */ - continue; - - if ((inst & 0xffffc000) == 0xe54b0000 || /* strb r(0123),[r11,#-nn] */ - (inst & 0xffffc0f0) == 0xe14b00b0 || /* strh r(0123),[r11,#-nn] */ - (inst & 0xffffc000) == 0xe50b0000) /* str r(0123),[r11,#-nn] */ - continue; - - if ((inst & 0xffffc000) == 0xe5cd0000 || /* strb r(0123),[sp,#nn] */ - (inst & 0xffffc0f0) == 0xe1cd00b0 || /* strh r(0123),[sp,#nn] */ - (inst & 0xffffc000) == 0xe58d0000) /* str r(0123),[sp,#nn] */ - continue; - - /* Un-recognized instruction; stop scanning. */ - break; - } - - return skip_pc; /* End of prologue */ -} - -/* *INDENT-OFF* */ -/* Function: thumb_scan_prologue (helper function for arm_scan_prologue) - This function decodes a Thumb function prologue to determine: - 1) the size of the stack frame - 2) which registers are saved on it - 3) the offsets of saved regs - 4) the offset from the stack pointer to the frame pointer - This information is stored in the "extra" fields of the frame_info. - - A typical Thumb function prologue would create this stack frame - (offsets relative to FP) - old SP -> 24 stack parameters - 20 LR - 16 R7 - R7 -> 0 local variables (16 bytes) - SP -> -12 additional stack space (12 bytes) - The frame size would thus be 36 bytes, and the frame offset would be - 12 bytes. The frame register is R7. - - The comments for thumb_skip_prolog() describe the algorithm we use - to detect the end of the prolog. */ -/* *INDENT-ON* */ - -static void -thumb_scan_prologue (struct frame_info *fi) -{ - CORE_ADDR prologue_start; - CORE_ADDR prologue_end; - CORE_ADDR current_pc; - /* Which register has been copied to register n? */ - int saved_reg[16]; - /* findmask: - bit 0 - push { rlist } - bit 1 - mov r7, sp OR add r7, sp, #imm (setting of r7) - bit 2 - sub sp, #simm OR add sp, #simm (adjusting of sp) - */ - int findmask = 0; - int i; - - /* Don't try to scan dummy frames. */ - if (USE_GENERIC_DUMMY_FRAMES - && fi != NULL - && PC_IN_CALL_DUMMY (fi->pc, 0, 0)) - return; - - if (find_pc_partial_function (fi->pc, NULL, &prologue_start, &prologue_end)) - { - 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) */ - } - else - /* We're in the boondocks: allow for - 16 pushes, an add, and "mv fp,sp". */ - prologue_end = prologue_start + 40; - - prologue_end = min (prologue_end, fi->pc); - - /* Initialize the saved register map. When register H is copied to - register L, we will put H in saved_reg[L]. */ - for (i = 0; i < 16; i++) - saved_reg[i] = i; - - /* Search the prologue looking for instructions that set up the - frame pointer, adjust the stack pointer, and save registers. - Do this until all basic prolog instructions are found. */ - - fi->extra_info->framesize = 0; - for (current_pc = prologue_start; - (current_pc < prologue_end) && ((findmask & 7) != 7); - current_pc += 2) - { - unsigned short insn; - int regno; - int offset; - - insn = read_memory_unsigned_integer (current_pc, 2); - - if ((insn & 0xfe00) == 0xb400) /* push { rlist } */ - { - int mask; - findmask |= 1; /* push found */ - /* Bits 0-7 contain a mask for registers R0-R7. Bit 8 says - whether to save LR (R14). */ - mask = (insn & 0xff) | ((insn & 0x100) << 6); - - /* Calculate offsets of saved R0-R7 and LR. */ - for (regno = ARM_LR_REGNUM; regno >= 0; regno--) - if (mask & (1 << regno)) - { - fi->extra_info->framesize += 4; - fi->saved_regs[saved_reg[regno]] = - -(fi->extra_info->framesize); - /* Reset saved register map. */ - saved_reg[regno] = regno; - } - } - else if ((insn & 0xff00) == 0xb000) /* add sp, #simm OR - sub sp, #simm */ - { - if ((findmask & 1) == 0) /* before push? */ - continue; - else - findmask |= 4; /* add/sub sp found */ - - offset = (insn & 0x7f) << 2; /* get scaled offset */ - if (insn & 0x80) /* is it signed? (==subtracting) */ - { - fi->extra_info->frameoffset += offset; - offset = -offset; - } - fi->extra_info->framesize -= offset; - } - else if ((insn & 0xff00) == 0xaf00) /* add r7, sp, #imm */ - { - findmask |= 2; /* setting of r7 found */ - 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->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 */ - { - int lo_reg = insn & 7; /* dest. register (r0-r7) */ - int hi_reg = ((insn >> 3) & 7) + 8; /* source register (r8-15) */ - saved_reg[lo_reg] = hi_reg; /* remember hi reg was saved */ - } - else - /* Something in the prolog that we don't care about or some - instruction from outside the prolog scheduled here for - optimization. */ - continue; - } -} - -/* Check if prologue for this frame's PC has already been scanned. If - it has, copy the relevant information about that prologue and - return non-zero. Otherwise do not copy anything and return zero. - - The information saved in the cache includes: - * the frame register number; - * the size of the stack frame; - * the offsets of saved regs (relative to the old SP); and - * the offset from the stack pointer to the frame pointer - - The cache contains only one entry, since this is adequate for the - typical sequence of prologue scan requests we get. When performing - a backtrace, GDB will usually ask to scan the same function twice - in a row (once to get the frame chain, and once to fill in the - extra frame information). */ - -static struct frame_info prologue_cache; - -static int -check_prologue_cache (struct frame_info *fi) -{ - int i; - - if (fi->pc == prologue_cache.pc) - { - 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 - return 0; -} - - -/* Copy the prologue information from fi to the prologue cache. */ - -static void -save_prologue_cache (struct frame_info *fi) -{ - int i; - - prologue_cache.pc = fi->pc; - 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 + NUM_PSEUDO_REGS; i++) - prologue_cache.saved_regs[i] = fi->saved_regs[i]; -} - - -/* This function decodes an ARM function prologue to determine: - 1) the size of the stack frame - 2) which registers are saved on it - 3) the offsets of saved regs - 4) the offset from the stack pointer to the frame pointer - This information is stored in the "extra" fields of the frame_info. - - There are two basic forms for the ARM prologue. The fixed argument - function call will look like: - - mov ip, sp - stmfd sp!, {fp, ip, lr, pc} - sub fp, ip, #4 - [sub sp, sp, #4] - - Which would create this stack frame (offsets relative to FP): - IP -> 4 (caller's stack) - FP -> 0 PC (points to address of stmfd instruction + 8 in callee) - -4 LR (return address in caller) - -8 IP (copy of caller's SP) - -12 FP (caller's FP) - SP -> -28 Local variables - - The frame size would thus be 32 bytes, and the frame offset would be - 28 bytes. The stmfd call can also save any of the vN registers it - plans to use, which increases the frame size accordingly. - - Note: The stored PC is 8 off of the STMFD instruction that stored it - because the ARM Store instructions always store PC + 8 when you read - the PC register. - - A variable argument function call will look like: - - mov ip, sp - stmfd sp!, {a1, a2, a3, a4} - stmfd sp!, {fp, ip, lr, pc} - sub fp, ip, #20 - - Which would create this stack frame (offsets relative to FP): - IP -> 20 (caller's stack) - 16 A4 - 12 A3 - 8 A2 - 4 A1 - FP -> 0 PC (points to address of stmfd instruction + 8 in callee) - -4 LR (return address in caller) - -8 IP (copy of caller's SP) - -12 FP (caller's FP) - SP -> -28 Local variables - - The frame size would thus be 48 bytes, and the frame offset would be - 28 bytes. - - There is another potential complication, which is that the optimizer - will try to separate the store of fp in the "stmfd" instruction from - the "sub fp, ip, #NN" instruction. Almost anything can be there, so - we just key on the stmfd, and then scan for the "sub fp, ip, #NN"... - - Also, note, the original version of the ARM toolchain claimed that there - should be an - - instruction at the end of the prologue. I have never seen GCC produce - this, and the ARM docs don't mention it. We still test for it below in - case it happens... - - */ - -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. */ - if (check_prologue_cache (fi)) - return; - - /* Assume there is no frame until proven otherwise. */ - 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)) - { - thumb_scan_prologue (fi); - save_prologue_cache (fi); - return; - } - - /* Find the function prologue. If we can't find the function in - the symbol table, peek in the stack frame to find the PC. */ - if (find_pc_partial_function (fi->pc, NULL, &prologue_start, &prologue_end)) - { - /* 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. */ - 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 - frame pointer, adjust the stack pointer, and save registers. - - Be careful, however, and if it doesn't look like a prologue, - don't try to scan it. If, for instance, a frameless function - begins with stmfd sp!, then we will tell ourselves there is - a frame, which will confuse stack traceback, as well as "finish" - and other operations that rely on a knowledge of the stack - 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. - - [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] - - [Note further: The "mov ip,sp" only seems to be missing in - frameless functions at optimization level "-O2" or above, - in which case it is often (but not always) replaced by - "str lr, [sp, #-4]!". - Michael Snyder, 2002-04-23] */ - - sp_offset = fp_offset = 0; - - for (current_pc = prologue_start; - current_pc < prologue_end; - current_pc += 4) - { - unsigned int insn = read_memory_unsigned_integer (current_pc, 4); - - if (insn == 0xe1a0c00d) /* mov ip, sp */ - { - continue; - } - else if (insn == 0xe52de004) /* str lr, [sp, #-4]! */ - { - /* Function is frameless: extra_info defaults OK? */ - continue; - } - else 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 & 0xffffc000) == 0xe54b0000 || /* strb rx,[r11,#-n] */ - (insn & 0xffffc0f0) == 0xe14b00b0 || /* strh rx,[r11,#-n] */ - (insn & 0xffffc000) == 0xe50b0000) /* str rx,[r11,#-n] */ - { - /* No need to add this to saved_regs -- it's just an arg reg. */ - continue; - } - else if ((insn & 0xffffc000) == 0xe5cd0000 || /* strb rx,[sp,#n] */ - (insn & 0xffffc0f0) == 0xe1cd00b0 || /* strh rx,[sp,#n] */ - (insn & 0xffffc000) == 0xe58d0000) /* str rx,[sp,#n] */ - { - /* No need to add this to saved_regs -- it's just an arg reg. */ - continue; - } - 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; - - 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 = 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; - fi->saved_regs[fp_start_reg++] = sp_offset; - } - } - 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->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); -} - -/* Find REGNUM on the stack. Otherwise, it's in an active register. - One thing we might want to do here is to check REGNUM against the - clobber mask, and somehow flag it as invalid if it isn't saved on - the stack somewhere. This would provide a graceful failure mode - when trying to get the value of caller-saves registers for an inner - frame. */ - -static CORE_ADDR -arm_find_callers_reg (struct frame_info *fi, int regnum) -{ - /* NOTE: cagney/2002-05-03: This function really shouldn't be - needed. Instead the (still being written) register unwind - function could be called directly. */ - for (; fi; fi = fi->next) - { - if (USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY (fi->pc, 0, 0)) - { - return generic_read_register_dummy (fi->pc, fi->frame, regnum); - } - else if (fi->saved_regs[regnum] != 0) - { - /* NOTE: cagney/2002-05-03: This would normally need to - handle ARM_SP_REGNUM as a special case as, according to - the frame.h comments, saved_regs[SP_REGNUM] contains the - SP value not its address. It appears that the ARM isn't - doing this though. */ - return read_memory_integer (fi->saved_regs[regnum], - REGISTER_RAW_SIZE (regnum)); - } - } - return read_register (regnum); -} -/* 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. */ - -static CORE_ADDR -arm_frame_chain (struct frame_info *fi) -{ - CORE_ADDR caller_pc; - int framereg = fi->extra_info->framereg; - - if (USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY (fi->pc, 0, 0)) - /* A generic call dummy's frame is the same as caller's. */ - return fi->frame; - - if (fi->pc < LOWEST_PC) - return 0; - - /* If the caller is the startup code, we're at the end of the chain. */ - caller_pc = FRAME_SAVED_PC (fi); - - /* If the caller is Thumb and the caller is ARM, or vice versa, - 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.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 == ARM_FP_REGNUM || framereg == THUMB_FP_REGNUM) - return arm_find_callers_reg (fi, framereg); - else - return fi->frame + fi->extra_info->framesize; -} - -/* This function actually figures out the frame address for a given pc - and sp. This is tricky because we sometimes don't use an explicit - frame pointer, and the previous stack pointer isn't necessarily - recorded on the stack. The only reliable way to get this info is - to examine the prologue. FROMLEAF is a little confusing, it means - this is the next frame up the chain AFTER a frameless function. If - this is true, then the frame value for this frame is still in the - fp register. */ - -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->saved_regs, '\000', sizeof fi->saved_regs); - - /* 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 if (USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY (fi->next->pc, 0, 0)) - /* For generic dummy frames, pull the value direct from the frame. - Having an unwind function to do this would be nice. */ - sp = generic_read_register_dummy (fi->next->pc, fi->next->frame, - ARM_SP_REGNUM); - 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 PC_IN_SIGTRAMP to determine if we - need to use the sigcontext addresses for the saved registers. - - Note: If an ARM PC_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 PC_IN_SIGTRAMP. */ - - if (SIGCONTEXT_REGISTER_ADDRESS_P () - && (fi->signal_handler_caller || PC_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->extra_info->framereg); - else if (USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY (fi->next->pc, 0, 0)) - /* Next inner most frame is a dummy, just grab its frame. - Dummy frames always have the same FP as their caller. */ - fi->frame = fi->next->frame; - 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->saved_regs[fi->extra_info->framereg] != 0) - fi->frame = - 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... */ - fi->frame = read_fp (); - } - - /* Calculate actual addresses of saved registers using offsets - determined by arm_scan_prologue. */ - for (reg = 0; reg < NUM_REGS; reg++) - 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 ARM_LR_REGNUM - is saved in the stack anywhere, otherwise we get it from the - registers. - - The old definition of this function was a macro: - #define FRAME_SAVED_PC(FRAME) \ - ADDR_BITS_REMOVE (read_memory_integer ((FRAME)->frame - 4, 4)) */ - -static CORE_ADDR -arm_frame_saved_pc (struct frame_info *fi) -{ - /* If a dummy frame, pull the PC out of the frame's register buffer. */ - if (USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY (fi->pc, 0, 0)) - return generic_read_register_dummy (fi->pc, fi->frame, ARM_PC_REGNUM); - - if (PC_IN_CALL_DUMMY (fi->pc, fi->frame - fi->extra_info->frameoffset, - fi->frame)) - { - 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; - } -} - -/* 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. */ - -static CORE_ADDR -arm_read_fp (void) -{ - 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 (ARM_FP_REGNUM); /* R11 if ARM */ -} - -/* 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. */ - -static void -arm_frame_init_saved_regs (struct frame_info *fip) -{ - - if (fip->saved_regs) - return; - - arm_init_extra_frame_info (0, fip); -} - -/* Set the return address for a generic dummy frame. ARM uses the - entry point. */ - -static CORE_ADDR -arm_push_return_address (CORE_ADDR pc, CORE_ADDR sp) -{ - write_register (ARM_LR_REGNUM, CALL_DUMMY_ADDRESS ()); - return sp; -} - -/* Push an empty stack frame, to record the current PC, etc. */ - -static void -arm_push_dummy_frame (void) -{ - CORE_ADDR old_sp = read_register (ARM_SP_REGNUM); - CORE_ADDR sp = old_sp; - CORE_ADDR fp, prologue_start; - int regnum; - - /* Push the two dummy prologue instructions in reverse order, - so that they'll be in the correct low-to-high order in memory. */ - /* sub fp, ip, #4 */ - sp = push_word (sp, 0xe24cb004); - /* stmdb sp!, {r0-r10, fp, ip, lr, pc} */ - prologue_start = sp = push_word (sp, 0xe92ddfff); - - /* Push a pointer to the dummy prologue + 12, because when stm - instruction stores the PC, it stores the address of the stm - instruction itself plus 12. */ - fp = sp = push_word (sp, prologue_start + 12); - - /* 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)); - - /* Update fp (for both Thumb and ARM) and sp. */ - write_register (ARM_FP_REGNUM, fp); - write_register (THUMB_FP_REGNUM, fp); - 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 - in Thumb or ARM mode, and whether the target function is Thumb or - ARM. There are three different situations requiring three - different dummies: - - * ARM calling ARM: uses the call dummy in tm-arm.h, which has already - been copied into the dummy parameter to this function. - * ARM calling Thumb: uses the call dummy in tm-arm.h, but with the - "mov pc,r4" instruction patched to be a "bx r4" instead. - * Thumb calling anything: uses the Thumb dummy defined below, which - works for calling both ARM and Thumb functions. - - All three call dummies expect to receive the target function - address in R4, with the low bit set if it's a Thumb function. */ - -static void -arm_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, - struct value **args, struct type *type, int gcc_p) -{ - static short thumb_dummy[4] = - { - 0xf000, 0xf801, /* bl label */ - 0xdf18, /* swi 24 */ - 0x4720, /* label: bx r4 */ - }; - static unsigned long arm_bx_r4 = 0xe12fff14; /* bx r4 instruction */ - - /* 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 - second instruction of call dummy to use a BX instruction to - switch to Thumb mode. */ - target_is_thumb = arm_pc_is_thumb (fun); - if (target_is_thumb) - { - fun |= 1; - if (!caller_is_thumb) - store_unsigned_integer (dummy + 4, sizeof (arm_bx_r4), arm_bx_r4); - } - - /* If the CPU is currently in Thumb mode, use the Thumb call dummy - instead of the ARM one that's already been copied. This will - work for both Thumb and ARM target functions. */ - if (caller_is_thumb) - { - int i; - char *p = dummy; - int len = sizeof (thumb_dummy) / sizeof (thumb_dummy[0]); - - for (i = 0; i < len; i++) - { - store_unsigned_integer (p, sizeof (thumb_dummy[0]), thumb_dummy[i]); - p += sizeof (thumb_dummy[0]); - } - } - - /* Put the target address in r4; the call dummy will copy this to - the PC. */ - write_register (4, fun); -} - -/* 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. */ - -static CORE_ADDR -arm_push_arguments (int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) -{ - CORE_ADDR fp; - int argnum; - int argreg; - int nstack; - int simd_argreg; - int second_pass; - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - /* 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. On the second - pass, do the store. */ - nstack = 0; - fp = sp; - for (second_pass = 0; second_pass < 2; second_pass++) - { - /* Compute the FP using the information computed during the - first pass. */ - if (second_pass) - fp = sp - nstack; - - simd_argreg = 0; - argreg = ARM_A1_REGNUM; - nstack = 0; - - /* The struct_return pointer occupies the first parameter - passing register. */ - if (struct_return) - { - if (second_pass) - { - if (arm_debug) - fprintf_unfiltered (gdb_stdlog, - "struct return in %s = 0x%s\n", - REGISTER_NAME (argreg), - paddr (struct_addr)); - write_register (argreg, struct_addr); - } - argreg++; - } - - for (argnum = 0; argnum < nargs; argnum++) - { - int len; - struct type *arg_type; - struct type *target_type; - enum type_code typecode; - char *val; - - arg_type = check_typedef (VALUE_TYPE (args[argnum])); - len = TYPE_LENGTH (arg_type); - target_type = TYPE_TARGET_TYPE (arg_type); - typecode = TYPE_CODE (arg_type); - val = VALUE_CONTENTS (args[argnum]); - - /* If the argument is a pointer to a function, and it is a - Thumb function, create a LOCAL copy of the value and set - the THUMB bit in it. */ - if (second_pass - && TYPE_CODE_PTR == typecode - && target_type != NULL - && TYPE_CODE_FUNC == TYPE_CODE (target_type)) - { - CORE_ADDR regval = extract_address (val, len); - if (arm_pc_is_thumb (regval)) - { - val = alloca (len); - 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) - { - /* The argument is being passed in a general purpose - register. */ - if (second_pass) - { - CORE_ADDR regval = extract_address (val, - partial_len); - if (arm_debug) - fprintf_unfiltered (gdb_stdlog, - "arg %d in %s = 0x%s\n", - argnum, - REGISTER_NAME (argreg), - phex (regval, REGISTER_SIZE)); - write_register (argreg, regval); - } - argreg++; - } - else - { - if (second_pass) - { - /* Push the arguments onto the stack. */ - if (arm_debug) - fprintf_unfiltered (gdb_stdlog, - "arg %d @ 0x%s + %d\n", - argnum, paddr (fp), nstack); - write_memory (fp + nstack, val, REGISTER_SIZE); - } - nstack += REGISTER_SIZE; - } - - len -= partial_len; - val += partial_len; - } - - } - } - - /* Return the botom of the argument list (pointed to by fp). */ - return fp; -} - -/* 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 (USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)) - { - generic_pop_dummy_frame (); - flush_cached_frames (); - return; - } - - 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 (ARM_PC_REGNUM, FRAME_SAVED_PC (frame)); - write_register (ARM_SP_REGNUM, old_SP); - - flush_cached_frames (); -} - -static void -print_fpu_flags (int flags) -{ - if (flags & (1 << 0)) - fputs ("IVO ", stdout); - if (flags & (1 << 1)) - fputs ("DVZ ", stdout); - if (flags & (1 << 2)) - fputs ("OFL ", stdout); - if (flags & (1 << 3)) - fputs ("UFL ", stdout); - if (flags & (1 << 4)) - fputs ("INX ", stdout); - putchar ('\n'); -} - -/* Print interesting information about the floating point processor - (if present) or emulator. */ -static void -arm_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, const char *args) -{ - register unsigned long status = read_register (ARM_FPS_REGNUM); - int type; - - type = (status >> 24) & 127; - printf ("%s FPU type %d\n", - (status & (1 << 31)) ? "Hardware" : "Software", - type); - fputs ("mask: ", stdout); - print_fpu_flags (status >> 16); - fputs ("flags: ", stdout); - print_fpu_flags (status); -} - -/* Return the GDB type object for the "standard" data type of data in - register N. */ - -static struct type * -arm_register_type (int regnum) -{ - 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; -} - -/* Index within `registers' of the first byte of the space for - register N. */ - -static int -arm_register_byte (int regnum) -{ - 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); -} - -/* 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. */ - -static int -arm_register_raw_size (int regnum) -{ - 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; -} - -/* Number of bytes of storage in a program's representation - for register N. */ -static int -arm_register_virtual_size (int regnum) -{ - 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; -} - -/* Map GDB internal REGNUM onto the Arm simulator register numbers. */ -static int -arm_register_sim_regno (int regnum) -{ - int reg = regnum; - gdb_assert (reg >= 0 && reg < NUM_REGS); - - if (reg < NUM_GREGS) - return SIM_ARM_R0_REGNUM + reg; - reg -= NUM_GREGS; - - if (reg < NUM_FREGS) - return SIM_ARM_FP0_REGNUM + reg; - reg -= NUM_FREGS; - - if (reg < NUM_SREGS) - return SIM_ARM_FPS_REGNUM + reg; - reg -= NUM_SREGS; - - internal_error (__FILE__, __LINE__, "Bad REGNUM %d", regnum); -} - -/* 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) -{ - 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); -} - -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 -condition_true (unsigned long cond, unsigned long status_reg) -{ - if (cond == INST_AL || cond == INST_NV) - return 1; - - switch (cond) - { - case INST_EQ: - return ((status_reg & FLAG_Z) != 0); - case INST_NE: - return ((status_reg & FLAG_Z) == 0); - case INST_CS: - return ((status_reg & FLAG_C) != 0); - case INST_CC: - return ((status_reg & FLAG_C) == 0); - case INST_MI: - return ((status_reg & FLAG_N) != 0); - case INST_PL: - return ((status_reg & FLAG_N) == 0); - case INST_VS: - return ((status_reg & FLAG_V) != 0); - case INST_VC: - return ((status_reg & FLAG_V) == 0); - case INST_HI: - return ((status_reg & (FLAG_C | FLAG_Z)) == FLAG_C); - case INST_LS: - return ((status_reg & (FLAG_C | FLAG_Z)) != FLAG_C); - case INST_GE: - return (((status_reg & FLAG_N) == 0) == ((status_reg & FLAG_V) == 0)); - case INST_LT: - return (((status_reg & FLAG_N) == 0) != ((status_reg & FLAG_V) == 0)); - case INST_GT: - return (((status_reg & FLAG_Z) == 0) && - (((status_reg & FLAG_N) == 0) == ((status_reg & FLAG_V) == 0))); - case INST_LE: - return (((status_reg & FLAG_Z) != 0) || - (((status_reg & FLAG_N) == 0) != ((status_reg & FLAG_V) == 0))); - } - 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))) -#define sbits(obj,st,fn) \ - ((long) (bits(obj,st,fn) | ((long) bit(obj,fn) * ~ submask (fn - st)))) -#define BranchDest(addr,instr) \ - ((CORE_ADDR) (((long) (addr)) + 8 + (sbits (instr, 0, 23) << 2))) -#define ARM_PC_32 1 - -static unsigned long -shifted_reg_val (unsigned long inst, int carry, unsigned long pc_val, - unsigned long status_reg) -{ - unsigned long res, shift; - int rm = bits (inst, 0, 3); - unsigned long shifttype = bits (inst, 5, 6); - - if (bit (inst, 4)) - { - int rs = bits (inst, 8, 11); - shift = (rs == 15 ? pc_val + 8 : read_register (rs)) & 0xFF; - } - else - shift = bits (inst, 7, 11); - - res = (rm == 15 - ? ((pc_val | (ARM_PC_32 ? 0 : status_reg)) - + (bit (inst, 4) ? 12 : 8)) - : read_register (rm)); - - switch (shifttype) - { - case 0: /* LSL */ - res = shift >= 32 ? 0 : res << shift; - break; - - case 1: /* LSR */ - res = shift >= 32 ? 0 : res >> shift; - break; - - case 2: /* ASR */ - if (shift >= 32) - shift = 31; - res = ((res & 0x80000000L) - ? ~((~res) >> shift) : res >> shift); - break; - - case 3: /* ROR/RRX */ - shift &= 31; - if (shift == 0) - res = (res >> 1) | (carry ? 0x80000000L : 0); - else - res = (res >> shift) | (res << (32 - shift)); - break; - } - - return res & 0xffffffff; -} - -/* Return number of 1-bits in VAL. */ - -static int -bitcount (unsigned long val) -{ - int nbits; - for (nbits = 0; val != 0; nbits++) - val &= val - 1; /* delete rightmost 1-bit in val */ - return nbits; -} - -CORE_ADDR -thumb_get_next_pc (CORE_ADDR pc) -{ - unsigned long pc_val = ((unsigned long) pc) + 4; /* PC after prefetch */ - unsigned short inst1 = read_memory_integer (pc, 2); - CORE_ADDR nextpc = pc + 2; /* default is next instruction */ - unsigned long offset; - - if ((inst1 & 0xff00) == 0xbd00) /* pop {rlist, pc} */ - { - CORE_ADDR sp; - - /* 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 (ARM_SP_REGNUM); - nextpc = (CORE_ADDR) read_memory_integer (sp + offset, 4); - nextpc = ADDR_BITS_REMOVE (nextpc); - if (nextpc == pc) - error ("Infinite loop detected"); - } - else if ((inst1 & 0xf000) == 0xd000) /* conditional branch */ - { - 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); - } - else if ((inst1 & 0xf800) == 0xe000) /* unconditional branch */ - { - nextpc = pc_val + (sbits (inst1, 0, 10) << 1); - } - else if ((inst1 & 0xf800) == 0xf000) /* long branch with link */ - { - unsigned short inst2 = read_memory_integer (pc + 2, 2); - offset = (sbits (inst1, 0, 10) << 12) + (bits (inst2, 0, 10) << 1); - nextpc = pc_val + offset; - } - - return nextpc; -} - -CORE_ADDR -arm_get_next_pc (CORE_ADDR pc) -{ - unsigned long pc_val; - unsigned long this_instr; - unsigned long status; - CORE_ADDR nextpc; - - if (arm_pc_is_thumb (pc)) - return thumb_get_next_pc (pc); - - pc_val = (unsigned long) pc; - this_instr = read_memory_integer (pc, 4); - status = read_register (ARM_PS_REGNUM); - nextpc = (CORE_ADDR) (pc_val + 4); /* Default case */ - - if (condition_true (bits (this_instr, 28, 31), status)) - { - switch (bits (this_instr, 24, 27)) - { - case 0x0: - case 0x1: /* data processing */ - case 0x2: - case 0x3: - { - unsigned long operand1, operand2, result = 0; - unsigned long rn; - int c; - - if (bits (this_instr, 12, 15) != 15) - break; - - if (bits (this_instr, 22, 25) == 0 - && bits (this_instr, 4, 7) == 9) /* multiply */ - error ("Illegal update to pc in instruction"); - - /* Multiply into PC */ - c = (status & FLAG_C) ? 1 : 0; - rn = bits (this_instr, 16, 19); - operand1 = (rn == 15) ? pc_val + 8 : read_register (rn); - - if (bit (this_instr, 25)) - { - unsigned long immval = bits (this_instr, 0, 7); - unsigned long rotate = 2 * bits (this_instr, 8, 11); - operand2 = ((immval >> rotate) | (immval << (32 - rotate))) - & 0xffffffff; - } - else /* operand 2 is a shifted register */ - operand2 = shifted_reg_val (this_instr, c, pc_val, status); - - switch (bits (this_instr, 21, 24)) - { - case 0x0: /*and */ - result = operand1 & operand2; - break; - - case 0x1: /*eor */ - result = operand1 ^ operand2; - break; - - case 0x2: /*sub */ - result = operand1 - operand2; - break; - - case 0x3: /*rsb */ - result = operand2 - operand1; - break; - - case 0x4: /*add */ - result = operand1 + operand2; - break; - - case 0x5: /*adc */ - result = operand1 + operand2 + c; - break; - - case 0x6: /*sbc */ - result = operand1 - operand2 + c; - break; - - case 0x7: /*rsc */ - result = operand2 - operand1 + c; - break; - - case 0x8: - case 0x9: - case 0xa: - case 0xb: /* tst, teq, cmp, cmn */ - result = (unsigned long) nextpc; - break; - - case 0xc: /*orr */ - result = operand1 | operand2; - break; - - case 0xd: /*mov */ - /* Always step into a function. */ - result = operand2; - break; - - case 0xe: /*bic */ - result = operand1 & ~operand2; - break; - - case 0xf: /*mvn */ - result = ~operand2; - break; - } - nextpc = (CORE_ADDR) ADDR_BITS_REMOVE (result); - - if (nextpc == pc) - error ("Infinite loop detected"); - break; - } - - case 0x4: - case 0x5: /* data transfer */ - case 0x6: - case 0x7: - if (bit (this_instr, 20)) - { - /* load */ - if (bits (this_instr, 12, 15) == 15) - { - /* rd == pc */ - unsigned long rn; - unsigned long base; - - if (bit (this_instr, 22)) - error ("Illegal update to pc in instruction"); - - /* byte write to PC */ - rn = bits (this_instr, 16, 19); - base = (rn == 15) ? pc_val + 8 : read_register (rn); - if (bit (this_instr, 24)) - { - /* pre-indexed */ - int c = (status & FLAG_C) ? 1 : 0; - unsigned long offset = - (bit (this_instr, 25) - ? shifted_reg_val (this_instr, c, pc_val, status) - : bits (this_instr, 0, 11)); - - if (bit (this_instr, 23)) - base += offset; - else - base -= offset; - } - nextpc = (CORE_ADDR) read_memory_integer ((CORE_ADDR) base, - 4); - - nextpc = ADDR_BITS_REMOVE (nextpc); - - if (nextpc == pc) - error ("Infinite loop detected"); - } - } - break; - - case 0x8: - case 0x9: /* block transfer */ - if (bit (this_instr, 20)) - { - /* LDM */ - if (bit (this_instr, 15)) - { - /* loading pc */ - int offset = 0; - - if (bit (this_instr, 23)) - { - /* up */ - unsigned long reglist = bits (this_instr, 0, 14); - offset = bitcount (reglist) * 4; - if (bit (this_instr, 24)) /* pre */ - offset += 4; - } - else if (bit (this_instr, 24)) - offset = -4; - - { - unsigned long rn_val = - read_register (bits (this_instr, 16, 19)); - nextpc = - (CORE_ADDR) read_memory_integer ((CORE_ADDR) (rn_val - + offset), - 4); - } - nextpc = ADDR_BITS_REMOVE (nextpc); - if (nextpc == pc) - error ("Infinite loop detected"); - } - } - break; - - case 0xb: /* branch & link */ - case 0xa: /* branch */ - { - nextpc = BranchDest (pc, this_instr); - - nextpc = ADDR_BITS_REMOVE (nextpc); - if (nextpc == pc) - error ("Infinite loop detected"); - break; - } - - case 0xc: - case 0xd: - case 0xe: /* coproc ops */ - case 0xf: /* SWI */ - break; - - default: - fprintf_filtered (gdb_stderr, "Bad bit-field extraction\n"); - return (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" - -static int -gdb_print_insn_arm (bfd_vma memaddr, disassemble_info *info) -{ - if (arm_pc_is_thumb (memaddr)) - { - static asymbol *asym; - static combined_entry_type ce; - static struct coff_symbol_struct csym; - static struct _bfd fake_bfd; - static bfd_target fake_target; - - if (csym.native == NULL) - { - /* Create a fake symbol vector containing a Thumb symbol. - This is solely so that the code in print_insn_little_arm() - and print_insn_big_arm() in opcodes/arm-dis.c will detect - the presence of a Thumb symbol and switch to decoding - Thumb instructions. */ - - fake_target.flavour = bfd_target_coff_flavour; - fake_bfd.xvec = &fake_target; - ce.u.syment.n_sclass = C_THUMBEXTFUNC; - csym.native = &ce; - csym.symbol.the_bfd = &fake_bfd; - csym.symbol.name = "fake"; - asym = (asymbol *) & csym; - } - - memaddr = UNMAKE_THUMB_ADDR (memaddr); - info->symbols = &asym; - } - else - info->symbols = NULL; - - if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) - return print_insn_big_arm (memaddr, info); - else - return print_insn_little_arm (memaddr, info); -} - -/* 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. */ - -static const 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)) - { - *pcptr = UNMAKE_THUMB_ADDR (*pcptr); - *lenptr = tdep->thumb_breakpoint_size; - return tdep->thumb_breakpoint; - } - else - { - *lenptr = tdep->arm_breakpoint_size; - return tdep->arm_breakpoint; - } -} - -/* 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. */ - -static void -arm_extract_return_value (struct type *type, - char regbuf[REGISTER_BYTES], - char *valbuf) -{ - if (TYPE_CODE_FLT == TYPE_CODE (type)) - { - 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[ARM_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, - FP_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 - 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. */ - -int -arm_in_call_stub (CORE_ADDR pc, char *name) -{ - CORE_ADDR start_addr; - - /* Find the starting address of the function containing the PC. If - the caller didn't give us a name, look it up at the same time. */ - if (0 == find_pc_partial_function (pc, name ? NULL : &name, - &start_addr, NULL)) - return 0; - - return strncmp (name, "_call_via_r", 11) == 0; -} - -/* If PC is in a Thumb call or return stub, return the address of the - target PC, which is in a register. The thunk functions are called - _called_via_xx, where x is the register name. The possible names - are r0-r9, sl, fp, ip, sp, and lr. */ - -CORE_ADDR -arm_skip_stub (CORE_ADDR pc) -{ - char *name; - CORE_ADDR start_addr; - - /* Find the starting address and name of the function containing the PC. */ - if (find_pc_partial_function (pc, &name, &start_addr, NULL) == 0) - return 0; - - /* Call thunks always start with "_call_via_". */ - if (strncmp (name, "_call_via_", 10) == 0) - { - /* Use the name suffix to determine which register contains the - target PC. */ - static char *table[15] = - {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", - "r8", "r9", "sl", "fp", "ip", "sp", "lr" - }; - int regno; - - for (regno = 0; regno <= 14; regno++) - if (strcmp (&name[10], table[regno]) == 0) - return read_register (regno); - } - - return 0; /* not a stub */ -} - -/* If the user changes the register disassembly flavor used for info - register and other commands, we have to also switch the flavor used - in opcodes for disassembly output. This function is run in the set - disassembly_flavor command, and does that. */ - -static void -set_disassembly_flavor_sfunc (char *args, int from_tty, - struct cmd_list_element *c) -{ - set_disassembly_flavor (); -} - -/* Return the ARM register name corresponding to register I. */ -static const char * -arm_register_name (int i) -{ - return arm_register_names[i]; -} - -static void -set_disassembly_flavor (void) -{ - const char *setname, *setdesc, **regnames; - int numregs, j; - - /* Find the flavor that the user wants in the opcodes table. */ - int current = 0; - numregs = get_arm_regnames (current, &setname, &setdesc, ®names); - while ((disassembly_flavor != setname) - && (current < num_flavor_options)) - get_arm_regnames (++current, &setname, &setdesc, ®names); - current_option = current; - - /* Fill our copy. */ - for (j = 0; j < numregs; j++) - arm_register_names[j] = (char *) regnames[j]; - - /* Adjust case. */ - if (isupper (*regnames[ARM_PC_REGNUM])) - { - arm_register_names[ARM_FPS_REGNUM] = "FPS"; - arm_register_names[ARM_PS_REGNUM] = "CPSR"; - } - else - { - arm_register_names[ARM_FPS_REGNUM] = "fps"; - arm_register_names[ARM_PS_REGNUM] = "cpsr"; - } - - /* Synchronize the disassembler. */ - set_arm_regname_option (current); -} - -/* arm_othernames implements the "othernames" command. This is kind - of hacky, and I prefer the set-show disassembly-flavor which is - also used for the x86 gdb. I will keep this around, however, in - case anyone is actually using it. */ - -static void -arm_othernames (char *names, int n) -{ - /* Circle through the various flavors. */ - current_option = (current_option + 1) % num_flavor_options; - - disassembly_flavor = valid_flavors[current_option]; - 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 enum gdb_osabi -arm_elf_osabi_sniffer (bfd *abfd) -{ - unsigned int elfosabi, eflags; - enum gdb_osabi osabi = GDB_OSABI_UNKNOWN; - - elfosabi = elf_elfheader (abfd)->e_ident[EI_OSABI]; - - switch (elfosabi) - { - case ELFOSABI_NONE: - /* When elfosabi is ELFOSABI_NONE (0), then the ELF structures in the - file are conforming to the base specification for that machine - (there are no OS-specific extensions). In order to determine the - real OS in use we must look for OS notes that have been added. */ - bfd_map_over_sections (abfd, - generic_elf_osabi_sniff_abi_tag_sections, - &osabi); - if (osabi == GDB_OSABI_UNKNOWN) - { - /* Existing ARM tools don't set this field, so look at the EI_FLAGS - field for more information. */ - eflags = EF_ARM_EABI_VERSION(elf_elfheader(abfd)->e_flags); - switch (eflags) - { - case EF_ARM_EABI_VER1: - osabi = GDB_OSABI_ARM_EABI_V1; - break; - - case EF_ARM_EABI_VER2: - osabi = GDB_OSABI_ARM_EABI_V2; - break; - - case EF_ARM_EABI_UNKNOWN: - /* Assume GNU tools. */ - osabi = GDB_OSABI_ARM_APCS; - break; - - default: - internal_error (__FILE__, __LINE__, - "arm_elf_osabi_sniffer: Unknown ARM EABI " - "version 0x%x", eflags); - } - } - break; - - case ELFOSABI_ARM: - /* GNU tools use this value. Check note sections in this case, - as well. */ - bfd_map_over_sections (abfd, - generic_elf_osabi_sniff_abi_tag_sections, - &osabi); - if (osabi == GDB_OSABI_UNKNOWN) - { - /* Assume APCS ABI. */ - osabi = GDB_OSABI_ARM_APCS; - } - break; - - case ELFOSABI_FREEBSD: - osabi = GDB_OSABI_FREEBSD_ELF; - break; - - case ELFOSABI_NETBSD: - osabi = GDB_OSABI_NETBSD_ELF; - break; - - case ELFOSABI_LINUX: - osabi = GDB_OSABI_LINUX; - break; - } - - return osabi; -} - - -/* 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 gdb_osabi osabi = GDB_OSABI_UNKNOWN; - - /* Try to deterimine the ABI of the object we are loading. */ - - if (info.abfd != NULL) - { - osabi = gdbarch_lookup_osabi (info.abfd); - if (osabi == GDB_OSABI_UNKNOWN) - { - switch (bfd_get_flavour (info.abfd)) - { - case bfd_target_aout_flavour: - /* Assume it's an old APCS-style ABI. */ - osabi = GDB_OSABI_ARM_APCS; - break; - - case bfd_target_coff_flavour: - /* Assume it's an old APCS-style ABI. */ - /* XXX WinCE? */ - osabi = GDB_OSABI_ARM_APCS; - break; - - default: - /* Leave it as "unknown". */ - } - } - } - - /* 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->osabi == osabi) - return arches->gdbarch; - } - - tdep = xmalloc (sizeof (struct gdbarch_tdep)); - gdbarch = gdbarch_alloc (&info, tdep); - - tdep->osabi = osabi; - - /* 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. */ - -#if OLD_STYLE_ARM_DUMMY_FRAMES - /* NOTE: cagney/2002-05-07: Enable the below to restore the old ARM - specific (non-generic) dummy frame code. Might be useful if - there appears to be a problem with the generic dummy frame - mechanism that replaced it. */ - 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); -#else - set_gdbarch_use_generic_dummy_frames (gdbarch, 1); - set_gdbarch_call_dummy_location (gdbarch, AT_ENTRY_POINT); - - set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1); - set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); - - 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, 0); - set_gdbarch_call_dummy_start_offset (gdbarch, 0); - set_gdbarch_call_dummy_length (gdbarch, 0); - - set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); - set_gdbarch_pc_in_call_dummy (gdbarch, generic_pc_in_call_dummy); - - set_gdbarch_call_dummy_address (gdbarch, entry_point_address); - set_gdbarch_push_return_address (gdbarch, arm_push_return_address); -#endif - - 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); -#if OLD_STYLE_ARM_DUMMY_FRAMES - /* NOTE: cagney/2002-05-07: Enable the below to restore the old ARM - specific (non-generic) dummy frame code. Might be useful if - there appears to be a problem with the generic dummy frame - mechanism that replaced it. */ - set_gdbarch_push_dummy_frame (gdbarch, arm_push_dummy_frame); -#else - set_gdbarch_push_dummy_frame (gdbarch, generic_push_dummy_frame); -#endif - 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); - - /* Internal <-> external register number maps. */ - set_gdbarch_register_sim_regno (gdbarch, arm_register_sim_regno); - - /* Integer registers are 4 bytes. */ - set_gdbarch_register_size (gdbarch, 4); - set_gdbarch_register_name (gdbarch, arm_register_name); - - /* Returning results. */ - set_gdbarch_deprecated_extract_return_value (gdbarch, arm_extract_return_value); - set_gdbarch_deprecated_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_deprecated_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. */ - gdbarch_init_osabi (info, gdbarch, osabi); - - /* 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); - - /* We can't use NUM_REGS nor NUM_PSEUDO_REGS here, since that still - references the old architecture vector, not the one we are - building here. */ - prologue_cache.saved_regs = (CORE_ADDR *) - xcalloc (1, (sizeof (CORE_ADDR) - * (gdbarch_num_regs (gdbarch) - + gdbarch_num_pseudo_regs (gdbarch)))); - - 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; - - fprintf_unfiltered (file, "arm_dump_tdep: OS ABI = %s\n", - gdbarch_osabi_name (tdep->osabi)); - - 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; - 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 an ELF OS ABI sniffer for ARM binaries. */ - gdbarch_register_osabi_sniffer (bfd_arch_arm, - bfd_target_elf_flavour, - arm_elf_osabi_sniffer); - - /* Register some ABI variants for embedded systems. */ - gdbarch_register_osabi (bfd_arch_arm, GDB_OSABI_ARM_EABI_V1, - arm_init_abi_eabi_v1); - gdbarch_register_osabi (bfd_arch_arm, GDB_OSABI_ARM_EABI_V2, - arm_init_abi_eabi_v2); - gdbarch_register_osabi (bfd_arch_arm, GDB_OSABI_ARM_APCS, - arm_init_abi_apcs); - - tm_print_insn = gdb_print_insn_arm; - - /* Get the number of possible sets of register names defined in opcodes. */ - num_flavor_options = get_arm_regname_num_options (); - - /* Sync the opcode insn printer with our register viewer. */ - parse_arm_disassembler_option ("reg-names-std"); - - /* Begin creating the help text. */ - stb = mem_fileopen (); - fprintf_unfiltered (stb, "Set the disassembly flavor.\n\ -The valid values are:\n"); - - /* Initialize the array that will be passed to add_set_enum_cmd(). */ - valid_flavors = xmalloc ((num_flavor_options + 1) * sizeof (char *)); - for (i = 0; i < num_flavor_options; i++) - { - numregs = get_arm_regnames (i, &setname, &setdesc, ®names); - 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 = setname; - current_option = i; - for (j = 0; j < numregs; j++) - arm_register_names[j] = (char *) regnames[j]; - set_arm_regname_option (i); - } - } - /* Mark the end of valid options. */ - valid_flavors[num_flavor_options] = NULL; - - /* Finish the creation of the help text. */ - fprintf_unfiltered (stb, "The default is \"std\"."); - helptext = ui_file_xstrdup (stb, &length); - ui_file_delete (stb); - - /* Add the disassembly-flavor command. */ - new_cmd = add_set_enum_cmd ("disassembly-flavor", no_class, - valid_flavors, - &disassembly_flavor, - helptext, - &setlist); - set_cmd_sfunc (new_cmd, set_disassembly_flavor_sfunc); - add_show_from_set (new_cmd, &showlist); - - /* ??? Maybe this should be a boolean. */ - add_show_from_set (add_set_cmd ("apcs32", no_class, - var_zinteger, (char *) &arm_apcs_32, - "Set usage of ARM 32-bit mode.\n", &setlist), - &showlist); - - /* Add the deprecated "othernames" command. */ - - add_com ("othernames", class_obscure, arm_othernames, - "Switch to the next set of register names."); - - /* 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)); - - /* Debugging flag. */ - add_show_from_set (add_set_cmd ("arm", class_maintenance, var_zinteger, - &arm_debug, "Set arm debugging.\n\ -When non-zero, arm specific debugging is enabled.", &setdebuglist), - &showdebuglist); -} diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h deleted file mode 100644 index a8f15148364..00000000000 --- a/gdb/arm-tdep.h +++ /dev/null @@ -1,156 +0,0 @@ -/* 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. */ - -#include "osabi.h" - -/* 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. */ - -enum gdb_regnum { - ARM_A1_REGNUM = 0, /* first integer-like argument */ - ARM_A4_REGNUM = 3, /* last integer-like argument */ - ARM_AP_REGNUM = 11, - ARM_SP_REGNUM = 13, /* Contains address of top of stack */ - ARM_LR_REGNUM = 14, /* address to return to from a function call */ - ARM_PC_REGNUM = 15, /* Contains program counter */ - ARM_F0_REGNUM = 16, /* first floating point register */ - ARM_F3_REGNUM = 19, /* last floating point argument register */ - ARM_F7_REGNUM = 23, /* last floating point register */ - ARM_FPS_REGNUM = 24, /* floating point status register */ - ARM_PS_REGNUM = 25, /* Contains processor status */ - ARM_FP_REGNUM = 11, /* Frame register in ARM code, if used. */ - THUMB_FP_REGNUM = 7, /* Frame register in Thumb code, if used. */ - ARM_NUM_ARG_REGS = 4, - ARM_LAST_ARG_REGNUM = ARM_A4_REGNUM, - ARM_NUM_FP_ARG_REGS = 4, - ARM_LAST_FP_ARG_REGNUM = ARM_F3_REGNUM -}; - -/* Used in target-specific code when we need to know the size of the - largest type of register we need to handle. */ -#define ARM_MAX_REGISTER_RAW_SIZE 12 -#define ARM_MAX_REGISTER_VIRTUAL_SIZE 8 - -/* 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 - -/* 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 gdb_osabi osabi; /* OS/ABI of inferior. */ - - 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); diff --git a/gdb/armnbsd-nat.c b/gdb/armnbsd-nat.c deleted file mode 100644 index 88396c06a14..00000000000 --- a/gdb/armnbsd-nat.c +++ /dev/null @@ -1,464 +0,0 @@ -/* 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/gdb/armnbsd-tdep.c b/gdb/armnbsd-tdep.c deleted file mode 100644 index ea920207d32..00000000000 --- a/gdb/armnbsd-tdep.c +++ /dev/null @@ -1,104 +0,0 @@ -/* 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" -#include "nbsd-tdep.h" -#include "solib-svr4.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); - - set_solib_svr4_fetch_link_map_offsets (gdbarch, - nbsd_ilp32_solib_svr4_fetch_link_map_offsets); - - tdep->fp_model = ARM_FLOAT_SOFT_VFP; -} - -static enum gdb_osabi -arm_netbsd_aout_osabi_sniffer (bfd *abfd) -{ - if (strcmp (bfd_get_target (abfd), "a.out-arm-netbsd") == 0) - return GDB_OSABI_NETBSD_AOUT; - - return GDB_OSABI_UNKNOWN; -} - -void -_initialize_arm_netbsd_tdep (void) -{ - gdbarch_register_osabi_sniffer (bfd_arch_arm, bfd_target_aout_flavour, - arm_netbsd_aout_osabi_sniffer); - - gdbarch_register_osabi (bfd_arch_arm, GDB_OSABI_NETBSD_AOUT, - arm_netbsd_aout_init_abi); - gdbarch_register_osabi (bfd_arch_arm, GDB_OSABI_NETBSD_ELF, - arm_netbsd_elf_init_abi); -} diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c deleted file mode 100644 index e38f13d2a62..00000000000 --- a/gdb/avr-tdep.c +++ /dev/null @@ -1,1381 +0,0 @@ -/* Target-dependent code for Atmel AVR, for GDB. - Copyright 1996, 1997, 1998, 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. */ - -/* Contributed by Theodore A. Roth, troth@verinet.com */ - -/* Portions of this file were taken from the original gdb-4.18 patch developed - by Denis Chertykov, denisc@overta.ru */ - -#include "defs.h" -#include "gdbcmd.h" -#include "gdbcore.h" -#include "inferior.h" -#include "symfile.h" -#include "arch-utils.h" -#include "regcache.h" -#include "gdb_string.h" - -/* AVR Background: - - (AVR micros are pure Harvard Architecture processors.) - - The AVR family of microcontrollers have three distinctly different memory - spaces: flash, sram and eeprom. The flash is 16 bits wide and is used for - the most part to store program instructions. The sram is 8 bits wide and is - used for the stack and the heap. Some devices lack sram and some can have - an additional external sram added on as a peripheral. - - The eeprom is 8 bits wide and is used to store data when the device is - powered down. Eeprom is not directly accessible, it can only be accessed - via io-registers using a special algorithm. Accessing eeprom via gdb's - remote serial protocol ('m' or 'M' packets) looks difficult to do and is - not included at this time. - - [The eeprom could be read manually via ``x/b '' or - written using ``set {unsigned char}''. For this to - work, the remote target must be able to handle eeprom accesses and perform - the address translation.] - - All three memory spaces have physical addresses beginning at 0x0. In - addition, the flash is addressed by gcc/binutils/gdb with respect to 8 bit - bytes instead of the 16 bit wide words used by the real device for the - Program Counter. - - In order for remote targets to work correctly, extra bits must be added to - addresses before they are send to the target or received from the target - via the remote serial protocol. The extra bits are the MSBs and are used to - decode which memory space the address is referring to. */ - -#undef XMALLOC -#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE))) - -#undef EXTRACT_INSN -#define EXTRACT_INSN(addr) extract_unsigned_integer(addr,2) - -/* Constants: prefixed with AVR_ to avoid name space clashes */ - -enum -{ - AVR_REG_W = 24, - AVR_REG_X = 26, - AVR_REG_Y = 28, - AVR_FP_REGNUM = 28, - AVR_REG_Z = 30, - - AVR_SREG_REGNUM = 32, - AVR_SP_REGNUM = 33, - AVR_PC_REGNUM = 34, - - AVR_NUM_REGS = 32 + 1 /*SREG*/ + 1 /*SP*/ + 1 /*PC*/, - AVR_NUM_REG_BYTES = 32 + 1 /*SREG*/ + 2 /*SP*/ + 4 /*PC*/, - - AVR_PC_REG_INDEX = 35, /* index into array of registers */ - - AVR_MAX_PROLOGUE_SIZE = 56, /* bytes */ - - /* Count of pushed registers. From r2 to r17 (inclusively), r28, r29 */ - AVR_MAX_PUSHES = 18, - - /* Number of the last pushed register. r17 for current avr-gcc */ - AVR_LAST_PUSHED_REGNUM = 17, - - /* FIXME: TRoth/2002-01-??: Can we shift all these memory masks left 8 - bits? Do these have to match the bfd vma values?. It sure would make - things easier in the future if they didn't need to match. - - Note: I chose these values so as to be consistent with bfd vma - addresses. - - TRoth/2002-04-08: There is already a conflict with very large programs - in the mega128. The mega128 has 128K instruction bytes (64K words), - thus the Most Significant Bit is 0x10000 which gets masked off my - AVR_MEM_MASK. - - The problem manifests itself when trying to set a breakpoint in a - function which resides in the upper half of the instruction space and - thus requires a 17-bit address. - - For now, I've just removed the EEPROM mask and changed AVR_MEM_MASK - from 0x00ff0000 to 0x00f00000. Eeprom is not accessible from gdb yet, - but could be for some remote targets by just adding the correct offset - to the address and letting the remote target handle the low-level - details of actually accessing the eeprom. */ - - AVR_IMEM_START = 0x00000000, /* INSN memory */ - AVR_SMEM_START = 0x00800000, /* SRAM memory */ -#if 1 - /* No eeprom mask defined */ - AVR_MEM_MASK = 0x00f00000, /* mask to determine memory space */ -#else - AVR_EMEM_START = 0x00810000, /* EEPROM memory */ - AVR_MEM_MASK = 0x00ff0000, /* mask to determine memory space */ -#endif -}; - -/* Any function with a frame looks like this - ....... <-SP POINTS HERE - LOCALS1 <-FP POINTS HERE - LOCALS0 - SAVED FP - SAVED R3 - SAVED R2 - RET PC - FIRST ARG - SECOND ARG */ - -struct frame_extra_info -{ - CORE_ADDR return_pc; - CORE_ADDR args_pointer; - int locals_size; - int framereg; - int framesize; - int is_main; -}; - -struct gdbarch_tdep -{ - /* FIXME: TRoth: is there anything to put here? */ - int foo; -}; - -/* Lookup the name of a register given it's number. */ - -static const char * -avr_register_name (int regnum) -{ - static char *register_names[] = { - "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", - "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", - "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", - "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31", - "SREG", "SP", "PC" - }; - if (regnum < 0) - return NULL; - if (regnum >= (sizeof (register_names) / sizeof (*register_names))) - return NULL; - return register_names[regnum]; -} - -/* Index within `registers' of the first byte of the space for - register REGNUM. */ - -static int -avr_register_byte (int regnum) -{ - if (regnum < AVR_PC_REGNUM) - return regnum; - else - return AVR_PC_REG_INDEX; -} - -/* Number of bytes of storage in the actual machine representation for - register REGNUM. */ - -static int -avr_register_raw_size (int regnum) -{ - switch (regnum) - { - case AVR_PC_REGNUM: - return 4; - case AVR_SP_REGNUM: - case AVR_FP_REGNUM: - return 2; - default: - return 1; - } -} - -/* Number of bytes of storage in the program's representation - for register N. */ - -static int -avr_register_virtual_size (int regnum) -{ - return TYPE_LENGTH (REGISTER_VIRTUAL_TYPE (regnum)); -} - -/* Return the GDB type object for the "standard" data type - of data in register N. */ - -static struct type * -avr_register_virtual_type (int regnum) -{ - switch (regnum) - { - case AVR_PC_REGNUM: - return builtin_type_unsigned_long; - case AVR_SP_REGNUM: - return builtin_type_unsigned_short; - default: - return builtin_type_unsigned_char; - } -} - -/* Instruction address checks and convertions. */ - -static CORE_ADDR -avr_make_iaddr (CORE_ADDR x) -{ - return ((x) | AVR_IMEM_START); -} - -static int -avr_iaddr_p (CORE_ADDR x) -{ - return (((x) & AVR_MEM_MASK) == AVR_IMEM_START); -} - -/* FIXME: TRoth: Really need to use a larger mask for instructions. Some - devices are already up to 128KBytes of flash space. - - TRoth/2002-04-8: See comment above where AVR_IMEM_START is defined. */ - -static CORE_ADDR -avr_convert_iaddr_to_raw (CORE_ADDR x) -{ - return ((x) & 0xffffffff); -} - -/* SRAM address checks and convertions. */ - -static CORE_ADDR -avr_make_saddr (CORE_ADDR x) -{ - return ((x) | AVR_SMEM_START); -} - -static int -avr_saddr_p (CORE_ADDR x) -{ - return (((x) & AVR_MEM_MASK) == AVR_SMEM_START); -} - -static CORE_ADDR -avr_convert_saddr_to_raw (CORE_ADDR x) -{ - return ((x) & 0xffffffff); -} - -/* EEPROM address checks and convertions. I don't know if these will ever - actually be used, but I've added them just the same. TRoth */ - -/* TRoth/2002-04-08: Commented out for now to allow fix for problem with large - programs in the mega128. */ - -/* static CORE_ADDR */ -/* avr_make_eaddr (CORE_ADDR x) */ -/* { */ -/* return ((x) | AVR_EMEM_START); */ -/* } */ - -/* static int */ -/* avr_eaddr_p (CORE_ADDR x) */ -/* { */ -/* return (((x) & AVR_MEM_MASK) == AVR_EMEM_START); */ -/* } */ - -/* static CORE_ADDR */ -/* avr_convert_eaddr_to_raw (CORE_ADDR x) */ -/* { */ -/* return ((x) & 0xffffffff); */ -/* } */ - -/* Convert from address to pointer and vice-versa. */ - -static void -avr_address_to_pointer (struct type *type, void *buf, CORE_ADDR addr) -{ - /* Is it a code address? */ - if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC - || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD) - { - store_unsigned_integer (buf, TYPE_LENGTH (type), - avr_convert_iaddr_to_raw (addr)); - } - else - { - /* Strip off any upper segment bits. */ - store_unsigned_integer (buf, TYPE_LENGTH (type), - avr_convert_saddr_to_raw (addr)); - } -} - -static CORE_ADDR -avr_pointer_to_address (struct type *type, void *buf) -{ - CORE_ADDR addr = extract_address (buf, TYPE_LENGTH (type)); - - if (TYPE_CODE_SPACE (TYPE_TARGET_TYPE (type))) - { - fprintf_unfiltered (gdb_stderr, "CODE_SPACE ---->> ptr->addr: 0x%lx\n", - addr); - fprintf_unfiltered (gdb_stderr, - "+++ If you see this, please send me an email \n"); - } - - /* Is it a code address? */ - if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC - || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD - || TYPE_CODE_SPACE (TYPE_TARGET_TYPE (type))) - return avr_make_iaddr (addr); - else - return avr_make_saddr (addr); -} - -static CORE_ADDR -avr_read_pc (ptid_t ptid) -{ - ptid_t save_ptid; - CORE_ADDR pc; - CORE_ADDR retval; - - save_ptid = inferior_ptid; - inferior_ptid = ptid; - pc = (int) read_register (AVR_PC_REGNUM); - inferior_ptid = save_ptid; - retval = avr_make_iaddr (pc); - return retval; -} - -static void -avr_write_pc (CORE_ADDR val, ptid_t ptid) -{ - ptid_t save_ptid; - - save_ptid = inferior_ptid; - inferior_ptid = ptid; - write_register (AVR_PC_REGNUM, avr_convert_iaddr_to_raw (val)); - inferior_ptid = save_ptid; -} - -static CORE_ADDR -avr_read_sp (void) -{ - return (avr_make_saddr (read_register (AVR_SP_REGNUM))); -} - -static void -avr_write_sp (CORE_ADDR val) -{ - write_register (AVR_SP_REGNUM, avr_convert_saddr_to_raw (val)); -} - -static CORE_ADDR -avr_read_fp (void) -{ - return (avr_make_saddr (read_register (AVR_FP_REGNUM))); -} - -/* Translate a GDB virtual ADDR/LEN into a format the remote target - understands. Returns number of bytes that can be transfered - starting at TARG_ADDR. Return ZERO if no bytes can be transfered - (segmentation fault). - - TRoth/2002-04-08: Could this be used to check for dereferencing an invalid - pointer? */ - -static void -avr_remote_translate_xfer_address (CORE_ADDR memaddr, int nr_bytes, - CORE_ADDR *targ_addr, int *targ_len) -{ - long out_addr; - long out_len; - - /* FIXME: TRoth: Do nothing for now. Will need to examine memaddr at this - point and see if the high bit are set with the masks that we want. */ - - *targ_addr = memaddr; - *targ_len = nr_bytes; -} - -/* Function pointers obtained from the target are half of what gdb expects so - multiply by 2. */ - -static CORE_ADDR -avr_convert_from_func_ptr_addr (CORE_ADDR addr) -{ - return addr * 2; -} - -/* avr_scan_prologue is also used as the frame_init_saved_regs(). - - Put here the code to store, into fi->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. */ - -/* Function: avr_scan_prologue (helper function for avr_init_extra_frame_info) - This function decodes a AVR function prologue to determine: - 1) the size of the stack frame - 2) which registers are saved on it - 3) the offsets of saved regs - This information is stored in the "extra_info" field of the frame_info. - - A typical AVR function prologue might look like this: - push rXX - push r28 - push r29 - in r28,__SP_L__ - in r29,__SP_H__ - sbiw r28, - in __tmp_reg__,__SREG__ - cli - out __SP_L__,r28 - out __SREG__,__tmp_reg__ - out __SP_H__,r29 - - A `-mcall-prologues' prologue look like this: - ldi r26, - ldi r27,/265 - ldi r30,pm_lo8(.L_foo_body) - ldi r31,pm_hi8(.L_foo_body) - rjmp __prologue_saves__+RRR - .L_foo_body: */ - -static void -avr_scan_prologue (struct frame_info *fi) -{ - CORE_ADDR prologue_start; - CORE_ADDR prologue_end; - int i; - unsigned short insn; - int regno; - int scan_stage = 0; - char *name; - struct minimal_symbol *msymbol; - int prologue_len; - unsigned char prologue[AVR_MAX_PROLOGUE_SIZE]; - int vpc = 0; - - fi->extra_info->framereg = AVR_SP_REGNUM; - - if (find_pc_partial_function - (fi->pc, &name, &prologue_start, &prologue_end)) - { - 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) */ - } - else - /* We're in the boondocks: allow for */ - /* 19 pushes, an add, and "mv fp,sp" */ - prologue_end = prologue_start + AVR_MAX_PROLOGUE_SIZE; - - prologue_end = min (prologue_end, fi->pc); - - /* Search the prologue looking for instructions that set up the - frame pointer, adjust the stack pointer, and save registers. */ - - fi->extra_info->framesize = 0; - prologue_len = prologue_end - prologue_start; - read_memory (prologue_start, prologue, prologue_len); - - /* Scanning main()'s prologue - ldi r28,lo8( - ) - ldi r29,hi8( - ) - out __SP_H__,r29 - out __SP_L__,r28 */ - - if (name && strcmp ("main", name) == 0 && prologue_len == 8) - { - CORE_ADDR locals; - unsigned char img[] = { - 0xde, 0xbf, /* out __SP_H__,r29 */ - 0xcd, 0xbf /* out __SP_L__,r28 */ - }; - - fi->extra_info->framereg = AVR_FP_REGNUM; - insn = EXTRACT_INSN (&prologue[vpc]); - /* ldi r28,lo8( - ) */ - if ((insn & 0xf0f0) == 0xe0c0) - { - locals = (insn & 0xf) | ((insn & 0x0f00) >> 4); - insn = EXTRACT_INSN (&prologue[vpc + 2]); - /* ldi r29,hi8( - ) */ - if ((insn & 0xf0f0) == 0xe0d0) - { - locals |= ((insn & 0xf) | ((insn & 0x0f00) >> 4)) << 8; - if (memcmp (prologue + vpc + 4, img, sizeof (img)) == 0) - { - fi->frame = locals; - - /* TRoth: Does -1 mean we're in main? */ - fi->extra_info->is_main = 1; - return; - } - } - } - } - - /* Scanning `-mcall-prologues' prologue - FIXME: mega prologue have a 12 bytes long */ - - while (prologue_len <= 12) /* I'm use while to avoit many goto's */ - { - int loc_size; - int body_addr; - unsigned num_pushes; - - insn = EXTRACT_INSN (&prologue[vpc]); - /* ldi r26, */ - if ((insn & 0xf0f0) != 0xe0a0) - break; - loc_size = (insn & 0xf) | ((insn & 0x0f00) >> 4); - - insn = EXTRACT_INSN (&prologue[vpc + 2]); - /* ldi r27, / 256 */ - if ((insn & 0xf0f0) != 0xe0b0) - break; - loc_size |= ((insn & 0xf) | ((insn & 0x0f00) >> 4)) << 8; - - insn = EXTRACT_INSN (&prologue[vpc + 4]); - /* ldi r30,pm_lo8(.L_foo_body) */ - if ((insn & 0xf0f0) != 0xe0e0) - break; - body_addr = (insn & 0xf) | ((insn & 0x0f00) >> 4); - - insn = EXTRACT_INSN (&prologue[vpc + 6]); - /* ldi r31,pm_hi8(.L_foo_body) */ - if ((insn & 0xf0f0) != 0xe0f0) - break; - body_addr |= ((insn & 0xf) | ((insn & 0x0f00) >> 4)) << 8; - - if (body_addr != (prologue_start + 10) / 2) - break; - - msymbol = lookup_minimal_symbol ("__prologue_saves__", NULL, NULL); - if (!msymbol) - break; - - /* FIXME: prologue for mega have a JMP instead of RJMP */ - insn = EXTRACT_INSN (&prologue[vpc + 8]); - /* rjmp __prologue_saves__+RRR */ - if ((insn & 0xf000) != 0xc000) - break; - - /* Extract PC relative offset from RJMP */ - i = (insn & 0xfff) | (insn & 0x800 ? (-1 ^ 0xfff) : 0); - /* Convert offset to byte addressable mode */ - i *= 2; - /* Destination address */ - i += vpc + prologue_start + 10; - /* Resovle offset (in words) from __prologue_saves__ symbol. - Which is a pushes count in `-mcall-prologues' mode */ - num_pushes = AVR_MAX_PUSHES - (i - SYMBOL_VALUE_ADDRESS (msymbol)) / 2; - - if (num_pushes > AVR_MAX_PUSHES) - num_pushes = 0; - - if (num_pushes) - { - int from; - fi->saved_regs[AVR_FP_REGNUM + 1] = num_pushes; - if (num_pushes >= 2) - fi->saved_regs[AVR_FP_REGNUM] = num_pushes - 1; - i = 0; - for (from = AVR_LAST_PUSHED_REGNUM + 1 - (num_pushes - 2); - from <= AVR_LAST_PUSHED_REGNUM; ++from) - fi->saved_regs[from] = ++i; - } - fi->extra_info->locals_size = loc_size; - fi->extra_info->framesize = loc_size + num_pushes; - fi->extra_info->framereg = AVR_FP_REGNUM; - return; - } - - /* Scan interrupt or signal function */ - - if (prologue_len >= 12) - { - unsigned char img[] = { - 0x78, 0x94, /* sei */ - 0x1f, 0x92, /* push r1 */ - 0x0f, 0x92, /* push r0 */ - 0x0f, 0xb6, /* in r0,0x3f SREG */ - 0x0f, 0x92, /* push r0 */ - 0x11, 0x24 /* clr r1 */ - }; - if (memcmp (prologue, img, sizeof (img)) == 0) - { - vpc += sizeof (img); - fi->saved_regs[0] = 2; - fi->saved_regs[1] = 1; - fi->extra_info->framesize += 3; - } - else if (memcmp (img + 1, prologue, sizeof (img) - 1) == 0) - { - vpc += sizeof (img) - 1; - fi->saved_regs[0] = 2; - fi->saved_regs[1] = 1; - fi->extra_info->framesize += 3; - } - } - - /* First stage of the prologue scanning. - Scan pushes */ - - for (; vpc <= prologue_len; vpc += 2) - { - insn = EXTRACT_INSN (&prologue[vpc]); - if ((insn & 0xfe0f) == 0x920f) /* push rXX */ - { - /* Bits 4-9 contain a mask for registers R0-R32. */ - regno = (insn & 0x1f0) >> 4; - ++fi->extra_info->framesize; - fi->saved_regs[regno] = fi->extra_info->framesize; - scan_stage = 1; - } - else - break; - } - - /* Second stage of the prologue scanning. - Scan: - in r28,__SP_L__ - in r29,__SP_H__ */ - - if (scan_stage == 1 && vpc + 4 <= prologue_len) - { - unsigned char img[] = { - 0xcd, 0xb7, /* in r28,__SP_L__ */ - 0xde, 0xb7 /* in r29,__SP_H__ */ - }; - unsigned short insn1; - - if (memcmp (prologue + vpc, img, sizeof (img)) == 0) - { - vpc += 4; - fi->extra_info->framereg = AVR_FP_REGNUM; - scan_stage = 2; - } - } - - /* Third stage of the prologue scanning. (Really two stages) - Scan for: - sbiw r28,XX or subi r28,lo8(XX) - sbci r29,hi8(XX) - in __tmp_reg__,__SREG__ - cli - out __SP_L__,r28 - out __SREG__,__tmp_reg__ - out __SP_H__,r29 */ - - if (scan_stage == 2 && vpc + 12 <= prologue_len) - { - int locals_size = 0; - unsigned char img[] = { - 0x0f, 0xb6, /* in r0,0x3f */ - 0xf8, 0x94, /* cli */ - 0xcd, 0xbf, /* out 0x3d,r28 ; SPL */ - 0x0f, 0xbe, /* out 0x3f,r0 ; SREG */ - 0xde, 0xbf /* out 0x3e,r29 ; SPH */ - }; - unsigned char img_sig[] = { - 0xcd, 0xbf, /* out 0x3d,r28 ; SPL */ - 0xde, 0xbf /* out 0x3e,r29 ; SPH */ - }; - unsigned char img_int[] = { - 0xf8, 0x94, /* cli */ - 0xcd, 0xbf, /* out 0x3d,r28 ; SPL */ - 0x78, 0x94, /* sei */ - 0xde, 0xbf /* out 0x3e,r29 ; SPH */ - }; - - insn = EXTRACT_INSN (&prologue[vpc]); - vpc += 2; - if ((insn & 0xff30) == 0x9720) /* sbiw r28,XXX */ - locals_size = (insn & 0xf) | ((insn & 0xc0) >> 2); - else if ((insn & 0xf0f0) == 0x50c0) /* subi r28,lo8(XX) */ - { - locals_size = (insn & 0xf) | ((insn & 0xf00) >> 4); - insn = EXTRACT_INSN (&prologue[vpc]); - vpc += 2; - locals_size += ((insn & 0xf) | ((insn & 0xf00) >> 4) << 8); - } - else - return; - fi->extra_info->locals_size = locals_size; - fi->extra_info->framesize += locals_size; - } -} - -/* This function actually figures out the frame address for a given pc and - sp. This is tricky because we sometimes don't use an explicit - frame pointer, and the previous stack pointer isn't necessarily recorded - on the stack. The only reliable way to get this info is to - examine the prologue. */ - -static void -avr_init_extra_frame_info (int fromleaf, struct frame_info *fi) -{ - int reg; - - if (fi->next) - fi->pc = FRAME_SAVED_PC (fi->next); - - fi->extra_info = (struct frame_extra_info *) - frame_obstack_alloc (sizeof (struct frame_extra_info)); - frame_saved_regs_zalloc (fi); - - fi->extra_info->return_pc = 0; - fi->extra_info->args_pointer = 0; - fi->extra_info->locals_size = 0; - fi->extra_info->framereg = 0; - fi->extra_info->framesize = 0; - fi->extra_info->is_main = 0; - - avr_scan_prologue (fi); - - 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, fi->frame); - } - else if (!fi->next) /* this is the innermost frame? */ - fi->frame = read_register (fi->extra_info->framereg); - else if (fi->extra_info->is_main != 1) /* not the innermost frame, not `main' */ - /* If we have an next frame, the callee saved it. */ - { - struct frame_info *next_fi = fi->next; - if (fi->extra_info->framereg == AVR_SP_REGNUM) - fi->frame = - next_fi->frame + 2 /* ret addr */ + next_fi->extra_info->framesize; - /* FIXME: I don't analyse va_args functions */ - else - { - CORE_ADDR fp = 0; - CORE_ADDR fp1 = 0; - unsigned int fp_low, fp_high; - - /* Scan all frames */ - for (; next_fi; next_fi = next_fi->next) - { - /* look for saved AVR_FP_REGNUM */ - if (next_fi->saved_regs[AVR_FP_REGNUM] && !fp) - fp = next_fi->saved_regs[AVR_FP_REGNUM]; - /* look for saved AVR_FP_REGNUM + 1 */ - if (next_fi->saved_regs[AVR_FP_REGNUM + 1] && !fp1) - fp1 = next_fi->saved_regs[AVR_FP_REGNUM + 1]; - } - fp_low = (fp ? read_memory_unsigned_integer (avr_make_saddr (fp), 1) - : read_register (AVR_FP_REGNUM)) & 0xff; - fp_high = - (fp1 ? read_memory_unsigned_integer (avr_make_saddr (fp1), 1) : - read_register (AVR_FP_REGNUM + 1)) & 0xff; - fi->frame = fp_low | (fp_high << 8); - } - } - - /* TRoth: Do we want to do this if we are in main? I don't think we should - since return_pc makes no sense when we are in main. */ - - if ((fi->pc) && (fi->extra_info->is_main == 0)) /* We are not in CALL_DUMMY */ - { - CORE_ADDR addr; - int i; - - addr = fi->frame + fi->extra_info->framesize + 1; - - /* Return address in stack in different endianness */ - - fi->extra_info->return_pc = - read_memory_unsigned_integer (avr_make_saddr (addr), 1) << 8; - fi->extra_info->return_pc |= - read_memory_unsigned_integer (avr_make_saddr (addr + 1), 1); - - /* This return address in words, - must be converted to the bytes address */ - fi->extra_info->return_pc *= 2; - - /* Resolve a pushed registers addresses */ - for (i = 0; i < NUM_REGS; i++) - { - if (fi->saved_regs[i]) - fi->saved_regs[i] = addr - fi->saved_regs[i]; - } - } -} - -/* Restore the machine to the state it had before the current frame was - created. Usually used either by the "RETURN" command, or by - call_function_by_hand after the dummy_frame is finished. */ - -static void -avr_pop_frame (void) -{ - unsigned regnum; - CORE_ADDR saddr; - struct frame_info *frame = get_current_frame (); - - if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)) - { - generic_pop_dummy_frame (); - } - else - { - /* TRoth: Why only loop over 8 registers? */ - - for (regnum = 0; regnum < 8; regnum++) - { - /* Don't forget AVR_SP_REGNUM in a frame_saved_regs struct is the - actual value we want, not the address of the value we want. */ - if (frame->saved_regs[regnum] && regnum != AVR_SP_REGNUM) - { - saddr = avr_make_saddr (frame->saved_regs[regnum]); - write_register (regnum, - read_memory_unsigned_integer (saddr, 1)); - } - else if (frame->saved_regs[regnum] && regnum == AVR_SP_REGNUM) - write_register (regnum, frame->frame + 2); - } - - /* Don't forget the update the PC too! */ - write_pc (frame->extra_info->return_pc); - } - flush_cached_frames (); -} - -/* Return the saved PC from this frame. */ - -static CORE_ADDR -avr_frame_saved_pc (struct frame_info *frame) -{ - if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)) - return generic_read_register_dummy (frame->pc, frame->frame, - AVR_PC_REGNUM); - else - return frame->extra_info->return_pc; -} - -static CORE_ADDR -avr_saved_pc_after_call (struct frame_info *frame) -{ - unsigned char m1, m2; - unsigned int sp = read_register (AVR_SP_REGNUM); - m1 = read_memory_unsigned_integer (avr_make_saddr (sp + 1), 1); - m2 = read_memory_unsigned_integer (avr_make_saddr (sp + 2), 1); - return (m2 | (m1 << 8)) * 2; -} - -/* Figure out where in REGBUF the called function has left its return value. - Copy that into VALBUF. */ - -static void -avr_extract_return_value (struct type *type, char *regbuf, char *valbuf) -{ - int wordsize, len; - - wordsize = 2; - - len = TYPE_LENGTH (type); - - switch (len) - { - case 1: /* (char) */ - case 2: /* (short), (int) */ - memcpy (valbuf, regbuf + REGISTER_BYTE (24), 2); - break; - case 4: /* (long), (float) */ - memcpy (valbuf, regbuf + REGISTER_BYTE (22), 4); - break; - case 8: /* (double) (doesn't seem to happen, which is good, - because this almost certainly isn't right. */ - error ("I don't know how a double is returned."); - break; - } -} - -/* Returns the return address for a dummy. */ - -static CORE_ADDR -avr_call_dummy_address (void) -{ - return entry_point_address (); -} - -/* Place the appropriate value in the appropriate registers. - Primarily used by the RETURN command. */ - -static void -avr_store_return_value (struct type *type, char *valbuf) -{ - int wordsize, len, regval; - - wordsize = 2; - - len = TYPE_LENGTH (type); - switch (len) - { - case 1: /* char */ - case 2: /* short, int */ - regval = extract_address (valbuf, len); - write_register (0, regval); - break; - case 4: /* long, float */ - regval = extract_address (valbuf, len); - write_register (0, regval >> 16); - write_register (1, regval & 0xffff); - break; - case 8: /* presumeably double, but doesn't seem to happen */ - error ("I don't know how to return a double."); - break; - } -} - -/* Setup the return address for a dummy frame, as called by - call_function_by_hand. Only necessary when you are using an empty - CALL_DUMMY. */ - -static CORE_ADDR -avr_push_return_address (CORE_ADDR pc, CORE_ADDR sp) -{ - unsigned char buf[2]; - int wordsize = 2; - struct minimal_symbol *msymbol; - CORE_ADDR mon_brk; - - fprintf_unfiltered (gdb_stderr, "avr_push_return_address() was called\n"); - - buf[0] = 0; - buf[1] = 0; - sp -= wordsize; - write_memory (sp + 1, buf, 2); - -#if 0 - /* FIXME: TRoth/2002-02-18: This should probably be removed since it's a - left-over from Denis' original patch which used avr-mon for the target - instead of the generic remote target. */ - if ((strcmp (target_shortname, "avr-mon") == 0) - && (msymbol = lookup_minimal_symbol ("gdb_break", NULL, NULL))) - { - mon_brk = SYMBOL_VALUE_ADDRESS (msymbol); - store_unsigned_integer (buf, wordsize, mon_brk / 2); - sp -= wordsize; - write_memory (sp + 1, buf + 1, 1); - write_memory (sp + 2, buf, 1); - } -#endif - return sp; -} - -static CORE_ADDR -avr_skip_prologue (CORE_ADDR pc) -{ - CORE_ADDR func_addr, func_end; - struct symtab_and_line sal; - - /* See what the symbol table says */ - - if (find_pc_partial_function (pc, NULL, &func_addr, &func_end)) - { - sal = find_pc_line (func_addr, 0); - - /* troth/2002-08-05: For some very simple functions, gcc doesn't - generate a prologue and the sal.end ends up being the 2-byte ``ret'' - instruction at the end of the function, but func_end ends up being - the address of the first instruction of the _next_ function. By - adjusting func_end by 2 bytes, we can catch these functions and not - return sal.end if it is the ``ret'' instruction. */ - - if (sal.line != 0 && sal.end < (func_end-2)) - return sal.end; - } - -/* Either we didn't find the start of this function (nothing we can do), - or there's no line info, or the line after the prologue is after - the end of the function (there probably isn't a prologue). */ - - return pc; -} - -static CORE_ADDR -avr_frame_address (struct frame_info *fi) -{ - return avr_make_saddr (fi->frame); -} - -/* 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 us, the frame address is its stack pointer value, so we look up - the function prologue to determine the caller's sp value, and return it. */ - -static CORE_ADDR -avr_frame_chain (struct frame_info *frame) -{ - if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)) - { - /* initialize the return_pc now */ - frame->extra_info->return_pc = generic_read_register_dummy (frame->pc, - frame-> - frame, - AVR_PC_REGNUM); - return frame->frame; - } - return (frame->extra_info->is_main ? 0 - : frame->frame + frame->extra_info->framesize + 2 /* ret addr */ ); -} - -/* Store the address of the place in which to copy the structure the - subroutine will return. This is called from call_function. - - We store structs through a pointer passed in the first Argument - register. */ - -static void -avr_store_struct_return (CORE_ADDR addr, CORE_ADDR sp) -{ - write_register (0, addr); -} - -/* Extract from an array REGBUF containing the (raw) register state - the address in which a function should return its structure value, - as a CORE_ADDR (or an expression that can be used as one). */ - -static CORE_ADDR -avr_extract_struct_value_address (char *regbuf) -{ - return (extract_address ((regbuf) + REGISTER_BYTE (0), - REGISTER_RAW_SIZE (0)) | AVR_SMEM_START); -} - -/* Setup the function arguments for calling a function in the inferior. - - On the AVR architecture, there are 18 registers (R25 to R8) which are - dedicated for passing function arguments. Up to the first 18 arguments - (depending on size) may go into these registers. The rest go on the stack. - - Arguments that are larger than WORDSIZE bytes will be split between two or - more registers as available, but will NOT be split between a register and - the stack. - - An exceptional case exists for struct arguments (and possibly other - aggregates such as arrays) -- if the size is larger than WORDSIZE bytes but - not a multiple of WORDSIZE bytes. In this case the argument is never split - between the registers and the stack, but instead is copied in its entirety - onto the stack, AND also copied into as many registers as there is room - for. In other words, space in registers permitting, two copies of the same - argument are passed in. As far as I can tell, only the one on the stack is - used, although that may be a function of the level of compiler - optimization. I suspect this is a compiler bug. Arguments of these odd - sizes are left-justified within the word (as opposed to arguments smaller - than WORDSIZE bytes, which are right-justified). - - If the function is to return an aggregate type such as a struct, the caller - must allocate space into which the callee will copy the return value. In - this case, a pointer to the return value location is passed into the callee - in register R0, which displaces one of the other arguments passed in via - registers R0 to R2. */ - -static CORE_ADDR -avr_push_arguments (int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) -{ - int stack_alloc, stack_offset; - int wordsize; - int argreg; - int argnum; - struct type *type; - CORE_ADDR regval; - char *val; - char valbuf[4]; - int len; - - wordsize = 1; -#if 0 - /* Now make sure there's space on the stack */ - for (argnum = 0, stack_alloc = 0; argnum < nargs; argnum++) - stack_alloc += TYPE_LENGTH (VALUE_TYPE (args[argnum])); - sp -= stack_alloc; /* make room on stack for args */ - /* we may over-allocate a little here, but that won't hurt anything */ -#endif - argreg = 25; - if (struct_return) /* "struct return" pointer takes up one argreg */ - { - write_register (--argreg, struct_addr); - } - - /* Now load as many as possible of the first arguments into registers, and - push the rest onto the stack. There are 3N bytes in three registers - available. Loop thru args from first to last. */ - - for (argnum = 0, stack_offset = 0; argnum < nargs; argnum++) - { - type = VALUE_TYPE (args[argnum]); - len = TYPE_LENGTH (type); - val = (char *) VALUE_CONTENTS (args[argnum]); - - /* NOTE WELL!!!!! This is not an "else if" clause!!! That's because - some *&^%$ things get passed on the stack AND in the registers! */ - while (len > 0) - { /* there's room in registers */ - len -= wordsize; - regval = extract_address (val + len, wordsize); - write_register (argreg--, regval); - } - } - return sp; -} - -/* Initialize the gdbarch structure for the AVR's. */ - -static struct gdbarch * -avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) -{ - /* FIXME: TRoth/2002-02-18: I have no idea if avr_call_dummy_words[] should - be bigger or not. Initial testing seems to show that `call my_func()` - works and backtrace from a breakpoint within the call looks correct. - Admittedly, I haven't tested with more than a very simple program. */ - static LONGEST avr_call_dummy_words[] = { 0 }; - - struct gdbarch *gdbarch; - struct gdbarch_tdep *tdep; - - /* Find a candidate among the list of pre-declared architectures. */ - arches = gdbarch_list_lookup_by_info (arches, &info); - if (arches != NULL) - return arches->gdbarch; - - /* None found, create a new architecture from the information provided. */ - tdep = XMALLOC (struct gdbarch_tdep); - gdbarch = gdbarch_alloc (&info, tdep); - - /* If we ever need to differentiate the device types, do it here. */ - switch (info.bfd_arch_info->mach) - { - case bfd_mach_avr1: - case bfd_mach_avr2: - case bfd_mach_avr3: - case bfd_mach_avr4: - case bfd_mach_avr5: - break; - } - - set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT); - set_gdbarch_int_bit (gdbarch, 2 * TARGET_CHAR_BIT); - set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT); - set_gdbarch_long_long_bit (gdbarch, 8 * TARGET_CHAR_BIT); - set_gdbarch_ptr_bit (gdbarch, 2 * TARGET_CHAR_BIT); - set_gdbarch_addr_bit (gdbarch, 32); - set_gdbarch_bfd_vma_bit (gdbarch, 32); /* FIXME: TRoth/2002-02-18: Is this needed? */ - - set_gdbarch_float_bit (gdbarch, 4 * TARGET_CHAR_BIT); - set_gdbarch_double_bit (gdbarch, 4 * TARGET_CHAR_BIT); - set_gdbarch_long_double_bit (gdbarch, 4 * TARGET_CHAR_BIT); - - set_gdbarch_float_format (gdbarch, &floatformat_ieee_single_little); - set_gdbarch_double_format (gdbarch, &floatformat_ieee_single_little); - set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_single_little); - - set_gdbarch_read_pc (gdbarch, avr_read_pc); - set_gdbarch_write_pc (gdbarch, avr_write_pc); - set_gdbarch_read_fp (gdbarch, avr_read_fp); - set_gdbarch_read_sp (gdbarch, avr_read_sp); - set_gdbarch_write_sp (gdbarch, avr_write_sp); - - set_gdbarch_num_regs (gdbarch, AVR_NUM_REGS); - - set_gdbarch_sp_regnum (gdbarch, AVR_SP_REGNUM); - set_gdbarch_fp_regnum (gdbarch, AVR_FP_REGNUM); - set_gdbarch_pc_regnum (gdbarch, AVR_PC_REGNUM); - - set_gdbarch_register_name (gdbarch, avr_register_name); - set_gdbarch_register_size (gdbarch, 1); - set_gdbarch_register_bytes (gdbarch, AVR_NUM_REG_BYTES); - set_gdbarch_register_byte (gdbarch, avr_register_byte); - set_gdbarch_register_raw_size (gdbarch, avr_register_raw_size); - set_gdbarch_max_register_raw_size (gdbarch, 4); - set_gdbarch_register_virtual_size (gdbarch, avr_register_virtual_size); - set_gdbarch_max_register_virtual_size (gdbarch, 4); - set_gdbarch_register_virtual_type (gdbarch, avr_register_virtual_type); - - set_gdbarch_get_saved_register (gdbarch, generic_unwind_get_saved_register); - - set_gdbarch_print_insn (gdbarch, print_insn_avr); - - set_gdbarch_use_generic_dummy_frames (gdbarch, 1); - set_gdbarch_call_dummy_location (gdbarch, AT_ENTRY_POINT); - set_gdbarch_call_dummy_address (gdbarch, avr_call_dummy_address); - set_gdbarch_call_dummy_start_offset (gdbarch, 0); - set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1); - set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); - set_gdbarch_call_dummy_length (gdbarch, 0); - set_gdbarch_pc_in_call_dummy (gdbarch, generic_pc_in_call_dummy); - set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_words (gdbarch, avr_call_dummy_words); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); - set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); - -/* set_gdbarch_believe_pcc_promotion (gdbarch, 1); // TRoth: should this be set? */ - - set_gdbarch_address_to_pointer (gdbarch, avr_address_to_pointer); - set_gdbarch_pointer_to_address (gdbarch, avr_pointer_to_address); - set_gdbarch_deprecated_extract_return_value (gdbarch, avr_extract_return_value); - set_gdbarch_push_arguments (gdbarch, avr_push_arguments); - set_gdbarch_push_dummy_frame (gdbarch, generic_push_dummy_frame); -/* set_gdbarch_push_return_address (gdbarch, avr_push_return_address); */ - set_gdbarch_pop_frame (gdbarch, avr_pop_frame); - - set_gdbarch_deprecated_store_return_value (gdbarch, avr_store_return_value); - - set_gdbarch_use_struct_convention (gdbarch, generic_use_struct_convention); - set_gdbarch_store_struct_return (gdbarch, avr_store_struct_return); - set_gdbarch_deprecated_extract_struct_value_address - (gdbarch, avr_extract_struct_value_address); - - set_gdbarch_frame_init_saved_regs (gdbarch, avr_scan_prologue); - set_gdbarch_init_extra_frame_info (gdbarch, avr_init_extra_frame_info); - set_gdbarch_skip_prologue (gdbarch, avr_skip_prologue); -/* set_gdbarch_prologue_frameless_p (gdbarch, avr_prologue_frameless_p); */ - set_gdbarch_inner_than (gdbarch, core_addr_lessthan); - - set_gdbarch_decr_pc_after_break (gdbarch, 0); - - set_gdbarch_function_start_offset (gdbarch, 0); - set_gdbarch_remote_translate_xfer_address (gdbarch, - avr_remote_translate_xfer_address); - set_gdbarch_frame_args_skip (gdbarch, 0); - set_gdbarch_frameless_function_invocation (gdbarch, frameless_look_for_prologue); /* ??? */ - set_gdbarch_frame_chain (gdbarch, avr_frame_chain); - set_gdbarch_frame_chain_valid (gdbarch, generic_func_frame_chain_valid); - set_gdbarch_frame_saved_pc (gdbarch, avr_frame_saved_pc); - set_gdbarch_frame_args_address (gdbarch, avr_frame_address); - set_gdbarch_frame_locals_address (gdbarch, avr_frame_address); - set_gdbarch_saved_pc_after_call (gdbarch, avr_saved_pc_after_call); - set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); - - set_gdbarch_convert_from_func_ptr_addr (gdbarch, - avr_convert_from_func_ptr_addr); - - return gdbarch; -} - -/* Send a query request to the avr remote target asking for values of the io - registers. If args parameter is not NULL, then the user has requested info - on a specific io register [This still needs implemented and is ignored for - now]. The query string should be one of these forms: - - "Ravr.io_reg" -> reply is "NN" number of io registers - - "Ravr.io_reg:addr,len" where addr is first register and len is number of - registers to be read. The reply should be ",VV;" for each io register - where, is a string, and VV is the hex value of the register. - - All io registers are 8-bit. */ - -static void -avr_io_reg_read_command (char *args, int from_tty) -{ - int bufsiz = 0; - char buf[400]; - char query[400]; - char *p; - unsigned int nreg = 0; - unsigned int val; - int i, j, k, step; - -/* fprintf_unfiltered (gdb_stderr, "DEBUG: avr_io_reg_read_command (\"%s\", %d)\n", */ -/* args, from_tty); */ - - if (!current_target.to_query) - { - fprintf_unfiltered (gdb_stderr, - "ERR: info io_registers NOT supported by current target\n"); - return; - } - - /* Just get the maximum buffer size. */ - target_query ((int) 'R', 0, 0, &bufsiz); - if (bufsiz > sizeof (buf)) - bufsiz = sizeof (buf); - - /* Find out how many io registers the target has. */ - strcpy (query, "avr.io_reg"); - target_query ((int) 'R', query, buf, &bufsiz); - - if (strncmp (buf, "", bufsiz) == 0) - { - fprintf_unfiltered (gdb_stderr, - "info io_registers NOT supported by target\n"); - return; - } - - if (sscanf (buf, "%x", &nreg) != 1) - { - fprintf_unfiltered (gdb_stderr, - "Error fetching number of io registers\n"); - return; - } - - reinitialize_more_filter (); - - printf_unfiltered ("Target has %u io registers:\n\n", nreg); - - /* only fetch up to 8 registers at a time to keep the buffer small */ - step = 8; - - for (i = 0; i < nreg; i += step) - { - j = step - (nreg % step); /* how many registers this round? */ - - snprintf (query, sizeof (query) - 1, "avr.io_reg:%x,%x", i, j); - target_query ((int) 'R', query, buf, &bufsiz); - - p = buf; - for (k = i; k < (i + j); k++) - { - if (sscanf (p, "%[^,],%x;", query, &val) == 2) - { - printf_filtered ("[%02x] %-15s : %02x\n", k, query, val); - while ((*p != ';') && (*p != '\0')) - p++; - p++; /* skip over ';' */ - if (*p == '\0') - break; - } - } - } -} - -void -_initialize_avr_tdep (void) -{ - register_gdbarch_init (bfd_arch_avr, avr_gdbarch_init); - - /* Add a new command to allow the user to query the avr remote target for - the values of the io space registers in a saner way than just using - `x/NNNb ADDR`. */ - - /* FIXME: TRoth/2002-02-18: This should probably be changed to 'info avr - io_registers' to signify it is not available on other platforms. */ - - add_cmd ("io_registers", class_info, avr_io_reg_read_command, - "query remote avr target for io space register values", &infolist); -} diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c deleted file mode 100644 index 8f23905a90d..00000000000 --- a/gdb/ax-gdb.c +++ /dev/null @@ -1,1860 +0,0 @@ -/* GDB-specific functions for operating on agent expressions - 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" -#include "symtab.h" -#include "symfile.h" -#include "gdbtypes.h" -#include "value.h" -#include "expression.h" -#include "command.h" -#include "gdbcmd.h" -#include "frame.h" -#include "target.h" -#include "ax.h" -#include "ax-gdb.h" -#include "gdb_string.h" - -/* 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 - linear form afterwards; we could generate fewer `swap', `ext', and - `zero_ext' bytecodes that way; it would make good constant folding - easier, too. But at the moment, I think we should be willing to - pay for the simplicity of this code with less-than-optimal bytecode - strings. - - 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 (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. - Otherwise, return zero. - - Hey, Wally! How can a variable reference be a constant? - - Well, Beav, this function really handles the OP_VAR_VALUE operator, - not specifically variable references. GDB uses OP_VAR_VALUE to - refer to any kind of symbolic reference: function names, enum - elements, and goto labels are all handled through the OP_VAR_VALUE - operator, even though they're constants. It makes sense given the - situation. - - Gee, Wally, don'cha wonder sometimes if data representations that - subvert commonly accepted definitions of terms in favor of heavily - context-specific interpretations are really just a tool of the - programming hegemony to preserve their power and exclude the - proletariat? */ - -static struct value * -const_var_ref (struct symbol *var) -{ - struct type *type = SYMBOL_TYPE (var); - - switch (SYMBOL_CLASS (var)) - { - case LOC_CONST: - return value_from_longest (type, (LONGEST) SYMBOL_VALUE (var)); - - case LOC_LABEL: - return value_from_pointer (type, (CORE_ADDR) SYMBOL_VALUE_ADDRESS (var)); - - default: - return 0; - } -} - - -/* If the expression starting at *PC has a constant value, return it. - Otherwise, return zero. If we return a value, then *PC will be - advanced to the end of it. If we return zero, *PC could be - anywhere. */ -static struct value * -const_expr (union exp_element **pc) -{ - enum exp_opcode op = (*pc)->opcode; - struct value *v1; - - switch (op) - { - case OP_LONG: - { - struct type *type = (*pc)[1].type; - LONGEST k = (*pc)[2].longconst; - (*pc) += 4; - return value_from_longest (type, k); - } - - case OP_VAR_VALUE: - { - struct value *v = const_var_ref ((*pc)[2].symbol); - (*pc) += 4; - return v; - } - - /* We could add more operators in here. */ - - case UNOP_NEG: - (*pc)++; - v1 = const_expr (pc); - if (v1) - return value_neg (v1); - else - return 0; - - default: - return 0; - } -} - - -/* Like const_expr, but guarantee also that *PC is undisturbed if the - expression is not constant. */ -static struct value * -maybe_const_expr (union exp_element **pc) -{ - union exp_element *tentative_pc = *pc; - struct value *v = const_expr (&tentative_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 - want to make a change that contradicts one of these, then you'd - 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. - - - 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!) - - - We don't support side effects. Thus, we don't have to worry about - 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. - - - We assume all subexpressions have a static, unchanging type. If - 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.) */ - - -/* Generating bytecode from GDB expressions: the `trace' kludge */ - -/* The compiler in this file is a general-purpose mechanism for - translating GDB expressions into bytecode. One ought to be able to - find a million and one uses for it. - - However, at the moment it is HOPELESSLY BRAIN-DAMAGED for the sake - of expediency. Let he who is without sin cast the first stone. - - For the data tracing facility, we need to insert `trace' bytecodes - before each data fetch; this records all the memory that the - expression touches in the course of evaluation, so that memory will - be available when the user later tries to evaluate the expression - in GDB. - - This should be done (I think) in a post-processing pass, that walks - an arbitrary agent expression and inserts `trace' operations at the - appropriate points. But it's much faster to just hack them - directly into the code. And since we're in a crunch, that's what - I've done. - - Setting the flag trace_kludge to non-zero enables the code that - emits the trace bytecodes at the appropriate points. */ -static int trace_kludge; - -/* Trace the lvalue on the stack, if it needs it. In either case, pop - 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 (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. */ - ax_simple (ax, aop_pop); - break; - - case axs_lvalue_memory: - { - int length = TYPE_LENGTH (value->type); - - /* There's no point in trying to use a trace_quick bytecode - here, since "trace_quick SIZE pop" is three bytes, whereas - "const8 SIZE trace" is also three bytes, does the same - thing, and the simplest code which generates that will also - work correctly for objects with large sizes. */ - ax_const_l (ax, length); - ax_simple (ax, aop_trace); - } - break; - - case axs_lvalue_register: - /* We need to mention the register somewhere in the bytecode, - so ax_reqs will pick it up and add it to the mask of - registers used. */ - ax_reg (ax, value->u.reg); - ax_simple (ax, aop_pop); - break; - } - else - /* 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 (struct agent_expr *ax, struct type *type) -{ - /* Do we need to sign-extend this? */ - if (!TYPE_UNSIGNED (type)) - ax_ext (ax, TYPE_LENGTH (type) * TARGET_CHAR_BIT); -} - - -/* Assume the lower bits of the top of the stack hold a value of type - TYPE, and the upper bits are garbage. Sign-extend or truncate as - needed. */ -static void -gen_extend (struct agent_expr *ax, struct type *type) -{ - int bits = TYPE_LENGTH (type) * TARGET_CHAR_BIT; - /* I just had to. */ - ((TYPE_UNSIGNED (type) ? ax_zero_ext : ax_ext) (ax, bits)); -} - - -/* Assume that the top of the stack contains a value of type "pointer - to TYPE"; generate code to fetch its value. Note that TYPE is the - target type, not the pointer type. */ -static void -gen_fetch (struct agent_expr *ax, struct type *type) -{ - if (trace_kludge) - { - /* Record the area of memory we're about to fetch. */ - ax_trace_quick (ax, TYPE_LENGTH (type)); - } - - switch (TYPE_CODE (type)) - { - case TYPE_CODE_PTR: - case TYPE_CODE_ENUM: - case TYPE_CODE_INT: - case TYPE_CODE_CHAR: - /* It's a scalar value, so we know how to dereference it. How - many bytes long is it? */ - switch (TYPE_LENGTH (type)) - { - 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: - internal_error (__FILE__, __LINE__, - "gen_fetch: strange size"); - } - - gen_sign_extend (ax, type); - break; - - 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. */ - internal_error (__FILE__, __LINE__, - "gen_fetch: bad type code"); - } -} - - -/* Generate code to left shift the top of the stack by DISTANCE bits, or - right shift it by -DISTANCE bits if DISTANCE < 0. This generates - unsigned (logical) right shifts. */ -static void -gen_left_shift (struct agent_expr *ax, int distance) -{ - if (distance > 0) - { - ax_const_l (ax, distance); - ax_simple (ax, aop_lsh); - } - else if (distance < 0) - { - ax_const_l (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 (struct agent_expr *ax) -{ - int frame_reg; - LONGEST frame_offset; - - TARGET_VIRTUAL_FRAME_POINTER (ax->scope, &frame_reg, &frame_offset); - ax_reg (ax, frame_reg); - gen_offset (ax, frame_offset); -} - - -/* Generate code to push the base address of the locals portion of the - top stack frame. */ -static void -gen_frame_locals_address (struct agent_expr *ax) -{ - int frame_reg; - LONGEST frame_offset; - - TARGET_VIRTUAL_FRAME_POINTER (ax->scope, &frame_reg, &frame_offset); - ax_reg (ax, frame_reg); - gen_offset (ax, frame_offset); -} - - -/* Generate code to add OFFSET to the top of the stack. Try to - generate short and readable code. We use this for getting to - variables on the stack, and structure members. If we were - programming in ML, it would be clearer why these are the same - thing. */ -static void -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 - bytecode. */ - if (offset > 0) - { - ax_const_l (ax, offset); - ax_simple (ax, aop_add); - } - else if (offset < 0) - { - ax_const_l (ax, -offset); - ax_simple (ax, aop_sub); - } -} - - -/* In many cases, a symbol's value is the offset from some other - address (stack frame, base register, etc.) Generate code to add - VAR's value to the top of the stack. */ -static void -gen_sym_offset (struct agent_expr *ax, struct symbol *var) -{ - gen_offset (ax, SYMBOL_VALUE (var)); -} - - -/* Generate code for a variable reference to AX. The variable is the - symbol VAR. Set VALUE to describe the result. */ - -static void -gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var) -{ - /* Dereference any typedefs. */ - value->type = check_typedef (SYMBOL_TYPE (var)); - - /* I'm imitating the code in read_var_value. */ - switch (SYMBOL_CLASS (var)) - { - case LOC_CONST: /* A constant, like an enum value. */ - ax_const_l (ax, (LONGEST) SYMBOL_VALUE (var)); - value->kind = axs_rvalue; - break; - - case LOC_LABEL: /* A goto label, being used as a value. */ - ax_const_l (ax, (LONGEST) SYMBOL_VALUE_ADDRESS (var)); - value->kind = axs_rvalue; - break; - - case LOC_CONST_BYTES: - 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: - /* Push the address of the variable. */ - ax_const_l (ax, SYMBOL_VALUE_ADDRESS (var)); - value->kind = axs_lvalue_memory; - break; - - case LOC_ARG: /* var lives in argument area of frame */ - gen_frame_args_address (ax); - gen_sym_offset (ax, var); - value->kind = axs_lvalue_memory; - break; - - case LOC_REF_ARG: /* As above, but the frame slot really - holds the address of the variable. */ - gen_frame_args_address (ax); - gen_sym_offset (ax, var); - /* Don't assume any particular pointer size. */ - gen_fetch (ax, lookup_pointer_type (builtin_type_void)); - value->kind = axs_lvalue_memory; - break; - - case LOC_LOCAL: /* var lives in locals area of frame */ - case LOC_LOCAL_ARG: - gen_frame_locals_address (ax); - gen_sym_offset (ax, var); - value->kind = axs_lvalue_memory; - break; - - case LOC_BASEREG: /* relative to some base register */ - case LOC_BASEREG_ARG: - ax_reg (ax, SYMBOL_BASEREG (var)); - gen_sym_offset (ax, var); - value->kind = axs_lvalue_memory; - break; - - case LOC_TYPEDEF: - error ("Cannot compute value of typedef `%s'.", - SYMBOL_SOURCE_NAME (var)); - break; - - case LOC_BLOCK: - ax_const_l (ax, BLOCK_START (SYMBOL_BLOCK_VALUE (var))); - value->kind = axs_rvalue; - break; - - case LOC_REGISTER: - case LOC_REGPARM: - /* Don't generate any code at all; in the process of treating - this as an lvalue or rvalue, the caller will generate the - right code. */ - value->kind = axs_lvalue_register; - value->u.reg = SYMBOL_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. */ - case LOC_REGPARM_ADDR: - ax_reg (ax, SYMBOL_VALUE (var)); - value->kind = axs_lvalue_memory; - break; - - case LOC_UNRESOLVED: - { - 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; - - case LOC_OPTIMIZED_OUT: - error ("The variable `%s' has been optimized out.", - SYMBOL_SOURCE_NAME (var)); - break; - - default: - error ("Cannot find value of botched symbol `%s'.", - SYMBOL_SOURCE_NAME (var)); - break; - } -} - - - -/* Generating bytecode from GDB expressions: literals */ - -static void -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 (struct agent_expr *ax, struct axs_value *value) -{ - switch (value->kind) - { - case axs_rvalue: - /* It's already an rvalue. */ - break; - - case axs_lvalue_memory: - /* The top of stack is the address of the object. Dereference. */ - gen_fetch (ax, value->type); - break; - - case axs_lvalue_register: - /* 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? */ - ax_reg (ax, value->u.reg); - gen_extend (ax, value->type); - break; - } - - value->kind = axs_rvalue; -} - - -/* Assume the top of the stack is described by VALUE, and perform the - usual unary conversions. This is motivated by ANSI 6.2.2, but of - course GDB expressions are not ANSI; they're the mishmash union of - a bunch of languages. Rah. - - NOTE! This function promises to produce an rvalue only when the - incoming value is of an appropriate type. In other words, the - consumer of the value this function produces may assume the value - is an rvalue only after checking its type. - - The immediate issue is that if the user tries to use a structure or - union as an operand of, say, the `+' operator, we don't want to try - to convert that structure to an rvalue; require_rvalue will bomb on - structs and unions. Rather, we want to simply pass the struct - lvalue through unchanged, and let `+' raise an error. */ - -static void -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 - the stack. Should we tweak the type? */ - - /* Some types require special handling. */ - switch (TYPE_CODE (value->type)) - { - /* Functions get converted to a pointer to the function. */ - case TYPE_CODE_FUNC: - value->type = lookup_pointer_type (value->type); - value->kind = axs_rvalue; /* Should always be true, but just in case. */ - break; - - /* Arrays get converted to a pointer to their first element, and - are no longer an lvalue. */ - case TYPE_CODE_ARRAY: - { - struct type *elements = TYPE_TARGET_TYPE (value->type); - value->type = lookup_pointer_type (elements); - value->kind = axs_rvalue; - /* We don't need to generate any code; the address of the array - is also the address of its first element. */ - } - break; - - /* 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; - - /* If the value is an enum, call it an integer. */ - case TYPE_CODE_ENUM: - value->type = builtin_type_int; - break; - } - - /* If the value is an lvalue, dereference it. */ - require_rvalue (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 (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))); -} - - -/* Return the "wider" of the two types TYPE1 and TYPE2. */ -static struct type * -max_type (struct type *type1, struct type *type2) -{ - return type_wider_than (type1, type2) ? type1 : type2; -} - - -/* Generate code to convert a scalar value of type FROM to type TO. */ -static void -gen_conversion (struct agent_expr *ax, struct type *from, struct type *to) -{ - /* Perhaps there is a more graceful way to state these rules. */ - - /* If we're converting to a narrower type, then we need to clear out - the upper bits. */ - if (TYPE_LENGTH (to) < TYPE_LENGTH (from)) - gen_extend (ax, from); - - /* If the two values have equal width, but different signednesses, - then we need to extend. */ - else if (TYPE_LENGTH (to) == TYPE_LENGTH (from)) - { - if (TYPE_UNSIGNED (from) != TYPE_UNSIGNED (to)) - gen_extend (ax, to); - } - - /* If we're converting to a wider type, and becoming unsigned, then - we need to zero out any possible sign bits. */ - else if (TYPE_LENGTH (to) > TYPE_LENGTH (from)) - { - if (TYPE_UNSIGNED (to)) - gen_extend (ax, 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 (struct type *from, struct type *to) -{ - struct agent_expr *ax = new_agent_expr (0); - int nontrivial; - - /* Actually generate the code, and see if anything came out. At the - moment, it would be trivial to replicate the code in - gen_conversion here, but in the future, when we're supporting - floating point and the like, it may not be. Doing things this - way allows this function to be independent of the logic in - gen_conversion. */ - gen_conversion (ax, from, to); - nontrivial = ax->len > 0; - free_agent_expr (ax); - return nontrivial; -} - - -/* Generate code to perform the "usual arithmetic conversions" (ANSI C - 6.2.1.5) for the two operands of an arithmetic operator. This - effectively finds a "least upper bound" type for the two arguments, - 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 (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. */ - struct type *target = max_type (builtin_type_int, - max_type (value1->type, value2->type)); - - /* Deal with value2, on the top of the stack. */ - gen_conversion (ax, value2->type, target); - - /* Deal with value1, not on the top of the stack. Don't - generate the `swap' instructions if we're not actually going - to do anything. */ - if (is_nontrivial_conversion (value1->type, target)) - { - ax_simple (ax, aop_swap); - gen_conversion (ax, value1->type, target); - ax_simple (ax, aop_swap); - } - - value1->type = value2->type = target; - } -} - - -/* Generate code to perform the integral promotions (ANSI 6.2.1.1) on - the value on the top of the stack, as described by VALUE. Assume - the value has integral type. */ -static void -gen_integral_promotions (struct agent_expr *ax, struct axs_value *value) -{ - 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)) - { - gen_conversion (ax, value->type, builtin_type_unsigned_int); - value->type = builtin_type_unsigned_int; - } -} - - -/* Generate code for a cast to TYPE. */ -static void -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. */ - require_rvalue (ax, value); - /* Dereference typedefs. */ - type = check_typedef (type); - - switch (TYPE_CODE (type)) - { - case TYPE_CODE_PTR: - /* It's implementation-defined, and I'll bet this is what GCC - does. */ - break; - - case TYPE_CODE_ARRAY: - case TYPE_CODE_STRUCT: - case TYPE_CODE_UNION: - case TYPE_CODE_FUNC: - error ("Illegal type cast: intended type must be scalar."); - - case TYPE_CODE_ENUM: - /* We don't have to worry about the size of the value, because - all our integral values are fully sign-extended, and when - casting pointers we can do anything we like. Is there any - way for us to actually know what GCC actually does with a - 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. */ - break; - - default: - error ("Casts to requested type are not yet implemented."); - } - - 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 (struct agent_expr *ax, enum agent_op op, struct type *type) -{ - struct type *element = TYPE_TARGET_TYPE (type); - - if (TYPE_LENGTH (element) != 1) - { - ax_const_l (ax, TYPE_LENGTH (element)); - ax_simple (ax, op); - } -} - - -/* Generate code for an addition; non-trivial because we deal with - pointer arithmetic. We set VALUE to describe the result value; we - assume VALUE1 and VALUE2 describe the two operands, and that - 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 (struct agent_expr *ax, struct axs_value *value, - struct axs_value *value1, struct axs_value *value2, char *name) -{ - /* Is it INT+PTR? */ - if (TYPE_CODE (value1->type) == TYPE_CODE_INT - && TYPE_CODE (value2->type) == TYPE_CODE_PTR) - { - /* Swap the values and proceed normally. */ - ax_simple (ax, aop_swap); - gen_scale (ax, aop_mul, value2->type); - ax_simple (ax, aop_add); - gen_extend (ax, value2->type); /* Catch overflow. */ - value->type = value2->type; - } - - /* Is it PTR+INT? */ - else if (TYPE_CODE (value1->type) == TYPE_CODE_PTR - && TYPE_CODE (value2->type) == TYPE_CODE_INT) - { - gen_scale (ax, aop_mul, value1->type); - ax_simple (ax, aop_add); - gen_extend (ax, value1->type); /* Catch overflow. */ - value->type = value1->type; - } - - /* Must be number + number; the usual binary conversions will have - brought them both to the same width. */ - else if (TYPE_CODE (value1->type) == TYPE_CODE_INT - && TYPE_CODE (value2->type) == TYPE_CODE_INT) - { - ax_simple (ax, aop_add); - gen_extend (ax, value1->type); /* Catch overflow. */ - value->type = value1->type; - } - - else - error ("Illegal combination of types in %s.", name); - - value->kind = axs_rvalue; -} - - -/* Generate code for an addition; non-trivial because we have to deal - with pointer arithmetic. We set VALUE to describe the result - value; we assume VALUE1 and VALUE2 describe the two operands, and - that they've undergone the usual binary conversions. */ -static void -gen_sub (struct agent_expr *ax, struct axs_value *value, - struct axs_value *value1, struct axs_value *value2) -{ - if (TYPE_CODE (value1->type) == TYPE_CODE_PTR) - { - /* Is it PTR - INT? */ - if (TYPE_CODE (value2->type) == TYPE_CODE_INT) - { - gen_scale (ax, aop_mul, value1->type); - ax_simple (ax, aop_sub); - 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. */ - else if (TYPE_CODE (value2->type) == 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 */ - } - else - error ("\ -First argument of `-' is a pointer, but second argument is neither\n\ -an integer nor a pointer of the same type."); - } - - /* Must be number + number. */ - else if (TYPE_CODE (value1->type) == TYPE_CODE_INT - && TYPE_CODE (value2->type) == TYPE_CODE_INT) - { - ax_simple (ax, aop_sub); - gen_extend (ax, value1->type); /* Catch overflow. */ - value->type = value1->type; - } - - else - error ("Illegal combination of types in subtraction."); - - value->kind = axs_rvalue; -} - -/* Generate code for a binary operator that doesn't do pointer magic. - We set VALUE to describe the result value; we assume VALUE1 and - VALUE2 describe the two operands, and that they've undergone the - usual binary conversions. MAY_CARRY should be non-zero iff the - result needs to be extended. NAME is the English name of the - operator, used in error messages */ -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) -{ - /* We only handle INT op INT. */ - if ((TYPE_CODE (value1->type) != TYPE_CODE_INT) - || (TYPE_CODE (value2->type) != 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 */ - value->type = value1->type; - value->kind = axs_rvalue; -} - - -static void -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) - error ("Illegal type of operand to `!'."); - - gen_usual_unary (ax, value); - ax_simple (ax, aop_log_not); - value->type = builtin_type_int; -} - - -static void -gen_complement (struct agent_expr *ax, struct axs_value *value) -{ - if (TYPE_CODE (value->type) != TYPE_CODE_INT) - error ("Illegal type of operand to `~'."); - - gen_usual_unary (ax, value); - gen_integral_promotions (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 (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 (TYPE_CODE (value->type) != TYPE_CODE_PTR) - 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 - actually emit any code; we just change the type from "Pointer to - T" to "T", and mark the value as an lvalue in memory. Leave it - to the consumer to actually dereference it. */ - value->type = check_typedef (TYPE_TARGET_TYPE (value->type)); - value->kind = ((TYPE_CODE (value->type) == TYPE_CODE_FUNC) - ? axs_rvalue : axs_lvalue_memory); -} - - -/* Produce the address of the lvalue on the top of the stack. */ -static void -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 - arrangement is not without motivation. */ - if (TYPE_CODE (value->type) == TYPE_CODE_FUNC) - /* The value's already an rvalue on the stack, so we just need to - change the type. */ - value->type = lookup_pointer_type (value->type); - else - switch (value->kind) - { - case axs_rvalue: - error ("Operand of `&' is an rvalue, which has no address."); - - case axs_lvalue_register: - error ("Operand of `&' is in a register, and has no address."); - - case axs_lvalue_memory: - value->kind = axs_rvalue; - value->type = lookup_pointer_type (value->type); - break; - } -} - - -/* A lot of this stuff will have to change to support C++. But we're - not going to deal with that at the moment. */ - -/* Find the field in the structure type TYPE named NAME, and return - its index in TYPE's field array. */ -static int -find_field (struct type *type, char *name) -{ - int i; - - CHECK_TYPEDEF (type); - - /* Make sure this isn't C++. */ - if (TYPE_N_BASECLASSES (type) != 0) - internal_error (__FILE__, __LINE__, - "find_field: derived classes supported"); - - for (i = 0; i < TYPE_NFIELDS (type); i++) - { - char *this_name = TYPE_FIELD_NAME (type, i); - - if (this_name && STREQ (name, this_name)) - return i; - - if (this_name[0] == '\0') - 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 (type)); - - return 0; -} - - -/* Generate code to push the value of a bitfield of a structure whose - address is on the top of the stack. START and END give the - starting and one-past-ending *bit* numbers of the field within the - structure. */ -static void -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}; - static int num_ops = (sizeof (ops) / sizeof (ops[0])); - - /* We don't want to touch any byte that the bitfield doesn't - actually occupy; we shouldn't make any accesses we're not - explicitly permitted to. We rely here on the fact that the - bytecode `ref' operators work on unaligned addresses. - - 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 - For the first fetch, we duplicate the address - 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 - 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 - 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, - yielding the final value of the bitfield. */ - - /* 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); - - /* current bit offset within the structure */ - int offset; - - /* The index in ops of the opcode we're considering. */ - int op; - - /* The number of fragments we generated in the process. Probably - equal to the number of `one' bits in bytesize, but who cares? */ - int fragment_count; - - /* Dereference any typedefs. */ - type = check_typedef (type); - - /* Can we fetch the number of bits requested at all? */ - if ((end - start) > ((1 << num_ops) * 8)) - 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. */ - offset = bound_start; - fragment_count = 0; - for (op = num_ops - 1; op >= 0; op--) - { - /* number of bits that ops[op] would fetch */ - int op_size = 8 << op; - - /* The stack at this point, from bottom to top, contains zero or - 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 */ - - /* Add the offset. */ - gen_offset (ax, offset / TARGET_CHAR_BIT); - - if (trace_kludge) - { - /* Record the area of memory we're about to fetch. */ - ax_trace_quick (ax, op_size / TARGET_CHAR_BIT); - } - - /* Perform the fetch. */ - ax_simple (ax, ops[op]); - - /* 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 - 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 == BFD_ENDIAN_BIG) - gen_left_shift (ax, end - (offset + op_size)); - else - gen_left_shift (ax, offset - start); - - if (!last_frag) - /* Bring the copy of the address up to the top. */ - ax_simple (ax, aop_swap); - - offset += op_size; - fragment_count++; - } - } - - /* Generate enough bitwise `or' operations to combine all the - fragments we left on the stack. */ - while (fragment_count-- > 1) - ax_simple (ax, aop_bit_or); - - /* Sign- or zero-extend the value as appropriate. */ - ((TYPE_UNSIGNED (type) ? ax_zero_ext : ax_ext) (ax, end - start)); - - /* This is *not* an lvalue. Ugh. */ - value->kind = axs_rvalue; - value->type = type; -} - - -/* Generate code to reference the member named FIELD of a structure or - union. The top of the stack, as described by VALUE, should have - type (pointer to a)* struct/union. OPERATOR_NAME is the name of - 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 (struct agent_expr *ax, struct axs_value *value, char *field, - char *operator_name, char *operand_name) -{ - struct type *type; - int i; - - /* Follow pointers until we reach a non-pointer. These aren't the C - semantics, but they're what the normal GDB evaluator does, so we - should at least be consistent. */ - while (TYPE_CODE (value->type) == TYPE_CODE_PTR) - { - gen_usual_unary (ax, value); - gen_deref (ax, value); - } - type = check_typedef (value->type); - - /* This must yield a structure or a union. */ - if (TYPE_CODE (type) != TYPE_CODE_STRUCT - && TYPE_CODE (type) != TYPE_CODE_UNION) - error ("The left operand of `%s' is not a %s.", - operator_name, operand_name); - - /* And it must be in memory; we don't deal with structure rvalues, - or structures living in registers. */ - if (value->kind != axs_lvalue_memory) - 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), - TYPE_FIELD_BITPOS (type, i), - (TYPE_FIELD_BITPOS (type, i) - + TYPE_FIELD_BITSIZE (type, i))); - else - { - gen_offset (ax, TYPE_FIELD_BITPOS (type, i) / TARGET_CHAR_BIT); - value->kind = axs_lvalue_memory; - value->type = TYPE_FIELD_TYPE (type, i); - } -} - - -/* Generate code for GDB's magical `repeat' operator. - LVALUE @ INT creates an array INT elements long, and whose elements - have the same type as LVALUE, located in memory so that LVALUE is - its first element. For example, argv[0]@argc gives you the array - of command-line arguments. - - Unfortunately, because we have to know the types before we actually - have a value for the expression, we can't implement this perfectly - without changing the type system, having values that occupy two - stack slots, doing weird things with sizeof, etc. So we require - the right operand to be a constant expression. */ -static void -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 - here. */ - gen_expr (pc, ax, &value1); - if (value1.kind != axs_lvalue_memory) - error ("Left operand of `@' must be an object in memory."); - - /* Evaluate the length; it had better be a constant. */ - { - struct value *v = const_expr (pc); - int length; - - if (!v) - error ("Right operand of `@' must be a constant, in agent expressions."); - if (TYPE_CODE (v->type) != TYPE_CODE_INT) - error ("Right operand of `@' must be an integer."); - length = value_as_long (v); - if (length <= 0) - error ("Right operand of `@' must be positive."); - - /* The top of the stack is already the address of the object, so - 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. */ - struct type *range - = 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; - value->type = array; - } - } -} - - -/* Emit code for the `sizeof' operator. - *PC should point at the start of the operand expression; we advance it - to the first instruction after the operand. */ -static void -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 - only way to find an expression's type is to generate code for it. - So we generate code for the operand, and then throw it away, - replacing it with code that simply pushes its size. */ - int start = ax->len; - gen_expr (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 (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; - enum exp_opcode op = (*pc)[0].opcode; - - /* 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)); - value->kind = axs_rvalue; - value->type = check_typedef (VALUE_TYPE (v)); - return; - } - } - - /* Otherwise, go ahead and generate code for it. */ - switch (op) - { - /* Binary arithmetic operators. */ - case BINOP_ADD: - case BINOP_SUB: - case BINOP_MUL: - case BINOP_DIV: - case BINOP_REM: - case BINOP_SUBSCRIPT: - case BINOP_BITWISE_AND: - case BINOP_BITWISE_IOR: - case BINOP_BITWISE_XOR: - (*pc)++; - gen_expr (pc, ax, &value1); - gen_usual_unary (ax, &value1); - gen_expr (pc, ax, &value2); - gen_usual_unary (ax, &value2); - gen_usual_arithmetic (ax, &value1, &value2); - switch (op) - { - case BINOP_ADD: - gen_add (ax, value, &value1, &value2, "addition"); - break; - case BINOP_SUB: - gen_sub (ax, value, &value1, &value2); - break; - case BINOP_MUL: - gen_binop (ax, value, &value1, &value2, - aop_mul, aop_mul, 1, "multiplication"); - break; - case BINOP_DIV: - gen_binop (ax, value, &value1, &value2, - aop_div_signed, aop_div_unsigned, 1, "division"); - break; - case BINOP_REM: - gen_binop (ax, value, &value1, &value2, - aop_rem_signed, aop_rem_unsigned, 1, "remainder"); - break; - case BINOP_SUBSCRIPT: - gen_add (ax, value, &value1, &value2, "array subscripting"); - if (TYPE_CODE (value->type) != TYPE_CODE_PTR) - error ("Illegal combination of types in array subscripting."); - gen_deref (ax, value); - break; - case BINOP_BITWISE_AND: - gen_binop (ax, value, &value1, &value2, - aop_bit_and, aop_bit_and, 0, "bitwise and"); - break; - - case BINOP_BITWISE_IOR: - gen_binop (ax, value, &value1, &value2, - aop_bit_or, aop_bit_or, 0, "bitwise or"); - break; - - case BINOP_BITWISE_XOR: - gen_binop (ax, value, &value1, &value2, - aop_bit_xor, aop_bit_xor, 0, "bitwise exclusive-or"); - break; - - default: - /* We should only list operators in the outer case statement - 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. */ - 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. */ - 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; - LONGEST k = (*pc)[2].longconst; - (*pc) += 4; - gen_int_literal (ax, value, k, type); - } - break; - - case OP_VAR_VALUE: - gen_var_ref (ax, value, (*pc)[2].symbol); - (*pc) += 4; - break; - - case OP_REGISTER: - { - int reg = (int) (*pc)[1].longconst; - (*pc) += 3; - value->kind = axs_lvalue_register; - value->u.reg = reg; - value->type = REGISTER_VIRTUAL_TYPE (reg); - } - break; - - case OP_INTERNALVAR: - error ("GDB agent expressions cannot use convenience variables."); - - /* Weirdo operator: see comments for gen_repeat for details. */ - case BINOP_REPEAT: - /* Note that gen_repeat handles its own argument evaluation. */ - (*pc)++; - gen_repeat (pc, ax, value); - break; - - case UNOP_CAST: - { - struct type *type = (*pc)[1].type; - (*pc) += 3; - gen_expr (pc, ax, value); - gen_cast (ax, value, type); - } - break; - - case UNOP_MEMVAL: - { - struct type *type = check_typedef ((*pc)[1].type); - (*pc) += 3; - gen_expr (pc, ax, value); - /* I'm not sure I understand UNOP_MEMVAL entirely. I think - it's just a hack for dealing with minsyms; you take some - integer constant, pretend it's the address of an lvalue of - the given type, and dereference it. */ - if (value->kind != axs_rvalue) - /* This would be weird. */ - internal_error (__FILE__, __LINE__, - "gen_expr: OP_MEMVAL operand isn't an rvalue???"); - value->type = type; - value->kind = axs_lvalue_memory; - } - 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_expr (pc, ax, &value2); - gen_usual_unary (ax, &value2); - gen_usual_arithmetic (ax, &value1, &value2); - gen_sub (ax, value, &value1, &value2); - break; - - case UNOP_LOGICAL_NOT: - (*pc)++; - gen_expr (pc, ax, value); - gen_logical_not (ax, value); - break; - - case UNOP_COMPLEMENT: - (*pc)++; - gen_expr (pc, ax, value); - gen_complement (ax, value); - break; - - case UNOP_IND: - (*pc)++; - gen_expr (pc, ax, value); - gen_usual_unary (ax, value); - if (TYPE_CODE (value->type) != TYPE_CODE_PTR) - error ("Argument of unary `*' is not a pointer."); - gen_deref (ax, value); - break; - - case UNOP_ADDR: - (*pc)++; - gen_expr (pc, ax, value); - gen_address_of (ax, value); - break; - - 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. */ - gen_sizeof (pc, ax, value); - break; - - case STRUCTOP_STRUCT: - case STRUCTOP_PTR: - { - int length = (*pc)[1].longconst; - char *name = &(*pc)[2].string; - - (*pc) += 4 + BYTES_TO_EXP_ELEM (length + 1); - gen_expr (pc, ax, value); - if (op == STRUCTOP_STRUCT) - gen_struct_ref (ax, value, name, ".", "structure or union"); - else if (op == STRUCTOP_PTR) - gen_struct_ref (ax, value, name, "->", - "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. */ - internal_error (__FILE__, __LINE__, - "gen_expr: unhandled struct case"); - } - break; - - case OP_TYPE: - error ("Attempt to use a type name as an expression."); - - default: - error ("Unsupported operator in expression."); - } -} - - - -/* 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 (struct expression *expr, struct axs_value *value) -{ - struct cleanup *old_chain = 0; - struct agent_expr *ax = new_agent_expr (0); - union exp_element *pc; - - old_chain = make_cleanup_free_agent_expr (ax); - - pc = expr->elts; - trace_kludge = 0; - gen_expr (&pc, ax, value); - - /* We have successfully built the agent expr, so cancel the cleanup - request. If we add more cleanups that we always want done, this - will have to get more complicated. */ - discard_cleanups (old_chain); - return ax; -} - - -#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 (struct expression *expr) -{ - struct axs_value value; - struct agent_expr *ax = expr_to_agent (expr, &value); - - /* Complain if the result is not a memory lvalue. */ - if (value.kind != axs_lvalue_memory) - { - free_agent_expr (ax); - error ("Expression does not denote an object in memory."); - } - - /* Push the object's size on the stack. */ - ax_const_l (ax, TYPE_LENGTH (value.type)); - - return ax; -} -#endif - -/* 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. The - caller can then use the ax_reqs function to discover which - registers it relies upon. */ -struct agent_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_free_agent_expr (ax); - - pc = expr->elts; - trace_kludge = 1; - gen_expr (&pc, ax, &value); - - /* Make sure we record the final object, and get rid of it. */ - gen_traced_pop (ax, &value); - - /* Oh, and terminate. */ - ax_simple (ax, aop_end); - - /* We have successfully built the agent expr, so cancel the cleanup - request. If we add more cleanups that we always want done, this - will have to get more complicated. */ - discard_cleanups (old_chain); - return ax; -} - - - -/* The "agent" command, for testing: compile and disassemble an expression. */ - -static void -print_axs_value (struct ui_file *f, struct axs_value *value) -{ - switch (value->kind) - { - case axs_rvalue: - fputs_filtered ("rvalue", f); - break; - - case axs_lvalue_memory: - fputs_filtered ("memory lvalue", f); - break; - - case axs_lvalue_register: - fprintf_filtered (f, "register %d lvalue", value->u.reg); - break; - } - - fputs_filtered (" : ", f); - type_print (value->type, "", f, -1); -} - - -static void -agent_command (char *exp, int from_tty) -{ - struct cleanup *old_chain = 0; - struct expression *expr; - struct agent_expr *agent; - struct frame_info *fi = get_current_frame (); /* need current scope */ - - /* We don't deal with overlay debugging at the moment. We need to - think more carefully about this. If you copy this code into - another command, change the error message; the user shouldn't - have to know anything about agent expressions. */ - if (overlay_debugging) - error ("GDB can't do agent expression translation with overlays."); - - if (exp == 0) - error_no_arg ("expression to translate"); - - expr = parse_expression (exp); - old_chain = make_cleanup (free_current_contents, &expr); - agent = gen_trace_for_expr (fi->pc, expr); - make_cleanup_free_agent_expr (agent); - ax_print (gdb_stdout, agent); - - /* 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 (void); -void -_initialize_ax_gdb (void) -{ - add_cmd ("agent", class_maintenance, agent_command, - "Translate an expression into remote agent bytecode.", - &maintenancelist); -} diff --git a/gdb/ax-gdb.h b/gdb/ax-gdb.h deleted file mode 100644 index 3e1006a3112..00000000000 --- a/gdb/ax-gdb.h +++ /dev/null @@ -1,112 +0,0 @@ -/* GDB-specific functions for operating on agent expressions - 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 AX_GDB_H -#define AX_GDB_H - - -/* Types and enums */ - -/* GDB stores expressions in the form of a flattened tree (struct - expression), so we just walk that tree and generate agent bytecodes - as we go along. - - GDB's normal evaluation uses struct value, which contains the - expression's value as well as its address or the register it came - from. The `+' operator uses the value, whereas the unary `&' - operator will use the address portion. The `=' operator will use - the address or register number of its left hand side. - - The issues are different when generating agent bytecode. Given a - variable reference expression, we should not necessarily generate - code to fetch its value, because the next operator may be `=' or - unary `&'. Instead, when we recurse on a subexpression, we - indicate whether we want that expression to produce an lvalue or an - rvalue. If we requested an lvalue, then the recursive call tells - us whether it generated code to compute an address on the stack, or - whether the lvalue lives in a register. - - The `axs' prefix here means `agent expression, static', because - this is all static analysis of the expression, i.e. analysis which - doesn't depend on the contents of memory and registers. */ - - -/* 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 - }; - -/* 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; - }; - - -/* 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 (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 (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 (CORE_ADDR, struct expression *); - -#endif /* AX_GDB_H */ diff --git a/gdb/ax-general.c b/gdb/ax-general.c deleted file mode 100644 index c36c76ddf10..00000000000 --- a/gdb/ax-general.c +++ /dev/null @@ -1,542 +0,0 @@ -/* Functions for manipulating expressions designed to be executed on the agent - 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. */ - -/* Despite what the above comment says about this file being part of - GDB, we would like to keep these functions free of GDB - dependencies, since we want to be able to use them in contexts - outside of GDB (test suites, the stub, etc.) */ - -#include "defs.h" -#include "ax.h" - -#include "value.h" -#include "gdb_string.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 (CORE_ADDR scope) -{ - struct agent_expr *x = xmalloc (sizeof (*x)); - x->len = 0; - x->size = 1; /* Change this to a larger value once - reallocation code is tested. */ - x->buf = xmalloc (x->size); - x->scope = scope; - - return x; -} - -/* Free a agent expression. */ -void -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) -{ - 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 (struct agent_expr *x, int n) -{ - if (x->len + n > x->size) - { - x->size *= 2; - if (x->size < x->len + n) - x->size = x->len + n + 10; - x->buf = xrealloc (x->buf, x->size); - } -} - - -/* Append the low N bytes of VAL as an N-byte integer to the - expression X, in big-endian order. */ -static void -append_const (struct agent_expr *x, LONGEST val, int n) -{ - int i; - - grow_expr (x, n); - for (i = n - 1; i >= 0; i--) - { - x->buf[x->len + i] = val & 0xff; - val >>= 8; - } - x->len += n; -} - - -/* Extract an N-byte big-endian unsigned integer from expression X at - offset O. */ -static LONGEST -read_const (struct agent_expr *x, int o, int n) -{ - int i; - LONGEST accum = 0; - - /* Make sure we're not reading off the end of the expression. */ - if (o + n > x->len) - error ("GDB bug: ax-general.c (read_const): incomplete constant"); - - 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 (struct agent_expr *x, enum agent_op op) -{ - grow_expr (x, 1); - x->buf[x->len++] = op; -} - - -/* Append a sign-extension or zero-extension instruction to EXPR, to - extend an N-bit value. */ -static void -generic_ext (struct agent_expr *x, enum agent_op op, int n) -{ - /* N must fit in a byte. */ - if (n < 0 || n > 255) - error ("GDB bug: ax-general.c (generic_ext): bit count out of range"); - /* That had better be enough range. */ - if (sizeof (LONGEST) * 8 > 255) - error ("GDB bug: ax-general.c (generic_ext): opcode has inadequate range"); - - grow_expr (x, 2); - x->buf[x->len++] = op; - x->buf[x->len++] = n; -} - - -/* Append a sign-extension instruction to EXPR, to extend an N-bit value. */ -void -ax_ext (struct agent_expr *x, int n) -{ - generic_ext (x, aop_ext, n); -} - - -/* Append a zero-extension instruction to EXPR, to extend an N-bit value. */ -void -ax_zero_ext (struct agent_expr *x, int n) -{ - generic_ext (x, aop_zero_ext, n); -} - - -/* Append a trace_quick instruction to EXPR, to record N bytes. */ -void -ax_trace_quick (struct agent_expr *x, int n) -{ - /* N must fit in a byte. */ - if (n < 0 || n > 255) - error ("GDB bug: ax-general.c (ax_trace_quick): size out of range for trace_quick"); - - grow_expr (x, 2); - x->buf[x->len++] = aop_trace_quick; - x->buf[x->len++] = 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, - because it's probably a forward branch, so we leave space in EXPR - 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 (struct agent_expr *x, enum agent_op op) -{ - grow_expr (x, 3); - x->buf[x->len + 0] = op; - x->buf[x->len + 1] = 0xff; - x->buf[x->len + 2] = 0xff; - x->len += 3; - return x->len - 2; -} - -/* 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) - to patch TARGET into the ax_goto instruction. */ -void -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; -} - - -/* Assemble code to push a constant on the stack. */ -void -ax_const_l (struct agent_expr *x, LONGEST l) -{ - static enum agent_op ops[] - = - {aop_const8, aop_const16, aop_const32, aop_const64}; - int size; - int op; - - /* How big is the number? 'op' keeps track of which opcode to use. - Notice that we don't really care whether the original number was - signed or unsigned; we always reproduce the value exactly, and - use the shortest representation. */ - for (op = 0, size = 8; size < 64; size *= 2, op++) - if (-((LONGEST) 1 << size) <= l && l < ((LONGEST) 1 << size)) - break; - - /* Emit the right opcode... */ - ax_simple (x, ops[op]); - - /* Emit the low SIZE bytes as an unsigned number. We know that - sign-extending this will yield l. */ - append_const (x, l, size / 8); - - /* Now, if it was negative, and not full-sized, sign-extend it. */ - if (l < 0 && size < 64) - ax_ext (x, size); -} - - -void -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"); -} - - -/* Assemble code to push the value of register number REG on the - stack. */ -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 + 1] = (reg >> 8) & 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 */ -}; - - -/* Disassemble the expression EXPR, writing to F. */ -void -ax_print (struct ui_file *f, struct agent_expr *x) -{ - int i; - int is_float = 0; - - /* Check the size of the name array against the number of entries in - the enum, to catch additions that people didn't sync. */ - 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;) - { - enum agent_op op = x->buf[i]; - - if (op >= (sizeof (aop_map) / sizeof (aop_map[0])) - || !aop_map[op].name) - { - fprintf_filtered (f, "%3d \n", i, op); - i++; - continue; - } - if (i + 1 + aop_map[op].op_size > x->len) - { - fprintf_filtered (f, "%3d \n", - i, aop_map[op].name); - break; - } - - fprintf_filtered (f, "%3d %s", i, aop_map[op].name); - 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)); - } - fprintf_filtered (f, "\n"); - i += 1 + aop_map[op].op_size; - - is_float = (op == aop_float); - } -} - - -/* Given an agent expression AX, fill in an agent_reqs structure REQS - describing it. */ -void -ax_reqs (struct agent_expr *ax, struct agent_reqs *reqs) -{ - int i; - int height; - - /* Bit vector for registers used. */ - int reg_mask_len = 1; - unsigned char *reg_mask = xmalloc (reg_mask_len * sizeof (reg_mask[0])); - - /* Jump target table. targets[i] is non-zero iff there is a jump to - offset i. */ - char *targets = (char *) alloca (ax->len * sizeof (targets[0])); - - /* Instruction boundary table. boundary[i] is non-zero iff an - instruction starts at offset i. */ - char *boundary = (char *) alloca (ax->len * sizeof (boundary[0])); - - /* Stack height record. iff either targets[i] or boundary[i] is - non-zero, heights[i] is the height the stack should have before - executing the bytecode at that point. */ - int *heights = (int *) alloca (ax->len * sizeof (heights[0])); - - /* Pointer to a description of the present op. */ - struct aop_map *op; - - memset (reg_mask, 0, reg_mask_len * sizeof (reg_mask[0])); - memset (targets, 0, ax->len * sizeof (targets[0])); - memset (boundary, 0, ax->len * sizeof (boundary[0])); - - reqs->max_height = reqs->min_height = height = 0; - reqs->flaw = agent_flaw_none; - reqs->max_data_size = 0; - - for (i = 0; i < ax->len; i += 1 + op->op_size) - { - if (ax->buf[i] > (sizeof (aop_map) / sizeof (aop_map[0]))) - { - reqs->flaw = agent_flaw_bad_instruction; - xfree (reg_mask); - return; - } - - op = &aop_map[ax->buf[i]]; - - if (!op->name) - { - reqs->flaw = agent_flaw_bad_instruction; - xfree (reg_mask); - return; - } - - if (i + 1 + op->op_size > ax->len) - { - reqs->flaw = agent_flaw_incomplete_instruction; - xfree (reg_mask); - return; - } - - /* If this instruction is a jump target, does the current stack - height match the stack height at the jump source? */ - if (targets[i] && (heights[i] != height)) - { - reqs->flaw = agent_flaw_height_mismatch; - xfree (reg_mask); - return; - } - - boundary[i] = 1; - heights[i] = height; - - height -= op->consumed; - if (height < reqs->min_height) - reqs->min_height = height; - height += op->produced; - if (height > reqs->max_height) - reqs->max_height = height; - - if (op->data_size > reqs->max_data_size) - 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. */ - if (aop_goto == op - aop_map - || aop_if_goto == op - aop_map) - { - int target = read_const (ax, i + 1, 2); - if (target < 0 || target >= ax->len) - { - reqs->flaw = agent_flaw_bad_jump; - xfree (reg_mask); - return; - } - /* Have we already found other jumps to the same location? */ - else if (targets[target]) - { - if (heights[i] != height) - { - reqs->flaw = agent_flaw_height_mismatch; - xfree (reg_mask); - return; - } - } - else - { - targets[target] = 1; - 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]) - { - reqs->flaw = agent_flaw_hole; - xfree (reg_mask); - return; - } - - height = heights[i + 3]; - } - - /* For reg instructions, record the register in the bit mask. */ - if (aop_reg == op - aop_map) - { - int reg = read_const (ax, i + 1, 2); - int byte = reg / 8; - - /* Grow the bit mask if necessary. */ - if (byte >= reg_mask_len) - { - /* It's not appropriate to double here. This isn't a - string buffer. */ - int new_len = byte + 1; - 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])); - reg_mask_len = new_len; - } - - reg_mask[byte] |= 1 << (reg % 8); - } - } - - /* Check that all the targets are on boundaries. */ - for (i = 0; i < ax->len; i++) - if (targets[i] && !boundary[i]) - { - reqs->flaw = agent_flaw_bad_jump; - xfree (reg_mask); - return; - } - - reqs->final_height = height; - reqs->reg_mask_len = reg_mask_len; - reqs->reg_mask = reg_mask; -} diff --git a/gdb/ax.h b/gdb/ax.h deleted file mode 100644 index 708dba42e7f..00000000000 --- a/gdb/ax.h +++ /dev/null @@ -1,292 +0,0 @@ -/* Definitions for expressions designed to be executed on the agent - 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 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 - stop at it), and specify a bunch of expressions to record the - values of when that tracepoint is reached. As the program runs, - GDB collects the values. At any point (possibly while values are - still being collected), the user can display the collected values. - - This is used with remote debugging; we don't really support it on - native configurations. - - This means that expressions are being evaluated by the remote agent, - which doesn't have any access to the symbol table information, and - needs to be small and simple. - - The agent_expr routines and datatypes are a bytecode language - designed to be executed by the agent. Agent expressions work in - terms of fixed-width values, operators, memory references, and - register references. You can evaluate a agent expression just given - a bunch of memory and register values to sniff at; you don't need - any symbolic information like variable names, types, etc. - - GDB translates source expressions, whose meaning depends on - symbolic information, into agent bytecode expressions, whose meaning - 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. - The bytecode operation indicates which element we should access; - 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; - }; - -/* 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; - }; - - - - -/* The actual values of the various bytecode operations. - - Other independent implementations of the agent bytecode engine will - rely on the exact values of these enums, and may not be recompiled - when we change this table. The numeric values should remain fixed - whenever possible. Thus, we assign them values explicitly here (to - allow gaps to form safely), and the disassembly table in - 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 - }; - - - -/* Functions for building expressions. */ - -/* Allocate a new, empty agent expression. */ -extern struct agent_expr *new_agent_expr (CORE_ADDR); - -/* Free a agent expression. */ -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 (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 (struct agent_expr *EXPR, int N); - -/* Append a zero-extension instruction to EXPR, to extend an N-bit value. */ -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 (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, - because it's probably a forward branch, so we leave space in EXPR - 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 (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) - to patch TARGET into the ax_goto instruction. */ -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 (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 (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 (struct ui_file *f, struct agent_expr * EXPR); - -/* An entry in the opcode 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; - - /* 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; - - /* 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; - }; - -/* 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 */ - - /* 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, - - /* 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 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 - { - - /* 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; - - /* 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; - - /* Bit vector of registers used. Register R is used iff - - 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. - - 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; - }; - - -/* Given an agent expression AX, fill in an agent_reqs structure REQS - describing it. */ -extern void ax_reqs (struct agent_expr *ax, struct agent_reqs *reqs); - -#endif /* AGENTEXPR_H */ diff --git a/gdb/bcache.c b/gdb/bcache.c deleted file mode 100644 index 5a310f3ee6d..00000000000 --- a/gdb/bcache.c +++ /dev/null @@ -1,350 +0,0 @@ -/* Implement a cached obstack. - Written by Fred Fish - Rewritten by Jim Blandy - - Copyright 1999, 2000, 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 "gdb_obstack.h" -#include "bcache.h" -#include "gdb_string.h" /* For memcpy declaration */ - -#include -#include - -/* 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. */ - -struct bstring -{ - struct bstring *next; - size_t length; - - union - { - char data[1]; - double dummy; - } - d; -}; - - -/* The structure for a bcache itself. The bcache is initialized, in - bcache_xmalloc(), by filling it with zeros and then setting the - corresponding obstack's malloc() and free() methods. */ - -struct bcache -{ - /* All the bstrings are allocated here. */ - struct obstack cache; - - /* 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 */ -}; - -/* 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) -{ - 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. */ - -/* 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) -{ - /* 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; - } - - /* 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++) - { - struct bstring *s, *next; - - for (s = bcache->bucket[i]; s; s = 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; - } - } - - /* 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 (const void *addr, int length, struct bcache *bcache) -{ - int hash_index; - struct bstring *s; - - /* 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; - } -} - - -/* Allocating and freeing bcaches. */ - -struct bcache * -bcache_xmalloc (void) -{ - /* Allocate the bcache pre-zeroed. */ - struct bcache *b = XCALLOC (1, struct bcache); - obstack_specify_allocation (&b->cache, 0, 0, xmalloc, xfree); - return b; -} - -/* Free all the storage associated with BCACHE. */ -void -bcache_xfree (struct bcache *bcache) -{ - if (bcache == NULL) - return; - obstack_free (&bcache->cache, 0); - xfree (bcache->bucket); - xfree (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 ("%3d%%\n", portion * 100 / total); -} - - -/* 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"); -} - -int -bcache_memory_used (struct bcache *bcache) -{ - return obstack_memory_used (&bcache->cache); -} diff --git a/gdb/bcache.h b/gdb/bcache.h deleted file mode 100644 index 61fbbe6c591..00000000000 --- a/gdb/bcache.h +++ /dev/null @@ -1,90 +0,0 @@ -/* Include file cached obstack implementation. - Written by Fred Fish - Rewritten by Jim Blandy - - Copyright 1999, 2000, 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. */ - -#ifndef BCACHE_H -#define BCACHE_H 1 - -/* 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. */ - - -struct bcache; - -/* 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); - -/* Free all the storage used by BCACHE. */ -extern void bcache_xfree (struct bcache *bcache); - -/* Create a new bcache object. */ -extern struct bcache *bcache_xmalloc (void); - -/* 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); -extern int bcache_memory_used (struct bcache *bcache); - -/* The hash function */ -extern unsigned long hash(const void *addr, int length); - -#endif /* BCACHE_H */ diff --git a/gdb/blockframe.c b/gdb/blockframe.c deleted file mode 100644 index b2c5d0eabe9..00000000000 --- a/gdb/blockframe.c +++ /dev/null @@ -1,1607 +0,0 @@ -/* Get info from stack frames; convert between frames, blocks, - functions and pc values. - - 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 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 "symtab.h" -#include "bfd.h" -#include "symfile.h" -#include "objfiles.h" -#include "frame.h" -#include "gdbcore.h" -#include "value.h" /* for read_register */ -#include "target.h" /* for target_has_stack */ -#include "inferior.h" /* for read_pc */ -#include "annotate.h" -#include "regcache.h" -#include "gdb_assert.h" - -/* Prototypes for exported functions. */ - -static void generic_call_dummy_register_unwind (struct frame_info *frame, - void **cache, - int regnum, - int *optimized, - enum lval_type *lval, - CORE_ADDR *addrp, - int *realnum, - void *raw_buffer); -static void frame_saved_regs_register_unwind (struct frame_info *frame, - void **cache, - int regnum, - int *optimized, - enum lval_type *lval, - CORE_ADDR *addrp, - int *realnum, - void *buffer); - - -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 -file_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe) -{ - return ((chain) != 0 - && !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 -func_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe) -{ - return ((chain) != 0 - && !inside_main_func ((thisframe)->pc) - && !inside_entry_func ((thisframe)->pc)); -} - -/* A very simple method of determining a valid frame */ - -int -nonnull_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe) -{ - return ((chain) != 0); -} - -/* Is ADDR inside the startup file? Note that if your machine - has a way to detect the bottom of the stack, there is no need - to call this function from FRAME_CHAIN_VALID; the reason for - doing so is that some machines have no way of detecting bottom - of stack. - - A PC of zero is always considered to be the bottom of the stack. */ - -int -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; - } - 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 - that correspond to the main() function. See comments above for why - we might want to do this. - - Typically called from FRAME_CHAIN_VALID. - - A PC of zero is always considered to be the bottom of the stack. */ - -int -inside_main_func (CORE_ADDR pc) -{ - if (pc == 0) - return 1; - if (symfile_objfile == 0) - return 0; - - /* If the addr range is not set up at symbol reading time, set it up now. - 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) - { - struct symbol *mainsym; - - 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 = - BLOCK_END (SYMBOL_BLOCK_VALUE (mainsym)); - } - } - 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 - that correspond to the process entry point function. See comments - in objfiles.h for why we might want to do this. - - Typically called from FRAME_CHAIN_VALID. - - A PC of zero is always considered to be the bottom of the stack. */ - -int -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; - } - 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) */ - -static struct frame_info *current_frame; - -/* Cache for frame addresses already read by gdb. Valid only while - inferior is stopped. Control variables for the frame cache should - be local to this module. */ - -static struct obstack frame_cache_obstack; - -void * -frame_obstack_alloc (unsigned long size) -{ - return obstack_alloc (&frame_cache_obstack, size); -} - -void -frame_saved_regs_zalloc (struct frame_info *fi) -{ - fi->saved_regs = (CORE_ADDR *) - frame_obstack_alloc (SIZEOF_FRAME_SAVED_REGS); - memset (fi->saved_regs, 0, SIZEOF_FRAME_SAVED_REGS); -} - - -/* Return the innermost (currently executing) stack frame. */ - -struct frame_info * -get_current_frame (void) -{ - if (current_frame == NULL) - { - if (target_has_stack) - current_frame = create_new_frame (read_fp (), read_pc ()); - else - error ("No stack."); - } - return current_frame; -} - -void -set_current_frame (struct frame_info *frame) -{ - current_frame = frame; -} - - -/* Using the PC, select a mechanism for unwinding a frame returning - the previous frame. The register unwind function should, on - demand, initialize the ->context object. */ - -static void -set_unwind_by_pc (CORE_ADDR pc, CORE_ADDR fp, - frame_register_unwind_ftype **unwind) -{ - if (!USE_GENERIC_DUMMY_FRAMES) - /* Still need to set this to something. The ``info frame'' code - calls this function to find out where the saved registers are. - Hopefully this is robust enough to stop any core dumps and - return vaguely correct values.. */ - *unwind = frame_saved_regs_register_unwind; - else if (PC_IN_CALL_DUMMY (pc, fp, fp)) - *unwind = generic_call_dummy_register_unwind; - else - *unwind = frame_saved_regs_register_unwind; -} - -/* Create an arbitrary (i.e. address specified by user) or innermost frame. - Always returns a non-NULL value. */ - -struct frame_info * -create_new_frame (CORE_ADDR addr, CORE_ADDR pc) -{ - struct frame_info *fi; - char *name; - - fi = (struct frame_info *) - obstack_alloc (&frame_cache_obstack, - sizeof (struct frame_info)); - - /* 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); - fi->signal_handler_caller = PC_IN_SIGTRAMP (fi->pc, name); - - if (INIT_EXTRA_FRAME_INFO_P ()) - INIT_EXTRA_FRAME_INFO (0, fi); - - /* Select/initialize an unwind function. */ - set_unwind_by_pc (fi->pc, fi->frame, &fi->register_unwind); - - return fi; -} - -/* Return the frame that FRAME calls (NULL if FRAME is the innermost - frame). */ - -struct frame_info * -get_next_frame (struct frame_info *frame) -{ - return frame->next; -} - -/* Flush the entire frame cache. */ - -void -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 */ - select_frame (NULL); - annotate_frames_invalid (); -} - -/* Flush the frame cache, and start a new one if necessary. */ - -void -reinit_frame_cache (void) -{ - flush_cached_frames (); - - /* FIXME: The inferior_ptid test is wrong if there is a corefile. */ - if (PIDGET (inferior_ptid) != 0) - { - select_frame (get_current_frame ()); - } -} - -/* 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 (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; - /* 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. */ - return 1; - else - /* If we can't find the start of the function, we don't really - know whether the function is frameless, but we should be able - to get a reasonable (i.e. best we can do under the - circumstances) backtrace by saying that it isn't. */ - return 0; -} - -/* Return a structure containing various interesting information - about the frame that called NEXT_FRAME. Returns NULL - if there is no such frame. */ - -struct frame_info * -get_prev_frame (struct frame_info *next_frame) -{ - CORE_ADDR address = 0; - struct frame_info *prev; - int fromleaf = 0; - char *name; - - /* If the requested entry is in the cache, return it. - Otherwise, figure out what the address should be for the entry - we're about to add to the cache. */ - - if (!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. */ - if (!current_frame) - { - error ("You haven't set up a process's stack to examine."); - } -#endif - - return current_frame; - } - - /* If we have the prev one, return it */ - if (next_frame->prev) - return next_frame->prev; - - /* On some machines it is possible to call a function without - setting up a stack frame for it. On these machines, we - 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. */ - - /* 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)) - { - fromleaf = FRAMELESS_FUNCTION_INVOCATION (next_frame); - if (fromleaf) - address = FRAME_FP (next_frame); - } - - 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. */ - address = FRAME_CHAIN (next_frame); - - /* FIXME: cagney/2002-06-08: There should be two tests here. - The first would check for a valid frame chain based on a user - selectable policy. The default being ``stop at main'' (as - implemented by generic_func_frame_chain_valid()). Other - policies would be available - stop at NULL, .... The second - test, if provided by the target architecture, would check for - more exotic cases - most target architectures wouldn't bother - with this second case. */ - if (!FRAME_CHAIN_VALID (address, next_frame)) - return 0; - } - if (address == 0) - return 0; - - prev = (struct frame_info *) - obstack_alloc (&frame_cache_obstack, - sizeof (struct frame_info)); - - /* Zero all fields by default. */ - memset (prev, 0, sizeof (struct frame_info)); - - if (next_frame) - next_frame->prev = prev; - prev->next = next_frame; - prev->frame = address; - prev->level = next_frame->level + 1; - -/* 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. - - 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. - - We shouldn't need INIT_FRAME_PC_FIRST to add more complication to - an already overcomplicated part of GDB. gnu@cygnus.com, 15Sep92. - - Assuming that some machines need INIT_FRAME_PC after - 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. - 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. - 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). - 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. - kingdon@cygnus.com, 13Apr93, 31Jan94, 14Dec94. */ - - INIT_FRAME_PC_FIRST (fromleaf, prev); - - 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); - - /* If ->frame and ->pc are unchanged, we are in the process of getting - ourselves into an infinite backtrace. Some architectures check this - in FRAME_CHAIN or thereabouts, but it seems like there is no reason - this can't be an architecture-independent check. */ - if (next_frame != NULL) - { - if (prev->frame == next_frame->frame - && prev->pc == next_frame->pc) - { - next_frame->prev = NULL; - obstack_free (&frame_cache_obstack, prev); - return NULL; - } - } - - /* Initialize the code used to unwind the frame PREV based on the PC - (and probably other architectural information). The PC lets you - check things like the debug info at that point (dwarf2cfi?) and - use that to decide how the frame should be unwound. */ - set_unwind_by_pc (prev->pc, prev->frame, &prev->register_unwind); - - find_pc_partial_function (prev->pc, &name, - (CORE_ADDR *) NULL, (CORE_ADDR *) NULL); - if (PC_IN_SIGTRAMP (prev->pc, name)) - prev->signal_handler_caller = 1; - - return prev; -} - -CORE_ADDR -get_frame_pc (struct frame_info *frame) -{ - return frame->pc; -} - -/* return the address of the PC for the given FRAME, ie the current PC value - if FRAME is the innermost frame, or the address adjusted to point to the - call instruction if not. */ - -CORE_ADDR -frame_address_in_block (struct frame_info *frame) -{ - CORE_ADDR pc = frame->pc; - - /* If we are not in the innermost frame, and we are not interrupted - by a signal, frame->pc points to the instruction following the - call. As a consequence, we need to get the address of the previous - instruction. Unfortunately, this is not straightforward to do, so - we just use the address minus one, which is a good enough - approximation. */ - if (frame->next != 0 && frame->next->signal_handler_caller == 0) - --pc; - - return pc; -} - -#ifdef FRAME_FIND_SAVED_REGS -/* XXX - deprecated. This is a compatibility function for targets - that do not yet implement FRAME_INIT_SAVED_REGS. */ -/* Find the addresses in which registers are saved in FRAME. */ - -void -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_obstack_alloc (SIZEOF_FRAME_SAVED_REGS); - } - if (saved_regs_addr == NULL) - { - struct frame_saved_regs saved_regs; - FRAME_FIND_SAVED_REGS (frame, saved_regs); - memcpy (frame->saved_regs, &saved_regs, SIZEOF_FRAME_SAVED_REGS); - } - else - { - FRAME_FIND_SAVED_REGS (frame, *saved_regs_addr); - memcpy (frame->saved_regs, saved_regs_addr, SIZEOF_FRAME_SAVED_REGS); - } -} -#endif - -/* Return the innermost lexical block in execution - in a specified stack frame. The frame address is assumed valid. - - If ADDR_IN_BLOCK is non-zero, set *ADDR_IN_BLOCK to the exact code - address we used to choose the block. We use this to find a source - line, to decide which macro definitions are in scope. - - The value returned in *ADDR_IN_BLOCK isn't necessarily the frame's - PC, and may not really be a valid PC at all. For example, in the - caller of a function declared to never return, the code at the - return address will never be reached, so the call instruction may - be the very last instruction in the block. So the address we use - to choose the block is actually one byte before the return address - --- hopefully pointing us at the call instruction, or its delay - slot instruction. */ - -struct block * -get_frame_block (struct frame_info *frame, CORE_ADDR *addr_in_block) -{ - const CORE_ADDR pc = frame_address_in_block (frame); - - if (addr_in_block) - *addr_in_block = pc; - - return block_for_pc (pc); -} - -struct block * -get_current_block (CORE_ADDR *addr_in_block) -{ - CORE_ADDR pc = read_pc (); - - if (addr_in_block) - *addr_in_block = pc; - - return block_for_pc (pc); -} - -CORE_ADDR -get_pc_function_start (CORE_ADDR pc) -{ - register struct block *bl; - register struct symbol *symbol; - register struct minimal_symbol *msymbol; - CORE_ADDR fstart; - - if ((bl = block_for_pc (pc)) != NULL && - (symbol = block_function (bl)) != NULL) - { - bl = SYMBOL_BLOCK_VALUE (symbol); - fstart = BLOCK_START (bl); - } - else if ((msymbol = lookup_minimal_symbol_by_pc (pc)) != NULL) - { - fstart = SYMBOL_VALUE_ADDRESS (msymbol); - if (!find_pc_section (fstart)) - return 0; - } - else - { - fstart = 0; - } - return (fstart); -} - -/* Return the symbol for the function executing in frame FRAME. */ - -struct symbol * -get_frame_function (struct frame_info *frame) -{ - register struct block *bl = get_frame_block (frame, 0); - if (bl == 0) - return 0; - return block_function (bl); -} - - -/* Return the blockvector immediately containing the innermost lexical block - containing the specified pc value and section, or 0 if there is none. - PINDEX is a pointer to the index value of the block. If PINDEX - is NULL, we don't pass this information back to the caller. */ - -struct blockvector * -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 */ - { - /* First search all symtabs for one whose file contains our pc */ - if ((symtab = find_pc_sect_symtab (pc, section)) == 0) - return 0; - } - - bl = BLOCKVECTOR (symtab); - b = BLOCKVECTOR_BLOCK (bl, 0); - - /* Then search that symtab for the smallest block that wins. */ - /* Use binary search to find the last block that starts before PC. */ - - bot = 0; - top = BLOCKVECTOR_NBLOCKS (bl); - - while (top - bot > 1) - { - half = (top - bot + 1) >> 1; - b = BLOCKVECTOR_BLOCK (bl, bot + half); - if (BLOCK_START (b) <= pc) - bot += half; - else - top = bot + half; - } - - /* Now search backward for a block that ends after PC. */ - - while (bot >= 0) - { - b = BLOCKVECTOR_BLOCK (bl, bot); - if (BLOCK_END (b) > pc) - { - if (pindex) - *pindex = bot; - return bl; - } - bot--; - } - return 0; -} - -/* Return the blockvector immediately containing the innermost lexical block - containing the specified pc value, or 0 if there is none. - Backward compatibility, no section. */ - -struct blockvector * -blockvector_for_pc (register CORE_ADDR pc, int *pindex) -{ - return blockvector_for_pc_sect (pc, find_pc_mapped_section (pc), - pindex, NULL); -} - -/* Return the innermost lexical block containing the specified pc value - in the specified section, or 0 if there is none. */ - -struct block * -block_for_pc_sect (register CORE_ADDR pc, struct sec *section) -{ - register struct blockvector *bl; - int index; - - bl = blockvector_for_pc_sect (pc, section, &index, NULL); - if (bl) - return BLOCKVECTOR_BLOCK (bl, index); - return 0; -} - -/* Return the innermost lexical block containing the specified pc value, - or 0 if there is none. Backward compatibility, no section. */ - -struct block * -block_for_pc (register CORE_ADDR pc) -{ - return block_for_pc_sect (pc, find_pc_mapped_section (pc)); -} - -/* Return the function containing pc value PC in section SECTION. - Returns 0 if function is not known. */ - -struct symbol * -find_pc_sect_function (CORE_ADDR pc, struct sec *section) -{ - register struct block *b = block_for_pc_sect (pc, section); - if (b == 0) - return 0; - return block_function (b); -} - -/* Return the function containing pc value PC. - Returns 0 if function is not known. Backward compatibility, no section */ - -struct symbol * -find_pc_function (CORE_ADDR pc) -{ - return find_pc_sect_function (pc, find_pc_mapped_section (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 struct sec *cache_pc_function_section = NULL; - -/* Clear cache, e.g. when symbol table is discarded. */ - -void -clear_pc_function_cache (void) -{ - cache_pc_function_low = 0; - cache_pc_function_high = 0; - cache_pc_function_name = (char *) 0; - cache_pc_function_section = NULL; -} - -/* Finds the "function" (text symbol) that is smaller than PC but - greatest of all of the potential text symbols in SECTION. Sets - *NAME and/or *ADDRESS conditionally if that pointer is non-null. - If ENDADDR is non-null, then set *ENDADDR to be the end of the - function (exclusive), but passing ENDADDR as non-null means that - the function might cause symbols to be read. This function either - succeeds or fails (not halfway succeeds). If it succeeds, it sets - *NAME, *ADDRESS, and *ENDADDR to real information and returns 1. - If it fails, it sets *NAME, *ADDRESS, and *ENDADDR to zero and - returns 0. */ - -int -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 minimal_symbol *msymbol; - struct partial_symbol *psb; - struct obj_section *osect; - int i; - CORE_ADDR mapped_pc; - - mapped_pc = overlay_mapped_address (pc, section); - - if (mapped_pc >= cache_pc_function_low - && mapped_pc < cache_pc_function_high - && section == cache_pc_function_section) - goto return_cached_value; - - /* If sigtramp is in the u area, it counts as a function (especially - important for step_1). */ -#if defined SIGTRAMP_START - if (PC_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_section = section; - goto return_cached_value; - } -#endif - - msymbol = lookup_minimal_symbol_by_pc_section (mapped_pc, section); - pst = find_pc_sect_psymtab (mapped_pc, section); - if (pst) - { - /* Need to read the symbols to get a good value for the end address. */ - if (endaddr != NULL && !pst->readin) - { - /* Need to get the terminal in case symbol-reading produces - output. */ - target_terminal_ours_for_output (); - PSYMTAB_TO_SYMTAB (pst); - } - - if (pst->readin) - { - /* Checking whether the msymbol has a larger value is for the - "pathological" case mentioned in print_frame_info. */ - f = find_pc_sect_function (mapped_pc, section); - if (f != NULL - && (msymbol == NULL - || (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_section = section; - goto return_cached_value; - } - } - else - { - /* Now that static symbols go in the minimal symbol table, perhaps - we could just ignore the partial symbols. But at least for now - we use the partial or minimal symbol, whichever is larger. */ - psb = find_pc_sect_psymbol (pst, mapped_pc, section); - - if (psb - && (msymbol == NULL || - (SYMBOL_VALUE_ADDRESS (psb) - >= SYMBOL_VALUE_ADDRESS (msymbol)))) - { - /* This case isn't being cached currently. */ - if (address) - *address = SYMBOL_VALUE_ADDRESS (psb); - if (name) - *name = SYMBOL_NAME (psb); - /* endaddr non-NULL can't happen here. */ - return 1; - } - } - } - - /* Not in the normal symbol tables, see if the pc is in a known section. - If it's not, then give up. This ensures that anything beyond the end - of the text seg doesn't appear to be part of the last function in the - text segment. */ - - osect = find_pc_sect_section (mapped_pc, section); - - if (!osect) - msymbol = NULL; - - /* Must be in the minimal symbol table. */ - if (msymbol == NULL) - { - /* No available symbol. */ - if (name != NULL) - *name = 0; - if (address != NULL) - *address = 0; - if (endaddr != NULL) - *endaddr = 0; - return 0; - } - - 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++) - { - if (SYMBOL_VALUE_ADDRESS (msymbol + i) != SYMBOL_VALUE_ADDRESS (msymbol) - && SYMBOL_BFD_SECTION (msymbol + i) == SYMBOL_BFD_SECTION (msymbol)) - break; - } - - if (SYMBOL_NAME (msymbol + i) != NULL - && SYMBOL_VALUE_ADDRESS (msymbol + i) < osect->endaddr) - cache_pc_function_high = SYMBOL_VALUE_ADDRESS (msymbol + i); - else - /* We got the start address from the last msymbol in the objfile. - So the end address is the end of the section. */ - cache_pc_function_high = osect->endaddr; - - return_cached_value: - - if (address) - { - if (pc_in_unmapped_range (pc, section)) - *address = overlay_unmapped_address (cache_pc_function_low, section); - else - *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, - section); - } - else - *endaddr = cache_pc_function_high; - } - - return 1; -} - -/* Backward compatibility, no section argument. */ - -int -find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address, - CORE_ADDR *endaddr) -{ - asection *section; - - section = find_pc_overlay (pc); - return find_pc_sect_partial_function (pc, section, name, address, endaddr); -} - -/* Return the innermost stack frame executing inside of BLOCK, - or NULL if there is no such frame. If BLOCK is NULL, just return NULL. */ - -struct frame_info * -block_innermost_frame (struct block *block) -{ - struct frame_info *frame; - register CORE_ADDR start; - register CORE_ADDR end; - CORE_ADDR calling_pc; - - if (block == NULL) - return NULL; - - start = BLOCK_START (block); - end = BLOCK_END (block); - - frame = NULL; - while (1) - { - frame = get_prev_frame (frame); - if (frame == NULL) - return NULL; - calling_pc = frame_address_in_block (frame); - if (calling_pc >= start && calling_pc < end) - return frame; - } -} - -/* Return the full FRAME which corresponds to the given CORE_ADDR - or NULL if no FRAME on the chain corresponds to CORE_ADDR. */ - -struct frame_info * -find_frame_addr_in_frame_chain (CORE_ADDR frame_addr) -{ - struct frame_info *frame = NULL; - - if (frame_addr == (CORE_ADDR) 0) - return NULL; - - while (1) - { - frame = get_prev_frame (frame); - if (frame == NULL) - return NULL; - if (FRAME_FP (frame) == frame_addr) - return frame; - } -} - -#ifdef SIGCONTEXT_PC_OFFSET -/* Get saved user PC for sigtramp from sigcontext for BSD style sigtramp. */ - -CORE_ADDR -sigtramp_saved_pc (struct frame_info *frame) -{ - CORE_ADDR sigcontext_addr; - 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) - + FRAME_ARGS_SKIP - + sigcontext_offs, - ptrbytes); - else - sigcontext_addr = read_memory_integer (read_register (SP_REGNUM) - + sigcontext_offs, - ptrbytes); - - /* Don't cause a memory_error when accessing sigcontext in case the stack - layout has changed or the stack is corrupt. */ - target_read_memory (sigcontext_addr + SIGCONTEXT_PC_OFFSET, buf, ptrbytes); - return extract_unsigned_integer (buf, ptrbytes); -} -#endif /* SIGCONTEXT_PC_OFFSET */ - - -/* 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 - * - * 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 independent stack - * and keep it consistant etc. I am attempting to make this code - * generic enough to be used by many targets. - * - * The cheapest and most generic way to do CALL_DUMMY on a new target - * is probably to define CALL_DUMMY to be empty, CALL_DUMMY_LENGTH to - * 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_{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; - struct regcache *regcache; - - /* Address range of the call dummy code. Look for PC in the range - [LO..HI) (after allowing for DECR_PC_AFTER_BREAK). */ - CORE_ADDR call_lo; - CORE_ADDR call_hi; -}; - -static struct dummy_frame *dummy_frame_stack = NULL; - -/* Function: find_dummy_frame(pc, fp, sp) - - Search the stack of dummy frames for one matching the given PC, FP - and SP. Unlike PC_IN_CALL_DUMMY, this function doesn't need to - adjust for DECR_PC_AFTER_BREAK. This is because it is only legal - to call this function after the PC has been adjusted. */ - -static struct regcache * -generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp) -{ - struct dummy_frame *dummyframe; - - for (dummyframe = dummy_frame_stack; dummyframe != NULL; - dummyframe = dummyframe->next) - if ((pc >= dummyframe->call_lo && pc < dummyframe->call_hi) - && (fp == dummyframe->fp - || fp == dummyframe->sp - || fp == dummyframe->top)) - /* The frame in question lies between the saved fp and sp, inclusive */ - return dummyframe->regcache; - - return 0; -} - -char * -deprecated_generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp) -{ - struct regcache *regcache = generic_find_dummy_frame (pc, fp); - if (regcache == NULL) - return NULL; - return deprecated_grub_regcache_for_registers (regcache); -} - -/* Function: pc_in_call_dummy (pc, sp, fp) - - Return true if the PC falls in a dummy frame created by gdb for an - inferior call. The code below which allows DECR_PC_AFTER_BREAK is - for infrun.c, which may give the function a PC without that - subtracted out. */ - -int -generic_pc_in_call_dummy (CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR fp) -{ - struct dummy_frame *dummyframe; - for (dummyframe = dummy_frame_stack; - dummyframe != NULL; - dummyframe = dummyframe->next) - { - if ((pc >= dummyframe->call_lo) - && (pc < dummyframe->call_hi + DECR_PC_AFTER_BREAK)) - return 1; - } - return 0; -} - -/* Function: read_register_dummy - Find a saved register from before GDB calls a function in the inferior */ - -CORE_ADDR -generic_read_register_dummy (CORE_ADDR pc, CORE_ADDR fp, int regno) -{ - struct regcache *dummy_regs = generic_find_dummy_frame (pc, fp); - - if (dummy_regs) - { - /* NOTE: cagney/2002-08-12: Replaced a call to - regcache_raw_read_as_address() with a call to - regcache_cooked_read_unsigned(). The old, ...as_address - function was eventually calling extract_unsigned_integer (via - extract_address) to unpack the registers value. The below is - doing an unsigned extract so that it is functionally - equivalent. The read needs to be cooked as, otherwise, it - will never correctly return the value of a register in the - [NUM_REGS .. NUM_REGS+NUM_PSEUDO_REGS) range. */ - ULONGEST val; - regcache_cooked_read_unsigned (dummy_regs, regno, &val); - return val; - } - else - return 0; -} - -/* Save all the registers on the dummy frame stack. Most ports save the - registers on the target stack. This results in lots of unnecessary memory - references, which are slow when debugging via a serial line. Instead, we - save all the registers internally, and never write them to the stack. The - registers get restored when the called function returns to the entry point, - where a breakpoint is laying in wait. */ - -void -generic_push_dummy_frame (void) -{ - struct dummy_frame *dummy_frame; - CORE_ADDR fp = (get_current_frame ())->frame; - - /* check to see if there are stale dummy frames, - perhaps left over from when a longjump took us out of a - function that was called by the debugger */ - - dummy_frame = dummy_frame_stack; - while (dummy_frame) - if (INNER_THAN (dummy_frame->fp, fp)) /* stale -- destroy! */ - { - dummy_frame_stack = dummy_frame->next; - regcache_xfree (dummy_frame->regcache); - xfree (dummy_frame); - dummy_frame = dummy_frame_stack; - } - else - dummy_frame = dummy_frame->next; - - dummy_frame = xmalloc (sizeof (struct dummy_frame)); - dummy_frame->regcache = regcache_xmalloc (current_gdbarch); - - dummy_frame->pc = read_pc (); - dummy_frame->sp = read_sp (); - dummy_frame->top = dummy_frame->sp; - dummy_frame->fp = fp; - regcache_cpy (dummy_frame->regcache, current_regcache); - dummy_frame->next = dummy_frame_stack; - dummy_frame_stack = dummy_frame; -} - -void -generic_save_dummy_frame_tos (CORE_ADDR sp) -{ - dummy_frame_stack->top = sp; -} - -/* Record the upper/lower bounds on the address of the call dummy. */ - -void -generic_save_call_dummy_addr (CORE_ADDR lo, CORE_ADDR hi) -{ - dummy_frame_stack->call_lo = lo; - dummy_frame_stack->call_hi = hi; -} - -/* Restore the machine state from either the saved dummy stack or a - real stack frame. */ - -void -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)) - generic_pop_dummy_frame (); - else - (*popper) (frame); -} - -/* Function: pop_dummy_frame - Restore the machine state from a saved dummy stack frame. */ - -void -generic_pop_dummy_frame (void) -{ - struct dummy_frame *dummy_frame = dummy_frame_stack; - - /* FIXME: what if the first frame isn't the right one, eg.. - because one call-by-hand function has done a longjmp into another one? */ - - if (!dummy_frame) - error ("Can't pop dummy frame!"); - dummy_frame_stack = dummy_frame->next; - regcache_cpy (current_regcache, dummy_frame->regcache); - flush_cached_frames (); - - regcache_xfree (dummy_frame->regcache); - 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_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) */ - return (fp != 0 - && (INNER_THAN (fi->frame, fp) || fi->frame == fp) - && !inside_entry_file (FRAME_SAVED_PC (fi))); -} - -int -generic_func_frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) -{ - if (USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY ((fi)->pc, 0, 0)) - 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; -} - -/* Given a call-dummy dummy-frame, return the registers. Here the - register value is taken from the local copy of the register buffer. */ - -static void -generic_call_dummy_register_unwind (struct frame_info *frame, void **cache, - int regnum, int *optimized, - enum lval_type *lvalp, CORE_ADDR *addrp, - int *realnum, void *bufferp) -{ - gdb_assert (frame != NULL); - gdb_assert (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)); - - /* Describe the register's location. Generic dummy frames always - have the register value in an ``expression''. */ - *optimized = 0; - *lvalp = not_lval; - *addrp = 0; - *realnum = -1; - - /* If needed, find and return the value of the register. */ - if (bufferp != NULL) - { - struct regcache *registers; -#if 1 - /* Get the address of the register buffer that contains all the - saved registers for this dummy frame. Cache that address. */ - registers = (*cache); - if (registers == NULL) - { - registers = generic_find_dummy_frame (frame->pc, frame->frame); - (*cache) = registers; - } -#else - /* Get the address of the register buffer that contains the - saved registers and then extract the value from that. */ - registers = generic_find_dummy_frame (frame->pc, frame->frame); -#endif - gdb_assert (registers != NULL); - /* Return the actual value. */ - /* Use the regcache_cooked_read() method so that it, on the fly, - constructs either a raw or pseudo register from the raw - register cache. */ - regcache_cooked_read (registers, regnum, bufferp); - } -} - -/* Return the register saved in the simplistic ``saved_regs'' cache. - If the value isn't here AND a value is needed, try the next inner - most frame. */ - -static void -frame_saved_regs_register_unwind (struct frame_info *frame, void **cache, - int regnum, int *optimizedp, - enum lval_type *lvalp, CORE_ADDR *addrp, - int *realnump, void *bufferp) -{ - /* There is always a frame at this point. And THIS is the frame - we're interested in. */ - gdb_assert (frame != NULL); - /* If we're using generic dummy frames, we'd better not be in a call - dummy. (generic_call_dummy_register_unwind ought to have been called - instead.) */ - gdb_assert (!(USE_GENERIC_DUMMY_FRAMES - && PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame))); - - /* Load the saved_regs register cache. */ - if (frame->saved_regs == NULL) - FRAME_INIT_SAVED_REGS (frame); - - if (frame->saved_regs != NULL - && frame->saved_regs[regnum] != 0) - { - if (regnum == SP_REGNUM) - { - /* SP register treated specially. */ - *optimizedp = 0; - *lvalp = not_lval; - *addrp = 0; - *realnump = -1; - if (bufferp != NULL) - store_address (bufferp, REGISTER_RAW_SIZE (regnum), - frame->saved_regs[regnum]); - } - else - { - /* Any other register is saved in memory, fetch it but cache - a local copy of its value. */ - *optimizedp = 0; - *lvalp = lval_memory; - *addrp = frame->saved_regs[regnum]; - *realnump = -1; - if (bufferp != NULL) - { -#if 1 - /* Save each register value, as it is read in, in a - frame based cache. */ - void **regs = (*cache); - if (regs == NULL) - { - int sizeof_cache = ((NUM_REGS + NUM_PSEUDO_REGS) - * sizeof (void *)); - regs = frame_obstack_alloc (sizeof_cache); - memset (regs, 0, sizeof_cache); - (*cache) = regs; - } - if (regs[regnum] == NULL) - { - regs[regnum] - = frame_obstack_alloc (REGISTER_RAW_SIZE (regnum)); - read_memory (frame->saved_regs[regnum], regs[regnum], - REGISTER_RAW_SIZE (regnum)); - } - memcpy (bufferp, regs[regnum], REGISTER_RAW_SIZE (regnum)); -#else - /* Read the value in from memory. */ - read_memory (frame->saved_regs[regnum], bufferp, - REGISTER_RAW_SIZE (regnum)); -#endif - } - } - return; - } - - /* No luck, assume this and the next frame have the same register - value. If a value is needed, pass the request on down the chain; - otherwise just return an indication that the value is in the same - register as the next frame. */ - if (bufferp == NULL) - { - *optimizedp = 0; - *lvalp = lval_register; - *addrp = 0; - *realnump = regnum; - } - else - { - frame_register_unwind (frame->next, regnum, optimizedp, lvalp, addrp, - realnump, bufferp); - } -} - -/* Function: get_saved_register - Find register number REGNUM relative to FRAME and put its (raw, - target format) contents in *RAW_BUFFER. - - Set *OPTIMIZED if the variable was optimized out (and thus can't be - fetched). Note that this is never set to anything other than zero - in this implementation. - - Set *LVAL to lval_memory, lval_register, or not_lval, depending on - whether the value was fetched from memory, from a register, or in a - strange and non-modifiable way (e.g. a frame pointer which was - calculated rather than fetched). We will use not_lval for values - fetched from generic dummy frames. - - 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. - - To use this implementation, define a function called - "get_saved_register" in your target code, which simply passes all - of its arguments to this function. - - The argument RAW_BUFFER must point to aligned memory. */ - -void -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."); - - /* Normal systems don't optimize out things with register numbers. */ - if (optimized != NULL) - *optimized = 0; - - if (addrp) /* default assumption: not found in memory */ - *addrp = 0; - - /* Note: since the current frame's registers could only have been - saved by frames INTERIOR TO the current frame, we skip examining - the current frame itself: otherwise, we would be getting the - previous frame's registers which were saved by the current frame. */ - - while (frame && ((frame = frame->next) != NULL)) - { - if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)) - { - if (lval) /* found it in a CALL_DUMMY frame */ - *lval = not_lval; - if (raw_buffer) - /* FIXME: cagney/2002-06-26: This should be via the - gdbarch_register_read() method so that it, on the fly, - constructs either a raw or pseudo register from the raw - register cache. */ - regcache_raw_read (generic_find_dummy_frame (frame->pc, - frame->frame), - regnum, raw_buffer); - return; - } - - FRAME_INIT_SAVED_REGS (frame); - if (frame->saved_regs != NULL - && frame->saved_regs[regnum] != 0) - { - 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), - frame->saved_regs[regnum]); - } - else - { - if (addrp) /* any other register */ - *addrp = frame->saved_regs[regnum]; - if (raw_buffer) - read_memory (frame->saved_regs[regnum], raw_buffer, - REGISTER_RAW_SIZE (regnum)); - } - return; - } - } - - /* 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 */ - *lval = lval_register; - if (addrp) - *addrp = REGISTER_BYTE (regnum); - if (raw_buffer) - read_register_gen (regnum, raw_buffer); -} - -void -_initialize_blockframe (void) -{ - obstack_init (&frame_cache_obstack); -} diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c deleted file mode 100644 index b88f6749aec..00000000000 --- a/gdb/breakpoint.c +++ /dev/null @@ -1,7809 +0,0 @@ -/* Everything about breakpoints, for GDB. - - 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 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 -#include "symtab.h" -#include "frame.h" -#include "breakpoint.h" -#include "gdbtypes.h" -#include "expression.h" -#include "gdbcore.h" -#include "gdbcmd.h" -#include "value.h" -#include "command.h" -#include "inferior.h" -#include "gdbthread.h" -#include "target.h" -#include "language.h" -#include "gdb_string.h" -#include "demangle.h" -#include "annotate.h" -#include "symfile.h" -#include "objfiles.h" -#include "linespec.h" -#include "completer.h" -#include "gdb.h" -#include "ui-out.h" -#include "cli/cli-script.h" - -#include "gdb-events.h" - -/* Prototypes for local functions. */ - -static void until_break_command_continuation (struct continuation_arg *arg); - -static void catch_command_1 (char *, int, int); - -static void enable_delete_command (char *, int); - -static void enable_delete_breakpoint (struct breakpoint *); - -static void enable_once_command (char *, int); - -static void enable_once_breakpoint (struct breakpoint *); - -static void disable_command (char *, int); - -static void enable_command (char *, int); - -static void map_breakpoint_numbers (char *, void (*)(struct breakpoint *)); - -static void ignore_command (char *, int); - -static int breakpoint_re_set_one (PTR); - -static void clear_command (char *, int); - -static void catch_command (char *, int); - -static void handle_gnu_4_16_catch_command (char *, int, int); - -static struct symtabs_and_lines get_catch_sals (int); - -static void watch_command (char *, int); - -static int can_use_hardware_watchpoint (struct value *); - -extern void break_at_finish_command (char *, int); -extern void break_at_finish_at_depth_command (char *, int); - -extern void tbreak_at_finish_command (char *, int); - -static void break_command_1 (char *, int, int); - -static void mention (struct breakpoint *); - -struct breakpoint *set_raw_breakpoint (struct symtab_and_line, enum bptype); - -static void check_duplicates (struct breakpoint *); - -static void describe_other_breakpoints (CORE_ADDR, asection *); - -static void breakpoints_info (char *, int); - -static void breakpoint_1 (int, int); - -static bpstat bpstat_alloc (struct breakpoint *, bpstat); - -static int breakpoint_cond_eval (PTR); - -static void cleanup_executing_breakpoints (PTR); - -static void commands_command (char *, int); - -static void condition_command (char *, int); - -static int get_number_trailer (char **, int); - -void set_breakpoint_count (int); - -typedef enum - { - mark_inserted, - mark_uninserted - } -insertion_state_t; - -static int remove_breakpoint (struct breakpoint *, insertion_state_t); - -static enum print_stop_action print_it_typical (bpstat); - -static enum print_stop_action print_bp_stop_message (bpstat bs); - -typedef struct - { - enum exception_event_kind kind; - int enable_p; - } -args_for_catchpoint_enable; - -static int watchpoint_check (PTR); - -static int cover_target_enable_exception_callback (PTR); - -static void maintenance_info_breakpoints (char *, int); - -static void create_longjmp_breakpoint (char *); - -static void create_overlay_event_breakpoint (char *); - -static int hw_breakpoint_used_count (void); - -static int hw_watchpoint_used_count (enum bptype, int *); - -static void hbreak_command (char *, int); - -static void thbreak_command (char *, int); - -static void watch_command_1 (char *, int, int); - -static void rwatch_command (char *, int); - -static void awatch_command (char *, int); - -static void do_enable_breakpoint (struct breakpoint *, enum bpdisp); - -static void solib_load_unload_1 (char *hookname, - int tempflag, - char *dll_pathname, - char *cond_string, enum bptype bp_kind); - -static void create_fork_vfork_event_catchpoint (int tempflag, - char *cond_string, - enum bptype bp_kind); - -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); - -static void stopin_command (char *arg, int from_tty); - -static void stopat_command (char *arg, int from_tty); - -static char *ep_find_event_name_end (char *arg); - -static char *ep_parse_optional_if_clause (char **arg); - -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; - -/* Are overlay event breakpoints enabled? */ -static int overlay_events_enabled; - -/* Walk the following statement or block through all breakpoints. - 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_SAFE(B,TMP) \ - for (B = breakpoint_chain; \ - B ? (TMP=B->next, 1): 0; \ - B = TMP) - -/* True if SHIFT_INST_REGS defined, false otherwise. */ - -int must_shift_inst_regs = -#if defined(SHIFT_INST_REGS) -1 -#else -0 -#endif - ; - -/* True if breakpoint hit counts should be displayed in breakpoint info. */ - -int show_breakpoint_hit_counts = 1; - -/* Chain of all breakpoints defined. */ - -struct breakpoint *breakpoint_chain; - -/* Number of last breakpoint made. */ - -int breakpoint_count; - -/* 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; - -/* This function returns a pointer to the string representation of the - pathname of the dynamically-linked library that has just been - loaded. - - This function must be used only when SOLIB_HAVE_LOAD_EVENT is TRUE, - or undefined results are guaranteed. - - This string's contents are only valid immediately after the - inferior has stopped in the dynamic linker hook, and becomes - invalid as soon as the inferior is continued. Clients should make - a copy of this string if they wish to continue the inferior and - then access the string. */ - -#ifndef SOLIB_LOADED_LIBRARY_PATHNAME -#define SOLIB_LOADED_LIBRARY_PATHNAME(pid) "" -#endif - -/* This function returns a pointer to the string representation of the - pathname of the dynamically-linked library that has just been - unloaded. - - This function must be used only when SOLIB_HAVE_UNLOAD_EVENT is - TRUE, or undefined results are guaranteed. - - This string's contents are only valid immediately after the - inferior has stopped in the dynamic linker hook, and becomes - invalid as soon as the inferior is continued. Clients should make - a copy of this string if they wish to continue the inferior and - then access the string. */ - -#ifndef SOLIB_UNLOADED_LIBRARY_PATHNAME -#define SOLIB_UNLOADED_LIBRARY_PATHNAME(pid) "" -#endif - -/* This function is called by the "catch load" command. It allows the - debugger to be notified by the dynamic linker when a specified - library file (or any library file, if filename is NULL) is loaded. */ - -#ifndef SOLIB_CREATE_CATCH_LOAD_HOOK -#define SOLIB_CREATE_CATCH_LOAD_HOOK(pid,tempflag,filename,cond_string) \ - error ("catch of library loads not yet implemented on this platform") -#endif - -/* This function is called by the "catch unload" command. It allows - the debugger to be notified by the dynamic linker when a specified - library file (or any library file, if filename is NULL) is - unloaded. */ - -#ifndef SOLIB_CREATE_CATCH_UNLOAD_HOOK -#define SOLIB_CREATE_CATCH_UNLOAD_HOOK(pid,tempflag,filename,cond_string) \ - error ("catch of library unloads not yet implemented on this platform") -#endif - -/* Set breakpoint count to NUM. */ - -void -set_breakpoint_count (int num) -{ - breakpoint_count = num; - set_internalvar (lookup_internalvar ("bpnum"), - value_from_longest (builtin_type_int, (LONGEST) num)); -} - -/* Used in run_command to zero the hit count when a new run starts. */ - -void -clear_breakpoint_hit_counts (void) -{ - struct breakpoint *b; - - ALL_BREAKPOINTS (b) - b->hit_count = 0; -} - -/* Default address, symtab and line to put a breakpoint at - for "break" command with no arg. - if default_breakpoint_valid is zero, the other three are - not valid, and "break" with no arg is an error. - - This set by print_stack_frame, which calls set_default_breakpoint. */ - -int default_breakpoint_valid; -CORE_ADDR default_breakpoint_address; -struct symtab *default_breakpoint_symtab; -int default_breakpoint_line; - -/* *PP is a string denoting a breakpoint. Get the number of the breakpoint. - Advance *PP after the string and any trailing whitespace. - - 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"). - - 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_trailer (char **pp, int trailer) -{ - int retval = 0; /* default */ - char *p = *pp; - - if (p == NULL) - /* Empty line means refer to the last breakpoint. */ - return breakpoint_count; - else if (*p == '$') - { - /* Make a copy of the name, so we can null-terminate it - to pass to lookup_internalvar(). */ - char *varname; - char *start = ++p; - struct value *val; - - while (isalnum (*p) || *p == '_') - p++; - varname = (char *) alloca (p - start + 1); - 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) - retval = (int) value_as_long (val); - else - { - printf_filtered ("Convenience variable must have integer value.\n"); - retval = 0; - } - } - else - { - if (*p == '-') - ++p; - while (*p >= '0' && *p <= '9') - ++p; - if (p == *pp) - /* There is no number here. (e.g. "cond a == b"). */ - { - /* 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; - } - 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 (char *arg, int from_tty) -{ - register struct breakpoint *b; - char *p; - register int bnum; - - if (arg == 0) - error_no_arg ("breakpoint number"); - - 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) - { - 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 (); - breakpoint_modify_event (b->number); - return; - } - - error ("No breakpoint number %d.", bnum); -} - -/* ARGSUSED */ -static void -commands_command (char *arg, int from_tty) -{ - register struct breakpoint *b; - char *p; - register int bnum; - struct command_line *l; - - /* If we allowed this, we would have problems with when to - free the storage, if we change the commands currently - being read from. */ - - if (executing_breakpoint_commands) - error ("Can't use the \"commands\" command among a breakpoint's commands."); - - 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 (); - breakpoint_modify_event (b->number); - return; - } - error ("No breakpoint number %d.", bnum); -} - -/* Like target_read_memory() but if breakpoints are inserted, return - the shadow contents instead of the breakpoints themselves. - - Read "memory data" from whatever target or inferior we have. - Returns zero if successful, errno value if not. EIO is used - for address out of bounds. If breakpoints are inserted, returns - shadow contents, not the breakpoints themselves. From breakpoint.c. */ - -int -read_memory_nobpt (CORE_ADDR memaddr, char *myaddr, unsigned len) -{ - int status; - struct breakpoint *b; - CORE_ADDR bp_addr = 0; - int bp_size = 0; - - 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. */ - { - /* 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; - } - } - /* 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 (void) -{ - register struct breakpoint *b, *temp; - int return_val = 0; /* return success code. */ - int val = 0; - int disabled_breaks = 0; - int hw_breakpoint_error = 0; - int process_warning = 0; - - static char message1[] = "Error inserting catchpoint %d:\n"; - static char message[sizeof (message1) + 30]; - -#ifdef ONE_PROCESS_WRITETEXT - process_warning = 1; -#endif - - struct ui_file *tmp_error_stream = mem_fileopen (); - make_cleanup_ui_file_delete (tmp_error_stream); - - /* Explicitly mark the warning -- this will only be printed if - there was an error. */ - fprintf_unfiltered (tmp_error_stream, "Warning:\n"); - - ALL_BREAKPOINTS_SAFE (b, temp) - { - if (b->enable_state == bp_permanent) - /* Permanent breakpoints cannot be inserted or removed. */ - continue; - if ((b->type == bp_watchpoint - || b->type == bp_hardware_watchpoint - || b->type == bp_read_watchpoint - || b->type == bp_access_watchpoint) && (!b->val)) - { - struct value *val; - val = evaluate_expression (b->exp); - release_value (val); - if (VALUE_LAZY (val)) - value_fetch_lazy (val); - b->val = val; - } - 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) - { - /* "Normal" instruction breakpoint: either the standard - trap-instruction bp (bp_breakpoint), or a - bp_hardware_breakpoint. */ - - /* First check to see if we have to handle an overlay. */ - if (overlay_debugging == ovly_off - || b->section == NULL - || !(section_is_overlay (b->section))) - { - /* No overlay handling: just set the 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); - } - else - { - /* This breakpoint is in an overlay section. - Shall we set a breakpoint at the LMA? */ - if (!overlay_events_enabled) - { - /* Yes -- overlay event support is not active, - so we must try to set a breakpoint at the LMA. - This will not work for a hardware breakpoint. */ - if (b->type == bp_hardware_breakpoint) - warning ("hardware breakpoint %d not supported in overlay!\n", - b->number); - else - { - CORE_ADDR addr = overlay_unmapped_address (b->address, - b->section); - /* Set a software (trap) breakpoint at the LMA. */ - val = target_insert_breakpoint (addr, b->shadow_contents); - if (val != 0) - fprintf_unfiltered (tmp_error_stream, - "Overlay breakpoint %d failed: in ROM?", - b->number); - } - } - /* Shall we set a breakpoint at the VMA? */ - if (section_is_mapped (b->section)) - { - /* Yes. This overlay section is mapped into memory. */ - 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); - } - else - { - /* No. This breakpoint will not be inserted. - No error, but do not mark the bp as 'inserted'. */ - continue; - } - } - - 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_state = bp_shlib_disabled; - if (!disabled_breaks) - { - fprintf_unfiltered (tmp_error_stream, - "Cannot insert breakpoint %d.\n", b->number); - fprintf_unfiltered (tmp_error_stream, - "Temporarily disabling shared library breakpoints:\n"); - } - disabled_breaks = 1; - fprintf_unfiltered (tmp_error_stream, "breakpoint #%d\n", b->number); - } - else -#endif - { - process_warning = 1; - if (b->type == bp_hardware_breakpoint) - { - hw_breakpoint_error = 1; - fprintf_unfiltered (tmp_error_stream, - "Cannot insert hardware breakpoint %d.\n", - b->number); - } - else - { - fprintf_unfiltered (tmp_error_stream, "Cannot insert breakpoint %d.\n", b->number); - fprintf_filtered (tmp_error_stream, "Error accessing memory address "); - print_address_numeric (b->address, 1, tmp_error_stream); - fprintf_filtered (tmp_error_stream, ": %s.\n", - safe_strerror (val)); - } - - } - } - else - b->inserted = 1; - - if (val) - return_val = val; /* remember failure */ - } - else if (ep_is_exception_catchpoint (b) - && 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. */ - /* 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 */ - fprintf_unfiltered (tmp_error_stream, - "Cannot insert catchpoint %d; disabling it.\n", - b->number); - fprintf_filtered (tmp_error_stream, "Error accessing memory address "); - print_address_numeric (b->address, 1, tmp_error_stream); - fprintf_filtered (tmp_error_stream, ": %s.\n", - safe_strerror (val)); - 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_p = 1; - val = catch_errors (cover_target_enable_exception_callback, - &args, - message, RETURN_MASK_ALL); - if (val != 0 && val != -1) - { - b->inserted = 1; - } - /* Check if something went wrong; val == 0 can be ignored */ - if (val == -1) - { - /* something went wrong */ - fprintf_unfiltered (tmp_error_stream, - "Cannot insert catchpoint %d; disabling it.\n", - b->number); - b->enable_state = bp_disabled; - } - } - - if (val) - return_val = val; /* remember failure */ - } - - 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 = frame_relative_level (selected_frame); - - /* Determine if the watchpoint is within scope. */ - if (b->exp_valid_block == NULL) - within_current_scope = 1; - else - { - struct frame_info *fi; - fi = frame_find_by_id (b->watchpoint_frame); - within_current_scope = (fi != NULL); - if (within_current_scope) - select_frame (fi); - } - - 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); - - 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, 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) - { - process_warning = 1; - remove_breakpoint (b, mark_uninserted); - hw_breakpoint_error = 1; - fprintf_unfiltered (tmp_error_stream, - "Cannot insert hardware watchpoint %d.\n", 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 != frame_relative_level (selected_frame))) - select_frame (saved_frame); - - 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) - { - fprintf_unfiltered (tmp_error_stream, "Cannot insert catchpoint %d.", b->number); - } - else - b->inserted = 1; - - if (val) - return_val = val; /* remember failure */ - } - } - - if (return_val) - { - /* If a hardware breakpoint or watchpoint was inserted, add a - message about possibly exhausted resources. */ - if (hw_breakpoint_error) - { - fprintf_unfiltered (tmp_error_stream, "Could not insert hardware breakpoints:\n" - "You may have requested too many hardware breakpoints/watchpoints.\n"); - } - - if (process_warning) - fprintf_unfiltered (tmp_error_stream,"The same program may be running in another process."); - - target_terminal_ours_for_output (); - error_stream (tmp_error_stream); - } - 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 -remove_hw_watchpoints (void) -{ - register struct breakpoint *b; - int val; - - ALL_BREAKPOINTS (b) - { - 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 (void) -{ - 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 - shadow is NOT valid after an 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; - } - - /* 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 (int pid) -{ - register struct breakpoint *b; - int val; - 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) - { - do_cleanups (old_chain); - return val; - } - } - } - do_cleanups (old_chain); - return 0; -} - -static int -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?", - b->number); - - 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_catch - && b->type != bp_catch_throw) - { - /* "Normal" instruction breakpoint: either the standard - trap-instruction bp (bp_breakpoint), or a - bp_hardware_breakpoint. */ - - /* First check to see if we have to handle an overlay. */ - if (overlay_debugging == ovly_off - || b->section == NULL - || !(section_is_overlay (b->section))) - { - /* No overlay handling: just remove the breakpoint. */ - - if (b->type == bp_hardware_breakpoint) - val = target_remove_hw_breakpoint (b->address, - b->shadow_contents); - else - val = target_remove_breakpoint (b->address, b->shadow_contents); - } - else - { - /* This breakpoint is in an overlay section. - Did we set a breakpoint at the LMA? */ - if (!overlay_events_enabled) - { - /* Yes -- overlay event support is not active, so we - should have set a breakpoint at the LMA. Remove it. - */ - CORE_ADDR addr = overlay_unmapped_address (b->address, - b->section); - /* Ignore any failures: if the LMA is in ROM, we will - have already warned when we failed to insert it. */ - if (b->type != bp_hardware_breakpoint) - target_remove_hw_breakpoint (addr, b->shadow_contents); - else - target_remove_breakpoint (addr, b->shadow_contents); - } - /* Did we set a breakpoint at the VMA? - If so, we will have marked the breakpoint 'inserted'. */ - if (b->inserted) - { - /* Yes -- remove it. Previously we did not bother to - remove the breakpoint if the section had been - unmapped, but let's not rely on that being safe. We - don't know what the overlay manager might do. */ - if (b->type == bp_hardware_breakpoint) - val = target_remove_hw_breakpoint (b->address, - b->shadow_contents); - else - val = target_remove_breakpoint (b->address, - b->shadow_contents); - } - else - { - /* No -- not inserted, so no need to remove. No error. */ - val = 0; - } - } - 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_state == bp_enabled - && !b->duplicate) - { - 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 (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 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 ("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. */ - for (v = b->val_chain; v; v = n) - { - n = v->next; - value_free (v); - } - b->val_chain = NULL; - } - else if ((b->type == bp_catch_fork || - 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 (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_state == bp_enabled - && !b->duplicate) - { - - val = target_remove_breakpoint (b->address, b->shadow_contents); - if (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_state == bp_enabled - && !b->duplicate) - { - - val = target_remove_breakpoint (b->address, b->shadow_contents); - if (val) - return val; - - b->inserted = (is == mark_inserted); - } - - return 0; -} - -/* Clear the "inserted" flag in all breakpoints. */ - -void -mark_breakpoints_out (void) -{ - register struct breakpoint *b; - - ALL_BREAKPOINTS (b) - b->inserted = 0; -} - -/* 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). */ - - - -void -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; - - 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. - - 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: - - /* Likewise for watchpoints on local expressions. */ - if (b->exp_valid_block != NULL) - delete_breakpoint (b); - if (context == inf_starting) - { - /* Reset val field to force reread of starting value - in insert_breakpoints. */ - if (b->val) - value_free (b->val); - b->val = NULL; - } - 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; - } - } - - if (exception_catchpoints_are_fragile) - exception_support_initialized = 0; - - /* Don't issue the warning unless it's really needed... */ - if (warning_needed && (context != inf_exited)) - { - warning ("Exception catchpoints from last run were deleted."); - warning ("You must reinsert them explicitly."); - warning_needed = 0; - } -} - -/* 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. */ - -enum breakpoint_here -breakpoint_here_p (CORE_ADDR pc) -{ - register struct breakpoint *b; - int any_breakpoint_here = 0; - - ALL_BREAKPOINTS (b) - 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)) - continue; /* unmapped overlay -- can't be a match */ - else if (b->enable_state == bp_permanent) - return permanent_breakpoint_here; - else - any_breakpoint_here = 1; - } - - 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. */ - -int -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; - } - - 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. */ - -int -frame_in_dummy (struct frame_info *frame) -{ - struct breakpoint *b; - - if (!CALL_DUMMY_P) - return 0; - - if (USE_GENERIC_DUMMY_FRAMES) - return generic_pc_in_call_dummy (frame->pc, frame->frame, frame->frame); - - 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_thread_match (PC, PID) returns true if the breakpoint at - PC is valid for process/thread PID. */ - -int -breakpoint_thread_match (CORE_ADDR pc, ptid_t ptid) -{ - struct breakpoint *b; - int thread; - - thread = pid_to_thread_id (ptid); - - ALL_BREAKPOINTS (b) - 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; - } - - return 0; -} - - -/* bpstat stuff. External routines' interfaces are documented - in breakpoint.h. */ - -int -ep_is_catchpoint (struct breakpoint *ep) -{ - return - (ep->type == bp_catch_load) - || (ep->type == bp_catch_unload) - || (ep->type == bp_catch_fork) - || (ep->type == bp_catch_vfork) - || (ep->type == bp_catch_exec) - || (ep->type == bp_catch_catch) - || (ep->type == bp_catch_throw); - - /* ??rehrauer: Add more kinds here, as are implemented... */ -} - -int -ep_is_shlib_catchpoint (struct breakpoint *ep) -{ - return - (ep->type == bp_catch_load) - || (ep->type == bp_catch_unload); -} - -int -ep_is_exception_catchpoint (struct breakpoint *ep) -{ - return - (ep->type == bp_catch_catch) - || (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 (bpstat *bsp) -{ - bpstat p; - bpstat q; - - if (bsp == 0) - return; - p = *bsp; - while (p != NULL) - { - q = p->next; - if (p->old_val != NULL) - value_free (p->old_val); - free_command_lines (&p->commands); - xfree (p); - p = q; - } - *bsp = NULL; -} - -/* Return a copy of a bpstat. Like "bs1 = bs2" but all storage that - is part of the bpstat is copied as well. */ - -bpstat -bpstat_copy (bpstat bs) -{ - bpstat p = NULL; - bpstat tmp; - bpstat retval = NULL; - - if (bs == NULL) - return bs; - - for (; bs != NULL; bs = bs->next) - { - tmp = (bpstat) xmalloc (sizeof (*tmp)); - memcpy (tmp, bs, sizeof (*tmp)); - if (p == NULL) - /* This is the first thing in the chain. */ - retval = tmp; - else - p->next = tmp; - p = tmp; - } - p->next = NULL; - return retval; -} - -/* Find the bpstat associated with this breakpoint */ - -bpstat -bpstat_find_breakpoint (bpstat bsp, struct breakpoint *breakpoint) -{ - if (bsp == NULL) - return NULL; - - for (; bsp != NULL; bsp = bsp->next) - { - if (bsp->breakpoint_at == breakpoint) - return bsp; - } - return NULL; -} - -/* Find a step_resume breakpoint associated with this bpstat. - (If there are multiple step_resume bp's on the list, this function - will arbitrarily pick one.) - - It is an error to use this function if BPSTAT doesn't contain a - step_resume breakpoint. - - See wait_for_inferior's use of this function. */ -struct breakpoint * -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) && - (bsp->breakpoint_at->thread == current_thread || - bsp->breakpoint_at->thread == -1)) - return bsp->breakpoint_at; - } - - error ("Internal error (no step_resume breakpoint found)"); -} - - -/* 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. */ - -int -bpstat_num (bpstat *bsp) -{ - struct breakpoint *b; - - if ((*bsp) == NULL) - return 0; /* No more breakpoint values */ - else - { - b = (*bsp)->breakpoint_at; - *bsp = (*bsp)->next; - if (b == NULL) - return -1; /* breakpoint that's been deleted since */ - else - return b->number; /* We have its number */ - } -} - -/* Modify BS so that the actions will not be performed. */ - -void -bpstat_clear_actions (bpstat bs) -{ - for (; bs != NULL; bs = bs->next) - { - free_command_lines (&bs->commands); - if (bs->old_val != NULL) - { - value_free (bs->old_val); - bs->old_val = NULL; - } - } -} - -/* Stub for cleaning up our state if we error-out of a breakpoint command */ -/* ARGSUSED */ -static void -cleanup_executing_breakpoints (PTR ignore) -{ - executing_breakpoint_commands = 0; -} - -/* Execute all the commands associated with all the breakpoints at this - location. Any of these commands could cause the process to proceed - beyond this point, etc. We look out for such changes by checking - the global "breakpoint_proceeded" after each command. */ - -void -bpstat_do_actions (bpstat *bsp) -{ - bpstat bs; - struct cleanup *old_chain; - struct command_line *cmd; - - /* Avoid endless recursion if a `source' command is contained - in bs->commands. */ - if (executing_breakpoint_commands) - return; - - executing_breakpoint_commands = 1; - old_chain = make_cleanup (cleanup_executing_breakpoints, 0); - -top: - /* Note that (as of this writing), our callers all appear to - be passing us the address of global stop_bpstat. And, if - our calls to execute_control_command cause the inferior to - proceed, that global (and hence, *bsp) will change. - - We must be careful to not touch *bsp unless the inferior - has not proceeded. */ - - /* This pointer will iterate over the list of bpstat's. */ - bs = *bsp; - - breakpoint_proceeded = 0; - for (; bs != NULL; bs = bs->next) - { - cmd = bs->commands; - while (cmd != NULL) - { - execute_control_command (cmd); - - if (breakpoint_proceeded) - break; - else - cmd = cmd->next; - } - if (breakpoint_proceeded) - /* The inferior is proceeded by the command; bomb out now. - The bpstat chain has been blown away by wait_for_inferior. - But since execution has stopped again, there is a new bpstat - to look at, so start over. */ - goto top; - else - free_command_lines (&bs->commands); - } - do_cleanups (old_chain); -} - -/* 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 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) - return PRINT_UNKNOWN; - - 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); - printf_filtered ("loaded"); - printf_filtered (" %s), ", bs->breakpoint_at->triggered_dll_pathname); - return PRINT_SRC_AND_LOC; - break; - - case bp_catch_unload: - annotate_catchpoint (bs->breakpoint_at->number); - printf_filtered ("\nCatchpoint %d (", bs->breakpoint_at->number); - 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 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 - { - /* 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 - { - /* really catch, some other bpstat will handle it */ - return PRINT_UNKNOWN; - } - break; - - 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 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; - } -} - -/* 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) - { - case print_it_noop: - /* Nothing should be printed for this bpstat entry. */ - return PRINT_UNKNOWN; - break; - - 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; - - /* 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 - with respect to bpstat_explains_signal). */ - 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, 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. - This is used inside a catch_errors to evaluate the breakpoint condition. - The argument is a "struct expression *" that has been cast to char * to - make it pass through catch_errors. */ - -static int -breakpoint_cond_eval (PTR exp) -{ - struct value *mark = value_mark (); - int i = !value_true (evaluate_expression ((struct expression *) exp)); - value_free_to_mark (mark); - return i; -} - -/* Allocate a new bpstat and chain it to the current one. */ - -static bpstat -bpstat_alloc (struct breakpoint *b, bpstat cbs /* Current "bs" value */ ) -{ - bpstat bs; - - bs = (bpstat) xmalloc (sizeof (*bs)); - cbs->next = bs; - bs->breakpoint_at = b; - /* If the condition is false, etc., don't do the commands. */ - bs->commands = NULL; - bs->old_val = NULL; - bs->print_it = print_it_normal; - return bs; -} - -/* Possible return values for watchpoint_check (this can't be an enum - because of check_errors). */ -/* The watchpoint has been deleted. */ -#define WP_DELETED 1 -/* The value has changed. */ -#define WP_VALUE_CHANGED 2 -/* The value has not changed. */ -#define WP_VALUE_NOT_CHANGED 3 - -#define BP_TEMPFLAG 1 -#define BP_HARDWAREFLAG 2 - -/* Check watchpoint condition. */ - -static int -watchpoint_check (PTR p) -{ - bpstat bs = (bpstat) p; - struct breakpoint *b; - struct frame_info *fr; - int within_current_scope; - - b = bs->breakpoint_at; - - if (b->exp_valid_block == NULL) - within_current_scope = 1; - 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 (); - fr = frame_find_by_id (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); - } - - 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. */ - - 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); - value_free_to_mark (mark); - bs->old_val = b->val; - b->val = new_val; - /* We will stop here */ - return WP_VALUE_CHANGED; - } - else - { - /* Nothing changed, don't do anything. */ - value_free_to_mark (mark); - /* We won't stop here */ - return WP_VALUE_NOT_CHANGED; - } - } - 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). */ - /* 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 = disp_del_at_next_stop; - b->disposition = disp_del_at_next_stop; - - return WP_DELETED; - } -} - -/* 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_SW_BREAKPOINT is nonzero - if this is known to not be a real breakpoint (it could still be a - watchpoint, though). */ - -/* 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 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 has valid next, breakpoint_at, - commands, FIXME??? fields. */ - -bpstat -bpstat_stop_status (CORE_ADDR *pc, int not_a_sw_breakpoint) -{ - register struct breakpoint *b, *temp; - CORE_ADDR bp_addr; - /* True if we've hit a breakpoint (as opposed to a watchpoint). */ - int real_breakpoint = 0; - /* Root of the chain of bpstat's */ - struct bpstats root_bs[1]; - /* 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 */ ]; - - /* Get the address where the breakpoint would have been. The - "not_a_sw_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. */ - - bp_addr = *pc - (not_a_sw_breakpoint ? 0 : DECR_PC_AFTER_BREAK); - - 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) - { - if (b->address != (*pc - DECR_PC_AFTER_HW_BREAK)) - continue; - if (overlay_debugging /* unmapped overlay section */ - && section_is_overlay (b->section) - && !section_is_mapped (b->section)) - 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) -#if defined(SOLIB_HAVE_LOAD_EVENT) - && (!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) -#if defined(SOLIB_HAVE_UNLOAD_EVENT) - && (!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 (PIDGET (inferior_ptid), - &b->forked_inferior_pid)) - continue; - - if ((b->type == bp_catch_vfork) - && !target_has_vforked (PIDGET (inferior_ptid), - &b->forked_inferior_pid)) - continue; - - if ((b->type == bp_catch_exec) - && !target_has_execd (PIDGET (inferior_ptid), &b->exec_pathname)) - continue; - - if (ep_is_exception_catchpoint (b) && - !(current_exception_event = target_get_current_exception_event ())) - continue; - - /* 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. */ - bs->print_it = print_it_done; - /* Stop. */ - break; - case WP_VALUE_CHANGED: - 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: - /* 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 = 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; - break; - } - 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); - - 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 ()); - 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 = copy_command_lines (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; - } - } - } - /* 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 (DECR_PC_AFTER_HW_BREAK != 0) - { - *pc = *pc - DECR_PC_AFTER_HW_BREAK; - write_pc (*pc); - } - } - else - { - if (DECR_PC_AFTER_BREAK != 0 || must_shift_inst_regs) - { - *pc = bp_addr; -#if defined (SHIFT_INST_REGS) - SHIFT_INST_REGS (); -#else /* No SHIFT_INST_REGS. */ - write_pc (bp_addr); -#endif /* No SHIFT_INST_REGS. */ - } - } - } - - /* The value of a hardware watchpoint hasn't changed, but the - intermediate memory locations we are watching may have. */ - 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)) - { - remove_breakpoints (); - insert_breakpoints (); - } - return bs; -} - -/* Tell what to do about this bpstat. */ -struct bpstat_what -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, - - /* There was a watchpoint, stop but don't print. */ - wp_silent, - - /* There was a watchpoint, stop and print. */ - wp_noisy, - - /* 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 and print. */ - bp_noisy, - - /* We hit the longjmp breakpoint. */ - long_jump, - - /* We hit the longjmp_resume breakpoint. */ - long_resume, - - /* We hit the step_resume breakpoint. */ - step_resume, - - /* We hit the through_sigtramp breakpoint. */ - through_sig, - - /* 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 - }; - - /* Here is the table which drives this routine. So that we can - format it pretty, we define some abbreviations for the - enum bpstat_what codes. */ -#define kc BPSTAT_WHAT_KEEP_CHECKING -#define ss BPSTAT_WHAT_STOP_SILENT -#define sn BPSTAT_WHAT_STOP_NOISY -#define sgl BPSTAT_WHAT_SINGLE -#define slr BPSTAT_WHAT_SET_LONGJMP_RESUME -#define clr BPSTAT_WHAT_CLEAR_LONGJMP_RESUME -#define clrs BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE -#define sr BPSTAT_WHAT_STEP_RESUME -#define ts BPSTAT_WHAT_THROUGH_SIGTRAMP -#define shl BPSTAT_WHAT_CHECK_SHLIBS -#define shlr BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK - -/* "Can't happen." Might want to print an error message. - abort() is not out of the question, but chances are GDB is just - a bit confused, not unusable. */ -#define err BPSTAT_WHAT_STOP_NOISY - - /* Given an old action and a class, come up with a new action. */ - /* One interesting property of this table is that wp_silent is the same - 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. - - 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 - at first PC_IN_SIGTRAMP where we set the step_resume breakpoint). */ - /* We handle the through_sigtramp_breakpoint the same way; having both - 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, 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 -#undef sn -#undef sgl -#undef slr -#undef clr -#undef clrs -#undef err -#undef sr -#undef ts -#undef shl -#undef shlr - enum bpstat_what_main_action current_action = BPSTAT_WHAT_KEEP_CHECKING; - struct bpstat_what retval; - - retval.call_dummy = 0; - for (; bs != NULL; bs = bs->next) - { - enum class bs_class = no_effect; - if (bs->breakpoint_at == NULL) - /* I suspect this can happen if it was a momentary breakpoint - which has since been deleted. */ - continue; - switch (bs->breakpoint_at->type) - { - case bp_none: - continue; - - case bp_breakpoint: - case bp_hardware_breakpoint: - case bp_until: - case bp_finish: - if (bs->stop) - { - if (bs->print) - bs_class = bp_noisy; - else - bs_class = bp_silent; - } - else - bs_class = bp_nostop; - break; - case bp_watchpoint: - case bp_hardware_watchpoint: - case bp_read_watchpoint: - case bp_access_watchpoint: - if (bs->stop) - { - if (bs->print) - bs_class = wp_noisy; - else - bs_class = wp_silent; - } - else - /* There was a watchpoint, but we're not stopping. - This requires no further action. */ - bs_class = no_effect; - break; - case bp_longjmp: - bs_class = long_jump; - break; - case bp_longjmp_resume: - bs_class = long_resume; - break; - case bp_step_resume: - if (bs->stop) - { - bs_class = step_resume; - } - else - /* It is for the wrong frame. */ - bs_class = bp_nostop; - break; - case bp_through_sigtramp: - bs_class = through_sig; - break; - case bp_watchpoint_scope: - bs_class = bp_nostop; - break; - case bp_shlib_event: - bs_class = shlib_event; - break; - 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; - case bp_call_dummy: - /* 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]; - } - retval.main_action = current_action; - return retval; -} - -/* 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. */ - -int -bpstat_should_step (void) -{ - struct breakpoint *b; - ALL_BREAKPOINTS (b) - 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 (void) -{ - struct breakpoint *b; - ALL_BREAKPOINTS (b) - 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 (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) - { - /* 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; - - /* 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, - because it's only guaranteed to be available NOW, when the - catchpoint triggers. Clients who may wish to know the name - later must get it from the catchpoint itself.) */ - if (ep->triggered_dll_pathname != NULL) - xfree (ep->triggered_dll_pathname); - if (ep->type == bp_catch_load) - dll_pathname = SOLIB_LOADED_LIBRARY_PATHNAME ( - PIDGET (inferior_ptid)); - else - 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); - strcpy (ep->triggered_dll_pathname, dll_pathname); - } - else - ep->triggered_dll_pathname = NULL; - } - - *cp_list = bs; -} - -/* Print B to gdb_stdout. */ -static void -print_one_breakpoint (struct breakpoint *b, - CORE_ADDR *last_addr) -{ - register struct command_line *l; - register struct symbol *sym; - struct ep_type_description - { - enum bptype type; - char *description; - }; - static struct ep_type_description bptypes[] = - { - {bp_none, "?deleted?"}, - {bp_breakpoint, "breakpoint"}, - {bp_hardware_breakpoint, "hw breakpoint"}, - {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_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; - - 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; - - 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; - } - - 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); - } - - ui_out_text (uiout, "\n"); - - 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); - - 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); -} - -struct captured_breakpoint_query_args - { - int bnum; - }; - -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; -} - -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); -} - -/* Return non-zero if B is user settable (breakpoints, watchpoints, - catchpoints, et.al.). */ - -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. */ - -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 (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 (); - - 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 (nr_printable_breakpoints == 0) - { - if (bnum == -1) - ui_out_message (uiout, 0, "No breakpoints or watchpoints.\n"); - else - 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); - } - - /* 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 (char *bnum_exp, int from_tty) -{ - int bnum = -1; - - if (bnum_exp) - bnum = parse_and_eval_long (bnum_exp); - - breakpoint_1 (bnum, 0); -} - -/* ARGSUSED */ -static void -maintenance_info_breakpoints (char *bnum_exp, int from_tty) -{ - int bnum = -1; - - if (bnum_exp) - bnum = parse_and_eval_long (bnum_exp); - - breakpoint_1 (bnum, 1); -} - -/* Print a message describing any breakpoints set at PC. */ - -static void -describe_other_breakpoints (CORE_ADDR pc, asection *section) -{ - register int others = 0; - register struct breakpoint *b; - - ALL_BREAKPOINTS (b) - 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) /* address match / overlay match */ - if (!overlay_debugging || b->section == section) - { - others--; - 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); - printf_filtered (".\n"); - } -} - -/* Set the default place to put a breakpoint - for the `break' command with no arguments. */ - -void -set_default_breakpoint (int valid, CORE_ADDR addr, struct symtab *symtab, - int line) -{ - default_breakpoint_valid = valid; - default_breakpoint_address = addr; - default_breakpoint_symtab = symtab; - default_breakpoint_line = line; -} - -/* 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. - 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 (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 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; - - /* 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; - } - } -} - -/* 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. - - 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 (struct symtab_and_line sal, enum bptype bptype) -{ - register struct breakpoint *b, *b1; - - b = (struct breakpoint *) xmalloc (sizeof (struct breakpoint)); - memset (b, 0, sizeof (*b)); - b->address = sal.pc; - if (sal.symtab == NULL) - b->source_file = NULL; - else - 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_state = bp_enabled; - b->next = 0; - b->silent = 0; - b->ignore_count = 0; - b->commands = NULL; - b->frame = 0; - b->dll_pathname = NULL; - b->triggered_dll_pathname = NULL; - b->forked_inferior_pid = 0; - b->exec_pathname = NULL; - - /* Add this breakpoint to the end of the chain - so that a list of breakpoints will come out in order - of increasing numbers. */ - - b1 = breakpoint_chain; - if (b1 == 0) - breakpoint_chain = b; - else - { - while (b1->next) - b1 = b1->next; - b1->next = b; - } - - check_duplicates (b); - breakpoints_changed (); - - return b; -} - - -/* 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 */ - - 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); - } - - b->enable_state = bp_disabled; - b->silent = 1; - if (func_name) - b->addr_string = xstrdup (func_name); -} - -/* 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 (void) -{ - register struct breakpoint *b; - - ALL_BREAKPOINTS (b) - if (b->type == bp_longjmp) - { - b->enable_state = bp_enabled; - check_duplicates (b); - } -} - -void -disable_longjmp_breakpoint (void) -{ - register struct breakpoint *b; - - ALL_BREAKPOINTS (b) - if (b->type == bp_longjmp - || b->type == bp_longjmp_resume) - { - 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; - overlay_events_enabled = 1; - } - else - { - b->enable_state = bp_disabled; - overlay_events_enabled = 0; - } -} - -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); - overlay_events_enabled = 1; - } -} - -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); - overlay_events_enabled = 0; - } -} - -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 (void) -{ - register struct breakpoint *b, *temp; - - ALL_BREAKPOINTS_SAFE (b, temp) - if (b->type == bp_shlib_event) - delete_breakpoint (b); -} - -struct breakpoint * -create_solib_event_breakpoint (CORE_ADDR address) -{ - struct breakpoint *b; - - 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 (int silent) -{ - 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_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 - } -} - -/* Try to reenable any breakpoints in shared libraries. */ -void -re_enable_breakpoints_in_shlibs (void) -{ - struct breakpoint *b; - - ALL_BREAKPOINTS (b) - 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_state = bp_enabled; - } -} - -#endif - -static void -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 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."); - warning ("Suggest linking with /opt/langtools/lib/end.o."); - warning ("GDB will be unable to track shl_load/shl_unload calls"); - return; - } - if (sals.nelts != 1) - { - 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 (xfree, sals.sals); - if (canonical != (char **) NULL) - { - make_cleanup (xfree, canonical); - canonical_strings_chain = make_cleanup (null_cleanup, 0); - if (canonical[0] != NULL) - 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) - discard_cleanups (canonical_strings_chain); - - 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->thread = thread; - - 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_state = bp_enabled; - b->disposition = tempflag ? disp_del : disp_donttouch; - - if (dll_pathname == NULL) - b->dll_pathname = NULL; - else - { - b->dll_pathname = (char *) xmalloc (strlen (dll_pathname) + 1); - strcpy (b->dll_pathname, dll_pathname); - } - - mention (b); - do_cleanups (old_chain); -} - -void -create_solib_load_event_breakpoint (char *hookname, int tempflag, - char *dll_pathname, char *cond_string) -{ - solib_load_unload_1 (hookname, tempflag, dll_pathname, - cond_string, bp_catch_load); -} - -void -create_solib_unload_event_breakpoint (char *hookname, int tempflag, - char *dll_pathname, char *cond_string) -{ - solib_load_unload_1 (hookname,tempflag, dll_pathname, - cond_string, bp_catch_unload); -} - -static void -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, 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->thread = thread; - b->addr_string = NULL; - b->enable_state = bp_enabled; - b->disposition = tempflag ? disp_del : disp_donttouch; - b->forked_inferior_pid = 0; - - mention (b); -} - -void -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 (int tempflag, char *cond_string) -{ - create_fork_vfork_event_catchpoint (tempflag, cond_string, bp_catch_vfork); -} - -void -create_exec_event_catchpoint (int tempflag, char *cond_string) -{ - 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, 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->thread = thread; - b->addr_string = NULL; - b->enable_state = bp_enabled; - b->disposition = tempflag ? disp_del : disp_donttouch; - - mention (b); -} - -static int -hw_breakpoint_used_count (void) -{ - register struct breakpoint *b; - int i = 0; - - ALL_BREAKPOINTS (b) - { - if (b->type == bp_hardware_breakpoint && b->enable_state == bp_enabled) - i++; - } - - return i; -} - -static int -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_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. - - FIXME - This ought to be done by setting a temporary breakpoint - that gets deleted automatically... */ - -void -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_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 (void) -{ - 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_state == bp_enabled)) - { - b->enable_state = bp_call_disabled; - check_duplicates (b); - } - } -} - -void -enable_watchpoints_after_interactive_call_stop (void) -{ - 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_state == bp_call_disabled)) - { - b->enable_state = bp_enabled; - check_duplicates (b); - } - } -} - - -/* Set a breakpoint that will evaporate an end of command - at address specified by SAL. - Restrict it to frame FRAME if FRAME is nonzero. */ - -struct breakpoint * -set_momentary_breakpoint (struct symtab_and_line sal, struct frame_info *frame, - enum bptype type) -{ - register struct breakpoint *b; - 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_ptid)) - b->thread = pid_to_thread_id (inferior_ptid); - - return b; -} - - -/* Tell the user we have just set a breakpoint B. */ - -static void -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 - clean this up and at the same time replace the random calls to - breakpoint_changed with this hook, as has already been done for - delete_breakpoint_hook and so on. */ - if (create_breakpoint_hook) - create_breakpoint_hook (b); - breakpoint_create_event (b->number); - - switch (b->type) - { - case bp_none: - printf_filtered ("(apparently deleted?) Eventpoint %d: ", b->number); - break; - case bp_watchpoint: - 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: - 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: - 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: - 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 : ""); - break; - case bp_catch_fork: - case bp_catch_vfork: - printf_filtered ("Catchpoint %d (%s)", - b->number, - (b->type == bp_catch_fork) ? "fork" : "vfork"); - break; - case bp_catch_exec: - printf_filtered ("Catchpoint %d (exec)", - 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"); - break; - - case bp_until: - case bp_finish: - case bp_longjmp: - case bp_longjmp_resume: - case bp_step_resume: - case bp_through_sigtramp: - case bp_call_dummy: - case bp_watchpoint_scope: - case bp_shlib_event: - case bp_thread_event: - case bp_overlay_event: - break; - } - if (say_where) - { - if (addressprint || b->source_file == NULL) - { - printf_filtered (" at "); - print_address_numeric (b->address, 1, gdb_stdout); - } - if (b->source_file) - printf_filtered (": file %s, line %d.", - b->source_file, b->line_number); - } - do_cleanups (old_chain); - if (ui_out_is_mi_like_p (uiout)) - return; - printf_filtered ("\n"); -} - - -/* 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. - - 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. */ - -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."); - } - - /* 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]; - - 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); - } - } -} - -/* 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. */ - -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) - { - 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; - } - else - error ("No default breakpoint address now."); - } - else - { - /* 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. */ - if (default_breakpoint_valid - && (!current_source_symtab - || (strchr ("+-", (*address)[0]) != NULL))) - *sals = decode_line_1 (address, 1, default_breakpoint_symtab, - default_breakpoint_line, addr_string); - else - *sals = decode_line_1 (address, 1, (struct symtab *) NULL, 0, addr_string); - } - /* 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)) - { - int i; - for (i = 0; i < sals->nelts; i++) - { - /* Add the string if not present. */ - if ((*addr_string)[i] == NULL) - (*addr_string)[i] = savestring (addr_start, (*address) - addr_start); - } - } -} - - -/* Convert each SAL into a real PC. Verify that the PC can be - inserted as a breakpoint. If it can't throw an error. */ - -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. - - For example, on HP-UX if you start gdb, and before running the - inferior you try to set a breakpoint on a shared library function - "foo" where the inferior doesn't call "foo" directly but does - pass its address to another function call, then we do find a - minimal symbol for the "foo", but it's address is invalid. - (Appears to be an index into a table that the loader sets up - when the inferior is run.) - - 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)) - { - 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++; - - end_tok = tok; - - while (*end_tok != ' ' && *end_tok != '\t' && *end_tok != '\000') - end_tok++; - - toklen = end_tok - tok; - - if (toklen >= 1 && strncmp (tok, "if", toklen) == 0) - { - tok = cond_start = end_tok + 1; - 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) - { - char *tmptok; - - tok = end_tok + 1; - tmptok = tok; - thread = strtol (tok, &tok, 0); - if (tok == tmptok) - error ("Junk after thread keyword."); - if (!valid_thread_id (thread)) - error ("Unknown thread %d\n", thread); - } - else - error ("Junk at end of arguments."); - } - } - - 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); -} - -/* Set a breakpoint of TYPE/DISPOSITION according to ARG (function, - linenum or *address) with COND and IGNORE_COUNT. */ - -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++) - { - if (addr_string[i] != NULL) - make_cleanup (xfree, addr_string[i]); - } - - /* 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); - - /* Resolve all line numbers to PC's. */ - breakpoint_sals_to_pc (&sals, args->address); - - /* Verify that conditions can be parsed, before setting any - breakpoints. */ - for (i = 0; i < sals.nelts; i++) - { - 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 (char *arg, int flag, int from_tty) -{ - struct frame_info *frame; - CORE_ADDR low, high, selected_pc = 0; - char *extra_args = NULL; - char *level_arg; - char *addr_string; - int extra_args_len = 0, if_arg = 0; - - if (!arg || - (arg[0] == 'i' && arg[1] == 'f' && (arg[2] == ' ' || arg[2] == '\t'))) - { - - if (default_breakpoint_valid) - { - if (selected_frame) - { - selected_pc = selected_frame->pc; - if (arg) - if_arg = 1; - } - else - error ("No selected frame."); - } - else - error ("No default breakpoint address now."); - } - else - { - extra_args = strchr (arg, ' '); - if (extra_args) - { - extra_args++; - extra_args_len = strlen (extra_args); - level_arg = (char *) xmalloc (extra_args - arg); - strncpy (level_arg, arg, extra_args - arg - 1); - level_arg[extra_args - arg - 1] = '\0'; - } - else - { - level_arg = (char *) xmalloc (strlen (arg) + 1); - strcpy (level_arg, arg); - } - - frame = parse_frame_specification (level_arg); - if (frame) - selected_pc = frame->pc; - else - selected_pc = 0; - } - if (if_arg) - { - extra_args = arg; - extra_args_len = strlen (arg); - } - - if (selected_pc) - { - 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%s %s", paddr_nz (high), extra_args); - else - sprintf (addr_string, "*0x%s", paddr_nz (high)); - break_command_1 (addr_string, flag, from_tty); - xfree (addr_string); - } - else - error ("No function contains the specified address"); - } - else - error ("Unable to set breakpoint at procedure exit"); -} - - -static void -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 = NULL; - int extra_args_len = 0; - int i, if_arg = 0; - - if (!arg || - (arg[0] == 'i' && arg[1] == 'f' && (arg[2] == ' ' || arg[2] == '\t'))) - { - if (default_breakpoint_valid) - { - if (selected_frame) - { - addr_string = (char *) xmalloc (15); - sprintf (addr_string, "*0x%s", paddr_nz (selected_frame->pc)); - if (arg) - if_arg = 1; - } - else - error ("No selected frame."); - } - else - error ("No default breakpoint address now."); - } - else - { - addr_string = (char *) xmalloc (strlen (arg) + 1); - strcpy (addr_string, arg); - } - - if (if_arg) - { - extra_args = 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); - } - } - - sals.sals = NULL; - sals.nelts = 0; - - beg_addr_string = addr_string; - sals = decode_line_1 (&addr_string, 1, (struct symtab *) NULL, 0, - (char ***) NULL); - - 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)) - { - break_string = (char *) xmalloc (extra_args_len + 26); - if (extra_args_len) - sprintf (break_string, "*0x%s %s", paddr_nz (high), extra_args); - else - sprintf (break_string, "*0x%s", paddr_nz (high)); - break_command_1 (break_string, flag, from_tty); - xfree (break_string); - } - else - error ("No function contains the specified address"); - } - if (sals.nelts > 1) - { - warning ("Multiple breakpoints were set.\n"); - warning ("Use the \"delete\" command to delete unwanted breakpoints."); - } - do_cleanups (old_chain); -} - - -/* Helper function for break_command_1 and disassemble_command. */ - -void -resolve_sal_pc (struct symtab_and_line *sal) -{ - CORE_ADDR pc; - - if (sal->pc == 0 && sal->symtab != NULL) - { - if (!find_line_pc (sal->symtab, sal->line, &pc)) - error ("No line %d in file \"%s\".", - sal->line, sal->symtab->filename); - sal->pc = pc; - } - - if (sal->section == 0 && sal->symtab != NULL) - { - struct blockvector *bv; - struct block *b; - struct symbol *sym; - int index; - - bv = blockvector_for_pc_sect (sal->pc, 0, &index, sal->symtab); - if (bv != NULL) - { - b = BLOCKVECTOR_BLOCK (bv, index); - sym = block_function (b); - if (sym != NULL) - { - fixup_symbol_section (sym, sal->symtab->objfile); - sal->section = SYMBOL_BFD_SECTION (sym); - } - 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). */ - - struct minimal_symbol *msym; - - msym = lookup_minimal_symbol_by_pc (sal->pc); - if (msym) - sal->section = SYMBOL_BFD_SECTION (msym); - } - } - } -} - -void -break_command (char *arg, int from_tty) -{ - break_command_1 (arg, 0, from_tty); -} - -void -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 (char *arg, int from_tty) -{ - break_at_finish_at_depth_command_1 (arg, 0, from_tty); -} - -void -tbreak_command (char *arg, int from_tty) -{ - break_command_1 (arg, BP_TEMPFLAG, from_tty); -} - -void -tbreak_at_finish_command (char *arg, int from_tty) -{ - break_at_finish_command_1 (arg, BP_TEMPFLAG, from_tty); -} - -static void -hbreak_command (char *arg, int from_tty) -{ - break_command_1 (arg, BP_HARDWAREFLAG, from_tty); -} - -static void -thbreak_command (char *arg, int from_tty) -{ - break_command_1 (arg, (BP_TEMPFLAG | BP_HARDWAREFLAG), from_tty); -} - -static void -stop_command (char *arg, int from_tty) -{ - printf_filtered ("Specify the type of breakpoint to set.\n\ -Usage: stop in \n\ - stop at \n"); -} - -static void -stopin_command (char *arg, int from_tty) -{ - int badInput = 0; - - 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 */ - while (*argptr && !hasColon) - { - hasColon = (*argptr == ':'); - argptr++; - } - - if (hasColon) - badInput = (*argptr != ':'); /* Not a class::method */ - else - badInput = isdigit (*arg); /* a simple line number */ - } - - if (badInput) - printf_filtered ("Usage: stop in \n"); - else - break_command_1 (arg, 0, from_tty); -} - -static void -stopat_command (char *arg, int from_tty) -{ - int badInput = 0; - - if (arg == (char *) NULL || *arg == '*') /* no line number */ - badInput = 1; - else - { - char *argptr = arg; - int hasColon = 0; - - /* look for a ':'. If there is a '::' then get out, otherwise - it is probably a line number. */ - while (*argptr && !hasColon) - { - hasColon = (*argptr == ':'); - argptr++; - } - - if (hasColon) - badInput = (*argptr == ':'); /* we have class::method */ - else - badInput = !isdigit (*arg); /* not a line number */ - } - - if (badInput) - printf_filtered ("Usage: stop at \n"); - else - break_command_1 (arg, 0, from_tty); -} - -/* ARGSUSED */ -/* accessflag: hw_write: watch write, - hw_read: watch read, - hw_access: watch access (read or write) */ -static void -watch_command_1 (char *arg, int accessflag, int from_tty) -{ - struct breakpoint *b; - struct symtab_and_line sal; - struct expression *exp; - struct block *exp_valid_block; - struct value *val, *mark; - struct frame_info *frame; - struct frame_info *prev_frame = NULL; - char *exp_start = NULL; - char *exp_end = NULL; - char *tok, *end_tok; - int toklen; - char *cond_start = NULL; - char *cond_end = NULL; - struct expression *cond = NULL; - int i, other_type_used, target_resources_ok = 0; - enum bptype bp_type; - int mem_cnt = 0; - - INIT_SAL (&sal); /* initialize to zeroes */ - - /* Parse arguments. */ - innermost_block = NULL; - exp_start = arg; - exp = parse_exp_1 (&arg, 0, 0); - exp_end = arg; - exp_valid_block = innermost_block; - mark = value_mark (); - val = evaluate_expression (exp); - release_value (val); - if (VALUE_LAZY (val)) - value_fetch_lazy (val); - - tok = arg; - while (*tok == ' ' || *tok == '\t') - tok++; - end_tok = tok; - - while (*end_tok != ' ' && *end_tok != '\t' && *end_tok != '\000') - end_tok++; - - toklen = end_tok - tok; - if (toklen >= 1 && strncmp (tok, "if", toklen) == 0) - { - tok = cond_start = end_tok + 1; - cond = parse_exp_1 (&tok, 0, 0); - cond_end = tok; - } - if (*tok) - error ("Junk at end of command."); - - 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 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 - 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_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) - { - 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, bp_type); - set_breakpoint_count (breakpoint_count + 1); - b->number = breakpoint_count; - b->disposition = disp_donttouch; - b->exp = exp; - b->exp_valid_block = exp_valid_block; - b->exp_string = savestring (exp_start, exp_end - exp_start); - b->val = val; - b->cond = cond; - if (cond_start) - b->cond_string = savestring (cond_start, cond_end - cond_start); - else - b->cond_string = 0; - - frame = block_innermost_frame (exp_valid_block); - if (frame) - { - prev_frame = get_prev_frame (frame); - get_frame_id (frame, &b->watchpoint_frame); - } - else - { - memset (&b->watchpoint_frame, 0, sizeof (b->watchpoint_frame)); - } - - /* If the expression is "local", then set up a "watchpoint scope" - breakpoint at the point where we've left the scope of the watchpoint - expression. */ - if (innermost_block) - { - if (prev_frame) - { - struct breakpoint *scope_breakpoint; - scope_breakpoint = create_internal_breakpoint (get_frame_pc (prev_frame), - bp_watchpoint_scope); - - scope_breakpoint->enable_state = bp_enabled; - - /* Automatically delete the breakpoint when it hits. */ - scope_breakpoint->disposition = disp_del; - - /* Only break in the proper frame (help with recursion). */ - scope_breakpoint->frame = prev_frame->frame; - - /* Set the address at which we will stop. */ - scope_breakpoint->address = get_frame_pc (prev_frame); - - /* The scope breakpoint is related to the watchpoint. We - will need to act on them together. */ - b->related_breakpoint = scope_breakpoint; - } - } - value_free_to_mark (mark); - mention (b); -} - -/* Return count of locations need to be watched and can be handled - in hardware. If the watchpoint can not be handled - 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)) -#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 (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) - return 0; - - /* 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 (VALUE_LVAL (v) == lval_memory) - { - 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; /* ??? 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 - watchpoint, but give the target machine a chance to reject it. */ - return found_memory_cnt; -} - -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) -{ - rwatch_command (arg, from_tty); -} - -static void -rwatch_command (char *arg, int from_tty) -{ - watch_command_1 (arg, hw_read, from_tty); -} - -void -awatch_command_wrapper (char *arg, int 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 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 (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); - else - 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]; - 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); - - 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); - 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 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 (char *name) -{ -} - -static int -disable_catch_breakpoint (void) -{ -} - -static int -delete_catch_breakpoint (void) -{ -} - -static int -enable_catch_breakpoint (void) -{ -} -#endif /* 0 */ - -struct sal_chain -{ - struct sal_chain *next; - 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. - pai/1997-07-11 */ -/* This isn't used; I don't know what it was for. */ -/* For each catch clause identified in ARGS, run FUNCTION - with that clause as an argument. */ -static struct symtabs_and_lines -map_catch_names (char *args, int (*function) ()) -{ - register char *p = args; - register char *p1; - struct symtabs_and_lines sals; -#if 0 - struct sal_chain *sal_chain = 0; -#endif - - if (p == 0) - error_no_arg ("one or more catch names"); - - sals.nelts = 0; - sals.sals = NULL; - - while (*p) - { - p1 = p; - /* Don't swallow conditional part. */ - if (p1[0] == 'i' && p1[1] == 'f' - && (p1[2] == ' ' || p1[2] == '\t')) - break; - - if (isalpha (*p1)) - { - p1++; - while (isalnum (*p1) || *p1 == '_' || *p1 == '$') - p1++; - } - - if (*p1 && *p1 != ' ' && *p1 != '\t') - error ("Arguments must be catch names."); - - *p1 = 0; -#if 0 - if (function (p)) - { - struct sal_chain *next = (struct sal_chain *) - alloca (sizeof (struct sal_chain)); - next->next = sal_chain; - next->sal = get_catch_sal (p); - sal_chain = next; - goto win; - } -#endif - printf_unfiltered ("No catch clause for exception %s.\n", p); -#if 0 - win: -#endif - p = p1; - 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 (int this_level_only) -{ - register struct blockvector *bl; - register struct block *block; - int index, have_default = 0; - CORE_ADDR pc; - struct symtabs_and_lines sals; - struct sal_chain *sal_chain = 0; - char *blocks_searched; - - /* Not sure whether an error message is always the correct response, - but it's better than a core dump. */ - if (selected_frame == NULL) - error ("No selected frame."); - block = get_frame_block (selected_frame, 0); - pc = selected_frame->pc; - - sals.nelts = 0; - sals.sals = NULL; - - if (block == 0) - error ("No symbol table info available.\n"); - - bl = blockvector_for_pc (BLOCK_END (block) - 4, &index); - blocks_searched = (char *) alloca (BLOCKVECTOR_NBLOCKS (bl) * sizeof (char)); - memset (blocks_searched, 0, BLOCKVECTOR_NBLOCKS (bl) * sizeof (char)); - - while (block != 0) - { - CORE_ADDR end = BLOCK_END (block) - 4; - int last_index; - - if (bl != blockvector_for_pc (end, &index)) - error ("blockvector blotch"); - if (BLOCKVECTOR_BLOCK (bl, index) != block) - error ("blockvector botch"); - last_index = BLOCKVECTOR_NBLOCKS (bl); - index += 1; - - /* Don't print out blocks that have gone by. */ - while (index < last_index - && BLOCK_END (BLOCKVECTOR_BLOCK (bl, index)) < pc) - index++; - - while (index < last_index - && BLOCK_END (BLOCKVECTOR_BLOCK (bl, index)) < end) - { - if (blocks_searched[index] == 0) - { - struct block *b = BLOCKVECTOR_BLOCK (bl, index); - register int i; - register struct symbol *sym; - - ALL_BLOCK_SYMBOLS (b, i, sym) - { - if (STREQ (SYMBOL_NAME (sym), "default")) - { - if (have_default) - continue; - have_default = 1; - } - if (SYMBOL_CLASS (sym) == LOC_LABEL) - { - struct sal_chain *next = (struct sal_chain *) - alloca (sizeof (struct sal_chain)); - next->next = sal_chain; - next->sal = find_pc_line (SYMBOL_VALUE_ADDRESS (sym), - 0); - sal_chain = next; - } - } - blocks_searched[index] = 1; - } - index++; - } - if (have_default) - break; - if (sal_chain && 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. */ - if (BLOCK_FUNCTION (block)) - break; - block = BLOCK_SUPERBLOCK (block); - } - - if (sal_chain) - { - struct sal_chain *tmp_chain; - - /* Count the number of entries. */ - for (index = 0, tmp_chain = sal_chain; tmp_chain; - tmp_chain = tmp_chain->next) - index++; - - sals.nelts = index; - sals.sals = (struct symtab_and_line *) - xmalloc (index * sizeof (struct symtab_and_line)); - for (index = 0; sal_chain; sal_chain = sal_chain->next, index++) - sals.sals[index] = sal_chain->sal; - } - - return sals; -} - -static void -ep_skip_leading_whitespace (char **s) -{ - 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 (char *arg) -{ - 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. */ - while (*s != '\0') - { - 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 (char **arg) -{ - 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 (char **arg) -{ - 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++) - { - c = *arg_p; - if (isspace (c)) - c = '\0'; - filename[i] = c; - if (c == '\0') - 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; - -#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 (catch_fork_kind fork_kind, char *arg, int tempflag, - int from_tty) -{ - char *cond_string = NULL; - - ep_skip_leading_whitespace (&arg); - - /* The allowed syntax is: - 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: - create_fork_event_catchpoint (tempflag, cond_string); - break; - case catch_vfork: - create_vfork_event_catchpoint (tempflag, cond_string); - break; - default: - error ("unsupported or unknown fork kind; cannot catch it"); - break; - } -} -#endif - -#if defined(CHILD_INSERT_EXEC_CATCHPOINT) -static void -catch_exec_command_1 (char *arg, int tempflag, int from_tty) -{ - char *cond_string = NULL; - - ep_skip_leading_whitespace (&arg); - - /* The allowed syntax is: - catch exec - catch exec 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 an exec catchpoint - and enable reporting of such events. */ - create_exec_event_catchpoint (tempflag, cond_string); -} -#endif - -#if defined(SOLIB_ADD) -static void -catch_load_command_1 (char *arg, int tempflag, int from_tty) -{ - 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 - - 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) - { - dll_pathname = ep_parse_optional_filename (&arg); - 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 (PIDGET (inferior_ptid), tempflag, - dll_pathname, cond_string); -} - -static void -catch_unload_command_1 (char *arg, int tempflag, int from_tty) -{ - 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 - - 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) - { - dll_pathname = ep_parse_optional_filename (&arg); - 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 (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 */ - -static void -create_exception_catchpoint (int tempflag, char *cond_string, - enum exception_event_kind ex_event, - struct symtab_and_line *sal) -{ - struct breakpoint *b; - int thread = -1; /* All threads. */ - enum bptype bptype; - - if (!sal) /* no exception support? */ - return; - - 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->thread = thread; - b->addr_string = NULL; - b->enable_state = bp_enabled; - b->disposition = tempflag ? disp_del : disp_donttouch; - mention (b); -} - -/* Deal with "catch catch" and "catch throw" commands */ - -static void -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)) - error ("Junk at end of arguments."); - - if ((ex_event != EX_EVENT_THROW) && - (ex_event != EX_EVENT_CATCH)) - error ("Unsupported or unknown exception event; cannot catch it"); - - /* See if we can find a callback routine */ - sal = target_enable_exception_callback (ex_event, 1); - - if (sal) - { - /* We have callbacks from the runtime system for exceptions. - 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); - else - return; /* something went wrong with setting up callbacks */ - } - 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); - } - else if (ex_event == EX_EVENT_THROW) - { - /* 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()."); - } - } -} - -/* Cover routine to allow wrapping target_enable_exception_catchpoints - inside a catch_errors */ - -static int -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_p); - if (sal == NULL) - return 0; - else if (sal == (struct symtab_and_line *) -1) - return -1; - else - return 1; /*is valid */ -} - - - -/* This is the original v.4.16 and earlier version of the - catch_command_1() function. Now that other flavours of "catch" - have been introduced, and since exception handling can be handled - in other ways (through target ops) also, this is used only for the - GNU C++ exception handling system. - 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 (char *arg, int tempflag, int from_tty) -{ - /* First, translate ARG into something we can deal with in terms - of breakpoints. */ - - struct symtabs_and_lines sals; - struct symtab_and_line sal; - register struct expression *cond = 0; - register struct breakpoint *b; - char *save_arg; - int i; - - 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' - && (arg[2] == ' ' || arg[2] == '\t'))) - { - /* Grab all active catch clauses. */ - sals = get_catch_sals (0); - } - else - { - /* Grab selected catch clauses. */ - error ("catch NAME not implemented"); - -#if 0 - /* 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 */ - - /* This isn't used; I don't know what it was for. */ - sals = map_catch_names (arg, catch_breakpoint); -#endif - } - - 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), - block_for_pc (sals.sals[i].pc), 0); - else - error ("Junk at end of arguments."); - } - arg = save_arg; - } - - for (i = 0; i < sals.nelts; i++) - { - sal = sals.sals[i]; - - if (from_tty) - describe_other_breakpoints (sal.pc, sal.section); - - /* 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->cond = cond; - b->enable_state = bp_enabled; - b->disposition = tempflag ? disp_del : disp_donttouch; - - mention (b); - } - - if (sals.nelts > 1) - { - warning ("Multiple breakpoints were set."); - warning ("Use the \"delete\" command to delete unwanted breakpoints."); - } - xfree (sals.sals); -} - -static void -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; - - if (arg1_start == NULL) - { - /* 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 */ - error ("Catch requires an event name."); - - } - arg1_end = ep_find_event_name_end (arg1_start); - 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) - { - error ("Catch of signal not yet implemented"); - } - else if (strncmp (arg1_start, "catch", arg1_length) == 0) - { - 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); - } - else if (strncmp (arg1_start, "thread_start", arg1_length) == 0) - { - error ("Catch of thread_start not yet implemented"); - } - else if (strncmp (arg1_start, "thread_exit", arg1_length) == 0) - { - error ("Catch of thread_exit not yet implemented"); - } - else if (strncmp (arg1_start, "thread_join", arg1_length) == 0) - { - error ("Catch of thread_join not yet implemented"); - } - else if (strncmp (arg1_start, "start", arg1_length) == 0) - { - error ("Catch of start not yet implemented"); - } - else if (strncmp (arg1_start, "exit", arg1_length) == 0) - { - error ("Catch of exit not yet implemented"); - } - 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); -#else - error ("Catch of fork not yet implemented"); -#endif - } - 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); -#else - error ("Catch of vfork not yet implemented"); -#endif - } - 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); -#else - error ("Catch of exec not yet implemented"); -#endif - } - else if (strncmp (arg1_start, "load", arg1_length) == 0) - { -#if defined(SOLIB_ADD) - catch_load_command_1 (arg1_end + 1, tempflag, from_tty); -#else - error ("Catch of load not implemented"); -#endif - } - else if (strncmp (arg1_start, "unload", arg1_length) == 0) - { -#if defined(SOLIB_ADD) - catch_unload_command_1 (arg1_end + 1, tempflag, from_tty); -#else - error ("Catch of load not implemented"); -#endif - } - else if (strncmp (arg1_start, "stop", arg1_length) == 0) - { - 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 */ - /* catch_throw_command_1 (arg1_start, tempflag, from_tty); */ - /* Now this is not allowed */ - error ("Unknown event kind specified for catch"); - - } -} - -/* Used by the gui, could be made a worker for other things. */ - -struct breakpoint * -set_breakpoint_sal (struct symtab_and_line sal) -{ - struct breakpoint *b; - b = set_raw_breakpoint (sal, bp_breakpoint); - set_breakpoint_count (breakpoint_count + 1); - b->number = breakpoint_count; - b->cond = 0; - b->thread = -1; - return b; -} - -#if 0 -/* 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 (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 (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 (char *args) -{ - /* Map the delete command to catch clauses described in ARGS. */ -} -#endif /* 0 */ - -static void -catch_command (char *arg, int from_tty) -{ - catch_command_1 (arg, 0, from_tty); -} - - -static void -tcatch_command (char *arg, int from_tty) -{ - catch_command_1 (arg, 1, from_tty); -} - -/* Delete breakpoints by address or line. */ - -static void -clear_command (char *arg, int from_tty) -{ - struct breakpoint *b, *tmp, *prev, *found; - int default_match; - struct symtabs_and_lines sals; - struct symtab_and_line sal; - int i; - - if (arg) - { - sals = decode_line_spec (arg, 1); - default_match = 0; - } - else - { - sals.sals = (struct symtab_and_line *) - xmalloc (sizeof (struct symtab_and_line)); - make_cleanup (xfree, sals.sals); - INIT_SAL (&sal); /* initialize to zeroes */ - sal.line = default_breakpoint_line; - sal.symtab = default_breakpoint_symtab; - sal.pc = default_breakpoint_address; - if (sal.symtab == 0) - error ("No source file specified."); - - sals.sals[0] = sal; - sals.nelts = 1; - - default_match = 1; - } - - /* For each line spec given, delete bps which correspond - to it. Do it in two passes, solely to preserve the current - behavior that from_tty is forced true if we delete more than - one breakpoint. */ - - found = NULL; - 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 - or at default pc. - - defaulting sal.pc != 0 tests to do - - 0 1 pc - 1 1 pc _and_ line - 0 0 line - 1 0 */ - - sal = sals.sals[i]; - prev = NULL; - - /* Find all matching breakpoints, remove them from the - breakpoint chain, and add them to the 'found' chain. */ - ALL_BREAKPOINTS_SAFE (b, tmp) - { - /* Are we going to delete b? */ - if (b->type != bp_none - && b->type != bp_watchpoint - && b->type != bp_hardware_watchpoint - && b->type != bp_read_watchpoint - && b->type != bp_access_watchpoint - /* Not if b is a watchpoint of any sort... */ - && (((sal.pc && (b->address == sal.pc)) - && (!section_is_overlay (b->section) - || b->section == sal.section)) - /* Yes, if sal.pc matches b (modulo overlays). */ - || ((default_match || (0 == sal.pc)) - && b->source_file != NULL - && sal.symtab != NULL - && STREQ (b->source_file, sal.symtab->filename) - && b->line_number == sal.line))) - /* Yes, if sal source file and line matches b. */ - { - /* Remove it from breakpoint_chain... */ - if (b == breakpoint_chain) - { - /* b is at the head of the list */ - breakpoint_chain = b->next; - } - else - { - prev->next = b->next; - } - /* And add it to 'found' chain. */ - b->next = found; - found = b; - } - else - { - /* Keep b, and keep a pointer to it. */ - prev = b; - } - } - } - /* Now go thru the 'found' chain and delete them. */ - if (found == 0) - { - if (arg) - error ("No breakpoint at %s.", arg); - else - 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" : ""); - breakpoints_changed (); - while (found) - { - if (from_tty) - printf_unfiltered ("%d ", found->number); - tmp = found->next; - delete_breakpoint (found); - found = tmp; - } - if (from_tty) - putchar_unfiltered ('\n'); -} - -/* Delete breakpoint in BS if they are `delete' breakpoints and - all breakpoints that are marked for deletion, whether hit or not. - This is called after any breakpoint is hit, or after errors. */ - -void -breakpoint_auto_delete (bpstat bs) -{ - struct breakpoint *b, *temp; - - for (; bs; bs = bs->next) - 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 == disp_del_at_next_stop) - delete_breakpoint (b); - } -} - -/* Delete a breakpoint and clean up all traces of it in the data - structures. */ - -void -delete_breakpoint (struct breakpoint *bpt) -{ - register struct breakpoint *b; - register bpstat bs; - - if (bpt == NULL) - error ("Internal error (attempted to delete a NULL breakpoint)"); - - - /* Has this bp already been deleted? This can happen because multiple - lists can hold pointers to bp's. bpstat lists are especial culprits. - - One example of this happening is a watchpoint's scope bp. When the - scope bp triggers, we notice that the watchpoint is out of scope, and - delete it. We also delete its scope bp. But the scope bp is marked - "auto-deleting", and is already on a bpstat. That bpstat is then - checked for auto-deleting bp's, which are deleted. - - A real solution to this problem might involve reference counts in bp's, - and/or giving them pointers back to their referencing bpstat's, and - teaching delete_breakpoint to only free a bp's storage when no more - references were extent. A cheaper bandaid was chosen. */ - if (bpt->type == bp_none) - return; - - if (delete_breakpoint_hook) - delete_breakpoint_hook (bpt); - breakpoint_delete_event (bpt->number); - - if (bpt->inserted) - remove_breakpoint (bpt, mark_inserted); - - if (breakpoint_chain == bpt) - breakpoint_chain = bpt->next; - - /* If we have callback-style exception catchpoints, don't go through - the adjustments to the C++ runtime library etc. if the inferior - 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 */ - 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; - - /* 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); - } - - - ALL_BREAKPOINTS (b) - if (b->next == bpt) - { - b->next = bpt->next; - break; - } - - 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 - && bpt->type != bp_hardware_watchpoint - && bpt->type != bp_read_watchpoint - && bpt->type != bp_access_watchpoint - && bpt->type != bp_catch_fork - && bpt->type != bp_catch_vfork - && bpt->type != bp_catch_exec) - { - ALL_BREAKPOINTS (b) - if (b->address == bpt->address - && b->section == bpt->section - && !b->duplicate - && 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 there was an error in the insert, print a message, then stop execution. */ - if (val != 0) - { - struct ui_file *tmp_error_stream = mem_fileopen (); - make_cleanup_ui_file_delete (tmp_error_stream); - - - if (b->type == bp_hardware_breakpoint) - { - fprintf_unfiltered (tmp_error_stream, - "Cannot insert hardware breakpoint %d.\n" - "You may have requested too many hardware breakpoints.\n", - b->number); - } - else - { - fprintf_unfiltered (tmp_error_stream, "Cannot insert breakpoint %d.\n", b->number); - fprintf_filtered (tmp_error_stream, "Error accessing memory address "); - print_address_numeric (b->address, 1, tmp_error_stream); - fprintf_filtered (tmp_error_stream, ": %s.\n", - safe_strerror (val)); - } - - fprintf_unfiltered (tmp_error_stream,"The same program may be running in another process."); - target_terminal_ours_for_output (); - error_stream(tmp_error_stream); - } - else - b->inserted = 1; - } - } - - free_command_lines (&bpt->commands); - if (bpt->cond) - xfree (bpt->cond); - if (bpt->cond_string != NULL) - xfree (bpt->cond_string); - if (bpt->addr_string != NULL) - xfree (bpt->addr_string); - if (bpt->exp != NULL) - xfree (bpt->exp); - if (bpt->exp_string != NULL) - xfree (bpt->exp_string); - if (bpt->val != NULL) - value_free (bpt->val); - if (bpt->source_file != NULL) - xfree (bpt->source_file); - if (bpt->dll_pathname != NULL) - xfree (bpt->dll_pathname); - if (bpt->triggered_dll_pathname != NULL) - xfree (bpt->triggered_dll_pathname); - if (bpt->exec_pathname != NULL) - 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? - We just check stop_bpstat for now. */ - for (bs = stop_bpstat; bs; bs = bs->next) - if (bs->breakpoint_at == bpt) - { - bs->breakpoint_at = NULL; - bs->old_val = NULL; - /* bs->commands will be freed later. */ - } - /* On the chance that someone will soon try again to delete this same - bp, we mark it as deleted before freeing its storage. */ - bpt->type = bp_none; - - 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 (char *arg, int from_tty) -{ - struct breakpoint *b, *temp; - - dont_repeat (); - - if (arg == 0) - { - 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->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->type != bp_thread_event && - b->type != bp_overlay_event && - b->number >= 0) - delete_breakpoint (b); - } - } - } - else - map_breakpoint_numbers (arg, delete_breakpoint); -} - -/* Reset a breakpoint given it's struct breakpoint * BINT. - The value we return ends up being the return value from catch_errors. - Unused in this case. */ - -static int -breakpoint_re_set_one (PTR bint) -{ - /* get past catch_errs */ - struct breakpoint *b = (struct breakpoint *) bint; - struct value *mark; - int i; - struct symtabs_and_lines sals; - char *s; - enum enable_state save_enable; - - switch (b->type) - { - case bp_none: - warning ("attempted to reset apparently deleted breakpoint #%d?", - b->number); - return 0; - case bp_breakpoint: - case bp_hardware_breakpoint: - case bp_catch_load: - case bp_catch_unload: - if (b->addr_string == NULL) - { - /* Anything without a string can't be re-set. */ - delete_breakpoint (b); - return 0; - } - /* 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); - for (i = 0; i < sals.nelts; i++) - { - resolve_sal_pc (&sals.sals[i]); - - /* Reparse conditions, they might contain references to the - old symtab. */ - if (b->cond_string != NULL) - { - s = b->cond_string; - if (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... */ - 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... */ - || (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)) - ) - { - if (b->source_file != NULL) - xfree (b->source_file); - if (sals.sals[i].symtab == NULL) - b->source_file = NULL; - else - b->source_file = - savestring (sals.sals[i].symtab->filename, - strlen (sals.sals[i].symtab->filename)); - 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 disabled - breakpoints. */ - - mention (b); - - /* Might be better to do this just once per breakpoint_re_set, - rather than once for every breakpoint. */ - breakpoints_changed (); - } - b->section = sals.sals[i].section; - b->enable_state = save_enable; /* Restore it, this worked. */ - - - /* Now that this is re-enabled, check_duplicates - can be used. */ - check_duplicates (b); - - } - xfree (sals.sals); - break; - - case bp_watchpoint: - case bp_hardware_watchpoint: - 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 function names. */ - - /* So for now, just use a global context. */ - if (b->exp) - xfree (b->exp); - b->exp = parse_expression (b->exp_string); - b->exp_valid_block = innermost_block; - mark = value_mark (); - if (b->val) - value_free (b->val); - b->val = evaluate_expression (b->exp); - release_value (b->val); - if (VALUE_LAZY (b->val)) - value_fetch_lazy (b->val); - - if (b->cond_string != NULL) - { - s = b->cond_string; - if (b->cond) - xfree (b->cond); - b->cond = parse_exp_1 (&s, (struct block *) 0, 0); - } - if (b->enable_state == bp_enabled) - mention (b); - value_free_to_mark (mark); - break; - 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. */ - 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 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. */ - case bp_shlib_event: - - /* 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: - case bp_call_dummy: - case bp_step_resume: - break; - } - - return 0; -} - -/* Re-set all breakpoints after symbols have been re-loaded. */ -void -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 */ ]; - - save_language = current_language->la_language; - save_input_radix = input_radix; - ALL_BREAKPOINTS_SAFE (b, temp) - { - /* 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; - - 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"); -} - -/* 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_ptid. */ -void -breakpoint_re_set_thread (struct breakpoint *b) -{ - if (b->thread != -1) - { - 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 (int bptnum, int count, int from_tty) -{ - register struct breakpoint *b; - - if (count < 0) - count = 0; - - ALL_BREAKPOINTS (b) - if (b->number == bptnum) - { - b->ignore_count = count; - if (from_tty) - { - 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 (); - breakpoint_modify_event (b->number); - return; - } - - error ("No breakpoint number %d.", bptnum); -} - -/* Clear the ignore counts of all breakpoints. */ -void -breakpoint_clear_ignore_counts (void) -{ - struct breakpoint *b; - - ALL_BREAKPOINTS (b) - b->ignore_count = 0; -} - -/* Command to set ignore-count of breakpoint N to COUNT. */ - -static void -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); - if (num == 0) - error ("bad breakpoint number: '%s'", args); - if (*p == 0) - error ("Second argument (specified ignore-count) is missing."); - - set_ignore_count (num, - longest_to_int (value_as_long (parse_and_eval (p))), - from_tty); - if (from_tty) - printf_filtered ("\n"); -} - -/* Call FUNCTION on each of the breakpoints - whose numbers are given in ARGS. */ - -static void -map_breakpoint_numbers (char *args, void (*function) (struct breakpoint *)) -{ - register char *p = args; - char *p1; - register int num; - 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_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 (struct breakpoint *bpt) -{ - /* Never disable a watchpoint scope breakpoint; we want to - hit them when we leave scope so we can delete both the - watchpoint and its scope breakpoint at that time. */ - if (bpt->type == bp_watchpoint_scope) - return; - - /* You can't disable permanent breakpoints. */ - if (bpt->enable_state == bp_permanent) - return; - - bpt->enable_state = bp_disabled; - - check_duplicates (bpt); - - if (modify_breakpoint_hook) - modify_breakpoint_hook (bpt); - breakpoint_modify_event (bpt->number); -} - -/* ARGSUSED */ -static void -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?", - 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 (struct breakpoint *bpt, enum bpdisp disposition) -{ - struct frame_info *save_selected_frame = NULL; - int save_selected_frame_level = -1; - int target_resources_ok, other_type_used; - struct value *mark; - - 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); - 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."); - } - - if (bpt->enable_state != bp_permanent) - bpt->enable_state = bp_enabled; - bpt->disposition = disposition; - 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->exp_valid_block != NULL) - { - struct frame_info *fr = - fr = frame_find_by_id (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_state = bp_disabled; - return; - } - - save_selected_frame = selected_frame; - save_selected_frame_level = frame_relative_level (selected_frame); - select_frame (fr); - } - - value_free (bpt->val); - mark = value_mark (); - bpt->val = evaluate_expression (bpt->exp); - release_value (bpt->val); - if (VALUE_LAZY (bpt->val)) - 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 ("\ -Cannot enable watchpoint %d because target watch resources\n\ -have been allocated for other watchpoints.\n", bpt->number); - bpt->enable_state = bp_disabled; - value_free_to_mark (mark); - return; - } - } - - if (save_selected_frame_level >= 0) - select_frame (save_selected_frame); - value_free_to_mark (mark); - } - if (modify_breakpoint_hook) - modify_breakpoint_hook (bpt); - breakpoint_modify_event (bpt->number); -} - -void -enable_breakpoint (struct breakpoint *bpt) -{ - do_enable_breakpoint (bpt, bpt->disposition); -} - -/* The enable command enables the specified breakpoints (or all defined - breakpoints) so they once again become (or continue to be) effective - in stopping the inferior. */ - -/* ARGSUSED */ -static void -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?", - 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 (struct breakpoint *bpt) -{ - do_enable_breakpoint (bpt, disp_disable); -} - -/* ARGSUSED */ -static void -enable_once_command (char *args, int from_tty) -{ - map_breakpoint_numbers (args, enable_once_breakpoint); -} - -static void -enable_delete_breakpoint (struct breakpoint *bpt) -{ - do_enable_breakpoint (bpt, disp_del); -} - -/* ARGSUSED */ -static void -enable_delete_command (char *args, int from_tty) -{ - map_breakpoint_numbers (args, enable_delete_breakpoint); -} - -/* Use default_breakpoint_'s, or nothing if they aren't valid. */ - -struct symtabs_and_lines -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); - else - sals = decode_line_1 (&string, funfirstline, - (struct symtab *) NULL, 0, (char ***) NULL); - if (*string) - error ("Junk at end of line specification: %s", string); - return sals; -} - -void -_initialize_breakpoint (void) -{ - struct cmd_list_element *c; - - breakpoint_chain = 0; - /* Don't bother to call set_breakpoint_count. $bpnum isn't useful - before a breakpoint is set. */ - breakpoint_count = 0; - - add_com ("ignore", class_breakpoint, ignore_command, - "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 ("commands", class_breakpoint, commands_command, - "Set commands to be executed when a breakpoint is hit.\n\ -Give breakpoint number as argument after \"commands\".\n\ -With no argument, the targeted breakpoint is the last one set.\n\ -The commands themselves follow starting on the next line.\n\ -Type a line containing \"end\" to indicate the end of them.\n\ -Give \"silent\" as the first line to make the breakpoint silent;\n\ -then no output is printed when it is hit, except what the commands print."); - - add_com ("condition", class_breakpoint, condition_command, - "Specify breakpoint number N to break only if COND is true.\n\ -Usage is `condition N COND', where N is an integer and COND is an\n\ -expression to be evaluated whenever breakpoint N is reached."); - - 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."); - set_cmd_completer (c, location_completer); - - 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."); - set_cmd_completer (c, location_completer); - - 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."); - set_cmd_completer (c, location_completer); - - add_prefix_cmd ("enable", 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\ -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\ -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\ -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\ -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); - - add_cmd ("once", no_class, enable_once_command, - "Enable breakpoints for one hit. Give breakpoint numbers.\n\ -If a breakpoint is hit while enabled in this fashion, it becomes disabled.", - &enablebreaklist); - - add_cmd ("delete", no_class, enable_delete_command, - "Enable breakpoints and delete when hit. Give breakpoint numbers.\n\ -If a breakpoint is hit while enabled in this fashion, it is deleted.", - &enablebreaklist); - - add_cmd ("delete", no_class, enable_delete_command, - "Enable breakpoints and delete when hit. Give breakpoint numbers.\n\ -If a breakpoint is hit while enabled in this fashion, it is deleted.", - &enablelist); - - add_cmd ("once", no_class, enable_once_command, - "Enable breakpoints for one hit. Give breakpoint numbers.\n\ -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\ -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.", - &disablelist, "disable ", 1, &cmdlist); - 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\ -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."); - - add_cmd ("breakpoints", class_alias, 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.\n\ -This command may be abbreviated \"disable\".", - &disablelist); - - add_prefix_cmd ("delete", class_breakpoint, delete_command, - "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\ -Also a prefix command for deletion of other GDB objects.\n\ -The \"unset\" command is also an alias for \"delete\".", - &deletelist, "delete ", 1, &cmdlist); - add_com_alias ("d", "delete", class_breakpoint, 1); - if (xdb_commands) - add_com ("db", class_breakpoint, delete_command, - "Delete some breakpoints.\n\ -Arguments are breakpoint numbers with spaces in between.\n\ -To delete all breakpoints, give no argument.\n"); - - add_cmd ("breakpoints", class_alias, delete_command, - "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\ -This command may be abbreviated \"delete\".", - &deletelist); - - add_com ("clear", class_breakpoint, clear_command, - concat ("Clear breakpoint at specified line or function.\n\ -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\ -is executing in.\n\ -\n\ -See also the \"delete\" command which clears breakpoints by number.", NULL)); - - 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\ -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)); - set_cmd_completer (c, 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); - - if (xdb_commands) - { - add_com_alias ("ba", "break", class_breakpoint, 1); - add_com_alias ("bu", "ubreak", class_breakpoint, 1); - } - - 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\ -The \"Type\" column indicates one of:\n\ -\tbreakpoint - normal breakpoint\n\ -\twatchpoint - watchpoint\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\ -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)); - } - - add_info ("breakpoints", 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\ -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\ -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\ -The \"Type\" column indicates one of:\n\ -\tbreakpoint - normal breakpoint\n\ -\twatchpoint - watchpoint\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\ -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)); - - add_cmd ("breakpoints", class_maintenance, maintenance_info_breakpoints, - concat ("Status of all breakpoints, or breakpoint number NUMBER.\n\ -The \"Type\" column indicates one of:\n\ -\tbreakpoint - normal breakpoint\n\ -\twatchpoint - watchpoint\n\ -\tlongjmp - internal breakpoint used to step through longjmp()\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 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\ -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); - - add_com ("catch", class_breakpoint, catch_command, - "Set catchpoints to catch events.\n\ -Raised signals may be caught:\n\ -\tcatch signal - all signals\n\ -\tcatch signal - a particular signal\n\ -Raised exceptions may be caught:\n\ -\tcatch throw - all exceptions, when thrown\n\ -\tcatch throw - a particular exception, when thrown\n\ -\tcatch catch - all exceptions, when caught\n\ -\tcatch catch - a particular exception, when caught\n\ -Thread or process events may be caught:\n\ -\tcatch thread_start - any threads, just after creation\n\ -\tcatch thread_exit - any threads, just before expiration\n\ -\tcatch thread_join - any threads, just after joins\n\ -Process events may be caught:\n\ -\tcatch start - any processes, just after creation\n\ -\tcatch exit - any processes, just before expiration\n\ -\tcatch fork - calls to fork()\n\ -\tcatch vfork - calls to vfork()\n\ -\tcatch exec - calls to exec()\n\ -Dynamically-linked library events may be caught:\n\ -\tcatch load - loads of any library\n\ -\tcatch load - loads of a particular library\n\ -\tcatch unload - unloads of any library\n\ -\tcatch unload - unloads of a particular library\n\ -The act of your program's execution stopping may also be caught:\n\ -\tcatch stop\n\n\ -C++ exceptions may be caught:\n\ -\tcatch throw - all exceptions, when thrown\n\ -\tcatch catch - all exceptions, when caught\n\ -\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\ -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."); - - 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."); - set_cmd_completer (c, location_completer); - - 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."); - set_cmd_completer (c, location_completer); - - 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."); - set_cmd_completer (c, 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\ -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); - add_show_from_set (c, &showlist); - - can_use_hw_watchpoints = 1; -} diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h deleted file mode 100644 index 226703b5938..00000000000 --- a/gdb/breakpoint.h +++ /dev/null @@ -1,709 +0,0 @@ -/* Data structures associated with breakpoints in GDB. - Copyright 1992, 1993, 1994, 1995, 1996, 1997, 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. */ - -#if !defined (BREAKPOINT_H) -#define BREAKPOINT_H 1 - -#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. */ - -#define BREAKPOINT_MAX 16 - -/* Type of breakpoint. */ -/* FIXME In the future, we should fold all other breakpoint-like things into - 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: - - 1) There's always a 1:1 mapping between watchpoints - on local variables and watchpoint_scope breakpoints. - - 2) It automatically deletes itself and the watchpoint it's - 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, - - /* 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_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 - { - 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 - does set it to 0). I implemented it because I thought it would be - useful for a hack I had to put in; I'm going to leave it in because - I can see how there might be times when it would indeed be useful */ - -/* 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_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. */ - struct frame_id 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. */ - -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 (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 (bpstat); - -extern bpstat bpstat_stop_status (CORE_ADDR *pc, int not_a_sw_breakpoint); - -/* 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; - }; - -/* 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 (bpstat); - -/* Find the bpstat associated with a breakpoint. NULL otherwise. */ -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 - will arbitrarily pick one.) - - It is an error to use this function if BPSTAT doesn't contain a - step_resume breakpoint. - - See wait_for_inferior's use of this function. - */ -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. */ -/* Currently that is true if we have hit a breakpoint, or if there is - a watchpoint enabled. */ -#define bpstat_explains_signal(bs) ((bs) != NULL) - -/* 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 (void); - -/* Nonzero if there are enabled hardware watchpoints. */ -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 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 (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 (bpstat *); - -/* Modify BS so that the actions will not be performed. */ -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 (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. */ - 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 - }; - -/* 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. */ - -/* Forward declarations for prototypes */ -struct frame_info; - -extern enum breakpoint_here breakpoint_here_p (CORE_ADDR); - -extern int breakpoint_inserted_here_p (CORE_ADDR); - -extern int frame_in_dummy (struct frame_info *); - -extern int breakpoint_thread_match (CORE_ADDR, ptid_t); - -extern void until_break_command (char *, int); - -extern void breakpoint_re_set (void); - -extern void breakpoint_re_set_thread (struct breakpoint *); - -extern int ep_is_exception_catchpoint (struct breakpoint *); - -extern struct breakpoint *set_momentary_breakpoint - (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 mark_breakpoints_out (void); - -extern void breakpoint_init_inferior (enum inf_context); - -extern struct cleanup *make_cleanup_delete_breakpoint (struct breakpoint *); - -extern struct cleanup *make_exec_cleanup_delete_breakpoint (struct breakpoint *); - -extern void delete_breakpoint (struct breakpoint *); - -extern void breakpoint_auto_delete (bpstat); - -extern void breakpoint_clear_ignore_counts (void); - -extern void break_command (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 (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 (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 (void); - -/* This function can be used to physically remove hardware breakpoints - and watchpoints 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 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_ptid. */ -extern int detach_breakpoints (int); - -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 (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. - - The intended client of these functions is infcmd.c\run_stack_dummy. - - The inferior must be stopped, and all breakpoints removed, when - these functions are used. - - The need for these functions is that on some targets (e.g., HP-UX), - gdb is unable to unwind through the dummy frame that is pushed as - part of the implementation of a call command. Watchpoints can - 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 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 (void); - -extern void enable_watchpoints_after_interactive_call_stop (void); - - -extern void clear_breakpoint_hit_counts (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 (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 make_breakpoint_permanent (struct breakpoint *); - -extern struct breakpoint *create_solib_event_breakpoint (CORE_ADDR); - -extern struct breakpoint *create_thread_event_breakpoint (CORE_ADDR); - -extern void remove_solib_event_breakpoints (void); - -extern void remove_thread_event_breakpoints (void); - -extern void disable_breakpoints_in_shlibs (int silent); - -extern void re_enable_breakpoints_in_shlibs (void); - -extern void create_solib_load_event_breakpoint (char *, int, char *, char *); - -extern void create_solib_unload_event_breakpoint (char *, int, - char *, 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 *); - -/* This function returns TRUE if ep is a catchpoint. */ -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 (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/gdb/buildsym.c b/gdb/buildsym.c deleted file mode 100644 index b1962dffeae..00000000000 --- a/gdb/buildsym.c +++ /dev/null @@ -1,1168 +0,0 @@ -/* Support routines for building symbol tables in GDB's internal format. - 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 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. */ - -/* This module provides subroutines used for creating and adding to - the symbol table. These routines are called from various symbol- - file-reading routines. - - Routines to support specific debugging information formats (stabs, - DWARF, etc) belong somewhere else. */ - -#include "defs.h" -#include "bfd.h" -#include "gdb_obstack.h" -#include "symtab.h" -#include "symfile.h" /* Needed for "struct complaint" */ -#include "objfiles.h" -#include "gdbtypes.h" -#include "complaints.h" -#include "gdb_string.h" -#include "expression.h" /* For "enum exp_opcode" used by... */ -#include "language.h" /* For "local_hex_string" */ -#include "bcache.h" -#include "filenames.h" /* For DOSish file names */ -#include "macrotab.h" -#include "demangle.h" /* Needed by SYMBOL_INIT_DEMANGLED_NAME. */ -/* Ask buildsym.h to define the vars it normally declares `extern'. */ -#define EXTERN -/**/ -#include "buildsym.h" /* Our own declarations */ -#undef EXTERN - -/* For cleanup_undefined_types and finish_global_stabs (somewhat - questionable--see comment where we call them). */ - -#include "stabsread.h" - -/* List of free `struct pending' structures for reuse. */ - -static struct pending *free_pendings; - -/* Non-zero if symtab has line number info. This prevents an - otherwise empty symtab from being tossed. */ - -static int have_line_numbers; - -static int compare_line_numbers (const void *ln1p, const void *ln2p); - - -/* Initial sizes of data structures. These are realloc'd larger if - needed, and realloc'd down to the size actually used, when - completed. */ - -#define INITIAL_CONTEXT_STACK_SIZE 10 -#define INITIAL_LINE_VECTOR_LENGTH 1000 - - -/* Complaints about the symbols we have encountered. */ - -struct complaint block_end_complaint = -{"block end address less than block start address in %s (patched it)", 0, 0}; - -struct complaint anon_block_end_complaint = -{"block end address 0x%lx less than block start address 0x%lx (patched it)", 0, 0}; - -struct complaint innerblock_complaint = -{"inner block not inside outer block in %s", 0, 0}; - -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 %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 -add_symbol_to_list (struct symbol *symbol, struct pending **listhead) -{ - register struct pending *link; - - /* If this is an alias for another symbol, don't add it. */ - if (symbol->ginfo.name && symbol->ginfo.name[0] == '#') - return; - - /* We keep PENDINGSIZE symbols in each link of the list. If we - don't have a link with room in it, add a new link. */ - if (*listhead == NULL || (*listhead)->nsyms == PENDINGSIZE) - { - if (free_pendings) - { - link = free_pendings; - free_pendings = link->next; - } - else - { - link = (struct pending *) xmalloc (sizeof (struct pending)); - } - - link->next = *listhead; - *listhead = link; - link->nsyms = 0; - } - - (*listhead)->symbol[(*listhead)->nsyms++] = symbol; -} - -/* Find a symbol named NAME on a LIST. NAME need not be - '\0'-terminated; LENGTH is the length of the name. */ - -struct symbol * -find_symbol_in_list (struct pending *list, char *name, int length) -{ - int j; - char *pp; - - while (list != NULL) - { - for (j = list->nsyms; --j >= 0;) - { - pp = SYMBOL_NAME (list->symbol[j]); - if (*pp == *name && strncmp (pp, name, length) == 0 && - pp[length] == '\0') - { - return (list->symbol[j]); - } - } - list = list->next; - } - return (NULL); -} - -/* At end of reading syms, or in case of quit, really free as many - `struct pending's as we can easily find. */ - -/* ARGSUSED */ -void -really_free_pendings (PTR dummy) -{ - struct pending *next, *next1; - - for (next = free_pendings; next; next = next1) - { - next1 = next->next; - xfree ((void *) next); - } - free_pendings = NULL; - - free_pending_blocks (); - - for (next = file_symbols; next != NULL; next = next1) - { - next1 = next->next; - xfree ((void *) next); - } - file_symbols = NULL; - - for (next = global_symbols; next != NULL; next = next1) - { - next1 = next->next; - xfree ((void *) next); - } - global_symbols = NULL; - - if (pending_macros) - free_macro_table (pending_macros); -} - -/* This function is called to discard any pending blocks. */ - -void -free_pending_blocks (void) -{ -#if 0 /* Now we make the links in the - symbol_obstack, so don't free - them. */ - struct pending_block *bnext, *bnext1; - - for (bnext = pending_blocks; bnext; bnext = bnext1) - { - bnext1 = bnext->next; - xfree ((void *) bnext); - } -#endif - pending_blocks = NULL; -} - -/* Take one of the lists of symbols and make a block from it. Keep - the order the symbols have in the list (reversed from the input - file). Put the block on the list of pending blocks. */ - -void -finish_block (struct symbol *symbol, struct pending **listhead, - struct pending_block *old_blocks, - CORE_ADDR start, CORE_ADDR end, - struct objfile *objfile) -{ - register struct pending *next, *next1; - register struct block *block; - register struct pending_block *pblock; - struct pending_block *opblock; - register int i; - register int j; - - /* Count the length of the list of symbols. */ - - for (next = *listhead, i = 0; - next; - i += next->nsyms, next = next->next) - { - /* EMPTY */ ; - } - - /* Copy the symbols into the block. */ - - if (symbol) - { - block = (struct block *) - obstack_alloc (&objfile->symbol_obstack, - (sizeof (struct block) + - ((i - 1) * sizeof (struct symbol *)))); - BLOCK_NSYMS (block) = i; - for (next = *listhead; next; next = next->next) - for (j = next->nsyms - 1; j >= 0; j--) - { - BLOCK_SYM (block, --i) = next->symbol[j]; - } - } - else - { - int htab_size = BLOCK_HASHTABLE_SIZE (i); - - block = (struct block *) - obstack_alloc (&objfile->symbol_obstack, - (sizeof (struct block) + - ((htab_size - 1) * sizeof (struct symbol *)))); - for (j = 0; j < htab_size; j++) - { - BLOCK_BUCKET (block, j) = 0; - } - BLOCK_BUCKETS (block) = htab_size; - for (next = *listhead; next; next = next->next) - { - for (j = next->nsyms - 1; j >= 0; j--) - { - struct symbol *sym; - unsigned int hash_index; - const char *name = SYMBOL_DEMANGLED_NAME (next->symbol[j]); - if (name == NULL) - name = SYMBOL_NAME (next->symbol[j]); - hash_index = msymbol_hash_iw (name); - hash_index = hash_index % BLOCK_BUCKETS (block); - sym = BLOCK_BUCKET (block, hash_index); - BLOCK_BUCKET (block, hash_index) = next->symbol[j]; - next->symbol[j]->hash_next = sym; - } - } - } - - BLOCK_START (block) = start; - BLOCK_END (block) = end; - /* Superblock filled in when containing block is made */ - BLOCK_SUPERBLOCK (block) = NULL; - - BLOCK_GCC_COMPILED (block) = processing_gcc_compilation; - - /* Put the block in as the value of the symbol that names it. */ - - if (symbol) - { - struct type *ftype = SYMBOL_TYPE (symbol); - SYMBOL_BLOCK_VALUE (symbol) = block; - BLOCK_FUNCTION (block) = symbol; - BLOCK_HASHTABLE (block) = 0; - - if (TYPE_NFIELDS (ftype) <= 0) - { - /* No parameter type information is recorded with the - function's type. Set that from the type of the - parameter symbols. */ - int nparams = 0, iparams; - struct symbol *sym; - ALL_BLOCK_SYMBOLS (block, i, sym) - { - switch (SYMBOL_CLASS (sym)) - { - case LOC_ARG: - case LOC_REF_ARG: - case LOC_REGPARM: - case LOC_REGPARM_ADDR: - case LOC_BASEREG_ARG: - case LOC_LOCAL_ARG: - nparams++; - break; - case LOC_UNDEF: - case LOC_CONST: - case LOC_STATIC: - case LOC_INDIRECT: - case LOC_REGISTER: - case LOC_LOCAL: - case LOC_TYPEDEF: - case LOC_LABEL: - case LOC_BLOCK: - case LOC_CONST_BYTES: - case LOC_BASEREG: - case LOC_UNRESOLVED: - case LOC_OPTIMIZED_OUT: - default: - break; - } - } - if (nparams > 0) - { - TYPE_NFIELDS (ftype) = nparams; - TYPE_FIELDS (ftype) = (struct field *) - TYPE_ALLOC (ftype, nparams * sizeof (struct field)); - - for (i = iparams = 0; iparams < nparams; i++) - { - sym = BLOCK_SYM (block, i); - switch (SYMBOL_CLASS (sym)) - { - case LOC_ARG: - case LOC_REF_ARG: - case LOC_REGPARM: - case LOC_REGPARM_ADDR: - 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: - case LOC_CONST: - case LOC_STATIC: - case LOC_INDIRECT: - case LOC_REGISTER: - case LOC_LOCAL: - case LOC_TYPEDEF: - case LOC_LABEL: - case LOC_BLOCK: - case LOC_CONST_BYTES: - case LOC_BASEREG: - case LOC_UNRESOLVED: - case LOC_OPTIMIZED_OUT: - default: - break; - } - } - } - } - } - else - { - BLOCK_FUNCTION (block) = NULL; - BLOCK_HASHTABLE (block) = 1; - } - - /* Now "free" the links of the list, and empty the list. */ - - for (next = *listhead; next; next = next1) - { - next1 = next->next; - next->next = free_pendings; - free_pendings = next; - } - *listhead = NULL; - -#if 1 - /* Check to be sure that the blocks have an end address that is - greater than starting address */ - - if (BLOCK_END (block) < BLOCK_START (block)) - { - if (symbol) - { - complain (&block_end_complaint, SYMBOL_SOURCE_NAME (symbol)); - } - else - { - complain (&anon_block_end_complaint, BLOCK_END (block), BLOCK_START (block)); - } - /* Better than nothing */ - BLOCK_END (block) = BLOCK_START (block); - } -#endif - - /* Install this block as the superblock of all blocks made since the - start of this scope that don't have superblocks yet. */ - - opblock = NULL; - for (pblock = pending_blocks; pblock != old_blocks; pblock = pblock->next) - { - if (BLOCK_SUPERBLOCK (pblock->block) == NULL) - { -#if 1 - /* Check to be sure the blocks are nested as we receive - them. If the compiler/assembler/linker work, this just - burns a small amount of time. */ - if (BLOCK_START (pblock->block) < BLOCK_START (block) || - BLOCK_END (pblock->block) > BLOCK_END (block)) - { - if (symbol) - { - complain (&innerblock_complaint, - SYMBOL_SOURCE_NAME (symbol)); - } - else - { - complain (&innerblock_anon_complaint, BLOCK_START (pblock->block), - BLOCK_END (pblock->block), BLOCK_START (block), - BLOCK_END (block)); - } - if (BLOCK_START (pblock->block) < BLOCK_START (block)) - BLOCK_START (pblock->block) = BLOCK_START (block); - if (BLOCK_END (pblock->block) > BLOCK_END (block)) - BLOCK_END (pblock->block) = BLOCK_END (block); - } -#endif - BLOCK_SUPERBLOCK (pblock->block) = block; - } - opblock = pblock; - } - - record_pending_block (objfile, block, opblock); -} - -/* Record BLOCK on the list of all blocks in the file. Put it after - OPBLOCK, or at the beginning if opblock is NULL. This puts the - block in the list after all its subblocks. - - Allocate the pending block struct in the symbol_obstack to save - time. This wastes a little space. FIXME: Is it worth it? */ - -void -record_pending_block (struct objfile *objfile, struct block *block, - struct pending_block *opblock) -{ - register struct pending_block *pblock; - - pblock = (struct pending_block *) - obstack_alloc (&objfile->symbol_obstack, sizeof (struct pending_block)); - pblock->block = block; - if (opblock) - { - pblock->next = opblock->next; - opblock->next = pblock; - } - else - { - pblock->next = pending_blocks; - pending_blocks = pblock; - } -} - -/* OBSOLETE Note that this is only used in this file and in dstread.c, which */ -/* OBSOLETE should be fixed to not need direct access to this function. When */ -/* OBSOLETE that is done, it can be made static again. */ - -static struct blockvector * -make_blockvector (struct objfile *objfile) -{ - register struct pending_block *next; - register struct blockvector *blockvector; - register int i; - - /* Count the length of the list of blocks. */ - - for (next = pending_blocks, i = 0; next; next = next->next, i++) - {; - } - - blockvector = (struct blockvector *) - obstack_alloc (&objfile->symbol_obstack, - (sizeof (struct blockvector) - + (i - 1) * sizeof (struct block *))); - - /* Copy the blocks into the blockvector. This is done in reverse - order, which happens to put the blocks into the proper order - (ascending starting address). finish_block has hair to insert - each block into the list after its subblocks in order to make - sure this is true. */ - - BLOCKVECTOR_NBLOCKS (blockvector) = i; - for (next = pending_blocks; next; next = next->next) - { - BLOCKVECTOR_BLOCK (blockvector, --i) = next->block; - } - -#if 0 /* Now we make the links in the - obstack, so don't free them. */ - /* Now free the links of the list, and empty the list. */ - - for (next = pending_blocks; next; next = next1) - { - next1 = next->next; - xfree (next); - } -#endif - pending_blocks = NULL; - -#if 1 /* FIXME, shut this off after a while - to speed up symbol reading. */ - /* Some compilers output blocks in the wrong order, but we depend on - their being in the right order so we can binary search. Check the - order and moan about it. FIXME. */ - if (BLOCKVECTOR_NBLOCKS (blockvector) > 1) - { - for (i = 1; i < BLOCKVECTOR_NBLOCKS (blockvector); i++) - { - if (BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i - 1)) - > BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i))) - { - CORE_ADDR start - = BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i)); - - complain (&blockvector_complaint, - local_hex_string ((LONGEST) start)); - } - } - } -#endif - - return (blockvector); -} - -/* Start recording information about source code that came from an - included (or otherwise merged-in) source file with a different - name. NAME is the name of the file (cannot be NULL), DIRNAME is - the directory in which it resides (or NULL if not known). */ - -void -start_subfile (char *name, char *dirname) -{ - register struct subfile *subfile; - - /* See if this subfile is already known as a subfile of the current - main source file. */ - - for (subfile = subfiles; subfile; subfile = subfile->next) - { - if (FILENAME_CMP (subfile->name, name) == 0) - { - current_subfile = subfile; - return; - } - } - - /* This subfile is not known. Add an entry for it. Make an entry - for this subfile in the list of all subfiles of the current main - source file. */ - - subfile = (struct subfile *) xmalloc (sizeof (struct subfile)); - memset ((char *) subfile, 0, sizeof (struct subfile)); - subfile->next = subfiles; - subfiles = subfile; - current_subfile = subfile; - - /* Save its name and compilation directory name */ - subfile->name = (name == NULL) ? NULL : savestring (name, strlen (name)); - subfile->dirname = - (dirname == NULL) ? NULL : savestring (dirname, strlen (dirname)); - - /* Initialize line-number recording for this subfile. */ - subfile->line_vector = NULL; - - /* Default the source language to whatever can be deduced from the - filename. If nothing can be deduced (such as for a C/C++ include - file with a ".h" extension), then inherit whatever language the - previous subfile had. This kludgery is necessary because there - is no standard way in some object formats to record the source - language. Also, when symtabs are allocated we try to deduce a - language then as well, but it is too late for us to use that - information while reading symbols, since symtabs aren't allocated - until after all the symbols have been processed for a given - source file. */ - - subfile->language = deduce_language_from_filename (subfile->name); - if (subfile->language == language_unknown && - subfile->next != NULL) - { - subfile->language = subfile->next->language; - } - - /* Initialize the debug format string to NULL. We may supply it - later via a call to record_debugformat. */ - subfile->debugformat = NULL; - - /* cfront output is a C program, so in most ways it looks like a C - 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 - (in particular, some people use .cxx with cfront). */ - /* Likewise for f2c. */ - - if (subfile->name) - { - struct subfile *s; - enum language sublang = deduce_language_from_filename (subfile->name); - - if (sublang == language_cplus || sublang == language_fortran) - for (s = subfiles; s != NULL; s = s->next) - if (s->language == language_c) - s->language = sublang; - } - - /* And patch up this file if necessary. */ - if (subfile->language == language_c - && subfile->next != NULL - && (subfile->next->language == language_cplus - || subfile->next->language == language_fortran)) - { - subfile->language = subfile->next->language; - } -} - -/* For stabs readers, the first N_SO symbol is assumed to be the - source file name, and the subfile struct is initialized using that - assumption. If another N_SO symbol is later seen, immediately - following the first one, then the first one is assumed to be the - directory name and the second one is really the source file name. - - So we have to patch up the subfile struct by moving the old name - value to dirname and remembering the new name. Some sanity - checking is performed to ensure that the state of the subfile - struct is reasonable and that the old name we are assuming to be a - directory name actually is (by checking for a trailing '/'). */ - -void -patch_subfile_names (struct subfile *subfile, char *name) -{ - if (subfile != NULL && subfile->dirname == NULL && subfile->name != NULL - && subfile->name[strlen (subfile->name) - 1] == '/') - { - subfile->dirname = subfile->name; - subfile->name = savestring (name, strlen (name)); - last_source_file = name; - - /* Default the source language to whatever can be deduced from - the filename. If nothing can be deduced (such as for a C/C++ - include file with a ".h" extension), then inherit whatever - language the previous subfile had. This kludgery is - necessary because there is no standard way in some object - formats to record the source language. Also, when symtabs - are allocated we try to deduce a language then as well, but - it is too late for us to use that information while reading - symbols, since symtabs aren't allocated until after all the - symbols have been processed for a given source file. */ - - subfile->language = deduce_language_from_filename (subfile->name); - if (subfile->language == language_unknown && - subfile->next != NULL) - { - subfile->language = subfile->next->language; - } - } -} - -/* Handle the N_BINCL and N_EINCL symbol types that act like N_SOL for - switching source files (different subfiles, as we call them) within - one object file, but using a stack rather than in an arbitrary - order. */ - -void -push_subfile (void) -{ - register struct subfile_stack *tem - = (struct subfile_stack *) xmalloc (sizeof (struct subfile_stack)); - - tem->next = subfile_stack; - subfile_stack = tem; - if (current_subfile == NULL || current_subfile->name == NULL) - { - internal_error (__FILE__, __LINE__, "failed internal consistency check"); - } - tem->name = current_subfile->name; -} - -char * -pop_subfile (void) -{ - register char *name; - register struct subfile_stack *link = subfile_stack; - - if (link == NULL) - { - internal_error (__FILE__, __LINE__, "failed internal consistency check"); - } - name = link->name; - subfile_stack = link->next; - xfree ((void *) link); - return (name); -} - -/* Add a linetable entry for line number LINE and address PC to the - line vector for SUBFILE. */ - -void -record_line (register struct subfile *subfile, int line, CORE_ADDR pc) -{ - struct linetable_entry *e; - /* Ignore the dummy line number in libg.o */ - - if (line == 0xffff) - { - return; - } - - /* Make sure line vector exists and is big enough. */ - if (!subfile->line_vector) - { - 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->nitems = 0; - have_line_numbers = 1; - } - - if (subfile->line_vector->nitems + 1 >= subfile->line_vector_length) - { - subfile->line_vector_length *= 2; - subfile->line_vector = (struct linetable *) - xrealloc ((char *) subfile->line_vector, - (sizeof (struct linetable) - + (subfile->line_vector_length - * sizeof (struct linetable_entry)))); - } - - e = subfile->line_vector->item + subfile->line_vector->nitems++; - e->line = line; - e->pc = ADDR_BITS_REMOVE(pc); -} - -/* Needed in order to sort line tables from IBM xcoff files. Sigh! */ - -static int -compare_line_numbers (const void *ln1p, const void *ln2p) -{ - struct linetable_entry *ln1 = (struct linetable_entry *) ln1p; - struct linetable_entry *ln2 = (struct linetable_entry *) ln2p; - - /* Note: this code does not assume that CORE_ADDRs can fit in ints. - Please keep it that way. */ - if (ln1->pc < ln2->pc) - return -1; - - if (ln1->pc > ln2->pc) - return 1; - - /* If pc equal, sort by line. I'm not sure whether this is optimum - behavior (see comment at struct linetable in symtab.h). */ - return ln1->line - ln2->line; -} - -/* Start a new symtab for a new source file. Called, for example, - when a stabs symbol of type N_SO is seen, or when a DWARF - TAG_compile_unit DIE is seen. It indicates the start of data for - one original source file. */ - -void -start_symtab (char *name, char *dirname, CORE_ADDR start_addr) -{ - - last_source_file = name; - last_source_start_addr = start_addr; - file_symbols = NULL; - global_symbols = NULL; - within_function = 0; - have_line_numbers = 0; - - /* Context stack is initially empty. Allocate first one with room - for 10 levels; reuse it forever afterward. */ - if (context_stack == NULL) - { - context_stack_size = INITIAL_CONTEXT_STACK_SIZE; - context_stack = (struct context_stack *) - xmalloc (context_stack_size * sizeof (struct context_stack)); - } - context_stack_depth = 0; - - /* Initialize the list of sub source files with one entry for this - file (the top-level source file). */ - - subfiles = NULL; - current_subfile = NULL; - start_subfile (name, dirname); -} - -/* Finish the symbol definitions for one main source file, close off - all the lexical contexts for that file (creating struct block's for - them), then make the struct symtab for that file and put it in the - list of all such. - - END_ADDR is the address of the end of the file's text. SECTION is - the section number (in objfile->section_offsets) of the blockvector - and linetable. - - Note that it is possible for end_symtab() to return NULL. In - particular, for the DWARF case at least, it will return NULL when - it finds a compilation unit that has exactly one DIE, a - TAG_compile_unit DIE. This can happen when we link in an object - file that was compiled from an empty source file. Returning NULL - is probably not the correct thing to do, because then gdb will - never know about this empty file (FIXME). */ - -struct symtab * -end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section) -{ - register struct symtab *symtab = NULL; - register struct blockvector *blockvector; - register struct subfile *subfile; - register struct context_stack *cstk; - struct subfile *nextsub; - - /* Finish the lexical context of the last function in the file; pop - the context stack. */ - - if (context_stack_depth > 0) - { - cstk = pop_context (); - /* Make a block for the local symbols within. */ - finish_block (cstk->name, &local_symbols, cstk->old_blocks, - cstk->start_addr, end_addr, objfile); - - if (context_stack_depth > 0) - { - /* This is said to happen with SCO. The old coffread.c - code simply emptied the context stack, so we do the - same. FIXME: Find out why it is happening. This is not - believed to happen in most cases (even for coffread.c); - it used to be an abort(). */ - static struct complaint msg = - {"Context stack not empty in end_symtab", 0, 0}; - complain (&msg); - context_stack_depth = 0; - } - } - - /* Reordered executables may have out of order pending blocks; if - OBJF_REORDERED is true, then sort the pending blocks. */ - if ((objfile->flags & OBJF_REORDERED) && pending_blocks) - { - /* FIXME! Remove this horrid bubble sort and use merge sort!!! */ - int swapped; - do - { - struct pending_block *pb, *pbnext; - - pb = pending_blocks; - pbnext = pb->next; - swapped = 0; - - while (pbnext) - { - /* swap blocks if unordered! */ - - if (BLOCK_START (pb->block) < BLOCK_START (pbnext->block)) - { - struct block *tmp = pb->block; - pb->block = pbnext->block; - pbnext->block = tmp; - swapped = 1; - } - pb = pbnext; - pbnext = pbnext->next; - } - } - while (swapped); - } - - /* 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 - are no-ops. FIXME: Is this handled right in case of QUIT? Can - we make this cleaner? */ - - cleanup_undefined_types (); - finish_global_stabs (objfile); - - if (pending_blocks == NULL - && file_symbols == NULL - && global_symbols == NULL - && have_line_numbers == 0 - && pending_macros == NULL) - { - /* Ignore symtabs that have no functions with real debugging - info. */ - blockvector = NULL; - } - else - { - /* Define the STATIC_BLOCK & GLOBAL_BLOCK, and build the - blockvector. */ - finish_block (0, &file_symbols, 0, last_source_start_addr, end_addr, - objfile); - finish_block (0, &global_symbols, 0, last_source_start_addr, end_addr, - objfile); - blockvector = make_blockvector (objfile); - } - -#ifndef PROCESS_LINENUMBER_HOOK -#define PROCESS_LINENUMBER_HOOK() -#endif - PROCESS_LINENUMBER_HOOK (); /* Needed for xcoff. */ - - /* Now create the symtab objects proper, one for each subfile. */ - /* (The main file is the last one on the chain.) */ - - for (subfile = subfiles; subfile; subfile = nextsub) - { - int linetablesize = 0; - symtab = NULL; - - /* If we have blocks of symbols, make a symtab. Otherwise, just - ignore this file and any line number info in it. */ - if (blockvector) - { - if (subfile->line_vector) - { - linetablesize = sizeof (struct linetable) + - subfile->line_vector->nitems * sizeof (struct linetable_entry); -#if 0 - /* I think this is artifact from before it went on the - obstack. I doubt we'll need the memory between now - and when we free it later in this function. */ - /* First, shrink the linetable to make more memory. */ - subfile->line_vector = (struct linetable *) - xrealloc ((char *) subfile->line_vector, linetablesize); -#endif - - /* Like the pending blocks, the line table may be - scrambled in reordered executables. Sort it if - OBJF_REORDERED is true. */ - if (objfile->flags & OBJF_REORDERED) - qsort (subfile->line_vector->item, - subfile->line_vector->nitems, - sizeof (struct linetable_entry), compare_line_numbers); - } - - /* Now, allocate a symbol table. */ - symtab = allocate_symtab (subfile->name, objfile); - - /* Fill in its components. */ - symtab->blockvector = blockvector; - symtab->macro_table = pending_macros; - if (subfile->line_vector) - { - /* Reallocate the line table on the symbol obstack */ - symtab->linetable = (struct linetable *) - obstack_alloc (&objfile->symbol_obstack, linetablesize); - memcpy (symtab->linetable, subfile->line_vector, linetablesize); - } - else - { - symtab->linetable = NULL; - } - symtab->block_line_section = section; - if (subfile->dirname) - { - /* Reallocate the dirname on the symbol obstack */ - symtab->dirname = (char *) - obstack_alloc (&objfile->symbol_obstack, - strlen (subfile->dirname) + 1); - strcpy (symtab->dirname, subfile->dirname); - } - else - { - symtab->dirname = NULL; - } - symtab->free_code = free_linetable; - symtab->free_ptr = NULL; - - /* Use whatever language we have been using for this - subfile, not the one that was deduced in allocate_symtab - from the filename. We already did our own deducing when - we created the subfile, and we may have altered our - opinion of what language it is from things we found in - the symbols. */ - symtab->language = subfile->language; - - /* Save the debug format string (if any) in the symtab */ - if (subfile->debugformat != NULL) - { - symtab->debugformat = obsavestring (subfile->debugformat, - strlen (subfile->debugformat), - &objfile->symbol_obstack); - } - - /* All symtabs for the main file and the subfiles share a - blockvector, so we need to clear primary for everything - but the main file. */ - - symtab->primary = 0; - } - if (subfile->name != NULL) - { - xfree ((void *) subfile->name); - } - if (subfile->dirname != NULL) - { - xfree ((void *) subfile->dirname); - } - if (subfile->line_vector != NULL) - { - xfree ((void *) subfile->line_vector); - } - if (subfile->debugformat != NULL) - { - xfree ((void *) subfile->debugformat); - } - - nextsub = subfile->next; - xfree ((void *) subfile); - } - - /* Set this for the main source file. */ - if (symtab) - { - symtab->primary = 1; - } - - last_source_file = NULL; - current_subfile = NULL; - pending_macros = NULL; - - return symtab; -} - -/* Push a context block. Args are an identifying nesting level - (checkable when you pop it), and the starting PC address of this - context. */ - -struct context_stack * -push_context (int desc, CORE_ADDR valu) -{ - register struct context_stack *new; - - if (context_stack_depth == context_stack_size) - { - context_stack_size *= 2; - context_stack = (struct context_stack *) - xrealloc ((char *) context_stack, - (context_stack_size * sizeof (struct context_stack))); - } - - new = &context_stack[context_stack_depth++]; - new->depth = desc; - new->locals = local_symbols; - new->params = param_symbols; - new->old_blocks = pending_blocks; - new->start_addr = valu; - new->name = NULL; - - local_symbols = NULL; - param_symbols = NULL; - - return new; -} - - -/* Compute a small integer hash code for the given name. */ - -int -hashname (char *name) -{ - return (hash(name,strlen(name)) % HASHSIZE); -} - - -void -record_debugformat (char *format) -{ - current_subfile->debugformat = savestring (format, strlen (format)); -} - -/* Merge the first symbol list SRCLIST into the second symbol list - TARGETLIST by repeated calls to add_symbol_to_list(). This - procedure "frees" each link of SRCLIST by adding it to the - free_pendings list. Caller must set SRCLIST to a null list after - calling this function. - - Void return. */ - -void -merge_symbol_lists (struct pending **srclist, struct pending **targetlist) -{ - register int i; - - if (!srclist || !*srclist) - return; - - /* Merge in elements from current link. */ - for (i = 0; i < (*srclist)->nsyms; i++) - add_symbol_to_list ((*srclist)->symbol[i], targetlist); - - /* Recurse on next. */ - merge_symbol_lists (&(*srclist)->next, targetlist); - - /* "Free" the current link. */ - (*srclist)->next = free_pendings; - free_pendings = (*srclist); -} - -/* Initialize anything that needs initializing when starting to read a - fresh piece of a symbol file, e.g. reading in the stuff - corresponding to a psymtab. */ - -void -buildsym_init (void) -{ - free_pendings = NULL; - file_symbols = NULL; - global_symbols = NULL; - pending_blocks = NULL; - pending_macros = NULL; -} - -/* Initialize anything that needs initializing when a completely new - symbol file is specified (not just adding some symbols from another - file, e.g. a shared library). */ - -void -buildsym_new_init (void) -{ - buildsym_init (); -} diff --git a/gdb/buildsym.h b/gdb/buildsym.h deleted file mode 100644 index 8a252cb2b4c..00000000000 --- a/gdb/buildsym.h +++ /dev/null @@ -1,305 +0,0 @@ -/* Build symbol tables in GDB's internal format. - 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 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. */ - -#if !defined (BUILDSYM_H) -#define BUILDSYM_H 1 - -/* This module provides definitions used for creating and adding to - the symbol table. These routines are called from various symbol- - file-reading routines. - - They originated in dbxread.c of gdb-4.2, and were split out to - make xcoffread.c more maintainable by sharing code. - - Variables declared in this file can be defined by #define-ing the - name EXTERN to null. It is used to declare variables that are - normally extern, but which get defined in a single module using - this technique. */ - -#ifndef EXTERN -#define EXTERN extern -#endif - -#define HASHSIZE 127 /* Size of things hashed via - hashname() */ - -/* Name of source file whose symbol data we are now processing. This - comes from a symbol of type N_SO. */ - -EXTERN char *last_source_file; - -/* Core address of start of text of current source file. This too - comes from the N_SO symbol. */ - -EXTERN CORE_ADDR last_source_start_addr; - -/* The list of sub-source-files within the current individual - compilation. Each file gets its own symtab with its own linetable - and associated info, but they all share one blockvector. */ - -struct subfile - { - struct subfile *next; - char *name; - char *dirname; - struct linetable *line_vector; - int line_vector_length; - enum language language; - char *debugformat; - }; - -EXTERN struct subfile *subfiles; - -EXTERN struct subfile *current_subfile; - -/* Global variable which, when set, indicates that we are processing a - .o file compiled with gcc */ - -EXTERN unsigned char processing_gcc_compilation; - -/* When set, we are processing a .o file compiled by sun acc. This is - misnamed; it refers to all stabs-in-elf implementations which use - N_UNDF the way Sun does, including Solaris gcc. Hopefully all - stabs-in-elf implementations ever invented will choose to be - compatible. */ - -EXTERN unsigned char processing_acc_compilation; - -/* elz: added this flag to know when a block is compiled with HP - compilers (cc, aCC). This is necessary because of the macro - COERCE_FLOAT_TO_DOUBLE defined in tm_hppa.h, which causes a - coercion of float to double to always occur in parameter passing - for a function called by gdb (see the function value_arg_coerce in - valops.c). This is necessary only if the target was compiled with - gcc, not with HP compilers or with g++ */ - -EXTERN unsigned char processing_hp_compilation; - -/* Count symbols as they are processed, for error messages. */ - -EXTERN unsigned int symnum; - -/* Record the symbols defined for each context in a list. We don't - create a struct block for the context until we know how long to - make it. */ - -#define PENDINGSIZE 100 - -struct pending - { - struct pending *next; - int nsyms; - struct symbol *symbol[PENDINGSIZE]; - }; - -/* Here are the three lists that symbols are put on. */ - -/* static at top level, and types */ - -EXTERN struct pending *file_symbols; - -/* global functions and variables */ - -EXTERN struct pending *global_symbols; - -/* everything local to lexical context */ - -EXTERN struct pending *local_symbols; - -/* func params local to lexical context */ - -EXTERN struct pending *param_symbols; - -/* Stack representing unclosed lexical contexts (that will become - blocks, eventually). */ - -struct context_stack - { - /* Outer locals at the time we entered */ - - struct pending *locals; - - /* Pending func params at the time we entered */ - - struct pending *params; - - /* Pointer into blocklist as of entry */ - - struct pending_block *old_blocks; - - /* Name of function, if any, defining context */ - - struct symbol *name; - - /* PC where this context starts */ - - CORE_ADDR start_addr; - - /* Temp slot for exception handling. */ - - CORE_ADDR end_addr; - - /* For error-checking matching push/pop */ - - int depth; - - }; - -EXTERN struct context_stack *context_stack; - -/* Index of first unused entry in context stack. */ - -EXTERN int context_stack_depth; - -/* Currently allocated size of context stack. */ - -EXTERN int context_stack_size; - -/* Macro "function" for popping contexts from the stack. Pushing is - done by a real function, push_context. This returns a pointer to a - struct context_stack. */ - -#define pop_context() (&context_stack[--context_stack_depth]); - -/* Nonzero if within a function (so symbols should be local, if - nothing says specifically). */ - -EXTERN int within_function; - -/* List of blocks already made (lexical contexts already closed). - This is used at the end to make the blockvector. */ - -struct pending_block - { - struct pending_block *next; - struct block *block; - }; - -/* Pointer to the head of a linked list of symbol blocks which have - already been finalized (lexical contexts already closed) and which - are just waiting to be built into a blockvector when finalizing the - associated symtab. */ - -EXTERN struct pending_block *pending_blocks; - - -struct subfile_stack - { - struct subfile_stack *next; - char *name; - }; - -EXTERN struct subfile_stack *subfile_stack; - -#define next_symbol_text(objfile) (*next_symbol_text_func)(objfile) - -/* Function to invoke get the next symbol. Return the symbol name. */ - -EXTERN char *(*next_symbol_text_func) (struct objfile *); - -/* Vector of types defined so far, indexed by their type numbers. - Used for both stabs and coff. (In newer sun systems, dbx uses a - pair of numbers in parens, as in "(SUBFILENUM,NUMWITHINSUBFILE)". - Then these numbers must be translated through the type_translations - hash table to get the index into the type vector.) */ - -EXTERN struct type **type_vector; - -/* Number of elements allocated for type_vector currently. */ - -EXTERN int type_vector_length; - -/* Initial size of type vector. Is realloc'd larger if needed, and - realloc'd down to the size actually used, when completed. */ - -#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); - -extern struct symbol *find_symbol_in_list (struct pending *list, - char *name, int length); - -extern void finish_block (struct symbol *symbol, - struct pending **listhead, - struct pending_block *old_blocks, - CORE_ADDR start, CORE_ADDR end, - struct objfile *objfile); - -extern void really_free_pendings (PTR dummy); - -extern void start_subfile (char *name, char *dirname); - -extern void patch_subfile_names (struct subfile *subfile, char *name); - -extern void push_subfile (void); - -extern char *pop_subfile (void); - -extern struct symtab *end_symtab (CORE_ADDR end_addr, - struct objfile *objfile, int section); - -/* Defined in stabsread.c. */ - -extern void scan_file_globals (struct objfile *objfile); - -extern void buildsym_new_init (void); - -extern void buildsym_init (void); - -extern struct context_stack *push_context (int desc, CORE_ADDR valu); - -extern void record_line (struct subfile *subfile, int line, CORE_ADDR pc); - -extern void start_symtab (char *name, char *dirname, CORE_ADDR start_addr); - -extern int hashname (char *name); - -extern void free_pending_blocks (void); - -/* OBSOLETE FIXME: Note that this is used only in buildsym.c and dstread.c, */ -/* OBSOLETE which should be fixed to not need direct access to */ -/* OBSOLETE make_blockvector. */ - -/* OBSOLETE extern struct blockvector *make_blockvector (struct objfile *objfile); */ - -/* FIXME: Note that this is used only in buildsym.c and dstread.c, - which should be fixed to not need direct access to - record_pending_block. */ - -extern void record_pending_block (struct objfile *objfile, - struct block *block, - struct pending_block *opblock); - -extern void record_debugformat (char *format); - -extern void merge_symbol_lists (struct pending **srclist, - struct pending **targetlist); - -/* The macro table for the compilation unit whose symbols we're - currently reading. All the symtabs for this CU will point to this. */ -EXTERN struct macro_table *pending_macros; - -#undef EXTERN - -#endif /* defined (BUILDSYM_H) */ diff --git a/gdb/builtin-regs.c b/gdb/builtin-regs.c deleted file mode 100644 index 8c488e3a557..00000000000 --- a/gdb/builtin-regs.c +++ /dev/null @@ -1,77 +0,0 @@ -/* Builtin registers, for GDB, the GNU debugger. - - Copyright 2002 Free Software Foundation, Inc. - - Contributed by Red Hat. - - 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 "builtin-regs.h" -#include "gdbtypes.h" -#include "gdb_string.h" -#include "gdb_assert.h" - -/* Implement builtin register types. Builtin registers have regnum's - that live above of the range [0 .. NUM_REGS + NUM_PSEUDO_REGS) - (which is controlled by the target). The target should never see a - builtin register's regnum value. */ - -/* An array of builtin registers. Always append, never delete. By - doing this, the relative regnum (offset from NUM_REGS + - NUM_PSEUDO_REGS) assigned to each builtin register never changes. */ - -struct builtin_reg -{ - const char *name; - struct value *(*value) (struct frame_info * frame); -}; - -static struct builtin_reg *builtin_regs; -int nr_builtin_regs; - -void -add_builtin_reg (const char *name, struct value *(*value) (struct frame_info * frame)) -{ - nr_builtin_regs++; - builtin_regs = xrealloc (builtin_regs, - nr_builtin_regs * sizeof (builtin_regs[0])); - builtin_regs[nr_builtin_regs - 1].name = name; - builtin_regs[nr_builtin_regs - 1].value = value; -} - -int -builtin_reg_map_name_to_regnum (const char *name, int len) -{ - int reg; - for (reg = 0; reg < nr_builtin_regs; reg++) - { - if (len == strlen (builtin_regs[reg].name) - && strncmp (builtin_regs[reg].name, name, len) == 0) - return NUM_REGS + NUM_PSEUDO_REGS + reg; - } - return -1; -} - -struct value * -value_of_builtin_reg (int regnum, struct frame_info *frame) -{ - int reg = regnum - (NUM_REGS + NUM_PSEUDO_REGS); - gdb_assert (reg >= 0 && reg < nr_builtin_regs); - return builtin_regs[reg].value (frame); -} diff --git a/gdb/builtin-regs.h b/gdb/builtin-regs.h deleted file mode 100644 index b35c4e91362..00000000000 --- a/gdb/builtin-regs.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Builtin registers, for GDB, the GNU debugger. - - Copyright 2002 Free Software Foundation, Inc. - - Contributed by Red Hat. - - 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 BUILTIN_REGS_H -#define BUILTIN_REGS_H - -extern int builtin_reg_map_name_to_regnum (const char *str, int len); - -extern struct value *value_of_builtin_reg (int regnum, - struct frame_info *frame); - -extern void add_builtin_reg (const char *name, - struct value *(value) (struct frame_info * frame)); - -#endif diff --git a/gdb/c-exp.y b/gdb/c-exp.y deleted file mode 100644 index c6fc52c63a5..00000000000 --- a/gdb/c-exp.y +++ /dev/null @@ -1,1805 +0,0 @@ -/* YACC parser for C expressions, for GDB. - Copyright 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 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. */ - -/* Parse a C expression from text in a string, - and return the result as a struct expression pointer. - That structure contains arithmetic operations in reverse polish, - with constants represented by operations that are followed by special data. - See expression.h for the details of the format. - What is important here is that it can be built up sequentially - during the process of parsing; the lower levels of the tree always - come first in the result. - - Note that malloc's and realloc's in this file are transformed to - xmalloc and xrealloc respectively by the same sed command in the - makefile that remaps any other malloc/realloc inserted by the parser - generator. Doing this with #defines and trying to control the interaction - with include files ( and for example) just became - too messy, particularly when such includes can be inserted at random - times by the parser generator. */ - -%{ - -#include "defs.h" -#include "gdb_string.h" -#include -#include "expression.h" -#include "value.h" -#include "parser-defs.h" -#include "language.h" -#include "c-lang.h" -#include "bfd.h" /* Required by objfiles.h. */ -#include "symfile.h" /* Required by objfiles.h. */ -#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */ - -/* Flag indicating we're dealing with HP-compiled objects */ -extern int hp_som_som_object_present; - -/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), - as well as gratuitiously global symbol names, so we can have multiple - yacc generated parsers in gdb. Note that these are only the variables - produced by yacc. If other parser generators (bison, byacc, etc) produce - additional global names that conflict at link time, then those parser - generators need to be fixed instead of adding those names to this list. */ - -#define yymaxdepth c_maxdepth -#define yyparse c_parse -#define yylex c_lex -#define yyerror c_error -#define yylval c_lval -#define yychar c_char -#define yydebug c_debug -#define yypact c_pact -#define yyr1 c_r1 -#define yyr2 c_r2 -#define yydef c_def -#define yychk c_chk -#define yypgo c_pgo -#define yyact c_act -#define yyexca c_exca -#define yyerrflag c_errflag -#define yynerrs c_nerrs -#define yyps c_ps -#define yypv c_pv -#define yys c_s -#define yy_yys c_yys -#define yystate c_state -#define yytmp c_tmp -#define yyv c_v -#define yy_yyv c_yyv -#define yyval c_val -#define yylloc c_lloc -#define yyreds c_reds /* With YYDEBUG defined */ -#define yytoks c_toks /* With YYDEBUG defined */ -#define yyname c_name /* With YYDEBUG defined */ -#define yyrule c_rule /* With YYDEBUG defined */ -#define yylhs c_yylhs -#define yylen c_yylen -#define yydefred c_yydefred -#define yydgoto c_yydgoto -#define yysindex c_yysindex -#define yyrindex c_yyrindex -#define yygindex c_yygindex -#define yytable c_yytable -#define yycheck c_yycheck - -#ifndef YYDEBUG -#define YYDEBUG 1 /* Default to yydebug support */ -#endif - -#define YYFPRINTF parser_fprintf - -int yyparse (void); - -static int yylex (void); - -void yyerror (char *); - -%} - -/* Although the yacc "value" of an expression is not used, - since the result is stored in the structure being created, - other node types do have values. */ - -%union - { - LONGEST lval; - struct { - LONGEST val; - struct type *type; - } typed_val_int; - struct { - DOUBLEST dval; - struct type *type; - } typed_val_float; - struct symbol *sym; - struct type *tval; - struct stoken sval; - struct ttype tsym; - struct symtoken ssym; - int voidval; - struct block *bval; - enum exp_opcode opcode; - struct internalvar *ivar; - - struct type **tvec; - int *ivec; - } - -%{ -/* YYSTYPE gets defined by %union */ -static int parse_number (char *, int, int, YYSTYPE *); -%} - -%type exp exp1 type_exp start variable qualified_name lcurly -%type rcurly -%type type typebase -%type nonempty_typelist -/* %type block */ - -/* Fancy type parsing. */ -%type func_mod direct_abs_decl abs_decl -%type ptype -%type array_mod - -%token INT -%token FLOAT - -/* Both NAME and TYPENAME tokens represent symbols in the input, - and both convey their data as strings. - But a TYPENAME is a string that happens to be defined as a typedef - or builtin type name (such as int or char) - and a NAME is any other symbol. - Contexts where this distinction is not important can use the - nonterminal "name", which matches either NAME or TYPENAME. */ - -%token STRING -%token NAME /* BLOCKNAME defined below to give it higher precedence. */ -%token TYPENAME -%type name -%type name_not_typename -%type typename - -/* A NAME_OR_INT is a symbol which is not known in the symbol table, - but which would parse as a valid number in the current input radix. - E.g. "c" when input_radix==16. Depending on the parse, it will be - turned into a name or into a number. */ - -%token NAME_OR_INT - -%token STRUCT CLASS UNION ENUM SIZEOF UNSIGNED COLONCOLON -%token TEMPLATE -%token ERROR - -/* Special type cases, put in to allow the parser to distinguish different - legal basetypes. */ -%token SIGNED_KEYWORD LONG SHORT INT_KEYWORD CONST_KEYWORD VOLATILE_KEYWORD DOUBLE_KEYWORD - -%token VARIABLE - -%token ASSIGN_MODIFY - -/* C++ */ -%token THIS -%token TRUEKEYWORD -%token FALSEKEYWORD - - -%left ',' -%left ABOVE_COMMA -%right '=' ASSIGN_MODIFY -%right '?' -%left OROR -%left ANDAND -%left '|' -%left '^' -%left '&' -%left EQUAL NOTEQUAL -%left '<' '>' LEQ GEQ -%left LSH RSH -%left '@' -%left '+' '-' -%left '*' '/' '%' -%right UNARY INCREMENT DECREMENT -%right ARROW '.' '[' '(' -%token BLOCKNAME -%token FILENAME -%type block -%left COLONCOLON - - -%% - -start : exp1 - | type_exp - ; - -type_exp: type - { write_exp_elt_opcode(OP_TYPE); - write_exp_elt_type($1); - write_exp_elt_opcode(OP_TYPE);} - ; - -/* Expressions, including the comma operator. */ -exp1 : exp - | exp1 ',' exp - { write_exp_elt_opcode (BINOP_COMMA); } - ; - -/* Expressions, not including the comma operator. */ -exp : '*' exp %prec UNARY - { write_exp_elt_opcode (UNOP_IND); } - -exp : '&' exp %prec UNARY - { write_exp_elt_opcode (UNOP_ADDR); } - -exp : '-' exp %prec UNARY - { write_exp_elt_opcode (UNOP_NEG); } - ; - -exp : '!' exp %prec UNARY - { write_exp_elt_opcode (UNOP_LOGICAL_NOT); } - ; - -exp : '~' exp %prec UNARY - { write_exp_elt_opcode (UNOP_COMPLEMENT); } - ; - -exp : INCREMENT exp %prec UNARY - { write_exp_elt_opcode (UNOP_PREINCREMENT); } - ; - -exp : DECREMENT exp %prec UNARY - { write_exp_elt_opcode (UNOP_PREDECREMENT); } - ; - -exp : exp INCREMENT %prec UNARY - { write_exp_elt_opcode (UNOP_POSTINCREMENT); } - ; - -exp : exp DECREMENT %prec UNARY - { write_exp_elt_opcode (UNOP_POSTDECREMENT); } - ; - -exp : SIZEOF exp %prec UNARY - { write_exp_elt_opcode (UNOP_SIZEOF); } - ; - -exp : exp ARROW name - { write_exp_elt_opcode (STRUCTOP_PTR); - write_exp_string ($3); - write_exp_elt_opcode (STRUCTOP_PTR); } - ; - -exp : exp ARROW qualified_name - { /* exp->type::name becomes exp->*(&type::name) */ - /* Note: this doesn't work if name is a - static member! FIXME */ - write_exp_elt_opcode (UNOP_ADDR); - write_exp_elt_opcode (STRUCTOP_MPTR); } - ; - -exp : exp ARROW '*' exp - { write_exp_elt_opcode (STRUCTOP_MPTR); } - ; - -exp : exp '.' name - { write_exp_elt_opcode (STRUCTOP_STRUCT); - write_exp_string ($3); - write_exp_elt_opcode (STRUCTOP_STRUCT); } - ; - -exp : exp '.' qualified_name - { /* exp.type::name becomes exp.*(&type::name) */ - /* Note: this doesn't work if name is a - static member! FIXME */ - write_exp_elt_opcode (UNOP_ADDR); - write_exp_elt_opcode (STRUCTOP_MEMBER); } - ; - -exp : exp '.' '*' exp - { write_exp_elt_opcode (STRUCTOP_MEMBER); } - ; - -exp : exp '[' exp1 ']' - { write_exp_elt_opcode (BINOP_SUBSCRIPT); } - ; - -exp : exp '(' - /* This is to save the value of arglist_len - being accumulated by an outer function call. */ - { start_arglist (); } - arglist ')' %prec ARROW - { write_exp_elt_opcode (OP_FUNCALL); - write_exp_elt_longcst ((LONGEST) end_arglist ()); - write_exp_elt_opcode (OP_FUNCALL); } - ; - -lcurly : '{' - { start_arglist (); } - ; - -arglist : - ; - -arglist : exp - { arglist_len = 1; } - ; - -arglist : arglist ',' exp %prec ABOVE_COMMA - { arglist_len++; } - ; - -rcurly : '}' - { $$ = end_arglist () - 1; } - ; -exp : lcurly arglist rcurly %prec ARROW - { write_exp_elt_opcode (OP_ARRAY); - write_exp_elt_longcst ((LONGEST) 0); - write_exp_elt_longcst ((LONGEST) $3); - write_exp_elt_opcode (OP_ARRAY); } - ; - -exp : lcurly type rcurly exp %prec UNARY - { write_exp_elt_opcode (UNOP_MEMVAL); - write_exp_elt_type ($2); - write_exp_elt_opcode (UNOP_MEMVAL); } - ; - -exp : '(' type ')' exp %prec UNARY - { write_exp_elt_opcode (UNOP_CAST); - write_exp_elt_type ($2); - write_exp_elt_opcode (UNOP_CAST); } - ; - -exp : '(' exp1 ')' - { } - ; - -/* Binary operators in order of decreasing precedence. */ - -exp : exp '@' exp - { write_exp_elt_opcode (BINOP_REPEAT); } - ; - -exp : exp '*' exp - { write_exp_elt_opcode (BINOP_MUL); } - ; - -exp : exp '/' exp - { write_exp_elt_opcode (BINOP_DIV); } - ; - -exp : exp '%' exp - { write_exp_elt_opcode (BINOP_REM); } - ; - -exp : exp '+' exp - { write_exp_elt_opcode (BINOP_ADD); } - ; - -exp : exp '-' exp - { write_exp_elt_opcode (BINOP_SUB); } - ; - -exp : exp LSH exp - { write_exp_elt_opcode (BINOP_LSH); } - ; - -exp : exp RSH exp - { write_exp_elt_opcode (BINOP_RSH); } - ; - -exp : exp EQUAL exp - { write_exp_elt_opcode (BINOP_EQUAL); } - ; - -exp : exp NOTEQUAL exp - { write_exp_elt_opcode (BINOP_NOTEQUAL); } - ; - -exp : exp LEQ exp - { write_exp_elt_opcode (BINOP_LEQ); } - ; - -exp : exp GEQ exp - { write_exp_elt_opcode (BINOP_GEQ); } - ; - -exp : exp '<' exp - { write_exp_elt_opcode (BINOP_LESS); } - ; - -exp : exp '>' exp - { write_exp_elt_opcode (BINOP_GTR); } - ; - -exp : exp '&' exp - { write_exp_elt_opcode (BINOP_BITWISE_AND); } - ; - -exp : exp '^' exp - { write_exp_elt_opcode (BINOP_BITWISE_XOR); } - ; - -exp : exp '|' exp - { write_exp_elt_opcode (BINOP_BITWISE_IOR); } - ; - -exp : exp ANDAND exp - { write_exp_elt_opcode (BINOP_LOGICAL_AND); } - ; - -exp : exp OROR exp - { write_exp_elt_opcode (BINOP_LOGICAL_OR); } - ; - -exp : exp '?' exp ':' exp %prec '?' - { write_exp_elt_opcode (TERNOP_COND); } - ; - -exp : exp '=' exp - { write_exp_elt_opcode (BINOP_ASSIGN); } - ; - -exp : exp ASSIGN_MODIFY exp - { write_exp_elt_opcode (BINOP_ASSIGN_MODIFY); - write_exp_elt_opcode ($2); - write_exp_elt_opcode (BINOP_ASSIGN_MODIFY); } - ; - -exp : INT - { write_exp_elt_opcode (OP_LONG); - write_exp_elt_type ($1.type); - write_exp_elt_longcst ((LONGEST)($1.val)); - write_exp_elt_opcode (OP_LONG); } - ; - -exp : NAME_OR_INT - { YYSTYPE val; - parse_number ($1.stoken.ptr, $1.stoken.length, 0, &val); - write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (val.typed_val_int.type); - write_exp_elt_longcst ((LONGEST)val.typed_val_int.val); - write_exp_elt_opcode (OP_LONG); - } - ; - - -exp : FLOAT - { write_exp_elt_opcode (OP_DOUBLE); - write_exp_elt_type ($1.type); - write_exp_elt_dblcst ($1.dval); - write_exp_elt_opcode (OP_DOUBLE); } - ; - -exp : variable - ; - -exp : VARIABLE - /* Already written by write_dollar_variable. */ - ; - -exp : SIZEOF '(' type ')' %prec UNARY - { write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_int); - CHECK_TYPEDEF ($3); - write_exp_elt_longcst ((LONGEST) TYPE_LENGTH ($3)); - write_exp_elt_opcode (OP_LONG); } - ; - -exp : STRING - { /* C strings are converted into array constants with - an explicit null byte added at the end. Thus - the array upper bound is the string length. - There is no such thing in C as a completely empty - string. */ - char *sp = $1.ptr; int count = $1.length; - while (count-- > 0) - { - write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_char); - write_exp_elt_longcst ((LONGEST)(*sp++)); - write_exp_elt_opcode (OP_LONG); - } - write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_char); - write_exp_elt_longcst ((LONGEST)'\0'); - write_exp_elt_opcode (OP_LONG); - write_exp_elt_opcode (OP_ARRAY); - write_exp_elt_longcst ((LONGEST) 0); - write_exp_elt_longcst ((LONGEST) ($1.length)); - write_exp_elt_opcode (OP_ARRAY); } - ; - -/* C++. */ -exp : THIS - { write_exp_elt_opcode (OP_THIS); - write_exp_elt_opcode (OP_THIS); } - ; - -exp : TRUEKEYWORD - { write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_bool); - write_exp_elt_longcst ((LONGEST) 1); - write_exp_elt_opcode (OP_LONG); } - ; - -exp : FALSEKEYWORD - { write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_bool); - write_exp_elt_longcst ((LONGEST) 0); - write_exp_elt_opcode (OP_LONG); } - ; - -/* end of C++. */ - -block : BLOCKNAME - { - if ($1.sym) - $$ = SYMBOL_BLOCK_VALUE ($1.sym); - else - error ("No file or function \"%s\".", - copy_name ($1.stoken)); - } - | FILENAME - { - $$ = $1; - } - ; - -block : block COLONCOLON name - { struct symbol *tem - = lookup_symbol (copy_name ($3), $1, - VAR_NAMESPACE, (int *) NULL, - (struct symtab **) NULL); - if (!tem || SYMBOL_CLASS (tem) != LOC_BLOCK) - error ("No function \"%s\" in specified context.", - copy_name ($3)); - $$ = SYMBOL_BLOCK_VALUE (tem); } - ; - -variable: block COLONCOLON name - { struct symbol *sym; - sym = lookup_symbol (copy_name ($3), $1, - VAR_NAMESPACE, (int *) NULL, - (struct symtab **) NULL); - if (sym == 0) - error ("No symbol \"%s\" in specified context.", - copy_name ($3)); - - write_exp_elt_opcode (OP_VAR_VALUE); - /* block_found is set by lookup_symbol. */ - write_exp_elt_block (block_found); - write_exp_elt_sym (sym); - write_exp_elt_opcode (OP_VAR_VALUE); } - ; - -qualified_name: typebase COLONCOLON name - { - struct type *type = $1; - if (TYPE_CODE (type) != TYPE_CODE_STRUCT - && TYPE_CODE (type) != TYPE_CODE_UNION) - error ("`%s' is not defined as an aggregate type.", - TYPE_NAME (type)); - - write_exp_elt_opcode (OP_SCOPE); - write_exp_elt_type (type); - write_exp_string ($3); - write_exp_elt_opcode (OP_SCOPE); - } - | typebase COLONCOLON '~' name - { - struct type *type = $1; - struct stoken tmp_token; - if (TYPE_CODE (type) != TYPE_CODE_STRUCT - && TYPE_CODE (type) != TYPE_CODE_UNION) - error ("`%s' is not defined as an aggregate type.", - TYPE_NAME (type)); - - tmp_token.ptr = (char*) alloca ($4.length + 2); - tmp_token.length = $4.length + 1; - tmp_token.ptr[0] = '~'; - memcpy (tmp_token.ptr+1, $4.ptr, $4.length); - tmp_token.ptr[tmp_token.length] = 0; - - /* Check for valid destructor name. */ - destructor_name_p (tmp_token.ptr, type); - write_exp_elt_opcode (OP_SCOPE); - write_exp_elt_type (type); - write_exp_string (tmp_token); - write_exp_elt_opcode (OP_SCOPE); - } - ; - -variable: qualified_name - | COLONCOLON name - { - char *name = copy_name ($2); - struct symbol *sym; - struct minimal_symbol *msymbol; - - sym = - lookup_symbol (name, (const struct block *) NULL, - VAR_NAMESPACE, (int *) NULL, - (struct symtab **) NULL); - if (sym) - { - write_exp_elt_opcode (OP_VAR_VALUE); - write_exp_elt_block (NULL); - write_exp_elt_sym (sym); - write_exp_elt_opcode (OP_VAR_VALUE); - break; - } - - msymbol = lookup_minimal_symbol (name, NULL, NULL); - if (msymbol != NULL) - { - write_exp_msymbol (msymbol, - lookup_function_type (builtin_type_int), - builtin_type_int); - } - else - if (!have_full_symbols () && !have_partial_symbols ()) - error ("No symbol table is loaded. Use the \"file\" command."); - else - error ("No symbol \"%s\" in current context.", name); - } - ; - -variable: name_not_typename - { struct symbol *sym = $1.sym; - - if (sym) - { - if (symbol_read_needs_frame (sym)) - { - if (innermost_block == 0 || - contained_in (block_found, - innermost_block)) - innermost_block = block_found; - } - - write_exp_elt_opcode (OP_VAR_VALUE); - /* We want to use the selected frame, not - another more inner frame which happens to - be in the same block. */ - write_exp_elt_block (NULL); - write_exp_elt_sym (sym); - write_exp_elt_opcode (OP_VAR_VALUE); - } - else if ($1.is_a_field_of_this) - { - /* C++: it hangs off of `this'. Must - not inadvertently convert from a method call - to data ref. */ - if (innermost_block == 0 || - contained_in (block_found, innermost_block)) - innermost_block = block_found; - write_exp_elt_opcode (OP_THIS); - write_exp_elt_opcode (OP_THIS); - write_exp_elt_opcode (STRUCTOP_PTR); - write_exp_string ($1.stoken); - write_exp_elt_opcode (STRUCTOP_PTR); - } - else - { - struct minimal_symbol *msymbol; - register char *arg = copy_name ($1.stoken); - - msymbol = - lookup_minimal_symbol (arg, NULL, NULL); - if (msymbol != NULL) - { - write_exp_msymbol (msymbol, - lookup_function_type (builtin_type_int), - builtin_type_int); - } - else if (!have_full_symbols () && !have_partial_symbols ()) - error ("No symbol table is loaded. Use the \"file\" command."); - else - error ("No symbol \"%s\" in current context.", - copy_name ($1.stoken)); - } - } - ; - -space_identifier : '@' NAME - { push_type_address_space (copy_name ($2.stoken)); - push_type (tp_space_identifier); - } - ; - -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: '*' - { push_type (tp_pointer); $$ = 0; } - | '*' abs_decl - { push_type (tp_pointer); $$ = $2; } - | '&' - { push_type (tp_reference); $$ = 0; } - | '&' abs_decl - { push_type (tp_reference); $$ = $2; } - | direct_abs_decl - ; - -direct_abs_decl: '(' abs_decl ')' - { $$ = $2; } - | direct_abs_decl array_mod - { - push_type_int ($2); - push_type (tp_array); - } - | array_mod - { - push_type_int ($1); - push_type (tp_array); - $$ = 0; - } - - | direct_abs_decl func_mod - { push_type (tp_function); } - | func_mod - { push_type (tp_function); } - ; - -array_mod: '[' ']' - { $$ = -1; } - | '[' INT ']' - { $$ = $2.val; } - ; - -func_mod: '(' ')' - { $$ = 0; } - | '(' nonempty_typelist ')' - { free ((PTR)$2); $$ = 0; } - ; - -/* We used to try to recognize more pointer to member types here, but - that didn't work (shift/reduce conflicts meant that these rules never - got executed). The problem is that - int (foo::bar::baz::bizzle) - is a function type but - int (foo::bar::baz::bizzle::*) - is a pointer to member type. Stroustrup loses again! */ - -type : ptype - | typebase COLONCOLON '*' - { $$ = lookup_member_type (builtin_type_int, $1); } - ; - -typebase /* Implements (approximately): (type-qualifier)* type-specifier */ - : TYPENAME - { $$ = $1.type; } - | INT_KEYWORD - { $$ = builtin_type_int; } - | LONG - { $$ = builtin_type_long; } - | SHORT - { $$ = builtin_type_short; } - | LONG INT_KEYWORD - { $$ = builtin_type_long; } - | LONG SIGNED_KEYWORD INT_KEYWORD - { $$ = builtin_type_long; } - | LONG SIGNED_KEYWORD - { $$ = builtin_type_long; } - | SIGNED_KEYWORD LONG INT_KEYWORD - { $$ = builtin_type_long; } - | UNSIGNED LONG INT_KEYWORD - { $$ = builtin_type_unsigned_long; } - | LONG UNSIGNED INT_KEYWORD - { $$ = builtin_type_unsigned_long; } - | LONG UNSIGNED - { $$ = builtin_type_unsigned_long; } - | LONG LONG - { $$ = builtin_type_long_long; } - | LONG LONG INT_KEYWORD - { $$ = builtin_type_long_long; } - | LONG LONG SIGNED_KEYWORD INT_KEYWORD - { $$ = builtin_type_long_long; } - | LONG LONG SIGNED_KEYWORD - { $$ = builtin_type_long_long; } - | SIGNED_KEYWORD LONG LONG - { $$ = builtin_type_long_long; } - | UNSIGNED LONG LONG - { $$ = builtin_type_unsigned_long_long; } - | UNSIGNED LONG LONG INT_KEYWORD - { $$ = builtin_type_unsigned_long_long; } - | LONG LONG UNSIGNED - { $$ = builtin_type_unsigned_long_long; } - | LONG LONG UNSIGNED 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; } - | SHORT SIGNED_KEYWORD INT_KEYWORD - { $$ = builtin_type_short; } - | SHORT SIGNED_KEYWORD - { $$ = builtin_type_short; } - | UNSIGNED SHORT INT_KEYWORD - { $$ = builtin_type_unsigned_short; } - | SHORT UNSIGNED - { $$ = builtin_type_unsigned_short; } - | SHORT UNSIGNED INT_KEYWORD - { $$ = builtin_type_unsigned_short; } - | DOUBLE_KEYWORD - { $$ = builtin_type_double; } - | LONG DOUBLE_KEYWORD - { $$ = builtin_type_long_double; } - | STRUCT name - { $$ = lookup_struct (copy_name ($2), - expression_context_block); } - | CLASS name - { $$ = lookup_struct (copy_name ($2), - expression_context_block); } - | UNION name - { $$ = lookup_union (copy_name ($2), - expression_context_block); } - | ENUM name - { $$ = lookup_enum (copy_name ($2), - expression_context_block); } - | UNSIGNED typename - { $$ = lookup_unsigned_typename (TYPE_NAME($2.type)); } - | UNSIGNED - { $$ = builtin_type_unsigned_int; } - | SIGNED_KEYWORD typename - { $$ = lookup_signed_typename (TYPE_NAME($2.type)); } - | SIGNED_KEYWORD - { $$ = builtin_type_int; } - /* It appears that this rule for templates is never - reduced; template recognition happens by lookahead - in the token processing code in yylex. */ - | TEMPLATE name '<' type '>' - { $$ = lookup_template_type(copy_name($2), $4, - expression_context_block); - } - | const_or_volatile_or_space_identifier_noopt typebase - { $$ = follow_types ($2); } - | typebase const_or_volatile_or_space_identifier_noopt - { $$ = follow_types ($1); } - ; - -typename: TYPENAME - | INT_KEYWORD - { - $$.stoken.ptr = "int"; - $$.stoken.length = 3; - $$.type = builtin_type_int; - } - | LONG - { - $$.stoken.ptr = "long"; - $$.stoken.length = 4; - $$.type = builtin_type_long; - } - | SHORT - { - $$.stoken.ptr = "short"; - $$.stoken.length = 5; - $$.type = builtin_type_short; - } - ; - -nonempty_typelist - : type - { $$ = (struct type **) malloc (sizeof (struct type *) * 2); - $$[0] = 1; /* Number of types in vector */ - $$[1] = $1; - } - | nonempty_typelist ',' type - { int len = sizeof (struct type *) * (++($1[0]) + 1); - $$ = (struct type **) realloc ((char *) $1, len); - $$[$$[0]] = $3; - } - ; - -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; } - | NAME_OR_INT { $$ = $1.stoken; } - ; - -name_not_typename : NAME - | BLOCKNAME -/* These would be useful if name_not_typename was useful, but it is just - a fake for "variable", so these cause reduce/reduce conflicts because - the parser can't tell whether NAME_OR_INT is a name_not_typename (=variable, - =exp) or just an exp. If name_not_typename was ever used in an lvalue - context where only a name could occur, this might be useful. - | NAME_OR_INT - */ - ; - -%% - -/* Take care of parsing a number (anything that starts with a digit). - Set yylval and return the token type; update lexptr. - LEN is the number of characters in it. */ - -/*** Needs some error checking for the float case ***/ - -static int -parse_number (p, len, parsed_float, putithere) - register char *p; - register int len; - int parsed_float; - YYSTYPE *putithere; -{ - /* FIXME: Shouldn't these be unsigned? We don't deal with negative values - here, and we do kind of silly things like cast to unsigned. */ - register LONGEST n = 0; - register LONGEST prevn = 0; - ULONGEST un; - - register int i = 0; - register int c; - register int base = input_radix; - int unsigned_p = 0; - - /* Number of "L" suffixes encountered. */ - int long_p = 0; - - /* We have found a "L" or "U" suffix. */ - int found_suffix = 0; - - ULONGEST high_bit; - struct type *signed_type; - struct type *unsigned_type; - - if (parsed_float) - { - /* It's a float since it contains a point or an exponent. */ - char c; - int num = 0; /* number of tokens scanned by scanf */ - char saved_char = p[len]; - - p[len] = 0; /* null-terminate the token */ - if (sizeof (putithere->typed_val_float.dval) <= sizeof (float)) - num = sscanf (p, "%g%c", (float *) &putithere->typed_val_float.dval,&c); - else if (sizeof (putithere->typed_val_float.dval) <= sizeof (double)) - num = sscanf (p, "%lg%c", (double *) &putithere->typed_val_float.dval,&c); - else - { -#ifdef SCANF_HAS_LONG_DOUBLE - num = sscanf (p, "%Lg%c", &putithere->typed_val_float.dval,&c); -#else - /* Scan it into a double, then assign it to the long double. - This at least wins with values representable in the range - of doubles. */ - double temp; - num = sscanf (p, "%lg%c", &temp,&c); - putithere->typed_val_float.dval = temp; -#endif - } - p[len] = saved_char; /* restore the input stream */ - if (num != 1) /* check scanf found ONLY a float ... */ - return ERROR; - /* See if it has `f' or `l' suffix (float or long double). */ - - c = tolower (p[len - 1]); - - if (c == 'f') - putithere->typed_val_float.type = builtin_type_float; - else if (c == 'l') - putithere->typed_val_float.type = builtin_type_long_double; - else if (isdigit (c) || c == '.') - putithere->typed_val_float.type = builtin_type_double; - else - return ERROR; - - return FLOAT; - } - - /* Handle base-switching prefixes 0x, 0t, 0d, 0 */ - if (p[0] == '0') - switch (p[1]) - { - case 'x': - case 'X': - if (len >= 3) - { - p += 2; - base = 16; - len -= 2; - } - break; - - case 't': - case 'T': - case 'd': - case 'D': - if (len >= 3) - { - p += 2; - base = 10; - len -= 2; - } - break; - - default: - base = 8; - break; - } - - while (len-- > 0) - { - c = *p++; - if (c >= 'A' && c <= 'Z') - c += 'a' - 'A'; - if (c != 'l' && c != 'u') - n *= base; - if (c >= '0' && c <= '9') - { - if (found_suffix) - return ERROR; - n += i = c - '0'; - } - else - { - if (base > 10 && c >= 'a' && c <= 'f') - { - if (found_suffix) - return ERROR; - n += i = c - 'a' + 10; - } - else if (c == 'l') - { - ++long_p; - found_suffix = 1; - } - else if (c == 'u') - { - unsigned_p = 1; - found_suffix = 1; - } - else - return ERROR; /* Char not a digit */ - } - if (i >= base) - return ERROR; /* Invalid digit in this base */ - - /* Portably test for overflow (only works for nonzero values, so make - a second check for zero). FIXME: Can't we just make n and prevn - unsigned and avoid this? */ - if (c != 'l' && c != 'u' && (prevn >= n) && n != 0) - unsigned_p = 1; /* Try something unsigned */ - - /* Portably test for unsigned overflow. - FIXME: This check is wrong; for example it doesn't find overflow - on 0x123456789 when LONGEST is 32 bits. */ - if (c != 'l' && c != 'u' && n != 0) - { - if ((unsigned_p && (ULONGEST) prevn >= (ULONGEST) n)) - error ("Numeric constant too large."); - } - prevn = n; - } - - /* An integer constant is an int, a long, or a long long. An L - suffix forces it to be long; an LL suffix forces it to be long - long. If not forced to a larger size, it gets the first type of - the above that it fits in. To figure out whether it fits, we - shift it right and see whether anything remains. Note that we - can't shift sizeof (LONGEST) * HOST_CHAR_BIT bits or more in one - operation, because many compilers will warn about such a shift - (which always produces a zero result). Sometimes TARGET_INT_BIT - or TARGET_LONG_BIT will be that big, sometimes not. To deal with - the case where it is we just always shift the value more than - once, with fewer bits each time. */ - - un = (ULONGEST)n >> 2; - if (long_p == 0 - && (un >> (TARGET_INT_BIT - 2)) == 0) - { - high_bit = ((ULONGEST)1) << (TARGET_INT_BIT-1); - - /* A large decimal (not hex or octal) constant (between INT_MAX - and UINT_MAX) is a long or unsigned long, according to ANSI, - never an unsigned int, but this code treats it as unsigned - int. This probably should be fixed. GCC gives a warning on - such constants. */ - - unsigned_type = builtin_type_unsigned_int; - signed_type = builtin_type_int; - } - else if (long_p <= 1 - && (un >> (TARGET_LONG_BIT - 2)) == 0) - { - high_bit = ((ULONGEST)1) << (TARGET_LONG_BIT-1); - unsigned_type = builtin_type_unsigned_long; - signed_type = builtin_type_long; - } - else - { - int shift; - if (sizeof (ULONGEST) * HOST_CHAR_BIT < TARGET_LONG_LONG_BIT) - /* A long long does not fit in a LONGEST. */ - shift = (sizeof (ULONGEST) * HOST_CHAR_BIT - 1); - else - shift = (TARGET_LONG_LONG_BIT - 1); - high_bit = (ULONGEST) 1 << shift; - unsigned_type = builtin_type_unsigned_long_long; - signed_type = builtin_type_long_long; - } - - putithere->typed_val_int.val = n; - - /* If the high bit of the worked out type is set then this number - has to be unsigned. */ - - if (unsigned_p || (n & high_bit)) - { - putithere->typed_val_int.type = unsigned_type; - } - else - { - putithere->typed_val_int.type = signed_type; - } - - return INT; -} - -struct token -{ - char *operator; - int token; - enum exp_opcode opcode; -}; - -static const struct token tokentab3[] = - { - {">>=", ASSIGN_MODIFY, BINOP_RSH}, - {"<<=", ASSIGN_MODIFY, BINOP_LSH} - }; - -static const struct token tokentab2[] = - { - {"+=", ASSIGN_MODIFY, BINOP_ADD}, - {"-=", ASSIGN_MODIFY, BINOP_SUB}, - {"*=", ASSIGN_MODIFY, BINOP_MUL}, - {"/=", ASSIGN_MODIFY, BINOP_DIV}, - {"%=", ASSIGN_MODIFY, BINOP_REM}, - {"|=", ASSIGN_MODIFY, BINOP_BITWISE_IOR}, - {"&=", ASSIGN_MODIFY, BINOP_BITWISE_AND}, - {"^=", ASSIGN_MODIFY, BINOP_BITWISE_XOR}, - {"++", INCREMENT, BINOP_END}, - {"--", DECREMENT, BINOP_END}, - {"->", ARROW, BINOP_END}, - {"&&", ANDAND, BINOP_END}, - {"||", OROR, BINOP_END}, - {"::", COLONCOLON, BINOP_END}, - {"<<", LSH, BINOP_END}, - {">>", RSH, BINOP_END}, - {"==", EQUAL, BINOP_END}, - {"!=", NOTEQUAL, BINOP_END}, - {"<=", LEQ, BINOP_END}, - {">=", GEQ, BINOP_END} - }; - -/* Read one token, getting characters through lexptr. */ - -static int -yylex () -{ - int c; - int namelen; - unsigned int i; - char *tokstart; - char *tokptr; - int tempbufindex; - static char *tempbuf; - static int tempbufsize; - struct symbol * sym_class = NULL; - char * token_string = NULL; - int class_prefix = 0; - int unquoted_expr; - - retry: - - /* Check if this is a macro invocation that we need to expand. */ - if (! scanning_macro_expansion ()) - { - char *expanded = macro_expand_next (&lexptr, - expression_macro_lookup_func, - expression_macro_lookup_baton); - - if (expanded) - scan_macro_expansion (expanded); - } - - prev_lexptr = lexptr; - unquoted_expr = 1; - - tokstart = lexptr; - /* See if it is a special token of length 3. */ - for (i = 0; i < sizeof tokentab3 / sizeof tokentab3[0]; i++) - if (STREQN (tokstart, tokentab3[i].operator, 3)) - { - lexptr += 3; - yylval.opcode = tokentab3[i].opcode; - return tokentab3[i].token; - } - - /* See if it is a special token of length 2. */ - for (i = 0; i < sizeof tokentab2 / sizeof tokentab2[0]; i++) - if (STREQN (tokstart, tokentab2[i].operator, 2)) - { - lexptr += 2; - yylval.opcode = tokentab2[i].opcode; - return tokentab2[i].token; - } - - switch (c = *tokstart) - { - case 0: - /* If we were just scanning the result of a macro expansion, - then we need to resume scanning the original text. - Otherwise, we were already scanning the original text, and - we're really done. */ - if (scanning_macro_expansion ()) - { - finished_macro_expansion (); - goto retry; - } - else - return 0; - - case ' ': - case '\t': - case '\n': - lexptr++; - goto retry; - - case '\'': - /* We either have a character constant ('0' or '\177' for example) - or we have a quoted symbol reference ('foo(int,int)' in C++ - for example). */ - lexptr++; - c = *lexptr++; - if (c == '\\') - c = parse_escape (&lexptr); - else if (c == '\'') - error ("Empty character constant."); - - yylval.typed_val_int.val = c; - yylval.typed_val_int.type = builtin_type_char; - - c = *lexptr++; - if (c != '\'') - { - namelen = skip_quoted (tokstart) - tokstart; - if (namelen > 2) - { - lexptr = tokstart + namelen; - unquoted_expr = 0; - if (lexptr[-1] != '\'') - error ("Unmatched single quote."); - namelen -= 2; - tokstart++; - goto tryname; - } - error ("Invalid character constant."); - } - return INT; - - case '(': - paren_depth++; - lexptr++; - return c; - - case ')': - if (paren_depth == 0) - return 0; - paren_depth--; - lexptr++; - return c; - - case ',': - if (comma_terminates - && paren_depth == 0 - && ! scanning_macro_expansion ()) - return 0; - lexptr++; - return c; - - case '.': - /* Might be a floating point number. */ - if (lexptr[1] < '0' || lexptr[1] > '9') - goto symbol; /* Nope, must be a symbol. */ - /* FALL THRU into number case. */ - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - { - /* It's a number. */ - int got_dot = 0, got_e = 0, toktype; - register char *p = tokstart; - int hex = input_radix > 10; - - if (c == '0' && (p[1] == 'x' || p[1] == 'X')) - { - p += 2; - hex = 1; - } - else if (c == '0' && (p[1]=='t' || p[1]=='T' || p[1]=='d' || p[1]=='D')) - { - p += 2; - hex = 0; - } - - for (;; ++p) - { - /* This test includes !hex because 'e' is a valid hex digit - and thus does not indicate a floating point number when - the radix is hex. */ - if (!hex && !got_e && (*p == 'e' || *p == 'E')) - got_dot = got_e = 1; - /* This test does not include !hex, because a '.' always indicates - a decimal floating point number regardless of the radix. */ - else if (!got_dot && *p == '.') - got_dot = 1; - else if (got_e && (p[-1] == 'e' || p[-1] == 'E') - && (*p == '-' || *p == '+')) - /* This is the sign of the exponent, not the end of the - number. */ - continue; - /* We will take any letters or digits. parse_number will - complain if past the radix, or if L or U are not final. */ - else if ((*p < '0' || *p > '9') - && ((*p < 'a' || *p > 'z') - && (*p < 'A' || *p > 'Z'))) - break; - } - toktype = parse_number (tokstart, p - tokstart, got_dot|got_e, &yylval); - if (toktype == ERROR) - { - char *err_copy = (char *) alloca (p - tokstart + 1); - - memcpy (err_copy, tokstart, p - tokstart); - err_copy[p - tokstart] = 0; - error ("Invalid number \"%s\".", err_copy); - } - lexptr = p; - return toktype; - } - - case '+': - case '-': - case '*': - case '/': - case '%': - case '|': - case '&': - case '^': - case '~': - case '!': - case '@': - case '<': - case '>': - case '[': - case ']': - case '?': - case ':': - case '=': - case '{': - case '}': - symbol: - lexptr++; - return c; - - case '"': - - /* Build the gdb internal form of the input string in tempbuf, - translating any standard C escape forms seen. Note that the - buffer is null byte terminated *only* for the convenience of - debugging gdb itself and printing the buffer contents when - the buffer contains no embedded nulls. Gdb does not depend - upon the buffer being null byte terminated, it uses the length - string instead. This allows gdb to handle C strings (as well - as strings in other languages) with embedded null bytes */ - - tokptr = ++tokstart; - tempbufindex = 0; - - do { - /* Grow the static temp buffer if necessary, including allocating - the first one on demand. */ - if (tempbufindex + 1 >= tempbufsize) - { - tempbuf = (char *) realloc (tempbuf, tempbufsize += 64); - } - switch (*tokptr) - { - case '\0': - case '"': - /* Do nothing, loop will terminate. */ - break; - case '\\': - tokptr++; - c = parse_escape (&tokptr); - if (c == -1) - { - continue; - } - tempbuf[tempbufindex++] = c; - break; - default: - tempbuf[tempbufindex++] = *tokptr++; - break; - } - } while ((*tokptr != '"') && (*tokptr != '\0')); - if (*tokptr++ != '"') - { - error ("Unterminated string in expression."); - } - tempbuf[tempbufindex] = '\0'; /* See note above */ - yylval.sval.ptr = tempbuf; - yylval.sval.length = tempbufindex; - lexptr = tokptr; - return (STRING); - } - - if (!(c == '_' || c == '$' - || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))) - /* We must have come across a bad character (e.g. ';'). */ - error ("Invalid character '%c' in expression.", c); - - /* It's a name. See how long it is. */ - namelen = 0; - for (c = tokstart[namelen]; - (c == '_' || c == '$' || (c >= '0' && c <= '9') - || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '<');) - { - /* Template parameter lists are part of the name. - FIXME: This mishandles `print $a<4&&$a>3'. */ - - if (c == '<') - { - /* 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", - there must be spaces before the '<', etc. */ - - char * p = find_template_name_end (tokstart + namelen); - if (p) - namelen = p - tokstart; - break; - } - c = tokstart[++namelen]; - } - - /* The token "if" terminates the expression and is NOT removed from - the input stream. It doesn't count if it appears in the - expansion of a macro. */ - if (namelen == 2 - && tokstart[0] == 'i' - && tokstart[1] == 'f' - && ! scanning_macro_expansion ()) - { - return 0; - } - - lexptr += namelen; - - tryname: - - /* Catch specific keywords. Should be done with a data structure. */ - switch (namelen) - { - case 8: - if (STREQN (tokstart, "unsigned", 8)) - return UNSIGNED; - if (current_language->la_language == language_cplus - && STREQN (tokstart, "template", 8)) - return TEMPLATE; - if (STREQN (tokstart, "volatile", 8)) - return VOLATILE_KEYWORD; - break; - case 6: - if (STREQN (tokstart, "struct", 6)) - return STRUCT; - if (STREQN (tokstart, "signed", 6)) - return SIGNED_KEYWORD; - if (STREQN (tokstart, "sizeof", 6)) - return SIZEOF; - if (STREQN (tokstart, "double", 6)) - return DOUBLE_KEYWORD; - break; - case 5: - if (current_language->la_language == language_cplus) - { - if (STREQN (tokstart, "false", 5)) - return FALSEKEYWORD; - if (STREQN (tokstart, "class", 5)) - return CLASS; - } - if (STREQN (tokstart, "union", 5)) - return UNION; - if (STREQN (tokstart, "short", 5)) - return SHORT; - if (STREQN (tokstart, "const", 5)) - return CONST_KEYWORD; - break; - case 4: - if (STREQN (tokstart, "enum", 4)) - return ENUM; - if (STREQN (tokstart, "long", 4)) - return LONG; - if (current_language->la_language == language_cplus) - { - if (STREQN (tokstart, "true", 4)) - return TRUEKEYWORD; - - if (STREQN (tokstart, "this", 4)) - { - static const char this_name[] = - { CPLUS_MARKER, 't', 'h', 'i', 's', '\0' }; - - if (lookup_symbol (this_name, expression_context_block, - VAR_NAMESPACE, (int *) NULL, - (struct symtab **) NULL)) - return THIS; - } - } - break; - case 3: - if (STREQN (tokstart, "int", 3)) - return INT_KEYWORD; - break; - default: - break; - } - - yylval.sval.ptr = tokstart; - yylval.sval.length = namelen; - - if (*tokstart == '$') - { - write_dollar_variable (yylval.sval); - return VARIABLE; - } - - /* Look ahead and see if we can consume more of the input - string to get a reasonable class/namespace spec or a - fully-qualified name. This is a kludge to get around the - HP aCC compiler's generation of symbol names with embedded - colons for namespace and nested classes. */ - if (unquoted_expr) - { - /* Only do it if not inside single quotes */ - sym_class = parse_nested_classes_for_hpacc (yylval.sval.ptr, yylval.sval.length, - &token_string, &class_prefix, &lexptr); - if (sym_class) - { - /* Replace the current token with the bigger one we found */ - yylval.sval.ptr = token_string; - yylval.sval.length = strlen (token_string); - } - } - - /* Use token-type BLOCKNAME for symbols that happen to be defined as - functions or symtabs. If this is not so, then ... - Use token-type TYPENAME for symbols that happen to be defined - currently as names of types; NAME for other symbols. - The caller is not constrained to care about the distinction. */ - { - char *tmp = copy_name (yylval.sval); - struct symbol *sym; - int is_a_field_of_this = 0; - int hextype; - - sym = lookup_symbol (tmp, expression_context_block, - VAR_NAMESPACE, - current_language->la_language == language_cplus - ? &is_a_field_of_this : (int *) NULL, - (struct symtab **) NULL); - /* Call lookup_symtab, not lookup_partial_symtab, in case there are - no psymtabs (coff, xcoff, or some future change to blow away the - psymtabs once once symbols are read). */ - if (sym && SYMBOL_CLASS (sym) == LOC_BLOCK) - { - yylval.ssym.sym = sym; - yylval.ssym.is_a_field_of_this = is_a_field_of_this; - return BLOCKNAME; - } - else if (!sym) - { /* See if it's a file name. */ - struct symtab *symtab; - - symtab = lookup_symtab (tmp); - - if (symtab) - { - yylval.bval = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), STATIC_BLOCK); - return FILENAME; - } - } - - if (sym && SYMBOL_CLASS (sym) == LOC_TYPEDEF) - { -#if 1 - /* Despite the following flaw, we need to keep this code enabled. - Because we can get called from check_stub_method, if we don't - handle nested types then it screws many operations in any - program which uses nested types. */ - /* In "A::x", if x is a member function of A and there happens - to be a type (nested or not, since the stabs don't make that - distinction) named x, then this code incorrectly thinks we - are dealing with nested types rather than a member function. */ - - char *p; - char *namestart; - struct symbol *best_sym; - - /* Look ahead to detect nested types. This probably should be - done in the grammar, but trying seemed to introduce a lot - of shift/reduce and reduce/reduce conflicts. It's possible - that it could be done, though. Or perhaps a non-grammar, but - less ad hoc, approach would work well. */ - - /* Since we do not currently have any way of distinguishing - a nested type from a non-nested one (the stabs don't tell - us whether a type is nested), we just ignore the - containing type. */ - - p = lexptr; - best_sym = sym; - while (1) - { - /* Skip whitespace. */ - while (*p == ' ' || *p == '\t' || *p == '\n') - ++p; - if (*p == ':' && p[1] == ':') - { - /* Skip the `::'. */ - p += 2; - /* Skip whitespace. */ - while (*p == ' ' || *p == '\t' || *p == '\n') - ++p; - namestart = p; - while (*p == '_' || *p == '$' || (*p >= '0' && *p <= '9') - || (*p >= 'a' && *p <= 'z') - || (*p >= 'A' && *p <= 'Z')) - ++p; - if (p != namestart) - { - struct symbol *cur_sym; - /* As big as the whole rest of the expression, which is - at least big enough. */ - char *ncopy = alloca (strlen (tmp)+strlen (namestart)+3); - char *tmp1; - - tmp1 = ncopy; - memcpy (tmp1, tmp, strlen (tmp)); - tmp1 += strlen (tmp); - memcpy (tmp1, "::", 2); - tmp1 += 2; - memcpy (tmp1, namestart, p - namestart); - tmp1[p - namestart] = '\0'; - cur_sym = lookup_symbol (ncopy, expression_context_block, - VAR_NAMESPACE, (int *) NULL, - (struct symtab **) NULL); - if (cur_sym) - { - if (SYMBOL_CLASS (cur_sym) == LOC_TYPEDEF) - { - best_sym = cur_sym; - lexptr = p; - } - else - break; - } - else - break; - } - else - break; - } - else - break; - } - - yylval.tsym.type = SYMBOL_TYPE (best_sym); -#else /* not 0 */ - yylval.tsym.type = SYMBOL_TYPE (sym); -#endif /* not 0 */ - return TYPENAME; - } - if ((yylval.tsym.type = lookup_primitive_typename (tmp)) != 0) - return TYPENAME; - - /* Input names that aren't symbols but ARE valid hex numbers, - when the input radix permits them, can be names or numbers - depending on the parse. Note we support radixes > 16 here. */ - if (!sym && - ((tokstart[0] >= 'a' && tokstart[0] < 'a' + input_radix - 10) || - (tokstart[0] >= 'A' && tokstart[0] < 'A' + input_radix - 10))) - { - YYSTYPE newlval; /* Its value is ignored. */ - hextype = parse_number (tokstart, namelen, 0, &newlval); - if (hextype == INT) - { - yylval.ssym.sym = sym; - yylval.ssym.is_a_field_of_this = is_a_field_of_this; - return NAME_OR_INT; - } - } - - /* Any other kind of symbol */ - yylval.ssym.sym = sym; - yylval.ssym.is_a_field_of_this = is_a_field_of_this; - return NAME; - } -} - -void -yyerror (msg) - char *msg; -{ - if (prev_lexptr) - lexptr = prev_lexptr; - - error ("A %s in expression, near `%s'.", (msg ? msg : "error"), lexptr); -} diff --git a/gdb/c-lang.c b/gdb/c-lang.c deleted file mode 100644 index 9ee92ad8b8c..00000000000 --- a/gdb/c-lang.c +++ /dev/null @@ -1,673 +0,0 @@ -/* C language support routines for GDB, the GNU debugger. - Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 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 "symtab.h" -#include "gdbtypes.h" -#include "expression.h" -#include "parser-defs.h" -#include "language.h" -#include "c-lang.h" -#include "valprint.h" -#include "macroscope.h" -#include "gdb_assert.h" - -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 (register int c, struct ui_file *stream, int quoter) -{ - c &= 0xFF; /* Avoid sign bit follies */ - - if (PRINT_LITERAL_FORM (c)) - { - if (c == '\\' || c == quoter) - { - fputs_filtered ("\\", stream); - } - fprintf_filtered (stream, "%c", c); - } - else - { - switch (c) - { - case '\n': - fputs_filtered ("\\n", stream); - break; - case '\b': - fputs_filtered ("\\b", stream); - break; - case '\t': - fputs_filtered ("\\t", stream); - break; - case '\f': - fputs_filtered ("\\f", stream); - break; - 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; - } - } -} - -void -c_printchar (int c, struct ui_file *stream) -{ - fputc_filtered ('\'', stream); - LA_EMIT_CHAR (c, stream, '\''); - fputc_filtered ('\'', stream); -} - -/* Print the character string STRING, printing at most LENGTH characters. - LENGTH is -1 if the string is nul terminated. Each character is WIDTH bytes - long. Printing stops early if the number hits print_max; repeat counts are - printed as appropriate. Print ellipses at the end if we had to stop before - printing LENGTH characters, or if FORCE_ELLIPSES. */ - -void -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; - - /* 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')) - length--; - - if (length == 0) - { - fputs_filtered ("\"\"", stream); - return; - } - - for (i = 0; i < length && things_printed < print_max; ++i) - { - /* Position of the character we are examining - to see whether it is repeated. */ - unsigned int rep1; - /* Number of repetitions we have detected so far. */ - unsigned int reps; - unsigned long current_char; - - QUIT; - - if (need_comma) - { - fputs_filtered (", ", stream); - need_comma = 0; - } - - current_char = extract_unsigned_integer (string + i * width, width); - - rep1 = i + 1; - reps = 1; - while (rep1 < length - && extract_unsigned_integer (string + rep1 * width, width) - == current_char) - { - ++rep1; - ++reps; - } - - if (reps > repeat_count_threshold) - { - if (in_quotes) - { - if (inspect_it) - fputs_filtered ("\\\", ", stream); - else - fputs_filtered ("\", ", stream); - in_quotes = 0; - } - LA_PRINT_CHAR (current_char, stream); - fprintf_filtered (stream, " ", reps); - i = rep1 - 1; - things_printed += repeat_count_threshold; - need_comma = 1; - } - else - { - if (!in_quotes) - { - if (inspect_it) - fputs_filtered ("\\\"", stream); - else - fputs_filtered ("\"", stream); - in_quotes = 1; - } - LA_EMIT_CHAR (current_char, stream, '"'); - ++things_printed; - } - } - - /* Terminate the quotes if necessary. */ - if (in_quotes) - { - if (inspect_it) - fputs_filtered ("\\\"", stream); - else - fputs_filtered ("\"", stream); - } - - if (force_ellipses || i < length) - fputs_filtered ("...", stream); -} - -/* Create a fundamental C type using default reasonable for the current - target machine. - - Some object/debugging file formats (DWARF version 1, COFF, etc) do not - define fundamental types such as "int" or "double". Others (stabs or - DWARF version 2, etc) do define fundamental types. For the formats which - don't provide fundamental types, gdb can create such types using this - function. - - FIXME: Some compilers distinguish explicitly signed integral types - (signed short, signed int, signed long) from "regular" integral types - (short, int, long) in the debugging information. There is some dis- - agreement as to how useful this feature is. In particular, gcc does - not support this. Also, only some debugging formats allow the - distinction to be passed on to a debugger. For now, we always just - use "short", "int", or "long" as the type name, for both the implicit - and explicitly signed types. This also makes life easier for the - gdb test suite since we don't have to account for the differences - in output depending upon what the compiler and debugging format - support. We will probably have to re-examine the issue when gdb - starts taking it's fundamental type information directly from the - debugging information supplied by the compiler. fnf@cygnus.com */ - -struct type * -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, - TYPE_FLAG_NOSIGN, "char", objfile); - 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_COMPLEX: - type = init_type (TYPE_CODE_FLT, - 2 * TARGET_FLOAT_BIT / TARGET_CHAR_BIT, - 0, "complex float", objfile); - TYPE_TARGET_TYPE (type) - = init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT, - 0, "float", objfile); - break; - case FT_DBL_PREC_COMPLEX: - type = init_type (TYPE_CODE_FLT, - 2 * TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "complex double", objfile); - TYPE_TARGET_TYPE (type) - = init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "double", objfile); - break; - case FT_EXT_PREC_COMPLEX: - type = init_type (TYPE_CODE_FLT, - 2 * TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "complex long double", objfile); - TYPE_TARGET_TYPE (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, "