mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-09 17:15:25 +08:00
Initial creation of sourceware repository
This commit is contained in:
gdb
29k-share
COPYINGChangeLogChangeLog-3.xChangeLog-9091ChangeLog-92ChangeLog-93ChangeLog-94ChangeLog-95ChangeLog-96ChangeLog-97ChangeLog-98Makefile.inNEWSREADMETODOa29k-tdep.ca68v-nat.cabug-rom.cacconfig.hacinclude.m4aclocal.m4alpha-nat.calpha-tdep.caltos-xdep.cannotate.cannotate.harc-tdep.carm-convert.sarm-tdep.carm-xdep.cax-gdb.cax-gdb.hax-general.cax.hbcache.cbcache.hblockframe.cbreakpoint.cbreakpoint.hbuildsym.cbuildsym.hc-exp.yc-lang.cc-lang.hc-typeprint.cc-valprint.ccall-cmds.hch-exp.cch-lang.cch-lang.hch-typeprint.cch-valprint.ccoff-solib.ccoff-solib.hcoffread.ccommand.ccommand.hcomplaints.ccomplaints.hconfig.inconfig
a29k
a29k-kern.mta29k-udi.mta29k.mtnm-ultra3.htm-a29k.htm-ultra3.htm-vx29k.hultra3.mhultra3.mtvx29k.mtxm-ultra3.h
alpha
alpha-linux.mhalpha-linux.mtalpha-osf1.mhalpha-osf1.mtalpha-osf2.mhalpha-osf3.mhnm-linux.hnm-osf.hnm-osf2.hnm-osf3.htm-alpha.htm-alphalinux.hxm-alphalinux.hxm-alphaosf.h
arc
arm
convex
d10v
d30v
fr30
gould
h8300
h8500
i386
cygwin.mhcygwin.mtfbsd.mhfbsd.mtgdbserve.mtgo32.mhi386aix.mhi386aix.mti386aout.mti386bsd.mhi386bsd.mti386dgux.mhi386gnu.mhi386gnu.mti386lynx.mhi386lynx.mti386m3.mhi386m3.mti386mach.mhi386mk.mhi386mk.mti386nw.mti386os9k.mti386sco.mhi386sco4.mhi386sco5.mhi386sco5.mti386sol2.mhi386sol2.mti386v.mhi386v.mti386v32.mhi386v4.mhi386v4.mti386v42mp.mhi386v42mp.mtlinux.mhlinux.mtnbsd.mhnbsd.mtncr3000.mhncr3000.mtnm-fbsd.hnm-gnu.hnm-i386aix.hnm-i386bsd.hnm-i386lynx.hnm-i386mach.hnm-i386sco.hnm-i386sco4.hnm-i386sco5.hnm-i386sol2.hnm-i386v.hnm-i386v4.hnm-i386v42mp.hnm-linux.hnm-m3.hnm-nbsd.hnm-ptx4.hnm-sun386.hnm-symmetry.hptx.mhptx.mtptx4.mhptx4.mtsun386.mhsun386.mtsymmetry.mhsymmetry.mttm-cygwin.htm-fbsd.htm-i386.htm-i386aix.htm-i386bsd.htm-i386gnu.htm-i386lynx.htm-i386m3.htm-i386mk.htm-i386nw.htm-i386os9k.htm-i386sco5.htm-i386sol2.htm-i386v.htm-i386v4.htm-i386v42mp.htm-linux.htm-nbsd.htm-ptx.htm-ptx4.htm-sun386.htm-symmetry.hxm-cygwin.hxm-go32.hxm-i386aix.hxm-i386bsd.hxm-i386gnu.hxm-i386lynx.hxm-i386m3.hxm-i386mach.hxm-i386mk.hxm-i386sco.hxm-i386v.hxm-i386v32.hxm-i386v4.hxm-linux.hxm-nbsd.hxm-ptx.hxm-ptx4.hxm-sun386.hxm-symmetry.hxm-windows.h
i960
m32r
m68k
3b1.mh3b1.mtaltos.mhaltos.mtapollo68b.mhapollo68b.mtapollo68v.mhcisco.mtdelta68.mhdelta68.mtdpx2.mhdpx2.mtes1800.mthp300bsd.mhhp300bsd.mthp300hpux.mhhp300hpux.mtisi.mhisi.mtlinux.mhlinux.mtm68klynx.mhm68klynx.mtm68kv4.mhm68kv4.mtmonitor.mtnbsd.mhnbsd.mtnews.mhnews.mtnews1000.mhnm-apollo68b.hnm-apollo68v.hnm-delta68.hnm-dpx2.hnm-hp300bsd.hnm-hp300hpux.hnm-linux.hnm-m68klynx.hnm-nbsd.hnm-news.hnm-sun2.hnm-sun3.hnm-sysv4.hos68k.mtst2000.mtsun2os3.mhsun2os3.mtsun2os4.mhsun2os4.mtsun3os3.mhsun3os3.mtsun3os4.mhsun3os4.mttm-3b1.htm-altos.htm-apollo68b.htm-cisco.htm-delta68.htm-dpx2.htm-es1800.htm-hp300bsd.htm-hp300hpux.htm-isi.htm-linux.htm-m68k.htm-m68klynx.htm-m68kv4.htm-mac.htm-monitor.htm-nbsd.htm-news.htm-os68k.htm-st2000.htm-sun2.htm-sun2os4.htm-sun3.htm-sun3os4.htm-vx68.hvxworks68.mtxm-3b1.hxm-altos.hxm-apollo68b.hxm-apollo68v.hxm-delta68.hxm-dpx2.hxm-hp300bsd.hxm-hp300hpux.hxm-isi.hxm-linux.hxm-m68k.hxm-m68klynx.hxm-m68kv4.hxm-mpw.hxm-nbsd.hxm-news.hxm-news1000.hxm-sun2.hxm-sun3.hxm-sun3os4.h
m88k
cxux.mhcxux.mtdelta88.mhdelta88.mtdelta88v4.mhdelta88v4.mtm88k.mhm88k.mtnm-cxux.hnm-delta88v4.hnm-m88k.htm-cxux.htm-delta88.htm-delta88v4.htm-m88k.hxm-cxux.hxm-delta88.hxm-delta88v4.hxm-dgux.hxm-m88k.h
mips
bigmips.mtbigmips64.mtdecstation.mhdecstation.mtembed.mtembed64.mtembedl.mtembedl64.mtirix3.mhirix3.mtirix4.mhirix5.mhirix5.mtlittlemips.mhlittlemips.mtmipsm3.mhmipsm3.mtmipsv4.mhmipsv4.mtnews-mips.mhnm-irix3.hnm-irix4.hnm-irix5.hnm-mips.hnm-news-mips.hnm-riscos.hriscos.mhtm-bigmips.htm-bigmips64.htm-embed.htm-embed64.htm-embedl.htm-embedl64.htm-irix3.htm-irix5.htm-mips.htm-mips64.htm-mipsm3.htm-mipsv4.htm-tx39.htm-tx39l.htm-vr4100.htm-vr4300.htm-vr4300el.htm-vr5000.htm-vr5000el.htm-vxmips.htx39.mttx39l.mtvr4100.mtvr4300.mtvr4300el.mtvr5000.mtvr5000el.mtvxmips.mtxm-irix3.hxm-irix4.hxm-irix5.hxm-mips.hxm-mipsm3.hxm-mipsv4.hxm-news-mips.hxm-riscos.h
mn10200
mn10300
nm-empty.hnm-gnu.hnm-lynx.hnm-m3.hnm-nbsd.hnm-sysv4.hnone
ns32k
merlin.mhmerlin.mtnbsd.mhnbsd.mtnm-nbsd.hnm-umax.hns32km3.mhns32km3.mttm-merlin.htm-nbsd.htm-ns32km3.htm-umax.humax.mhumax.mtxm-merlin.hxm-nbsd.hxm-ns32km3.hxm-umax.h
pa
hppabsd.mhhppabsd.mthppahpux.mhhppahpux.mthppaosf.mhhppaosf.mthppapro.mthpux1020.mhhpux1020.mthpux1100.mhhpux1100.mtnm-hppab.hnm-hppah.hnm-hppah11.hnm-hppao.htm-hppa.htm-hppab.htm-hppah.htm-hppao.htm-pro.hxm-hppab.hxm-hppah.hxm-pa.h
powerpc
aix.mhaix.mtcygwin.mhcygwin.mtgdbserve.mtlinux.mhmacos.mhmacos.mtnm-aix.hnm-macos.hnm-solaris.hppc-eabi.mtppc-nw.mtppc-sim.mtppcle-eabi.mtppcle-sim.mtsolaris.mhsolaris.mttm-cygwin.htm-macos.htm-ppc-aix.htm-ppc-eabi.htm-ppc-nw.htm-ppc-sim.htm-ppcle-eabi.htm-ppcle-sim.htm-solaris.hxm-aix.hxm-cygwin.hxm-linux.hxm-mpw.hxm-solaris.h
pyr
romp
rs6000
aix4.mhaix4.mtnm-rs6000.hnm-rs6000ly.hrs6000.mhrs6000.mtrs6000lynx.mhrs6000lynx.mttm-rs6000-aix4.htm-rs6000.htm-rs6000ly.hxm-aix4.hxm-rs6000.hxm-rs6000ly.h
sh
sparc
linux.mhlinux.mtnbsd.mhnbsd.mtnm-linux.hnm-nbsd.hnm-sparclynx.hnm-sun4os4.hnm-sun4sol2.hsp64.mtsp64sim.mtsp64sol2.mtsparc-em.mtsparclet.mtsparclite.mtsparclynx.mhsparclynx.mtsun4os4.mhsun4os4.mtsun4sol2.mhsun4sol2.mttm-linux.htm-nbsd.htm-sp64.htm-sp64sim.htm-sparc.htm-sparclet.htm-sparclite.htm-sparclynx.htm-spc-em.htm-sun4os4.htm-sun4sol2.htm-vxsparc.hvxsparc.mtxm-linux.hxm-nbsd.hxm-sparc.hxm-sparclynx.hxm-sun4os4.hxm-sun4sol2.h
tahoe
tm-lynx.htm-nbsd.htm-sunos.htm-sysv4.hv850
vax
w65
xm-aix4.hxm-lynx.hxm-mpw.hxm-nbsd.hxm-sysv4.hz8k
doc
ChangeLogHPPA-cfg.texiLRSMakefile.ina4rc.sedagentexpr.texiall-cfg.texiannotate.texiconfigureconfigure.ingdb.texinfogdbint.texinfolibgdb.texinfolpsrc.sedpsrc.sedrefcard.texremote.texistabs.texinfo
dpx2-nat.cdsrec.cdst.hdstread.cdve3900-rom.cdwarf2read.cdwarfread.celfread.cenviron.cenviron.heval.cexc_request.defsexec.cexpprint.cexpression.hf-exp.yf-lang.cf-lang.hf-typeprint.cf-valprint.cfindvar.cfork-child.cfr30-tdep.cframe.hgdb-stabs.hgdb.1gdb.gdbgdb_stat.hgdb_string.hgdba.elgdbarch.cgdbarch.hgdbcmd.hgdbcore.hgdbinit.ingdbserver
Makefile.inREADMEconfigure.ingdbreplay.cgdbserver.1low-hppabsd.clow-linux.clow-lynx.clow-sim.clow-sparc.clow-sun3.cremote-utils.cserver.cserver.hutils.c
gdbthread.hgdbtypes.cgdbtypes.hgnu-nat.cgnu-nat.hgnu-regex.cgnu-regex.hgould-tdep.cgould-xdep.ch8300-tdep.ch8500-tdep.chp-psymtab-read.chp-symtab-read.chp300ux-nat.chppa-tdep.chppab-nat.chppah-nat.chppam3-nat.chpread.chpread.hhpux-thread.ci386-stub.ci386-tdep.ci386aix-nat.ci386b-nat.ci386gnu-nat.ci386ly-tdep.ci386m3-nat.ci386mach-nat.ci386v-nat.ci386v4-nat.ci387-tdep.ci960-tdep.cinfcmd.cinferior.hinflow.cinfptrace.cinfrun.cinftarg.cinfttrace.cirix4-nat.cirix5-nat.cisi-xdep.cjv-exp.yjv-lang.cjv-lang.hjv-typeprint.cjv-valprint.ckdb-start.clanguage.clanguage.hlynx-nat.cm2-exp.ym2-lang.cm2-lang.hm2-typeprint.cm2-valprint.cm3-nat.cm32r-rom.cm32r-stub.cm32r-tdep.cm68k-stub.cm68k-tdep.cm68klinux-nat.cm68knbsd-nat.cm88k-nat.cm88k-tdep.cmac-defs.hmac-gdb.rmac-nat.cmac-xdep.cmain.cmaint.cmdebugread.cmem-break.cminimon.hminsyms.cmips-nat.cmips-tdep.cmipsm3-nat.cmipsread.cmipsv4-nat.cmn10200-tdep.cmn10300-tdep.cmon960-rom.cmonitor.cmonitor.hmpw-config.inmpw-make.sedmsg.defsmsg_reply.defsnews-xdep.cnindy-share
nindy-tdep.cnlm
nlmread.cnotify.defsns32k-tdep.cns32km3-nat.cns32knbsd-nat.cobjfiles.cobjfiles.hocd.cocd.hop50-rom.cos9kread.cosf-share
AT386
HP800
READMERIOS
cma_attr.hcma_deb_core.hcma_debug_client.hcma_errors.hcma_handle.hcma_init.hcma_list.hcma_mutex.hcma_sched.hcma_semaphore_defs.hcma_sequence.hcma_stack.hcma_stack_int.hcma_tcb_defs.hcma_util.hrdi-share
Makefile.amMakefile.inREADME.CYGNUSaclocal.m4adp.hadperr.hangel.hardi.cardi.harmdbg.hbuffers.hbytesex.cbytesex.hchandefs.hchannels.hchanpriv.hconfigureconfigure.incrc.ccrc.hdbg_conf.hdbg_cp.hdbg_hif.hdbg_rdi.hdevclnt.hdevices.hdevsw.cdevsw.hdrivers.cdrivers.hendian.hetherdrv.cethernet.hhost.hhostchan.chostchan.hhsys.chsys.hlogging.clogging.hmsgbuild.cmsgbuild.hparams.cparams.hrx.crxtx.hserdrv.cserpardr.csys.htx.cunixcomm.cunixcomm.h
remote-adapt.cremote-array.cremote-bug.cremote-d10v.cremote-e7000.cremote-eb.cremote-es.cremote-est.cremote-hms.cremote-mips.cremote-mm.cremote-nindy.cremote-nrom.cremote-os9k.cremote-rdi.cremote-rdp.cremote-sds.cremote-sim.cremote-st.cremote-udi.cremote-utils.cremote-utils.hremote-vx.cremote-vx29k.cremote-vx68.cremote-vx960.cremote-vxmips.cremote-vxsparc.cremote.creply_mig_hack.awkrom68k-rom.crs6000-nat.crs6000-tdep.csaber.suppressscm-exp.cscm-lang.cscm-lang.hscm-tags.hscm-valprint.cser-e7kpc.cser-go32.cser-mac.cser-ocd.cser-tcp.cser-unix.cserial.cserial.hsh-stub.csh-tdep.csh3-rom.csignals.hsol-thread.csolib.csolib.hsomread.csomsolib.csomsolib.hsource.csparc-nat.csparc-stub.csparc-tdep.csparcl-stub.csparcl-tdep.csparclet-rom.csparclet-stub.csrec.hstabsread.cstabsread.hstack.cstandalone.cstop-gdb.cstuff.csun3-nat.csun386-nat.csymfile.csymfile.hsymm-nat.csymm-tdep.csymmisc.csymtab.csymtab.htahoe-tdep.ctarget.ctarget.hterminal.htestsuite
.gdbinitChangeLogMakefile.inTODOaclocal.m4
thread.ctop.ctop.htracepoint.ctracepoint.hconfig
abug.exparm-ice.expcpu32bug.expcygmon.expd10v.expdve.expest.expgdbserver.exph8300.exphmsirom.exphppro.expi386-bozo.expi960.expm32r-stub.expm32r.expm68k-emc.expmips-idt.expmips.expmn10300-eval.expmonitor.expmt-a29k-udimt-i386-aoutmt-i960-nindymt-lynxmt-m68kmt-mips-ecoffmt-netwaremt-slitemt-sparc-aoutmt-unixmt-vxworksnetware.expnind.expproelf.exprom68k.expsh.expsim.expslite.expsparclet.expudi.expunix.expunknown.expvr4300.expvr5000.expvx.expvxworks.expvxworks29k.exp
configureconfigure.ingdb.asm
gdb.base
Makefile.inREADMEa1-selftest.expa2-run.expall-bin.expall-types.carithmet.expassign.expbar.cbaz.cbitfields.cbitfields.expbitops.expbranches.cbreak.cbreak.expcall-ar-st.ccall-ar-st.expcall-rt-st.ccall-rt-st.expcall-strs.ccall-strs.expcallfuncs.ccallfuncs.expcallfuncs2.ccallfuncs2.expcommands.expcompiler.ccompletion.expcond-expr.expcondbreak.ccondbreak.expconfigureconfigure.inconstvars.cconstvars.expcorefile.expcoremaker.ccrossload.expd10v.ldd10vovly.cdefault.expdefine.expdisplay.cdisplay.expdollar.expecho.expena-dis-br.expending-run.cending-run.expenviron.expeval-skip.expexprs.cexprs.expfoo.cfuncargs.cfuncargs.expgdbvars.expgrbx.chelp.expi486-elf.ui860-elf.uint-type.cinterrupt.cinterrupt.expjump.cjump.explangs.explangs0.clangs1.clangs1.flangs2.clangs2.cxxlist.explist0.clist0.hlist1.clogical.explong_long.clong_long.expm32r.ldm32rovly.cm68k-aout.um68k-aout2.um68k-elf.umaint.expmips-ecoff.umips_pro.cmips_pro.expmiscexprs.cmiscexprs.expnodebug.cnodebug.expopaque.expopaque0.copaque1.coverlays.coverlays.expovlymgr.covlymgr.hpointers.cpointers.exppointers2.cpointers2.expprintcmds.cprintcmds.expptype.cptype.expradix.exprecurse.crecurse.expregs.exprelational.expreread.expreread1.creread2.crestore.crestore.expreturn.creturn.exprun.cscope.expscope0.cscope1.csect-cmd.expsetshow.csetshow.expsetvar.csetvar.expshlib-call.expshmain.cshr1.cshr2.csigall.csigall.expsignals.csignals.expsmoke.csmoke.ccsmoke.expso-impl-ld.cso-impl-ld.expso-indr-cl.cso-indr-cl.expsolib.csolib.expsolib1.csolib2.csparc-aout.usparc-elf.uss.hstep-test.cstep-test.expstructs2.cstructs2.expterm.exptwice.ctwice.expvarargs.cvarargs.expvolatile.expwatchpoint.cwatchpoint.expwhatis-exp.expwhatis.cwhatis.exp
gdb.c++
Makefile.inanon-union.ccanon-union.expclasses.expcompiler.ccconfigureconfigure.incplusfuncs.cccplusfuncs.expdemangle.expderivation.ccderivation.expinherit.explocal.cclocal.expmember-ptr.ccmember-ptr.expmethod.ccmethod.expmisc.ccmisc.expoverload.ccoverload.expovldbreak.ccovldbreak.expref-types.ccref-types.expref-types2.ccref-types2.exptemplates.cctemplates.expuserdef.ccuserdef.expvirtfunc.ccvirtfunc.exp
gdb.chill
ChangeLogMakefile.inbuiltins.chbuiltins.expcallch.chcallch.expchexp.expchillvars.chchillvars.expconfigureconfigure.inenum.chenum.expextstruct-grt.chextstruct.chextstruct.expfunc1.chgch1041.chgch1041.expgch1272.chgch1272.expgch1280.chgch1280.expgch922.chgch922.expgch981.chgch981.expmisc.chmisc.exppowerset.chpowerset.exppr-4975-grt.chpr-4975.chpr-4975.exppr-5016.chpr-5016.exppr-5020.chpr-5020.exppr-5022.chpr-5022.exppr-5646-grt.chpr-5646.chpr-5646.exppr-5984.chpr-5984.exppr-6292.chpr-6292.exppr-6632-grt.chpr-6632.chpr-6632.exppr-8134.exppr-8136.chpr-8136.exppr-8405.chpr-8405.exppr-8742.chpr-8742.exppr-8894-grt.chpr-8894.chpr-8894.exppr-9095.chpr-9095.exppr-9946.chpr-9946.expresult.chresult.expstring.chstring.exptests1.chtests1.exptests2.chtests2.exptuples.chtuples.exp
gdb.disasm
gdb.fortran
gdb.hp
Makefile.inambiguous.ccambiguous.expattach.cattach.expattach2.cattach2.expaverage.cclasses-hp.expcompiler.ccompiler.ccctti-add.ccctti-add1.ccctti-add2.ccctti-add3.ccctti.expdbx.expexception.ccexception.expexecd-program.cfoll-exec.cfoll-exec.expfoll-fork.cfoll-fork.expfoll-vfork.cfoll-vfork.expgen-so-thresh.chwwatchbus.chwwatchbus.expinherit-hp.expmisc-hp.ccmore-steps.cmore-steps.expnamespace.ccnamespace.expoptimize.coptimize.exppxdb.cpxdb.expquicksort.cquicksort.expreg-test.expreg-test.srun-hp.csized-enum.csized-enum.expso-thresh.expso-thresh.linkoptsso-thresh.mkso-thresh.shstart-stop.cstart-stop.expsum.ctempl-hp.cctempl-hp.expthr-lib.cthr-lib.expthr-lib.hthr-liblib.cthr-stg.expvforked-program.cvirtfun-hp.ccvirtfun-hp.expwatch-cmd.expwatch-hp.cwatch-hp.expxdb.cxdb0.cxdb0.hxdb1.cxdb1.expxdb2.expxdb3.exp
gdb.stabs
gdb.threads
gdb.trace
Makefile.inactions.cactions.expbacktrace.expcirc.ccirc.expcollection.ccollection.expconfigureconfigure.indeltrace.expgdb_c_test.cinfotrace.explimits.climits.exppacketlen.exppassc-dyn.exppasscount.expreport.expsave-trace.exptfind.exptracecmd.expwhile-dyn.expwhile-stepping.exp
lib
tui
ChangeLogMakefile.intui.ctui.htuiCommand.ctuiCommand.htuiData.ctuiData.htuiDataWin.ctuiDataWin.htuiDisassem.ctuiDisassem.htuiGeneralWin.ctuiGeneralWin.htuiIO.ctuiIO.htuiLayout.ctuiLayout.htuiRegs.ctuiRegs.htuiSource.ctuiSource.htuiSourceWin.ctuiSourceWin.htuiStack.ctuiStack.htuiWin.ctuiWin.h
typeprint.ctypeprint.hultra3-nat.cultra3-xdep.cumax-xdep.cutils.cv850-tdep.cvalarith.cvalops.cvalprint.cvalprint.hvalue.hvalues.cvax-tdep.cvx-share
READMEdbgRpcLib.hptrace.hregPacket.hvxTypes.hvxWorks.hwait.hxdr_ld.cxdr_ld.hxdr_ptrace.cxdr_ptrace.hxdr_rdb.cxdr_rdb.h
w65-tdep.cw89k-rom.cwin32-nat.cxcoffread.cxcoffsolib.cxcoffsolib.hxmodem.cxmodem.hz8k-tdep.cmmalloc
COPYING.LIBChangeLogMakefile.inTODOattach.cconfigureconfigure.indetach.ckeys.cmcalloc.cmfree.cmm.cmmalloc.cmmalloc.hmmalloc.teximmap-sup.cmmcheck.cmmemalign.cmmprivate.hmmstats.cmmtrace.awkmmtrace.cmrealloc.cmvalloc.csbrk-sup.c
readline
sim
ChangeLogMakefile.inREADME-HACKING
arm
COPYINGChangeLogMakefile.inREADME.Cygnusacconfig.harmcopro.carmdefs.harmemu.carmemu.harmfpe.harminit.carmopts.harmos.carmos.harmrdi.carmsupp.carmvirt.cbag.cbag.hcommunicate.ccommunicate.hconfig.inconfigureconfigure.indbg_conf.hdbg_cp.hdbg_hif.hdbg_rdi.hgdbhost.cgdbhost.hkid.cmain.cparent.ctconfig.inthumbemu.cwrapper.c
common
ChangeLogMake-common.inMakefile.inacconfig.haclocal.m4callback.ccgen-cpu.hcgen-defs.hcgen-engine.hcgen-mem.hcgen-ops.hcgen-run.ccgen-scache.ccgen-scache.hcgen-sim.hcgen-trace.ccgen-trace.hcgen-types.hcgen-utils.cconfig.inconfigureconfigure.indv-core.cdv-glue.cdv-pal.cdv-sockser.cdv-sockser.hgdbinit.ingenmloop.shgennltvals.shgentmap.cgentvals.shhw-alloc.chw-alloc.hhw-base.chw-base.hhw-device.chw-device.hhw-events.chw-events.hhw-handles.chw-handles.hhw-instances.chw-instances.hhw-main.hhw-ports.chw-ports.hhw-properties.chw-properties.hhw-tree.chw-tree.hnltvals.defnrun.crun.1run.csim-abort.csim-alu.hsim-arange.csim-arange.hsim-assert.hsim-base.hsim-basics.hsim-bits.csim-bits.hsim-break.csim-break.hsim-config.csim-config.hsim-core.csim-core.hsim-cpu.csim-cpu.hsim-endian.csim-endian.hsim-engine.csim-engine.hsim-events.csim-events.hsim-fpu.csim-fpu.hsim-hload.csim-hrw.csim-hw.csim-hw.hsim-info.csim-inline.csim-inline.hsim-io.csim-io.hsim-load.csim-memopt.csim-memopt.hsim-model.csim-model.hsim-module.csim-module.hsim-n-bits.hsim-n-core.hsim-n-endian.hsim-options.csim-options.hsim-profile.csim-profile.hsim-reason.csim-reg.csim-resume.csim-run.csim-signal.csim-signal.hsim-stop.csim-trace.csim-trace.hsim-types.hsim-utils.csim-utils.hsim-watch.csim-watch.hsyscall.ctconfig.in
configureconfigure.ind10v
ChangeLogMakefile.inacconfig.hconfig.inconfigureconfigure.ind10v_sim.hendian.cgencode.cinterp.csimops.c
d30v
ChangeLogMakefile.inacconfig.halu.hconfig.inconfigureconfigure.incpu.ccpu.hd30v-insnsdc-shortengine.cic-d30vsim-calls.csim-main.htconfig.in
erc32
ChangeLogMakefile.inNEWSREADME.erc32README.gdbREADME.sisacconfig.hconfig.inconfigureconfigure.inend.cerc32.cexec.cfloat.cfunc.chelp.cinterf.csis.csis.hstartsim
fr30
ChangeLogMakefile.inREADMETODOarch.carch.hconfig.inconfigureconfigure.incpu.ccpu.hcpuall.hdecode.cdecode.hdevices.cfr30-sim.hfr30.cmloop.inmodel.csem-switch.csem.csim-if.csim-main.htconfig.intraps.c
h8300
h8500
i960
ChangeLogMakefile.inREADMETODOacconfig.harch.carch.hconfig.inconfigureconfigure.incpu.ccpu.hcpuall.hdecode.cdecode.hdevices.ci960-desc.ci960-desc.hi960-opc.hi960-sim.hi960.cmloop.inmodel.csem-switch.csem.csim-if.csim-main.htconfig.intraps.c
igen
ChangeLogMakefile.inacconfig.hconfig.inconfigureconfigure.infilter.cfilter.hfilter_host.cfilter_host.hgen-engine.cgen-engine.hgen-icache.cgen-icache.hgen-idecode.cgen-idecode.hgen-itable.cgen-itable.hgen-model.cgen-model.hgen-semantics.cgen-semantics.hgen-support.cgen-support.hgen.cgen.higen.cigen.hld-cache.cld-cache.hld-decode.cld-decode.hld-insn.cld-insn.hlf.clf.hmisc.cmisc.htable.ctable.h
m32r
ChangeLogMakefile.inREADMETODOacconfig.harch.carch.hconfig.inconfigureconfigure.incpu.ccpu.hcpuall.hdecode.cdecode.hdevices.cm32r-sim.hm32r.cmloop.inmodel.csem-switch.csem.csim-if.csim-main.htconfig.intraps.c
mips
ChangeLogMakefile.inacconfig.hconfig.inconfigureconfigure.indv-tx3904cpu.cdv-tx3904irc.cdv-tx3904sio.cdv-tx3904tmr.cinterp.cm16.dcm16.igenm16run.cmips.dcmips.igensim-main.csim-main.htconfig.intx.igenvr.igen
mn10200
mn10300
ChangeLogMakefile.inacconfig.hconfig.inconfigureconfigure.indv-mn103cpu.cdv-mn103int.cdv-mn103iop.cdv-mn103ser.cdv-mn103tim.cgencode.cinterp.cmn10300.dcmn10300.igenmn10300_sim.hop_utils.csim-main.csim-main.hsimops.ctconfig.in
ppc
.gdbinitBUGSCOPYINGCOPYING.LIBChangeLogChangeLog.00INSTALLMakefile.inREADMERUNacconfig.haclocal.m4basics.hbits.cbits.hcap.ccap.hconfig.inconfigureconfigure.incorefile-n.hcorefile.ccorefile.hcpu.ccpu.hdc-complexdc-simpledc-stupiddc-test.01dc-test.02debug.cdebug.hdevice.cdevice.hdevice_table.cdevice_table.hdgen.cdouble.cdp-bit.cemul_bugapi.cemul_bugapi.hemul_chirp.cemul_chirp.hemul_generic.cemul_generic.hemul_netbsd.cemul_netbsd.hemul_unix.cemul_unix.hevents.cevents.hfilter.cfilter.hfilter_filename.cfilter_filename.hgen-icache.cgen-icache.hgen-idecode.cgen-idecode.hgen-itable.cgen-itable.hgen-model.cgen-model.hgen-semantics.cgen-semantics.hgen-support.cgen-support.hhw_com.chw_core.chw_cpu.chw_cpu.hhw_disk.chw_eeprom.chw_glue.chw_htab.chw_ide.chw_init.chw_iobus.chw_memory.chw_nvram.chw_opic.chw_pal.chw_phb.chw_phb.hhw_register.chw_trace.chw_vm.cidecode_branch.hidecode_expression.hidecode_fields.higen.cigen.hinline.cinline.hinterrupts.cinterrupts.hld-cache.cld-cache.hld-decode.cld-decode.hld-insn.cld-insn.hlf.clf.hmain.cmisc.cmisc.hmon.cmon.hoptions.coptions.hos_emul.cos_emul.hpk_disklabel.cppc-cache-rulesppc-instructionsppc-spr-tableppc.mtpsim.cpsim.hpsim.texinforegisters.cregisters.hsim-endian-n.hsim-endian.csim-endian.hsim_callbacks.hsim_calls.cstd-config.htable.ctable.htree.ctree.hvm.cvm.hvm_n.hwords.h
sh
testsuite
ChangeLogMakefile.in
common
config
configureconfigure.ind10v-elf
ChangeLogMakefile.inconfigureconfigure.inexit47.shello.sloop.st-dbt.st-mac.st-macros.it-msbu.st-mulxu.st-mvtac.st-mvtc.st-rac.st-rachi.st-rdt.st-rep.st-rte.st-sadd.st-sp.st-sub.st-sub2w.st-subi.st-trap.s
d30v-elf
ChangeLogMakefile.inbr-bra.Sbr-bratnz.Sbr-bratzr.Sbr-bsr.Sbr-dbra.Sbr-djmp.Sbr-djsr.Sconfigureconfigure.indo-2wordops.Sdo-flags.Sdo-shifts.Sem-e0.Sem-e47.Sem-pchr.Sem-pstr.Sexit47.shello.sloop.sls-ld2h.Sls-ld2w.Sls-ld4bh.Sls-ld4bhu.Sls-ldb.Sls-ldbu.Sls-ldh.Sls-ldhh.Sls-ldhu.Sls-ldw.Sls-modaddr.Sls-moddec.Sls-modinc.Sls-st2h.Sls-st2w.Sls-st4hb.Sls-stb.Sls-sth.Sls-sthh.Sls-stw.Sos-dbt.Stick.strap.S
fr30-elf
lib
m32r-elf
mips64el-elf
sim
fr30
add.cgsadd.msadd2.cgsaddc.cgsaddn.cgsaddn2.cgsaddsp.cgsallinsn.expand.cgsandb.cgsandccr.cgsandh.cgsasr.cgsasr2.cgsbandh.cgsbandl.cgsbc.cgsbeorh.cgsbeorl.cgsbeq.cgsbge.cgsbgt.cgsbhi.cgsble.cgsbls.cgsblt.cgsbn.cgsbnc.cgsbne.cgsbno.cgsbnv.cgsborh.cgsborl.cgsbp.cgsbra.cgsbtsth.cgsbtstl.cgsbv.cgscall.cgscmp.cgscmp2.cgscopld.cgscopop.cgscopst.cgscopsv.cgsdiv.msdiv0s.cgsdiv0u.cgsdiv1.cgsdiv2.cgsdiv3.cgsdiv4s.cgsdmov.cgsdmovb.cgsdmovh.cgsenter.cgseor.cgseorb.cgseorh.cgsextsb.cgsextsh.cgsextub.cgsextuh.cgshello.msint.cgsinte.cgsjmp.cgsld.cgsldi20.cgsldi32.cgsldi8.cgsldm0.cgsldm1.cgsldres.cgsldub.cgslduh.cgsleave.cgslsl.cgslsl2.cgslsr.cgslsr2.cgsmisc.expmov.cgsmul.cgsmulh.cgsmulu.cgsmuluh.cgsnop.cgsor.cgsorb.cgsorccr.cgsorh.cgsret.cgsreti.cgsst.cgsstb.cgssth.cgsstilm.cgsstm0.cgsstm1.cgsstres.cgssub.cgssubc.cgssubn.cgstestutils.incxchb.cgs
m32r
add.cgsadd3.cgsaddi.cgsaddv.cgsaddv3.cgsaddx.cgsallinsn.expand.cgsand3.cgsbc24.cgsbc8.cgsbeq.cgsbeqz.cgsbgez.cgsbgtz.cgsbl24.cgsbl8.cgsblez.cgsbltz.cgsbnc24.cgsbnc8.cgsbne.cgsbnez.cgsbra24.cgsbra8.cgscmp.cgscmpi.cgscmpu.cgscmpui.cgsdiv.cgsdivu.cgshello.mshw-trap.msjl.cgsjmp.cgsld-d.cgsld-plus.cgsld.cgsld24.cgsldb-d.cgsldb.cgsldh-d.cgsldh.cgsldi16.cgsldi8.cgsldub-d.cgsldub.cgslduh-d.cgslduh.cgslock.cgsmachi.cgsmaclo.cgsmacwhi.cgsmacwlo.cgsmisc.expmul.cgsmulhi.cgsmullo.cgsmulwhi.cgsmulwlo.cgsmv.cgsmvfachi.cgsmvfaclo.cgsmvfacmi.cgsmvfc.cgsmvtachi.cgsmvtaclo.cgsmvtc.cgsneg.cgsnop.cgsnot.cgsor.cgsor3.cgsrac.cgsrach.cgsrem.cgsremu.cgsrte.cgsseth.cgssll.cgssll3.cgsslli.cgssra.cgssra3.cgssrai.cgssrl.cgssrl3.cgssrli.cgsst-d.cgsst-minus.cgsst-plus.cgsst.cgsstb-d.cgsstb.cgssth-d.cgssth.cgssub.cgssubv.cgssubx.cgstestutils.inctrap.cgsunlock.cgsuread16.msuread32.msuwrite16.msuwrite32.msxor.cgsxor3.cgs
v850
ChangeLogMakefile.inacconfig.hconfig.inconfigureconfigure.ingencode.cinterp.csim-main.hsimops.cv850-dcv850.igenv850_sim.h
w65
z8k
321
gdb/typeprint.c
Normal file
321
gdb/typeprint.c
Normal file
@ -0,0 +1,321 @@
|
||||
/* Language independent support for printing types for GDB, the GNU debugger.
|
||||
Copyright 1986, 88, 89, 91, 92, 93, 1998 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 "obstack.h"
|
||||
#include "bfd.h" /* Binary File Description */
|
||||
#include "symtab.h"
|
||||
#include "gdbtypes.h"
|
||||
#include "expression.h"
|
||||
#include "value.h"
|
||||
#include "gdbcore.h"
|
||||
#include "command.h"
|
||||
#include "gdbcmd.h"
|
||||
#include "target.h"
|
||||
#include "language.h"
|
||||
#include "demangle.h"
|
||||
|
||||
#include "gdb_string.h"
|
||||
#include <errno.h>
|
||||
|
||||
/* For real-type printing in whatis_exp() */
|
||||
extern int objectprint; /* Controls looking up an object's derived type
|
||||
using what we find in its vtables. */
|
||||
|
||||
static void
|
||||
ptype_command PARAMS ((char *, int));
|
||||
|
||||
static struct type *
|
||||
ptype_eval PARAMS ((struct expression *));
|
||||
|
||||
static void
|
||||
whatis_command PARAMS ((char *, int));
|
||||
|
||||
static void
|
||||
whatis_exp PARAMS ((char *, int));
|
||||
|
||||
/* Print a description of a type TYPE in the form of a declaration of a
|
||||
variable named VARSTRING. (VARSTRING is demangled if necessary.)
|
||||
Output goes to STREAM (via stdio).
|
||||
If SHOW is positive, we show the contents of the outermost level
|
||||
of structure even if there is a type name that could be used instead.
|
||||
If SHOW is negative, we never show the details of elements' types. */
|
||||
|
||||
void
|
||||
type_print (type, varstring, stream, show)
|
||||
struct type *type;
|
||||
char *varstring;
|
||||
GDB_FILE *stream;
|
||||
int show;
|
||||
{
|
||||
LA_PRINT_TYPE (type, varstring, stream, show, 0);
|
||||
}
|
||||
|
||||
/* Print type of EXP, or last thing in value history if EXP == NULL.
|
||||
show is passed to type_print. */
|
||||
|
||||
static void
|
||||
whatis_exp (exp, show)
|
||||
char *exp;
|
||||
int show;
|
||||
{
|
||||
struct expression *expr;
|
||||
register value_ptr val;
|
||||
register struct cleanup *old_chain = NULL;
|
||||
struct type * real_type = NULL;
|
||||
int full = 0;
|
||||
int top = -1;
|
||||
int using_enc = 0;
|
||||
|
||||
if (exp)
|
||||
{
|
||||
expr = parse_expression (exp);
|
||||
old_chain = make_cleanup ((make_cleanup_func) free_current_contents,
|
||||
&expr);
|
||||
val = evaluate_type (expr);
|
||||
}
|
||||
else
|
||||
val = access_value_history (0);
|
||||
|
||||
real_type = value_rtti_type (val, &full, &top, &using_enc);
|
||||
|
||||
printf_filtered ("type = ");
|
||||
|
||||
if (real_type && objectprint)
|
||||
printf_filtered ("/* real type = %s%s */\n",
|
||||
TYPE_NAME (real_type),
|
||||
full ? "" : " (incomplete object)");
|
||||
/* FIXME: maybe better to use type_print (real_type, "", gdb_stdout, -1); */
|
||||
|
||||
type_print (VALUE_TYPE (val), "", gdb_stdout, show);
|
||||
printf_filtered ("\n");
|
||||
|
||||
if (exp)
|
||||
do_cleanups (old_chain);
|
||||
}
|
||||
|
||||
/* ARGSUSED */
|
||||
static void
|
||||
whatis_command (exp, from_tty)
|
||||
char *exp;
|
||||
int from_tty;
|
||||
{
|
||||
/* Most of the time users do not want to see all the fields
|
||||
in a structure. If they do they can use the "ptype" command.
|
||||
Hence the "-1" below. */
|
||||
whatis_exp (exp, -1);
|
||||
}
|
||||
|
||||
/* Simple subroutine for ptype_command. */
|
||||
|
||||
static struct type *
|
||||
ptype_eval (exp)
|
||||
struct expression *exp;
|
||||
{
|
||||
if (exp->elts[0].opcode == OP_TYPE)
|
||||
{
|
||||
return (exp->elts[1].type);
|
||||
}
|
||||
else
|
||||
{
|
||||
return (NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/* TYPENAME is either the name of a type, or an expression. */
|
||||
|
||||
/* ARGSUSED */
|
||||
static void
|
||||
ptype_command (typename, from_tty)
|
||||
char *typename;
|
||||
int from_tty;
|
||||
{
|
||||
register struct type *type;
|
||||
struct expression *expr;
|
||||
register struct cleanup *old_chain;
|
||||
|
||||
if (typename == NULL)
|
||||
{
|
||||
/* Print type of last thing in value history. */
|
||||
whatis_exp (typename, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
expr = parse_expression (typename);
|
||||
old_chain = make_cleanup ((make_cleanup_func) free_current_contents,
|
||||
&expr);
|
||||
type = ptype_eval (expr);
|
||||
if (type != NULL)
|
||||
{
|
||||
/* User did "ptype <typename>" */
|
||||
printf_filtered ("type = ");
|
||||
type_print (type, "", gdb_stdout, 1);
|
||||
printf_filtered ("\n");
|
||||
do_cleanups (old_chain);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* User did "ptype <symbolname>" */
|
||||
do_cleanups (old_chain);
|
||||
whatis_exp (typename, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Print integral scalar data VAL, of type TYPE, onto stdio stream STREAM.
|
||||
Used to print data from type structures in a specified type. For example,
|
||||
array bounds may be characters or booleans in some languages, and this
|
||||
allows the ranges to be printed in their "natural" form rather than as
|
||||
decimal integer values.
|
||||
|
||||
FIXME: This is here simply because only the type printing routines
|
||||
currently use it, and it wasn't clear if it really belonged somewhere
|
||||
else (like printcmd.c). There are a lot of other gdb routines that do
|
||||
something similar, but they are generally concerned with printing values
|
||||
that come from the inferior in target byte order and target size. */
|
||||
|
||||
void
|
||||
print_type_scalar (type, val, stream)
|
||||
struct type *type;
|
||||
LONGEST val;
|
||||
GDB_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 (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:
|
||||
print_type_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:
|
||||
error ("internal error: unhandled type in print_type_scalar");
|
||||
break;
|
||||
|
||||
default:
|
||||
error ("Invalid type code in symbol table.");
|
||||
}
|
||||
gdb_flush (stream);
|
||||
}
|
||||
|
||||
#if MAINTENANCE_CMDS
|
||||
|
||||
/* Dump details of a type specified either directly or indirectly.
|
||||
Uses the same sort of type lookup mechanism as ptype_command()
|
||||
and whatis_command(). */
|
||||
|
||||
void
|
||||
maintenance_print_type (typename, from_tty)
|
||||
char *typename;
|
||||
int from_tty;
|
||||
{
|
||||
register value_ptr val;
|
||||
register struct type *type;
|
||||
register struct cleanup *old_chain;
|
||||
struct expression *expr;
|
||||
|
||||
if (typename != NULL)
|
||||
{
|
||||
expr = parse_expression (typename);
|
||||
old_chain = make_cleanup ((make_cleanup_func) free_current_contents, &expr);
|
||||
if (expr -> elts[0].opcode == OP_TYPE)
|
||||
{
|
||||
/* The user expression names a type directly, just use that type. */
|
||||
type = expr -> elts[1].type;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* The user expression may name a type indirectly by naming an
|
||||
object of that type. Find that indirectly named type. */
|
||||
val = evaluate_type (expr);
|
||||
type = VALUE_TYPE (val);
|
||||
}
|
||||
if (type != NULL)
|
||||
{
|
||||
recursive_dump_type (type, 0);
|
||||
}
|
||||
do_cleanups (old_chain);
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* MAINTENANCE_CMDS */
|
||||
|
||||
|
||||
void
|
||||
_initialize_typeprint ()
|
||||
{
|
||||
|
||||
add_com ("ptype", class_vars, ptype_command,
|
||||
"Print definition of type TYPE.\n\
|
||||
Argument may be a type name defined by typedef, or \"struct STRUCT-TAG\"\n\
|
||||
or \"class CLASS-NAME\" or \"union UNION-TAG\" or \"enum ENUM-TAG\".\n\
|
||||
The selected stack frame's lexical context is used to look up the name.");
|
||||
|
||||
add_com ("whatis", class_vars, whatis_command,
|
||||
"Print data type of expression EXP.");
|
||||
|
||||
}
|
Reference in New Issue
Block a user