diff options
author | nobody <> | 2004-05-04 00:00:08 +0000 |
---|---|---|
committer | nobody <> | 2004-05-04 00:00:08 +0000 |
commit | c6c80b39d6055d0fd8fdacc2c9ddd6cf0f2d6540 (patch) | |
tree | d4a3c551da07bf3b9bef5b84832c01576eafa2f1 /libiberty/cp-demangle.c | |
parent | 9a9f922d877cd9087a61e23a651eb2cfc6490305 (diff) | |
download | binutils-csl-arm-2004-q1a.zip binutils-csl-arm-2004-q1a.tar.gz binutils-csl-arm-2004-q1a.tar.bz2 |
This commit was manufactured by cvs2svn to create tag 'csl-arm-2004-q1a'.csl-arm-2004-q1a
Sprout from binutils-2_15-branch 2004-03-22 04:06:07 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-'
Cherrypick from binutils-2_15-branch 2004-04-08 14:52:45 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-':
gas/testsuite/gas/dlx/lohi.d
gas/testsuite/gas/dlx/lohi.s
gas/testsuite/gas/sh/renesas-1.d
gas/testsuite/gas/sh/renesas-1.s
ld/emultempl/irix.em
Cherrypick from binutils-2_15-branch 2004-02-20 15:31:11 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-':
ld/testsuite/ld-scripts/align.s
ld/testsuite/ld-scripts/align.t
Cherrypick from binutils-2_15-branch 2004-02-23 10:10:03 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-':
ld/testsuite/ld-scripts/provide-2.t
ld/testsuite/ld-scripts/provide-3.t
Cherrypick from binutils-2_15-branch 2004-03-18 00:49:24 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-':
gas/testsuite/gas/cfi/cfi-sh-1.d
gas/testsuite/gas/cfi/cfi-sh-1.s
Cherrypick from binutils-2_15-branch 2004-03-21 23:47:55 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-':
gas/testsuite/gas/cris/mulbug-err-1.s
gas/testsuite/gas/cris/rd-mulbug-1.d
Cherrypick from binutils-2_15-branch 2004-02-19 14:08:32 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-':
ld/testsuite/ld-scripts/data.exp
Cherrypick from master 2004-05-04 00:00:07 UTC Alan Modra <amodra@gmail.com> 'daily update':
ChangeLog
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/aclocal.m4
bfd/aix386-core.c
bfd/aout-adobe.c
bfd/aout-target.h
bfd/aout-tic30.c
bfd/archive.c
bfd/archures.c
bfd/bfd-in.h
bfd/bfd-in2.h
bfd/bfd.c
bfd/bfdio.c
bfd/binary.c
bfd/bout.c
bfd/cache.c
bfd/coff-alpha.c
bfd/coff-i386.c
bfd/coff-mips.c
bfd/coff-rs6000.c
bfd/coff-tic54x.c
bfd/coff64-rs6000.c
bfd/coffcode.h
bfd/config.bfd
bfd/config.in
bfd/configure
bfd/configure.in
bfd/cpu-cr16c.c
bfd/cpu-frv.c
bfd/cpu-m68k.c
bfd/cpu-sh.c
bfd/doc/ChangeLog
bfd/doc/Makefile.in
bfd/doc/bfdint.texi
bfd/dwarf2.c
bfd/ecoff.c
bfd/ecofflink.c
bfd/ecoffswap.h
bfd/elf-bfd.h
bfd/elf-eh-frame.c
bfd/elf-hppa.h
bfd/elf-m10200.c
bfd/elf-m10300.c
bfd/elf.c
bfd/elf32-arm.h
bfd/elf32-avr.c
bfd/elf32-cr16c.c
bfd/elf32-cris.c
bfd/elf32-d10v.c
bfd/elf32-dlx.c
bfd/elf32-fr30.c
bfd/elf32-frv.c
bfd/elf32-gen.c
bfd/elf32-h8300.c
bfd/elf32-hppa.c
bfd/elf32-i370.c
bfd/elf32-i386.c
bfd/elf32-i860.c
bfd/elf32-ip2k.c
bfd/elf32-iq2000.c
bfd/elf32-m32r.c
bfd/elf32-m68hc1x.c
bfd/elf32-m68hc1x.h
bfd/elf32-m68k.c
bfd/elf32-mcore.c
bfd/elf32-mips.c
bfd/elf32-msp430.c
bfd/elf32-openrisc.c
bfd/elf32-ppc.c
bfd/elf32-s390.c
bfd/elf32-sh.c
bfd/elf32-sh64.c
bfd/elf32-sparc.c
bfd/elf32-v850.c
bfd/elf32-vax.c
bfd/elf32-xstormy16.c
bfd/elf32-xtensa.c
bfd/elf64-alpha.c
bfd/elf64-gen.c
bfd/elf64-hppa.c
bfd/elf64-mmix.c
bfd/elf64-ppc.c
bfd/elf64-s390.c
bfd/elf64-sh64.c
bfd/elf64-sparc.c
bfd/elf64-x86-64.c
bfd/elfarm-nabi.c
bfd/elfcode.h
bfd/elflink.c
bfd/elfxx-ia64.c
bfd/elfxx-mips.c
bfd/elfxx-mips.h
bfd/elfxx-target.h
bfd/hppabsd-core.c
bfd/hpux-core.c
bfd/i386msdos.c
bfd/i386os9k.c
bfd/ieee.c
bfd/ihex.c
bfd/irix-core.c
bfd/libaout.h
bfd/libbfd-in.h
bfd/libbfd.c
bfd/libbfd.h
bfd/libecoff.h
bfd/linker.c
bfd/mach-o.c
bfd/mmo.c
bfd/netbsd-core.c
bfd/nlm-target.h
bfd/oasys.c
bfd/opncls.c
bfd/osf-core.c
bfd/pdp11.c
bfd/pe-i386.c
bfd/pe-mips.c
bfd/peXXigen.c
bfd/pef.c
bfd/pei-i386.c
bfd/po/SRC-POTFILES.in
bfd/po/bfd.pot
bfd/ppcboot.c
bfd/ptrace-core.c
bfd/reloc.c
bfd/sco5-core.c
bfd/section.c
bfd/simple.c
bfd/som.c
bfd/som.h
bfd/srec.c
bfd/stabs.c
bfd/sunos.c
bfd/targets.c
bfd/tekhex.c
bfd/trad-core.c
bfd/versados.c
bfd/version.h
bfd/vms.c
bfd/xsym.c
binutils/ChangeLog
binutils/MAINTAINERS
binutils/Makefile.am
binutils/Makefile.in
binutils/aclocal.m4
binutils/ar.c
binutils/arsup.c
binutils/config.in
binutils/configure
binutils/deflex.l
binutils/defparse.y
binutils/dlltool.c
binutils/dlltool.h
binutils/objcopy.c
binutils/objdump.c
binutils/po/binutils.pot
binutils/ranlib.sh
binutils/readelf.c
binutils/strings.c
binutils/testsuite/ChangeLog
binutils/testsuite/binutils-all/ar.exp
binutils/testsuite/binutils-all/objcopy.exp
binutils/testsuite/binutils-all/readelf.ss-mips
config.guess
config.sub
config/ChangeLog
config/accross.m4
config/acx.m4
configure
configure.in
cpu/ChangeLog
cpu/frv.cpu
cpu/frv.opc
cpu/m32r.cpu
cpu/m32r.opc
cpu/sh.cpu
cpu/sh.opc
cpu/sh64-compact.cpu
cpu/sh64-media.cpu
gas/ChangeLog
gas/Makefile.am
gas/Makefile.in
gas/NEWS
gas/aclocal.m4
gas/config.in
gas/config/m68k-parse.h
gas/config/m68k-parse.y
gas/config/obj-aout.c
gas/config/obj-elf.c
gas/config/obj-som.c
gas/config/tc-arc.c
gas/config/tc-arm.c
gas/config/tc-arm.h
gas/config/tc-cris.c
gas/config/tc-dlx.c
gas/config/tc-frv.c
gas/config/tc-generic.c
gas/config/tc-hppa.c
gas/config/tc-i386.c
gas/config/tc-i386.h
gas/config/tc-ia64.c
gas/config/tc-ia64.h
gas/config/tc-iq2000.c
gas/config/tc-m32r.c
gas/config/tc-m68k.c
gas/config/tc-mips.c
gas/config/tc-mips.h
gas/config/tc-ppc.c
gas/config/tc-s390.c
gas/config/tc-sh.c
gas/config/tc-sh.h
gas/config/tc-xtensa.c
gas/configure
gas/configure.in
gas/doc/Makefile.in
gas/doc/as.texinfo
gas/doc/c-arm.texi
gas/doc/c-cris.texi
gas/doc/c-hppa.texi
gas/doc/c-m32r.texi
gas/doc/c-mips.texi
gas/doc/c-sh.texi
gas/dw2gencfi.c
gas/dwarf2dbg.c
gas/ecoff.c
gas/expr.c
gas/po/gas.pot
gas/read.c
gas/stabs.c
gas/testsuite/ChangeLog
gas/testsuite/gas/alpha/elf-reloc-8.d
gas/testsuite/gas/arm/arm.exp
gas/testsuite/gas/arm/maverick.c
gas/testsuite/gas/arm/maverick.d
gas/testsuite/gas/arm/maverick.s
gas/testsuite/gas/arm/reg-alias.d
gas/testsuite/gas/arm/reg-alias.s
gas/testsuite/gas/cfi/cfi-alpha-1.d
gas/testsuite/gas/cfi/cfi-alpha-2.d
gas/testsuite/gas/cfi/cfi-alpha-3.d
gas/testsuite/gas/cfi/cfi-common-1.d
gas/testsuite/gas/cfi/cfi-common-2.d
gas/testsuite/gas/cfi/cfi-common-3.d
gas/testsuite/gas/cfi/cfi-i386.d
gas/testsuite/gas/cfi/cfi-m68k.d
gas/testsuite/gas/cfi/cfi-s390x-1.d
gas/testsuite/gas/cfi/cfi-sparc64-1.d
gas/testsuite/gas/cfi/cfi-x86_64.d
gas/testsuite/gas/cfi/cfi.exp
gas/testsuite/gas/cris/regreg.d
gas/testsuite/gas/dlx/alltests.exp
gas/testsuite/gas/dlx/itype.d
gas/testsuite/gas/dlx/lhi.d
gas/testsuite/gas/elf/elf.exp
gas/testsuite/gas/elf/group0.s
gas/testsuite/gas/elf/group0a.d
gas/testsuite/gas/elf/group0b.d
gas/testsuite/gas/elf/group1.s
gas/testsuite/gas/elf/group1a.d
gas/testsuite/gas/elf/group1b.d
gas/testsuite/gas/elf/section2.e-mips
gas/testsuite/gas/elf/symver.d
gas/testsuite/gas/frv/allinsn.d
gas/testsuite/gas/frv/allinsn.exp
gas/testsuite/gas/frv/allinsn.s
gas/testsuite/gas/frv/fr405-insn.d
gas/testsuite/gas/frv/fr405-insn.l
gas/testsuite/gas/frv/fr405-insn.s
gas/testsuite/gas/frv/fr450-insn.d
gas/testsuite/gas/frv/fr450-insn.l
gas/testsuite/gas/frv/fr450-insn.s
gas/testsuite/gas/frv/fr450-media-issue.l
gas/testsuite/gas/frv/fr450-media-issue.s
gas/testsuite/gas/frv/fr450-spr.d
gas/testsuite/gas/frv/fr450-spr.s
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/katmai.d
gas/testsuite/gas/i386/padlock.d
gas/testsuite/gas/i386/padlock.s
gas/testsuite/gas/i386/secrel.d
gas/testsuite/gas/i386/secrel.s
gas/testsuite/gas/i860/dir-intel03-err.l
gas/testsuite/gas/m32r/m32r.exp
gas/testsuite/gas/m32r/m32r2.exp
gas/testsuite/gas/m32r/parallel-2.d
gas/testsuite/gas/m32r/parallel-2.s
gas/testsuite/gas/m32r/seth.d
gas/testsuite/gas/m32r/seth.s
gas/testsuite/gas/m68hc11/m68hc11.exp
gas/testsuite/gas/m68k/all.exp
gas/testsuite/gas/m68k/mcf-emac.d
gas/testsuite/gas/m68k/mcf-emac.s
gas/testsuite/gas/m68k/mcf-mac.d
gas/testsuite/gas/m68k/mcf-mac.s
gas/testsuite/gas/macros/macros.exp
gas/testsuite/gas/mips/lb-svr4pic-ilocks.d
gas/testsuite/gas/mips/lb-xgot-ilocks.d
gas/testsuite/gas/mips/ld-pic.s
gas/testsuite/gas/mips/lifloat.s
gas/testsuite/gas/mips/mips-abi32-pic.d
gas/testsuite/gas/mips/mips-abi32-pic2.d
gas/testsuite/gas/mips/mips-gp32-fp32-pic.d
gas/testsuite/gas/mips/mips-gp32-fp64-pic.d
gas/testsuite/gas/mips/mips-gp64-fp32-pic.d
gas/testsuite/gas/mips/mips-gp64-fp64-pic.d
gas/testsuite/gas/mips/mips.exp
gas/testsuite/gas/mips/mips16-e.d
gas/testsuite/gas/mips/mips16-f.d
gas/testsuite/gas/mips/mipsel16-e.d
gas/testsuite/gas/mips/mipsel16-f.d
gas/testsuite/gas/mips/relax-swap1-mips2.d
gas/testsuite/gas/mips/vr4122.d
gas/testsuite/gas/mips/vr4122.s
gas/testsuite/gas/ppc/altivec.d
gas/testsuite/gas/ppc/altivec_xcoff.d
gas/testsuite/gas/ppc/altivec_xcoff64.d
gas/testsuite/gas/ppc/astest.d
gas/testsuite/gas/ppc/astest2.d
gas/testsuite/gas/ppc/astest2_64.d
gas/testsuite/gas/ppc/astest64.d
gas/testsuite/gas/ppc/booke.d
gas/testsuite/gas/ppc/booke_xcoff.d
gas/testsuite/gas/ppc/booke_xcoff64.d
gas/testsuite/gas/ppc/e500.d
gas/testsuite/gas/ppc/power4.d
gas/testsuite/gas/ppc/power4.s
gas/testsuite/gas/ppc/test1elf32.d
gas/testsuite/gas/ppc/test1elf64.d
gas/testsuite/gas/ppc/test1xcoff32.d
gas/testsuite/gas/sh/basic.exp
gas/testsuite/gas/sh/pcrel2.d
gas/testsuite/gas/sh/sh64/err-dsp.s
gas/testsuite/gas/sh/tlsd.d
gas/testsuite/gas/sh/tlsnopic.d
gas/testsuite/gas/sh/tlspic.d
gas/testsuite/gas/symver/symver0.d
gas/testsuite/gas/symver/symver1.d
gas/testsuite/lib/gas-defs.exp
gprof/ChangeLog
gprof/Makefile.am
gprof/Makefile.in
gprof/gconfig.in
gprof/po/gprof.pot
gprof/po/sv.po
include/ChangeLog
include/bfdlink.h
include/coff/ChangeLog
include/coff/ecoff.h
include/coff/internal.h
include/coff/mips.h
include/dyn-string.h
include/elf/ChangeLog
include/elf/arm.h
include/elf/common.h
include/elf/cr16c.h
include/elf/frv.h
include/elf/mips.h
include/elf/sh.h
include/hashtab.h
include/opcode/ChangeLog
include/opcode/i386.h
include/opcode/m68k.h
include/opcode/ppc.h
include/splay-tree.h
install-sh
ld/ChangeLog
ld/ChangeLog-0203
ld/Makefile.am
ld/Makefile.in
ld/NEWS
ld/config.in
ld/configure.host
ld/configure.tgt
ld/emulparams/elf32bmip.sh
ld/emulparams/elf32bmipn32.sh
ld/emulparams/elf32bsmip.sh
ld/emulparams/elf32cr16c.sh
ld/emulparams/elf32frvfd.sh
ld/emulparams/elf64bmip.sh
ld/emulparams/mipsidt.sh
ld/emulparams/mipsidtl.sh
ld/emultempl/armelf.em
ld/emultempl/armelf_oabi.em
ld/emultempl/elf32.em
ld/emultempl/hppaelf.em
ld/emultempl/mipsecoff.em
ld/emultempl/ppc64elf.em
ld/emultempl/sh64elf.em
ld/ld.texinfo
ld/ldexp.c
ld/ldfile.c
ld/ldgram.y
ld/ldlang.c
ld/ldlang.h
ld/ldlex.l
ld/ldmain.c
ld/ldmain.h
ld/lexsup.c
ld/pe-dll.c
ld/po/ld.pot
ld/po/sv.po
ld/scripttempl/elf.sc
ld/scripttempl/elf32cr16c.sc
ld/scripttempl/mips.sc
ld/scripttempl/pe.sc
ld/testsuite/ChangeLog
ld/testsuite/ld-cdtest/cdtest.exp
ld/testsuite/ld-elf/merge.d
ld/testsuite/ld-elfvers/vers.exp
ld/testsuite/ld-elfvsb/elfvsb.exp
ld/testsuite/ld-elfweak/elfweak.exp
ld/testsuite/ld-elfweak/size.dat
ld/testsuite/ld-elfweak/size_bar.c
ld/testsuite/ld-elfweak/size_foo.c
ld/testsuite/ld-elfweak/size_main.c
ld/testsuite/ld-frv/fdpic-pie-1.d
ld/testsuite/ld-frv/fdpic-pie-2.d
ld/testsuite/ld-frv/fdpic-pie-6.d
ld/testsuite/ld-frv/fdpic-pie-7.d
ld/testsuite/ld-frv/fdpic-pie-8.d
ld/testsuite/ld-frv/fdpic-shared-1.d
ld/testsuite/ld-frv/fdpic-shared-2.d
ld/testsuite/ld-frv/fdpic-shared-3.d
ld/testsuite/ld-frv/fdpic-shared-4.d
ld/testsuite/ld-frv/fdpic-shared-5.d
ld/testsuite/ld-frv/fdpic-shared-6.d
ld/testsuite/ld-frv/fdpic-shared-7.d
ld/testsuite/ld-frv/fdpic-shared-8.d
ld/testsuite/ld-frv/fdpic-shared-local-2.d
ld/testsuite/ld-frv/fdpic-shared-local-8.d
ld/testsuite/ld-frv/fdpic-static-1.d
ld/testsuite/ld-frv/fdpic-static-2.d
ld/testsuite/ld-frv/fdpic-static-6.d
ld/testsuite/ld-frv/fdpic-static-7.d
ld/testsuite/ld-frv/fdpic-static-8.d
ld/testsuite/ld-frv/fdpic.exp
ld/testsuite/ld-frv/fr450-link.d
ld/testsuite/ld-frv/fr450-linka.s
ld/testsuite/ld-frv/fr450-linkb.s
ld/testsuite/ld-frv/fr450-linkc.s
ld/testsuite/ld-frv/frv-elf.exp
ld/testsuite/ld-i386/tlspic.dd
ld/testsuite/ld-mips-elf/mips-elf.exp
ld/testsuite/ld-powerpc/tls.d
ld/testsuite/ld-powerpc/tls32.d
ld/testsuite/ld-powerpc/tlsexe.d
ld/testsuite/ld-powerpc/tlsexe.r
ld/testsuite/ld-powerpc/tlsexe32.d
ld/testsuite/ld-powerpc/tlsexetoc.d
ld/testsuite/ld-powerpc/tlsexetoc.r
ld/testsuite/ld-powerpc/tlsso.d
ld/testsuite/ld-powerpc/tlsso32.d
ld/testsuite/ld-powerpc/tlstoc.d
ld/testsuite/ld-powerpc/tlstocso.d
ld/testsuite/ld-scripts/align.exp
ld/testsuite/ld-scripts/assert.s
ld/testsuite/ld-scripts/data.d
ld/testsuite/ld-scripts/data.s
ld/testsuite/ld-scripts/data.t
ld/testsuite/ld-scripts/defined2.d
ld/testsuite/ld-scripts/defined3.d
ld/testsuite/ld-scripts/provide-1.d
ld/testsuite/ld-scripts/provide-1.s
ld/testsuite/ld-scripts/provide-1.t
ld/testsuite/ld-scripts/provide-2.d
ld/testsuite/ld-scripts/provide-2.s
ld/testsuite/ld-scripts/provide-3.d
ld/testsuite/ld-scripts/provide-3.s
ld/testsuite/ld-scripts/provide.exp
ld/testsuite/ld-scripts/size-1.d
ld/testsuite/ld-scripts/size-1.s
ld/testsuite/ld-scripts/size-1.t
ld/testsuite/ld-scripts/size-2.d
ld/testsuite/ld-scripts/size-2.s
ld/testsuite/ld-scripts/size-2.t
ld/testsuite/ld-scripts/size.exp
ld/testsuite/ld-sh/tlsbin-1.d
ld/testsuite/ld-sh/tlspic-1.d
ld/testsuite/ld-shared/shared.exp
libiberty/ChangeLog
libiberty/Makefile.in
libiberty/config.in
libiberty/configure
libiberty/configure.ac
libiberty/cp-demangle.c
libiberty/cp-demangle.h
libiberty/dyn-string.c
libiberty/hashtab.c
libiberty/mkstemps.c
libiberty/pex-common.h
libiberty/pex-unix.c
libiberty/strerror.c
libiberty/testsuite/demangle-expected
libiberty/testsuite/test-demangle.c
mkinstalldirs
opcodes/ChangeLog
opcodes/aclocal.m4
opcodes/config.in
opcodes/configure
opcodes/frv-asm.c
opcodes/frv-desc.c
opcodes/frv-desc.h
opcodes/frv-dis.c
opcodes/frv-ibld.c
opcodes/frv-opc.c
opcodes/frv-opc.h
opcodes/h8300-dis.c
opcodes/i386-dis.c
opcodes/m32r-asm.c
opcodes/m68k-dis.c
opcodes/m68k-opc.c
opcodes/po/POTFILES.in
opcodes/po/de.po
opcodes/po/opcodes.pot
opcodes/ppc-dis.c
opcodes/ppc-opc.c
opcodes/sh-dis.c
opcodes/sh-opc.h
opcodes/sparc-dis.c
opcodes/sparc-opc.c
src-release
texinfo/texinfo.tex
Delete:
bfd/elflink.h
bfd/mpw-config.in
bfd/mpw-make.sed
binutils/mac-binutils.r
binutils/mpw-config.in
binutils/mpw-make.sed
gas/mac-as.r
gas/mpw-config.in
gas/mpw-make.sed
gas/testsuite/gas/mips/elempic.d
gas/testsuite/gas/mips/empic.d
gas/testsuite/gas/mips/empic.l
gas/testsuite/gas/mips/empic.s
gas/testsuite/gas/mips/empic2.d
gas/testsuite/gas/mips/empic2.s
gas/testsuite/gas/mips/empic3_e.d
gas/testsuite/gas/mips/empic3_e.s
gas/testsuite/gas/mips/empic3_g1.d
gas/testsuite/gas/mips/empic3_g1.s
gas/testsuite/gas/mips/empic3_g2.d
gas/testsuite/gas/mips/empic3_g2.s
gas/testsuite/gas/mips/jal-empic-elf-2.d
gas/testsuite/gas/mips/jal-empic-elf-2.s
gas/testsuite/gas/mips/jal-empic-elf-3.d
gas/testsuite/gas/mips/jal-empic-elf-3.s
gas/testsuite/gas/mips/jal-empic-elf.d
gas/testsuite/gas/mips/jal-empic.d
gas/testsuite/gas/mips/la-empic.d
gas/testsuite/gas/mips/la-empic.s
gas/testsuite/gas/mips/lb-empic.d
gas/testsuite/gas/mips/ld-empic.d
gas/testsuite/gas/mips/lif-empic.d
gas/testsuite/gas/mips/telempic.d
gas/testsuite/gas/mips/tempic.d
gas/testsuite/gas/mips/ulh-empic.d
include/mpw/ChangeLog
include/mpw/README
include/mpw/dir.h
include/mpw/dirent.h
include/mpw/fcntl.h
include/mpw/grp.h
include/mpw/mpw.h
include/mpw/pwd.h
include/mpw/spin.h
include/mpw/stat.h
include/mpw/sys/file.h
include/mpw/sys/param.h
include/mpw/sys/resource.h
include/mpw/sys/stat.h
include/mpw/sys/time.h
include/mpw/sys/types.h
include/mpw/utime.h
include/mpw/varargs.h
ld/emultempl/mipself.em
ld/mac-ld.r
ld/mpw-config.in
ld/mpw-make.sed
ld/testsuite/ld-empic/empic.exp
ld/testsuite/ld-empic/relax.t
ld/testsuite/ld-empic/relax1.c
ld/testsuite/ld-empic/relax2.c
ld/testsuite/ld-empic/relax3.c
ld/testsuite/ld-empic/relax4.c
ld/testsuite/ld-empic/run.c
ld/testsuite/ld-empic/runtest1.c
ld/testsuite/ld-empic/runtest2.c
ld/testsuite/ld-empic/runtesti.s
ld/testsuite/ld-frv/fdpic-pie-8-fail.d
ld/testsuite/ld-mips-elf/empic1-ln.d
ld/testsuite/ld-mips-elf/empic1-lp.d
ld/testsuite/ld-mips-elf/empic1-mn.d
ld/testsuite/ld-mips-elf/empic1-mp.d
ld/testsuite/ld-mips-elf/empic1-ref.s
ld/testsuite/ld-mips-elf/empic1-sn.d
ld/testsuite/ld-mips-elf/empic1-sp.d
ld/testsuite/ld-mips-elf/empic1-space.s
ld/testsuite/ld-mips-elf/empic1-tgt.s
ld/testsuite/ld-mips-elf/empic2-fwd-0.d
ld/testsuite/ld-mips-elf/empic2-fwd-1.d
ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s
ld/testsuite/ld-mips-elf/empic2-ref.s
ld/testsuite/ld-mips-elf/empic2-rev-0.d
ld/testsuite/ld-mips-elf/empic2-rev-1.d
ld/testsuite/ld-mips-elf/empic2-rev-tgt.s
ld/testsuite/ld-mips-elf/empic2-space.s
ld/testsuite/ld-mips-elf/emrelocs-eb.d
ld/testsuite/ld-mips-elf/emrelocs-el.d
ld/testsuite/ld-mips-elf/emrelocs.ld
ld/testsuite/ld-mips-elf/emrelocs1.s
ld/testsuite/ld-mips-elf/emrelocs2.s
ld/testsuite/ld-mips-elf/reloc-3-r.d
ld/testsuite/ld-mips-elf/reloc-3-srec.d
ld/testsuite/ld-mips-elf/reloc-3.ld
ld/testsuite/ld-mips-elf/reloc-3a.s
ld/testsuite/ld-mips-elf/reloc-3b.s
libiberty/acconfig.h
mpw-README
mpw-build.in
mpw-config.in
mpw-configure
mpw-install
opcodes/mpw-config.in
opcodes/mpw-make.sed
Diffstat (limited to 'libiberty/cp-demangle.c')
-rw-r--r-- | libiberty/cp-demangle.c | 355 |
1 files changed, 240 insertions, 115 deletions
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 19f191e..fe4b367 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -1748,31 +1748,33 @@ CP_STATIC_IF_GLIBCPP_V3 const struct demangle_builtin_type_info cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT] = { - /* a */ { NL ("signed char"), NL ("signed char"), D_PRINT_INT }, + /* a */ { NL ("signed char"), NL ("signed char"), D_PRINT_DEFAULT }, /* b */ { NL ("bool"), NL ("boolean"), D_PRINT_BOOL }, - /* c */ { NL ("char"), NL ("byte"), D_PRINT_INT }, - /* d */ { NL ("double"), NL ("double"), D_PRINT_DEFAULT }, - /* e */ { NL ("long double"), NL ("long double"), D_PRINT_DEFAULT }, - /* f */ { NL ("float"), NL ("float"), D_PRINT_DEFAULT }, - /* g */ { NL ("__float128"), NL ("__float128"), D_PRINT_DEFAULT }, - /* h */ { NL ("unsigned char"), NL ("unsigned char"), D_PRINT_INT }, + /* c */ { NL ("char"), NL ("byte"), D_PRINT_DEFAULT }, + /* d */ { NL ("double"), NL ("double"), D_PRINT_FLOAT }, + /* e */ { NL ("long double"), NL ("long double"), D_PRINT_FLOAT }, + /* f */ { NL ("float"), NL ("float"), D_PRINT_FLOAT }, + /* g */ { NL ("__float128"), NL ("__float128"), D_PRINT_FLOAT }, + /* h */ { NL ("unsigned char"), NL ("unsigned char"), D_PRINT_DEFAULT }, /* i */ { NL ("int"), NL ("int"), D_PRINT_INT }, - /* j */ { NL ("unsigned int"), NL ("unsigned"), D_PRINT_INT }, + /* j */ { NL ("unsigned int"), NL ("unsigned"), D_PRINT_UNSIGNED }, /* k */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT }, /* l */ { NL ("long"), NL ("long"), D_PRINT_LONG }, - /* m */ { NL ("unsigned long"), NL ("unsigned long"), D_PRINT_LONG }, + /* m */ { NL ("unsigned long"), NL ("unsigned long"), D_PRINT_UNSIGNED_LONG }, /* n */ { NL ("__int128"), NL ("__int128"), D_PRINT_DEFAULT }, - /* o */ { NL ("unsigned __int128"), NL ("unsigned __int128"), D_PRINT_DEFAULT }, + /* o */ { NL ("unsigned __int128"), NL ("unsigned __int128"), + D_PRINT_DEFAULT }, /* p */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT }, /* q */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT }, /* r */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT }, - /* s */ { NL ("short"), NL ("short"), D_PRINT_INT }, - /* t */ { NL ("unsigned short"), NL ("unsigned short"), D_PRINT_INT }, + /* s */ { NL ("short"), NL ("short"), D_PRINT_DEFAULT }, + /* t */ { NL ("unsigned short"), NL ("unsigned short"), D_PRINT_DEFAULT }, /* u */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT }, /* v */ { NL ("void"), NL ("void"), D_PRINT_VOID }, - /* w */ { NL ("wchar_t"), NL ("char"), D_PRINT_INT }, - /* x */ { NL ("long long"), NL ("long"), D_PRINT_DEFAULT }, - /* y */ { NL ("unsigned long long"), NL ("unsigned long long"), D_PRINT_DEFAULT }, + /* w */ { NL ("wchar_t"), NL ("char"), D_PRINT_DEFAULT }, + /* x */ { NL ("long long"), NL ("long"), D_PRINT_LONG_LONG }, + /* y */ { NL ("unsigned long long"), NL ("unsigned long long"), + D_PRINT_UNSIGNED_LONG_LONG }, /* z */ { NL ("..."), NL ("..."), D_PRINT_DEFAULT }, }; @@ -3050,6 +3052,30 @@ d_print_comp (dpi, dc) case DEMANGLE_COMPONENT_RESTRICT: case DEMANGLE_COMPONENT_VOLATILE: case DEMANGLE_COMPONENT_CONST: + { + struct d_print_mod *pdpm; + + /* When printing arrays, it's possible to have cases where the + same CV-qualifier gets pushed on the stack multiple times. + We only need to print it once. */ + + for (pdpm = dpi->modifiers; pdpm != NULL; pdpm = pdpm->next) + { + if (! pdpm->printed) + { + if (pdpm->mod->type != DEMANGLE_COMPONENT_RESTRICT + && pdpm->mod->type != DEMANGLE_COMPONENT_VOLATILE + && pdpm->mod->type != DEMANGLE_COMPONENT_CONST) + break; + if (pdpm->mod->type == dc->type) + { + d_print_comp (dpi, d_left (dc)); + return; + } + } + } + } + /* Fall through. */ case DEMANGLE_COMPONENT_RESTRICT_THIS: case DEMANGLE_COMPONENT_VOLATILE_THIS: case DEMANGLE_COMPONENT_CONST_THIS: @@ -3125,24 +3151,65 @@ d_print_comp (dpi, dc) case DEMANGLE_COMPONENT_ARRAY_TYPE: { - struct d_print_mod dpm; + struct d_print_mod *hold_modifiers; + struct d_print_mod adpm[4]; + unsigned int i; + struct d_print_mod *pdpm; /* We must pass this type down as a modifier in order to print - multi-dimensional arrays correctly. */ + multi-dimensional arrays correctly. If the array itself is + CV-qualified, we act as though the element type were + CV-qualified. We do this by copying the modifiers down + rather than fiddling pointers, so that we don't wind up + with a d_print_mod higher on the stack pointing into our + stack frame after we return. */ - dpm.next = dpi->modifiers; - dpi->modifiers = &dpm; - dpm.mod = dc; - dpm.printed = 0; - dpm.templates = dpi->templates; + hold_modifiers = dpi->modifiers; + + adpm[0].next = hold_modifiers; + dpi->modifiers = &adpm[0]; + adpm[0].mod = dc; + adpm[0].printed = 0; + adpm[0].templates = dpi->templates; + + i = 1; + pdpm = hold_modifiers; + while (pdpm != NULL + && (pdpm->mod->type == DEMANGLE_COMPONENT_RESTRICT + || pdpm->mod->type == DEMANGLE_COMPONENT_VOLATILE + || pdpm->mod->type == DEMANGLE_COMPONENT_CONST)) + { + if (! pdpm->printed) + { + if (i >= sizeof adpm / sizeof adpm[0]) + { + d_print_error (dpi); + return; + } + + adpm[i] = *pdpm; + adpm[i].next = dpi->modifiers; + dpi->modifiers = &adpm[i]; + pdpm->printed = 1; + ++i; + } + + pdpm = pdpm->next; + } d_print_comp (dpi, d_right (dc)); - dpi->modifiers = dpm.next; + dpi->modifiers = hold_modifiers; - if (dpm.printed) + if (adpm[0].printed) return; + while (i > 1) + { + --i; + d_print_mod (dpi, adpm[i].mod); + } + d_print_array_type (dpi, dc, dpi->modifiers); return; @@ -3212,15 +3279,13 @@ d_print_comp (dpi, dc) d_print_expr_op (dpi, d_left (dc)); else { - d_append_string_constant (dpi, "(("); + d_append_char (dpi, '('); d_print_cast (dpi, d_left (dc)); d_append_char (dpi, ')'); } d_append_char (dpi, '('); d_print_comp (dpi, d_right (dc)); d_append_char (dpi, ')'); - if (d_left (dc)->type == DEMANGLE_COMPONENT_CAST) - d_append_char (dpi, ')'); return; case DEMANGLE_COMPONENT_BINARY: @@ -3284,62 +3349,86 @@ d_print_comp (dpi, dc) case DEMANGLE_COMPONENT_LITERAL: case DEMANGLE_COMPONENT_LITERAL_NEG: - /* For some builtin types, produce simpler output. */ - if (d_left (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE) - { - switch (d_left (dc)->u.s_builtin.type->print) - { - case D_PRINT_INT: - if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME) - { - if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) - d_append_char (dpi, '-'); - d_print_comp (dpi, d_right (dc)); - return; - } - break; + { + enum d_builtin_type_print tp; - case D_PRINT_LONG: - if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME) - { - if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) - d_append_char (dpi, '-'); - d_print_comp (dpi, d_right (dc)); - d_append_char (dpi, 'l'); - return; - } - break; + /* For some builtin types, produce simpler output. */ + tp = D_PRINT_DEFAULT; + if (d_left (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE) + { + tp = d_left (dc)->u.s_builtin.type->print; + switch (tp) + { + case D_PRINT_INT: + case D_PRINT_UNSIGNED: + case D_PRINT_LONG: + case D_PRINT_UNSIGNED_LONG: + case D_PRINT_LONG_LONG: + case D_PRINT_UNSIGNED_LONG_LONG: + if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME) + { + if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) + d_append_char (dpi, '-'); + d_print_comp (dpi, d_right (dc)); + switch (tp) + { + default: + break; + case D_PRINT_UNSIGNED: + d_append_char (dpi, 'u'); + break; + case D_PRINT_LONG: + d_append_char (dpi, 'l'); + break; + case D_PRINT_UNSIGNED_LONG: + d_append_string_constant (dpi, "ul"); + break; + case D_PRINT_LONG_LONG: + d_append_string_constant (dpi, "ll"); + break; + case D_PRINT_UNSIGNED_LONG_LONG: + d_append_string_constant (dpi, "ull"); + break; + } + return; + } + break; - case D_PRINT_BOOL: - if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME - && d_right (dc)->u.s_name.len == 1 - && dc->type == DEMANGLE_COMPONENT_LITERAL) - { - switch (d_right (dc)->u.s_name.s[0]) - { - case '0': - d_append_string_constant (dpi, "false"); - return; - case '1': - d_append_string_constant (dpi, "true"); - return; - default: - break; - } - } - break; + case D_PRINT_BOOL: + if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME + && d_right (dc)->u.s_name.len == 1 + && dc->type == DEMANGLE_COMPONENT_LITERAL) + { + switch (d_right (dc)->u.s_name.s[0]) + { + case '0': + d_append_string_constant (dpi, "false"); + return; + case '1': + d_append_string_constant (dpi, "true"); + return; + default: + break; + } + } + break; - default: - break; - } - } + default: + break; + } + } - d_append_char (dpi, '('); - d_print_comp (dpi, d_left (dc)); - d_append_char (dpi, ')'); - if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) - d_append_char (dpi, '-'); - d_print_comp (dpi, d_right (dc)); + d_append_char (dpi, '('); + d_print_comp (dpi, d_left (dc)); + d_append_char (dpi, ')'); + if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) + d_append_char (dpi, '-'); + if (tp == D_PRINT_FLOAT) + d_append_char (dpi, '['); + d_print_comp (dpi, d_right (dc)); + if (tp == D_PRINT_FLOAT) + d_append_char (dpi, ']'); + } return; default: @@ -3549,11 +3638,13 @@ d_print_function_type (dpi, dc, mods) { int need_paren; int saw_mod; + int need_space; struct d_print_mod *p; struct d_print_mod *hold_modifiers; need_paren = 0; saw_mod = 0; + need_space = 0; for (p = mods; p != NULL; p = p->next) { if (p->printed) @@ -3562,15 +3653,18 @@ d_print_function_type (dpi, dc, mods) saw_mod = 1; switch (p->mod->type) { + case DEMANGLE_COMPONENT_POINTER: + case DEMANGLE_COMPONENT_REFERENCE: + need_paren = 1; + break; case DEMANGLE_COMPONENT_RESTRICT: case DEMANGLE_COMPONENT_VOLATILE: case DEMANGLE_COMPONENT_CONST: case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL: - case DEMANGLE_COMPONENT_POINTER: - case DEMANGLE_COMPONENT_REFERENCE: case DEMANGLE_COMPONENT_COMPLEX: case DEMANGLE_COMPONENT_IMAGINARY: case DEMANGLE_COMPONENT_PTRMEM_TYPE: + need_space = 1; need_paren = 1; break; case DEMANGLE_COMPONENT_RESTRICT_THIS: @@ -3589,18 +3683,14 @@ d_print_function_type (dpi, dc, mods) if (need_paren) { - switch (d_last_char (dpi)) + if (! need_space) { - case ' ': - case '(': - case '*': - break; - - default: - d_append_char (dpi, ' '); - break; + if (d_last_char (dpi) != '(' + && d_last_char (dpi) != '*') + need_space = 1; } - + if (need_space && d_last_char (dpi) != ' ') + d_append_char (dpi, ' '); d_append_char (dpi, '('); } @@ -3643,19 +3733,19 @@ d_print_array_type (dpi, dc, mods) need_paren = 0; for (p = mods; p != NULL; p = p->next) { - if (p->printed) - break; - - if (p->mod->type == DEMANGLE_COMPONENT_ARRAY_TYPE) - { - need_space = 0; - break; - } - else + if (! p->printed) { - need_paren = 1; - need_space = 1; - break; + if (p->mod->type == DEMANGLE_COMPONENT_ARRAY_TYPE) + { + need_space = 0; + break; + } + else + { + need_paren = 1; + need_space = 1; + break; + } } } @@ -3944,29 +4034,46 @@ __cxa_demangle (mangled_name, output_buffer, length, status) char *demangled; size_t alc; - if (status == NULL) - return NULL; - if (mangled_name == NULL) { - *status = -3; + if (status != NULL) + *status = -3; return NULL; } if (output_buffer != NULL && length == NULL) { - *status = -3; + if (status != NULL) + *status = -3; + return NULL; + } + + /* The specification for __cxa_demangle() is that if the mangled + name could be either an extern "C" identifier, or an internal + built-in type name, then we resolve it as the identifier. All + internal built-in type names are a single lower case character. + Frankly, this simplistic disambiguation doesn't make sense to me, + but it is documented, so we implement it here. */ + if (IS_LOWER (mangled_name[0]) + && mangled_name[1] == '\0' + && cplus_demangle_builtin_types[mangled_name[0] - 'a'].name != NULL) + { + if (status != NULL) + *status = -2; return NULL; } - demangled = d_demangle (mangled_name, DMGL_TYPES, &alc); + demangled = d_demangle (mangled_name, DMGL_PARAMS | DMGL_TYPES, &alc); if (demangled == NULL) { - if (alc == 1) - *status = -1; - else - *status = -2; + if (status != NULL) + { + if (alc == 1) + *status = -1; + else + *status = -2; + } return NULL; } @@ -3990,7 +4097,8 @@ __cxa_demangle (mangled_name, output_buffer, length, status) } } - *status = 0; + if (status != NULL) + *status = 0; return demangled; } @@ -4296,7 +4404,11 @@ main (argc, argv) if (dyn_string_length (mangled) > 0) { +#ifdef IN_GLIBCPP_V3 + s = __cxa_demangle (dyn_string_buf (mangled), NULL, NULL, NULL); +#else s = cplus_demangle_v3 (dyn_string_buf (mangled), options); +#endif if (s != NULL) { @@ -4328,9 +4440,16 @@ main (argc, argv) for (i = optind; i < argc; ++i) { char *s; +#ifdef IN_GLIBCPP_V3 + int status; +#endif /* Attempt to demangle. */ +#ifdef IN_GLIBCPP_V3 + s = __cxa_demangle (argv[i], NULL, NULL, &status); +#else s = cplus_demangle_v3 (argv[i], options); +#endif /* If it worked, print the demangled name. */ if (s != NULL) @@ -4339,7 +4458,13 @@ main (argc, argv) free (s); } else - fprintf (stderr, "Failed: %s\n", argv[i]); + { +#ifdef IN_GLIBCPP_V3 + fprintf (stderr, "Failed: %s (status %d)\n", argv[i], status); +#else + fprintf (stderr, "Failed: %s\n", argv[i]); +#endif + } } } |