diff -Nru libiberty-20181121/config/ChangeLog libiberty-20190122/config/ChangeLog --- libiberty-20181121/config/ChangeLog 2018-11-21 08:47:48.000000000 +0000 +++ libiberty-20190122/config/ChangeLog 2019-01-19 17:26:50.000000000 +0000 @@ -1,3 +1,7 @@ +2018-06-24 Nick Clifton + + 2.32 branch created. + 2018-11-09 Hafiz Abid Qadeer * iconv.m4 (AM_ICONV_LINK): Don't overwrite CPPFLAGS. diff -Nru libiberty-20181121/config.guess libiberty-20190122/config.guess --- libiberty-20181121/config.guess 2018-07-09 12:31:41.000000000 +0000 +++ libiberty-20190122/config.guess 2019-01-18 07:41:41.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2019 Free Software Foundation, Inc. -timestamp='2018-06-26' +timestamp='2019-01-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -84,8 +84,6 @@ exit 1 fi -trap 'exit 1' 1 2 15 - # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -96,34 +94,38 @@ # Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" ; - for c in cc gcc c89 c99 ; do - if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi @@ -138,7 +140,7 @@ # We could probably try harder. LIBC=gnu - eval "$set_cc_for_build" + set_cc_for_build cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) @@ -199,7 +201,7 @@ os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval "$set_cc_for_build" + set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -383,13 +385,26 @@ echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + set_cc_for_build + SUN_ARCH=sparc + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __sparcv9'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=sparcv9 + fi + fi + echo "$SUN_ARCH"-sun-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval "$set_cc_for_build" + set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. @@ -482,7 +497,7 @@ echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ @@ -579,7 +594,7 @@ exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include @@ -660,7 +675,7 @@ esac fi if [ "$HP_ARCH" = "" ]; then - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE @@ -700,7 +715,7 @@ esac if [ "$HP_ARCH" = hppa2.0w ] then - eval "$set_cc_for_build" + set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -726,7 +741,7 @@ echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include int @@ -840,6 +855,17 @@ *:BSD/OS:*:*) echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + fi + exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case "$UNAME_PROCESSOR" in @@ -881,7 +907,7 @@ echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin + echo x86_64-pc-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" @@ -922,7 +948,7 @@ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - eval "$set_cc_for_build" + set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then @@ -971,7 +997,7 @@ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} @@ -1285,7 +1311,7 @@ exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval "$set_cc_for_build" + set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi @@ -1358,6 +1384,7 @@ # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. + # shellcheck disable=SC2154 if test "$cputype" = 386; then UNAME_MACHINE=i386 else @@ -1414,6 +1441,9 @@ amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; esac echo "$0: unable to guess system type" >&2 diff -Nru libiberty-20181121/config.sub libiberty-20190122/config.sub --- libiberty-20181121/config.sub 2018-07-09 12:31:41.000000000 +0000 +++ libiberty-20190122/config.sub 2019-01-18 07:41:41.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2019 Free Software Foundation, Inc. -timestamp='2018-07-03' +timestamp='2019-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -67,7 +67,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -89,7 +89,7 @@ - ) # Use stdin as input. break ;; -* ) - echo "$me: invalid option $1$help" + echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) @@ -111,7 +111,8 @@ esac # Split fields of configuration type -IFS="-" read -r field1 field2 field3 field4 <&2 - exit 1 + # Recognize the canonical CPU types that are allowed with any + # company name. + case $cpu in + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ + | alphapca5[67] | alpha64pca5[67] \ + | am33_2.0 \ + | amdgcn \ + | arc | arceb \ + | arm | arm[lb]e | arme[lb] | armv* \ + | avr | avr32 \ + | asmjs \ + | ba \ + | be32 | be64 \ + | bfin | bs2000 \ + | c[123]* | c30 | [cjt]90 | c4x \ + | c8051 | clipper | craynv | csky | cydra \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | elxsi | epiphany \ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | h8300 | h8500 \ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle \ + | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \ + | m88110 | m88k | maxq | mb | mcore | mep | metag \ + | microblaze | microblazeel \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mmix \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nfp \ + | nios | nios2 | nios2eb | nios2el \ + | none | np1 | ns16k | ns32k \ + | open8 \ + | or1k* \ + | or32 \ + | orion \ + | pdp10 | pdp11 | pj | pjl | pn | power \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ + | pru \ + | pyramid \ + | riscv | riscv32 | riscv64 \ + | rl78 | romp | rs6000 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ + | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ + | spu \ + | tahoe \ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ + | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | vax \ + | visium \ + | wasm32 \ + | we32k \ + | x86 | x86_64 | xc16x | xgate | xps100 \ + | xstormy16 | xtensa* \ + | ymp \ + | z8k | z80) + ;; + + *) + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + exit 1 + ;; + esac ;; esac # Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` +case $vendor in + digital*) + vendor=dec ;; - *-commodore*) - basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` + commodore*) + vendor=cbm ;; *) ;; @@ -1356,7 +1343,7 @@ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ | aos* | aros* | cloudabi* | sortix* \ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ - | clix* | riscos* | uniplus* | iris* | rtu* | xenix* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ | knetbsd* | mirbsd* | netbsd* \ | bitrig* | openbsd* | solidbsd* | libertybsd* \ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ @@ -1376,12 +1363,12 @@ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ - | midnightbsd*) + | midnightbsd* | amdhsa* | unleashed* | emscripten*) # Remember, each alternative MUST END IN *, to match a version number. ;; qnx*) - case $basic_machine in - x86-* | i*86-*) + case $cpu in + x86 | i*86) ;; *) os=nto-$os @@ -1507,7 +1494,7 @@ # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. - case $basic_machine in + case $cpu in arm*) os=eabi ;; @@ -1541,7 +1528,7 @@ # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $basic_machine in +case $cpu-$vendor in score-*) os=elf ;; @@ -1722,9 +1709,8 @@ # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) +case $vendor in + unknown) case $os in riscix*) vendor=acorn @@ -1793,11 +1779,10 @@ vendor=stratus ;; esac - basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac -echo "$basic_machine-$os" +echo "$cpu-$vendor-$os" exit # Local variables: diff -Nru libiberty-20181121/.cvsignore libiberty-20190122/.cvsignore --- libiberty-20181121/.cvsignore 2016-02-26 15:58:06.000000000 +0000 +++ libiberty-20190122/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -*-all -*-co -*-dirs -*-done -*-install-info -*-src -*-stamp-* -*-tagged -blockit -cfg-paper.info -config.status -configure.aux -configure.cp -configure.cps -configure.dvi -configure.fn -configure.fns -configure.ky -configure.kys -configure.log -configure.pg -configure.pgs -configure.toc -configure.tp -configure.tps -configure.vr -configure.vrs -dir.info -Makefile -lost+found -update.out -update.sourceware -autom4te.cache diff -Nru libiberty-20181121/debian/changelog libiberty-20190122/debian/changelog --- libiberty-20181121/debian/changelog 2018-11-21 08:53:04.000000000 +0000 +++ libiberty-20190122/debian/changelog 2019-01-22 10:15:42.000000000 +0000 @@ -1,3 +1,9 @@ +libiberty (20190122-1) unstable; urgency=medium + + * Update to 20190122. + + -- Matthias Klose Tue, 22 Jan 2019 11:15:42 +0100 + libiberty (20181121-1) unstable; urgency=medium * Update to 20181121. diff -Nru libiberty-20181121/debian/control libiberty-20190122/debian/control --- libiberty-20181121/debian/control 2018-11-21 08:53:04.000000000 +0000 +++ libiberty-20190122/debian/control 2019-01-22 10:15:42.000000000 +0000 @@ -4,7 +4,7 @@ Maintainer: Debian GCC Maintainers Uploaders: Matthias Klose Build-Depends: debhelper (>= 9), autotools-dev -Standards-Version: 4.2.1 +Standards-Version: 4.3.0 Homepage: http://gcc.gnu.org/ Package: libiberty-dev diff -Nru libiberty-20181121/include/alloca-conf.h libiberty-20190122/include/alloca-conf.h --- libiberty-20181121/include/alloca-conf.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/alloca-conf.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2018 Free Software Foundation, Inc. +/* Copyright (C) 2012-2019 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 diff -Nru libiberty-20181121/include/ansidecl.h libiberty-20190122/include/ansidecl.h --- libiberty-20181121/include/ansidecl.h 2018-05-12 14:16:58.000000000 +0000 +++ libiberty-20190122/include/ansidecl.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ANSI and traditional C compatability macros - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/aout/aout64.h libiberty-20190122/include/aout/aout64.h --- libiberty-20181121/include/aout/aout64.h 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/include/aout/aout64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* `a.out' object-file definitions, including extensions to 64-bit fields - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 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 diff -Nru libiberty-20181121/include/aout/ar.h libiberty-20190122/include/aout/ar.h --- libiberty-20181121/include/aout/ar.h 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/include/aout/ar.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* archive file definition for GNU software - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/aout/encap.h libiberty-20190122/include/aout/encap.h --- libiberty-20181121/include/aout/encap.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/aout/encap.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Yet Another Try at encapsulating bfd object files in coff. - Copyright (C) 1988-2018 Free Software Foundation, Inc. + Copyright (C) 1988-2019 Free Software Foundation, Inc. Written by Pace Willisson 12/9/88 This file is obsolete. It needs to be converted to just define a bunch diff -Nru libiberty-20181121/include/aout/host.h libiberty-20190122/include/aout/host.h --- libiberty-20181121/include/aout/host.h 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/include/aout/host.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* host.h - Parameters about the a.out format, based on the host system on which the program is compiled. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/aout/hp.h libiberty-20190122/include/aout/hp.h --- libiberty-20181121/include/aout/hp.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/aout/hp.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Special version of for use under HP-UX. - Copyright (C) 1988-2018 Free Software Foundation, Inc. + Copyright (C) 1988-2019 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 diff -Nru libiberty-20181121/include/aout/hppa.h libiberty-20190122/include/aout/hppa.h --- libiberty-20181121/include/aout/hppa.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/aout/hppa.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2018 Free Software Foundation, Inc. +/* Copyright (C) 2012-2019 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 diff -Nru libiberty-20181121/include/aout/ranlib.h libiberty-20190122/include/aout/ranlib.h --- libiberty-20181121/include/aout/ranlib.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/aout/ranlib.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ranlib.h -- archive library index member definition for GNU. - Copyright (C) 1990-2018 Free Software Foundation, Inc. + Copyright (C) 1990-2019 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 diff -Nru libiberty-20181121/include/aout/stab.def libiberty-20190122/include/aout/stab.def --- libiberty-20181121/include/aout/stab.def 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/aout/stab.def 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Table of DBX symbol codes for the GNU system. - Copyright (C) 1988-2018 Free Software Foundation, Inc. + Copyright (C) 1988-2019 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 diff -Nru libiberty-20181121/include/aout/stab_gnu.h libiberty-20190122/include/aout/stab_gnu.h --- libiberty-20181121/include/aout/stab_gnu.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/aout/stab_gnu.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* gnu_stab.h Definitions for GNU extensions to STABS - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/aout/sun4.h libiberty-20190122/include/aout/sun4.h --- libiberty-20181121/include/aout/sun4.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/aout/sun4.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* SPARC-specific values for a.out files - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/bfdlink.h libiberty-20190122/include/bfdlink.h --- libiberty-20181121/include/bfdlink.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/bfdlink.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* bfdlink.h -- header file for BFD link routines - Copyright (C) 1993-2018 Free Software Foundation, Inc. + Copyright (C) 1993-2019 Free Software Foundation, Inc. Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -506,6 +506,9 @@ /* TRUE if common symbols should be treated as undefined. */ unsigned int inhibit_common_definition : 1; + /* TRUE if "-Map map" is passed to linker. */ + unsigned int has_map_file : 1; + /* The 1-byte NOP for x86 call instruction. */ char call_nop_byte; diff -Nru libiberty-20181121/include/binary-io.h libiberty-20190122/include/binary-io.h --- libiberty-20181121/include/binary-io.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/binary-io.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Binary mode I/O. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/bout.h libiberty-20190122/include/bout.h --- libiberty-20181121/include/bout.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/bout.h 2019-01-18 07:41:42.000000000 +0000 @@ -2,7 +2,7 @@ GNU tools modified to support the i80960 (or tools that operate on object files created by such tools). - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/cgen/basic-modes.h libiberty-20190122/include/cgen/basic-modes.h --- libiberty-20181121/include/cgen/basic-modes.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/cgen/basic-modes.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Basic CGEN modes. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of the GNU opcodes library. diff -Nru libiberty-20181121/include/cgen/basic-ops.h libiberty-20190122/include/cgen/basic-ops.h --- libiberty-20181121/include/cgen/basic-ops.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/cgen/basic-ops.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Basic semantics ops support for CGEN. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of the GNU opcodes library. diff -Nru libiberty-20181121/include/cgen/bitset.h libiberty-20190122/include/cgen/bitset.h --- libiberty-20181121/include/cgen/bitset.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/cgen/bitset.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Header file the type CGEN_BITSET. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of the GNU opcodes library. diff -Nru libiberty-20181121/include/ChangeLog libiberty-20190122/include/ChangeLog --- libiberty-20181121/include/ChangeLog 2018-11-21 08:47:48.000000000 +0000 +++ libiberty-20190122/include/ChangeLog 2019-01-19 17:26:50.000000000 +0000 @@ -1,837 +1,52 @@ -2018-11-13 Thomas Preud'homme - - * opcode/arm.h (ARM_AEXT_V6M_ONLY): Merge into its use in ARM_AEXT_V6M. - (ARM_ARCH_V6M_ONLY): Remove. - (ARM_EXT_V1, ARM_EXT_V2, ARM_EXT_V2S, ARM_EXT_V3, ARM_EXT_V3M, - ARM_EXT_V4, ARM_EXT_V4T, ARM_EXT_V5, ARM_EXT_V5T, ARM_EXT_V5ExP, - ARM_EXT_V5E, ARM_EXT_V5J, ARM_EXT_V6, ARM_EXT_V6K, ARM_EXT_V8, - ARM_EXT_V6T2, ARM_EXT_DIV, ARM_EXT_V5E_NOTM, ARM_EXT_V6_NOTM, - ARM_EXT_V7, ARM_EXT_V7A, ARM_EXT_V7R, ARM_EXT_V7M, ARM_EXT_V6M, - ARM_EXT_BARRIER, ARM_EXT_THUMB_MSR, ARM_EXT_V6_DSP, ARM_EXT_MP, - ARM_EXT_SEC, ARM_EXT_OS, ARM_EXT_ADIV, ARM_EXT_VIRT, ARM_EXT2_PAN, - ARM_EXT2_V8_2A, ARM_EXT2_V8M, ARM_EXT2_ATOMICS, ARM_EXT2_V6T2_V8M, - ARM_EXT2_FP16_INST, ARM_EXT2_V8M_MAIN, ARM_EXT2_RAS, ARM_EXT2_V8_3A, - ARM_EXT2_V8A, ARM_EXT2_V8_4A, ARM_EXT2_FP16_FML, ARM_EXT2_V8_5A, - ARM_EXT2_SB, ARM_EXT2_PREDRES, ARM_CEXT_XSCALE, ARM_CEXT_MAVERICK, - ARM_CEXT_IWMMXT, ARM_CEXT_IWMMXT2, FPU_ENDIAN_PURE, FPU_ENDIAN_BIG, - FPU_FPA_EXT_V1, FPU_FPA_EXT_V2, FPU_MAVERICK, FPU_VFP_EXT_V1xD, - FPU_VFP_EXT_V1, FPU_VFP_EXT_V2, FPU_VFP_EXT_V3xD, FPU_VFP_EXT_V3, - FPU_NEON_EXT_V1, FPU_VFP_EXT_D32, FPU_VFP_EXT_FP16, FPU_NEON_EXT_FMA, - FPU_VFP_EXT_FMA, FPU_VFP_EXT_ARMV8, FPU_NEON_EXT_ARMV8, - FPU_CRYPTO_EXT_ARMV8, CRC_EXT_ARMV8, FPU_VFP_EXT_ARMV8xD, - FPU_NEON_EXT_RDMA, FPU_NEON_EXT_DOTPROD, ARM_AEXT_V1, ARM_AEXT_V2, - ARM_AEXT_V2S, ARM_AEXT_V3, ARM_AEXT_V3M, ARM_AEXT_V4xM, ARM_AEXT_V4, - ARM_AEXT_V4TxM, ARM_AEXT_V4T, ARM_AEXT_V5xM, ARM_AEXT_V5, - ARM_AEXT_V5TxM, ARM_AEXT_V5T, ARM_AEXT_V5TExP, ARM_AEXT_V5TE, - ARM_AEXT_V5TEJ, ARM_AEXT_V6, ARM_AEXT_V6K, ARM_AEXT_V6Z, ARM_AEXT_V6KZ, - ARM_AEXT_V6T2, ARM_AEXT_V6KT2, ARM_AEXT_V6ZT2, ARM_AEXT_V6KZT2, - ARM_AEXT_V7_ARM, ARM_AEXT_V7A, ARM_AEXT_V7VE, ARM_AEXT_V7R, - ARM_AEXT_NOTM, ARM_AEXT_V6M_ONLY, ARM_AEXT_V6M, ARM_AEXT_V6SM, - ARM_AEXT_V7M, ARM_AEXT_V7, ARM_AEXT_V7EM, ARM_AEXT_V8A, ARM_AEXT2_V8A, - ARM_AEXT2_V8_1A, ARM_AEXT2_V8_2A, ARM_AEXT2_V8_3A, ARM_AEXT2_V8_4A, - ARM_AEXT2_V8_5A, ARM_AEXT_V8M_BASE, ARM_AEXT_V8M_MAIN, - ARM_AEXT_V8M_MAIN_DSP, ARM_AEXT2_V8M, ARM_AEXT2_V8M_BASE, - ARM_AEXT2_V8M_MAIN, ARM_AEXT2_V8M_MAIN_DSP, ARM_AEXT_V8R, - ARM_AEXT2_V8R, FPU_VFP_V1xD, FPU_VFP_V1, FPU_VFP_V2, FPU_VFP_V3D16, - FPU_VFP_V3, FPU_VFP_V3xD, FPU_VFP_V4D16, FPU_VFP_V4, FPU_VFP_V4_SP_D16, - FPU_VFP_V5D16, FPU_VFP_ARMV8, FPU_NEON_ARMV8, FPU_CRYPTO_ARMV8, - FPU_VFP_HARD, FPU_FPA, FPU_ARCH_VFP, FPU_ARCH_FPE, FPU_ARCH_FPA, - FPU_ARCH_VFP_V1xD, FPU_ARCH_VFP_V1, FPU_ARCH_VFP_V2, - FPU_ARCH_VFP_V3D16_FP16, FPU_ARCH_VFP_V3, FPU_ARCH_VFP_V3_FP16, - FPU_ARCH_VFP_V3xD_FP16, FPU_ARCH_NEON_V1, FPU_ARCH_VFP_V3_PLUS_NEON_V1, - FPU_ARCH_NEON_FP16, FPU_ARCH_VFP_HARD, FPU_ARCH_VFP_V4, - FPU_ARCH_VFP_V4D16, FPU_ARCH_VFP_V4_SP_D16, FPU_ARCH_VFP_V5D16, - FPU_ARCH_VFP_V5_SP_D16, FPU_ARCH_NEON_VFP_V4, FPU_ARCH_VFP_ARMV8, - FPU_ARCH_NEON_VFP_ARMV8, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD, ARCH_CRC_ARMV8, - FPU_ARCH_NEON_VFP_ARMV8_1, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1, - FPU_ARCH_DOTPROD_NEON_VFP_ARMV8, ARM_ARCH_V1, ARM_ARCH_V2, - ARM_ARCH_V2S, ARM_ARCH_V3, ARM_ARCH_V3M, ARM_ARCH_V4xM, ARM_ARCH_V4, - ARM_ARCH_V4TxM, ARM_ARCH_V4T, ARM_ARCH_V5xM, ARM_ARCH_V5, - ARM_ARCH_V5TxM, ARM_ARCH_V5T, ARM_ARCH_V5TExP, ARM_ARCH_V5TE, - ARM_ARCH_V5TEJ, ARM_ARCH_V6, ARM_ARCH_V6K, ARM_ARCH_V6Z, ARM_ARCH_V6KZ, - ARM_ARCH_V6T2, ARM_ARCH_V6KT2, ARM_ARCH_V6ZT2, ARM_ARCH_V6KZT2, - ARM_ARCH_V6M, ARM_ARCH_V6SM, ARM_ARCH_V7, ARM_ARCH_V7A, ARM_ARCH_V7VE, - ARM_ARCH_V7R, ARM_ARCH_V7M, ARM_ARCH_V7EM, ARM_ARCH_V8A, - ARM_ARCH_V8A_CRC, ARM_ARCH_V8_1A, ARM_ARCH_V8_2A, ARM_ARCH_V8_3A, - ARM_ARCH_V8_4A, ARM_ARCH_V8_5A, ARM_ARCH_V8M_BASE, ARM_ARCH_V8M_MAIN, - ARM_ARCH_V8M_MAIN_DSP, ARM_ARCH_V8R): Reindent. - -2018-11-12 Sudakshina Das - - * opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_ADDR_SIMPLE_2. - (aarch64_insn_class): Add ldstgv_indexed. - -2018-11-12 Sudakshina Das - - * opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_ADDR_SIMM11 - and AARCH64_OPND_ADDR_SIMM13. - (aarch64_opnd_qualifier): Add new AARCH64_OPND_QLF_imm_tag. - -2018-11-12 Sudakshina Das - - * opcode/aarch64.h (aarch64_opnd): Add - AARCH64_OPND_UIMM4_ADDG and AARCH64_OPND_UIMM10 as new enums. - -2018-11-12 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_MEMTAG): New. - -2018-11-07 Roman Bolshakov - Saagar Jha - - * mach-o/external.h (mach_o_nversion_min_command_external): Rename - reserved to sdk. - (mach_o_note_command_external): New. - (mach_o_build_version_command_external): New. - * mach-o/loader.h (BFD_MACH_O_LC_VERSION_MIN_TVOS): Define. - (BFD_MACH_O_LC_NOTE): Define. - -2018-11-06 Romain Margheriti - - PR 23742 - * mach-o/loader.h: Add BFD_MACH_O_LC_BUILD_VERSION. - -2018-11-06 Sudakshina Das - - * opcode/arm.h (ARM_ARCH_V8_5A): Move ARM_EXT2_PREDRES and - ARM_EXT2_SB to ... - (ARM_AEXT2_V8_5A): Here. - -2018-10-26 John Baldwin - - * elf/common.h (AT_FREEBSD_HWCAP2): Define. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_SSBS): New. - (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_SSBS by default. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_SCXTNUM): New. - (AARCH64_FEATURE_ID_PFR2): New. - (AARCH64_ARCH_V8_5): Add both by default. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_BTI): New. - (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_BTI by default. - (aarch64_opnd): Add AARCH64_OPND_BTI_TARGET. - (HINT_OPD_CSYNC, HINT_OPD_C, HINT_OPD_J): New macros to - define HINT #imm values. - (HINT_OPD_JC, HINT_OPD_NULL): Likewise. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_RNG): New. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_CVADP): New. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_PREDRES): New. - (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_PREDRES by default. - (aarch64_opnd): Add AARCH64_OPND_SYSREG_SR. - (aarch64_sys_regs_sr): Declare new table. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_SB): New. - (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_SB by default. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_FLAGMANIP): New. - (AARCH64_FEATURE_FRINTTS): New. - (AARCH64_ARCH_V8_5): Add both by default. - -2018-10-09 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_V8_5): New. - (AARCH64_ARCH_V8_5): New. - -2018-10-08 Alan Modra - - * bfdlink.h (struct bfd_link_info): Add load_phdrs field. - -2018-10-05 Sudakshina Das - - * opcode/arm.h (ARM_EXT2_PREDRES): New. - (ARM_ARCH_V8_5A): Add ARM_EXT2_PREDRES by default. - -2018-10-05 Sudakshina Das - - * opcode/arm.h (ARM_EXT2_SB): New. - (ARM_ARCH_V8_5A): Add ARM_EXT2_SB by default. - -2018-10-05 Sudakshina Das - - * opcode/arm.h (ARM_EXT2_V8_5A): New. - (ARM_AEXT2_V8_5A, ARM_ARCH_V8_5A): New. - -2018-10-05 Richard Henderson - - * elf/or1k.h (elf_or1k_reloc_type): Add R_OR1K_PCREL_PG21, - R_OR1K_GOT_PG21, R_OR1K_TLS_GD_PG21, R_OR1K_TLS_LDM_PG21, - R_OR1K_TLS_IE_PG21, R_OR1K_LO13, R_OR1K_GOT_LO13, - R_OR1K_TLS_GD_LO13, R_OR1K_TLS_LDM_LO13, R_OR1K_TLS_IE_LO13, - R_OR1K_SLO13, R_OR1K_PLTA26. - -2018-10-05 Richard Henderson - - * elf/or1k.h (elf_or1k_reloc_type): Add R_OR1K_AHI16, - R_OR1K_GOTOFF_AHI16, R_OR1K_TLS_IE_AHI16, R_OR1K_TLS_LE_AHI16, - R_OR1K_SLO16, R_OR1K_GOTOFF_SLO16, R_OR1K_TLS_LE_SLO16. - -2018-10-03 Tamar Christina - - * opcode/aarch64.h (aarch64_inst): Remove. - (enum err_type): Add ERR_VFI. - (aarch64_is_destructive_by_operands): New. - (init_insn_sequence): New. - (aarch64_decode_insn): Remove param name. - -2018-10-03 Tamar Christina - - * opcode/aarch64.h (struct aarch64_opcode): Expand verifiers to take - more arguments. - -2018-10-03 Tamar Christina - - * opcode/aarch64.h (enum err_type): New. - (aarch64_decode_insn): Use it. - -2018-10-03 Tamar Christina - - * opcode/aarch64.h (struct aarch64_instr_sequence): New. - (aarch64_opcode_encode): Use it. - -2018-10-03 Tamar Christina - - * opcode/aarch64.h (struct aarch64_opcode): Add constraints, - extend flags field size. - (F_SCAN, C_SCAN_MOVPRFX, C_MAX_ELEM): New. - -2018-10-03 John Darrington - - * dis-asm.h (print_insn_s12z): New declaration. - -2018-10-02 Palmer Dabbelt - - * opcode/riscv-opc.h (MATCH_FENCE_TSO): New define. - (MASK_FENCE_TSO): Likewise. - -2018-10-01 Cupertino Miranda - - * arc-reloc.def (ARC_TLS_LE_32): Updated reloc formula. - -2018-09-21 H.J. Lu - - PR binutils/23694 - * include/elf/internal.h (ELF_SECTION_IN_SEGMENT_1): Don't - include zero size sections at start of PT_NOTE segment. - -2018-09-20 Nelson Chu - - * elf/nds32.h: Remove the unused target features. - * dis-asm.h (disassemble_init_nds32): Declared. - * elf/nds32.h (E_NDS32_NULL): Removed. - (E_NDS32_HAS_DSP_INST, E_NDS32_HAS_ZOL): New. - * opcode/nds32.h: Ident. - (N32_SUB6, INSN_LW): New macros. - (enum n32_opcodes): Updated. - * elf/nds32.h: Doc fixes. - * elf/nds32.h: Add R_NDS32_LSI. - * elf/nds32.h: Add new relocations for TLS. - -2018-09-20 Rainer Orth - - * elf/common.h (AT_SUN_HWCAP): Rename to ... - (AT_SUN_CAP_HW1): ... this. Retain old name for backward - compatibility. - (AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1) - (AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2): Define. - -2018-09-05 Simon Marchi - - * diagnostics.h (DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL): New macro. - -2018-08-31 Alan Modra - - * elf/ppc64.h (R_PPC64_REL16_HIGH, R_PPC64_REL16_HIGHA), - (R_PPC64_REL16_HIGHER, R_PPC64_REL16_HIGHERA), - (R_PPC64_REL16_HIGHEST, R_PPC64_REL16_HIGHESTA): Define. - (R_PPC64_LO_DS_OPT, R_PPC64_16DX_HA): Bump value. - -2018-08-30 Kito Cheng - - * opcode/riscv.h (MAX_SUBSET_NUM): New. - (riscv_opcode): Add xlen_requirement field and change type of - subset. - -2018-08-29 Chenghua Xu - - * elf/mips.h (E_MIPS_MACH_XXX): New E_MIPS_MACH_GS264E. - * opcode/mips.h (CPU_XXX): New CPU_GS264E. - -2018-08-29 Chenghua Xu - - * elf/mips.h (E_MIPS_MACH_XXX): New E_MIPS_MACH_GS464E. - * opcode/mips.h (CPU_XXX): New CPU_GS464E. - -2018-08-29 Chenghua Xu - - * elf/mips.h (E_MIPS_MACH_XXX): Rename E_MIPS_MACH_LS3A to - E_MIPS_MACH_GS464. - (AFL_EXT_XXX): Delete AFL_EXT_LOONGSON_3A. - * opcode/mips.h (INSN_XXX): Delete INSN_LOONGSON_3A. - (CPU_XXX): Rename CPU_LOONGSON_3A to CPU_GS464. - * opcode/mips.h (mips_isa_table): Delete CPU_LOONGSON_3A case. - -2018-08-29 Chenghua Xu - - * elf/mips.h (AFL_ASE_LOONGSON_EXT2): New macro. - (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_EXT2. - * opcode/mips.h (ASE_LOONGSON_EXT2): New macro. - -2018-08-29 Chenghua Xu - - * elf/mips.h (AFL_ASE_LOONGSON_EXT): New macro. - (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_EXT. - * opcode/mips.h (ASE_LOONGSON_EXT): New macro. - -2018-08-29 Chenghua Xu - - * elf/mips.h (AFL_ASE_LOONGSON_CAM): New macro. - (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_CAM. - * opcode/mips.h (ASE_LOONGSON_CAM): New macro. - -2018-08-24 H.J. Lu - - * elf/common.h (GNU_PROPERTY_X86_ISA_1_USED): Renamed to ... - (GNU_PROPERTY_X86_COMPAT_ISA_1_USED): This. - (GNU_PROPERTY_X86_ISA_1_NEEDED): Renamed to ... - (GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED): This. - (GNU_PROPERTY_X86_ISA_1_XXX): Renamed to ... - (GNU_PROPERTY_X86_COMPAT_ISA_1_XXX): This. - (GNU_PROPERTY_X86_UINT32_AND_LO): New. - (GNU_PROPERTY_X86_UINT32_AND_HI): Likewise. - (GNU_PROPERTY_X86_UINT32_OR_LO): Likewise. - (GNU_PROPERTY_X86_UINT32_OR_HI): Likewise. - (GNU_PROPERTY_X86_UINT32_OR_AND_LO): Likewise. - (GNU_PROPERTY_X86_UINT32_OR_AND_HI): Likewise. - (GNU_PROPERTY_X86_ISA_1_CMOV): Likewise. - (GNU_PROPERTY_X86_ISA_1_SSE): Likewise. - (GNU_PROPERTY_X86_ISA_1_SSE2): Likewise. - (GNU_PROPERTY_X86_ISA_1_SSE3): Likewise. - (GNU_PROPERTY_X86_ISA_1_SSSE3): Likewise. - (GNU_PROPERTY_X86_ISA_1_SSE4_1): Likewise. - (GNU_PROPERTY_X86_ISA_1_SSE4_2): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX2): Likewise. - (GNU_PROPERTY_X86_ISA_1_FMA): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512F): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512CD): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512ER): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512PF): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512VL): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512BW): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512_4FMAPS): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512_4VNNIW): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512_BITALG): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512_IFMA): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512_VBMI): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2): Likewise. - (GNU_PROPERTY_X86_ISA_1_AVX512_VNNI): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_X86): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_X87): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_MMX): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_XMM): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_YMM): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_ZMM): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_FXSR): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_XSAVE): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT): Likewise. - (GNU_PROPERTY_X86_FEATURE_2_XSAVEC): Likewise. - (GNU_PROPERTY_X86_FEATURE_1_AND): Updated to - (GNU_PROPERTY_X86_UINT32_AND_LO + 0). - (GNU_PROPERTY_X86_ISA_1_NEEDED): Defined to - (GNU_PROPERTY_X86_UINT32_OR_LO + 0). - (GNU_PROPERTY_X86_FEATURE_2_NEEDED): New. Defined to - (GNU_PROPERTY_X86_UINT32_OR_LO + 1). - (GNU_PROPERTY_X86_ISA_1_USED): Defined to - (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 0). - (GNU_PROPERTY_X86_FEATURE_2_USED): New. Defined to - (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1). - -2018-08-24 H.J. Lu - - * elf/common.h (GNU_PROPERTY_X86_UINT32_VALID): New. - -2018-08-21 John Darrington - - * elf/s12z.h: Rename R_S12Z_UKNWN_3 to R_S12Z_EXT18. - -2018-08-21 Alan Modra - - * opcode/ppc.h (struct powerpc_operand): Correct "insert" comment. - Mention use of "extract" function to provide default value. - (PPC_OPERAND_OPTIONAL_VALUE): Delete. - (ppc_optional_operand_value): Rewrite to use extract function. - -2018-08-18 John Darrington - - * opcode/s12z.h: New file. - -2018-08-09 Richard Earnshaw - - * elf/arm.h: Updated comments for e_flags definitions. - -2018-08-06 Claudiu Zissulescu - - * elf/arc.h (Tag_ARC_ATR_version): New tag. - -2018-08-06 Claudiu Zissulescu - - * opcode/arc.h (ARC_OPCODE_ARCV1): Define. - -2018-08-01 Richard Earnshaw - - Copy over from GCC - 2018-07-26 Martin Liska - - PR lto/86548 - * libiberty.h (make_temp_file_with_prefix): New function. - -2018-07-30 Jim Wilson - - * opcode/riscv.h (INSN_TYPE, INSN_BRANCH, INSN_CONDBRANCH, INSN_JSR) - (INSN_DREF, INSN_DATA_SIZE, INSN_DATA_SIZE_SHIFT, INSN_1_BYTE) - (INSN_2_BYTE, INSN_4_BYTE, INSN_8_BYTE, INSN_16_BYTE): New. - -2018-07-30 Andrew Jenner - - * elf/common.h (EM_CSKY, EM_CSKY_OLD): Define. - * elf/csky.h: New file. - -2018-07-27 Chenghua Xu - Maciej W. Rozycki - - * elf/mips.h (AFL_ASE_MASK): Correct typo. - -2018-07-26 Alex Chadwick - - * opcode/ppc.h (PPC_OPCODE_750): Adjust comment. - -2018-07-26 Alan Modra - - * elf/ppc64.h: Specify byte offset to local entry for values - of two to six in STO_PPC64_LOCAL_MASK. Clarify r2 return - value for such functions when entering via global entry point. - Specify meaning of a value of one in STO_PPC64_LOCAL_MASK. - -2018-07-24 Alan Modra - - PR 23430 - * elf/common.h (SHT_SYMTAB_SHNDX): Fix comment typo. - -2018-07-20 Chenghua Xu - Maciej W. Rozycki - - * elf/mips.h (AFL_ASE_MMI): New macro. - (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_MMI. - * opcode/mips.h (ASE_LOONGSON_MMI): New macro. - -2018-07-17 Maciej W. Rozycki - - * bfdlink.h (bfd_link_hash_entry): Add `rel_from_abs' member. - -2018-07-06 Alan Modra - - * diagnostics.h: Comment on macro usage. - -2018-07-05 Simon Marchi - - * diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS): - Define for clang. - -2018-07-02 Maciej W. Rozycki - - PR tdep/8282 - * dis-asm.h (disasm_option_arg_t): New typedef. - (disasm_options_and_args_t): Likewise. - (disasm_options_t): Add `arg' member, document members. - (disassembler_options_mips): New prototype. - (disassembler_options_arm, disassembler_options_powerpc) - (disassembler_options_s390): Update prototypes. - -2018-06-29 Tamar Christina - - PR binutils/23192 - *opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_Em16. - -2018-06-26 Alan Modra - - * elf/internal.h (ELF_SECTION_IN_SEGMENT): Revert last change. - 2018-06-24 Nick Clifton - 2.31 branch created. - -2018-06-21 Alan Hayward - - * elf/internal.h (ELF_SECTION_IN_SEGMENT): Don’t check addresses - for non SHT_NOBITS. - -2018-06-19 Simon Marchi - - Sync with GCC - - 2018-05-24 Tom Rix - - * dwarf2.def (DW_FORM_strx*, DW_FORM_addrx*): New. - - 2017-11-20 Kito Cheng - - * longlong.h [__riscv] (__umulsidi3): Define. - [__riscv] (umul_ppmm): Likewise. - [__riscv] (__muluw3): Likewise. - -2018-06-14 Faraz Shahbazker - - * elf/mips.h (AFL_ASE_GINV, AFL_ASE_RESERVED1): New macros. - (AFL_ASE_MASK): Update to include AFL_ASE_GINV. - * opcode/mips.h: Document "+\" operand format. - (ASE_GINV): New macro. - -2018-06-13 Scott Egerton - Faraz Shahbazker - - * elf/mips.h (AFL_ASE_CRC): New macro. - (AFL_ASE_MASK): Update to include AFL_ASE_CRC. - * opcode/mips.h (ASE_CRC): New macro. - * opcode/mips.h (ASE_CRC64): Likewise. - -2018-06-04 Max Filippov - - * elf/xtensa.h (xtensa_read_table_entries) - (xtensa_compute_fill_extra_space): New declarations. - -2018-06-04 H.J. Lu - - * diagnostics.h (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): Always - define for GCC. - -2018-06-04 H.J. Lu - - * diagnostics.h (DIAGNOSTIC_STRINGIFY_1): New. - (DIAGNOSTIC_STRINGIFY): Likewise. - (DIAGNOSTIC_IGNORE): Replace STRINGIFY with DIAGNOSTIC_STRINGIFY. - (DIAGNOSTIC_IGNORE_SELF_MOVE): Define empty if not defined. - (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Likewise. - (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): Likewise. - (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Likewise. - (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): New. - -2018-06-01 H.J. Lu - - * diagnostics.h: Moved from ../gdb/common/diagnostics.h. - -2018-05-28 Bernd Edlinger - - * splay-tree.h (splay_tree_compare_strings, - splay_tree_delete_pointers): Declare new utility functions. - -2018-05-21 Peter Bergner - - * opcode/ppc.h (PPC_OPERAND_FAKE): Delete macro. - -2018-05-18 Kito Cheng - - * elf/riscv.h (EF_RISCV_RVE): New define. - -2018-05-18 John Darrington - - * elf/s12z.h: New header. - -2018-05-15 Tamar Christina - - PR binutils/21446 - * opcode/aarch64.h (F_SYS_READ, F_SYS_WRITE): New. - -2018-05-15 Tamar Christina - - PR binutils/21446 - * opcode/aarch64.h (aarch64_operand_error): Add non_fatal. - (aarch64_print_operand): Support notes. - -2018-05-15 Tamar Christina - - PR binutils/21446 - * opcode/aarch64.h (aarch64_opnd_info): Change sysreg to struct. - (aarch64_decode_insn): Accept error struct. - -2018-05-15 Francois H. Theron - - * opcode/nfp.h: Use uint64_t instead of bfd_vma. - -2018-05-10 John Darrington - - * elf/common.h (EM_S12Z): New macro. - -2018-05-09 Sebastian Rasmussen - - * mach-o/unwind.h (MACH_O_UNWIND_X86_64_RBP_FRAME_REGISTERS): - Rename from MACH_O_UNWIND_X86_64_RBP_FRAME_REGSITERS. - (MACH_O_UNWIND_X86_EBP_FRAME_REGISTERS): Rename from - MACH_O_UNWIND_X86_EBP_FRAME_REGSITERS. - -2018-05-08 Jim Wilson - - * opcode/riscv-opc.h (MATCH_C_SRLI64, MASK_C_SRLI64): New. - (MATCH_C_SRAI64, MASK_C_SRAI64): New. - (MATCH_C_SLLI64, MASK_C_SLLI64): New. - -2018-05-07 Peter Bergner - - * opcode/ppc.h (powerpc_num_opcodes): Change type to unsigned. - (vle_num_opcodes): Likewise. - (spe2_num_opcodes): Likewise. - -2018-05-04 Alan Modra - - * ansidecl.h: Import from gcc. - * coff/internal.h (struct internal_scnhdr): Add ATTRIBUTE_NONSTRING - to s_name. - (struct internal_syment): Add ATTRIBUTE_NONSTRING to _n_name. - -2018-04-30 Francois H. Theron - - * dis-asm.h: Added print_nfp_disassembler_options prototype. - * elf/common.h: Added EM_NFP, officially assigned. See Google Group - Generic System V Application Binary Interface. - * elf/nfp.h: New, for NFP support. - * opcode/nfp.h: New, for NFP support. - -2018-04-25 Christophe Lyon - Mickaël Guêné - - * elf/arm.h: Add R_ARM_TLS_GD32_FDPIC, R_ARM_TLS_LDM32_FDPIC, - R_ARM_TLS_IE32_FDPIC. - -2018-04-25 Christophe Lyon - Mickaël Guêné - - * elf/arm.h (R_ARM_GOTFUNCDESC, R_ARM_GOTOFFFUNCDESC) - (R_ARM_FUNCDESC) - (R_ARM_FUNCDESC_VALUE): Define new relocations. - -2018-04-25 Christophe Lyon - Mickaël Guêné - - * elf/arm.h (EF_ARM_FDPIC): New. - -2018-04-18 Alan Modra - - * coff/mipspe.h: Delete. - -2018-04-18 Alan Modra - - * aout/dynix3.h: Delete. - -2018-04-17 Andrew Sadek - - Microblaze Target: PIC data text relative - - * bfdlink.h (Add flag): Add new flag @ 'bfd_link_info' struct. - * elf/microblaze.h (Add 3 new relocations): - R_MICROBLAZE_TEXTPCREL_64, R_MICROBLAZE_TEXTREL_64 - and R_MICROBLAZE_TEXTREL_32_LO for relax function. - -2018-04-17 Alan Modra - - * elf/i370.h: Revert removal. - * elf/i860.h: Likewise. - * elf/i960.h: Likewise. - -2018-04-16 Alan Modra - - * coff/sparc.h: Delete. - -2018-04-16 Alan Modra - - * aout/host.h: Remove m68k-aout and m68k-coff support. - * aout/hp300hpux.h: Delete. - * coff/apollo.h: Delete. - * coff/aux-coff.h: Delete. - * coff/m68k.h: Delete. - -2018-04-16 Alan Modra - - * dis-asm.h: Remove sh5 and sh64 support. - -2018-04-16 Alan Modra - - * coff/internal.h: Remove w65 support. - * coff/w65.h: Delete. - -2018-04-16 Alan Modra - - * coff/we32k.h: Delete. - -2018-04-16 Alan Modra - - * coff/internal.h: Remove m88k support. - * coff/m88k.h: Delete. - * opcode/m88k.h: Delete. - -2018-04-16 Alan Modra - - * elf/i370.h: Delete. - * opcode/i370.h: Delete. - -2018-04-16 Alan Modra - - * coff/h8500.h: Delete. - * coff/internal.h: Remove h8500 support. - -2018-04-16 Alan Modra - - * coff/h8300.h: Delete. - -2018-04-16 Alan Modra - - * ieee.h: Delete. - -2018-04-16 Alan Modra - - * aout/host.h: Remove newsos3 support. - -2018-04-16 Alan Modra - - * nlm/ChangeLog-9315: Delete. - * nlm/alpha-ext.h: Delete. - * nlm/common.h: Delete. - * nlm/external.h: Delete. - * nlm/i386-ext.h: Delete. - * nlm/internal.h: Delete. - * nlm/ppc-ext.h: Delete. - * nlm/sparc32-ext.h: Delete. - -2018-04-16 Alan Modra - - * opcode/tahoe.h: Delete. - -2018-04-11 Alan Modra - - * aout/adobe.h: Delete. - * aout/reloc.h: Delete. - * coff/i860.h: Delete. - * coff/i960.h: Delete. - * elf/i860.h: Delete. - * elf/i960.h: Delete. - * opcode/i860.h: Delete. - * opcode/i960.h: Delete. - * aout/aout64.h (enum reloc_type): Trim off 29k and other unused values. - * aout/ar.h (ARMAGB): Remove. - * coff/internal.h (struct internal_aouthdr, struct internal_scnhdr, - union internal_auxent): Remove i960 support. - -2018-04-09 Alan Modra - - * elf/ppc.h (R_PPC_PLTSEQ, R_PPC_PLTCALL): Define. - * elf/ppc64.h (R_PPC64_PLTSEQ, R_PPC64_PLTCALL): Define. - -2018-03-28 Renlin Li - - PR ld/22970 - * elf/aarch64.h: Add relocation number for - R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12, - R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12_NC, - R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12, - R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12_NC, - R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12, - R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12_NC, - R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12, - R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12_NC. - -2018-03-28 Nick Clifton - - PR 22988 - * opcode/aarch64.h (enum aarch64_opnd): Add - AARCH64_OPND_SVE_ADDR_R. - -2018-03-21 H.J. Lu - - * elf/common.h (DF_1_KMOD): New. - (DF_1_WEAKFILTER): Likewise. - (DF_1_NOCOMMON): Likewise. - -2018-03-14 Kito Cheng - - * opcode/riscv.h (OP_MASK_FUNCT3): New. - (OP_SH_FUNCT3): Likewise. - (OP_MASK_FUNCT7): Likewise. - (OP_SH_FUNCT7): Likewise. - (OP_MASK_OP2): Likewise. - (OP_SH_OP2): Likewise. - (OP_MASK_CFUNCT4): Likewise. - (OP_SH_CFUNCT4): Likewise. - (OP_MASK_CFUNCT3): Likewise. - (OP_SH_CFUNCT3): Likewise. - (riscv_insn_types): Likewise. - -2018-03-13 Nick Clifton - - PR 22113 - * coff/pe.h (struct pex64_unwind_info): Add a rawUnwindCodesEnd - field. - -2018-03-08 H.J. Lu - - * opcode/i386 (OLDGCC_COMPAT): Removed. + 2.32 branch created. -2018-02-27 Thomas Preud'homme +2019-01-16 Kito Cheng - * opcode/arm.h (ARM_FEATURE_COPY): Remove macro definition. + * elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define. + (Tag_RISCV_arch): Likewise. + (Tag_RISCV_priv_spec): Likewise. + (Tag_RISCV_priv_spec_minor): Likewise. + (Tag_RISCV_priv_spec_revision): Likewise. + (Tag_RISCV_unaligned_access): Likewise. + (Tag_RISCV_stack_align): Likewise. -2018-02-20 Maciej W. Rozycki +2019-01-14 Pavel I. Kryukov - * opcode/mips.h: Remove `M' operand code. + * dis-asm.h: include -2018-02-12 Zebediah Figura +2019-01-10 Nick Clifton - * coff/msdos.h: New header. - * coff/pe.h: Move common defines to msdos.h. - * coff/powerpc.h: Likewise. + * Merge from GCC: + 2018-12-22 Jason Merrill -2018-01-13 Nick Clifton + * demangle.h: Remove support for ancient GNU (pre-3.0), Lucid, + ARM, HP, and EDG demangling styles. - 2.30 branch created. +2019-01-09 Sandra Loosemore -2018-01-11 H.J. Lu + Merge from GCC: + PR other/16615 - PR ld/22393 - * bfdlink.h (bfd_link_info): Add separate_code. + * libiberty.h: Mechanically replace "can not" with "cannot". + * plugin-api.h: Likewise. -2018-01-04 Jim Wilson +2018-12-25 Yoshinori Sato - * opcode/riscv-opc.h (CSR_SBADADDR): Rename to CSR_STVAL. Rename - DECLARE_CSR entry. Add alias to map sbadaddr to CSR_STVAL. - (CSR_MBADADDR): Rename to CSR_MTVAL. Rename DECLARE_CSR entry. - Add alias to map mbadaddr to CSR_MTVAL. + * elf/rx.h (EF_RX_CPU_MASK): Update new bits. + (E_FLAG_RX_V3): New RXv3 type. + * opcode/rx.h (RX_Size): Add double size. + (RX_Operand_Type): Add double FPU registers. + (RX_Opcode_ID): Add new instuctions. -2018-01-03 Alan Modra +2019-01-01 Alan Modra Update year range in copyright notice of all files. -For older changes see ChangeLog-2017 +For older changes see ChangeLog-2018 -Copyright (C) 2018 Free Software Foundation, Inc. +Copyright (C) 2019 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff -Nru libiberty-20181121/include/ChangeLog-2018 libiberty-20190122/include/ChangeLog-2018 --- libiberty-20181121/include/ChangeLog-2018 1970-01-01 00:00:00.000000000 +0000 +++ libiberty-20190122/include/ChangeLog-2018 2019-01-18 07:41:42.000000000 +0000 @@ -0,0 +1,890 @@ +2018-12-28 Alan Modra + + PR 24028 + * opcode/ppc.h (PPC_INT_FMT): Delete. + +2018-12-14 H.J. Lu + + PR ld/23900 + * elf/common.h (PT_GNU_PROPERTY): New. + (GNU_PROPERTY_X86_UINT32_VALID): Removed. + +2018-12-11 Nick Clifton + + PR 88409 + * demangle.h (DEMANGLE_RECURSION_LIMIT): Increase to 2048. + +2018-12-07 H.J. Lu + + * bfdlink.h (bfd_link_info): Add has_map_file. + +2018-12-07 Nick Clifton + + * demangle.h (DMGL_NO_RECURSE_LIMIT): Define. + (DEMANGLE_RECURSION_LIMIT): Define + +2018-12-06 Alan Modra + + * opcode/ppc.h (E_OPCODE_MASK, E_LI_MASK, E_LI_INSN): Define. + +2018-12-06 Andrew Burgess + + * dis-asm.h (riscv_symbol_is_valid): Declare. + * opcode/riscv.h (RISCV_FAKE_LABEL_NAME): Define. + (RISCV_FAKE_LABEL_CHAR): Define. + +2018-12-03 Kito Cheng + + * opcode/riscv.h (riscv_opcode): Change type of xlen_requirement to + unsigned. + +2018-11-27 Jim Wilson + + * opcode/riscv.h (OP_MASK_CFUNCT6, OP_SH_CFUNCT6): New. + (OP_MASK_CFUNCT2, OP_SH_CFUNCT2): New. + +2018-11-13 Thomas Preud'homme + + * opcode/arm.h (ARM_AEXT_V6M_ONLY): Merge into its use in ARM_AEXT_V6M. + (ARM_ARCH_V6M_ONLY): Remove. + (ARM_EXT_V1, ARM_EXT_V2, ARM_EXT_V2S, ARM_EXT_V3, ARM_EXT_V3M, + ARM_EXT_V4, ARM_EXT_V4T, ARM_EXT_V5, ARM_EXT_V5T, ARM_EXT_V5ExP, + ARM_EXT_V5E, ARM_EXT_V5J, ARM_EXT_V6, ARM_EXT_V6K, ARM_EXT_V8, + ARM_EXT_V6T2, ARM_EXT_DIV, ARM_EXT_V5E_NOTM, ARM_EXT_V6_NOTM, + ARM_EXT_V7, ARM_EXT_V7A, ARM_EXT_V7R, ARM_EXT_V7M, ARM_EXT_V6M, + ARM_EXT_BARRIER, ARM_EXT_THUMB_MSR, ARM_EXT_V6_DSP, ARM_EXT_MP, + ARM_EXT_SEC, ARM_EXT_OS, ARM_EXT_ADIV, ARM_EXT_VIRT, ARM_EXT2_PAN, + ARM_EXT2_V8_2A, ARM_EXT2_V8M, ARM_EXT2_ATOMICS, ARM_EXT2_V6T2_V8M, + ARM_EXT2_FP16_INST, ARM_EXT2_V8M_MAIN, ARM_EXT2_RAS, ARM_EXT2_V8_3A, + ARM_EXT2_V8A, ARM_EXT2_V8_4A, ARM_EXT2_FP16_FML, ARM_EXT2_V8_5A, + ARM_EXT2_SB, ARM_EXT2_PREDRES, ARM_CEXT_XSCALE, ARM_CEXT_MAVERICK, + ARM_CEXT_IWMMXT, ARM_CEXT_IWMMXT2, FPU_ENDIAN_PURE, FPU_ENDIAN_BIG, + FPU_FPA_EXT_V1, FPU_FPA_EXT_V2, FPU_MAVERICK, FPU_VFP_EXT_V1xD, + FPU_VFP_EXT_V1, FPU_VFP_EXT_V2, FPU_VFP_EXT_V3xD, FPU_VFP_EXT_V3, + FPU_NEON_EXT_V1, FPU_VFP_EXT_D32, FPU_VFP_EXT_FP16, FPU_NEON_EXT_FMA, + FPU_VFP_EXT_FMA, FPU_VFP_EXT_ARMV8, FPU_NEON_EXT_ARMV8, + FPU_CRYPTO_EXT_ARMV8, CRC_EXT_ARMV8, FPU_VFP_EXT_ARMV8xD, + FPU_NEON_EXT_RDMA, FPU_NEON_EXT_DOTPROD, ARM_AEXT_V1, ARM_AEXT_V2, + ARM_AEXT_V2S, ARM_AEXT_V3, ARM_AEXT_V3M, ARM_AEXT_V4xM, ARM_AEXT_V4, + ARM_AEXT_V4TxM, ARM_AEXT_V4T, ARM_AEXT_V5xM, ARM_AEXT_V5, + ARM_AEXT_V5TxM, ARM_AEXT_V5T, ARM_AEXT_V5TExP, ARM_AEXT_V5TE, + ARM_AEXT_V5TEJ, ARM_AEXT_V6, ARM_AEXT_V6K, ARM_AEXT_V6Z, ARM_AEXT_V6KZ, + ARM_AEXT_V6T2, ARM_AEXT_V6KT2, ARM_AEXT_V6ZT2, ARM_AEXT_V6KZT2, + ARM_AEXT_V7_ARM, ARM_AEXT_V7A, ARM_AEXT_V7VE, ARM_AEXT_V7R, + ARM_AEXT_NOTM, ARM_AEXT_V6M_ONLY, ARM_AEXT_V6M, ARM_AEXT_V6SM, + ARM_AEXT_V7M, ARM_AEXT_V7, ARM_AEXT_V7EM, ARM_AEXT_V8A, ARM_AEXT2_V8A, + ARM_AEXT2_V8_1A, ARM_AEXT2_V8_2A, ARM_AEXT2_V8_3A, ARM_AEXT2_V8_4A, + ARM_AEXT2_V8_5A, ARM_AEXT_V8M_BASE, ARM_AEXT_V8M_MAIN, + ARM_AEXT_V8M_MAIN_DSP, ARM_AEXT2_V8M, ARM_AEXT2_V8M_BASE, + ARM_AEXT2_V8M_MAIN, ARM_AEXT2_V8M_MAIN_DSP, ARM_AEXT_V8R, + ARM_AEXT2_V8R, FPU_VFP_V1xD, FPU_VFP_V1, FPU_VFP_V2, FPU_VFP_V3D16, + FPU_VFP_V3, FPU_VFP_V3xD, FPU_VFP_V4D16, FPU_VFP_V4, FPU_VFP_V4_SP_D16, + FPU_VFP_V5D16, FPU_VFP_ARMV8, FPU_NEON_ARMV8, FPU_CRYPTO_ARMV8, + FPU_VFP_HARD, FPU_FPA, FPU_ARCH_VFP, FPU_ARCH_FPE, FPU_ARCH_FPA, + FPU_ARCH_VFP_V1xD, FPU_ARCH_VFP_V1, FPU_ARCH_VFP_V2, + FPU_ARCH_VFP_V3D16_FP16, FPU_ARCH_VFP_V3, FPU_ARCH_VFP_V3_FP16, + FPU_ARCH_VFP_V3xD_FP16, FPU_ARCH_NEON_V1, FPU_ARCH_VFP_V3_PLUS_NEON_V1, + FPU_ARCH_NEON_FP16, FPU_ARCH_VFP_HARD, FPU_ARCH_VFP_V4, + FPU_ARCH_VFP_V4D16, FPU_ARCH_VFP_V4_SP_D16, FPU_ARCH_VFP_V5D16, + FPU_ARCH_VFP_V5_SP_D16, FPU_ARCH_NEON_VFP_V4, FPU_ARCH_VFP_ARMV8, + FPU_ARCH_NEON_VFP_ARMV8, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD, ARCH_CRC_ARMV8, + FPU_ARCH_NEON_VFP_ARMV8_1, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1, + FPU_ARCH_DOTPROD_NEON_VFP_ARMV8, ARM_ARCH_V1, ARM_ARCH_V2, + ARM_ARCH_V2S, ARM_ARCH_V3, ARM_ARCH_V3M, ARM_ARCH_V4xM, ARM_ARCH_V4, + ARM_ARCH_V4TxM, ARM_ARCH_V4T, ARM_ARCH_V5xM, ARM_ARCH_V5, + ARM_ARCH_V5TxM, ARM_ARCH_V5T, ARM_ARCH_V5TExP, ARM_ARCH_V5TE, + ARM_ARCH_V5TEJ, ARM_ARCH_V6, ARM_ARCH_V6K, ARM_ARCH_V6Z, ARM_ARCH_V6KZ, + ARM_ARCH_V6T2, ARM_ARCH_V6KT2, ARM_ARCH_V6ZT2, ARM_ARCH_V6KZT2, + ARM_ARCH_V6M, ARM_ARCH_V6SM, ARM_ARCH_V7, ARM_ARCH_V7A, ARM_ARCH_V7VE, + ARM_ARCH_V7R, ARM_ARCH_V7M, ARM_ARCH_V7EM, ARM_ARCH_V8A, + ARM_ARCH_V8A_CRC, ARM_ARCH_V8_1A, ARM_ARCH_V8_2A, ARM_ARCH_V8_3A, + ARM_ARCH_V8_4A, ARM_ARCH_V8_5A, ARM_ARCH_V8M_BASE, ARM_ARCH_V8M_MAIN, + ARM_ARCH_V8M_MAIN_DSP, ARM_ARCH_V8R): Reindent. + +2018-11-12 Sudakshina Das + + * opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_ADDR_SIMPLE_2. + (aarch64_insn_class): Add ldstgv_indexed. + +2018-11-12 Sudakshina Das + + * opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_ADDR_SIMM11 + and AARCH64_OPND_ADDR_SIMM13. + (aarch64_opnd_qualifier): Add new AARCH64_OPND_QLF_imm_tag. + +2018-11-12 Sudakshina Das + + * opcode/aarch64.h (aarch64_opnd): Add + AARCH64_OPND_UIMM4_ADDG and AARCH64_OPND_UIMM10 as new enums. + +2018-11-12 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_MEMTAG): New. + +2018-11-07 Roman Bolshakov + Saagar Jha + + * mach-o/external.h (mach_o_nversion_min_command_external): Rename + reserved to sdk. + (mach_o_note_command_external): New. + (mach_o_build_version_command_external): New. + * mach-o/loader.h (BFD_MACH_O_LC_VERSION_MIN_TVOS): Define. + (BFD_MACH_O_LC_NOTE): Define. + +2018-11-06 Romain Margheriti + + PR 23742 + * mach-o/loader.h: Add BFD_MACH_O_LC_BUILD_VERSION. + +2018-11-06 Sudakshina Das + + * opcode/arm.h (ARM_ARCH_V8_5A): Move ARM_EXT2_PREDRES and + ARM_EXT2_SB to ... + (ARM_AEXT2_V8_5A): Here. + +2018-10-26 John Baldwin + + * elf/common.h (AT_FREEBSD_HWCAP2): Define. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_SSBS): New. + (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_SSBS by default. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_SCXTNUM): New. + (AARCH64_FEATURE_ID_PFR2): New. + (AARCH64_ARCH_V8_5): Add both by default. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_BTI): New. + (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_BTI by default. + (aarch64_opnd): Add AARCH64_OPND_BTI_TARGET. + (HINT_OPD_CSYNC, HINT_OPD_C, HINT_OPD_J): New macros to + define HINT #imm values. + (HINT_OPD_JC, HINT_OPD_NULL): Likewise. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_RNG): New. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_CVADP): New. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_PREDRES): New. + (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_PREDRES by default. + (aarch64_opnd): Add AARCH64_OPND_SYSREG_SR. + (aarch64_sys_regs_sr): Declare new table. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_SB): New. + (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_SB by default. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_FLAGMANIP): New. + (AARCH64_FEATURE_FRINTTS): New. + (AARCH64_ARCH_V8_5): Add both by default. + +2018-10-09 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_V8_5): New. + (AARCH64_ARCH_V8_5): New. + +2018-10-08 Alan Modra + + * bfdlink.h (struct bfd_link_info): Add load_phdrs field. + +2018-10-05 Sudakshina Das + + * opcode/arm.h (ARM_EXT2_PREDRES): New. + (ARM_ARCH_V8_5A): Add ARM_EXT2_PREDRES by default. + +2018-10-05 Sudakshina Das + + * opcode/arm.h (ARM_EXT2_SB): New. + (ARM_ARCH_V8_5A): Add ARM_EXT2_SB by default. + +2018-10-05 Sudakshina Das + + * opcode/arm.h (ARM_EXT2_V8_5A): New. + (ARM_AEXT2_V8_5A, ARM_ARCH_V8_5A): New. + +2018-10-05 Richard Henderson + + * elf/or1k.h (elf_or1k_reloc_type): Add R_OR1K_PCREL_PG21, + R_OR1K_GOT_PG21, R_OR1K_TLS_GD_PG21, R_OR1K_TLS_LDM_PG21, + R_OR1K_TLS_IE_PG21, R_OR1K_LO13, R_OR1K_GOT_LO13, + R_OR1K_TLS_GD_LO13, R_OR1K_TLS_LDM_LO13, R_OR1K_TLS_IE_LO13, + R_OR1K_SLO13, R_OR1K_PLTA26. + +2018-10-05 Richard Henderson + + * elf/or1k.h (elf_or1k_reloc_type): Add R_OR1K_AHI16, + R_OR1K_GOTOFF_AHI16, R_OR1K_TLS_IE_AHI16, R_OR1K_TLS_LE_AHI16, + R_OR1K_SLO16, R_OR1K_GOTOFF_SLO16, R_OR1K_TLS_LE_SLO16. + +2018-10-03 Tamar Christina + + * opcode/aarch64.h (aarch64_inst): Remove. + (enum err_type): Add ERR_VFI. + (aarch64_is_destructive_by_operands): New. + (init_insn_sequence): New. + (aarch64_decode_insn): Remove param name. + +2018-10-03 Tamar Christina + + * opcode/aarch64.h (struct aarch64_opcode): Expand verifiers to take + more arguments. + +2018-10-03 Tamar Christina + + * opcode/aarch64.h (enum err_type): New. + (aarch64_decode_insn): Use it. + +2018-10-03 Tamar Christina + + * opcode/aarch64.h (struct aarch64_instr_sequence): New. + (aarch64_opcode_encode): Use it. + +2018-10-03 Tamar Christina + + * opcode/aarch64.h (struct aarch64_opcode): Add constraints, + extend flags field size. + (F_SCAN, C_SCAN_MOVPRFX, C_MAX_ELEM): New. + +2018-10-03 John Darrington + + * dis-asm.h (print_insn_s12z): New declaration. + +2018-10-02 Palmer Dabbelt + + * opcode/riscv-opc.h (MATCH_FENCE_TSO): New define. + (MASK_FENCE_TSO): Likewise. + +2018-10-01 Cupertino Miranda + + * arc-reloc.def (ARC_TLS_LE_32): Updated reloc formula. + +2018-09-21 H.J. Lu + + PR binutils/23694 + * include/elf/internal.h (ELF_SECTION_IN_SEGMENT_1): Don't + include zero size sections at start of PT_NOTE segment. + +2018-09-20 Nelson Chu + + * elf/nds32.h: Remove the unused target features. + * dis-asm.h (disassemble_init_nds32): Declared. + * elf/nds32.h (E_NDS32_NULL): Removed. + (E_NDS32_HAS_DSP_INST, E_NDS32_HAS_ZOL): New. + * opcode/nds32.h: Ident. + (N32_SUB6, INSN_LW): New macros. + (enum n32_opcodes): Updated. + * elf/nds32.h: Doc fixes. + * elf/nds32.h: Add R_NDS32_LSI. + * elf/nds32.h: Add new relocations for TLS. + +2018-09-20 Rainer Orth + + * elf/common.h (AT_SUN_HWCAP): Rename to ... + (AT_SUN_CAP_HW1): ... this. Retain old name for backward + compatibility. + (AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1) + (AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2): Define. + +2018-09-05 Simon Marchi + + * diagnostics.h (DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL): New macro. + +2018-08-31 Alan Modra + + * elf/ppc64.h (R_PPC64_REL16_HIGH, R_PPC64_REL16_HIGHA), + (R_PPC64_REL16_HIGHER, R_PPC64_REL16_HIGHERA), + (R_PPC64_REL16_HIGHEST, R_PPC64_REL16_HIGHESTA): Define. + (R_PPC64_LO_DS_OPT, R_PPC64_16DX_HA): Bump value. + +2018-08-30 Kito Cheng + + * opcode/riscv.h (MAX_SUBSET_NUM): New. + (riscv_opcode): Add xlen_requirement field and change type of + subset. + +2018-08-29 Chenghua Xu + + * elf/mips.h (E_MIPS_MACH_XXX): New E_MIPS_MACH_GS264E. + * opcode/mips.h (CPU_XXX): New CPU_GS264E. + +2018-08-29 Chenghua Xu + + * elf/mips.h (E_MIPS_MACH_XXX): New E_MIPS_MACH_GS464E. + * opcode/mips.h (CPU_XXX): New CPU_GS464E. + +2018-08-29 Chenghua Xu + + * elf/mips.h (E_MIPS_MACH_XXX): Rename E_MIPS_MACH_LS3A to + E_MIPS_MACH_GS464. + (AFL_EXT_XXX): Delete AFL_EXT_LOONGSON_3A. + * opcode/mips.h (INSN_XXX): Delete INSN_LOONGSON_3A. + (CPU_XXX): Rename CPU_LOONGSON_3A to CPU_GS464. + * opcode/mips.h (mips_isa_table): Delete CPU_LOONGSON_3A case. + +2018-08-29 Chenghua Xu + + * elf/mips.h (AFL_ASE_LOONGSON_EXT2): New macro. + (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_EXT2. + * opcode/mips.h (ASE_LOONGSON_EXT2): New macro. + +2018-08-29 Chenghua Xu + + * elf/mips.h (AFL_ASE_LOONGSON_EXT): New macro. + (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_EXT. + * opcode/mips.h (ASE_LOONGSON_EXT): New macro. + +2018-08-29 Chenghua Xu + + * elf/mips.h (AFL_ASE_LOONGSON_CAM): New macro. + (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_CAM. + * opcode/mips.h (ASE_LOONGSON_CAM): New macro. + +2018-08-24 H.J. Lu + + * elf/common.h (GNU_PROPERTY_X86_ISA_1_USED): Renamed to ... + (GNU_PROPERTY_X86_COMPAT_ISA_1_USED): This. + (GNU_PROPERTY_X86_ISA_1_NEEDED): Renamed to ... + (GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED): This. + (GNU_PROPERTY_X86_ISA_1_XXX): Renamed to ... + (GNU_PROPERTY_X86_COMPAT_ISA_1_XXX): This. + (GNU_PROPERTY_X86_UINT32_AND_LO): New. + (GNU_PROPERTY_X86_UINT32_AND_HI): Likewise. + (GNU_PROPERTY_X86_UINT32_OR_LO): Likewise. + (GNU_PROPERTY_X86_UINT32_OR_HI): Likewise. + (GNU_PROPERTY_X86_UINT32_OR_AND_LO): Likewise. + (GNU_PROPERTY_X86_UINT32_OR_AND_HI): Likewise. + (GNU_PROPERTY_X86_ISA_1_CMOV): Likewise. + (GNU_PROPERTY_X86_ISA_1_SSE): Likewise. + (GNU_PROPERTY_X86_ISA_1_SSE2): Likewise. + (GNU_PROPERTY_X86_ISA_1_SSE3): Likewise. + (GNU_PROPERTY_X86_ISA_1_SSSE3): Likewise. + (GNU_PROPERTY_X86_ISA_1_SSE4_1): Likewise. + (GNU_PROPERTY_X86_ISA_1_SSE4_2): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX2): Likewise. + (GNU_PROPERTY_X86_ISA_1_FMA): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512F): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512CD): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512ER): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512PF): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512VL): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512BW): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512_4FMAPS): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512_4VNNIW): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512_BITALG): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512_IFMA): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512_VBMI): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2): Likewise. + (GNU_PROPERTY_X86_ISA_1_AVX512_VNNI): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_X86): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_X87): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_MMX): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_XMM): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_YMM): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_ZMM): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_FXSR): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_XSAVE): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_XSAVEC): Likewise. + (GNU_PROPERTY_X86_FEATURE_1_AND): Updated to + (GNU_PROPERTY_X86_UINT32_AND_LO + 0). + (GNU_PROPERTY_X86_ISA_1_NEEDED): Defined to + (GNU_PROPERTY_X86_UINT32_OR_LO + 0). + (GNU_PROPERTY_X86_FEATURE_2_NEEDED): New. Defined to + (GNU_PROPERTY_X86_UINT32_OR_LO + 1). + (GNU_PROPERTY_X86_ISA_1_USED): Defined to + (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 0). + (GNU_PROPERTY_X86_FEATURE_2_USED): New. Defined to + (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1). + +2018-08-24 H.J. Lu + + * elf/common.h (GNU_PROPERTY_X86_UINT32_VALID): New. + +2018-08-21 John Darrington + + * elf/s12z.h: Rename R_S12Z_UKNWN_3 to R_S12Z_EXT18. + +2018-08-21 Alan Modra + + * opcode/ppc.h (struct powerpc_operand): Correct "insert" comment. + Mention use of "extract" function to provide default value. + (PPC_OPERAND_OPTIONAL_VALUE): Delete. + (ppc_optional_operand_value): Rewrite to use extract function. + +2018-08-18 John Darrington + + * opcode/s12z.h: New file. + +2018-08-09 Richard Earnshaw + + * elf/arm.h: Updated comments for e_flags definitions. + +2018-08-06 Claudiu Zissulescu + + * elf/arc.h (Tag_ARC_ATR_version): New tag. + +2018-08-06 Claudiu Zissulescu + + * opcode/arc.h (ARC_OPCODE_ARCV1): Define. + +2018-08-01 Richard Earnshaw + + Copy over from GCC + 2018-07-26 Martin Liska + + PR lto/86548 + * libiberty.h (make_temp_file_with_prefix): New function. + +2018-07-30 Jim Wilson + + * opcode/riscv.h (INSN_TYPE, INSN_BRANCH, INSN_CONDBRANCH, INSN_JSR) + (INSN_DREF, INSN_DATA_SIZE, INSN_DATA_SIZE_SHIFT, INSN_1_BYTE) + (INSN_2_BYTE, INSN_4_BYTE, INSN_8_BYTE, INSN_16_BYTE): New. + +2018-07-30 Andrew Jenner + + * elf/common.h (EM_CSKY, EM_CSKY_OLD): Define. + * elf/csky.h: New file. + +2018-07-27 Chenghua Xu + Maciej W. Rozycki + + * elf/mips.h (AFL_ASE_MASK): Correct typo. + +2018-07-26 Alex Chadwick + + * opcode/ppc.h (PPC_OPCODE_750): Adjust comment. + +2018-07-26 Alan Modra + + * elf/ppc64.h: Specify byte offset to local entry for values + of two to six in STO_PPC64_LOCAL_MASK. Clarify r2 return + value for such functions when entering via global entry point. + Specify meaning of a value of one in STO_PPC64_LOCAL_MASK. + +2018-07-24 Alan Modra + + PR 23430 + * elf/common.h (SHT_SYMTAB_SHNDX): Fix comment typo. + +2018-07-20 Chenghua Xu + Maciej W. Rozycki + + * elf/mips.h (AFL_ASE_MMI): New macro. + (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_MMI. + * opcode/mips.h (ASE_LOONGSON_MMI): New macro. + +2018-07-17 Maciej W. Rozycki + + * bfdlink.h (bfd_link_hash_entry): Add `rel_from_abs' member. + +2018-07-06 Alan Modra + + * diagnostics.h: Comment on macro usage. + +2018-07-05 Simon Marchi + + * diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS): + Define for clang. + +2018-07-02 Maciej W. Rozycki + + PR tdep/8282 + * dis-asm.h (disasm_option_arg_t): New typedef. + (disasm_options_and_args_t): Likewise. + (disasm_options_t): Add `arg' member, document members. + (disassembler_options_mips): New prototype. + (disassembler_options_arm, disassembler_options_powerpc) + (disassembler_options_s390): Update prototypes. + +2018-06-29 Tamar Christina + + PR binutils/23192 + *opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_Em16. + +2018-06-26 Alan Modra + + * elf/internal.h (ELF_SECTION_IN_SEGMENT): Revert last change. + +2018-06-24 Nick Clifton + + 2.31 branch created. + +2018-06-21 Alan Hayward + + * elf/internal.h (ELF_SECTION_IN_SEGMENT): Don’t check addresses + for non SHT_NOBITS. + +2018-06-19 Simon Marchi + + Sync with GCC + + 2018-05-24 Tom Rix + + * dwarf2.def (DW_FORM_strx*, DW_FORM_addrx*): New. + + 2017-11-20 Kito Cheng + + * longlong.h [__riscv] (__umulsidi3): Define. + [__riscv] (umul_ppmm): Likewise. + [__riscv] (__muluw3): Likewise. + +2018-06-14 Faraz Shahbazker + + * elf/mips.h (AFL_ASE_GINV, AFL_ASE_RESERVED1): New macros. + (AFL_ASE_MASK): Update to include AFL_ASE_GINV. + * opcode/mips.h: Document "+\" operand format. + (ASE_GINV): New macro. + +2018-06-13 Scott Egerton + Faraz Shahbazker + + * elf/mips.h (AFL_ASE_CRC): New macro. + (AFL_ASE_MASK): Update to include AFL_ASE_CRC. + * opcode/mips.h (ASE_CRC): New macro. + * opcode/mips.h (ASE_CRC64): Likewise. + +2018-06-04 Max Filippov + + * elf/xtensa.h (xtensa_read_table_entries) + (xtensa_compute_fill_extra_space): New declarations. + +2018-06-04 H.J. Lu + + * diagnostics.h (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): Always + define for GCC. + +2018-06-04 H.J. Lu + + * diagnostics.h (DIAGNOSTIC_STRINGIFY_1): New. + (DIAGNOSTIC_STRINGIFY): Likewise. + (DIAGNOSTIC_IGNORE): Replace STRINGIFY with DIAGNOSTIC_STRINGIFY. + (DIAGNOSTIC_IGNORE_SELF_MOVE): Define empty if not defined. + (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Likewise. + (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): Likewise. + (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Likewise. + (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): New. + +2018-06-01 H.J. Lu + + * diagnostics.h: Moved from ../gdb/common/diagnostics.h. + +2018-05-28 Bernd Edlinger + + * splay-tree.h (splay_tree_compare_strings, + splay_tree_delete_pointers): Declare new utility functions. + +2018-05-21 Peter Bergner + + * opcode/ppc.h (PPC_OPERAND_FAKE): Delete macro. + +2018-05-18 Kito Cheng + + * elf/riscv.h (EF_RISCV_RVE): New define. + +2018-05-18 John Darrington + + * elf/s12z.h: New header. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * opcode/aarch64.h (F_SYS_READ, F_SYS_WRITE): New. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * opcode/aarch64.h (aarch64_operand_error): Add non_fatal. + (aarch64_print_operand): Support notes. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * opcode/aarch64.h (aarch64_opnd_info): Change sysreg to struct. + (aarch64_decode_insn): Accept error struct. + +2018-05-15 Francois H. Theron + + * opcode/nfp.h: Use uint64_t instead of bfd_vma. + +2018-05-10 John Darrington + + * elf/common.h (EM_S12Z): New macro. + +2018-05-09 Sebastian Rasmussen + + * mach-o/unwind.h (MACH_O_UNWIND_X86_64_RBP_FRAME_REGISTERS): + Rename from MACH_O_UNWIND_X86_64_RBP_FRAME_REGSITERS. + (MACH_O_UNWIND_X86_EBP_FRAME_REGISTERS): Rename from + MACH_O_UNWIND_X86_EBP_FRAME_REGSITERS. + +2018-05-08 Jim Wilson + + * opcode/riscv-opc.h (MATCH_C_SRLI64, MASK_C_SRLI64): New. + (MATCH_C_SRAI64, MASK_C_SRAI64): New. + (MATCH_C_SLLI64, MASK_C_SLLI64): New. + +2018-05-07 Peter Bergner + + * opcode/ppc.h (powerpc_num_opcodes): Change type to unsigned. + (vle_num_opcodes): Likewise. + (spe2_num_opcodes): Likewise. + +2018-05-04 Alan Modra + + * ansidecl.h: Import from gcc. + * coff/internal.h (struct internal_scnhdr): Add ATTRIBUTE_NONSTRING + to s_name. + (struct internal_syment): Add ATTRIBUTE_NONSTRING to _n_name. + +2018-04-30 Francois H. Theron + + * dis-asm.h: Added print_nfp_disassembler_options prototype. + * elf/common.h: Added EM_NFP, officially assigned. See Google Group + Generic System V Application Binary Interface. + * elf/nfp.h: New, for NFP support. + * opcode/nfp.h: New, for NFP support. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf/arm.h: Add R_ARM_TLS_GD32_FDPIC, R_ARM_TLS_LDM32_FDPIC, + R_ARM_TLS_IE32_FDPIC. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf/arm.h (R_ARM_GOTFUNCDESC, R_ARM_GOTOFFFUNCDESC) + (R_ARM_FUNCDESC) + (R_ARM_FUNCDESC_VALUE): Define new relocations. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf/arm.h (EF_ARM_FDPIC): New. + +2018-04-18 Alan Modra + + * coff/mipspe.h: Delete. + +2018-04-18 Alan Modra + + * aout/dynix3.h: Delete. + +2018-04-17 Andrew Sadek + + Microblaze Target: PIC data text relative + + * bfdlink.h (Add flag): Add new flag @ 'bfd_link_info' struct. + * elf/microblaze.h (Add 3 new relocations): + R_MICROBLAZE_TEXTPCREL_64, R_MICROBLAZE_TEXTREL_64 + and R_MICROBLAZE_TEXTREL_32_LO for relax function. + +2018-04-17 Alan Modra + + * elf/i370.h: Revert removal. + * elf/i860.h: Likewise. + * elf/i960.h: Likewise. + +2018-04-16 Alan Modra + + * coff/sparc.h: Delete. + +2018-04-16 Alan Modra + + * aout/host.h: Remove m68k-aout and m68k-coff support. + * aout/hp300hpux.h: Delete. + * coff/apollo.h: Delete. + * coff/aux-coff.h: Delete. + * coff/m68k.h: Delete. + +2018-04-16 Alan Modra + + * dis-asm.h: Remove sh5 and sh64 support. + +2018-04-16 Alan Modra + + * coff/internal.h: Remove w65 support. + * coff/w65.h: Delete. + +2018-04-16 Alan Modra + + * coff/we32k.h: Delete. + +2018-04-16 Alan Modra + + * coff/internal.h: Remove m88k support. + * coff/m88k.h: Delete. + * opcode/m88k.h: Delete. + +2018-04-16 Alan Modra + + * elf/i370.h: Delete. + * opcode/i370.h: Delete. + +2018-04-16 Alan Modra + + * coff/h8500.h: Delete. + * coff/internal.h: Remove h8500 support. + +2018-04-16 Alan Modra + + * coff/h8300.h: Delete. + +2018-04-16 Alan Modra + + * ieee.h: Delete. + +2018-04-16 Alan Modra + + * aout/host.h: Remove newsos3 support. + +2018-04-16 Alan Modra + + * nlm/ChangeLog-9315: Delete. + * nlm/alpha-ext.h: Delete. + * nlm/common.h: Delete. + * nlm/external.h: Delete. + * nlm/i386-ext.h: Delete. + * nlm/internal.h: Delete. + * nlm/ppc-ext.h: Delete. + * nlm/sparc32-ext.h: Delete. + +2018-04-16 Alan Modra + + * opcode/tahoe.h: Delete. + +2018-04-11 Alan Modra + + * aout/adobe.h: Delete. + * aout/reloc.h: Delete. + * coff/i860.h: Delete. + * coff/i960.h: Delete. + * elf/i860.h: Delete. + * elf/i960.h: Delete. + * opcode/i860.h: Delete. + * opcode/i960.h: Delete. + * aout/aout64.h (enum reloc_type): Trim off 29k and other unused values. + * aout/ar.h (ARMAGB): Remove. + * coff/internal.h (struct internal_aouthdr, struct internal_scnhdr, + union internal_auxent): Remove i960 support. + +2018-04-09 Alan Modra + + * elf/ppc.h (R_PPC_PLTSEQ, R_PPC_PLTCALL): Define. + * elf/ppc64.h (R_PPC64_PLTSEQ, R_PPC64_PLTCALL): Define. + +2018-03-28 Renlin Li + + PR ld/22970 + * elf/aarch64.h: Add relocation number for + R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12, + R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12_NC, + R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12, + R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12_NC, + R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12, + R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12_NC, + R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12, + R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12_NC. + +2018-03-28 Nick Clifton + + PR 22988 + * opcode/aarch64.h (enum aarch64_opnd): Add + AARCH64_OPND_SVE_ADDR_R. + +2018-03-21 H.J. Lu + + * elf/common.h (DF_1_KMOD): New. + (DF_1_WEAKFILTER): Likewise. + (DF_1_NOCOMMON): Likewise. + +2018-03-14 Kito Cheng + + * opcode/riscv.h (OP_MASK_FUNCT3): New. + (OP_SH_FUNCT3): Likewise. + (OP_MASK_FUNCT7): Likewise. + (OP_SH_FUNCT7): Likewise. + (OP_MASK_OP2): Likewise. + (OP_SH_OP2): Likewise. + (OP_MASK_CFUNCT4): Likewise. + (OP_SH_CFUNCT4): Likewise. + (OP_MASK_CFUNCT3): Likewise. + (OP_SH_CFUNCT3): Likewise. + (riscv_insn_types): Likewise. + +2018-03-13 Nick Clifton + + PR 22113 + * coff/pe.h (struct pex64_unwind_info): Add a rawUnwindCodesEnd + field. + +2018-03-08 H.J. Lu + + * opcode/i386 (OLDGCC_COMPAT): Removed. + +2018-02-27 Thomas Preud'homme + + * opcode/arm.h (ARM_FEATURE_COPY): Remove macro definition. + +2018-02-20 Maciej W. Rozycki + + * opcode/mips.h: Remove `M' operand code. + +2018-02-12 Zebediah Figura + + * coff/msdos.h: New header. + * coff/pe.h: Move common defines to msdos.h. + * coff/powerpc.h: Likewise. + +2018-01-13 Nick Clifton + + 2.30 branch created. + +2018-01-11 H.J. Lu + + PR ld/22393 + * bfdlink.h (bfd_link_info): Add separate_code. + +2018-01-04 Jim Wilson + + * opcode/riscv-opc.h (CSR_SBADADDR): Rename to CSR_STVAL. Rename + DECLARE_CSR entry. Add alias to map sbadaddr to CSR_STVAL. + (CSR_MBADADDR): Rename to CSR_MTVAL. Rename DECLARE_CSR entry. + Add alias to map mbadaddr to CSR_MTVAL. + +2018-01-03 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2017 + +Copyright (C) 2018 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff -Nru libiberty-20181121/include/coff/alpha.h libiberty-20190122/include/coff/alpha.h --- libiberty-20181121/include/coff/alpha.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/alpha.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* ECOFF support on Alpha machines. coff/ecoff.h must be included before this file. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/coff/arm.h libiberty-20190122/include/coff/arm.h --- libiberty-20181121/include/coff/arm.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/arm.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ARM COFF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/coff/ecoff.h libiberty-20190122/include/coff/ecoff.h --- libiberty-20181121/include/coff/ecoff.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/ecoff.h 2019-01-18 07:41:42.000000000 +0000 @@ -2,7 +2,7 @@ This does not include symbol information, found in sym.h and symconst.h. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/coff/external.h libiberty-20190122/include/coff/external.h --- libiberty-20181121/include/coff/external.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/external.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* external.h -- External COFF structures - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/coff/go32exe.h libiberty-20190122/include/coff/go32exe.h --- libiberty-20181121/include/coff/go32exe.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/go32exe.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* COFF information for PC running go32. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/coff/i386.h libiberty-20190122/include/coff/i386.h --- libiberty-20181121/include/coff/i386.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/i386.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* coff information for Intel 386/486. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/coff/ia64.h libiberty-20190122/include/coff/ia64.h --- libiberty-20181121/include/coff/ia64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/ia64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* coff information for HP/Intel IA-64. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 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 diff -Nru libiberty-20181121/include/coff/internal.h libiberty-20190122/include/coff/internal.h --- libiberty-20181121/include/coff/internal.h 2018-05-12 14:16:58.000000000 +0000 +++ libiberty-20190122/include/coff/internal.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* Internal format of COFF object file data structures, for GNU BFD. This file is part of BFD, the Binary File Descriptor library. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 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 diff -Nru libiberty-20181121/include/coff/mcore.h libiberty-20190122/include/coff/mcore.h --- libiberty-20181121/include/coff/mcore.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/mcore.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Motorola MCore support for BFD. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/coff/mips.h libiberty-20190122/include/coff/mips.h --- libiberty-20181121/include/coff/mips.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/mips.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* ECOFF support on MIPS machines. coff/ecoff.h must be included before this file. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 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 diff -Nru libiberty-20181121/include/coff/msdos.h libiberty-20190122/include/coff/msdos.h --- libiberty-20181121/include/coff/msdos.h 2018-02-19 12:02:21.000000000 +0000 +++ libiberty-20190122/include/coff/msdos.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* msdos.h - MS-DOS and derived executable header information - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/coff/pe.h libiberty-20190122/include/coff/pe.h --- libiberty-20181121/include/coff/pe.h 2018-03-14 12:06:51.000000000 +0000 +++ libiberty-20190122/include/coff/pe.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* pe.h - PE COFF header information - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/coff/powerpc.h libiberty-20190122/include/coff/powerpc.h --- libiberty-20181121/include/coff/powerpc.h 2018-02-19 12:02:21.000000000 +0000 +++ libiberty-20190122/include/coff/powerpc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* Basic coff information for the PowerPC Based on coff/rs6000.h, coff/i386.h and others. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/coff/rs6000.h libiberty-20190122/include/coff/rs6000.h --- libiberty-20181121/include/coff/rs6000.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/rs6000.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* IBM RS/6000 "XCOFF" file definitions for BFD. - Copyright (C) 1990-2018 Free Software Foundation, Inc. + Copyright (C) 1990-2019 Free Software Foundation, Inc. Written by Mimi Phuong-Thao Vo of IBM and John Gilmore of Cygnus Support. diff -Nru libiberty-20181121/include/coff/rs6k64.h libiberty-20190122/include/coff/rs6k64.h --- libiberty-20181121/include/coff/rs6k64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/rs6k64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* IBM RS/6000 "XCOFF64" file definitions for BFD. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 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 diff -Nru libiberty-20181121/include/coff/sh.h libiberty-20190122/include/coff/sh.h --- libiberty-20181121/include/coff/sh.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/sh.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* coff information for Renesas SH - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 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 diff -Nru libiberty-20181121/include/coff/tic30.h libiberty-20190122/include/coff/tic30.h --- libiberty-20181121/include/coff/tic30.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/tic30.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* coff information for Texas Instruments TMS320C3X - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/coff/tic4x.h libiberty-20190122/include/coff/tic4x.h --- libiberty-20181121/include/coff/tic4x.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/tic4x.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* TI COFF information for Texas Instruments TMS320C4X/C3X. This file customizes the settings in coff/ti.h. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 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 diff -Nru libiberty-20181121/include/coff/tic54x.h libiberty-20190122/include/coff/tic54x.h --- libiberty-20181121/include/coff/tic54x.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/tic54x.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* TI COFF information for Texas Instruments TMS320C54X. This file customizes the settings in coff/ti.h. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 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 diff -Nru libiberty-20181121/include/coff/tic80.h libiberty-20190122/include/coff/tic80.h --- libiberty-20181121/include/coff/tic80.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/tic80.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* coff information for TI TMS320C80 (MVP) - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/coff/ti.h libiberty-20190122/include/coff/ti.h --- libiberty-20181121/include/coff/ti.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/ti.h 2019-01-18 07:41:42.000000000 +0000 @@ -2,7 +2,7 @@ customized in a target-specific file, and then this file included (see tic54x.h for an example). - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 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 diff -Nru libiberty-20181121/include/coff/x86_64.h libiberty-20190122/include/coff/x86_64.h --- libiberty-20181121/include/coff/x86_64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/x86_64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* COFF information for AMD 64. - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/coff/xcoff.h libiberty-20190122/include/coff/xcoff.h --- libiberty-20181121/include/coff/xcoff.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/xcoff.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Internal format of XCOFF object file data structures for BFD. - Copyright (C) 1995-2018 Free Software Foundation, Inc. + Copyright (C) 1995-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor , Cygnus Support. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/coff/z80.h libiberty-20190122/include/coff/z80.h --- libiberty-20181121/include/coff/z80.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/z80.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* coff information for Zilog Z80 - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. Contributed by Arnold Metselaar This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/coff/z8k.h libiberty-20190122/include/coff/z8k.h --- libiberty-20181121/include/coff/z8k.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/coff/z8k.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* coff information for Zilog Z800N - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/demangle.h libiberty-20190122/include/demangle.h --- libiberty-20181121/include/demangle.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/demangle.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Defs for interface to demanglers. - Copyright (C) 1992-2018 Free Software Foundation, Inc. + Copyright (C) 1992-2019 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License @@ -53,21 +53,25 @@ */ #define DMGL_AUTO (1 << 8) -#define DMGL_GNU (1 << 9) -#define DMGL_LUCID (1 << 10) -#define DMGL_ARM (1 << 11) -#define DMGL_HP (1 << 12) /* For the HP aCC compiler; - same as ARM except for - template arguments, etc. */ -#define DMGL_EDG (1 << 13) #define DMGL_GNU_V3 (1 << 14) #define DMGL_GNAT (1 << 15) #define DMGL_DLANG (1 << 16) #define DMGL_RUST (1 << 17) /* Rust wraps GNU_V3 style mangling. */ /* If none of these are set, use 'current_demangling_style' as the default. */ -#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG|DMGL_RUST) +#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG|DMGL_RUST) +/* Disable a limit on the depth of recursion in mangled strings. + Note if this limit is disabled then stack exhaustion is possible when + demangling pathologically complicated strings. Bug reports about stack + exhaustion when the option is enabled will be rejected. */ +#define DMGL_NO_RECURSE_LIMIT (1 << 18) + +/* If DMGL_NO_RECURSE_LIMIT is not enabled, then this is the value used as + the maximum depth of recursion allowed. It should be enough for any + real-world mangled name. */ +#define DEMANGLE_RECURSION_LIMIT 2048 + /* Enumeration of possible demangling styles. Lucid and ARM styles are still kept logically distinct, even though @@ -81,11 +85,6 @@ no_demangling = -1, unknown_demangling = 0, auto_demangling = DMGL_AUTO, - gnu_demangling = DMGL_GNU, - lucid_demangling = DMGL_LUCID, - arm_demangling = DMGL_ARM, - hp_demangling = DMGL_HP, - edg_demangling = DMGL_EDG, gnu_v3_demangling = DMGL_GNU_V3, java_demangling = DMGL_JAVA, gnat_demangling = DMGL_GNAT, @@ -97,11 +96,6 @@ #define NO_DEMANGLING_STYLE_STRING "none" #define AUTO_DEMANGLING_STYLE_STRING "auto" -#define GNU_DEMANGLING_STYLE_STRING "gnu" -#define LUCID_DEMANGLING_STYLE_STRING "lucid" -#define ARM_DEMANGLING_STYLE_STRING "arm" -#define HP_DEMANGLING_STYLE_STRING "hp" -#define EDG_DEMANGLING_STYLE_STRING "edg" #define GNU_V3_DEMANGLING_STYLE_STRING "gnu-v3" #define JAVA_DEMANGLING_STYLE_STRING "java" #define GNAT_DEMANGLING_STYLE_STRING "gnat" @@ -112,11 +106,6 @@ #define CURRENT_DEMANGLING_STYLE current_demangling_style #define AUTO_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_AUTO) -#define GNU_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU) -#define LUCID_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_LUCID) -#define ARM_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_ARM) -#define HP_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_HP) -#define EDG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_EDG) #define GNU_V3_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3) #define JAVA_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_JAVA) #define GNAT_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNAT) @@ -136,17 +125,8 @@ extern char * cplus_demangle (const char *mangled, int options); -extern int -cplus_demangle_opname (const char *opname, char *result, int options); - -extern const char * -cplus_mangle_opname (const char *opname, int options); - /* Note: This sets global state. FIXME if you care about multi-threading. */ -extern void -set_cplus_marker_for_demangling (int ch); - extern enum demangling_styles cplus_demangle_set_style (enum demangling_styles style); @@ -392,6 +372,9 @@ template argument, and the right subtree is either NULL or another TEMPLATE_ARGLIST node. */ DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, + /* A template parameter object (C++20). The left subtree is the + corresponding template argument. */ + DEMANGLE_COMPONENT_TPARM_OBJ, /* An initializer list. The left subtree is either an explicit type or NULL, and the right subtree is a DEMANGLE_COMPONENT_ARGLIST. */ DEMANGLE_COMPONENT_INITIALIZER_LIST, diff -Nru libiberty-20181121/include/diagnostics.h libiberty-20190122/include/diagnostics.h --- libiberty-20181121/include/diagnostics.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/diagnostics.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2017-2018 Free Software Foundation, Inc. +/* Copyright (C) 2017-2019 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 diff -Nru libiberty-20181121/include/dis-asm.h libiberty-20190122/include/dis-asm.h --- libiberty-20181121/include/dis-asm.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/dis-asm.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Interface between the opcode library and its callers. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 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 @@ -32,6 +32,7 @@ #endif #include +#include #include "bfd.h" typedef int (*fprintf_ftype) (void *, const char*, ...) ATTRIBUTE_FPTR_PRINTF_2; @@ -302,6 +303,7 @@ extern bfd_boolean aarch64_symbol_is_valid (asymbol *, struct disassemble_info *); extern bfd_boolean arm_symbol_is_valid (asymbol *, struct disassemble_info *); extern bfd_boolean csky_symbol_is_valid (asymbol *, struct disassemble_info *); +extern bfd_boolean riscv_symbol_is_valid (asymbol *, struct disassemble_info *); extern void disassemble_init_powerpc (struct disassemble_info *); extern void disassemble_init_s390 (struct disassemble_info *); extern void disassemble_init_wasm32 (struct disassemble_info *); diff -Nru libiberty-20181121/include/dwarf2.def libiberty-20190122/include/dwarf2.def --- libiberty-20181121/include/dwarf2.def 2018-06-22 06:40:58.000000000 +0000 +++ libiberty-20190122/include/dwarf2.def 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* -*- c -*- Declarations and definitions of codes relating to the DWARF2 and DWARF3 symbolic debugging information formats. - Copyright (C) 1992-2018 Free Software Foundation, Inc. + Copyright (C) 1992-2019 Free Software Foundation, Inc. Written by Gary Funck (gary@intrepid.com) The Ada Joint Program Office (AJPO), Florida State University and Silicon Graphics Inc. diff -Nru libiberty-20181121/include/dwarf2.h libiberty-20190122/include/dwarf2.h --- libiberty-20181121/include/dwarf2.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/dwarf2.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Declarations and definitions of codes relating to the DWARF2 and DWARF3 symbolic debugging information formats. - Copyright (C) 1992-2018 Free Software Foundation, Inc. + Copyright (C) 1992-2019 Free Software Foundation, Inc. Written by Gary Funck (gary@intrepid.com) The Ada Joint Program Office (AJPO), Florida State University and Silicon Graphics Inc. diff -Nru libiberty-20181121/include/dyn-string.h libiberty-20190122/include/dyn-string.h --- libiberty-20181121/include/dyn-string.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/dyn-string.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* An abstract string datatype. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GCC. diff -Nru libiberty-20181121/include/elf/aarch64.h libiberty-20190122/include/elf/aarch64.h --- libiberty-20181121/include/elf/aarch64.h 2018-03-30 04:11:10.000000000 +0000 +++ libiberty-20190122/include/elf/aarch64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* AArch64 ELF support for BFD. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GNU Binutils. diff -Nru libiberty-20181121/include/elf/alpha.h libiberty-20190122/include/elf/alpha.h --- libiberty-20181121/include/elf/alpha.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/alpha.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ALPHA ELF support for BFD. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. By Eric Youngdale, . No processor supplement available for this platform. diff -Nru libiberty-20181121/include/elf/arc-cpu.def libiberty-20190122/include/elf/arc-cpu.def --- libiberty-20181121/include/elf/arc-cpu.def 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/arc-cpu.def 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ARC processor types - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2017-2019 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. diff -Nru libiberty-20181121/include/elf/arc.h libiberty-20190122/include/elf/arc.h --- libiberty-20181121/include/elf/arc.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/arc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ARC ELF support for BFD. - Copyright (C) 1995-2018 Free Software Foundation, Inc. + Copyright (C) 1995-2019 Free Software Foundation, Inc. Contributed by Doug Evans, (dje@cygnus.com) This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/arc-reloc.def libiberty-20190122/include/elf/arc-reloc.def --- libiberty-20181121/include/elf/arc-reloc.def 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/arc-reloc.def 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ARC relocation types - Copyright (C) 2015-2018 Free Software Foundation, Inc. + Copyright (C) 2015-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/arm.h libiberty-20190122/include/elf/arm.h --- libiberty-20181121/include/elf/arm.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/arm.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ARM ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/avr.h libiberty-20190122/include/elf/avr.h --- libiberty-20181121/include/elf/avr.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/avr.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* AVR ELF support for BFD. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. Contributed by Denis Chertykov This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/bfin.h libiberty-20190122/include/elf/bfin.h --- libiberty-20181121/include/elf/bfin.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/bfin.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Blackfin ELF support for BFD. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/common.h libiberty-20190122/include/elf/common.h --- libiberty-20181121/include/elf/common.h 2018-11-21 08:47:48.000000000 +0000 +++ libiberty-20190122/include/elf/common.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ELF support for BFD. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and @@ -469,6 +469,7 @@ #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */ #define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */ #define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */ +#define PT_GNU_PROPERTY (PT_LOOS + 0x474e553) /* GNU property */ /* Mbind segments */ #define PT_GNU_MBIND_NUM 4096 @@ -799,9 +800,6 @@ #define GNU_PROPERTY_X86_FEATURE_2_USED \ (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1) -/* Set by linker to indicate that the property is valid. */ -#define GNU_PROPERTY_X86_UINT32_VALID (1U << 31) - #define GNU_PROPERTY_X86_FEATURE_1_IBT (1U << 0) #define GNU_PROPERTY_X86_FEATURE_1_SHSTK (1U << 1) diff -Nru libiberty-20181121/include/elf/cr16c.h libiberty-20190122/include/elf/cr16c.h --- libiberty-20181121/include/elf/cr16c.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/cr16c.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* CR16C ELF support for BFD. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/cr16.h libiberty-20190122/include/elf/cr16.h --- libiberty-20181121/include/elf/cr16.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/cr16.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* CR16 ELF support for BFD. - Copyright (C) 2007-2018 Free Software Foundation, Inc. + Copyright (C) 2007-2019 Free Software Foundation, Inc. Contributed by M R Swami Reddy. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/cris.h libiberty-20190122/include/elf/cris.h --- libiberty-20181121/include/elf/cris.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/cris.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* CRIS ELF support for BFD. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Axis Communications AB, Lund, Sweden. Written by Hans-Peter Nilsson. diff -Nru libiberty-20181121/include/elf/crx.h libiberty-20190122/include/elf/crx.h --- libiberty-20181121/include/elf/crx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/crx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* CRX ELF support for BFD. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. Contributed by Tomer Levi, NSC, Israel. Originally written for GAS 2.12 by Tomer Levi, NSC, Israel. Updates, BFDizing, GNUifying and ELF support by Tomer Levi. diff -Nru libiberty-20181121/include/elf/csky.h libiberty-20190122/include/elf/csky.h --- libiberty-20181121/include/elf/csky.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/csky.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* C-SKY ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by C-SKY Microsystems and Mentor Graphics. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/d10v.h libiberty-20190122/include/elf/d10v.h --- libiberty-20181121/include/elf/d10v.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/d10v.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* d10v ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/d30v.h libiberty-20190122/include/elf/d30v.h --- libiberty-20181121/include/elf/d30v.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/d30v.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* d30v ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/dlx.h libiberty-20190122/include/elf/dlx.h --- libiberty-20181121/include/elf/dlx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/dlx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* DLX support for BFD. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/dwarf.h libiberty-20190122/include/elf/dwarf.h --- libiberty-20181121/include/elf/dwarf.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/dwarf.h 2019-01-18 07:41:42.000000000 +0000 @@ -3,7 +3,7 @@ Written by Ron Guilmette (rfg@netcom.com) - Copyright (C) 1992-2018 Free Software Foundation, Inc. + Copyright (C) 1992-2019 Free Software Foundation, Inc. This file is part of both GCC and the BFD library. diff -Nru libiberty-20181121/include/elf/epiphany.h libiberty-20190122/include/elf/epiphany.h --- libiberty-20181121/include/elf/epiphany.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/epiphany.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Adapteva EPIPHANY ELF support for BFD. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/external.h libiberty-20190122/include/elf/external.h --- libiberty-20181121/include/elf/external.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/external.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ELF support for BFD. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and diff -Nru libiberty-20181121/include/elf/fr30.h libiberty-20190122/include/elf/fr30.h --- libiberty-20181121/include/elf/fr30.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/fr30.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* FR30 ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/frv.h libiberty-20190122/include/elf/frv.h --- libiberty-20181121/include/elf/frv.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/frv.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* FRV ELF support for BFD. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/ft32.h libiberty-20190122/include/elf/ft32.h --- libiberty-20181121/include/elf/ft32.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/ft32.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ft32 ELF support for BFD. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/h8.h libiberty-20190122/include/elf/h8.h --- libiberty-20181121/include/elf/h8.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/h8.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* H8300/h8500 ELF support for BFD. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/hppa.h libiberty-20190122/include/elf/hppa.h --- libiberty-20181121/include/elf/hppa.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/hppa.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* HPPA ELF support for BFD. - Copyright (C) 1993-2018 Free Software Foundation, Inc. + Copyright (C) 1993-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/i370.h libiberty-20190122/include/elf/i370.h --- libiberty-20181121/include/elf/i370.h 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/include/elf/i370.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* i370 ELF support for BFD. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/i386.h libiberty-20190122/include/elf/i386.h --- libiberty-20181121/include/elf/i386.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/i386.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ix86 ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/i860.h libiberty-20190122/include/elf/i860.h --- libiberty-20181121/include/elf/i860.h 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/include/elf/i860.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* i860 ELF support for BFD. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Jason Eckhardt . diff -Nru libiberty-20181121/include/elf/i960.h libiberty-20190122/include/elf/i960.h --- libiberty-20181121/include/elf/i960.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/i960.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Intel 960 ELF support for BFD. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/ia64.h libiberty-20190122/include/elf/ia64.h --- libiberty-20181121/include/elf/ia64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/ia64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* IA-64 ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by David Mosberger-Tang This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/internal.h libiberty-20190122/include/elf/internal.h --- libiberty-20181121/include/elf/internal.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/internal.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ELF support for BFD. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and diff -Nru libiberty-20181121/include/elf/ip2k.h libiberty-20190122/include/elf/ip2k.h --- libiberty-20181121/include/elf/ip2k.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/ip2k.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* IP2xxx ELF support for BFD. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/iq2000.h libiberty-20190122/include/elf/iq2000.h --- libiberty-20181121/include/elf/iq2000.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/iq2000.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* IQ2000 ELF support for BFD. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/lm32.h libiberty-20190122/include/elf/lm32.h --- libiberty-20181121/include/elf/lm32.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/lm32.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Lattice Mico32 ELF support for BFD. - Copyright (C) 2008-2018 Free Software Foundation, Inc. + Copyright (C) 2008-2019 Free Software Foundation, Inc. Contributed by Jon Beniston This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/m32c.h libiberty-20190122/include/elf/m32c.h --- libiberty-20181121/include/elf/m32c.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/m32c.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* M32C ELF support for BFD. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/m32r.h libiberty-20190122/include/elf/m32r.h --- libiberty-20181121/include/elf/m32r.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/m32r.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* M32R ELF support for BFD. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/m68hc11.h libiberty-20190122/include/elf/m68hc11.h --- libiberty-20181121/include/elf/m68hc11.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/m68hc11.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* m68hc11 & m68hc12 ELF support for BFD. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/m68k.h libiberty-20190122/include/elf/m68k.h --- libiberty-20181121/include/elf/m68k.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/m68k.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* MC68k ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/mcore.h libiberty-20190122/include/elf/mcore.h --- libiberty-20181121/include/elf/mcore.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/mcore.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Motorola MCore support for BFD. - Copyright (C) 1995-2018 Free Software Foundation, Inc. + Copyright (C) 1995-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/mep.h libiberty-20190122/include/elf/mep.h --- libiberty-20181121/include/elf/mep.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/mep.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Toshiba MeP ELF support for BFD. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/metag.h libiberty-20190122/include/elf/metag.h --- libiberty-20181121/include/elf/metag.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/metag.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Meta ELF support for BFD. - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2019 Free Software Foundation, Inc. Contributed by Imagination Technologies Ltd. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/microblaze.h libiberty-20190122/include/elf/microblaze.h --- libiberty-20181121/include/elf/microblaze.h 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/include/elf/microblaze.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Xilinx MicroBlaze support for BFD. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/mips.h libiberty-20190122/include/elf/mips.h --- libiberty-20181121/include/elf/mips.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/mips.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* MIPS ELF support for BFD. - Copyright (C) 1993-2018 Free Software Foundation, Inc. + Copyright (C) 1993-2019 Free Software Foundation, Inc. By Ian Lance Taylor, Cygnus Support, , from information in the System V Application Binary Interface, MIPS diff -Nru libiberty-20181121/include/elf/mmix.h libiberty-20190122/include/elf/mmix.h --- libiberty-20181121/include/elf/mmix.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/mmix.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* MMIX support for BFD. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/mn10200.h libiberty-20190122/include/elf/mn10200.h --- libiberty-20181121/include/elf/mn10200.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/mn10200.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* MN10200 ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/mn10300.h libiberty-20190122/include/elf/mn10300.h --- libiberty-20181121/include/elf/mn10300.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/mn10300.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* MN10300 ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/moxie.h libiberty-20190122/include/elf/moxie.h --- libiberty-20181121/include/elf/moxie.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/moxie.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* moxie ELF support for BFD. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/msp430.h libiberty-20190122/include/elf/msp430.h --- libiberty-20181121/include/elf/msp430.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/msp430.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* MSP430 ELF support for BFD. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. Contributed by Dmitry Diky This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/mt.h libiberty-20190122/include/elf/mt.h --- libiberty-20181121/include/elf/mt.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/mt.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* MS1 ELF support for BFD. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/nds32.h libiberty-20190122/include/elf/nds32.h --- libiberty-20181121/include/elf/nds32.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/nds32.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* NDS32 ELF support for BFD. - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/nfp.h libiberty-20190122/include/elf/nfp.h --- libiberty-20181121/include/elf/nfp.h 2018-05-02 12:49:27.000000000 +0000 +++ libiberty-20190122/include/elf/nfp.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* NFP ELF support for BFD. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2017-2019 Free Software Foundation, Inc. Contributed by Francois H. Theron This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/nios2.h libiberty-20190122/include/elf/nios2.h --- libiberty-20181121/include/elf/nios2.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/nios2.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Altera Nios II ELF support for BFD. - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. Contributed by Nigel Gray (ngray@altera.com). Contributed by Mentor Graphics, Inc. diff -Nru libiberty-20181121/include/elf/or1k.h libiberty-20190122/include/elf/or1k.h --- libiberty-20181121/include/elf/or1k.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/or1k.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Or1k ELF support for BFD. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/pj.h libiberty-20190122/include/elf/pj.h --- libiberty-20181121/include/elf/pj.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/pj.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* picoJava ELF support for BFD. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/ppc64.h libiberty-20190122/include/elf/ppc64.h --- libiberty-20181121/include/elf/ppc64.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/elf/ppc64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* PPC64 ELF support for BFD. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/ppc.h libiberty-20190122/include/elf/ppc.h --- libiberty-20181121/include/elf/ppc.h 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/include/elf/ppc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* PPC ELF support for BFD. - Copyright (C) 1995-2018 Free Software Foundation, Inc. + Copyright (C) 1995-2019 Free Software Foundation, Inc. By Michael Meissner, Cygnus Support, , from information in the System V Application Binary Interface, diff -Nru libiberty-20181121/include/elf/pru.h libiberty-20190122/include/elf/pru.h --- libiberty-20181121/include/elf/pru.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/pru.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TI PRU ELF support for BFD. - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. Contributed by Dimitar Dimitrov This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/reloc-macros.h libiberty-20190122/include/elf/reloc-macros.h --- libiberty-20181121/include/elf/reloc-macros.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/reloc-macros.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Generic relocation support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/riscv.h libiberty-20190122/include/elf/riscv.h --- libiberty-20181121/include/elf/riscv.h 2018-06-04 19:27:35.000000000 +0000 +++ libiberty-20190122/include/elf/riscv.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* RISC-V ELF support for BFD. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. Contributed by Andrew Waterman (andrew@sifive.com). Based on MIPS ELF support for BFD, by Ian Lance Taylor. @@ -116,4 +116,20 @@ /* The name of the global pointer symbol. */ #define RISCV_GP_SYMBOL "__global_pointer$" +/* Additional section types. */ +#define SHT_RISCV_ATTRIBUTES 0x70000003 /* Section holds attributes. */ + +/* Object attributes. */ + +enum +{ + /* 0-3 are generic. */ + Tag_RISCV_stack_align = 4, + Tag_RISCV_arch = 5, + Tag_RISCV_unaligned_access = 6, + Tag_RISCV_priv_spec = 8, + Tag_RISCV_priv_spec_minor = 10, + Tag_RISCV_priv_spec_revision = 12 +}; + #endif /* _ELF_RISCV_H */ diff -Nru libiberty-20181121/include/elf/rl78.h libiberty-20190122/include/elf/rl78.h --- libiberty-20181121/include/elf/rl78.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/rl78.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* RL78 ELF support for BFD. - Copyright (C) 2008-2018 Free Software Foundation, Inc. + Copyright (C) 2008-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/rx.h libiberty-20190122/include/elf/rx.h --- libiberty-20181121/include/elf/rx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/rx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* RX ELF support for BFD. - Copyright (C) 2008-2018 Free Software Foundation, Inc. + Copyright (C) 2008-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -111,7 +111,7 @@ END_RELOC_NUMBERS (R_RX_max) #define EF_RX_CPU_RX 0x00000079 /* FIXME: this collides with the E_FLAG_RX_... values below. */ -#define EF_RX_CPU_MASK 0x0000007F /* specific cpu bits. */ +#define EF_RX_CPU_MASK 0x000003FF /* specific cpu bits. */ #define EF_RX_ALL_FLAGS (EF_RX_CPU_MASK) /* Values for the e_flags field in the ELF header. */ @@ -124,6 +124,7 @@ #define E_FLAG_RX_SINSNS_NO 0 /* Bit-5 if this binary must not be linked with a string instruction using binary. */ #define E_FLAG_RX_SINSNS_MASK (3 << 6) /* Mask of bits used to determine string instruction use. */ #define E_FLAG_RX_V2 (1 << 8) /* RX v2 instructions */ +#define E_FLAG_RX_V3 (1 << 9) /* RX v3 instructions */ /* These define the addend field of R_RX_RH_RELAX relocations. */ #define RX_RELAXA_IMM6 0x00000010 /* Imm8/16/24/32 at bit offset 6. */ diff -Nru libiberty-20181121/include/elf/s12z.h libiberty-20190122/include/elf/s12z.h --- libiberty-20181121/include/elf/s12z.h 2018-11-21 08:47:48.000000000 +0000 +++ libiberty-20190122/include/elf/s12z.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* s12z ELF support for BFD. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/s390.h libiberty-20190122/include/elf/s390.h --- libiberty-20181121/include/elf/s390.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/s390.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* 390 ELF support for BFD. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Carl B. Pedersen and Martin Schwidefsky. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/score.h libiberty-20190122/include/elf/score.h --- libiberty-20181121/include/elf/score.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/score.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Score ELF support for BFD. - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. Contributed by Brain.lin (brain.lin@sunplusct.com) Mei Ligang (ligang@sunnorth.com.cn) diff -Nru libiberty-20181121/include/elf/sh.h libiberty-20190122/include/elf/sh.h --- libiberty-20181121/include/elf/sh.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/sh.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* SH ELF support for BFD. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/sparc.h libiberty-20190122/include/elf/sparc.h --- libiberty-20181121/include/elf/sparc.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/sparc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* SPARC ELF support for BFD. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. By Doug Evans, Cygnus Support, . This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/spu.h libiberty-20190122/include/elf/spu.h --- libiberty-20181121/include/elf/spu.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/spu.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* SPU ELF support for BFD. - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/tic6x-attrs.h libiberty-20190122/include/elf/tic6x-attrs.h --- libiberty-20181121/include/elf/tic6x-attrs.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/tic6x-attrs.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TI C6X ELF attributes. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/tic6x.h libiberty-20190122/include/elf/tic6x.h --- libiberty-20181121/include/elf/tic6x.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/tic6x.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TI C6X ELF support for BFD. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/tilegx.h libiberty-20190122/include/elf/tilegx.h --- libiberty-20181121/include/elf/tilegx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/tilegx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TILE-Gx ELF support for BFD. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/tilepro.h libiberty-20190122/include/elf/tilepro.h --- libiberty-20181121/include/elf/tilepro.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/tilepro.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TILEPro ELF support for BFD. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/v850.h libiberty-20190122/include/elf/v850.h --- libiberty-20181121/include/elf/v850.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/v850.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* V850 ELF support for BFD. - Copyright (C) 1997-2018 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. Created by Michael Meissner, Cygnus Support This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/vax.h libiberty-20190122/include/elf/vax.h --- libiberty-20181121/include/elf/vax.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/vax.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* VAX ELF support for BFD. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. Contributed by Matt Thomas . This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/visium.h libiberty-20190122/include/elf/visium.h --- libiberty-20181121/include/elf/visium.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/visium.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Visium ELF support for BFD. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/vxworks.h libiberty-20190122/include/elf/vxworks.h --- libiberty-20181121/include/elf/vxworks.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/vxworks.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* VxWorks ELF support for BFD. - Copyright (C) 2007-2018 Free Software Foundation, Inc. + Copyright (C) 2007-2019 Free Software Foundation, Inc. Contributed by Nathan Sidwell diff -Nru libiberty-20181121/include/elf/wasm32.h libiberty-20190122/include/elf/wasm32.h --- libiberty-20181121/include/elf/wasm32.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/wasm32.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ELF support for BFD for the WebAssembly target - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2017-2019 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 diff -Nru libiberty-20181121/include/elf/x86-64.h libiberty-20190122/include/elf/x86-64.h --- libiberty-20181121/include/elf/x86-64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/x86-64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* x86_64 ELF support for BFD. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Jan Hubicka This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/xc16x.h libiberty-20190122/include/elf/xc16x.h --- libiberty-20181121/include/elf/xc16x.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/xc16x.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Infineon XC16X ELF support for BFD. - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. Contributed by KPIT Cummins Infosystems This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/xgate.h libiberty-20190122/include/elf/xgate.h --- libiberty-20181121/include/elf/xgate.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/xgate.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* XGATE ELF support for BFD. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/xstormy16.h libiberty-20190122/include/elf/xstormy16.h --- libiberty-20181121/include/elf/xstormy16.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/elf/xstormy16.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* XSTORMY16 ELF support for BFD. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/elf/xtensa.h libiberty-20190122/include/elf/xtensa.h --- libiberty-20181121/include/elf/xtensa.h 2018-06-04 19:27:35.000000000 +0000 +++ libiberty-20190122/include/elf/xtensa.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Xtensa ELF support for BFD. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/environ.h libiberty-20190122/include/environ.h --- libiberty-20181121/include/environ.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/environ.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Declare the environ system variable. - Copyright (C) 2015-2018 Free Software Foundation, Inc. + Copyright (C) 2015-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/include/fibheap.h libiberty-20190122/include/fibheap.h --- libiberty-20181121/include/fibheap.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/fibheap.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* A Fibonacci heap datatype. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by Daniel Berlin (dan@cgsoftware.com). This file is part of GCC. diff -Nru libiberty-20181121/include/filenames.h libiberty-20190122/include/filenames.h --- libiberty-20181121/include/filenames.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/filenames.h 2019-01-18 07:41:42.000000000 +0000 @@ -5,7 +5,7 @@ use forward- and back-slash in path names interchangeably, and some of them have case-insensitive file names. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/floatformat.h libiberty-20190122/include/floatformat.h --- libiberty-20181121/include/floatformat.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/floatformat.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* IEEE floating point support declarations, for GDB, the GNU Debugger. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/fnmatch.h libiberty-20190122/include/fnmatch.h --- libiberty-20181121/include/fnmatch.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/fnmatch.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2018 Free Software Foundation, Inc. +/* Copyright (C) 1991-2019 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. diff -Nru libiberty-20181121/include/fopen-bin.h libiberty-20190122/include/fopen-bin.h --- libiberty-20181121/include/fopen-bin.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/fopen-bin.h 2019-01-18 07:41:42.000000000 +0000 @@ -7,7 +7,7 @@ cope with a "b" in the string, indicating binary files, but some reject this (and thereby don't conform to ANSI C, but what else is new?). - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 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 diff -Nru libiberty-20181121/include/fopen-same.h libiberty-20190122/include/fopen-same.h --- libiberty-20181121/include/fopen-same.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/fopen-same.h 2019-01-18 07:41:42.000000000 +0000 @@ -7,7 +7,7 @@ "b" to the string, indicating binary files, but some reject this (and thereby don't conform to ANSI C, but what else is new?). - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 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 diff -Nru libiberty-20181121/include/fopen-vms.h libiberty-20190122/include/fopen-vms.h --- libiberty-20181121/include/fopen-vms.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/fopen-vms.h 2019-01-18 07:41:42.000000000 +0000 @@ -5,7 +5,7 @@ This version is for VMS systems, where text and binary files are different. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 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 diff -Nru libiberty-20181121/include/gcc-c-fe.def libiberty-20190122/include/gcc-c-fe.def --- libiberty-20181121/include/gcc-c-fe.def 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gcc-c-fe.def 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Interface between GCC C FE and GDB -*- c -*- - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. This file is part of GCC. diff -Nru libiberty-20181121/include/gcc-c-interface.h libiberty-20190122/include/gcc-c-interface.h --- libiberty-20181121/include/gcc-c-interface.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gcc-c-interface.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Interface between GCC C FE and GDB - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. This file is part of GCC. diff -Nru libiberty-20181121/include/gcc-cp-fe.def libiberty-20190122/include/gcc-cp-fe.def --- libiberty-20181121/include/gcc-cp-fe.def 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gcc-cp-fe.def 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Interface between GCC C++ FE and GDB -*- c -*- - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. This file is part of GCC. diff -Nru libiberty-20181121/include/gcc-cp-interface.h libiberty-20190122/include/gcc-cp-interface.h --- libiberty-20181121/include/gcc-cp-interface.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gcc-cp-interface.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Interface between GCC C++ FE and GDB - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. This file is part of GCC. diff -Nru libiberty-20181121/include/gcc-interface.h libiberty-20190122/include/gcc-interface.h --- libiberty-20181121/include/gcc-interface.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gcc-interface.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Generic interface between GCC and GDB - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. This file is part of GCC. diff -Nru libiberty-20181121/include/gdb/callback.h libiberty-20190122/include/gdb/callback.h --- libiberty-20181121/include/gdb/callback.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/callback.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Remote target system call callback support. - Copyright (C) 1997-2018 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. Contributed by Cygnus Solutions. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/ChangeLog libiberty-20190122/include/gdb/ChangeLog --- libiberty-20181121/include/gdb/ChangeLog 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/ChangeLog 2019-01-18 07:41:42.000000000 +0000 @@ -340,7 +340,7 @@ * signals.h: New file, from gdb/defs.h. -Copyright (C) 2002-2018 Free Software Foundation, Inc. +Copyright (C) 2002-2019 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff -Nru libiberty-20181121/include/gdb/fileio.h libiberty-20190122/include/gdb/fileio.h --- libiberty-20181121/include/gdb/fileio.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/fileio.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Hosted File I/O interface definitions, for GDB, the GNU Debugger. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 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 diff -Nru libiberty-20181121/include/gdb/gdb-index.h libiberty-20190122/include/gdb/gdb-index.h --- libiberty-20181121/include/gdb/gdb-index.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/gdb-index.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Public attributes of the .gdb_index section. - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/remote-sim.h libiberty-20190122/include/gdb/remote-sim.h --- libiberty-20181121/include/gdb/remote-sim.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/remote-sim.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* This file defines the interface between the simulator and gdb. - Copyright (C) 1993-2018 Free Software Foundation, Inc. + Copyright (C) 1993-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/section-scripts.h libiberty-20190122/include/gdb/section-scripts.h --- libiberty-20181121/include/gdb/section-scripts.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/section-scripts.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Definition of kinds of records in section .debug_gdb_scripts. - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/signals.def libiberty-20190122/include/gdb/signals.def --- libiberty-20181121/include/gdb/signals.def 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/signals.def 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Target signal numbers for GDB and the GDB remote protocol. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/signals.h libiberty-20190122/include/gdb/signals.h --- libiberty-20181121/include/gdb/signals.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/signals.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Target signal numbers for GDB and the GDB remote protocol. - Copyright (C) 1986-2018 Free Software Foundation, Inc. + Copyright (C) 1986-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/sim-aarch64.h libiberty-20190122/include/gdb/sim-aarch64.h --- libiberty-20181121/include/gdb/sim-aarch64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-aarch64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* sim-aarch64.h --- interface between AArch64 simulator and GDB. - Copyright (C) 2015-2018 Free Software Foundation, Inc. + Copyright (C) 2015-2019 Free Software Foundation, Inc. Contributed by Red Hat. diff -Nru libiberty-20181121/include/gdb/sim-arm.h libiberty-20190122/include/gdb/sim-arm.h --- libiberty-20181121/include/gdb/sim-arm.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-arm.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* This file defines the interface between the Arm simulator and GDB. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. Contributed by Red Hat. diff -Nru libiberty-20181121/include/gdb/sim-bfin.h libiberty-20190122/include/gdb/sim-bfin.h --- libiberty-20181121/include/gdb/sim-bfin.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-bfin.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* This file defines the interface between the Blackfin simulator and GDB. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. Contributed by Analog Devices. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/sim-cr16.h libiberty-20190122/include/gdb/sim-cr16.h --- libiberty-20181121/include/gdb/sim-cr16.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-cr16.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* This file defines the interface between the cr16 simulator and gdb. - Copyright (C) 2008-2018 Free Software Foundation, Inc. + Copyright (C) 2008-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/sim-d10v.h libiberty-20190122/include/gdb/sim-d10v.h --- libiberty-20181121/include/gdb/sim-d10v.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-d10v.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* This file defines the interface between the d10v simulator and gdb. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/sim-frv.h libiberty-20190122/include/gdb/sim-frv.h --- libiberty-20181121/include/gdb/sim-frv.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-frv.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* This file defines the interface between the FR-V simulator and GDB. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. Contributed by Red Hat. diff -Nru libiberty-20181121/include/gdb/sim-ft32.h libiberty-20190122/include/gdb/sim-ft32.h --- libiberty-20181121/include/gdb/sim-ft32.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-ft32.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* This file defines the interface between the FT32 simulator and GDB. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. Contributed by FTDI. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/sim-h8300.h libiberty-20190122/include/gdb/sim-h8300.h --- libiberty-20181121/include/gdb/sim-h8300.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-h8300.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* This file defines the interface between the h8300 simulator and gdb. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/sim-lm32.h libiberty-20190122/include/gdb/sim-lm32.h --- libiberty-20181121/include/gdb/sim-lm32.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-lm32.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* This file defines the interface between the LM32 simulator and GDB. Contributed by Jon Beniston - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/sim-m32c.h libiberty-20190122/include/gdb/sim-m32c.h --- libiberty-20181121/include/gdb/sim-m32c.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-m32c.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* This file defines the interface between the m32c simulator and gdb. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/gdb/sim-ppc.h libiberty-20190122/include/gdb/sim-ppc.h --- libiberty-20181121/include/gdb/sim-ppc.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-ppc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* sim-ppc.h --- interface between PowerPC simulator and GDB. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. Contributed by Red Hat. diff -Nru libiberty-20181121/include/gdb/sim-rl78.h libiberty-20190122/include/gdb/sim-rl78.h --- libiberty-20181121/include/gdb/sim-rl78.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-rl78.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* sim-rx.h --- interface between rl78 simulator and GDB. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. Contributed by Red Hat. diff -Nru libiberty-20181121/include/gdb/sim-rx.h libiberty-20190122/include/gdb/sim-rx.h --- libiberty-20181121/include/gdb/sim-rx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-rx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* sim-rx.h --- interface between RX simulator and GDB. - Copyright (C) 2008-2018 Free Software Foundation, Inc. + Copyright (C) 2008-2019 Free Software Foundation, Inc. Contributed by Red Hat. diff -Nru libiberty-20181121/include/gdb/sim-sh.h libiberty-20190122/include/gdb/sim-sh.h --- libiberty-20181121/include/gdb/sim-sh.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/gdb/sim-sh.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* This file defines the interface between the sh simulator and gdb. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/getopt.h libiberty-20190122/include/getopt.h --- libiberty-20181121/include/getopt.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/getopt.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Declarations for getopt. - Copyright (C) 1989-2018 Free Software Foundation, Inc. + Copyright (C) 1989-2019 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. diff -Nru libiberty-20181121/include/hashtab.h libiberty-20190122/include/hashtab.h --- libiberty-20181121/include/hashtab.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/hashtab.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* An expandable hash tables datatype. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. Contributed by Vladimir Makarov (vmakarov@cygnus.com). This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/hp-symtab.h libiberty-20190122/include/hp-symtab.h --- libiberty-20181121/include/hp-symtab.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/hp-symtab.h 2019-01-18 07:41:42.000000000 +0000 @@ -4,7 +4,7 @@ Written by the Center for Software Science at the University of Utah and by Cygnus Support. - Copyright (C) 1994-2018 Free Software Foundation, Inc. + Copyright (C) 1994-2019 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 diff -Nru libiberty-20181121/include/leb128.h libiberty-20190122/include/leb128.h --- libiberty-20181121/include/leb128.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/leb128.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Utilities for reading leb128 values. - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/include/libiberty.h libiberty-20190122/include/libiberty.h --- libiberty-20181121/include/libiberty.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/libiberty.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Function declarations for libiberty. - Copyright (C) 1997-2018 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. Note - certain prototypes declared in this header file are for functions whoes implementation copyright does not belong to the @@ -558,7 +558,7 @@ extern FILE *pex_input_pipe (struct pex_obj *obj, int binary); /* Read the standard output of the last program to be executed. - pex_run can not be called after this. BINARY should be non-zero if + pex_run cannot be called after this. BINARY should be non-zero if the file should be opened in binary mode; this is ignored on Unix. Returns NULL on error. Don't call fclose on the returned FILE; it will be closed by pex_free. */ @@ -566,7 +566,7 @@ extern FILE *pex_read_output (struct pex_obj *, int binary); /* Read the standard error of the last program to be executed. - pex_run can not be called after this. BINARY should be non-zero if + pex_run cannot be called after this. BINARY should be non-zero if the file should be opened in binary mode; this is ignored on Unix. Returns NULL on error. Don't call fclose on the returned FILE; it will be closed by pex_free. */ diff -Nru libiberty-20181121/include/longlong.h libiberty-20190122/include/longlong.h --- libiberty-20181121/include/longlong.h 2018-06-22 06:40:58.000000000 +0000 +++ libiberty-20190122/include/longlong.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* longlong.h -- definitions for mixed size 32/64 bit arithmetic. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of the GNU C Library. diff -Nru libiberty-20181121/include/lto-symtab.h libiberty-20190122/include/lto-symtab.h --- libiberty-20181121/include/lto-symtab.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/lto-symtab.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Data types used in the IL symbol table. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. Contributed by Rafael Espindola This file is part of GCC. diff -Nru libiberty-20181121/include/mach-o/arm64.h libiberty-20190122/include/mach-o/arm64.h --- libiberty-20181121/include/mach-o/arm64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/mach-o/arm64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Mach-O arm declarations for BFD. - Copyright (C) 2015-2018 Free Software Foundation, Inc. + Copyright (C) 2015-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/mach-o/arm.h libiberty-20190122/include/mach-o/arm.h --- libiberty-20181121/include/mach-o/arm.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/mach-o/arm.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Mach-O arm declarations for BFD. - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/mach-o/codesign.h libiberty-20190122/include/mach-o/codesign.h --- libiberty-20181121/include/mach-o/codesign.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/mach-o/codesign.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Mach-O support for BFD. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/mach-o/external.h libiberty-20190122/include/mach-o/external.h --- libiberty-20181121/include/mach-o/external.h 2018-11-21 08:47:48.000000000 +0000 +++ libiberty-20190122/include/mach-o/external.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Mach-O support for BFD. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/mach-o/loader.h libiberty-20190122/include/mach-o/loader.h --- libiberty-20181121/include/mach-o/loader.h 2018-11-21 08:47:48.000000000 +0000 +++ libiberty-20190122/include/mach-o/loader.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Mach-O support for BFD. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/mach-o/reloc.h libiberty-20190122/include/mach-o/reloc.h --- libiberty-20181121/include/mach-o/reloc.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/mach-o/reloc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Mach-O support for BFD. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/mach-o/unwind.h libiberty-20190122/include/mach-o/unwind.h --- libiberty-20181121/include/mach-o/unwind.h 2018-05-12 14:16:58.000000000 +0000 +++ libiberty-20190122/include/mach-o/unwind.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Mach-O compact unwind encoding. - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/mach-o/x86-64.h libiberty-20190122/include/mach-o/x86-64.h --- libiberty-20181121/include/mach-o/x86-64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/mach-o/x86-64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Mach-O support for BFD. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/MAINTAINERS libiberty-20190122/include/MAINTAINERS --- libiberty-20181121/include/MAINTAINERS 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/MAINTAINERS 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ See ../binutils/MAINTAINERS -Copyright (C) 2012-2018 Free Software Foundation, Inc. +Copyright (C) 2012-2019 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff -Nru libiberty-20181121/include/md5.h libiberty-20190122/include/md5.h --- libiberty-20181121/include/md5.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/md5.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* md5.h - Declaration of functions and data types used for MD5 sum computing library functions. - Copyright (C) 1995-2018 Free Software Foundation, Inc. + Copyright (C) 1995-2019 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. diff -Nru libiberty-20181121/include/oasys.h libiberty-20190122/include/oasys.h --- libiberty-20181121/include/oasys.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/oasys.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Oasys object format header file for BFD. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/objalloc.h libiberty-20190122/include/objalloc.h --- libiberty-20181121/include/objalloc.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/objalloc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* objalloc.h -- routines to allocate memory for objects - Copyright (C) 1997-2018 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Solutions. This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/include/obstack.h libiberty-20190122/include/obstack.h --- libiberty-20181121/include/obstack.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/obstack.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* obstack.h - object stack macros - Copyright (C) 1988-2018 Free Software Foundation, Inc. + Copyright (C) 1988-2019 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff -Nru libiberty-20181121/include/opcode/aarch64.h libiberty-20190122/include/opcode/aarch64.h --- libiberty-20181121/include/opcode/aarch64.h 2018-11-21 08:47:48.000000000 +0000 +++ libiberty-20190122/include/opcode/aarch64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* AArch64 assembler/disassembler support. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GNU Binutils. diff -Nru libiberty-20181121/include/opcode/alpha.h libiberty-20190122/include/opcode/alpha.h --- libiberty-20181121/include/opcode/alpha.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/alpha.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* alpha.h -- Header file for Alpha opcode table - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. Contributed by Richard Henderson , patterned after the PPC opcode table written by Ian Lance Taylor. diff -Nru libiberty-20181121/include/opcode/arc-attrs.h libiberty-20190122/include/opcode/arc-attrs.h --- libiberty-20181121/include/opcode/arc-attrs.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/arc-attrs.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2018 Free Software Foundation, Inc. +/* Copyright (C) 1994-2019 Free Software Foundation, Inc. Contributed by Claudiu Zissulescu (claziss@synopsys.com) diff -Nru libiberty-20181121/include/opcode/arc-func.h libiberty-20190122/include/opcode/arc-func.h --- libiberty-20181121/include/opcode/arc-func.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/arc-func.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Replace functions for the ARC relocs. - Copyright (C) 2015-2018 Free Software Foundation, Inc. + Copyright (C) 2015-2019 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and the GNU Binutils. diff -Nru libiberty-20181121/include/opcode/arc.h libiberty-20190122/include/opcode/arc.h --- libiberty-20181121/include/opcode/arc.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/opcode/arc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Opcode table for the ARC. - Copyright (C) 1994-2018 Free Software Foundation, Inc. + Copyright (C) 1994-2019 Free Software Foundation, Inc. Contributed by Claudiu Zissulescu (claziss@synopsys.com) diff -Nru libiberty-20181121/include/opcode/arm.h libiberty-20190122/include/opcode/arm.h --- libiberty-20181121/include/opcode/arm.h 2018-11-21 08:47:48.000000000 +0000 +++ libiberty-20190122/include/opcode/arm.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ARM assembler/disassembler support. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. This file is part of GDB and GAS. diff -Nru libiberty-20181121/include/opcode/avr.h libiberty-20190122/include/opcode/avr.h --- libiberty-20181121/include/opcode/avr.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/avr.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Opcode table for the Atmel AVR micro controllers. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Denis Chertykov This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/opcode/bfin.h libiberty-20190122/include/opcode/bfin.h --- libiberty-20181121/include/opcode/bfin.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/bfin.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* bfin.h -- Header file for ADI Blackfin opcode table - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/cgen.h libiberty-20190122/include/opcode/cgen.h --- libiberty-20181121/include/opcode/cgen.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/cgen.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Header file for targets using CGEN: Cpu tools GENerator. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of GDB, the GNU debugger, and the GNU Binutils. diff -Nru libiberty-20181121/include/opcode/convex.h libiberty-20190122/include/opcode/convex.h --- libiberty-20181121/include/opcode/convex.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/convex.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Information for instruction disassembly on the Convex. - Copyright (C) 1989-2018 Free Software Foundation, Inc. + Copyright (C) 1989-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/opcode/cr16.h libiberty-20190122/include/opcode/cr16.h --- libiberty-20181121/include/opcode/cr16.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/cr16.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* cr16.h -- Header file for CR16 opcode and register tables. - Copyright (C) 2007-2018 Free Software Foundation, Inc. + Copyright (C) 2007-2019 Free Software Foundation, Inc. Contributed by M R Swami Reddy This file is part of GAS, GDB and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/cris.h libiberty-20190122/include/opcode/cris.h --- libiberty-20181121/include/opcode/cris.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/cris.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* cris.h -- Header file for CRIS opcode and register tables. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Axis Communications AB, Lund, Sweden. Originally written for GAS 1.38.1 by Mikael Asker. Updated, BFDized and GNUified by Hans-Peter Nilsson. diff -Nru libiberty-20181121/include/opcode/crx.h libiberty-20190122/include/opcode/crx.h --- libiberty-20181121/include/opcode/crx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/crx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* crx.h -- Header file for CRX opcode and register tables. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. Contributed by Tomer Levi, NSC, Israel. Originally written for GAS 2.12 by Tomer Levi, NSC, Israel. Updates, BFDizing, GNUifying and ELF support by Tomer Levi. diff -Nru libiberty-20181121/include/opcode/csky.h libiberty-20190122/include/opcode/csky.h --- libiberty-20181121/include/opcode/csky.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/opcode/csky.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* C-SKY assembler/disassembler support. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. Contributed by C-SKY Microsystems and Mentor Graphics. This file is part of GDB and GAS. diff -Nru libiberty-20181121/include/opcode/d10v.h libiberty-20190122/include/opcode/d10v.h --- libiberty-20181121/include/opcode/d10v.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/d10v.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* d10v.h -- Header file for D10V opcode table - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. Written by Martin Hunt (hunt@cygnus.com), Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/d30v.h libiberty-20190122/include/opcode/d30v.h --- libiberty-20181121/include/opcode/d30v.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/d30v.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* d30v.h -- Header file for D30V opcode table - Copyright (C) 1997-2018 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. Written by Martin Hunt (hunt@cygnus.com), Cygnus Solutions This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/dlx.h libiberty-20190122/include/opcode/dlx.h --- libiberty-20181121/include/opcode/dlx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/dlx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Table of opcodes for the DLX microprocess. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of GDB and GAS. diff -Nru libiberty-20181121/include/opcode/ft32.h libiberty-20190122/include/opcode/ft32.h --- libiberty-20181121/include/opcode/ft32.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/ft32.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for decoding the ft32 opcode table. - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2019 Free Software Foundation, Inc. Contributed by FTDI (support@ftdichip.com) This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/opcode/h8300.h libiberty-20190122/include/opcode/h8300.h --- libiberty-20181121/include/opcode/h8300.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/h8300.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Opcode table for the H8/300 - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. Written by Steve Chamberlain . This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. diff -Nru libiberty-20181121/include/opcode/hppa.h libiberty-20190122/include/opcode/hppa.h --- libiberty-20181121/include/opcode/hppa.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/hppa.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Table of opcodes for the PA-RISC. - Copyright (C) 1990-2018 Free Software Foundation, Inc. + Copyright (C) 1990-2019 Free Software Foundation, Inc. Contributed by the Center for Software Science at the University of Utah (pa-gdb-bugs@cs.utah.edu). diff -Nru libiberty-20181121/include/opcode/i386.h libiberty-20190122/include/opcode/i386.h --- libiberty-20181121/include/opcode/i386.h 2018-03-12 19:12:36.000000000 +0000 +++ libiberty-20190122/include/opcode/i386.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* opcode/i386.h -- Intel 80386 opcode macros - Copyright (C) 1989-2018 Free Software Foundation, Inc. + Copyright (C) 1989-2019 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler, and GDB, the GNU Debugger. diff -Nru libiberty-20181121/include/opcode/ia64.h libiberty-20190122/include/opcode/ia64.h --- libiberty-20181121/include/opcode/ia64.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/ia64.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ia64.h -- Header file for ia64 opcode table - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by David Mosberger-Tang This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/opcode/m68hc11.h libiberty-20190122/include/opcode/m68hc11.h --- libiberty-20181121/include/opcode/m68hc11.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/m68hc11.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. Written by Stephane Carrez (stcarrez@nerim.fr) This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/m68k.h libiberty-20190122/include/opcode/m68k.h --- libiberty-20181121/include/opcode/m68k.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/m68k.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Opcode table header for m680[01234]0/m6888[12]/m68851. - Copyright (C) 1989-2018 Free Software Foundation, Inc. + Copyright (C) 1989-2019 Free Software Foundation, Inc. This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/metag.h libiberty-20190122/include/opcode/metag.h --- libiberty-20181121/include/opcode/metag.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/metag.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Imagination Technologies Meta opcode table. - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2019 Free Software Foundation, Inc. Contributed by Imagination Technologies Ltd. This file is part of GDB and GAS. diff -Nru libiberty-20181121/include/opcode/mips.h libiberty-20190122/include/opcode/mips.h --- libiberty-20181121/include/opcode/mips.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/opcode/mips.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* mips.h. Mips opcode list for GDB, the GNU debugger. - Copyright (C) 1993-2018 Free Software Foundation, Inc. + Copyright (C) 1993-2019 Free Software Foundation, Inc. Contributed by Ralph Campbell and OSF Commented and modified by Ian Lance Taylor, Cygnus Support diff -Nru libiberty-20181121/include/opcode/mmix.h libiberty-20190122/include/opcode/mmix.h --- libiberty-20181121/include/opcode/mmix.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/mmix.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* mmix.h -- Header file for MMIX opcode table - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. Written by Hans-Peter Nilsson (hp@bitrange.com) This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/mn10200.h libiberty-20190122/include/opcode/mn10200.h --- libiberty-20181121/include/opcode/mn10200.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/mn10200.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* mn10200.h -- Header file for Matsushita 10200 opcode table - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. Written by Jeff Law, Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/mn10300.h libiberty-20190122/include/opcode/mn10300.h --- libiberty-20181121/include/opcode/mn10300.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/mn10300.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* mn10300.h -- Header file for Matsushita 10300 opcode table - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. Written by Jeff Law, Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/moxie.h libiberty-20190122/include/opcode/moxie.h --- libiberty-20181121/include/opcode/moxie.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/moxie.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for decoding the moxie opcode table. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. Contributed by Anthony Green (green@moxielogic.com). This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/opcode/msp430-decode.h libiberty-20190122/include/opcode/msp430-decode.h --- libiberty-20181121/include/opcode/msp430-decode.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/msp430-decode.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Opcode decoder for the TI MSP430 - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. Written by DJ Delorie This file is part of GDB, the GNU Debugger. diff -Nru libiberty-20181121/include/opcode/msp430.h libiberty-20190122/include/opcode/msp430.h --- libiberty-20181121/include/opcode/msp430.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/msp430.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Opcode table for the TI MSP430 microcontrollers - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. Contributed by Dmitry Diky This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/opcode/nds32.h libiberty-20190122/include/opcode/nds32.h --- libiberty-20181121/include/opcode/nds32.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/opcode/nds32.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* nds32.h -- Header file for nds32 opcode table - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/opcode/nfp.h libiberty-20190122/include/opcode/nfp.h --- libiberty-20181121/include/opcode/nfp.h 2018-05-16 13:49:14.000000000 +0000 +++ libiberty-20190122/include/opcode/nfp.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* nfp.h. NFP opcode list. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2017-2019 Free Software Foundation, Inc. Contributed by Francois H. Theron This file is part of the GNU opcodes library. diff -Nru libiberty-20181121/include/opcode/nios2.h libiberty-20190122/include/opcode/nios2.h --- libiberty-20181121/include/opcode/nios2.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/nios2.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Nios II opcode list for GAS, the GNU assembler. - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. Contributed by Nigel Gray (ngray@altera.com). Contributed by Mentor Graphics, Inc. diff -Nru libiberty-20181121/include/opcode/nios2r1.h libiberty-20190122/include/opcode/nios2r1.h --- libiberty-20181121/include/opcode/nios2r1.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/nios2r1.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Nios II R1 opcode list for GAS, the GNU assembler. - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2019 Free Software Foundation, Inc. Contributed by Mentor Graphics, Inc. This file is part of the GNU opcodes library. diff -Nru libiberty-20181121/include/opcode/nios2r2.h libiberty-20190122/include/opcode/nios2r2.h --- libiberty-20181121/include/opcode/nios2r2.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/nios2r2.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Nios II R2 opcode list for GAS, the GNU assembler. - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2019 Free Software Foundation, Inc. Contributed by Mentor Graphics, Inc. This file is part of the GNU opcodes library. diff -Nru libiberty-20181121/include/opcode/np1.h libiberty-20190122/include/opcode/np1.h --- libiberty-20181121/include/opcode/np1.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/np1.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Print GOULD NPL instructions for GDB, the GNU debugger. - Copyright (C) 1986-2018 Free Software Foundation, Inc. + Copyright (C) 1986-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/opcode/ns32k.h libiberty-20190122/include/opcode/ns32k.h --- libiberty-20181121/include/opcode/ns32k.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/ns32k.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ns32k-opcode.h -- Opcode table for National Semi 32k processor - Copyright (C) 1987-2018 Free Software Foundation, Inc. + Copyright (C) 1987-2019 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. diff -Nru libiberty-20181121/include/opcode/pdp11.h libiberty-20190122/include/opcode/pdp11.h --- libiberty-20181121/include/opcode/pdp11.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/pdp11.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* PDP-11 opcde list. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. This file is part of GDB and GAS. diff -Nru libiberty-20181121/include/opcode/pj.h libiberty-20190122/include/opcode/pj.h --- libiberty-20181121/include/opcode/pj.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/pj.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for decoding the picoJava opcode table. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. Contributed by Steve Chamberlain of Transmeta (sac@pobox.com). This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/opcode/pn.h libiberty-20190122/include/opcode/pn.h --- libiberty-20181121/include/opcode/pn.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/pn.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger. - Copyright (C) 1986-2018 Free Software Foundation, Inc. + Copyright (C) 1986-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/include/opcode/ppc.h libiberty-20190122/include/opcode/ppc.h --- libiberty-20181121/include/opcode/ppc.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/opcode/ppc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ppc.h -- Header file for PowerPC opcode table - Copyright (C) 1994-2018 Free Software Foundation, Inc. + Copyright (C) 1994-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support This file is part of GDB, GAS, and the GNU binutils. @@ -30,14 +30,6 @@ typedef uint64_t ppc_cpu_t; -#if BFD_HOST_64BIT_LONG -# define PPC_INT_FMT "l" -#elif defined (__MSVCRT__) -# define PPC_INT_FMT "I64" -#else -# define PPC_INT_FMT "ll" -#endif - /* The opcode table is an array of struct powerpc_opcode. */ struct powerpc_opcode @@ -476,6 +468,8 @@ } /* PowerPC VLE insns. */ +#define E_OPCODE_MASK 0xfc00f800 + /* Form I16L, uses 16A relocs. */ #define E_OR2I_INSN 0x7000C000 #define E_AND2I_DOT_INSN 0x7000C800 @@ -492,6 +486,9 @@ #define E_CMPH16I_INSN 0x7000B000 #define E_CMPHL16I_INSN 0x7000B800 +#define E_LI_INSN 0x70000000 +#define E_LI_MASK 0xfc008000 + #ifdef __cplusplus } #endif diff -Nru libiberty-20181121/include/opcode/pru.h libiberty-20190122/include/opcode/pru.h --- libiberty-20181121/include/opcode/pru.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/pru.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TI PRU opcode list for GAS, the GNU assembler. - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. Contributed by Dimitar Dimitrov This file is part of the GNU opcodes library. diff -Nru libiberty-20181121/include/opcode/pyr.h libiberty-20190122/include/opcode/pyr.h --- libiberty-20181121/include/opcode/pyr.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/pyr.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* pyramid.opcode.h -- gdb initial attempt. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 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 diff -Nru libiberty-20181121/include/opcode/riscv.h libiberty-20190122/include/opcode/riscv.h --- libiberty-20181121/include/opcode/riscv.h 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/include/opcode/riscv.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* riscv.h. RISC-V opcode list for GDB, the GNU debugger. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. Contributed by Andrew Waterman This file is part of GDB, GAS, and the GNU binutils. @@ -247,10 +247,14 @@ #define OP_MASK_CRS2S 0x7 #define OP_SH_CRS2S 2 +#define OP_MASK_CFUNCT6 0x3f +#define OP_SH_CFUNCT6 10 #define OP_MASK_CFUNCT4 0xf #define OP_SH_CFUNCT4 12 #define OP_MASK_CFUNCT3 0x7 #define OP_SH_CFUNCT3 13 +#define OP_MASK_CFUNCT2 0x3 +#define OP_SH_CFUNCT2 5 /* ABI names for selected x-registers. */ @@ -266,6 +270,12 @@ #define NGPR 32 #define NFPR 32 +/* These fake label defines are use by both the assembler, and + libopcodes. The assembler uses this when it needs to generate a fake + label, and libopcodes uses it to hide the fake labels in its output. */ +#define RISCV_FAKE_LABEL_NAME ".L0 " +#define RISCV_FAKE_LABEL_CHAR ' ' + /* Replace bits MASK << SHIFT of STRUCT with the equivalent bits in VALUE << SHIFT. VALUE is evaluated exactly once. */ #define INSERT_BITS(STRUCT, VALUE, MASK, SHIFT) \ @@ -291,7 +301,7 @@ /* The name of the instruction. */ const char *name; /* The requirement of xlen for the instruction, 0 if no requirement. */ - int xlen_requirement; + unsigned xlen_requirement; /* An array of ISA subset name (I, M, A, F, D, Xextension), must ended with a NULL pointer sential. */ const char *subset[MAX_SUBSET_NUM]; diff -Nru libiberty-20181121/include/opcode/rl78.h libiberty-20190122/include/opcode/rl78.h --- libiberty-20181121/include/opcode/rl78.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/rl78.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Opcode decoder for the Renesas RL78 - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. Written by DJ Delorie This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. diff -Nru libiberty-20181121/include/opcode/rx.h libiberty-20190122/include/opcode/rx.h --- libiberty-20181121/include/opcode/rx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/rx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Opcode decoder for the Renesas RX - Copyright (C) 2008-2018 Free Software Foundation, Inc. + Copyright (C) 2008-2019 Free Software Foundation, Inc. Written by DJ Delorie This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. @@ -38,6 +38,7 @@ RX_SWord, RX_3Byte, RX_Long, + RX_Double, RX_Bad_Size, RX_MAX_SIZE } RX_Size; @@ -54,6 +55,11 @@ RX_Operand_Condition, /* eq, gtu, etc */ RX_Operand_Flag, /* [UIOSZC] */ RX_Operand_TwoReg, /* [Rn + scale*R2] */ + RX_Operand_DoubleReg, /* DRn */ + RX_Operand_DoubleRegH,/* DRHn */ + RX_Operand_DoubleRegL,/* DRLn */ + RX_Operand_DoubleCReg,/* DCRxx */ + RX_Operand_DoubleCond,/* UN/EQ/LE/LT */ } RX_Operand_Type; typedef enum @@ -180,6 +186,32 @@ RXO_racl, RXO_rdacl, RXO_rdacw, + + RXO_bfmov, + RXO_bfmovz, + RXO_rstr, + RXO_save, + RXO_dmov, + RXO_dpopm, + RXO_dpushm, + RXO_mvfdc, + RXO_mvfdr, + RXO_mvtdc, + RXO_dabs, + RXO_dadd, + RXO_dcmp, + RXO_ddiv, + RXO_dmul, + RXO_dneg, + RXO_dround, + RXO_dsqrt, + RXO_dsub, + RXO_dtoi, + RXO_dtof, + RXO_dtou, + RXO_ftod, + RXO_itod, + RXO_utod } RX_Opcode_ID; /* Condition bitpatterns, as registers. */ diff -Nru libiberty-20181121/include/opcode/s390.h libiberty-20190122/include/opcode/s390.h --- libiberty-20181121/include/opcode/s390.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/s390.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* s390.h -- Header file for S390 opcode table - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/opcode/score-datadep.h libiberty-20190122/include/opcode/score-datadep.h --- libiberty-20181121/include/opcode/score-datadep.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/score-datadep.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* score-datadep.h -- Score Instructions data dependency table - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. Contributed by: Brain.lin (brain.lin@sunplusct.com) Mei Ligang (ligang@sunnorth.com.cn) diff -Nru libiberty-20181121/include/opcode/score-inst.h libiberty-20190122/include/opcode/score-inst.h --- libiberty-20181121/include/opcode/score-inst.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/score-inst.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* score-inst.h -- Score Instructions Table - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. Contributed by: Brain.lin (brain.lin@sunplusct.com) Mei Ligang (ligang@sunnorth.com.cn) diff -Nru libiberty-20181121/include/opcode/sparc.h libiberty-20190122/include/opcode/sparc.h --- libiberty-20181121/include/opcode/sparc.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/sparc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for opcode table for the sparc. - Copyright (C) 1989-2018 Free Software Foundation, Inc. + Copyright (C) 1989-2019 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and the GNU Binutils. diff -Nru libiberty-20181121/include/opcode/spu.h libiberty-20190122/include/opcode/spu.h --- libiberty-20181121/include/opcode/spu.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/spu.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* SPU ELF support for BFD. - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/spu-insns.h libiberty-20190122/include/opcode/spu-insns.h --- libiberty-20181121/include/opcode/spu-insns.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/spu-insns.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* SPU ELF support for BFD. - Copyright (C) 2006-2018 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/opcode/tic30.h libiberty-20190122/include/opcode/tic30.h --- libiberty-20181121/include/opcode/tic30.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tic30.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* tic30.h -- Header file for TI TMS320C30 opcode table - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au) This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/tic4x.h libiberty-20190122/include/opcode/tic4x.h --- libiberty-20181121/include/opcode/tic4x.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tic4x.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Table of opcodes for the Texas Instruments TMS320C[34]X family. - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz) diff -Nru libiberty-20181121/include/opcode/tic54x.h libiberty-20190122/include/opcode/tic54x.h --- libiberty-20181121/include/opcode/tic54x.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tic54x.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* tic54x.h -- Header file for TI TMS320C54X opcode table - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. Written by Timothy Wall (twall@cygnus.com) This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/tic6x-control-registers.h libiberty-20190122/include/opcode/tic6x-control-registers.h --- libiberty-20181121/include/opcode/tic6x-control-registers.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tic6x-control-registers.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TI C6X control register information. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 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 diff -Nru libiberty-20181121/include/opcode/tic6x.h libiberty-20190122/include/opcode/tic6x.h --- libiberty-20181121/include/opcode/tic6x.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tic6x.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TI C6X opcode information. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 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 diff -Nru libiberty-20181121/include/opcode/tic6x-insn-formats.h libiberty-20190122/include/opcode/tic6x-insn-formats.h --- libiberty-20181121/include/opcode/tic6x-insn-formats.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tic6x-insn-formats.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TI C6X instruction format information. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 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 diff -Nru libiberty-20181121/include/opcode/tic6x-opcode-table.h libiberty-20190122/include/opcode/tic6x-opcode-table.h --- libiberty-20181121/include/opcode/tic6x-opcode-table.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tic6x-opcode-table.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* TI C6X opcode table. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 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 diff -Nru libiberty-20181121/include/opcode/tic80.h libiberty-20190122/include/opcode/tic80.h --- libiberty-20181121/include/opcode/tic80.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tic80.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* tic80.h -- Header file for TI TMS320C80 (MV) opcode table - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. Written by Fred Fish (fnf@cygnus.com), Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/tilegx.h libiberty-20190122/include/opcode/tilegx.h --- libiberty-20181121/include/opcode/tilegx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tilegx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* TILE-Gx opcode information. * - * Copyright (C) 2011-2018 Free Software Foundation, Inc. + * Copyright (C) 2011-2019 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 diff -Nru libiberty-20181121/include/opcode/tilepro.h libiberty-20190122/include/opcode/tilepro.h --- libiberty-20181121/include/opcode/tilepro.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/tilepro.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* TILEPro opcode information. * - * Copyright (C) 2011-2018 Free Software Foundation, Inc. + * Copyright (C) 2011-2019 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 diff -Nru libiberty-20181121/include/opcode/v850.h libiberty-20190122/include/opcode/v850.h --- libiberty-20181121/include/opcode/v850.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/v850.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* v850.h -- Header file for NEC V850 opcode table - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. Written by J.T. Conklin, Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff -Nru libiberty-20181121/include/opcode/vax.h libiberty-20190122/include/opcode/vax.h --- libiberty-20181121/include/opcode/vax.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/vax.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Vax opcde list. - Copyright (C) 1989-2018 Free Software Foundation, Inc. + Copyright (C) 1989-2019 Free Software Foundation, Inc. This file is part of GDB and GAS. diff -Nru libiberty-20181121/include/opcode/visium.h libiberty-20190122/include/opcode/visium.h --- libiberty-20181121/include/opcode/visium.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/visium.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Opcode table header for Visium. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. This file is part of GDB, GAS, and GNU binutils. diff -Nru libiberty-20181121/include/opcode/wasm.h libiberty-20190122/include/opcode/wasm.h --- libiberty-20181121/include/opcode/wasm.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/wasm.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* WebAssembly assembler/disassembler support. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2017-2019 Free Software Foundation, Inc. This file is part of GAS, the GNU assembler. diff -Nru libiberty-20181121/include/opcode/xgate.h libiberty-20190122/include/opcode/xgate.h --- libiberty-20181121/include/opcode/xgate.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/opcode/xgate.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* xgate.h -- Freescale XGATE opcode list - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Sean Keys (skeys@ipdatasys.com) This file is part of the GNU opcodes library. diff -Nru libiberty-20181121/include/os9k.h libiberty-20190122/include/os9k.h --- libiberty-20181121/include/os9k.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/os9k.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* os9k.h - OS-9000 i386 module header definitions - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. This file is part of GNU CC. diff -Nru libiberty-20181121/include/partition.h libiberty-20190122/include/partition.h --- libiberty-20181121/include/partition.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/partition.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* List implementation of a partition of consecutive integers. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC. This file is part of GCC. diff -Nru libiberty-20181121/include/plugin-api.h libiberty-20190122/include/plugin-api.h --- libiberty-20181121/include/plugin-api.h 2018-03-12 19:12:36.000000000 +0000 +++ libiberty-20190122/include/plugin-api.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* plugin-api.h -- External linker plugin API. */ -/* Copyright (C) 2009-2018 Free Software Foundation, Inc. +/* Copyright (C) 2009-2019 Free Software Foundation, Inc. Written by Cary Coutant . This file is part of binutils. @@ -34,7 +34,7 @@ #include #if !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H) && \ !defined(UINT64_MAX) && !defined(uint64_t) -#error can not find uint64_t type +#error cannot find uint64_t type #endif #ifdef __cplusplus diff -Nru libiberty-20181121/include/progress.h libiberty-20190122/include/progress.h --- libiberty-20181121/include/progress.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/progress.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Default definitions for progress macros. - Copyright (C) 1994-2018 Free Software Foundation, Inc. + Copyright (C) 1994-2019 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 diff -Nru libiberty-20181121/include/safe-ctype.h libiberty-20190122/include/safe-ctype.h --- libiberty-20181121/include/safe-ctype.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/safe-ctype.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* replacement macros. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Zack Weinberg . This file is part of the libiberty library. diff -Nru libiberty-20181121/include/sha1.h libiberty-20190122/include/sha1.h --- libiberty-20181121/include/sha1.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/sha1.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Declarations of functions and data types used for SHA1 sum library functions. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 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 diff -Nru libiberty-20181121/include/simple-object.h libiberty-20190122/include/simple-object.h --- libiberty-20181121/include/simple-object.h 2018-06-22 06:40:58.000000000 +0000 +++ libiberty-20190122/include/simple-object.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* simple-object.h -- simple routines to read and write object files - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Google. This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/include/som/aout.h libiberty-20190122/include/som/aout.h --- libiberty-20181121/include/som/aout.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/som/aout.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* SOM a.out definitions for BFD. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/som/clock.h libiberty-20190122/include/som/clock.h --- libiberty-20181121/include/som/clock.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/som/clock.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* SOM clock definition for BFD. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/som/internal.h libiberty-20190122/include/som/internal.h --- libiberty-20181121/include/som/internal.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/som/internal.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* SOM internal definitions for BFD. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/som/lst.h libiberty-20190122/include/som/lst.h --- libiberty-20181121/include/som/lst.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/som/lst.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* SOM lst definitions for BFD. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/som/reloc.h libiberty-20190122/include/som/reloc.h --- libiberty-20181121/include/som/reloc.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/som/reloc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* SOM relocation definitions for BFD. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/sort.h libiberty-20190122/include/sort.h --- libiberty-20181121/include/sort.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/sort.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Sorting algorithms. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Mark Mitchell . This file is part of GCC. diff -Nru libiberty-20181121/include/splay-tree.h libiberty-20190122/include/splay-tree.h --- libiberty-20181121/include/splay-tree.h 2018-06-04 19:27:35.000000000 +0000 +++ libiberty-20190122/include/splay-tree.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* A splay-tree datatype. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GCC. diff -Nru libiberty-20181121/include/symcat.h libiberty-20190122/include/symcat.h --- libiberty-20181121/include/symcat.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/symcat.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Symbol concatenation utilities. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 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 diff -Nru libiberty-20181121/include/timeval-utils.h libiberty-20190122/include/timeval-utils.h --- libiberty-20181121/include/timeval-utils.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/timeval-utils.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Basic struct timeval utilities. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/include/vms/dcx.h libiberty-20190122/include/vms/dcx.h --- libiberty-20181121/include/vms/dcx.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/dcx.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format for DeCompression. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/dmt.h libiberty-20190122/include/vms/dmt.h --- libiberty-20181121/include/vms/dmt.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/dmt.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Debug Module Table. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/dsc.h libiberty-20190122/include/vms/dsc.h --- libiberty-20181121/include/vms/dsc.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/dsc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Descriptors. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/dst.h libiberty-20190122/include/vms/dst.h --- libiberty-20181121/include/vms/dst.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/dst.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Debug Symbol Table. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eeom.h libiberty-20190122/include/vms/eeom.h --- libiberty-20181121/include/vms/eeom.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eeom.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended End Of Module. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/egps.h libiberty-20190122/include/vms/egps.h --- libiberty-20181121/include/vms/egps.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/egps.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Program Section Definition. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/egsd.h libiberty-20190122/include/vms/egsd.h --- libiberty-20181121/include/vms/egsd.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/egsd.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Global Symbol Directory. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/egst.h libiberty-20190122/include/vms/egst.h --- libiberty-20181121/include/vms/egst.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/egst.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Global Symbol Definition. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/egsy.h libiberty-20190122/include/vms/egsy.h --- libiberty-20181121/include/vms/egsy.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/egsy.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Global Symbol. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eiaf.h libiberty-20190122/include/vms/eiaf.h --- libiberty-20181121/include/vms/eiaf.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eiaf.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Activator Fixup section. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eicp.h libiberty-20190122/include/vms/eicp.h --- libiberty-20181121/include/vms/eicp.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eicp.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image section Change Protection. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eidc.h libiberty-20190122/include/vms/eidc.h --- libiberty-20181121/include/vms/eidc.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eidc.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Ident Consistency check. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eiha.h libiberty-20190122/include/vms/eiha.h --- libiberty-20181121/include/vms/eiha.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eiha.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Activation. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eihd.h libiberty-20190122/include/vms/eihd.h --- libiberty-20181121/include/vms/eihd.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eihd.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Header. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eihi.h libiberty-20190122/include/vms/eihi.h --- libiberty-20181121/include/vms/eihi.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eihi.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Identification. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eihs.h libiberty-20190122/include/vms/eihs.h --- libiberty-20181121/include/vms/eihs.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eihs.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Symbols and debug table. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eihvn.h libiberty-20190122/include/vms/eihvn.h --- libiberty-20181121/include/vms/eihvn.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eihvn.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Header Version. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eisd.h libiberty-20190122/include/vms/eisd.h --- libiberty-20181121/include/vms/eisd.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eisd.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Section Descriptor. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/emh.h libiberty-20190122/include/vms/emh.h --- libiberty-20181121/include/vms/emh.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/emh.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Module Header. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/eobjrec.h libiberty-20190122/include/vms/eobjrec.h --- libiberty-20181121/include/vms/eobjrec.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/eobjrec.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Object Records. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/esdf.h libiberty-20190122/include/vms/esdf.h --- libiberty-20181121/include/vms/esdf.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/esdf.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended GSD Global Symbol Definition. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/esdfm.h libiberty-20190122/include/vms/esdfm.h --- libiberty-20181121/include/vms/esdfm.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/esdfm.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Symbol Definition for version Mask. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/esdfv.h libiberty-20190122/include/vms/esdfv.h --- libiberty-20181121/include/vms/esdfv.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/esdfv.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Symbol Def for Vectored symbols. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/esgps.h libiberty-20190122/include/vms/esgps.h --- libiberty-20181121/include/vms/esgps.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/esgps.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Shared Program Section Definition. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/esrf.h libiberty-20190122/include/vms/esrf.h --- libiberty-20181121/include/vms/esrf.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/esrf.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended GSD Global Symbol Reference. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/etir.h libiberty-20190122/include/vms/etir.h --- libiberty-20181121/include/vms/etir.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/etir.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Text Information and Relocation. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/internal.h libiberty-20190122/include/vms/internal.h --- libiberty-20181121/include/vms/internal.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/internal.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS internal format. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/lbr.h libiberty-20190122/include/vms/lbr.h --- libiberty-20181121/include/vms/lbr.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/lbr.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Libraries. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/prt.h libiberty-20190122/include/vms/prt.h --- libiberty-20181121/include/vms/prt.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/prt.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Protection values. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vms/shl.h libiberty-20190122/include/vms/shl.h --- libiberty-20181121/include/vms/shl.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vms/shl.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Alpha VMS external format of Shareable image List. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/vtv-change-permission.h libiberty-20190122/include/vtv-change-permission.h --- libiberty-20181121/include/vtv-change-permission.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/vtv-change-permission.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2013-2018 Free Software Foundation, Inc. +/* Copyright (C) 2013-2019 Free Software Foundation, Inc. This file is part of GCC. diff -Nru libiberty-20181121/include/xregex2.h libiberty-20190122/include/xregex2.h --- libiberty-20181121/include/xregex2.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/xregex2.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* Definitions for data structures and routines for the regular expression library, version 0.12. - Copyright (C) 1985-2018 Free Software Foundation, Inc. + Copyright (C) 1985-2019 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. diff -Nru libiberty-20181121/include/xtensa-config.h libiberty-20190122/include/xtensa-config.h --- libiberty-20181121/include/xtensa-config.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/xtensa-config.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Xtensa configuration settings. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. Contributed by Bob Wilson (bob.wilson@acm.org) at Tensilica. This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/include/xtensa-isa.h libiberty-20190122/include/xtensa-isa.h --- libiberty-20181121/include/xtensa-isa.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/xtensa-isa.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Interface definition for configurable Xtensa ISA support. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/include/xtensa-isa-internal.h libiberty-20190122/include/xtensa-isa-internal.h --- libiberty-20181121/include/xtensa-isa-internal.h 2018-01-05 02:08:29.000000000 +0000 +++ libiberty-20190122/include/xtensa-isa-internal.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Internal definitions for configurable Xtensa ISA support. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff -Nru libiberty-20181121/libiberty/argv.c libiberty-20190122/libiberty/argv.c --- libiberty-20181121/libiberty/argv.c 2018-06-04 19:27:35.000000000 +0000 +++ libiberty-20190122/libiberty/argv.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Create and destroy argument vectors (argv's) - Copyright (C) 1992-2018 Free Software Foundation, Inc. + Copyright (C) 1992-2019 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/asprintf.c libiberty-20190122/libiberty/asprintf.c --- libiberty-20181121/libiberty/asprintf.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/asprintf.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Like sprintf but provides a pointer to malloc'd storage, which must be freed by the caller. - Copyright (C) 1997-2018 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. Contributed by Cygnus Solutions. This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/ChangeLog libiberty-20190122/libiberty/ChangeLog --- libiberty-20181121/libiberty/ChangeLog 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/libiberty/ChangeLog 2019-01-18 07:41:42.000000000 +0000 @@ -1,26 +1,95 @@ -2018-08-01 Richard Earnshaw +2019-01-01 Jakub Jelinek - Copy over from GCC - 2018-07-26 Martin Liska - - PR lto/86548 - * make-temp-file.c (TEMP_FILE): Remove leading 'cc'. - (make_temp_file): Call make_temp_file_with_prefix with - first argument set to NULL. - (make_temp_file_with_prefix): Support also prefix. - -2018-07-18 Eli Zaretskii + Update copyright years. - PR gdb/23434 - * libiberty/simple-object-elf.c (ENOTSUP): If not defined by - errno.h, redirect ENOTSUP to ENOSYS. +2018-12-22 Jason Merrill -2018-06-19 Simon Marchi + Remove support for demangling GCC 2.x era mangling schemes. + * cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname, + internal_cplus_demangle, and all subroutines. + (libiberty_demanglers): Remove entries for ancient GNU (pre-3.0), + Lucid, ARM, HP, and EDG demangling styles. + (cplus_demangle): Remove 'work' variable. Don't call + internal_cplus_demangle. + +2018-12-07 Nick Clifton + + PR 87681 + PR 87675 + PR 87636 + PR 87350 + PR 87335 + * cp-demangle.h (struct d_info): Add recursion_level field. + * cp-demangle.c (d_function_type): Add recursion counter. + If the recursion limit is reached and the check is not disabled, + then return with a failure result. + (cplus_demangle_init_info): Initialise the recursion_level field. + (d_demangle_callback): If the recursion limit is enabled, check + for a mangled string that is so long that there is not enough + stack space for the local arrays. + * cplus-dem.c (struct work): Add recursion_level field. + (squangle_mop_up): Set the numb and numk fields to zero. + (work_stuff_copy_to_from): Handle the case where a btypevec or + ktypevec field is NULL. + (demangle_nested_args): Add recursion counter. If + the recursion limit is not disabled and reached, return with a + failure result. + +2018-10-23 Jason Merrill + + Implement P0732R2, class types in non-type template parameters. + * cp-demangle.c (d_dump, d_make_comp, d_count_templates_scopes) + (d_print_comp_inner): Handle DEMANGLE_COMPONENT_TPARM_OBJ. + (d_special_name): Handle TA. + (d_expresion_1): Fix demangling of brace-enclosed initializer list. + +2018-10-31 Joseph Myers + + PR bootstrap/82856 + Merge from binutils-gdb: + 2018-06-19 Simon Marchi * configure.ac: Remove AC_PREREQ. * configure: Re-generate. * config.in: Re-generate. +2018-10-01 Nathan Sidwell + + * configure.ac (checkfuncs): Add pipe2. + * config.in, configure: Rebuilt. + * pex-unix.c (pex_unix_exec_child): Comminicate errors from child + to parent with a pipe, when possible. + +2018-08-23 Nathan Sidwell + Martin Liska + + PR driver/87056 + * pex-unix.c (pex_unix_exec_child): Duplicate bad_fn into local + scopes to avoid potential clobber. + +2018-08-20 Nathan Sidwell + + * pex-unix.c (pex_child_error): Delete. + (pex_unix_exec_child): Commonize error paths to single message & + exit. + +2018-07-30 Tom Tromey + + * cplus-dem.c (remember_Btype): Don't call memcpy with LEN==0. + +2018-07-26 Martin Liska + + PR lto/86548 + * make-temp-file.c (TEMP_FILE): Remove leading 'cc'. + (make_temp_file): Call make_temp_file_with_prefix with + first argument set to NULL. + (make_temp_file_with_prefix): Support also prefix. + +2018-07-19 Eli Zaretskii + + * simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect + to ENOSYS. + 2018-05-30 Jan Hubicka * simple-object.c (handle_lto_debug_sections): Add rename parameter. @@ -922,8 +991,8 @@ * functions.texi: Regenerate. 2014-12-11 Uros Bizjak - Ben Elliston - Manuel Lopez-Ibanez + Ben Elliston + Manuel Lopez-Ibanez * xvasprintf.c: New file. * vprintf-support.h: Likewise. diff -Nru libiberty-20181121/libiberty/choose-temp.c libiberty-20190122/libiberty/choose-temp.c --- libiberty-20181121/libiberty/choose-temp.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/choose-temp.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Utility to pick a temporary filename prefix. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/clock.c libiberty-20190122/libiberty/clock.c --- libiberty-20181121/libiberty/clock.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/clock.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* ANSI-compatible clock function. - Copyright (C) 1994-2018 Free Software Foundation, Inc. + Copyright (C) 1994-2019 Free Software Foundation, Inc. This file is part of the libiberty library. This library is free software; you can redistribute it and/or modify it under the diff -Nru libiberty-20181121/libiberty/concat.c libiberty-20190122/libiberty/concat.c --- libiberty-20181121/libiberty/concat.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/concat.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Concatenate variable number of strings. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/config.in libiberty-20190122/libiberty/config.in --- libiberty-20181121/libiberty/config.in 2018-06-22 06:40:58.000000000 +0000 +++ libiberty-20190122/libiberty/config.in 2019-01-18 07:41:42.000000000 +0000 @@ -195,6 +195,9 @@ /* Define to 1 if you have the `on_exit' function. */ #undef HAVE_ON_EXIT +/* Define to 1 if you have the `pipe2' function. */ +#undef HAVE_PIPE2 + /* Define to 1 if you have the header file. */ #undef HAVE_PROCESS_H diff -Nru libiberty-20181121/libiberty/configure libiberty-20190122/libiberty/configure --- libiberty-20181121/libiberty/configure 2018-06-22 06:40:58.000000000 +0000 +++ libiberty-20190122/libiberty/configure 2019-01-18 07:41:42.000000000 +0000 @@ -5797,7 +5797,7 @@ vars="sys_errlist sys_nerr sys_siglist" checkfuncs="__fsetlocking canonicalize_file_name dup3 getrlimit getrusage \ - getsysinfo gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic \ + getsysinfo gettimeofday on_exit pipe2 psignal pstat_getdynamic pstat_getstatic \ realpath setrlimit sbrk spawnve spawnvpe strerror strsignal sysconf sysctl \ sysmp table times wait3 wait4" @@ -5813,7 +5813,7 @@ index insque \ memchr memcmp memcpy memmem memmove memset mkstemps \ on_exit \ - psignal pstat_getdynamic pstat_getstatic putenv \ + pipe2 psignal pstat_getdynamic pstat_getstatic putenv \ random realpath rename rindex \ sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \ stpcpy stpncpy strcasecmp strchr strdup \ diff -Nru libiberty-20181121/libiberty/configure.ac libiberty-20190122/libiberty/configure.ac --- libiberty-20181121/libiberty/configure.ac 2018-06-22 06:40:58.000000000 +0000 +++ libiberty-20190122/libiberty/configure.ac 2019-01-18 07:41:42.000000000 +0000 @@ -390,7 +390,7 @@ vars="sys_errlist sys_nerr sys_siglist" checkfuncs="__fsetlocking canonicalize_file_name dup3 getrlimit getrusage \ - getsysinfo gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic \ + getsysinfo gettimeofday on_exit pipe2 psignal pstat_getdynamic pstat_getstatic \ realpath setrlimit sbrk spawnve spawnvpe strerror strsignal sysconf sysctl \ sysmp table times wait3 wait4" @@ -406,7 +406,7 @@ index insque \ memchr memcmp memcpy memmem memmove memset mkstemps \ on_exit \ - psignal pstat_getdynamic pstat_getstatic putenv \ + pipe2 psignal pstat_getdynamic pstat_getstatic putenv \ random realpath rename rindex \ sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \ stpcpy stpncpy strcasecmp strchr strdup \ diff -Nru libiberty-20181121/libiberty/copying-lib.texi libiberty-20190122/libiberty/copying-lib.texi --- libiberty-20181121/libiberty/copying-lib.texi 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/copying-lib.texi 2019-01-18 07:41:42.000000000 +0000 @@ -5,7 +5,7 @@ @center Version 2.1, February 1999 @display -Copyright @copyright{} 1991-2018 Free Software Foundation, Inc. +Copyright @copyright{} 1991-2019 Free Software Foundation, Inc. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies diff -Nru libiberty-20181121/libiberty/cp-demangle.c libiberty-20190122/libiberty/cp-demangle.c --- libiberty-20181121/libiberty/cp-demangle.c 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/libiberty/cp-demangle.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Demangler for g++ V3 ABI. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor . This file is part of the libiberty library, which is part of GCC. @@ -625,6 +625,9 @@ case DEMANGLE_COMPONENT_TEMPLATE_PARAM: printf ("template parameter %ld\n", dc->u.s_number.number); return; + case DEMANGLE_COMPONENT_TPARM_OBJ: + printf ("template parameter object\n"); + break; case DEMANGLE_COMPONENT_FUNCTION_PARAM: printf ("function parameter %ld\n", dc->u.s_number.number); return; @@ -1007,6 +1010,7 @@ case DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS: case DEMANGLE_COMPONENT_NULLARY: case DEMANGLE_COMPONENT_TRINARY_ARG2: + case DEMANGLE_COMPONENT_TPARM_OBJ: if (left == NULL) return NULL; break; @@ -2007,6 +2011,7 @@ ::= TT ::= TI ::= TS + ::= TA ::= GV <(object) name> ::= T <(base) encoding> ::= Tc <(base) encoding> @@ -2099,6 +2104,10 @@ return d_make_comp (di, DEMANGLE_COMPONENT_TLS_WRAPPER, d_name (di), NULL); + case 'A': + return d_make_comp (di, DEMANGLE_COMPONENT_TPARM_OBJ, + d_template_arg (di), NULL); + default: return NULL; } @@ -2843,21 +2852,35 @@ static struct demangle_component * d_function_type (struct d_info *di) { - struct demangle_component *ret; + struct demangle_component *ret = NULL; - if (! d_check_char (di, 'F')) - return NULL; - if (d_peek_char (di) == 'Y') + if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0) { - /* Function has C linkage. We don't print this information. - FIXME: We should print it in verbose mode. */ - d_advance (di, 1); + if (di->recursion_level > DEMANGLE_RECURSION_LIMIT) + /* FIXME: There ought to be a way to report + that the recursion limit has been reached. */ + return NULL; + + di->recursion_level ++; } - ret = d_bare_function_type (di, 1); - ret = d_ref_qualifier (di, ret); - if (! d_check_char (di, 'E')) - return NULL; + if (d_check_char (di, 'F')) + { + if (d_peek_char (di) == 'Y') + { + /* Function has C linkage. We don't print this information. + FIXME: We should print it in verbose mode. */ + d_advance (di, 1); + } + ret = d_bare_function_type (di, 1); + ret = d_ref_qualifier (di, ret); + + if (! d_check_char (di, 'E')) + ret = NULL; + } + + if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0) + di->recursion_level --; return ret; } @@ -3327,11 +3350,11 @@ { /* Brace-enclosed initializer list, untyped or typed. */ struct demangle_component *type = NULL; + d_advance (di, 2); if (peek == 't') type = cplus_demangle_type (di); if (!d_peek_next_char (di)) return NULL; - d_advance (di, 2); return d_make_comp (di, DEMANGLE_COMPONENT_INITIALIZER_LIST, type, d_exprlist (di, 'E')); } @@ -4101,6 +4124,7 @@ case DEMANGLE_COMPONENT_VECTOR_TYPE: case DEMANGLE_COMPONENT_ARGLIST: case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST: + case DEMANGLE_COMPONENT_TPARM_OBJ: case DEMANGLE_COMPONENT_INITIALIZER_LIST: case DEMANGLE_COMPONENT_CAST: case DEMANGLE_COMPONENT_CONVERSION: @@ -4872,6 +4896,11 @@ } return; + case DEMANGLE_COMPONENT_TPARM_OBJ: + d_append_string (dpi, "template parameter object for "); + d_print_comp (dpi, options, d_left (dc)); + return; + case DEMANGLE_COMPONENT_CTOR: d_print_comp (dpi, options, dc->u.s_ctor.name); return; @@ -6188,6 +6217,7 @@ di->expansion = 0; di->is_expression = 0; di->is_conversion = 0; + di->recursion_level = 0; } /* Internal implementation for the demangler. If MANGLED is a g++ v3 ABI @@ -6227,6 +6257,20 @@ cplus_demangle_init_info (mangled, options, strlen (mangled), &di); + /* PR 87675 - Check for a mangled string that is so long + that we do not have enough stack space to demangle it. */ + if (((options & DMGL_NO_RECURSE_LIMIT) == 0) + /* This check is a bit arbitrary, since what we really want to do is to + compare the sizes of the di.comps and di.subs arrays against the + amount of stack space remaining. But there is no portable way to do + this, so instead we use the recursion limit as a guide to the maximum + size of the arrays. */ + && (unsigned long) di.num_comps > DEMANGLE_RECURSION_LIMIT) + { + /* FIXME: We need a way to indicate that a stack limit has been reached. */ + return 0; + } + { #ifdef CP_DYNAMIC_ARRAYS __extension__ struct demangle_component comps[di.num_comps]; diff -Nru libiberty-20181121/libiberty/cp-demangle.h libiberty-20190122/libiberty/cp-demangle.h --- libiberty-20181121/libiberty/cp-demangle.h 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/cp-demangle.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Internal demangler interface for g++ V3 ABI. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor . This file is part of the libiberty library, which is part of GCC. @@ -122,6 +122,9 @@ /* Non-zero if we are parsing the type operand of a conversion operator, but not when in an expression. */ int is_conversion; + /* If DMGL_NO_RECURSE_LIMIT is not active then this is set to + the current recursion level. */ + unsigned int recursion_level; }; /* To avoid running past the ending '\0', don't: diff -Nru libiberty-20181121/libiberty/cp-demint.c libiberty-20190122/libiberty/cp-demint.c --- libiberty-20181121/libiberty/cp-demint.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/cp-demint.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Demangler component interface functions. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor . This file is part of the libiberty library, which is part of GCC. diff -Nru libiberty-20181121/libiberty/cplus-dem.c libiberty-20190122/libiberty/cplus-dem.c --- libiberty-20181121/libiberty/cplus-dem.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/cplus-dem.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Demangler for GNU C++ - Copyright (C) 1989-2018 Free Software Foundation, Inc. + Copyright (C) 1989-2019 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.uucp) Rewritten by Fred Fish (fnf@cygnus.com) for ARM and Lucid demangling Modified by Satish Pai (pai@apollo.hp.com) for HP demangling @@ -29,12 +29,6 @@ not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -/* This file exports two functions; cplus_mangle_opname and cplus_demangle. - - This file imports xmalloc and xrealloc, which are like malloc and - realloc except that they generate a fatal error if there is no - available memory. */ - /* This file lives in both GCC and libiberty. When making changes, please try not to break either. */ @@ -44,9 +38,7 @@ #include "safe-ctype.h" -#include #include -#include #ifdef HAVE_STDLIB_H #include @@ -55,204 +47,14 @@ void * realloc (); #endif -#ifdef HAVE_LIMITS_H -#include -#endif -#ifndef INT_MAX -# define INT_MAX (int)(((unsigned int) ~0) >> 1) /* 0x7FFFFFFF */ -#endif - #include #undef CURRENT_DEMANGLING_STYLE -#define CURRENT_DEMANGLING_STYLE work->options +#define CURRENT_DEMANGLING_STYLE options #include "libiberty.h" -#define min(X,Y) (((X) < (Y)) ? (X) : (Y)) - -/* A value at least one greater than the maximum number of characters - that will be output when using the `%d' format with `printf'. */ -#define INTBUF_SIZE 32 - -extern void fancy_abort (void) ATTRIBUTE_NORETURN; - -/* In order to allow a single demangler executable to demangle strings - using various common values of CPLUS_MARKER, as well as any specific - one set at compile time, we maintain a string containing all the - commonly used ones, and check to see if the marker we are looking for - is in that string. CPLUS_MARKER is usually '$' on systems where the - assembler can deal with that. Where the assembler can't, it's usually - '.' (but on many systems '.' is used for other things). We put the - current defined CPLUS_MARKER first (which defaults to '$'), followed - by the next most common value, followed by an explicit '$' in case - the value of CPLUS_MARKER is not '$'. - - We could avoid this if we could just get g++ to tell us what the actual - cplus marker character is as part of the debug information, perhaps by - ensuring that it is the character that terminates the gcc_compiled - marker symbol (FIXME). */ - -#if !defined (CPLUS_MARKER) -#define CPLUS_MARKER '$' -#endif - enum demangling_styles current_demangling_style = auto_demangling; -static char cplus_markers[] = { CPLUS_MARKER, '.', '$', '\0' }; - -static char char_str[2] = { '\000', '\000' }; - -void -set_cplus_marker_for_demangling (int ch) -{ - cplus_markers[0] = ch; -} - -typedef struct string /* Beware: these aren't required to be */ -{ /* '\0' terminated. */ - char *b; /* pointer to start of string */ - char *p; /* pointer after last character */ - char *e; /* pointer after end of allocated space */ -} string; - -/* Stuff that is shared between sub-routines. - Using a shared structure allows cplus_demangle to be reentrant. */ - -struct work_stuff -{ - int options; - char **typevec; - char **ktypevec; - char **btypevec; - int numk; - int numb; - int ksize; - int bsize; - int ntypes; - int typevec_size; - int constructor; - int destructor; - int static_type; /* A static member function */ - int temp_start; /* index in demangled to start of template args */ - int type_quals; /* The type qualifiers. */ - int dllimported; /* Symbol imported from a PE DLL */ - char **tmpl_argvec; /* Template function arguments. */ - int ntmpl_args; /* The number of template function arguments. */ - int forgetting_types; /* Nonzero if we are not remembering the types - we see. */ - string* previous_argument; /* The last function argument demangled. */ - int nrepeats; /* The number of times to repeat the previous - argument. */ - int *proctypevec; /* Indices of currently processed remembered typevecs. */ - int proctypevec_size; - int nproctypes; -}; - -#define PRINT_ANSI_QUALIFIERS (work -> options & DMGL_ANSI) -#define PRINT_ARG_TYPES (work -> options & DMGL_PARAMS) - -static const struct optable -{ - const char *const in; - const char *const out; - const int flags; -} optable[] = { - {"nw", " new", DMGL_ANSI}, /* new (1.92, ansi) */ - {"dl", " delete", DMGL_ANSI}, /* new (1.92, ansi) */ - {"new", " new", 0}, /* old (1.91, and 1.x) */ - {"delete", " delete", 0}, /* old (1.91, and 1.x) */ - {"vn", " new []", DMGL_ANSI}, /* GNU, pending ansi */ - {"vd", " delete []", DMGL_ANSI}, /* GNU, pending ansi */ - {"as", "=", DMGL_ANSI}, /* ansi */ - {"ne", "!=", DMGL_ANSI}, /* old, ansi */ - {"eq", "==", DMGL_ANSI}, /* old, ansi */ - {"ge", ">=", DMGL_ANSI}, /* old, ansi */ - {"gt", ">", DMGL_ANSI}, /* old, ansi */ - {"le", "<=", DMGL_ANSI}, /* old, ansi */ - {"lt", "<", DMGL_ANSI}, /* old, ansi */ - {"plus", "+", 0}, /* old */ - {"pl", "+", DMGL_ANSI}, /* ansi */ - {"apl", "+=", DMGL_ANSI}, /* ansi */ - {"minus", "-", 0}, /* old */ - {"mi", "-", DMGL_ANSI}, /* ansi */ - {"ami", "-=", DMGL_ANSI}, /* ansi */ - {"mult", "*", 0}, /* old */ - {"ml", "*", DMGL_ANSI}, /* ansi */ - {"amu", "*=", DMGL_ANSI}, /* ansi (ARM/Lucid) */ - {"aml", "*=", DMGL_ANSI}, /* ansi (GNU/g++) */ - {"convert", "+", 0}, /* old (unary +) */ - {"negate", "-", 0}, /* old (unary -) */ - {"trunc_mod", "%", 0}, /* old */ - {"md", "%", DMGL_ANSI}, /* ansi */ - {"amd", "%=", DMGL_ANSI}, /* ansi */ - {"trunc_div", "/", 0}, /* old */ - {"dv", "/", DMGL_ANSI}, /* ansi */ - {"adv", "/=", DMGL_ANSI}, /* ansi */ - {"truth_andif", "&&", 0}, /* old */ - {"aa", "&&", DMGL_ANSI}, /* ansi */ - {"truth_orif", "||", 0}, /* old */ - {"oo", "||", DMGL_ANSI}, /* ansi */ - {"truth_not", "!", 0}, /* old */ - {"nt", "!", DMGL_ANSI}, /* ansi */ - {"postincrement","++", 0}, /* old */ - {"pp", "++", DMGL_ANSI}, /* ansi */ - {"postdecrement","--", 0}, /* old */ - {"mm", "--", DMGL_ANSI}, /* ansi */ - {"bit_ior", "|", 0}, /* old */ - {"or", "|", DMGL_ANSI}, /* ansi */ - {"aor", "|=", DMGL_ANSI}, /* ansi */ - {"bit_xor", "^", 0}, /* old */ - {"er", "^", DMGL_ANSI}, /* ansi */ - {"aer", "^=", DMGL_ANSI}, /* ansi */ - {"bit_and", "&", 0}, /* old */ - {"ad", "&", DMGL_ANSI}, /* ansi */ - {"aad", "&=", DMGL_ANSI}, /* ansi */ - {"bit_not", "~", 0}, /* old */ - {"co", "~", DMGL_ANSI}, /* ansi */ - {"call", "()", 0}, /* old */ - {"cl", "()", DMGL_ANSI}, /* ansi */ - {"alshift", "<<", 0}, /* old */ - {"ls", "<<", DMGL_ANSI}, /* ansi */ - {"als", "<<=", DMGL_ANSI}, /* ansi */ - {"arshift", ">>", 0}, /* old */ - {"rs", ">>", DMGL_ANSI}, /* ansi */ - {"ars", ">>=", DMGL_ANSI}, /* ansi */ - {"component", "->", 0}, /* old */ - {"pt", "->", DMGL_ANSI}, /* ansi; Lucid C++ form */ - {"rf", "->", DMGL_ANSI}, /* ansi; ARM/GNU form */ - {"indirect", "*", 0}, /* old */ - {"method_call", "->()", 0}, /* old */ - {"addr", "&", 0}, /* old (unary &) */ - {"array", "[]", 0}, /* old */ - {"vc", "[]", DMGL_ANSI}, /* ansi */ - {"compound", ", ", 0}, /* old */ - {"cm", ", ", DMGL_ANSI}, /* ansi */ - {"cond", "?:", 0}, /* old */ - {"cn", "?:", DMGL_ANSI}, /* pseudo-ansi */ - {"max", ">?", 0}, /* old */ - {"mx", ">?", DMGL_ANSI}, /* pseudo-ansi */ - {"min", "*", DMGL_ANSI}, /* ansi */ - {"sz", "sizeof ", DMGL_ANSI} /* pseudo-ansi */ -}; - -/* These values are used to indicate the various type varieties. - They are all non-zero so that they can be used as `success' - values. */ -typedef enum type_kind_t -{ - tk_none, - tk_pointer, - tk_reference, - tk_rvalue_reference, - tk_integral, - tk_bool, - tk_char, - tk_real -} type_kind_t; - const struct demangler_engine libiberty_demanglers[] = { { @@ -268,39 +70,9 @@ } , { - GNU_DEMANGLING_STYLE_STRING, - gnu_demangling, - "GNU (g++) style demangling" - } - , - { - LUCID_DEMANGLING_STYLE_STRING, - lucid_demangling, - "Lucid (lcc) style demangling" - } - , - { - ARM_DEMANGLING_STYLE_STRING, - arm_demangling, - "ARM style demangling" - } - , - { - HP_DEMANGLING_STYLE_STRING, - hp_demangling, - "HP (aCC) style demangling" - } - , - { - EDG_DEMANGLING_STYLE_STRING, - edg_demangling, - "EDG style demangling" - } - , - { GNU_V3_DEMANGLING_STYLE_STRING, gnu_v3_demangling, - "GNU (g++) V3 ABI-style demangling" + "GNU (g++) V3 (Itanium C++ ABI) style demangling" } , { @@ -332,474 +104,6 @@ } }; -#define STRING_EMPTY(str) ((str) -> b == (str) -> p) -#define APPEND_BLANK(str) {if (!STRING_EMPTY(str)) \ - string_append(str, " ");} -#define LEN_STRING(str) ( (STRING_EMPTY(str))?0:((str)->p - (str)->b)) - -/* The scope separator appropriate for the language being demangled. */ - -#define SCOPE_STRING(work) ((work->options & DMGL_JAVA) ? "." : "::") - -#define ARM_VTABLE_STRING "__vtbl__" /* Lucid/ARM virtual table prefix */ -#define ARM_VTABLE_STRLEN 8 /* strlen (ARM_VTABLE_STRING) */ - -/* Prototypes for local functions */ - -static void delete_work_stuff (struct work_stuff *); - -static void delete_non_B_K_work_stuff (struct work_stuff *); - -static char *mop_up (struct work_stuff *, string *, int); - -static void squangle_mop_up (struct work_stuff *); - -static void work_stuff_copy_to_from (struct work_stuff *, struct work_stuff *); - -#if 0 -static int -demangle_method_args (struct work_stuff *, const char **, string *); -#endif - -static char * -internal_cplus_demangle (struct work_stuff *, const char *); - -static int -demangle_template_template_parm (struct work_stuff *work, - const char **, string *); - -static int -demangle_template (struct work_stuff *work, const char **, string *, - string *, int, int); - -static int -arm_pt (struct work_stuff *, const char *, int, const char **, - const char **); - -static int -demangle_class_name (struct work_stuff *, const char **, string *); - -static int -demangle_qualified (struct work_stuff *, const char **, string *, - int, int); - -static int demangle_class (struct work_stuff *, const char **, string *); - -static int demangle_fund_type (struct work_stuff *, const char **, string *); - -static int demangle_signature (struct work_stuff *, const char **, string *); - -static int demangle_prefix (struct work_stuff *, const char **, string *); - -static int gnu_special (struct work_stuff *, const char **, string *); - -static int arm_special (const char **, string *); - -static void string_need (string *, int); - -static void string_delete (string *); - -static void -string_init (string *); - -static void string_clear (string *); - -#if 0 -static int string_empty (string *); -#endif - -static void string_append (string *, const char *); - -static void string_appends (string *, string *); - -static void string_appendn (string *, const char *, int); - -static void string_prepend (string *, const char *); - -static void string_prependn (string *, const char *, int); - -static void string_append_template_idx (string *, int); - -static int get_count (const char **, int *); - -static int consume_count (const char **); - -static int consume_count_with_underscores (const char**); - -static int demangle_args (struct work_stuff *, const char **, string *); - -static int demangle_nested_args (struct work_stuff*, const char**, string*); - -static int do_type (struct work_stuff *, const char **, string *); - -static int do_arg (struct work_stuff *, const char **, string *); - -static int -demangle_function_name (struct work_stuff *, const char **, string *, - const char *); - -static int -iterate_demangle_function (struct work_stuff *, - const char **, string *, const char *); - -static void remember_type (struct work_stuff *, const char *, int); - -static void push_processed_type (struct work_stuff *, int); - -static void pop_processed_type (struct work_stuff *); - -static void remember_Btype (struct work_stuff *, const char *, int, int); - -static int register_Btype (struct work_stuff *); - -static void remember_Ktype (struct work_stuff *, const char *, int); - -static void forget_types (struct work_stuff *); - -static void forget_B_and_K_types (struct work_stuff *); - -static void string_prepends (string *, string *); - -static int -demangle_template_value_parm (struct work_stuff*, const char**, - string*, type_kind_t); - -static int -do_hpacc_template_const_value (struct work_stuff *, const char **, string *); - -static int -do_hpacc_template_literal (struct work_stuff *, const char **, string *); - -static int snarf_numeric_literal (const char **, string *); - -/* There is a TYPE_QUAL value for each type qualifier. They can be - combined by bitwise-or to form the complete set of qualifiers for a - type. */ - -#define TYPE_UNQUALIFIED 0x0 -#define TYPE_QUAL_CONST 0x1 -#define TYPE_QUAL_VOLATILE 0x2 -#define TYPE_QUAL_RESTRICT 0x4 - -static int code_for_qualifier (int); - -static const char* qualifier_string (int); - -static const char* demangle_qualifier (int); - -static int demangle_expression (struct work_stuff *, const char **, string *, - type_kind_t); - -static int -demangle_integral_value (struct work_stuff *, const char **, string *); - -static int -demangle_real_value (struct work_stuff *, const char **, string *); - -static void -demangle_arm_hp_template (struct work_stuff *, const char **, int, string *); - -static void -recursively_demangle (struct work_stuff *, const char **, string *, int); - -/* Translate count to integer, consuming tokens in the process. - Conversion terminates on the first non-digit character. - - Trying to consume something that isn't a count results in no - consumption of input and a return of -1. - - Overflow consumes the rest of the digits, and returns -1. */ - -static int -consume_count (const char **type) -{ - int count = 0; - - if (! ISDIGIT ((unsigned char)**type)) - return -1; - - while (ISDIGIT ((unsigned char)**type)) - { - const int digit = **type - '0'; - /* Check for overflow. */ - if (count > ((INT_MAX - digit) / 10)) - { - while (ISDIGIT ((unsigned char) **type)) - (*type)++; - return -1; - } - - count *= 10; - count += digit; - (*type)++; - } - - if (count < 0) - count = -1; - - return (count); -} - - -/* Like consume_count, but for counts that are preceded and followed - by '_' if they are greater than 10. Also, -1 is returned for - failure, since 0 can be a valid value. */ - -static int -consume_count_with_underscores (const char **mangled) -{ - int idx; - - if (**mangled == '_') - { - (*mangled)++; - if (!ISDIGIT ((unsigned char)**mangled)) - return -1; - - idx = consume_count (mangled); - if (**mangled != '_') - /* The trailing underscore was missing. */ - return -1; - - (*mangled)++; - } - else - { - if (**mangled < '0' || **mangled > '9') - return -1; - - idx = **mangled - '0'; - (*mangled)++; - } - - return idx; -} - -/* C is the code for a type-qualifier. Return the TYPE_QUAL - corresponding to this qualifier. */ - -static int -code_for_qualifier (int c) -{ - switch (c) - { - case 'C': - return TYPE_QUAL_CONST; - - case 'V': - return TYPE_QUAL_VOLATILE; - - case 'u': - return TYPE_QUAL_RESTRICT; - - default: - break; - } - - /* C was an invalid qualifier. */ - abort (); -} - -/* Return the string corresponding to the qualifiers given by - TYPE_QUALS. */ - -static const char* -qualifier_string (int type_quals) -{ - switch (type_quals) - { - case TYPE_UNQUALIFIED: - return ""; - - case TYPE_QUAL_CONST: - return "const"; - - case TYPE_QUAL_VOLATILE: - return "volatile"; - - case TYPE_QUAL_RESTRICT: - return "__restrict"; - - case TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE: - return "const volatile"; - - case TYPE_QUAL_CONST | TYPE_QUAL_RESTRICT: - return "const __restrict"; - - case TYPE_QUAL_VOLATILE | TYPE_QUAL_RESTRICT: - return "volatile __restrict"; - - case TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE | TYPE_QUAL_RESTRICT: - return "const volatile __restrict"; - - default: - break; - } - - /* TYPE_QUALS was an invalid qualifier set. */ - abort (); -} - -/* C is the code for a type-qualifier. Return the string - corresponding to this qualifier. This function should only be - called with a valid qualifier code. */ - -static const char* -demangle_qualifier (int c) -{ - return qualifier_string (code_for_qualifier (c)); -} - -int -cplus_demangle_opname (const char *opname, char *result, int options) -{ - int len, len1, ret; - string type; - struct work_stuff work[1]; - const char *tem; - - len = strlen(opname); - result[0] = '\0'; - ret = 0; - memset ((char *) work, 0, sizeof (work)); - work->options = options; - - if (opname[0] == '_' && opname[1] == '_' - && opname[2] == 'o' && opname[3] == 'p') - { - /* ANSI. */ - /* type conversion operator. */ - tem = opname + 4; - if (do_type (work, &tem, &type)) - { - strcat (result, "operator "); - strncat (result, type.b, type.p - type.b); - string_delete (&type); - ret = 1; - } - } - else if (opname[0] == '_' && opname[1] == '_' - && ISLOWER((unsigned char)opname[2]) - && ISLOWER((unsigned char)opname[3])) - { - if (opname[4] == '\0') - { - /* Operator. */ - size_t i; - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - if (strlen (optable[i].in) == 2 - && memcmp (optable[i].in, opname + 2, 2) == 0) - { - strcat (result, "operator"); - strcat (result, optable[i].out); - ret = 1; - break; - } - } - } - else - { - if (opname[2] == 'a' && opname[5] == '\0') - { - /* Assignment. */ - size_t i; - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - if (strlen (optable[i].in) == 3 - && memcmp (optable[i].in, opname + 2, 3) == 0) - { - strcat (result, "operator"); - strcat (result, optable[i].out); - ret = 1; - break; - } - } - } - } - } - else if (len >= 3 - && opname[0] == 'o' - && opname[1] == 'p' - && strchr (cplus_markers, opname[2]) != NULL) - { - /* see if it's an assignment expression */ - if (len >= 10 /* op$assign_ */ - && memcmp (opname + 3, "assign_", 7) == 0) - { - size_t i; - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - len1 = len - 10; - if ((int) strlen (optable[i].in) == len1 - && memcmp (optable[i].in, opname + 10, len1) == 0) - { - strcat (result, "operator"); - strcat (result, optable[i].out); - strcat (result, "="); - ret = 1; - break; - } - } - } - else - { - size_t i; - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - len1 = len - 3; - if ((int) strlen (optable[i].in) == len1 - && memcmp (optable[i].in, opname + 3, len1) == 0) - { - strcat (result, "operator"); - strcat (result, optable[i].out); - ret = 1; - break; - } - } - } - } - else if (len >= 5 && memcmp (opname, "type", 4) == 0 - && strchr (cplus_markers, opname[4]) != NULL) - { - /* type conversion operator */ - tem = opname + 5; - if (do_type (work, &tem, &type)) - { - strcat (result, "operator "); - strncat (result, type.b, type.p - type.b); - string_delete (&type); - ret = 1; - } - } - squangle_mop_up (work); - return ret; - -} - -/* Takes operator name as e.g. "++" and returns mangled - operator name (e.g. "postincrement_expr"), or NULL if not found. - - If OPTIONS & DMGL_ANSI == 1, return the ANSI name; - if OPTIONS & DMGL_ANSI == 0, return the old GNU name. */ - -const char * -cplus_mangle_opname (const char *opname, int options) -{ - size_t i; - int len; - - len = strlen (opname); - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - if ((int) strlen (optable[i].out) == len - && (options & DMGL_ANSI) == (optable[i].flags & DMGL_ANSI) - && memcmp (optable[i].out, opname, len) == 0) - return optable[i].in; - } - return (0); -} - /* Add a routine to set the demangling style to be sure it is valid and allow for any demangler initialization that maybe necessary. */ @@ -840,22 +144,6 @@ It is the caller's responsibility to free the string which is returned. - The OPTIONS arg may contain one or more of the following bits: - - DMGL_ANSI ANSI qualifiers such as `const' and `void' are - included. - DMGL_PARAMS Function parameters are included. - - For example, - - cplus_demangle ("foo__1Ai", DMGL_PARAMS) => "A::foo(int)" - cplus_demangle ("foo__1Ai", DMGL_PARAMS | DMGL_ANSI) => "A::foo(int)" - cplus_demangle ("foo__1Ai", 0) => "A::foo" - - cplus_demangle ("foo__1Afe", DMGL_PARAMS) => "A::foo(float,...)" - cplus_demangle ("foo__1Afe", DMGL_PARAMS | DMGL_ANSI)=> "A::foo(float,...)" - cplus_demangle ("foo__1Afe", 0) => "A::foo" - Note that any leading underscores, or other such characters prepended by the compilation system, are presumed to have already been stripped from MANGLED. */ @@ -864,20 +152,17 @@ cplus_demangle (const char *mangled, int options) { char *ret; - struct work_stuff work[1]; if (current_demangling_style == no_demangling) return xstrdup (mangled); - memset ((char *) work, 0, sizeof (work)); - work->options = options; - if ((work->options & DMGL_STYLE_MASK) == 0) - work->options |= (int) current_demangling_style & DMGL_STYLE_MASK; + if ((options & DMGL_STYLE_MASK) == 0) + options |= (int) current_demangling_style & DMGL_STYLE_MASK; /* The V3 ABI demangling is implemented elsewhere. */ if (GNU_V3_DEMANGLING || RUST_DEMANGLING || AUTO_DEMANGLING) { - ret = cplus_demangle_v3 (mangled, work->options); + ret = cplus_demangle_v3 (mangled, options); if (GNU_V3_DEMANGLING) return ret; @@ -915,8 +200,6 @@ return ret; } - ret = internal_cplus_demangle (work, mangled); - squangle_mop_up (work); return (ret); } @@ -1205,3828 +488,3 @@ return demangled; } - -/* This function performs most of what cplus_demangle use to do, but - to be able to demangle a name with a B, K or n code, we need to - have a longer term memory of what types have been seen. The original - now initializes and cleans up the squangle code info, while internal - calls go directly to this routine to avoid resetting that info. */ - -static char * -internal_cplus_demangle (struct work_stuff *work, const char *mangled) -{ - - string decl; - int success = 0; - char *demangled = NULL; - int s1, s2, s3, s4; - s1 = work->constructor; - s2 = work->destructor; - s3 = work->static_type; - s4 = work->type_quals; - work->constructor = work->destructor = 0; - work->type_quals = TYPE_UNQUALIFIED; - work->dllimported = 0; - - if ((mangled != NULL) && (*mangled != '\0')) - { - string_init (&decl); - - /* First check to see if gnu style demangling is active and if the - string to be demangled contains a CPLUS_MARKER. If so, attempt to - recognize one of the gnu special forms rather than looking for a - standard prefix. In particular, don't worry about whether there - is a "__" string in the mangled string. Consider "_$_5__foo" for - example. */ - - if ((AUTO_DEMANGLING || GNU_DEMANGLING)) - { - success = gnu_special (work, &mangled, &decl); - if (!success) - { - delete_work_stuff (work); - string_delete (&decl); - } - } - if (!success) - { - success = demangle_prefix (work, &mangled, &decl); - } - if (success && (*mangled != '\0')) - { - success = demangle_signature (work, &mangled, &decl); - } - if (work->constructor == 2) - { - string_prepend (&decl, "global constructors keyed to "); - work->constructor = 0; - } - else if (work->destructor == 2) - { - string_prepend (&decl, "global destructors keyed to "); - work->destructor = 0; - } - else if (work->dllimported == 1) - { - string_prepend (&decl, "import stub for "); - work->dllimported = 0; - } - demangled = mop_up (work, &decl, success); - } - work->constructor = s1; - work->destructor = s2; - work->static_type = s3; - work->type_quals = s4; - return demangled; -} - - -/* Clear out and squangling related storage */ -static void -squangle_mop_up (struct work_stuff *work) -{ - /* clean up the B and K type mangling types. */ - forget_B_and_K_types (work); - if (work -> btypevec != NULL) - { - free ((char *) work -> btypevec); - work->btypevec = NULL; - work->bsize = 0; - } - if (work -> ktypevec != NULL) - { - free ((char *) work -> ktypevec); - work->ktypevec = NULL; - work->ksize = 0; - } -} - - -/* Copy the work state and storage. */ - -static void -work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from) -{ - int i; - - delete_work_stuff (to); - - /* Shallow-copy scalars. */ - memcpy (to, from, sizeof (*to)); - - /* Deep-copy dynamic storage. */ - if (from->typevec_size) - to->typevec = XNEWVEC (char *, from->typevec_size); - - for (i = 0; i < from->ntypes; i++) - { - int len = strlen (from->typevec[i]) + 1; - - to->typevec[i] = XNEWVEC (char, len); - memcpy (to->typevec[i], from->typevec[i], len); - } - - if (from->ksize) - to->ktypevec = XNEWVEC (char *, from->ksize); - - for (i = 0; i < from->numk; i++) - { - int len = strlen (from->ktypevec[i]) + 1; - - to->ktypevec[i] = XNEWVEC (char, len); - memcpy (to->ktypevec[i], from->ktypevec[i], len); - } - - if (from->bsize) - to->btypevec = XNEWVEC (char *, from->bsize); - - for (i = 0; i < from->numb; i++) - { - int len = strlen (from->btypevec[i]) + 1; - - to->btypevec[i] = XNEWVEC (char , len); - memcpy (to->btypevec[i], from->btypevec[i], len); - } - - if (from->proctypevec) - to->proctypevec = - XDUPVEC (int, from->proctypevec, from->proctypevec_size); - - if (from->ntmpl_args) - to->tmpl_argvec = XNEWVEC (char *, from->ntmpl_args); - - for (i = 0; i < from->ntmpl_args; i++) - { - int len = strlen (from->tmpl_argvec[i]) + 1; - - to->tmpl_argvec[i] = XNEWVEC (char, len); - memcpy (to->tmpl_argvec[i], from->tmpl_argvec[i], len); - } - - if (from->previous_argument) - { - to->previous_argument = XNEW (string); - string_init (to->previous_argument); - string_appends (to->previous_argument, from->previous_argument); - } -} - - -/* Delete dynamic stuff in work_stuff that is not to be re-used. */ - -static void -delete_non_B_K_work_stuff (struct work_stuff *work) -{ - /* Discard the remembered types, if any. */ - - forget_types (work); - if (work->typevec != NULL) - { - free ((char *) work->typevec); - work->typevec = NULL; - work->typevec_size = 0; - } - if (work->proctypevec != NULL) - { - free (work->proctypevec); - work->proctypevec = NULL; - work->proctypevec_size = 0; - } - if (work->tmpl_argvec) - { - int i; - - for (i = 0; i < work->ntmpl_args; i++) - free ((char*) work->tmpl_argvec[i]); - - free ((char*) work->tmpl_argvec); - work->tmpl_argvec = NULL; - } - if (work->previous_argument) - { - string_delete (work->previous_argument); - free ((char*) work->previous_argument); - work->previous_argument = NULL; - } -} - - -/* Delete all dynamic storage in work_stuff. */ -static void -delete_work_stuff (struct work_stuff *work) -{ - delete_non_B_K_work_stuff (work); - squangle_mop_up (work); -} - - -/* Clear out any mangled storage */ - -static char * -mop_up (struct work_stuff *work, string *declp, int success) -{ - char *demangled = NULL; - - delete_non_B_K_work_stuff (work); - - /* If demangling was successful, ensure that the demangled string is null - terminated and return it. Otherwise, free the demangling decl. */ - - if (!success) - { - string_delete (declp); - } - else - { - string_appendn (declp, "", 1); - demangled = declp->b; - } - return (demangled); -} - -/* - -LOCAL FUNCTION - - demangle_signature -- demangle the signature part of a mangled name - -SYNOPSIS - - static int - demangle_signature (struct work_stuff *work, const char **mangled, - string *declp); - -DESCRIPTION - - Consume and demangle the signature portion of the mangled name. - - DECLP is the string where demangled output is being built. At - entry it contains the demangled root name from the mangled name - prefix. I.E. either a demangled operator name or the root function - name. In some special cases, it may contain nothing. - - *MANGLED points to the current unconsumed location in the mangled - name. As tokens are consumed and demangling is performed, the - pointer is updated to continuously point at the next token to - be consumed. - - Demangling GNU style mangled names is nasty because there is no - explicit token that marks the start of the outermost function - argument list. */ - -static int -demangle_signature (struct work_stuff *work, - const char **mangled, string *declp) -{ - int success = 1; - int func_done = 0; - int expect_func = 0; - int expect_return_type = 0; - const char *oldmangled = NULL; - string trawname; - string tname; - - while (success && (**mangled != '\0')) - { - switch (**mangled) - { - case 'Q': - oldmangled = *mangled; - success = demangle_qualified (work, mangled, declp, 1, 0); - if (success) - remember_type (work, oldmangled, *mangled - oldmangled); - if (AUTO_DEMANGLING || GNU_DEMANGLING) - expect_func = 1; - oldmangled = NULL; - break; - - case 'K': - oldmangled = *mangled; - success = demangle_qualified (work, mangled, declp, 1, 0); - if (AUTO_DEMANGLING || GNU_DEMANGLING) - { - expect_func = 1; - } - oldmangled = NULL; - break; - - case 'S': - /* Static member function */ - if (oldmangled == NULL) - { - oldmangled = *mangled; - } - (*mangled)++; - work -> static_type = 1; - break; - - case 'C': - case 'V': - case 'u': - work->type_quals |= code_for_qualifier (**mangled); - - /* a qualified member function */ - if (oldmangled == NULL) - oldmangled = *mangled; - (*mangled)++; - break; - - case 'L': - /* Local class name follows after "Lnnn_" */ - if (HP_DEMANGLING) - { - while (**mangled && (**mangled != '_')) - (*mangled)++; - if (!**mangled) - success = 0; - else - (*mangled)++; - } - else - success = 0; - break; - - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - if (oldmangled == NULL) - { - oldmangled = *mangled; - } - work->temp_start = -1; /* uppermost call to demangle_class */ - success = demangle_class (work, mangled, declp); - if (success) - { - remember_type (work, oldmangled, *mangled - oldmangled); - } - if (AUTO_DEMANGLING || GNU_DEMANGLING || EDG_DEMANGLING) - { - /* EDG and others will have the "F", so we let the loop cycle - if we are looking at one. */ - if (**mangled != 'F') - expect_func = 1; - } - oldmangled = NULL; - break; - - case 'B': - { - string s; - success = do_type (work, mangled, &s); - if (success) - { - string_append (&s, SCOPE_STRING (work)); - string_prepends (declp, &s); - string_delete (&s); - } - oldmangled = NULL; - expect_func = 1; - } - break; - - case 'F': - /* Function */ - /* ARM/HP style demangling includes a specific 'F' character after - the class name. For GNU style, it is just implied. So we can - safely just consume any 'F' at this point and be compatible - with either style. */ - - oldmangled = NULL; - func_done = 1; - (*mangled)++; - - /* For lucid/ARM/HP style we have to forget any types we might - have remembered up to this point, since they were not argument - types. GNU style considers all types seen as available for - back references. See comment in demangle_args() */ - - if (LUCID_DEMANGLING || ARM_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING) - { - forget_types (work); - } - success = demangle_args (work, mangled, declp); - /* After picking off the function args, we expect to either - find the function return type (preceded by an '_') or the - end of the string. */ - if (success && (AUTO_DEMANGLING || EDG_DEMANGLING) && **mangled == '_') - { - ++(*mangled); - /* At this level, we do not care about the return type. */ - success = do_type (work, mangled, &tname); - string_delete (&tname); - } - - break; - - case 't': - /* G++ Template */ - string_init(&trawname); - string_init(&tname); - if (oldmangled == NULL) - { - oldmangled = *mangled; - } - success = demangle_template (work, mangled, &tname, - &trawname, 1, 1); - if (success) - { - remember_type (work, oldmangled, *mangled - oldmangled); - } - string_append (&tname, SCOPE_STRING (work)); - - string_prepends(declp, &tname); - if (work -> destructor & 1) - { - string_prepend (&trawname, "~"); - string_appends (declp, &trawname); - work->destructor -= 1; - } - if ((work->constructor & 1) || (work->destructor & 1)) - { - string_appends (declp, &trawname); - work->constructor -= 1; - } - string_delete(&trawname); - string_delete(&tname); - oldmangled = NULL; - expect_func = 1; - break; - - case '_': - if ((AUTO_DEMANGLING || GNU_DEMANGLING) && expect_return_type) - { - /* Read the return type. */ - string return_type; - - (*mangled)++; - success = do_type (work, mangled, &return_type); - APPEND_BLANK (&return_type); - - string_prepends (declp, &return_type); - string_delete (&return_type); - break; - } - else - /* At the outermost level, we cannot have a return type specified, - so if we run into another '_' at this point we are dealing with - a mangled name that is either bogus, or has been mangled by - some algorithm we don't know how to deal with. So just - reject the entire demangling. */ - /* However, "_nnn" is an expected suffix for alternate entry point - numbered nnn for a function, with HP aCC, so skip over that - without reporting failure. pai/1997-09-04 */ - if (HP_DEMANGLING) - { - (*mangled)++; - while (**mangled && ISDIGIT ((unsigned char)**mangled)) - (*mangled)++; - } - else - success = 0; - break; - - case 'H': - if (AUTO_DEMANGLING || GNU_DEMANGLING) - { - /* A G++ template function. Read the template arguments. */ - success = demangle_template (work, mangled, declp, 0, 0, - 0); - if (!(work->constructor & 1)) - expect_return_type = 1; - if (!**mangled) - success = 0; - else - (*mangled)++; - break; - } - /* fall through */ - - default: - if (AUTO_DEMANGLING || GNU_DEMANGLING) - { - /* Assume we have stumbled onto the first outermost function - argument token, and start processing args. */ - func_done = 1; - success = demangle_args (work, mangled, declp); - } - else - { - /* Non-GNU demanglers use a specific token to mark the start - of the outermost function argument tokens. Typically 'F', - for ARM/HP-demangling, for example. So if we find something - we are not prepared for, it must be an error. */ - success = 0; - } - break; - } - /* - if (AUTO_DEMANGLING || GNU_DEMANGLING) - */ - { - if (success && expect_func) - { - func_done = 1; - if (LUCID_DEMANGLING || ARM_DEMANGLING || EDG_DEMANGLING) - { - forget_types (work); - } - success = demangle_args (work, mangled, declp); - /* Since template include the mangling of their return types, - we must set expect_func to 0 so that we don't try do - demangle more arguments the next time we get here. */ - expect_func = 0; - } - } - } - if (success && !func_done) - { - if (AUTO_DEMANGLING || GNU_DEMANGLING) - { - /* With GNU style demangling, bar__3foo is 'foo::bar(void)', and - bar__3fooi is 'foo::bar(int)'. We get here when we find the - first case, and need to ensure that the '(void)' gets added to - the current declp. Note that with ARM/HP, the first case - represents the name of a static data member 'foo::bar', - which is in the current declp, so we leave it alone. */ - success = demangle_args (work, mangled, declp); - } - } - if (success && PRINT_ARG_TYPES) - { - if (work->static_type) - string_append (declp, " static"); - if (work->type_quals != TYPE_UNQUALIFIED) - { - APPEND_BLANK (declp); - string_append (declp, qualifier_string (work->type_quals)); - } - } - - return (success); -} - -#if 0 - -static int -demangle_method_args (struct work_stuff *work, const char **mangled, - string *declp) -{ - int success = 0; - - if (work -> static_type) - { - string_append (declp, *mangled + 1); - *mangled += strlen (*mangled); - success = 1; - } - else - { - success = demangle_args (work, mangled, declp); - } - return (success); -} - -#endif - -static int -demangle_template_template_parm (struct work_stuff *work, - const char **mangled, string *tname) -{ - int i; - int r; - int need_comma = 0; - int success = 1; - string temp; - - string_append (tname, "template <"); - /* get size of template parameter list */ - if (get_count (mangled, &r)) - { - for (i = 0; i < r; i++) - { - if (need_comma) - { - string_append (tname, ", "); - } - - /* Z for type parameters */ - if (**mangled == 'Z') - { - (*mangled)++; - string_append (tname, "class"); - } - /* z for template parameters */ - else if (**mangled == 'z') - { - (*mangled)++; - success = - demangle_template_template_parm (work, mangled, tname); - if (!success) - { - break; - } - } - else - { - /* temp is initialized in do_type */ - success = do_type (work, mangled, &temp); - if (success) - { - string_appends (tname, &temp); - } - string_delete(&temp); - if (!success) - { - break; - } - } - need_comma = 1; - } - - } - if (tname->p[-1] == '>') - string_append (tname, " "); - string_append (tname, "> class"); - return (success); -} - -static int -demangle_expression (struct work_stuff *work, const char **mangled, - string *s, type_kind_t tk) -{ - int need_operator = 0; - int success; - - success = 1; - string_appendn (s, "(", 1); - (*mangled)++; - while (success && **mangled != 'W' && **mangled != '\0') - { - if (need_operator) - { - size_t i; - size_t len; - - success = 0; - - len = strlen (*mangled); - - for (i = 0; i < ARRAY_SIZE (optable); ++i) - { - size_t l = strlen (optable[i].in); - - if (l <= len - && memcmp (optable[i].in, *mangled, l) == 0) - { - string_appendn (s, " ", 1); - string_append (s, optable[i].out); - string_appendn (s, " ", 1); - success = 1; - (*mangled) += l; - break; - } - } - - if (!success) - break; - } - else - need_operator = 1; - - success = demangle_template_value_parm (work, mangled, s, tk); - } - - if (**mangled != 'W') - success = 0; - else - { - string_appendn (s, ")", 1); - (*mangled)++; - } - - return success; -} - -static int -demangle_integral_value (struct work_stuff *work, - const char **mangled, string *s) -{ - int success; - - if (**mangled == 'E') - success = demangle_expression (work, mangled, s, tk_integral); - else if (**mangled == 'Q' || **mangled == 'K') - success = demangle_qualified (work, mangled, s, 0, 1); - else - { - int value; - - /* By default, we let the number decide whether we shall consume an - underscore. */ - int multidigit_without_leading_underscore = 0; - int leave_following_underscore = 0; - - success = 0; - - if (**mangled == '_') - { - if (mangled[0][1] == 'm') - { - /* Since consume_count_with_underscores does not handle the - `m'-prefix we must do it here, using consume_count and - adjusting underscores: we have to consume the underscore - matching the prepended one. */ - multidigit_without_leading_underscore = 1; - string_appendn (s, "-", 1); - (*mangled) += 2; - } - else - { - /* Do not consume a following underscore; - consume_count_with_underscores will consume what - should be consumed. */ - leave_following_underscore = 1; - } - } - else - { - /* Negative numbers are indicated with a leading `m'. */ - if (**mangled == 'm') - { - string_appendn (s, "-", 1); - (*mangled)++; - } - /* Since consume_count_with_underscores does not handle - multi-digit numbers that do not start with an underscore, - and this number can be an integer template parameter, - we have to call consume_count. */ - multidigit_without_leading_underscore = 1; - /* These multi-digit numbers never end on an underscore, - so if there is one then don't eat it. */ - leave_following_underscore = 1; - } - - /* We must call consume_count if we expect to remove a trailing - underscore, since consume_count_with_underscores expects - the leading underscore (that we consumed) if it is to handle - multi-digit numbers. */ - if (multidigit_without_leading_underscore) - value = consume_count (mangled); - else - value = consume_count_with_underscores (mangled); - - if (value != -1) - { - char buf[INTBUF_SIZE]; - sprintf (buf, "%d", value); - string_append (s, buf); - - /* Numbers not otherwise delimited, might have an underscore - appended as a delimeter, which we should skip. - - ??? This used to always remove a following underscore, which - is wrong. If other (arbitrary) cases are followed by an - underscore, we need to do something more radical. */ - - if ((value > 9 || multidigit_without_leading_underscore) - && ! leave_following_underscore - && **mangled == '_') - (*mangled)++; - - /* All is well. */ - success = 1; - } - } - - return success; -} - -/* Demangle the real value in MANGLED. */ - -static int -demangle_real_value (struct work_stuff *work, - const char **mangled, string *s) -{ - if (**mangled == 'E') - return demangle_expression (work, mangled, s, tk_real); - - if (**mangled == 'm') - { - string_appendn (s, "-", 1); - (*mangled)++; - } - while (ISDIGIT ((unsigned char)**mangled)) - { - string_appendn (s, *mangled, 1); - (*mangled)++; - } - if (**mangled == '.') /* fraction */ - { - string_appendn (s, ".", 1); - (*mangled)++; - while (ISDIGIT ((unsigned char)**mangled)) - { - string_appendn (s, *mangled, 1); - (*mangled)++; - } - } - if (**mangled == 'e') /* exponent */ - { - string_appendn (s, "e", 1); - (*mangled)++; - while (ISDIGIT ((unsigned char)**mangled)) - { - string_appendn (s, *mangled, 1); - (*mangled)++; - } - } - - return 1; -} - -static int -demangle_template_value_parm (struct work_stuff *work, const char **mangled, - string *s, type_kind_t tk) -{ - int success = 1; - - if (**mangled == 'Y') - { - /* The next argument is a template parameter. */ - int idx; - - (*mangled)++; - idx = consume_count_with_underscores (mangled); - if (idx == -1 - || (work->tmpl_argvec && idx >= work->ntmpl_args) - || consume_count_with_underscores (mangled) == -1) - return -1; - if (work->tmpl_argvec) - string_append (s, work->tmpl_argvec[idx]); - else - string_append_template_idx (s, idx); - } - else if (tk == tk_integral) - success = demangle_integral_value (work, mangled, s); - else if (tk == tk_char) - { - char tmp[2]; - int val; - if (**mangled == 'm') - { - string_appendn (s, "-", 1); - (*mangled)++; - } - string_appendn (s, "'", 1); - val = consume_count(mangled); - if (val <= 0) - success = 0; - else - { - tmp[0] = (char)val; - tmp[1] = '\0'; - string_appendn (s, &tmp[0], 1); - string_appendn (s, "'", 1); - } - } - else if (tk == tk_bool) - { - int val = consume_count (mangled); - if (val == 0) - string_appendn (s, "false", 5); - else if (val == 1) - string_appendn (s, "true", 4); - else - success = 0; - } - else if (tk == tk_real) - success = demangle_real_value (work, mangled, s); - else if (tk == tk_pointer || tk == tk_reference - || tk == tk_rvalue_reference) - { - if (**mangled == 'Q') - success = demangle_qualified (work, mangled, s, - /*isfuncname=*/0, - /*append=*/1); - else - { - int symbol_len = consume_count (mangled); - if (symbol_len == -1 - || symbol_len > (long) strlen (*mangled)) - return -1; - if (symbol_len == 0) - string_appendn (s, "0", 1); - else - { - char *p = XNEWVEC (char, symbol_len + 1), *q; - strncpy (p, *mangled, symbol_len); - p [symbol_len] = '\0'; - /* We use cplus_demangle here, rather than - internal_cplus_demangle, because the name of the entity - mangled here does not make use of any of the squangling - or type-code information we have built up thus far; it is - mangled independently. */ - q = cplus_demangle (p, work->options); - if (tk == tk_pointer) - string_appendn (s, "&", 1); - /* FIXME: Pointer-to-member constants should get a - qualifying class name here. */ - if (q) - { - string_append (s, q); - free (q); - } - else - string_append (s, p); - free (p); - } - *mangled += symbol_len; - } - } - - return success; -} - -/* Demangle the template name in MANGLED. The full name of the - template (e.g., S) is placed in TNAME. The name without the - template parameters (e.g. S) is placed in TRAWNAME if TRAWNAME is - non-NULL. If IS_TYPE is nonzero, this template is a type template, - not a function template. If both IS_TYPE and REMEMBER are nonzero, - the template is remembered in the list of back-referenceable - types. */ - -static int -demangle_template (struct work_stuff *work, const char **mangled, - string *tname, string *trawname, - int is_type, int remember) -{ - int i; - int r; - int need_comma = 0; - int success = 0; - int is_java_array = 0; - string temp; - - (*mangled)++; - if (is_type) - { - /* get template name */ - if (**mangled == 'z') - { - int idx; - (*mangled)++; - if (**mangled == '\0') - return (0); - (*mangled)++; - - idx = consume_count_with_underscores (mangled); - if (idx == -1 - || (work->tmpl_argvec && idx >= work->ntmpl_args) - || consume_count_with_underscores (mangled) == -1) - return (0); - - if (work->tmpl_argvec) - { - string_append (tname, work->tmpl_argvec[idx]); - if (trawname) - string_append (trawname, work->tmpl_argvec[idx]); - } - else - { - string_append_template_idx (tname, idx); - if (trawname) - string_append_template_idx (trawname, idx); - } - } - else - { - if ((r = consume_count (mangled)) <= 0 - || (int) strlen (*mangled) < r) - { - return (0); - } - is_java_array = (work -> options & DMGL_JAVA) - && strncmp (*mangled, "JArray1Z", 8) == 0; - if (! is_java_array) - { - string_appendn (tname, *mangled, r); - } - if (trawname) - string_appendn (trawname, *mangled, r); - *mangled += r; - } - } - if (!is_java_array) - string_append (tname, "<"); - /* get size of template parameter list */ - if (!get_count (mangled, &r)) - { - return (0); - } - if (!is_type) - { - /* Create an array for saving the template argument values. */ - work->tmpl_argvec = XNEWVEC (char *, r); - work->ntmpl_args = r; - for (i = 0; i < r; i++) - work->tmpl_argvec[i] = 0; - } - for (i = 0; i < r; i++) - { - if (need_comma) - { - string_append (tname, ", "); - } - /* Z for type parameters */ - if (**mangled == 'Z') - { - (*mangled)++; - /* temp is initialized in do_type */ - success = do_type (work, mangled, &temp); - if (success) - { - string_appends (tname, &temp); - - if (!is_type) - { - /* Save the template argument. */ - int len = temp.p - temp.b; - work->tmpl_argvec[i] = XNEWVEC (char, len + 1); - memcpy (work->tmpl_argvec[i], temp.b, len); - work->tmpl_argvec[i][len] = '\0'; - } - } - string_delete(&temp); - if (!success) - { - break; - } - } - /* z for template parameters */ - else if (**mangled == 'z') - { - int r2; - (*mangled)++; - success = demangle_template_template_parm (work, mangled, tname); - - if (success - && (r2 = consume_count (mangled)) > 0 - && (int) strlen (*mangled) >= r2) - { - string_append (tname, " "); - string_appendn (tname, *mangled, r2); - if (!is_type) - { - /* Save the template argument. */ - int len = r2; - work->tmpl_argvec[i] = XNEWVEC (char, len + 1); - memcpy (work->tmpl_argvec[i], *mangled, len); - work->tmpl_argvec[i][len] = '\0'; - } - *mangled += r2; - } - if (!success) - { - break; - } - } - else - { - string param; - string* s; - - /* otherwise, value parameter */ - - /* temp is initialized in do_type */ - success = do_type (work, mangled, &temp); - string_delete(&temp); - if (!success) - break; - - if (!is_type) - { - s = ¶m; - string_init (s); - } - else - s = tname; - - success = demangle_template_value_parm (work, mangled, s, - (type_kind_t) success); - - if (!success) - { - if (!is_type) - string_delete (s); - success = 0; - break; - } - - if (!is_type) - { - int len = s->p - s->b; - work->tmpl_argvec[i] = XNEWVEC (char, len + 1); - memcpy (work->tmpl_argvec[i], s->b, len); - work->tmpl_argvec[i][len] = '\0'; - - string_appends (tname, s); - string_delete (s); - } - } - need_comma = 1; - } - if (is_java_array) - { - string_append (tname, "[]"); - } - else - { - if (tname->p[-1] == '>') - string_append (tname, " "); - string_append (tname, ">"); - } - - if (is_type && remember) - { - const int bindex = register_Btype (work); - remember_Btype (work, tname->b, LEN_STRING (tname), bindex); - } - - /* - if (work -> static_type) - { - string_append (declp, *mangled + 1); - *mangled += strlen (*mangled); - success = 1; - } - else - { - success = demangle_args (work, mangled, declp); - } - } - */ - return (success); -} - -static int -arm_pt (struct work_stuff *work, const char *mangled, - int n, const char **anchor, const char **args) -{ - /* Check if ARM template with "__pt__" in it ("parameterized type") */ - /* Allow HP also here, because HP's cfront compiler follows ARM to some extent */ - if ((ARM_DEMANGLING || HP_DEMANGLING) && (*anchor = strstr (mangled, "__pt__"))) - { - int len; - *args = *anchor + 6; - len = consume_count (args); - if (len == -1) - return 0; - if (*args + len == mangled + n && **args == '_') - { - ++*args; - return 1; - } - } - if (AUTO_DEMANGLING || EDG_DEMANGLING) - { - if ((*anchor = strstr (mangled, "__tm__")) - || (*anchor = strstr (mangled, "__ps__")) - || (*anchor = strstr (mangled, "__pt__"))) - { - int len; - *args = *anchor + 6; - len = consume_count (args); - if (len == -1) - return 0; - if (*args + len == mangled + n && **args == '_') - { - ++*args; - return 1; - } - } - else if ((*anchor = strstr (mangled, "__S"))) - { - int len; - *args = *anchor + 3; - len = consume_count (args); - if (len == -1) - return 0; - if (*args + len == mangled + n && **args == '_') - { - ++*args; - return 1; - } - } - } - - return 0; -} - -static void -demangle_arm_hp_template (struct work_stuff *work, const char **mangled, - int n, string *declp) -{ - const char *p; - const char *args; - const char *e = *mangled + n; - string arg; - - /* Check for HP aCC template spec: classXt1t2 where t1, t2 are - template args */ - if (HP_DEMANGLING && ((*mangled)[n] == 'X')) - { - char *start_spec_args = NULL; - int hold_options; - - /* First check for and omit template specialization pseudo-arguments, - such as in "Spec<#1,#1.*>" */ - start_spec_args = strchr (*mangled, '<'); - if (start_spec_args && (start_spec_args - *mangled < n)) - string_appendn (declp, *mangled, start_spec_args - *mangled); - else - string_appendn (declp, *mangled, n); - (*mangled) += n + 1; - string_init (&arg); - if (work->temp_start == -1) /* non-recursive call */ - work->temp_start = declp->p - declp->b; - - /* We want to unconditionally demangle parameter types in - template parameters. */ - hold_options = work->options; - work->options |= DMGL_PARAMS; - - string_append (declp, "<"); - while (1) - { - string_delete (&arg); - switch (**mangled) - { - case 'T': - /* 'T' signals a type parameter */ - (*mangled)++; - if (!do_type (work, mangled, &arg)) - goto hpacc_template_args_done; - break; - - case 'U': - case 'S': - /* 'U' or 'S' signals an integral value */ - if (!do_hpacc_template_const_value (work, mangled, &arg)) - goto hpacc_template_args_done; - break; - - case 'A': - /* 'A' signals a named constant expression (literal) */ - if (!do_hpacc_template_literal (work, mangled, &arg)) - goto hpacc_template_args_done; - break; - - default: - /* Today, 1997-09-03, we have only the above types - of template parameters */ - /* FIXME: maybe this should fail and return null */ - goto hpacc_template_args_done; - } - string_appends (declp, &arg); - /* Check if we're at the end of template args. - 0 if at end of static member of template class, - _ if done with template args for a function */ - if ((**mangled == '\000') || (**mangled == '_')) - break; - else - string_append (declp, ","); - } - hpacc_template_args_done: - string_append (declp, ">"); - string_delete (&arg); - if (**mangled == '_') - (*mangled)++; - work->options = hold_options; - return; - } - /* ARM template? (Also handles HP cfront extensions) */ - else if (arm_pt (work, *mangled, n, &p, &args)) - { - int hold_options; - string type_str; - - string_init (&arg); - string_appendn (declp, *mangled, p - *mangled); - if (work->temp_start == -1) /* non-recursive call */ - work->temp_start = declp->p - declp->b; - - /* We want to unconditionally demangle parameter types in - template parameters. */ - hold_options = work->options; - work->options |= DMGL_PARAMS; - - string_append (declp, "<"); - /* should do error checking here */ - while (args < e) { - string_delete (&arg); - - /* Check for type or literal here */ - switch (*args) - { - /* HP cfront extensions to ARM for template args */ - /* spec: Xt1Lv1 where t1 is a type, v1 is a literal value */ - /* FIXME: We handle only numeric literals for HP cfront */ - case 'X': - /* A typed constant value follows */ - args++; - if (!do_type (work, &args, &type_str)) - goto cfront_template_args_done; - string_append (&arg, "("); - string_appends (&arg, &type_str); - string_delete (&type_str); - string_append (&arg, ")"); - if (*args != 'L') - goto cfront_template_args_done; - args++; - /* Now snarf a literal value following 'L' */ - if (!snarf_numeric_literal (&args, &arg)) - goto cfront_template_args_done; - break; - - case 'L': - /* Snarf a literal following 'L' */ - args++; - if (!snarf_numeric_literal (&args, &arg)) - goto cfront_template_args_done; - break; - default: - /* Not handling other HP cfront stuff */ - { - const char* old_args = args; - if (!do_type (work, &args, &arg)) - goto cfront_template_args_done; - - /* Fail if we didn't make any progress: prevent infinite loop. */ - if (args == old_args) - { - work->options = hold_options; - return; - } - } - } - string_appends (declp, &arg); - string_append (declp, ","); - } - cfront_template_args_done: - string_delete (&arg); - if (args >= e) - --declp->p; /* remove extra comma */ - string_append (declp, ">"); - work->options = hold_options; - } - else if (n>10 && strncmp (*mangled, "_GLOBAL_", 8) == 0 - && (*mangled)[9] == 'N' - && (*mangled)[8] == (*mangled)[10] - && strchr (cplus_markers, (*mangled)[8])) - { - /* A member of the anonymous namespace. */ - string_append (declp, "{anonymous}"); - } - else - { - if (work->temp_start == -1) /* non-recursive call only */ - work->temp_start = 0; /* disable in recursive calls */ - string_appendn (declp, *mangled, n); - } - *mangled += n; -} - -/* Extract a class name, possibly a template with arguments, from the - mangled string; qualifiers, local class indicators, etc. have - already been dealt with */ - -static int -demangle_class_name (struct work_stuff *work, const char **mangled, - string *declp) -{ - int n; - int success = 0; - - n = consume_count (mangled); - if (n == -1) - return 0; - if ((int) strlen (*mangled) >= n) - { - demangle_arm_hp_template (work, mangled, n, declp); - success = 1; - } - - return (success); -} - -/* - -LOCAL FUNCTION - - demangle_class -- demangle a mangled class sequence - -SYNOPSIS - - static int - demangle_class (struct work_stuff *work, const char **mangled, - strint *declp) - -DESCRIPTION - - DECLP points to the buffer into which demangling is being done. - - *MANGLED points to the current token to be demangled. On input, - it points to a mangled class (I.E. "3foo", "13verylongclass", etc.) - On exit, it points to the next token after the mangled class on - success, or the first unconsumed token on failure. - - If the CONSTRUCTOR or DESTRUCTOR flags are set in WORK, then - we are demangling a constructor or destructor. In this case - we prepend "class::class" or "class::~class" to DECLP. - - Otherwise, we prepend "class::" to the current DECLP. - - Reset the constructor/destructor flags once they have been - "consumed". This allows demangle_class to be called later during - the same demangling, to do normal class demangling. - - Returns 1 if demangling is successful, 0 otherwise. - -*/ - -static int -demangle_class (struct work_stuff *work, const char **mangled, string *declp) -{ - int success = 0; - int btype; - string class_name; - char *save_class_name_end = 0; - - string_init (&class_name); - btype = register_Btype (work); - if (demangle_class_name (work, mangled, &class_name)) - { - save_class_name_end = class_name.p; - if ((work->constructor & 1) || (work->destructor & 1)) - { - /* adjust so we don't include template args */ - if (work->temp_start && (work->temp_start != -1)) - { - class_name.p = class_name.b + work->temp_start; - } - string_prepends (declp, &class_name); - if (work -> destructor & 1) - { - string_prepend (declp, "~"); - work -> destructor -= 1; - } - else - { - work -> constructor -= 1; - } - } - class_name.p = save_class_name_end; - remember_Ktype (work, class_name.b, LEN_STRING(&class_name)); - remember_Btype (work, class_name.b, LEN_STRING(&class_name), btype); - string_prepend (declp, SCOPE_STRING (work)); - string_prepends (declp, &class_name); - success = 1; - } - string_delete (&class_name); - return (success); -} - - -/* Called when there's a "__" in the mangled name, with `scan' pointing to - the rightmost guess. - - Find the correct "__"-sequence where the function name ends and the - signature starts, which is ambiguous with GNU mangling. - Call demangle_signature here, so we can make sure we found the right - one; *mangled will be consumed so caller will not make further calls to - demangle_signature. */ - -static int -iterate_demangle_function (struct work_stuff *work, const char **mangled, - string *declp, const char *scan) -{ - const char *mangle_init = *mangled; - int success = 0; - string decl_init; - struct work_stuff work_init; - - if (*(scan + 2) == '\0') - return 0; - - /* Do not iterate for some demangling modes, or if there's only one - "__"-sequence. This is the normal case. */ - if (ARM_DEMANGLING || LUCID_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING - || strstr (scan + 2, "__") == NULL) - return demangle_function_name (work, mangled, declp, scan); - - /* Save state so we can restart if the guess at the correct "__" was - wrong. */ - string_init (&decl_init); - string_appends (&decl_init, declp); - memset (&work_init, 0, sizeof work_init); - work_stuff_copy_to_from (&work_init, work); - - /* Iterate over occurrences of __, allowing names and types to have a - "__" sequence in them. We must start with the first (not the last) - occurrence, since "__" most often occur between independent mangled - parts, hence starting at the last occurence inside a signature - might get us a "successful" demangling of the signature. */ - - while (scan[2]) - { - if (demangle_function_name (work, mangled, declp, scan)) - { - success = demangle_signature (work, mangled, declp); - if (success) - break; - } - - /* Reset demangle state for the next round. */ - *mangled = mangle_init; - string_clear (declp); - string_appends (declp, &decl_init); - work_stuff_copy_to_from (work, &work_init); - - /* Leave this underscore-sequence. */ - scan += 2; - - /* Scan for the next "__" sequence. */ - while (*scan && (scan[0] != '_' || scan[1] != '_')) - scan++; - - /* Move to last "__" in this sequence. */ - while (*scan && *scan == '_') - scan++; - scan -= 2; - } - - /* Delete saved state. */ - delete_work_stuff (&work_init); - string_delete (&decl_init); - - return success; -} - -/* - -LOCAL FUNCTION - - demangle_prefix -- consume the mangled name prefix and find signature - -SYNOPSIS - - static int - demangle_prefix (struct work_stuff *work, const char **mangled, - string *declp); - -DESCRIPTION - - Consume and demangle the prefix of the mangled name. - While processing the function name root, arrange to call - demangle_signature if the root is ambiguous. - - DECLP points to the string buffer into which demangled output is - placed. On entry, the buffer is empty. On exit it contains - the root function name, the demangled operator name, or in some - special cases either nothing or the completely demangled result. - - MANGLED points to the current pointer into the mangled name. As each - token of the mangled name is consumed, it is updated. Upon entry - the current mangled name pointer points to the first character of - the mangled name. Upon exit, it should point to the first character - of the signature if demangling was successful, or to the first - unconsumed character if demangling of the prefix was unsuccessful. - - Returns 1 on success, 0 otherwise. - */ - -static int -demangle_prefix (struct work_stuff *work, const char **mangled, - string *declp) -{ - int success = 1; - const char *scan; - int i; - - if (strlen(*mangled) > 6 - && (strncmp(*mangled, "_imp__", 6) == 0 - || strncmp(*mangled, "__imp_", 6) == 0)) - { - /* it's a symbol imported from a PE dynamic library. Check for both - new style prefix _imp__ and legacy __imp_ used by older versions - of dlltool. */ - (*mangled) += 6; - work->dllimported = 1; - } - else if (strlen(*mangled) >= 11 && strncmp(*mangled, "_GLOBAL_", 8) == 0) - { - char *marker = strchr (cplus_markers, (*mangled)[8]); - if (marker != NULL && *marker == (*mangled)[10]) - { - if ((*mangled)[9] == 'D') - { - /* it's a GNU global destructor to be executed at program exit */ - (*mangled) += 11; - work->destructor = 2; - if (gnu_special (work, mangled, declp)) - return success; - } - else if ((*mangled)[9] == 'I') - { - /* it's a GNU global constructor to be executed at program init */ - (*mangled) += 11; - work->constructor = 2; - if (gnu_special (work, mangled, declp)) - return success; - } - } - } - else if ((ARM_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING) && strncmp(*mangled, "__std__", 7) == 0) - { - /* it's a ARM global destructor to be executed at program exit */ - (*mangled) += 7; - work->destructor = 2; - } - else if ((ARM_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING) && strncmp(*mangled, "__sti__", 7) == 0) - { - /* it's a ARM global constructor to be executed at program initial */ - (*mangled) += 7; - work->constructor = 2; - } - - /* This block of code is a reduction in strength time optimization - of: - scan = strstr (*mangled, "__"); */ - - { - scan = *mangled; - - do { - scan = strchr (scan, '_'); - } while (scan != NULL && *++scan != '_'); - - if (scan != NULL) --scan; - } - - if (scan != NULL) - { - /* We found a sequence of two or more '_', ensure that we start at - the last pair in the sequence. */ - i = strspn (scan, "_"); - if (i > 2) - { - scan += (i - 2); - } - } - - if (scan == NULL) - { - success = 0; - } - else if (work -> static_type) - { - if (!ISDIGIT ((unsigned char)scan[0]) && (scan[0] != 't')) - { - success = 0; - } - } - else if ((scan == *mangled) - && (ISDIGIT ((unsigned char)scan[2]) || (scan[2] == 'Q') - || (scan[2] == 't') || (scan[2] == 'K') || (scan[2] == 'H'))) - { - /* The ARM says nothing about the mangling of local variables. - But cfront mangles local variables by prepending __ - to them. As an extension to ARM demangling we handle this case. */ - if ((LUCID_DEMANGLING || ARM_DEMANGLING || HP_DEMANGLING) - && ISDIGIT ((unsigned char)scan[2])) - { - *mangled = scan + 2; - consume_count (mangled); - string_append (declp, *mangled); - *mangled += strlen (*mangled); - success = 1; - } - else - { - /* A GNU style constructor starts with __[0-9Qt]. But cfront uses - names like __Q2_3foo3bar for nested type names. So don't accept - this style of constructor for cfront demangling. A GNU - style member-template constructor starts with 'H'. */ - if (!(LUCID_DEMANGLING || ARM_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING)) - work -> constructor += 1; - *mangled = scan + 2; - } - } - else if (ARM_DEMANGLING && scan[2] == 'p' && scan[3] == 't') - { - /* Cfront-style parameterized type. Handled later as a signature. */ - success = 1; - - /* ARM template? */ - demangle_arm_hp_template (work, mangled, strlen (*mangled), declp); - } - else if (EDG_DEMANGLING && ((scan[2] == 't' && scan[3] == 'm') - || (scan[2] == 'p' && scan[3] == 's') - || (scan[2] == 'p' && scan[3] == 't'))) - { - /* EDG-style parameterized type. Handled later as a signature. */ - success = 1; - - /* EDG template? */ - demangle_arm_hp_template (work, mangled, strlen (*mangled), declp); - } - else if ((scan == *mangled) && !ISDIGIT ((unsigned char)scan[2]) - && (scan[2] != 't')) - { - /* Mangled name starts with "__". Skip over any leading '_' characters, - then find the next "__" that separates the prefix from the signature. - */ - if (!(ARM_DEMANGLING || LUCID_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING) - || (arm_special (mangled, declp) == 0)) - { - while (*scan == '_') - { - scan++; - } - if ((scan = strstr (scan, "__")) == NULL || (*(scan + 2) == '\0')) - { - /* No separator (I.E. "__not_mangled"), or empty signature - (I.E. "__not_mangled_either__") */ - success = 0; - } - else - return iterate_demangle_function (work, mangled, declp, scan); - } - } - else if (*(scan + 2) != '\0') - { - /* Mangled name does not start with "__" but does have one somewhere - in there with non empty stuff after it. Looks like a global - function name. Iterate over all "__":s until the right - one is found. */ - return iterate_demangle_function (work, mangled, declp, scan); - } - else - { - /* Doesn't look like a mangled name */ - success = 0; - } - - if (!success && (work->constructor == 2 || work->destructor == 2)) - { - string_append (declp, *mangled); - *mangled += strlen (*mangled); - success = 1; - } - return (success); -} - -/* - -LOCAL FUNCTION - - gnu_special -- special handling of gnu mangled strings - -SYNOPSIS - - static int - gnu_special (struct work_stuff *work, const char **mangled, - string *declp); - - -DESCRIPTION - - Process some special GNU style mangling forms that don't fit - the normal pattern. For example: - - _$_3foo (destructor for class foo) - _vt$foo (foo virtual table) - _vt$foo$bar (foo::bar virtual table) - __vt_foo (foo virtual table, new style with thunks) - _3foo$varname (static data member) - _Q22rs2tu$vw (static data member) - __t6vector1Zii (constructor with template) - __thunk_4__$_7ostream (virtual function thunk) - */ - -static int -gnu_special (struct work_stuff *work, const char **mangled, string *declp) -{ - int n; - int success = 1; - const char *p; - - if ((*mangled)[0] == '_' && (*mangled)[1] != '\0' - && strchr (cplus_markers, (*mangled)[1]) != NULL - && (*mangled)[2] == '_') - { - /* Found a GNU style destructor, get past "__" */ - (*mangled) += 3; - work -> destructor += 1; - } - else if ((*mangled)[0] == '_' - && (((*mangled)[1] == '_' - && (*mangled)[2] == 'v' - && (*mangled)[3] == 't' - && (*mangled)[4] == '_') - || ((*mangled)[1] == 'v' - && (*mangled)[2] == 't' && (*mangled)[3] != '\0' - && strchr (cplus_markers, (*mangled)[3]) != NULL))) - { - /* Found a GNU style virtual table, get past "_vt" - and create the decl. Note that we consume the entire mangled - input string, which means that demangle_signature has no work - to do. */ - if ((*mangled)[2] == 'v') - (*mangled) += 5; /* New style, with thunks: "__vt_" */ - else - (*mangled) += 4; /* Old style, no thunks: "_vt" */ - while (**mangled != '\0') - { - switch (**mangled) - { - case 'Q': - case 'K': - success = demangle_qualified (work, mangled, declp, 0, 1); - break; - case 't': - success = demangle_template (work, mangled, declp, 0, 1, - 1); - break; - default: - if (ISDIGIT((unsigned char)*mangled[0])) - { - n = consume_count(mangled); - /* We may be seeing a too-large size, or else a - "." indicating a static local symbol. In - any case, declare victory and move on; *don't* try - to use n to allocate. */ - if (n > (int) strlen (*mangled)) - { - success = 1; - break; - } - else if (n == -1) - { - success = 0; - break; - } - } - else - { - n = strcspn (*mangled, cplus_markers); - } - string_appendn (declp, *mangled, n); - (*mangled) += n; - } - - p = strpbrk (*mangled, cplus_markers); - if (success && ((p == NULL) || (p == *mangled))) - { - if (p != NULL) - { - string_append (declp, SCOPE_STRING (work)); - (*mangled)++; - } - } - else - { - success = 0; - break; - } - } - if (success) - string_append (declp, " virtual table"); - } - else if ((*mangled)[0] == '_' - && (strchr("0123456789Qt", (*mangled)[1]) != NULL) - && (p = strpbrk (*mangled, cplus_markers)) != NULL) - { - /* static data member, "_3foo$varname" for example */ - (*mangled)++; - switch (**mangled) - { - case 'Q': - case 'K': - success = demangle_qualified (work, mangled, declp, 0, 1); - break; - case 't': - success = demangle_template (work, mangled, declp, 0, 1, 1); - break; - default: - n = consume_count (mangled); - if (n < 0 || n > (long) strlen (*mangled)) - { - success = 0; - break; - } - - if (n > 10 && strncmp (*mangled, "_GLOBAL_", 8) == 0 - && (*mangled)[9] == 'N' - && (*mangled)[8] == (*mangled)[10] - && strchr (cplus_markers, (*mangled)[8])) - { - /* A member of the anonymous namespace. There's information - about what identifier or filename it was keyed to, but - it's just there to make the mangled name unique; we just - step over it. */ - string_append (declp, "{anonymous}"); - (*mangled) += n; - - /* Now p points to the marker before the N, so we need to - update it to the first marker after what we consumed. */ - p = strpbrk (*mangled, cplus_markers); - break; - } - - string_appendn (declp, *mangled, n); - (*mangled) += n; - } - if (success && (p == *mangled)) - { - /* Consumed everything up to the cplus_marker, append the - variable name. */ - (*mangled)++; - string_append (declp, SCOPE_STRING (work)); - n = strlen (*mangled); - string_appendn (declp, *mangled, n); - (*mangled) += n; - } - else - { - success = 0; - } - } - else if (strncmp (*mangled, "__thunk_", 8) == 0) - { - int delta; - - (*mangled) += 8; - delta = consume_count (mangled); - if (delta == -1) - success = 0; - else if (**mangled != '_') - success = 0; - else - { - char *method = internal_cplus_demangle (work, ++*mangled); - - if (method) - { - char buf[50]; - sprintf (buf, "virtual function thunk (delta:%d) for ", -delta); - string_append (declp, buf); - string_append (declp, method); - free (method); - n = strlen (*mangled); - (*mangled) += n; - } - else - { - success = 0; - } - } - } - else if (strncmp (*mangled, "__t", 3) == 0 - && ((*mangled)[3] == 'i' || (*mangled)[3] == 'f')) - { - p = (*mangled)[3] == 'i' ? " type_info node" : " type_info function"; - (*mangled) += 4; - switch (**mangled) - { - case 'Q': - case 'K': - success = demangle_qualified (work, mangled, declp, 0, 1); - break; - case 't': - success = demangle_template (work, mangled, declp, 0, 1, 1); - break; - default: - success = do_type (work, mangled, declp); - break; - } - if (success && **mangled != '\0') - success = 0; - if (success) - string_append (declp, p); - } - else - { - success = 0; - } - return (success); -} - -static void -recursively_demangle(struct work_stuff *work, const char **mangled, - string *result, int namelength) -{ - char * recurse = (char *)NULL; - char * recurse_dem = (char *)NULL; - - recurse = XNEWVEC (char, namelength + 1); - memcpy (recurse, *mangled, namelength); - recurse[namelength] = '\000'; - - recurse_dem = cplus_demangle (recurse, work->options); - - if (recurse_dem) - { - string_append (result, recurse_dem); - free (recurse_dem); - } - else - { - string_appendn (result, *mangled, namelength); - } - free (recurse); - *mangled += namelength; -} - -/* - -LOCAL FUNCTION - - arm_special -- special handling of ARM/lucid mangled strings - -SYNOPSIS - - static int - arm_special (const char **mangled, - string *declp); - - -DESCRIPTION - - Process some special ARM style mangling forms that don't fit - the normal pattern. For example: - - __vtbl__3foo (foo virtual table) - __vtbl__3foo__3bar (bar::foo virtual table) - - */ - -static int -arm_special (const char **mangled, string *declp) -{ - int n; - int success = 1; - const char *scan; - - if (strncmp (*mangled, ARM_VTABLE_STRING, ARM_VTABLE_STRLEN) == 0) - { - /* Found a ARM style virtual table, get past ARM_VTABLE_STRING - and create the decl. Note that we consume the entire mangled - input string, which means that demangle_signature has no work - to do. */ - scan = *mangled + ARM_VTABLE_STRLEN; - while (*scan != '\0') /* first check it can be demangled */ - { - n = consume_count (&scan); - if (n == -1) - { - return (0); /* no good */ - } - scan += n; - if (scan[0] == '_' && scan[1] == '_') - { - scan += 2; - } - } - (*mangled) += ARM_VTABLE_STRLEN; - while (**mangled != '\0') - { - n = consume_count (mangled); - if (n == -1 - || n > (long) strlen (*mangled)) - return 0; - string_prependn (declp, *mangled, n); - (*mangled) += n; - if ((*mangled)[0] == '_' && (*mangled)[1] == '_') - { - string_prepend (declp, "::"); - (*mangled) += 2; - } - } - string_append (declp, " virtual table"); - } - else - { - success = 0; - } - return (success); -} - -/* - -LOCAL FUNCTION - - demangle_qualified -- demangle 'Q' qualified name strings - -SYNOPSIS - - static int - demangle_qualified (struct work_stuff *, const char *mangled, - string *result, int isfuncname, int append); - -DESCRIPTION - - Demangle a qualified name, such as "Q25Outer5Inner" which is - the mangled form of "Outer::Inner". The demangled output is - prepended or appended to the result string according to the - state of the append flag. - - If isfuncname is nonzero, then the qualified name we are building - is going to be used as a member function name, so if it is a - constructor or destructor function, append an appropriate - constructor or destructor name. I.E. for the above example, - the result for use as a constructor is "Outer::Inner::Inner" - and the result for use as a destructor is "Outer::Inner::~Inner". - -BUGS - - Numeric conversion is ASCII dependent (FIXME). - - */ - -static int -demangle_qualified (struct work_stuff *work, const char **mangled, - string *result, int isfuncname, int append) -{ - int qualifiers = 0; - int success = 1; - char num[2]; - string temp; - string last_name; - int bindex = register_Btype (work); - - /* We only make use of ISFUNCNAME if the entity is a constructor or - destructor. */ - isfuncname = (isfuncname - && ((work->constructor & 1) || (work->destructor & 1))); - - string_init (&temp); - string_init (&last_name); - - if ((*mangled)[0] == 'K') - { - /* Squangling qualified name reuse */ - int idx; - (*mangled)++; - idx = consume_count_with_underscores (mangled); - if (idx == -1 || idx >= work -> numk) - success = 0; - else - string_append (&temp, work -> ktypevec[idx]); - } - else - switch ((*mangled)[1]) - { - case '_': - /* GNU mangled name with more than 9 classes. The count is preceded - by an underscore (to distinguish it from the <= 9 case) and followed - by an underscore. */ - (*mangled)++; - qualifiers = consume_count_with_underscores (mangled); - if (qualifiers == -1) - success = 0; - break; - - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - /* The count is in a single digit. */ - num[0] = (*mangled)[1]; - num[1] = '\0'; - qualifiers = atoi (num); - - /* If there is an underscore after the digit, skip it. This is - said to be for ARM-qualified names, but the ARM makes no - mention of such an underscore. Perhaps cfront uses one. */ - if ((*mangled)[2] == '_') - { - (*mangled)++; - } - (*mangled) += 2; - break; - - case '0': - default: - success = 0; - } - - if (!success) - return success; - - /* Pick off the names and collect them in the temp buffer in the order - in which they are found, separated by '::'. */ - - while (qualifiers-- > 0) - { - int remember_K = 1; - string_clear (&last_name); - - if (*mangled[0] == '_') - (*mangled)++; - - if (*mangled[0] == 't') - { - /* Here we always append to TEMP since we will want to use - the template name without the template parameters as a - constructor or destructor name. The appropriate - (parameter-less) value is returned by demangle_template - in LAST_NAME. We do not remember the template type here, - in order to match the G++ mangling algorithm. */ - success = demangle_template(work, mangled, &temp, - &last_name, 1, 0); - if (!success) - break; - } - else if (*mangled[0] == 'K') - { - int idx; - (*mangled)++; - idx = consume_count_with_underscores (mangled); - if (idx == -1 || idx >= work->numk) - success = 0; - else - string_append (&temp, work->ktypevec[idx]); - remember_K = 0; - - if (!success) break; - } - else - { - if (EDG_DEMANGLING) - { - int namelength; - /* Now recursively demangle the qualifier - * This is necessary to deal with templates in - * mangling styles like EDG */ - namelength = consume_count (mangled); - if (namelength == -1) - { - success = 0; - break; - } - recursively_demangle(work, mangled, &temp, namelength); - } - else - { - string_delete (&last_name); - success = do_type (work, mangled, &last_name); - if (!success) - break; - string_appends (&temp, &last_name); - } - } - - if (remember_K) - remember_Ktype (work, temp.b, LEN_STRING (&temp)); - - if (qualifiers > 0) - string_append (&temp, SCOPE_STRING (work)); - } - - remember_Btype (work, temp.b, LEN_STRING (&temp), bindex); - - /* If we are using the result as a function name, we need to append - the appropriate '::' separated constructor or destructor name. - We do this here because this is the most convenient place, where - we already have a pointer to the name and the length of the name. */ - - if (isfuncname) - { - string_append (&temp, SCOPE_STRING (work)); - if (work -> destructor & 1) - string_append (&temp, "~"); - string_appends (&temp, &last_name); - } - - /* Now either prepend the temp buffer to the result, or append it, - depending upon the state of the append flag. */ - - if (append) - string_appends (result, &temp); - else - { - if (!STRING_EMPTY (result)) - string_append (&temp, SCOPE_STRING (work)); - string_prepends (result, &temp); - } - - string_delete (&last_name); - string_delete (&temp); - return (success); -} - -/* - -LOCAL FUNCTION - - get_count -- convert an ascii count to integer, consuming tokens - -SYNOPSIS - - static int - get_count (const char **type, int *count) - -DESCRIPTION - - Assume that *type points at a count in a mangled name; set - *count to its value, and set *type to the next character after - the count. There are some weird rules in effect here. - - If *type does not point at a string of digits, return zero. - - If *type points at a string of digits followed by an - underscore, set *count to their value as an integer, advance - *type to point *after the underscore, and return 1. - - If *type points at a string of digits not followed by an - underscore, consume only the first digit. Set *count to its - value as an integer, leave *type pointing after that digit, - and return 1. - - The excuse for this odd behavior: in the ARM and HP demangling - styles, a type can be followed by a repeat count of the form - `Nxy', where: - - `x' is a single digit specifying how many additional copies - of the type to append to the argument list, and - - `y' is one or more digits, specifying the zero-based index of - the first repeated argument in the list. Yes, as you're - unmangling the name you can figure this out yourself, but - it's there anyway. - - So, for example, in `bar__3fooFPiN51', the first argument is a - pointer to an integer (`Pi'), and then the next five arguments - are the same (`N5'), and the first repeat is the function's - second argument (`1'). -*/ - -static int -get_count (const char **type, int *count) -{ - const char *p; - int n; - - if (!ISDIGIT ((unsigned char)**type)) - return (0); - else - { - *count = **type - '0'; - (*type)++; - if (ISDIGIT ((unsigned char)**type)) - { - p = *type; - n = *count; - do - { - n *= 10; - n += *p - '0'; - p++; - } - while (ISDIGIT ((unsigned char)*p)); - if (*p == '_') - { - *type = p + 1; - *count = n; - } - } - } - return (1); -} - -/* RESULT will be initialised here; it will be freed on failure. The - value returned is really a type_kind_t. */ - -static int -do_type (struct work_stuff *work, const char **mangled, string *result) -{ - int n; - int i; - int is_proctypevec; - int done; - int success; - string decl; - const char *remembered_type; - int type_quals; - type_kind_t tk = tk_none; - - string_init (&decl); - string_init (result); - - done = 0; - success = 1; - is_proctypevec = 0; - while (success && !done) - { - int member; - switch (**mangled) - { - - /* A pointer type */ - case 'P': - case 'p': - (*mangled)++; - if (! (work -> options & DMGL_JAVA)) - string_prepend (&decl, "*"); - if (tk == tk_none) - tk = tk_pointer; - break; - - /* A reference type */ - case 'R': - (*mangled)++; - string_prepend (&decl, "&"); - if (tk == tk_none) - tk = tk_reference; - break; - - /* An rvalue reference type */ - case 'O': - (*mangled)++; - string_prepend (&decl, "&&"); - if (tk == tk_none) - tk = tk_rvalue_reference; - break; - - /* An array */ - case 'A': - { - ++(*mangled); - if (!STRING_EMPTY (&decl) - && (decl.b[0] == '*' || decl.b[0] == '&')) - { - string_prepend (&decl, "("); - string_append (&decl, ")"); - } - string_append (&decl, "["); - if (**mangled != '_') - success = demangle_template_value_parm (work, mangled, &decl, - tk_integral); - if (**mangled == '_') - ++(*mangled); - string_append (&decl, "]"); - break; - } - - /* A back reference to a previously seen type */ - case 'T': - (*mangled)++; - if (!get_count (mangled, &n) || n < 0 || n >= work -> ntypes) - { - success = 0; - } - else - for (i = 0; i < work->nproctypes; i++) - if (work -> proctypevec [i] == n) - success = 0; - - if (success) - { - is_proctypevec = 1; - push_processed_type (work, n); - remembered_type = work->typevec[n]; - mangled = &remembered_type; - } - break; - - /* A function */ - case 'F': - (*mangled)++; - if (!STRING_EMPTY (&decl) - && (decl.b[0] == '*' || decl.b[0] == '&')) - { - string_prepend (&decl, "("); - string_append (&decl, ")"); - } - /* After picking off the function args, we expect to either find the - function return type (preceded by an '_') or the end of the - string. */ - if (!demangle_nested_args (work, mangled, &decl) - || (**mangled != '_' && **mangled != '\0')) - { - success = 0; - break; - } - if (success && (**mangled == '_')) - (*mangled)++; - break; - - case 'M': - { - type_quals = TYPE_UNQUALIFIED; - - member = **mangled == 'M'; - (*mangled)++; - - string_append (&decl, ")"); - - /* We don't need to prepend `::' for a qualified name; - demangle_qualified will do that for us. */ - if (**mangled != 'Q') - string_prepend (&decl, SCOPE_STRING (work)); - - if (ISDIGIT ((unsigned char)**mangled)) - { - n = consume_count (mangled); - if (n == -1 - || (int) strlen (*mangled) < n) - { - success = 0; - break; - } - string_prependn (&decl, *mangled, n); - *mangled += n; - } - else if (**mangled == 'X' || **mangled == 'Y') - { - string temp; - do_type (work, mangled, &temp); - string_prepends (&decl, &temp); - string_delete (&temp); - } - else if (**mangled == 't') - { - string temp; - string_init (&temp); - success = demangle_template (work, mangled, &temp, - NULL, 1, 1); - if (success) - { - string_prependn (&decl, temp.b, temp.p - temp.b); - string_delete (&temp); - } - else - { - string_delete (&temp); - break; - } - } - else if (**mangled == 'Q') - { - success = demangle_qualified (work, mangled, &decl, - /*isfuncnam=*/0, - /*append=*/0); - if (!success) - break; - } - else - { - success = 0; - break; - } - - string_prepend (&decl, "("); - if (member) - { - switch (**mangled) - { - case 'C': - case 'V': - case 'u': - type_quals |= code_for_qualifier (**mangled); - (*mangled)++; - break; - - default: - break; - } - - if (*(*mangled) != 'F') - { - success = 0; - break; - } - (*mangled)++; - } - if ((member && !demangle_nested_args (work, mangled, &decl)) - || **mangled != '_') - { - success = 0; - break; - } - (*mangled)++; - if (! PRINT_ANSI_QUALIFIERS) - { - break; - } - if (type_quals != TYPE_UNQUALIFIED) - { - APPEND_BLANK (&decl); - string_append (&decl, qualifier_string (type_quals)); - } - break; - } - case 'G': - (*mangled)++; - break; - - case 'C': - case 'V': - case 'u': - if (PRINT_ANSI_QUALIFIERS) - { - if (!STRING_EMPTY (&decl)) - string_prepend (&decl, " "); - - string_prepend (&decl, demangle_qualifier (**mangled)); - } - (*mangled)++; - break; - /* - } - */ - - /* fall through */ - default: - done = 1; - break; - } - } - - if (success) switch (**mangled) - { - /* A qualified name, such as "Outer::Inner". */ - case 'Q': - case 'K': - { - success = demangle_qualified (work, mangled, result, 0, 1); - break; - } - - /* A back reference to a previously seen squangled type */ - case 'B': - (*mangled)++; - if (!get_count (mangled, &n) || n < 0 || n >= work -> numb) - success = 0; - else - string_append (result, work->btypevec[n]); - break; - - case 'X': - case 'Y': - /* A template parm. We substitute the corresponding argument. */ - { - int idx; - - (*mangled)++; - idx = consume_count_with_underscores (mangled); - - if (idx == -1 - || (work->tmpl_argvec && idx >= work->ntmpl_args) - || consume_count_with_underscores (mangled) == -1) - { - success = 0; - break; - } - - if (work->tmpl_argvec) - string_append (result, work->tmpl_argvec[idx]); - else - string_append_template_idx (result, idx); - - success = 1; - } - break; - - default: - success = demangle_fund_type (work, mangled, result); - if (tk == tk_none) - tk = (type_kind_t) success; - break; - } - - if (success) - { - if (!STRING_EMPTY (&decl)) - { - string_append (result, " "); - string_appends (result, &decl); - } - } - else - string_delete (result); - string_delete (&decl); - - if (is_proctypevec) - pop_processed_type (work); - - if (success) - /* Assume an integral type, if we're not sure. */ - return (int) ((tk == tk_none) ? tk_integral : tk); - else - return 0; -} - -/* Given a pointer to a type string that represents a fundamental type - argument (int, long, unsigned int, etc) in TYPE, a pointer to the - string in which the demangled output is being built in RESULT, and - the WORK structure, decode the types and add them to the result. - - For example: - - "Ci" => "const int" - "Sl" => "signed long" - "CUs" => "const unsigned short" - - The value returned is really a type_kind_t. */ - -static int -demangle_fund_type (struct work_stuff *work, - const char **mangled, string *result) -{ - int done = 0; - int success = 1; - char buf[INTBUF_SIZE + 5 /* 'int%u_t' */]; - unsigned int dec = 0; - type_kind_t tk = tk_integral; - - /* First pick off any type qualifiers. There can be more than one. */ - - while (!done) - { - switch (**mangled) - { - case 'C': - case 'V': - case 'u': - if (PRINT_ANSI_QUALIFIERS) - { - if (!STRING_EMPTY (result)) - string_prepend (result, " "); - string_prepend (result, demangle_qualifier (**mangled)); - } - (*mangled)++; - break; - case 'U': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "unsigned"); - break; - case 'S': /* signed char only */ - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "signed"); - break; - case 'J': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "__complex"); - break; - default: - done = 1; - break; - } - } - - /* Now pick off the fundamental type. There can be only one. */ - - switch (**mangled) - { - case '\0': - case '_': - break; - case 'v': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "void"); - break; - case 'x': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "long long"); - break; - case 'l': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "long"); - break; - case 'i': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "int"); - break; - case 's': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "short"); - break; - case 'b': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "bool"); - tk = tk_bool; - break; - case 'c': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "char"); - tk = tk_char; - break; - case 'w': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "wchar_t"); - tk = tk_char; - break; - case 'r': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "long double"); - tk = tk_real; - break; - case 'd': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "double"); - tk = tk_real; - break; - case 'f': - (*mangled)++; - APPEND_BLANK (result); - string_append (result, "float"); - tk = tk_real; - break; - case 'G': - (*mangled)++; - if (!ISDIGIT ((unsigned char)**mangled)) - { - success = 0; - break; - } - /* fall through */ - case 'I': - (*mangled)++; - if (**mangled == '_') - { - int i; - (*mangled)++; - for (i = 0; - i < (long) sizeof (buf) - 1 && **mangled && **mangled != '_'; - (*mangled)++, i++) - buf[i] = **mangled; - if (**mangled != '_') - { - success = 0; - break; - } - buf[i] = '\0'; - (*mangled)++; - } - else - { - strncpy (buf, *mangled, 2); - buf[2] = '\0'; - *mangled += min (strlen (*mangled), 2); - } - sscanf (buf, "%x", &dec); - sprintf (buf, "int%u_t", dec); - APPEND_BLANK (result); - string_append (result, buf); - break; - - /* fall through */ - /* An explicit type, such as "6mytype" or "7integer" */ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - { - int bindex = register_Btype (work); - string btype; - string_init (&btype); - if (demangle_class_name (work, mangled, &btype)) { - remember_Btype (work, btype.b, LEN_STRING (&btype), bindex); - APPEND_BLANK (result); - string_appends (result, &btype); - } - else - success = 0; - string_delete (&btype); - break; - } - case 't': - { - string btype; - string_init (&btype); - success = demangle_template (work, mangled, &btype, 0, 1, 1); - string_appends (result, &btype); - string_delete (&btype); - break; - } - default: - success = 0; - break; - } - - return success ? ((int) tk) : 0; -} - - -/* Handle a template's value parameter for HP aCC (extension from ARM) - **mangled points to 'S' or 'U' */ - -static int -do_hpacc_template_const_value (struct work_stuff *work ATTRIBUTE_UNUSED, - const char **mangled, string *result) -{ - int unsigned_const; - - if (**mangled != 'U' && **mangled != 'S') - return 0; - - unsigned_const = (**mangled == 'U'); - - (*mangled)++; - - switch (**mangled) - { - case 'N': - string_append (result, "-"); - /* fall through */ - case 'P': - (*mangled)++; - break; - case 'M': - /* special case for -2^31 */ - string_append (result, "-2147483648"); - (*mangled)++; - return 1; - default: - return 0; - } - - /* We have to be looking at an integer now */ - if (!(ISDIGIT ((unsigned char)**mangled))) - return 0; - - /* We only deal with integral values for template - parameters -- so it's OK to look only for digits */ - while (ISDIGIT ((unsigned char)**mangled)) - { - char_str[0] = **mangled; - string_append (result, char_str); - (*mangled)++; - } - - if (unsigned_const) - string_append (result, "U"); - - /* FIXME? Some day we may have 64-bit (or larger :-) ) constants - with L or LL suffixes. pai/1997-09-03 */ - - return 1; /* success */ -} - -/* Handle a template's literal parameter for HP aCC (extension from ARM) - **mangled is pointing to the 'A' */ - -static int -do_hpacc_template_literal (struct work_stuff *work, const char **mangled, - string *result) -{ - int literal_len = 0; - char * recurse; - char * recurse_dem; - - if (**mangled != 'A') - return 0; - - (*mangled)++; - - literal_len = consume_count (mangled); - - if (literal_len <= 0 - || literal_len > (long) strlen (*mangled)) - return 0; - - /* Literal parameters are names of arrays, functions, etc. and the - canonical representation uses the address operator */ - string_append (result, "&"); - - /* Now recursively demangle the literal name */ - recurse = XNEWVEC (char, literal_len + 1); - memcpy (recurse, *mangled, literal_len); - recurse[literal_len] = '\000'; - - recurse_dem = cplus_demangle (recurse, work->options); - - if (recurse_dem) - { - string_append (result, recurse_dem); - free (recurse_dem); - } - else - { - string_appendn (result, *mangled, literal_len); - } - (*mangled) += literal_len; - free (recurse); - - return 1; -} - -static int -snarf_numeric_literal (const char **args, string *arg) -{ - if (**args == '-') - { - char_str[0] = '-'; - string_append (arg, char_str); - (*args)++; - } - else if (**args == '+') - (*args)++; - - if (!ISDIGIT ((unsigned char)**args)) - return 0; - - while (ISDIGIT ((unsigned char)**args)) - { - char_str[0] = **args; - string_append (arg, char_str); - (*args)++; - } - - return 1; -} - -/* Demangle the next argument, given by MANGLED into RESULT, which - *should be an uninitialized* string. It will be initialized here, - and free'd should anything go wrong. */ - -static int -do_arg (struct work_stuff *work, const char **mangled, string *result) -{ - /* Remember where we started so that we can record the type, for - non-squangling type remembering. */ - const char *start = *mangled; - - string_init (result); - - if (work->nrepeats > 0) - { - --work->nrepeats; - - if (work->previous_argument == 0) - return 0; - - /* We want to reissue the previous type in this argument list. */ - string_appends (result, work->previous_argument); - return 1; - } - - if (**mangled == 'n') - { - /* A squangling-style repeat. */ - (*mangled)++; - work->nrepeats = consume_count(mangled); - - if (work->nrepeats <= 0) - /* This was not a repeat count after all. */ - return 0; - - if (work->nrepeats > 9) - { - if (**mangled != '_') - /* The repeat count should be followed by an '_' in this - case. */ - return 0; - else - (*mangled)++; - } - - /* Now, the repeat is all set up. */ - return do_arg (work, mangled, result); - } - - /* Save the result in WORK->previous_argument so that we can find it - if it's repeated. Note that saving START is not good enough: we - do not want to add additional types to the back-referenceable - type vector when processing a repeated type. */ - if (work->previous_argument) - string_delete (work->previous_argument); - else - work->previous_argument = XNEW (string); - - if (!do_type (work, mangled, work->previous_argument)) - return 0; - - string_appends (result, work->previous_argument); - - remember_type (work, start, *mangled - start); - return 1; -} - -static void -push_processed_type (struct work_stuff *work, int typevec_index) -{ - if (work->nproctypes >= work->proctypevec_size) - { - if (!work->proctypevec_size) - { - work->proctypevec_size = 4; - work->proctypevec = XNEWVEC (int, work->proctypevec_size); - } - else - { - if (work->proctypevec_size < 16) - /* Double when small. */ - work->proctypevec_size *= 2; - else - { - /* Grow slower when large. */ - if (work->proctypevec_size > (INT_MAX / 3) * 2) - xmalloc_failed (INT_MAX); - work->proctypevec_size = (work->proctypevec_size * 3 / 2); - } - work->proctypevec - = XRESIZEVEC (int, work->proctypevec, work->proctypevec_size); - } - } - work->proctypevec [work->nproctypes++] = typevec_index; -} - -static void -pop_processed_type (struct work_stuff *work) -{ - work->nproctypes--; -} - -static void -remember_type (struct work_stuff *work, const char *start, int len) -{ - char *tem; - - if (work->forgetting_types) - return; - - if (work -> ntypes >= work -> typevec_size) - { - if (work -> typevec_size == 0) - { - work -> typevec_size = 3; - work -> typevec = XNEWVEC (char *, work->typevec_size); - } - else - { - if (work -> typevec_size > INT_MAX / 2) - xmalloc_failed (INT_MAX); - work -> typevec_size *= 2; - work -> typevec - = XRESIZEVEC (char *, work->typevec, work->typevec_size); - } - } - tem = XNEWVEC (char, len + 1); - memcpy (tem, start, len); - tem[len] = '\0'; - work -> typevec[work -> ntypes++] = tem; -} - - -/* Remember a K type class qualifier. */ -static void -remember_Ktype (struct work_stuff *work, const char *start, int len) -{ - char *tem; - - if (work -> numk >= work -> ksize) - { - if (work -> ksize == 0) - { - work -> ksize = 5; - work -> ktypevec = XNEWVEC (char *, work->ksize); - } - else - { - if (work -> ksize > INT_MAX / 2) - xmalloc_failed (INT_MAX); - work -> ksize *= 2; - work -> ktypevec - = XRESIZEVEC (char *, work->ktypevec, work->ksize); - } - } - tem = XNEWVEC (char, len + 1); - memcpy (tem, start, len); - tem[len] = '\0'; - work -> ktypevec[work -> numk++] = tem; -} - -/* Register a B code, and get an index for it. B codes are registered - as they are seen, rather than as they are completed, so map > - registers map > as B0, and temp as B1 */ - -static int -register_Btype (struct work_stuff *work) -{ - int ret; - - if (work -> numb >= work -> bsize) - { - if (work -> bsize == 0) - { - work -> bsize = 5; - work -> btypevec = XNEWVEC (char *, work->bsize); - } - else - { - if (work -> bsize > INT_MAX / 2) - xmalloc_failed (INT_MAX); - work -> bsize *= 2; - work -> btypevec - = XRESIZEVEC (char *, work->btypevec, work->bsize); - } - } - ret = work -> numb++; - work -> btypevec[ret] = NULL; - return(ret); -} - -/* Store a value into a previously registered B code type. */ - -static void -remember_Btype (struct work_stuff *work, const char *start, - int len, int index) -{ - char *tem; - - tem = XNEWVEC (char, len + 1); - memcpy (tem, start, len); - tem[len] = '\0'; - work -> btypevec[index] = tem; -} - -/* Lose all the info related to B and K type codes. */ -static void -forget_B_and_K_types (struct work_stuff *work) -{ - int i; - - while (work -> numk > 0) - { - i = --(work -> numk); - if (work -> ktypevec[i] != NULL) - { - free (work -> ktypevec[i]); - work -> ktypevec[i] = NULL; - } - } - - while (work -> numb > 0) - { - i = --(work -> numb); - if (work -> btypevec[i] != NULL) - { - free (work -> btypevec[i]); - work -> btypevec[i] = NULL; - } - } -} -/* Forget the remembered types, but not the type vector itself. */ - -static void -forget_types (struct work_stuff *work) -{ - int i; - - while (work -> ntypes > 0) - { - i = --(work -> ntypes); - if (work -> typevec[i] != NULL) - { - free (work -> typevec[i]); - work -> typevec[i] = NULL; - } - } -} - -/* Process the argument list part of the signature, after any class spec - has been consumed, as well as the first 'F' character (if any). For - example: - - "__als__3fooRT0" => process "RT0" - "complexfunc5__FPFPc_PFl_i" => process "PFPc_PFl_i" - - DECLP must be already initialised, usually non-empty. It won't be freed - on failure. - - Note that g++ differs significantly from ARM and lucid style mangling - with regards to references to previously seen types. For example, given - the source fragment: - - class foo { - public: - foo::foo (int, foo &ia, int, foo &ib, int, foo &ic); - }; - - foo::foo (int, foo &ia, int, foo &ib, int, foo &ic) { ia = ib = ic; } - void foo (int, foo &ia, int, foo &ib, int, foo &ic) { ia = ib = ic; } - - g++ produces the names: - - __3fooiRT0iT2iT2 - foo__FiR3fooiT1iT1 - - while lcc (and presumably other ARM style compilers as well) produces: - - foo__FiR3fooT1T2T1T2 - __ct__3fooFiR3fooT1T2T1T2 - - Note that g++ bases its type numbers starting at zero and counts all - previously seen types, while lucid/ARM bases its type numbers starting - at one and only considers types after it has seen the 'F' character - indicating the start of the function args. For lucid/ARM style, we - account for this difference by discarding any previously seen types when - we see the 'F' character, and subtracting one from the type number - reference. - - */ - -static int -demangle_args (struct work_stuff *work, const char **mangled, - string *declp) -{ - string arg; - int need_comma = 0; - int r; - int t; - const char *tem; - char temptype; - - if (PRINT_ARG_TYPES) - { - string_append (declp, "("); - if (**mangled == '\0') - { - string_append (declp, "void"); - } - } - - while ((**mangled != '_' && **mangled != '\0' && **mangled != 'e') - || work->nrepeats > 0) - { - if ((**mangled == 'N') || (**mangled == 'T')) - { - temptype = *(*mangled)++; - - if (temptype == 'N') - { - if (!get_count (mangled, &r)) - { - return (0); - } - } - else - { - r = 1; - } - if ((HP_DEMANGLING || ARM_DEMANGLING || EDG_DEMANGLING) && work -> ntypes >= 10) - { - /* If we have 10 or more types we might have more than a 1 digit - index so we'll have to consume the whole count here. This - will lose if the next thing is a type name preceded by a - count but it's impossible to demangle that case properly - anyway. Eg if we already have 12 types is T12Pc "(..., type1, - Pc, ...)" or "(..., type12, char *, ...)" */ - if ((t = consume_count(mangled)) <= 0) - { - return (0); - } - } - else - { - if (!get_count (mangled, &t)) - { - return (0); - } - } - if (LUCID_DEMANGLING || ARM_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING) - { - t--; - } - /* Validate the type index. Protect against illegal indices from - malformed type strings. */ - if ((t < 0) || (t >= work -> ntypes)) - { - return (0); - } - while (work->nrepeats > 0 || --r >= 0) - { - tem = work -> typevec[t]; - if (need_comma && PRINT_ARG_TYPES) - { - string_append (declp, ", "); - } - push_processed_type (work, t); - if (!do_arg (work, &tem, &arg)) - { - pop_processed_type (work); - return (0); - } - pop_processed_type (work); - if (PRINT_ARG_TYPES) - { - string_appends (declp, &arg); - } - string_delete (&arg); - need_comma = 1; - } - } - else - { - if (need_comma && PRINT_ARG_TYPES) - string_append (declp, ", "); - if (!do_arg (work, mangled, &arg)) - return (0); - if (PRINT_ARG_TYPES) - string_appends (declp, &arg); - string_delete (&arg); - need_comma = 1; - } - } - - if (**mangled == 'e') - { - (*mangled)++; - if (PRINT_ARG_TYPES) - { - if (need_comma) - { - string_append (declp, ","); - } - string_append (declp, "..."); - } - } - - if (PRINT_ARG_TYPES) - { - string_append (declp, ")"); - } - return (1); -} - -/* Like demangle_args, but for demangling the argument lists of function - and method pointers or references, not top-level declarations. */ - -static int -demangle_nested_args (struct work_stuff *work, const char **mangled, - string *declp) -{ - string* saved_previous_argument; - int result; - int saved_nrepeats; - - /* The G++ name-mangling algorithm does not remember types on nested - argument lists, unless -fsquangling is used, and in that case the - type vector updated by remember_type is not used. So, we turn - off remembering of types here. */ - ++work->forgetting_types; - - /* For the repeat codes used with -fsquangling, we must keep track of - the last argument. */ - saved_previous_argument = work->previous_argument; - saved_nrepeats = work->nrepeats; - work->previous_argument = 0; - work->nrepeats = 0; - - /* Actually demangle the arguments. */ - result = demangle_args (work, mangled, declp); - - /* Restore the previous_argument field. */ - if (work->previous_argument) - { - string_delete (work->previous_argument); - free ((char *) work->previous_argument); - } - work->previous_argument = saved_previous_argument; - --work->forgetting_types; - work->nrepeats = saved_nrepeats; - - return result; -} - -/* Returns 1 if a valid function name was found or 0 otherwise. */ - -static int -demangle_function_name (struct work_stuff *work, const char **mangled, - string *declp, const char *scan) -{ - size_t i; - string type; - const char *tem; - - string_appendn (declp, (*mangled), scan - (*mangled)); - string_need (declp, 1); - *(declp -> p) = '\0'; - - /* Consume the function name, including the "__" separating the name - from the signature. We are guaranteed that SCAN points to the - separator. */ - - (*mangled) = scan + 2; - /* We may be looking at an instantiation of a template function: - foo__Xt1t2_Ft3t4, where t1, t2, ... are template arguments and a - following _F marks the start of the function arguments. Handle - the template arguments first. */ - - if (HP_DEMANGLING && (**mangled == 'X')) - { - demangle_arm_hp_template (work, mangled, 0, declp); - /* This leaves MANGLED pointing to the 'F' marking func args */ - } - - if (LUCID_DEMANGLING || ARM_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING) - { - - /* See if we have an ARM style constructor or destructor operator. - If so, then just record it, clear the decl, and return. - We can't build the actual constructor/destructor decl until later, - when we recover the class name from the signature. */ - - if (strcmp (declp -> b, "__ct") == 0) - { - work -> constructor += 1; - string_clear (declp); - return 1; - } - else if (strcmp (declp -> b, "__dt") == 0) - { - work -> destructor += 1; - string_clear (declp); - return 1; - } - } - - if (declp->p - declp->b >= 3 - && declp->b[0] == 'o' - && declp->b[1] == 'p' - && strchr (cplus_markers, declp->b[2]) != NULL) - { - /* see if it's an assignment expression */ - if (declp->p - declp->b >= 10 /* op$assign_ */ - && memcmp (declp->b + 3, "assign_", 7) == 0) - { - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - int len = declp->p - declp->b - 10; - if ((int) strlen (optable[i].in) == len - && memcmp (optable[i].in, declp->b + 10, len) == 0) - { - string_clear (declp); - string_append (declp, "operator"); - string_append (declp, optable[i].out); - string_append (declp, "="); - break; - } - } - } - else - { - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - int len = declp->p - declp->b - 3; - if ((int) strlen (optable[i].in) == len - && memcmp (optable[i].in, declp->b + 3, len) == 0) - { - string_clear (declp); - string_append (declp, "operator"); - string_append (declp, optable[i].out); - break; - } - } - } - } - else if (declp->p - declp->b >= 5 && memcmp (declp->b, "type", 4) == 0 - && strchr (cplus_markers, declp->b[4]) != NULL) - { - /* type conversion operator */ - tem = declp->b + 5; - if (do_type (work, &tem, &type)) - { - string_clear (declp); - string_append (declp, "operator "); - string_appends (declp, &type); - string_delete (&type); - } - } - else if (declp->b[0] == '_' && declp->b[1] == '_' - && declp->b[2] == 'o' && declp->b[3] == 'p') - { - /* ANSI. */ - /* type conversion operator. */ - tem = declp->b + 4; - if (do_type (work, &tem, &type)) - { - string_clear (declp); - string_append (declp, "operator "); - string_appends (declp, &type); - string_delete (&type); - } - } - else if (declp->b[0] == '_' && declp->b[1] == '_' - && ISLOWER((unsigned char)declp->b[2]) - && ISLOWER((unsigned char)declp->b[3])) - { - if (declp->b[4] == '\0') - { - /* Operator. */ - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - if (strlen (optable[i].in) == 2 - && memcmp (optable[i].in, declp->b + 2, 2) == 0) - { - string_clear (declp); - string_append (declp, "operator"); - string_append (declp, optable[i].out); - break; - } - } - } - else - { - if (declp->b[2] == 'a' && declp->b[5] == '\0') - { - /* Assignment. */ - for (i = 0; i < ARRAY_SIZE (optable); i++) - { - if (strlen (optable[i].in) == 3 - && memcmp (optable[i].in, declp->b + 2, 3) == 0) - { - string_clear (declp); - string_append (declp, "operator"); - string_append (declp, optable[i].out); - break; - } - } - } - } - } - - /* If a function name was obtained but it's not valid, we were not - successful. */ - if (LEN_STRING (declp) == 1 && declp->b[0] == '.') - return 0; - else - return 1; -} - -/* a mini string-handling package */ - -static void -string_need (string *s, int n) -{ - int tem; - - if (s->b == NULL) - { - if (n < 32) - { - n = 32; - } - s->p = s->b = XNEWVEC (char, n); - s->e = s->b + n; - } - else if (s->e - s->p < n) - { - tem = s->p - s->b; - if (n > INT_MAX / 2 - tem) - xmalloc_failed (INT_MAX); - n += tem; - n *= 2; - s->b = XRESIZEVEC (char, s->b, n); - s->p = s->b + tem; - s->e = s->b + n; - } -} - -static void -string_delete (string *s) -{ - if (s->b != NULL) - { - free (s->b); - s->b = s->e = s->p = NULL; - } -} - -static void -string_init (string *s) -{ - s->b = s->p = s->e = NULL; -} - -static void -string_clear (string *s) -{ - s->p = s->b; -} - -#if 0 - -static int -string_empty (string *s) -{ - return (s->b == s->p); -} - -#endif - -static void -string_append (string *p, const char *s) -{ - int n; - if (s == NULL || *s == '\0') - return; - n = strlen (s); - string_need (p, n); - memcpy (p->p, s, n); - p->p += n; -} - -static void -string_appends (string *p, string *s) -{ - int n; - - if (s->b != s->p) - { - n = s->p - s->b; - string_need (p, n); - memcpy (p->p, s->b, n); - p->p += n; - } -} - -static void -string_appendn (string *p, const char *s, int n) -{ - if (n != 0) - { - string_need (p, n); - memcpy (p->p, s, n); - p->p += n; - } -} - -static void -string_prepend (string *p, const char *s) -{ - if (s != NULL && *s != '\0') - { - string_prependn (p, s, strlen (s)); - } -} - -static void -string_prepends (string *p, string *s) -{ - if (s->b != s->p) - { - string_prependn (p, s->b, s->p - s->b); - } -} - -static void -string_prependn (string *p, const char *s, int n) -{ - char *q; - - if (n != 0) - { - string_need (p, n); - for (q = p->p - 1; q >= p->b; q--) - { - q[n] = q[0]; - } - memcpy (p->b, s, n); - p->p += n; - } -} - -static void -string_append_template_idx (string *s, int idx) -{ - char buf[INTBUF_SIZE + 1 /* 'T' */]; - sprintf(buf, "T%d", idx); - string_append (s, buf); -} diff -Nru libiberty-20181121/libiberty/crc32.c libiberty-20190122/libiberty/crc32.c --- libiberty-20181121/libiberty/crc32.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/crc32.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* crc32.c - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/d-demangle.c libiberty-20190122/libiberty/d-demangle.c --- libiberty-20181121/libiberty/d-demangle.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/d-demangle.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Demangler for the D programming language - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2019 Free Software Foundation, Inc. Written by Iain Buclaw (ibuclaw@gdcproject.org) This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/_doprnt.c libiberty-20190122/libiberty/_doprnt.c --- libiberty-20181121/libiberty/_doprnt.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/_doprnt.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Provide a version of _doprnt in terms of fprintf. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by Kaveh Ghazi (ghazi@caip.rutgers.edu) 3/29/98 This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/libiberty/dwarfnames.c libiberty-20190122/libiberty/dwarfnames.c --- libiberty-20181121/libiberty/dwarfnames.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/dwarfnames.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Names of various DWARF tags. - Copyright (C) 2012-2018 Free Software Foundation, Inc. + Copyright (C) 2012-2019 Free Software Foundation, Inc. This file is part of GNU CC. diff -Nru libiberty-20181121/libiberty/dyn-string.c libiberty-20190122/libiberty/dyn-string.c --- libiberty-20181121/libiberty/dyn-string.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/dyn-string.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* An abstract string datatype. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GNU CC. diff -Nru libiberty-20181121/libiberty/fdmatch.c libiberty-20190122/libiberty/fdmatch.c --- libiberty-20181121/libiberty/fdmatch.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/fdmatch.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Compare two open file descriptors to see if they refer to the same file. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/fibheap.c libiberty-20190122/libiberty/fibheap.c --- libiberty-20181121/libiberty/fibheap.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/fibheap.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* A Fibonacci heap datatype. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by Daniel Berlin (dan@cgsoftware.com). This file is part of GNU CC. diff -Nru libiberty-20181121/libiberty/filename_cmp.c libiberty-20190122/libiberty/filename_cmp.c --- libiberty-20181121/libiberty/filename_cmp.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/filename_cmp.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* File name comparison routine. - Copyright (C) 2007-2018 Free Software Foundation, Inc. + Copyright (C) 2007-2019 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 diff -Nru libiberty-20181121/libiberty/floatformat.c libiberty-20190122/libiberty/floatformat.c --- libiberty-20181121/libiberty/floatformat.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/floatformat.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* IEEE floating point support routines, for GDB, the GNU Debugger. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of GDB. diff -Nru libiberty-20181121/libiberty/fnmatch.c libiberty-20190122/libiberty/fnmatch.c --- libiberty-20181121/libiberty/fnmatch.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/fnmatch.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2018 Free Software Foundation, Inc. +/* Copyright (C) 1991-2019 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). diff -Nru libiberty-20181121/libiberty/fopen_unlocked.c libiberty-20190122/libiberty/fopen_unlocked.c --- libiberty-20181121/libiberty/fopen_unlocked.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/fopen_unlocked.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Implement fopen_unlocked and related functions. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. Written by Kaveh R. Ghazi . This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/gather-docs libiberty-20190122/libiberty/gather-docs --- libiberty-20181121/libiberty/gather-docs 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/gather-docs 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- perl -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2019 Free Software Foundation, Inc. # # This file is part of the libiberty library. # Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/getopt1.c libiberty-20190122/libiberty/getopt1.c --- libiberty-20181121/libiberty/getopt1.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/getopt1.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987-2018 Free Software Foundation, Inc. + Copyright (C) 1987-2019 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). diff -Nru libiberty-20181121/libiberty/getopt.c libiberty-20190122/libiberty/getopt.c --- libiberty-20181121/libiberty/getopt.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/getopt.c 2019-01-18 07:41:42.000000000 +0000 @@ -3,7 +3,7 @@ "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! - Copyright (C) 1987-2018 Free Software Foundation, Inc. + Copyright (C) 1987-2019 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). diff -Nru libiberty-20181121/libiberty/getruntime.c libiberty-20190122/libiberty/getruntime.c --- libiberty-20181121/libiberty/getruntime.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/getruntime.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Return time used so far, in microseconds. - Copyright (C) 1994-2018 Free Software Foundation, Inc. + Copyright (C) 1994-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/hashtab.c libiberty-20190122/libiberty/hashtab.c --- libiberty-20181121/libiberty/hashtab.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/hashtab.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* An expandable hash tables datatype. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. Contributed by Vladimir Makarov (vmakarov@cygnus.com). This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/hex.c libiberty-20190122/libiberty/hex.c --- libiberty-20181121/libiberty/hex.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/hex.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Hex character manipulation support. - Copyright (C) 1995-2018 Free Software Foundation, Inc. + Copyright (C) 1995-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/lbasename.c libiberty-20190122/libiberty/lbasename.c --- libiberty-20181121/libiberty/lbasename.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/lbasename.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Libiberty basename. Like basename, but is not overridden by the system C library. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/libiberty.texi libiberty-20190122/libiberty/libiberty.texi --- libiberty-20181121/libiberty/libiberty.texi 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/libiberty.texi 2019-01-18 07:41:42.000000000 +0000 @@ -24,7 +24,7 @@ @ifinfo This manual describes the GNU @libib library of utility subroutines. -Copyright @copyright{} 2001-2018 Free Software Foundation, Inc. +Copyright @copyright{} 2001-2019 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 @@ -50,7 +50,7 @@ @vskip 0pt plus 1filll -Copyright @copyright{} 2001-2018 Free Software Foundation, Inc. +Copyright @copyright{} 2001-2019 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 diff -Nru libiberty-20181121/libiberty/lrealpath.c libiberty-20190122/libiberty/lrealpath.c --- libiberty-20181121/libiberty/lrealpath.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/lrealpath.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* Libiberty realpath. Like realpath, but more consistent behavior. Based on gdb_realpath from GDB. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/maint-tool libiberty-20190122/libiberty/maint-tool --- libiberty-20181121/libiberty/maint-tool 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/maint-tool 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- perl -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2019 Free Software Foundation, Inc. # # This file is part of the libiberty library. # Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/Makefile.in libiberty-20190122/libiberty/Makefile.in --- libiberty-20181121/libiberty/Makefile.in 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/Makefile.in 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ # Makefile for the libiberty library. # Originally written by K. Richard Pixley . # -# Copyright (C) 1990-2018 Free Software Foundation, Inc. +# Copyright (C) 1990-2019 Free Software Foundation, Inc. # # This file is part of the libiberty library. # Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/make-relative-prefix.c libiberty-20190122/libiberty/make-relative-prefix.c --- libiberty-20181121/libiberty/make-relative-prefix.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/make-relative-prefix.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Relative (relocatable) prefix support. - Copyright (C) 1987-2018 Free Software Foundation, Inc. + Copyright (C) 1987-2019 Free Software Foundation, Inc. This file is part of libiberty. diff -Nru libiberty-20181121/libiberty/make-temp-file.c libiberty-20190122/libiberty/make-temp-file.c --- libiberty-20181121/libiberty/make-temp-file.c 2018-10-18 09:14:13.000000000 +0000 +++ libiberty-20190122/libiberty/make-temp-file.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Utility to pick a temporary filename prefix. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/md5.c libiberty-20190122/libiberty/md5.c --- libiberty-20181121/libiberty/md5.c 2018-06-04 19:27:35.000000000 +0000 +++ libiberty-20190122/libiberty/md5.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* md5.c - Functions to compute MD5 message digest of files or memory blocks according to the definition of MD5 in RFC 1321 from April 1992. - Copyright (C) 1995-2018 Free Software Foundation, Inc. + Copyright (C) 1995-2019 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). diff -Nru libiberty-20181121/libiberty/memmem.c libiberty-20190122/libiberty/memmem.c --- libiberty-20181121/libiberty/memmem.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/memmem.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2018 Free Software Foundation, Inc. +/* Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify diff -Nru libiberty-20181121/libiberty/mempcpy.c libiberty-20190122/libiberty/mempcpy.c --- libiberty-20181121/libiberty/mempcpy.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/mempcpy.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Implement the mempcpy function. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. Written by Kaveh R. Ghazi . This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/mkstemps.c libiberty-20190122/libiberty/mkstemps.c --- libiberty-20181121/libiberty/mkstemps.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/mkstemps.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2018 Free Software Foundation, Inc. +/* Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is derived from mkstemp.c from the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/objalloc.c libiberty-20190122/libiberty/objalloc.c --- libiberty-20181121/libiberty/objalloc.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/objalloc.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* objalloc.c -- routines to allocate memory for objects - Copyright (C) 1997-2018 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Solutions. This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/libiberty/obstack.c libiberty-20190122/libiberty/obstack.c --- libiberty-20181121/libiberty/obstack.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/obstack.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* obstack.c - subroutines used implicitly by object stack macros - Copyright (C) 1988-2018 Free Software Foundation, Inc. + Copyright (C) 1988-2019 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/partition.c libiberty-20190122/libiberty/partition.c --- libiberty-20181121/libiberty/partition.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/partition.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* List implementation of a partition of consecutive integers. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC. This file is part of GNU CC. diff -Nru libiberty-20181121/libiberty/pex-common.c libiberty-20190122/libiberty/pex-common.c --- libiberty-20181121/libiberty/pex-common.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/pex-common.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Common code for executing a program in a sub-process. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor . This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/pex-common.h libiberty-20190122/libiberty/pex-common.h --- libiberty-20181121/libiberty/pex-common.h 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/pex-common.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Utilities to execute a program in a subprocess (possibly linked by pipes with other subprocesses), and wait for it. Shared logic. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/pex-djgpp.c libiberty-20190122/libiberty/pex-djgpp.c --- libiberty-20181121/libiberty/pex-djgpp.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/pex-djgpp.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Utilities to execute a program in a subprocess (possibly linked by pipes with other subprocesses), and wait for it. DJGPP specialization. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/pexecute.c libiberty-20190122/libiberty/pexecute.c --- libiberty-20181121/libiberty/pexecute.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/pexecute.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Utilities to execute a program in a subprocess (possibly linked by pipes with other subprocesses), and wait for it. - Copyright (C) 2004-2018 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/pex-msdos.c libiberty-20190122/libiberty/pex-msdos.c --- libiberty-20181121/libiberty/pex-msdos.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/pex-msdos.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Utilities to execute a program in a subprocess (possibly linked by pipes with other subprocesses), and wait for it. Generic MSDOS specialization. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/pex-one.c libiberty-20190122/libiberty/pex-one.c --- libiberty-20181121/libiberty/pex-one.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/pex-one.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Execute a program and wait for a result. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/pex-unix.c libiberty-20190122/libiberty/pex-unix.c --- libiberty-20181121/libiberty/pex-unix.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/pex-unix.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* Utilities to execute a program in a subprocess (possibly linked by pipes with other subprocesses), and wait for it. Generic Unix version (also used for UWIN and VMS). - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or @@ -298,8 +298,6 @@ #endif /* ! defined (HAVE_WAITPID) */ #endif /* ! defined (HAVE_WAIT4) */ -static void pex_child_error (struct pex_obj *, const char *, const char *, int) - ATTRIBUTE_NORETURN; static int pex_unix_open_read (struct pex_obj *, const char *, int); static int pex_unix_open_write (struct pex_obj *, const char *, int, int); static pid_t pex_unix_exec_child (struct pex_obj *, int, const char *, @@ -366,28 +364,6 @@ return close (fd); } -/* Report an error from a child process. We don't use stdio routines, - because we might be here due to a vfork call. */ - -static void -pex_child_error (struct pex_obj *obj, const char *executable, - const char *errmsg, int err) -{ - int retval = 0; -#define writeerr(s) retval |= (write (STDERR_FILE_NO, s, strlen (s)) < 0) - writeerr (obj->pname); - writeerr (": error trying to exec '"); - writeerr (executable); - writeerr ("': "); - writeerr (errmsg); - writeerr (": "); - writeerr (xstrerror (err)); - writeerr ("\n"); -#undef writeerr - /* Exit with -2 if the error output failed, too. */ - _exit (retval == 0 ? -1 : -2); -} - /* Execute a child. */ #if defined(HAVE_SPAWNVE) && defined(HAVE_SPAWNVPE) @@ -592,21 +568,53 @@ int in, int out, int errdes, int toclose, const char **errmsg, int *err) { - pid_t pid; + pid_t pid = -1; + /* Tuple to communicate error from child to parent. We can safely + transfer string literal pointers as both run with identical + address mappings. */ + struct fn_err + { + const char *fn; + int err; + }; + volatile int do_pipe = 0; + volatile int pipes[2]; /* [0]:reader,[1]:writer. */ +#ifdef O_CLOEXEC + do_pipe = 1; +#endif + if (do_pipe) + { +#ifdef HAVE_PIPE2 + if (pipe2 ((int *)pipes, O_CLOEXEC)) + do_pipe = 0; +#else + if (pipe ((int *)pipes)) + do_pipe = 0; + else + { + if (fcntl (pipes[1], F_SETFD, FD_CLOEXEC) == -1) + { + close (pipes[0]); + close (pipes[1]); + do_pipe = 0; + } + } +#endif + } /* We declare these to be volatile to avoid warnings from gcc about them being clobbered by vfork. */ - volatile int sleep_interval; + volatile int sleep_interval = 1; volatile int retries; /* We vfork and then set environ in the child before calling execvp. This clobbers the parent's environ so we need to restore it. It would be nice to use one of the exec* functions that takes an - environment as a parameter, but that may have portability issues. */ - char **save_environ = environ; + environment as a parameter, but that may have portability + issues. It is marked volatile so the child doesn't consider it a + dead variable and therefore clobber where ever it is stored. */ + char **volatile save_environ = environ; - sleep_interval = 1; - pid = -1; for (retries = 0; retries < 4; ++retries) { pid = vfork (); @@ -619,104 +627,138 @@ switch (pid) { case -1: + if (do_pipe) + { + close (pipes[0]); + close (pipes[1]); + } *err = errno; *errmsg = VFORK_STRING; return (pid_t) -1; case 0: /* Child process. */ - if (in != STDIN_FILE_NO) - { - if (dup2 (in, STDIN_FILE_NO) < 0) - pex_child_error (obj, executable, "dup2", errno); - if (close (in) < 0) - pex_child_error (obj, executable, "close", errno); - } - if (out != STDOUT_FILE_NO) - { - if (dup2 (out, STDOUT_FILE_NO) < 0) - pex_child_error (obj, executable, "dup2", errno); - if (close (out) < 0) - pex_child_error (obj, executable, "close", errno); - } - if (errdes != STDERR_FILE_NO) - { - if (dup2 (errdes, STDERR_FILE_NO) < 0) - pex_child_error (obj, executable, "dup2", errno); - if (close (errdes) < 0) - pex_child_error (obj, executable, "close", errno); - } - if (toclose >= 0) - { - if (close (toclose) < 0) - pex_child_error (obj, executable, "close", errno); - } - if ((flags & PEX_STDERR_TO_STDOUT) != 0) - { - if (dup2 (STDOUT_FILE_NO, STDERR_FILE_NO) < 0) - pex_child_error (obj, executable, "dup2", errno); - } - - if (env) - { - /* NOTE: In a standard vfork implementation this clobbers the - parent's copy of environ "too" (in reality there's only one copy). - This is ok as we restore it below. */ - environ = (char**) env; - } - - if ((flags & PEX_SEARCH) != 0) - { - execvp (executable, to_ptr32 (argv)); - pex_child_error (obj, executable, "execvp", errno); - } - else - { - execv (executable, to_ptr32 (argv)); - pex_child_error (obj, executable, "execv", errno); - } + { + struct fn_err failed; + failed.fn = NULL; + + if (do_pipe) + close (pipes[0]); + if (!failed.fn && in != STDIN_FILE_NO) + { + if (dup2 (in, STDIN_FILE_NO) < 0) + failed.fn = "dup2", failed.err = errno; + else if (close (in) < 0) + failed.fn = "close", failed.err = errno; + } + if (!failed.fn && out != STDOUT_FILE_NO) + { + if (dup2 (out, STDOUT_FILE_NO) < 0) + failed.fn = "dup2", failed.err = errno; + else if (close (out) < 0) + failed.fn = "close", failed.err = errno; + } + if (!failed.fn && errdes != STDERR_FILE_NO) + { + if (dup2 (errdes, STDERR_FILE_NO) < 0) + failed.fn = "dup2", failed.err = errno; + else if (close (errdes) < 0) + failed.fn = "close", failed.err = errno; + } + if (!failed.fn && toclose >= 0) + { + if (close (toclose) < 0) + failed.fn = "close", failed.err = errno; + } + if (!failed.fn && (flags & PEX_STDERR_TO_STDOUT) != 0) + { + if (dup2 (STDOUT_FILE_NO, STDERR_FILE_NO) < 0) + failed.fn = "dup2", failed.err = errno; + } + if (!failed.fn) + { + if (env) + /* NOTE: In a standard vfork implementation this clobbers + the parent's copy of environ "too" (in reality there's + only one copy). This is ok as we restore it below. */ + environ = (char**) env; + if ((flags & PEX_SEARCH) != 0) + { + execvp (executable, to_ptr32 (argv)); + failed.fn = "execvp", failed.err = errno; + } + else + { + execv (executable, to_ptr32 (argv)); + failed.fn = "execv", failed.err = errno; + } + } + + /* Something failed, report an error. We don't use stdio + routines, because we might be here due to a vfork call. */ + ssize_t retval = 0; + + if (!do_pipe + || write (pipes[1], &failed, sizeof (failed)) != sizeof (failed)) + { + /* The parent will not see our scream above, so write to + stdout. */ +#define writeerr(s) (retval |= write (STDERR_FILE_NO, s, strlen (s))) + writeerr (obj->pname); + writeerr (": error trying to exec '"); + writeerr (executable); + writeerr ("': "); + writeerr (failed.fn); + writeerr (": "); + writeerr (xstrerror (failed.err)); + writeerr ("\n"); +#undef writeerr + } + /* Exit with -2 if the error output failed, too. */ + _exit (retval < 0 ? -2 : -1); + } /* NOTREACHED */ return (pid_t) -1; default: /* Parent process. */ + { + /* Restore environ. Note that the parent either doesn't run + until the child execs/exits (standard vfork behaviour), or + if it does run then vfork is behaving more like fork. In + either case we needn't worry about clobbering the child's + copy of environ. */ + environ = save_environ; + + struct fn_err failed; + failed.fn = NULL; + if (do_pipe) + { + close (pipes[1]); + ssize_t len = read (pipes[0], &failed, sizeof (failed)); + if (len < 0) + failed.fn = NULL; + close (pipes[0]); + } - /* Restore environ. - Note that the parent either doesn't run until the child execs/exits - (standard vfork behaviour), or if it does run then vfork is behaving - more like fork. In either case we needn't worry about clobbering - the child's copy of environ. */ - environ = save_environ; - - if (in != STDIN_FILE_NO) - { + if (!failed.fn && in != STDIN_FILE_NO) if (close (in) < 0) - { - *err = errno; - *errmsg = "close"; - return (pid_t) -1; - } - } - if (out != STDOUT_FILE_NO) - { + failed.fn = "close", failed.err = errno; + if (!failed.fn && out != STDOUT_FILE_NO) if (close (out) < 0) - { - *err = errno; - *errmsg = "close"; - return (pid_t) -1; - } - } - if (errdes != STDERR_FILE_NO) - { + failed.fn = "close", failed.err = errno; + if (!failed.fn && errdes != STDERR_FILE_NO) if (close (errdes) < 0) - { - *err = errno; - *errmsg = "close"; - return (pid_t) -1; - } - } + failed.fn = "close", failed.err = errno; + if (failed.fn) + { + *err = failed.err; + *errmsg = failed.fn; + return (pid_t) -1; + } + } return pid; } } diff -Nru libiberty-20181121/libiberty/pex-win32.c libiberty-20190122/libiberty/pex-win32.c --- libiberty-20181121/libiberty/pex-win32.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/pex-win32.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* Utilities to execute a program in a subprocess (possibly linked by pipes with other subprocesses), and wait for it. Generic Win32 specialization. - Copyright (C) 1996-2018 Free Software Foundation, Inc. + Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/physmem.c libiberty-20190122/libiberty/physmem.c --- libiberty-20181121/libiberty/physmem.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/physmem.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Calculate the size of physical memory. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 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 diff -Nru libiberty-20181121/libiberty/putenv.c libiberty-20190122/libiberty/putenv.c --- libiberty-20181121/libiberty/putenv.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/putenv.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2018 Free Software Foundation, Inc. +/* Copyright (C) 1991-2019 Free Software Foundation, Inc. This file based on putenv.c in the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/regex.c libiberty-20190122/libiberty/regex.c --- libiberty-20181121/libiberty/regex.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/regex.c 2019-01-18 07:41:42.000000000 +0000 @@ -3,7 +3,7 @@ (Implements POSIX draft P1003.2/D11.2, except for some of the internationalization features.) - Copyright (C) 1993-2018 Free Software Foundation, Inc. + Copyright (C) 1993-2019 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/rust-demangle.c libiberty-20190122/libiberty/rust-demangle.c --- libiberty-20181121/libiberty/rust-demangle.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/rust-demangle.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Demangler for the Rust programming language - Copyright (C) 2016-2018 Free Software Foundation, Inc. + Copyright (C) 2016-2019 Free Software Foundation, Inc. Written by David Tolnay (dtolnay@gmail.com). This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/safe-ctype.c libiberty-20190122/libiberty/safe-ctype.c --- libiberty-20181121/libiberty/safe-ctype.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/safe-ctype.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,6 +1,6 @@ /* replacement macros. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Zack Weinberg . This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/setenv.c libiberty-20190122/libiberty/setenv.c --- libiberty-20181121/libiberty/setenv.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/setenv.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2018 Free Software Foundation, Inc. +/* Copyright (C) 1992-2019 Free Software Foundation, Inc. This file based on setenv.c in the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/setproctitle.c libiberty-20190122/libiberty/setproctitle.c --- libiberty-20181121/libiberty/setproctitle.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/setproctitle.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Set the title of a process. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/sha1.c libiberty-20190122/libiberty/sha1.c --- libiberty-20181121/libiberty/sha1.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/sha1.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,7 +1,7 @@ /* sha1.c - Functions to compute SHA1 message digest of files or memory blocks according to the NIST specification FIPS-180-1. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 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 diff -Nru libiberty-20181121/libiberty/simple-object.c libiberty-20190122/libiberty/simple-object.c --- libiberty-20181121/libiberty/simple-object.c 2018-06-22 06:40:58.000000000 +0000 +++ libiberty-20190122/libiberty/simple-object.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* simple-object.c -- simple routines to read and write object files. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Google. This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/libiberty/simple-object-coff.c libiberty-20190122/libiberty/simple-object-coff.c --- libiberty-20181121/libiberty/simple-object-coff.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/simple-object-coff.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* simple-object-coff.c -- routines to manipulate COFF object files. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Google. This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/libiberty/simple-object-common.h libiberty-20190122/libiberty/simple-object-common.h --- libiberty-20181121/libiberty/simple-object-common.h 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/libiberty/simple-object-common.h 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* simple-object-common.h -- common structs for object file manipulation. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/simple-object-elf.c libiberty-20190122/libiberty/simple-object-elf.c --- libiberty-20181121/libiberty/simple-object-elf.c 2018-07-22 09:20:32.000000000 +0000 +++ libiberty-20190122/libiberty/simple-object-elf.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* simple-object-elf.c -- routines to manipulate ELF object files. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Google. This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/libiberty/simple-object-mach-o.c libiberty-20190122/libiberty/simple-object-mach-o.c --- libiberty-20181121/libiberty/simple-object-mach-o.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/simple-object-mach-o.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* simple-object-mach-o.c -- routines to manipulate Mach-O object files. - Copyright (C) 2010-2018 Free Software Foundation, Inc. + Copyright (C) 2010-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Google. This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/libiberty/simple-object-xcoff.c libiberty-20190122/libiberty/simple-object-xcoff.c --- libiberty-20181121/libiberty/simple-object-xcoff.c 2018-04-24 05:57:35.000000000 +0000 +++ libiberty-20190122/libiberty/simple-object-xcoff.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* simple-object-coff.c -- routines to manipulate XCOFF object files. - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor, Google and David Edelsohn, IBM. This program is free software; you can redistribute it and/or modify it diff -Nru libiberty-20181121/libiberty/snprintf.c libiberty-20190122/libiberty/snprintf.c --- libiberty-20181121/libiberty/snprintf.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/snprintf.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Implement the snprintf function. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. Written by Kaveh R. Ghazi . This file is part of the libiberty library. This library is free diff -Nru libiberty-20181121/libiberty/sort.c libiberty-20190122/libiberty/sort.c --- libiberty-20181121/libiberty/sort.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/sort.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Sorting algorithms. - Copyright (C) 2000-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Mark Mitchell . This file is part of GNU CC. diff -Nru libiberty-20181121/libiberty/spaces.c libiberty-20190122/libiberty/spaces.c --- libiberty-20181121/libiberty/spaces.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/spaces.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Allocate memory region filled with spaces. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff -Nru libiberty-20181121/libiberty/splay-tree.c libiberty-20190122/libiberty/splay-tree.c --- libiberty-20181121/libiberty/splay-tree.c 2018-06-04 19:27:35.000000000 +0000 +++ libiberty-20190122/libiberty/splay-tree.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* A splay-tree datatype. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2019 Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GNU CC. diff -Nru libiberty-20181121/libiberty/stack-limit.c libiberty-20190122/libiberty/stack-limit.c --- libiberty-20181121/libiberty/stack-limit.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/stack-limit.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Increase stack size limit if possible. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. This file is part of the libiberty library. This library is free software; you can redistribute it and/or modify it under the diff -Nru libiberty-20181121/libiberty/stpcpy.c libiberty-20190122/libiberty/stpcpy.c --- libiberty-20181121/libiberty/stpcpy.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/stpcpy.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Implement the stpcpy function. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. Written by Kaveh R. Ghazi . This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/stpncpy.c libiberty-20190122/libiberty/stpncpy.c --- libiberty-20181121/libiberty/stpncpy.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/stpncpy.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Implement the stpncpy function. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. Written by Kaveh R. Ghazi . This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/strndup.c libiberty-20190122/libiberty/strndup.c --- libiberty-20181121/libiberty/strndup.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/strndup.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Implement the strndup function. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. Written by Kaveh R. Ghazi . This file is part of the libiberty library. diff -Nru libiberty-20181121/libiberty/strtod.c libiberty-20190122/libiberty/strtod.c --- libiberty-20181121/libiberty/strtod.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/strtod.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Implementation of strtod for systems with atof. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of the libiberty library. This library is free software; you can redistribute it and/or modify it under the diff -Nru libiberty-20181121/libiberty/strverscmp.c libiberty-20190122/libiberty/strverscmp.c --- libiberty-20181121/libiberty/strverscmp.c 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/strverscmp.c 2019-01-18 07:41:42.000000000 +0000 @@ -1,5 +1,5 @@ /* Compare strings while treating digits characters numerically. - Copyright (C) 1997-2018 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. This file is part of the libiberty library. Contributed by Jean-François Bignolles , 1997. diff -Nru libiberty-20181121/libiberty/testsuite/demangle-expected libiberty-20190122/libiberty/testsuite/demangle-expected --- libiberty-20181121/libiberty/testsuite/demangle-expected 2018-01-10 15:50:57.000000000 +0000 +++ libiberty-20190122/libiberty/testsuite/demangle-expected 2019-01-18 07:41:42.000000000 +0000 @@ -20,3315 +20,64 @@ # A line starting with `#' is ignored. # However, blank lines in this file are NOT ignored. # ---format=gnu --no-params -AddAlignment__9ivTSolverUiP12ivInteractorP7ivTGlue -ivTSolver::AddAlignment(unsigned int, ivInteractor *, ivTGlue *) -ivTSolver::AddAlignment -# ---format=gnu --no-params -ArrowheadIntersects__9ArrowLineP9ArrowheadR6BoxObjP7Graphic -ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &, Graphic *) -ArrowLine::ArrowheadIntersects -# ---format=gnu --no-params -ArrowheadIntersects__9ArrowLineP9ArrowheadO6BoxObjP7Graphic -ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &&, Graphic *) -ArrowLine::ArrowheadIntersects -# ---format=gnu --no-params -AtEnd__13ivRubberGroup -ivRubberGroup::AtEnd(void) -ivRubberGroup::AtEnd -# ---format=gnu --no-params -BgFilter__9ivTSolverP12ivInteractor -ivTSolver::BgFilter(ivInteractor *) -ivTSolver::BgFilter -# ---format=gnu --no-params -Check__6UArrayi -UArray::Check(int) -UArray::Check -# ---format=gnu --no-params -CoreConstDecls__8TextCodeR7ostream -TextCode::CoreConstDecls(ostream &) -TextCode::CoreConstDecls -# ---format=gnu --no-params -CoreConstDecls__8TextCodeO7ostream -TextCode::CoreConstDecls(ostream &&) -TextCode::CoreConstDecls -# ---format=gnu --no-params -Detach__8StateVarP12StateVarView -StateVar::Detach(StateVarView *) -StateVar::Detach -# ---format=gnu --no-params -Done__9ComponentG8Iterator -Component::Done(Iterator) -Component::Done -# ---format=gnu --no-params -Effect__11RelateManipR7ivEvent -RelateManip::Effect(ivEvent &) -RelateManip::Effect -# ---format=gnu --no-params -Effect__11RelateManipO7ivEvent -RelateManip::Effect(ivEvent &&) -RelateManip::Effect -# ---format=gnu --no-params -FindFixed__FRP4CNetP4CNet -FindFixed(CNet *&, CNet *) -FindFixed -# ---format=gnu --no-params -FindFixed__FOP4CNetP4CNet -FindFixed(CNet *&&, CNet *) -FindFixed -# ---format=gnu --no-params -Fix48_abort__FR8twolongs -Fix48_abort(twolongs &) -Fix48_abort -# ---format=gnu --no-params -Fix48_abort__FO8twolongs -Fix48_abort(twolongs &&) -Fix48_abort -# ---format=gnu --no-params -GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveRiT2 -iv2_6_VScroller::GetBarInfo(ivPerspective *, int &, int &) -iv2_6_VScroller::GetBarInfo -# ---format=gnu --no-params -GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveOiT2 -iv2_6_VScroller::GetBarInfo(ivPerspective *, int &&, int &&) -iv2_6_VScroller::GetBarInfo -# ---format=gnu --no-params -GetBgColor__C9ivPainter -ivPainter::GetBgColor(void) const -ivPainter::GetBgColor -# ---format=gnu --no-params -InsertBody__15H_PullrightMenuii -H_PullrightMenu::InsertBody(int, int) -H_PullrightMenu::InsertBody -# ---format=gnu --no-params -InsertCharacter__9TextManipc -TextManip::InsertCharacter(char) -TextManip::InsertCharacter -# ---format=gnu --no-params -InsertToplevel__7ivWorldP12ivInteractorT1 -ivWorld::InsertToplevel(ivInteractor *, ivInteractor *) -ivWorld::InsertToplevel -# ---format=gnu --no-params -InsertToplevel__7ivWorldP12ivInteractorT1iiUi -ivWorld::InsertToplevel(ivInteractor *, ivInteractor *, int, int, unsigned int) -ivWorld::InsertToplevel -# ---format=gnu --no-params -IsAGroup__FP11GraphicViewP11GraphicComp -IsAGroup(GraphicView *, GraphicComp *) -IsAGroup -# ---format=gnu --no-params -IsA__10ButtonCodeUl -ButtonCode::IsA(unsigned long) -ButtonCode::IsA -# ---format=gnu --no-params -ReadName__FR7istreamPc -ReadName(istream &, char *) -ReadName -# ---format=gnu --no-params -Redraw__13StringBrowseriiii -StringBrowser::Redraw(int, int, int, int) -StringBrowser::Redraw -# ---format=gnu --no-params -Rotate__13ivTransformerf -ivTransformer::Rotate(float) -ivTransformer::Rotate -# ---format=gnu --no-params -Rotated__C13ivTransformerf -ivTransformer::Rotated(float) const -ivTransformer::Rotated -# ---format=gnu --no-params -Round__Ff -Round(float) -Round -# ---format=gnu --no-params -SetExport__16MemberSharedNameUi -MemberSharedName::SetExport(unsigned int) -MemberSharedName::SetExport -# ---format=gnu --no-params -Set__14ivControlState13ControlStatusUi -ivControlState::Set(ControlStatus, unsigned int) -ivControlState::Set -# ---format=gnu --no-params -Set__5DFacePcii -DFace::Set(char *, int, int) -DFace::Set -# ---format=gnu --no-params -VConvert__9ivTSolverP12ivInteractorRP8TElementT2 -ivTSolver::VConvert(ivInteractor *, TElement *&, TElement *&) -ivTSolver::VConvert -# ---format=gnu --no-params -VConvert__9ivTSolverP7ivTGlueRP8TElement -ivTSolver::VConvert(ivTGlue *, TElement *&) -ivTSolver::VConvert -# ---format=gnu --no-params -VOrder__9ivTSolverUiRP12ivInteractorT2 -ivTSolver::VOrder(unsigned int, ivInteractor *&, ivInteractor *&) -ivTSolver::VOrder -# ---format=gnu --no-params -_10PageButton$__both -PageButton::__both -PageButton::__both -# ---format=gnu --no-params -_3RNG$singleMantissa -RNG::singleMantissa -RNG::singleMantissa -# ---format=gnu --no-params -_5IComp$_release -IComp::_release -IComp::_release -# ---format=gnu --no-params -_$_10BitmapComp -BitmapComp::~BitmapComp(void) -BitmapComp::~BitmapComp -# ---format=gnu --no-params -_$_9__io_defs -__io_defs::~__io_defs(void) -__io_defs::~__io_defs -# ---format=gnu --no-params -_$_Q23foo3bar -foo::bar::~bar(void) -foo::bar::~bar -# ---format=gnu --no-params -_$_Q33foo3bar4bell -foo::bar::bell::~bell(void) -foo::bar::bell::~bell -# ---format=gnu --no-params -__10ivTelltaleiP7ivGlyph -ivTelltale::ivTelltale(int, ivGlyph *) -ivTelltale::ivTelltale -# ---format=gnu --no-params -__10ivViewportiP12ivInteractorUi -ivViewport::ivViewport(int, ivInteractor *, unsigned int) -ivViewport::ivViewport -# ---format=gnu --no-params -__10ostrstream -ostrstream::ostrstream(void) -ostrstream::ostrstream -# ---format=gnu --no-params -__10ostrstreamPcii -ostrstream::ostrstream(char *, int, int) -ostrstream::ostrstream -# ---format=gnu --no-params -__11BitmapTablei -BitmapTable::BitmapTable(int) -BitmapTable::BitmapTable -# ---format=gnu --no-params -__12ViewportCodeP12ViewportComp -ViewportCode::ViewportCode(ViewportComp *) -ViewportCode::ViewportCode -# ---format=gnu --no-params -__12iv2_6_Borderii -iv2_6_Border::iv2_6_Border(int, int) -iv2_6_Border::iv2_6_Border -# ---format=gnu --no-params -__12ivBreak_Listl -ivBreak_List::ivBreak_List(long) -ivBreak_List::ivBreak_List -# ---format=gnu --no-params -__14iv2_6_MenuItemiP12ivInteractor -iv2_6_MenuItem::iv2_6_MenuItem(int, ivInteractor *) -iv2_6_MenuItem::iv2_6_MenuItem -# ---format=gnu --no-params -__20DisplayList_IteratorR11DisplayList -DisplayList_Iterator::DisplayList_Iterator(DisplayList &) -DisplayList_Iterator::DisplayList_Iterator -# ---format=gnu --no-params -__3fooRT0 -foo::foo(foo &) -foo::foo -# ---format=gnu --no-params -__3fooiN31 -foo::foo(int, int, int, int) -foo::foo -# ---format=gnu --no-params -__3fooiRT0iT2iT2 -foo::foo(int, foo &, int, foo &, int, foo &) -foo::foo -# ---format=gnu --no-params -__6KeyMapPT0 -KeyMap::KeyMap(KeyMap *) -KeyMap::KeyMap -# ---format=gnu --no-params -__8ArrowCmdP6EditorUiUi -ArrowCmd::ArrowCmd(Editor *, unsigned int, unsigned int) -ArrowCmd::ArrowCmd -# ---format=gnu --no-params -__9F_EllipseiiiiP7Graphic -F_Ellipse::F_Ellipse(int, int, int, int, Graphic *) -F_Ellipse::F_Ellipse -# ---format=gnu --no-params -__9FrameDataP9FrameCompi -FrameData::FrameData(FrameComp *, int) -FrameData::FrameData -# ---format=gnu --no-params -__9HVGraphicP9CanvasVarP7Graphic -HVGraphic::HVGraphic(CanvasVar *, Graphic *) -HVGraphic::HVGraphic -# ---format=gnu --no-params -__Q23foo3bar -foo::bar::bar(void) -foo::bar::bar -# ---format=gnu --no-params -__Q33foo3bar4bell -foo::bar::bell::bell(void) -foo::bar::bell::bell -# ---format=gnu --no-params -__aa__3fooRT0 -foo::operator&&(foo &) -foo::operator&& -# ---format=gnu --no-params -__aad__3fooRT0 -foo::operator&=(foo &) -foo::operator&= -# ---format=gnu --no-params -__ad__3fooRT0 -foo::operator&(foo &) -foo::operator& -# ---format=gnu --no-params -__adv__3fooRT0 -foo::operator/=(foo &) -foo::operator/= -# ---format=gnu --no-params -__aer__3fooRT0 -foo::operator^=(foo &) -foo::operator^= -# ---format=gnu --no-params -__als__3fooRT0 -foo::operator<<=(foo &) -foo::operator<<= -# ---format=gnu --no-params -__amd__3fooRT0 -foo::operator%=(foo &) -foo::operator%= -# ---format=gnu --no-params -__ami__3fooRT0 -foo::operator-=(foo &) -foo::operator-= -# ---format=gnu --no-params -__aml__3FixRT0 -Fix::operator*=(Fix &) -Fix::operator*= -# ---format=gnu --no-params -__aml__5Fix16i -Fix16::operator*=(int) -Fix16::operator*= -# ---format=gnu --no-params -__aml__5Fix32RT0 -Fix32::operator*=(Fix32 &) -Fix32::operator*= -# ---format=gnu --no-params -__aor__3fooRT0 -foo::operator|=(foo &) -foo::operator|= -# ---format=gnu --no-params -__apl__3fooRT0 -foo::operator+=(foo &) -foo::operator+= -# ---format=gnu --no-params -__ars__3fooRT0 -foo::operator>>=(foo &) -foo::operator>>= -# ---format=gnu --no-params -__as__3fooRT0 -foo::operator=(foo &) -foo::operator= -# ---format=gnu --no-params -__cl__3fooRT0 -foo::operator()(foo &) -foo::operator() -# ---format=gnu --no-params -__cl__6Normal -Normal::operator()(void) -Normal::operator() -# ---format=gnu --no-params -__cl__6Stringii -String::operator()(int, int) -String::operator() -# ---format=gnu --no-params -__cm__3fooRT0 -foo::operator, (foo &) -foo::operator, -# ---format=gnu --no-params -__co__3foo -foo::operator~(void) -foo::operator~ -# ---format=gnu --no-params -__dl__3fooPv -foo::operator delete(void *) -foo::operator delete -# ---format=gnu --no-params -__dv__3fooRT0 -foo::operator/(foo &) -foo::operator/ -# ---format=gnu --no-params -__eq__3fooRT0 -foo::operator==(foo &) -foo::operator== -# ---format=gnu --no-params -__er__3fooRT0 -foo::operator^(foo &) -foo::operator^ -# ---format=gnu --no-params -__ge__3fooRT0 -foo::operator>=(foo &) -foo::operator>= -# ---format=gnu --no-params -__gt__3fooRT0 -foo::operator>(foo &) -foo::operator> -# ---format=gnu --no-params -__le__3fooRT0 -foo::operator<=(foo &) -foo::operator<= -# ---format=gnu --no-params -__ls__3fooRT0 -foo::operator<<(foo &) -foo::operator<< -# ---format=gnu --no-params -__ls__FR7ostreamPFR3ios_R3ios -operator<<(ostream &, ios &(*)(ios &)) -operator<< -# ---format=gnu --no-params -__ls__FR7ostreamR3Fix -operator<<(ostream &, Fix &) -operator<< -# ---format=gnu --no-params -__lt__3fooRT0 -foo::operator<(foo &) -foo::operator< -# ---format=gnu --no-params -__md__3fooRT0 -foo::operator%(foo &) -foo::operator% -# ---format=gnu --no-params -__mi__3fooRT0 -foo::operator-(foo &) -foo::operator- -# ---format=gnu --no-params -__ml__3fooRT0 -foo::operator*(foo &) -foo::operator* -# ---format=gnu --no-params -__mm__3fooi -foo::operator--(int) -foo::operator-- -# ---format=gnu --no-params -__ne__3fooRT0 -foo::operator!=(foo &) -foo::operator!= -# ---format=gnu --no-params -__nt__3foo -foo::operator!(void) -foo::operator! -# ---format=gnu --no-params -__nw__3fooi -foo::operator new(int) -foo::operator new -# ---format=gnu --no-params -__oo__3fooRT0 -foo::operator||(foo &) -foo::operator|| -# ---format=gnu --no-params -__opPc__3foo -foo::operator char *(void) -foo::operator char * -# ---format=gnu --no-params -__opi__3foo -foo::operator int(void) -foo::operator int -# ---format=gnu --no-params -__or__3fooRT0 -foo::operator|(foo &) -foo::operator| -# ---format=gnu --no-params -__pl__3fooRT0 -foo::operator+(foo &) -foo::operator+ -# ---format=gnu --no-params -__pp__3fooi -foo::operator++(int) -foo::operator++ -# ---format=gnu --no-params -__rf__3foo -foo::operator->(void) -foo::operator-> -# ---format=gnu --no-params -__rm__3fooRT0 -foo::operator->*(foo &) -foo::operator->* -# ---format=gnu --no-params -__rs__3fooRT0 -foo::operator>>(foo &) -foo::operator>> -# ---format=gnu --no-params -_new_Fix__FUs -_new_Fix(unsigned short) -_new_Fix -# ---format=gnu --no-params -_vt.foo -foo virtual table -foo virtual table -# ---format=gnu --no-params -_vt.foo.bar -foo::bar virtual table -foo::bar virtual table -# ---format=gnu --no-params -_vt$foo -foo virtual table -foo virtual table -# ---format=gnu --no-params -_vt$foo$bar -foo::bar virtual table -foo::bar virtual table -# ---format=gnu --no-params -append__7ivGlyphPT0 -ivGlyph::append(ivGlyph *) -ivGlyph::append -# ---format=gnu --no-params -clearok__FP7_win_sti -clearok(_win_st *, int) -clearok -# ---format=gnu --no-params -complexfunc2__FPFPc_i -complexfunc2(int (*)(char *)) -complexfunc2 -# ---format=gnu --no-params -complexfunc3__FPFPFPl_s_i -complexfunc3(int (*)(short (*)(long *))) -complexfunc3 -# ---format=gnu --no-params -complexfunc4__FPFPFPc_s_i -complexfunc4(int (*)(short (*)(char *))) -complexfunc4 -# ---format=gnu --no-params -complexfunc5__FPFPc_PFl_i -complexfunc5(int (*(*)(char *))(long)) -complexfunc5 -# ---format=gnu --no-params -complexfunc6__FPFPi_PFl_i -complexfunc6(int (*(*)(int *))(long)) -complexfunc6 -# ---format=gnu --no-params -complexfunc7__FPFPFPc_i_PFl_i -complexfunc7(int (*(*)(int (*)(char *)))(long)) -complexfunc7 -# ---format=gnu --no-params -foo__FiN30 -foo(int, int, int, int) -foo -# ---format=gnu --no-params -foo__FiR3fooiT1iT1 -foo(int, foo &, int, foo &, int, foo &) -foo -# ---format=gnu --no-params -foo___3barl -bar::foo_(long) -bar::foo_ -# ---format=gnu --no-params -insert__15ivClippingStacklRP8_XRegion -ivClippingStack::insert(long, _XRegion *&) -ivClippingStack::insert -# ---format=gnu --no-params -insert__16ChooserInfo_ListlR11ChooserInfo -ChooserInfo_List::insert(long, ChooserInfo &) -ChooserInfo_List::insert -# ---format=gnu --no-params -insert__17FontFamilyRepListlRP15ivFontFamilyRep -FontFamilyRepList::insert(long, ivFontFamilyRep *&) -FontFamilyRepList::insert -# ---format=gnu --no-params -leaveok__FP7_win_stc -leaveok(_win_st *, char) -leaveok -# ---format=gnu --no-params -left_mover__C7ivMFKitP12ivAdjustableP7ivStyle -ivMFKit::left_mover(ivAdjustable *, ivStyle *) const -ivMFKit::left_mover -# ---format=gnu --no-params -overload1arg__FSc -overload1arg(signed char) -overload1arg -# ---format=gnu --no-params -overload1arg__FUc -overload1arg(unsigned char) -overload1arg -# ---format=gnu --no-params -overload1arg__FUi -overload1arg(unsigned int) -overload1arg -# ---format=gnu --no-params -overload1arg__FUl -overload1arg(unsigned long) -overload1arg -# ---format=gnu --no-params -overload1arg__FUs -overload1arg(unsigned short) -overload1arg -# ---format=gnu --no-params -overload1arg__Fc -overload1arg(char) -overload1arg -# ---format=gnu --no-params -overload1arg__Fd -overload1arg(double) -overload1arg -# ---format=gnu --no-params -overload1arg__Ff -overload1arg(float) -overload1arg -# ---format=gnu --no-params -overload1arg__Fi -overload1arg(int) -overload1arg -# ---format=gnu --no-params -overload1arg__Fl -overload1arg(long) -overload1arg -# ---format=gnu --no-params -overload1arg__Fs -overload1arg(short) -overload1arg -# ---format=gnu --no-params -overload1arg__Fv -overload1arg(void) -overload1arg -# ---format=gnu --no-params -overloadargs__Fi -overloadargs(int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fii -overloadargs(int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiii -overloadargs(int, int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiiii -overloadargs(int, int, int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiiiii -overloadargs(int, int, int, int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiiiiii -overloadargs(int, int, int, int, int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiiiiiii -overloadargs(int, int, int, int, int, int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiiiiiiii -overloadargs(int, int, int, int, int, int, int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiiiiiiiii -overloadargs(int, int, int, int, int, int, int, int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiiiiiiiiii -overloadargs(int, int, int, int, int, int, int, int, int, int) -overloadargs -# ---format=gnu --no-params -overloadargs__Fiiiiiiiiiii -overloadargs(int, int, int, int, int, int, int, int, int, int, int) -overloadargs -# ---format=gnu --no-params -poke__8ivRasterUlUlffff -ivRaster::poke(unsigned long, unsigned long, float, float, float, float) -ivRaster::poke -# ---format=gnu --no-params -polar__Fdd -polar(double, double) -polar -# ---format=gnu --no-params -scale__13ivTransformerff -ivTransformer::scale(float, float) -ivTransformer::scale -# ---format=gnu --no-params -sgetn__7filebufPci -filebuf::sgetn(char *, int) -filebuf::sgetn -# ---format=gnu --no-params -shift__FP5_FrepiT0 -shift(_Frep *, int, _Frep *) -shift -# ---format=gnu --no-params -test__C6BitSeti -BitSet::test(int) const -BitSet::test -# ---format=gnu --no-params -test__C6BitSetii -BitSet::test(int, int) const -BitSet::test -# ---format=gnu --no-params -text_source__8Documentl -Document::text_source(long) -Document::text_source -# ---format=gnu --no-params -variance__6Erlangd -Erlang::variance(double) -Erlang::variance -# ---format=gnu --no-params -view__14DocumentViewerP8ItemViewP11TabularItem -DocumentViewer::view(ItemView *, TabularItem *) -DocumentViewer::view -# ---format=gnu --no-params -xy_extents__11ivExtensionffff -ivExtension::xy_extents(float, float, float, float) -ivExtension::xy_extents -# ---format=gnu --no-params -zero__8osMemoryPvUi -osMemory::zero(void *, unsigned int) -osMemory::zero -# ---format=gnu --no-params -_2T4$N -T4::N -T4::N -# ---format=gnu --no-params -_Q22T42t1$N -T4::t1::N -T4::t1::N -# ---format=gnu --no-params -get__2T1 -T1::get(void) -T1::get -# ---format=gnu --no-params -get__Q22T11a -T1::a::get(void) -T1::a::get -# ---format=gnu --no-params -get__Q32T11a1b -T1::a::b::get(void) -T1::a::b::get -# ---format=gnu --no-params -get__Q42T11a1b1c -T1::a::b::c::get(void) -T1::a::b::c::get -# ---format=gnu --no-params -get__Q52T11a1b1c1d -T1::a::b::c::d::get(void) -T1::a::b::c::d::get -# ---format=gnu --no-params -put__2T1i -T1::put(int) -T1::put -# ---format=gnu --no-params -put__Q22T11ai -T1::a::put(int) -T1::a::put -# ---format=gnu --no-params -put__Q32T11a1bi -T1::a::b::put(int) -T1::a::b::put -# ---format=gnu --no-params -put__Q42T11a1b1ci -T1::a::b::c::put(int) -T1::a::b::c::put -# ---format=gnu --no-params -put__Q52T11a1b1c1di -T1::a::b::c::d::put(int) -T1::a::b::c::d::put -# ---format=gnu --no-params -bar__3fooPv -foo::bar(void *) -foo::bar -# ---format=gnu --no-params -bar__C3fooPv -foo::bar(void *) const -foo::bar -# ---format=gnu --no-params -__eq__3fooRT0 -foo::operator==(foo &) -foo::operator== -# ---format=gnu --no-params -__eq__C3fooR3foo -foo::operator==(foo &) const -foo::operator== -# ---format=gnu --no-params -elem__t6vector1Zdi -vector::elem(int) -vector::elem -# ---format=gnu --no-params -elem__t6vector1Zii -vector::elem(int) -vector::elem -# ---format=gnu --no-params -__t6vector1Zdi -vector::vector(int) -vector::vector -# ---format=gnu --no-params -__t6vector1Zii -vector::vector(int) -vector::vector -# ---format=gnu --no-params -_$_t6vector1Zdi -vector::~vector(int) -vector::~vector -# ---format=gnu --no-params -_$_t6vector1Zii -vector::~vector(int) -vector::~vector -# ---format=gnu --no-params -__nw__t2T11ZcUi -T1::operator new(unsigned int) -T1::operator new -# ---format=gnu --no-params -__nw__t2T11Z1tUi -T1::operator new(unsigned int) -T1::operator new -# ---format=gnu --no-params -__dl__t2T11ZcPv -T1::operator delete(void *) -T1::operator delete -# ---format=gnu --no-params -__dl__t2T11Z1tPv -T1::operator delete(void *) -T1::operator delete -# ---format=gnu --no-params -__t2T11Zci -T1::T1(int) -T1::T1 -# ---format=gnu --no-params -__t2T11Zc -T1::T1(void) -T1::T1 -# ---format=gnu --no-params -__t2T11Z1ti -T1::T1(int) -T1::T1 -# ---format=gnu --no-params -__t2T11Z1t -T1::T1(void) -T1::T1 -# ---format=gnu --no-params -__Q2t4List1Z10VHDLEntity3Pix -List::Pix::Pix(void) -List::Pix::Pix -# ---format=gnu --no-params -__Q2t4List1Z10VHDLEntity3PixPQ2t4List1Z10VHDLEntity7element -List::Pix::Pix(List::element *) -List::Pix::Pix -# ---format=gnu --no-params -__Q2t4List1Z10VHDLEntity3PixRCQ2t4List1Z10VHDLEntity3Pix -List::Pix::Pix(List::Pix const &) -List::Pix::Pix -# ---format=gnu --no-params -__Q2t4List1Z10VHDLEntity3PixOCQ2t4List1Z10VHDLEntity3Pix -List::Pix::Pix(List::Pix const &&) -List::Pix::Pix -# ---format=gnu --no-params -__Q2t4List1Z10VHDLEntity7elementRC10VHDLEntityPT0 -List::element::element(VHDLEntity const &, List::element *) -List::element::element -# ---format=gnu --no-params -__Q2t4List1Z10VHDLEntity7elementOC10VHDLEntityPT0 -List::element::element(VHDLEntity const &&, List::element *) -List::element::element -# ---format=gnu --no-params -__Q2t4List1Z10VHDLEntity7elementRCQ2t4List1Z10VHDLEntity7element -List::element::element(List::element const &) -List::element::element -# ---format=gnu --no-params -__cl__C11VHDLLibraryGt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity -VHDLLibrary::operator()(PixX >) const -VHDLLibrary::operator() -# ---format=gnu --no-params -__cl__Ct4List1Z10VHDLEntityRCQ2t4List1Z10VHDLEntity3Pix -List::operator()(List::Pix const &) const -List::operator() -# ---format=gnu --no-params -__ne__FPvRCQ2t4List1Z10VHDLEntity3Pix -operator!=(void *, List::Pix const &) -operator!= -# ---format=gnu --no-params -__ne__FPvRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity -operator!=(void *, PixX > const &) -operator!= -# ---format=gnu --no-params -__t4List1Z10VHDLEntityRCt4List1Z10VHDLEntity -List::List(List const &) -List::List -# ---format=gnu --no-params -__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity -PixX >::PixX(void) -PixX >::PixX -# ---format=gnu --no-params -__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityP14VHDLLibraryRepGQ2t4List1Z10VHDLEntity3Pix -PixX >::PixX(VHDLLibraryRep *, List::Pix) -PixX >::PixX -# ---format=gnu --no-params -__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity -PixX >::PixX(PixX > const &) -PixX >::PixX -# ---format=gnu --no-params -__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityOCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity -PixX >::PixX(PixX > const &&) -PixX >::PixX -# ---format=gnu --no-params -nextE__C11VHDLLibraryRt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity -VHDLLibrary::nextE(PixX > &) const -VHDLLibrary::nextE -# ---format=gnu --no-params -next__Ct4List1Z10VHDLEntityRQ2t4List1Z10VHDLEntity3Pix -List::next(List::Pix &) const -List::next -# ---format=gnu --no-params -_GLOBAL_$D$set -global destructors keyed to set -global destructors keyed to set -# ---format=gnu --no-params -_GLOBAL_$I$set -global constructors keyed to set -global constructors keyed to set -# ---format=gnu --no-params -__as__t5ListS1ZUiRCt5ListS1ZUi -ListS::operator=(ListS const &) -ListS::operator= -# ---format=gnu --no-params -__cl__Ct5ListS1ZUiRCQ2t5ListS1ZUi3Vix -ListS::operator()(ListS::Vix const &) const -ListS::operator() -# ---format=gnu --no-params -__cl__Ct5SetLS1ZUiRCQ2t5SetLS1ZUi3Vix -SetLS::operator()(SetLS::Vix const &) const -SetLS::operator() -# ---format=gnu --no-params -__t10ListS_link1ZUiRCUiPT0 -ListS_link::ListS_link(unsigned int const &, ListS_link *) -ListS_link::ListS_link -# ---format=gnu --no-params -__t10ListS_link1ZUiRCt10ListS_link1ZUi -ListS_link::ListS_link(ListS_link const &) -ListS_link::ListS_link -# ---format=gnu --no-params -__t5ListS1ZUiRCt5ListS1ZUi -ListS::ListS(ListS const &) -ListS::ListS -# ---format=gnu --no-params -next__Ct5ListS1ZUiRQ2t5ListS1ZUi3Vix -ListS::next(ListS::Vix &) const -ListS::next -# ---format=gnu --no-params -__ne__FPvRCQ2t5SetLS1ZUi3Vix -operator!=(void *, SetLS::Vix const &) -operator!= -# ---format=gnu --no-params -__t8ListElem1Z5LabelRt4List1Z5Label -ListElem